These aim to be kind of 'plug & pray' go environment to try ideas in an easy way. Thus, languages chosen are languages where a function can be easily passed as a parameter, so functional languages ... and forth. Both functional languages chosen support lazy evaluation, and that's something I want to play with.
The programs so far are very simple, practically a playing loop with hooks for functions and extremely simple exemples of them to provide a random playing program of both go, and atari-go. And a function that reads (most) ladders. A lot can be done in terms of enhancing performance. And this is one of the games.
There's the ocaml version, you can:
And the scheme version, to interpret it:
Or launch your favorite scheme compiler and (load "modgo.scm").
On a Palm it works under LispMe, but you must coment out the test definitions, load it after the Standard and Utility libraries and then you can try it interactively.
Forth version coming soon.
Scheme, a Lisp dialect, is one of my favorits languages, unfortunately interprets and even compilers are not very good in terms of performance. On the other hand, there's an interpreter even for PalmOS.
A dialect of the ML family, works on most computers, can be found here and although it can produce byte code portable across architectures, it's native code compilator is, I think, the best of the family. I plan to focus my program developement in it, and use scheme and forth to compare program performance and programming performance.
Also called 'poor man's Lisp', is an RPN language that allows for very tight source code that translates in very small executables. Usually is an interpreter, but there are compilers as good as C compilers and, beeing in fact a 'machine language', you can escape the Virtual Machine approach and get a real forth cpu.
Some forths:
For more information on these topics, browse the web with your favorite searcher.
You can send me mail at Joan Pons Semelis