1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 02:27:10 +03:00
Commit Graph

2269 Commits

Author SHA1 Message Date
Joel Martin
bbd62dc97c tests/stepA: allow time-ms result to be signed.
In Java the time-ms value was negative. This actually still works fine
because arithmetic comparison is still correct. So allow signed
time-ms results.
2018-07-12 14:24:14 -05:00
Joel Martin
e44c0be968 TypeScript: fix HOME bug and node symlink.
Update the Dockerfile to fix a symlink loop.
Update node_readline.ts to fix a failure with usage of
process.env.HOME which started failing for some reason.
2018-07-12 14:21:55 -05:00
Joel Martin
6e59c4f26d scala: fix w/ xenial, sbt 0.14.6, update build.
Build had become out of date so update docker image to xenial and sbt
to 0.14.6 and update Scala build files to go with new sbt version.
2018-07-12 13:51:02 -05:00
Joel Martin
63462732fa java: fix by updating to xenial, java 8, maven 3
The vivid build with java 7 and maven 2 was no longer able to retrieve
upstream deps and was failing.
2018-07-12 09:27:21 -05:00
Joel Martin
810ec74a67
Merge pull request #322 from chr15m/projects-using-mal
Added README section for projects using mal.
2018-06-26 08:43:15 -05:00
Chris McCormick
b0687d365b Added README section for projects using mal. 2018-06-26 18:04:56 +08:00
Joel Martin
c9ce6b6d55
Merge pull request #320 from chr15m/php-interop-improvements
Updated PHP native interop interface.
2018-06-25 11:04:41 -05:00
Chris McCormick
ba218d6f0a Updated PHP native interop interface. 2018-06-25 09:59:15 +08:00
Joel Martin
a2bcbe2bb5
Merge pull request #319 from chr15m/refactor-php-web-runner
PHP: refactor web running mechanism.
2018-06-24 11:27:48 -05:00
Chris McCormick
9106f92cbc PHP: refactor web running mechanism. 2018-06-24 19:45:29 +08:00
Joel Martin
ce6814306d
Merge pull request #318 from jamesbvaughan/fix-readme-typo
Fix typo in Common Lisp section of Readme
2018-06-23 18:10:40 -05:00
James Vaughan
d7f720e653
Fix typo in Common Lisp section 2018-06-23 16:08:15 -07:00
Joel Martin
8c2a6e122d
Merge pull request #317 from kanaka/rename-short-abbreviations
Rename short abbreviations
2018-06-22 12:43:56 -05:00
Vasilij Schneidermann
808c940d86 Use correct implementation names in build matrix 2018-06-22 18:24:47 +02:00
Vasilij Schneidermann
b440380f64 Rename gst and pil directories in README 2018-06-22 18:20:38 +02:00
Vasilij Schneidermann
8ea36c892f Rename gst and pil to gnu-smalltalk and picolisp 2018-06-17 19:54:54 +02:00
Joel Martin
9ee4a752c4
Merge pull request #316 from dubek/fantom
I pushed a container (we should probably figure out how to let you and @wasamasa do that at some point). The Fantom build is passing. Did a brief code review and looks good. Merged.
2018-06-03 19:56:52 -05:00
Dov Murik
80beb411e0 travis: Add fantom to build CI matrix 2018-06-03 20:14:27 +00:00
Dov Murik
92708e3488 Add Fantom implementation 2018-06-03 20:08:19 +00:00
Joel Martin
ba46e3b027 [clojure] update lumo/image to fix module mismatch. 2018-04-02 11:01:24 -05:00
Joel Martin
2c5410e8e9
Merge pull request #310 from bendudson/master
NASM x86-64 assembly implementation
2018-01-04 11:33:58 -06:00
Ben Dudson
9cb9566897 Tidying, minimising differences between steps
Merging fixes in stepA into earlier steps, and
removing differences in comments and spacing
2018-01-04 16:07:01 +00:00
Ben Dudson
16ca3eee57 Removing env and core from step2
Changed Env to Map. Need to define arithmetic
operators in step2 rather than core for this step.
2018-01-04 14:36:53 +00:00
Ben Dudson
2f61f4a8d3 Tidying up steps 0-3 (in progress)
Trying to remove common code, and minimise differences
between steps.
2018-01-03 23:50:34 +00:00
Ben Dudson
39b031b7b8 Adding nasm to Travis yml file
Enables testing of NASM implementation
2018-01-03 15:47:05 +00:00
Ben Dudson
20e02704c4 Add clean target
Deletes executables and object files
2018-01-03 15:43:22 +00:00
Ben Dudson
c4152b5fc2 Add stats and stats-lisp targets
Updated list of source files, added targets
with `;` as the comment character
2018-01-02 23:48:51 +00:00
Ben Dudson
918f2bee96 Bump language count in README
Updated to 72 languages
2018-01-02 23:39:01 +00:00
Ben Dudson
3e30ec9aa1 Dockerfile xenial and binutils install
* Changed from generic ubuntu to ubuntu:xenial

* Now requires binutils to be installed for `ld`
2018-01-02 23:37:42 +00:00
Joel Martin
b20f11f1d5
Merge pull request #311 from bendudson/nasm-tests-step7_9
New tests for steps 7 and 9
2018-01-02 09:53:18 -06:00
Joel Martin
c0f10162f3
Merge pull request #312 from jonaslu/add_metadata_reader_macro_in_docs
Update guide with note on reader macro with-meta
2018-01-02 09:51:23 -06:00
Joel Martin
3ea9bb9493 Swift: try forcing Travis to xcode version 7.3 2017-12-30 13:18:34 -06:00
Jonas Lundberg
bebce74bf5 Update guide with note on reader macro with-meta
Guide was missing the deferrable step of having
a reader macro for ^ (which is included in the
tests for step A) which caused some confusion
as to what it was.

