jackhill/mal.git
7 years agoAdd printer for built-in functions
Iqbal Ansari [Sat, 20 Aug 2016 16:45:22 +0000 (22:15 +0530)]
Add printer for built-in functions

7 years agoExport predicates for checking MAL types from types package
Iqbal Ansari [Wed, 17 Aug 2016 02:58:59 +0000 (08:28 +0530)]
Export predicates for checking MAL types from types package

7 years agoTeach MAL about number signs
Iqbal Ansari [Wed, 17 Aug 2016 02:58:43 +0000 (08:28 +0530)]
Teach MAL about number signs

7 years agoChange the way meta is handled
Iqbal Ansari [Wed, 17 Aug 2016 02:16:37 +0000 (07:46 +0530)]
Change the way meta is handled

This might require some more modifications in future

7 years agoSupport clause any in switch-mal-type to execute form for any type
Iqbal Ansari [Tue, 16 Aug 2016 19:03:49 +0000 (00:33 +0530)]
Support clause any in switch-mal-type to execute form for any type

7 years agoRemove the need to quote symbols in switch-mal-type
Iqbal Ansari [Tue, 16 Aug 2016 19:01:31 +0000 (00:31 +0530)]
Remove the need to quote symbols in switch-mal-type

7 years agoRemove obsolete 'add-mal-meta' function
Iqbal Ansari [Tue, 16 Aug 2016 17:40:27 +0000 (23:10 +0530)]
Remove obsolete 'add-mal-meta' function

7 years agoExport MAL types and MAL accessors from types package
Iqbal Ansari [Tue, 16 Aug 2016 16:39:17 +0000 (22:09 +0530)]
Export MAL types and MAL accessors from types package

7 years agoExport eof error from reader
Iqbal Ansari [Tue, 16 Aug 2016 16:23:34 +0000 (21:53 +0530)]
Export eof error from reader

7 years agoMake sure last duplicate entry override first entry in hash maps
Iqbal Ansari [Tue, 16 Aug 2016 15:39:19 +0000 (21:09 +0530)]
Make sure last duplicate entry override first entry in hash maps

This completes mandatory as well as optional requirements for step 1

7 years agoAdd support for reading print metadata associated with values
Iqbal Ansari [Tue, 16 Aug 2016 07:05:00 +0000 (12:35 +0530)]
Add support for reading print metadata associated with values

7 years agoFix printing of vectors, use fully qualified symbol names in printing switch
Iqbal Ansari [Tue, 16 Aug 2016 06:21:09 +0000 (11:51 +0530)]
Fix printing of vectors, use fully qualified symbol names in printing switch

7 years agoAdd switch-mal-type, use it select printing strategy
Iqbal Ansari [Mon, 15 Aug 2016 18:07:26 +0000 (23:37 +0530)]
Add switch-mal-type, use it select printing strategy

7 years agoExpand quote, quasiquote, unquote and splice-unquote
Iqbal Ansari [Mon, 15 Aug 2016 17:40:58 +0000 (23:10 +0530)]
Expand quote, quasiquote, unquote and splice-unquote

7 years agoAdd support for reading and printing keywords
Iqbal Ansari [Mon, 15 Aug 2016 17:09:59 +0000 (22:39 +0530)]
Add support for reading and printing keywords

7 years agoAdd support for reading and printing hash-maps
Iqbal Ansari [Mon, 15 Aug 2016 16:20:42 +0000 (21:50 +0530)]
Add support for reading and printing hash-maps

7 years agoUse fully qualified symbol names printer switch
Iqbal Ansari [Mon, 15 Aug 2016 16:19:30 +0000 (21:49 +0530)]
Use fully qualified symbol names printer switch

7 years agoRefactor reading and printing of vectors and lists
Iqbal Ansari [Mon, 15 Aug 2016 16:18:39 +0000 (21:48 +0530)]
Refactor reading and printing of vectors and lists

