about summary refs log tree commit diff stats
path: root/edit/011-errors.mu
Commit message (Collapse)AuthorAgeFilesLines
* 4262 - literal 'null'Kartik Agaram2018-06-171-4/+4
|
* 4261 - start using literals for 'true' and 'false'Kartik Agaram2018-06-171-3/+3
| | | | | | | | | They uncovered one bug: in edit/003-shortcuts.mu <scroll-down> was returning 0 for an address in one place where I thought it was returning 0 for a boolean. Now we've eliminated this bad interaction between tangling and punning literals.
* 4208Kartik K. Agaram2018-02-171-6/+42
| | | | | | edit/ app: Fix a bug introduced in commit 3954 (June 2017) Turns out commit 4206 wasn't really necessary to fix this, after all.
* 4134 - 'input' = 'ingredient'Kartik K. Agaram2017-12-031-3/+3
|
* 3984 - bugfix: display errors when scrolling recipe sideKartik K. Agaram2017-08-251-0/+38
| | | | This regression was (also) introduced by commit 3902 in June.
* 3982 - bugfix: clear old recipe errors on F4Kartik K. Agaram2017-08-221-0/+59
| | | | | | This regression was introduced by commit 3902 in June. Making this commit clean took the last 4 commits of reorganizing.
* 3981Kartik K. Agaram2017-08-221-2/+3
| | | | | It's always been ugly that I referred to a later layer/feature in a label name.
* 3980Kartik K. Agaram2017-08-221-2/+2
|
* 3978Kartik K. Agaram2017-08-221-13/+18
|
* 3977Kartik K. Agaram2017-08-221-1/+1
|
* 3954Kartik K. Agaram2017-06-251-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | As a blanket rule, down-arrow now stops scrolling once the bottom margin comes on screen. Now that we have page-wise scrolling with ctrl-f/b and line-wise scrolling with ctrl-s/x, we don't need to conflate scroll positioning with the arrow keys. And as a result, early students no longer have to struggle with accidentally scrolling part of the sandbox off the screen when there's tons of empty space available. `move-to-next-line` is still super messy and will need further rethinking, but this commit simplifies the codebase as a whole by eliminating a couple of historical accidents: a) We only introduced scrolling past the bottom of the screen to allow more sandboxes to come into view before we had scrolling for the sandbox side. b) We undid scrolling past the bottom in just the recipe side to allow errors to come into view. Since these historical details are now irrelevant, we no longer need separate logic for the recipe and sandbox sides, and we don't need to keep track of the recipe-bottom separate from the bottom margin of arbitrary editors.
* 3935Kartik K. Agaram2017-06-221-1/+1
|
* 3902 - drop redundant redraw of recipe side on F4Kartik K. Agaram2017-06-091-11/+24
| | | | | | This change is interesting because I only updated one test to gain confidence that F4 will never redraw the recipe side. (Most of the changes are to explicitly render-all before each scenario.)
* 3881 - allow students to turn sandboxes into recipesKartik K. Agaram2017-05-271-8/+8
| | | | Thanks Juan Crispin Hernandez for the suggestion.
* 3745Kartik K. Agaram2017-02-071-0/+742
| | | | | | | Stop trying to create a new layer showing how we minimize prints. Stephen's suggestion is to create a data structure that encapsulates instructions to `insert-at-cursor` for either just printing a character to screen or rendering everything. Let's try that at some point.
* 3738 - start on new edit/ layer: minimizing printsKartik K. Agaram2017-02-041-742/+0
|
* 3705 - switch to tested file-system primitivesKartik K. Agaram2016-12-111-144/+197
|
* 3599Kartik K. Agaram2016-10-271-2/+4
|
* 3561Kartik K. Agaram2016-10-221-1/+1
|
* 3552Kartik K. Agaram2016-10-221-1/+1
| | | | | | | | | | | | | | | | | | Stop requiring jump instructions to explicitly provide a ':label' type for jump targets. This has been a source of repeated confusion for my students: a) They'd add the ':label' to the label definition rather than the jump target (label use) b) They'd spend time thinking about whether the initial '+' prefix was part of the label name. In the process I cleaned up a couple of things: - the space of names is more cleanly partitioned into labels and non-labels (clarifying that '_' and '-' are non-label prefixes) - you can't use label names as regular variables anymore - you can infer the type of a label just from its name
* 3490Kartik K. Agaram2016-10-091-25/+25
| | | | | | | | | | | | | | | Redo commit 3457. Basically there were 3 unicode characters we changed back then: solid horizontal line: 9473 -> 9472 fuzzy horizontal line: 9480 -> 9548 fuzzy vertical line: 9482 -> 9550 The solid horizontal line has no issues, so we just redo it here. For the other two, we'll perform the substitution only when rendering html. That gives us the best of both worlds: the scenario screens render right in html, and alt-tabbing continues to be snappy when running the edit/ app.
* 3489Kartik K. Agaram2016-10-081-132/+132
| | | | | | | | | | Revert commit 3457, where I switched the unicode characters used in the edit/ app to something that doesn't render double-wide in html. It turns out that the new unicode characters made iTerm2 sluggish in alt-tabbing between windows. (Commit 3488 only fixed the screen-clearing issue.) I haven't reverted the html files. I'm going to redo commit 3457 next so the html files continue to render like they do now.
* 3457Kartik K. Agaram2016-10-061-132/+132
| | | | | Switch around some unicode characters in the edit/ app so that it renders more cleanly in html (with monospace fonts).
* 3445Kartik K. Agaram2016-10-061-35/+35
| | | | | | | Ugly that we didn't need 'screen' to provide a type in scenarios (because assume-screen expands to a definition of 'screen') but we did need a type for 'console'. Just never require types for special names in scenarios.
* 3429 - standardize Mu scenariosKartik K. Agaram2016-09-281-67/+63
| | | | | | | | | | | | | A long-standing problem has been that I couldn't spread code across 'run' blocks because they were separate scopes, so I've ended up making them effectively comments. Running code inside a 'run' block is identical in every way to simply running the code directly. The 'run' block is merely a visual aid to separate setup from the component under test. In the process I've also standardized all Mu scenarios to always run in a local scope, and only use (raw) numeric addresses for values they want to check later.
* 3396Kartik K. Agaram2016-09-171-41/+41
|
* 3391 - type abbreviations everywhereKartik K. Agaram2016-09-171-93/+93
| | | | | | | | | Well, almost. I can't use them in some places in C++ where I'm just creating a temporary reagent without passing it through transforms. Like in some unit tests. I can't use them in memory-should-contain. And there's one remaining bug: I can't use abbreviations in a couple of places in 075channel.mu.
* 3338Kartik K. Agaram2016-09-121-2/+2
| | | | Process type abbreviations in container definitions.
* 3337 - first use of type abbreviations: textKartik K. Agaram2016-09-121-54/+54
| | | | | In the process I've uncover a couple of situations we don't support type abbreviations yet. They're next.
* 3233 - change how Mu escapes stringsKartik K. Agaram2016-08-201-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks Sam Putman for helping think through this idea. When you encounter a backslash, strip it out and pass through any following run of backslashes. If we 'escaped' a single following character like C, then the character '\' would be the same as: '\\' escaped once '\\\\' escaped twice '\\\\\\\\' escaped thrice (8 backslashes) ..and so on, the number of backslashes doubling each time. Instead, our approach is to make the character '\' the same as: '\\' escaped once '\\\' escaped twice '\\\\' escaped thrice ..and so on, the number of backslashes merely increasing by one each time. This approach only works as long as backslashes aren't also overloaded to create special characters. So Mu doesn't follow C's approach of overloading backslashes both to escape quote characters and also as a notation for unprintable characters like '\n'.
* 3168 - skip loading recipe 'main' in edit/Kartik K. Agaram2016-08-121-1/+1
| | | | | | | This is part of efforts to allow students to transition gradually from the sandbox to running programs directly on the commandline, writing real scenarios, etc. Running on the commandline requires 'main', but overriding 'main' would mess up edit/ which is itself a Mu program.
* 3111Stephen Malina2016-07-141-3/+4
| | | | | Show number of instructions in the editor when a user clicks on a run instruction in the sandbox.
* 3067Kartik K. Agaram2016-06-251-2/+2
|
* 2990Kartik K. Agaram2016-05-201-17/+17
| | | | | | | | | | Standardize quotes around reagents in error messages. I'm still sure there's issues. For example, the messages when type-checking 'copy'. I'm not putting quotes around them because in layer 60 I end up creating dilated reagents, and then it's a bit much to have quotes and (two kinds of) brackets. But I'm sure I'm doing that somewhere..
* 2979Kartik K. Agaram2016-05-191-0/+691