about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* 2797 - bugfix: transform can create recipesKartik K. Agaram2016-03-192-2/+9
| | | | | | | | | | | | | | | | | | | | | When I started to make channels generic in 2784, I introduced an infinite loop when running until just layer 72. This happens because transform_all() can create new recipes while specializing, and these were getting added to Recently_added_recipes and then deleted. I didn't notice until now because layer 91 was clearing Recently_added_recipes soon after. Solution: make calls to transform_all after calls to load_permanently also clear Recently_added_recipes like load_permanently does. No transforms yet create new types. If they do we'll need to start handling the other Recently_added_* variables as well. I should rethink this whole approach of tracking changes to global state while running tests, and undoing such changes. Ideally I wouldn't need to manually track changes for each global. I should just encapsulate all global state in an object, copy it for each test and delete the copy when I'm done.
* 2796Kartik K. Agaram2016-03-191-5/+0
|
* 2795 - quick hacks for CalebKartik K. Agaram2016-03-193-76/+2
| | | | | | | | It turns out that my extensible stash doesn't yet work well in all situations. If you try to stash an array, you end up trying to create an array local that's not statically sized -- a no-no. Bah, just throw it all out.
* 2794Kartik K. Agaram2016-03-191-40/+40
| | | | Arrange for tests to run multiple variants of channel functions.
* 2793 - more fixes to make channels genericKartik K. Agaram2016-03-191-8/+8
| | | | Finally..
* 2792Kartik K. Agaram2016-03-191-0/+1
|
* 2791Kartik K. Agaram2016-03-193-18/+5
| | | | | | | Simplify 2790 by simply not computing any type->value inside parse_type_tree. It now only generates names, and it turns out the consumers handle the absence of values anyway. Now parse_type_tree no longer pollutes the Type_ordinal table with type ingredients.
* 2790Kartik K. Agaram2016-03-194-12/+34
| | | | | | | | The issue alluded to in the previous 2789 is now fixed. I'm not happy with my solution, though. I pollute Type_ordinal with type ingredients in parse_type_tree and simply ignore such entries later on. I'd much rather avoid the pollution in the first place, but I'm not sure how to do that..
* 2789Kartik K. Agaram2016-03-181-0/+10
| | | | | | | | | | | | | | | | | | | Why do earlier unit tests start to fail if I load chessboard.mu fail after correcting the definition of new-channel to be properly generic? I have narrowed it down to a manual test but am still struggling to turn it into a scenario. It looks like the 'new' instruction is the culprit: first transform: load a recipe containing a call to new with a generic type parse_type_tree is called, and pollutes the Type_ordinal table with the generic type second transform: load a generic container containing the same generic type ingredient it fails to be detected as a generic type ingredient To reproduce, compare these two commands: mu test mu test z.mu
* 2788Kartik K. Agaram2016-03-171-5/+5
|
* 2787Kartik K. Agaram2016-03-171-2/+2
| | | | | | *Really* make channels generic. I'd fixed all the call sites in 2785, but forgotten to actually switch the declaration. It works though; generics working smoothly.
* 2788Kartik K. Agaram2016-03-161-0/+27
|
* 2785Kartik K. Agaram2016-03-151-7/+12
|
* 2784 - make channels genericKartik K. Agaram2016-03-144-94/+94
| | | | | | I've ignored Mu's concurrency primitives for a while, but they're starting to return to front-and-center as I work on the file system interfaces.
* 2783 - typo in Readme; thanks John LampingKartik K. Agaram2016-03-141-2/+2
|
* 2782 - directly use string literals everywhereKartik K. Agaram2016-03-1410-78/+38
|
* 2781Kartik K. Agaram2016-03-141-3/+4
|
* 2780Kartik K. Agaram2016-03-141-0/+11
| | | | Automate this manual test I've been using.
* 2779Kartik K. Agaram2016-03-141-3/+0
|
* 2778 - fix all layersKartik K. Agaram2016-03-1417-13/+15
|
* 2777 - pass literal strings into functionsKartik K. Agaram2016-03-133-13/+67
|
* 2776Kartik K. Agaram2016-03-131-8/+7
|
* 2775 - test rewrite-stash transformKartik K. Agaram2016-03-133-1/+19
|
* 2774Kartik K. Agaram2016-03-131-2/+1
| | | | | Ensure we consistently use the same CFLAGS in all invocations of mu from test_all_layers.
* 2773 - switch to 'int'Kartik K. Agaram2016-03-1348-515/+520
| | | | This should eradicate the issue of 2771.
* 2772 - fix all layersKartik K. Agaram2016-03-132-0/+6
|
* 2771 - fix for clang on 32-bit machinesKartik K. Agaram2016-03-132-3/+3
| | | | | | | | | | | Turns out that LLVM/Clang still doesn't support multiplying 64-bit numbers on a 32-bit platform. https://llvm.org/bugs/show_bug.cgi?id=14469 This is just a quick fix, because it turns out I don't have any integer multiplication anywhere else. In the long run I think I'm going to just drop 'long long int' in favor of 'int'. Overflow is less likely than this configuration on somebody's machine.
* 2770 - drop a warning from clang 3.4Kartik K. Agaram2016-03-131-1/+1
| | | | | I'm now running valgrind on my Linux server rather than my Mac laptop. Little less convenient; let's see how it goes.
* 2769 - fix build_and_test_until 043space.ccKartik K. Agaram2016-03-131-3/+3
|
* 2768 - get working in Linux againKartik K. Agaram2016-03-131-0/+2
| | | | Need to start testing every commit on Linux in addition to Mac.
* 2767 - reclaim refcounts for local variablesKartik K. Agaram2016-03-122-0/+36
| | | | | | This uncovered a second bug (besides 2766) -- I was manually doing the work of 'new-fake-console' inside 'assume-console' but forgetting to increment a refcount.
* 2766 - bugfix in reclaiming arraysKartik K. Agaram2016-03-121-1/+14
|
* 2765Kartik K. Agaram2016-03-123-14/+14
| | | | | Get rid of a local variable that was only serving to render unreadable the code for reclaiming allocated memory.
* 2764Kartik K. Agaram2016-03-121-2/+3
|
* 2763Kartik K. Agaram2016-03-121-10/+11
|
* 2762Kartik K. Agaram2016-03-124-5/+5
|
* 2761Kartik K. Agaram2016-03-111-10/+8
|
* 2760Kartik K. Agaram2016-03-112-0/+0
|
* 2759Kartik K. Agaram2016-03-105-316/+19
| | | | Clean up tangle/ helper.
* 2758Kartik K. Agaram2016-03-101-4/+4
|
* 2757Kartik K. Agaram2016-03-101-3/+3
|
* 2756Kartik K. Agaram2016-03-101-6/+6
|
* 2755Kartik K. Agaram2016-03-101-10/+1
|
* 2754Kartik K. Agaram2016-03-101-2/+2
|
* 2753Kartik K. Agaram2016-03-101-3/+3
|
* 2752Kartik K. Agaram2016-03-101-1/+2
|
* 2751Kartik K. Agaram2016-03-103-103/+49
|
* 2750 - take out all philosophy from the ReadmeKartik K. Agaram2016-03-101-197/+61
|
* 2749Kartik K. Agaram2016-03-092-36/+36
|
* 2748Kartik K. Agaram2016-03-092-20/+20
|