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

53 Commits

Author SHA1 Message Date
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
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
a1a3a8df2c fsharp: When executing a mal script, don't print the final return value 2016-05-11 16:01:15 -04:00
Joel Martin
efa2daef57 Fix empty list eval in step2 for most languages.
I think the only remaining ones are ada, elisp, factor, and rust.
2016-04-02 18:40:49 -05:00
Dov Murik
f137cd30d6 fsharp: Fix exception on literal empty list
Issue #190
2016-03-28 16:56:23 -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
7ff9c023ea fsharp: add negative number support.
Issue #178
2016-02-27 11:09:08 -06:00
Joel Martin
9044b1fdb1 Merge branch 'master' into issue_166_string_ops 2016-02-24 12:00:08 -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
Joel Martin
5245b079e1 Add dist targets to most implementations.
TODO: factor groovy guile julia matlab miniMAL swift
2016-02-24 00:33:20 -06:00
Dov Murik
7b25f92cca fsharp: add seq and string?
Issue #166
2016-02-14 20:51:37 -05:00
Dov Murik
283779ea75 cs, fsharp, vb: Fix (first nil) and (rest nil) 2016-02-03 21:23:48 -05:00
Joel Martin
36e287b51f cs, fsharp, java, vb: fix macro result evaluation.
Related to issue #142.

- also, fix java build issue in both Makefiles.
2016-01-26 14:13:59 -06: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
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
50bb9060e8 fsharp: add time-ms to core. 2015-10-24 15:53:41 -05:00
Joel Martin
fc4c7889cb Travis: add remaining implementations.
- new impls: awk, crystal, elixir, erlang, es6, fsharp, groovy, guile
  (disabled), rpython (disabled)
2015-10-07 21:46:12 -05:00
Peter Stephens
cd76a98250 fsharp: stepA: All self host tests now pass. 2015-07-05 21:13:38 -05:00
Peter Stephens
a71aefe16d fsharp: stepA: Self host through step9. Added meta and with-meta. 2015-07-05 16:23:34 -05:00
Peter Stephens
66913ea494 fsharp: stepA: Self host through step3. Need conj to pass step4. 2015-07-04 01:02:43 -05:00
Peter Stephens
9a58a022ae fsharp: stepA: Self host through step2. Need atoms to pass step3. 2015-07-03 20:02:58 -05:00
Peter Stephens
b103e78910 fsharp: step8: Implemented cond macro. 2015-07-03 18:20:36 -05:00
Peter Stephens
0fb8a94426 fsharp: step9: Implemented more core funcs. 2015-07-03 17:35:00 -05:00
Peter Stephens
224d2396f9 fsharp: step9: Implemented try*/catch*/throw. Implemented apply and map. Implemented some predicates. 2015-07-03 12:07:57 -05:00
Peter Stephens
f0e1608bbb fsharp: step8: Implemented macros. Deferred cond because it requires exceptions 2015-07-03 09:57:15 -05:00
Peter Stephens
4f3f9cd5ec fsharp: eval 'sharded across the time dimension' for step7. 2015-07-02 21:11:05 -05:00
Peter Stephens
52c921241b fsharp: eval 'shared across the time dimension' for step6. 2015-07-02 19:04:33 -05:00
Peter Stephens
a12b216daa fsharp: eval 'sharded across the time dimension' for step5. 2015-07-02 17:55:42 -05:00
Peter Stephens
e72de6d2ad fsharp: eval 'sharded across the time dimension' for step4. Step0, 1, & 3 style changes. 2015-07-02 13:39:54 -05:00
Peter Stephens
52bc43adf1 fsharp: eval 'sharded across the time dimension' for step2 & step3. 2015-06-29 22:57:47 -05:00
Peter Stephens
6d809e3272 fsharp: step7: Cleaned up error handling. 2015-05-02 01:50:09 -05:00
Peter Stephens
f877bf268d fsharp: step7: Added more active patterns. Moved Node funcs to separate module. 2015-04-19 22:40:45 -05:00
Peter Stephens
0a6323d493 step7: Streamlined pattern matching with some active patterns. 2015-04-19 21:13:23 -05:00
Peter Stephens
aac99bedce fsharp: step7: Streamlined concat. Vectors are now array segments, so more efficient slicing. 2015-04-08 20:29:30 -05:00
Peter Stephens
aa2e1438ab fsharp: step7: Added quoting. Need to clean up quasiquote and concat. 2015-04-07 22:14:00 -05:00
Peter Stephens
8d4a06e046 fsharp: step6: Added eval & file io. 2015-04-05 00:20:42 -05:00
Peter Stephens
8862f80efd fsharp: step5: Added tail call optimization. 2015-04-04 22:01:05 -05:00
Peter Stephens
a97c3028a8 fsharp: step 4: Added fn* binding and not function. 2015-03-27 04:21:56 -05:00
Peter Stephens
7822be33f7 fsharp: step 4: Updated equality, comparison, and hashing semantics to kind of match Mal. Specifically [1 2] = (list 1 2) 2015-03-27 01:26:20 -05:00
Peter Stephens
6a4627fb6b fsharp: step 4: Added prn, str, println, and pr-str 2015-03-26 14:05:02 -05:00
Peter Stephens
a836d8f338 fsharp: step 4: Added list and comparison functions. 2015-03-26 00:17:46 -05:00
Peter Stephens
0756d6203c fsharp: step 3: Consolidated vector and list let* binding logic. 2015-03-17 07:22:38 -05:00
Peter Stephens
1e4687b4e4 fsharp: step 3: Implemented the let* special form. 2015-03-16 21:28:51 -05:00
Peter Stephens
37bb752e69 fsharp: step 3: Improved Env to work with chains. Implemented the def! special form. 2015-03-16 07:09:10 -05:00
Peter Stephens
6c47cf673e fsharp: step 2: Factored out funcs into Core module. 2015-03-15 15:07:08 -05:00
Peter Stephens
8f1ee487cb fsharp: step 2: Eval tests pass. Still need to polish things up. 2015-03-11 21:13:31 -05:00
Peter Stephens
327bd96767 fsharp: step 1: Factored tokenizer out of reader and generally cleaned things up. 2015-03-04 19:14:07 -06:00
Peter Stephens
b856be1eb0 fsharp: step 1: deref & with-meta. Time to polish things up. 2015-03-01 23:44:06 -06:00
Peter Stephens
6dcc04dbba fsharp: Partial step 1: maps & comments 2015-03-01 09:49:55 -06:00
Peter Stephens
3b82891f65 fsharp: Partial step 1: lists & vectors 2015-02-28 22:07:55 -06:00