The hsx package

[Tags:bsd3, deprecated, library, program]
Deprecated. in favor of hsx2hs

HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code. The trhsx preprocessor translates .hsx source files into ordinary .hs files. Literal XML syntax is translated into function calls for creating XML values of the appropriate forms. trhsx transforms literal XML syntax into a series of function calls. Any project can make use of the syntax by providing definitions for those functions, and the XML values produced will be of the types specified. This works for any types, since trhsx doesn't make any assumptions, or inserts any information depending on types. XMLGenerator defines a few typeclasses that together cover the functions injected by the preprocessor. A project that uses these classes to provide the semantics for the injected syntax will be able to use any functions written in terms of these, allowing better code reusability than if each project defines its own semantics for the XML syntax. Also, the classes makes it possible to use the literal syntax at different types within the same module. Achieving that is not as simple as it may seem, but the XMLGenerator module provides all the necessary machinery.

Properties

Versions 0.4, 0.4.4, 0.4.5, 0.4.6, 0.4.8, 0.5.0, 0.5.1, 0.5.2, 0.5.5, 0.5.6, 0.6.0, 0.6.1, 0.6.2, 0.7.0, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5
Dependencies base (>=3 && <5), haskell-src-exts (>=1.13), mtl, utf8-string [details]
License BSD3
Author Niklas Broberg, Joel Bjornson
Maintainer Niklas Broberg <niklas.broberg@gmail.com>
Stability Experimental
Category Language
Home page http://patch-tag.com/r/nibro/hsx
Source repository head: darcs get http://patch-tag.com/r/nibro/hsx
Uploaded Wed May 30 12:15:19 UTC 2012 by NiklasBroberg
Distributions Debian:0.10.4, NixOS:0.10.5
Downloads 4704 total (76 in the last 30 days)
Votes
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
base4EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees