fix namespace bug in meta-interpreter

cvs
Slava Pestov 2005-06-13 01:52:36 +00:00
parent b022dfd1d9
commit 68d034d7eb
3 changed files with 24 additions and 3 deletions

View File

@ -7,7 +7,6 @@
<magnus--> http://clozure.com/cgi-bin/viewcvs.cgi/ccl/lisp-kernel/lisp-exceptions.c?rev=1.9&content-type=text/vnd.viewcvs-markup <magnus--> http://clozure.com/cgi-bin/viewcvs.cgi/ccl/lisp-kernel/lisp-exceptions.c?rev=1.9&content-type=text/vnd.viewcvs-markup
<erg> if write returns -1 and errno == EINTR then it's not a real error, you can try again <erg> if write returns -1 and errno == EINTR then it's not a real error, you can try again
- single-stepper and variable access: wrong namespace?
- http keep alive, and range get - http keep alive, and range get
- sleep word - sleep word
- fix i/o on generic x86/ppc unix - fix i/o on generic x86/ppc unix

View File

@ -1,4 +1,5 @@
IN: temporary IN: temporary
USING: unparser ;
USE: vectors USE: vectors
USE: interpreter USE: interpreter
USE: test USE: test
@ -63,6 +64,26 @@ USE: sequences
[ 2 2 + ] test-interpreter [ 2 2 + ] test-interpreter
] unit-test ] unit-test
[ { 3 } ] [
[ 3 "x" set "x" get ] test-interpreter
] unit-test
[ { } ] [
[ 2 2 + . ] test-interpreter
] unit-test
[ { "hi\n" } ] [
[ [ "hi" print ] with-string ] test-interpreter
] unit-test
[ { "4\n" } ] [
[ [ 2 2 + unparse print ] with-string ] test-interpreter
] unit-test
[ { "4" } ] [
[ [ 0 2 2 + prettyprint* drop ] with-string ] test-interpreter
] unit-test
[ { "4\n" } ] [ [ { "4\n" } ] [
[ [ 2 2 + . ] with-string ] test-interpreter [ [ 2 2 + . ] with-string ] test-interpreter
] unit-test ] unit-test

View File

@ -1,8 +1,8 @@
! Copyright (C) 2004, 2005 Slava Pestov. ! Copyright (C) 2004, 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license. ! See http://factor.sf.net/license.txt for BSD license.
IN: interpreter IN: interpreter
USING: errors kernel lists math namespaces prettyprint sequences USING: errors kernel kernel-internals lists math namespaces
stdio strings vectors words ; prettyprint sequences stdio strings vectors words ;
! A Factor interpreter written in Factor. Used by compiler for ! A Factor interpreter written in Factor. Used by compiler for
! partial evaluation, also by the walker. ! partial evaluation, also by the walker.
@ -93,5 +93,6 @@ SYMBOL: meta-executing
\ call [ pop-d meta-call ] set-meta-word \ call [ pop-d meta-call ] set-meta-word
\ execute [ pop-d meta-word ] set-meta-word \ execute [ pop-d meta-word ] set-meta-word
\ ifte [ pop-d pop-d pop-d [ nip ] [ drop ] ifte meta-call ] set-meta-word \ ifte [ pop-d pop-d pop-d [ nip ] [ drop ] ifte meta-call ] set-meta-word
\ dispatch [ pop-d pop-d swap nth meta-call ] set-meta-word
\ set-meta-word forget \ set-meta-word forget