jackhill/mal.git
9 years agoupdate README
Nala Ginrut [Fri, 3 Apr 2015 20:13:34 +0000 (04:13 +0800)]
update README

9 years agoguile: enable readline
Nala Ginrut [Fri, 3 Apr 2015 20:09:31 +0000 (04:09 +0800)]
guile: enable readline

9 years agoremove whitespace while reading
Nala Ginrut [Fri, 3 Apr 2015 20:09:08 +0000 (04:09 +0800)]
remove whitespace while reading

9 years agoguile: fixed stepA with new tests
Nala Ginrut [Fri, 3 Apr 2015 19:09:24 +0000 (03:09 +0800)]
guile: fixed stepA with new tests

9 years agoupdate README.md
Nala Ginrut [Fri, 3 Apr 2015 18:43:16 +0000 (02:43 +0800)]
update README.md

9 years agomerge upstream
Nala Ginrut [Fri, 3 Apr 2015 18:37:57 +0000 (02:37 +0800)]
merge upstream

9 years agoguile done
Nala Ginrut [Fri, 3 Apr 2015 18:27:19 +0000 (02:27 +0800)]
guile done

9 years agofixed step9
Nala Ginrut [Fri, 3 Apr 2015 15:10:04 +0000 (23:10 +0800)]
fixed step9

9 years agofixed function/macro printing error
Nala Ginrut [Fri, 3 Apr 2015 14:55:07 +0000 (22:55 +0800)]
fixed function/macro printing error

9 years agoguile step9 works
Nala Ginrut [Fri, 3 Apr 2015 10:45:15 +0000 (18:45 +0800)]
guile step9 works

9 years agoREADME: update count to 31, note Factor version.
Joel Martin [Thu, 2 Apr 2015 22:36:16 +0000 (17:36 -0500)]
README: update count to 31, note Factor version.

9 years agoMerge pull request #55 from jordanlewis/factor
Joel Martin [Thu, 2 Apr 2015 22:32:30 +0000 (17:32 -0500)]
Merge pull request #55 from jordanlewis/factor

Add Factor implementation

9 years agofactor: typo in README
Jordan Lewis [Thu, 2 Apr 2015 21:50:04 +0000 (17:50 -0400)]
factor: typo in README

9 years agofactor: add time-ms, perf tests work
Jordan Lewis [Thu, 2 Apr 2015 18:50:44 +0000 (14:50 -0400)]
factor: add time-ms, perf tests work

And a little bugfix to step 9.

9 years agofactor: bugfixes. self hosting works now
Jordan Lewis [Thu, 2 Apr 2015 17:40:15 +0000 (13:40 -0400)]
factor: bugfixes. self hosting works now

... except for metadata on collections, which is still unimplemented.

9 years agofactor: step A
Jordan Lewis [Wed, 1 Apr 2015 23:18:00 +0000 (19:18 -0400)]
factor: step A

missing collection metadata

9 years agofixe guile step1~step7 for handling blank line properly
Nala Ginrut [Thu, 2 Apr 2015 18:39:35 +0000 (02:39 +0800)]
fixe guile step1~step7 for handling blank line properly

9 years agoguile step8 works
Nala Ginrut [Thu, 2 Apr 2015 18:39:02 +0000 (02:39 +0800)]
guile step8 works

9 years agofactor: step 9
Jordan Lewis [Wed, 1 Apr 2015 19:36:33 +0000 (15:36 -0400)]
factor: step 9

9 years agofactor: step 8
Jordan Lewis [Wed, 1 Apr 2015 15:51:29 +0000 (11:51 -0400)]
factor: step 8

9 years agofactor: step 7
Jordan Lewis [Tue, 31 Mar 2015 20:32:47 +0000 (16:32 -0400)]
factor: step 7

9 years agofactor: step 6
Jordan Lewis [Tue, 31 Mar 2015 18:29:07 +0000 (14:29 -0400)]
factor: step 6

