apl.wiki/blogs is just a "static" list of blogs, not posts. I hope we can get to updating apl.news soon — that's a proper "live" feed of new posts, and would benefit from being notified.
@RubenVerg "Some of these functions have matching operators in TMN" — What about converse implication ⇐, nonimplication ⇏, and converse nonimplication ⇍?
@RubenVerg Is intentional that your front page says "Madeline talks about stuff she is doing or has interested her", though your name is listed as Ruben Vergani?
@RubenVerg Surely, your's should begin with "Recently, Brandon Wilson posted a nice article discussing a nice article discussing a nice article discussing a a way in which APL's algebraic properties absolutely shine."
on a scale of 1 to 15, how awful of an idea is it to start a series of articles about writing a tiny apl interpreter in {insert language}?
probably haskell, not sure though
I have a somewhat working Scala-implemented dialect, but I kinda wanted to start over in haskell and it might be interesting to publically document my progress and maybe turn it into some sort of tiny course
oh that series is ordered very differently than how I would order mine
I'd go
* implementing APL arrays/verbs/modifiers in haskell (1/2 articles) * implementing haskell functions for working with arrays and verbs (several articles) * writing a parser and AST (maybe two or three articles) * executing the AST (a couple articles) * extending the available functions and operators
I suppose not having a working interpreter until later in the series might make less people care
I don't really mind that, I'm mostly doing it for myself anyways
explaining things properly helps me making them less awful
@RubenVerg Could be interesting! I've toyed with the idea of wanting to build an APL, but then I realized that really I'd rather be writing APL. So... APL in APL? But then we're bashing up against co-dfns.
It'd be cool to have a bare-metal APL. I've also thought it might be cool to write a Forth backend for co-dfns just for that.
instance Show Array where
show (Array sh cs) = "{array with " ++ [G.rho] ++ " = " ++ unwords (map show sh) ++ " and " ++ [G.ravel] ++ " = " ++ show cs ++ "}"
not implementing proper display of arrays seems slightly like a crime to me
@SantiagoNuñez-Corrales I suppose you've been doing 't'∘≡¨ pfxs 'test' but 't' is a scalar. You don't need to enclose it, you need to ravel it: (,'t')∘≡¨ pfxs 'test' will work.
Very interesting @RubenVerg. I wonder how various structures (applicatives, functors, monoids) will appear in your code as TinyAPL is fleshed out, particularly with operators.
So far, the code looks reasonable and self-explanatory. Interfaces do suggest the type coercion observed in APL. I am eager to see how it progresses :)
@RubenVerg Seems odd that the imaginary part swaps to the other side. Should be 𝑖123 if anything, but then again, why not just 𝑗123 (or ᴊ123) just like many allow .5 instead of 0.5?