Commit Graph

19886 Commits (bcbc7632c60680b014d9943f7ac7e3be91e058f6)

Author SHA1 Message Date
Joe Groff bcbc7632c6 fix stack effects in compiler tests 2010-03-08 23:46:20 -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 3abf1f1ef7 stack-checker.row-polymorphism: modify check-variables to enforce non-polymorphic stack effects 2010-03-08 19:44:01 -08:00
Joe Groff 21aa4632c8 refactor stack-checker.row-polymorphism a little 2010-03-08 19:32:25 -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 0f8d77952b Merge branch 'master' of git://factorcode.org/git/factor into row-polymorphism 2010-03-08 18:14:29 -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
Doug Coleman 1669194d04 Fix typedef typo in opencl 2010-03-08 03:39:29 -06:00
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 31d722df7e Merge branch 'master' of git://factorcode.org/git/factor 2010-03-06 14:01:53 -08:00
Joe Groff 211cafed4a tag opencl.* untested 2010-03-06 14:01:26 -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
Samuel Tardieu adcf50514c Use a better heuristic 2010-03-06 14:37:35 +01:00
Samuel Tardieu 0e35c883ae Remove useless USING: 2010-03-06 14:31:46 +01:00
Samuel Tardieu 542096b528 Use distance from math.vectors 2010-03-06 14:14:54 +01:00
Samuel Tardieu eff65915b0 A* algorithm implementation 2010-03-06 13:48:54 +01:00
Joe Groff 17df15280e generalize stack effect of while, until, and produce 2010-03-05 23:01:22 -08:00
Erik Charlebois 3b9d6f64a4 Get the OpenCL driver name right on Linux, confirm test passes 2010-03-05 22:37:10 -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
Erik Charlebois 950f268bad Get OpenCL unit tests passing on Win7/NVidia. 2010-03-03 02:06:58 -08:00
Erik Charlebois 7d9c73c406 Merge branch 'master' of git://github.com/slavapestov/factor 2010-03-03 00:04:17 -08:00