9 years agofactor: step 5 complete
Jordan Lewis [Tue, 17 Mar 2015 03:51:47 +0000 (23:51 -0400)]
factor: step 5 complete

9 years agofactor: step 4: refactor to use arglist
Jordan Lewis [Tue, 31 Mar 2015 01:13:20 +0000 (18:13 -0700)]
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.

9 years agofactor: step 4 complete
Jordan Lewis [Tue, 17 Mar 2015 02:51:59 +0000 (22:51 -0400)]
factor: step 4 complete

Added core.factor, including math comparison operations, list operations
and string operations.

9 years agofactor: step 4 special forms
Jordan Lewis [Mon, 16 Mar 2015 14:32:22 +0000 (10:32 -0400)]
factor: step 4 special forms

Add if, fn* and do. No new core functions yet.

9 years agoFix env variable not found message
Jordan Lewis [Sat, 14 Mar 2015 22:14:25 +0000 (18:14 -0400)]
Fix env variable not found message

9 years agoAdd factor instructions to readme
Jordan Lewis [Fri, 13 Mar 2015 20:23:11 +0000 (16:23 -0400)]
Add factor instructions to readme

9 years agofactor: step 3
Jordan Lewis [Fri, 13 Mar 2015 05:48:40 +0000 (01:48 -0400)]
factor: step 3

Added linked envs, supporting the assoc protocol. Possibly could have
just used factor namespaces somehow.

9 years agofactor: step 2
Jordan Lewis [Thu, 12 Mar 2015 17:44:12 +0000 (13:44 -0400)]
factor: step 2

9 years agofactor: step 1 optional features
Jordan Lewis [Thu, 12 Mar 2015 03:24:23 +0000 (23:24 -0400)]
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

9 years agofactor: minimum for step 1
Jordan Lewis [Wed, 11 Mar 2015 15:13:55 +0000 (11:13 -0400)]
factor: minimum for step 1

9 years agofactor: step0 and scaffolding
Jordan Lewis [Mon, 9 Mar 2015 19:11:50 +0000 (15:11 -0400)]
factor: step0 and scaffolding

9 years agofixed step3~7 with better env ref
Nala Ginrut [Wed, 1 Apr 2015 19:05:05 +0000 (03:05 +0800)]
fixed step3~7 with better env ref

9 years agofixed step2~4 with correct env ref
Nala Ginrut [Wed, 1 Apr 2015 18:53:38 +0000 (02:53 +0800)]
fixed step2~4 with correct env ref

9 years agofixed step5~7 with correct env ref
Nala Ginrut [Wed, 1 Apr 2015 18:50:52 +0000 (02:50 +0800)]
fixed step5~7 with correct env ref

9 years agofixed step7
Nala Ginrut [Wed, 1 Apr 2015 16:03:50 +0000 (00:03 +0800)]
fixed step7

9 years agoREADME: update with Julia.
Joel Martin [Wed, 1 Apr 2015 14:47:29 +0000 (09:47 -0500)]
README: update with Julia.

9 years agoJulia: missed Makefile for stats.
Joel Martin [Wed, 1 Apr 2015 04:12:25 +0000 (23:12 -0500)]
Julia: missed Makefile for stats.

9 years agoJulia: self-hosting.
Joel Martin [Wed, 1 Apr 2015 03:42:42 +0000 (22:42 -0500)]
Julia: self-hosting.

- fix meta and swap! functions and add missing tests
- fix eval_ast of hash-maps across all steps

9 years agoJulia: add Dockerfile dependencies.
Joel Martin [Wed, 1 Apr 2015 03:41:47 +0000 (22:41 -0500)]
Julia: add Dockerfile dependencies.

9 years agoJulia: step A. Add atoms and metadata.
Joel Martin [Wed, 1 Apr 2015 03:17:47 +0000 (22:17 -0500)]
Julia: step A. Add atoms and metadata.

- Refactor readline (not editline yet) into readline_mod.
- Ignore comments properly

