Bootstrap fix, add a failing test for compiler regression
parent
3cfa0db854
commit
b6d7eb8923
|
@ -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:
|
||||
|
||||
|
|
|
@ -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 } ;
|
||||
|
|
|
@ -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." } ;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue