Re: FancyPars
On Thursday, 2 July 2015 at 14:25:09 UTC, Stefan Koch wrote: I hope that it will be suitable to beginners. Sounds like you want to share this, but I can't find a licence. In case this turns out to be useful, we would need one :-) If you want I can prepare a PR for that, just let me know which licence to pick. Best, Bastiaan.
Re: Release D 2.068.1
Am Tue, 15 Sep 2015 08:39:41 + schrieb John Colvin: > On Monday, 14 September 2015 at 23:53:16 UTC, Martin Nowak wrote: > > On Monday, 14 September 2015 at 20:14:45 UTC, Jack Stouffer > > wrote: > >> On Monday, 14 September 2015 at 17:51:59 UTC, Martin Nowak > >> wrote: > >>> What platform are you on? > >> > >> I'm on OS X, using the homebrew version of DMD. And homebrew > >> is telling me that I have 2.068.1 installed > > > > Well I guess it's a bug in the homebrew script then. > > Nobody is setting the VERSION file and there is no git repo to > > query. > > https://github.com/Homebrew/homebrew/blob/f8b0ff3ef63e60a1da17ec8d8e68d949b1cebc27/Library/Formula/dmd.rb#L50 > > Where is the VERSION file documented? Why does it need manual > intervention only for patch releases and pre-releases? I noticed this as well. There are different VERSION files depending on where you download DMD source code from: The releases on GitHub have 2.068 while the releases on dlang.org have 2.068.1 in VERSION. That's easy to miss when you build from source. (Also the dlang.org downloads add to the DMD download statistics, which is why I use those even though they include extra binaries for all OSs.) -- Marco
reggae v0.5.0: new features in the D meta-build system
http://code.dlang.org/my_packages/reggae What's new: . API changes: main high-level rules are now called objectFiles, link, and scriptlike . Optional top-level targets: aren't built by default but can be built on request . Phony targets . staticLibrary rule that does what it says . unityBuild rule for C/C++ projects that builds a binary as one translation unit to speed up compilation . Support for writing build descriptions in Python, Ruby, Lua and JavaScript That last one might cause scratchy head syndrome. Why would I want to enable writing builds in a language other than D? Here's why: 1. Interpreting a build description is faster than compiling, linking and running it. Not a big deal since the build description isn't read often, but it's true 2. No confusion about when to use `enum` and when to use `alias`. Again, probably wasn't catching anybody unawares but also true 3. Not having to install a D compiler in order to generate builds - I ran into this issue at work the other day trying to use reggae on a weird VM with no root access 4. More importantly... to not limit reggae to only D developers There are quite a few build systems / tools out there in which different languages are used. Almost all of them are only used by developers of their language niche: Ruby/Rake, Python/SCons/Waf, Groovy/Java/Gradle, Haskell/Shake, etc. This is my attempt to make reggae appeal to a wider audience. I wanted to add a Lisp too but then I'd have to pick a dialect and an implemetation, only to annoy fans of other dialects. I might just do Emacs Lisp to annoy everyone equally! Also, for the lulz. Atila
Re: reggae v0.5.0: new features in the D meta-build system
This link should work for everyone: http://code.dlang.org/packages/reggae (I never tried reggae. Maybe I should, it looks good.) LMB On Wed, Sep 16, 2015 at 11:07 AM, Atila Neves via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote: > http://code.dlang.org/my_packages/reggae > > What's new: > . API changes: main high-level rules are now called objectFiles, link, and > scriptlike > . Optional top-level targets: aren't built by default but can be built on > request > . Phony targets > . staticLibrary rule that does what it says > . unityBuild rule for C/C++ projects that builds a binary as one > translation unit to speed up compilation > . Support for writing build descriptions in Python, Ruby, Lua and > JavaScript > > That last one might cause scratchy head syndrome. Why would I want to > enable writing builds in a language other than D? Here's why: > > 1. Interpreting a build description is faster than compiling, linking and > running it. Not a big deal since the build description isn't read often, > but it's true > 2. No confusion about when to use `enum` and when to use `alias`. Again, > probably wasn't catching anybody unawares but also true > 3. Not having to install a D compiler in order to generate builds - I ran > into this issue at work the other day trying to use reggae on a weird VM > with no root access > 4. More importantly... to not limit reggae to only D developers > > There are quite a few build systems / tools out there in which different > languages are used. Almost all of them are only used by developers of their > language niche: Ruby/Rake, Python/SCons/Waf, Groovy/Java/Gradle, > Haskell/Shake, etc. This is my attempt to make reggae appeal to a wider > audience. > > I wanted to add a Lisp too but then I'd have to pick a dialect and an > implemetation, only to annoy fans of other dialects. I might just do Emacs > Lisp to annoy everyone equally! Also, for the lulz. > > Atila >
Re: reggae v0.5.0: new features in the D meta-build system
Ruby link points to reggae-python.
LDC 0.16.0 alpha3 is out! Get it, test it, give feedback!
Hi everyone, LDC 0.16.0 alpha3, the LLVM-based D compiler, is available for download! This release is based on the 2.067.1 frontend and standard library and supports LLVM 3.1-3.7 (OS X: no support for 3.3). Don't miss to check if your preferred system is supported by this release. There is even an alpha-quality Win64 version available! As usual, you can find links to the changelog and the binary packages over at digitalmars.D.ldc: http://forum.dlang.org/post/numjnaginhfmocbqg...@forum.dlang.org Regards, Kai
Silicon Valley D Meetup September 2015
"Introducing ultraviolet-d, a web framework for REST-ful services" http://www.meetup.com/D-Lang-Silicon-Valley/events/224948581/ Ali
Re: Release D 2.068.1
On Tuesday, 15 September 2015 at 08:39:43 UTC, John Colvin wrote: Where is the VERSION file documented? Why does it need manual intervention only for patch releases and pre-releases? We should prolly remove the manually updated VERSION file. The other build scripts update the file or pass VERSION=bla to make.
Re: FancyPars
On Monday, 14 September 2015 at 08:50:48 UTC, Bastiaan Veelo wrote: Understanding the source of FancyPars is challenging because the core source, example vibe.d application source and supporting code, as well as generated lexer/parser code are all contained in the same directory and committed in the repository. Sorry about that. The Files that are really interesting are 1. fancy_grammar.d - contains helpers for working with the FancyParsGrammar Definition. 2. fancy_genPars.d - generates a function which parses the output form the generated lexer 3. fancy_genLex.d generates the lexer function. 4. fancy_genAST.d - generates the AST The syntax for the grammar definition is different from Pegged, and seems to be inspired by D. It supports a hierarchical structure. It looks powerful, but is undocumented. The example grammar looks like this: The Syntax is inspired by D and Pegged. It is going to be extend though and you should consider it unstable. I will document it as it becomes more stable. Its announced support for left-recursion is interesting, and I may decide to play a bit further with it. My objective would be to see if an Extended Pascal to D translating compiler would be feasible. TransCompilers are what fancyPars is written for. please show me a few examples of your pascal gramamr. might be in pegged or EBNF or something similar. So I can see if there are idioms I should integrate in fp. Thanks for the interest. -- Stefan (Uplink_Coder) Koch
Re: FancyPars
On Wednesday, 16 September 2015 at 20:17:15 UTC, Stefan Koch wrote: On Monday, 14 September 2015 at 08:50:48 UTC, Bastiaan Veelo wrote: Understanding the source of FancyPars is challenging because the core source, example vibe.d application source and supporting code, as well as generated lexer/parser code are all contained in the same directory and committed in the repository. Sorry about that. The Files that are really interesting are 1. fancy_grammar.d - contains helpers for working with the FancyParsGrammar Definition. 2. fancy_genPars.d - generates a function which parses the output form the generated lexer 3. fancy_genLex.d generates the lexer function. 4. fancy_genAST.d - generates the AST Thanks. At first I thought that fancy_[ast|token|lexer|parser|printer].d were generated files because their content is so similar to the code produced in the vibe application. But on closer look I think it is the other way around: that the example grammar in vibe describes its own input format, and that the similarity in the produced output to said files is an illustration that it works the way it should. Am I close? The Syntax is inspired by D and Pegged. It is going to be extend though and you should consider it unstable. I will document it as it becomes more stable. Wow that is great news! Not so abandoned after all :-) TransCompilers are what fancyPars is written for. please show me a few examples of your pascal gramamr. might be in pegged or EBNF or something similar. So I can see if there are idioms I should integrate in fp. Please have a look in https://www.dropbox.com/sh/k0ewq4dkz0q009v/AADq5V6j5lPBfBkmpwIpkMq8a?dl=0 p2d.d is my dance with Pegged, containing a subset of the Extended Pascal grammar. It was only after typing close to 400 lines of grammar that I discovered left-recursions, which are commented out. These put a spanner in the works, but before that I felt this could go somewhere: even comments are translated. There are many recursions in the complete grammar, for which you find the specification in the PDF. (This is the ANSI/IEEE standard; Extended Pascal became an ISO standard a year or so later, with identical text.) Note the alphabetical list of EBNF starting on page 129; the numbers in front refer to the corresponding section. Thanks for the interest. Thanks for finding the time for this. Bastiaan.
Re: More This Week in D!
On 09/14/2015 12:11 AM, Rikki Cattermole wrote: On 14/09/15 3:51 PM, Adam D. Ruppe wrote: This week, a tip about working around a bug with some quick philosophy about getting stuff done: http://arsdnet.net/this-week-in-d/sep-13.html Last week, new DMD, new LDC, and interview with Atila Neves! http://arsdnet.net/this-week-in-d/sep-06.html BTW, another thing I've been writing the last couple days is documentation and more cleanup to simpledisplay.d: http://arsdnet.net/arsd/simpledisplay.html If all goes well, I'll have this done for next week, not just useful for itself, but an example of my vision of what nice documentation would be like for any D library. I'm considering participating in the Bountysource Salt too. If I can raise enough money, I can spend a lot more time writing both D libraries and documentation. +1 for Bountysource Salt. Considering it too. FWIW David Rappo, Bountysource founder, contacted me and suggested we use Salt with the D Language Foundation as well. Looks interesting. -- Andrei