User loginNavigation |
Transfer of pywerGuido van Rossum is "resigning" from being the Python BDFL: "I'm basically giving myself a permanent vacation from being BDFL, and you all will be on By Ehud Lamm at 2018-07-12 17:15 | Python | login or register to post comments | other blogs | 55810 reads
CaptchaNote to those who tried to sign up but couldn't get passed the broken captcha: we removed it, so please try again. Email me directly to activate the account, once you've created it and got the automatic email. "C Is Not a Low-level Language"David Chisnall, "C Is Not a Low-level Language. Your computer is not a fast PDP-11.", ACM Queue, Volume 16, issue 2.
Includes a discussion of various ways in which modern processors break the C abstract machine, as well as some interesting speculation on what a "non-C processor" might look like. The latter leads to thinking about what a low-level language for such a processor should look like. By Allan McInnes at 2018-07-04 03:09 | History | Implementation | Parallel/Distributed | 12 comments | other blogs | 37151 reads
The Gentle Art of Levitation
The Gentle Art of Levitation
2010 by James Chapman, Pierre-Evariste Dagand, Conor McBride, Peter Morrisy We present a closed dependent type theory whose inductive types are given not by a scheme for generative declarations, but by encoding in a universe. Each inductive datatype arises by interpreting its description—a first-class value in a datatype of descriptions. Moreover, the latter itself has a description. Datatype-generic programming thus becomes ordinary programming. We show some of the resulting generic operations and deploy them in particular, useful ways on the datatype of datatype descriptions itself. Surprisingly this apparently self-supporting setup is achievable without paradox or infinite regress.It's datatype descriptions all the way down. By Andris Birkmanis at 2018-05-11 19:26 | Semantics | Type Theory | 1 comment | other blogs | 36398 reads
Comprehending Ringads
Comprehending Ringads
2016 by Jeremy Gibbons Ringad comprehensions represent a convenient notation for expressing database queries. The ringad structure alone does not provide a good explanation or an efficient implementation of relational joins; but by allowing heterogeneous comprehensions, involving both bag and indexed table ringads, we show how to accommodate these too.Indexed/parametric/graded monads are the key (read the paper to understand the pun). By Andris Birkmanis at 2018-05-05 02:59 | Category Theory | Semantics | Type Theory | login or register to post comments | other blogs | 36552 reads
Sequent Calculus as a Compiler Intermediate LanguageSequent Calculus as a Compiler Intermediate Language
By Andris Birkmanis at 2018-04-02 17:06 | Functional | General | Lambda Calculus | Semantics | Type Theory | 2 comments | other blogs | 43280 reads
How to Write Seemingly Unhygienic and Referentially Opaque Macros with Syntax-rules
How to Write Seemingly Unhygienic and Referentially
Opaque Macros with Syntax-rules
By Oleg Kiselyov This paper details how folklore notions of hygiene and referential transparency of R5RS macros are defeated by a systematic attack. We demonstrate syntax-rules that seem to capture user identifiers and allow their own identifiers to be captured by the closest lexical bindings. In other words, we have written R5RS macros that accomplish what commonly believed to be impossible. By Andris Birkmanis at 2018-03-22 02:22 | Fun | Meta-Programming | 37 comments | other blogs | 43901 reads
Why Is SQLite Coded In CWe are nearing the day someone quips that C is an improvement on most of its successors (smirk). So reading this page from the SQLite website is instructive, as is reading the page on the tooling and coding practices that make this approach work. I think none of this is news, and these approaches have been on the books for quite a bit. But still, as I said: an improvement on most of its successors. Hat tip: HN discussion. Resource PolymorphismResource Polymorphism, by Guillaume Munch-Maccagnoni:
An ambitious goal, and it would be an incredibly useful addition to OCaml. Might even displace Rust in some places, since you can theoretically avoid triggering the GC, but you have the excellent GC available when needed. This is definitely a pain point for Rust. By naasking at 2018-03-08 14:40 | Functional | login or register to post comments | other blogs | 43940 reads
The Left Hand of EqualsThe Left Hand of Equals, by James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Mark S. Miller:
This covers a lot of ground, not only historical, but conceptual, like the meaning of equality and objects. For instance, they consider Ralph Johnson on what object oriented programming means:
And constrast with William Cook's autognosis/procedural-abstraction view, which we've discussed here before. The paper's goal then becomes clear: "What can we do to provide an equality operator for a pure, autognostic object-oriented language?" They answer this question in the context of the Grace programming language. As you might expect from some of the authors, security and trust are important considerations. |
Browse archivesActive forum topics |
Recent comments
2 days 5 hours ago
1 week 1 day ago
1 week 5 days ago
2 weeks 5 days ago
3 weeks 11 hours ago
3 weeks 11 hours ago
3 weeks 15 hours ago
4 weeks 11 hours ago
4 weeks 4 days ago
4 weeks 5 days ago