All: - add license file - add re (with rep) and use that (to avoid printing) - keyword type (with hash-map key support) - remove conj and sequential? as necessary elements - redefine (defmacro!) as (def! (macro*)) - Move *host-language* from step9 to stepA - Implement/fix interop: C#, Java, Mal, PHP, Postscript, Ruby - fix long lines in runtext/expect - 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 - multi-line REPL read - loop/recur ? - hash-maps with non-string keys - hash-map with space in key string (make) - gensym reader inside quasiquote - per impl tests for step5_tco (if possible) --------------------------------------------- Bash: - explore using ${!prefix*} syntax (more like make impl) - GC C: - come up with better way to do 20 vararg code - GC C#: Clojure: CoffeeScript: - make target to compile to JS Go: - consider variable arguments in places where it makes sense https://gobyexample.com/variadic-functions Haskell: 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 - Fix: make -f stepA_interop.mk ../mal/step6_file.mal (slurp "../tests/incA.mal") (read-string "(+ 2 3)") - errors should propagate up from within load-file Mal: - line numbers in errors - step5_tco Perl: - fix metadata on native functions - implement conj PHP: Postscript: - add negative numbers Python: - error: python ../python/stepA_interop.py ../mal/stepA_interop.mal ../mal/stepA_interop.mal - interop tests R: - tracebacks in errors Ruby: Rust: - use built-in regex once fixed: https://github.com/rust-lang/rust/issues/18034 https://github.com/rust-lang/rust/issues/18035 VB.Net - convert readline.cs to readline.vb --------------------------------------------- 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/ * R - https://stat.ethz.ch/R-manual/R-devel/library/base/html/readline.html - http://dssm.unipa.it/CRAN/web/packages/rdyncall/rdyncall.pdf - http://www.dyncall.org/docs/FFI.pdf - Groovy - http://groovy-lang.org/learn.html - http://groovy-lang.org/structure.html - Scala - aptitude install scala - http://learnxinyminutes.com/docs/scala/ - Visual Basic aptitude install mono-vbnc - VimL - https://github.com/tpope/timl - 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 - VB.Net http://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C http://msdn.microsoft.com/en-us/library/8hb2a397.aspx