Blob Blame History Raw
name:                rfc5051
version:             0.1.0.3
synopsis:            Simple unicode collation as per RFC5051.
description:
  This library implements @i;unicode-casemap@,
  the simple, non locale-sensitive unicode collation
  algorithm described in RFC 5051 (<http://www.rfc-editor.org/rfc/rfc5051.txt>).
  Proper unicode collation can be done using text-icu, but that is a big
  dependency that depends on a large C library, and rfc5051 might be better
  for some purposes.
  .
  Here is a list of strings sorted by the Prelude's @sort@ function:
  .
  @Abe Oeb abe ab&#233; oeb &#193;be &#196;be &#212;eb &#225;be &#228;be &#244;eb@
  .
  Here is the same list sorted by @sortBy compareUnicode@:
  .
  @Abe abe ab&#233; &#193;be &#225;be &#196;be &#228;be Oeb oeb &#212;eb &#244;eb@

license:             BSD3
license-file:        LICENSE
author:              John MacFarlane
maintainer:          jgm@berkeley.edu
copyright:           (C) 2013 John MacFarlane
category:            Text
build-type:          Simple
cabal-version:       >=1.8
extra-source-files:  UnicodeData.txt
Source-repository head
  type:          git
  location:      git://github.com/jgm/rfc5051.git

flag MkUnicodeData
  default:           False
  description:       Build MkUnicodeData (code generator for Data/RFC5051/UnicodeData)

library
  exposed-modules:   Data.RFC5051
  build-depends:     base >= 4.2 && < 5,
                     containers >= 0.4 && < 0.6,
                     bytestring >= 0.9 && < 0.11
  other-modules:     Data.RFC5051.UnicodeData
                     Data.RFC5051.Types

executable MkUnicodeData
  main-is:           MkUnicodeData.hs
  build-depends:     base >= 4.2 && < 5,
                     containers >= 0.4 && < 0.6,
                     bytestring >= 0.9 && < 0.11
  other-modules:     Data.RFC5051.Types
  if flag(MkUnicodeData)
    buildable:       True
  else
    buildable:       False