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