scheme.forth.jl.git
8 years agoAdded forth-level exception handling to repl.
Tim Vaughan [Fri, 4 Nov 2016 23:51:34 +0000 (12:51 +1300)]
Added forth-level exception handling to repl.

8 years agoAdded exception handling words.
Tim Vaughan [Thu, 3 Nov 2016 19:51:09 +0000 (08:51 +1300)]
Added exception handling words.

8 years agoImplemented read-level portion of quasiquote forms.
Tim Vaughan [Tue, 1 Nov 2016 08:56:22 +0000 (21:56 +1300)]
Implemented read-level portion of quasiquote forms.

8 years agoUpdated README.
Tim Vaughan [Tue, 1 Nov 2016 08:46:46 +0000 (21:46 +1300)]
Updated README.

8 years agoVery basic macros working.
Tim Vaughan [Tue, 1 Nov 2016 08:44:18 +0000 (21:44 +1300)]
Very basic macros working.

8 years agoImplemented (reverse list).
Tim Vaughan [Tue, 1 Nov 2016 08:38:20 +0000 (21:38 +1300)]
Implemented (reverse list).

8 years agoSimplified iterative define expansion.
Tim Vaughan [Tue, 1 Nov 2016 08:35:16 +0000 (21:35 +1300)]
Simplified iterative define expansion.

8 years agoAllowed recursive define expansion.
Tim Vaughan [Tue, 1 Nov 2016 07:55:03 +0000 (20:55 +1300)]
Allowed recursive define expansion.

8 years agoSimplified apply.
Tim Vaughan [Tue, 1 Nov 2016 07:54:36 +0000 (20:54 +1300)]
Simplified apply.

8 years agoApply now linked to procedure instead of symbol.
Tim Vaughan [Tue, 1 Nov 2016 07:54:24 +0000 (20:54 +1300)]
Apply now linked to procedure instead of symbol.

8 years agoAdded apply primitive and used it to implement append.
Tim Vaughan [Mon, 31 Oct 2016 11:59:32 +0000 (00:59 +1300)]
Added apply primitive and used it to implement append.

8 years agoAdded display primitives.
Tim Vaughan [Mon, 31 Oct 2016 10:50:23 +0000 (23:50 +1300)]
Added display primitives.

8 years agoAdded testing code back in.
Tim Vaughan [Mon, 31 Oct 2016 02:05:58 +0000 (15:05 +1300)]
Added testing code back in.

8 years agoNutting out macro issues.
Tim Vaughan [Sun, 30 Oct 2016 03:37:16 +0000 (16:37 +1300)]
Nutting out macro issues.

8 years agoFinished draft macro implementation
Tim Vaughan [Sun, 30 Oct 2016 01:12:00 +0000 (14:12 +1300)]
Finished draft macro implementation

8 years agoAdded lookup-macro and make-macro.
Tim Vaughan [Thu, 27 Oct 2016 21:25:21 +0000 (10:25 +1300)]
Added lookup-macro and make-macro.

8 years agoImplementing macros.
Tim Vaughan [Thu, 27 Oct 2016 12:59:20 +0000 (01:59 +1300)]
Implementing macros.

8 years agoAdded support for variadic compound procedures.
Tim Vaughan [Sat, 29 Oct 2016 02:09:05 +0000 (15:09 +1300)]
Added support for variadic compound procedures.

8 years agoImplemented begin. Added none object for empty returns.
Tim Vaughan [Thu, 27 Oct 2016 04:07:15 +0000 (17:07 +1300)]
Implemented begin. Added none object for empty returns.

8 years agoFixed stack hygiene bug.
Tim Vaughan [Thu, 27 Oct 2016 03:46:09 +0000 (16:46 +1300)]
Fixed stack hygiene bug.

8 years agoRefactor to allow begin.
Tim Vaughan [Thu, 27 Oct 2016 03:37:19 +0000 (16:37 +1300)]
Refactor to allow begin.

8 years agoUpdated README.
Tim Vaughan [Tue, 25 Oct 2016 04:06:08 +0000 (17:06 +1300)]
Updated README.

8 years agoAdded load primitive.
Tim Vaughan [Tue, 25 Oct 2016 04:03:54 +0000 (17:03 +1300)]
Added load primitive.

8 years agoLoad now returns result of last expression.
Tim Vaughan [Tue, 25 Oct 2016 03:57:32 +0000 (16:57 +1300)]
Load now returns result of last expression.

