This archive of GEDANKEN history includes a scan of the listing of Reynolds' LISP implementation of GEDANKEN, and also his 1969 technical report with a formal definition of GEDANKEN:
BCPL, though I've never used it (my exposure to BCPL was mostly swearing at it because early parts of AmigaDOS was written in it, and at least that version of BCPL annoyingly stored memory addresses shifted, so when dealing with them C you could never de-reference them directly), was my dubious inspiration for avoiding typing early on in my compiler articles [1].
This before I went overboard and started layering a Ruby compiler on top of it. While I'm adding a tiny little bit of typing to it these days, it's only to distinguish "must be a Ruby object" from "can be anything".
You can get away with no type information for surprisingly much. The main hassle is dealing with layout of structured data, but even then it's relatively straight-forward to deal with through a combination of memory and documentation (but maybe it's the assembly programmer in me - my first compiler was written in m68k assembly and then gradually translated into inline assembly in the language the compiler was for)
That core is not by any means a fully fledged usable language, though, which BCPL of course was/is. Martin Richards, the creator of BCPL even still has a web page for it that includes a BCPL distribution [2] with both examples and the compiler.
[+] [-] abecedarius|11 years ago|reply
[+] [-] pmcjones|11 years ago|reply
http://www.softwarepreservation.org/projects/lang/GEDANKEN/
[+] [-] shaunxcode|11 years ago|reply
[+] [-] kensai|11 years ago|reply
[+] [-] vidarh|11 years ago|reply
This before I went overboard and started layering a Ruby compiler on top of it. While I'm adding a tiny little bit of typing to it these days, it's only to distinguish "must be a Ruby object" from "can be anything".
You can get away with no type information for surprisingly much. The main hassle is dealing with layout of structured data, but even then it's relatively straight-forward to deal with through a combination of memory and documentation (but maybe it's the assembly programmer in me - my first compiler was written in m68k assembly and then gradually translated into inline assembly in the language the compiler was for)
That core is not by any means a fully fledged usable language, though, which BCPL of course was/is. Martin Richards, the creator of BCPL even still has a web page for it that includes a BCPL distribution [2] with both examples and the compiler.
[1] http://www.hokstad.com/compiler [2] http://www.cl.cam.ac.uk/~mr10/BCPL.html
[+] [-] techdebt5112|11 years ago|reply