Commit Graph

71 Commits

Author SHA1 Message Date
Kartik Agaram
84a7745224 7149 2020-10-31 20:37:36 -07:00
Kartik Agaram
d906d5fd38 6973 2020-10-08 20:32:44 -07:00
Kartik Agaram
00af72ccb0 6951 - 4 colors for Mu as well 2020-10-04 21:24:46 -07:00
Kartik Agaram
93a4ada6a1 6938 - start colorizing floating-point registers 2020-10-03 20:29:31 -07:00
Kartik Agaram
af983921f6 6697 2020-08-01 16:25:34 -07:00
Kartik Agaram
d23f5ea2c6 6634 - highlight bad variables in vim 2020-07-11 21:20:06 -07:00
Kartik Agaram
c5a3f65502 6630 - define type signatures for SubX functions
This was easier than I'd feared.
2020-07-10 23:41:34 -07:00
Kartik Agaram
6e31354543 6412 2020-05-27 01:49:56 -07:00
Kartik Agaram
9511ff5cd7 6409 - primitives for text-mode UIs 2020-05-27 00:09:22 -07:00
Kartik Agaram
fe6d099b78 6399 - make mu.vim work better out of the box
Adding some more colors will improve the experience, but the choices depend
on colorscheme, and first impressions should at least not seem to have
degraded things.
2020-05-24 22:50:24 -07:00
Kartik Agaram
bfcbdf0e0a 6398 2020-05-24 22:47:09 -07:00
Kartik Agaram
783eb31a05 6162 2020-03-23 20:56:49 -07:00
Kartik Agaram
8f32cb825e 6137 2020-03-12 01:15:41 -07:00
Kartik Agaram
a53ab5266f 6078 - highlight hex literals in Vim 2020-03-02 08:23:54 -08:00
Kartik Agaram
2d4d1440e1 6075 2020-03-02 08:18:08 -08:00
Kartik Agaram
3a2285c613 6068 2020-02-28 11:23:22 -08:00
Kartik Agaram
eaeb43de2e 6067
Missed the file.
2020-02-28 11:19:53 -08:00
Kartik Agaram
6e1eeeebfb 5485 - promote SubX to top-level 2019-07-27 17:47:59 -07:00
Kartik Agaram
458ee5e354 4910 2019-01-06 12:01:42 -08:00
Kartik Agaram
b085378e94 4294 2018-06-30 21:58:55 -07:00
Kartik Agaram
57dfb5ef07 4293 2018-06-30 21:58:27 -07:00
Kartik Agaram
01ce563dfe 4262 - literal 'null' 2018-06-17 15:57:37 -07:00
Kartik Agaram
dd66068298 4261 - start using literals for 'true' and 'false'
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.
2018-06-17 00:29:22 -07:00
Kartik K. Agaram
816ffe20eb 4214 2018-02-21 20:49:04 -08:00
Kartik K. Agaram
f0c55e6b97 4165 2017-12-27 20:39:51 -08:00
Kartik K. Agaram
e82dc62668 4164 2017-12-27 20:19:46 -08:00
Kartik K. Agaram
c81fde0c44 4163 2017-12-24 12:44:01 -08:00
Kartik K. Agaram
4a48bedcd1 4134 - 'input' = 'ingredient' 2017-12-03 23:25:40 -08:00
Kartik K. Agaram
7a4bf4cfab 3976 2017-08-20 22:03:31 -07:00
Kartik K. Agaram
2d4c3296d8 3969 2017-07-13 07:20:13 -07:00
Kartik K. Agaram
650a201d96 3702
Commands like '$exit' shouldn't look like labels.
2016-12-06 08:14:09 -08:00
Kartik K. Agaram
f918675c8b 3569
Update syntax highlighting to not color numeric locations like literals.
2016-10-23 19:56:28 -07:00
Kartik K. Agaram
af7349d50c 3568
Fix syntax highlighting for labels after commit 3552.
2016-10-23 19:18:50 -07:00
Kartik K. Agaram
9a81d7460f 3561 2016-10-22 16:56:07 -07:00
Kartik K. Agaram
3e1349d29f 3431
Improvements to syntax highlighting, particularly for Mu code in C++
files.
2016-09-30 10:45:14 -07:00
Kartik K. Agaram
b1624806eb 3426 2016-09-27 14:50:50 -07:00
Kartik K. Agaram
10f49c6470 2838 2016-04-16 08:02:17 -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
83d8299d2d 2562
We want to use the type 'recipe' for recipe *variables*, because it
seems nicer to say `recipe number -> number` rather than recipe-ordinal,
etc. To support this we'll allow recipe names to be mentioned without
any type.

This might make a couple of places in this commit more brittle. I'm
dropping error messages, causing them to not happen in some situations.
Maybe I should just bite the bullet and require an explicit
:recipe-literal. We'll see.
2016-01-17 23:15:03 -08:00
Kartik K. Agaram
de612c4930 2367 2015-11-05 00:32:55 -08:00
Kartik K. Agaram
70f70118f4 2306 - recipe headers
Once a student has gotten used to recipes and ingredients using the
staged 'next-ingredient' approach there's no reason to avoid
conventional function headers. As an added bonus we can now:

a) check that all 'reply' instructions in a recipe are consistent
b) deduce what to reply without needing to say so everytime
c) start thinking about type parameters for recipes (generic functions!)
2015-10-28 18:26:05 -07:00
Kartik K. Agaram
3b795875bc 2295 - drop first-class recipes and continuations
Making life too complex at this time.
2015-10-28 05:51:15 -07:00
Kartik K. Agaram
3eeea0a22d 2294
Bah, sick of CALL and continuations.
2015-10-28 05:40:27 -07:00
Kartik K. Agaram
538831ed8a 2266 - drop experiment with generics 2015-10-07 10:20:56 -07:00
Kartik K. Agaram
ec5e0d13b6 2252
I can't easily use generic containers without needing some syntax for
generic recipes:

  push:number a:number, l:list:number

which would be implemented as:

  T <- next-type
  a:T <- next-ingredient

etc.

Another concern: how to represent map<string, list<number>>?

  map::address:array:character::list:number

where the '::' is just silently turned into ':'.

Agh, all this is so baroque. All this while I've been trying to avoid
getting into language design. All I want is some lightweight way to
avoid security holes and memory corruption. But now it seems like I need
facets to control compile-time activities and so on.
2015-10-05 21:21:48 -07:00
Kartik K. Agaram
3cf4cc43f2 2174 2015-09-06 16:32:41 -07:00
Kartik K. Agaram
cbbcd47fa4 2153 2015-09-05 11:15:13 -07:00
Kartik K. Agaram
b94f150a57 2139 2015-09-04 08:46:59 -07:00
Kartik K. Agaram
426009da93 2080 2015-08-26 19:59:24 -07:00
Kartik K. Agaram
2e534c0e3a 2059 2015-08-22 15:35:00 -07:00