Kartik Agaram
a87bc353f5
.
2020-10-24 19:33:41 -07:00
Kartik Agaram
e648bc9c88
tile: process space in middle of word
2020-10-24 18:26:19 -07:00
Kartik Agaram
1137dd2a99
tile: process space at start of word
...
This was very difficult to debug.
We still need to process space in the middle of a word.
2020-10-24 16:52:33 -07:00
Kartik Agaram
03012c91c2
tile: adjust spacing between commandline and stack
2020-10-23 00:09:24 -07:00
Kartik Agaram
4568607634
7087 - defining functions now seems to be working
2020-10-20 22:15:32 -07:00
Kartik Agaram
6b973819d0
7086
...
Expanding words now seems to be working. I was forgetting to update 'prev'
pointers in a few places.
2020-10-20 21:48:53 -07:00
Kartik Agaram
9ac5159486
7085
2020-10-20 21:18:38 -07:00
Kartik Agaram
cbe90c6a2b
7084
...
Cursor now updating right.
Still a couple of bugs:
ctrl-e doesn't know about multiple lines
function calls don't expand right in multi-line sandboxes
(but at least I'm now getting to see them in action!)
2020-10-20 13:39:31 -07:00
Kartik Agaram
38ff550455
7083
...
Defining functions mostly working. But we still need to fix the cursor
afterwards.
2020-10-20 10:02:31 -07:00
Kartik Agaram
ce94374bd1
7082
2020-10-20 09:39:12 -07:00
Kartik Agaram
5bdcb85f67
7081
...
Defining new functions seems to be working. _However_, we aren't yet detecting
duplicates. `x x *` leads to a declaration of `x x f`.
2020-10-20 09:33:13 -07:00
Kartik Agaram
c2d537c46b
7080
...
Constructing new functions with ctrl-d is now working right. But the call
seems exactly flipped.
2020-10-20 01:07:21 -07:00
Kartik Agaram
0cdbfff256
7079
2020-10-19 23:53:45 -07:00
Kartik Agaram
e28b949f18
7078
2020-10-19 23:20:33 -07:00
Kartik Agaram
5e9a482193
7077 - tile: render function list
2020-10-19 23:13:28 -07:00
Kartik Agaram
5532ea013b
7066 - tile: some more primitives for testing
...
Lesson learned: functions store args in _reverse_ order. Since evaluation
is very frequent, it's worth optimizing for it.
2020-10-19 22:41:46 -07:00
Kartik Agaram
3ff287f410
7065
2020-10-19 22:29:08 -07:00
Kartik Agaram
7144ae7638
7064
2020-10-19 22:27:52 -07:00
Kartik Agaram
1158758f20
7063 - tile: scaffolding for defining functions
2020-10-18 23:41:57 -07:00
Kartik Agaram
f1a3f88e95
7062
2020-10-18 23:23:36 -07:00
Kartik Agaram
266ac87340
7061
2020-10-18 23:22:06 -07:00
Kartik Agaram
19fd3c9ca4
7060 - tile: renaming variables now works
2020-10-18 23:07:23 -07:00
Kartik Agaram
956394017e
7059
...
Cursor now in the right place after rename. But stack still doesn't show
the value of a name.
2020-10-18 22:48:11 -07:00
Kartik Agaram
a3ddc1bdb3
7058
...
Snapshot; things seem to be working besides ctrl-r, but we aren't yet rendering
only the final line.
2020-10-18 21:57:09 -07:00
Kartik Agaram
47497ea552
7057 - tile: back to names
...
We can now create new bindings for names while evaluating lines.
2020-10-18 20:51:47 -07:00
Kartik Agaram
82d1fe7c9c
7056 - orange-pink
2020-10-18 20:18:51 -07:00
Kartik Agaram
d7d384a72b
7055
2020-10-18 15:49:20 -07:00
Kartik Agaram
e170b35d8b
7054
2020-10-18 15:39:34 -07:00
Kartik Agaram
dc0e03e4a5
7053
...
Rename seems to now be working. State still isn't rendered right, so we
can't be sure.
2020-10-17 23:29:02 -07:00
Kartik Agaram
1fc218bf9d
7052
2020-10-17 23:10:00 -07:00
Kartik Agaram
26bfae3d5e
7051
2020-10-17 13:54:33 -07:00
Kartik Agaram
d29dcd1263
7050
2020-10-17 12:32:44 -07:00
Kartik Agaram
ab697ede40
7049
2020-10-17 11:50:43 -07:00
Kartik Agaram
e3d6e067c6
7048
2020-10-17 11:48:13 -07:00
Kartik Agaram
302082ab70
7047
2020-10-17 11:45:37 -07:00
Kartik Agaram
5f8c473c55
7046 - start of flow for naming words
...
Names don't stick yet, but we have a scaffolding for printing a dialog
and accepting input.
2020-10-17 11:40:29 -07:00
Kartik Agaram
2dd300eb20
7045
2020-10-16 22:46:39 -07:00
Kartik Agaram
b72c5a60ff
7044
2020-10-16 22:40:40 -07:00
Kartik Agaram
7244bf99dd
7043 - the REPL is dead; long live the IVL
2020-10-16 22:29:23 -07:00
Kartik Agaram
16212c63cb
7042
2020-10-15 22:37:21 -07:00
Kartik Agaram
fc1d71dd09
7039
...
Ok, I think we may finally be done crushing all the pesky bugs.
And now we can insert and delete words in the middle of a line, and have
expanded calls stay stable!
2020-10-15 21:22:51 -07:00
Kartik Agaram
02cefc7065
7038
...
Arrow keys now seem to be working right within expanded functions. Still
seeing one minor issue with left-arrow skipping words.
2020-10-15 21:19:52 -07:00
Kartik Agaram
2885e1d441
7037
...
Expanding words now working, but ctrl-f/ctrl-b inside expanded words not
working right.
2020-10-15 20:54:06 -07:00
Kartik Agaram
514dea3aab
7036
...
ctrl-u now working.
2020-10-15 20:48:27 -07:00
Kartik Agaram
70da3b3846
7035
...
ctrl-f and ctrl-b working right. Now ctrl-u is segfaulting. Also expanding
words.
2020-10-15 20:46:01 -07:00
Kartik Agaram
6fdfd5607b
7034
...
Finally following up on commit 7020. Ctrl-a and ctrl-e now work, but word-wise
motions are still showing some funkiness.
2020-10-15 20:37:11 -07:00
Kartik Agaram
480fd9958a
7032
2020-10-14 13:42:03 -07:00
Kartik Agaram
d9f8784d4c
7031
2020-10-14 12:46:53 -07:00
Kartik Agaram
7dd5a41e07
7030
2020-10-14 12:22:32 -07:00
Kartik Agaram
9635163bdc
7029
2020-10-14 12:00:19 -07:00
Kartik Agaram
098dd58df4
7021
2020-10-14 03:51:50 -07:00
Kartik Agaram
5fe86b8348
7020
...
snapshot: migrating call-path to store word handles rather than word indexes.
ctrl-a and ctrl-e are segfaulting. There are likely other problems.
The major new change here is that allocating a call-path-element no longer
initializes it.
2020-10-14 03:31:06 -07:00
Kartik Agaram
3b18846e1f
7019
2020-10-14 02:52:30 -07:00
Kartik Agaram
c3edaff02a
7018 - tile: tweak spacing between stacks
...
Until now the word being typed had a slightly larger invisible margin,
which was a little strange. Should look cleaner now.
2020-10-13 10:58:18 -07:00
Kartik Agaram
f3a8a2588f
7017
2020-10-13 10:29:42 -07:00
Kartik Agaram
6310b0c44d
7016 - raw addrs shouldn't escape functions
...
We don't have the static checks for this yet, but discovering I've not
been following my own rules bumps the priority on it.
2020-10-13 10:15:23 -07:00
Kartik Agaram
af52cb8d1f
7015 - bugfix in column width computation
...
I just got bitten by variable shadowing! It's a lot less theoretical concern
now.
2020-10-13 00:05:05 -07:00
Kartik Agaram
54fd7d7a99
7014
...
7013 had broken right-justification when rendering the stack. Redo.
2020-10-12 21:25:41 -07:00
Kartik Agaram
1faea03428
7013
2020-10-12 19:00:16 -07:00
Kartik Agaram
32cc6779af
7012
...
Fix CI.
2020-10-12 12:08:25 -07:00
Kartik Agaram
6c21568f03
7011 - tile: keep garbage out of the stack
2020-10-12 11:39:28 -07:00
Kartik Agaram
598f942624
7010
...
A new example that better demonstrates the value of named arguments.
2020-10-12 10:10:31 -07:00
Kartik Agaram
855431280d
7009 - tile: real hotkey to quit
2020-10-12 10:07:55 -07:00
Kartik Agaram
4d985cda1e
7008 - tile: center menu
2020-10-11 23:06:13 -07:00
Kartik Agaram
5668acaf44
7007 - tile: hotkey to clear sandbox
...
Alternative symbols considered for the menu option:
∅
AC (like in a calculator)
2020-10-11 23:00:45 -07:00
Kartik Agaram
e6c19a3465
7006
2020-10-11 22:56:46 -07:00
Kartik Agaram
fcdf04ee78
7005 - tile: move to start/end of line
2020-10-11 22:37:18 -07:00
Kartik Agaram
aceeba8d48
7004
2020-10-11 22:15:29 -07:00
Kartik Agaram
31a1ade9a2
7003
2020-10-11 22:11:03 -07:00
Kartik Agaram
9cbb6dce54
7002 - tile: next-word
2020-10-11 00:23:35 -07:00
Kartik Agaram
8c0d0c8464
7001
2020-10-11 00:17:24 -07:00
Kartik Agaram
1c441baf96
7000 - tile: previous-word also bumps up to caller
2020-10-11 00:11:04 -07:00
Kartik Agaram
28d99f031d
6999 - tile: move to previous word
2020-10-10 23:38:42 -07:00
Kartik Agaram
cfad9c494e
6998
2020-10-10 22:08:23 -07:00
Kartik Agaram
4b75c6b554
6997
2020-10-10 22:07:13 -07:00
Kartik Agaram
3d203a4484
6996
2020-10-10 21:43:34 -07:00
Kartik Agaram
7c2d5dc88b
6995
2020-10-10 21:40:03 -07:00
Kartik Agaram
24c4854223
6994
2020-10-10 21:32:43 -07:00
Kartik Agaram
818512d15a
6993
2020-10-10 21:31:33 -07:00
Kartik Agaram
07faf800ac
6992
...
Left arrow key out of an expanded word now working.
Still to fix: left arrow key out of the first word in the first word.
2020-10-10 21:30:02 -07:00
Kartik Agaram
ae6340f225
6991 - tile: nested calls now expanding
...
I just needed to remove an obsolete guardrail in render-line.
Still seeing some bugs with left-arrow when playing around with the full
expansion of `1 2+`.
2020-10-10 21:22:00 -07:00
Kartik Agaram
831a133a4b
6990
...
Bring back definitions for 1+ and 2+. Expanding nested calls still doesn't
work.
2020-10-10 02:08:46 -07:00
Kartik Agaram
dae19c9fe6
6989 - tile: arrow keys now seem to handle calls
2020-10-10 02:00:46 -07:00
Kartik Agaram
b25167a9ae
6988
...
Oh, of course. I can't compare the word with the word at the cursor. Not
even its interned pointer. We have to track the call path.
2020-10-10 01:43:12 -07:00
Kartik Agaram
e8367b2bc2
6987 - left-arrow to jump to caller/callee
...
Starting to work. I'm still seeing problems in lines with multiple expanded
calls, but perhaps that's a rendering issue.
The code is absolutely ghastly.
2020-10-10 01:42:58 -07:00
Kartik Agaram
f864cf0874
6986
...
Cursor now stays on the right row as we bounce in and out of function calls.
2020-10-09 23:43:24 -07:00
Kartik Agaram
5b7ccbc8f4
6985 - tile: make calls read-only
2020-10-09 23:35:19 -07:00
Kartik Agaram
cbd076e02c
6984
2020-10-09 23:32:50 -07:00
Kartik Agaram
6e93444ff4
6983 - tile: right-arrow can now move out of calls
2020-10-09 23:30:19 -07:00
Kartik Agaram
5ba974b4e5
6982 - right-arrow now moves into expanded calls
...
Rendering is still ugly. Cursor isn't on the right row. But the hard part
is behind us.
This was a stupid mistake in function-body, and it happened because I've
been getting lazy and passing (addr handle) objects when I should be passing
in "constant" addr objects.
I'm not sure why I was so resistant to debugging by print here. I spent
3 days waffling about with this bug.
2020-10-09 23:24:00 -07:00
Kartik Agaram
8c43582fb2
6981
...
Tile: simplify the contract for render-column.
2020-10-09 22:27:22 -07:00
Kartik Agaram
ec6221b485
6980
...
Changing tack..
2020-10-09 22:15:14 -07:00
Kartik Agaram
315926f732
6979
...
Use the fake-screen infrastructure we already have for non-interactive
mode.
2020-10-09 21:43:42 -07:00
Kartik Agaram
cb01075a2e
6978
...
We don't have tests yet in the tile prototype, mostly because we don't
yet feel confident about what desired behavior should be. But it's still
helpful to have a non-interactive mode for tracking down segfaults.
2020-10-09 21:25:32 -07:00
Kartik Agaram
7c6bb4d316
6977
...
Snapshot. We've gotten arrow keys navigating, but segfault when getting
to the second word in an expanded function call body.
2020-10-09 21:17:51 -07:00
Kartik Agaram
eb2ccccceb
6976
2020-10-09 21:10:14 -07:00
Kartik Agaram
0c465d1dcc
6975
2020-10-09 21:08:40 -07:00
Kartik Agaram
5659eccded
6974
2020-10-08 20:32:49 -07:00
Kartik Agaram
e9957c78da
6972 - tile: stop persisting cursor-word
...
Rather surprisingly, this transformation worked the first time!
2020-10-08 20:32:34 -07:00
Kartik Agaram
b8fd119b78
6969
...
Fix and cleanup.
2020-10-06 00:41:20 -07:00
Kartik Agaram
ce094a5d82
6968
...
Snapshot that requires a check in the Mu compiler.
Currently I don't spill a register if it could possibly be over-written
by a function output within. However, find-in-call-path is a good example
of where this constraint is too lenient and results in unsafe code. The
variable `curr` gets clobbered during loop update by the variable `match?`.
What's the answer? Perhaps we should ban all conditional updates to function
outputs? That'd be dashed inconvenient.
2020-10-06 00:36:28 -07:00
Kartik Agaram
e41bc160a0
6967
...
Function expand/contract still works, but the implementation is totally
different under the hood.
2020-10-05 22:21:27 -07:00
Kartik Agaram
a9e56c46c6
6966
2020-10-05 21:35:46 -07:00
Kartik Agaram
88e23b97df
6965
2020-10-05 21:32:45 -07:00
Kartik Agaram
c2844535f3
6964 - tile: start tracking word index in fn body
2020-10-05 21:22:42 -07:00
Kartik Agaram
21387ef514
6963 - tile: more idiomatic conventional repl
2020-10-05 21:09:42 -07:00
Kartik Agaram
6833b4542c
6962
...
Slowly hoist cursor-word from environment to sandbox. This isn't its final
destination.
2020-10-05 20:44:50 -07:00
Kartik Agaram
c626219e3f
6961
2020-10-05 20:37:47 -07:00
Kartik Agaram
5fa8e972d6
6960
2020-10-05 18:36:28 -07:00
Kartik Agaram
f13576b5d2
6957
...
The final fix to the raytracing program involves rounding modes. It turns
out x86 processors round floats by default, unlike C which has trained
me to expect truncation. Rather than mess with the MXCSR register, I added
another instruction for truncation. Now milestone 3 emits perfectly correct
results.
2020-10-05 10:25:25 -07:00
Kartik Agaram
fa2092a024
6953
2020-10-05 09:26:54 -07:00
Kartik Agaram
cdff5d73ce
6952 - raytracing: much better
...
The image is now visually indistinguishable from the baseline, though the
file isn't quite bit-for-bit correct.
I found 3 bugs:
a) I forgot to normalize the ray. After creating a helper to "automatically"
do it for me, it turns out said helper requires manually using.
b) I forgot to multiply by t at one place.
c) vec3-length was half-written.
For the umpteenth time, the bugs were all in the last place I looked. I
was worried about spending a lot of time transcribing `main` without any
feedback, but that turned out to be perfect.
2020-10-04 23:12:21 -07:00
Kartik Agaram
5c105a7aca
6949 - snapshot of next raytracing milestone
...
Not yet right, but worth a snapshot just because it gives a cool result.
Here, try it out:
$ ./translate_mu_debug apps/raytracing/3.mu
$ ./a.elf > x.ppm
Now view x.ppm as an image.
In general, this was quite tedious to write. And a still-open question
is how to emit the progress bar to stderr. My options are to either duplicate
all my print-* functions (already proliferating) or add global variables
to Mu.
2020-10-04 21:15:28 -07:00
Kartik Agaram
f5e1656d15
6948 - stress-testing prints of floats
...
Looks good.
2020-10-04 11:55:55 -07:00
Kartik Agaram
b8d613e7c2
6946 - print floats somewhat intuitively in hex
2020-10-04 11:18:23 -07:00
Kartik Agaram
93c6352dda
6943
...
Move some implementation around for floating-point.
I originally thought I wouldn't bother supporting sigils like %xmm0. But
it turns out I need them to pass floats into SubX function calls. And it
turns out the sigils work fine for free.
2020-10-04 00:54:57 -07:00
Kartik Agaram
1bf5d5f44e
6942
2020-10-04 00:19:54 -07:00
Kartik Agaram
2f5a8496e6
6940
2020-10-03 22:55:19 -07:00
Kartik Agaram
f6eba67645
6937
2020-10-03 20:24:14 -07:00
Kartik Agaram
cce9cda971
6935 - raytracing using floats
2020-10-03 20:17:08 -07:00
Kartik Agaram
4787d7d4b8
6934
2020-10-03 20:06:27 -07:00
Kartik Agaram
7b85e97ea8
6933
2020-10-03 19:50:24 -07:00
Kartik Agaram
42500e3f47
6932 - another bug related to floats
...
For most of Mu's history we've selected between primitives based on types
just by checking whether a type is a literal or not. Now we've started
checking if it's a float as well. However, floats need one additional check:
the call site may have an (addr float) that is dereferenced.
2020-10-03 13:55:52 -07:00
Kartik Agaram
c2ec9e21c9
6931 - support fp registers in variable lookup
2020-10-03 12:05:53 -07:00
Kartik Agaram
8719ea906d
6930
2020-10-03 11:40:26 -07:00
Kartik Agaram
b94e94e035
6927 - working on a raytracing tutorial
...
https://raytracing.github.io/books/RayTracingInOneWeekend.html
2020-10-03 00:24:57 -07:00
Kartik Agaram
4230946e6a
6925 - tile: don't try to print escape sequences
2020-10-01 22:49:31 -07:00
Kartik Agaram
f3ca0e3cb3
6922
2020-10-01 20:39:56 -07:00
Kartik Agaram
df04b364a6
6918
...
Fix CI.
2020-10-01 00:01:15 -07:00
Kartik Agaram
8d32a9aab9
6915 - a new family of Mu branch instructions
...
The realization of commit 6916 means that we should be using jump-if-addr*
after comparing floats. Which is super ugly. Let's create aliases to them
called jump-if-float*.
2020-09-30 23:46:43 -07:00
Kartik Agaram
72c42f90cf
6908 - compiling all floating-point operations
...
We don't yet support emulating these instructions in `bootstrap`. But generated
binaries containing them run natively just fine.
2020-09-30 21:17:37 -07:00
Kartik Agaram
558bf57587
6907 - converting to and from floating-point
...
Some bugfixes to the previous commit.
2020-09-29 22:17:25 -07:00
Kartik Agaram
c3176a3f70
6906
2020-09-29 21:41:58 -07:00
Kartik Agaram
a4ef7ce888
6905 - first floating-point instruction compiling
...
(Though the generated code doesn't work yet.)
2020-09-29 21:33:51 -07:00
Kartik Agaram
092205deb3
6904
...
New fields for primitives to support code-generation for floating-point
primitives.
2020-09-29 20:53:59 -07:00
Kartik Agaram
8246324ebb
6903
...
Make a few tests more self-contained.
I'd prefer to just run a function called `setup` first thing on startup
and move this portion of convert-mu to it:
# initialize global data structures
c7 0/subop/copy *Next-block-index 1/imm32
8b/-> *Primitive-type-ids 0/r32/eax
89/<- *Type-id 0/r32/eax # stream-write
c7 0/subop/copy *_Program-functions 0/imm32
c7 0/subop/copy *_Program-functions->payload 0/imm32
c7 0/subop/copy *_Program-types 0/imm32
c7 0/subop/copy *_Program-types->payload 0/imm32
c7 0/subop/copy *_Program-signatures 0/imm32
c7 0/subop/copy *_Program-signatures->payload 0/imm32
However, this approach doesn't fix my run_one_test tooling.
2020-09-29 20:33:29 -07:00
Kartik Agaram
cf1ddc4170
6902
2020-09-29 19:24:29 -07:00
Kartik Agaram
d2b9c7283a
6901
2020-09-29 09:14:09 -07:00
Kartik Agaram
55847cde87
6900 - mu.subx: new primitive type 'float'
...
Using it will currently emit incorrect programs.
2020-09-29 03:51:32 -07:00
Kartik Agaram
8cd797a165
6899
2020-09-29 03:51:32 -07:00
Kartik Agaram
8b1da9bbb2
6898 - names for floating-point xmm* registers
2020-09-29 03:51:19 -07:00
Kartik Agaram
3a2888ae47
6895
2020-09-28 22:19:18 -07:00
Kartik Agaram
64a39b29eb
6891
2020-09-27 23:14:18 -07:00
Kartik Agaram
4f872e345a
6889
...
Teach the self-hosted translator about the new /xm32 and /x32 metadata
for floating-point registers.
2020-09-27 23:00:04 -07:00
Kartik Agaram
7258083c6f
6884
2020-09-27 07:32:08 -07:00
Kartik Agaram
866cccca76
6883
2020-09-26 23:55:44 -07:00
Kartik Agaram
abab2fdefd
6882
2020-09-26 23:51:23 -07:00
Kartik Agaram
fec64dbc76
6881 - tile: function calls can now be expanded
2020-09-26 23:50:05 -07:00
Kartik Agaram
6e0ff0e5dc
6880
...
We need the state of the stack at the call-site. But rendering is already
working surprisingly well.
2020-09-26 23:40:47 -07:00
Kartik Agaram
4578687622
6879
...
Extract a new function.
2020-09-26 23:29:14 -07:00
Kartik Agaram
6f4ff604de
6878 - tile: mock-up for expanding function calls
2020-09-26 23:24:55 -07:00
Kartik Agaram
009559f1fb
6877
...
Track just whether to step inside or not.
2020-09-26 23:07:11 -07:00
Kartik Agaram
866e6e72a8
6876
...
Back to commit 6872.
2020-09-26 23:05:36 -07:00
Kartik Agaram
e5aa1b3cb6
6875
...
Snapshot. Caching subsidiary stacks is a dead end; they're just the final
iteration. We need to render all iterations.
2020-09-26 23:02:39 -07:00
Kartik Agaram
270dce161f
6874
2020-09-26 23:02:03 -07:00
Kartik Agaram
78cfd370e5
6873
...
Now saving the subsidiary stack.
2020-09-26 22:27:09 -07:00
Kartik Agaram
62c539d8ac
6872
...
Hackily show function definition.
2020-09-26 22:14:36 -07:00
Kartik Agaram
ef7f0a540a
6871
...
Segfault now fixed. Everything seems to be working again.
2020-09-26 22:10:34 -07:00
Kartik Agaram
ebb93c6d58
6870
...
Emit a stack of not ints but more complex objects containing the int payload.
Function calls again segfaulting.
2020-09-26 21:59:50 -07:00
Kartik Agaram
65e6633b79
6869
2020-09-26 21:30:04 -07:00
Kartik Agaram
5babe16f2d
6868
...
First function call working in apps/tile!
2020-09-26 21:26:20 -07:00
Kartik Agaram
e46cfc2e0c
6867
...
Segfault fixed. This shouldn't have been so hard.
2020-09-26 20:47:52 -07:00
Kartik Agaram
42349345f4
6866
2020-09-26 20:15:45 -07:00
Kartik Agaram
b8682e7349
6865
2020-09-26 20:14:06 -07:00
Kartik Agaram
a060a4dc30
6864
2020-09-26 20:07:58 -07:00
Kartik Agaram
70dba10a6c
6863
2020-09-26 20:05:12 -07:00
Kartik Agaram
88d690ccad
6862
...
Fix CI.
2020-09-26 20:00:54 -07:00
Kartik Agaram
11d3ce7146
6861 - tile: conventional repl
2020-09-26 19:15:04 -07:00
Kartik Agaram
e0bceffe08
6860
...
Snapshot: tile currently segfaulting. I need to back up and make it easier
to debug.
2020-09-26 13:41:23 -07:00
Kartik Agaram
fca30f0f86
6859
2020-09-25 20:05:10 -07:00
Kartik Agaram
2929ca471b
6857
2020-09-25 16:58:18 -07:00
Kartik Agaram
bf1b3155fb
6856
2020-09-25 16:56:02 -07:00
Kartik Agaram
d061cbff87
6855
...
Get rid of cutesy justify thresholds. They didn't actually save me any
trouble, and they won't generalize to other literals besides ints.
2020-09-25 09:47:55 -07:00
Kartik Agaram
5914ed31a9
6854
2020-09-25 09:34:24 -07:00
Kartik Agaram
0ecd596b70
6853 - tile: initialize a test function definition
2020-09-24 21:17:25 -07:00
Kartik Agaram
a04f816cff
6852 - tile: placeholder for lexical scopes
2020-09-24 20:44:13 -07:00
Kartik Agaram
b27a1a2523
6851
2020-09-24 20:39:22 -07:00
Kartik Agaram
6d35f049cc
6850
2020-09-24 16:30:02 -07:00
Kartik Agaram
985f226801
6849
2020-09-24 16:28:15 -07:00
Kartik Agaram
7e7d298bfd
6848
2020-09-24 08:37:47 -07:00
Kartik Agaram
1fc5ce90ca
6846
2020-09-23 22:45:04 -07:00
Kartik Agaram
3daf4cb3e3
6845
2020-09-23 22:35:00 -07:00
Kartik Agaram
22a7849a5e
6844 - tile: initial data model
...
I actually deleted a test here! Hard-core prototype mode.
2020-09-23 22:24:51 -07:00
Kartik Agaram
91a254de16
6842 - hackily load local Vim settings
...
I have scripts to load vimrc.vim from the directory of the file being edited.
This hack loads vimrc.vim from the top-level mu/ directory when I edit
files in some common directories.
2020-09-23 21:43:23 -07:00
Kartik Agaram
3702858928
6841
...
Initial sketch for a menu bar.
2020-09-22 22:28:10 -07:00
Kartik Agaram
5234c224d0
6840
...
Extract "unmoving background" into a separate function.
2020-09-22 22:23:24 -07:00
Kartik Agaram
0160465466
6839
...
Not sure what I was seeing. clear-screen is plenty stable.
2020-09-22 22:19:30 -07:00
Kartik Agaram
89684e6677
6838
...
Interestingly, erasing the screen partially looks better to me even though
it's clearly slower. The divider never being redrawn provides a sense of
stability.
2020-09-22 22:10:26 -07:00
Kartik Agaram
4b3461fa0a
6837
2020-09-22 21:54:38 -07:00
Kartik Agaram
abfdb26cd3
6836
2020-09-22 21:53:43 -07:00
Kartik Agaram
670bf6ed01
6833 - tile: right-justify for negative numbers
2020-09-22 10:13:35 -07:00
Kartik Agaram
8152b0d109
6832 - tile: right-justify numbers
...
Fails noisily for negative integers so far.
2020-09-22 00:27:56 -07:00
Kartik Agaram
04d06dfe53
6831 - tile: preserve color contrast
...
Formula from Chris Maughan: (0.2126*R + 0.7152*G + 0.0722*B) > 0.5
2020-09-21 23:42:57 -07:00
Kartik Agaram
a4f5e38695
6830 - tile: hash bg rather than fg color
2020-09-21 21:38:22 -07:00
Kartik Agaram
e655f673b5
6829 - tile: colorize values on the stack
2020-09-21 21:27:44 -07:00
Kartik Agaram
2404478a7f
6828
2020-09-21 20:57:03 -07:00
Kartik Agaram
a71e5326bd
6827 - tile: make top of stack line up
...
Idea from the Future of Software group. I was resistant for several days,
because stacks should grow up, and because it didn't seem like a problem
that the first column's result grew farther and farther away from its input.
But eventually I noticed that the final result can also be arbitrarily
far below, which seems more serious.
This approach also has the salubrious effect of not requiring the precomputation
of max-depth.
2020-09-21 20:55:14 -07:00
Kartik Agaram
f8104b38dc
6826 - tile: indent columns compared to their final word
2020-09-21 20:48:12 -07:00
Kartik Agaram
4c363e6e49
6825 - tile: stop rendering the final word, in case it's incomplete
2020-09-21 20:45:55 -07:00
Kartik Agaram
ce1b997619
6824 - tile: gap in column width computation
2020-09-21 20:25:24 -07:00