User loginNavigation |
Ocaml 3.12 releasedThis notice comes a little late, but the latest version of OCaml, version 3.12, has been released. Surprisingly, for a point release there's a lot of interesting new language features:
I'm especially intrigued by first-class modules, and the destructive signature operations, both of which should make it much easier to write libraries. Type Classes as Objects and ImplicitsType Classes as Objects and Implicits
Martin Odersky and team's design decisions around how to do type classes in a unified OO and FP language continue to bear fascinating fruit. Implicits look less and less like "poor man's type classes," and more and more like an improvement upon type classes, in my opinion given a quick read of this paper. By Paul Snively at 2010-08-04 22:25 | Implementation | Object-Functional | Scala | Type Theory | 50 comments | other blogs | 41182 reads
What Sequential Games, the Tychonoff Theorem and the Double-Negation Shift have in CommonWhat Sequential Games, the Tychonoff Theorem, and the Double-Negation Shift have in Common, Martin Escardo and Paulo Oliva, to appear in MSFP 2010.
One of the most durable and productive analogies in semantics is the analogy between computability and continuity. Depending on how you read the history, this idea might even predate computers: Brouwer proved that all intuitonistic functions on the reals were continuous. Over the last few years, Escardo and his collaborators have done a lot of cool stuff showing how this network of ideas can be turned into miraculous-looking little programs, so it's very nice to see a relatively accesible introduction to this work. It's been ten years!It has been ten years since LtU was launched. When I launched it I had no idea if anyone will read the site, let alone if people contribute new stories. The result exceeded my wildest hopes. I got into the habit of writing a few words every year, a kind of "state of lambda" post. Somehow, this feels inappropriate for the ten year anniversary. I will possibly post something about last year later this week, but let's take a moment to celebrate our first ten years. There are a lot of things that can be said, and a few things that perhaps should be said. I personally will say little. The thread is open. For my part, I just want to thank all those how contributed to LtU over the years, whether by submitting new stories, by participating in the discussion, or with help with administrative and hosting issues. Some, of course, helped with any and all tasks. It is great to see that some members that have been with LtU from its early years are still here. Some members that left have come back, and those that decided to move on to other things are still part of the ethos of LtU, as well as the archives, as we move towards the future. The Mirah LanguageMirah is a new language from Charles Nutter, the developer of JRuby. He describes it thus:
I think Mirah is a bit too new to make a front-page post. It is interesting and also puzzling in that it doesn't really define a semantics. E.g. “roughly similar scripts could conceivably compile to any number of type systems and runtimes. In this sense, Mirah is more of a rough coupling of Ruby-like syntax with a pluggable type-inference and compilation pipeline.” Can you actually claim you've created a language if the semantics of the language aren't specified? I'm not sure whether to file this under interesting or quackers. Scribble: Closing the Book on Ad Hoc Documentation ToolsScribble: Closing the Book on Ad Hoc Documentation Tools. Matthew Flatt, Eli Barzilay, and Robert Bruce Findler. ICFP '09.
This introduces a cute and well thought out syntax for writing technical prose and for escaping back into the PL for typesetting operations and cross-references to PL values. It looks reminiscent of TeX, but has a direct transformation to S-expressions. Scribble also makes great use of PLT Scheme's modular and polyglot programming facilities. A nice twist on the classic Scheme ploy:
(P.S. To which I'd like to add, somewhat OT, that compared to PLT Scheme, Common Lisp is starting to look teeny.) The Future of C#One of the future additions to C# announced by Anders Hejlsberg in this entertaining video from 2008 is Compiler as a Service. By that he means the ability to He shows this off at around minute 59, to great effect and great excitement by the audience. It feels like an inflection point. There probably won't be another REPL-less language from now on. I predict that after that, they'll add hygienic macros and quasisyntax. By Manuel J. Simoni at 2010-07-20 00:54 | Cross language runtimes | Fun | Meta-Programming | 26 comments | other blogs | 25912 reads
App Inventor: Programming for non-programmers... againFrom the App Inventor about page:
It seems we've been here before. (and I don't just mean that it's based on Open Blocks and Kawa) The Rust LanguageRust is systems programming languages being developed by Mozilla. It's very preliminary work, but the list of features suggests an interesting intersection of features. I'm particularly excited by the control over memory layout that Rust gives to the programmer, but it also has massive concurrency, structural typing, and the “ability to define complex invariants that hold over data structures” in its bag of tricks. The main developer is Graydon Hoare, with contributions from heroes-to-the-Internet Dave Herman and Brendan Eich amongst others. Handlers of Algebraic EffectsMatija Pretnar, Gordon Plotkin (2009) Handlers of Algebraic Effects:
Handling a computational effect, such as raising an exception, amounts to homomorphically mapping the handled computation onto another computation. So, for example, While encompassing both returning and non-returning handlers, this idea becomes more interesting when you start to handle the other effects, such as If you want a gentler introduction to the subject (along with Plotkin's algebraic theory of effects and Levy's Call-by-Push-Value), try Pretnar's 2010 thesis. |
Browse archives
Active forum topics |
Recent comments
22 weeks 4 days ago
22 weeks 4 days ago
22 weeks 4 days ago
44 weeks 5 days ago
49 weeks 9 hours ago
50 weeks 4 days ago
50 weeks 4 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago