User loginNavigation |
FunLevy: a Toy Call-by-Push-Value LanguageAndrej Bauer's blog contains the PL Zoo project. In particular, the Levy language, a toy implementation of Paul Levy's CBPV in OCaml. If you're curious about CBPV, this implementation might be a nice accompaniment to the book, or simply a hands on way to check it out. It looks like an implementation of CBPV without sum and product types, with complex values, and without effects. I guess a more hands-on way to get to grips with CBPV would be to implement any of these missing features. The posts are are 3 years old, but I've only just noticed them. The PL Zoo project was briefly mentioned here. By Ohad Kammar at 2011-07-14 18:57 | Fun | Functional | Implementation | Lambda Calculus | Paradigms | Semantics | Teaching & Learning | Theory | 4 comments | other blogs | 34071 reads
KonaKona is a new open-source implementation of Arthur Whitney's K, an ASCII-based APL like language. Kona is a fully working version of K3. If you haven't ever tried APL/J/K or ilk you might find this language incomprehensible at first -- unless you like a challenge! Watch the screencasts or read some of our earlier APL/J stories. Regardless of your interest in K, any LtUer worth his salt will enjoy the source code. We wrote a bit about the history of the remarkable C coding style used in the past, but I can't locate the link at the moment. By Ehud Lamm at 2011-04-08 18:13 | Fun | General | Implementation | 9 comments | other blogs | 27818 reads
Rule 110 in HTML5 + CSS3This is sort of silly, but just plain cool. Eli Fox-Epstein encoded Rule 110 in HTML5 and CSS3. Rule 110 is Turing complete. See one of his example tests on Github. Tractatus Digito-PhilosophicusTractatus Digito-Philosophicus, part of the project Wittgenstein for programmers by Harrison Ainsworth (whose blog is very much recommended to LtUers).
Scripting with TypesA nice presentation on Practical Haskell Programming: Scripting with Types from Don Stewart. By Ehud Lamm at 2011-02-07 02:56 | DSL | Fun | Functional | login or register to post comments | other blogs | 10311 reads
The Semicolon WarsSome light reading for the holiday season: writing for American Scientest, Brian Hayes says in The Semicolon Wars
Haskell Researchers Announce Discovery of Industry Programmer Who Gives a ShitI actually found this to be rather funny. Eff - Language of the FutureThis is just a series of blog posts so far, as far as I can tell. But Andrej Bauer's work has been mentioned here many times, I am finding these posts extremely interesting, and I'm sure I will not be alone. So without further ado... Programming With Effects. Andrej Bauer and Matija Pretnar.
By Matt Hellige at 2010-09-29 02:30 | Effects | Fun | Functional | Theory | 10 comments | other blogs | 35932 reads
Omega - Language of the FutureWhen I discovered Tim Sheard's Languages of the Future, I realized that PLs do indeed have a future (beyond asymptotically approaching CLOS and/or adding whimsical new rules to your type checker). Compared to languages like Lisp, pre-generics Java, and Python, the "futuristic" languages like Haskell and O'Caml seemed to mainly offer additional static verification, and some other neat patterns, but the "bang for the buck" seemed somewhat low, especially since these languages have their own costs (they are much more complex, they rule out many "perfectly fine" programs). Ωmega seems like a true revolution to me - it shows what can be done with a really fancy typesystem, and this seems like the first astounding advancement over existing languages, from Python to Haskell. Its mantra is that it's possible to reap many (all?) benefits of dependent programming, without having to suffer its problems, by adding two much more humble notions to the widely understood, ordinary functional programming setting: GADTs + Extensible Kinds. Sheard and coworkers show that these two simple extensions allow the succinct expression of many dependently-typed and related examples from the literature. Fine examples are implementations of AVL and red-black trees that are always balanced by construction - it's simply impossible to create an unbalanced tree; this is checked by the type-system. It seems somewhat obvious that sooner than later all code will be written in this (or a similar) way. How to understand this stuff: my route was through the generics of Java and C# (especially Featherweight Generic Java, FGJω, and A. Kennedy's generics papers). Once you understand basic notions like type constructors, variance, and kinds, you know everything to understand why GADTs + Extensible Kinds = Dependent Programming (and also esoteric stuff like polytypic values have polykinded types for that matter). It is my belief that you must understand Ωmega now! Even if you're never going to use it, or something like it, you'll still learn a whole lot about programming. Compared to Ωmega, other languages are puny. ;P By Manuel J. Simoni at 2010-09-25 00:49 | Fun | Meta-Programming | Paradigms | Type Theory | 23 comments | other blogs | 86351 reads
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 | 25916 reads
|
Browse archives
Active forum topics |
Recent comments
23 weeks 38 min ago
23 weeks 4 hours ago
23 weeks 4 hours ago
45 weeks 1 day ago
49 weeks 3 days ago
51 weeks 12 hours ago
51 weeks 12 hours ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago