Commit Graph

227 Commits (26cbbf1ec1e86530be1cb7b15c000a46151c59eb)

Author SHA1 Message Date
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