It's included in the tests/step1_read_print.mal
but not mentioned in the docs.
2017-12-30 19:18:20 +01:00
Ben Dudson
f86d275f08 Fix bug in map: should pass args as list
This appeared only for variadic function which is used in EVAL.

Added a test to step 9 to catch this earlier.
2017-12-29 22:47:16 +00:00
Ben Dudson
40eb57d65c Fix bug in concat, add test to step 7
Concatenating multiple empty lists resulted in a return
which should be empty but was not checked.

(concat (list) (list))
-> ()

Test added to step 7 to catch, since this appeared in
self-hosting step 8 in the -> macro expansion.
2017-12-29 22:47:10 +00:00
Ben Dudson
89f7cef6dc Adding test to step7 for quasiquote
Handling of the last element of the AST
is tested by having an unquote as the last element.
2017-12-29 22:46:52 +00:00
Ben Dudson
265041fa76 Removing new tests from step7 and step9
These will be separated into another branch.
2017-12-29 22:44:22 +00:00
Ben Dudson
990c7b5ee6 Add docker file. Docker tests pass
Tested with:

```
docker build -t kanaka/mal-test-nasm" .

make DOCKERIZE=1 "test^nasm"
make DOCKERIZE=1 MAL_IMPL=nasm "test^mal"
```

Docker image not pushed to server, so Travis script fails.
2017-12-27 23:57:34 +00:00
Ben Dudson
860f35aae5 Moved macro-related functions to start of core Env
Changes the performance test 3 from ~ 3500/s to ~4300/s

Probably indicates that Env lookups are a big part of the
runtime.
2017-12-27 23:34:30 +00:00
Ben Dudson
331ddfed79 Adding README.md file and Make all target
* README.md in nasm/ directory lists some features and limitations

* Added NASM entry to root directory README.md

* Added an 'all' target to the nasm Makefile
2017-12-27 23:33:03 +00:00
Ben Dudson
0a96ee8abe All tests pass
Some modifications needed to earlier steps
so they compile with the new core functions.

Need to disable double free error checks
in types, because step2 fails otherwise.
2017-12-27 17:32:01 +00:00
Ben Dudson
7f8ae811e1 Step 8 passes 2017-12-26 23:55:18 +00:00
Ben Dudson
90fb865514 Step 9 passes again
3 soft failures, due to hash-map comparisons
2017-12-26 23:51:58 +00:00
Ben Dudson
e64592a1da Moving error handler into exceptions.asm
Needed by core routines, so will need to add
to earlier steps.
2017-12-26 23:41:15 +00:00
Ben Dudson
e8915efe8e Fix bugs, performance test now runs
* Functions with an empty argument list resulted in a leak
  of a single Cons object. This caused the performance test to fail.

* The heap 'next' pointers were dwords, rather than qwords.
  This doesn't seem to have made a difference, but could if
  the heap was made very large

* Double free errors now throw a string rather than printing
2017-12-26 23:31:16 +00:00
Ben Dudson
fb52de99c3 Fix bug in map, modifying function return values
map was modifying the container type to list, to avoid
having to copy values. Now checks if there are multiple
references, and if so makes a copy.

Fixes (= (gensym) (gensym)) error self-host test.
2017-12-22 22:58:06 +00:00
Ben Dudson
0b92f02034 Add seq core function. Self-hosting tests pass (!)
Only soft failures, mainly from:

* conj function not yet defined
* map comparison depends on the order in which keys appear
  (since it's treated like a list)
* meta data only for functions

Some odd/concerning soft fails:

    Expected : '(= (gensym) (gensym))\r\nfalse'
    Got      : '(= (gensym) (gensym))\r\nUncaught exception: non-integer argument to integer arithmetic'

    Expected : '(let* [or_FIXME 23] (or false (+ or_FIXME 100)))\r\n123'
    Got      : '(let* [or_FIXME 23] (or false (+ or_FIXME 100)))\r\nUncaught exception: non-integer argument to integer arithmetic'

    Expected : '(dissoc {:cde 345 :fgh 456} :cde)\r\n{:fgh 456}'
    Got      : '(dissoc {:cde 345 :fgh 456} :cde)\r\n[:fgh 456]'
2017-12-21 11:53:03 +00:00
Ben Dudson
e2ada64e74 Fix bug in map: should pass args as list
This appeared only for variadic function which is used in EVAL.

Added a test to step 9 to catch this earlier.
2017-12-21 10:56:14 +00:00
Ben Dudson
7f5572b0a6 Fix bug in apply, tests for double-free errors
* Apply didn't increment reference count when appending
  a list to the end of the arguments list

* Added checks in release_cons and release_array,
  to ensure that objects are not released more than once.
2017-12-20 23:02:02 +00:00
Ben Dudson
7eb930db46 Fix bugs in try*/catch*
Wasn't pushing Env, so wasn't releasing correctly.
Resulted in errors when in nested expressions.

Catch was also not popping the exception handler,
so repeated exceptions would not be handled correctly.
2017-12-18 23:25:59 +00:00