Commit Graph

3207 Commits (763d9a3f7dbac882cff1b03bc674b36098c68a48)

Author SHA1 Message Date
Slava Pestov 288090d993 math.parser: expose a format-float primitive for use by formatting vocabulary 2010-04-13 21:21:28 -07:00
Slava Pestov da6bcbedfc Replace 'untested' tag with 'not loaded' and 'not tested' tags 2010-04-13 18:43:01 -07:00
Slava Pestov a3e6de5e6a io.files: fix unit test for forget-tests? flag 2010-04-13 06:14:53 -07:00
Slava Pestov 3e91a7f280 sets: fix performance regression in all-unique? word 2010-04-13 04:43:47 -07:00
Slava Pestov 67e24b1d2a compiler.codegen: need to do name decoration with fastcall as well 2010-04-12 18:10:25 -05:00
Slava Pestov 145e6428ba Fixing load errors 2010-04-10 17:24:44 -07:00
Slava Pestov 0202c35d2a alien: now that fastcall works better it doesn't need to be private 2010-04-10 16:57:07 -07:00
Slava Pestov 46a1fb2646 Merge remote branch 'origin/abi-symbols' into fastcall-madness 2010-04-10 00:10:33 -07:00
Slava Pestov 0d00160f4c combinators: fix load error 2010-04-06 16:48:30 -04:00
Slava Pestov e0196da1c8 combinators: call( now throws an error if a quotation that was declared as never returning actually returns 2010-04-06 16:42:30 -04:00
Joe Groff c3f8f5067e catch merge conflicts in source and report them as such 2010-04-06 13:34:26 -07:00
Joe Groff 3e0d86f355 Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols
Conflicts:
	basis/compiler/tests/alien.factor
2010-04-06 12:30:15 -07:00
Slava Pestov d6fb134d5f kernel: add examples for if, when, unless and if* 2010-04-05 19:07:10 -04:00
Slava Pestov 74640b7f71 Get green threads working on Windows
- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image
2010-04-03 20:24:33 -04:00
Slava Pestov be024c228c continuations: faster with-datastack 2010-04-03 19:10:21 -04:00
Joe Groff 2240520e2d update some more doc examples using old abi strings 2010-04-02 23:16:53 -07:00
Slava Pestov 0faa3bcf4a vm: pre-allocate context alien 2010-04-02 00:02:21 -04:00
Joe Groff c12424f834 update alien docs to mention abi symbols 2010-04-01 19:25:24 -07:00
Joe Groff 553b9fcd93 make "fastcall" symbol private since it doesn't really work in all cases 2010-04-01 18:34:15 -07:00
Joe Groff ef884ef7f2 Merge branch 'master' into abi-symbols 2010-04-01 15:28:36 -07:00
Joe Groff 9d3326658c alien: add singletons for thiscall and fastcall 2010-03-31 20:30:04 -07:00
Joe Groff 565e3383ab add singletons for stdcall, cdecl, mingw abis 2010-03-31 19:17:06 -07:00
Slava Pestov fb2ecab614 threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread 2010-03-30 21:47:48 -04:00
Slava Pestov c36d85ab47 sets, hash-sets, bit-sets: fix some typos in the documentation 2010-03-30 01:10:39 -04:00
Slava Pestov c7142e4281 threads: use context-switching primitives 2010-03-29 20:40:17 -04:00
Slava Pestov 8ab0d12e8d vm: callstack errors were flipped 2010-03-29 01:53:30 -04:00
Daniel Ehrenberg 240c6819a9 Merge branch 'master' into conditional 2010-03-28 19:49:32 -04:00
Slava Pestov 43ac59a9f4 kernel: don't test callstack overflow on OpenBSD or Windows 2010-03-28 17:58:05 -05:00
Slava Pestov b6dfdcb909 set-context and start-context primitives can now pass parameters around 2010-03-27 08:13:57 -04:00
Slava Pestov b5f7e91bdc vm: report callstack overflow 2010-03-27 07:45:11 -04:00
Slava Pestov 1717b8d0f7 Implement start-context and set-context primitives 2010-03-27 02:56:11 -04:00
Slava Pestov 560c119cd2 vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04:00
Slava Pestov dde21c3cc4 lexer: fix output type of map-tokens 2010-03-26 16:31:48 -04:00
Slava Pestov a566d8cc6b lexer: each-token and map-tokens did not handle EOF properly 2010-03-26 03:42:07 -04:00
Daniel Ehrenberg 887c289c6c Merge branch 'master' of git://factorcode.org/git/factor into conditional 2010-03-19 06:46:16 -04:00
Daniel Ehrenberg 7dd44bfccf Docs for require-when 2010-03-19 06:45:55 -04:00
Daniel Ehrenberg bcba3ab5ec Untested tags for vocabs.loader.test.[mno] 2010-03-19 06:34:25 -04:00
Slava Pestov 6aee6b3adc Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct 2010-03-18 22:06:00 +13:00
Daniel Ehrenberg 9e602d213f Renaming require-if to require-when 2010-03-18 00:24:41 -04:00
Daniel Ehrenberg 043578ca1d require-if loads vocabs conditionally, now or later 2010-03-18 00:00:32 -04:00
Daniel Ehrenberg 67912db5f1 Making <hash-set> faster 2010-03-17 20:12:25 -04:00
Daniel Ehrenberg 7fcc03b8b6 Fixing spacing in the sets docs 2010-03-16 21:30:17 -04:00
Daniel Ehrenberg 1da6ea957a Fixing bugs with sets, including adding new within and without words 2010-03-16 20:17:26 -04:00
Daniel Ehrenberg 512fe14e4e Merge branch 'bags' of git://github.com/littledan/Factor
Conflicts:

	basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
	basis/furnace/auth/auth.factor
	basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff 0d3015cd1c fill out row variables docs 2010-03-11 11:57:12 -08:00
Joe Groff 64c064fb3e another typo in effects syntax 2010-03-11 11:23:48 -08:00
Joe Groff 5bccc96498 typo in <effect> docs 2010-03-11 11:22:28 -08:00
Joe Groff c35dd7c2ef make effect<= work with univariable stack effects, deny all bivariable stack effects 2010-03-11 01:37:33 -08:00
Joe Groff 8b1b7b20d5 effect-variable -> row-variable 2010-03-11 01:25:13 -08:00
Joe Groff d001c1f375 carve up effects.parser too 2010-03-11 01:03:40 -08:00
Joe Groff 6bf709429b fix effect of <tuple-boa> primitive 2010-03-09 22:38:41 -08:00
Joe Groff 18f3df9d4a more help-lint 2010-03-09 21:02:43 -08:00
Joe Groff b9004a4fff fix up sequences help-lint 2010-03-09 20:29:44 -08:00
Joe Groff 8a52aec6da effects: docs for <effect>, <terminated-effect>, <variable-effect> 2010-03-09 13:50:58 -08:00
Joe Groff e7968ceffc mop up compiler errors from macosx load-all 2010-03-09 00:56:07 -08:00
Joe Groff 191ac353fd generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
Joe Groff 10ca2ba695 add polymorphic effects for lexer:each-token, map-tokens 2010-03-08 18:55:46 -08:00
Joe Groff cb656c6e6b add polymorphic stack effects to continuations:recover, attempt-all 2010-03-08 18:36:40 -08:00
Joe Groff 5597ee691f add documentation about stack effect variable syntax and the effect on the stack checker 2010-03-08 17:17:47 -08:00
Joe Groff e5c2344ce4 sequences: effects of push-if and push-either were too strict 2010-03-07 21:56:40 -08:00
Joe Groff 83c81b288f polymorphize splitting private combinators 2010-03-07 18:07:59 -08:00
Joe Groff 17df15280e generalize stack effect of while, until, and produce 2010-03-05 23:01:22 -08:00
Joe Groff a3033e885a make effect variables part of effect syntax, stored out of band in effect tuple 2010-03-05 13:30:10 -08:00
Joe Groff 85f30987e2 spray some polymorphic stack effects on kernel, math, and sequences 2010-03-05 00:21:10 -08:00
Joe Groff afaaf30679 Merge branch 'lexer-parsing-word-errors' 2010-03-02 20:46:23 -08:00
Daniel Ehrenberg 7364608417 Merge branch 'master' of git://factorcode.org/git/factor into bags 2010-03-02 17:04:45 -05:00
Joe Groff ac979619e6 record the C++ compiler version in the VM, and expose it with a vm-compiler word 2010-03-01 13:32:07 -08:00
Joe Groff 2c5deba1d1 parse-tokens had two $notes sections. oops! 2010-03-01 11:50:16 -08:00
Joe Groff 51541bb35b lexer, parser: update docs on "parse-tokens" and add docs for "each-token", "map-tokens" 2010-03-01 11:47:57 -08:00
Joe Groff 9bf5c76771 lexer: add "each-token" and "map-tokens", which are equivalent to "parse-token _ each/map" but incremental. update a smattering of parsing words (such as USING:, SYMBOLS:, etc.) to use each-token/map-tokens 2010-02-28 22:19:43 -08:00
Joe Groff bb58cf4d16 classes.tuple.parser: throw bad-slot-name immediately when an invalid slot name in a tuple/struct literal is scanned 2010-02-28 20:14:16 -08:00
Joe Groff 163c26ad72 lexer, parser: show initial parsing word line as part of lexer-errors 2010-02-28 13:01:03 -08:00
Daniel Ehrenberg da57436180 Finishing eliminating prune as a synonym of members 2010-02-27 14:52:24 -05:00
Daniel Ehrenberg 7ad324837b Updated documentation for sets 2010-02-27 00:27:40 -05:00
Daniel Ehrenberg 7cd3360cdd Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth 2010-02-26 17:17:40 -05:00
Daniel Ehrenberg 6298203b4c Making all of basis and extra unambiguous for sets/namespaces 2010-02-26 16:28:38 -05:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Daniel Ehrenberg 73a990a4b8 Making it fast to create a new hashset 2010-02-26 13:24:26 -05:00
Daniel Ehrenberg 366f36d73f Finishing porting sets features to new-sets 2010-02-26 13:22:56 -05:00
Daniel Ehrenberg b76c82048d Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets 2010-02-26 12:07:37 -05:00
Daniel Ehrenberg e43312d780 Moving new-sets and hash-sets to core 2010-02-26 11:01:57 -05:00
Slava Pestov 86b7ba95a8 sequences: fix help lint 2010-02-26 00:44:48 +13:00
Slava Pestov 7826543d2e sequences: add cartesian-each, cartesian-map, cartesian-product words to eliminate some duplication throughout the codebase 2010-02-25 20:54:57 +13:00
Slava Pestov e5aa02571f sequences: add suffix! to destructive sequence ops article 2010-02-25 05:57:09 +13:00
Slava Pestov 17b095a524 Slices over specialized arrays can now be passed to C functions, written to binary output streams, and given to malloc-byte-array 2010-02-25 04:50:31 +13:00
Slava Pestov af0ddd5985 Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams 2010-02-24 20:18:41 +13:00
Joe Groff 71d169e420 fix typos in alien docs 2010-02-23 11:56:10 -08:00
Joe Groff 818bbb4984 update docs about pointer types 2010-02-23 11:03:48 -08:00
Slava Pestov ae25cfe712 Get foldable and flushable declarations working on typed words 2010-02-24 00:16:55 +13:00
Slava Pestov f0aa694c7e effects.parser: throw a proper no-word error if effect references an unknown class word 2010-02-23 23:57:13 +13:00
Joe Groff 21ab2ef6e7 repeated runs of classes.tuple test would fail because partially defined classes.tuple.tests:bad-superclass type would shadow classes.tuple:bad-superclass 2010-02-22 19:35:52 -08:00
Doug Coleman 949f658928 Fix a couple of typos in complex number docs 2010-02-22 17:39:30 -06:00
Slava Pestov db3a23ffe0 parser: auto-use prefers non-private words to private words 2010-02-22 19:25:08 +13:00
Slava Pestov 2ab1be755c vocabs.loader: tweak platform checking logic 2010-02-22 13:17:46 +13:00
Slava Pestov 2f70ebd4d0 vocabs: document platforms.txt 2010-02-21 20:38:09 +13:00
Slava Pestov 6367c8ec85 native-thread-test: clean up 2010-02-21 17:48:05 +13:00
Slava Pestov 6e516789d5 continuations: add a throw-continue word for resumable errors, and change vocabs.metadata to throw a resumable error if the current platform is not supported 2010-02-20 13:41:33 +13:00
Slava Pestov 1915b7e955 vocabs.loader.test.a: fix 2010-02-20 13:31:51 +13:00
Slava Pestov 95bfc8a240 vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases 2010-02-20 13:30:49 +13:00
Slava Pestov 51922a2fb9 make: documentation tweak 2010-02-20 12:18:29 +13:00
Slava Pestov 6501480a0e Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining 2010-02-20 12:01:47 +13:00
Philipp Brüschweiler eb8344a5a5 assocs: doc fixes 2010-02-19 11:26:01 +01:00
Philipp Brüschweiler caf978588b sequences: clarify some stack effect and examlpes in docs 2010-02-19 11:26:01 +01:00
Philipp Brüschweiler db663548f9 math: typo in rem docs 2010-02-19 11:23:20 +01:00
Slava Pestov 220dd88a2c Update documentation for new help lint check 2010-02-19 12:31:52 +13:00
Joe Groff e70fcf159d Revert "fix append-path and vocab-dir to use path-separator"
This reverts commit 0f3026b871.
2010-02-17 16:06:45 -08:00
Joe Groff 97654b67c1 Revert "io.pathnames: make absolute-path? public"
This reverts commit 48756c9fca.
2010-02-17 16:06:30 -08:00
Joe Groff 1250a0fcfd Revert "make io.pathnames tests path-separator-neutral"
This reverts commit f344c00629.
2010-02-17 16:06:13 -08:00
Joe Groff f26460450e Revert "vocabs.loader: make vocab-dir+ use path-separator too"
This reverts commit 2dcc720629.
2010-02-17 16:05:59 -08:00
Joe Groff 64a2748280 Merge branch 'master' of git://factorcode.org/git/factor 2010-02-17 12:50:46 -08:00
Slava Pestov 33bbd05507 io.pathnames: fix doc typo 2010-02-18 08:38:45 +13:00
Joe Groff 052a0cb6d4 Merge branch 'master' of git://factorcode.org/git/factor 2010-02-17 11:37:14 -08:00
Slava Pestov 31ccfa2e5d Fix unit test failures 2010-02-18 04:58:30 +13:00
Slava Pestov c5259f2e2c classes.tuple: document final class declaration 2010-02-18 04:13:34 +13:00
Slava Pestov c4c14c7ceb classes.tuple: fix screwup 2010-02-18 03:00:43 +13:00
Slava Pestov 60296be964 typed: only unbox final classes. Fixes bug reported by littledan 2010-02-18 02:39:12 +13:00
Slava Pestov 01824d41be Add support for final tuple classes which cannot be subclassed: TUPLE: foo ... ; final 2010-02-18 02:19:57 +13:00
Slava Pestov 41433da61b core: minor cleanups 2010-02-18 01:57:22 +13:00
Slava Pestov 63928191e7 Minor documentation fixes 2010-02-18 01:19:39 +13:00
Slava Pestov 36cff8ed6e combinators: better wrong-values error 2010-02-18 01:19:26 +13:00
Joe Groff 27cfeec43a vocabs.loader: make vocab-dir+ use path-separator too 2010-02-16 19:29:42 -08:00
Joe Groff 6ac33f6dea make io.pathnames tests path-separator-neutral 2010-02-16 19:28:51 -08:00
Joe Groff f59f28d788 io.pathnames: make absolute-path? public 2010-02-16 19:01:44 -08:00
Joe Groff 4a182cfbad fix append-path and vocab-dir to use path-separator 2010-02-16 18:40:40 -08:00
Slava Pestov 6620a12cde Merge branch 'deploy-resources' of git://factorcode.org/git/factor into deploy-resources 2010-02-17 00:17:09 +13:00
Slava Pestov bd0ca0e2aa Clean up some tags 2010-02-17 00:12:55 +13:00
Slava Pestov f01487eb83 A few documentation fixes 2010-02-17 00:05:36 +13:00
Slava Pestov a495f8e099 assocs: move conjoin and conjoin-at to assoc docs 2010-02-16 15:29:46 +13:00
Joe Groff bd2b72ad08 update vocabs and tools.deploy docs to mention icon files 2010-02-15 14:18:26 -08:00
Joe Groff f06e278e17 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/tools/deploy/shaker/shaker.factor
2010-02-15 11:50:43 -08:00
Joe Groff 45c85d1851 update vocabs and deploy docs to mention resources.txt 2010-02-15 10:14:30 -08:00
Slava Pestov cd1986a906 classes: fix regression from recent bug fix 2010-02-15 23:46:55 +13:00
Slava Pestov 3e5e3a6d3f classes: call reset-generic on predicate word to avoid redefinition problems (reported by littledan) 2010-02-15 18:34:45 +13:00
Slava Pestov a118f208dc compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping 2010-02-12 02:50:59 +13:00
Joe Groff 09a4080772 Merge branch 'master' of git://factorcode.org/git/factor 2010-02-09 19:42:54 -08:00
Slava Pestov a112e52fe7 sequences: remove outdated comment 2010-02-10 16:12:02 +13:00
Slava Pestov 1c9a95122a math.integers: remove a -rot usage 2010-02-10 15:44:49 +13:00
Slava Pestov 1a1a61549f sequences: remove a -rot usage 2010-02-10 15:44:15 +13:00
Slava Pestov 83410e23cc classes.algebra: remove class<=> -- it's never used and has incorrect semantics 2010-02-10 15:04:48 +13:00
Joe Groff a8e771c28f update syntax-floats for changes to math.parser. clarify docs on hex float literals 2010-02-08 10:42:04 -08:00
Joe Groff 0f651c8506 math.parser: support leading + on significand and exponent so string>number can be a proper superset of C strto* functions 2010-02-07 14:21:59 -08:00
Joe Groff ce1ff01851 math.parser: add unit tests to ensure that "1e2" parses as 100.0 in decimal and as integer 1E2 in bases >= 15 (it does now) 2010-02-07 13:09:59 -08:00
Joe Groff 90ea5796f4 math.parser: fix digit> bug found by Blei 2010-02-07 13:04:20 -08:00
Slava Pestov 747974f4ae vm: nuke unused (string>float) primitive 2010-02-08 08:16:56 +13:00
Slava Pestov 4e766a0a12 math.parser: clean up and merge new-math-parser branch 2010-02-08 01:39:18 +13:00
Slava Pestov afee6ccfcd Merge branch 'new-math-parser' of git://factorcode.org/git/factor into new-math-parser 2010-02-07 23:28:18 +13:00
Joe Groff 98c9b79881 assocs: use collector-for in assoc>map to create a temporary vector appropriate for the exemplar 2010-02-06 23:59:34 -08:00
Slava Pestov f20b4e5607 tools.deploy.shaker: don't try to intern all word props anymore 2010-02-04 17:40:53 +13:00
Slava Pestov 10fe9a811b Fix classes.tuple tests and assocs help lint 2010-02-04 08:04:47 +13:00
Slava Pestov 35acd71551 compiler.units: fix bug that came up recently with nested compilation units 2010-02-04 03:20:48 +13:00
Slava Pestov 11be5a4bd5 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Slava Pestov 26cae00eeb Add code heap introspection primitive to VM, and make a code-blocks word in tools.memory that wraps a useful interface around this. Add a lookup-return-address word and use this in tools.disassembler.utils 2010-02-03 23:11:32 +13:00
Slava Pestov 0b278adb5a Test fixes 2010-02-03 23:11:31 +13:00
Slava Pestov f8474c3856 Documentation improvements 2010-02-03 23:11:30 +13:00
Slava Pestov 3259ef4bec vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units 2010-02-03 23:11:28 +13:00
Slava Pestov 0b207caa87 combinators: fix typo 2010-02-03 23:11:28 +13:00
Slava Pestov 3e8d21b493 Clarify documentation for compilation units and 'undefined' error 2010-02-03 23:11:28 +13:00
Slava Pestov 2879299999 combinators: ricing call-effect 2010-02-03 23:11:26 +13:00
Slava Pestov a005e678db classes.tuple: make error slots read only for small space savings 2010-02-03 23:11:25 +13:00
Slava Pestov 55a89ec9c2 Better error message for call( when quotation has the wrong effect 2010-02-03 23:11:25 +13:00
Slava Pestov df55fed478 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +13:00
Slava Pestov fbf078d4b3 words: undefined error now contains the word in question 2010-02-03 23:11:23 +13:00
Slava Pestov e32d5fd0ac Minor updates to string documentation 2010-02-03 23:07:53 +13:00
Slava Pestov 080609c281 Minor doc fixes 2010-02-03 22:56:32 +13:00
Brad Christensen 7381d47103 More documentation cleanup. 2010-02-03 00:05:04 -07:00
Brad Christensen 9b9322ea1e A number of documentation fixes and cleanup. 2010-02-03 00:05:03 -07:00
Brad Christensen 1404bf71d5 Minor doc cleanup. 2010-02-03 00:05:02 -07:00
Slava Pestov e929d906ce classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private 2010-02-01 02:48:39 +13:00
Slava Pestov 3addfcc2ad classes: more robust code for detecting circular inheritance, move it out of classes.tuple since predicate classes need the same check too 2010-02-01 00:08:18 +13:00
Slava Pestov 8432f4c459 Fix a couple of unit tests that were relying on the old compiler crossref structures 2010-01-31 23:26:55 +13:00
erikc 0770b940b0 Merge up 2010-01-30 20:48:06 -08:00
erikc f33c73bf94 Merge up 2010-01-30 20:39:43 -08:00
Slava Pestov 5ed0bc72aa Merge git://github.com/littledan/Factor into littledan 2010-01-31 02:54:58 +13:00
Slava Pestov a22fadaee4 words: fix unit test 2010-01-31 02:50:47 +13:00
Slava Pestov 2c63161c84 stack-checker.dependencies: make conditional dependencies more robust 2010-01-31 01:55:35 +13:00
Slava Pestov e45816cf9b math: docs fix 2010-01-30 21:14:41 +13:00
Slava Pestov 7189342c19 compiler.units: fix call-next-method call site recompilation 2010-01-30 09:29:01 +13:00
Slava Pestov 09ead56652 Re-work flushed dependencies into new compiler cross-referencing framework 2010-01-30 09:29:00 +13:00
Slava Pestov 26f311279c Re-defining a tuple class now invalidates cached quotation stack effects 2010-01-30 09:28:59 +13:00
Slava Pestov c027046857 New 'conditional dependency' mechanism for more accurate recording of recompilation information 2010-01-30 09:28:57 +13:00
Slava Pestov 29fc287618 classes.tuple: documentation fix 2010-01-30 09:28:56 +13:00
Slava Pestov f031a97084 Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy 2010-01-30 09:28:56 +13:00
Slava Pestov 4f68808a72 Rename predicate-word to create-predicate-word and add a new predicate-word word 2010-01-30 09:28:55 +13:00
Slava Pestov bd479db2f8 Fix regression when forgetting classes 2010-01-30 09:28:55 +13:00
Slava Pestov 34287fd9d6 Minor documentation updates 2010-01-30 09:28:54 +13:00
Slava Pestov 8b19b56a1c classes.mixin: privacy please 2010-01-30 09:28:53 +13:00
Slava Pestov 830e25c70b More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov 066bf9a42f classes.algebra: couple more tests 2010-01-30 09:28:53 +13:00
Slava Pestov e6d1388dcc Clean up class algebra a bit, and change mixins to recompile less, taking advantage of new semantics 2010-01-30 09:28:52 +13:00
Slava Pestov af41dc6169 Trying to fix mixin semantics 2010-01-30 09:28:51 +13:00
Doug Coleman 1f76ab2d45 try-find is just attempt-all. oops 2010-01-28 23:28:11 -06:00
Doug Coleman 88e20af800 add some unit tests for try-find 2010-01-28 23:12:31 -06:00
Doug Coleman 46f2515ba8 add try-find for random.windows 2010-01-28 22:44:31 -06:00
Slava Pestov 6cdf4de4eb Fix and clean up stage1 bootstrap 2010-01-28 17:30:35 +13:00
Slava Pestov d215c108f3 core: fix bad interaction between stage1 bootstrap and manifest update code 2010-01-28 03:02:54 +13:00
Slava Pestov 73cbf46760 vocabs.parser: a couple of fixes 2010-01-27 23:20:17 +13:00
Slava Pestov ca19d44350 Throw a nice error at parse time if an attempt is made to declare a GENERIC: or MACRO: word inline. Such words cannot be inlined, and doing this before previously result in confusing error messages 2010-01-27 21:00:10 +13:00
Slava Pestov 3237e48b2d vocabs.parser: The manifest is now a definition observer, and updates itself when compilation units complete. This helps keep listener's search path up to date if vocabularies and words are renamed, defined, and undefined
- This makes forget-vocab more reliable in the listener
- It also fixes the problem of listener sessions where QUALIFIED: was used referring to outdated words if the vocabulary in question was reloaded
2010-01-27 20:49:26 +13:00
Slava Pestov b63ec30449 classes.tuple: tests were changing superclass of vocab tuple 2010-01-27 20:24:33 +13:00
Slava Pestov 94c93f0bc7 vm: 'become' primitive needs to update literal references in code blocks 2010-01-27 18:42:31 +13:00
Daniel Ehrenberg 19d551a544 Merge branch 'master' of git://factorcode.org/git/factor 2010-01-26 14:14:05 -06:00
Daniel Ehrenberg 52f2ac2bb9 Tests for propagation additions; making fixnum-bit? inline 2010-01-25 20:15:17 -06:00
Slava Pestov de3168ad71 Various documentation improvements 2010-01-26 01:01:12 +13:00
Doug Coleman a16d8db145 move sequence-hashcode-step to private 2010-01-22 16:30:22 -06:00
Doug Coleman 1519e0ba69 move (accumulate) to sequences.private 2010-01-22 15:04:13 -06:00
Doug Coleman 8c1d202b4c Rename accumulator to collector, pusher to selector 2010-01-22 15:00:53 -06:00
Doug Coleman 40cf302d2d Fix image save on Windows 2010-01-22 12:59:36 -06:00
Doug Coleman bb2f455747 Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images. 2010-01-22 12:59:20 -06:00
Daniel Ehrenberg fbe3add21d Merge branch 'master' of git://factorcode.org/git/factor 2010-01-20 00:16:55 -06:00
Daniel Ehrenberg d3590ea210 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:

	basis/compiler/tree/propagation/transforms/transforms.factor
2010-01-20 00:15:55 -06:00
Slava Pestov ee71f87cfd kernel: remove bogus test 2010-01-20 19:13:58 +13:00
Daniel Ehrenberg aa1651032d Adding compiler transforms in propagation 2010-01-20 00:10:49 -06:00
Slava Pestov 00328c85e0 vm: remove vm-ptr primitive 2010-01-20 17:06:49 +13:00
Slava Pestov 5606825e8b vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym() 2010-01-19 20:00:33 +13:00
Slava Pestov 8836ce2581 Fix performance regression in vector ops on specialized arrays, tweak definition of <slice> and 2map-reduce to generate fewer conditionals 2010-01-19 17:48:10 +13:00
Slava Pestov 637a77c018 Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
Slava Pestov 9bc328b50d slots: fix declaration unit test 2010-01-17 00:30:36 +13:00
Slava Pestov d0dc6ba8af slots, classes.tuple: make 'integer'-declared slots call >integer on the new value before storing it in, and remove code duplication between type checks in writer methods and boa constructors 2010-01-16 19:29:19 +13:00
Slava Pestov dd0571e69a io.buffers: fix buffer-until for iota (reported by Sascha Matzke) 2010-01-16 18:44:24 +13:00
Slava Pestov 7f7e1e4e1d Help lint fixes for iota 2010-01-15 17:04:14 +13:00
Doug Coleman 4e6a5a772f Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	core/sequences/sequences-docs.factor
2010-01-14 17:22:02 -06:00
Doug Coleman 9356da6fb3 Fix a few integers-as-sequences in docs 2010-01-14 17:20:43 -06:00
Slava Pestov 4cce9259e1 math.parser: fix docs -- maximum radix is 16 not 36 2010-01-15 08:36:40 +13:00
Slava Pestov ed37ed6b70 parser: make 'CONSTANT: foo<newline>3' work in the listener 2010-01-15 08:30:26 +13:00
Slava Pestov e8378b3dc6 generic, sequences: update docs for iota 2010-01-15 08:23:27 +13:00
Doug Coleman 4c71d71907 random is generic now -- iota random -> random 2010-01-14 12:48:57 -06:00
Slava Pestov df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Slava Pestov 47a5e96547 Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics 2010-01-13 22:20:16 +13:00
Slava Pestov 1c10196c43 Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side 2010-01-13 18:08:18 +13:00
Slava Pestov 9471fd1a33 alien: fix help lint 2010-01-07 20:54:27 +13:00
Slava Pestov 46a1b1cc46 alien: document alien-assembly 2010-01-07 17:57:48 +13:00
Slava Pestov 235f3238f5 Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S 2010-01-07 17:39:22 +13:00
Slava Pestov 1219040865 compiler.units: fix faulty unit test 2010-01-06 23:52:14 +13:00
Slava Pestov c04fef10c7 vm: ensure that non-optimized calls to generic words which have not yet been compiled can still work 2010-01-06 23:49:14 +13:00
Slava Pestov 36d2ac8921 vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64 2010-01-06 15:47:36 +13:00
Slava Pestov ba5b90e063 Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM
- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub
2010-01-03 01:11:51 +13:00
Slava Pestov 38f06b8558 continuations: remove outdated comment 2009-12-28 12:42:25 +13:00
Slava Pestov 63023ae227 kernel: fix set-callstack docs 2009-12-28 12:41:45 +13:00
Slava Pestov 819e46f42b kernel: fix stack effect declarations of call-clear and set-callstack, and add a unit test for call-clear 2009-12-26 15:38:01 +13:00
Slava Pestov 08cd0df788 primitives.factor: move call-clear into kernel.private since its unsafe 2009-12-26 15:27:39 +13:00
Slava Pestov eb0a28aa54 Merge branch 'master' of git://factorcode.org/git/factor 2009-12-15 07:21:17 -05:00
Slava Pestov f6c0c64518 threads, io.streams.c: cleanups 2009-12-15 07:20:41 -05:00
Slava Pestov 0068bce934 vm: big overhaul of non-optimizing compiler
- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups
2009-12-15 07:20:09 -05:00
Doug Coleman 9fea67f3ff triyng to rice crc32 a bit 2009-12-13 02:03:06 -06:00
Slava Pestov 4cea294cfd sequences: fix map-reduce and 2map-reduce docs, reported by Ben Schlingelhof 2009-12-12 15:16:11 -05:00
Doug Coleman 26de809d57 link pusher and accumulator in docs 2009-12-07 16:26:24 -06:00
Joe Groff 67cc1c01be Merge branch 'master' into simd-cleanup 2009-11-26 16:14:46 -08:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 24c3ddbbde Clean up startup/shutdown hook code 2009-11-20 00:57:49 -06:00
Doug Coleman adcb0df0c4 fix stack effects for nanosseconds, update io backends for nanos 2009-11-19 04:51:47 -06:00
Slava Pestov 40348ed0ce combinators: fix typo in docs 2009-11-19 02:08:14 -06:00
Doug Coleman f4450653a9 remove system-millis and update vocabs to use system-micros or nano-count 2009-11-18 20:56:09 -06:00
Doug Coleman 41b931a615 fix system docs 2009-11-18 18:34:16 -06:00
Doug Coleman 11c9c6004f document nano-count, move monotonic-clock to hell 2009-11-18 16:33:10 -06:00
Doug Coleman 6f7ec206a1 rename millis to system-millis, micros to system-micros, add nano-count 2009-11-18 15:58:48 -06:00
Doug Coleman b4206f5252 initial commit to nanos branch to replace micros 2009-11-18 04:20:05 -06:00
Slava Pestov e30d275e41 compiler.cfg: 'basic-block new hashcode' should not throw an exception; fixes tools.deploy.test.11 2009-11-16 02:01:36 -06:00
Doug Coleman cc194416f9 Merge branch 'master' into startup
Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp
2009-11-15 02:52:50 -06:00
Joe Groff f544982fda Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-14 21:02:39 -06:00
Slava Pestov 11174a7ffe hashtables: fix indentation 2009-11-14 02:01:30 -06:00
Slava Pestov e32c167b7a Merge branch 'master' of git://factorcode.org/git/factor 2009-11-14 01:59:32 -06:00
Slava Pestov bb8eabba36 Unit test fixes 2009-11-13 23:00:50 -06:00
Doug Coleman ccd35c2f4f Merge branch 'master' of git://factorcode.org/git/factor 2009-11-13 15:03:16 -06:00
Slava Pestov 47087480a9 Bootstrap cleanups 2009-11-13 08:05:02 -06:00
Slava Pestov ea36783fb3 Fix bootstrap 2009-11-13 07:55:47 -06:00
Slava Pestov 5470330c45 Fix another problem with call( inline caching 2009-11-13 07:17:00 -06:00
Slava Pestov afecb9c758 Fixing call( inline caching 2009-11-13 04:32:33 -06:00
Slava Pestov 86da8ebed9 Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined 2009-11-13 03:52:14 -06:00
Slava Pestov 8dd8d70500 sequences: inline a couple of words 2009-11-13 03:01:28 -06:00
Slava Pestov 14a4535ad9 classes.algebra: output cleaner anonymous unions and intersections 2009-11-13 03:01:22 -06:00
Doug Coleman b71d86a1dc update more 8bit encoding usages 2009-11-12 18:36:47 -06:00
Doug Coleman aec676edec use surround/glue instead of 3append 2009-11-12 03:01:09 -06:00
Slava Pestov 41c17f0429 Fixing test failures 2009-11-11 02:40:24 -06: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 b551721dd9 Minor cosmetic fixes 2009-11-10 21:48:00 -06:00
Slava Pestov 064c00f78d New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov 5d3c4a5404 io.pathnames: document resource: and vocab: 2009-11-10 18:57:46 -06:00
Slava Pestov c693587018 classes.algebra: cleanup 2009-11-10 17:41:47 -06:00
Slava Pestov 0beec6befc Merge branch 'master' of git://github.com/Blei/factor 2009-11-09 00:57:41 -06:00
Joe Groff 788289e51e Merge branch 'master' into simd-cleanup 2009-11-08 21:54:53 -06:00
Slava Pestov cd2e226afa stack-checker: split off stack-checker.dependencies from stack-checker.state 2009-11-08 20:34:46 -06:00
Slava Pestov a361e68f30 generic, words: update unit tests for deopt data structure change 2009-11-08 19:44:04 -06:00
Slava Pestov 5d79450d9d Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size 2009-11-08 06:08:04 -06:00
Joe Groff 6047f79996 pronouns deserve antecedents 2009-11-07 23:15:30 -06:00
Joe Groff 8894e9047c Merge branch 'master' into simd-cleanup 2009-11-07 22:26:09 -06:00
Philipp Brüschweiler 8163c47b4a sequences: rename virtual-seq to virtual-exemplar 2009-11-07 00:06:26 +01:00
Joe Groff 2352792502 factor "split-when" (split on predicate) from "split" 2009-11-06 16:29:33 -06:00
Joe Groff ca7f07eed9 actually, no, it doesn't provide warnings for references to forgotten words 2009-11-06 15:25:33 -06:00
Slava Pestov a46671e3ad math.integers: fix help lint on 32-bit 2009-11-06 04:52:52 -06:00
Slava Pestov a089163a40 math: fix test failures on 32-bit 2009-11-06 04:50:41 -06:00
Slava Pestov 209436071f memory: fix help lint 2009-11-06 04:17:57 -06:00
Slava Pestov 734f18624c generic.single: simplify stack shuffling 2009-11-06 04:15:46 -06:00
Slava Pestov ba31abb301 Fix some test failures 2009-11-06 02:35:43 -06:00
Joe Groff 00ce8b6a33 deprimitivize tuck and put it to pasture 2009-11-05 22:47:05 -06:00
Joe Groff 4b0edb34d3 Merge branch 'master' of git://factorcode.org/git/factor 2009-11-05 22:23:21 -06:00
Slava Pestov 4061951d1c vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive 2009-11-05 21:49:03 -06:00
Joe Groff 61d579360d remove non-primitive-related uses of tuck from basis 2009-11-05 17:03:24 -06:00
Joe Groff 6e9d369331 remove spin from core and retire it to basis/shuffle 2009-11-05 15:40:48 -06:00
Joe Groff 75d04922b9 Merge branch 'master' into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Slava Pestov 47df580081 tools.time: overhaul 2009-11-05 01:07:59 -06:00
Slava Pestov 109aa88b06 compiler: update unit tests for 4-bit tag change 2009-11-03 21:40:29 -06:00
Slava Pestov d7dceed096 slots: another bootstrap fix 2009-11-02 20:28:43 -06:00
Slava Pestov 2c0531b015 vm: faster immediate_p() 2009-11-02 20:21:21 -06:00
Slava Pestov 857d0ba1fd core: bootstrap fixes 2009-11-02 20:21:10 -06:00
Joe Groff e0ba0c5539 genericize vector ops 2009-11-02 14:21:19 -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
Slava Pestov f21199005d Merge branch 'master' into new_gc 2009-11-01 22:17:27 -06:00
Joe Groff 9184254f2c move define-inline-method from classes.struct.private to generic.parser 2009-11-01 22:10:28 -06:00
Joe Groff 61a3e4e814 new, faster one-pass number parser 2009-11-01 01:59:12 -05:00
Joe Groff 60aecace7d remove dangling PRIVATE> from math.parser 2009-11-01 00:42:25 -05:00
Joe Groff 3774c72591 rearrange destructive sequence ops docs 2009-10-31 16:53:39 -05:00
Joe Groff 2f90b13160 touch up quotation documentation 2009-10-31 16:40:10 -05:00
Joe Groff 9163e4e552 clean up cleave/spread/apply combinator articles 2009-10-31 15:41:34 -05:00
Joe Groff d4a207662e might want to accurately divide large negative fixnums too 2009-10-31 12:10:29 -05:00
Joe Groff a7011fe087 use bignum/f to get accurate division of fixnums >= 2^53 on 64-bit platforms 2009-10-31 12:06:56 -05:00
Slava Pestov b2ba465bcd Merge optimizations from master branch 2009-10-31 03:02:19 -05:00
Joe Groff 07254fa823 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-30 22:02:15 -05:00
Joe Groff d55a3a3445 remove useless slot types from copy-state 2009-10-30 22:01:51 -05:00
Slava Pestov 37abac7407 Merge branch 'master' into new_gc 2009-10-30 21:04:37 -05:00
Slava Pestov c05affdce3 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-30 21:00:26 -05:00
Slava Pestov 0d24e65e4e growable: M\ growable contract should be declared inline, fixes performance regression on stack benchmark 2009-10-30 20:53:47 -05:00
Joe Groff 3af3536404 clean up copy implementation for real 2009-10-30 19:39:46 -05:00
Joe Groff 3f15e028f7 exile roll and -roll to basis/shuffle and mark them deprecated 2009-10-30 17:11:45 -05:00
Joe Groff 9624b0c5c3 add inlinable assoc methods on f 2009-10-30 15:22:14 -05:00
Joe Groff 70ffa003ec eliminate roll/-roll from core 2009-10-30 13:36:15 -05:00
Slava Pestov 6f9336c29e Merge branch 'master' into new_gc 2009-10-30 03:03:05 -05:00
Joe Groff 1cf45abf06 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-30 00:42:37 -05:00
Joe Groff 09e76591b1 start cleaning up internal implementation of copy (needs more work) 2009-10-30 00:42:21 -05:00
Joe Groff eccf3fba9d shun ugly shuffle words in the docs 2009-10-29 19:42:55 -05:00
Joe Groff 3cf641a87c remove inaccurate comment from sequences docs example 2009-10-29 15:34:38 -05:00
Doug Coleman 1d12a6707d sigma -> map-sum 2009-10-29 14:34:04 -05:00
Joe Groff a8b9477fe7 clean up typos and improve synergy between locals and namespaces docs 2009-10-29 14:08:45 -05:00
Joe Groff f21ba7a759 update the article on shuffle words to hide away the more troublesome ones 2009-10-29 14:07:46 -05:00
Joe Groff 2599993093 link vocabularies->words->quotations in synopsis documentation 2009-10-28 22:48:25 -05:00
Doug Coleman e376a0ece2 (normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks 2009-10-28 17:25:50 -05:00
Doug Coleman 1738fb7c5e link a word in docs 2009-10-28 16:17:08 -05:00
Doug Coleman 3e9593d3c0 add a unit test for accumulate! 2009-10-28 16:12:43 -05:00
Doug Coleman def951ce9b add accumulate! for joe 2009-10-28 16:10:05 -05:00
Doug Coleman 93de179c2f over push -> suffix!, over push-all -> append! 2009-10-28 15:29:01 -05:00
Doug Coleman bd13e018dd memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Doug Coleman 1476cdb974 reverse-here -> reverse! 2009-10-28 14:40:15 -05:00
Doug Coleman b0e3c7a1fc add docs for append! and suffix! 2009-10-28 13:48:16 -05:00
Doug Coleman 7ce4b746e5 parsed -> suffix!, add append! 2009-10-28 13:38:27 -05:00
Slava Pestov 299b5b0f6c filter-here -> filter! 2009-10-28 00:44:05 -05:00
Slava Pestov 50f5c3d116 remq -> remove-eq, delq -> remove-eq! 2009-10-28 00:23:08 -05:00
Slava Pestov b7e05a525b remove unused and really confusing remove-all word 2009-10-27 23:45:03 -05:00
Slava Pestov 951e3e9c83 delete-nth -> remove-nth! 2009-10-27 23:41:57 -05:00
Slava Pestov f5a0a8b6e1 delete -> remove! 2009-10-27 23:25:35 -05:00
Slava Pestov 08e7d25dc5 change-each -> map!, deep-change-each -> deep-map! 2009-10-27 22:32:56 -05:00
Slava Pestov d95a98eb9c vm: add primitives for getting at GC events, data-room and code-room primitives now return structs instead of arrays 2009-10-27 03:32:28 -05:00