Commit Graph

2946 Commits (ce0d76a5805442c4350727ecbbb24ef5deaf812e)

Author SHA1 Message Date
Joe Groff 007128ca7e generalize stack effect of while, until, and produce 2010-03-05 23:01:22 -08:00
Joe Groff 8a36d57505 make effect variables part of effect syntax, stored out of band in effect tuple 2010-03-05 13:30:10 -08:00
Joe Groff 896891d5af spray some polymorphic stack effects on kernel, math, and sequences 2010-03-05 00:21:10 -08:00
Joe Groff 3d3b6b610b Merge branch 'lexer-parsing-word-errors' 2010-03-02 20:46:23 -08:00
Daniel Ehrenberg 4f1819f632 Merge branch 'master' of git://factorcode.org/git/factor into bags 2010-03-02 17:04:45 -05:00
Joe Groff 3db1955a93 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 9086a66746 parse-tokens had two $notes sections. oops! 2010-03-01 11:50:16 -08:00
Joe Groff a282a8dd26 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 0c71fcccc7 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 c8c93f8336 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 5a653d4473 lexer, parser: show initial parsing word line as part of lexer-errors 2010-02-28 13:01:03 -08:00
Daniel Ehrenberg 3e9e4f0969 Finishing eliminating prune as a synonym of members 2010-02-27 14:52:24 -05:00
Daniel Ehrenberg 92d76657b8 Updated documentation for sets 2010-02-27 00:27:40 -05:00
Daniel Ehrenberg 2b5af07494 Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth 2010-02-26 17:17:40 -05:00
Daniel Ehrenberg 142f530f1b Making all of basis and extra unambiguous for sets/namespaces 2010-02-26 16:28:38 -05:00
Daniel Ehrenberg 0f0571e48a Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Daniel Ehrenberg 8b219ef472 Making it fast to create a new hashset 2010-02-26 13:24:26 -05:00
Daniel Ehrenberg 4e263269e2 Finishing porting sets features to new-sets 2010-02-26 13:22:56 -05:00
Daniel Ehrenberg 9943f225d9 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 d0e7d8198e Moving new-sets and hash-sets to core 2010-02-26 11:01:57 -05:00
Slava Pestov fce5a1644a sequences: fix help lint 2010-02-26 00:44:48 +13:00
Slava Pestov e5fc398dae 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 6b88939d47 sequences: add suffix! to destructive sequence ops article 2010-02-25 05:57:09 +13:00
Slava Pestov 2dde82ffff 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 c1e7a3ffc2 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 721f9018b1 fix typos in alien docs 2010-02-23 11:56:10 -08:00
Joe Groff dff7d09055 update docs about pointer types 2010-02-23 11:03:48 -08:00
Slava Pestov daf2e5270c Get foldable and flushable declarations working on typed words 2010-02-24 00:16:55 +13:00
Slava Pestov 1f89dc505a 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 524e58078a 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 06471c0a0d Fix a couple of typos in complex number docs 2010-02-22 17:39:30 -06:00
Slava Pestov 31c467cf52 parser: auto-use prefers non-private words to private words 2010-02-22 19:25:08 +13:00
Slava Pestov 7d90469666 vocabs.loader: tweak platform checking logic 2010-02-22 13:17:46 +13:00
Slava Pestov b907ada6a9 vocabs: document platforms.txt 2010-02-21 20:38:09 +13:00
Slava Pestov 63365bd3ea native-thread-test: clean up 2010-02-21 17:48:05 +13:00
Slava Pestov 6249e264e1 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 e95dc9440f vocabs.loader.test.a: fix 2010-02-20 13:31:51 +13:00
Slava Pestov 0aad3e6e12 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 0c20afed7c make: documentation tweak 2010-02-20 12:18:29 +13:00
Slava Pestov 58d035f1c7 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 b49b577b10 assocs: doc fixes 2010-02-19 11:26:01 +01:00
Philipp Brüschweiler d950258284 sequences: clarify some stack effect and examlpes in docs 2010-02-19 11:26:01 +01:00
Philipp Brüschweiler 4fbdb8eaa3 math: typo in rem docs 2010-02-19 11:23:20 +01:00
Slava Pestov 74891bc02a Update documentation for new help lint check 2010-02-19 12:31:52 +13:00
Joe Groff 8e1a81f8d5 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 a48dd77d61 Revert "io.pathnames: make absolute-path? public"
This reverts commit 48756c9fca.
2010-02-17 16:06:30 -08:00
Joe Groff a968c15b41 Revert "make io.pathnames tests path-separator-neutral"
This reverts commit f344c00629.
2010-02-17 16:06:13 -08:00
Joe Groff de7bafbf47 Revert "vocabs.loader: make vocab-dir+ use path-separator too"
This reverts commit 2dcc720629.
2010-02-17 16:05:59 -08:00
Joe Groff 67b5b8436f Merge branch 'master' of git://factorcode.org/git/factor 2010-02-17 12:50:46 -08:00
Slava Pestov fd1c0a5d0a io.pathnames: fix doc typo 2010-02-18 08:38:45 +13:00
Joe Groff 0767e066fd Merge branch 'master' of git://factorcode.org/git/factor 2010-02-17 11:37:14 -08:00
Slava Pestov 06fb9aac4f Fix unit test failures 2010-02-18 04:58:30 +13:00
Slava Pestov 6675bc2ace classes.tuple: document final class declaration 2010-02-18 04:13:34 +13:00
Slava Pestov fea8be5b6f classes.tuple: fix screwup 2010-02-18 03:00:43 +13:00
Slava Pestov 56dff5b0f4 typed: only unbox final classes. Fixes bug reported by littledan 2010-02-18 02:39:12 +13:00
Slava Pestov 1100861204 Add support for final tuple classes which cannot be subclassed: TUPLE: foo ... ; final 2010-02-18 02:19:57 +13:00
Slava Pestov d5a7393606 core: minor cleanups 2010-02-18 01:57:22 +13:00
Slava Pestov 9cda3cf03e Minor documentation fixes 2010-02-18 01:19:39 +13:00
Slava Pestov 5eed2e5ce5 combinators: better wrong-values error 2010-02-18 01:19:26 +13:00
Joe Groff 2dcc720629 vocabs.loader: make vocab-dir+ use path-separator too 2010-02-16 19:29:42 -08:00
Joe Groff f344c00629 make io.pathnames tests path-separator-neutral 2010-02-16 19:28:51 -08:00
Joe Groff 48756c9fca io.pathnames: make absolute-path? public 2010-02-16 19:01:44 -08:00
Joe Groff 0f3026b871 fix append-path and vocab-dir to use path-separator 2010-02-16 18:40:40 -08:00
Slava Pestov 4f62d63e47 Merge branch 'deploy-resources' of git://factorcode.org/git/factor into deploy-resources 2010-02-17 00:17:09 +13:00
Slava Pestov 2d57c9d815 Clean up some tags 2010-02-17 00:12:55 +13:00
Slava Pestov 974074d089 A few documentation fixes 2010-02-17 00:05:36 +13:00
Slava Pestov 2594bf9843 assocs: move conjoin and conjoin-at to assoc docs 2010-02-16 15:29:46 +13:00
Joe Groff a341b293df update vocabs and tools.deploy docs to mention icon files 2010-02-15 14:18:26 -08:00
Joe Groff 73b8249cf3 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 a447900af5 update vocabs and deploy docs to mention resources.txt 2010-02-15 10:14:30 -08:00
Slava Pestov a36d9eb669 classes: fix regression from recent bug fix 2010-02-15 23:46:55 +13:00
Slava Pestov 9c0192a911 classes: call reset-generic on predicate word to avoid redefinition problems (reported by littledan) 2010-02-15 18:34:45 +13:00
Slava Pestov 4cc907e1af 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 e5803161f0 Merge branch 'master' of git://factorcode.org/git/factor 2010-02-09 19:42:54 -08:00
Slava Pestov 2fd36ae5ea sequences: remove outdated comment 2010-02-10 16:12:02 +13:00
Slava Pestov 5a27fd335b math.integers: remove a -rot usage 2010-02-10 15:44:49 +13:00
Slava Pestov 5f38fb6fbd sequences: remove a -rot usage 2010-02-10 15:44:15 +13:00
Slava Pestov b2ba7ea6ec classes.algebra: remove class<=> -- it's never used and has incorrect semantics 2010-02-10 15:04:48 +13:00
Joe Groff 98ce049d22 update syntax-floats for changes to math.parser. clarify docs on hex float literals 2010-02-08 10:42:04 -08:00
Joe Groff 2626b61df2 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 dc8c6bf0e2 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 dbb952889f math.parser: fix digit> bug found by Blei 2010-02-07 13:04:20 -08:00
Slava Pestov 18ed2d8c69 vm: nuke unused (string>float) primitive 2010-02-08 08:16:56 +13:00
Slava Pestov a50f184b18 math.parser: clean up and merge new-math-parser branch 2010-02-08 01:39:18 +13:00
Slava Pestov 13d64f44a2 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 677c74b0eb 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 b3c7b51a31 tools.deploy.shaker: don't try to intern all word props anymore 2010-02-04 17:40:53 +13:00
Slava Pestov 83228368c1 Fix classes.tuple tests and assocs help lint 2010-02-04 08:04:47 +13:00
Slava Pestov 410c501b76 compiler.units: fix bug that came up recently with nested compilation units 2010-02-04 03:20:48 +13:00
Slava Pestov 57a47d9566 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Slava Pestov 310399995e 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 a968f37bf9 Test fixes 2010-02-03 23:11:31 +13:00
Slava Pestov af620fa8b4 Documentation improvements 2010-02-03 23:11:30 +13:00
Slava Pestov d19709c188 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 cf37a74316 combinators: fix typo 2010-02-03 23:11:28 +13:00
Slava Pestov 6e65bc10f4 Clarify documentation for compilation units and 'undefined' error 2010-02-03 23:11:28 +13:00
Slava Pestov a3bed25a55 combinators: ricing call-effect 2010-02-03 23:11:26 +13:00
Slava Pestov 002d454aa7 classes.tuple: make error slots read only for small space savings 2010-02-03 23:11:25 +13:00
Slava Pestov c3f66d49a3 Better error message for call( when quotation has the wrong effect 2010-02-03 23:11:25 +13:00
Slava Pestov 29e1d268b7 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +13:00
Slava Pestov 7fa61addcd words: undefined error now contains the word in question 2010-02-03 23:11:23 +13:00
Slava Pestov 8818ccbf71 Minor updates to string documentation 2010-02-03 23:07:53 +13:00
Slava Pestov edd9de217e Minor doc fixes 2010-02-03 22:56:32 +13:00
Brad Christensen 64c22d69ad More documentation cleanup. 2010-02-03 00:05:04 -07:00
Brad Christensen c37b4f5f61 A number of documentation fixes and cleanup. 2010-02-03 00:05:03 -07:00
Brad Christensen 51ae0a604a Minor doc cleanup. 2010-02-03 00:05:02 -07:00
Slava Pestov 03a74f2237 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 1f255d09e9 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 7f664a6387 Fix a couple of unit tests that were relying on the old compiler crossref structures 2010-01-31 23:26:55 +13:00
erikc c84267aaf9 Merge up 2010-01-30 20:48:06 -08:00
erikc 4506512a16 Merge up 2010-01-30 20:39:43 -08:00
Slava Pestov 8f763fe8da Merge git://github.com/littledan/Factor into littledan 2010-01-31 02:54:58 +13:00
Slava Pestov edcf259f63 words: fix unit test 2010-01-31 02:50:47 +13:00
Slava Pestov 8e2e869ec5 stack-checker.dependencies: make conditional dependencies more robust 2010-01-31 01:55:35 +13:00
Slava Pestov 127a11c28c math: docs fix 2010-01-30 21:14:41 +13:00
Slava Pestov ca4770bfc5 compiler.units: fix call-next-method call site recompilation 2010-01-30 09:29:01 +13:00
Slava Pestov df16224ab2 Re-work flushed dependencies into new compiler cross-referencing framework 2010-01-30 09:29:00 +13:00
Slava Pestov 468a3a74f1 Re-defining a tuple class now invalidates cached quotation stack effects 2010-01-30 09:28:59 +13:00
Slava Pestov 2138b55708 New 'conditional dependency' mechanism for more accurate recording of recompilation information 2010-01-30 09:28:57 +13:00
Slava Pestov ee74d989df classes.tuple: documentation fix 2010-01-30 09:28:56 +13:00
Slava Pestov 0738e85df1 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 9662b5e096 Rename predicate-word to create-predicate-word and add a new predicate-word word 2010-01-30 09:28:55 +13:00
Slava Pestov 9d207cc913 Fix regression when forgetting classes 2010-01-30 09:28:55 +13:00
Slava Pestov 7c9250d5b2 Minor documentation updates 2010-01-30 09:28:54 +13:00
Slava Pestov 4f1ba2986a classes.mixin: privacy please 2010-01-30 09:28:53 +13:00
Slava Pestov ed7f8341e5 More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov c591988707 classes.algebra: couple more tests 2010-01-30 09:28:53 +13:00
Slava Pestov c178279454 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 37e03d2e01 Trying to fix mixin semantics 2010-01-30 09:28:51 +13:00
Doug Coleman 5c0cf72b1e try-find is just attempt-all. oops 2010-01-28 23:28:11 -06:00
Doug Coleman 4f8f1c2037 add some unit tests for try-find 2010-01-28 23:12:31 -06:00
Doug Coleman b96aa5b025 add try-find for random.windows 2010-01-28 22:44:31 -06:00
Slava Pestov 1e9dc571f2 Fix and clean up stage1 bootstrap 2010-01-28 17:30:35 +13:00
Slava Pestov 0fad658662 core: fix bad interaction between stage1 bootstrap and manifest update code 2010-01-28 03:02:54 +13:00
Slava Pestov 95f2446413 vocabs.parser: a couple of fixes 2010-01-27 23:20:17 +13:00
Slava Pestov 421a244281 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 871eb5fd74 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 43a02cfa7c classes.tuple: tests were changing superclass of vocab tuple 2010-01-27 20:24:33 +13:00
Slava Pestov 6889b0b7f9 vm: 'become' primitive needs to update literal references in code blocks 2010-01-27 18:42:31 +13:00
Daniel Ehrenberg 8f4bd0e7df Merge branch 'master' of git://factorcode.org/git/factor 2010-01-26 14:14:05 -06:00
Daniel Ehrenberg 8837fe5792 Tests for propagation additions; making fixnum-bit? inline 2010-01-25 20:15:17 -06:00
Slava Pestov 34f40c3a72 Various documentation improvements 2010-01-26 01:01:12 +13:00
Doug Coleman 942b907890 move sequence-hashcode-step to private 2010-01-22 16:30:22 -06:00
Doug Coleman 91d816cca7 move (accumulate) to sequences.private 2010-01-22 15:04:13 -06:00
Doug Coleman 8ae200d419 Rename accumulator to collector, pusher to selector 2010-01-22 15:00:53 -06:00
Doug Coleman 5bb6cc9471 Fix image save on Windows 2010-01-22 12:59:36 -06:00
Doug Coleman 9502f6f091 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 b24d8f93da Merge branch 'master' of git://factorcode.org/git/factor 2010-01-20 00:16:55 -06:00
Daniel Ehrenberg 8b04f0f417 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 fc5029aa15 kernel: remove bogus test 2010-01-20 19:13:58 +13:00