Commit Graph

54 Commits (86923107db5be84f429df84fc6b0da8246ef7987)

Author SHA1 Message Date
Keita Haga 9f7c22be60 help, hints: remove syntax vocab in few examples 2010-12-04 01:25:14 +09:00
Slava Pestov 6f0375b3ba Merge branch 'doc-fixes' of git://github.com/keitahaga/factor 2010-12-01 03:02:38 -08:00
Keita Haga 3e7af33343 hints: fix two examples and formatting in docs 2010-11-30 04:53:11 +09:00
Slava Pestov f27080498d Remove bignum>float VM primitive, and use bignum/f to implement >float on bignums instead, for a slight accuracy gain. Also, bignum/f now has a more efficient post-scaling algorithm to break the circular dependency on bignum>float 2010-11-24 22:41:15 -08:00
Slava Pestov 627295f094 Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO) 2010-05-06 17:21:02 -04:00
Slava Pestov 2eda6fc6aa io.encodings: add a fast-path for ascii, utf8 and 8-bit encodings when string only contains ASCII characters 2010-04-19 01:14:00 -05:00
Slava Pestov afee6ccfcd Merge branch 'new-math-parser' of git://factorcode.org/git/factor into new-math-parser 2010-02-07 23:28:18 +13:00
Slava Pestov df55fed478 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +13:00
Slava Pestov ab428fc259 Code cleanups 2010-01-30 09:28:56 +13:00
Slava Pestov df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Joe Groff 08370a236d update hints docs to demonstrate M\ method syntax instead of old array syntax for referencing methods 2009-11-05 14:05:39 -06:00
Joe Groff 61a3e4e814 new, faster one-pass number parser 2009-11-01 01:59:12 -05:00
Joe Groff a7011fe087 use bignum/f to get accurate division of fixnums >= 2^53 on 64-bit platforms 2009-10-31 12:06:56 -05:00
Doug Coleman bd13e018dd memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Doug Coleman 1476cdb974 reverse-here -> reverse! 2009-10-28 14:40:15 -05:00
Joe Groff ad18098a4f add some math.parser hints that slightly improve number parsing performance 2009-10-26 17:48:05 -05:00
Joe Groff 5caa118e40 make first2, first3, first4 inline 2009-10-26 17:30:37 -05:00
Keith Lazuka 405e5d015b docs: change $subsection to $subsections 2009-10-02 12:15:48 -04:00
Slava Pestov c0abb9ce95 hints: fix regression with declarations 2009-09-25 18:50:08 -05:00
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