John Benediktsson
12216b1246
core: some more cleanup of USING lists.
2013-03-05 10:48:14 -08:00
John Benediktsson
559b5bfa5b
using the new H{ } make.
2012-07-19 09:50:09 -07: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
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
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
e929d906ce
classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private
2010-02-01 02:48:39 +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
c693587018
classes.algebra: cleanup
2009-11-10 17:41:47 -06:00
Slava Pestov
926c46841b
classes.intersection: make flatten-class more accurate. It is still not perfect, but it fixes the case where a generic word has a method on a tuple class, and another method on an intersection of a mixin with another tuple classes
2009-08-07 22:30:57 -05:00
Doug Coleman
37b9a350cc
swap ... 3append -> surround in core
2008-12-06 18:42:41 -06:00
Slava Pestov
52c5b53e27
Refactoring usages of >r, r>, -rot, rot
2008-11-30 22:21:37 -06:00
Doug Coleman
b1d26e100a
use if/when/unless-empty, docs
2008-09-06 17:10:32 -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
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
14d04a37aa
Help lint fix
2008-05-11 02:12:36 -05:00
Slava Pestov
315110eb09
Working on intersection classes
2008-05-10 18:09:05 -05:00