Björn Lindqvist
906f796094
kernel.private: add ERROR-OUT-OF-FIXNUM-RANGE on the Factor side
2014-06-07 14:36:53 +02:00
John Benediktsson
05c35ebda3
kernel: change errors to be in kernel.private.
2014-06-04 14:33:02 -07:00
Björn Lindqvist
6627a3327b
kernel: symbolic constants for the various kernel errors
2014-06-04 23:16:40 +02:00
Doug Coleman
5a9e7cd374
classes.builtin: Add the BUILTIN: keyword which lets builtin classes show up in source files. Probably could use save-location to allow editing, but it seemed to break things.
2013-03-10 12:05:38 -07:00
Doug Coleman
3582a6c624
kernel: Add 4dup, 4drop, and 4cleave.
2012-10-22 09:47:34 -07:00
John Benediktsson
71cd7c5f81
kernel: adding "same?" which is "bi@ =".
2012-07-21 10:22:29 -07:00
Joe Groff
ed24890dce
io.backend.unix: init-signal-pipe function
...
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff
d28845a1ef
vm: reserve some more special-objects
...
Need a jit-safepoint object to deal with #332 , and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00
Joe Groff
186bf65a00
constants for special object hardcoded literals
2011-11-02 12:54:50 -07:00
Joe Groff
f8ec85fd06
kernel: higher-order effects for *keep
2011-10-14 10:45:02 -07:00
Joe Groff
8feb6c68e2
kernel: add full stack effects to unless, when, when*, unless* so they give useful stack imbalance errors
2011-08-09 10:32:12 -07:00
Joe Groff
18f3df9d4a
more help-lint
2010-03-09 21:02:43 -08:00
Joe Groff
17df15280e
generalize stack effect of while, until, and produce
2010-03-05 23:01:22 -08:00
Joe Groff
85f30987e2
spray some polymorphic stack effects on kernel, math, and sequences
2010-03-05 00:21:10 -08:00
Slava Pestov
2afd7ce244
Faster identity-hashcode primitive; fast path now opencoded by the compiler
2009-11-11 02:27:19 -06:00
Slava Pestov
064c00f78d
New identity-hashcode primitive
2009-11-10 21:18:54 -06:00
Joe Groff
6e9d369331
remove spin from core and retire it to basis/shuffle
2009-11-05 15:40:48 -06:00
Slava Pestov
e4ad642134
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
2009-11-02 04:25:54 -06:00
Joe Groff
3f15e028f7
exile roll and -roll to basis/shuffle and mark them deprecated
2009-10-30 17:11:45 -05:00
Doug Coleman
0d4b9132d7
fix a bunch of typos in docs
2009-10-21 17:40:43 -05:00
Slava Pestov
030b1b816c
Add inline declarations for various assorted methods
2009-08-17 22:32:21 -05:00
Slava Pestov
f6ff74596e
Removing slip 2slip 3slip nslip
2009-05-10 16:39:17 -05:00
Slava Pestov
ba40acda28
Merge Joe Groff's booleans vocab into kernel
2009-04-23 22:39:31 -05:00
Slava Pestov
6c0986f8b2
Add definition mixin in definitions vocab to replace hard-coded union in ui.tools.operations; add ?execute to kernel to replace dup word? [ execute ] when calls in unicode.breaks and opengl
2009-03-26 21:27:45 -05:00
Slava Pestov
356bff6424
kernel doesn't need to depend on classes.tuple.private
2009-03-23 01:18:39 -05:00
Slava Pestov
be4fb1e7d9
Move call( and execute( to core
2009-03-16 20:11:36 -05:00
Samuel Tardieu
087d931c36
Remove the tail argument from do/until/while
2009-02-18 02:41:14 +01:00
Samuel Tardieu
3c859a77bf
Simplify most
2009-02-18 01:56:54 +01:00
Slava Pestov
a550c9874c
kernel: add {bi,tri}-curry{,*,@} combinators from new_ui branch
2009-02-12 04:23:35 -06:00
Slava Pestov
7780c5d983
Fix two small typos
2009-01-27 05:05:46 -06:00
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