Daniel Ehrenberg
4aa3e2135a
Unit tests for inference behavior of call( and execute(
2009-07-14 01:23:21 -05:00
Daniel Ehrenberg
47500fad06
call( and execute( inline known quotations/words in the propagation pass
2009-07-14 01:12:45 -05:00
Daniel Ehrenberg
500c784bd7
Minor reorganization of stack-checker.call-effect
2009-07-10 01:05:03 -05:00
Daniel Ehrenberg
23b8f48267
stack-checker.known-words:infer-special uses a word property
2009-07-10 00:52:08 -05:00
Slava Pestov
0068a3d965
stack-checker: fix doc typo reported by OneEyed
2009-06-21 15:11:41 -05:00
Doug Coleman
407377fc98
rename peek -> last and update all usages
2009-05-25 16:38:33 -05:00
Slava Pestov
43a1834e0b
stack-checker: fix case where invalid code could infer
2009-05-23 15:50:35 -05:00
Slava Pestov
66a9416473
Update documentation for stricter vocabulary search path semantics
2009-05-16 00:29:21 -05:00
Slava Pestov
fb6df472a2
Cleaning up USING: lists for new strict semantics
2009-05-14 16:54:16 -05:00
Slava Pestov
65faa3fda3
Fix unit tests and load errors for slip removal
2009-05-10 17:03:41 -05:00
Slava Pestov
a366909c25
Removing slip usage from basis
2009-05-10 15:28:22 -05:00
Slava Pestov
029d93a838
Make walker work better with call( and breakpoints which are nested inside combinators
2009-05-05 09:12:32 -05:00
Slava Pestov
a63ad6a7a5
Remove cruddy string encoding/decoding code from VM
2009-05-02 13:45:38 -05:00
Slava Pestov
05ecd04e2f
macro call sites don't need an inlined-dependency on the macro
2009-05-01 05:52:34 -05:00
Slava Pestov
9d1c4f39a8
Some gold plating
2009-05-01 02:03:22 -05:00
Slava Pestov
a70a2c0e31
Fix some test failures and add an unportable tag
2009-04-30 22:56:15 -05:00
Slava Pestov
e5cdb7ac2d
call( fast-path now supports curry and compose
2009-04-30 21:08:29 -05:00
Slava Pestov
a79e3eb687
Passing an invalid parameter to 'declare' doesn't break the compiler anymore
2009-04-30 20:40:47 -05:00
Slava Pestov
fc4894fbdf
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
2009-04-30 00:27:35 -05:00
Slava Pestov
5f6c074edd
Split up types.c/h into smaller files, remove optimized slot from F_WORD struct
2009-04-28 17:26:11 -05:00
Slava Pestov
e940f6fd8b
Add method dispatch statistics
2009-04-28 16:58:05 -05:00
Slava Pestov
7e84daf0f1
Move (execute) to kernel.private
2009-04-26 02:42:37 -05:00
Slava Pestov
356537593e
Get rid of execute-unsafe now that (execute) is more versatile
2009-04-25 21:50:34 -05:00
Slava Pestov
7aa65b5b5f
Fixing new method dispatch implementation
2009-04-25 19:41:27 -05:00
Slava Pestov
3dc9fdf9db
Fleshed out new dispatch code
2009-04-24 20:43:01 -05:00
Slava Pestov
8c5b0373a8
Working on new method dispatch system
2009-04-24 15:31:06 -05:00
Slava Pestov
5649cc7a0a
Compiler warnings are no more
2009-04-23 22:17:25 -05:00
Slava Pestov
c2fe2a4fea
Improve stack checker documentation
2009-04-23 03:48:32 -05:00
Slava Pestov
57e1de5181
stack-checker.transforms doesn't need make anymore
2009-04-22 21:26:55 -05:00
Slava Pestov
d3cffcbee2
Slightly more efficient compilation of 'new'
2009-04-22 21:26:22 -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
20ca578ed1
stack-checker.transforms: fix tests
2009-04-22 04:21:15 -05:00
Slava Pestov
28b9e474dd
Set more no-compile word props
2009-04-21 23:18:19 -05:00
Slava Pestov
057f75e9a1
Refactor compiler.tree.builder to fix various regressions
2009-04-21 23:02:00 -05:00
Slava Pestov
469c9ee21d
Debugging stack checking
2009-04-21 16:09:53 -05:00
Slava Pestov
f38d2f91f6
Words which didn't compile cannot be run at all
2009-04-20 22:05:41 -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
Slava Pestov
5165d811d5
Changing the stack effect of a generic word could break the compiler
2009-04-20 04:21:00 -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
65b27354ad
Merge branch 'master' into smarter_error_list
2009-04-14 15:07:22 -05:00
Slava Pestov
e595576dc3
Make more words infer
2009-04-12 23:01:14 -05:00
Slava Pestov
c4be8bd65a
Refactor error code so that error types are registered; listener prints a summary of errors
2009-04-12 16:08:46 -05:00
Slava Pestov
0fda643ab1
Optimizing string>number
2009-04-11 20:30:51 -05:00
Slava Pestov
8290624733
Macro expansion errors are now wrapped
2009-04-10 07:08:16 -05:00
Slava Pestov
0a7485190b
compile-error-type => source-error-type; make test failures global
2009-04-10 03:52:12 -05:00
Slava Pestov
7adb76aaf4
Factor out some compiler error code into source-files.errors
2009-04-09 04:50:38 -05:00
Slava Pestov
2b384a7742
Re-organize some error-related code, three-pane look for compiler errors tool, add Joe's icons
2009-04-08 23:05:45 -05:00
Slava Pestov
07f585a81d
Error list tool work in progress
2009-04-06 15:24:21 -05:00
Slava Pestov
9907bd9fe2
Add fseek primitive so that c-streams can seek. This lets the UI work without native IO
2009-04-03 10:16:25 -05:00
Slava Pestov
b53960dace
Add compiler transform for index with a literal sequenc
2009-03-27 20:05:23 -05:00
Doug Coleman
8b7fcce399
update code for usages of add-library
2009-03-25 23:00:19 -05:00
Slava Pestov
8385e9d9f5
Fixing compile errors, test failures and help lint failures
2009-03-23 17:12:41 -05:00
Slava Pestov
385892be64
Make the member? transform better
2009-03-21 03:10:21 -05:00
Slava Pestov
bb92336fb8
Change a throw to a rethrow
2009-03-18 19:44:38 -05:00
Slava Pestov
2ed97f5a24
Various fixes for call(
2009-03-17 18:53:44 -05:00
Slava Pestov
786475102d
Make more code infer
2009-03-17 02:19:50 -05:00
Slava Pestov
e981090045
Inline caching for call(
2009-03-16 23:02:55 -05:00
Slava Pestov
be4fb1e7d9
Move call( and execute( to core
2009-03-16 20:11:36 -05:00
Slava Pestov
1559b74640
Add new check-datastack primitive and re-implement call( with it, instead of using with-datastack. call( is now 5x faster
2009-03-16 06:16:51 -05:00
Slava Pestov
06f29ab7e4
give-up-transform now uses a cached stack effect. Slight performance improvement when compiling calls to member? with a non-literal quotation
2009-03-13 04:28:24 -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
21f8ba2917
Change another throw to rethrow in stack checker
2009-03-11 03:17:06 -05:00
Slava Pestov
52fef83061
Fix various unit tests
2009-03-07 15:58:14 -06:00
Slava Pestov
7b9491066c
Fix conflict in images vocab
2009-03-04 21:43:56 -06:00
Slava Pestov
74573c65f5
Change a throw to rethrow so that we don't lose the original stack trace
2009-03-04 21:38:05 -06:00
Slava Pestov
ca7a155b72
Merge branch 'master' into new_ui
2009-03-01 20:13:05 -06:00
Slava Pestov
03cb32ad9c
Make execute( faster, add execute-unsafe( and make effect tuple slots read only
2009-03-01 20:12:35 -06:00
Slava Pestov
25a877e50b
Merge OneEyed's patch
2009-02-28 17:06:55 -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
45dae72f4a
Merge branch 'master' into new_ui
2009-02-26 23:31:36 -06:00
Slava Pestov
11117648ea
Fix stack checker regressions
2009-02-26 23:30:48 -06:00
Slava Pestov
e0cfad4676
Merge branch 'master' into new_ui
2009-02-26 14:27:55 -06:00
Slava Pestov
3f70bb3b22
Update docs for improved error reporting
2009-02-26 13:41:50 -06:00
Slava Pestov
c8d5e98898
Fix conflicts
2009-02-26 03:12:19 -06:00
Slava Pestov
efede19571
Make some errors better in the stack checker
2009-02-26 01:25:13 -06:00
Slava Pestov
ce1bc1d6ed
Fixing conflicts from stack checker changes
2009-02-24 01:21:10 -06:00
Slava Pestov
91d0c4ed1f
Fix conflict
2009-02-22 20:02:13 -06:00
Doug Coleman
990513db60
use CONSTANT: in basis
2009-02-22 19:13:08 -06:00
Slava Pestov
b4a61114e1
Merge branch 'master' into new_ui
2009-02-19 13:36:32 -06:00
Slava Pestov
60134eeb98
Documentation fixes
2009-02-19 13:35:53 -06:00
Slava Pestov
5e19766330
Fix conflict
2009-02-18 22:20:05 -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
Doug Coleman
b3e3c74561
add ; to word definition in stack-checker docs
2009-02-17 11:40:50 -06:00
Slava Pestov
421ee726b8
Merge branch 'master' into new_ui
2009-02-16 21:22:12 -06:00
Slava Pestov
6b25e99470
Add summary for heaps more vocabs
2009-02-16 21:05:13 -06:00
Slava Pestov
43e6a6987a
Fix circularity
2009-02-10 16:42:35 -06: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
3166828f75
Fix bug reported by Doug: smart combinators and inline words didn't mix very well in some cases
2009-02-06 04:38:54 -06:00
Slava Pestov
cd77ecfab3
'case' didn't work if the default was a non-quotation callable, like a curry; this could come up with macro expansion. Bug reported by Dan
2009-02-04 02:41:30 -06:00
slava
e29f18a2f4
Trying to fix a bad merge...
...
Revert "Merge branch 'master' of git://factorcode.org/git/factor"
This reverts commit da639739bd
, reversing
changes made to 346a61f497
.
2009-02-03 00:27:34 -06:00
Doug Coleman
3c408342ef
renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail
2009-01-29 22:19:07 -06:00
Slava Pestov
f1d20719b2
inferred-effect word prop is just a boolean now, not an effect object
2009-02-23 20:51:14 -06:00
Slava Pestov
1951d739a0
Stack effect declarations are mandatory on all words now
...
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Slava Pestov
a9ef525aed
Help lint fixes for stricter help lint
2009-01-27 04:12:37 -06:00
Slava Pestov
60f36cd9c8
Update user-space code for modify-code-heap primitive change
2009-01-24 20:17:11 -06:00
Slava Pestov
bf5ff11720
Update usages of all-equal? now that its in the grouping vocab
2009-01-16 15:14:30 -06:00