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

38 Commits

Author SHA1 Message Date
Joel Martin
20e8dea043 Refactor to use run scripts, remove *_RUNSTEP
- Add */run script for every implementation.

- Refactor Clojure build to allow individual jar files for each step.

- Update FFI version for es6 and miniMAL to work with newer node
  versions.

The run scripts for the following could use some additional
refactoring:
- java: build individual step jar, use java -jar instead of mvn to run
- plpgsql: maybe combine plpgsql/run and plpgsql/wrap.sh
- vhdl: combine vhdl/run and vhdl/run_vhdl.sh
- vimscript: combine vimscript/run and vimscript/run_vimscript.sh
2016-05-18 22:29:18 -07:00
Dov Murik
b85c07fd07 factor: Set *ARGV* and run command-line script correctly in step6-stepA 2016-05-12 08:51:19 -04:00
Joel Martin
3c88e933a2 erlang, factor, rust: fix empty list eval
This should address remaining implementation fixes for #194.
2016-04-04 12:07:47 -05:00
Dov Murik
3339bb6a17 factor: Fix exception on literal empty list
Issue #190
2016-04-01 16:15:42 -04:00
Joel Martin
dca6b58578 Tests: move step5 non-TCO tests to per impl.
- 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.
2016-03-14 23:39:21 -05:00
Joel Martin
0901c8b387 Merge branch 'issue_166_string_ops' of github.com:kanaka/mal into issue_166_string_ops
Conflicts:
	factor/lib/core/core.factor
2016-02-24 16:53:03 -06:00
Joel Martin
8e2d4a4ccb Dist/packaging for most impls. erlang, racket *ARGV* fixes.
Also in this commit:
- fix *ARGV* setup in erlang and racket.
- print startup message in fsharp

Dist/packaging support for most implementations and also generate
a */mal standalone app for most languages. The following
implementations still have ability to generate a single */mal
standalone application:
    - guile
    - julia
    - matlab (mkoctfile doesn't actually package up source files)
    - swift
    - vb (mkbundle error)

Also, the following are mostly packaged into a single file but need
some module dependencies
    - coffee: requires node_modules/ffi
    - es6: requires node_modules/ffi
    - js: requires node_modules/ffi
    - lua: module 'readline' not found
    - miniMAL: cannot find module '/mal/node_readline.js'
    - r: needs lib directory
2016-02-24 00:45:40 -06:00
Dov Murik
d8e70875b2 factor: add seq and string?
Issue #166
2016-02-16 14:40:31 -05:00
Dov Murik
7504874345 factor, go, guile, miniMAL, ps: Fix (first nil) and (rest nil) 2016-02-03 21:23:47 -05:00
Dov Murik
bea28ee945 factor: Fix nested list/vector/map equality 2016-02-01 15:20:34 -05:00
Joel Martin
411abc90f4 Merge pull request #146 from dubek/fix-macro-eval
Fix macro eval in 24 impls
2016-01-26 14:16:55 -06:00
Dov Murik
b1165f9178 crystal, elixir, erlang, factor, perl: fix macro result evaluation
Issue #142
2016-01-25 20:58:33 -05:00
Dov Murik
29ba1fb6c0 Add gensym and clean or macro to stepA of 19 implementations (part 3)
* awk
* cpp
* cs
* es6
* factor
* fsharp
* groovy
* haskell
* java
* julia
* kotlin
* matlab
* php
* r
* rpython
* rust
* scala
* swift
* vb
2016-01-25 16:30:54 -05:00
Dov Murik
26afafb29a factor: fix atom swap! in step6 and later
Copy mal-apply definition from step9 to earlier steps (swap! calls
mal-apply).
2016-01-06 14:33:57 +02:00
Dov Murik
d50fe7d153 factor: remove unrelated vim swap file 2016-01-06 14:33:57 +02:00
Joel Martin
8d78bc26bf All: fix read/print of \\, and \n 2015-10-30 22:05:49 -05:00
John Benediktsson
349ed9c4c3 factor: adding some unit tests. 2015-10-29 09:02:44 -07:00
John Benediktsson
ffd62cbc4c factor: partial fix for with-meta. 2015-10-29 09:02:32 -07:00
John Benediktsson
199b1ce7b2 factor: update code.
* 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
2015-10-28 16:20:59 -07:00
Joel Martin
f15b4021db All: show comments with stats target.
- Put guile into correct alphabetical order.
2015-10-26 22:33:49 -05:00
Joel Martin
ecdbada174 Travis: add C++(cpp), factor and julia. 2015-10-06 18:28:46 -05:00
Jordan Lewis
505567df09 factor: add time-ms, perf tests work
And a little bugfix to step 9.
2015-04-02 15:55:47 -04:00
Jordan Lewis
e644869319 factor: bugfixes. self hosting works now
... except for metadata on collections, which is still unimplemented.
2015-04-02 14:51:34 -04:00
Jordan Lewis
3803cdf6eb factor: step A
missing collection metadata
2015-04-02 14:51:34 -04:00
Jordan Lewis
8c77879573 factor: step 9 2015-04-01 19:18:20 -04:00
Jordan Lewis
60abf98ee2 factor: step 8 2015-04-01 19:18:20 -04:00
Jordan Lewis
807e1ac022 factor: step 7 2015-04-01 15:55:58 -04:00
Jordan Lewis
9aca8f52a3 factor: step 6 2015-04-01 15:55:58 -04:00
Jordan Lewis
505738f9f5 factor: step 5 complete 2015-04-01 15:55:58 -04:00
Jordan Lewis
b9495a90ea factor: step 4: refactor to use arglist
Instead of using the stack to store arguments, pass around a list of
arguments so we know the length and don't have to mess with the
datastack.
2015-04-01 15:55:58 -04:00
Jordan Lewis
d672e7e9fb factor: step 4 complete
Added core.factor, including math comparison operations, list operations
and string operations.
2015-04-01 15:55:58 -04:00
Jordan Lewis
24bd218ea1 factor: step 4 special forms
Add if, fn* and do. No new core functions yet.
2015-04-01 15:55:57 -04:00
Jordan Lewis
897c21b83c Fix env variable not found message 2015-04-01 15:55:57 -04:00
Jordan Lewis
d5d7079db9 factor: step 3
Added linked envs, supporting the assoc protocol. Possibly could have
just used factor namespaces somehow.
2015-04-01 15:54:24 -04:00
Jordan Lewis
34e1e0fdb9 factor: step 2 2015-04-01 15:54:24 -04:00
Jordan Lewis
e48c6da97a factor: step 1 optional features
Paren matching error checking
Literal support for strings, true, false, nil, keywords, vectors and
hashmaps
Quoting, deref and meta support
Comment support
2015-04-01 15:54:24 -04:00
Jordan Lewis
eef524ffaa factor: minimum for step 1 2015-04-01 15:54:24 -04:00
Jordan Lewis
389c9b8a32 factor: step0 and scaffolding 2015-04-01 15:54:24 -04:00