Re: Interesting rant about Scala's issues

2014-04-03 Thread Bienlein
My knowledge of compiler constructions is fairly limited and I might be wrong, but it seems to me that the Scala compiler is broken. Scala has gained some bad reputation for long build times (just google for Scala and build time) which IMHO cannot be explained by the large number of language

Re: Interesting rant about Scala's issues

2014-04-03 Thread Rikki Cattermole
On Thursday, 3 April 2014 at 08:18:01 UTC, Bienlein wrote: My knowledge of compiler constructions is fairly limited and I might be wrong, but it seems to me that the Scala compiler is broken. Scala has gained some bad reputation for long build times (just google for Scala and build time) which

Re: Interesting rant about Scala's issues

2014-04-03 Thread Bienlein
If I remember what the state of Groovy is (around 2012). The compiler devs focussed quite heavily on functionality not performance. Even refused to go that direction. It was quite bad. Its a real shame. I liked it. Although if they had and had unsigned types I probably wouldn't be in D!

Re: Interesting rant about Scala's issues

2014-04-03 Thread bachmeier
On Thursday, 3 April 2014 at 08:18:01 UTC, Bienlein wrote: My knowledge of compiler constructions is fairly limited and I might be wrong, but it seems to me that the Scala compiler is broken. Scala has gained some bad reputation for long build times (just google for Scala and build time) which

Re: Interesting rant about Scala's issues

2014-04-03 Thread Bienlein
On Thursday, 3 April 2014 at 11:03:56 UTC, bachmeier wrote: What about Clojure? It is getting real world use. The recent release makes it easier to call Clojure from Java. Example: IFn map = Clojure.var(clojure.core, map); IFn inc = Clojure.var(clojure.core, inc); map.invoke(inc,

Re: Interesting rant about Scala's issues

2014-04-03 Thread Rikki Cattermole
On Thursday, 3 April 2014 at 08:43:33 UTC, Bienlein wrote: If I remember what the state of Groovy is (around 2012). The compiler devs focussed quite heavily on functionality not performance. Even refused to go that direction. It was quite bad. Its a real shame. I liked it. Although if they

It's official: Sociomantic Labs has been acquired by dunnhumby Ltd

2014-04-03 Thread Don
https://www.sociomantic.com/dunnhumby-acquires-sociomantic/

Re: Interesting rant about Scala's issues

2014-04-03 Thread Bienlein
On Thursday, 3 April 2014 at 13:23:16 UTC, Paulo Pinto wrote: I think you missed the post date. I think so too ...

Re: It's official: Sociomantic Labs has been acquired by dunnhumby Ltd

2014-04-03 Thread Andrej Mitrovic
On 4/3/14, Don x...@nospam.com wrote: https://www.sociomantic.com/dunnhumby-acquires-sociomantic/ Congrats! I don't suppose there will be a blog post showcasing a successful exit of a startup that used D as its core technology? It could be a nice advertisement for D. :)

Re: 1st draft of complete class-based std.random successor

2014-04-03 Thread Joseph Rushton Wakeling
On Tuesday, 25 March 2014 at 00:08:27 UTC, bearophile wrote: I don't mind, I am happy :-) Thank you for adding a sorely needed function. It's been merged :-)

Re: Interesting rant about Scala's issues

2014-04-03 Thread w0rp
I notice that he mentioned the objection to defining equality and so on for the root object. I have heard this before from Philip Wadler, and the more I think about it, the more it makes sense. This is essentially the idea of removing every method from Object, which we have dicussed before.

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
On Thursday, 3 April 2014 at 01:55:48 UTC, Andrei Alexandrescu wrote: A lot of them could apply to us as well. https://www.youtube.com/watch?v=TS1lpKBMkgg Andrei His examination of the compare function was interesting. I think, though, that it's misguided, and not one of Scala's problems.

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
A more interesting point of his is the limitation of Scala's ability to optimize functions like filter... This is also a problem in D, but not as visible as we do not have macros to perform the sort of transformation he describes (turning filter f1, filter f2, filter f3 into filter f1 f2 f3).

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
On Friday, 4 April 2014 at 01:14:37 UTC, Meta wrote: A more interesting point of his is the limitation of Scala's ability to optimize functions like filter... This is also a problem in D, but not as visible as we do not have macros to perform the sort of transformation he describes (turning

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
Whoops, should be: import std.stdio; void main() { float x1 = long.max; float x2 = long.max - int.max; writeln(typeof(x2).stringof, , x2); } Not that it makes a difference.

Re: Interesting rant about Scala's issues

2014-04-03 Thread bearophile
Meta: Returning an int to denote less than, equal, and greater than is a very small complexity, and makes it very fast to check the result. The point of that part of the rant is that using an integer is very not-precise, typing-wise. Having more precise typing sometimes helps. In a

Re: Interesting rant about Scala's issues

2014-04-03 Thread Ben Boeckel
On Fri, Apr 04, 2014 at 00:59:23 +, Meta wrote: His examination of the compare function was interesting. I think, though, that it's misguided, and not one of Scala's problems. Maybe not major, but it's not completely ignorable. Returning an int to denote less than, equal, and greater than

Re: Interesting rant about Scala's issues

2014-04-03 Thread Walter Bright
On 4/3/2014 6:14 PM, Meta wrote: A more interesting point of his is the limitation of Scala's ability to optimize functions like filter... This is also a problem in D, but not as visible as we do not have macros to perform the sort of transformation he describes (turning filter f1, filter f2,

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
On Friday, 4 April 2014 at 01:31:20 UTC, bearophile wrote: The point of that part of the rant is that using an integer is very not-precise, typing-wise. Having more precise typing sometimes helps. In a little higher level language using a 3-value enum (as in Haskell, more or less) is still

Re: Interesting rant about Scala's issues

2014-04-03 Thread Ben Boeckel
On Thu, Apr 03, 2014 at 18:51:56 -0700, Walter Bright wrote: Since in D you can detect if a function is pure, and specialize accordingly, it is not necessary to require that the filter function be pure. Is there a built-in compose operator or function (Haskell's (.) operator)? How would you

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
On Friday, 4 April 2014 at 01:51:58 UTC, Walter Bright wrote: Since in D you can detect if a function is pure, and specialize accordingly, it is not necessary to require that the filter function be pure. That's true, but then somebody somewhere accidentally passes in a delegate that

Re: Interesting rant about Scala's issues

2014-04-03 Thread bearophile
Meta: I would agree if D actually had type-safe enums. enum a { val = 1 } enum b { val = 1 } assert(a.val - b.val == 0); C enums are mostly type unsafe. C++11 has enum class that is strongly typed. D enums are intermediate (and it has final switches). I have asked for

Re: It's official: Sociomantic Labs has been acquired by dunnhumby Ltd

2014-04-03 Thread Andrei Alexandrescu
On 4/3/14, 7:04 AM, Don wrote: https://www.sociomantic.com/dunnhumby-acquires-sociomantic/ Congratulations to all involved! How will this impact the use of D at dunnhumby? Andrei

Re: Interesting rant about Scala's issues

2014-04-03 Thread Walter Bright
On 4/3/2014 7:01 PM, Ben Boeckel wrote: Is there a built-in compose operator or function (Haskell's (.) operator)? How would you copy the common attributes of the composed functions to the new function (if not builtin)? The compiler does attribute inference for template functions and lambdas.

Re: Interesting rant about Scala's issues

2014-04-03 Thread Walter Bright
On 4/3/2014 7:00 PM, Meta wrote: The upside in D is that you can explicitly mark delegates as pure and have the compiler check for you, but that still puts the onus on the user to be disciplined and not forget. It's really like everything else in programming - at some point, if you don't

Re: Interesting rant about Scala's issues

2014-04-03 Thread Walter Bright
On 4/3/2014 7:19 PM, bearophile wrote: I have asked for fully typesafe enums in D, but in several years I think Walter has never answered, nor he has explained why D has chosen such intermediate point. I presume this choice is based on practical reasons, but I don't know exactly what they are

Re: Interesting rant about Scala's issues

2014-04-03 Thread Walter Bright
On 4/3/2014 7:19 PM, bearophile wrote: I have asked for fully typesafe enums in D, You can do this: struct MyInt { int x; alias this x; ... put your various constraints here ... } to get typesafe enums. In fact, you can use this construct to create a type that

Re: Interesting rant about Scala's issues

2014-04-03 Thread Meta
On Friday, 4 April 2014 at 04:31:41 UTC, Walter Bright wrote: On 4/3/2014 7:19 PM, bearophile wrote: I have asked for fully typesafe enums in D, You can do this: struct MyInt { int x; alias this x; ... put your various constraints here ... } to get typesafe enums.

Re: Table lookups - this is pretty definitive

2014-04-03 Thread monarch_dodra
On Wednesday, 2 April 2014 at 21:18:19 UTC, Dmitry Olshansky wrote: 03-Apr-2014 00:46, Walter Bright пишет: On 4/2/2014 12:38 PM, Dmitry Olshansky wrote: memchr is already optimized by SIMD, and std.algorithm.find uses memchr. In general, enormous effort has been poured into optimizing C

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Kagamin
On Wednesday, 2 April 2014 at 22:06:53 UTC, Walter Bright wrote: Here's Andrei's proposal: extern (C++) template nspace() { int foo(); } @namespace(nspace) extern (C++) { int foo(); } One downside of this proposal is that if we ever (perish the thought!) attempted to

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Kagamin
On Wednesday, 2 April 2014 at 22:06:53 UTC, Walter Bright wrote: A possible enhancement would be to allow (for all templates with no parameters): nspace.foo(); std.string - does it refer to phobos module or C++ string?

Re: 2.065 compiler problem

2014-04-03 Thread Ondrej Pokorny
Same under windows. Is this compiler/phobos bug?

Re: MSBUILD 2014, C# gets an ahead of time compiler to native code.

2014-04-03 Thread Kagamin
Though native doesn't mean as fast as other native languages. The speed depends on used features. Well, number crunching can be definitely sped up.

Re: 2.065 compiler problem

2014-04-03 Thread monarch_dodra
On Thursday, 3 April 2014 at 07:05:13 UTC, Ondrej Pokorny wrote: Same under windows. Is this compiler/phobos bug? I can tell *why* it's breaking right now, but have been unable to understand what caused said breakage, or how it worked at all to begin with. Will reduce and file (and

Re: MSBUILD 2014, C# gets an ahead of time compiler to native code.

2014-04-03 Thread Bienlein
This is not really spectacular. The intermediate byte code generated by the C# compiler also in the past was transfered to machine code. But this was happening at start-up time and this way slowing down application start-up. The change MS now made is only about reducing start-up times. It will

Re: MSBUILD 2014, C# gets an ahead of time compiler to native code.

2014-04-03 Thread Paulo Pinto
On Thursday, 3 April 2014 at 07:40:11 UTC, Bienlein wrote: This is not really spectacular. The intermediate byte code generated by the C# compiler also in the past was transfered to machine code. But this was happening at start-up time and this way slowing down application start-up. The change

CTFE any diagrams?

2014-04-03 Thread Rikki Cattermole
Does anybody have any form of diagrams for CTFE? And its place in the build process? I'm in need of it for a report. So any help would be greatly appreciated. I would rather somebody who understood how its implemented to help with this than me. After all I'll muck it up ;)

Re: MSBUILD 2014, C# gets an ahead of time compiler to native code.

2014-04-03 Thread Paulo Pinto
On Wednesday, 2 April 2014 at 21:43:05 UTC, Adam Wilson wrote: On Wed, 02 Apr 2014 13:36:56 -0700, Orvid King blah38...@gmail.com wrote: On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto pj...@progtools.org wrote: So it finally happened, C# gets an AOT compiler in addition to NGEN/JIT as

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Andrej Mitrovic
On 4/2/14, Artur Skawina art.08...@gmail.com wrote: template expand(alias A, alias M=Delay) { mixin(q{alias expand = TypeTuple!(} ~ iota(A.length).map!q{,M!(A,[!a..$]~text(a)~)}().join() ~ q{);}); } You can always use string mixins for these hacks. But

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Andrej Mitrovic
On 4/2/14, bearophile bearophileh...@lycos.com wrote: In Python2 and Haskell it's a built-in feature. But what is the performance cost? In D it is a compile-time feature, everything can be inlined. Also, what this shows is how you can take advantage of *existing* features to implement something

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Andrej Mitrovic
On 4/2/14, Simen Kjærås simen.kja...@gmail.com wrote: In fact, it does not even need to have arg and idx explicitly passed, and the alias for Array is redundant. Nice! I recall trying to use .length before but I've had some CT errors. It was probs my fault.

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Andrej Mitrovic
On 4/2/14, Simen Kjærås simen.kja...@gmail.com wrote: In fact, it does not even need to have arg and idx explicitly passed, and the alias for Array is redundant. Actually, I've just realized the inner Delay() becomes a nested function with a hidden context pointer. If you mark the function as

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Andrej Mitrovic
On 4/3/14, Walter Bright newshou...@digitalmars.com wrote: A possible enhancement would be to allow (for all templates with no parameters): nspace.foo(); My only problem with this is how it will affect existing code. E.g.: template take(alias templ) { } template take(T) { } template

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Michel Fortin
On 2014-04-03 03:48:18 +, Walter Bright newshou...@digitalmars.com said: On 4/2/2014 7:14 PM, Michel Fortin wrote: That's a contrived example. Not at all. The whole point of using namespaces in C++ is to introduce a scope. And the whole point of scopes is to have the same name in

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Daniel Kozák
V Thu, 3 Apr 2014 06:36:54 -0400 Michel Fortin michel.for...@michelf.ca napsáno: On 2014-04-03 03:48:18 +, Walter Bright newshou...@digitalmars.com said: On 4/2/2014 7:14 PM, Michel Fortin wrote: That's a contrived example. Not at all. The whole point of using namespaces in C++

Re: C++ interface.

2014-04-03 Thread Daniel Murphy
DanielKozák wrote in message news:mailman.36.1396437697.19942.digitalmar...@puremagic.com... I thought it was a stated goal of D to have C++ interoperability for the same compiler suite? E.g. dmd/dmc++, g++/gdc, ldc/clang… This would be awesome. But it would be much better if DMD has

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Daniel Murphy
Walter Bright wrote in message news:lhi1lt$269h$1...@digitalmars.com... Here's Andrei's proposal: extern (C++) template nspace() { int foo(); } This is really ugly and complicated. Why not just pragma(cpp_namespace, outer) { pragma(cpp_namespace, inner) {

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread bearophile
Andrej Mitrovic: But what is the performance cost? In D the minimal one. In Python is not that important. And in Haskell it's efficient. Also, what this shows is how you can take advantage of *existing* features to implement something interesting. It shows power, rather than the ability

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread monarch_dodra
On Thursday, 3 April 2014 at 08:59:44 UTC, Andrej Mitrovic wrote: On 4/2/14, Artur Skawina art.08...@gmail.com wrote: template expand(alias A, alias M=Delay) { mixin(q{alias expand = TypeTuple!(} ~ iota(A.length).map!q{,M!(A,[!a..$]~text(a)~)}().join() ~

Re: Community input for a new C binding generator project

2014-04-03 Thread Jacob Carlborg
On 02/04/14 23:00, James Buren wrote: On Wednesday, 2 April 2014 at 15:49:18 UTC, Jacob Carlborg wrote: Use a compiler that can already parse C, i.e. Clang. Use a compiler that can handle those extensions, i.e. Clang. I'm already wanting to reuse an existing parser or compiler frontend.

Re: Community input for a new C binding generator project

2014-04-03 Thread Jacob Carlborg
On 03/04/14 01:16, Rikki Cattermole wrote: Interestingly I was having a play recently with a CTFE'd macro preprocessor in the hope that I could push it through a c lexer and create via template mixins the entire bindings to files. Few limitations like string imports not recursive on Windows

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Artur Skawina
On 04/03/14 10:56, Andrej Mitrovic wrote: On 4/2/14, Artur Skawina art.08...@gmail.com wrote: template expand(alias A, alias M=Delay) { mixin(q{alias expand = TypeTuple!(} ~ iota(A.length).map!q{,M!(A,[!a..$]~text(a)~)}().join() ~ q{);}); } You can

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Wyatt
On Wednesday, 2 April 2014 at 20:53:53 UTC, Joseph Rushton Wakeling wrote: You could do much worse than a Wordpress blog -- simple, has built-in comments and lots of plugins, talks very easily to lots of the rest of the internet ... ...and it has all the security of a plastic sieve filled

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Jacob Carlborg
On 03/04/14 00:07, Walter Bright wrote: Here's Andrei's proposal: extern (C++) template nspace() { int foo(); } It would be accessed in D by: nspace!().foo(); A possible enhancement would be to allow (for all templates with no parameters): nspace.foo(); Note

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Andrej Mitrovic
On 4/3/14, Artur Skawina art.08...@gmail.com wrote: Actually, they are *much easier* to debug than the recursive templates -- because you can always look at the generated code, something that is impossible when using the templates. Personally I think we need a third mechanism. I would totally

Re: Table lookups - this is pretty definitive

2014-04-03 Thread bearophile
Walter Bright: That's like saying inlining has no point because it doesn't have a particular syntax. Hopefully Dmitry Olshansky can explain why you are probably wrong regarding the proposed feature. Bye, bearophile

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Ola Fosheim Grøstad
I am not sure what is the best option, but it should be readable and obvious. So I might prefer to just have :: if possible. Somewhat annoying and verbose, so I am not sure about this, but the advantage is that it is easy to see what is C++ and what is D function calls.

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Dicebot
On Thursday, 3 April 2014 at 13:38:48 UTC, Andrej Mitrovic wrote: static if (is(T == int)) FilterInts ~= T; // populate a type tuple It would have been a very complex and non-precedent feature, much more so than a simple static foreach. I personally did not have any

Re: Another interesting hack: expand a static array into parameter arguments

2014-04-03 Thread Artur Skawina
On 04/03/14 15:38, Andrej Mitrovic wrote: On 4/3/14, Artur Skawina art.08...@gmail.com wrote: Actually, they are *much easier* to debug than the recursive templates -- because you can always look at the generated code, something that is impossible when using the templates. Personally I

Re: D binding to JNI

2014-04-03 Thread NVolcz
On Wednesday, 2 April 2014 at 16:53:28 UTC, monnoroch wrote: I created a D binding to JNI and some convenient wrappers around it. Here it is: https://github.com/Monnoroch/DJni Note, that this is a port from similar C++ lib, so it can be not the best D code, but it's a start. I would love if

Re: Table lookups - this is pretty definitive

2014-04-03 Thread Artur Skawina
On 04/03/14 04:40, Walter Bright wrote: On 4/2/2014 6:21 PM, bearophile wrote: Then this feature needs a specific and explicit syntax, or it has _no_ point at all. That's like saying inlining has no point because it doesn't have a particular syntax. Weak inlining *hints* have no point -

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Robert Clipsham
On Thursday, 3 April 2014 at 03:48:08 UTC, Walter Bright wrote: Alternatively you can use another module for the other namespace. Forcing C++ code that exists in a single file to be split up among multiple D files is inflicting unnecessary punishment on the poor guy trying to justify

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Meta
On Wednesday, 2 April 2014 at 11:34:34 UTC, Dicebot wrote: Awesome stuff there! I do want to propose one fundamental change though - change grouping / ordering to be based on potential importance to the casual end user and not by information origin. For example, I am pretty sure that merged

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Meta
On Wednesday, 2 April 2014 at 14:31:49 UTC, Wyatt wrote: This is a good base. In general, I would suggest not shying away from subheadings. It gives you more opportunities to catch the eye and tends to allow readers to see the parts that interest them more easily. Conversely, making phrases

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Meta
On Wednesday, 2 April 2014 at 20:53:53 UTC, Joseph Rushton Wakeling wrote: Honestly think that you should go with the solution that will make it easiest to write and share the results. The point of a newsletter like this is to communicate! You could do much worse than a Wordpress blog --

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Vladimir Panteleev
On Tuesday, 1 April 2014 at 23:25:07 UTC, Meta wrote: You can view the rought draft here. https://docs.google.com/document/d/1Elwm-k6Gs9f7Y-FQNmRVt1uycPEtLkHgpR4v2aQjGwc/edit?usp=sharing Could you please use canonical links to forum posts? http://forum.dlang.org/help#canonical If linking to

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Meta
On Thursday, 3 April 2014 at 16:34:28 UTC, Vladimir Panteleev wrote: On Tuesday, 1 April 2014 at 23:25:07 UTC, Meta wrote: You can view the rought draft here. https://docs.google.com/document/d/1Elwm-k6Gs9f7Y-FQNmRVt1uycPEtLkHgpR4v2aQjGwc/edit?usp=sharing Could you please use canonical links

Re: (DO NOT POST TO HACKERNEWS/REDDIT/ETC.) RFC for a Community Newsletter for D: What's New in D Draft #1

2014-04-03 Thread Wyatt
On Thursday, 3 April 2014 at 16:07:06 UTC, Meta wrote: The links, especially the Github ones, tend to be quite long, and I didn't want to take up too much space with them, especially with the one link per line format. To clarify, I'm not against descriptive text serving as a link; my

Re: Table lookups - this is pretty definitive

2014-04-03 Thread Andrei Alexandrescu
On 4/2/14, 11:19 PM, monarch_dodra wrote: If I were to request the actual memchr/wmemchr/dmemchr functions in some core.??? module, is this something we'd want, and would somebody know how to provide an efficient implementation? Yes. Probably checking stuff with SIMD and a few other approaches

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Walter Bright
On 4/3/2014 4:06 AM, Daniel Kozák wrote: I think we should distinguish modules lookup from namespaces lookup. Something like this: A.B.foo() // call foo function from module/struct/class A and B #A.#B.foo // call foo function from namespaces A and B or A::B.foo // call foo function from

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Walter Bright
On 4/3/2014 3:36 AM, Michel Fortin wrote: I'd tend to simply implement extern(C++, namespace.here), which should work fine to wrap single-namespace cpp files, and wait to see what are the actual friction points before introducing more (people can experiment with structs or other modules

Re: Table lookups - this is pretty definitive

2014-04-03 Thread Dmitry Olshansky
03-Apr-2014 10:19, monarch_dodra пишет: If I were to request the actual memchr/wmemchr/dmemchr functions in some core.??? module, is this something we'd want, and would somebody know how to provide an efficient implementation? Something I wanted in D since about 2011. Should have put an

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Daniel Kozak
On Thursday, 3 April 2014 at 19:44:02 UTC, Walter Bright wrote: On 4/3/2014 4:06 AM, Daniel Kozák wrote: I think we should distinguish modules lookup from namespaces lookup. Something like this: A.B.foo() // call foo function from module/struct/class A and B #A.#B.foo // call foo function

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Andrei Alexandrescu
On 4/3/14, 4:19 AM, Daniel Murphy wrote: Walter Bright wrote in message news:lhi1lt$269h$1...@digitalmars.com... Here's Andrei's proposal: extern (C++) template nspace() { int foo(); } This is really ugly and complicated. Why not just pragma(cpp_namespace, outer) {

Re: Table lookups - this is pretty definitive

2014-04-03 Thread Dmitry Olshansky
03-Apr-2014 05:05, Walter Bright пишет: On 4/2/2014 3:06 PM, bearophile wrote: Walter Bright: I don't see why not. Note that we couldn't do this for extern(C) functions, or variadics, or caller functions with parameters that need destruction, or parameters that may refer to any locals. That

sfloat24 Floating Point DataType - Request for Comments

2014-04-03 Thread Bill Buckels
The sfloat24 data type is half way between a float and a double in storage size. It offers high precison and speed, but is currently not available as a built-in data type in any compiler that I am aware of. Adding an aditional built-in datatype to a compiler would be alot of work, but for

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Michel Fortin
On 2014-04-03 19:43:23 +, Walter Bright newshou...@digitalmars.com said: On 4/3/2014 3:36 AM, Michel Fortin wrote: I'd tend to simply implement extern(C++, namespace.here), which should work fine to wrap single-namespace cpp files, and wait to see what are the actual friction points

Re: Table lookups - this is pretty definitive

2014-04-03 Thread Dmitry Olshansky
03-Apr-2014 01:51, Walter Bright пишет: On 4/2/2014 1:54 PM, Dmitry Olshansky wrote: If we can alter semantics of return foo(arg); to _always_ be a goto, guarantee a jump and reuse of the stack, then I'm all for it. I don't see why not. Note that we couldn't do this for extern(C) functions,

Re: sfloat24 Floating Point DataType - Request for Comments

2014-04-03 Thread anonymous
On Thursday, 3 April 2014 at 20:13:35 UTC, Bill Buckels wrote: The sfloat24 data type is half way between a float and a double in storage size. Wait. 24 bits would be halfway between half (16 bits) and single precision (32 b its).

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Théo.Bueno
On Thursday, 3 April 2014 at 11:19:53 UTC, Daniel Murphy wrote: Walter Bright wrote in message news:lhi1lt$269h$1...@digitalmars.com... Here's Andrei's proposal: extern (C++) template nspace() { int foo(); } This is really ugly and complicated. Why not just

Re: Table lookups - this is pretty definitive

2014-04-03 Thread monarch_dodra
On Thursday, 3 April 2014 at 19:39:57 UTC, Andrei Alexandrescu wrote: On 4/2/14, 11:19 PM, monarch_dodra wrote: If I were to request the actual memchr/wmemchr/dmemchr functions in some core.??? module, is this something we'd want, and would somebody know how to provide an efficient

Re: sfloat24 Floating Point DataType - Request for Comments

2014-04-03 Thread Andrej Mitrovic
On 4/3/14, Bill Buckels bbuck...@mts.net wrote: D Compiler for .NET -- Compiles the code to Common Intermediate Language (CIL) bytecode rather than to machine code. The CIL can then be run via a Common Language Infrastructure (CLR) virtual machine This seems out of place? What about D for

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread H. S. Teoh
On Thu, Apr 03, 2014 at 12:43:59PM -0700, Walter Bright wrote: On 4/3/2014 4:06 AM, Daniel Kozák wrote: I think we should distinguish modules lookup from namespaces lookup. Something like this: A.B.foo() // call foo function from module/struct/class A and B #A.#B.foo // call foo function

Announcing .NET Native Preview

2014-04-03 Thread NA
Interesting development. http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx

Re: sfloat24 Floating Point DataType - Request for Comments

2014-04-03 Thread Bill Buckels
On Thursday, 3 April 2014 at 20:33:51 UTC, anonymous wrote: On Thursday, 3 April 2014 at 20:13:35 UTC, Bill Buckels wrote: The sfloat24 data type is half way between a float and a double in storage size. Wait. 24 bits would be halfway between half (16 bits) and single precision (32 b its).

Re: Reviving YAGE

2014-04-03 Thread Ryan Voots
On Monday, 31 March 2014 at 20:22:57 UTC, Andrej Mitrovic wrote: On 1/29/14, Ryan Voots simcop2...@simcop2387.info wrote: I've started a fork of YAGE in an attempt to revive it. So far I'm still working on porting it to build with dub and D2, but it's coming along faster than I had expected.

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread deadalnix
On Wednesday, 2 April 2014 at 22:06:53 UTC, Walter Bright wrote: Here's Andrei's proposal: extern (C++) template nspace() { int foo(); } It would be accessed in D by: nspace!().foo(); A possible enhancement would be to allow (for all templates with no parameters):

Re: sfloat24 Floating Point DataType - Request for Comments

2014-04-03 Thread Bill Buckels
On Thursday, 3 April 2014 at 21:06:52 UTC, Andrej Mitrovic wrote: On 4/3/14, Bill Buckels bbuck...@mts.net wrote: D Compiler for .NET -- Compiles the code to Common Intermediate Language (CIL) bytecode rather than to machine code. The CIL can then be run via a Common Language Infrastructure

Re: sfloat24 Floating Point DataType - Request for Comments

2014-04-03 Thread Steven Schveighoffer
On Thu, 03 Apr 2014 16:13:34 -0400, Bill Buckels bbuck...@mts.net wrote: The sfloat24 data type is half way between a float and a double in storage size. It offers high precison and speed, but is currently not available as a built-in data type in any compiler that I am aware of. Adding an

Poll - How long have you been in D?

2014-04-03 Thread dnewbie
Please vote now! http://www.easypolls.net/poll.html?p=533e10e4e4b0edddf89898c5 See also results from previous years: - http://d.darktech.org/2012.png - http://d.darktech.org/2013.png

Re: Poll - How long have you been in D?

2014-04-03 Thread Adam D. Ruppe
I'm almost at the point where I've been a D fanatic for half my programmer years... the time sure flies. I think I surpassed writing more D code than all other languages combined last year, taking the prize away from C.

Re: Poll - How long have you been in D?

2014-04-03 Thread H. S. Teoh
I couldn't remember when I started using D, so I had to go dig in my personal diary entries until I found it... In late 2011, I had already heard of D during my search for something better than C++, but I didn't really start seriously using D until by chance I came across Andrei's TDPL at a local

Re: Specifying C++ symbols in C++ namespaces

2014-04-03 Thread Daniel Murphy
Andrei Alexandrescu wrote in message news:lhkebg$1i1p$1...@digitalmars.com... extern (C++) template nspace() { int foo(); } This is really ugly and complicated. I don't quite see how one is ugly and complicated and the other is... pretty and simple? Anyhow de

Re: Reviving YAGE

2014-04-03 Thread Daniel Murphy
Ryan Voots wrote in message news:asffkvstgjtktahlp...@forum.dlang.org... It'd be really nice if someone knew how to get DMD to spew out EVERY error it finds instead of stopping after the first 100 or so so that I could go fix things in larger chunks. In mars.c, find the comment //moderate

Re: unicode console output

2014-04-03 Thread Denis Mezhov
Tnx, chcp 65001 and Lucida font out correct string.

Re: Why is SysTime.init invalid?

2014-04-03 Thread Jonathan M Davis
On Tuesday, April 01, 2014 03:54:07 Jonathan M Davis wrote: On Tuesday, April 01, 2014 05:35:28 ed wrote: OK, lazy me just read the std.satetime article again. It appears the design is for no invalid values and it is currently a known limitation due to CTFE. --- d_time_nan There is

Cannot access static overloaded function?

2014-04-03 Thread Domain
I have 2 modules: module A; public class A { private static void foo() {} public static void foo(int) {} } module B; import A; public class B { public static void bar() { A.foo(0); } } Error: class A.A member foo is not accessible

Re: How do I obtain the default hash of a user-defined struct

2014-04-03 Thread dnspies
On Wednesday, 2 April 2014 at 22:07:36 UTC, FreeSlave wrote: Contents of struct are compared field by field using comparison for the type of each field. Dynamic arrays are compared by contents. If you want to compare them by pointer use .ptr property. opEquals and opCmp are not about

How to find documentation of hard-to-google keywords and symbols

2014-04-03 Thread dnspies
I often have trouble finding documentation for keywords such as in and is in D. Also, functions like find I expect to be in std.string but it's actually in std.algorithm and Tuple I expect to be in std.typetuple but it's actually in std.typecons. These make sense in retrospect, but it would

Do equality checks for dynamic arrays attempt to shortcut with pointer comparison

2014-04-03 Thread dnspies
If two dynamic arrays point to the same place in memory, is it fast to compare them for equality? or does every element still have to be compared?

  1   2   >