1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 10:07:45 +03:00
mal/docs/TODO
Joel Martin 01c9731649 All: swap step9,A. Fixes for bash, C, perl.
step9_interop -> stepA_interop
stepA_more -> step9_try

C: fix glib headers
bash: behavior change of declare -A and pattern replacement.
perl: squelch new 5.18 warnings related to switch/given statement.

Also, include some in-progress interop related files.
2015-01-06 21:57:24 -06:00

150 lines
3.7 KiB
Plaintext

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://www.rustforrubyists.com/book/index.html
- http://static.rust-lang.org/doc/0.9/complement-cheatsheet.html
- http://pzol.github.io/getting_rusty/
- release notes:
- https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes
- this week in rust:
- http://cmr.github.io/
- readline:
- http://redbrain.co.uk/2013/11/09/rust-and-readline-c-ffi/
- http://www.reddit.com/r/rust/comments/1q9pqc/rust_cffi_and_readline/
- https://github.com/dbp/rustrepl
- hash-map:
- http://static.rust-lang.org/doc/master/std/hashmap/index.html
- http://static.rust-lang.org/doc/master/std/hashmap/struct.HashMap.html
- vector/list:
- http://static.rust-lang.org/doc/master/std/vec/index.html
- example code:
- https://github.com/dradtke/rust-dominion/blob/master/dominion/mod.rs
- 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