| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
There's still a problem: if I ever want to use any of the special
scenario variables like 'screen', 'console', etc., then I can't use
'local-scope' in my scenario.
|
|
|
|
|
| |
Tests are clearer if memory locations look different from other literal
values.
|
| |
|
|
|
|
| |
Clean up old tests after https://news.ycombinator.com/item?id=11779013
|
| |
|
|
|
|
|
|
|
|
|
|
| |
insert_container is getting pretty gnarly. It's spread across two layers
(containers and shape-shifting containers), and since it has to deal
with extending existing containers it's coiled in on itself,
constantly reading and writing the Type table.
Maybe I should uncoil the case of extending a container and make it
separate from defining a new container.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Drop those tests now that we've confirmed over the last few commits that
they work. The new test introduced in the bugfix of commit 3003 takes
over their duties.
|
|
|
|
|
|
| |
Thanks Caleb Couch for finding this hole, and for noticing that it made
a bug in binary-search harder to find. For now we'll just rely on the
host's support for printing floating-point.
|
|
|
|
|
|
| |
Bugfix: overriding a primitive recipe with a generic variant that takes
an address of something shouldn't mask the primitive when you call it
with literal 0.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|