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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

The Fil-C Manifesto: Garbage In, Memory Safety Out

13 点作者 Jarred大约 1 年前

5 条评论

jitl大约 1 年前
It’s interesting to see a very pragmatic approach towards “better C”. There’s so many “better C” languages out there gaining popular interest like Zig, Hare, Odin, Jai; but none (I don’t consider Rust a better c) try to tackle memory safety, even when stating from a clean slate. Then there’s this thing, which is still mostly normal C, so it’s very easy to apply to existing code, and it does solve memory safety head on.<p>It’s not clear from reading but it seems like most checks happen at run time, and not at compile time. How much feedback goes the compiler give to the user about mistakes?
评论 #39451147 未加载
nickpsecurity大约 1 年前
I’m curious if you’ve looked at the prior attempts at memory safe variants of C or compiler-assisted safety for legacy C? They are really safe with better performance than Fil-C is. More important, you might find some of their ideas useful in your own work.<p>Here’s a few I remember:<p>CCured <a href="https:&#x2F;&#x2F;people.eecs.berkeley.edu&#x2F;~necula&#x2F;Papers&#x2F;ccured_toplas.pdf" rel="nofollow">https:&#x2F;&#x2F;people.eecs.berkeley.edu&#x2F;~necula&#x2F;Papers&#x2F;ccured_topla...</a><p>Softbound + CETS <a href="https:&#x2F;&#x2F;people.cs.rutgers.edu&#x2F;~sn349&#x2F;softbound&#x2F;" rel="nofollow">https:&#x2F;&#x2F;people.cs.rutgers.edu&#x2F;~sn349&#x2F;softbound&#x2F;</a><p>Clay Systems Language <a href="https:&#x2F;&#x2F;www.eg.bucknell.edu&#x2F;~lwittie&#x2F;research.html" rel="nofollow">https:&#x2F;&#x2F;www.eg.bucknell.edu&#x2F;~lwittie&#x2F;research.html</a><p>Cyclone Language (Rust drew on it) <a href="https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Cyclone_(programming_language)" rel="nofollow">https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Cyclone_(programming_languag...</a><p>Fail-Safe C <a href="https:&#x2F;&#x2F;staff.aist.go.jp&#x2F;y.oiwa&#x2F;FailSafeC&#x2F;index-en.html" rel="nofollow">https:&#x2F;&#x2F;staff.aist.go.jp&#x2F;y.oiwa&#x2F;FailSafeC&#x2F;index-en.html</a><p>CheckedC <a href="https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;checkedc">https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;checkedc</a><p>Also, one can combine subsets of C with FOSS, static analyzers that can handle those subsets. Then, compose only in ways that the tools can handle. Then, combinatorial and fuzz testing of the interface composition.<p>I know you’re doing the project for fun while exploring specific ways to achieve your goals. So, these are just some links and concepts that might help on your journey. Lots of folks don’t know about prior work in this area. So, I keep passing it on.
评论 #39475299 未加载
philosopher1234大约 1 年前
It can run CURL!!! And OpenSSL! This seems possibly like a big deal.
hollerith大约 1 年前
&gt;Fil-C is currently about 200x slower than legacy C according to my tests
评论 #39449798 未加载
sixthDot大约 1 年前
Commits messages are the shit.