about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* 2655 - support shape-shifting exclusive containersKartik K. Agaram2016-02-142-2/+32
|
* 2654Kartik K. Agaram2016-02-141-0/+2
|
* 2653Kartik K. Agaram2016-02-141-10/+8
|
* 2652 - fix issue #4Kartik K. Agaram2016-02-132-0/+2
| | | | Thanks chriscool and achikin for reporting this bug.
* Merge pull request #3 from tmsbrg/masterKartik Agaram2016-02-131-2/+2
|\ | | | | move enumerate, tangle dependencies to mu.cc
| * move enumerate, tangle dependencies to mu.ccThomas van der Berg2016-02-131-2/+2
|/
* 2651Kartik K. Agaram2016-02-121-7/+2
|
* 2650Kartik K. Agaram2016-02-121-4/+4
|
* 2649Kartik K. Agaram2016-02-112-1/+3
| | | | More tweaks to the trace after all my debugging.
* 2648Kartik K. Agaram2016-02-112-1/+2
|
* 2647 - more tests while improving commit 2640Kartik K. Agaram2016-02-111-0/+72
| | | | | Very cool that these passed without trouble after the previous change. This is on the right track.
* 2646 - redo static dispatch algorithmKartik K. Agaram2016-02-114-171/+246
| | | | | | | | The old approach of ad hoc boosts and penalties based on various features was repeatedly running into exceptions and bugs. New organization: multiple tiered scores interleaved with tie-breaks. The moment one tier yields one or more candidates, we stop scanning further tiers. Just break ties and return.
* 2645Kartik K. Agaram2016-02-101-1/+1
|
* 2644Kartik K. Agaram2016-02-102-4/+7
| | | | More tweaking of traces as I debug recipe specialization.
* 2643Kartik K. Agaram2016-02-104-6/+5
|
* 2642Kartik K. Agaram2016-02-092-5/+3
|
* 2641Kartik K. Agaram2016-02-081-1/+1
| | | | | Turns out we don't need to threshold non-shape-shifting and shape-shifting variants at different levels to keep all tests passing.
* 2640 - fix some testsKartik K. Agaram2016-02-081-7/+14
| | | | | | | | | | Thanks Caleb Couch for finding this. These tests were breaking only when some other code somewhere has already triggered the specialization of 'append' for numbers. How to test this? Perhaps the right fix is to warn when character variants are used with literals. Or only when there's also a generic variant that could conceivably be specialized for numbers.
* 2639 - convert variables to arrays of 'bytes'Kartik K. Agaram2016-02-071-0/+42
| | | | | | Just this conversion isn't in itself a violation of the type system -- as long as there's no way to convert back. Except there is with 'merge'. Next step is to type-check 'merge'.
* 2638Kartik K. Agaram2016-02-071-0/+0
|
* 2637 - save type names for container elementsKartik K. Agaram2016-02-073-20/+36
|
* 2636Kartik K. Agaram2016-02-061-4/+5
|
* 2635Kartik K. Agaram2016-02-063-0/+7
|
* 2634Kartik K. Agaram2016-02-061-0/+6
|
* 2633Kartik K. Agaram2016-02-061-4/+0
|
* 2632Kartik K. Agaram2016-02-061-12/+13
|
* 2631Kartik K. Agaram2016-02-061-0/+4
|
* 2630Kartik K. Agaram2016-02-061-1/+1
|
* 2629 - starting work on hash tablesKartik K. Agaram2016-02-061-0/+28
|
* 2628Kartik K. Agaram2016-02-051-0/+1
| | | | | Ran into a crash here while loading Caleb's deck-of-war program. Not bothering debugging it..
* 2627 - bitwise operatorsKartik K. Agaram2016-02-041-0/+283
|
* 2626Kartik K. Agaram2016-02-031-0/+80
|
* 2625Kartik K. Agaram2016-02-0224-158/+457
|
* 2624Kartik K. Agaram2016-02-014-30/+46
| | | | Reorganize further to make edit/008-sandbox-test more self-contained.
* 2623 - bugfix: editing sandboxesKartik K. Agaram2016-02-017-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you restore 2 sandboxes, the first render was setting response-starting-row-on-screen on both, without ever rendering a response. If the lower sandbox contained a print and rendered the screen instead of the response, the original response-starting-row-on-screen was never reset. If the process of running the sandboxes caused the lower sandbox's title bar to move below the now-stale response-starting-row-on-screen[1], editing the lower sandbox no longer works. [1] (Either because the upper sandbox prints to screen as well (causing the first F4 to move the lower sandbox down by several lines), or because a fresh sandbox is created with several lines before the first F4 is hit.) Current solution: never set response-starting-row-on-screen during reload (or otherwise when there's no response). This is hard to test right now because 'restore' is not a tested interface, and I can't come up with another situation where the response-starting-row-on-screen goes stale. So I'm now trying to keep all changes to response-starting-row-on-screen close together. Another idea is to add a check that the click row lies below the response-starting row *and* above the start of the next sandbox. (But what if there's no next sandbox?) (This bug is really a regression, introduced last Sep in 2163.)
* 2622 - bugfix: left-arrowKartik K. Agaram2016-01-312-6/+156
| | | | Moving back to wrapped line was overflowing the right margin.
* 2621 - bugfix: empty shape-shifting recipesKartik K. Agaram2016-01-301-6/+17
| | | | | My transform pipeline ignores empty recipes, but when I specialized shape-shifting ones I forgot that check.
* 2620Kartik K. Agaram2016-01-304-56/+56
| | | | | I was finding it hard to wrap around the directionality of calls with 'lhs' and 'rhs'. Seems to work better with 'to' and 'from'. Let's see.
* 2619 - actually allow coercing booleans to numbersKartik K. Agaram2016-01-302-4/+22
| | | | | This uncovered a bug where I've been forgetting the directionality of arguments to types_coercible().
* 2618 - support stashing booleansKartik K. Agaram2016-01-301-0/+8
|
* 2617 - better error messagesKartik K. Agaram2016-01-303-2/+50
| | | | | | | | | | | | | | | | | | When we stash a value, mu does several levels of work for us: a) First it inserts instructions above the stash to convert the value to text using to-text-line. b) to-text-line calls to-text. Both are shape-shifting, so multiple levels of specialization happen. To give a good error message, we track the 'stack' of current specializations at the time of the error, and also check if the offending instruction at the top-most level looks like it was inserted while rewriting stash instructions. Manual example (since booleans can't be stashed at the moment): x:boolean <- copy 1/true stash x
* 2616Kartik K. Agaram2016-01-301-0/+1
| | | | Drop yet another source of perturbance in traces.
* 2615Kartik K. Agaram2016-01-301-2/+2
|
* 2614Kartik K. Agaram2016-01-294-9/+9
|
* 2613 - better error message when forgetting 'shared'Kartik K. Agaram2016-01-281-7/+21
|
* 2612 - sandbox/ tests always show recipe errorsKartik K. Agaram2016-01-282-18/+39
| | | | | I spent the longest time trying to understand what bug 2268 fixed. But it's being tested now.
* 2611Kartik K. Agaram2016-01-271-1/+1
|
* 2610 - warn when recipes don't use default-spaceKartik K. Agaram2016-01-277-11/+74
| | | | Somehow this never transferred over from the Arc version until now.
* 2609 - reuse test-recipe variables in sandbox/ testsKartik K. Agaram2016-01-274-4/+75
| | | | | | | | I'd feared that the refcount errors in the previous commit meant there was a bug in my ref-counting, so I temporarily used new variables rather than reusing existing ones. But it turns out the one remaining place memory corruption can happen is when recipes don't use default-scope and so end up sharing memory. Don't I have a warning for this?
* 2608 - fix-up tests in sandbox/ appKartik K. Agaram2016-01-279-94/+690
| | | | | | | | | | When I first forked it from the edit/ app, I wasn't sure how to deal with changing the recipe side when the only way the program accesses it is with the untestable 'restore' hack. Now we introduce a little hook into event-loop and pass in any updated recipe side directly. In the process I've cleaned up several minor stylistic inconsistencies between edit/ and sandbox/ apps.