Doug Coleman
10387f8df9
combinators.smart: Implement reduce-outputs using compose, fix some stack effects, add using
2011-11-28 20:55:10 -08:00
Doug Coleman
664239e1ba
generalizations: Refactor stack-checker so that smart combinators can be used with curry and compose.
2011-11-27 20:25:22 -08:00
Joe Groff
e7c0bada28
stack-checker: update tests
...
[ bi ] infer now hits the row polymorphism checker before it hits the unknown-macro-input checker because of the effect on keep. Change the test to more directly test that call fails with an unknown input.
2011-10-14 15:35:29 -07:00
Joe Groff
608b3c72e0
stack-checker.row-polymorphism: check stack effects correctly when a one-sided polymorphic declared effect is matched to a shallow subtype, for example, ( x -- ..a ) to ( -- ); fixes #88
2011-09-09 18:13:17 -07:00
Slava Pestov
7d792778f5
FFI rewrite part 7: compile callback bodies with the optimizing compiler
2010-07-28 00:49:26 -04:00
Slava Pestov
c840579540
stack-checker: calling 'dispatch' with unbalanced branches generated an error message that erroneously talked about 'if'
2010-04-13 05:24:49 -07:00
Joe Groff
e03ce4b5e1
non-polymorphic input parameter check was too strict: wouldn't allow ( x -- ) for ( x x -- x ), for example
2010-03-09 15:57:00 -08:00
Joe Groff
541c347257
stack-checker.row-polymorphism: modify check-variables to enforce non-polymorphic stack effects
2010-03-08 19:44:01 -08:00
Joe Groff
1b3a92441a
combine unbalanced-branches-error and invalid-quotation-input into one error
2010-03-07 22:23:24 -08:00
Joe Groff
51de9cbb4a
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
c1555cc653
add unit test from quotation that fails to infer during bootstrap.compiler
2010-03-07 20:07:30 -08:00
Joe Groff
352ed41e74
add tests from old row-polymorphism implementation to stack-checker unit tests
2010-03-07 19:13:41 -08:00
Joe Groff
a5291e4702
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
Slava Pestov
184d286d29
Make stack-checker throw proper errors for primitives that do not have static stack effects
2010-01-20 16:37:58 +13:00
Slava Pestov
880fb747fc
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Slava Pestov
ecb9137675
stack-checker: fix unit test
2010-01-07 17:40:23 +13:00
Slava Pestov
058be8ca47
stack-checker: fix error message printed when do-primitive is inferred
2009-11-19 19:43:41 -06:00
Slava Pestov
e0d3878c00
stack-checker: tighten some screws in error reporting
2009-11-09 00:17:24 -06:00
Slava Pestov
f07bb13e88
Fix some test failures
2009-11-06 02:35:43 -06:00
Joe Groff
9a891b4ab6
add missing USING: to stack-checker tests
2009-10-30 20:49:09 -05:00
Daniel Ehrenberg
87ad376e44
Unit tests for inference behavior of call( and execute(
2009-07-14 01:23:21 -05:00
Slava Pestov
c2499cdd55
stack-checker: fix case where invalid code could infer
2009-05-23 15:50:35 -05:00
Slava Pestov
70deacb900
Fix unit tests and load errors for slip removal
2009-05-10 17:03:41 -05:00
Slava Pestov
1dd3ed519f
Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression
2009-04-22 21:03:53 -05:00
Slava Pestov
057f75e9a1
Refactor compiler.tree.builder to fix various regressions
2009-04-21 23:02:00 -05:00
Slava Pestov
05f3f9dcb9
Fixing unit tests for stack effect inference changes
2009-04-20 21:15:19 -05:00
Slava Pestov
8414693142
stack-checker: trust word declarations instead of recursively checking them
2009-04-20 18:44:45 -05:00
Doug Coleman
7a1841f59b
(( -- )) eval -> eval( -- )
2009-04-17 15:49:21 -05:00
Doug Coleman
dba4c0d589
fixing compiler errors in basis
2009-04-17 12:46:04 -05:00
Slava Pestov
8385e9d9f5
Fixing compile errors, test failures and help lint failures
2009-03-23 17:12:41 -05:00
Slava Pestov
8f1240cf96
Forgetting a word doesn't call reset-word anymore, fixing an issue where a word calling a forgotten word wouldn't compile because the 'declared-effect' word prop was not set
2009-03-13 00:40:18 -05:00
Slava Pestov
52fef83061
Fix various unit tests
2009-03-07 15:58:14 -06:00
Slava Pestov
cd53c2bd37
produce and produce-as: don't need third quotation either
2009-02-28 15:31:34 -06:00
Slava Pestov
78ce670101
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-02-28 14:42:56 -06:00
Slava Pestov
11117648ea
Fix stack checker regressions
2009-02-26 23:30:48 -06:00
Samuel Tardieu
da2ebe21a6
Fix two overzealous [ ] removal in tests
2009-02-18 03:06:14 +01:00
Samuel Tardieu
087d931c36
Remove the tail argument from do/until/while
2009-02-18 02:41:14 +01:00
Slava Pestov
53758074a2
stack-checker: do constant folding for curry and compose with constant inputs at compile time. Allows macros to expand in more cases, fixing the fry caveat found by Doug
2009-02-06 10:21:55 -06:00
Slava Pestov
1f29e128c1
io.styles refactoring introduced a load error in io.streams.null; fix that, add docs, and remove unused with-null-stream
2009-01-13 19:25:44 -06:00
Slava Pestov
5fdb474c76
Fixing various test failures and updating some more vocabs for >r/r> removal
2008-12-17 22:29:32 -06:00
Slava Pestov
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
672f9e400e
Better error message
2008-11-17 11:16:32 -06:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Doug Coleman
05779654ec
new accessors
2008-09-02 01:53:55 -05:00
Slava Pestov
74dccc7fbf
Debugging compiler
2008-08-28 22:28:34 -05:00
Slava Pestov
32b762f5ec
Fixing soundness issues with recursive combinators
2008-08-15 04:09:23 -05:00
Slava Pestov
e1987d4af9
Debugging new optimizer
2008-08-14 23:35:19 -05:00
Slava Pestov
48fa2e2d0e
Updating some code
2008-08-12 03:31:48 -05:00
Slava Pestov
f2a5a30c6f
New front-end and high-level optimizer lands
2008-08-12 03:22:45 -05:00