Bootstrap fix, add a failing test for compiler regression

slava 2006-02-25 06:45:51 +00:00
parent 3cfa0db854
commit b6d7eb8923
5 changed files with 18 additions and 12 deletions

View File

@ -1,10 +1,3 @@
- "localhost" 50 <client> won't fail
- compiled gc check slows things down
- delegating generic words with a non-standard picker
- pass an integer stack pos instead of a quotation
- yield in a loop starves i/o
- factoring out the callback quotation
+ portability:
- win64 port
@ -15,6 +8,8 @@
- stream server can hang because of exception handler limitations
- better i/o scheduler
- out of memory error when printing global namespace
- yield in a loop starves i/o
- "localhost" 50 <client> won't fail
+ objective C/cocoa:
@ -57,6 +52,7 @@
- [ [ dup call ] dup call ] infer hangs
- the invalid recursion form case needs to be fixed, for inlines too
- code gc
- compiled gc check slows things down
+ misc:

View File

@ -167,6 +167,6 @@ $terpri
{ $subsection buffer>> }
{ $subsection buffer-contents }
"Writing to the buffer:"
{ $subsection buffer-extend }
{ $subsection extend-buffer }
{ $subsection ch>buffer }
{ $subsection >buffer } ;

View File

@ -5,11 +5,12 @@ HELP: define-typecheck "( class generic quot -- )"
{ $description
"Defines a generic word with the " { $link simple-combination } " and having one method on " { $snippet "class" } "."
$terpri
"Analogous to the following code:"
"This creates a definition analogous to the following code:"
{ $code
"GENERIC: generic"
"M: class generic quot ;"
}
"It checks if the top of the stack is an instance of " { $snippet "class" } ", and if so, executes the quotation. Delegation is respected."
}
{ $notes "This word is used internally to wrap low-level code that does not do type-checking in safe user-visible words." } ;

View File

@ -5,6 +5,8 @@ USE: test
USE: math
USE: kernel
USE: words
USE: arrays
USE: sequences
GENERIC: single-combination-test
@ -37,11 +39,11 @@ M: f single-combination-test-2 single-combination-test-4 ;
GENERIC: broken-generic
M: fixnum broken-generic 1.0 * broken-generic ;
M: float broken-generic neg ;
M: fixnum broken-generic 1array broken-generic ;
M: array broken-generic first neg ;
: broken-partial-eval 5 broken-generic ;
\ broken-partial-eval compile
[ -5.0 ] [ broken-partial-eval ] unit-test
[ -5 ] [ broken-partial-eval ] unit-test

View File

@ -247,3 +247,10 @@ GENERIC: void-generic
: breakage "hi" void-generic ;
[ ] [ \ breakage compile ] unit-test
[ breakage ] unit-test-fails
! regression
: test-0 dup 0 = [ drop ] [ 1- test-0 ] if ; inline
: test-1 t [ test-0 ] [ delegate dup [ test-1 ] [ drop ] if ] if ; inline
: test-2 5 test-1 ; compiled
[ f ] [ f test-2 ] unit-test