[rust-dev] Fate of const

2013-09-19 Thread Jesse Ruderman
The example on https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-09-10#fate-of-const seems sensible at first, but the rule it suggests would not be safe. Allowing one closure to take mut while another takes const would create a data race if the two closures are executed in parallel.

Re: [rust-dev] Proposed API for character encodings

2013-09-19 Thread Simon Sapin
Le 19/09/2013 13:39, Jeffery Olson a écrit : As to the implementation: rust-encoding has a lot that could be adapted. https://github.com/__lifthrasiir/rust-encoding https://github.com/lifthrasiir/rust-encoding Can someone comment on whether we should look at adapting what's in

Re: [rust-dev] Fate of const

2013-09-19 Thread Bill Myers
Allowing one closure to take mut while another takes const would create a data race if the two closures are executed in parallel. Closures executable in parallel would probably have kind bounds forbidding const: http://smallcultfollowing.com/babysteps/blog/2013/06/11/data-parallelism-in-rust/

Re: [rust-dev] Fate of const

2013-09-19 Thread Niko Matsakis
On Thu, Sep 19, 2013 at 03:15:47PM +, Bill Myers wrote: BTW, how about keeping it, and calling it volatile instead of const, since that's what C uses to name something that can be changed outside the program's control? That's the best proposed name I've seen. One problem might be that it

Re: [rust-dev] AST transforming syntax extension

2013-09-19 Thread Vadim
I'd love to be able to use just macros, however so far my attempts met with little success. Here's what I'm trying to do (right now expansion just echoes the input): macro_rules! stmt_list( ( while $cond:expr { $body:tt } ) = ( while $cond { stmt_list!( $body ) } ); ( $head:stmt ;

Re: [rust-dev] rusti - the - repl renovation

2013-09-19 Thread Alex Crichton
Non-goal: comprehensiveness. While naturally we would like rusti to be as close to rustc semantics as possible, strict conformance is not a goal for this project. That is, we don't feel it important that rusti has to cover absolutely every data type, nor every corner of the runtime of this

Re: [rust-dev] Fate of const

2013-09-19 Thread Daniel Micay
On Thu, Sep 19, 2013 at 1:44 PM, Niko Matsakis n...@alum.mit.edu wrote: On Thu, Sep 19, 2013 at 03:15:47PM +, Bill Myers wrote: BTW, how about keeping it, and calling it volatile instead of const, since that's what C uses to name something that can be changed outside the program's

Re: [rust-dev] Fate of const

2013-09-19 Thread Kevin Ballard
I suspect the number of C programmers who know what 'volatile' actually means is a fairly small percentage of total C programmers these days. -Kevin On Sep 19, 2013, at 10:44 AM, Niko Matsakis n...@alum.mit.edu wrote: On Thu, Sep 19, 2013 at 03:15:47PM +, Bill Myers wrote: BTW, how about

Re: [rust-dev] AST transforming syntax extension

2013-09-19 Thread Paul Stansifer
(note that you should wrap your second RHS in `{}` in order to avoid hitting the following bugs: https://github.com/mozilla/rust/issues/8012 https://github.com/mozilla/rust/issues/4375) I had misunderstood your original question: now I see that, by operate on, you meant that you wanted to run the

Re: [rust-dev] Fate of const

2013-09-19 Thread Kevin Ballard
We could go with `unrestricted` instead, which has the benefit of being semantically compatible with the C keyword `restrict` (which only a handful of C programmers even know about). Although it's a bit unwieldy. -Kevin On Sep 19, 2013, at 12:03 PM, Daniel Micay danielmi...@gmail.com wrote:

Re: [rust-dev] lib: Is anybody working on the datetime library?

2013-09-19 Thread Chris Peterson
A Rust datetime library has been on my to-do list for a long time. :) JSR-310 is a very complete solution, but it carries a lot of Java baggage. C++11's std::chrono library [1] defines a smaller API for time points and durations without calendars (i.e. the hard part). std::chrono's API might

[rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Kevin Ballard
One feature common to many programming languages that Rust lacks is raw string literals. Specifically, these are string literals that don't interpret backslash-escapes. There are three obvious applications at the moment: regular expressions, windows file paths, and format!() strings that want

Re: [rust-dev] AST transforming syntax extension

2013-09-19 Thread Vadim
On Thu, Sep 19, 2013 at 12:05 PM, Paul Stansifer paul.stansi...@gmail.comwrote: (note that you should wrap your second RHS in `{}` in order to avoid hitting the following bugs: https://github.com/mozilla/rust/issues/8012 https://github.com/mozilla/rust/issues/4375) I had misunderstood your

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Masklinn
On 2013-09-19, at 22:36 , Kevin Ballard wrote: I welcome any comments, criticisms, or suggestions. * C# also has rawstrings, which were not looked at. C#'s rawstrings disable escaping entirely but add a new one: doubling quotes will insert a single quote in the resulting string (similar to

Re: [rust-dev] AST transforming syntax extension

2013-09-19 Thread Paul Stansifer
Originally I *did* want to operate on AST, because I couldn't get macro system to parse more than the first statement when I was writing my rules like this: ( $head:stmt ; $($rest:*stmt*);+ ) = ( $head ; stmt_list!( $($rest);+ ) ); Apparently interpolated statements cannot be re-parsed

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Oren Ben-Kiki
Just to make sure - how does the C++ syntax behave in the presence of line breaks? Specifically, what does it do with leading (and trailing) white space of each line? My guess is that they would be included in the string, is that correct? At any rate, having some sort of here documents would be

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Kevin Ballard
I didn't look at Ruby's syntax, but what you just described sounds a little too free-form to me. I believe Ruby at least requires a % as part of the syntax, e.g. %q{test}. But I don't think %R{test} is a good idea for rust, as it would conflict with the % operator. I don't think other

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Kevin Ballard
On Sep 19, 2013, at 1:56 PM, Oren Ben-Kiki o...@ben-kiki.org wrote: Just to make sure - how does the C++ syntax behave in the presence of line breaks? Specifically, what does it do with leading (and trailing) white space of each line? My guess is that they would be included in the string, is

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Kevin Ballard
On Sep 19, 2013, at 2:13 PM, Masklinn maskl...@masklinn.net wrote: On 2013-09-19, at 22:36 , Kevin Ballard wrote: I welcome any comments, criticisms, or suggestions. * C# also has rawstrings, which were not looked at. C#'s rawstrings disable escaping entirely but add a new one: doubling

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Kevin Ballard
As I just responded to Masklinn, this is ambiguous. How do you lex `do R{foo()}`? -Kevin On Sep 19, 2013, at 2:41 PM, Martin DeMello martindeme...@gmail.com wrote: Yes, I figured R followed by a non-alphabetical character could serve the same purpose as ruby's %char. martin On Thu, Sep

Re: [rust-dev] RFC: Syntax for raw string literals

2013-09-19 Thread Martin DeMello
Ah, good point. You could fix it by having a very small whitelist of acceptable delimiters, but that probably takes it into overcomplex territory. martin On Thu, Sep 19, 2013 at 2:46 PM, Kevin Ballard ke...@sb.org wrote: As I just responded to Masklinn, this is ambiguous. How do you lex `do

Re: [rust-dev] lib: Is anybody working on the datetime library?

2013-09-19 Thread Luis de Bethencourt
Hello Chris, That article by Erik Naggum looks deeply interesting. Just loaded it to read in bed in a few hours tonight. Thanks for your input. Might ask you a few questions in the near future. Luis On 19 September 2013 20:57, Chris Peterson cpeter...@mozilla.com wrote: A Rust datetime