- Remove most of the step5 excludes in the Makefile except for ones
which don't have TCO capability at all (or the implementation is too
slow): bash, make, mal, matlab.
- Make perf_EXCLUDES consistent with other excludes.
- Add a print-FOO target which prints the resolved value of Makefile
variable FOO. For example, `make print-IMPLS` to print the list of
implementations.
- Workarounds for Octave 4.0.0:
- no containers.Map yet so use new Dict
structure when running under Octave.
- weird error when +FOO/ directory and FOO.m file both exist so
rename types.m to type_utils.m
- no getReport so implement custom stack printer
- workaround weird issue that happens when a class initializer is
called with the first argument of the same class as per
Env(outer, ...). The class is not properly initialized. So for
now, wrap the outer in a cell as Env({outer}, ...)
- missing MException object types so when in Octave, use a global
variable to store the error object.
- missing native2unicode so just use 0xff character for keyword
prefix.
- workaround some function calling/passing differences. For
example, the "@" anonymous function symbol does not seem to work
for conveying an existing function but only for defininign a new
one. E.g. this works:
@(a,b) a+b
but this doesn't
@my_adder_fn.
so just do this:
@(a,b) my_adder_fn(a,b)
- Add Dockerfile with Octave
- Active Travis for matlab implementation using Octave
The Readline library for Tcl (tclreadline) enables history
substitutions, which means that lines that begin with `^` or `!` are
preprocessed by readline. This interferes with some step1 tests of the
`^` form (--> with-meta).
Now the Tcl implementation supports a `--raw` command line flag which
disables the readline library and opts for simple input from stdin. The
tests (Makefile) are run with `--raw`.
* Works on soon-to-be-released 0.98 (triple quote strings removed)
* 50% more iterations per second on perf3.mal
* Removed 'src' directory, use 'factor' as the root
* Using 'mal' namespace for core, reader, printer, malenv, types
* Fixed issue with "empty" readline input (should be ignored and wasn't)
* Tried to simplify some of the code
- make sure readline has large enough string for steps2-A
- fix keyword? so that it doesn't leave anything extra on the stack
- fix argparse command line parsing so that that the second '--' on
the command line is not dropped.
- Always use stepA for the RUNSTEP macro in addition to the
STEP_TO_PROG macro.
- Disable the (fib 10) test because this is really too slow for
several self-hosted implementations to complete before a timeout.
This will attempt to build the program in the implementation directory
when, for example `make test^step1` is invoked. This was true for
c and cpp, but now the rule is generic.