about summary refs log tree commit diff stats
path: root/055parse_tree.cc
Commit message (Collapse)AuthorAgeFilesLines
* 2681 - drop reagent types from reagent propertiesKartik K. Agaram2016-02-211-5/+10
| | | | | | | | | | | | | | | | | All my attempts at staging this change failed with this humongous commit that took all day and involved debugging three monstrous bugs. Two of the bugs had to do with forgetting to check the type name in the implementation of shape-shifting recipes. Bug #2 in particular would cause core tests in layer 59 to fail -- only when I loaded up edit/! It got me to just hack directly on mu.cc until I figured out the cause (snapshot saved in mu.cc.modified). The problem turned out to be that I accidentally saved a type ingredient in the Type table during specialization. Now I know that that can be very bad. I've checked the traces for any stray type numbers (rather than names). I also found what might be a bug from last November (labeled TODO), but we'll verify after this commit.
* 2689 - consistently use s-exp syntax in tracesKartik K. Agaram2016-02-191-3/+3
|
* 2576 - distinguish allocated addresses from othersKartik K. Agaram2016-01-191-1/+1
| | | | | | | | | | | | | | | | This is the one major refinement on the C programming model I'm planning to introduce in mu. Instead of Rust's menagerie of pointer types and static checking, I want to introduce just one new type, and use it to perform ref-counting at runtime. So far all we're doing is updating new's interface. The actual ref-counting implementation is next. One implication: I might sometimes need duplicate implementations for a recipe with allocated vs vanilla addresses of the same type. So far it seems I can get away with just always passing in allocated addresses; the situations when you want to pass an unallocated address to a recipe should be few and far between.
* 2573 - check product type of 'new'Kartik K. Agaram2016-01-191-3/+6
| | | | | | | | | | | I realize that my current doesn't allow nesting a:b:c linear type syntax inside a dilated property. So you can't currently say: (recipe address:number) Need to fix that at some point. Non-trivial since linear syntax is oblivious to dilated syntax. I should probably make the dilated syntax more fundamental and introduce it at an earlier layer.
* 2614 - still fixing bugs with missing '['Kartik K. Agaram2015-12-021-3/+2
| | | | | | When skipping past some text (usually whitespace, but also commas and comments) I need to always be aware of whether it's ok to switch to the next line or not.
* 2454Kartik K. Agaram2015-11-171-2/+2
| | | | | | Another gotcha uncovered in the process of sorting out the previous commit: I keep using eof() but forgetting that there are two other states an istream can get into. Just never use eof().
* 2385 - tests passing until layer 58Kartik K. Agaram2015-11-071-2/+7
|
* 2362Kartik K. Agaram2015-11-041-0/+1
| | | | | | Now we try to be smarter about checking for presence in the Type array. Still can't get generic duplex-list to work.
* 2352Kartik K. Agaram2015-11-041-1/+1
|
* 2351 - support arbitrary type trees in 'new'Kartik K. Agaram2015-11-041-0/+12
| | | | In the process we also convert types to sizes before we start running.
* 2307Kartik K. Agaram2015-10-281-0/+5
|
* 2293Kartik K. Agaram2015-10-271-11/+22
|
* 2291 - parsing property treesKartik K. Agaram2015-10-271-0/+47