Commit Graph

121 Commits (6215c38676f038d1313fe14d8058a1c9e7fb407c)

Author SHA1 Message Date
Doug Coleman 3c408342ef renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail 2009-01-29 22:19:07 -06:00
Slava Pestov 87e0110ff1 O(1) equal? and hashcode* for ranges 2009-01-28 23:33:26 -06:00
Slava Pestov 92f9338978 Smart quotes 2009-01-26 23:20:27 -06:00
Slava Pestov daf2857d7b define-inline now takes an effect parameter
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov ea4feee886 Fix typo 2008-12-09 15:10:51 -06:00
Slava Pestov 7c1c97470f tuple-class-unchanged? was bogusly returning f during bootstrap for classes without a superclass 2008-12-08 23:52:46 -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 c49cbe5d9c Fix typo in the docs 2008-12-03 04:07:36 -06:00
Slava Pestov 52c5b53e27 Refactoring usages of >r, r>, -rot, rot 2008-11-30 22:21:37 -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 3e29a31493 Residual fixes for curry/compose change 2008-11-21 05:17:20 -06:00
Slava Pestov a95bb533b5 Remove more redundant branches from tuple type predicates and generic words with methods on tuple classes 2008-11-06 09:08:17 -06:00
Slava Pestov 9160e667a7 Fix tuple>array and tuple reshaping 2008-11-06 01:10:56 -06:00
Slava Pestov cc879fa9b7 Tuple layouts are now arrays, instead of built-in types. The superclass
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov b4d3473d5e Tuple parsing didn't handle line breaks properly; if scan returns f, must throw unexpected-eof 2008-11-03 21:01:50 -06:00
Slava Pestov 94fa3929a8 Rice 2008-10-23 05:28:22 -05:00
Slava Pestov 325dbf3eef Fix regression 2008-10-20 21:07:55 -05:00
Slava Pestov ab61e5cd8c Fix performance problem 2008-10-20 05:56:13 -05:00
Slava Pestov d2dd7288b3 Fix parser bug with multi-line tuple literals 2008-10-08 23:43:37 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 78881e1368 Better error message with invalid tuple literals 2008-09-24 21:23:26 -05:00
Slava Pestov 3d790d8ac8 Memory ricing to make deploy tests pass on Mac OS X/PowerPC 2008-09-19 00:26:27 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Doug Coleman b1d26e100a use if/when/unless-empty, docs 2008-09-06 17:10:32 -05:00
Slava Pestov 32c2543571 Documentation fixes 2008-09-06 05:12:28 -05:00
Slava Pestov 57ca685e26 New tuple syntax 2008-09-05 20:39:45 -05:00
Slava Pestov 6b07c85fec Minor fixes here and there for delegation slot removal 2008-09-03 06:05:50 -05:00
Slava Pestov e1716d92b3 Remove delegation slot 2008-09-03 03:46:56 -05:00
Doug Coleman 1e8358eff5 Merge branch 'master' of git://factorcode.org/git/factor 2008-09-02 02:09:54 -05:00
Slava Pestov 110a5e5162 Change equality semantics 2008-09-02 02:02:05 -05:00
Doug Coleman bef502adfc ENABLE NEW ACCESSORS 2008-09-02 01:56:06 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 3cef7c9992 Smarter usage tracking system 2008-08-30 02:31:27 -05:00
Slava Pestov 85cdb1b767 Working on new compiled usage strategy; old one was wrong 2008-08-30 00:05:27 -05:00
Slava Pestov 74dccc7fbf Debugging compiler 2008-08-28 22:28:34 -05:00
Slava Pestov a4ac751605 Starting to remove delegation 2008-08-22 23:20:49 -05:00
Slava Pestov 2440fc1ceb Fixing remaining issues 2008-08-22 17:38:23 -05:00
Slava Pestov 86f11713e3 Fixing some more bugs 2008-08-22 03:12:15 -05:00
Slava Pestov 95657e5742 Remove some funny retain stack usage 2008-08-18 20:13:24 -05:00
Slava Pestov 8b55b53269 Re-implement reverse to fix obscure problem 2008-08-18 16:40:50 -05:00
Slava Pestov 4cb64aaeb8 Fixing unit tests for eval word being moved 2008-07-29 00:05:01 -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 d0ae6bdb8f Make array length foldable 2008-07-16 16:48:09 -05:00
Slava Pestov 817035099c Fix erg's tuple definition bugs 2008-07-13 21:06:50 -05:00
Slava Pestov 966ef323bc Expand allocations for simpler intrinsics 2008-07-13 03:53:34 -05:00
Slava Pestov 8160859c8b Fixes 2008-07-12 13:12:45 -05:00
Slava Pestov 7ca3c2a878 Various minor compiler tweaks 2008-07-12 01:08:30 -05:00
Slava Pestov 2f560ffbe0 Fix typo 2008-07-11 17:46:57 -05:00
Slava Pestov 498986fe88 Fix tuple redefinition bug 2008-07-10 02:11:49 -05:00