about summary refs log tree commit diff stats
path: root/077hash.cc
Commit message (Collapse)AuthorAgeFilesLines
* 2703Kartik K. Agaram2016-02-251-1/+1
|
* 2701 - turn some warnings into errorsKartik K. Agaram2016-02-251-1/+1
| | | | | | | 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.
* 2685Kartik K. Agaram2016-02-221-1/+1
|
* 2678Kartik K. Agaram2016-02-201-1/+1
| | | | | | | 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.
* 2685Kartik K. Agaram2016-02-191-2/+2
| | | | | | | | | | | | | | | | 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.
* 2680Kartik K. Agaram2016-02-191-1/+1
| | | | Memory leaks fixed.
* 2668 - add an escape hatch for 'hash'Kartik K. Agaram2016-02-171-0/+21
| | | | | | | | 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.
* 2667 - redo container data structureKartik K. Agaram2016-02-171-1/+1
| | | | I've been gradually Greenspunning reagents. Just go all the way.
* 2664 - 'hash' any typeKartik K. Agaram2016-02-161-3/+339
| | | | | | 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.
* 2662 - rewrite 'hash' in C++Kartik K. Agaram2016-02-151-0/+36
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.