There was not actual meeting, just a lot of links:
This deep dive started with me noticed the FL -> J relationship on the programming languages genealogical tree. That led to:
- J
- FP
- FL
- The FL Project The Design of a Functional Language
- Conception, Evolution, and Application of Functional Programming Languages by PAUL HUDAK
- Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs
- FL Language Manual Part 1 and 2
After reading the J / FP / FL wikis which mention that J's tacit programming is directly influenced by FL's function level programming and then also reading the 1.4 APL and 1.5 FP secions of Hudak's paper, it is extrememly clear the relationship bewteen APL -> FP -> FL -> J is very real. I had previously read The FL Project paper and noticed that FL used 3-juxtaposed functions to define the S' Combinator, just as J and Dyalog APL do. I thought this was a coincidence when I read the paper but it clearly was not. After googling FL vs FP I came across these:
which hosts a ton more links:
Note that the J experssion built up in Functional Programming Archaeology can be done much more concisely using I.
(Indices).
explicit =. {{ (5 < y) # (i. # y) }}
tacit =. 5&<#i.&#
better =. [:I.5<]
Although my favorite solution would be BQN's /5⊸<
I also noticed that this diagram says J was influenced by APL96, which is not a thing. See family tree of array languages. This led to also looking into these:
Have still been googling trying to track down when the S' combinator was introduced into FL.
- Backus' 85 paper From Function Level Semantics to Program Transformation and Optlmizatlon list all the combining forms in FP, which makes sense that S' isn't listed because I think it was added to FL.
- Backus' 80 Function Level Programs as Mathematical Objects paper also lists the combining forms same as above
- Pagan 86 ON THE FEASIBILITY OF TEACHING BACKUS-TYPE FUNCTIONAL PROGRAMMING (FP) AS A FIRST LANGUAGE also mentions the 6 combining forms of FP very concisely
- 1994 Aiken, Williams and Wimmers Programming a Language
- 1988 Williams & Wimmers Sacrificing simplicity for convenience: Where do you draw the line?
- 1995 Halpern and Winners Full Abstraction and Expressive Completeness for FP
- FP blog mentions APL, J, K, Q and combining forms.
- Dayum, just realized that 1989 Iverson Phrasal Forms paper mentions Backus and the construction combining form from FP
Also, another page that references APL -> FP -> FL -> J is the Backus wiki profile.
YEESSSS!!! I finally found the source of the S' combinator. It IS actually in FP, it is the "combining form" of infix notation which is actually the last line of Backus' 85 paper above. I missed it initially because it isn't in bold. Also, very confusingly other papers don't mention infix notation as being a combining form. The FL Manual has a secion of Infix Notation and Precedence separate from Combining Forms and doesn't actually show the version below:
Will watch later: John Backus: Function Level Programming and the FL Language