| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This fixes all known holes in the immutability checker.
|
|
|
|
|
| |
Raise an error if a 'put' or 'put-index' doesn't match ingredient and
product. That wouldn't do what you would expect.
|
|
|
|
|
| |
Never mind, always quote direct quotes from code in error messages.
Dilated reagents are the uncommon case.
|
|
|
|
|
|
|
|
|
|
| |
Standardize quotes around reagents in error messages.
I'm still sure there's issues. For example, the messages when
type-checking 'copy'. I'm not putting quotes around them because in
layer 60 I end up creating dilated reagents, and then it's a bit much to
have quotes and (two kinds of) brackets. But I'm sure I'm doing that
somewhere..
|
|
|
|
|
|
| |
These were dropped back in commit 2858 (Apr 23). There are still holes
in immmutability checking, this just brings us back to parity while
using put/put-index instead of get-address/index-address.
|
| |
|
|
|
|
| |
Just playing around with edit/ and trying to find bugs.
|
|
|
|
|
|
|
|
|
|
| |
Earlier, this wasn't legal:
y:address:list:number <- push 34, x:address:list:number
(So that x and y would point to different places in the list.)
However, functional code relies on this ability a lot.
|
|
|
|
| |
Missed a file.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doesn't work as advertised yet. This is just the render piece, and
fixing all the tests.
I've been careful to try to break tests for edit once I implement the
button. Delete I can't ensure will break afterwards. Remember to test
clicking on multiple places on the menu.
Managing the screens is starting to grow onerous; maybe we need
something called normalize which clears some things. But the sandbox
menu can be on arbitrary lines..
|
| |
|
|
|
|
| |
Clean up this helper before we start redoing sandbox menubars.
|
|
|
|
| |
Fix CI failure.
|
|
|
|
|
|
| |
More thorough redo of commit 2767 (Mar 12), which was undone in commit
2810 (Mar 24). It's been a long slog. Next step: write a bunch of mu
code in the edit/ app in search of bugs.
|
| |
|
|
|
|
|
|
| |
Long-overdue reorganization to support general 'dilated' reagents up
front. This also allows me to move tests that are really about unrelated
layers out of layers dealing with parsing.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More reorganization in preparation for implementing recursive abandon().
Refcounts are getting incredibly hairy. I need to juggle containers
containing other containers, and containers *pointing* to other
containers. For a while I considered getting rid of address_element_info
entirely and just going by types for every single
update_refcount. But that's definitely more work, and it's unclear that
things will be cleaner/shorter/simpler. I haven't measured the speedup,
but it seems worth optimizing every pointer copy to make sure we aren't
manipulating types at runtime.
The key insight now is a) to continue to compute information about
nested containers at load time, because that's the common case when
updating refcounts, but b) to compute information about *pointed* values
at run-time, because that's the uncommon case.
As a result, we're going to cheat in the interpreter and use type
information at runtime just for abandon(), just because the
corresponding task when we get to a compiler will be radically
different. It will still be tractable, though.
|
| |
|
| |
|
|
|
|
|
|
| |
This is hopefully quite thorough. I handle nested containers, as well as
exclusive containers that might contain addresses only when the tag has
a specific value.
|
| |
|
|
|
|
|
|
| |
To support exclusive containers a recursive answer will be easier to
reuse than the current iterative one. First step: figure out the precise
boundary and interface of the recursive function.
|
| |
|
| |
|
|
|
|
| |
First genuine Travis CI failure fixed! May there be many more.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Update refcounts of address elements when copying containers.
Still lots to do; see todo list at end of 036refcount.cc.
|
|
|
|
| |
The actual fix is in the layer rewriting literal strings.
|
|
|
|
|
|
| |
In the process I've also simplified the sandbox/ app. Since it's
impossible for sandbox editors to span multiple pages, we can drop all
scroll support altogether.
|
| |
|
| |
|
| |
|