Doug Coleman
f66c9cc206
classes.union/maybe: Check the members of the maybe{} in a different way.
2013-03-24 01:10:54 -07:00
Doug Coleman
48638b9188
classes.union: Fix circular reference between multiple definitions. Fixes #420 lol again.
...
Could be cleaner perhaps? I'm not seeing how right now.
2013-03-23 14:59:07 -07:00
Doug Coleman
980d5f44b2
classes.union: Disallow unions to refer to themselves. Fixes #420 lol. Thanks @mrjbq7 for the patch.
2013-03-23 13:18:25 -07:00
John Benediktsson
12216b1246
core: some more cleanup of USING lists.
2013-03-05 10:48:14 -08:00
Doug Coleman
3507b9bad7
classes:
...
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
Doug Coleman
82c5388f68
classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin.
2011-11-22 18:49:42 -08:00
Doug Coleman
cab0369fec
classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods.
2011-11-22 15:12:20 -08:00
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
c731dc6edb
Rename lookup to lookup-word.
2011-11-06 16:00:00 -08:00
Slava Pestov
c14f0ef698
classes.union: unions of built-in types now have more efficient predicates. Fixes #292
2011-10-29 17:11:03 -07:00
Slava Pestov
0f4c5d2bff
classes.algebra: make it work better to fix bug reported by Sascha Matzke
2010-07-29 19:57:23 -04:00
Slava Pestov
09ead56652
Re-work flushed dependencies into new compiler cross-referencing framework
2010-01-30 09:29:00 +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
e6d1388dcc
Clean up class algebra a bit, and change mixins to recompile less, taking advantage of new semantics
2010-01-30 09:28:52 +13:00
Slava Pestov
af41dc6169
Trying to fix mixin semantics
2010-01-30 09:28:51 +13:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Slava Pestov
c693587018
classes.algebra: cleanup
2009-11-10 17:41:47 -06:00
Keith Lazuka
405e5d015b
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Doug Coleman
9a876a5255
remove duplicate usings
2009-08-26 22:23:03 -05:00
Slava Pestov
a0eb60906d
Fix even more usings
2009-05-16 10:45:17 -05:00
Doug Coleman
7a1841f59b
(( -- )) eval -> eval( -- )
2009-04-17 15:49:21 -05:00
Doug Coleman
aad6a3d504
fixing compiler error in core
2009-04-17 12:45:57 -05:00
Slava Pestov
a23a6a2870
Forgetting a predicate class now updates predicate-instance? word
2009-03-13 04:22:16 -05:00
Slava Pestov
667eca9410
Fix unit tests and help lint for 'see' move
2009-03-11 17:33:54 -05: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
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Doug Coleman
b1d26e100a
use if/when/unless-empty, docs
2008-09-06 17:10:32 -05:00
Slava Pestov
4cb64aaeb8
Fixing unit tests for eval word being moved
2008-07-29 00:05:01 -05:00
Slava Pestov
a8b826e8ed
Fix hang
2008-07-05 17:08:01 -05:00
Slava Pestov
44c1c1f679
Move tuple-class to classes.tuple where it belongs
2008-07-05 00:59:39 -05:00
Slava Pestov
07d2dc58cd
Fix unit test
2008-07-04 01:32:38 -05:00
Slava Pestov
091484de98
Fix ERROR:, erg's mixin bug
2008-07-04 01:32:11 -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
6e0d35e615
Split up huge parser vocabulary
2008-06-25 03:25:08 -05:00
Slava Pestov
ba8f1388ab
Fixing everything for mandatory stack effects
2008-06-09 02:14:14 -05:00
Slava Pestov
315110eb09
Working on intersection classes
2008-05-10 18:09:05 -05:00
Slava Pestov
5a29b2e273
Class linearization
2008-05-02 02:51:38 -05:00
Slava Pestov
f2440381cd
More documentation updates
2008-04-03 21:29:49 -05:00
Slava Pestov
93d9722a6b
Fix class resetting
2008-04-03 00:21:53 -05:00
Slava Pestov
7a596ce004
Debugging inheritancE
2008-04-02 02:44:10 -05:00
Slava Pestov
f5e2389c04
Clean up tuple code and get hierarchy changes working
2008-03-29 02:46:29 -05:00
Slava Pestov
d8abb49a9b
Working on classes
2008-03-28 22:59:48 -05:00
Slava Pestov
690621ffb6
Change PREDICATE: syntax
2008-03-26 18:23:19 -05:00
Doug Coleman
d0b348591a
path+, prepend
2008-03-19 19:15:43 -05:00
Slava Pestov
bb3468dc2b
Fixing interaction between mixin classes and forget
2008-02-17 17:08:16 -06:00
Slava Pestov
dee25cda13
New generic word implementation reduces compile time
2008-02-04 16:20:07 -06:00
Slava Pestov
60290fbf52
Fix littledan bug #2
2008-01-31 00:49:18 -06:00
Slava Pestov
3b311d3cb7
definition observers; move with-compilation-unit and related support to compiler.units
2008-01-09 04:52:08 -05:00