about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 3658Kartik K. Agaram2016-11-101-23/+23
|
* 3657 - better error messageKartik K. Agaram2016-11-102-3/+15
| | | | Thanks Ella Couch for reporting this.
* 3656Kartik K. Agaram2016-11-1020-79/+92
| | | | | | | | | | | | | | Periodic cleanup to replace 'reply' with 'return' everywhere in the repo. I use 'reply' for students to help reinforce the metaphor of function calls as being like messages through a pipe. But that causes 'reply' to get into my muscle memory when writing Mu code for myself, and I worry that that makes Mu seem unnecessarily alien to anybody reading on Github. Perhaps I should just give it up? I'll try using 'return' with my next student.
* 3655Kartik K. Agaram2016-11-081-1/+1
|
* 3654Kartik K. Agaram2016-11-088-41/+68
| | | | | | | | Follow-up to commit 3321: move get_base_type() more thoroughly to layer 55. The notion of a base_type doesn't really make sense before we introduce type ingredients and shape-shifting containers, and it simplifies early layers a *lot* even including the cost of that *ugly* preamble in layer 55 to retrofit all the places.
* 3653Kartik K. Agaram2016-11-085-5/+27
| | | | | | | | | Don't crash on bad types. I need to be more careful in distinguishing between the two causes of constraint violations: bad input and internal bugs. Maybe I should create a second assert() to indicate "this shouldn't really be an assert, but I'm too lazy to think about it right now."
* 3652Kartik K. Agaram2016-11-084-14/+23
| | | | | size_of(type_tree*) is a mess; clean it up with an eye to the final tangled version.
* 3651Kartik K. Agaram2016-11-082-2/+29
| | | | | | I was under the impression that I only needed static array lengths for container members, but these are *payload* types for allocations. So we need to compute the size of a dynamic array.
* 3650 - first of a couple of holes in refcountingKartik K. Agaram2016-11-081-0/+58
| | | | We weren't checking within (static) array elements for addresses.
* 3649Kartik K. Agaram2016-11-081-6/+0
|
* 3648Kartik K. Agaram2016-11-081-1/+1
|
* 3647Kartik K. Agaram2016-11-081-2/+3
|
* 3646Kartik K. Agaram2016-11-071-22/+22
|
* 3645Kartik K. Agaram2016-11-074-40/+26
| | | | | | Extract a helper to compute the element type of an array. As a side effect, the hack for disambiguating array:address:number and array:number:3 is now in just one place.
* 3644Kartik K. Agaram2016-11-072-71/+80
| | | | Eject some array-related code out of the container layer.
* 3643Kartik K. Agaram2016-11-0714-31/+31
| | | | | Standardize on calling literate waypoints "Special-cases" rather than "Cases". Invariably there's a default path already present.
* 3642Kartik K. Agaram2016-11-0610-119/+167
|
* 3641Kartik K. Agaram2016-11-061-2/+3
|
* 3640Kartik K. Agaram2016-11-061-10/+7
|
* 3639Kartik K. Agaram2016-11-061-8/+8
| | | | | Following commit 3637, rename another auxiliary variable with our new convention.
* 3638Kartik K. Agaram2016-11-061-16/+15
| | | | Reorder a couple of nonsensically-placed fragments.
* 3637 - better 'missing type ingredient' errorsKartik K. Agaram2016-11-064-81/+81
| | | | | | | | | | | | Programming languages need some higher-level language construct that's neither an interface nor a class nor an object but a *collection of mutually recursive functions with a well-defined set of entry points and common ingredients. Perhaps the solution here is the Haskell "save your boilerplate" paper. For now I'm going to include the purpose in auxiliary variable names that aren't really necessary for the core processing of a function. Thanks Caleb Couch for reporting this issue.
* 3636Kartik K. Agaram2016-11-061-1/+1
|
* 3635 - show the array variant of 'new' earlierKartik K. Agaram2016-11-061-4/+23
|
* 3634Kartik K. Agaram2016-11-061-0/+4
|
* 3633 - new nest of bugs in 'new'Kartik K. Agaram2016-11-061-6/+9
|
* 3632Kartik K. Agaram2016-11-061-0/+7
| | | | Follow-up to commit 3628.
* 3631Kartik K. Agaram2016-11-061-0/+7
|
* 3630 - generate trace for a single scenarioKartik K. Agaram2016-11-063-3/+13
| | | | | | | | To do so, run: $ ./mu --trace test <scenario name> The trace will then be in file 'interactive'.
* 3629 - refcount commandline argsKartik K. Agaram2016-11-062-0/+3
|
* 3628 - fix a segfault in parsingKartik K. Agaram2016-11-052-2/+16
| | | | Thanks Jack Couch for accidentally leading me to this bug.
* 3627 - selective dumping a single labelKartik K. Agaram2016-11-052-2/+10
| | | | Follow-up to commit 3516.
* 3626Kartik K. Agaram2016-11-052-0/+46
|
* 3625 - gracefully handle fractional array indexKartik K. Agaram2016-11-051-0/+11
| | | | | Follow-up to commit 3622. Even though there's no code change that's just a happy accident; we hadn't at all considered this constraint thus far.
* 3624 - new rounding instruction: 'truncate'Kartik K. Agaram2016-11-051-0/+35
|
* 3623Kartik K. Agaram2016-11-052-0/+2
| | | | Umpteenth bugfix to ensure we show the number of failed scenarios.
* 3622 - handle fractional coordinates in printKartik K. Agaram2016-11-054-0/+66
|
* 3621Kartik K. Agaram2016-11-044-6/+6
|
* 3620Kartik K. Agaram2016-11-041-2/+2
|
* 3619Kartik K. Agaram2016-10-312-12/+50
|
* 3618Kartik K. Agaram2016-10-314-18/+18
|
* 3617Kartik K. Agaram2016-10-311-21/+21
|
* 3616Kartik K. Agaram2016-10-311-8/+8
|
* 3615Kartik K. Agaram2016-10-311-7/+7
|
* 3614Kartik K. Agaram2016-10-311-8/+8
|
* 3613Kartik K. Agaram2016-10-313-8/+23
|
* 3612Kartik K. Agaram2016-10-311-4/+3
|
* 3611Kartik K. Agaram2016-10-311-0/+1
| | | | Fix CI.
* 3610 - bugfix in type-checking 'call' instructionsKartik K. Agaram2016-10-312-2/+14
| | | | | | | Thanks Rebecca Allard for running into this. The test is in layer 13 even though the code that regressed was fixed in layer 71, because the test was working as-is in earlier layers.
* 3609Kartik K. Agaram2016-10-293-2/+10
|