[rust-dev] Cross-module priv visibility?

2013-09-01 Thread Kevin Ballard
What are the intended rules for cross-module visibility of priv items? My 
impression was that either parents were supposed to be able to see their 
children's priv items, or children could see their parents' priv items, or 
maybe both. But it seems that right now neither is true. I know that there are 
bugs right now with visibility, so I'm not sure what was actually intended here.

-Kevin
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


[rust-dev] Mozilla using Go

2013-09-01 Thread John Mija
Hi! I've seen that Mozilla has used Go to build Heka 
(https://github.com/mozilla-services/heka). And although Go was meant to 
build servers while Rust was meant to build concurrent applications, 
Rust is better engineered that Go (much safer, more modular, optional GC).


Then, when is better intended use case of Rust respect to Go?
I expect Rust to be the next language for desktop applications if it 
gains as much maturity as Go but I'm unsure respect to the server side.

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


[rust-dev] impl restriction between crates

2013-09-01 Thread Walter Walter
r.e. impl's on a type outside its original library crate .. i understand this 
is to preclude inter-crate clashes, if 2 library writers attempt to over-ride 
the same function.

i might be barking up the wrong tree here- rust has obviously been designed 
with the benefit of a lot of experience behind it.
but...

Would it be feasible to relax this error to a warning - or perhaps enable this 
behaviour with compiler options;
one compromise might be to only make it an error when compiling a library**.


potential use cases:-

[1] When writing code that is never going to be put into a library, you'd be 
able to extend existing types with greater ease (less traits to make.. naming 
is hard, the fewer things you have to name the better).
People writing smaller programs might make better use of existing types - 
especially while they're evolving.. and what doesn't evolve.. Any difference 
between usability of libary types and your own provides an incentive for NIH. a 
current example is the iterators which need the .iter() on the collection.. 
i've been tempeted to make workarounds to that.

Open-world is a big draw to rust, it's over half the reason for my interest in 
this language... looking for a solution to the way headers  classes interact 
badly in C++.

[2] Greater symetry between your own code where you may not have settled on 
libary/module divisons ..
lets say you seperate part of a program out after it  moves beyond a certain 
size, you'd have to start introducing extra traits... its just one more 
refactoring barrier.

[3] I just thought about this for trying to write anIDE plugin..
.. currently you must compile an entire crate when something changes, which is 
very slow.

But what if an IDE tool could divide the crate up into 1 crate per sourcefile, 
perhaps automatically generating an alternate 'main.rs' to pull these together. 

this is much like scenario [2]... this would involve having the same code 
compiling as either a multitude of crates, or being pulled together as one 
crate.
in particular node ID's are enumerated for the entire crate, demanding a 
'rebuild'. But I dont think you'd routinely/manually want to divide things up 
into one crate per sourcefile.


personally i think i would prefer the restriction not to exist at all, i 
wouldn't mind the potential for libary link errors appearing;

I read the opinion that it doesn't matter because you can submit changes to the 
original library code being opensource, but i think its *much* more feasible 
for members of the rust community to request changes or splits in eachother 
libraries versus submitting changes to the *standard* libaries, which, being 
used by more people are going to have greater momentum ,more disagreement, 
longer time to agree on the most widely accepted methods ... an individual 
library writer need merely be mindful of this hazrd.
Doesn't matter if something is opensource .. it can be hard to change - its a 
point of disagreement and individuals might not considerevery other use case.


In C++ I hear some people objecting to extention methods for the same reason, 
but this objection sounds unfounded to me because you can just make overloaded 
functions anyway already, and i've never ran into those being a problem. its 
just nicer to have the same a.foo(b) calling syntax available for everything ..


is it possible for the module system to assist disambiguating if clashes do 
occur? there's always some use directives around.. could those prioritize the 
use of one supplied method over another.

I know Go has a similar open world idea .. and a similar issue, no extending 
outside a package, just within sources of the same package, and there you have 
to make a new type to extend.. which is probably worse than making a new trait 
IMO. So perhaps rust is already the best balance here, i dont know. I do like 
the fact that in go methods aren't actually part of anything when defined, even 
less pre-planning going on, and their interfaces just gather them after they're 
written, but i prefer the inter-module behaviour of traits over what go does.


** .. you might say thats' inconsistent, different rules where the same source 
compiles, but you already have that by the fact this issue exists at all.
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] Mozilla using Go

