| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
I really have only one warning left: when somebody redefines a function.
I think I'm going to just turn that into an error as well and drop the
notion of warnings altogether. Anytime we find something wrong we stop
running the program. This is a place where hygiene is justified.
|
| |
|
|
|
|
|
|
|
| |
Start using type names from the type tree rather than the property tree
in most places. Hopefully the only occurrences of
'properties.at(0).second' left are ones where we're managing it. Next we
can stop writing to it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stack of plans for cleaning up replace_type_ingredients() and a couple
of other things, from main problem to subproblems:
include type names in the type_tree rather than in the separate properties vector
make type_tree and string_tree real cons cells, with separate leaf nodes
redo the vocabulary for dumping various objects:
do we really need to_string and debug_string?
can we have a version with *all* information?
can we have to_string not call debug_string?
This commit nibbles at the edges of the final task, switching from
member method syntax to global function like almost everything else. I'm
mostly using methods just for STL in this project.
|
|
|
|
| |
Memory leaks fixed.
|
|
|
|
|
|
|
|
| |
If you don't want a field of a container to be included in its hash, use
the /ignore-for-hash property.
This property only works for containers, not exclusive-containers or
arrays. Mu will warn if you misuse it.
|
|
|
|
| |
I've been gradually Greenspunning reagents. Just go all the way.
|
|
|
|
|
|
| |
This is smart enough to only look at data and ignores internal
book-keeping like addresses, refcounts and floating-point details.
Though the last is not ideal yet.
|
|
Since it needs specialized non-overflowing types like unsigned long
long, my plan is to eventually write it in straight machine code using
Mu primitives to make that a slightly nicer process. Hopefully we'll
need to deal with machine types only for a tiny set of crucial
primitives and it won't be too painful to drop down to machine code for
them.
|