Slava Pestov
af49278d3f
Add 2tri* and 2tri@ combinators, clean up (3each), and fix failing unit test for 3map
2009-01-05 18:12:34 -06:00
Slava Pestov
b154b21aaa
Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once
2008-12-08 23:37:18 -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
e304d3c9f8
Local DCE
2008-12-04 06:02:49 -06:00
Slava Pestov
c27faa3de4
Remove 3compose: nothing in core used it, and basis code can use fry
2008-12-02 00:25:23 -06:00
Slava Pestov
6466ebaed7
Add comment explaining what's going on
2008-11-23 02:46:43 -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
d62a6c4b09
Minor core cleanup
2008-11-18 22:08:02 -06:00
Slava Pestov
1c1333fbe9
Compile not and >boolean as branchless intrinsics by having the CFG builder detect certain code patterns
2008-11-06 09:09:21 -06:00
Slava Pestov
af6b8c4e97
Merge branch 'master' into new_codegen
2008-10-20 01:59:52 -05:00
Slava Pestov
f721105993
Add 3dip
2008-10-20 01:58:17 -05:00
Slava Pestov
c54668596d
More efficient hi-tag accessor
2008-10-11 13:58:41 -05:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
ac97c1e14c
Working on removing delegation slot
2008-09-02 23:21:08 -05:00
Slava Pestov
a4ac751605
Starting to remove delegation
2008-08-22 23:20:49 -05:00
Slava Pestov
9bd8e88318
Minor improvement to xor word
2008-08-01 17:22:58 -05:00
Slava Pestov
d66f887736
Create basis vocab root
2008-07-28 22:03:13 -05:00
Slava Pestov
c6915b1023
Working on tuple slot propagation
2008-07-25 02:07:45 -05:00
Slava Pestov
53f4d365b7
'not', 'and' are no longer inline to enable compiler optimizations
2008-07-23 00:16:41 -05:00
Slava Pestov
ac2bf0b87d
Adding inline recursive declarations
2008-07-18 19:22:59 -05:00
Slava Pestov
776b245c39
Cleaning up some usages of -roll
2008-07-08 13:22:57 -05:00
Slava Pestov
f7b7001f39
BOA constructors now check types
2008-06-30 01:44:58 -05:00
Slava Pestov
b36e06d0d6
Builtinn types now use new slot accessors; tuple slot type declaration work in progress
2008-06-28 02:36:20 -05:00
Slava Pestov
685d53e264
Add gather word; faster 'implementors' using inverted index
2008-06-12 05:49:46 -05:00
Slava Pestov
4ca59470ce
Minor cleanup
2008-06-07 10:40:40 -05:00
Slava Pestov
56852d3ab8
Little cleanups
2008-05-22 15:45:30 -05:00
Slava Pestov
f9db3f8b50
Documentation updates
2008-05-11 17:42:48 -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
30b75a797a
construct-boa -> boa
...
construct-empty -> new
2008-04-13 15:06:09 -05:00
Slava Pestov
d5667fd4b1
Better hashcodes
2008-04-05 07:35:51 -05:00
Slava Pestov
9e227d394e
Remove redundant code
2008-04-04 05:09:58 -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
fa8b578370
Rewriting method dispatch to support inheritance
2008-04-02 00:28:07 -05:00
Slava Pestov
2d19b38683
Documentation fixes
2008-03-30 00:40:43 -05:00
Slava Pestov
48501f1f6e
Documentation fixes
2008-03-29 23:11:45 -05:00
Slava Pestov
c22af5c7a6
Rename 2apply to bi@
2008-03-29 20:36:58 -05:00
Slava Pestov
adb1dd14d0
Rename tuples vocab to classes.tuple for consistency
2008-03-29 03:34:48 -05:00
Slava Pestov
1f3e6fd0b7
combinators.cleave is now core
2008-03-28 23:00:20 -05:00
Slava Pestov
e1ad21a439
Working on shapes
2008-03-26 03:57:48 -05:00
Slava Pestov
dd9ace7707
Don't need version number anymore
2008-02-26 15:24:30 -06:00
Slava Pestov
98d8621ac1
First class compose, curry is now a tuple class
2008-02-11 13:50:29 -06:00
Slava Pestov
e66e6d70e4
Moved dispatch to sequences.private
2008-02-11 01:19:53 -06:00
Doug Coleman
84891e2591
pick pick -> 2over
...
minor cleanups
2008-01-11 12:02:44 -10:00
Slava Pestov
c8360f5ae5
Rename curry* to with
2008-01-09 17:36:30 -05:00
Slava Pestov
b7327b6228
Redo the profiler
2008-01-02 20:36:36 -04:00
Slava Pestov
e58cbb2cda
: spin swap rot ;
2007-12-29 11:36:20 -05:00
Slava Pestov
07a4022d62
Parser, definitions, source-files refactoring work in progress
2007-12-21 21:18:24 -05:00
Slava Pestov
fda9958ab4
Starting 0.92
2007-12-13 15:15:54 -05:00
Slava Pestov
1d8bd74d0f
new unfold word
2007-10-16 04:15:16 -04:00