packages feed

PCLT-0.1: PCLT.cabal

Name: PCLT
Synopsis: Extension to Show: templating, catalogizing, languages, parameters, etc.
Description:
        \"PCLT\" is an abbreviation for \"Parametric Composable Localizable 
        Templates\" - in fact it should also hold Detalizable. 
        Term \"Detailizable content (message)\" in this package 
        has a following meaning: some content, representing which 
        it is possible to regulate, in how much details it is represented.
        .
        Conceptually, this package is a powerful extension to the well known 
        Show class, that (extension) is thought to be embeded in any 
        Haskell program, which requires multilanguage support, and/or where 
        messages should be detailizable. 
        .
        The PCLT catalog consists of:
        .
        * Catalog ID
        .
        * Config, which defines rules and constraints, 
        that are used when catalog gets formed, and when it is used 
        to generate messages.
        .
        * Tempates of messages, possibly related. Each catalog entry 
        is referenced by an ID, and is called \"localizable (in languages) 
        template\", while it's localization in concrete language is called
        \"localized (in a languages) template\". 
        .
        Each catalog entry (localizable template) consists of 
        .
        * ID
        .
        * A requirement to detailization level (to used by reciever of 
        representation), which if is not statisfied, the template 
        isn't used. 
        .
        * A map of localized templates by languages - the different 
        translations of one same message. 
        .
        Each localized template is a sequence of chunks: 
        .
        * plain texts, 
        .
        * named parameters placeholders, 
        .
        * placeholders for insertion of other template (reference on 
        other template, also called composites). 
        .
        To make a message one needs to specify 
        .
        * a catalog, 
        .
        * a language, 
        .
        * detailization level to orient on
        .
        * a localizable template ID, 
        .
        * a map of parameters together with their values. 
        .
        The last two fields (localizable template ID + a map of parameters 
        together with their values) is called instaniation (of 
        templated message). In the program it wrapped in a PCSI data type.
        .
        A parameter value may be 
        .
        * plain text 
        .
        * newline 
        .
        * nothing
        .
        * a reference to other instaniation (localizable template ID + 
        a map of parameters together with their values)
        .
        * a list of other other instaniation
        .
        * a parameter wrapping, where wrapper is an indentation of text 
        (N whitespaces insertion after each newline character)
        .
        * a list of parameter values.
        .
        This package comes together with another one - a dependent package 
        PCLT-DB (section Database), which provides 
        .
        * a (PostgreSQL 8.4) DB structure where to keep/manage data 
        used for PCLT catalogs formation, 
        .
        * simple interface to read this data in haskell program, and
        .
        * a prototype of a longterm service which regularly updates 
        catalog MVar with data from DB.
        .
        IMPORTANT!!! : It is highly recommended to use /ISO 639(3)/ standard 
        for language names, since PCLT-DB package is oriented on 3 letters 
        (not bigger) language names. Without modifications PCLT-DB won't 
        work for bigger (then 3-letters) names.
        .
        ToDo considerations for the next versions:
        .
        (0) Consider using state monad in order to put catalog into 
        an implicit context... and maybe also other uses if monads.
        .
        (1) Rewrite MakeCatalog, so that it uses CatalogMaths functions. 
        Otherwise the both modules do similar work, and keeping double 
        code is a bad style.
        .
        (2) Introduction of a new parameter value type: \"reparsable\" 
        wrapping for parameter value.
        .
        (3) CatalogMaths extension.
        .
        (4) Enchance required SDLs with min & max functions.
        .
        (5) Sacrificing ldtSubcompositesMap of LocalizedTemplate, 
        which initially was introduced to enchance speed of messages 
        generation, in favor of making catalogs easier to modify 
        (which curently isn't supported and isn't an easy task).
Version: 0.1
Copyright: Copyright (c) 2009 Andrejs Sisojevs
License: LGPL
License-File: COPYRIGHT
Author: Andrejs Sisojevs <andrejs.sisojevs@nextmail.ru>
Maintainer: Andrejs Sisojevs <andrejs.sisojevs@nextmail.ru>
Stability: alpha
Homepage: http://github.com/Andrey-Sisoyev/PCLT
Category: Text
Tested-With: GHC == 6.10.4
Cabal-Version: >= 1.6
Build-Type: Simple

Extra-Source-Files:
    COPYRIGHT
    COPYING
    doinst.sh
    models/PCLT.BriefModulesStructure.odg
    models/PCLT.BriefModulesStructure.odg.png
    initial_data/PCLT.PCLTCatalog.ods
    examples/HelloWorld/HelloWorld.hs
    examples/HelloWorld/HelloWorld.NoPCLT.hs
    examples/HelloWorld/HelloWorld.PCLTCatalog.ods 
Library
    Build-Depends:
        base >= 4 && < 5, bytestring, containers, mtl, utf8-string 
    Exposed-Modules:
        Data.ByteString.Lazy.UTF8.Unified
        Text.ConstraintedLBS
        Text.PCLT
        Text.PCLT.Parser.AdvancedSepBy
        Text.PCLT.CommonTypes
        Text.PCLT.Catalog
        Text.PCLT.Catalog__
        Text.PCLT.CatalogMaths
        Text.PCLT.CatalogMaths__
        Text.PCLT.Config
        Text.PCLT.HasStaticRawPCLTs
        Text.PCLT.InitialDefaultCatalog
        Text.PCLT.MakeCatalog
        Text.PCLT.MakeCatalog__
        Text.PCLT.MakeMessage
        Text.PCLT.MakeMessage2
        Text.PCLT.MakeMessage__
        Text.PCLT.SDL
        Text.PCLT.SDL__
        Text.PCLT.PCSI
        Text.PCLT.ShowAsPCSI
        Text.PCLT.ShowAsPCSI__
        Text.PCLT.Template
        Text.PCLT.Template__
        Text.PCLT.CatalogFromHSRT
        Text.PCLT.CatalogFromHSRT__
        Text.PCLT.SH__
    Other-Modules:
        Data.MyHelpers
        Text.PCLT.Parser.ParserInternals
    Extensions:
        BangPatterns, UnboxedTuples, DeriveDataTypeable, ScopedTypeVariables
    ghc-options:
        -funbox-strict-fields