8 years agoImplemented load word. (Now just need scheme prim.)
Tim Vaughan [Tue, 25 Oct 2016 03:46:06 +0000 (16:46 +1300)]
Implemented load word.  (Now just need scheme prim.)

8 years agoUpdated README.
Tim Vaughan [Tue, 25 Oct 2016 00:27:08 +0000 (13:27 +1300)]
Updated README.

8 years agoMark-sweep garbage collection working.
Tim Vaughan [Tue, 25 Oct 2016 00:07:53 +0000 (13:07 +1300)]
Mark-sweep garbage collection working.

8 years agoPrimitives are now GC-safe.
Tim Vaughan [Mon, 24 Oct 2016 23:16:52 +0000 (12:16 +1300)]
Primitives are now GC-safe.

8 years agoGC working when invoked between evaluations.
Tim Vaughan [Mon, 24 Oct 2016 03:40:52 +0000 (16:40 +1300)]
GC working when invoked between evaluations.

Now need to deal with root objects on the parameter stack.

8 years agoDebugging GC.
Tim Vaughan [Sun, 23 Oct 2016 03:16:36 +0000 (16:16 +1300)]
Debugging GC.

8 years agoAdded OOM check.
Tim Vaughan [Sun, 23 Oct 2016 03:06:38 +0000 (16:06 +1300)]
Added OOM check.

8 years agoMarked compound procedure type as pairlike.
Tim Vaughan [Sun, 23 Oct 2016 02:52:34 +0000 (15:52 +1300)]
Marked compound procedure type as pairlike.

8 years agoImplemented scaffolding for mark+sweep GC.
Tim Vaughan [Sun, 23 Oct 2016 02:48:43 +0000 (15:48 +1300)]
Implemented scaffolding for mark+sweep GC.

8 years agoWorking on GC.
Tim Vaughan [Sat, 22 Oct 2016 03:43:54 +0000 (16:43 +1300)]
Working on GC.

8 years agoFixed broken realnum? procedure.
Tim Vaughan [Wed, 12 Oct 2016 10:20:57 +0000 (23:20 +1300)]
Fixed broken realnum? procedure.

8 years agoCan now read and print reals.
Tim Vaughan [Sat, 13 Aug 2016 11:42:25 +0000 (23:42 +1200)]
Can now read and print reals.

8 years agoWorking on FP arithmetic.
Tim Vaughan [Sat, 30 Jul 2016 11:55:57 +0000 (23:55 +1200)]
Working on FP arithmetic.

8 years agoWorking on exception handling.
Tim Vaughan [Mon, 25 Jul 2016 11:06:24 +0000 (23:06 +1200)]
Working on exception handling.

8 years agoFixed TCO bug.
Tim Vaughan [Mon, 25 Jul 2016 11:04:23 +0000 (23:04 +1200)]
Fixed TCO bug.

8 years agoFixed bug in apply.
Tim Vaughan [Fri, 22 Jul 2016 09:15:19 +0000 (21:15 +1200)]
Fixed bug in apply.

8 years agoAdded tail-call optimization.
Tim Vaughan [Fri, 22 Jul 2016 08:24:41 +0000 (20:24 +1200)]
Added tail-call optimization.

8 years agoImplemented compound procedure application.
Tim Vaughan [Fri, 22 Jul 2016 08:24:39 +0000 (20:24 +1200)]
Implemented compound procedure application.

8 years agoAdded define syntax for procedure generation.
Tim Vaughan [Fri, 22 Jul 2016 08:24:35 +0000 (20:24 +1200)]
Added define syntax for procedure generation.

8 years agoImplemented lambda (and λ)!
Tim Vaughan [Fri, 22 Jul 2016 08:24:28 +0000 (20:24 +1200)]
Implemented lambda (and λ)!

8 years agoFactored out application into apply.
Tim Vaughan [Fri, 22 Jul 2016 08:24:23 +0000 (20:24 +1200)]
Factored out application into apply.

8 years agoWorking on compound procedures.
Tim Vaughan [Fri, 22 Jul 2016 08:24:00 +0000 (20:24 +1200)]
Working on compound procedures.

8 years agoPrimitive fixnum relations working.
Tim Vaughan [Thu, 21 Jul 2016 10:05:12 +0000 (22:05 +1200)]
Primitive fixnum relations working.

8 years agoImplemented fixnum =.
Tim Vaughan [Thu, 21 Jul 2016 09:46:25 +0000 (21:46 +1200)]
Implemented fixnum =.

8 years agoFixed cons, set-car! and set-cdr!
Tim Vaughan [Thu, 21 Jul 2016 08:52:17 +0000 (20:52 +1200)]
Fixed cons, set-car! and set-cdr!

