![]() |
|
Close Help |
![]() |
![]() |
![]() |
![]() |
![]() | |||||||
![]() | |||||||||||
![]() |
![]() |
|
![]() |
![]() | |||||||
![]() | |||||||||||
4 | ![]() |
io & amalthea 021126 A couple of years back I was reading through Raphael Finkel's book Advanced Programming Language Design. I thought the book an excellent and fun introduction to various programming language concepts and constructs, but the part that intrigued me the most was a section on continuations, a fundamental and powerful construct which can be used to express many more common language constructs. I was somewhat familiar with the concept prior to reading about them in APLD but the author used a programming language called Io to introduce the concept and this language struck me as both confounding and beautiful. The language is absolutely tiny, both in syntax and in the ammount of concepts supported. It really has nothing but continuations, both for flow control and data. Continuations are used for expressing conditional statements, functions, and even structured data types. List, tuples, trees, and so on can all be expressed using first class continuations. Since the language so tickled my language nerve I wanted to try it out, play around a bit. Scouring the net with Google turned up very little, no implementations and no other references to the language than the one found in the aforementioned book. I asked around, still nothing. And so I concluded that there was no implementation available for this tiny language. I then let the subject be until I had to chose a project for a class, topics in computer languages. I decided my project should be an Io interpreter and I decided it should go by the name Amalthea (Amalthea is one of the smaller moons of Jupiter while Io is a large one). amalthea
021126 Amalthea is, as always with this kind of projects, heavily under development, whenever I get the urge to. I mean Amalthea to come with a small standard library, some detailed examples, and good documentation. What's here for you to download is a snapshot of the progress in each area. Most notable is the lack of any documentation on how to program Io. For now I'll have to refer anyone who downloads Amalthea with the intention of trying it out to Advanced Programming Language Design, available on the web. download
030128
|
![]() |
||||||||
![]() |