IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New CTM in Alice ML
Don't know if the topic interests those who are either (a). infatuated with dynamic programming languages (scheme, smalltalk, python, ruby, perl, etc); or (b). those on the practical side of languages and libraries (Java, C++, etc...). But since my job is chugging along at a boring pace, I've been messing around with a programming language that falls outside of these two categories...

The Practical Programmers recommend that you learn one new programming language a year in order to hone your skills. For this year, I've become smitten with [link|http://www.ps.uni-sb.de/alice/|Alice ML], a static programming language based upon Standard ML. In taking up the language, I've been working through the examples in the book "Concepts, Techniques and Models of Computer Programming" (aka [link|http://www2.info.ucl.ac.be/people/PVR/book.html|CTM]), that is a tour de force in demonstrating multi-paradigm programming in [link|http://www.mozart-oz.org/|Oz], a dynamic programming language that arose from the logic langauge community (e.g. Prolog). Alice and Oz are very much on opposite extremes of PL design, but they do share heritage with Gert Smolka being a force behind both languages. Alice is still an early work in progress, but very much an important effort in PL R&D.

In learning Alice and Oz, I've gotten about half way through in my [link|http://www.codepoetics.com/wiki/index.php?title=Topics:CTM_in_other_languages:Alice_ML|Translation of CTM to Alice ML]. The examples probably won't make much sense without having a copy of the book, as it really serves as the documentation. Static typing for the mainstream gets a bad rep due to C++ and Java, but Hindley-Miller Type Inference (as seen in ML and Haskell) makes working with types much easier - you rarely have to use type annotations, as the compiler can figure out the proper types without programmer intervention. If you compare the Oz and Alice code, you will see that they seem very similar to each other even though one has static typing and the other doesn't. (though I should mention that Oz does support true unification, a feature present in few other languages than Prolog). (Should also probably mention that Alice doesn't sport OOP support, though if push came to shove, adding O'Caml style classes wouldn't be too much of a stretch).

On a related note, I've also started on a [link|http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages:Alice_ML|Translation of SICP to Alice ML] (SICP = Structure and Interpretation of Computer Programming), a classic text that uses Scheme as the reference language.

New Not bad
for someone who was diagnosed as brain dead a few days ago.
New Good thing I took notes, as this was done pre-bash
     CTM in Alice ML - (ChrisR) - (2)
         Not bad - (broomberg) - (1)
             Good thing I took notes, as this was done pre-bash -NT - (ChrisR)

I R UR GRAMMER NATZEE GAWD.
35 ms