about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* snapshotKartik K. Agaram2021-06-221-3/+32
| | | | | Still a couple of failing tests before I switch gears to breaking down symbols containing infix.
* .Kartik K. Agaram2021-06-221-3/+5
|
* snapshot: infixKartik K. Agaram2021-06-226-26/+557
| | | | | | | | | | | | | | | | | | | | | Like parenthesize, I'm copying tests over from https://github.com/akkartik/wart Unlike parenthesize, though, I can't just transliterate the code itself. Wart was operating on an intermediate AST representation. Here I'm all the way down to cells. That seemed like a good idea when I embarked, but now I'm not so sure. Operating with the right AST data structure allowed me to more easily iterate over the elements of a list. The natural recursion for cells is not a good fit. This patch and the next couple is an interesting case study in what makes Unix so effective. Yes, you have to play computer, and yes it gets verbose and ugly. But just diff and patch go surprisingly far in helping build a picture of the state space in my brain. Then again, there's a steep gradient of skills here. There are people who can visualize state spaces using diff and patch far better than me, and people who can't do it as well as me. Nature, nurture, having different priorities, whatever the reason. Giving some people just the right crutch excludes others.
* .Kartik K. Agaram2021-06-213-67/+89
|
* start implementing infixKartik K. Agaram2021-06-211-281/+3
| | | | First step: undo operator support in tokenization.
* .Kartik K. Agaram2021-06-201-3/+3
|
* shell: now no definitions with long linesKartik K. Agaram2021-06-201-3/+7
|
* shell: shrink definition widths in a few placesKartik K. Agaram2021-06-201-12/+14
| | | | The only remaining long lines now are in 'pair' and 'with'.
* this is how we create aliasesKartik K. Agaram2021-06-201-1/+1
|
* preserve indentation of the sandboxKartik K. Agaram2021-06-203-7/+7
|
* 'with' lets us drop a few more parensKartik K. Agaram2021-06-201-40/+41
|
* new macro: withKartik K. Agaram2021-06-204-4/+66
|
* new macro: retKartik K. Agaram2021-06-201-6/+7
| | | | http://arclanguage.org/item?id=11068
* start dropping parens everywhereKartik K. Agaram2021-06-201-96/+98
|
* start guessing parentheses based on indentationKartik K. Agaram2021-06-203-77/+66
|
* snapshotKartik K. Agaram2021-06-208-22/+591
| | | | | This is going better than expected; just 3 failing tests among the new ones.
* start emitting indent tokensKartik K. Agaram2021-06-185-31/+227
|
* redo next-token in more high-level termsKartik K. Agaram2021-06-182-73/+95
|
* .Kartik K. Agaram2021-06-181-30/+30
|
* .Kartik K. Agaram2021-06-181-49/+49
|
* start emitting token for newlineKartik K. Agaram2021-06-181-5/+12
|
* newlines are now a tokenKartik K. Agaram2021-06-182-4/+12
|
* start implementing indent-sensitivityKartik K. Agaram2021-06-181-2/+26
| | | | | | | General plan: stop skipping newlines during tokenization introduce a new indent token, initially skip it transparently start doing cleverer things
* .Kartik K. Agaram2021-06-181-6/+2
|
* .Kartik K. Agaram2021-06-181-8/+6
|
* make code in Readme easier to copyKartik K. Agaram2021-06-182-14/+14
| | | | Thanks Sumeet Agarwal for the suggestion.
* fix emulated buildKartik K. Agaram2021-06-181-2/+2
| | | | | | | | Embarrassingly broken since May 15 (commit ff8ec9bcff). Thanks Jack Rusher for reporting this. (fixes #48)
* shell: stop punning tokens as cellsKartik K. Agaram2021-06-183-89/+116
|
* Merge pull request #47 from akkartik/fix-precisionKartik Agaram2021-06-172-2/+5
|\ | | | | Fix precision
| * create .gitignoreSumeet Agarwal2021-06-171-0/+3
| |
| * change precision when loading sandbox codeSumeet Agarwal2021-06-171-2/+2
|/
* .Kartik Agaram2021-06-1556-44831/+46598
|
* .Kartik K. Agaram2021-06-151-0/+150
|
* .Kartik K. Agaram2021-06-152-1/+3
|
* .Kartik Agaram2021-06-153-73/+103
|
* .Kartik Agaram2021-06-152-0/+32
|
* .Kartik Agaram2021-06-151-0/+85
|
* .Kartik K. Agaram2021-06-151-1/+3
| | | | | Support newlines. Looks like we pasted the input from the browser window during the pairing session.
* example program by Sumeet AgarwalKartik K. Agaram2021-06-151-0/+48
| | | | | https://adventofcode.com/2017/day/1 https://archive.org/details/2021-06-02-akkartik-sumeet
* shell: better screenshotKartik Agaram2021-06-154-2/+2
|
* always print black pixels when rendering screensKartik K. Agaram2021-06-151-2/+0
| | | | This is an old 'optimization' that turns out to not actually matter.
* .Kartik Agaram2021-06-151-0/+7
|
* shell: improve docsKartik Agaram2021-06-152-5/+14
|
* .Kartik Agaram2021-06-151-33/+34
|
* document responsiveness trade-offKartik K. Agaram2021-06-152-35/+28
|
* do more work per fake-screen refreshKartik K. Agaram2021-06-151-1/+1
| | | | | | 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.
* more precisely track count of calls to evalKartik K. Agaram2021-06-152-20/+13
| | | | | Before I only separately counted calls at each stack depth. I don't remember if that seemed good enough or was just an oversight.
* flickerlessly render fake screens in environmentKartik K. Agaram2021-06-155-35/+100
| | | | | | | | 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.
* .Kartik K. Agaram2021-06-151-3/+4
|
* periodic run of misc_checksKartik K. Agaram2021-06-123-4/+5
| | | | | I should really stop using /disp8 jumps at the top-level given how inconvenient it is to check for overly large offsets.