packages feed

hsx-0.4: hsx.cabal

Name:                   hsx
Version:                0.4
License:                BSD3
License-File:           LICENSE
Author:                 Niklas Broberg, Joel Björnson
Maintainer:             Niklas Broberg <nibro@cs.chalmers.se>

Stability:              Experimental
Category:               Language
Synopsis:               HSX (Haskell Source with XML) allows literal XML syntax to be used in Haskell source code.
Description:            HSX (Haskell Source with XML) allows literal XML syntax to be used 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.
			
Homepage:               http://code.google.com/hsp

Build-Depends:          base>3, mtl, haskell-src-exts>=0.3.2
Build-Type:             Simple
Tested-With:            GHC==6.8.3

Exposed-Modules:        HSX.XMLGenerator

GHC-Options:            -Wall
Extensions:             MultiParamTypeClasses,
                        FunctionalDependencies,
                        OverlappingInstances,
                        UndecidableInstances,
                        FlexibleInstances,
                        GeneralizedNewtypeDeriving,
                        TypeFamilies,
                        TypeSynonymInstances,
                        FlexibleContexts

Executable:             trhsx
Main-Is:                Trhsx.hs