Commit Graph

19865 Commits (8159a191877ff24d0a1081abbeac76b25b46ef24)

Author SHA1 Message Date
Joe Groff 8159a19187 combine unbalanced-branches-error and invalid-quotation-input into one error 2010-03-07 22:23:24 -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 9e6f84bc24 declare effect on inputs to infer-if in non-literal case, so we get a better error than "unbalanced drop call/nip call" 2010-03-07 21:37:24 -08:00
Joe Groff 6689113519 unify inner-d-index when unifying branches; close a few other leaks where meta-d could have been popped without updating inner-d-index 2010-03-07 20:44:50 -08:00
Joe Groff 66687d6b21 reuse @ and _ from fry in placeholders for invalid-quotation-input errors rather than making our own redundant placeholder symbols 2010-03-07 20:08:35 -08:00
Joe Groff f353b13bbc add unit test from quotation that fails to infer during bootstrap.compiler 2010-03-07 20:07:30 -08:00
Joe Groff 4cd6ad840d add tests from old row-polymorphism implementation to stack-checker unit tests 2010-03-07 19:13:41 -08:00
Joe Groff 1512ed12f3 further improve error message for invalid quotation inputs using a table display with the actual quotation effects determined so far 2010-03-07 18:40:58 -08:00
Joe Groff ea4545e366 improve error message for invalid quotation inputs by referencing each declared-effect to its other references 2010-03-07 18:27:55 -08:00
Joe Groff 011a39457e clear away some rebar 2010-03-07 18:11:44 -08:00
Joe Groff 83c81b288f polymorphize splitting private combinators 2010-03-07 18:07:59 -08:00
Joe Groff 6b9a79159d tweak declared-effect to wrap the existing known instead of introducing a new value, so we don't confuse the compiler 2010-03-07 18:07:42 -08:00
Joe Groff b14d59030f add stack variable unification to M\ declared-effect infer-call* 2010-03-07 17:51:41 -08:00
Joe Groff bbbda64ee7 add a with-effect-here combinator that determines the effect of a scoped subset of the stack checker 2010-03-07 16:54:25 -08:00
Joe Groff 63ad397cc1 tweak recursive call site checking to consider declared-effects equivalent to their wrapped values 2010-03-07 11:55:47 -08:00
Joe Groff 339cc8f04e row polymorphism new approach: wrap polymorphic quotation inputs in a "declared-effect" value. M\ declared-effect infer-call* will then assert the effect of declared-effect values during the normal course of stack inference 2010-03-07 11:54:57 -08:00
Joe Groff 68dd644233 add unit test to show that polymorphic check breaks inference of inline recursive words 2010-03-06 12:28:09 -08:00
Joe Groff 17df15280e generalize stack effect of while, until, and produce 2010-03-05 23:01:22 -08:00
Joe Groff 9571bf6d4b give terminating stack effects a pass in the polymorphic checker 2010-03-05 21:51:38 -08:00
Joe Groff 48b433750b clean up polymorphic stack effects in fuel 2010-03-05 21:51:13 -08:00
Joe Groff 15e6a7fa5e move error summaries for effect parsing errors to debugger vocab 2010-03-05 21:50:40 -08:00
Joe Groff 26e4bb818a reuse infer-call* for polymorphic inference, which handles curried quotations. tests can pass with real "each" etc. now 2010-03-05 15:20:55 -08:00
Joe Groff c9162c5e31 fix stack error in stack-checker.row-polymorphism 2010-03-05 14:34:50 -08:00
Joe Groff af57d4dfa9 fix ... in compiler.cfg.linearization 2010-03-05 14:27:58 -08:00
Joe Groff 4892bf1d47 refactor stack-checker slightly to fix circular dependency 2010-03-05 14:27:36 -08:00
Joe Groff ff2a53e1b8 clean up now-inappropriate uses of "..." in generalizations stack effects 2010-03-05 13:58:00 -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 1b1ccb71a4 make tests pass 2010-03-04 22:43:01 -08:00
Joe Groff 053ba583fc improve error reporting 2010-03-04 21:51:49 -08:00
Joe Groff 31640ea9c6 nested scopes were messing up stack checker state 2010-03-04 20:15:26 -08:00
Joe Groff 23de281186 initial implementation of row-polymorphism check 2010-03-04 19:30:08 -08:00
Joe Groff afaaf30679 Merge branch 'lexer-parsing-word-errors' 2010-03-02 20:46:23 -08:00
Joe Groff 444fa7668c Merge branch 'master' of git://factorcode.org/git/factor 2010-03-02 15:25:06 -08:00
Joe Groff 2e4ebc0182 needlessly rice game.input backends further by using set/get-global everywhere 2010-03-02 15:24:47 -08:00
Doug Coleman 8ef279e020 Fix load error in calendar 2010-03-02 11:38:35 -06:00
Doug Coleman 3faa1a57d3 Add a parsing word to output slots to the stack instead of to an array 2010-03-02 04:51:52 -06:00
Doug Coleman b059ade5ed Use TYPED: in a few places in calendar.format to avoid passing durations instead of timestamps 2010-03-02 04:31:17 -06:00
Doug Coleman 55c606f274 Remove year/month/day words because they're dumb and confusing 2010-03-02 04:20:40 -06:00
Joe Groff 4159cfcc7b game.input.*: factor out callback implementations to separate words so they optimize 2010-03-01 23:29:26 -08:00
Doug Coleman 55e772c528 Remove the http-data word 2010-03-01 22:32:15 -06:00
Joe Groff 1c08fde381 yay C89 2010-03-01 17:56:17 -08: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 6d81d1eaaa windows.directx.d3d9: a method was missing argument names 2010-02-28 23:11:43 -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 702c4df0da Merge branch 'master' of git://factorcode.org/git/factor 2010-02-28 20:25:26 -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 bde65fe2d0 windows.com: update COM-INTERFACE: to parse incrementally 2010-02-28 19:30:15 -08:00