Commit Graph

8522 Commits

Author SHA1 Message Date
Kartik K. Agaram b195921b5f shell: shrink definition widths in a few places
The only remaining long lines now are in 'pair' and 'with'.
2021-06-20 23:07:23 -07:00
Kartik K. Agaram 3fd3f3a1c7 this is how we create aliases 2021-06-20 23:07:23 -07:00
Kartik K. Agaram 9ae724e1ec preserve indentation of the sandbox 2021-06-20 23:07:23 -07:00
Kartik K. Agaram 7045af7a4e 'with' lets us drop a few more parens 2021-06-20 22:33:05 -07:00
Kartik K. Agaram fa26249931 new macro: with 2021-06-20 22:32:03 -07:00
Kartik K. Agaram ecc763f092 new macro: ret
http://arclanguage.org/item?id=11068
2021-06-20 22:32:03 -07:00
Kartik K. Agaram deb610367f start dropping parens everywhere 2021-06-20 21:29:33 -07:00
Kartik K. Agaram 6e1aa99a00 start guessing parentheses based on indentation 2021-06-20 21:18:38 -07:00
Kartik K. Agaram 9d7d99fe6c snapshot
This is going better than expected; just 3 failing tests among the new
ones.
2021-06-20 20:36:47 -07:00
Kartik K. Agaram 29795a0db4 start emitting indent tokens 2021-06-18 21:42:01 -07:00
Kartik K. Agaram e5cf570890 redo next-token in more high-level terms 2021-06-18 20:39:33 -07:00
Kartik K. Agaram 80fb9ca9f4 . 2021-06-18 20:12:32 -07:00
Kartik K. Agaram c6cb360544 . 2021-06-18 20:08:19 -07:00
Kartik K. Agaram 93e2e3f934 start emitting token for newline 2021-06-18 20:00:29 -07:00
Kartik K. Agaram 24275c3828 newlines are now a token 2021-06-18 19:54:01 -07:00
Kartik K. Agaram dd133c2a09 start implementing indent-sensitivity
General plan:
  stop skipping newlines during tokenization
  introduce a new indent token, initially skip it transparently
  start doing cleverer things
2021-06-18 19:52:54 -07:00
Kartik K. Agaram b5306cabd3 . 2021-06-18 19:40:35 -07:00
Kartik K. Agaram 2acc00f9b9 . 2021-06-18 07:54:24 -07:00
Kartik K. Agaram c22dbbea39 make code in Readme easier to copy
Thanks Sumeet Agarwal for the suggestion.
2021-06-18 07:11:36 -07:00
Kartik K. Agaram 8c47da082b fix emulated build
Embarrassingly broken since May 15 (commit ff8ec9bcff).

Thanks Jack Rusher for reporting this.

(fixes #48)
2021-06-18 07:04:36 -07:00
Kartik K. Agaram 0f2d0d6abe shell: stop punning tokens as cells 2021-06-18 06:53:55 -07:00
Kartik Agaram ee42915282
Merge pull request #47 from akkartik/fix-precision
Fix precision
2021-06-17 21:27:05 -07:00
Sumeet Agarwal bad113ebc0 create .gitignore 2021-06-17 21:25:06 -07:00
Sumeet Agarwal f36f022b08 change precision when loading sandbox code 2021-06-17 21:24:41 -07:00
Kartik Agaram dd60caa3f5 . 2021-06-15 21:50:13 -07:00
Kartik K. Agaram 678c936633 . 2021-06-15 21:40:51 -07:00
Kartik K. Agaram bca7f834c3 . 2021-06-15 21:40:40 -07:00
Kartik Agaram 614d0ecff4 . 2021-06-15 20:56:41 -07:00
Kartik Agaram 10687ed8bb . 2021-06-15 20:50:55 -07:00
Kartik Agaram 6515bace46 . 2021-06-15 20:41:34 -07:00
Kartik K. Agaram b28899fe37 .
Support newlines. Looks like we pasted the input from the browser window
during the pairing session.
2021-06-15 20:38:53 -07:00
Kartik K. Agaram 03e6248c14 example program by Sumeet Agarwal
https://adventofcode.com/2017/day/1
https://archive.org/details/2021-06-02-akkartik-sumeet
2021-06-15 20:38:45 -07:00
Kartik Agaram 3a3fe4addb shell: better screenshot 2021-06-15 15:54:56 -07:00
Kartik K. Agaram 6280749410 always print black pixels when rendering screens
This is an old 'optimization' that turns out to not actually matter.
2021-06-15 15:37:37 -07:00
Kartik Agaram 3c70328b25 . 2021-06-15 14:57:55 -07:00
Kartik Agaram 0138b000a1 shell: improve docs 2021-06-15 14:48:52 -07:00
Kartik Agaram 88378503c4 . 2021-06-15 14:46:27 -07:00
Kartik K. Agaram bc21fe0baf document responsiveness trade-off 2021-06-15 13:02:15 -07:00
Kartik K. Agaram 2bf7cb83ba do more work per fake-screen refresh
Refreshing the fake screen is still a heavyweight operation. Double-buffering
makes it less obvious but doesn't actually reduce the amount of work. We
need to ensure that we do enough work between refreshes to make them economic.
2021-06-15 12:36:38 -07:00
Kartik K. Agaram 8068b8450f more precisely track count of calls to eval
Before I only separately counted calls at each stack depth. I don't remember
if that seemed good enough or was just an oversight.
2021-06-15 12:28:52 -07:00
Kartik K. Agaram c2c6f4c7ab flickerlessly render fake screens in environment
Font rendering now happens off the real screen, which provides the effect
of double-buffering.

Apps can now also use convert-graphemes-to-pixels for more traditional
double-buffering.
2021-06-15 10:33:18 -07:00
Kartik K. Agaram b9fea69687 . 2021-06-15 08:59:36 -07:00
Kartik K. Agaram f99cd767a4 periodic run of misc_checks
I should really stop using /disp8 jumps at the top-level given how inconvenient
it is to check for overly large offsets.
2021-06-12 22:34:22 -07:00
Kartik K. Agaram 0511b9fd11 helper to render fonts outside video RAM, take 2 2021-06-12 22:22:54 -07:00
Kartik K. Agaram bda6982ba1 fix a bounds check
This should have gotten cleaned up during commit e0f6dd5240 (Mar 23).
2021-06-12 21:58:31 -07:00
Kartik K. Agaram 242b83ed46 roll back previous commit
These helpers don't actually help render to buffers with geometries different
from video RAM.
2021-06-12 21:41:50 -07:00
Kartik K. Agaram b78bff9307 extract a helper to render fonts outside video RAM 2021-06-12 21:41:02 -07:00
Kartik K. Agaram 0dda332ce3 .
Roll back to commit 70919b45f0. Recent commits add lots of extra function
args for dubious benefit.
2021-06-12 21:11:22 -07:00
Kartik K. Agaram 82fdf176c1 snapshot
Looks like what's slowing down screen rendering is in fact _font_ rendering.
2021-06-12 21:11:03 -07:00
Kartik K. Agaram 85bcf050e7 . 2021-06-12 17:50:30 -07:00