Commit Graph

8997 Commits

Author SHA1 Message Date
Kartik K. Agaram c7d2682aa7 . 2021-08-10 04:45:27 -07:00
Kartik K. Agaram 5456a1edcb . 2021-08-10 04:44:43 -07:00
Kartik K. Agaram 98b11ea645 . 2021-08-10 04:34:58 -07:00
Kartik K. Agaram 34aba8e6c6 . 2021-08-10 04:34:11 -07:00
Kartik K. Agaram f37689f932 . 2021-08-10 04:32:37 -07:00
Kartik K. Agaram 49dacb600e . 2021-08-10 04:28:44 -07:00
Kartik K. Agaram 639f89ca42 .
Vestige from when we were scanning all files in the current directory
rather than channels.json.
2021-08-10 04:25:44 -07:00
Kartik K. Agaram f09ee2aa19 . 2021-08-10 04:22:29 -07:00
Kartik K. Agaram 58c62538ea . 2021-08-10 04:20:10 -07:00
Kartik K. Agaram 4fd5514a59 . 2021-08-10 04:19:54 -07:00
Kartik K. Agaram 33b77b31b4 . 2021-08-10 04:18:34 -07:00
Kartik K. Agaram 12d37bf5b9 . 2021-08-10 04:16:36 -07:00
Kartik K. Agaram d94eb48b92 . 2021-08-10 04:16:22 -07:00
Kartik K. Agaram cb38fc348b . 2021-08-10 04:15:40 -07:00
Kartik K. Agaram 0c8f865861 . 2021-08-10 04:14:32 -07:00
Kartik K. Agaram 4f236749a2 . 2021-08-10 04:11:51 -07:00
Kartik K. Agaram dd625f6caa . 2021-08-10 04:08:15 -07:00
Kartik K. Agaram 7784855c18 . 2021-08-08 11:15:22 -07:00
Kartik K. Agaram b67270e171 . 2021-08-07 22:57:15 -07:00
Kartik K. Agaram fbc1f309d8 . 2021-08-07 22:57:15 -07:00
Kartik K. Agaram 3e6da6e25c . 2021-08-06 21:01:38 -07:00
Kartik K. Agaram cbfaf23ae3 . 2021-08-06 20:54:34 -07:00
Kartik K. Agaram 52f1c1fb2f beginnings of a Slack archive reader
I'm hackily depending on Python (3.something) to prototype the disk
image creator. But no non-std libs.

Once the disk image is created, I've validated that it can be loaded
from disk without too much latency (assuming KVM).
2021-08-06 20:46:52 -07:00
Kartik K. Agaram 19d2e6423a . 2021-08-02 10:27:58 -07:00
Kartik K. Agaram 4692c48f40 better error handling on stray commas 2021-08-01 18:26:35 -07:00
Kartik K. Agaram 964becd404 . 2021-08-01 14:47:30 -07:00
Kartik K. Agaram 15b1c2651c . 2021-08-01 10:22:16 -07:00
Kartik K. Agaram b625c6304e support non-line-oriented processing in next-word
Immediately this simplifies support for comments in image data.
2021-07-29 20:07:13 -07:00
Kartik K. Agaram e55d3f5814 maintain aspect ratio when rendering images 2021-07-29 08:24:27 -07:00
Kartik K. Agaram 54765018be . 2021-07-29 08:05:24 -07:00
Kartik K. Agaram 63c7d5c4e0 downsampling photos makes the dithering seem worse
We support 128px, so let's use the whole 128px.
2021-07-29 07:55:54 -07:00
Kartik K. Agaram c9382ee2c9 . 2021-07-29 07:55:45 -07:00
Kartik K. Agaram 295e50f025 shell: reliable image rendering 2021-07-29 07:55:28 -07:00
Kartik K. Agaram e9fb7e4453 shell: rendering image definitions
Not quite working yet. Only the very first rendering succeeds. After
that any keypress triggers a second render which aborts. Image is
getting corrupted in memory somehow.
2021-07-29 00:41:19 -07:00
Kartik K. Agaram fc951149a0 shell: support loading 128x128px images
I'm loading them in uncompressed ASCII format, and all streams and gap
buffers all over the place need to get massively scaled up to 256KB
capacity. But the tests don't yet run out of RAM, so I'll keep going.
2021-07-28 23:58:46 -07:00
Kartik K. Agaram e2f18e8866 shell: literal images 2021-07-28 23:28:29 -07:00
Kartik K. Agaram e2f6e9011e saving definitions containing string literals
This was the whole proximal goal in implementing balanced terminals.

Printing these is still unreliable. It always surrounds in [], which may
not work.
2021-07-28 23:08:07 -07:00
Kartik K. Agaram 9f52758dfe . 2021-07-28 22:57:20 -07:00
Kartik K. Agaram 04134396a3 . 2021-07-28 22:51:31 -07:00
Kartik K. Agaram bec33a7067 shell: second notation for string literals
I've always been dissatisfied with the notion of escaping. It introduces
a special-case meta-notation within the tokenizer, and the conventional
approach leads to exponential "leaning toothpick syndrome" with each
level of escaping.

One potential "correct" solution is to keep string terminals
parameterizable:

  [abc]           => abc
  [=]             => =
  [=[abc]=]       => abc
  [=[a]bc]=]      => a]bc
  [==[a]=]bc]==]  => a]=]bc

..and so on. Basically the terminals grow linearly as the number of
escapings grow.

While this is workable, I'd like to wait until I actually need it, and
then gauge whether the need is a sign of the stack growing too complex,
with too many layers of notation/parsing. Mu's goal is just 3 notations,
and it's going to require constant vigilance to keep that from growing.

Therefore, for now, there are two notations for string literals, one
symmetric and one balanced:

  "abc"           => abc
  [abc]           => abc

The balancing notation permits nested brackets as long as they balance.
  [abc [def]]     => abc [def]

If you need unbalanced square brackets, use the symmetric terminals:
  "abc [def"      => abc [def

If you need double quotes inside strings, use the balanced notation:
  [abc "def]      => abc "def

If you need _both_ square brackets (whether balanced or unbalanced) and
double quotes, you're currently shit outta luck.
2021-07-28 20:44:02 -07:00
Kartik K. Agaram 267c74b59a shell: render image from pbm data stream 2021-07-27 22:38:26 -07:00
Kartik K. Agaram 6199445243 . 2021-07-26 21:13:19 -07:00
Kartik K. Agaram a0432bf589 . 2021-07-26 20:33:31 -07:00
Kartik K. Agaram bade3ae86c . 2021-07-26 17:37:44 -07:00
Kartik K. Agaram a5cbf871ea . 2021-07-26 17:28:49 -07:00
Kartik K. Agaram bfa0efb7d1 game of life in lisp
Super slow; each frame is cleared as a sort of progress indicator while
it computes the next frame.

In the process I realize I need to adjust every single trace in the
shell sources to be more fault-tolerant to a filled-up trace stream.
2021-07-26 17:19:04 -07:00
Kartik K. Agaram 46441d7204 .
Smoked out some issues by rendering a single frame of Game of Life.
Incredibly slow.
2021-07-26 02:27:32 -07:00
Kartik K. Agaram 81c3678515 gracefully trace large multi-dimensional arrays 2021-07-26 02:08:09 -07:00
Kartik K. Agaram 6a92f3b535 gracefully trace large arrays 2021-07-26 02:06:48 -07:00
Kartik K. Agaram 6b57715502 palette operations now a bit faster 2021-07-26 01:33:48 -07:00