How to roll an imaginary 6-sided die in your head

Hmmm, it would be quite a challenge actually, I don’t think I have used APL in anger for over 30 years. I use to write a lot of it though. An AD&D character generator, a cross reference tool for APL source code, a lot of bad games. I’m not actually 100% sure how to convert letters to ordinal values anymore. Maybe something like Quad-CS search (is that veridic iota?) some vector of letters? If I had that part summing each row is easy (plus reduce), modulo is I think the varadic vertical bar? Yeah, if I had an APL interpreter laying around I could probably do it. Hmmm, forget Quad-CS actually because you can make your own array of letters, and if you have an APL that happens to have lower case you can just use mod26 to map it the way you like.

Yeah, I could do it given an APL interpreter and a spare hour or so. Which is weak because someone who actually uses APL day to day should take under five minutes to do it.

It is a fun language. I use it to drive a laser cutter (and I don’t actually mean like control what the stepper motors do, I mean create SVG designs to carve game box inserts, or once Boing Boing ran that jigsaw puzzle thing, I have a imitation of that, and some other fun stuff). It is indirectly C-derived so it won’t be completely alien. However if you haven’t used something that makes heavy use of ad-hoc extensions (or as Obj-C calls them categories, or Modulo-3’s partial revelations) it will be somewhat mind expanding.

Really though the compelling use-case for Swift is making applications/apps on Apple’s platforms. So if you don’t have any interest in iOS apps, or watch apps, or TVos apps (does anyone?), or Mac apps, it is a harder sell. It runs on other platforms, but just isn’t as exciting there.

If you do want to code on Apple’s platforms though it really is nicer then the other choices almost all the time (once in a great while I miss ObjC’s aggressive dynamism…and conceptual simplicity)

1 Like