Commit Graph

95 Commits (fac17c10ba5c3d938f4b94c4b71fece455cffe78)

Author SHA1 Message Date
Doug Coleman fac17c10ba classes.maybe: move maybe definition from classes.union to classes.maybe 2011-11-22 02:46:36 -08:00
Doug Coleman 067f9830ef classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Doug Coleman bf8bf46d16 Update docs for lookup-method. 2011-10-03 15:55:53 -07:00
Doug Coleman 181f11faa8 Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229. 2011-10-03 15:49:49 -07:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Slava Pestov ae25cfe712 Get foldable and flushable declarations working on typed words 2010-02-24 00:16:55 +13:00
Slava Pestov df55fed478 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +13:00
Slava Pestov c027046857 New 'conditional dependency' mechanism for more accurate recording of recompilation information 2010-01-30 09:28:57 +13:00
Slava Pestov 830e25c70b More changes so that mixins trigger even less recompilation 2010-01-30 09:28:53 +13:00
Slava Pestov 1debfb9398 generic: cleanup 2009-09-24 06:24:52 -05:00
Slava Pestov 962d039852 Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster 2009-09-21 17:42:20 -05:00
Slava Pestov 5b53562c7b Add better error checking for INSTANCE: and GENERIC#, and remove unnecessary word props when generic word's combination changes 2009-04-28 17:56:15 -05:00
Slava Pestov 48e70b65fa Move cross-referencing stuff to tools.crossref since compiler doesn't depend on it anymore, and compute cross-referencing index as needed; reduces image size by ~4Mb 2009-04-22 04:20:38 -05:00
Slava Pestov e595576dc3 Make more words infer 2009-04-12 23:01:14 -05:00
Slava Pestov 7bf0a46d3d Updating tests for method-spec removal 2009-04-06 04:16:39 -05:00
Slava Pestov 268abfcf2a Remove method-specs in favor of M\ 2009-04-06 02:59:59 -05:00
Slava Pestov 6c0986f8b2 Add definition mixin in definitions vocab to replace hard-coded union in ui.tools.operations; add ?execute to kernel to replace dup word? [ execute ] when calls in unicode.breaks and opengl 2009-03-26 21:27:45 -05:00
Slava Pestov 6080c6e734 Fix stack effect redefinition 2009-03-22 20:16:31 -05:00
Slava Pestov 4fc2182ac8 define-generic and define-simple-generic now take stack effect parameters; math-combination is a singleton instead of a tuple 2009-03-22 18:00:26 -05:00
Slava Pestov bf41b187b0 Re-organize code so that with-compilation-unit can infer
Fix with-compilation-unit to work in deployed code
2009-03-13 19:39:32 -05:00
Slava Pestov bfb6b4642a Consultations now implement the definition protocol; removing one from a source file forgets consulted methods 2009-03-07 00:42:43 -06:00
Slava Pestov 37bc52afa8 Redefining methods didn't always update callers if more than one method on the same generic was redefined in a compilation unit 2009-03-06 23:33:30 -06:00
Slava Pestov ec186a23dc Make watch and other annotations work on method-specs. { world graft* } watch 2009-03-06 13:32:07 -06:00
Slava Pestov f34c14a0f5 Remove some usages of tuck 2009-01-23 18:20:47 -06:00
Doug Coleman 0e14f767ee core: swap 3append -> glue 2008-12-03 19:12:48 -06:00
Slava Pestov 817510cdb9 Another attempt at size reduction 2008-11-28 01:08:16 -06:00
Slava Pestov 3e7afcac29 (call-next-method) now takes a method instead of a class and a generic 2008-11-22 19:57:25 -06:00
Slava Pestov 4858a2ea74 Simplify inline? now that generic words can't be inline anymore 2008-11-13 09:33:18 -06:00
Slava Pestov cdb5c30bd3 Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time 2008-11-03 03:51:28 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov e1a2bfc048 Oops 2008-10-01 08:38:50 -05:00
Slava Pestov 34952ff5c4 Faster call-next-method 2008-10-01 08:20:49 -05:00
Slava Pestov 44f53de164 Move make to its own vocabulary, remove fry _ feature 2008-09-10 20:07:00 -05:00
Slava Pestov 7bc32975ee Fix erg's bug 2008-09-03 23:38:32 -05:00
Slava Pestov 3b24b52673 Omit default method from usage lists 2008-09-01 04:32:26 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 3cef7c9992 Smarter usage tracking system 2008-08-30 02:31:27 -05:00
Slava Pestov 85cdb1b767 Working on new compiled usage strategy; old one was wrong 2008-08-30 00:05:27 -05:00
Slava Pestov 74dccc7fbf Debugging compiler 2008-08-28 22:28:34 -05:00
Slava Pestov 91059b4ad6 Documentation update 2008-08-23 20:24:54 -05:00
Slava Pestov 6726b0b920 Fix typo 2008-07-29 21:31:58 -05:00
Slava Pestov ac2bf0b87d Adding inline recursive declarations 2008-07-18 19:22:59 -05:00
Slava Pestov 3b41e31584 More tuple declaration work 2008-06-29 21:37:57 -05:00
Slava Pestov 0be00f03e6 Mirrors now check sot t slot types, support type coercion for setters, instance? now infers, better transform for 'new', more efficient 'case' where keys are all wrappers 2008-06-29 02:12:44 -05:00
Slava Pestov b36e06d0d6 Builtinn types now use new slot accessors; tuple slot type declaration work in progress 2008-06-28 02:36:20 -05:00
Slava Pestov 685d53e264 Add gather word; faster 'implementors' using inverted index 2008-06-12 05:49:46 -05:00
Slava Pestov c1509d5fe5 Fix more redefinition problems 2008-06-11 20:46:53 -05:00
Slava Pestov 80720cea0d More redefinition fixes 2008-06-11 17:40:33 -05:00
Slava Pestov c95851e34f Bug fixes and cleanups 2008-06-11 02:58:38 -05:00
Slava Pestov ba8f1388ab Fixing everything for mandatory stack effects 2008-06-09 02:14:14 -05:00