Factor/To do/Static stack safety

  • add SYNTAX:
  • replace define usages with define-declared
  • the effect is set at word construction time!
  • faster call( for static quotations: cache stack effect in quotation, curry, compose, together with a definition count: increment definition count when words are redefined
  • add inline cache for call(
  • execute(: its unsound with word redefinition, fix it
  • make with-datastack not use callcc
  • make call( slow case use something faster than with-datastack
  • call( and execute( should behave like call and execute if quotation or word is literal
  • stack checker should compile call( if we have : foo ( quot: ( ... ) -- ) call ;
  • remaining warnings should be reported as errors
  • errors on nth, etc should not break system
  • move call( and execute( into core
  • remove assert-depth
  • make everything in core infer (just the parser now?)

done

  • every word has a stack effect
  • assert-depth should infer
  • call of unknown quot from optimized word checks effect
(( ... )) call-with

: foo ( ... q: ( a -- b ) -- ) call ;

This revision created on Mon, 16 Mar 2009 02:57:52 by slava