7 years agoCorrectly report unterminated strings
Iqbal Ansari [Mon, 15 Aug 2016 12:10:40 +0000 (17:40 +0530)]
Correctly report unterminated strings

7 years agoImprove error reporting for EOF errors
Iqbal Ansari [Mon, 15 Aug 2016 10:16:26 +0000 (15:46 +0530)]
Improve error reporting for EOF errors

7 years agoTeach MAL to read and print vectors
Iqbal Ansari [Mon, 15 Aug 2016 09:14:28 +0000 (14:44 +0530)]
Teach MAL to read and print vectors

7 years agoFix tokenizer regex to treat [] as two separate tokens ('[' and ']')
Iqbal Ansari [Mon, 15 Aug 2016 09:13:14 +0000 (14:43 +0530)]
Fix tokenizer regex to treat [] as two separate tokens ('[' and ']')

7 years agoImplementation of step1 without the optional functionality
Iqbal Ansari [Mon, 15 Aug 2016 08:14:32 +0000 (13:44 +0530)]
Implementation of step1 without the optional functionality

7 years agoAdd common-lisp step0
Iqbal Ansari [Sat, 13 Aug 2016 19:37:22 +0000 (01:07 +0530)]
Add common-lisp step0

7 years agoPowerShell: add missing Makefile.
Joel Martin [Thu, 25 Aug 2016 16:17:33 +0000 (11:17 -0500)]
PowerShell: add missing Makefile.

7 years agoFix step4 case sensitivity test.
Joel Martin [Wed, 24 Aug 2016 22:48:56 +0000 (17:48 -0500)]
Fix step4 case sensitivity test.

7 years agoPowerShell: add to Travis build.
Joel Martin [Wed, 24 Aug 2016 22:45:38 +0000 (17:45 -0500)]
PowerShell: add to Travis build.

7 years agoREADME: add PowerShell, implementation 58.
Joel Martin [Wed, 24 Aug 2016 22:42:19 +0000 (17:42 -0500)]
README: add PowerShell, implementation 58.

7 years agotests: additional tests based on PowerShell impl
Joel Martin [Wed, 24 Aug 2016 22:39:24 +0000 (17:39 -0500)]
tests: additional tests based on PowerShell impl

- step1: empty list and vector
- step4: special forms case-sensitivity
- step9: apply with an empty list/vector

7 years agoPowerShell: steps 4-A, optional, and self-hosting
Joel Martin [Sun, 21 Aug 2016 22:14:01 +0000 (17:14 -0500)]
PowerShell: steps 4-A, optional, and self-hosting

7 years agoPowerShell: steps 0-3
Joel Martin [Sat, 20 Aug 2016 20:09:19 +0000 (15:09 -0500)]
PowerShell: steps 0-3

7 years agoMerge pull request #229 from wasamasa/chuck-implementation
Joel Martin [Tue, 9 Aug 2016 19:02:55 +0000 (14:02 -0500)]
Merge pull request #229 from wasamasa/chuck-implementation

ChucK implementation

7 years agoAdd basic Makefile
Vasilij Schneidermann [Tue, 9 Aug 2016 18:45:33 +0000 (20:45 +0200)]
Add basic Makefile

7 years agoAdd chuck to Travis builds
Vasilij Schneidermann [Tue, 9 Aug 2016 17:48:54 +0000 (19:48 +0200)]
Add chuck to Travis builds

7 years agoAdd Dockerfile fixes and change runner to bash
Vasilij Schneidermann [Tue, 9 Aug 2016 17:25:33 +0000 (19:25 +0200)]
Add Dockerfile fixes and change runner to bash

Thanks to @kanaka

7 years agoSupport backspace in readline implementation
Vasilij Schneidermann [Mon, 8 Aug 2016 19:32:30 +0000 (21:32 +0200)]
Support backspace in readline implementation

7 years agoMention in README
Vasilij Schneidermann [Sun, 7 Aug 2016 23:19:05 +0000 (01:19 +0200)]
Mention in README

7 years agoMove run_chuck.rb to run
Vasilij Schneidermann [Sun, 7 Aug 2016 23:09:39 +0000 (01:09 +0200)]
Move run_chuck.rb to run

7 years agoRemove temp file
Vasilij Schneidermann [Sat, 6 Aug 2016 21:57:38 +0000 (23:57 +0200)]
Remove temp file

7 years agoAdd run script, fix argv bug
Vasilij Schneidermann [Sat, 6 Aug 2016 21:57:14 +0000 (23:57 +0200)]
Add run script, fix argv bug

7 years agoMerge branch 'master' into chuck-implementation
Vasilij Schneidermann [Sat, 6 Aug 2016 21:56:29 +0000 (23:56 +0200)]
Merge branch 'master' into chuck-implementation

7 years agoSelf-hosting fix
Vasilij Schneidermann [Sat, 6 Aug 2016 20:41:00 +0000 (22:41 +0200)]
Self-hosting fix

7 years agoImplement step A
Vasilij Schneidermann [Sat, 6 Aug 2016 19:25:56 +0000 (21:25 +0200)]
Implement step A

7 years agoAdd a self-made readline implementation
Vasilij Schneidermann [Sat, 6 Aug 2016 15:42:56 +0000 (17:42 +0200)]
Add a self-made readline implementation

7 years agoImplement step 9
Vasilij Schneidermann [Fri, 5 Aug 2016 22:34:18 +0000 (00:34 +0200)]
Implement step 9

7 years agoImplement step 8
Vasilij Schneidermann [Mon, 1 Aug 2016 08:40:32 +0000 (10:40 +0200)]
Implement step 8

7 years agoSwift3: update to Swift 3 Preview 3.
Joel Martin [Mon, 1 Aug 2016 04:25:23 +0000 (23:25 -0500)]
Swift3: update to Swift 3 Preview 3.

7 years agoMerge pull request #228 from fredim/swift3
Joel Martin [Mon, 1 Aug 2016 04:16:26 +0000 (23:16 -0500)]
Merge pull request #228 from fredim/swift3

Squashed commits, updated to latest swift3 (swift-3.0-PREVIEW-2)

7 years agoImplement step 7
Vasilij Schneidermann [Sat, 30 Jul 2016 19:53:24 +0000 (21:53 +0200)]
Implement step 7

7 years agoImplement step 6
Vasilij Schneidermann [Fri, 29 Jul 2016 22:50:12 +0000 (00:50 +0200)]
Implement step 6

7 years agoSquashed commits, updated to latest swift3 (swift-3.0-PREVIEW-2)
Fred Im [Fri, 29 Jul 2016 18:37:32 +0000 (18:37 +0000)]
Squashed commits, updated to latest swift3 (swift-3.0-PREVIEW-2)

Main changes:
* consistency of func arguments, while every argument has both an outer and an inner name,
  but the first argument's outer was "unnamed" by default in swift<2. now all arguments are consistent
  and requires the initial "_" to declare the outer "unnamed" for the first argument
* indexes are now simpler types, the Array.index function computes successor/predecessor
* many, many API changes, that result in shorter "verb" names of functions with named arguments
  ex: Array.joinWithSeparator(String) -> Array.joined(separator: String)

7 years agoada: stats target.
Joel Martin [Fri, 29 Jul 2016 15:49:13 +0000 (10:49 -0500)]
ada: stats target.

Also, fix Crystal dockerfile build.

7 years agoperl6: update/add missing Dockerfile. Stats target.
Joel Martin [Fri, 29 Jul 2016 15:48:13 +0000 (10:48 -0500)]
perl6: update/add missing Dockerfile. Stats target.

- Update docker image from rakudo 2016-04 to 2016-07

8 years agoMerge pull request #225 from rhysd/crystal-0.18.4
Joel Martin [Mon, 27 Jun 2016 16:42:36 +0000 (11:42 -0500)]
Merge pull request #225 from rhysd/crystal-0.18.4

Crystal 0.18.4

8 years agoCrystal: Use Int64 instead of Int32 because time_ms requires 64bit integer
rhysd [Fri, 24 Jun 2016 23:21:36 +0000 (08:21 +0900)]
Crystal: Use Int64 instead of Int32 because time_ms requires 64bit integer

This fixes a test case for stepA.

8 years agoCrystal: subcommand is changed from 'build' to 'compile'
rhysd [Fri, 24 Jun 2016 23:21:15 +0000 (08:21 +0900)]
Crystal: subcommand is changed from 'build' to 'compile'

8 years agoMerge pull request #224 from dubek/logo
Joel Martin [Fri, 17 Jun 2016 21:12:55 +0000 (16:12 -0500)]
Merge pull request #224 from dubek/logo

Logo implementation

8 years agoLogo implementation
Dov Murik [Wed, 11 May 2016 17:32:51 +0000 (13:32 -0400)]
Logo implementation

Tested on UCBLogo 6.0 with some minor tweaks (for performance and adding
a `timems` function).  The tweaks are performed during Docker image
creation (see Dockerfile).

Tests of step 5 are skipped because UCBLogo is too slow.

Interop is available via `(logo-eval "logo code to run")`.

The `examples` directory contains a Mal example of drawing a tree using
turtle graphics.

8 years agoMerge pull request #223 from wasamasa/better-elisp-eval
Joel Martin [Thu, 16 Jun 2016 13:38:57 +0000 (08:38 -0500)]
Merge pull request #223 from wasamasa/better-elisp-eval

Improve elisp-eval to use MAL types

8 years agoImprove elisp-eval to use MAL types
Vasilij Schneidermann [Thu, 16 Jun 2016 07:32:55 +0000 (09:32 +0200)]
Improve elisp-eval to use MAL types

8 years agoMerge pull request #222 from wasamasa/elisp-eval
Joel Martin [Wed, 15 Jun 2016 15:41:55 +0000 (10:41 -0500)]
Merge pull request #222 from wasamasa/elisp-eval

Replace elisp* with elisp-eval

8 years agoMerge pull request #221 from dubek/js-interop
Joel Martin [Wed, 15 Jun 2016 14:48:26 +0000 (09:48 -0500)]
Merge pull request #221 from dubek/js-interop

js: Fix interop, update web REPL page

8 years agoReplace elisp* with elisp-eval, use rx in test
Vasilij Schneidermann [Wed, 15 Jun 2016 07:43:50 +0000 (09:43 +0200)]
Replace elisp* with elisp-eval, use rx in test

8 years agojs: Fix interop, update web REPL page
Dov Murik [Wed, 15 Jun 2016 03:21:38 +0000 (23:21 -0400)]
js: Fix interop, update web REPL page

* js* renamed to js-eval and is no longer a special form (just a normal
  function in core.js)
* . is no longer a special form (just a normal function in core.js)
* fixed object/method parsing of first argument to .
* added tests for .
* updated mal.html: "Mal at a glance" shows all Mal functions

8 years agoMerge pull request #218 from dubek/io-interop
Joel Martin [Mon, 13 Jun 2016 15:27:15 +0000 (10:27 -0500)]
Merge pull request #218 from dubek/io-interop

io: Add interop function io-eval

8 years agoMerge pull request #219 from hinrik/perl6_eval_tests
Joel Martin [Mon, 13 Jun 2016 15:25:29 +0000 (10:25 -0500)]
Merge pull request #219 from hinrik/perl6_eval_tests

Add tests for perl6-eval function

8 years agoMerge pull request #220 from dubek/test-case-sensitive
Joel Martin [Mon, 13 Jun 2016 15:25:04 +0000 (10:25 -0500)]
Merge pull request #220 from dubek/test-case-sensitive

tests: Verify case sensitivity of names and strings

8 years agotests: Verify case sensitivity of names and strings
Dov Murik [Mon, 13 Jun 2016 05:09:56 +0000 (01:09 -0400)]
tests: Verify case sensitivity of names and strings

8 years agoio: Add interop function io-eval
Dov Murik [Sun, 12 Jun 2016 02:47:27 +0000 (22:47 -0400)]
io: Add interop function io-eval

8 years agoMerge pull request #216 from hinrik/add_perl6_impl
Joel Martin [Sun, 12 Jun 2016 18:44:15 +0000 (13:44 -0500)]
Merge pull request #216 from hinrik/add_perl6_impl

Perl 6: Throw exception on missing ), ], or }

8 years agoMerge pull request #217 from dubek/lua-interop
Joel Martin [Sun, 12 Jun 2016 18:43:23 +0000 (13:43 -0500)]
Merge pull request #217 from dubek/lua-interop

Add Lua interop and describe interop in the guide

8 years agoAdd tests for perl6-eval function
Hinrik Örn Sigurðsson [Sun, 12 Jun 2016 14:20:27 +0000 (14:20 +0000)]
Add tests for perl6-eval function

8 years agoprocess/guide: Describe interop function quux-eval
Dov Murik [Sun, 12 Jun 2016 01:36:01 +0000 (21:36 -0400)]
process/guide: Describe interop function quux-eval

8 years agolua: Add interop core function lua-eval
Dov Murik [Sun, 12 Jun 2016 01:30:44 +0000 (21:30 -0400)]
lua: Add interop core function lua-eval

8 years agoPerl 6: Throw exception on missing ), ], or }
Hinrik Örn Sigurðsson [Sat, 11 Jun 2016 19:50:39 +0000 (19:50 +0000)]
Perl 6: Throw exception on missing ), ], or }

8 years agoMerge pull request #215 from hinrik/add_perl6_impl
Joel Martin [Sat, 11 Jun 2016 18:38:57 +0000 (13:38 -0500)]
Merge pull request #215 from hinrik/add_perl6_impl

Add Perl 6 implementation

8 years agoTest the Perl 6 implementation on Travis
Hinrik Örn Sigurðsson [Wed, 8 Jun 2016 16:15:53 +0000 (16:15 +0000)]
Test the Perl 6 implementation on Travis

8 years agoAdd perl6-eval interop function
Hinrik Örn Sigurðsson [Tue, 7 Jun 2016 09:16:48 +0000 (09:16 +0000)]
Add perl6-eval interop function

8 years agoAdd Perl 6 implementation
Hinrik Örn Sigurðsson [Mon, 6 Jun 2016 21:11:29 +0000 (21:11 +0000)]
Add Perl 6 implementation

All tests pass, but readline support (via Linenoise module) is commented
out in step0_repl.pl as it is not a core module. Should maybe change it
when docker support is added.

8 years agoMakefile: user specified TEST_OPTS take precedence.
Joel Martin [Wed, 8 Jun 2016 18:29:59 +0000 (13:29 -0500)]
Makefile: user specified TEST_OPTS take precedence.

runtest uses argparse so the later arguments will take precedence.

8 years agoMerge pull request #214 from rhysd/crystal-0.17.4
Joel Martin [Mon, 6 Jun 2016 19:22:00 +0000 (13:22 -0600)]
Merge pull request #214 from rhysd/crystal-0.17.4

Crystal: Fix steps for Crystal v0.17.4

8 years agoCrystal: Fix steps for Crystal v0.17.4
rhysd [Mon, 6 Jun 2016 17:17:40 +0000 (02:17 +0900)]
Crystal: Fix steps for Crystal v0.17.4

8 years agoplsql: disable until tests more reliably pass.
Joel Martin [Mon, 6 Jun 2016 16:33:33 +0000 (11:33 -0500)]
plsql: disable until tests more reliably pass.

8 years agoplsql: add oracle user in Dockerfile. Longer test startup,
Joel Martin [Fri, 3 Jun 2016 15:20:28 +0000 (10:20 -0500)]
plsql: add oracle user in Dockerfile. Longer test startup,

Also, fix repeated test options in top-level Makefile.

8 years agoplsql: disable until uid 1001 issue resolved.
Joel Martin [Thu, 2 Jun 2016 17:57:34 +0000 (12:57 -0500)]
plsql: disable until uid 1001 issue resolved.

8 years agoplsql: enable travis build.
Joel Martin [Thu, 2 Jun 2016 17:44:36 +0000 (12:44 -0500)]
plsql: enable travis build.

8 years agoplsql: add run script.
Joel Martin [Tue, 24 May 2016 03:41:29 +0000 (21:41 -0600)]
plsql: add run script.

8 years agoplsql: fix normal user/sudo startup of container.
Joel Martin [Wed, 4 May 2016 05:45:01 +0000 (00:45 -0500)]
plsql: fix normal user/sudo startup of container.

8 years ago*sql: update Makefiles, README. Logon override.
Joel Martin [Wed, 4 May 2016 05:38:02 +0000 (00:38 -0500)]
*sql: update Makefiles, README. Logon override.

8 years agoplsql: add dockerfile. Lots of cleanup/renaming.
Joel Martin [Wed, 4 May 2016 04:25:41 +0000 (23:25 -0500)]
plsql: add dockerfile. Lots of cleanup/renaming.

8 years agoplsql: Fix readline/output async. Improve arg mode.
Joel Martin [Wed, 4 May 2016 03:29:07 +0000 (22:29 -0500)]
plsql: Fix readline/output async. Improve arg mode.

8 years agoplsql: self-hosting. Long strings, refactor io.
Joel Martin [Tue, 3 May 2016 05:28:33 +0000 (00:28 -0500)]
plsql: self-hosting. Long strings, refactor io.

8 years agoplsql: keyword/vector/hash-map. Other deferrables.
Joel Martin [Tue, 3 May 2016 04:56:48 +0000 (23:56 -0500)]
plsql: keyword/vector/hash-map. Other deferrables.

8 years agoplsql: stepA basics. Fix step6 argument processing.
Joel Martin [Fri, 29 Apr 2016 05:11:59 +0000 (00:11 -0500)]
plsql: stepA basics. Fix step6 argument processing.

8 years agoplsql: add step9 basics. Refactor arg list passing.
Joel Martin [Fri, 29 Apr 2016 03:36:24 +0000 (22:36 -0500)]
plsql: add step9 basics. Refactor arg list passing.

8 years agoplsql: refactor with memory pool. step5,7,8 basics.
Joel Martin [Thu, 7 Apr 2016 06:22:15 +0000 (01:22 -0500)]
plsql: refactor with memory pool. step5,7,8 basics.

Ran into the same problem with macroexpand that prevented TCO in
step5. Apparently objects as parameters cannot be re-assigning (or
copied and re-assigned even) in a loop. When trying to do so, the
server process crashes with a memory error.

Move away from try to allocate and pass full structures around.
Instead pass integer references into a memory pool of the objects
(nested table of mal objects) and then pass this memory pool around by
reference. Passing the memory pool around all over the place is ugly,
but it allows TCO and macroexpand to work at all and seems to have
better performance anyways.

8 years agoplsql: step6 basics. File I/O in io.sql and wrap.sh
Joel Martin [Wed, 6 Apr 2016 05:48:26 +0000 (00:48 -0500)]
plsql: step6 basics. File I/O in io.sql and wrap.sh

8 years agoplsql: step4 basics.
Joel Martin [Tue, 5 Apr 2016 06:29:14 +0000 (01:29 -0500)]
plsql: step4 basics.

8 years agoplsql: step2,3 basics.
Joel Martin [Tue, 5 Apr 2016 04:37:52 +0000 (23:37 -0500)]
plsql: step2,3 basics.

8 years agoplsql (Oracle PL/SQL): Copy plpgsql. Step0,1 basics.
Joel Martin [Fri, 1 Apr 2016 02:29:47 +0000 (21:29 -0500)]
plsql (Oracle PL/SQL): Copy plpgsql. Step0,1 basics.