mirror of
https://github.com/kanaka/mal.git
synced 2024-09-20 10:07:45 +03:00
01c9731649
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.
150 lines
3.7 KiB
Plaintext
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
|
|
|