k8noscheme:mainline.git
7 years agofixed small bugs master
ketmar [Mon, 22 Feb 2010 06:29:26 +0000 (08:29 +0200)]
fixed small bugs

7 years agoremoved unneeded allocation when creating new string port
ketmar [Sat, 20 Feb 2010 21:14:24 +0000 (23:14 +0200)]
removed unneeded allocation when creating new string port

7 years agoadded hack to parse "#!optional"
ketmar [Sat, 23 Jan 2010 12:22:48 +0000 (14:22 +0200)]
added hack to parse "#!optional"

7 years agoupdated image
ketmar [Sat, 23 Jan 2010 12:13:05 +0000 (14:13 +0200)]
updated image

7 years agoheap really grows; added primitives to read and write bytes
ketmar [Sat, 23 Jan 2010 12:12:11 +0000 (14:12 +0200)]
heap really grows; added primitives to read and write bytes

7 years agopull can dynamically grow now
ketmar [Thu, 21 Jan 2010 22:32:08 +0000 (00:32 +0200)]
pull can dynamically grow now

7 years agoadded gcd and lcm
ketmar [Sun, 17 Jan 2010 14:17:21 +0000 (16:17 +0200)]
added gcd and lcm

7 years agofixed some bugs found with r4rs test
ketmar [Thu, 14 Jan 2010 12:46:11 +0000 (14:46 +0200)]
fixed some bugs found with r4rs test

  FIXME: file ports seems to be broken; WHY?

7 years agofixed stupid bug in `apply`: empty lists should be ignored!
ketmar [Thu, 14 Jan 2010 12:06:53 +0000 (14:06 +0200)]
fixed stupid bug in `apply`: empty lists should be ignored!

7 years agoadded case for "(cond (42))" as expected by r5rs programs
ketmar [Thu, 14 Jan 2010 03:17:57 +0000 (05:17 +0200)]
added case for "(cond (42))" as expected by r5rs programs

  it naturally returns 42

7 years agobootstrap updated
ketmar [Thu, 14 Jan 2010 01:53:17 +0000 (03:53 +0200)]
bootstrap updated

7 years ago`delay` and `cons-stream` not special forms anymore
ketmar [Thu, 14 Jan 2010 01:51:28 +0000 (03:51 +0200)]
`delay` and `cons-stream` not special forms anymore

  `delay` and `cons-stream` converted to simple macros

7 years ago`needs:` now knows about where some its lives
ketmar [Thu, 14 Jan 2010 01:24:38 +0000 (03:24 +0200)]
`needs:` now knows about where some its lives

  i added a simple "library" concept (fuck r6rs!)
  generator now scans known library files, which must
  have "(exports: id id ...)";
  `needs:` also looks for a file named as a symbol,
  for a file ",sym/,sym" and for a file ",sym/init"

7 years agofixed bugs in disassembler
ketmar [Wed, 13 Jan 2010 20:32:46 +0000 (22:32 +0200)]
fixed bugs in disassembler

7 years agoremoved "old compiler", as it is not usable anymore
ketmar [Wed, 13 Jan 2010 18:26:46 +0000 (20:26 +0200)]
removed "old compiler", as it is not usable anymore

7 years agoremoved two unnecessary opcodes (PUSH and POPV)
ketmar [Wed, 13 Jan 2010 18:23:43 +0000 (20:23 +0200)]
removed two unnecessary opcodes (PUSH and POPV)

7 years agonow strings are shared, so many string ops are faster
ketmar [Wed, 13 Jan 2010 03:48:36 +0000 (05:48 +0200)]
now strings are shared, so many string ops are faster

  `string-car`, `string-cdr` and `string-mid` are really cheap now,
  so i can work with string parts freely;
  `string-set!` will transparently create a copy if necessary

7 years agobigint interface unification; old bigint pkg is broken (GMP rocks anyway %-)
ketmar [Tue, 12 Jan 2010 00:38:29 +0000 (02:38 +0200)]
bigint interface unification; old bigint pkg is broken (GMP rocks anyway %-)

7 years agocode cleanup; faster and better bignum printing
ketmar [Mon, 11 Jan 2010 21:15:23 +0000 (23:15 +0200)]
code cleanup; faster and better bignum printing

