- Fix rust Dockerfile working dir.
- Make top-level Makefile more generic. This makes it easier to use
the Makefile with fewer changes in miniMAL.
- Simplify vhdl build when case is fixed in stepA_mal
- Remove BUILD_IMPL=js from miniMAL travis test. Just use a docker
image specifically made for miniMAL.
- Update TODO
- Use Vector class derived from Array
- Use Array/Vector.from for initializing/cloning of Array/Vector
- Remove most semi-colon line endings
- More use of arrow functions
- Use Object.assign to copy properties in _malfunc and function
cloning.
- Remove or inline a bunch of types.js functions that don't really
need to be separate functions: _obj_type, _sequential_Q, _symbol,
_symbol_Q, _vector, _vector_Q, _hash_map, _hash_map_Q
- Simplify dependency list in Makefile
- Remove some separate core.js functions by moving them into the
core_ns declaration: _nth, keys, vals, with_meta.
With node 7, babel is mostly just used for translating imports into
CommonJS requires for node.
Ran into some problems with the <language>/run file
not having the executable flag set.
Setting +x on the run file helps this.
The error-message the python runner throws is:
Traceback (most recent call last):
File "../runtest.py", line 227, in <module>
r = Runner(args.mal_cmd, no_pty=args.no_pty)
File "../runtest.py", line 105, in __init__
env=env)
File "/usr/lib/python3.6/subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1326, in _execute_child
raise child_exception_type(errno_num, err_msg)
PermissionError: [Errno 13] Permission denied
make: *** [Makefile:310: test^mymal^step0] Error 1
- restructure memory dim/initialization to support QBasic which
requires all DIMs to be earlier in the code than references to the
DIM'd variables (unlike C64 which just requires the DIMs to be
called first logically).
- Fix printed header ("C64 QBasic" -> "QBasic")
- simplify DO_CONCAT.
- inline MAL_READ/PRINT.
- comment out memory debug/sanity checks.
- more aggressive space removal.
Saves over 900 bytes.
Increase Z% value memory by 374 to 9216 (8192+1024).
- read one character at a time from the file instead of chunking it
into the A$ string.
- fix an overflow that was happening during reads of long forms.
- Use variables A1, A2, B2 for Z%(A+1), Z%(A+2), Z%(B+2) respectively.
- Replace Z%(R)=Z%(R)+32 with GOSUB INC_REF_R
- Add functions TYPE_A and TYPE_F for (Z%(A)AND 31) and (Z%(F)AND 31)
respectively.
- Inline NATIVE_FUNCTION and MAL_FUNCTION.
All together saves over 500 bytes so increase Z% value memory by 250
entries.