Commit Graph

11 Commits

Author SHA1 Message Date
Kartik K. Agaram
e80fd05f4e 3937
Fix screen-checking functions to handle fake screen after scrolling.
I can't believe I forgot about this during commit 3882.
2017-06-22 10:29:38 -07:00
Kartik K. Agaram
fb942da8a9 3936 2017-06-22 10:28:26 -07:00
Kartik K. Agaram
6f65d5918f 3429 - standardize Mu scenarios
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.
2016-09-28 19:48:56 -07:00
Kartik K. Agaram
760f683f27 3389 2016-09-17 12:55:10 -07:00
Kartik K. Agaram
08f4628e8b 3379
Can't use type abbreviations inside 'memory-should-contain'.
2016-09-17 00:31:55 -07:00
Kartik K. Agaram
a791c04264 3020 - names in chessboard tests
Extremely ugly change.

Also ended up fixing some places where I was mixing up sources and
sinks. But I'm not going to bother updating edit/ and sandbox/ apps.
Just too many scenarios to clean up.
2016-05-26 21:43:38 -07:00
Kartik K. Agaram
b0bf5321de 2864 - replace all address:shared with just address
Now that we no longer have non-shared addresses, we can just always
track refcounts for all addresses.

Phew!
2016-04-24 11:54:30 -07:00
Kartik K. Agaram
455fbac64f 2576 - distinguish allocated addresses from others
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.
2016-01-19 23:18:03 -08:00
Kartik K. Agaram
bbe0801ab1 2548 - teach 'print' to print integers
Still can't print non-integer numbers, so this is a bit hacky.

The big consequence is that you can't print literal characters anymore
because of our rules about how we pick which variant to statically
dispatch to. You have to save to a character variable first.

Maybe I can add an annotation to literals..
2015-12-28 08:44:36 -08:00
Kartik K. Agaram
136412d263 2468 - overload print-character as just 'print' 2015-11-21 10:19:34 -08:00
Kartik K. Agaram
c603cd6cef 2430 - make room for more transforms 2015-11-13 10:08:57 -08:00