Commit Graph

62 Commits (2c67a5cd78e5dcffd7146e6fd0eb95f810a497e1)

Author SHA1 Message Date
John Benediktsson c67c147165 hints: should hint on split not split, 2013-03-27 16:21:32 -07:00
John Benediktsson 422276c3fd io.encodings: speed up ascii and utf8 stream-read-until. 2013-03-18 13:35:22 -07:00
John Benediktsson 829870ae22 hints: remove these hints for now... 2013-03-04 19:03:10 -08:00
John Benediktsson 660bed83a3 hints: prevent specialization on inline-recursive words. 2013-03-04 17:34:20 -08:00
John Benediktsson 702dcd682f hints: cleanup some hint setting. 2012-09-11 10:35:21 -07:00
John Benediktsson d14a34c854 hints: prepend should have same hints as append. 2012-07-16 11:07:13 -07:00
Doug Coleman 14dbf929ee classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Doug Coleman 96da8df16e Rename class to class-of 2011-10-24 06:47:42 -05:00
Keita Haga 7c4e2077ac help, hints: remove syntax vocab in few examples 2010-12-04 01:25:14 +09:00
Slava Pestov bdfa81eebe Merge branch 'doc-fixes' of git://github.com/keitahaga/factor 2010-12-01 03:02:38 -08:00
Keita Haga 174ed2c77d hints: fix two examples and formatting in docs 2010-11-30 04:53:11 +09:00
Slava Pestov b0b5f3ac97 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 d2d466de29 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 28a9cf79ff 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 13d64f44a2 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 29e1d268b7 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +13:00
Slava Pestov 1da446d8fc Code cleanups 2010-01-30 09:28:56 +13:00
Slava Pestov 880fb747fc Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Joe Groff 95c454ff09 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 0683045cfd new, faster one-pass number parser 2009-11-01 01:59:12 -05:00
Joe Groff aab3914453 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 b5fd809209 memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Doug Coleman 82992f6dd4 reverse-here -> reverse! 2009-10-28 14:40:15 -05:00
Joe Groff d5720a0245 add some math.parser hints that slightly improve number parsing performance 2009-10-26 17:48:05 -05:00
Joe Groff d1d45c2c32 make first2, first3, first4 inline 2009-10-26 17:30:37 -05:00
Keith Lazuka 8f79ea91ba docs: change $subsection to $subsections 2009-10-02 12:15:48 -04:00
Slava Pestov 6079711ecb hints: fix regression with declarations 2009-09-25 18:50:08 -05:00
Joe Groff 355213e172 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 61196024e7 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 11aa46f929 typo in specialize-method 2009-09-01 15:59:59 -05:00
Joe Groff c84e9cc596 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 fd21d5cafa 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 fbb9209032 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 9b4ffd65d3 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 61371713b7 Move set-last from circular.private to sequences 2009-07-28 11:51:47 -05:00
Doug Coleman 8da9d0f203 rename peek -> last and update all usages 2009-05-25 16:38:33 -05:00
Doug Coleman 43f22ec2b2 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