Difference between revision 49 and current revision
No diff available.http://stackoverflow.com/questions/tagged/homoiconicity
---
" You might already have a language in mind that you want to use. Technically speaking, mal can be implemented in any sufficiently complete programming language (i.e. Turing complete), however, there are a few language features that can make the task MUCH easier. Here are some of them in rough order of importance:
A sequential compound data structure (e.g. arrays, lists, vectors, etc)
An associative compound data structure (e.g. a dictionary, hash-map, associative array, etc)
Function references (first class functions, function pointers, etc)
Real exception handling (try/catch, raise, throw, etc)
Variable argument functions (variadic, var args, splats, apply, etc)
Function closures
PCRE regular expressionsIn addition, the following will make your task especially easy:
Dynamic typing / boxed types (specifically, the ability to store different data types in the sequential and associative structures and the language keeps track of the type for you)
Compound data types support arbitrary runtime "hidden" data (metadata, metatables, dynamic fields attributes)Here are some examples of languages that have all of the above features: JavaScript?, Ruby, Python, Lua, R, Clojure. " -- https://github.com/kanaka/mal/blob/master/process/guide.md
https://news.ycombinator.com/item?id=9123065 'codygman' compares various language implementations of mal using 'cloc' to see which implementations were shortest.
the shortest were:
CoffeeScript?