TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Oxide: The Essence of Rust (2020)

76 pointsby VitalyAnkhabout 4 years ago

4 comments

sirabenabout 4 years ago
I&#x27;m studying programming language semantics and papers like these are quite valuable in understanding type systems of real languages, see also Featherweight Java[0] and Featherweight Go[1]. At first it looks like a lot to take in, but when you start with far simpler type systems like typed arithmetic expressions and simply-typed lambda calculus, you see the same definitions and metatheorems (properties about the type system) appear over and over again (including in this paper). In particular, the pieces you see repeated are:<p>- the terms and types of the language<p>- the values (a subset of terms)<p>- the evaluation relation, telling you how you go from one term to the next<p>- the typing relation, telling you how you build well-typed terms and what their types are<p>- <i>Progress</i> states that if you have a well-typed term, it either is a value <i>or</i> it can take one step of evaluation<p>- <i>Preservation</i> states you that if you have a well-typed term of type T and it takes a step of evaluation, the resulting term still has type T<p>And we have the slogan, safety = progress + preservation.<p>I should also note that past a certain level of complexity of type system, you definitely would want to use a theorem prover such as Coq to formally verify and automate easy cases. The proofs themselves are actually quite boring (which is a good thing!).<p>[0] <a href="https:&#x2F;&#x2F;www.cis.upenn.edu&#x2F;~bcpierce&#x2F;papers&#x2F;fj-toplas.pdf" rel="nofollow">https:&#x2F;&#x2F;www.cis.upenn.edu&#x2F;~bcpierce&#x2F;papers&#x2F;fj-toplas.pdf</a><p>[1] <a href="https:&#x2F;&#x2F;arxiv.org&#x2F;pdf&#x2F;2005.11710.pdf" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;pdf&#x2F;2005.11710.pdf</a>
评论 #27165935 未加载
rrdharanabout 4 years ago
Amusing name collision with <a href="https:&#x2F;&#x2F;oxide.computer&#x2F;" rel="nofollow">https:&#x2F;&#x2F;oxide.computer&#x2F;</a> (who also use Rust).
HenryKissingerabout 4 years ago
I don&#x27;t like the trend of corporate names taking real names and repurposing them.<p>The first results of a Google search for &quot;Amazon&quot; are the company. Not the river.<p>The first results of a Google search for &quot;Palantir&quot; are the tech company. Not the fictional object from J.R.R. Tolkien&#x27;s works it&#x27;s inspired from.<p>And a Google search for &quot;Rust&quot; returns links to the programming language and the video game, before the chemical reaction.
评论 #27165646 未加载
评论 #27166106 未加载
评论 #27165244 未加载
评论 #27165163 未加载
评论 #27165230 未加载
评论 #27165333 未加载
phababout 4 years ago
This should really have a [2019] tag