2013-09-01 Thread Matthieu Monrocq
In a practical manner, I would say that Go is production ready whilst Rust
still has some way to go (!). Rust 1.0 is approaching, but is not there
yet, and there are still syntax/semantic questions being examined and lots
of work on the runtime... not to mention the lack of libraries (compared to
Go) largely due to the language still not being finalized.

I believe Rust could supplant Go (I see nothing in Go that Rust cannot do)
and cast a much wider net, but first it has to mature.

-- Matthieu


On Sun, Sep 1, 2013 at 10:48 AM, John Mija jon...@proinbox.com wrote:

 Hi! I've seen that Mozilla has used Go to build Heka (
 https://github.com/mozilla-**services/hekahttps://github.com/mozilla-services/heka).
 And although Go was meant to build servers while Rust was meant to build
 concurrent applications, Rust is better engineered that Go (much safer,
 more modular, optional GC).

 Then, when is better intended use case of Rust respect to Go?
 I expect Rust to be the next language for desktop applications if it gains
 as much maturity as Go but I'm unsure respect to the server side.
 __**_
 Rust-dev mailing list
 Rust-dev@mozilla.org
 https://mail.mozilla.org/**listinfo/rust-devhttps://mail.mozilla.org/listinfo/rust-dev

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] make check fails

2013-09-01 Thread Amitava Shee
Thanks. I added a comment in the issue with instructions to raise the file
descriptor limits (temporary workaround). For the convenience of others, I
am repeating it here.

Reboot after running these commands

echo 'kern.maxfiles=20480' | sudo tee -a /etc/sysctl.conf
echo -e 'limit maxfiles 8192 20480\nlimit maxproc 1000 2000' | sudo tee -a
/etc/launchd.conf
echo 'ulimit -n 4096' | sudo tee -a /etc/profile

-Amitava

On Sat, Aug 31, 2013 at 2:12 PM, Kevin Cantu m...@kevincantu.org wrote:

 I see that, too.  Filed an issue for it: seems like some kind of
 libc::pipe problem on OS X with that that function.
 https://github.com/mozilla/rust/issues/8904


 Kevin


___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] changing roles

2013-09-01 Thread Gareth Smith

You have done an excellent job. Thank you.

Gareth

On 31/08/13 01:05, Graydon Hoare wrote:

Hi,

As I'm sure many of you who know me are aware, my role as technical 
lead on Rust has been quite draining over the years. Both to myself 
and to those I've worked with, it just isn't a great fit for me.


In recognition of this, I am stepping aside to work elsewhere in the 
organization, and Brian will be assuming the role of technical lead of 
Rust.


Brian is one of the most skilled, judicious, professional and 
productive developers I've ever worked with. Along with the 
exceptional skill and dedication of the rest of the Rust team, I have 
complete confidence in the remaining path to a successful 1.x series 
of what has shaped up to be an excellent language.


It has been a rare pleasure and privilege to work with the Rust team, 
both those inside Mozilla and in the broader community.


Thanks,

-Graydon

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] App runtime based on Servo

2013-09-01 Thread Simon Sapin

Le 31/08/2013 20:22, John Mija a écrit :

  From my point of view, there is no technology related to User
Interfaces more advanced than web-based (HTML5/CSS3).

[...]

Now, what do think about to have a similar technology but using Servo?
To being able to develop desktop apps in Rust (or Go via bindings to
Rust libraris) and JS or Dart for the UI.


I don’t know about adding Go or Dart to the mix, but it is definitely 
one of Servo’s goals to be embeddable as a library in a larger application.


--
Simon Sapin
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] Mozilla using Go

2013-09-01 Thread Brendan Zabarauskas
My understanding is that Rust is meant more for real-time, performance/security 
critical applications, such as user-facing guis and rendering engines. This 
also fits nicely with games and graphics applications. There is also the real 
possibility of it being useful in embedded systems. Go is designed more for 
large, server-side applications. The core devs have said many times that they 
don't consider Go to be a competitor.

~Brendan

On 01/09/2013, at 6:48 PM, John Mija jon...@proinbox.com wrote:

 Hi! I've seen that Mozilla has used Go to build Heka 
 (https://github.com/mozilla-services/heka). And although Go was meant to 
 build servers while Rust was meant to build concurrent applications, Rust is 
 better engineered that Go (much safer, more modular, optional GC).
 
 Then, when is better intended use case of Rust respect to Go?
 I expect Rust to be the next language for desktop applications if it gains as 
 much maturity as Go but I'm unsure respect to the server side.
 ___
 Rust-dev mailing list
 Rust-dev@mozilla.org
 https://mail.mozilla.org/listinfo/rust-dev

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] Mozilla using Go

