« first day (1149 days earlier)      last day (1802 days later) » 

08:33
@JeffZeitlin But that's literally how it works in maths notation f⁻¹(x)
09:23
Where are the rules for trains written down?
and, well, what's the intuition for trains? :D
09:34
@SiddharthBhat Intuition?
@SiddharthBhat there's a recent webinar that's a bit long but might help ;)
 
1 hour later…
10:53
@RichardPark - Yeah, but it's been ... longer than that ... since I did anything more than basic four-function math...
@JeffZeitlin Ah fair enough no judgement
@RichardPark - Besides, what other programming language (excluding any that might be derived from APL, like e.g., J) actually has that as a coding option - "Here's a function, reverse it."?
@JeffZeitlin I know right - possibly because (apart from the functional langs, and even then) every operation is some isolated, named entity for some specialised purpose as opposed to a class of composable consistent things
@JeffZeitlin Mathematica, MatLab,…
@Adám Matlab definitely APL inspired
11:01
Wikipedia says both were influenced by APL.
@Adám - On a different topic, are DWS files cross-platform compatible with all Dyalog terps?
@JeffZeitlin Yes, but only upwards compatible.
So you can load a 64-bit Unicode UNIX workspace in a 32-bit Classic Windows interpreter of the same or higher version number.
@Adám - Meaning that I can't figure on using an 18.0 DWS with 17.1, but that's more-or-less understood and assumed.
@JeffZeitlin Correct. However, component files (.dcf) are downwards compatible.
Also, of course, loading a 64-bit workspace in a 32-bit interpreter only works if the workspace can fit in memory, and loading a Unicode workspace into Classic requires all used characters to be in ⎕AV.
/me makes a note, to investigate further. I'd done some work in NARS2000 (for an RPG), but some of my readers expressed displeasure about using wine to run it on their Macs and/or Linux boxes, so I was thinking of generating a DWS in addition, since Dyalog is available native for both.
11:08
@JeffZeitlin Text based?
Yes. I still think of APL as a "console" language.
Mostly, it amounts to working up a DSL for the game.
@JeffZeitlin No problem. I don't remember if you saw KINGDOM.
I hadn't, but I do remember playing its BASIC ancestor on an Apple ][, HAMURABI
@JeffZeitlin Oh, nicely spotted. KINGDOM is even mentioned on HAMURABI's wikipedia page as being an expansion.
:)
If you're familiar with Traveller, I was working up some character-generation aids with the idea of building a suite of referee aids.
(If you're not familiar with it, think D&D in Space)
 
2 hours later…
13:40
@Adám - I'm not sure how I'd write it, but would it be appropriate for the APL Golfing Tips to include something about ⍣¯1 for inverse functions?
@JeffZeitlin Sure, go ahead and make a tip "Base conversions" or somesuch.
13:56
@Adám The function b ⊥ v, where b is a numeric base and v is a vector of digits in that base, converts the vector v into its decimal (base-10) equivalent. If you want to convert a base-10 number into base b, a naive approach would be to try to use , but this requires figuring out (or calculating) how many digits the number would require in base b. Instead, use the Power operator with a left operand of b∘⊥ and a right operand of ¯1: b⊥⍣¯1.
This will invert the convert-to-decimal function to convert back to base b with exactly the minimum necessary number of digits in the base-b representation.
(Actually, that "digits" should probably be "digit values")
@JeffZeitlin "a left operand of b∘⊥ and a right operand of ¯1: b⊥⍣¯1." is inconsistent. The left operand should be . The left argument is the base.
@Adám - OK, I can see that; I thought that currying with the jot essentially made the b⊥ into a single unit - the monadic function "convert-from-base-b", as it were.
@JeffZeitlin It does, but these are tips for golfing, and most often, you won't need that.
14:15
Are there any other examples of where using ⍣¯1 would be shorter than actually working out the inverse function and coding it?
@JeffZeitlin Solving equations.
14:38
@Adám - The function b ⊥ v, where b is a numeric base and v is a vector of digit values in that base, converts the vector v into its decimal (base-10) equivalent. If you want to convert a base-10 number into base b, a naïve approach would be to try to use , but this requires figuring out (or calculating) how many digits the number would require in base b. Instead, use the Power operator ⍣ with a right operand of ¯1: (b∘⊥⍣¯1).
This will invert the convert-to-decimal function to convert back to base b with exactly the minimum necessary number of digits in the base-b representation.
@JeffZeitlin Sure.
Title of the "Answer" should be "Base Conversion"?
Have a better idea?
Nope.
Posted.
15:17
Announcement: I'm hosting a webinar in 40 mins on Progressive Set Functions
15:34
That's 16:15 your time?
16:00 utc
Crap. Can't tune in; I'm going to be out-of-office for about an hour starting at noon.
(Noon my time, NYC)
@JeffZeitlin It'll be available afterwards.
OK, that's good. I can try to pick it up later this afternoon, or once I get home tonight.
It'll also largely be the same as Lesson 27, but with more visuals.
16:13
Hello, I can deliver messages to Adám from here if anyone is watching the webinar
16:25
@Adám, thanks for the webinar.
@JamesHeslip You're welcome :-)

« first day (1149 days earlier)      last day (1802 days later) »