Live data from Hacker News

The APL Challenge

challenge.dyalog.com

1–10 of 22 posts

Re: The APL Challenge

#4
post #2

Man I wish I could use APL at work instead of python & nodejs.

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!

[1] https://github.com/jjtolton/libapl-clj

Re: The APL Challenge

#6
Has anyone tried to recreate LLMs in APL ? Matrix multiplication is common in both of them. If LLAMA.C is only a few hundred lines then I would be surprised if the APL is more than a page of code.

Re: The APL Challenge

#7
I think the facilities for building larger applications are lacking in APL. It would be great as something embedded into other languages. Consider something like numpy’s einsum, but using apl expressions instead. Use APL to express what it’s good at, and use the facilities of the host language to put together bigger systems.

Re: The APL Challenge

#8
post #6

Has anyone tried to recreate LLMs in APL ? Matrix multiplication is common in both of them. If LLAMA.C is only a few hundred lines then I would be surprised if the APL is more than a page of code.

People have done it. For eg, https://github.com/BobMcDear/trap and few others that I can't find the links of right now.

When I got into BQN recently, I had the same thought and tried my hand at recreating LLM building blocks and saw the compactness APL-likes afford first-hand: https://www.chandergovind.org/blog/5126/aipasi/Array-program...

Re: The APL Challenge

#9
post #7

I think the facilities for building larger applications are lacking in APL. It would be great as something embedded into other languages. Consider something like numpy’s einsum, but using apl expressions instead. Use APL to express what it’s good at, and use the facilities of the host language to put together bigger systems.

Large parts of Sweden's health system run on APL; Deutsche Bank also uses lots of APL; Denkmark has an appreciable number of companies using APL. IMHO, the problem isn't the scalability of APL (Dyalog, specifically) but more that good, maintainable, solid APL violates what the industry holds up as Best Practices etc. Trying to apply typical software architecture methodologies to APL definitely evokes the feeling you describe.

However, APL in my experience enables radical simplicity for building large applications. Learning to leverage that means that you need to first unlearn lots of ingrained problem-solving habits and ways of thinking as a software engineer. It's admittedly a steep hill to climb.

Post reply on HN