Re: foo => "bar" key/value literals in D!
On 5/27/16 10:17 PM, Taylor Hillegeist wrote: On Friday, 27 May 2016 at 18:10:59 UTC, Vladimir Panteleev wrote: On Monday, 23 May 2016 at 19:00:40 UTC, Adam D. Ruppe wrote: Have I gone completely mad?!?! Yes, though what does it have to do with this thread? :D This is by far the most appealing way to implement named arguments that I've seen so far: https://github.com/CyberShadow/ae/blob/master/utils/meta/args.d This is very nice... way more clean than I imagined possible. s/args/make/g and we have a nice function for std.conv. -- Andrei
Re: Button: A fast, correct, and elegantly simple build system.
On 31/05/2016 7:16 AM, Jason White wrote: I am pleased to finally announce the build system I've been slowly working on for over a year in my spare time: Docs: http://jasonwhite.github.io/button/ Source: https://github.com/jasonwhite/button Features: - Correct incremental builds. - Automatic dependency detection (for any build task, even shell scripts). - Build graph visualization using GraphViz. - Language-independent. It can build anything. - Can automatically build when an input file is modified (using inotify). - Recursive: It can build the build description as part of the build. - Lua is the primary build description language. A ton of design work went into this. Over the past few years, I went through many different designs and architectures. I finally settled on this one about a year ago and then went to work on implementing it. I am very happy with how it turned out. Note that this is still a ways off from being production-ready. It needs some polishing. Feedback would be most appreciated (file some issues!). I really want to make this one of the best build systems out there. Here is an example build description for DMD: https://github.com/jasonwhite/dmd/blob/button/src/BUILD.lua I'd say that's a lot easier to read than this crusty thing: https://github.com/dlang/dmd/blob/master/src/posix.mak In fact, there is some experimental support for automatic conversion of Makefiles to Button's build description format using a fork of GNU Make itself: https://github.com/jasonwhite/button-make Finally, a few notes: - I was hoping to give a talk on this at DConf, but sadly my submission was turned down. :'( - I am aware of Reggae, another build system written in D. Although, I admit I haven't looked at it very closely. I am curious how it compares. - You might also be interested in the two other libraries I wrote specifically for this project: - https://github.com/jasonwhite/darg (A command-line parser) - https://github.com/jasonwhite/io (An IO streams library) Are you on Freenode (no nick to name right now)? I would like to talk to you about a few ideas relating to lua and D.
Re: Button: A fast, correct, and elegantly simple build system.
On Monday, 30 May 2016 at 19:16:50 UTC, Jason White wrote: I am pleased to finally announce the build system I've been slowly working on for over a year in my spare time: [...] [snip] Button: - https://github.com/jasonwhite/darg (A command-line parser) - https://github.com/jasonwhite/io (An IO streams library) That's great, sharing your D tools.
Re: Button: A fast, correct, and elegantly simple build system.
On Monday, 30 May 2016 at 20:58:51 UTC, poliklosio wrote: - Lua is the primary build description language. Why not D? Generating the JSON build description should entirely deterministic. With Lua, this can be guaranteed. You can create a sandbox where only certain operations are permitted. For example, reading files is permitted, but writing to them is not. I can also intercept all file reads and mark the files that get read as dependencies. It certainly could be done in D, or any other language for that matter. All that needs to be done is to write a program that can output the fundamental JSON build description.
Re: Button: A fast, correct, and elegantly simple build system.
On Monday, 30 May 2016 at 19:16:50 UTC, Jason White wrote: I am pleased to finally announce the build system I've been slowly working on for over a year in my spare time: Docs: http://jasonwhite.github.io/button/ Source: https://github.com/jasonwhite/button Great news! Love to see innovation in this area. - Lua is the primary build description language. Why not D?
Button: A fast, correct, and elegantly simple build system.
I am pleased to finally announce the build system I've been slowly working on for over a year in my spare time: Docs: http://jasonwhite.github.io/button/ Source: https://github.com/jasonwhite/button Features: - Correct incremental builds. - Automatic dependency detection (for any build task, even shell scripts). - Build graph visualization using GraphViz. - Language-independent. It can build anything. - Can automatically build when an input file is modified (using inotify). - Recursive: It can build the build description as part of the build. - Lua is the primary build description language. A ton of design work went into this. Over the past few years, I went through many different designs and architectures. I finally settled on this one about a year ago and then went to work on implementing it. I am very happy with how it turned out. Note that this is still a ways off from being production-ready. It needs some polishing. Feedback would be most appreciated (file some issues!). I really want to make this one of the best build systems out there. Here is an example build description for DMD: https://github.com/jasonwhite/dmd/blob/button/src/BUILD.lua I'd say that's a lot easier to read than this crusty thing: https://github.com/dlang/dmd/blob/master/src/posix.mak In fact, there is some experimental support for automatic conversion of Makefiles to Button's build description format using a fork of GNU Make itself: https://github.com/jasonwhite/button-make Finally, a few notes: - I was hoping to give a talk on this at DConf, but sadly my submission was turned down. :'( - I am aware of Reggae, another build system written in D. Although, I admit I haven't looked at it very closely. I am curious how it compares. - You might also be interested in the two other libraries I wrote specifically for this project: - https://github.com/jasonwhite/darg (A command-line parser) - https://github.com/jasonwhite/io (An IO streams library)
SQLite-D goes beta!
It is my pleasure to announce that I now consider SQLite-D to be in Beta stage. The reader is now stable enough to read all the test tables I have been given. The fact that it took around 20 minutes to complete index-tree support convinced mt that I have chosen a solid design. I have received the request to add examples and documentation to sqlite-d. And I will do so as time permits. This project will be boost licensed. So don't be shy :) https://github.com/UplinkCoder/sqlite-d
Re: A ready to use Vulkan triangle example for D
On Monday, 30 May 2016 at 11:30:24 UTC, Manuel König wrote: On Fri, 27 May 2016 18:40:24 +, maik klein wrote: [...] Nice, runs without errors for me. I have a triangle example project too, but weird stuff happens when I resize my window. I see your window has fixed size, maybe I have more luck adding window resizing to your example. Will tell you when I get it to work. Does anyone here have a working vulkan window with a resizable window? I think its more of an xcb issue than a vulkan issue in my code, because even when I do - create xcb window with dimensions (w1, h1) - resize it to dimensions (w2, h2) (no vulkan interaction yet) - create a vulkan surface from that window - render the rendered image still has the original size (w1, h1), and I loose my vulkan device when (w2, h2) deviates too much from the original size. You probably have to update a lot of code https://github.com/MaikKlein/VulkanTriangleD/blob/master/source/app.d Do a ctrl+f vkcontext.width and you will see all the code that needs to be updated.
Re: A ready to use Vulkan triangle example for D
On Fri, 27 May 2016 18:40:24 +, maik klein wrote: > https://github.com/MaikKlein/VulkanTriangleD > > Currently only Linux is supported but it should be fairly easy to > also add Windows support. Only the surface extensions have to be > changed. > > The example requires Vulkan ready hardware + driver + LunarG sdk > with validation layer + sdl2. Nice, runs without errors for me. I have a triangle example project too, but weird stuff happens when I resize my window. I see your window has fixed size, maybe I have more luck adding window resizing to your example. Will tell you when I get it to work. Does anyone here have a working vulkan window with a resizable window? I think its more of an xcb issue than a vulkan issue in my code, because even when I do - create xcb window with dimensions (w1, h1) - resize it to dimensions (w2, h2) (no vulkan interaction yet) - create a vulkan surface from that window - render the rendered image still has the original size (w1, h1), and I loose my vulkan device when (w2, h2) deviates too much from the original size.
Re: Beta D 2.071.1-b2
On Sunday, 29 May 2016 at 21:53:23 UTC, Martin Nowak wrote: Second beta for the 2.071.1 release. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.071.1.html Please report any bugs at https://issues.dlang.org I've merged it into LDC, CI testers are running!