about summary refs log tree commit diff stats
path: root/084console.mu
Commit message (Collapse)AuthorAgeFilesLines
* 4261 - start using literals for 'true' and 'false'Kartik Agaram2018-06-171-6/+6
| | | | | | | | | 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.
* 4134 - 'input' = 'ingredient'Kartik K. Agaram2017-12-031-6/+6
|
* 3844Kartik K. Agaram2017-05-061-2/+1
| | | | | Once I start optimizing most events to not repaint everything there's no need to be smart about queued-up events.
* 3574Kartik K. Agaram2016-10-231-5/+1
| | | | Shorter branches above longer ones.
* 3570 - don't busy-wait in 'wait-for-event'Kartik K. Agaram2016-10-231-1/+3
|
* 3565Kartik K. Agaram2016-10-231-12/+12
| | | | | | Cleaning up the console interfaces before we start changing the socket interfaces to look like them. Reading from sockets need to be non-blocking just like reading from the console.
* 3390Kartik K. Agaram2016-09-171-3/+3
|
* 3389Kartik K. Agaram2016-09-171-10/+10
|
* 3388Kartik K. Agaram2016-09-171-9/+9
|
* 3385Kartik K. Agaram2016-09-171-9/+9
|
* 3379Kartik K. Agaram2016-09-171-5/+5
| | | | Can't use type abbreviations inside 'memory-should-contain'.
* 2870 - fix the final long-standing failing testKartik K. Agaram2016-04-271-0/+1
| | | | | | | | | | | | | | | | | The solution for avoiding deadlock is for routines to close channels before they exit. So that's good. Once I implemented 'close', I also found and fixed 2 unrelated bugs in chessboard.mu: a) one long-missed and long-masked case of forgetting to store character literals in character variables b) one typo in translating get-address to put So that's good. What's not so good: in the process of fixing this I've found three unrelated bugs (marked 'BUG:' in the changes). All three have workarounds, so existing tests pass for now. But they are my top priority next.
* 2864 - replace all address:shared with just addressKartik K. Agaram2016-04-241-10/+10
| | | | | | | Now that we no longer have non-shared addresses, we can just always track refcounts for all addresses. Phew!
* 2861 - 'maybe-convert' no longer returns addressKartik K. Agaram2016-04-231-3/+3
|
* 2844 - purge get-address from all layersKartik K. Agaram2016-04-161-8/+6
| | | | | Only apps left now, and the wait-for-location uses in the channel primitives.
* 2798 - experiment: split channels into two endsKartik K. Agaram2016-03-191-1/+1
| | | | | | | | | | This way when you pass one end to a function or routine, you can implicitly give it the right to either read or write the channel, but not both. The cost: code gets more convoluted, names get more convoluted. You can see this in particular in the test for buffer-lines. Let's see how it goes..
* 2784 - make channels genericKartik K. Agaram2016-03-141-1/+1
| | | | | | 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.
* 2735 - define recipes using 'def'Kartik K. Agaram2016-03-081-14/+14
| | | | | | | | | | | | I'm dropping all mention of 'recipe' terminology from the Readme. That way I hope to avoid further bike-shedding discussions while I very slowly decide on the right terminology with my students. I could be smarter in my error messages and use 'recipe' when code uses it and 'function' otherwise. But what about other words like ingredient? It would all add complexity that I'm not yet sure is worthwhile. But I do want separate experiences for veteran programmers reading about Mu on github and for people learning programming using Mu.
* 2576 - distinguish allocated addresses from othersKartik K. Agaram2016-01-191-11/+11
| | | | | | | | | | | | | | | | This is the one major refinement on the C programming model I'm planning to introduce in mu. Instead of Rust's menagerie of pointer types and static checking, I want to introduce just one new type, and use it to perform ref-counting at runtime. So far all we're doing is updating new's interface. The actual ref-counting implementation is next. One implication: I might sometimes need duplicate implementations for a recipe with allocated vs vanilla addresses of the same type. So far it seems I can get away with just always passing in allocated addresses; the situations when you want to pass an unallocated address to a recipe should be few and far between.
* 2612Kartik K. Agaram2015-11-291-9/+9
|
* 2468 - overload print-character as just 'print'Kartik K. Agaram2015-11-211-1/+1
|
* 2460 - headers for remaining recipesKartik K. Agaram2015-11-181-26/+21
|
* 2430 - make room for more transformsKartik K. Agaram2015-11-131-0/+113