[rust-dev] new benchmark

2013-04-06 Thread David Herman
This blog post showed up on HN: http://attractivechaos.wordpress.com/2013/04/06/performance-of-rust-and-dart-in-sudoku-solving/ The author's Rust implementation is here, and s/he invites pull requests if you can improve it:

Re: [rust-dev] Update to Tutorial

2012-10-11 Thread David Herman
On Oct 4, 2012, at 3:25 PM, Brian Anderson bander...@mozilla.com wrote: As a side note, we should do more with the Twitter account so it doesn't appear that we are dead. If I can get the credentials to the account I'll be happy to share the responsibility for tweeting updates. Dave

Re: [rust-dev] The new face of Rustic concurrency

2012-09-28 Thread David Herman
Hi Ben, Thanks for all your awesome work. This is really exciting stuff, and I also appreciate your write-ups on your blog. Dave On Sep 28, 2012, at 5:22 PM, Ben Blum bb...@andrew.cmu.edu wrote: Hi folks, Many of you know this by now, but I'm sure there are people here who didn't sit in

Re: [rust-dev] rust to JavaScript

2012-07-21 Thread David Herman
, at 6:32 AM, Niko Matsakis wrote: On 7/18/12 9:48 PM, David Herman wrote: That would result in a very different performance model, since Rust expects to be able to create several metric craptons [1] of concurrent tasks, whereas the number of workers you can create is much smaller. But who knows

Re: [rust-dev] Suggestions

2012-02-06 Thread David Herman
On Feb 4, 2012, at 1:17 PM, Patrick Walton wrote: On 02/04/2012 06:21 AM, Arne Döring wrote: The second suggestion is concerning tho #fmt macro. #fmt works like printf, but its string is parsed at compile time, so that errors might be thrown when the string is incorrect. So when you unwind

Re: [rust-dev] Interface / typeclass proposal

2011-11-29 Thread David Herman
On Nov 29, 2011, at 3:11 PM, Graydon Hoare wrote: On 11-11-29 12:00 PM, Niko Matsakis wrote: I like that this allows the user to customize how types can be copied, logged, and sent. I don't. It's in conflict with predictability and the guarantees the language is trying to make for its

Re: [rust-dev] Interface / typeclass proposal

2011-11-29 Thread David Herman
On Nov 29, 2011, at 3:51 PM, Graydon Hoare wrote: On 11-11-29 03:43 PM, David Herman wrote: On Nov 29, 2011, at 3:11 PM, Graydon Hoare wrote: On 11-11-29 12:00 PM, Niko Matsakis wrote: I like that this allows the user to customize how types can be copied, logged, and sent. I don't

Re: [rust-dev] Interface / typeclass proposal

2011-11-28 Thread David Herman
I think we're beginning to converge; in many ways there's not a ton of difference between the categories proposal and typeclasses. What would you do with multiple instance declarations that differ by specificity? For example, one declared on [int] and one declared on [T]. Eventually, we'll

Re: [rust-dev] Interface / typeclass proposal

2011-11-28 Thread David Herman
On Nov 28, 2011, at 12:38 AM, Marijn Haverbeke wrote: I prefer them because they enforce a much more structured way of thinking. Declaring grab-bags of methods and assembling them into interfaces ad-hoc seems clumsy and, as you mention, error prone --- just because a method has a given name,

Re: [rust-dev] Kind system update

2011-11-18 Thread David Herman
I'm very concerned about these changes. Let's talk about this on Tuesday. Dave On Nov 18, 2011, at 10:55 AM, Marijn Haverbeke wrote: I pushed the new kind system today. Things to be aware of are: - We now have proper copyability analysis, and resources can be used in saner ways. - The

Re: [rust-dev] Object system redesign

2011-11-08 Thread David Herman
Just a couple detail responses: - Overall: technically strong proposal, but I'm lukewarm about doing it, and definitely don't want to *now*. In order, I'd prefer to finish what we've got scoped for the next while, then explore Niko's sketch, then get to this if we find it necessary. I

Re: [rust-dev] Are tail calls dispensable?

2011-08-22 Thread David Herman
I understand that tail calls aren't working with the current state of things, and I won't get in the way. Fair warning: I am not promising I won't argue for bringing them back at some point in the future. - The alias-optimizing issues discussed earlier in this thread I've been chatting with