9 years agoJulia: Step 9, hash maps and keywords.
Joel Martin [Wed, 1 Apr 2015 02:23:22 +0000 (21:23 -0500)]
Julia: Step 9, hash maps and keywords.

9 years agoJulia: step 8
Joel Martin [Sun, 29 Mar 2015 22:55:11 +0000 (17:55 -0500)]
Julia: step 8

9 years agoJulia: step7.
Joel Martin [Sun, 29 Mar 2015 21:42:15 +0000 (16:42 -0500)]
Julia: step7.

- Also fix list core function.

9 years agoJulia: step6
Joel Martin [Sun, 29 Mar 2015 21:01:02 +0000 (16:01 -0500)]
Julia: step6

9 years agoJulia: step5
Joel Martin [Sun, 29 Mar 2015 20:51:54 +0000 (15:51 -0500)]
Julia: step5

9 years agoJulia: step4
Joel Martin [Sun, 29 Mar 2015 20:38:05 +0000 (15:38 -0500)]
Julia: step4

9 years agoJulia: step3
Joel Martin [Sun, 29 Mar 2015 20:00:27 +0000 (15:00 -0500)]
Julia: step3

9 years agoJulia: add step2.
Joel Martin [Sun, 29 Mar 2015 19:33:57 +0000 (14:33 -0500)]
Julia: add step2.

9 years agoJulia: step 1 basics.
Joel Martin [Sat, 28 Mar 2015 22:44:31 +0000 (17:44 -0500)]
Julia: step 1 basics.

9 years agoJulia: step0
Joel Martin [Sat, 28 Mar 2015 20:10:32 +0000 (15:10 -0500)]
Julia: step0

9 years agoguile step7 works
Nala Ginrut [Tue, 31 Mar 2015 17:41:58 +0000 (01:41 +0800)]
guile step7 works

9 years agoguile enable step5 test
Nala Ginrut [Tue, 31 Mar 2015 16:29:08 +0000 (00:29 +0800)]
guile enable step5 test

9 years agoguile step5 & step6 works
Nala Ginrut [Tue, 31 Mar 2015 15:39:59 +0000 (23:39 +0800)]
guile step5 & step6 works

9 years agoguile step4 works
Nala Ginrut [Tue, 31 Mar 2015 03:53:37 +0000 (11:53 +0800)]
guile step4 works

9 years agoadded guile step4
Nala Ginrut [Mon, 30 Mar 2015 18:34:40 +0000 (02:34 +0800)]
added guile step4

9 years agofixed func calling eval
Nala Ginrut [Mon, 30 Mar 2015 18:34:23 +0000 (02:34 +0800)]
fixed func calling eval

9 years agoadded some stuffs
Nala Ginrut [Mon, 30 Mar 2015 18:32:56 +0000 (02:32 +0800)]
added some stuffs

9 years agofixed double-quote in string problem
Nala Ginrut [Mon, 30 Mar 2015 18:32:17 +0000 (02:32 +0800)]
fixed double-quote in string problem

9 years agofixed env.scm for step4
Nala Ginrut [Mon, 30 Mar 2015 18:31:40 +0000 (02:31 +0800)]
fixed env.scm for step4

9 years agofixed proper pointer blob size
Nala Ginrut [Mon, 30 Mar 2015 06:34:02 +0000 (14:34 +0800)]
fixed proper pointer blob size

9 years agofixed env for step4, update step3
Nala Ginrut [Mon, 30 Mar 2015 06:33:31 +0000 (14:33 +0800)]
fixed env for step4, update step3

9 years agoMerge pull request #52 from def-/nim
Joel Martin [Sun, 29 Mar 2015 02:09:55 +0000 (21:09 -0500)]
Merge pull request #52 from def-/nim

Adapt to new Nim devel compiler

9 years agoAdapt to new Nim devel compiler
def [Sun, 29 Mar 2015 01:07:10 +0000 (03:07 +0200)]
Adapt to new Nim devel compiler

9 years agoFAQ: clarify about competing/overlapping implementations.
Joel Martin [Sat, 28 Mar 2015 17:11:44 +0000 (12:11 -0500)]
FAQ: clarify about competing/overlapping implementations.