2013-09-01 Thread Corey Richardson
IMO Rust is very applicable as a general purpose language, perhaps
moreso than C++.

On Sun, Sep 1, 2013 at 9:49 AM, Brendan Zabarauskas bjz...@yahoo.com.au wrote:
 My understanding is that Rust is meant more for real-time, 
 performance/security critical applications, such as user-facing guis and 
 rendering engines. This also fits nicely with games and graphics 
 applications. There is also the real possibility of it being useful in 
 embedded systems. Go is designed more for large, server-side applications. 
 The core devs have said many times that they don't consider Go to be a 
 competitor.

 ~Brendan

 On 01/09/2013, at 6:48 PM, John Mija jon...@proinbox.com wrote:

 Hi! I've seen that Mozilla has used Go to build Heka 
 (https://github.com/mozilla-services/heka). And although Go was meant to 
 build servers while Rust was meant to build concurrent applications, Rust is 
 better engineered that Go (much safer, more modular, optional GC).

 Then, when is better intended use case of Rust respect to Go?
 I expect Rust to be the next language for desktop applications if it gains 
 as much maturity as Go but I'm unsure respect to the server side.
 ___
 Rust-dev mailing list
 Rust-dev@mozilla.org
 https://mail.mozilla.org/listinfo/rust-dev

 ___
 Rust-dev mailing list
 Rust-dev@mozilla.org
 https://mail.mozilla.org/listinfo/rust-dev
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] Cross-module priv visibility?

2013-09-01 Thread Dov Reshef
Have a look here:
https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-07-30#visibility-in-module-system
.

And here: https://github.com/mozilla/rust/issues/8169.



On Sun, Sep 1, 2013 at 10:27 AM, Kevin Ballard ke...@sb.org wrote:

 What are the intended rules for cross-module visibility of priv items? My
 impression was that either parents were supposed to be able to see their
 children's priv items, or children could see their parents' priv items, or
 maybe both. But it seems that right now neither is true. I know that there
 are bugs right now with visibility, so I'm not sure what was actually
 intended here.

 -Kevin
 ___
 Rust-dev mailing list
 Rust-dev@mozilla.org
 https://mail.mozilla.org/listinfo/rust-dev

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] RFC: Stealing: lexically-scoped temporary violation of linearity

2013-09-01 Thread Oren Ben-Kiki
Since swap seems to have its own problems - would it be possible to tweak
the stealing idea so the compiler would know there's a burrowed mutable
pointer to the hole, effectively preventing further access to it in the
vulnerable block?

I really would like to be able to use this approach, it really improved my
code...


On Sat, Aug 31, 2013 at 3:50 AM, Patrick Walton pwal...@mozilla.com wrote:

 On 8/30/13 3:39 PM, Patrick Walton wrote:

 Thoughts? Does this seem useful? Are there soundness issues I didn't
 notice?


 Brian pointed out a massive soundness hole in this, unfortunately. The
 problem is that you can read from the original locations; the right to read
 is not shut off during the borrow. I think the fix would have to be to
 replace this with some sort of generalized swap operation.


 Patrick

 __**_
 Rust-dev mailing list
 Rust-dev@mozilla.org
 https://mail.mozilla.org/**listinfo/rust-devhttps://mail.mozilla.org/listinfo/rust-dev

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] RFC: Stealing: lexically-scoped temporary violation of linearity

2013-09-01 Thread Patrick Walton

On 9/1/13 8:23 AM, Oren Ben-Kiki wrote:

Since swap seems to have its own problems - would it be possible to
tweak the stealing idea so the compiler would know there's a burrowed
mutable pointer to the hole, effectively preventing further access to it
in the vulnerable block?

I really would like to be able to use this approach, it really improved
my code...


What's the problem with a generalized swap (= 2 elements, any 
permutation) for your use case?


Patrick

___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] Mozilla using Go

2013-09-01 Thread Flaper87
2013/9/1 Corey Richardson co...@octayn.net

 IMO Rust is very applicable as a general purpose language, perhaps
 moreso than C++.


I agree with the above! I don't see Rust being bound to a specific area, I
think it can be used in many different types of applications.


-- 
Flavio (@flaper87) Percoco
http://www.flaper87.org
http://github.com/FlaPer87
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev