He leído mucho que LISP puede redefinir la sintaxis sobre la marcha, presumiblemente con macros. Tengo curiosidad de cuánto va esto realmente? ¿Se puede redefinir la estructura del lenguaje tanto que se convierta en un compilador para otro idioma? Por ejemplo, ¿podría cambiar la naturaleza funcional de LISP en una sintaxis y semántica más orientadas a objetos, tal vez decir tener una sintaxis más cercana a algo como Ruby?¿Hasta dónde pueden llegar las macros LISP?
Especialmente, ¿es posible deshacerse del paréntesis usando macros? Aprendí lo suficiente (Emacs-) LISP para personalizar Emacs con mis propias micro-características, pero estoy muy curioso de lo lejos que pueden llegar las macros en la personalización del lenguaje.
Tenga en cuenta que lisp está orientado a objetos. Ver el sistema de objetos Common Lisp. – catphive
[Peter Norvig] (http://norvig.com/bio.html) hizo un [Intérprete Prolog] (http://norvig.com/paip/prolog.lisp) en su [libro] (http://norvig.com/paip.html). –
Las macros de esquema son muy potentes. Escribí una implementación completa de LINQ como Scheme macro hace un tiempo. [https://ironscheme.svn.codeplex.com/svn/IronScheme/IronSchemeConsole/ironscheme/linq.ss](https://ironscheme.svn.codeplex.com/svn/IronScheme/IronSchemeConsole/ironscheme/linq.ss) ¡Con todo este poder, me estoy quedando sin buenas ideas para aplicarlo! – leppie