Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On Fri, 28 Sep 2012, Walter Bright wrote: > On 9/28/2012 12:39 PM, Brad Roberts wrote: > > It's more than just catching. That's a relatively minor issue. The > > bigger one is stack unwinding and related cleanups. Consider: c++ > > function with local variables that have dtors that calls a D function that > > throws. Those c++ locals will never have their dtors called. > > > > It's not a huge problem, but the sum of the problems add up to pain and > > will need to be fixed at some point. The lack of pain today is that it's > > barely feasible to mix languages where more than one has any exception > > handling right now. Something of a catch-22 of issues, imho. > > > True, but I would never write code that tried to throw an exception across > language boundaries, anyway. It's just asking for trouble. And that's fine for your code, but if you want D and DMD to be a system that people use for larger systems, then cutting down the sheer number of things that don't work when pushed is kinda important.
Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On 9/28/2012 12:39 PM, Brad Roberts wrote: It's more than just catching. That's a relatively minor issue. The bigger one is stack unwinding and related cleanups. Consider: c++ function with local variables that have dtors that calls a D function that throws. Those c++ locals will never have their dtors called. It's not a huge problem, but the sum of the problems add up to pain and will need to be fixed at some point. The lack of pain today is that it's barely feasible to mix languages where more than one has any exception handling right now. Something of a catch-22 of issues, imho. True, but I would never write code that tried to throw an exception across language boundaries, anyway. It's just asking for trouble.
Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On Fri, 28 Sep 2012, Walter Bright wrote: > On 9/27/2012 11:01 PM, Jacob Carlborg wrote: > > On 2012-09-27 21:51, Walter Bright wrote: > > > > > Well, I did. The EH mechanism in dmd Win64 is the same as that used for > > > dmd Linux, OSX and FreeBSD, 32 and 64. > > > > What does that practically mean from the users point of view? > > It means D cannot throw or catch VC exceptions, and VC code cannot throw or > catch D exceptions. > > Pretty much just like on Linux/OSX/FreeBSD, which doesn't seem to be a > problem. It's more than just catching. That's a relatively minor issue. The bigger one is stack unwinding and related cleanups. Consider: c++ function with local variables that have dtors that calls a D function that throws. Those c++ locals will never have their dtors called. It's not a huge problem, but the sum of the problems add up to pain and will need to be fixed at some point. The lack of pain today is that it's barely feasible to mix languages where more than one has any exception handling right now. Something of a catch-22 of issues, imho.
Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On 9/28/2012 10:43 AM, Andrej Mitrovic wrote: I thought the whole COFF work was entirely about interoperability (well, that and 64bit). Oh well.. COFF is just a file format, nothing more. It is not an ABI specification.
Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On 9/27/2012 11:01 PM, Jacob Carlborg wrote: On 2012-09-27 21:51, Walter Bright wrote: Well, I did. The EH mechanism in dmd Win64 is the same as that used for dmd Linux, OSX and FreeBSD, 32 and 64. What does that practically mean from the users point of view? It means D cannot throw or catch VC exceptions, and VC code cannot throw or catch D exceptions. Pretty much just like on Linux/OSX/FreeBSD, which doesn't seem to be a problem.
Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On Fri, 28 Sep 2012, Andrej Mitrovic wrote: > On 9/28/12, Brad Roberts wrote: > > It's another interoperability problem. It means that when mixing c++/d that > > stackframe unwinding during exception > > handling doesn't work as expected. It'll be one more thing that eventually > > needs to be fixed. > > I thought the whole COFF work was entirely about interoperability > (well, that and 64bit). Oh well.. Interoperability isn't a single attribute. It's an accumulation of tons of attributes. Much like .so/.dll support. So, 2 steps forward, but 20 left (obviously making up those numbers).
Re: dlib - d utility library
On Friday, 28 September 2012 at 09:43:34 UTC, Timur Gafarov wrote: dlib is a growing collection of native D language libraries serving as a framework for various higher-level projects - such as game engines, rendering pipelines and multimedia applications. It is written in D2 and has no external external dependencies aside D's standart library, Phobos. A note on your Vector implementation. Currently you use the vector operators, e.g. Vector!(T,size) opAddAssign (Vector!(T,size) v) body { arrayof[] += v.arrayof[]; return this; } This is fine for large vectors, but (correct me if I'm wrong), your vector class appears to be designed for small vectors. Those vector ops currently call a asm optimised function that uses SIMD instructions in a loop - it works well for larger vectors with hundreds of elements, but for small vectors it's significantly faster to just use: foreach (i; 0..size) arrayof[i] += v.arrayof[i]; I've also noticed that you've provided Matrix2x2 and Matrix4x4 as separate structs from the more generic Matrix. I'm guessing this is for specialisation. A more idiomatic way to handle this would be to use template specialisation to provide the optimised versions. That way, when people use Matrix!(T, 2, 2) they get all the benefits of Matrix2x2!T as well.
Re: D 1.076 Alpha for Windows 64 bits, works with VS 2010
On 9/28/12, Brad Roberts wrote: > It's another interoperability problem. It means that when mixing c++/d that > stackframe unwinding during exception > handling doesn't work as expected. It'll be one more thing that eventually > needs to be fixed. I thought the whole COFF work was entirely about interoperability (well, that and 64bit). Oh well..
Re: dlib - d utility library
On Friday, 28 September 2012 at 13:29:05 UTC, Danny Arends wrote: Apart from a description of the project this site seems empty! Is there anywhere a person can download the source code/try this out. If you want to browse it online (without check-out): http://code.google.com/p/dlib/source/browse/ Gr, Danny Thanks. Now I was able to find it. Craig
Re: Just a reminder, I'll be at GOTO next week!
Le 28/09/2012 07:43, Walter Bright a écrit : talking about "Component Programming in D" on Oct. 2. http://gotocon.com/aarhus-2012/schedule/tuesday.jsp See you there! (use promotion code brig1000 when registering and you'll get a discount) I couldn't come. But Aarhus is a really nice city. It has the most horrible city hall ever built, but otherwise this is beautiful.
Re: dlib - d utility library
Apart from a description of the project this site seems empty! Is there anywhere a person can download the source code/try this out. If you want to browse it online (without check-out): http://code.google.com/p/dlib/source/browse/ Gr, Danny
Re: dlib - d utility library
On Friday, 28 September 2012 at 09:43:34 UTC, Timur Gafarov wrote: dlib is a growing collection of native D language libraries serving as a framework for various higher-level projects - such as game engines, rendering pipelines and multimedia applications. It is written in D2 and has no external external dependencies aside D's standart library, Phobos. Currently dlib contains the following packages: dlib.core - standard algorithms, data structures, useful templates, etc. dlib.functional - some functional programming idioms (HOFs, combiners, quantifiers, etc.) dlib.math - linear algebra (vectors, matrices, quaternions, etc.) dlib.geometry - computational geometry (ray casting, primitives, etc.) dlib.image - image processing (filters, color correction, graphics formats I/O, support for 8 and 16-bit RGBA buffers and floating point operations). http://code.google.com/p/dlib/ Apart from a description of the project this site seems empty! Is there anywhere a person can download the source code/try this out. Thanks. Craig
Re: glfw3 deimos bindings
Am 28.09.2012 08:02, schrieb Jacob Carlborg: On 2012-09-28 00:59, David wrote: I made glfw3 bindings (translated the C headers to D): https://github.com/Dav1dde/glfw3 Can someone make a deimos repo? Not that I can create a repository but a description and a link to the C library is needed. Linked it in the README
dlib - d utility library
dlib is a growing collection of native D language libraries serving as a framework for various higher-level projects - such as game engines, rendering pipelines and multimedia applications. It is written in D2 and has no external external dependencies aside D's standart library, Phobos. Currently dlib contains the following packages: dlib.core - standard algorithms, data structures, useful templates, etc. dlib.functional - some functional programming idioms (HOFs, combiners, quantifiers, etc.) dlib.math - linear algebra (vectors, matrices, quaternions, etc.) dlib.geometry - computational geometry (ray casting, primitives, etc.) dlib.image - image processing (filters, color correction, graphics formats I/O, support for 8 and 16-bit RGBA buffers and floating point operations). http://code.google.com/p/dlib/