Re: D for Android beta

2017-08-30 Thread Joakim via Digitalmars-d-announce
On Saturday, 26 August 2017 at 09:59:33 UTC, Joakim wrote: On Thursday, 1 June 2017 at 19:45:17 UTC, Ali Çehreli wrote: Very exciting! :) On 06/01/2017 12:31 PM, Joakim wrote: > I will write up instructions on how to write an Android app in D _on_ > your Android device I hope it will be

DlangUI v0.7.60 released

2017-08-30 Thread Vadim Lopatin via Digitalmars-d-announce
There are a lot of improvements in DlangIDE since last announcement. DlangIDE is a cross-platform IDE for D programming language. Project link: https://github.com/buggins/dlangide Release: https://github.com/buggins/dlangide/releases Windows binaries are available (requires only DMD or LDC to

Released vibe.d 0.8.1

2017-08-30 Thread Sönke Ludwig via Digitalmars-d-announce
Apart from removing the old vibe-d:diet package in favor of diet-ng, this release most notably contains a number of performance improvements in the HTTP server, as well as improvements and fixes in the WebSocket code. Furthermore, initial OpenSSL 1.1.x support has been added and a few @safe

DCompute: Driver APIs are here

2017-08-30 Thread Nicholas Wilson via Digitalmars-d-announce
Hi all, I am happy to announce that the driver APIs for both OpenCL and CUDA are now here[1]! They are not yet feature complete and still have a lot more polishing and testing to be done, but the ground work is there. That should give contributors a scope to work on and help break up the

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 15:42:09 UTC, jmh530 wrote: One thing you didn't really cover is how seamlessly interacts with normal polymorphism. For instance, what if to your first example, I add the following function (note: without @method) and adjust main as below. I see no reason why

Re: Open Methods: From C++ to D

2017-08-30 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 15:10:03 UTC, Jean-Louis Leroy wrote: I sort of agree, and somewhat regret not picking 'openmethod'. I considered both. Also @specialize. If anyone had pushed for @openmethod before the article, I would almost certainly have given in. My reasoning was, I

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 17:14:37 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 16:45:19 UTC, data pulverizer wrote: You mentioned Julia in your article, however for clarity I would point out that Julia doesn't have OOP-type polymorphism. There is no notion of being able

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 17:29:42 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 17:16:59 UTC, data pulverizer wrote: p.p.s typeof(x[1]) # returns Cat so it isn't really polymorphism - the object is never converted to the "parent" type! Lol ... sorry for the confusion!

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 16:45:19 UTC, data pulverizer wrote: One thing that confused me was examples like this ... @method Matrix _plus(DiagonalMatrix a, DiagonalMatrix b) { // just add the elements on diagonals // return a DiagonalMatrix } Which is marked as returning a

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Monday, 28 August 2017 at 13:19:19 UTC, Jean-Louis Leroy wrote: On Thursday, 24 August 2017 at 23:50:21 UTC, data pulverizer wrote: I find OOP-polymorphic types ultimately unsatisfying, but I don't know of anyway to write, compile and load a D script with new types and methods on the fly

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 16:37:20 UTC, Q. Schroll wrote: In the article it says: Finally, main calls updateMethods. This should be done before calling any method (typically first thing in main) and each time a library containing methods is dynamically loaded or unloaded. If the

Re: Open Methods: From C++ to D

2017-08-30 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 17:24:55 UTC, Jean-Louis Leroy wrote: We had a discussion about automating the call to updateMethods but I don't think that anybody thought of putting it in registerMethods. It might work. I'll look into it. Thanks for the suggestion... Ali had suggested

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 17:16:59 UTC, data pulverizer wrote: p.p.s typeof(x[1]) # returns Cat so it isn't really polymorphism - the object is never converted to the "parent" type! Lol ... sorry for the confusion! Which is polymorphism Haha what I know of Julia is what wikipedia

Re: Open Methods: From C++ to D

2017-08-30 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 15:59:32 UTC, Jean-Louis Leroy wrote: What happens here is that kick(Animal) is shadowed by kick(Dog). kick(Animal) is a method but it appears to the user and the compiler as an ordinary function - which is generally good. As such it is eligible for UFCS. I

Re: DlangUI v0.7.60 released

2017-08-30 Thread Dukc via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 07:44:54 UTC, Vadim Lopatin wrote: [snip] From what I've followed, you sure update the project often! Perhaps more often than what Phobos is upgraded, by all developers combined. Great work.

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 18:20:46 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 18:05:38 UTC, jmh530 wrote: On Wednesday, 30 August 2017 at 17:24:55 UTC, Jean-Louis Leroy wrote: We had a discussion about automating the call to updateMethods but I don't think that

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 17:57:49 UTC, data pulverizer wrote: The reason I have never really been comfortable with sub-typing is that the polymorphic types are a black-box, my preference is certainly for parametric type polymorphism. The main disadvantage with parametric polymorphism in

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 18:48:58 UTC, data pulverizer wrote: I suspect the reason you can't have parametric typed array containers in statically typed compiled languages is that underneath, they are doubly/linked lists, and there is no way of resolving the types at the end of the

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 18:16:47 UTC, jmh530 wrote: I tried installing the latest release from github. Compiling (Windows 7 on DMD with default options) the simple program below import openmethods; mixin(registerMethods); void main() { } gives me the errors: Gosh Windows I

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 18:05:38 UTC, jmh530 wrote: On Wednesday, 30 August 2017 at 17:24:55 UTC, Jean-Louis Leroy wrote: We had a discussion about automating the call to updateMethods but I don't think that anybody thought of putting it in registerMethods. It might work. I'll look

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:49:54 UTC, jmh530 wrote: On Wednesday, 30 August 2017 at 22:30:12 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 22:10:38 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: In the light of this I

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 20:40:38 UTC, Jean-Louis Leroy wrote: After mulling over this example, I don't see how this proves that Julia does *not* support run time polymorphism. On the contrary. If you translate this to D you get the same result by the way: import std.stdio; class

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:10:38 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: In the light of this I think your package just became more interesting to me. I think that your work and mine are complementary :-) Yes, one of the

