Lo and behold, now #OwlLisp (a dialect of #Scheme without anything mutable in it):
https://rosettacode.org/wiki/Modular_arithmetic#Owl_Lisp
#RosettaCode #ModularArithmetic #FunctionalProgramming #Lisp
#owllisp #scheme #rosettacode #modulararithmetic #functionalprogramming #lisp
Also #OwlLisp does not follow SRFI-1 or anything like it in argument lists. I had to keep the compiler's source code handy to look up, for instance, how to call "lunfold".
Some things I’m used to having work in #Scheme did not work, it seems in part due to implementation limitations. But also because some things I expected to be procedures were NOT procedures.
In other cases, it was that most Schemes did a thing by assigning a value to a variable, whereas #OwlLisp was doing it a different way (without syntactic sugar available to make the expected way work).
I added #OwlLisp to the repertoire of my answers to the #ContinuedFractions arithmetic draft-task on #RosettaCode:
Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2) - Rosetta Code https://rosettacode.org/wiki/Continued_fraction/Arithmetic/G(matrix_ng,_continued_fraction_n1,_continued_fraction_n2)#Owl_Lisp
#owllisp #continuedfractions #rosettacode #scheme #lisp #functionalprogramming
I have added a #RosettaCode language page for #OwlLisp --
Category:Owl Lisp - Rosetta Code https://rosettacode.org/wiki/Category:Owl_Lisp
I suspect there are some Owl Lisp programs already on Rosetta Code, but classified under "Ol", which is Otus Lisp, a different language. I suppose it mightn’t be a bad idea to find these and move them. If anyone hath the gumption.
And my first ever program in #OwlLisp --
https://rosettacode.org/wiki/Modular_inverse#Owl_Lisp
Using a PURELY functional Scheme requires at least a small change in thinking. (Also it seems not to have unary minus sign.)