Commit Graph

49 Commits (55bb8637044e901bde4a9d2663c52b27830ae2fe)

Author SHA1 Message Date
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Doug Coleman 181f11faa8 Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229. 2011-10-03 15:49:49 -07:00
Slava Pestov 0d6f3354ab generic: clean up unit tests a bit 2010-08-21 13:04:37 -07:00
Joe Groff 191ac353fd generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
Slava Pestov 962d039852 Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster 2009-09-21 17:42:20 -05:00
Doug Coleman 3f3d57032b Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring 2009-08-13 19:21:44 -05:00
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