Hacker Newsnew | past | comments | ask | show | jobs | submit | jonocarroll's commentslogin

In Dyalog APL you can set the index origin with ⎕IO←0 (or 1) and there are many ways in which this can bite you. In Lua, and I think Fortran, you can specify the range of array indices manually.


(author here, still getting over the first time I've seen one of my own posts on this site)

The many recommendations for J here are a great nudge for me to give it a proper go. I've taken quite a liking to the traditional APL glyphs ( see a photo of the stickers on my laptop keys in this post https://jcarroll.com.au/2023/12/10/advent-of-array-elegance/ ) so I'm not looking for a way to avoid them.

Another detraction I've seen around is about the ambivalence of APL glyphs (taking either 1 or 2 arguments and doing something different in each case). I don't particularly mind it because I think it becomes more natural to "understand" how a function is being used the more familiar you become with it, but without the limitation on the number of glyphs, I can see the benefit of separating those.


Can’t the second argmax example be written with a right tack? Is it nicer then?

  (⊢⍳⌈/)+/x


Yep, that makes for a nicer tacit solution

  maxrow←(⊢⍳⌈/)+/
but I find

  ⊃(⍒+/) 
to be an even cleaner tacit solution.


It's not glyph-ish those APL style languages you like, but have you given Factor a good go?


I have not. I've done at least one problem (some many more) in each of 32 languages on Exercism so far, though. Looking at your example, there's some familiar features from the lisp and ML families.


What's interesting there is that numpy is inspired (more than a little) by APL and aims to bring that 'array' thinking to python. I agree that thinking in this 'array' way helps to better construct a solution in any language, so I'm leaning towards 'designing' with APL glyphs, even if that's not the language I'm implementing the thing in.


If it takes any inspiration from APL, it would be mostly indirect, via Matlab.


I've seen the connection made here https://dev.to/bakerjd99/numpy-another-iverson-ghost-9mc though the link to the source quote is broken. In all fairness, Matlab is itself inspired by APL.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: