TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Defunctionalization: Everybody Does It, Nobody Talks About It

60 点作者 nancyhua超过 5 年前

4 条评论

mikelyons超过 5 年前
&gt; <i>defunctionalization, a transformation that replaces higher-order functions with equivalent first-order ones.</i><p>For anyone else who got nothing from the title.
评论 #21919985 未加载
评论 #21917894 未加载
touisteur超过 5 年前
The authors work seems very interesting, and could maybe lead to the automatic generation of a language server with semantic query and refactoring capabilities, for any programming language. Or portable (in the &#x27;language to language&#x27; sense) static analysis tools or interpreters or symbolic execution tools...<p>Just wondering (out loud) how you formalize language semantics so they can be consumed... I know about grammar formalisms (bnf&#x2F;ebnf, antlr, peach&#x2F;xsd&#x2F;asn.1...) but what is the lingua franca of language semantics? Except for latex papers...
评论 #21922100 未加载
skybrian超过 5 年前
&gt; For instance, I teach programmers to tune out the noise of refactoring catalogs and learn how most familiar refactorings instead follow from a few primordial algebraic laws<p>Why &quot;instead?&quot; Knowing more math is good, but I think the author is doing his students a disservice. You don&#x27;t need to memorize refactoring catalogs, but if someone says &quot;maybe you should use a visitor pattern here&quot; it&#x27;s helpful to look it up and know what it means. It&#x27;s not deep, but this is the vocabulary of the programming profession, not noise, and we&#x27;re not going to switch to speaking in abstract mathematics just because some people like math or see a deeper meaning in it.<p>Defunctionalization seems like it might be a useful addition to the catalog.
评论 #21918985 未加载
agbell超过 5 年前
I enjoyed this talk, and accompanying transcript on defunctionalization. Despite the verbose name, the concept is quite simple and does come up a lot. <a href="http:&#x2F;&#x2F;www.pathsensitive.com&#x2F;2019&#x2F;07&#x2F;the-best-refactoring-youve-never-heard.html" rel="nofollow">http:&#x2F;&#x2F;www.pathsensitive.com&#x2F;2019&#x2F;07&#x2F;the-best-refactoring-yo...</a>