Commit Graph

43 Commits (f0f20708cd647949155e2a461b35ca7c3e789b19)

Author SHA1 Message Date
Slava Pestov 37b01357ec Remove unused words discovered by Samuel Tardieu 2009-06-16 16:38:39 -05:00
Doug Coleman 407377fc98 rename peek -> last and update all usages 2009-05-25 16:38:33 -05:00
Slava Pestov 964fbd0a24 Fix test failures from ratio/complex built-in removal 2009-04-30 00:38:55 -05:00
Slava Pestov fc4894fbdf Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags 2009-04-30 00:27:35 -05:00
Slava Pestov 9f4ac667dc Move some unit tests from generic to generic.math 2009-04-29 23:36:05 -05:00
Slava Pestov 99b8400e56 Documentation updates 2009-04-06 03:00:46 -05:00
Slava Pestov 4fc2182ac8 define-generic and define-simple-generic now take stack effect parameters; math-combination is a singleton instead of a tuple 2009-03-22 18:00:26 -05:00
Slava Pestov 669548e62e Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary 2009-02-02 13:43:54 -06:00
Slava Pestov e4f8448eb1 Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov a56d480aa6 Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Slava Pestov c43690a8fb Didn't pass help lint because of obsolete example 2008-11-29 00:37:46 -06:00
Slava Pestov eb8c621b6f Faster generic arithmetic on fiixnums: both-fixnums? sub-primitive performs a check if the top two stack items are both fixnums with a single conditional branch 2008-11-28 08:35:02 -06:00
Slava Pestov a4d9cdfeb3 Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov 9bf63b1613 New $quotation markup element 2008-11-16 09:03:30 -06:00
Slava Pestov ef6206d4bb Try to optimize generic dispatch to speed up + on fixnums, nth on arrays for example 2008-11-13 03:51:04 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Slava Pestov 0582f45fcb Add more class algebra opeations 2008-07-22 01:27:52 -05:00
Slava Pestov 8347710dd5 Help lint fixes 2008-07-04 02:52:27 -05:00
Slava Pestov 5a29b2e273 Class linearization 2008-05-02 02:51:38 -05:00
Doug Coleman 32814ffce5 <=> outputs +lt+ +eq+ +gt+ 2008-04-27 18:57:46 -05:00
Doug Coleman 15402ed1b4 core changes:
index* -> index-from
last-index* -> last-index-from
1 tail -> rest
1 tail-slice -> rest-slice
subset -> filter
prepose
find* -> find-from
find-last* -> find-last-from
before, after generic, < for integers
make between? work for timestamps
2008-04-25 23:12:44 -05:00
Doug Coleman bced4022e5 updating usages of cond/case 2008-04-11 12:53:22 -05:00
Slava Pestov cc2f512287 New classes.builtin vocab 2008-04-03 21:19:20 -05:00
Slava Pestov 5346e1899f Working on call-next-method, and identity-tuple 2008-04-02 21:27:49 -05:00
Slava Pestov 8fde3fb914 More inheritance debugging 2008-04-02 18:50:21 -05:00
Slava Pestov 690621ffb6 Change PREDICATE: syntax 2008-03-26 18:23:19 -05:00
Slava Pestov 8d7367674c Class algebra refactoring 2008-03-24 19:52:21 -05:00
Slava Pestov dffb45908c Fixing help failures 2008-03-20 19:56:30 -05:00
Doug Coleman 936bd26a3a update core/ to use ERROR: 2008-03-20 15:00:49 -05:00
Doug Coleman d0b348591a path+, prepend 2008-03-19 19:15:43 -05:00
Slava Pestov ec698b7f53 Parser overhaul 2008-03-16 02:43:00 -05:00
Slava Pestov 32526206f1 Help fixes 2008-03-11 19:51:58 -05:00
Slava Pestov 18d8f449b9 Remove unnecessary method tuple, move its slots to word properties 2008-03-04 22:13:30 -06:00
Slava Pestov 333bf9ce16 Clean up math combination 2008-02-14 20:27:34 -06:00
Slava Pestov e66e6d70e4 Moved dispatch to sequences.private 2008-02-11 01:19:53 -06:00
Slava Pestov 5ca99b0105 Fix 'class' in early bootstrap 2008-02-09 14:17:15 -06:00
Slava Pestov dee25cda13 New generic word implementation reduces compile time 2008-02-04 16:20:07 -06:00
Slava Pestov 1dbd54293c Clean up generic words a little bit 2008-02-03 14:19:07 -06:00
Slava Pestov d7217801c3 Documentation fixes 2007-12-11 22:36:40 -05:00
Slava Pestov cdad6df422 Fixing inference after cleanup 2007-09-27 04:50:24 -04:00
Slava Pestov 5e2c7e769d Clean up inference and fix hygiene issue with macros 2007-09-27 04:00:54 -04:00
Slava Pestov a96457cecc Initial import 2007-09-20 18:09:08 -04:00