5 ms·
The Ferrocene Language Specification has two serious problems: there are very large gaps in it, and what's present is very buggy. If you pick a small part and
by mjw1007 1y ago
The Ferrocene Language Specification has two serious problems: there are very large gaps in it, and what's present is very buggy.
If you pick a small part and look at it in isolation it typically looks quite plausible, but if you try to follow the definitions it very often just falls apart.
- evanjrowley 1y agoAre there some interesting public examples of where the FLS fails?
- mjw1007 1y agoA year or so ago I read through one smallish section (basically function calls) and filed issues for the problems I found that were easy to write up crisply. They fixed the easy bugs: https://github.com/ferrocene/specification/issues/453 https://github.com/ferrocene/specification/issues/453 https://github.com/ferrocene/specification/issues/454 https://github.com/ferrocene/specification/issues/454 https://github.com/ferrocene/specification/issues/455 https://github.com/ferrocene/specification/issues/455 https://github.com/ferrocene/specification/issues/458 https://github.com/ferrocene/specification/issues/458 https://github.com/ferrocene/specification/issues/459 https://github.com/ferrocene/specification/issues/459 https://github.com/ferrocene/specification/issues/460 https://github.com/ferrocene/specification/issues/460 https://github.com/ferrocene/specification/issues/461 https://github.com/ferrocene/specification/issues/461 https://github.com/ferrocene/specification/issues/463 https://github.com/ferrocene/specification/issues/463 https://github.com/ferrocene/specification/issues/464 https://github.com/ferrocene/specification/issues/464 But they didn't try to fill the gaps: https://github.com/ferrocene/specification/issues/462 https://github.com/ferrocene/specification/issues/462 https://github.com/ferrocene/specification/issues/465 https://github.com/ferrocene/specification/issues/465 https://github.com/ferrocene/specification/issues/466 https://github.com/ferrocene/specification/issues/466 There were a lot more places where I had notes saying "it needs to say more about X" that I couldn't face trying to file issues for. I think that part of the spec wasn't any worse than average.
- Xylakant 1y agoI know I'm late to the party, but I still wanted to answer this. Disclosure: I am one of the Managing Directors at Ferrous Systems I believe you're falling victim ot a common misconception about what the FLS is and what it aims to be. It is - at least as of now - a description of the language that is good enough to certify the compiler. It was never intended to be a spec that describes Rust in completeness - for example, the FLS is absolutely insufficient to implement a Rust compiler. As such, we have no aspirations to completeness in any shape or form. While we get a lot of feedback about pieces that people consider falling short of their expectations, it is expected that there are gaps that Ferrous Systems will never try to fill. The FLS in its current shape is good enough for us. Now that the Rust project adopted the FLS as the initial nucleus of a spec, I hope that others can contribute and fill the gaps that they need filled.
- touisteur 1y agoFrom experience with these kinds of specs, one might be better off clearly stating things that are left to the compiler implementation (and thus should have no impact -?-on the verifiability of the spec).
- deleted 1y ago[deleted]