jackhill/mal.git
3 years agoMerge pull request #532 from dubek/vhdl-fix-defmacro WIP-janet
Vasilij Schneidermann [Sat, 31 Oct 2020 12:54:34 +0000 (13:54 +0100)]
Merge pull request #532 from dubek/vhdl-fix-defmacro

vhdl: Fix defmacro! so it doesn't modify existing functions

3 years agoMerge pull request #535 from dubek/vimscript-fix-defmacro
Vasilij Schneidermann [Sat, 31 Oct 2020 12:53:37 +0000 (13:53 +0100)]
Merge pull request #535 from dubek/vimscript-fix-defmacro

vimscript: defmacro! doesn't modify existing functions

3 years agoMerge pull request #538 from dubek/ts-fixes
Vasilij Schneidermann [Sat, 31 Oct 2020 12:52:54 +0000 (13:52 +0100)]
Merge pull request #538 from dubek/ts-fixes

typescript: Upgrade to 4.0.3 + soft-failure fixes

3 years agoMerge pull request #537 from dubek/tcl-soft-fixes
Vasilij Schneidermann [Sat, 31 Oct 2020 12:52:21 +0000 (13:52 +0100)]
Merge pull request #537 from dubek/tcl-soft-fixes

tcl: Soft failure fixes

3 years agots: defmacro! doesn't modify existing functions
Dov Murik [Mon, 26 Oct 2020 18:32:48 +0000 (20:32 +0200)]
ts: defmacro! doesn't modify existing functions

3 years agots: Fix (keyword) of keywords
Dov Murik [Mon, 26 Oct 2020 18:23:45 +0000 (20:23 +0200)]
ts: Fix (keyword) of keywords

3 years agots: Upgrade to TypeScript 4.0.3
Dov Murik [Mon, 26 Oct 2020 18:18:03 +0000 (20:18 +0200)]
ts: Upgrade to TypeScript 4.0.3

This required one code change in the name of the encoding passed to
`fs.readFileSync`.

3 years agotcl: defmacro! doesn't modify existing functions
Dov Murik [Wed, 30 Sep 2020 17:50:29 +0000 (20:50 +0300)]
tcl: defmacro! doesn't modify existing functions

3 years agotcl: Fix (keyword) of keywords
Dov Murik [Wed, 30 Sep 2020 17:59:05 +0000 (20:59 +0300)]
tcl: Fix (keyword) of keywords

3 years agovhdl: defmacro! doesn't modify existing functions
Dov Murik [Wed, 30 Sep 2020 17:28:12 +0000 (20:28 +0300)]
vhdl: defmacro! doesn't modify existing functions

3 years agovimscript: defmacro! doesn't modify existing functions
Dov Murik [Wed, 30 Sep 2020 14:53:48 +0000 (17:53 +0300)]
vimscript: defmacro! doesn't modify existing functions

3 years agoMerge pull request #530 from mpritham/master
Vasilij Schneidermann [Wed, 9 Sep 2020 06:05:43 +0000 (08:05 +0200)]
Merge pull request #530 from mpritham/master

Fix typos in step 7 - quoting

3 years agoFix 2 additional typos
Pritham Marupaka [Tue, 8 Sep 2020 23:27:45 +0000 (19:27 -0400)]
Fix 2 additional typos

3 years agoFix typo in step 7.
Pritham Marupaka [Mon, 7 Sep 2020 19:14:29 +0000 (15:14 -0400)]
Fix typo in step 7.

3 years agoMerge pull request #529 from harryvederci/patch-2
Vasilij Schneidermann [Mon, 7 Sep 2020 09:37:25 +0000 (11:37 +0200)]
Merge pull request #529 from harryvederci/patch-2

Fix path to common lisp readme.

3 years agoFix path to common lisp readme.
Harry Prins [Thu, 3 Sep 2020 18:44:13 +0000 (19:44 +0100)]
Fix path to common lisp readme.

3 years agoMerge pull request #401 from asarhaddon/quasiquote
Joel Martin [Tue, 11 Aug 2020 17:06:58 +0000 (12:06 -0500)]
Merge pull request #401 from asarhaddon/quasiquote

New soft tests, quasiquote algorithm described at  #103 on some impls.

3 years agoChange quasiquote algorithm
Nicolas Boulenguez [Tue, 21 Jul 2020 16:01:48 +0000 (18:01 +0200)]
Change quasiquote algorithm

- Add a `vec` built-in function in step7 so that `quasiquote` does not
  require `apply` from step9.
- Introduce quasiquoteexpand special in order to help debugging step7.
  This may also prepare newcomers to understand step8.
- Add soft tests.
- Do not quote numbers, strings and so on.

Should ideally have been in separate commits:
- elisp: simplify and fix (keyword :k)
- factor: fix copy/paste error in let*/step7, simplify eval-ast.
- guile: improve list/vector types
- haskell: revert evaluation during quasiquote
- logo, make: cosmetic issues

3 years agoada.2: typo
Nicolas Boulenguez [Tue, 21 Jul 2020 16:34:36 +0000 (18:34 +0200)]
ada.2: typo

3 years agoFix (keyword :k) on erlang and fsharp
Nicolas Boulenguez [Tue, 21 Jul 2020 15:57:41 +0000 (17:57 +0200)]
Fix (keyword :k) on erlang and fsharp

3 years agoImprove answer to exercises
Nicolas Boulenguez [Sun, 5 Jul 2020 20:17:23 +0000 (22:17 +0200)]
Improve answer to exercises

The identity function is not used in the answers.
Sort list, prn, hash-map by increasing difficulty.
Fix indentation consistency in concat.
Avoid using the same identifier twice.
In do3, make explicit that acc is not used.
In _quasiquote_iter, call the tested quasiquote2 instead of the original quasiquote.
In the quoting section, add foldr_pairs to hide recursions.
The compose function is not used in the answers.

3 years agoAdd link to glisp project.
Joel Martin [Tue, 16 Jun 2020 19:24:41 +0000 (14:24 -0500)]
Add link to glisp project.

Self-bootstrapping graphic design tool on Lisp (a TypeScript mal
implementation)

3 years agoMerge pull request #519 from dubek/fix-ruby-keyword
Joel Martin [Mon, 15 Jun 2020 17:43:22 +0000 (12:43 -0500)]
Merge pull request #519 from dubek/fix-ruby-keyword

ruby: (keyword :abc) should just return same keyword

3 years agoMerge pull request #518 from oilshell/dev/andy
Joel Martin [Mon, 15 Jun 2020 17:28:33 +0000 (12:28 -0500)]
Merge pull request #518 from oilshell/dev/andy

impls/bash: Minor changes to make it run under OSH

3 years agoruby: (keyword :abc) should just return same keyword
Dov Murik [Sun, 14 Jun 2020 20:02:13 +0000 (23:02 +0300)]
ruby: (keyword :abc) should just return same keyword

3 years agoimpls/bash: Minor changes to make it run under OSH
Andy Chu [Sat, 13 Jun 2020 17:57:13 +0000 (10:57 -0700)]
impls/bash: Minor changes to make it run under OSH

OSH is a bash-compatible shell: https://www.oilshell.org/

reader.sh:

- Put the constant regex pattern in a string literal.  This simplifies
  it by removing mixed regex vs. shell quoting, and implicit
  concatenation with $'\n'.

  This is suggested by the bash manual:
  https://www.gnu.org/software/bash/manual/bash.html#Conditional-Constructs

  "Storing the regular expression in a shell variable is often a useful
  way to avoid problems with quoting characters that are special to the
  shell."

- Initialize __reader_tokens as an array, not a string.

  https://www.oilshell.org/release/0.8.pre6/doc/known-differences.html#values-are-tagged-with-types-not-cells

env.sh:

Simplify quoting in 'eval' expressions.  This quotes associative array keys,
which is required by OSH to avoid dynamic parsing.

  https://www.oilshell.org/release/0.8.pre6/doc/known-differences.html#strings-vs-bare-words-in-array-indices
  http://www.oilshell.org/blog/2016/10/20.html

core.sh:

Quote associative array keys.  '<' and '>' are shell operators and OSH doesn't
have a special case when inside [].

----

With this change, OSH can run tests just like bash, e.g.:

$ osh impls/bash/stepA_mal.sh tests/step4_if_fn_do.mal

----

Test results are the same before and after this change:

$ NO_DOCKER=1 ./.travis_test.sh test bash

FAILURES:
SOFT FAILED TEST (line 295): (f (+ 1 1)) -> ['',true]:
    Expected : '.*\ntrue'
    Got      : '(f (+ 1 1))\nfalse'

TEST RESULTS (for ../tests/stepA_mal.mal):
    1: soft failing tests
    0: failing tests
  106: passing tests
  107: total tests

3 years agoRemove "conj" from step9_try image.
Joel Martin [Wed, 3 Jun 2020 17:46:34 +0000 (12:46 -0500)]
Remove "conj" from step9_try image.

It was already removed from the gliffy source but the export hadn't
been updated.

3 years agoruntest-old.py: remove unused backup version
Joel Martin [Tue, 11 Feb 2020 16:30:28 +0000 (10:30 -0600)]
runtest-old.py: remove unused backup version

3 years agoMerge pull request #497 from alimpfard/xslt
Joel Martin [Mon, 1 Jun 2020 19:27:47 +0000 (14:27 -0500)]
Merge pull request #497 from alimpfard/xslt

XSLT impl

3 years agoREADME: Add XSLT and bump up counters
AnotherTest [Mon, 1 Jun 2020 17:30:24 +0000 (22:00 +0430)]
README: Add XSLT and bump up counters

3 years agoXSLT: Use blocking reads instead of a polling thread
AnotherTest [Sat, 30 May 2020 18:40:10 +0000 (23:10 +0430)]
XSLT: Use blocking reads instead of a polling thread

3 years agoMerge pull request #515 from bjh21/bjh21-runtest-timeout
Joel Martin [Mon, 1 Jun 2020 16:11:48 +0000 (11:11 -0500)]
Merge pull request #515 from bjh21/bjh21-runtest-timeout

runtest: Treat test timeouts as fatal

3 years agoruntest: Treat test timeouts as fatal
Ben Harris [Mon, 1 Jun 2020 14:08:10 +0000 (15:08 +0100)]
runtest: Treat test timeouts as fatal

If a test times out, that means it hasn't returned a prompt within
reasonable time.  Continuing to type at it is unlikely to be helpful,
since the lack of a prompt indicates that the subprocess has hung, so
subsequent tests are likely to time out as well.

This is particularly annoying in step 5, where the line that usually
times out, "(def! res2 (sum2 10000 0))" has its output ignored, so a
timeout is treated as success, meaning that runtest proceeds to the next
test, which of course also times out.

3 years agoXSLT impl: Limit jvm memory to 2GB
AnotherTest [Tue, 26 May 2020 21:48:52 +0000 (02:18 +0430)]
XSLT impl: Limit jvm memory to 2GB

3 years agoBreak some lines to make the code more readable
AnotherTest [Sat, 23 May 2020 21:55:07 +0000 (02:25 +0430)]
Break some lines to make the code more readable

3 years agoonly print last result if in repl
AnotherTest [Sat, 29 Feb 2020 19:21:07 +0000 (22:51 +0330)]
only print last result if in repl

3 years agono more infinite boot times!
AnotherTest [Sat, 29 Feb 2020 19:16:25 +0000 (22:46 +0330)]
no more infinite boot times!

move the repl inside XSLT itself, as a result, we'll exit the repl
after 100000000 iterations, but...that's probably enough for a lot
of things

3 years agoattempt to speed execution up
AnotherTest [Sat, 29 Feb 2020 14:30:00 +0000 (18:00 +0330)]
attempt to speed execution up

by booting up multiple instancees of saxon, waiting for a signal
This doesn't really help much, since most of our tests are very small
however, it does lower the overall boot time (assuming travis can do
real concurrency)

3 years ago...add default target back :facepalm:
AnotherTest [Sat, 29 Feb 2020 05:12:25 +0000 (08:42 +0330)]
...add default target back :facepalm:

I'm sorry, travis....

3 years agomakefile tweak to avoid failure~
AnotherTest [Sat, 29 Feb 2020 04:24:22 +0000 (07:54 +0330)]
makefile tweak to avoid failure~

3 years agoeliminate unnecessary env serialisations
AnotherTest [Sat, 29 Feb 2020 04:22:24 +0000 (07:52 +0330)]
eliminate unnecessary env serialisations

gains about 40% performance (on average?)

3 years agoformat all xslt files
AnotherTest [Sat, 29 Feb 2020 03:15:29 +0000 (06:45 +0330)]
format all xslt files

3 years agoremove irrelevant comment
AnotherTest [Fri, 28 Feb 2020 23:31:19 +0000 (03:01 +0330)]
remove irrelevant comment

3 years agowe can now self-host :tada:
AnotherTest [Fri, 28 Feb 2020 23:27:39 +0000 (02:57 +0330)]
we can now self-host :tada:

3 years agotry to avoid spammy "No such file or directory" errors
AnotherTest [Thu, 27 Feb 2020 19:39:43 +0000 (23:09 +0330)]
try to avoid spammy "No such file or directory" errors

it doesn't happen on my machine, not sure why it does that

3 years agowe can now self-host...almost
AnotherTest [Thu, 27 Feb 2020 17:24:57 +0000 (20:54 +0330)]
we can now self-host...almost

Atoms still need some ironing out, something is not updating them
properly
Also unknown is an issue where `def!` is not updating the env, probably
related to the above problem

3 years agoapply @kanaka's patch to Dockerfile
AnotherTest [Thu, 27 Feb 2020 03:32:54 +0000 (07:02 +0330)]
apply @kanaka's patch to Dockerfile

3 years agoadd xslt to build matrix :facepalm:
AnotherTest [Tue, 25 Feb 2020 20:18:59 +0000 (23:48 +0330)]
add xslt to build matrix :facepalm:

3 years agoMerge pull request #514 from alimpfard/jq-fix
Joel Martin [Sat, 30 May 2020 01:53:22 +0000 (20:53 -0500)]
Merge pull request #514 from alimpfard/jq-fix

Jq: Fix our share of #513

3 years agoJq: Fix our share of #513
AnotherTest [Sat, 30 May 2020 01:27:37 +0000 (05:57 +0430)]
Jq: Fix our share of #513

3 years agoMerge pull request #512 from bjh21/bjh21-step2-empties
Joel Martin [Fri, 29 May 2020 18:34:30 +0000 (13:34 -0500)]
Merge pull request #512 from bjh21/bjh21-step2-empties

Step 2: Test empty vectors and hash-maps

3 years agoyorick: Fix evaluation of empty vectors in steps 2 and 3
Ben Harris [Fri, 29 May 2020 08:57:33 +0000 (09:57 +0100)]
yorick: Fix evaluation of empty vectors in steps 2 and 3

This is achieved simply by propagating the code to detect empty vectors
(and lists, though I suspect that is unused) back from step 4 to the
earlier steps.

3 years agoStep 2: Test empty vectors and hash-maps
Ben Harris [Thu, 28 May 2020 10:28:38 +0000 (11:28 +0100)]
Step 2: Test empty vectors and hash-maps

An empty vector or hash-map should evaluate to itself, but I reached
the test of (empty? []) in step 4 before I discovered that I'd got []
evaluating to 0.  Add tests for both cases to step 2.

3 years agoadd a dockerfile with saxon in it
AnotherTest [Tue, 25 Feb 2020 20:05:20 +0000 (23:35 +0330)]
add a dockerfile with saxon in it

3 years agobe more spec-compatible with readline
AnotherTest [Tue, 25 Feb 2020 19:57:34 +0000 (23:27 +0330)]
be more spec-compatible with readline

3 years agoadd 'xpath-eval', and fix most running issues
AnotherTest [Thu, 20 Feb 2020 22:50:52 +0000 (02:20 +0330)]
add 'xpath-eval', and fix most running issues

- step7 still has the replEnv-values-are-not-captured issue

3 years agofix (fn? +) ;=> false
AnotherTest [Thu, 20 Feb 2020 21:17:22 +0000 (00:47 +0330)]
fix (fn? +) ;=> false

3 years agooops.
AnotherTest [Thu, 20 Feb 2020 21:00:48 +0000 (00:30 +0330)]
oops.

3 years agorebase to kanaka/mal
AnotherTest [Thu, 20 Feb 2020 20:59:17 +0000 (00:29 +0330)]
rebase to kanaka/mal

3 years agogenerate perf analysis
AnotherTest [Thu, 20 Feb 2020 20:54:32 +0000 (00:24 +0330)]
generate perf analysis

3 years agofix previous env issue
AnotherTest [Thu, 20 Feb 2020 18:48:09 +0000 (22:18 +0330)]
fix previous env issue

perf tests run, still can't self-host

3 years agoimpl everything, passes tests, has some weird bug with eval
AnotherTest [Thu, 20 Feb 2020 00:51:36 +0000 (04:21 +0330)]
impl everything, passes tests, has some weird bug with eval

- investigate the case where (eval ...) loses the entire env

3 years agoImplement step9 fully. pass all tests~
AnotherTest [Wed, 19 Feb 2020 21:36:45 +0000 (01:06 +0330)]
Implement step9 fully. pass all tests~

3 years agoFinish step8
AnotherTest [Wed, 19 Feb 2020 18:06:55 +0000 (21:36 +0330)]
Finish step8

Issue: yanking out the replEnv from closures has an adverse effect in
that symbols meant to be captured from it will not be captured
We could get around this by copying all the used symbols, but
find-all-lexically-bound-symbols is quite complex

3 years agofix in-file step name
AnotherTest [Wed, 19 Feb 2020 11:35:13 +0000 (15:05 +0330)]
fix in-file step name

3 years agoimplement step7-quote
AnotherTest [Wed, 19 Feb 2020 11:33:59 +0000 (15:03 +0330)]
implement step7-quote

3 years agoremove debug function
AnotherTest [Wed, 19 Feb 2020 10:32:28 +0000 (14:02 +0330)]
remove debug function

3 years agoimpl step6
AnotherTest [Wed, 19 Feb 2020 10:29:00 +0000 (13:59 +0330)]
impl step6

separate replEnv from function environments, so as to decrease base size
(state size is still O(2^n))

3 years agoimpl step4, fix string parsing
AnotherTest [Wed, 12 Feb 2020 21:02:32 +0000 (00:32 +0330)]
impl step4, fix string parsing

3 years agoprint functions as #<fn name>
AnotherTest [Mon, 10 Feb 2020 20:18:32 +0000 (23:48 +0330)]
print functions as #<fn name>

3 years agoimpl step3 fully. passes all tests
AnotherTest [Sun, 9 Feb 2020 21:48:20 +0000 (01:18 +0330)]
impl step3 fully. passes all tests

3 years agohandle vectors and hashmaps
AnotherTest [Sun, 9 Feb 2020 18:10:59 +0000 (21:40 +0330)]
handle vectors and hashmaps

3 years agoimpl step2, remove interleaved calls in READ/EVAL/PRINT
AnotherTest [Sun, 9 Feb 2020 18:07:11 +0000 (21:37 +0330)]
impl step2, remove interleaved calls in READ/EVAL/PRINT

3 years agostart step2-eval
AnotherTest [Sat, 8 Feb 2020 11:52:05 +0000 (15:22 +0330)]
start step2-eval

3 years agopass all step1 tests
AnotherTest [Sat, 8 Feb 2020 08:01:19 +0000 (11:31 +0330)]
pass all step1 tests

3 years agoadd reader macros
AnotherTest [Fri, 7 Feb 2020 23:44:40 +0000 (03:14 +0330)]
add reader macros

3 years agocomplete required functionality for step1
AnotherTest [Fri, 7 Feb 2020 20:36:01 +0000 (00:06 +0330)]
complete required functionality for step1

3 years agostarting xslt impl
AnotherTest [Fri, 7 Feb 2020 20:28:36 +0000 (23:58 +0330)]
starting xslt impl

3 years agoMerge pull request #510 from bjh21/bjh21-runtest-simpler
Joel Martin [Sat, 23 May 2020 16:39:13 +0000 (11:39 -0500)]
Merge pull request #510 from bjh21/bjh21-runtest-simpler

Simplify runtest.py's input handling

3 years agoruntest: Strip CR on input
Ben Harris [Sat, 23 May 2020 10:02:18 +0000 (11:02 +0100)]
runtest: Strip CR on input

Implementations don't generally deliberately emit CR, so any CR we see
was introduced either by the host language runtime or the OS terminal
driver, neither of which we're trying to test.

3 years agoruntest: Don't worry about how implementation echoes input
Ben Harris [Sat, 23 May 2020 09:58:57 +0000 (10:58 +0100)]
runtest: Don't worry about how implementation echoes input

Some of the complexity of runtest is in the way that it insists on
checking whether the implementation managed to echo its input line
correctly.  This isn't really an important part of the implementation,
though, and when using friendly line-editing libraries the echoing can
often end up containing escape sequences.  Simplify things by just
assuming that anything up to the first newline is our input being echoed
back.

This also means that various pre-processing of input is no longer
required.

3 years agoMerge pull request #506 from gabrielmadruga/master
Joel Martin [Thu, 21 May 2020 23:39:49 +0000 (18:39 -0500)]
Merge pull request #506 from gabrielmadruga/master

Update and fixes for the lua implementation.

3 years agoMerge pull request #508 from bjh21/bjh21-throwtests
Joel Martin [Thu, 21 May 2020 23:07:15 +0000 (18:07 -0500)]
Merge pull request #508 from bjh21/bjh21-throwtests

Add tests for nested exception handlers

3 years agoMerge pull request #509 from bjh21/bjh21-ps-catch
Joel Martin [Thu, 21 May 2020 23:05:03 +0000 (18:05 -0500)]
Merge pull request #509 from bjh21/bjh21-ps-catch

ps: Fix handling of exceptions thrown from `catch*` clause

3 years agops: Fix handling of exceptions thrown from catch* clause
Ben Harris [Thu, 21 May 2020 19:50:42 +0000 (20:50 +0100)]
ps: Fix handling of exceptions thrown from catch* clause

PostScript's exception handling doesn't restore the dictionary or
operand stacks to the state they were in when the "stopped" operator
started, so mal's EVAL needs to do that itself.  To do this, it records
the current height of the stacks, but of course it does that in a
dictionary.  This means that when catching at exception, it relies on
the highest instance of "dictcnt" on the dictionary stack being the
correct one.  EVAL, however, was failing to restore the dictionary stack
at the right time.

For instance, conside this code (from the tests):

  (try* (try* (throw "e1") (catch* e (throw "e2"))) (catch* e "c2"))

Each "try*" clause saves "dictcnt" into a dictionary on the dictionary
stack.  When the inner "catch*" clause fires, it pops the dictionary and
operand stacks to the correct point, but then calls the second "throw"
with the wrong value of "dictcnt" still visible.  The result is that the
"catch*" clause ends up running with the wrong value of "dictcnt" and
restoring the stacks to the wrong place, essentially executing the
_inner_ "catch*" clause again, whereupon the error doesn't get caught
because there's no "stopped" left on the PostScript execution stack.

The fix is to add another dictionary that's just used to hold "dictcnt"
and "stackcnt", and to pop that from the dictionary stack as soon as the
stacks have been restored (or when it becomes unnecessary because the
"try*" clause has returned normally).

3 years agoAdd tests for nested exception handlers
Ben Harris [Tue, 19 May 2020 09:28:21 +0000 (10:28 +0100)]
Add tests for nested exception handlers

When implementing exceptions on top of longjmp() or similar, it's
necessary to make sure that exception handlers get properly restored
after the try* clause, and none of the existing step 9 tests covered
this.

There are two cases covered here: throwing an exception after a
successful try*, and throwing and exception from within a catch*.  In
both cases we make sure that an outer catch* does its job.

3 years agoChange os.clock multiplier, update Dockerfile to use lua 5.3.5.5
Gabriel M [Sun, 17 May 2020 17:23:54 +0000 (14:23 -0300)]
Change os.clock multiplier, update Dockerfile to use lua 5.3.5.5

3 years agoMerge pull request #505 from bjh21/bjh21-test-readatom
Joel Martin [Sat, 16 May 2020 22:52:52 +0000 (17:52 -0500)]
Merge pull request #505 from bjh21/bjh21-test-readatom

Step 6: Test read-string of a single atom at the end of input

3 years agoUpdate README.md
Gabriel M [Sat, 16 May 2020 02:33:26 +0000 (23:33 -0300)]
Update README.md

3 years agoChange \177 to \u{029e}, correctly define keyword, change loadstring to load
Gabriel M [Sat, 16 May 2020 02:09:09 +0000 (23:09 -0300)]
Change \177 to \u{029e}, correctly define keyword, change loadstring to load

3 years agoAdd lrexlib-pcre through luarocks.
Gabriel M [Fri, 15 May 2020 19:05:10 +0000 (16:05 -0300)]
Add lrexlib-pcre through luarocks.

3 years agoRemove usage of socket
Gabriel M [Fri, 15 May 2020 19:05:57 +0000 (16:05 -0300)]
Remove usage of socket

3 years agoLua Makefile improvements.
Gabriel M [Fri, 15 May 2020 17:32:55 +0000 (14:32 -0300)]
Lua Makefile improvements.
Clean lib folder, and find linenoise.so.

3 years agoStep 6: Test read-string of a single atom at the end of input
Ben Harris [Sun, 10 May 2020 13:23:40 +0000 (14:23 +0100)]
Step 6: Test read-string of a single atom at the end of input

All of the other read-string tests test forms whose end can be detected
before the end of the input string, either because they're naturally
self-terminating (lists, strings) or because there's white space after
them.  All of the uses of the reader from the REPL are similarly likely
to have input with a newline or similar at the end.

My BCPL implementation turned out to read one character past the end of
the input when the input ended inside an atom, and to incorporate that
one byte into the output.  The consequences of a buffer over-read are a
little unpredictable, so I've just written a test that was good enough
to catch the bug for me.

4 years agoMerge pull request #502 from maniaphobic/master
Joel Martin [Mon, 30 Mar 2020 19:22:53 +0000 (14:22 -0500)]
Merge pull request #502 from maniaphobic/master

Correct a trivial typographical error in the guide

4 years agoCorrect a trivial typographical error in the guide
mANIApHOBIC [Sun, 29 Mar 2020 03:01:46 +0000 (20:01 -0700)]
Correct a trivial typographical error in the guide

I corrected "you implementation" to "your implementation".

4 years agoRevert accidentally pushed close_fds experiment
Joel Martin [Tue, 11 Feb 2020 16:02:53 +0000 (10:02 -0600)]
Revert accidentally pushed close_fds experiment

4 years agoMove implementations into impls/ dir
Joel Martin [Tue, 11 Feb 2020 05:50:16 +0000 (23:50 -0600)]
Move implementations into impls/ dir

- Reorder README to have implementation list after "learning tool"
  bullet.

- This also moves tests/ and libs/ into impls. It would be preferrable
  to have these directories at the top level.  However, this causes
  difficulties with the wasm implementations which need pre-open
  directories and have trouble with paths starting with "../../". So
  in lieu of that, symlink those directories to the top-level.

- Move the run_argv_test.sh script into the tests directory for
  general hygiene.

4 years agoDEBUG re-enable (REMOVE ME).
Joel Martin [Thu, 23 Jan 2020 16:44:19 +0000 (10:44 -0600)]
DEBUG re-enable (REMOVE ME).

4 years agoDISABLE FDs (REMOVE ME).
Joel Martin [Thu, 23 Jan 2020 16:12:37 +0000 (10:12 -0600)]
DISABLE FDs (REMOVE ME).