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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Linear types, distributed compute, spreadsheets, and Lisp

3 点作者 daly超过 2 年前
I&#x27;m wasting a bit of time working on multi-core CPUs, parallel execution, and distributed workloads.<p>Spreadsheet execution order is determined by data dependency. If cell A depends on cell B then cell B must compute first.<p>The first optimization would be partial cell computation until the dependent data is available.<p>Which thought leads me to linear types and distributed workloads. One could block a computation waiting for a result. Linear types seem like an excellent model for such communication. It is especially interesting if the communicated values are not just a simple cell value but more complex types.<p>Further down the rabbit hole is implementing the spreadsheet in lisp. Each cell has its associated lisp function. The interesting aspect here is that you transform a &quot;time-based&quot; model of computation to a &quot;dependency-based&quot; model. Such a model is easily distributed.<p>One could write a &quot;spreadsheet macro&quot; in lisp with a list of functions to embed in particular cells.<p>For a recent discussion see:<p>Homoiconic spreadsheets&#x2F; What, How &amp; Why (by Eli Parra) https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=U9uZlEqUQw0&amp;ab_channel=LondonClojurians

4 条评论

crsn超过 2 年前
@daly I’m working on something relevant here and would love to discuss; email me: carson@carsonkahn.com
daly超过 2 年前
The key distinction between Eli&#x27;s approach and mine has to do with the primary approach. Eli is enhancing a spreadsheet. I&#x27;m approaching the problem as a new programming approach.<p>I&#x27;m suggesting that you could change the linear, time-oriented evaluation of code within your program without explicitly using a spreadsheet. This change of control flow based on spreadsheet-like dependency gives new freedom for things like distributed computing. Also unlike spreadsheets, there is no need to update only a single cell.
tony-allan超过 2 年前
Obvious but i&#x27;ve not thought about it before...<p><pre><code> Interlinked with the value rule: - All data cells can be read for any code cell - A code cell&#x27;s writes only the value of its data cell </code></pre> <a href="https:&#x2F;&#x2F;youtu.be&#x2F;U9uZlEqUQw0?t=474" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;U9uZlEqUQw0?t=474</a> (start at 7:51)
tony-allan超过 2 年前
<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=U9uZlEqUQw0&amp;ab_channel=LondonClojurians">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=U9uZlEqUQw0&amp;ab_channel=Londo...</a>