7 years agoadded switch to use GMP library; zfac is lightning fast now!
ketmar [Mon, 11 Jan 2010 20:46:45 +0000 (22:46 +0200)]
added switch to use GMP library; zfac is lightning fast now!

7 years agostrings now using ordinary malloc()/free() instead of lisp pool
ketmar [Mon, 11 Jan 2010 12:33:34 +0000 (14:33 +0200)]
strings now using ordinary malloc()/free() instead of lisp pool

7 years agofixed bug in (string->symbol) (segfault with 0-length strings)
ketmar [Mon, 11 Jan 2010 09:04:12 +0000 (11:04 +0200)]
fixed bug in (string->symbol) (segfault with 0-length strings)

7 years agofixed idiotic bug in port getc/ungetc
ketmar [Mon, 11 Jan 2010 08:52:19 +0000 (10:52 +0200)]
fixed idiotic bug in port getc/ungetc

7 years agonumeric parsers are ok
ketmar [Mon, 11 Jan 2010 07:45:06 +0000 (09:45 +0200)]
numeric parsers are ok

7 years agofixed bug in math operands conversion (with floats)
ketmar [Mon, 11 Jan 2010 07:20:12 +0000 (09:20 +0200)]
fixed bug in math operands conversion (with floats)

7 years agofixed bug in "equal?" (string-eqv? --> string=?)
ketmar [Mon, 11 Jan 2010 05:45:30 +0000 (07:45 +0200)]
fixed bug in "equal?" (string-eqv? --> string=?)

7 years agofixed bug in stack dumper
ketmar [Mon, 11 Jan 2010 05:28:02 +0000 (07:28 +0200)]
fixed bug in stack dumper

7 years agofixed bug in "cond .. =>" (removed unnecessary PUSH); added some cute samples %-)
ketmar [Mon, 11 Jan 2010 05:15:07 +0000 (07:15 +0200)]
fixed bug in "cond .. =>" (removed unnecessary PUSH); added some cute samples %-)

7 years agocall/cc works again
ketmar [Mon, 11 Jan 2010 04:38:52 +0000 (06:38 +0200)]
call/cc works again

7 years agoadded macro: (needs: case in "macs/case")
ketmar [Mon, 11 Jan 2010 03:01:49 +0000 (05:01 +0200)]
added macro: (needs: case in "macs/case")

7 years agofixed error in "char-numeric?"
ketmar [Mon, 11 Jan 2010 02:42:57 +0000 (04:42 +0200)]
fixed error in "char-numeric?"

7 years agonew compiler now can recompile itself
ketmar [Mon, 11 Jan 2010 00:45:43 +0000 (02:45 +0200)]
new compiler now can recompile itself

  note: we are nearly at the speed of Chicken interpreter; it's good

7 years agowe are even faster than before; also added some char and string primitives
ketmar [Mon, 11 Jan 2010 00:34:50 +0000 (02:34 +0200)]
we are even faster than before; also added some char and string primitives

7 years agonew compiler recompiles itself! seems that new VM and new compiler are both ok.
ketmar [Sat, 9 Jan 2010 08:01:36 +0000 (10:01 +0200)]
new compiler recompiles itself! seems that new VM and new compiler are both ok.

7 years agofixed ENTD command (todo: make it faster!)
ketmar [Sat, 9 Jan 2010 07:59:13 +0000 (09:59 +0200)]
fixed ENTD command (todo: make it faster!)

