Joe Groff
48007aaefa
Merge branch 'struct-classes' of git://factorcode.org/git/factor
2009-08-17 21:26:19 -05:00
Doug Coleman
25b8cbd16b
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-17 20:47:40 -05:00
Doug Coleman
3b6d622bb9
fix multiline docs
2009-08-17 20:47:27 -05:00
Slava Pestov
c0b4f6124c
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-17 20:12:33 -05:00
Slava Pestov
27f4e8449f
rpn: new demo, simple RPN calculator that doesn't use Factor's evaluator reflectively
2009-08-17 20:12:05 -05:00
Doug Coleman
325dbcb55a
Merge git://github.com/mncharity/factor into mncharity
2009-08-17 19:00:41 -05:00
Doug Coleman
45c0ef9a51
trivial factoring
2009-08-17 18:59:03 -05:00
Mitchell N Charity
ea44aebfc5
multiline: add HEREDOC: , slightly refactoring privates
2009-08-17 17:05:14 -04:00
Slava Pestov
a742145fd9
compiler.tree.modular-arithmetic: >fixnum elimination and value info annotations were too aggressive
2009-08-17 01:20:25 -05:00
Slava Pestov
aeb33f5f15
compiler.tree.modular-arithmetic: stronger optimization handles > 1 usages case as well as values defined and used in loops. Eliminates 5 out of 8 >fixnum calls in benchmark.yuv-to-rgb
2009-08-15 18:42:41 -05:00
Daniel Ehrenberg
d93f6ed1f3
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-14 20:11:54 -05:00
Daniel Ehrenberg
595e3b96cd
Improving write barrier elimination; change to compiler.cfg.utilities to support this
2009-08-14 19:41:41 -05:00
Doug Coleman
7c3824639e
move if-zero etc to math, remove 1-/1+ from math
2009-08-14 14:27:23 -05:00
Joe Groff
4033e46800
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-14 10:55:05 -04:00
Daniel Ehrenberg
54389b5e5c
Write barriers are hoisted out of loops when their target is slot-available
2009-08-13 20:26:44 -05:00
Doug Coleman
9f1030030d
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/calendar/calendar.factor
2009-08-13 19:40:02 -05:00
Doug Coleman
d1ce837569
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
Daniel Ehrenberg
25fad6550f
Global write barrier elimination tracks newly allocated objects
2009-08-13 15:18:47 -05:00
Joe Groff
9710952ed6
make direct-*-arrays prettyprint
2009-08-13 12:05:46 -04:00
Doug Coleman
2f18c2a52b
remove duplicate defintion of unless-zero from calendar
2009-08-13 00:48:50 -05:00
Daniel Ehrenberg
3aa4682301
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-12 23:56:05 -05:00
Daniel Ehrenberg
f80416b40e
Fixing write-barrier elimination; adding bb as a parameter to join-sets in dataflow analysis
2009-08-12 23:52:29 -05:00
Joe Groff
69b32a428b
fix boa undo to work with structs
2009-08-12 16:09:25 -04:00
Joe Groff
0582e5c3de
S{ } syntax for structs
2009-08-12 15:59:33 -04:00
Joe Groff
e19d8b2e8a
pprint structs with tuple syntax
2009-08-12 13:16:43 -04:00
Slava Pestov
12880cef55
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-12 03:26:13 -05:00
Slava Pestov
6f2170eb02
More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval
2009-08-12 03:25:53 -05:00
Doug Coleman
e5b9fabc65
fix build errors
2009-08-11 23:07:13 -05:00
Doug Coleman
4c570faa91
Throw typed errors instead of strings for calling/executing non-callables
2009-08-11 22:40:29 -05:00
Doug Coleman
6a62b2b09a
even better error handling for division by zero
2009-08-11 22:30:16 -05:00
Daniel Ehrenberg
82d20d292c
Making write barrier elimination global
2009-08-11 21:21:21 -05:00
Doug Coleman
22a68e8613
use unless-empty
2009-08-11 21:18:43 -05:00
Doug Coleman
aa71f27094
add docs for if-zero etc, add docs for 10^
2009-08-11 18:45:01 -05:00
Doug Coleman
b5818bd284
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-11 18:16:30 -05:00
Doug Coleman
e1bdd33156
use if-zero in a few more places
2009-08-11 18:15:53 -05:00
Doug Coleman
9e0caf641b
add 10^ to math.functions and update usages
2009-08-11 18:00:24 -05:00
Slava Pestov
88f28a7245
math.intervals: fix interval-rem
2009-08-11 16:49:28 -05:00
Slava Pestov
5f0390d83b
alien.complex: fix tests
2009-08-11 14:07:33 -05:00
Philipp Brüschweiler
3dc33b67a9
various doc fixes
2009-08-11 16:58:47 +02:00
Brad Christensen
4b3ab95660
A number of documentation fixes.
...
* Short-circuit combinators now show correct stack effect for quots
* Groups and Clumps unchecked examples corrected, made runnable in listener
* Class operations had duplicate link to class-types
* Protocol slots readability fixed
* Tuple word property for "tuple-layout" corrected to "layout"
* cond>quot sentence started in lowercase
* Method precedence code example missing stack effect for GENERIC:, M: integer explain changed to detail an integer
* Motivation for default streams readability
* Default input and output streams duplicate readln link removed from output stream words section
* Looping combinators do description clarified
* Make philosophy missing space
* Linear order protocol duplicate after? link removed
* Parsing words readability fix
* Copied note regarding with-compilation-unit from define to define-declared and define-inline
2009-08-10 23:34:25 -07:00
Slava Pestov
c816e5a483
Merge branch 'master' of git://github.com/Blei/factor
2009-08-10 16:18:19 -05:00
Slava Pestov
e88dcb85ef
alien: need to differentiate between the type of the result before and after boxing; the former is used by propagation for #alien-invoke nodes and the latter is used by specialized arrays. This fixes FFI unit test failures
2009-08-10 16:17:33 -05:00
Philipp Brüschweiler
18240b0219
misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644
2009-08-10 21:33:07 +02:00
Slava Pestov
7956e63fc2
compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true
2009-08-10 01:16:49 -05:00
Slava Pestov
ea33afa4f1
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-09 16:31:03 -05:00
Slava Pestov
55d1b76ad7
compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration
2009-08-09 16:29:21 -05:00
Slava Pestov
f45d80374c
alien.structs: struct-type now has a class slot; fix specialized complex-float/double arrays
2009-08-09 16:10:11 -05:00
Slava Pestov
5dd868299b
tools.deploy.shaker: strip out specialized vector words
2009-08-09 04:48:44 -05:00
Slava Pestov
12ab2b9e9d
_gc instruction doesn't need slot to hold GC root area size, since that's just tagged-values>> length
2009-08-09 03:08:13 -05:00
Slava Pestov
9b4ffd65d3
math.vectors.specialization: first attempt at some call site splitting for vector ops. Specialized array types generate customized variants of all vector words, if input types are known at compile time, a call to the specialized version is inserted
2009-08-09 03:07:33 -05:00