Re: What's the secret to static class members
On Wednesday, 29 June 2016 at 15:40:57 UTC, Andrea Fontana wrote: On Wednesday, 29 June 2016 at 15:33:58 UTC, Guido wrote: The problem is actually much more profound. The classes need to be declared outside the main() scope. WTF?!?!?! I put them in main() so they would be in scope. This seems like a *MAJOR* design flaw with the language, not to mention the compiler not giving useful feedback. This decision, if it is a decision, makes no sense given all the attention to scoping rules. I'm not interested in trading one set of bad language decisions for another. Can someone fix this? I wonder which language you usually use in your programming experience. C++ I have all this business generally working in C++. I just wanted to try D for a production level quick project. So, the language is not ready. I'm really sad about this. I had hoped that I could get some useful work done. C++ is painfully slow to write & debug, but what can you do. As I said, why exchange one set of bad design decisions for another? On another topic, tuples seem to have a major problem as well. Tuple!(float, float, float) test; Tuple!(float, float, float) [] array_data; test[0] = 1.0; // works array_data[i][0] = 1.0; // doesn't work. Compile-time error, probably because the language itself doesn't have a dedicated extension for tuple elements that is distinguished from array dereferencing. This is the logical extension of how to access tuples. I normally use structs in C++, but since pointer arithmetic is really frowned upon in D, I decided to use Tuples. A mistake, I supposed. So, I've spent a huge amount of time getting ready to write in D. That's all wasted. I'll check back in another 10 years to see if your hobby language is still around. In the mean time, try to think about improving the compiler error messages. I can write code any way the language demands, but it has to make sense and I can't be doing a research project on the language every 10 minutes to figure out the right incantation. I already have that with C++. Bye
Re: What's the secret to static class members
On Wednesday, 29 June 2016 at 15:18:53 UTC, Guido wrote: I'm using a static class member in a parent class, but can't get the compiler to see it. Class Grid{ public: uint xdim; } Class Holder : Grid { uint var; } Any of the following should work, but none of them do: Grid.xdim = 0; grid = new Grid; grid.xdim = 0; holder = new Holder; holder.xdim = 0; This is the way static class vars were intended to work. What magics have I forgotten? Platform DMD latest, Windows 7 Visual D The problem is actually much more profound. The classes need to be declared outside the main() scope. WTF?!?!?! I put them in main() so they would be in scope. This seems like a *MAJOR* design flaw with the language, not to mention the compiler not giving useful feedback. This decision, if it is a decision, makes no sense given all the attention to scoping rules. I'm not interested in trading one set of bad language decisions for another. Can someone fix this?
What's the secret to static class members
I'm using a static class member in a parent class, but can't get the compiler to see it. Class Grid{ public: uint xdim; } Class Holder : Grid { uint var; } Any of the following should work, but none of them do: Grid.xdim = 0; grid = new Grid; grid.xdim = 0; holder = new Holder; holder.xdim = 0; This is the way static class vars were intended to work. What magics have I forgotten? Platform DMD latest, Windows 7 Visual D
Re: Why don't we write configuration files in D instead of JSON?
have a look at `dub convert` - in your case e.g. `dub convert -f sdl` This dub convert command is weird. It works as `cat dub.json | dub convert -sdl' and makes a nice SDL file called dub.sdl, but it blows away the source file, which I've never seen before with piped output from cat. I don't like deleting the source file being the default behavior. Also, commands like `dub convert -f sdl dub.json' and variations of that sort don't seem to work as a command. They have errors. What's the weirdness here?
Re: Why don't we write configuration files in D instead of JSON?
On Thursday, 16 June 2016 at 06:07:55 UTC, Seb wrote: On Thursday, 16 June 2016 at 05:31:26 UTC, Guido wrote: It would seem that by running the file through mixin, you can simply create the vars you want in scope. The drawback being random code execution. Is there any way to sanitize mixin code from user-configurable file? Well it's a configuration file that e.g. the registry has to parse too, hence (as for all config files) random code execution is pretty bad. Apart from that it's just about a small configuration file for the name, title etc. - you don't need a full-blown D interpreter for this. Imho SDL does a good job at keeping the syntax rather minimal :) Of course do one stops you to use D to generate a configuration file. Once that's shot down, does anyone know a .json to .sdl converter program have a look at `dub convert` - in your case e.g. `dub convert -f sdl` Thanks for the answer. I conceptually like SDL better than JSON. We'll see how I like it in practice. I went looking for examples of SDL online and found that even the SDlang-D project is using a dub.json configuration file. How weird is that? Also, LOL @Ketmar.
Why don't we write configuration files in D instead of JSON?
It would seem that by running the file through mixin, you can simply create the vars you want in scope. The drawback being random code execution. Is there any way to sanitize mixin code from user-configurable file? Once that's shot down, does anyone know a .json to .sdl converter program