Re: D as a Better C

2017-08-30 Thread Azi Hassan via Digitalmars-d-announce
How should command-line arguments be used in better C ? Looping through argv seems to print environment variables : import core.stdc.stdio; extern(C) int main(int argc, char*[] argv, char*[] env) { foreach(i; 0 .. argc) printf("arg %d: %s\n", i, argv[i]); return

Re: D as a Better C

2017-08-30 Thread Azi Hassan via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:22:23 UTC, Azi Hassan wrote: How should command-line arguments be used in better C ? Looping through argv seems to print environment variables : import core.stdc.stdio; extern(C) int main(int argc, char*[] argv, char*[] env) { foreach(i; 0 .. argc)

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:10:38 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: In the light of this I think your package just became more interesting to me. I think that your work and mine are complementary :-) Here is one strange

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:30:12 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 22:10:38 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: In the light of this I think your package just became more interesting to me. I

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:30:12 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 22:10:38 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: In the light of this I think your package just became more interesting to me. I

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 20:40:38 UTC, Jean-Louis Leroy wrote: After mulling over this example, I don't see how this proves that Julia does *not* support run time polymorphism. On the contrary. In that case you are

Re: D as a Better C

2017-08-30 Thread Adam D. Ruppe via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 22:22:23 UTC, Azi Hassan wrote: extern(C) int main(int argc, char*[] argv, char*[] env) That's a D array of pointers. A D array is larger than a C "array" argument, thus you're skipping past it. The correct declaration is (int argc, char** argv, char** env).

Re: Open Methods: From C++ to D

2017-08-30 Thread Q. Schroll via Digitalmars-d-announce
In the article it says: Finally, main calls updateMethods. This should be done before calling any method (typically first thing in main) and each time a library containing methods is dynamically loaded or unloaded. If the something has to be done at the beginning, we have a tool for that:

Re: Released vibe.d 0.8.1

2017-08-30 Thread Matthias Klumpp via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 07:47:53 UTC, Sönke Ludwig wrote: Apart from removing the old vibe-d:diet package in favor of diet-ng, this release most notably contains a number of performance improvements in the HTTP server, as well as improvements and fixes in the WebSocket code.

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread data pulverizer via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 16:45:19 UTC, data pulverizer wrote: You mentioned Julia in your article, however for clarity I would point out that Julia doesn't have OOP-type polymorphism. There is no notion of being able to do something like: Animal snoopy = new Dog(); p.s. my bad, I was

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 17:16:59 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 17:14:37 UTC, data pulverizer wrote: On Wednesday, 30 August 2017 at 16:45:19 UTC, data pulverizer wrote: You mentioned Julia in your article, however for clarity I would point out that Julia

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote: In the light of this I think your package just became more interesting to me. I think that your work and mine are complementary :-)

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 04:48:11 UTC, Arun Chandrasekaran wrote: On Tuesday, 29 August 2017 at 12:45:50 UTC, Jean-Louis Leroy wrote: On Tuesday, 29 August 2017 at 12:09:01 UTC, Mark wrote: Nice. This does seem superior to the visitor pattern. Here is another example - AST traversal:

Re: DCompute: Driver APIs are here

2017-08-30 Thread Ilya Yaroshenko via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 07:49:29 UTC, Nicholas Wilson wrote: Hi all, I am happy to announce that the driver APIs for both OpenCL and CUDA are now here[1]! They are not yet feature complete and still have a lot more polishing and testing to be done, but the ground work is there. That

Re: D as a Better C

2017-08-30 Thread Kagamin via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 02:19:21 UTC, Michael V. Franklin wrote: As you can see it is not a polished experience and gets much worse when you start employing more features of D. This could be improved, and in fact, with GDC you need even less useless boilerplate in object.d and may end

Re: D as a Better C

2017-08-30 Thread Kagamin via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 00:29:19 UTC, Parke wrote: But my original question was about what you (Kagamin) called "intermediate D". I was trying to understand what "intermediate D" is, and whether or not I could use "intermediate D" (whatever it is) to produce small(er) executables.

5 seconds agoDIP 1009--Improve Contract Usability--Formal Review Begins

2017-08-30 Thread Mike Parker via Digitalmars-d-announce
The feedback period of the formal review for DIP 1009, "Improve Contract Syntax", is now underway. http://forum.dlang.org/post/otsfobizkagfawvqh...@forum.dlang.org

Re: Open Methods: From C++ to D

2017-08-30 Thread rikki cattermole via Digitalmars-d-announce
On 30/08/2017 4:10 PM, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 14:37:14 UTC, Arun Chandrasekaran wrote: On Wednesday, 30 August 2017 at 13:35:22 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 04:48:11 UTC, Arun What was your rationale for `openmethod` instead of

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 14:37:14 UTC, Arun Chandrasekaran wrote: On Wednesday, 30 August 2017 at 13:35:22 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 04:48:11 UTC, Arun What was your rationale for `openmethod` instead of just `method`? Just that `openmethod` precisely

Re: Open Methods: From C++ to D

2017-08-30 Thread Arun Chandrasekaran via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 13:35:22 UTC, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 04:48:11 UTC, Arun What was your rationale for `openmethod` instead of just `method`? Just that `openmethod` precisely expresses it's intent and `method` is too generic.

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 15:14:04 UTC, rikki cattermole wrote: On 30/08/2017 4:10 PM, Jean-Louis Leroy wrote: On Wednesday, 30 August 2017 at 14:37:14 UTC, Arun Chandrasekaran wrote: [...] I sort of agree, and somewhat regret not picking 'openmethod'. I considered both. Also

Re: DlangUI v0.7.60 released

2017-08-30 Thread Domain via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 07:44:54 UTC, Vadim Lopatin wrote: There are a lot of improvements in DlangIDE since last announcement. [...] Is there any themes to download? It's a bit ugly in windows

Re: Open Methods: From C++ to D

2017-08-30 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 23:40:59 UTC, Jean-Louis Leroy wrote: Fixed. Committed to master and it should show up in dub soon. Gosh, all that mind bending meta polymorphic mixin reflection multi-dimensional fu and then fall prey to ints and uints and size_ts. Sobering... Ha. Cheers.

Re: Open Methods: From C++ to D

2017-08-30 Thread Jean-Louis Leroy via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 18:16:47 UTC, jmh530 wrote: ..\..\dubFolder\openmethods.d-1.0.0-rc.1\source\openmethods.d(970,21): Error: ca nnot implicitly convert expression h of type ulong to uint ..\..\dubFolder\openmethods.d-1.0.0-rc.1\source\openmethods.d(1076,34): Error: c annot

Re: Article: Writing Julia style multiple dispatch code in D

2017-08-30 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 30 August 2017 at 23:45:13 UTC, data pulverizer wrote: typeid() will give you the run-time type while typeof() gives the declared (compile time) type, typeid(typeof()) will not give you the run-time type - which in our case is what we want if we are using sub-typing