User loginNavigation |
Lightweight Monadic Programming in MLLightweight Monadic Programming in ML
This is an intriguing paper, with an implementation in about 2,000 lines of OCaml. I'm especially interested in its application to probabilistic computing, yielding a result related to Kiselyov and Shan's Hansei effort, but without requiring delimited continuations (not that there's anything wrong with delimited continuations). On a theoretical level, it's nice to see such a compelling example of what can be done once types are freed from the shackle of "describing how bits are laid out in memory" (another such compelling example, IMHO, is type-directed partial evaluation, but that's literally another story). By Paul Snively at 2011-07-28 18:11 | Category Theory | Functional | Implementation | Semantics | Type Theory | 35 comments | other blogs | 26004 reads
F*: A Verifying ML Compiler for Distributed ProgrammingInteresting to many of you, I'd imagine -> F* "F* is a new dependently typed language for secure distributed programming. It's designed to be enable the construction and communication of proofs of program properties and of properties of a program's environment in a verifiably secure way. F* compiles to .NET bytecode in type-preserving style, and interoperates smoothly with other .NET languages, including F#, on which it is based." C ClojurescriptHere's another interesting project targeting the assembly language of the web...
Also of interest: Compiling Clojure to Javascript pt. 1 of n. Levy: 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 | 34067 reads
Of Course ML Has Monads!Of Course ML Has Monads! from Bob Harper's Blog:
While some LtU regulars have noticed and replied to this post, I guess not everyone has noticed it. I found of particular interest the comments by Andreas Rossberg and Andrej Bauer . Why Programming Languages?A short essay by Tom Van Cutsem, Why Programming Languages?:
Van Cutsem is the author of AmbientTalk, which has been discussed obliquely on LtU a few months ago. Announcing Ozma: extending Scala with Oz concurrencyI am happy to announce the release of Ozma, a conservative extension to Scala that adds Oz concurrency. Ozma was developed as a master's thesis by Sébastien Doeraene under my supervision (see the implementation and the master's thesis). Oz is a multi-paradigm language that has strong support for concurrent and distributed programming. It compiles to its own virtual machine (called Mozart) that supports dataflow synchronization and lightweight threads. Scala is a functional and object-oriented language with implementations for the JVM and .Net. It is completely interoperable with Java. Ozma is an attempt at making the concurrency concepts of Oz available to a larger public. Ozma implements the full Scala specification and runs on the Mozart VM. It can therefore be seen as a new implementation of Scala. Ozma extends Scala with dataflow variables (allowing tail-recursive list functions), declarative (deterministic) concurrency, lazy declarative concurrency, and message-passing concurrency based on ports. Almost all the concurrency examples of CTM can be translated easily to Ozma. We can say that Ozma lifts the duality of Scala, namely the combination of functional and object styles, to concurrent programming. modules are anti-modularI understand this has been tweeted all over tarnation and discussed on Reddit, but a quick Google search of LtU seems to show that it hasn't been mentioned here. Which is a shame. So, here goes: Types Are Anti-Modular by Gilad Bracha. A nice followup on some of the theses that Gilad put forth in FLOSS Weekly 159: Newspeak where he was interviewed by Randal Schwartz. A couple of quotes from the interview: Learning is brain damage. I've spent the last 18 to 20 years unlearning the things I learned in my Ph.D. studies. Also: [The fact that Newspeak is not mainstream] is actually a competitive advantage. Not exactly a new sentiment but still… Overall, the FLOSS interview with Bracha was almost as good as the one with Ingalls. Guidance to avoiding vulnerabilities in programming languages (ISO/IEC 24772)I don't recall a discussion here on ISO/IEC TR 24772, "Guidance to avoiding vulnerabilities in programming languages through language selection and use." This report describes programming language vulnerabilities in a generic way, and is supported by language specific annexes. An introduction to this report can be found on page 46 of this issue of the Ada User Journal (how unweb like!). A lengthier discussion can be found in this issue of the same publication. 50 in 50: Steele & Gabriel at RailsConf 201150 in 50 is another amusing episode of the Guy Steele and Richard Gabriel show. Each of them make 50 remarks of 50 words in their alotted 50 minutes. The topic is a fond walk through programming language history, punctuated by awkward pauses. I'm not sure whether it's merely good or really great. Unfortunately only available in flash; the HTML5 trick didn't work for me. |
Browse archives
Active forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 3 days ago
22 weeks 3 days ago
44 weeks 4 days ago
48 weeks 6 days 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