You can embed GNU APL. I did it once with Clojure[1], tho it wasn't too popular. If they hired you to do Python should probably do that instead of embedding APL into Python. (I don't follow my own advice)
I would love to embed Dyalog but last time I tried I wasn't smart enough. If anyone from Dyalog feels like throwing cycles at it let me know!
What do you mean by "fully embed"? The integration is a 'bridge', the Dyalog engine stays involved. The simplest way is to make a class and method that takes a string and ⍎ evals it as APL code and returns the result, and call that from C#. From there, you could write more and more APL code and make wrapper methods to expose an API of methods that C# can call.
And more general documentation: https://www.dyalog.com/documentation_190.htm including one for classic Windows .NET (instead of .NET Core) and one "APL As A Shared Library" which is about integrating with other systems using C (making a C .DLL) instead of .NET.
Ahhh this is fantastic. Exactly what I was looking for. As I said before not that smart, but hopefully a little smarter than I was before. The shared library documents, if I can figure them out, would allow for a libdyalog-clj, which would be extremely exciting. To me, anyway, and maybe like six other people haha.
Thank you, jodrellblank, for being patient with me and for this information.
Well, there's KlongPy[1]. While not APL, it is built on top of Python and manages to turn NumPy from "Iverson Ghost"[2] status into Klong[3], a proper array language.
I do not know about the previous poster, but anyone who knows about APL finds annoying to write tons of superfluous lines of code imposed by the syntax of most popular programming languages in order to express loops, instead of using only high-level array operations, which say only what must be done, without repeating the details well known by any programmer or compiler, about how to do that.
I would love to embed Dyalog but last time I tried I wasn't smart enough. If anyone from Dyalog feels like throwing cycles at it let me know!
[1] https://github.com/jjtolton/libapl-clj