Hacker News new | past | comments | ask | show | jobs | submit login
ICFP (International Conference on Functional Programming) 2019 Proceedings (acm.org)
55 points by matt_d 71 days ago | hide | past | web | favorite | 9 comments

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.

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?

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...

Read about both at http://conal.net/blog/tag/derivative

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!

I haven't read the paper yet, but I think it's exactly about differentiating (semi-)arbitrary functions written in a conventional-ish programming language.

See https://github.com/keithalewis/epsilon for my approach to solving this problem.

I would add "Higher-order type-level programming in Haskell" which will bring unsaturated type families, enabling currying at the type level.

Dependently Typed Haskell in Industry (Experience Report) http://delivery.acm.org/10.1145/3350000/3341704/icfp19main-p...

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

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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact