Joe Groff
aeba336601
separate stack effect typing from hints. put it in a "typed" vocab, and have a TYPED: word that adds the type checking directly to the word
2009-09-02 11:45:30 -05:00
Joe Groff
cb56e95567
handle the stack effect type as a separate specialization pass, and use coercers when available
2009-09-01 23:13:08 -05:00
Joe Groff
333943188e
typo in specialize-method
2009-09-01 15:59:59 -05:00
Joe Groff
6b512e3187
make type declarations in stack effects strong and throw an error if the inputs don't match
2009-09-01 15:49:08 -05:00
Joe Groff
19b10fb85e
bring back ( x: type y: type -- ) stack effect syntax, and automatically hint words based on types in their declared effect
2009-09-01 14:39:22 -05:00
Slava Pestov
a34a3bf417
hints: HINTS: now recompiles subwords too, 15% perf improvement on reverse-complement because encoder-write is compiled with hints now
2009-08-18 19:40:54 -05:00
Slava Pestov
1cb0f3370b
math.vectors.specialization: first attempt at some call site splitting for vector ops. Specialized array types generate customized variants of all vector words, if input types are known at compile time, a call to the specialized version is inserted
2009-08-09 03:07:33 -05:00
Slava Pestov
f1683f9fcf
Move set-last from circular.private to sequences
2009-07-28 11:51:47 -05:00
Doug Coleman
407377fc98
rename peek -> last and update all usages
2009-05-25 16:38:33 -05:00
Doug Coleman
3722c0ad62
move some words to private vocabs
2009-05-25 15:35:50 -05:00
Slava Pestov
a79e3eb687
Passing an invalid parameter to 'declare' doesn't break the compiler anymore
2009-04-30 20:40:47 -05:00
Slava Pestov
3dc9fdf9db
Fleshed out new dispatch code
2009-04-24 20:43:01 -05:00
Slava Pestov
c877146531
Move method-declaration to hints
2009-04-24 16:53:30 -05:00
Slava Pestov
dea3987ca5
Silly workaround for performance regression
2009-04-22 00:44:06 -05:00
Slava Pestov
8414693142
stack-checker: trust word declarations instead of recursively checking them
2009-04-20 18:44:45 -05:00
Slava Pestov
0fda643ab1
Optimizing string>number
2009-04-11 20:30:51 -05:00
Slava Pestov
37e278ed02
Use [ ] [ ] map-reduce instead of unclip [ ] reduce
2009-04-06 17:50:54 -05:00
Slava Pestov
268abfcf2a
Remove method-specs in favor of M\
2009-04-06 02:59:59 -05:00
Slava Pestov
932d44cab8
Small speedup for code using H{ } clone and with-scope
2009-03-31 08:16:04 -05:00
Slava Pestov
caa89de401
hints: allow hints on generic words, these are propagated to each method
2009-03-26 21:25:21 -05:00
Slava Pestov
ea60f8ae93
Changing : foo ; parsing to SYNTAX: foo ;
2009-03-21 01:27:50 -05:00
Daniel Ehrenberg
2c462745f1
Redoing string streams and byte-array streams without copying
2009-02-27 00:53:05 -06:00
Slava Pestov
60a1378a0a
Faster dynamic variable lookup: 6% speedup in benchmark.fib5
...
- If type of first input of equal? is known but not second, rewrite it as swap equal? and try to inline again
- Fix hints on methods to work better
- Put hints for word and fixnum keys on at* and set-at on hashtables
2008-12-17 14:57:24 -06:00
Slava Pestov
09c6d97fea
HINTS: now supports literals; they're tested with eq?
2008-11-29 12:03:56 -06:00
Slava Pestov
bfd119e3b5
I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement
2008-11-06 00:02:44 -06:00
Slava Pestov
8779784798
Support hints on methods
2008-09-13 03:12:52 -05:00
Slava Pestov
54232f80ca
Adding identity optimization pass, tweak inlining heuristic
2008-09-12 08:18:44 -05:00
Slava Pestov
cf80dd122a
Updating code for make and fry changes
2008-09-10 22:11:40 -05:00
Doug Coleman
8a921c791c
if-empty changes
2008-09-06 19:13:59 -05:00
Doug Coleman
d308937546
fix docs
2008-09-02 16:52:58 -05:00
Slava Pestov
f5fbd94a4c
New compiled crossref implementation
2008-08-31 01:34:00 -05:00
Slava Pestov
3cef7c9992
Smarter usage tracking system
2008-08-30 02:31:27 -05:00
Slava Pestov
40e926609a
Fixing unit tests
2008-08-22 22:07:59 -05:00
Slava Pestov
2440fc1ceb
Fixing remaining issues
2008-08-22 17:38:23 -05:00
Slava Pestov
d66f887736
Create basis vocab root
2008-07-28 22:03:13 -05:00