8 years agoAdding pair/list primitives.
Tim Vaughan [Thu, 21 Jul 2016 08:29:26 +0000 (20:29 +1200)]
Adding pair/list primitives.

8 years agoAdded more primitives.
Tim Vaughan [Thu, 21 Jul 2016 08:29:22 +0000 (20:29 +1200)]
Added more primitives.

8 years agoeatspaces now eats comments
Tim Vaughan [Thu, 21 Jul 2016 08:29:17 +0000 (20:29 +1200)]
eatspaces now eats comments

8 years agostring->number works.
Tim Vaughan [Thu, 21 Jul 2016 08:29:10 +0000 (20:29 +1200)]
string->number works.

8 years agonumber->string works.
Tim Vaughan [Thu, 21 Jul 2016 08:28:58 +0000 (20:28 +1200)]
number->string works.

8 years agoDebugging number->string
Tim Vaughan [Wed, 20 Jul 2016 18:56:12 +0000 (06:56 +1200)]
Debugging number->string

8 years agoUpdated README and added license.
Tim Vaughan [Tue, 19 Jul 2016 22:09:00 +0000 (10:09 +1200)]
Updated README and added license.

8 years agoAdded some type conversion prims.
Tim Vaughan [Tue, 19 Jul 2016 20:25:45 +0000 (08:25 +1200)]
Added some type conversion prims.

8 years agoAdded predicate primitives.
Tim Vaughan [Tue, 19 Jul 2016 20:14:06 +0000 (08:14 +1200)]
Added predicate primitives.

8 years agoAdded * and - fixnum primitives
Tim Vaughan [Tue, 19 Jul 2016 11:20:38 +0000 (23:20 +1200)]
Added * and - fixnum primitives

8 years agoFixed fixnum detection in parser.
Tim Vaughan [Tue, 19 Jul 2016 10:39:40 +0000 (22:39 +1200)]
Fixed fixnum detection in parser.

8 years agoFirst primitive procedure working!
Tim Vaughan [Tue, 19 Jul 2016 10:27:20 +0000 (22:27 +1200)]
First primitive procedure working!

8 years agoCompleted draft of primitive application.
Tim Vaughan [Tue, 19 Jul 2016 10:07:32 +0000 (22:07 +1200)]
Completed draft of primitive application.

8 years agoAdding first primitive procedure.
Tim Vaughan [Tue, 19 Jul 2016 10:00:37 +0000 (22:00 +1200)]
Adding first primitive procedure.

8 years agoTiny refactor.
Tim Vaughan [Tue, 19 Jul 2016 08:33:23 +0000 (20:33 +1200)]
Tiny refactor.

8 years agoAdded conditionals.
Tim Vaughan [Tue, 19 Jul 2016 08:35:11 +0000 (20:35 +1200)]
Added conditionals.

8 years agodef/set/lookup are working!
Tim Vaughan [Tue, 19 Jul 2016 08:34:54 +0000 (20:34 +1200)]
def/set/lookup are working!

8 years agoDebugging.
Tim Vaughan [Mon, 18 Jul 2016 02:34:37 +0000 (14:34 +1200)]
Debugging.

8 years agoTypos
Tim Vaughan [Mon, 18 Jul 2016 02:18:17 +0000 (14:18 +1200)]
Typos

8 years agoFinished full draft of set/def/lookup support.
Tim Vaughan [Mon, 18 Jul 2016 02:12:11 +0000 (14:12 +1200)]
Finished full draft of set/def/lookup support.

8 years agoFinished core environment definitions.
Tim Vaughan [Mon, 18 Jul 2016 01:36:46 +0000 (13:36 +1200)]
Finished core environment definitions.

8 years agoWorking on set!
Tim Vaughan [Sun, 17 Jul 2016 02:04:58 +0000 (14:04 +1200)]
Working on set!

8 years agoAdded variable lookup.
Tim Vaughan [Sat, 16 Jul 2016 10:42:36 +0000 (22:42 +1200)]
Added variable lookup.

8 years agoAdding environments.
Tim Vaughan [Sat, 16 Jul 2016 02:04:05 +0000 (14:04 +1200)]
Adding environments.

8 years agoRelaxed symbol parsing rules.
Tim Vaughan [Sat, 16 Jul 2016 23:45:42 +0000 (11:45 +1200)]
Relaxed symbol parsing rules.

