Been working some more on my programming language. Performance is not great, but acceptable in most cases (but since people seem to be happy with Python, perhaps I shouldn't worry about making it performant).
The code base is only 17k lines of Kotlin. That's much less than expected.
It not builds for the JVM, Natively as well as to Javascript, so it's even possible to run it in the browser.
For anyone interested: https://github.com/lokedhs/array
@loke Aha, checking now, and starred. ;)
@loke Cool, looks like i need 'akt' (dyalog), already have it compiled, checking this:
https://github.com/lokedhs/array/blob/master/demo/mandelbrot.kap
@loke Sorry for late reply, I meant to handle the special characters, eg. ∇ range.
@modrobert the gui already handles that. It uses the alt key for the special character.
Of course that doesn't applies for the natively compiled version, bur that one isn't really recommended anyway.
@loke OK, tried './gradlew gui:run' (Test ui) now, seems to work:
range (1.1;10;10)
1.1 1.9900000000000002 2.88 3.7700000000000005 4.66 5.550000000000001 6.440000000000001 7.33 8.22 9.110000000000001
BTW: Is it normal I have to press the decimal '.' twice before it shows in GUI? Seems like the '.' key triggers some special functionality (have en. int. altgr dead keys keyboard selected).
@modrobert yes, it's normal. It's the default prefix for special characters (same as alt). There is no configuration option for it yet.
@modrobert If you run the UI, you should be able to simply load that file into the editor and click on "run". After this, you have to execute the function (since the file only declares functions), but running: mandelbrotDemo ⍬
The last ⍬
is needed as a dummy argument because currently there is no support for functions that does not take arguments.
@modrobert No, my implementation is independent of Dyalog. It implements some of the same features though.