DEV Community

Functional Geekery

Functional Geekery Episode 65 - Morten Kromberg

In this episode I talk with Morten Kromberg. We talk his introduction to APL, the APL landscape, what the future looks like for APL, resources for getting started, and much more.

Our Guest, Morten Kromberg

@mkromberg on Twitter
About the CXO

Announcements

PWLConf 2016 is the first full-day Papers We Love conference, co-located with the preconference events at Strange Loop in Saint Louis, Missouri on September 15th. Keep an eye out for updates on pwlconf.org.

The Erlang User Conference is coming up in Stockholm, Sweden, the 6th through the 16th of September. Early Bird tickets are now available and get a 10% discount on the conference when you use the code: FunctionalGeekery10 when registering.

Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit www.lambda.world to find out more and to register.

The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register.

CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk.

Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates.

Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Topics

About Morten
Morten’s introduction to APL
1 2 3 + 4 5 6
“Waiting for APL to dominate the world”
A Programming Language by Kenneth Iverson
Designed for teaching mathematics and arrays
50th Anniversary of APL coming up
What the user-base of APL looks like
What makes Morten still smile about using APL after all these years
Where APL fits in a application environment
Using APL for reading and crunching data
APL as a prototyping tool
Shape Invariance in APL
Optimized internal types
Symantec density of APL
Dyalog
What the future of APL might look like
Roger Hui
J language
Ability to optimize special cases of idiomatic APL
John Scholes
Point Free APL

mean← +/ ÷ ≢
⍝ “The mean is the sum (plus reduction) divided by the count (tally)” – this juxtaposition of functions is a “points free” or “tacit” form known as a “fork”: (f g h)x ←→ (f x) g (h x), inherited from classical mathematical notation, as in (f+g) x ←→ (f x) + (g x)

variance←{mean (⍵-mean ⍵)*2}
⍝ “The variance is the mean of the squares of the differences between each item and the mean of the argument”

stddev←{(variance ⍵)*0.5}
⍝ “The standard deviation is the square root of the variance”

stddev 600 470 170 430 300
⍝ 147.3227749

Try APL
How to find out more about APL
Dyalog Forums
Dyalog blog
Morten’s Google Talk
video.dyalog.apl
Conway’s Game of Life in APL
Interactive tutorial of Conway’s Game of Life on Try APL
British APL Association
Vector
K programming language
Dyalog APL version 15.0 available for non-commercial use
2016 Dyalog User Meeting
Functional Conf in Bangalore
Morten’s call to action
About the CXO
Morten’s posts on the Dyalog blog

As always, a giant Thank You goes to David Belcher for the logo design.

Episode source