Commit Graph

17 Commits

Author SHA1 Message Date
Kartik Agaram 01ce563dfe 4262 - literal 'null' 2018-06-17 15:57:37 -07:00
Kartik K. Agaram b6fa632e2f 3861 - screen untouched when entering console mode 2017-05-18 10:14:49 -07:00
Kartik K. Agaram cd0577aeb2 3851 2017-05-10 16:47:31 -07:00
Kartik K. Agaram 192d59d3bb 3380
One more place we were missing expanding type abbreviations: inside
container definitions.
2016-09-17 00:43:20 -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 d51c9c2f54 3189 2016-08-14 05:49:45 -07:00
Kartik K. Agaram 1ead356219 2735 - define recipes using 'def'
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.
2016-03-08 01:46:47 -08: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 bc64369276 1868 - start using naked literals everywhere
First step to reducing typing burden. Next step: inferring types.
2015-07-28 14:33:22 -07:00
Kartik K. Agaram 290fe117c4 1618 2015-06-21 23:53:17 -07:00
Kartik K. Agaram 6a0f71b9f8 1617 2015-06-21 23:42:39 -07:00
Kartik K. Agaram 2d863b1b98 1476 - fake screens support color 2015-05-26 16:15:56 -07:00
Kartik K. Agaram 5497090aa1 1363 - rename 'integer' to 'number'
..now that we support non-integers.
2015-05-13 10:03:26 -07:00
Kartik K. Agaram d2244a2f11 1345 2015-05-11 12:09:50 -07:00
Kartik K. Agaram b96af395b9 1276 - make C++ version the default
I've tried to update the Readme, but there are at least a couple of issues.
2015-05-05 21:17:24 -07:00