| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug was incredibly painful to track down: the one-line fix is to replace
'line' with 'first-line' in the call to 'evaluate' in render-line before
recursing.
Things that made it challenging:
- A high degree of coiling with recursive calls and multiple places of
evaluation.
- An accidental aliasing in bindings (when rendering the main column in
render-line) that masked the underlying bug and made things seem to work
most of the time.
- Too many fucking arguments to render-line, a maze of twisty line objects
all alike.
|
| |
|
|
|
|
|
| |
In addition to fixing a segfault, the realization here is that we don't
always have a type name. Error messages need to take that into account.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attempt #3: always create a copy of the bindings before each column/evaluate.
The details are fuzzy in my head, but it seemed worth trying. I figured
I'd either see the old duplication behavior or everything will work. Instead
I'm seeing new problems.
commit 7208:
5 5 fake-screen =s
s 1 down 1 right
expected:
|
-
observed:
|
|
-
commit 7210-7212:
5 5 fake-screen =s
s 1 down 1 right
[define foo]
s foo
[expand foo]
observed: no bindings available when rendering foo expanded
commit 7213:
5 5 fake-screen =s
s 1 down 1 right
[define foo]
s foo
[expand foo]
expected within foo:
|
-
observed within foo:
|
|
-
commit 7215:
5 5 fake-screen =s
s 1 down 1 right
[define foo]
s foo
[expand foo]
observed: no bindings available when rendering foo expanded
|
|
|
|
|
|
|
|
|
|
| |
Turns out even that doesn't work.
There are two distinct use cases here:
1. Keeping columns from infecting each other.
2. Expanding function calls.
Perhaps ping-ponging between them is a sign I need tests.
|
|
|
|
|
|
|
|
| |
It turns out deciding when to initialize the table of bindings is quite
a thorny problem in the presence of function calls (since they need their
args bound). In time I should probably support a linked list of tables.
For now I'll just continue to reuse tables, but perform lookups in reverse
order so that the correct binding is always returned.
|
| |
|
| |
|
|
|
|
|
| |
Bug fixed; I had to reinitialize the table of bindings.
Interesting debugging experience.
|
| |
|
|
|
|
|
|
|
|
| |
Only the final line shows the stack for now. No way to move cursor back
up.
One bug I'm noticing: creating a screen on one line and then reusing it
in a second causes operations to be performed multiple times.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
We can copy non-zero literals only to non-addr non-offset scalars.
This change is surprisingly short for the magnitude of the limb I felt
myself going out on for it. Surprising that there were no unpleasant discoveries.
|
| |
|
|
|
|
| |
Training sights now on some gaps with offset types.
|
|
|
|
| |
Mu has no overloading or static dispatch for now.
|
| |
|
|
|
|
| |
Lots of copy-pasta.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
More bugfixes, now all apps are working.
In the process of fixing the bugs in translating apps/browse, I found a
typo in apps/tile that just happened to accidentally be compiling fine.
|
|
|
|
|
|
| |
After this bugfix, apps/tile/ is now working.
apps/browse/ is still failing.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All tests passing again.
|
| |
|
| |
|
|
|
|
| |
One more test.
|
|
|
|
|
|
|
| |
Now test-return-unavailable-value is passing,
but test-convert-return-with-duplicate-values is failing.
Time to think.
|
|
|
|
|
|
|
|
| |
2 new tests:
test-return-unavailable-value - currently failing
test-convert-return-with-duplicate-values - currently passing
I don't yet know how to make both pass.
|
| |
|
| |
|
|
|
|
|
| |
All tasks of https://github.com/akkartik/mu/issues/45#issuecomment-719990879
should now be complete.
|
| |
|