SDLang-D v0.8.1 - Initial release of SDL (Simple Declarative Language) for D

Sönke Ludwig sludwig at outerproduct.org
Thu Feb 28 10:41:01 PST 2013


Am 28.02.2013 09:02, schrieb Nick Sabalausky:
> SDLang-D is an SDL (Simple Declarative Language) library for D.
> 
> SDLang-D:
> https://github.com/Abscissa/SDLang-D
> 
> Original SDL:
> http://sdl.ikayzo.org/display/SDL/Language+Guide
> 
> SDL is similar to JSON or XML, except it's:
> * Less verbose
> * Type-aware
> 
> This is what SDL looks like (some of these examples, and more, are from
> the SDL site):
> 
>     first "Joe"
>     last "Coder"
> 
>     numbers 12 53 2 635
>     names "Sally" "Frank N. Stein"
>     pets chihuahua="small" dalmation="hyper" mastiff="big"
> 
>     mixed 34.7f "Tim" somedate=2010/08/14
> 
>     myNamespace:person name="Joe Coder" {
>         age 36
>     }
> 
> Differences from original Java implementation:
> 
> * API is completely redesigned for D.
> 
> * License is zlib/libpng, not LGPL. (No source from the Java or
>   Ruby implementations was used or looked at.)
> 
> * Anonymous tags are named "" (ie, empty string) not "content". Not
>   sure yet whether or not this will change in the future.
> 
> * Dates with unknown or invalid time zones use a special type
>   indicating "unknown time zone" (DateTimeFracUnknownZone) instead of
>   assuming GMT.
> 
> Still TODO (in no order):
> 
> * Major improvements to API for Tags.
> 
> * Ability to write SDL output, not just read it.
> 
> * Make sure that all forms of newlines are handled correctly.
>   (Unix-style '\n' definitely works right. Not certian about Win-style
>   '\r\n', Mac9-style '\r' or special Unicode newlines.)
> 
> * Make this a DUB package.
> 
> * Improve docs.
> 
> More information about the SDL language itself is here:
> http://sdl.ikayzo.org/display/SDL/Language+Guide
> 
> D implementation's homepage and readme:
> https://github.com/Abscissa/SDLang-D
> 
> API reference:
> http://semitwist.com/sdlang-d-api
> 

Great thing! Looking forward to the output capability. The next data DSL
I'll do will definitely be in terms of SDL.

WRT DUB, this package.json should work as the bare minimum:
{
	"name": "sdlang-d",
	"sourcePaths": ["src"],
	"importPaths": ["src"]
}

The "sourcePaths" and "importPaths" will not be necessary in the future,
though. They should be inferred from the directory structure for the
special cases "source" and "src", but currently are only for "source".


More information about the Digitalmars-d-announce mailing list