about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 1724 - first stab at printing interactive resultsKartik K. Agaram2015-07-083-3/+48
|
* 1723Kartik K. Agaram2015-07-083-12/+13
| | | | | Some reorg before we start plumbing 'reply' from 'run-interactive' to return a string containing the results.
* 1722 - drop support for querying locationsKartik K. Agaram2015-07-082-76/+23
| | | | | | | | | | | | Also added another failing test showing what behavior we want in the programming environment. But there's no way to make use of querying locations, since we're not planning any interaction with individual sandboxes at the moment. Instead of interacting with one sandbox at a time, which is the current approach, we want to create dashboards out of multiple sandboxes at once. Start with them non-interactive, that'll demonstrate 80% of the new benefits. We'll add interactivity down the road.
* 1721 - hide warnings inside interactive routinesKartik K. Agaram2015-07-086-18/+107
| | | | | | | | | | We will need many other forms of isolation for these. For starters we're going to have to replace most asserts with warnings that can be traced so that the environment doesn't crash because of illegal code typed into it. New test is still failing. Just getting it to fail right was hard enough.
* 1720 - start adding repl supportKartik K. Agaram2015-07-072-8/+110
|
* 1719 - start using configurable event-handlerKartik K. Agaram2015-07-071-5/+7
|
* 1718 - delete repl.muKartik K. Agaram2015-07-071-840/+0
| | | | | | Focus on the one programming environment from now on: edit.mu. First get it to print results of computations like repl does, then pipe warnings into the environment somehow.
* 1717 - less hacky replKartik K. Agaram2015-07-072-58/+81
| | | | | | | 'run-interactive' now takes a string as input and returns a string as output when it generates a result. As a result we also don't have to worry about manual tests anymore, and it should now be reusable in edit.mu.
* 1716Kartik K. Agaram2015-07-072-5/+12
|
* 1715 - slightly more responsiveKartik K. Agaram2015-07-061-16/+10
| | | | | | | | | Don't render all the editors on every single keystroke, render just the one that was modified. This will also be useful for our next step: heterogeneous editor widgets responsible for their areas of screen and doing their own rendering and responding to events.
* 1714Kartik K. Agaram2015-07-051-17/+24
|
* 1713Kartik K. Agaram2015-07-051-8/+8
| | | | Less objectionable placeholder for syntax highlighting mu fragments.
* 1712Kartik K. Agaram2015-07-051-1/+5
|
* 1711 - start adding methods to editor-data objectsKartik K. Agaram2015-07-052-4/+10
| | | | The menu bar needs separate recipes to render and respond to events.
* 1710 - add notion of a menu barKartik K. Agaram2015-07-051-1/+36
| | | | | Of course, editors might begin below other editors; this is a stopgap solution. Yagni, yagni, yagni.
* 1709Kartik K. Agaram2015-07-041-2/+6
| | | | | More sketching out of a bare-bones scenario. What should happen when we press F9? Print a result somewhere?
* 1708Kartik K. Agaram2015-07-042-17/+22
| | | | | | Simpler gradient computation. But in the end it looks better when the gradient is so subtle as to be irrelevant. Might as well eliminate the gradient altogether.
* 1707 - experimenting with gradient backgroundKartik K. Agaram2015-07-041-1/+35
| | | | But integer division is a fail, as expected.
* 1706 - automatically recompile mu when necessaryKartik K. Agaram2015-07-042-9/+17
|
* 1705 - change background colorKartik K. Agaram2015-07-044-15/+39
|
* 1704 - update layout for a menu bar at the topKartik K. Agaram2015-07-041-9/+10
|
* 1703Kartik K. Agaram2015-07-041-6/+13
|
* 1702 - experiment: start using 'ordinal' in namesKartik K. Agaram2015-07-0437-312/+312
| | | | | | | It comes up pretty early in the codebase, but hopefully won't come up in the mu level until we get to higher-order recipes. Potentially intimidating name, but such prime real estate with no confusing overloadings in other projects!
* 1701Kartik K. Agaram2015-07-041-4/+4
|
* 1699 - first-class recipe typesKartik K. Agaram2015-07-035-51/+54
| | | | | It should now be easy to do dynamic dispatch, create higher-order functions, etc.
* 1698Kartik K. Agaram2015-07-035-0/+0
|
* 1697 - edit: starting to run codeKartik K. Agaram2015-07-032-1/+52
|
* 1696 - more cursor-wrap purgingKartik K. Agaram2015-07-021-31/+23
|
* 1695 - better way to handle wrapKartik K. Agaram2015-07-021-235/+29
| | | | | | | Key idea: wrap whenever you type at the right margin, don't wait for line to grow past it. That way you always leave room to acquire the end of the line, and you never have to worry about wrapping just the cursor but not the line. Simplifies a lot of logic.
* 1694Kartik K. Agaram2015-07-011-3/+160
| | | | | | | | | | | | | | | | | | I started fixing scenario editor-inserts-character-at-wrapped-cursor, but as I work further I notice there's an irreconcilable ambiguity in the approach of letting the cursor wrap in a non-wrapped line: if a cursor is at column 0 and the previous line occupies the entire width, should the next character you insert go before (assuming a wrapped cursor) or after the newline (assuming you're at the start of the next line)? No way to distinguish the two cases. One approach would be to delete the newline and have the cursor replace it with whatever you type. Then you have to hit a newline again to separate. But the simpler way is to simply wrap the moment the line grows to width-1, always leaving room for the cursor. Yeah, let's switch to that approach.
* 1693Kartik K. Agaram2015-07-011-3/+4
| | | | Move experimenting with wrapped lines to the right column.
* 1692 - stop mindlessly starting cursor at column 0Kartik K. Agaram2015-07-011-6/+71
|
* 1691 - planned layout for right columnKartik K. Agaram2015-07-011-5/+27
| | | | | | | | | | | We'll start out with just boxes on the right. Unlike the left with its dotted boundaries, the boundaries on the right will be solid lines, to indicate that they are isolated from each other even as they take from all the recipes on the left. As students grow more advanced we'll provide some way to 'pop up' the pre- and post-condition fields inside each sandbox. Those will also have dotted boundaries with the rest of their sandbox.
* 1690Kartik K. Agaram2015-07-0125-1038/+1613
|
* 1689Kartik K. Agaram2015-06-301-1/+21
|
* 1688 - up/down are easyKartik K. Agaram2015-06-301-2/+108
|
* 1687Kartik K. Agaram2015-06-301-3/+4
|
* 1686Kartik K. Agaram2015-06-301-3/+47
| | | | | | All these commented out prints are begging to turn into an app-level trace. But we need interpolation and static dispatch for that, so we can start printing any number of arbitrary types.
* 1685Kartik K. Agaram2015-06-301-0/+39
|
* 1684Kartik K. Agaram2015-06-301-5/+33
|
* 1683Kartik K. Agaram2015-06-301-4/+35
|
* 1682Kartik K. Agaram2015-06-301-19/+19
| | | | Clean up some variable names.
* 1681Kartik K. Agaram2015-06-291-3/+26
|
* 1680Kartik K. Agaram2015-06-291-0/+24
|
* 1679Kartik K. Agaram2015-06-291-10/+43
|
* 1678Kartik K. Agaram2015-06-291-4/+75
|
* 1677Kartik K. Agaram2015-06-291-1/+46
|
* 1676Kartik K. Agaram2015-06-281-1/+1
|
* 1675Kartik K. Agaram2015-06-281-8/+83
|
* 1674Kartik K. Agaram2015-06-281-6/+69
|