All: - multi-line read - loop/recur ? - hash-maps with non-string keys - hash-map with space in key string (make) - keyword type - gensym reader inside quasiquote - per impl tests for step5_tco (if possible) - regular expression matching in runtest - Print full exception when test gets EOF from expect - Break out impl eval into step0.5 - Fix quasiquoting of vectors - Get self-host working at earlier step: - Move try* to step6 - Remove macros from mal - Implement/fix interop: C#, Java, Mal, PHP, Postscript, Ruby --------------------------------------------- Bash: - explore using ${!prefix*} syntax (more like make impl) - GC C: - come up with better way to do 20 vararg code - GC C#: Clojure: Go: - consider variable arguments in places where it makes sense https://gobyexample.com/variadic-functions Java: - Use gradle instead of mvn http://blog.paralleluniverse.co/2014/05/01/modern-java/ Javascript: - interop: callbacks using Mal functions Make: - allow '_' in make variable names - errors should propagate up from within load-file Mal: - line numbers in errors - step5_tco Perl: - fix metadata on native functions PHP: Postscript: - add negative numbers Python: - error: python ../python/stepA_interop.py ../mal/stepA_interop.mal ../mal/stepA_interop.mal - interop tests Ruby: --------------------------------------------- Future Implementations: - Rust: - http://doc.rust-lang.org/index.html - http://doc.rust-lang.org/intro.html - http://doc.rust-lang.org/guide.html - http://rustbyexample.com/index.html - http://www.rustforrubyists.com/book/index.html - http://pzol.github.io/getting_rusty/ - http://featherweightmusings.blogspot.com/2014/05/rust-for-c-programmers-part-6-rc-gc-and.html - http://pzol.github.io/getting_rusty/posts/20140417_destructuring_in_rust/ (destructuring) - http://featherweightmusings.blogspot.com/2014/07/rust-for-c-programmers-part-8.html (destructuring) - http://featherweightmusings.blogspot.co.nz/2014/07/rust-for-c-programmers-part-9.html (destructuruing and matching) - http://blog.thiago.me/notes-about-rust-modules/ - http://doc.rust-lang.org/std/io/io - https://github.com/shaleh/rust-readline/blob/master/src/lib.rs - http://stackoverflow.com/questions/23942627/does-rust-0-10-have-a-rl-package - http://blog.skylight.io/rust-means-never-having-to-close-a-socket/ - Redmonk languages from Jan 2014: http://sogrady-media.redmonk.com/sogrady/files/2014/01/lang-rank-114-wm.png - Tier 1 * JavaScript * Java * PHP * C# * Python - C++ * Ruby * C - Objective-C * Perl * Shell (Bash 4) - Tier 2 - R - Scala - Haskell * Clojure - CoffeeScript - Visual Basic - Groovy - Go - Lua - Erlang - Emacs Lisp - Assembly - Scheme - FORTRAN - Dart - F# - D - Tier 3 - TypeScript - Racket - HaXe - Pascal - VimL - https://github.com/tpope/timl - Common Lisp - Rust - M (OpenM/MUMPS) - Factor (Stack-based) - Others: - Forth (Stack-based) - BF (Crazy) - TeX/LaTeX - Basic interpreter in TeX: http://ctanhg.scharrer-online.de/pkg/basix.html - Cheat Sheet: http://www.stdout.org/~winston/latex/latexsheet.pd - latex '\nonstopmode\input' blah.tex