1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 10:07:45 +03:00
Commit Graph

1843 Commits

Author SHA1 Message Date
vvakame
86fa880669 TypeScript: step 3 2017-02-24 08:37:25 +09:00
vvakame
76e06b96f4 update dependencies 2017-02-24 07:41:49 +09:00
vvakame
83aaf848e1 TypeScript: step 2 2017-02-23 05:18:41 +09:00
vvakame
f406f88b1e TypeScript: step 1 2017-02-23 05:17:53 +09:00
vvakame
ef918f11be update misc 2017-02-23 03:04:46 +09:00
vvakame
9abceb8681 TypeScript: step 0 2017-02-23 03:04:03 +09:00
vvakame
571eb786b4 TypeScript: setup initial environment 2017-02-23 00:33:40 +09:00
Joel Martin
186471a32c miniMAL: bring over node_readline.js to fix build
- Node tries to find node_modules subdirectory (to load ffi
  from) in the target of the symlink. I.e. ../js/node_modules
2017-02-11 13:38:38 -06:00
Joel Martin
e5faf623bd miniMAL: restore ffi dep and build instructions. 2017-02-11 13:07:58 -06:00
Joel Martin
16d5b0c305 runtest: print errors before first prompt.
- Also, remove extraneous ffi module dep in miniMAL.
2017-02-11 12:54:34 -06:00
Joel Martin
576d01e1b2 Clojure: node_modules or lein deps but not both. 2017-02-11 12:41:06 -06:00
Joel Martin
a0e89ae42a Rust, miniMAL, VHDL: misc fixes.
- 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
2017-02-11 00:40:23 -06:00
Joel Martin
2c0c033bfc Go, Kotlin, Nim, ObjC, RPython: update Dockerfiles.
- Fix Nim IOError handling issue introduced by update.
2017-02-11 00:12:37 -06:00
Joel Martin
2b933f429c Clojure: support ClojureScript using CLJ_MODE=cljs
- Requires conditional in stepA tests.
2017-02-11 00:09:02 -06:00
Joel Martin
b32495e94b miniMAL: update to using miniMAL 1.0.2
Also update miniMAL Dockerfile to xenial.
2017-02-10 23:02:30 -06:00
Joel Martin
a05c086f05 ES6: more use of ES6, simplifications, newer babel.
- 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.
2017-02-10 23:02:30 -06:00
Joel Martin
577e643bfa Rust: update rust to 1.14
- fixup new warnings

Note: performance on the perf microbenchmark appears much better than
before.
2017-02-10 23:02:30 -06:00
Joel Martin
321dc7e69f Merge pull request #255 from chr15m/master
Fixed erroneous fn* -> native PHP function conversion.
2017-02-10 21:52:39 -06:00
Chris McCormick
7954b71a81 Fixed erroneous fn* -> native PHP function conversion.
Added test for callbacks during interop which is where this failure showed up.
2017-02-11 10:14:24 +08:00
Joel Martin
65af05304e Merge pull request #254 from cosmos72/master
Go: Use type assertions where possible instead of reflection
2017-02-06 15:34:33 -06:00
Massimiliano Ghilardi
fe3d4d3baf Go: Use type assertions where possible instead of reflection 2017-02-06 21:58:59 +01:00
Joel Martin
c32a44088f Merge pull request #253 from jonaslu/update_guide_w_file_permissions
Update README with hint on test permission failing
2017-02-03 09:49:42 -06:00
Jonas Lundberg
e1b080b401 Update README with hint on test permission failing
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
2017-02-03 09:27:42 +01:00
Joel Martin
85d85d8785 Merge pull request #252 from pstephens/fsharp-exceptions
fsharp: added some top level exception catching
2016-12-28 11:22:49 -07:00
Peter Stephens
df8c925a24 fsharp: added some top level exception catching so that the repl wouldn't quit to CLI on errors. 2016-12-26 17:05:32 -06:00
Joel Martin
4a445e8493 Basic: QBasic fixes.
- 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")
2016-12-21 13:51:26 -07:00
Joel Martin
7895453b77 Basic: various memory savings.
- 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).
2016-12-21 13:51:26 -07:00
Joel Martin
e0bcd3fb42 Basic: more efficient/correct file reader.
- 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.
2016-12-21 13:51:26 -07:00
Joel Martin
3c823be2f8 Merge pull request #250 from dubek/skew
Add Skew implementation
2016-11-21 11:16:23 -06:00
Joel Martin
8e4d682e2b Merge pull request #248 from iqbalansari/common-lisp
Portable implementation in Common LISP
2016-11-21 10:51:16 -06:00
Iqbal Ansari
96b93a9769 Common Lisp: Add support for running on ABCL 2016-11-21 01:23:18 +05:30
Iqbal Ansari
a1586c57d5 Common Lisp: Use a custom hash-function when running on ABCL 2016-11-21 01:21:16 +05:30
Iqbal Ansari
4257071937 Common Lisp: Load libraries silently 2016-11-21 01:21:16 +05:30
Dov Murik
034e82adc5 Add Skew implementation
See http://skew-lang.org/ for details on the Skew language. Currently
Mal only compiles to Javascript, as there are some issues with the C#
backend for Skew (https://github.com/evanw/skew/issues/19).

Tested with Skew 0.7.42.
2016-11-20 10:10:41 +00:00
Joel Martin
4202ef7bf1 Basic: miscellaneous memory savings.
- 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.
2016-11-18 23:51:33 -06:00
Iqbal Ansari
f48e7d5a7a Common Lisp: Remove GNU CLISP specific implementation 2016-11-18 22:49:24 +05:30
Iqbal Ansari
e7f85ce18c Common Lisp: Add documentation 2016-11-18 22:49:18 +05:30
Iqbal Ansari
a8499ff9e7 Common Lisp: Add wrapper shell code to change to script's directory when
cl-launch scripts are run
2016-11-18 18:11:20 +05:30
Iqbal Ansari
250163cd06 Common Lisp: Use a custom hash-function when running on ECL
ECL's sxhash function does not seem to be consistent for compound data types
2016-11-18 18:11:20 +05:30
Iqbal Ansari
033f64c44f Common Lisp: Suppress messages from CMUCL while restoring image
The 'Reloaded library ... ' messages were causing some tests to fail
2016-11-18 18:11:20 +05:30
Iqbal Ansari
d7534a7b68 Common Lisp: Fix println on GNU CLISP
Use `write-line` instead of `(format *standard-output* ... )` since the former
seems to be printing an extra newline at the start
2016-11-18 18:11:20 +05:30
Iqbal Ansari
89676a9fba Common Lisp: Initialize standard streams in GNU CLISP on startup
Without the initialization CLISP seems to be interacting wierdly with PERL_RL
flag
2016-11-18 18:11:20 +05:30
Iqbal Ansari
e7e61f3274 Common Lisp: Keep track of the implementation used to build a step
Rebuild the step if the implementation changes
2016-11-18 18:11:20 +05:30
Iqbal Ansari
035d28ed43 Common Lisp: Allow user to select the implementation to use for building MAL 2016-11-18 18:11:20 +05:30
Iqbal Ansari
79011c5393 Common Lisp: Ignore fasl and lib files 2016-11-18 18:11:20 +05:30
Iqbal Ansari
b5e99959dd Common Lisp: Enable travis for Common Lisp 2016-11-18 18:11:20 +05:30
Iqbal Ansari
542e997048 Common Lisp: Add Dockerfile for Common Lisp implementation 2016-11-18 18:11:17 +05:30
Iqbal Ansari
3cf68bd8ff Common Lisp: Add tasks for stats and stats-lisp for Common Lisp implementation 2016-11-18 17:59:27 +05:30
Iqbal Ansari
4434be1d0a Common Lisp: Implement step A 2016-11-18 17:59:27 +05:30
Iqbal Ansari
27a79f9e5f Common Lisp: Implement step 9 2016-11-18 17:59:27 +05:30