Re: FancyPars

2015-09-16 Thread Bastiaan Veelo via Digitalmars-d-announce

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

2015-09-16 Thread Marco Leise via Digitalmars-d-announce
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

2015-09-16 Thread Atila Neves via Digitalmars-d-announce

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

2015-09-16 Thread Leandro Motta Barros via Digitalmars-d-announce
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

2015-09-16 Thread Kagamin via Digitalmars-d-announce

Ruby link points to reggae-python.


LDC 0.16.0 alpha3 is out! Get it, test it, give feedback!

2015-09-16 Thread Kai Nacke via Digitalmars-d-announce

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

2015-09-16 Thread Ali Çehreli via Digitalmars-d-announce

"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

2015-09-16 Thread Martin Nowak via Digitalmars-d-announce

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

2015-09-16 Thread Stefan Koch via Digitalmars-d-announce
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

2015-09-16 Thread Bastiaan Veelo via Digitalmars-d-announce
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!

2015-09-16 Thread Andrei Alexandrescu via Digitalmars-d-announce

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