Minor edits.
This commit is contained in:
parent
f844dbab6c
commit
7cd5943d89
|
|
@ -273,7 +273,7 @@ Which then becomes this:
|
||||||
|
|
||||||
5 1 >> u sqr u
|
5 1 >> u sqr u
|
||||||
|
|
||||||
The interpreter could notice that `5 1 >>` and `u sqr` can proceed in parallel without interfering with each other. The `dipdip` combinator could be written to somehow hint to the interpreter that it should check for this posibility.
|
The interpreter could notice that `5 1 >>` and `u sqr` can proceed in parallel without interfering with each other. The `dipdip` combinator could be written to somehow hint to the interpreter that it should check for this possibility.
|
||||||
|
|
||||||
|
|
||||||
## JIT
|
## JIT
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
|
Great talk from Jon Purdy in 2017, he wrote Kitten.
|
||||||
|
Concatenative Programming: From Ivory to Metal
|
||||||
https://www.youtube.com/watch?v=_IgqJr8jG8M
|
https://www.youtube.com/watch?v=_IgqJr8jG8M
|
||||||
|
|
||||||
Concatenative Programming: From Ivory to Metal
|
|
||||||
|
|
||||||
Great talk from Jon Purdy in 2017, he wrote Kitten.
|
|
||||||
|
|
||||||
"Complete and Easy Bidirectional Typechecking
|
"Complete and Easy Bidirectional Typechecking
|
||||||
for Higher-Rank Polymorphism"
|
for Higher-Rank Polymorphism"
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
Basis Function
|
Basis Function
|
||||||
|
|
||||||
Take two numbers `a` and `b` from the stack and raise `a` to the `n`th
|
Take two numbers `a` and `n` from the stack and raise `a` to the `n`th
|
||||||
power. (`b` is on the top of the stack.)
|
power. (`n` is on the top of the stack.)
|
||||||
|
|
||||||
a n pow
|
a n pow
|
||||||
-------------
|
-------------
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,7 @@ ht_insert(char *symbol)
|
||||||
while (candidate) {
|
while (candidate) {
|
||||||
// Compare pointers then hashes (since we already have
|
// Compare pointers then hashes (since we already have
|
||||||
// one hash I'm guessing that that's cheaper or at least
|
// one hash I'm guessing that that's cheaper or at least
|
||||||
// no more expensive than string comparision.)
|
// no more expensive than string comparison.)
|
||||||
if (candidate == symbol || hash == hash_key(candidate))
|
if (candidate == symbol || hash == hash_key(candidate))
|
||||||
break;
|
break;
|
||||||
index = (index + increment) % CAPACITY;
|
index = (index + increment) % CAPACITY;
|
||||||
|
|
@ -356,6 +356,7 @@ push_symbol(char *symbol, u32 stack)
|
||||||
{
|
{
|
||||||
return cons(JOY_VALUE(joySymbol, ht_insert(symbol)), stack);
|
return cons(JOY_VALUE(joySymbol, ht_insert(symbol)), stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
u32
|
u32
|
||||||
push_int(u32 n, u32 stack)
|
push_int(u32 n, u32 stack)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue