Commit Graph

5868 Commits (f214836aa9fa6c1525599394a3a62ec1fdbe3f17)

Author SHA1 Message Date
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