about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 2482 - better choice between valid variantsKartik K. Agaram2015-11-273-5/+38
| | | | Literal '0' ingredients should map to numbers before addresses.
* 2481Kartik K. Agaram2015-11-271-2/+1
|
* 2480Kartik K. Agaram2015-11-272-6/+13
| | | | | | | A long-standing question resolved: why specializations sometimes skipped some names. Turns out cleanup is incomplete if Recipe_ordinal and Recipe aren't exactly lined up with each other, and the early exit in new_variant was breaking that constraint.
* 2479 - bugfix: recursive shape-shifting recipesKartik K. Agaram2015-11-271-6/+24
|
* 2478Kartik K. Agaram2015-11-272-4/+4
|
* 2477Kartik K. Agaram2015-11-274-10/+9
|
* 2476Kartik K. Agaram2015-11-274-13/+13
|
* 2475 - allow addresses to be converted to numbersKartik K. Agaram2015-11-275-13/+32
| | | | It's just the other direction we want to avoid.
* 2474 - overload 'copy' and 'equal' for textKartik K. Agaram2015-11-224-18/+16
| | | | 2473 was the final bugfix holding this back.
* 2473 - bad idea to use /raw with multiple intentionsKartik K. Agaram2015-11-2210-30/+34
| | | | | /raw is to express absolute addresses /unsafe is to sidestep type-checking in test setup
* 2472Kartik K. Agaram2015-11-222-14/+0
|
* 2471Kartik K. Agaram2015-11-222-8/+0
|
* 2470 - allow overloading primitive operationsKartik K. Agaram2015-11-221-3/+28
| | | | | | | | | This turned out to be surprisingly easy: rather than try to specify the types expected by each operation, just have primitive instructions go through any other variants and only remain unnamed if no variants pass. All I had to do was stop using contains_key() anywhere on Recipe_variants, so that I could use get_or_insert() rather than get().
* 2469 - start logging all warnings againKartik K. Agaram2015-11-211-4/+2
| | | | | | | | | Since we switched to end() for terminating trace lines, there's a lot less reason to avoid this. We don't nest trace statements either anymore. I'd like to not hide warnings and still be able to make assertions on their absence so that printed warnings also express as failed tests.
* 2468 - overload print-character as just 'print'Kartik K. Agaram2015-11-2119-103/+103
|
* 2467 - rename 'string' to 'text' everywhereKartik K. Agaram2015-11-2118-152/+153
| | | | | | | | Not entirely happy with this. Maybe we'll find a better name. But at least it's an improvement. One part I *am* happy with is renaming string-replace to replace, string-append to append, etc. Overdue, now that we have static dispatch.
* 2466 - eliminate ':string' from scenariosKartik K. Agaram2015-11-215-37/+40
|
* 2465 - improve an error messageKartik K. Agaram2015-11-201-4/+4
| | | | Thanks Caleb Couch.
* 2464: edit/: update errors in shape-shifting recipesKartik K. Agaram2015-11-193-2/+81
| | | | | Requires carefully deleting specializations so that they can be reintroduced each time.
* 2463 - make edit/ robust to errors in client codeKartik K. Agaram2015-11-192-33/+38
|
* 2461Kartik K. Agaram2015-11-191-4/+2
|
* 2460 - headers for remaining recipesKartik K. Agaram2015-11-189-387/+283
|
* 2459Kartik K. Agaram2015-11-182-10/+12
|
* 2458 - edit/: recipe side free of sandbox errorsKartik K. Agaram2015-11-184-2/+48
| | | | | | | | | This is happening because of our recent generic changes, which trigger some post-processing transforms on all recipes even if we processed them before. We could clear 'interactive' inside 'reload' to avoid this, but random 'run' blocks in scenarios can still pick up errors from sandboxes earlier in a scenario. The right place to clear the 'interactive' recipe is right after we use it, in run_code_end().
* 2457Kartik K. Agaram2015-11-173-11/+6
|
* 2456Kartik K. Agaram2015-11-172-4/+27
|
* 2455 - first fix of another batch of crashesKartik K. Agaram2015-11-171-14/+37
|
* 2454Kartik K. Agaram2015-11-1710-29/+36
| | | | | | 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().
* 2453 - bugfix: trailing space after curly bracketKartik K. Agaram2015-11-171-3/+9
| | | | | | | I ran into this when edit/ couldn't handle spaces after curly brackets, even though .mu files could. Turns out edit/ loads code using istringstreams rather than ifstreams, and you can't putback a different character than you read from an istringstream. Craptastic gotcha..
* 2452Kartik K. Agaram2015-11-162-11/+11
|
* 2451 - drop zoom/maximize featureKartik K. Agaram2015-11-151-125/+0
| | | | | | | | | I notice that it isn't working perfectly; after maximize/unmaximize the editor stops wrapping text, like it still thinks the editor is maximized. We don't even use this feature anymore, do we? Just delete it rather than bother debugging.
* 2450 - another pesky bugKartik K. Agaram2015-11-152-0/+23
|
* 2449Kartik K. Agaram2015-11-151-0/+1
|
* 2448Kartik K. Agaram2015-11-151-0/+2
|
* 2447Kartik K. Agaram2015-11-1517-313/+523
|
* 2446 - drop '-duplex' namespacing in recipesKartik K. Agaram2015-11-1513-308/+308
| | | | Great that it just worked after the previous commit.
* 2445 - dispatch between shape-shifting variantsKartik K. Agaram2015-11-155-10/+115
| | | | | Starting to leave debug prints around once again, just in case one of them is worth promoting to the trace..
* 2444Kartik K. Agaram2015-11-152-2/+21
| | | | Yet another bugfix as I trace through the last session with Caleb.
* 2443Kartik K. Agaram2015-11-151-12/+28
| | | | | Another little bit of polish: if a call doesn't do enough for a complete specialization, show a decent error message and above all: don't die!
* 2442Kartik K. Agaram2015-11-156-37/+37
| | | | | | Fix the drawback in the previous commit: if an ingredient is just a literal 0 we'll skip its type-checking and hope to map type ingredients elsewhere.
* 2441 - never miss any specializationsKartik K. Agaram2015-11-158-37/+76
| | | | | | | | | I was failing to specialize calls containing literals. And then I had to deal with whether literals should map to numbers or characters. (Answer: both.) One of the issues that still remains: shape-shifting recipes can't be called with literals for addresses, even if it's 0.
* 2440Kartik K. Agaram2015-11-141-2/+1
| | | | | | In debugging 2438, I spent a while going around in circles trying to decide if there was a stray overload of 'interactive'. Part of the problem was the hacky delete of a recipe just above. Stop doing that.
* 2439 - bugfix: commandline ingredientsKartik K. Agaram2015-11-141-5/+10
|
* 2438 - specialize inside header-less recipesKartik K. Agaram2015-11-142-2/+26
| | | | | | | What was I thinking with 2366? Thanks Caleb Couch. It turned out we couldn't call shape-shifting recipes inside the edit/ or sandbox/ apps.
* 2437Kartik K. Agaram2015-11-141-3/+4
|
* 2436Kartik K. Agaram2015-11-141-2/+2
|
* 2435Kartik K. Agaram2015-11-131-2/+2
|
* 2434Kartik K. Agaram2015-11-131-0/+4
|
* 2433 - temporarily undo 2432Kartik K. Agaram2015-11-134-270/+51
| | | | | | Lessons with Caleb uncovered a problem with type ingredients: I can call shape-shifting recipes like 'push' from the commandline but not inside the edit/ or sandbox/ apps.
* 2432 - first stab at making ingredients immutableKartik K. Agaram2015-11-134-51/+270
| | | | | | | | | | | | | | | The rule is, an address ingredient is only modifiable if: a) it's also a product b) it's /contained-in some other ingredient+product Only if an ingredient is a modifiable can you: a) call get-address or index-address on it (the only way to write to it) b) call other recipes that also return it in a product I still don't check copies of the address. That's next. Core mu passes this check, but none of the example apps do. edit/ and sandbox/ are known to fail.