because although simple relations can usually fit in a 1-3 element lambda, more complicated sequence stuff requires many more bytes because of the weird way it generates more items
but whether the new system is golfy or not, the behaviour of Ḟ definitely needs to be reworked
it's currently quite cumbersome, and I honestly don't remember how it works
I'm working on an alternative that allows arity changes
func_arity = (
rhs.stored_arity if "stored_arity" in dir(rhs) else rhs.arity
)
while True:
ret = safe_apply(rhs, *made[-func_arity:], ctx=ctx)
made.append(ret)
yield ret
that allows for arity changes
which should it be?
pass it an unchanged lambda or calculate the arity and use that?
The Rabin-Karp string search algorithm can be extended to multiple dimensions to solve this problem.
Lets say your pattern array is M rows by N columns:
Using any rolling hash function, like a polynomial hash, first replace every column of your pattern array with the hash of the column, reducing...