7 years agofixed 'apply' (it's a "special" primitive now)
ketmar [Sat, 9 Jan 2010 07:29:57 +0000 (09:29 +0200)]
fixed 'apply' (it's a "special" primitive now)

7 years agofixed some GC error (uninitialized/unclean values)
ketmar [Sat, 9 Jan 2010 05:44:48 +0000 (07:44 +0200)]
fixed some GC error (uninitialized/unclean values)

7 years agoseems that new VM is working
ketmar [Fri, 8 Jan 2010 17:09:34 +0000 (19:09 +0200)]
seems that new VM is working

  and it is faster (but not so fast as i want it to be)

7 years agoseems that i finally can built "news" as i want
ketmar [Fri, 8 Jan 2010 15:33:26 +0000 (17:33 +0200)]
seems that i finally can built "news" as i want

7 years agofixes for "new compiler usage" in compiler/generator
ketmar [Fri, 8 Jan 2010 15:10:32 +0000 (17:10 +0200)]
fixes for "new compiler usage" in compiler/generator

7 years agochanged generator and updated bootstrap; time to merge
ketmar [Fri, 8 Jan 2010 12:03:40 +0000 (14:03 +0200)]
changed generator and updated bootstrap; time to merge

7 years agonew cool generator
ketmar [Thu, 7 Jan 2010 20:10:56 +0000 (22:10 +0200)]
new cool generator

  generator not evaluating compiled expressions, so
  one can easily load new compiler tailored for
  different VM, for example

7 years ago'#d' prefix
ketmar [Thu, 7 Jan 2010 18:03:31 +0000 (20:03 +0200)]
'#d' prefix

7 years agoadded "datum comments" (processed in parser)
ketmar [Thu, 7 Jan 2010 18:02:16 +0000 (20:02 +0200)]
added "datum comments" (processed in parser)

7 years agooptions to set vars from command line
ketmar [Thu, 7 Jan 2010 17:52:02 +0000 (19:52 +0200)]
options to set vars from command line

7 years agoadded binary, octal and hex numbers
ketmar [Thu, 7 Jan 2010 17:34:45 +0000 (19:34 +0200)]
added binary, octal and hex numbers

7 years agoadded some more sugar to class parser (class<=field to set field; class=>field to...
ketmar [Wed, 6 Jan 2010 18:14:35 +0000 (20:14 +0200)]
added some more sugar to class parser (class<=field to set field; class=>field to get field)

  TODO: got a strange segfault. O_O

7 years agomore fine macro
ketmar [Wed, 6 Jan 2010 14:52:30 +0000 (16:52 +0200)]
more fine macro

7 years agoadded more funny methods
ketmar [Wed, 6 Jan 2010 14:48:31 +0000 (16:48 +0200)]
added more funny methods

7 years agoadded simple and slow 'klasses'
ketmar [Wed, 6 Jan 2010 14:22:56 +0000 (16:22 +0200)]
added simple and slow 'klasses'

7 years agoremoved unused files; they must become a part of the test suite
ketmar [Wed, 6 Jan 2010 12:32:41 +0000 (14:32 +0200)]
removed unused files; they must become a part of the test suite

7 years agoone small renaming in API; starter now exports `*argv*` array
ketmar [Wed, 6 Jan 2010 12:29:53 +0000 (14:29 +0200)]
one small renaming in API; starter now exports `*argv*` array

7 years agoscripts changed
ketmar [Wed, 6 Jan 2010 09:58:28 +0000 (11:58 +0200)]
scripts changed

7 years agogenerator now lives in it's own dir
ketmar [Wed, 6 Jan 2010 09:56:04 +0000 (11:56 +0200)]
generator now lives in it's own dir

7 years agodo not generate memX with macro anymore
ketmar [Wed, 6 Jan 2010 09:40:44 +0000 (11:40 +0200)]
do not generate memX with macro anymore

7 years ago`mapcar` -> `map`; `mapc` -> `for-each`
ketmar [Wed, 6 Jan 2010 09:33:34 +0000 (11:33 +0200)]
`mapcar` -> `map`; `mapc` -> `for-each`

7 years agomore changes to generator; 2 new "posix:" primitives
ketmar [Wed, 6 Jan 2010 09:31:34 +0000 (11:31 +0200)]
more changes to generator; 2 new "posix:" primitives

7 years agoadded extended file searching in (load) and alot of non-working shit in generator
ketmar [Wed, 6 Jan 2010 08:50:21 +0000 (10:50 +0200)]
added extended file searching in (load) and alot of non-working shit in generator

7 years agoadded experimental thunks to allow new/old code mixing
ketmar [Wed, 6 Jan 2010 00:41:50 +0000 (02:41 +0200)]
added experimental thunks to allow new/old code mixing

7 years agonew call engine seems to work (a little)
ketmar [Wed, 6 Jan 2010 00:29:25 +0000 (02:29 +0200)]
new call engine seems to work (a little)

7 years agosome fixes for better r4rs conformance
ketmar [Tue, 5 Jan 2010 10:38:05 +0000 (12:38 +0200)]
some fixes for better r4rs conformance

7 years agobootstrap updated
ketmar [Tue, 5 Jan 2010 08:36:15 +0000 (10:36 +0200)]
bootstrap updated

7 years agoannotations now colored in dumper
ketmar [Tue, 5 Jan 2010 08:35:30 +0000 (10:35 +0200)]
annotations now colored in dumper

7 years agoannotations now on by default; generator turn 'em off for generating
ketmar [Tue, 5 Jan 2010 08:32:36 +0000 (10:32 +0200)]
annotations now on by default; generator turn 'em off for generating

7 years agonew flag: "compiler:*ANNOTATE-BYTECODE*"
ketmar [Tue, 5 Jan 2010 08:30:02 +0000 (10:30 +0200)]
new flag: "compiler:*ANNOTATE-BYTECODE*"

  added two new bytecodes and one new 'internal vector'
  compiler now can 'annotate' bytecode with expression source
  VM skips annotations, but disassembler shows 'em

7 years ago`define-syntax` now can be used when generating bootstrap image; bootstrap image...
ketmar [Tue, 5 Jan 2010 07:34:32 +0000 (09:34 +0200)]
`define-syntax` now can be used when generating bootstrap image; bootstrap image updated

7 years agofixed bug(? not sure) with quasiquotes in "hygmacro" engine; triggered at "r5rs_pitfa...
ketmar [Tue, 5 Jan 2010 06:36:47 +0000 (08:36 +0200)]
fixed bug(? not sure) with quasiquotes in "hygmacro" engine; triggered at "r5rs_pitfall.scm"

7 years agoadded some "call/cc" samples (they all works! %-)
ketmar [Tue, 5 Jan 2010 05:30:31 +0000 (07:30 +0200)]
added some "call/cc" samples (they all works! %-)

7 years agobootstrap updated
ketmar [Tue, 5 Jan 2010 05:21:09 +0000 (07:21 +0200)]
bootstrap updated

7 years agoadded non-standard but handy `recurse` primitive
ketmar [Tue, 5 Jan 2010 05:20:46 +0000 (07:20 +0200)]
added non-standard but handy `recurse` primitive

7 years agobootstrap updated
ketmar [Tue, 5 Jan 2010 05:03:05 +0000 (07:03 +0200)]
bootstrap updated

7 years agofixed broken `call/cc`
ketmar [Tue, 5 Jan 2010 05:02:27 +0000 (07:02 +0200)]
fixed broken `call/cc`

7 years agolittle changes in generator; "standard.gen" renamed to "bootstrap.gen"
ketmar [Tue, 5 Jan 2010 04:21:26 +0000 (06:21 +0200)]
little changes in generator; "standard.gen" renamed to "bootstrap.gen"

7 years agocompiler now emits special bytecodes for literals and chars; bootstrap updated
ketmar [Tue, 5 Jan 2010 03:23:56 +0000 (05:23 +0200)]
compiler now emits special bytecodes for literals and chars; bootstrap updated

7 years agobootstrap updated
ketmar [Tue, 5 Jan 2010 03:14:22 +0000 (05:14 +0200)]
bootstrap updated

7 years agoand/or now omits the last jump (it is completely unnecessary)
ketmar [Tue, 5 Jan 2010 03:13:50 +0000 (05:13 +0200)]
and/or now omits the last jump (it is completely unnecessary)

7 years agobootstrap updated
ketmar [Tue, 5 Jan 2010 03:11:53 +0000 (05:11 +0200)]
bootstrap updated

7 years agofinally, the new compiler builds itself with the new VM
ketmar [Tue, 5 Jan 2010 03:10:38 +0000 (05:10 +0200)]
finally, the new compiler builds itself with the new VM

7 years agofixed bug in (number->string) for bignums
ketmar [Mon, 4 Jan 2010 23:21:07 +0000 (01:21 +0200)]
fixed bug in (number->string) for bignums

7 years agonew compiler and VM seems to work (a little %-)
ketmar [Mon, 4 Jan 2010 23:00:49 +0000 (01:00 +0200)]
new compiler and VM seems to work (a little %-)

7 years agoIT IS BROKEN! COMPLETELY BROKEN!
ketmar [Sun, 3 Jan 2010 23:51:28 +0000 (01:51 +0200)]
IT IS BROKEN! COMPLETELY BROKEN!

7 years agocompiler now inlines primitives by default
ketmar [Sat, 2 Jan 2010 18:59:44 +0000 (20:59 +0200)]
compiler now inlines primitives by default

7 years agoadded itiotic sample for port i/o
ketmar [Fri, 1 Jan 2010 17:50:46 +0000 (19:50 +0200)]
added itiotic sample for port i/o

  peek-char and unget is NOT tested yest

7 years agoport i/o seems to work ok (bugs fixed)
ketmar [Fri, 1 Jan 2010 17:48:53 +0000 (19:48 +0200)]
port i/o seems to work ok (bugs fixed)

7 years agoadded primitives for i/o ports (untested)
ketmar [Fri, 1 Jan 2010 17:35:09 +0000 (19:35 +0200)]
added primitives for i/o ports (untested)

7 years agobootstrap updated
ketmar [Fri, 1 Jan 2010 16:08:06 +0000 (18:08 +0200)]
bootstrap updated

7 years agoadded (call-with-values)
ketmar [Fri, 1 Jan 2010 16:07:48 +0000 (18:07 +0200)]
added (call-with-values)

7 years agoadded very-very simple and not-very-standard `values` and `let-values`
ketmar [Fri, 1 Jan 2010 14:42:53 +0000 (16:42 +0200)]
added very-very simple and not-very-standard `values` and `let-values`

7 years ago`put` -> `putprop`; `get` -> `getprop`
ketmar [Fri, 1 Jan 2010 12:51:09 +0000 (14:51 +0200)]
`put` -> `putprop`; `get` -> `getprop`

7 years agoadded `reverse!` (and `nreverse` as an alias)
ketmar [Fri, 1 Jan 2010 12:48:51 +0000 (14:48 +0200)]
added `reverse!` (and `nreverse` as an alias)

7 years agoall "singleton" types now has "singleton" bit to ease GCing
ketmar [Fri, 1 Jan 2010 12:20:53 +0000 (14:20 +0200)]
all "singleton" types now has "singleton" bit to ease GCing

7 years agono more "t" -> "#t" conversion; fixed bug in gc (make it understand EOFOBJ)
ketmar [Fri, 1 Jan 2010 12:17:07 +0000 (14:17 +0200)]
no more "t" -> "#t" conversion; fixed bug in gc (make it understand EOFOBJ)

7 years agoadded UNTESTED port operations to C code; fixed compilation of `(apply fun arg ....
ketmar [Thu, 31 Dec 2009 19:19:05 +0000 (21:19 +0200)]
added UNTESTED port operations to C code; fixed compilation of `(apply fun arg ... arg)`

7 years agobootstrap updated
ketmar [Thu, 31 Dec 2009 05:39:28 +0000 (07:39 +0200)]
bootstrap updated

7 years agoadded some unused BCs with implied arguments (no gain, no need), libs, stats
ketmar [Thu, 31 Dec 2009 05:37:43 +0000 (07:37 +0200)]
added some unused BCs with implied arguments (no gain, no need), libs, stats

  compiler now generates some simple statistics
  added some more r5rs functions
  added `merge-sort` function to sort lists

7 years ago(gensym) changed a little
ketmar [Thu, 31 Dec 2009 02:31:12 +0000 (04:31 +0200)]
(gensym) changed a little

7 years agono more nil's, only '()
ketmar [Thu, 31 Dec 2009 02:24:55 +0000 (04:24 +0200)]
no more nil's, only '()

7 years agoremoved conditinals from system files
ketmar [Thu, 31 Dec 2009 02:17:38 +0000 (04:17 +0200)]
removed conditinals from system files

7 years agobootstrap image updated
ketmar [Thu, 31 Dec 2009 02:07:57 +0000 (04:07 +0200)]
bootstrap image updated

7 years agobrand new parser; faster, uses less memory and with better error detection
ketmar [Thu, 31 Dec 2009 02:07:18 +0000 (04:07 +0200)]
brand new parser; faster, uses less memory and with better error detection