[rust-dev] First thoughts on Rust
masklinn at masklinn.net
Mon Jan 23 09:34:29 PST 2012
On 2012-01-23, at 18:11 , Patrick Walton wrote:
>> - Don't change Rust's semantics, but change Rust's "blessed" style,
>> by prefixing expressions with semicolons (instead of
>> post-fixing). This is a common style for e.g. RelaxNG-Compact
>> schemas and it looks "correct" for separators
>> - Make semicolons into expression terminators, as in the majority of
>> C-style languages
>> - Add haskell-like layout rules making semicolons redundant in 99.9%
>> of cases, and necessary only when putting multiple expressions on
>> a line or when generating rust code mechanically. This would fix
>> the issue by making semicolons generally unnecessary and thus not
>> a source of error
> Options (1) and (3) are basically changing the entire syntactic family that Rust belongs to. I don't agree that this is a serious enough issue to warrant that.
Option (1) is the current state of things, made clearer (and more visually logical) through a "better" style, it does not change anything in the language. Did you mean options (2) and (3)?
> It was always the intention to do things more or less the way you suggest (str is Unicode-correct, [u8] is not Unicode-correct), although I'm not sure whether we want to make libicu a dependency of every Rust program. The [u8]->str conversion function is called "unsafe_from_bytes" for this reason, for example -- it's unsafe because it's not calling into libicu to perform the conversion.
For what it's worth, there really is no need to link against libicu just to perform minimal utf8 encoding assertion on byte sequences.
More information about the Rust-dev