simple sax-style xml parser

2016-07-19 Thread ketmar via Digitalmars-d-announce
i wrote a simple sax-style xml parser[1][2] for my own needs, and 
decided to share it. it has two interfaces: `xmparse()` function 
which simply calls callbacks without any validation or encoding 
conversion, and `SaxyEx` class, which does some validation, 
converts content to utf-8 (from anything std.encoding supports), 
and calls callbacks when the given path is triggered.


it can parse any `char` input range, or std.stdio.File. parsing 
files is probably slightly faster than parsing ranges.


internally it is extensively reusing memory buffers it allocated, 
so it should not create a big pressure on GC.


you are expected to copy any data you need in callbacks (not just 
slice, but .dup!).


so far i'm using it to parse fb2 files, and it parsing 8.5 
megabyte utf-8 file (and creating internal reader structures, 
including splitting text to words and some other housekeeping) in 
one second on my i3 (with dmd -O, even without -inline and 
-release).


it is not really documented, but i think it is "intuitive". there 
are also some comments in source code; please, read those! ;-)


p.s. it decodes standard xml entities (

Re: Autotesting dub packages with dmd nightly

2016-07-19 Thread vladdeSV via Digitalmars-d-announce

On Saturday, 16 July 2016 at 20:34:49 UTC, Sebastiaan Koppe wrote:
Just to let you guys know - and to be sure no one is doing the 
same - I decided to go ahead and *start* writing an autotester 
that will fetch dmd nightly and unittest each dub package.


It will be using a classic master-worker architecture and will 
leverage docker containers.


I am aiming really low at first, but will eventually add things 
like memory usage, history, notifications, etc.


Nice :)


Re: Battle-plan for CTFE

2016-07-19 Thread Stefan Koch via Digitalmars-d-announce

On Sunday, 17 July 2016 at 16:43:18 UTC, Rory McGuire wrote:


Nice, so I'll be able to see separate improvements in my CTFE 
stuff vs the pegged template stuff once structs,  classes, 
etc.. are handled in your new ctfe.


Yes.
Btw while working on printing template-instantiations I 
discovered that ctfe improvements will most likely have a much 
higher impact in template heavy code then I fist expected.


Re: new cpuid is ready for comments

2016-07-19 Thread Guillaume Chatelet via Digitalmars-d-announce

On Monday, 11 July 2016 at 16:30:44 UTC, Ilya Yaroshenko wrote:

Hello :-)

`cpuid` package is core.cpuid analog.
It would be used by future D BLAS implementation.

Why it is better?
See
https://github.com/libmir/cpuid#api-features
https://github.com/libmir/cpuid#implementation-features
https://issues.dlang.org/show_bug.cgi?id=16028

Please report your CPU (GitHub/Gist):

```
dub fetch cpuid
dub test cpuid
```
... AMD was not tested at all and I hope to see your reports.

ARM contributors are wanted!

Destroy!

Best regards,
Ilya


Docs: http://docs.cpuid.dlang.io
GitHub: https://github.com/libmir/cpuid
Dub: cpuid


Also: Intel(R) Atom(TM) CPU 230 @ 1.60GHz
https://gist.github.com/gchatelet/d3d347e4630ec2567eae7fe0391a9316


Re: Calypso: Direct and full interfacing to C++

2016-07-19 Thread Kagamin via Digitalmars-d-announce
Aren't objects rarely passed by value? What's more interesting is 
how return by value is supported as it happens often:

1. return by value from D callee
2. receive an object returned by value and assign to a new 
variable
3. receive an object returned by value an assign it to an 
existing variable

Is ABI for these implemented?


Re: Calypso: Direct and full interfacing to C++

2016-07-19 Thread Elvis Zhou via Digitalmars-d-announce

Any update ?
Hope things are going well!