8 years agoImplemented quote.
Tim Vaughan [Wed, 13 Jul 2016 11:13:45 +0000 (23:13 +1200)]
Implemented quote.

8 years agoStarted adding support for pre-defined symbols.
Tim Vaughan [Tue, 12 Jul 2016 12:05:46 +0000 (00:05 +1200)]
Started adding support for pre-defined symbols.

8 years agoImplemented symbols.
Tim Vaughan [Tue, 12 Jul 2016 11:34:25 +0000 (23:34 +1200)]
Implemented symbols.

8 years agoDebugging symbol table.
Tim Vaughan [Tue, 12 Jul 2016 06:10:07 +0000 (18:10 +1200)]
Debugging symbol table.

8 years agoUpdated readme.
Tim Vaughan [Mon, 11 Jul 2016 19:33:16 +0000 (07:33 +1200)]
Updated readme.

8 years agoWorking on symbol table lookup
Tim Vaughan [Mon, 11 Jul 2016 19:31:45 +0000 (07:31 +1200)]
Working on symbol table lookup

8 years agoImplementing symbols.
Tim Vaughan [Mon, 11 Jul 2016 11:43:41 +0000 (23:43 +1200)]
Implementing symbols.

8 years agoImplemented strings.
Tim Vaughan [Sun, 10 Jul 2016 05:57:02 +0000 (17:57 +1200)]
Implemented strings.

8 years agoUpdated readme.
Tim Vaughan [Sun, 10 Jul 2016 04:50:10 +0000 (16:50 +1200)]
Updated readme.

8 years agoAdded readme.
Tim Vaughan [Sun, 10 Jul 2016 04:49:17 +0000 (16:49 +1200)]
Added readme.

8 years agoFixed pair read/print.
Tim Vaughan [Sun, 10 Jul 2016 04:25:01 +0000 (16:25 +1200)]
Fixed pair read/print.

8 years agoFixing up pair read/print
Tim Vaughan [Sun, 10 Jul 2016 04:06:46 +0000 (16:06 +1200)]
Fixing up pair read/print

8 years agoAlmost have pairs in.
Tim Vaughan [Wed, 6 Jul 2016 22:25:23 +0000 (00:25 +0200)]
Almost have pairs in.

First cons cells created!

8 years agoFinished defer/is.
Tim Vaughan [Wed, 6 Jul 2016 21:44:10 +0000 (23:44 +0200)]
Finished defer/is.

8 years agoAdded defer/is to support mutual recursion.
Tim Vaughan [Tue, 5 Jul 2016 23:13:31 +0000 (01:13 +0200)]
Added defer/is to support mutual recursion.

8 years agoImplemented the empty list.
Tim Vaughan [Tue, 5 Jul 2016 21:45:36 +0000 (23:45 +0200)]
Implemented the empty list.

8 years agoCharacter parsing works.
Tim Vaughan [Tue, 5 Jul 2016 21:24:42 +0000 (23:24 +0200)]
Character parsing works.

8 years agoAlmost done with characters.
Tim Vaughan [Tue, 5 Jul 2016 06:40:49 +0000 (08:40 +0200)]
Almost done with characters.

8 years agoDraft character atom implementation.
Tim Vaughan [Mon, 4 Jul 2016 22:15:56 +0000 (00:15 +0200)]
Draft character atom implementation.

8 years agoBetter handling of booleans.
Tim Vaughan [Mon, 4 Jul 2016 22:07:15 +0000 (00:07 +0200)]
Better handling of booleans.

8 years agoImplemented parse index stack.
Tim Vaughan [Mon, 4 Jul 2016 22:01:58 +0000 (00:01 +0200)]
Implemented parse index stack.

8 years agoInput succesfully shifted to read.
Tim Vaughan [Mon, 4 Jul 2016 20:48:29 +0000 (22:48 +0200)]
Input succesfully shifted to read.

8 years agoShifting stream input into read.
Tim Vaughan [Mon, 4 Jul 2016 06:27:04 +0000 (08:27 +0200)]
Shifting stream input into read.

8 years agoSmall changes.
Tim Vaughan [Wed, 22 Jun 2016 10:22:44 +0000 (22:22 +1200)]
Small changes.

Turns out we need terminal input to be handled
directly by read.

8 years agoOutput style change.
Tim Vaughan [Wed, 22 Jun 2016 01:47:04 +0000 (13:47 +1200)]
Output style change.

8 years agoBooleans implemented.
Tim Vaughan [Tue, 21 Jun 2016 21:21:27 +0000 (09:21 +1200)]
Booleans implemented.