Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
d66
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
d66
1y ago
It wouldn't be idiomatic Uxntal but there's a relatively simple modification where load/store is from RAM space but jump/pc is from ROM space. For a subset of existing programs it would work fine, although the assembler
2.
▲
by
d66
1y ago
That's a fair point. A few of us have been discussing a modified Varvara spec that limits the system to a smaller amount of memory (e.g. 32k, 16k, or 8k). I think with a spec like that it would unlock many implementations that are not
3.
▲
by
d66
1y ago
I'm not sure that's true. I have an eZ80-based emulator for the AgonLight2 that is already running well enough to run some real (console-based) ROMs: https://git.phial.org/d6/uxn-ez80/ (I'm new to e
4.
▲
by
d66
2y ago
There's no requirement that stacks grow upwards in Varvara. If your stacks grew downwards then you could use LE instructions to operate on 16-bit values on the stack. You'd still need to support loading from BE memory into the LE
5.
▲
by
d66
3y ago
yes, that is the actual construction: the disjunction data type only supports a lhs and rhs, so that is the only possible way to represent it. i wrote it the way i did for clarity in the comments.
6.
▲
by
d66
3y ago
negation (~α): strings not matched by α difference (α - β): strings matched by α but not β intersection (α & β): strings matched by α and β exclusive-or (α ^ β): strings matched by α or β but not both inclusion (α > β):
7.
▲
by
d66
3y ago
you're right. inclusion/intersection/etc. aren't actually computed via DFA but instead are computed directly on the regular expression representation itself. and large disjunctions (with 256 branches) are what is very he
8.
▲
by
d66
3y ago
the library uses a fairly simple data representation where x{m,n} is compiled using conjunction and disjunction. so x{1,4} ends up being represented as x|xx|xxx|xxxx. this simplifies the code for testing equality and inclusion, since logica
9.
▲
by
d66
3y ago
interesting! what would [ab]* be? for computing an ordinal number the only real difficulty is how to handle kleene star: given ord(X) how do we calculate ord(X*)? but as you probably noticed i'm a bit out of my depth when dealing with
10.
▲
by
d66
3y ago
expressions like (...){1,256} are very heavyweight and the scala JS code ends up timing out or crashing the browser. if you replace that with (...)+ then it seems to work (at least for me). smaller expressions like (...){1,6} should be fine
11.
▲
by
d66
3y ago
normally you would use an ordinal number [1] to label individual elements of an infinite set while using a cardinal number [2] to measure the size of the set. i believe the cardinality of a set of words from a finite alphabet (with more tha
12.
▲
by
d66
3y ago
the page actually does give these. for α := [a-z]{2,4} the page gives |α| = 475228. however, as others have pointed out any non-trivial use of the kleene star means the result will be ∞. in this case the page will list numbers that roughly