9 years agoC++: add Makefile stats targets.
Joel Martin [Sat, 28 Mar 2015 16:53:30 +0000 (11:53 -0500)]
C++: add Makefile stats targets.

9 years agoREADME: add names/links of implementation creators.
Joel Martin [Sat, 28 Mar 2015 16:48:11 +0000 (11:48 -0500)]
README: add names/links of implementation creators.

9 years agoREADME: add C++ instructions and bump count to 29.
Joel Martin [Sat, 28 Mar 2015 16:41:16 +0000 (11:41 -0500)]
README: add C++ instructions and bump count to 29.

9 years agoMerge pull request #50 from sdt/cpp
Joel Martin [Sat, 28 Mar 2015 16:26:49 +0000 (11:26 -0500)]
Merge pull request #50 from sdt/cpp

C++ implementation

9 years agoSplit ASSERT into ASSERT and MAL_CHECK/MAL_FAIL
Stephen Thirlwall [Sat, 28 Mar 2015 11:54:26 +0000 (22:54 +1100)]
Split ASSERT into ASSERT and MAL_CHECK/MAL_FAIL

* ASSERT is to check for internal errors
* MAL_CHECK / MAL_FAIL is to check mal code errors

9 years agoFix bugs introduced in reader hash-map/{} change
Stephen Thirlwall [Sat, 28 Mar 2015 05:22:26 +0000 (16:22 +1100)]
Fix bugs introduced in reader hash-map/{} change

Only apparent in double-self-hosting mode.

eg. ../cpp/stepA_mal ./stepA_mal.mal ./stepA_mal.mal

Throws an error that MACROEXPAND is not defined.

TODO: figure out why modifying he hash in-place doesn't work.

9 years agoFix *host-language*
Stephen Thirlwall [Sat, 28 Mar 2015 04:41:19 +0000 (15:41 +1100)]
Fix *host-language*

9 years agoExclude cpp from test step 5
Stephen Thirlwall [Sat, 28 Mar 2015 04:26:07 +0000 (15:26 +1100)]
Exclude cpp from test step 5

Completes at 10,000 (bus error at 20,000)

9 years agoRevert { X } -> ( hash-map X ) reader macro
Stephen Thirlwall [Sat, 28 Mar 2015 04:08:25 +0000 (15:08 +1100)]
Revert { X } -> ( hash-map X ) reader macro

The macro breaks the step 2 tests.

9 years agoReplace table iterations with new for-loop syntax
Stephen Thirlwall [Sat, 28 Mar 2015 01:22:01 +0000 (12:22 +1100)]
Replace table iterations with new for-loop syntax

Didn't even know this existed!

9 years agoAdd C++ packages to tests/docker/Dockerfile
Stephen Thirlwall [Sat, 28 Mar 2015 01:22:29 +0000 (12:22 +1100)]
Add C++ packages to tests/docker/Dockerfile

Thought I'd already done this. Must've got lost in all the rebasing...

9 years agoUse g++-4.9 instead of clang-3.5 on Linux
Stephen Thirlwall [Sat, 28 Mar 2015 01:17:25 +0000 (12:17 +1100)]
Use g++-4.9 instead of clang-3.5 on Linux

Using the linker fix from @kanaka

9 years agoFix Reader issues on Linux
Stephen Thirlwall [Sat, 28 Mar 2015 00:47:00 +0000 (11:47 +1100)]
Fix Reader issues on Linux

* use regex_search rather than regex_iterator

* use multiple individual whitespace and token regexes,
  rather than one giant regex

This appears to work on 14.10 and 15.04

9 years agoguile step3 works
Nala Ginrut [Fri, 27 Mar 2015 11:19:58 +0000 (19:19 +0800)]
guile step3 works

9 years agoAdd README.md
Stephen Thirlwall [Fri, 27 Mar 2015 09:38:18 +0000 (20:38 +1100)]
Add README.md

9 years agoc++11: step A
Stephen Thirlwall [Fri, 27 Mar 2015 06:24:20 +0000 (17:24 +1100)]
c++11: step A

9 years agoc++11: step 9
Stephen Thirlwall [Fri, 27 Mar 2015 05:38:23 +0000 (16:38 +1100)]
c++11: step 9

9 years agoc++11: step 8
Stephen Thirlwall [Fri, 27 Mar 2015 05:35:47 +0000 (16:35 +1100)]
c++11: step 8

9 years agoc++11: step 7
Stephen Thirlwall [Fri, 27 Mar 2015 05:19:02 +0000 (16:19 +1100)]
c++11: step 7

9 years agoc++11: step 6
Stephen Thirlwall [Fri, 27 Mar 2015 05:07:46 +0000 (16:07 +1100)]
c++11: step 6

9 years agoc++11: step 5
Stephen Thirlwall [Fri, 27 Mar 2015 03:00:46 +0000 (14:00 +1100)]
c++11: step 5

9 years agoc++11: step 4
Stephen Thirlwall [Fri, 27 Mar 2015 01:52:07 +0000 (12:52 +1100)]
c++11: step 4

9 years agoc++11: step 3
Stephen Thirlwall [Fri, 27 Mar 2015 00:03:28 +0000 (11:03 +1100)]
c++11: step 3

9 years agoc++11: step 2
Stephen Thirlwall [Thu, 26 Mar 2015 22:04:35 +0000 (09:04 +1100)]
c++11: step 2

Note that the optional tests for step 1 now fail because I no longer create a
hash directly in the reader, rather handle this as a reader macro:

    { LIST } -> ( hash-map LIST )

This way, once the constructor has built the hash-map, the hash is now evaluated,
and its evaluation procedure is a no-op.

I'd like to do the same with vectors, but this isn't so easy, as we use vectors
as parameter lists in fn* later on.

ie. we'd have this situation, which is incorrect (and I don't see an obvious workaround)

    (fn* [params] body) -> (fn* (vector params) body)

9 years agoc++11: step 1
Stephen Thirlwall [Thu, 26 Mar 2015 11:25:50 +0000 (22:25 +1100)]
c++11: step 1

9 years agoc++11: step 0
Stephen Thirlwall [Thu, 26 Mar 2015 11:08:35 +0000 (22:08 +1100)]
c++11: step 0

9 years agoguile step2 works
Nala Ginrut [Thu, 26 Mar 2015 08:05:26 +0000 (16:05 +0800)]
guile step2 works

9 years agoguide: most of step 9 and start step A.
Joel Martin [Thu, 26 Mar 2015 02:53:53 +0000 (20:53 -0600)]
guide: most of step 9 and start step A.

9 years agomerged upstream:master
Nala Ginrut [Wed, 25 Mar 2015 15:03:20 +0000 (23:03 +0800)]
merged upstream:master

9 years agoguile step1 success
Nala Ginrut [Wed, 25 Mar 2015 15:01:05 +0000 (23:01 +0800)]
guile step1 success

9 years agoupdate Makefile for guile
Nala Ginrut [Wed, 25 Mar 2015 15:00:46 +0000 (23:00 +0800)]
update Makefile for guile

9 years agoSwift: lang cnt to 28, note XCode, skip in docker.
Joel Martin [Tue, 24 Mar 2015 15:29:53 +0000 (09:29 -0600)]
Swift: lang cnt to 28, note XCode, skip in docker.

- Update the README to 28 languages.
- Note that Swift impl currently requires XCode/OS X :-(
- Add Swift to skip list in Dockerfile.

9 years agoMerge pull request #49 from keith-rollin/swift
Joel Martin [Tue, 24 Mar 2015 15:23:47 +0000 (09:23 -0600)]
Merge pull request #49 from keith-rollin/swift

Initial Swift implementation.

9 years agoguile step1 works
Nala Ginrut [Tue, 24 Mar 2015 11:40:36 +0000 (19:40 +0800)]
guile step1 works