User loginNavigation |
FunctionalHow OCaml type checker works -- or what polymorphism and garbage collection have in commonHow OCaml type checker works -- or what polymorphism and garbage collection have in common
As usual with Oleg, there's a lot going on here. Personally, I see parallels with "lambda with letrec" and "call-by-push-value," although making the connection with the latter takes some squinting through some of Levy's work other than his CBPV thesis. Study this to understand OCaml type inference and/or MLF, or for insights into region typing, or, as the title suggests, for suggestive analogies between polymorphism and garbage collection. By Paul Snively at 2013-03-10 16:25 | Functional | Implementation | Type Theory | 1 comment | other blogs | 10976 reads
Visi.ioVisi.io comes from David Pollak and aims at revolutionizing building tablet apps, but the main attraction now seems to be in exploring the way data flow and cloud computing can be integrated. The screencast is somewhat underwhelming but at least convinces me that there is a working prototype (I haven't looked further than the website as yet). The vision document has some nice ideas. Visi.io came up recently in the discussion of the future of spreadsheets. By Ehud Lamm at 2012-10-27 09:36 | Functional | Logic/Declarative | Parallel/Distributed | 2 comments | other blogs | 9959 reads
Milner Symposium 2012The Milner Symposium 2012 was held in Edinburgh this April in memory of the late Robin Milner.
The programme consisted of academic talks by colleagues and past students. The talks and slides are available online. I particularly liked the interleaving of the personal and human narrative underlying the scientific journey. A particularly good example is Joachim Parrow's talk on the origins of the pi calculus. Of particular interest to LtU members is the panel on the future of functional programming languages, consisting of Phil Wadler, Xavier Leroy, David MacQueen, Martin Odersky, Simon Peyton-Jones, and Don Syme. By Ohad Kammar at 2012-10-16 17:31 | Functional | General | History | Parallel/Distributed | Semantics | Theory | 3 comments | other blogs | 10657 reads
CUFP 2012 TutorialsIf you are in Denmark in September you should attend. If not, raise a glass to salute what is now abundantly clear: FPLs are conquering the ("real") world. Koka a function oriented language with effect inference
Koka extends the idea of using row polymorphism to encode an effect system and the relations between them. Daan Leijen is the primary researcher behind it and his research was featured previously on LtU, mainly on row polymorphism in the Morrow Language. So far there's no paper available on the language design, just the slides from a Lang.Next talk (which doesn't seem to have video available at Channel 9), but it's in the program for HOPE 2012. By Daniel Yokomizo at 2012-08-16 05:40 | Functional | Software Engineering | Type Theory | 3 comments | other blogs | 13102 reads
Mechanized λ<sub>JS</sub>Mechanized λJS
More work on mechanizing the actual, implemented semantics of a real language, rather than a toy. By Paul Snively at 2012-06-27 15:28 | Functional | Javascript | Lambda Calculus | Semantics | 6 comments | other blogs | 8778 reads
How to Make Ad Hoc Proof Automation Less Ad HocHow to Make Ad Hoc Proof Automation Less Ad Hoc
If you've ever toyed with Coq but run into the difficulties that many encounter in trying to construct robust, comprehensible proof scripts using tactics, which manipulate the proof state and can leave you with the "ground" of the proof rather than the "figure," if you will, in addition to being fragile in the face of change, you may wish to give this a read. It frankly never would have occurred to me to try to turn Ltac scripts into lemmas at all. This is much more appealing than most other approaches to the subject I've seen. By Paul Snively at 2012-06-22 15:41 | Functional | Implementation | Logic/Declarative | Type Theory | 9 comments | other blogs | 6416 reads
Validating LR(1) parsers
I've always been somewhat frustrated, while studying verified compiler technology, that the scope of the effort has generally been limited to ensuring that the AST and the generated code mean the same thing, as important as that obviously is. Not enough attention has been paid, IMHO, to other compiler phases. Parsing: The Solved Problem That Isn't does a good job illuminating some of the conceptual issues that arise in attempting to take parsers seriously as functions that we would like to compose etc. while maintaining some set of properties that hold of the individuals. Perhaps this work can shed some light on possible solutions to some of those issues, in addition to being worthwhile in its own right. Note the pleasing presence of an actual implementation that's been used on the parser of a real-world language, C99. By Paul Snively at 2012-06-18 15:15 | DSL | Functional | Implementation | Theory | 4 comments | other blogs | 6724 reads
Programming with Algebraic Effects and HandlersProgramming with Algebraic Effects and Handlers. Andrej Bauer and Matija Pretnar, arXiv preprint.
Eff has been discussed here before, and it's nice to see some more progress and a much more complete introduction. The paper is intended for a general audience (well, a general audience of PL enthusiasts). It's quite clear and contains a wealth of examples. What does focusing tell us about language design?A blog post about Call-By-Push-Value by Rob Simmons: What does focusing tell us about language design?
Previously on Rob's blog: Embracing and extending the Levy language; on LtU: Call by push-value, Levy: a Toy Call-by-Push-Value Language. And let me also repeat CBPV's slogan, which is one of the finest in PL advocacy: Once the fine structure has been exposed, why ignore it? By Manuel J. Simoni at 2012-03-05 15:17 | Functional | OOP | Paradigms | 24 comments | other blogs | 9153 reads
|
Browse archivesActive forum topics |
Recent comments
27 min 45 sec ago
1 hour 14 min ago
1 hour 17 min ago
7 hours 25 min ago
11 hours 5 min ago
11 hours 19 min ago
12 hours 29 min ago
18 hours 16 min ago
18 hours 20 min ago
18 hours 26 min ago