
ICFP (International Conference on Functional Programming) 2019 Proceedings - matt_d
https://dl.acm.org/citation.cfm?id=3352468&preflayout=flat#prox
======
Athas
Recommending papers I have read:

\- _Rebuilding Racket on Chez Scheme (experience report)_. A very applied and
very readable report on an impressive project to re-target a significant
existing compiler. Especially recommended if you normally don't like reading
academic papers, since this reads more like a very good technical report.

\- _Efficient differentiable programming in a functional array-processing
language_. A cool technique for applying automatic differentiation to a small
functional language. Surprising how well it seems to work in practice. Easy to
read. Also, it's the first paper I have seen that actually contains an
empirical comparison against Futhark (albeit only sequential code)!

\- _Selective applicative functors_. A really cool technique for working with
asynchronous effects. The kind of thing that is obvious (and obviously a good
idea) in retrospect, but nobody put together the pieces before. Probably
requires good Haskell knowledge to understand.

Papers I have not read yet but which look interesting:

\- _Lambda Calculus with Algebraic Simplification for Reduction
Parallelization by Equational Reasoning_. Writing parallel reductions with
nontrivial operators has so far mostly been a case of thinking really hard,
and then maybe proving associativity and commutativity by hand. I'm curious
whether this paper can provide a more systematic approach.

\- _Demystifying differentiable programming: shift /reset the penultimate
backpropagator_. Automatic differentiation from a functional perspective is
usually interesting.

~~~
tempguy9999
What does "differentiable programming" mean? When I've looked up the term
before it seems to relate to differentiation in the conventional mathematical,
numerical sense. Is this something more?

~~~
lonelappde
It's a new name for computing neural network weights, by analogy to "linear
programming" , where the program is optimizing a mathematical loss function
with approximate real-number parameters (as opposed to a program that computes
a precise result with Boolean /integer logic (such as a web server or a
database)). Mathematically, it's analysis on parameters.

Confusingly and beautifully, there is also "mechanical differentiation" on the
algebra of data of types, another computer application of the same abstract
mathematical concept of differentiation:
[https://en.m.wikibooks.org/wiki/Haskell/Zippers#Mechanical_D...](https://en.m.wikibooks.org/wiki/Haskell/Zippers#Mechanical_Differentiation)

Read about both at
[http://conal.net/blog/tag/derivative](http://conal.net/blog/tag/derivative)

~~~
tempguy9999
Ta for the NN stuff.

I have come across differentiation of ADTs and very strange it is too. I can't
understand how it works, it's so weird. I'll try to follow your links. Thanks!

------
unhammer
_Dependently Typed Haskell in Industry (Experience Report)_
[http://delivery.acm.org/10.1145/3350000/3341704/icfp19main-p...](http://delivery.acm.org/10.1145/3350000/3341704/icfp19main-p54-p.pdf?ip=84.208.235.206&id=3341704&acc=OA&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&__acm__=1564860853_8edbbd2839fe1bb01dd7e8e08cf9f246)

"We encountered bugs in GHC at a higher rate than other projects." heh not
unexpected

------
antpls
Does anyone know how is Haskell funded? I sent an email to the "committee" to
know more about financial and legal information about Haskell, which should be
a non-profit organization I believe, but had no response so far.

