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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Modeling Redux with TLA+

132 点作者 hellerve大约 7 年前

6 条评论

nickpsecurity大约 7 年前
His main site he mentions at the end is learntla.com. That&#x27;s a good tutorial for using a subset of it that will get stuff done without trying to read a bunch of books on heavier stuff. He and I both also recommend Alloy for a taste in formal methods or blueprints like fouc said since it&#x27;s designed for beginners with good guides and tutorials. TLA+&#x2F;PlusCal with its model-checker is better at modeling order of execution (esp concurrency&#x2F;distributed) whereas Alloy&#x27;s is focused on structure of your program. Finally, Design-by-Contract combined with property-based testing or AFL-style testing with properties&#x2F;contracts as runtime checks is probably combo most applicable to most programming languages and situations. If you know conditionals, you can use DbC in a lots of situations.<p><a href="http:&#x2F;&#x2F;alloytools.org" rel="nofollow">http:&#x2F;&#x2F;alloytools.org</a><p><a href="https:&#x2F;&#x2F;www.win.tue.nl&#x2F;~wstomv&#x2F;edu&#x2F;2ip30&#x2F;references&#x2F;design-by-contract&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;www.win.tue.nl&#x2F;~wstomv&#x2F;edu&#x2F;2ip30&#x2F;references&#x2F;design-b...</a><p><a href="https:&#x2F;&#x2F;hillelwayne.com&#x2F;post&#x2F;pbt-contracts&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hillelwayne.com&#x2F;post&#x2F;pbt-contracts&#x2F;</a>
mettamage大约 7 年前
Sidenote: I remember that my teacher Maarten van Steen (who taught distributed systems at my university) talked about Leslie Lamport and I remember that he started TLA+. If you don&#x27;t know about any of this, I invite you to take a look.<p>Background info on Lamport [1]. Maarten van Steen offers his book for free on distributed systems. See [2].<p>1. <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Leslie_Lamport" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Leslie_Lamport</a><p>2. <a href="https:&#x2F;&#x2F;www.distributed-systems.net&#x2F;index.php&#x2F;books&#x2F;distributed-systems-3rd-edition-2017&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.distributed-systems.net&#x2F;index.php&#x2F;books&#x2F;distribu...</a>
评论 #16575020 未加载
评论 #16574942 未加载
ajmurmann大约 7 年前
Hillel gave a pretty interesting talk on TLA+ at last year&#x27;s StrangeLoop: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;_9B__0S21y8" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;_9B__0S21y8</a><p>If you are new to TLA+ and just want to get the basic idea and use cases, I recommend the talk.<p>Edit: I think he also brought home made granola or something. So attending his talks in person has benefits.
评论 #16573923 未加载
fouc大约 7 年前
&gt; TLA+ is a formal specification language. It’s a tool to design systems and algorithms, then programmatically verify that those systems don’t have critical bugs. It’s the software equivalent of a blueprint.<p>Very cool.
评论 #16581455 未加载
评论 #16574948 未加载
elcapitan大约 7 年前
Is it possible to compile algorithms from PlusCal to a traditional programming language? That way you could have a provable subcore of algorithms in your actual software project, and just autogenerate the code for the algorithms, instead of going manually from proven algorithm to hand-written implementation.
评论 #16575516 未加载
评论 #16576635 未加载
评论 #16575135 未加载
nazri1大约 7 年前
Any takers for doing this in lisp? ;)
评论 #16575378 未加载
评论 #16576655 未加载