2015-10-31 06:30:56 +03:00
|
|
|
---------------------------------------------
|
|
|
|
|
2016-03-15 06:57:33 +03:00
|
|
|
General:
|
|
|
|
- add chat bot for #mal
|
|
|
|
- move tokenizer.mal and reader.mal from malc along with
|
|
|
|
./examples/{equality,memoize,pprint,protocols}.mal and
|
|
|
|
./core.mal to ./lib directory
|
|
|
|
|
2015-02-28 19:35:04 +03:00
|
|
|
- Finish guide.md
|
2017-09-15 08:00:23 +03:00
|
|
|
- mention that identifier names are suggested. some have run
|
|
|
|
into collisions with READ,EVAL,PRINT in case insensitive
|
|
|
|
languages
|
2017-09-20 05:45:57 +03:00
|
|
|
- simplify: "X argument (list element Y)" -> ast[Y]
|
|
|
|
- more clarity about when to peek and poke in read_list and
|
|
|
|
read_form
|
|
|
|
- tokenizer: use first group rather than whole match (to
|
|
|
|
eliminate whitespace/commas)
|
2015-02-28 19:35:04 +03:00
|
|
|
|
2016-03-15 06:57:33 +03:00
|
|
|
All Implementations:
|
2015-01-09 08:25:40 +03:00
|
|
|
- regular expression matching in runtest
|
2015-01-03 08:33:50 +03:00
|
|
|
- add re (use in rep) everywhere and use that (to avoid printing)
|
2015-10-31 06:30:56 +03:00
|
|
|
- fix stepA soft failures: lua matlab miniMAL perl racket
|
2014-03-31 01:39:44 +04:00
|
|
|
|
2015-03-12 06:08:21 +03:00
|
|
|
Other ideas for All:
|
|
|
|
- propagate/print errors when self-hosted
|
|
|
|
- redefine (defmacro!) as (def! (macro*))
|
|
|
|
- Fix/implement interop in more implementations
|
|
|
|
|
|
|
|
- metadata on symbols (as per Clojure)
|
2015-01-30 22:21:10 +03:00
|
|
|
- metadata as a map only. ^ merges metadata in the reader itself.
|
|
|
|
Line numbers in metadata from reader.
|
2015-01-03 08:33:50 +03:00
|
|
|
- protocols!
|
|
|
|
- https://github.com/pixie-lang/pixie
|
2015-01-09 08:25:40 +03:00
|
|
|
- http://www.toccata.io/2015/01/Mapping/
|
2015-01-30 22:21:10 +03:00
|
|
|
- namespaces
|
|
|
|
- environments first class: *ENV*, *outer* defined by env-new
|
|
|
|
- namespaces is *namespaces* map in environment which maps namespace
|
|
|
|
names to other environments.
|
|
|
|
- def! become an alias for (env-set! *ENV* 'sym value)
|
|
|
|
- Namespace lookup: go up the environment hierarchy until
|
|
|
|
a *namespaces* map is found with the namespace name being
|
|
|
|
looked up. Then the symbol would be looked up starting in
|
|
|
|
the namespace environment. Need protocols first probably.
|
2014-03-30 00:17:00 +04:00
|
|
|
|
2014-12-19 05:33:49 +03:00
|
|
|
- multi-line REPL read
|
|
|
|
- loop/recur ?
|
|
|
|
- gensym reader inside quasiquote
|
2016-03-15 06:57:33 +03:00
|
|
|
- standalone executable
|
2014-12-19 05:33:49 +03:00
|
|
|
|
2014-10-10 08:48:47 +04:00
|
|
|
|
2014-03-25 01:32:24 +04:00
|
|
|
---------------------------------------------
|
|
|
|
|
2014-04-07 02:35:18 +04:00
|
|
|
Bash:
|
2014-04-18 07:23:07 +04:00
|
|
|
- explore using ${!prefix*} syntax (more like make impl)
|
2014-04-24 06:59:50 +04:00
|
|
|
- GC
|
2014-03-25 01:32:24 +04:00
|
|
|
|
|
|
|
C:
|
|
|
|
- come up with better way to do 20 vararg code
|
|
|
|
|
2014-04-07 04:23:28 +04:00
|
|
|
C#:
|
2015-01-09 08:25:40 +03:00
|
|
|
- accumulates line breaks with mal/clojurewest2014.mal
|
2016-03-15 06:57:33 +03:00
|
|
|
- interop: http://www.ckode.dk/programming/eval-in-c-yes-its-possible/
|
2014-04-07 04:23:28 +04:00
|
|
|
|
2014-12-19 05:33:49 +03:00
|
|
|
CoffeeScript:
|
|
|
|
- make target to compile to JS
|
|
|
|
|
2014-10-07 05:36:23 +04:00
|
|
|
Go:
|
|
|
|
- consider variable arguments in places where it makes sense
|
|
|
|
https://gobyexample.com/variadic-functions
|
|
|
|
|
2014-12-24 06:35:48 +03:00
|
|
|
Haskell:
|
2015-01-03 08:33:50 +03:00
|
|
|
- TCO using seq/bang patterns:
|
|
|
|
http://stackoverflow.com/questions/9149183/tail-optimization-guarantee-loop-encoding-in-haskell
|
2016-03-15 06:57:33 +03:00
|
|
|
- immediately exits mal/clojurewest2014.mal ("\/" exception)
|
2014-12-24 06:35:48 +03:00
|
|
|
|
2014-04-07 02:35:18 +04:00
|
|
|
Java:
|
2017-09-15 08:00:23 +03:00
|
|
|
- build step, don't use mvn in run script
|
2014-05-11 01:58:23 +04:00
|
|
|
- Use gradle instead of mvn
|
|
|
|
http://blog.paralleluniverse.co/2014/05/01/modern-java/
|
2014-04-07 02:35:18 +04:00
|
|
|
|
|
|
|
Javascript:
|
2015-03-03 02:36:09 +03:00
|
|
|
- interop: adopt techniques from miniMAL
|
2014-03-25 01:32:24 +04:00
|
|
|
|
|
|
|
Make:
|
|
|
|
- allow '_' in make variable names
|
2015-01-07 06:03:04 +03:00
|
|
|
- hash-map with space in key string
|
2014-03-25 01:32:24 +04:00
|
|
|
- errors should propagate up from within load-file
|
2017-09-28 06:08:49 +03:00
|
|
|
- GC: explore using "undefine" directive in Make 3.82
|
2014-03-25 01:32:24 +04:00
|
|
|
|
|
|
|
Mal:
|
|
|
|
- line numbers in errors
|
2014-03-30 00:17:00 +04:00
|
|
|
- step5_tco
|
2014-03-25 01:32:24 +04:00
|
|
|
|
2015-02-12 07:31:39 +03:00
|
|
|
miniMAL:
|
|
|
|
- figure out why {} literals are "static"/persistent
|
|
|
|
|
2016-03-15 06:57:33 +03:00
|
|
|
ObjPascal:
|
|
|
|
- verify that GC/reference counting works
|
|
|
|
- fix comment by itself error at REPL
|
|
|
|
|
2017-09-15 08:00:23 +03:00
|
|
|
plpgsql:
|
|
|
|
- maybe combine wrap.sh and run
|
|
|
|
|
2014-04-20 00:12:13 +04:00
|
|
|
Perl:
|
2014-05-11 01:58:23 +04:00
|
|
|
- fix metadata on native functions
|
2016-03-15 06:57:33 +03:00
|
|
|
- fix extra line breaks at REPL
|
2014-03-30 00:17:00 +04:00
|
|
|
|
|
|
|
Postscript:
|
2014-05-11 01:58:23 +04:00
|
|
|
- add negative numbers
|
2015-01-03 08:33:50 +03:00
|
|
|
- fix blank line after comments
|
2015-01-09 08:25:40 +03:00
|
|
|
- fix command line arg processing (doesn't run file specified)
|
2014-04-07 02:35:18 +04:00
|
|
|
|
2017-09-15 08:00:23 +03:00
|
|
|
Powershell:
|
|
|
|
- convert function with "abc_def" to "abc-def"
|
|
|
|
- remove extraneous return statements at end of functions
|
|
|
|
- remove unnecessary semi-colons
|
|
|
|
- use ArrayList instead of Array for performance
|
|
|
|
- new test to test Keys/keys as hash-map key
|
|
|
|
- test *? predicates with nil
|
|
|
|
|
2014-11-04 08:50:55 +03:00
|
|
|
R:
|
|
|
|
- tracebacks in errors
|
2015-01-03 08:33:50 +03:00
|
|
|
- fix running from different directory
|
2015-01-09 08:25:40 +03:00
|
|
|
|
|
|
|
Racket
|
|
|
|
- metadata on collections
|
2014-11-04 08:50:55 +03:00
|
|
|
|
2014-12-19 05:33:49 +03:00
|
|
|
Rust:
|
2015-01-09 08:25:40 +03:00
|
|
|
- fix 'make all' invocation of cargo build
|
2015-01-03 08:33:50 +03:00
|
|
|
|
|
|
|
Scala
|
|
|
|
- readline
|
2015-01-09 08:25:40 +03:00
|
|
|
- fix exception when finished running something on command line
|
2017-09-15 08:00:23 +03:00
|
|
|
|
|
|
|
VHDL:
|
|
|
|
- combine run_vhdl.sh and run
|
|
|
|
|
|
|
|
vimscript:
|
|
|
|
- combine run_vimscript.sh and run
|