5 ms·
Am I the only one who saw this syntax and immediately though "Man, this looks almost identical to Rust with a few slight variations"?
by ethin 9mo ago
Am I the only one who saw this syntax and immediately though "Man, this looks almost identical to Rust with a few slight variations"?
- CupricTea 9mo agoIt seems to just be Rust for people who are allergic to using Rust. It looks like a fun project, but I'm not sure what this adds to the point where people would actually use it over C or just going to Rust.
- nnevatie 9mo ago> what this adds I guess the point is what is subtracts, instead - answer being the borrow-checker.
- Ygg2 9mo agoSo it re-adds manual lifetime checking. Got it.
- askyng 9mo agoIt might or might not be a toy project, I'm not sure, but one advantage of subtracting the borrow checking is that the compiler avoids a lot of complex machinery. Borrow checking in Rust isn't sound AFAIK, even after all these years, so some of the problems with designing and implementing lifetimes, region checking, and borrow checking algorithms, aren't trivial.
- Ygg2 9mo ago> Borrow checking in Rust isn't sound AFAIK, even after all these years Huh? If borrow checking in Rust is unsound, that's akin to saying Rust is utterly broken. Sounds like you've been fed FUD. If Rust was that unsound, Rust haters would flood Twitter with Rust L takes.
- imtringued 9mo agoNot just that, it would also mean that every single Rust application is riddled with very noticeable miscompilation bugs due to the fact that Rust makes heavy use of strict aliasing rules for optimization. This isn't something that can easily be sweeped under the rug without people noticing.
- Ygg2 9mo agoI'm reading it as charitably as possible as in "Maybe some lifetime in some arcane combination is unsound." I did heard that 'static lifetime shouldn't be permitted in some cases. The premise is too ridiculous to engage seriously. Apparently Google/AWS/MSFT/C++ engineers all missed a huge gaping hole in Rust borrow checker, something that random commenter could pick up.
- petcat 9mo ago> answer being the borrow-checker There is an entire world in Rust where you never have to touch the borrow-checker or lifetimes at all. You can just clone or move everything, or put everything in an Arc (which is what most other languages are doing anyway). It's very easy to not fight the compiler if you don't want to. Maybe the real fix for Rust (for people that don't want to care), is just a compiler mode where everything is Arc-by-default?
- the__alchemist 9mo agoMaybe take the parts of rust the author likes, but still encourages pointers in high level operations?
- suioir 9mo agoI thought the same and felt it looked really out of place to have I8 and F32 instead of i8 and f32 when so much else looks just like Rust. Especially when the rest of the types are all lower case.
- unwind 9mo agoAgreed, that really stood out as a ... questionable design decision, and felt extremely un-ergonomic which seems to go against the stated goals of the language.
- hyperhello 9mo agoEvery language is apparently required to make one specific version of these totally arbitrary choices, like whether to call the keyword function, func, fun, fn, or def. Once they do, it’s a foolish inconsistency with everything else. What if the language supported every syntax?
- deleted 9mo ago[deleted]
- turbotim 9mo agoMy immediate thought was it looked a lot like Swift