2015-07-27 12:00:41 +03:00
|
|
|
-- -*- Mode: Haskell-Cabal; -*-
|
|
|
|
--
|
2015-08-01 19:24:45 +03:00
|
|
|
-- Cabal config for Megaparsec.
|
2015-07-27 12:00:41 +03:00
|
|
|
--
|
2015-08-01 19:24:45 +03:00
|
|
|
-- Copyright © 2015 Megaparsec contributors
|
2015-07-27 12:00:41 +03:00
|
|
|
--
|
|
|
|
-- Redistribution and use in source and binary forms, with or without
|
|
|
|
-- modification, are permitted provided that the following conditions are
|
|
|
|
-- met:
|
|
|
|
--
|
|
|
|
-- * Redistributions of source code must retain the above copyright notice,
|
|
|
|
-- this list of conditions and the following disclaimer.
|
|
|
|
--
|
|
|
|
-- * Redistributions in binary form must reproduce the above copyright
|
|
|
|
-- notice, this list of conditions and the following disclaimer in the
|
|
|
|
-- documentation and/or other materials provided with the distribution.
|
|
|
|
--
|
|
|
|
-- This software is provided by the copyright holders "as is" and any
|
|
|
|
-- express or implied warranties, including, but not limited to, the implied
|
|
|
|
-- warranties of merchantability and fitness for a particular purpose are
|
|
|
|
-- disclaimed. In no event shall the copyright holders be liable for any
|
|
|
|
-- direct, indirect, incidental, special, exemplary, or consequential
|
|
|
|
-- damages (including, but not limited to, procurement of substitute goods
|
|
|
|
-- or services; loss of use, data, or profits; or business interruption)
|
|
|
|
-- however caused and on any theory of liability, whether in contract,
|
|
|
|
-- strict liability, or tort (including negligence or otherwise) arising in
|
|
|
|
-- any way out of the use of this software, even if advised of the
|
|
|
|
-- possibility of such damage.
|
|
|
|
|
2015-07-28 16:32:19 +03:00
|
|
|
name: megaparsec
|
|
|
|
version: 4.0.0
|
2015-07-29 11:38:32 +03:00
|
|
|
cabal-version: >= 1.10
|
2015-07-27 12:00:41 +03:00
|
|
|
license: BSD3
|
|
|
|
license-file: LICENSE.md
|
2015-08-01 19:24:45 +03:00
|
|
|
author: Megaparsec contributors,
|
2015-07-29 11:38:32 +03:00
|
|
|
Paolo Martini <paolo@nemail.it>,
|
2015-07-31 14:44:27 +03:00
|
|
|
Daan Leijen <daan@microsoft.com>
|
|
|
|
|
2015-07-27 12:00:41 +03:00
|
|
|
maintainer: Mark Karpov <markkarpov@opmbx.org>
|
|
|
|
homepage: https://github.com/mrkkrp/megaparsec
|
|
|
|
bug-reports: https://github.com/mrkkrp/megaparsec/issues
|
|
|
|
category: Parsing
|
|
|
|
synopsis: Monadic parser combinators
|
|
|
|
build-type: Simple
|
2008-01-13 20:53:15 +03:00
|
|
|
description:
|
2008-03-06 08:02:48 +03:00
|
|
|
|
2015-08-17 23:15:35 +03:00
|
|
|
This is industrial-strength monadic parser combinator library. Megaparsec is
|
|
|
|
a fork of Parsec library originally written by Daan Leijen.
|
|
|
|
.
|
|
|
|
Megaparsec is different from Parsec in the following ways:
|
|
|
|
.
|
|
|
|
* Better error messages. We test our error messages using dense QuickCheck
|
|
|
|
tests. Good error messages are just as important for us as correct return
|
|
|
|
values of our parsers. Megaparsec will be especially useful if you write
|
|
|
|
compiler or interpreter for some language.
|
|
|
|
.
|
|
|
|
* Some quirks and “buggy features” (as well as plain bugs) of original
|
|
|
|
Parsec are fixed. There is no undocumented surprising stuff in Megaparsec.
|
|
|
|
.
|
|
|
|
* Better support for Unicode parsing in "Text.Megaparsec.Char".
|
|
|
|
.
|
|
|
|
* Megaparsec has more powerful combinators and can parse languages where
|
|
|
|
indentation matters.
|
|
|
|
.
|
|
|
|
* Comprehensive QuickCheck test suite covering nearly 100% of our code.
|
|
|
|
.
|
|
|
|
* We have benchmarks to detect performance regressions.
|
|
|
|
.
|
|
|
|
* Better documentation, with 100% of functions covered, without typos and
|
|
|
|
obsolete information, with working examples. Megaparsec's documentation is
|
|
|
|
well-structured and doesn't contain things useless to end user.
|
|
|
|
.
|
|
|
|
* Megaparsec's code is clearer and doesn't contain “magic” found in original
|
|
|
|
Parsec (just look at how Parsec generate error-messages, you can find more
|
|
|
|
in [issue #14](https://github.com/mrkkrp/megaparsec/issues/14) of
|
|
|
|
Megaparsec, this is just one example).
|
|
|
|
.
|
|
|
|
* Megaparsec looks into the future, it does not contain code that serves for
|
|
|
|
compatibility purposes, it also requires more recent version of `base`.
|
2011-01-29 18:59:20 +03:00
|
|
|
|
2015-07-27 12:00:41 +03:00
|
|
|
extra-source-files: AUTHORS.md, CHANGELOG.md
|
2014-07-23 05:58:55 +04:00
|
|
|
|
2015-07-27 12:00:41 +03:00
|
|
|
library
|
2015-07-28 16:32:19 +03:00
|
|
|
build-depends: base >= 4.8 && < 5
|
2015-07-27 12:00:41 +03:00
|
|
|
, mtl
|
|
|
|
, bytestring
|
|
|
|
, text >= 0.2 && < 1.3
|
2015-07-29 11:38:32 +03:00
|
|
|
default-extensions:
|
|
|
|
DeriveDataTypeable
|
|
|
|
, ExistentialQuantification
|
2015-07-27 12:00:41 +03:00
|
|
|
, FlexibleContexts
|
2015-07-29 11:38:32 +03:00
|
|
|
, FlexibleInstances
|
|
|
|
, FunctionalDependencies
|
2015-08-19 20:42:02 +03:00
|
|
|
, GeneralizedNewtypeDeriving
|
2015-07-29 11:38:32 +03:00
|
|
|
, MultiParamTypeClasses
|
|
|
|
, PolymorphicComponents
|
|
|
|
, UndecidableInstances
|
2015-08-01 19:24:45 +03:00
|
|
|
exposed-modules: Text.Megaparsec
|
|
|
|
, Text.Megaparsec.ByteString
|
|
|
|
, Text.Megaparsec.ByteString.Lazy
|
|
|
|
, Text.Megaparsec.Char
|
|
|
|
, Text.Megaparsec.Combinator
|
2015-08-06 13:37:08 +03:00
|
|
|
, Text.Megaparsec.Error
|
2015-08-01 19:24:45 +03:00
|
|
|
, Text.Megaparsec.Expr
|
|
|
|
, Text.Megaparsec.Language
|
|
|
|
, Text.Megaparsec.Perm
|
2015-08-06 13:37:08 +03:00
|
|
|
, Text.Megaparsec.Pos
|
|
|
|
, Text.Megaparsec.Prim
|
|
|
|
, Text.Megaparsec.ShowToken
|
|
|
|
, Text.Megaparsec.String
|
|
|
|
, Text.Megaparsec.Text
|
|
|
|
, Text.Megaparsec.Text.Lazy
|
|
|
|
, Text.Megaparsec.Token
|
2015-07-29 11:38:32 +03:00
|
|
|
ghc-options: -O2 -Wall
|
|
|
|
default-language: Haskell2010
|
2015-03-22 04:42:33 +03:00
|
|
|
|
2015-08-03 10:23:52 +03:00
|
|
|
test-suite old-tests
|
2015-07-29 11:38:32 +03:00
|
|
|
main-is: Main.hs
|
2015-08-03 10:23:52 +03:00
|
|
|
hs-source-dirs: old-tests
|
2015-07-29 11:38:32 +03:00
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
other-modules: Bugs
|
2015-07-27 12:00:41 +03:00
|
|
|
, Bugs.Bug2
|
|
|
|
, Bugs.Bug6
|
|
|
|
, Bugs.Bug9
|
|
|
|
, Util
|
2015-07-31 17:06:07 +03:00
|
|
|
build-depends: base >= 4.8 && < 5
|
2015-07-28 16:32:19 +03:00
|
|
|
, megaparsec >= 4.0.0
|
2015-07-27 12:00:41 +03:00
|
|
|
, HUnit == 1.2.*
|
2015-07-31 15:59:26 +03:00
|
|
|
, test-framework >= 0.6 && < 1
|
|
|
|
, test-framework-hunit >= 0.2 && < 0.4
|
2015-07-29 11:38:32 +03:00
|
|
|
ghc-options: -O2 -Wall
|
|
|
|
default-language: Haskell2010
|
2015-07-27 12:00:41 +03:00
|
|
|
|
2015-07-31 15:59:26 +03:00
|
|
|
test-suite tests
|
|
|
|
main-is: Main.hs
|
|
|
|
hs-source-dirs: tests
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
ghc-options: -O2 -Wall -rtsopts
|
2015-07-31 17:06:07 +03:00
|
|
|
build-depends: base >= 4.8 && < 5
|
2015-07-31 15:59:26 +03:00
|
|
|
, megaparsec >= 4.0.0
|
|
|
|
, QuickCheck >= 2.4 && < 3
|
|
|
|
, test-framework >= 0.6 && < 1
|
|
|
|
, test-framework-quickcheck2 >= 0.3 && < 0.4
|
2015-08-20 14:12:44 +03:00
|
|
|
default-extensions:
|
|
|
|
FlexibleInstances
|
2015-07-31 17:12:56 +03:00
|
|
|
default-language: Haskell2010
|
|
|
|
|
|
|
|
benchmark benchmarks
|
|
|
|
main-is: Main.hs
|
|
|
|
hs-source-dirs: benchmarks
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
ghc-options: -O2 -Wall -rtsopts
|
|
|
|
build-depends: base >= 4.8 && < 5
|
|
|
|
, megaparsec >= 4.0.0
|
|
|
|
, criterion >= 0.6.2.1 && < 1.2
|
|
|
|
default-language: Haskell2010
|
2015-07-31 15:59:26 +03:00
|
|
|
|
2015-07-27 12:00:41 +03:00
|
|
|
source-repository head
|
2015-07-29 11:38:32 +03:00
|
|
|
type: git
|
|
|
|
location: https://github.com/mrkkrp/megaparsec.git
|