Re: [rust-dev] Can we have our tuples back?

2011-08-11 Thread David Herman
My opinion is that we should bring back tuples but that the standard way to access the elements should be destructuring let. This seems reasonable to me, except you'd want to allow destructuring tuples anywhere patterns are allowed (e.g., function parameters, alt, etc). Standard ML does #1

Re: [rust-dev] Can we have our tuples back?

2011-08-09 Thread David Herman
I believe eliminating tuples was a mistake. Just look at what happens to the zip function: fn zipT,U([T] a1, [U] a2) - [{ fst: T, snd: U }] or with a typedef for pairs: fn zipT,U([T] a1, [U] a2) - [PairT, U] Another use case: debugging with polymorphic log: log (x, y, z); is way

Re: [rust-dev] Are tail calls dispensable?

2011-08-09 Thread David Herman
I'll try to stick up for tail calls, at least down the road (I'd say having them in the first release doesn't really matter). A few points: - As you guys have said, this issue seems pretty tied in with the memory management semantics, particularly with refcounting. But I'm still not convinced

Re: [rust-dev] Function types

2011-07-08 Thread David Herman
Patrick Walton wrote: (2) All named functions have type @fn. They are reference counted. They can close over outer variables, but only those on the heap (i.e. only over boxes). Note that there are a few ways this could be achieved. a) C++0x-style capture clauses: { let x = @99;

Re: [rust-dev] Unique pointer syntax

2011-06-10 Thread David Herman
So you did -- sorry I missed that. Dave On Jun 10, 2011, at 9:58 AM, Graydon Hoare wrote: On 11-06-10 09:12 AM, David Herman wrote: Since unlike C/C++ we have a distinct bool type, would it be possible to overload ! so that on numeric types it means bitwise not? This would free up

Re: [rust-dev] alias analysis

2011-06-07 Thread David Herman
Indeed. This was always going to be one of the trickiest part of the design. In this latest iteration, we've only been attacking it for a couple of days. We can't expect a solution to just pop out that easily; we will have to bang our heads against it for a while. And we've already seen a

Re: [rust-dev] Conduct (was Hello)

2011-05-16 Thread David Herman
How do you get from lack of compositionality to forfeit all other features? Lack of polymorphism, not composition. I'm sorry, I'm just still confused about why you claim we have no polymorphism. I mean, we simply do have polymorphism. I think I understand why you are saying that

Re: [rust-dev] Conduct (was Hello)

2011-05-16 Thread David Herman
Yes it does. But it is still incomplete and a hack: look at all that complexity to do what is simple in ML. Rather it isn't simple .. its non-existent. There's no machinery required to make it work. That doesn't really bother me. ML has a different set of trade-offs. It's a given that we

Re: [rust-dev] Hello

2011-05-15 Thread David Herman
FWIW, I have plenty of friends in the PL research world who design type systems that are not based on your restrictive definitions (type system = initial algebra, type system design = category theory). But I have no interest in a theoretical shouting match. We'd probably lose -- no one on our

Re: [rust-dev] cost/benefits of tasks

2011-04-15 Thread David Herman
I don't have any concrete solutions to offer, just a few scattered thoughts: - In our recent discussions at the all-hands, we were leaning towards eliminating the ability to send higher-order data over channels. This would be in tension with the desire to migrate tasks. - Migrating tasks could

Re: [rust-dev] statement-expressions and block-terminators

2010-11-23 Thread David Herman
, inside the unchecked part you could assign the wrong type to a variable or data structure.) But we could avoid certain checks (like comparing the result type of the two arms of an if). Not that I'm advocating option #4. :) Dave On Nov 23, 2010, at 2:53 PM, David Herman wrote: Of these, I like

Re: [rust-dev] Scoped numeric literal type directives

2010-09-20 Thread David Herman
FWIW, I'm with Patrick-- this all sounds too complicated to me. At least until we've written some significant code, it doesn't seem worth trying to solve a problem we may not actually have. And Patrick's suggestion of scoped literals at least sounds like a reasonably simple approach (that

[rust-dev] notes on nominal and structural types

2010-09-13 Thread David Herman
Graydon and Patrick recently brought up our disjoint-union types which were originally structural, and Graydon has recently redone them to be nominal. I wanted to understand the ramifications better, so I spent a little time last week digging into the design space of nominal and structural