[HN Gopher] Defunctionalization: Everybody Does It, Nobody Talks...
___________________________________________________________________
Defunctionalization: Everybody Does It, Nobody Talks About It
(2019)
Author : Tomte
Score : 29 points
Date : 2021-08-06 18:55 UTC (4 hours ago)
(HTM) web link (blog.sigplan.org)
(TXT) w3m dump (blog.sigplan.org)
| Groxx wrote:
| So... specialization? It's a very common thing when talking about
| generics in programming languages, anyway.
| kristianp wrote:
| On continuations: "This suggests that language-level support for
| defunctionalization could be used to keep the beauty of explicit
| continuations while gaining the scalability of multiple machines.
|
| A few systems, such as the MFlow and jmacro-rpc frameworks, have
| tried to circumvent this problem by sending continuations over
| the wire in a different way: by sending over information about
| the execution's past, so that the other machine may replay a
| function call in order to get to where the first machine left
| off. This can be seen as an application of my ICFP 2018 paper on
| thermometer continuations."
| contravariant wrote:
| Put like this defunctionalisation is just eval for a domain-
| specific-language that you hope doesn't do the things you don't
| want it to.
| choeger wrote:
| The thing is, and the article correctly mentions it, that
| defunctionalization sacrifices composability. This is not just a
| technical matter, mind you. If you design your distributed system
| around defunctionalized higher-order functions, you have to
| ensure that client and server have the same understanding of
| valid parameters. That's a non-trivial problem.
|
| So while this might be a cool technique for whole-program
| compilers, I think it doesn't really fit into anything that has
| an API boundary.
| SinParadise wrote:
| The article in video form:
|
| https://www.youtube.com/watch?v=vNwukfhsOME
| cyanydeez wrote:
| i,m too dumb for this ideza
___________________________________________________________________
(page generated 2021-08-06 23:00 UTC)