Re: My first email to Walter, ever

2013-07-09 Thread Kagamin
On Sunday, 7 July 2013 at 12:27:02 UTC, Peter Alexander wrote: :-( template allSatisfy(alias F, T...) { static if (T.length == 0) { enum allSatisfy = true; } else static if (T.length == 1) { enum allSatisfy = F!(T[0]); } else { enum

Re: My first email to Walter, ever

2013-07-08 Thread Joseph Rushton Wakeling
On Sunday, 7 July 2013 at 22:03:17 UTC, Walter Bright wrote: On 7/7/2013 5:09 AM, Andrej Mitrovic wrote: That's a cool teaser, but how did the discussion continue? :) Generally along these lines: And you, Scarecrow, have the effrontery to ask for a brain, you billowing bale of bovine

Re: My first email to Walter, ever

2013-07-07 Thread Andrej Mitrovic
On 7/7/13, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: While doing some unrelated research I stumbled upon my very first email to Walter, dated April 26, 2004. That's a cool teaser, but how did the discussion continue? :)

Re: My first email to Walter, ever

2013-07-07 Thread Marco Leise
Am Sat, 06 Jul 2013 20:02:16 -0700 schrieb Andrei Alexandrescu seewebsiteforem...@erdani.org: * The venerable typeof check * For a class, enumerate all of its members, and figure out their attributes (protection level, static or not, type...) check * For a module/namespace, enumerate

Re: My first email to Walter, ever

2013-07-07 Thread Peter Alexander
On Sunday, 7 July 2013 at 03:03:03 UTC, Andrei Alexandrescu wrote: Terrible. If you have conditionals, iteration, functions, and objects in D's straight programming support, you should have conditionals, iteration, functions, and objects in D's metalanguage. :-( template allSatisfy(alias F,

Re: My first email to Walter, ever

2013-07-07 Thread Xinok
On Sunday, 7 July 2013 at 03:03:03 UTC, Andrei Alexandrescu wrote: On 4/26/04 6:54 PM, Andrei Alexandrescu wrote: I was bitching to myself and then together with a friend (e-meet [...]) about how hard it is to do metaprogramming in C++. He mentioned D is much better at it, and we browsed the

Re: My first email to Walter, ever

2013-07-07 Thread Timon Gehr
On 07/07/2013 02:27 PM, Peter Alexander wrote: ... We're almost there with CTFE, but CTFE can only run functions that could run at runtime. In a crazy world where types were first class objects, stuff like this would be feasible. Or perhaps we just need a compile-time metalanguage that allows

Re: My first email to Walter, ever

2013-07-07 Thread Artur Skawina
On 07/07/13 14:27, Peter Alexander wrote: template allSatisfy(alias F, T...) { static if (T.length == 0) { enum allSatisfy = true; } else static if (T.length == 1) { enum allSatisfy = F!(T[0]); } else { enum allSatisfy =

Re: My first email to Walter, ever

2013-07-07 Thread Andrej Mitrovic
On 7/7/13, Peter Alexander peter.alexander...@gmail.com wrote: Still looks like half-assed functional programming to me. Yep I agree. Where's the iteration? Why can't I write this? template allSatisfy(alias F, T...) { foreach(t; T) if (!F!(t)) return false;

Re: My first email to Walter, ever

2013-07-07 Thread Peter Alexander
On Sunday, 7 July 2013 at 13:20:14 UTC, Timon Gehr wrote: On 07/07/2013 02:27 PM, Peter Alexander wrote: ... We're almost there with CTFE, but CTFE can only run functions that could run at runtime. In a crazy world where types were first class objects, stuff like this would be feasible. Or

Re: My first email to Walter, ever

2013-07-07 Thread Nick Sabalausky
On Sun, 07 Jul 2013 15:23:03 +0200 Artur Skawina art.08...@gmail.com wrote: template allSatisfy(alias F, T...) { enum allSatisfy = { foreach (E; T) if (!F!E) return false; return true; }(); } // And no, it isn't perfect. But not /that/ much is

Re: My first email to Walter, ever

2013-07-07 Thread QAston
On Sunday, 7 July 2013 at 12:27:02 UTC, Peter Alexander wrote: On Sunday, 7 July 2013 at 03:03:03 UTC, Andrei Alexandrescu wrote: Terrible. If you have conditionals, iteration, functions, and objects in D's straight programming support, you should have conditionals, iteration, functions, and

Re: My first email to Walter, ever

2013-07-07 Thread Walter Bright
On 7/7/2013 5:09 AM, Andrej Mitrovic wrote: On 7/7/13, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: While doing some unrelated research I stumbled upon my very first email to Walter, dated April 26, 2004. That's a cool teaser, but how did the discussion continue? :) Generally

Re: My first email to Walter, ever

2013-07-07 Thread deadalnix
On Sunday, 7 July 2013 at 03:03:03 UTC, Andrei Alexandrescu wrote: * And if you really want to go meta, define metacode that can take an AST node as a parameter and can visit the AST and figure out what each node is. That would allow things such as loop fusion and other advanced stuff. But

My first email to Walter, ever

2013-07-06 Thread Andrei Alexandrescu
While doing some unrelated research I stumbled upon my very first email to Walter, dated April 26, 2004. I liked to see from today's perspective where a great collaboration and friendship have started. I thought others would also enjoy to see it, so I'm sharing it with Walter's approval and a