mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-12-11 07:00:49 +03:00
2e15d4f443
This greatly increases mutator productivity, and thus provides significant speedups on some examples. The tradeoff with larger nurseries is the potential for long GC pause times. This is probably acceptable tradeoff for a tool like Cryptol, despite the potential for unresponsiveness at the REPL.
259 lines
9.6 KiB
Plaintext
259 lines
9.6 KiB
Plaintext
Name: cryptol
|
|
Version: 2.4.0
|
|
Synopsis: Cryptol: The Language of Cryptography
|
|
Description: Cryptol is a domain-specific language for specifying cryptographic algorithms. A Cryptol implementation of an algorithm resembles its mathematical specification more closely than an implementation in a general purpose language. For more, see <http://www.cryptol.net/>.
|
|
License: BSD3
|
|
License-file: LICENSE
|
|
Author: Galois, Inc.
|
|
Maintainer: cryptol@galois.com
|
|
Homepage: http://www.cryptol.net/
|
|
Bug-reports: https://github.com/GaloisInc/cryptol/issues
|
|
Copyright: 2013-2016 Galois Inc.
|
|
Category: Language
|
|
Build-type: Simple
|
|
Cabal-version: >= 1.18
|
|
extra-source-files: bench/data/*.cry
|
|
|
|
data-files: *.cry Cryptol/*.cry
|
|
data-dir: lib
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/GaloisInc/cryptol.git
|
|
|
|
source-repository this
|
|
type: git
|
|
location: https://github.com/GaloisInc/cryptol.git
|
|
tag: 2.4.0
|
|
|
|
flag static
|
|
default: False
|
|
description: Create a statically-linked binary
|
|
|
|
flag relocatable
|
|
default: True
|
|
description: Don't use the Cabal-provided data directory for looking up Cryptol libraries. This is useful when the data directory can't be known ahead of time, like for a relocatable distribution.
|
|
|
|
flag server
|
|
default: False
|
|
description: Build with the ZeroMQ/JSON cryptol-server executable
|
|
|
|
library
|
|
Default-language:
|
|
Haskell98
|
|
Build-depends: base >= 4.8 && < 5,
|
|
base-compat >= 0.6,
|
|
bytestring >= 0.10,
|
|
array >= 0.4,
|
|
async >= 2.0,
|
|
containers >= 0.5,
|
|
deepseq >= 1.3,
|
|
directory >= 1.2.2.0,
|
|
filepath >= 1.3,
|
|
gitrev >= 1.0,
|
|
GraphSCC >= 1.0.4,
|
|
heredoc >= 0.2,
|
|
lrucache >= 1.2,
|
|
monad-control >= 1.0,
|
|
monadLib >= 3.7.2,
|
|
old-time >= 1.1,
|
|
presburger >= 1.3,
|
|
pretty >= 1.1,
|
|
process >= 1.2,
|
|
QuickCheck >= 2.7,
|
|
random >= 1.0.1,
|
|
sbv >= 5.12,
|
|
smtLib >= 1.0.7,
|
|
simple-smt >= 0.6.0,
|
|
syb >= 0.4,
|
|
text >= 1.1,
|
|
template-haskell,
|
|
tf-random >= 0.5,
|
|
transformers >= 0.3,
|
|
transformers-base >= 0.4,
|
|
utf8-string >= 0.3
|
|
|
|
Build-tools: alex, happy
|
|
hs-source-dirs: src
|
|
|
|
Exposed-modules: Cryptol.Prims.Syntax,
|
|
Cryptol.Prims.Eval,
|
|
|
|
Cryptol.Parser,
|
|
Cryptol.Parser.Lexer,
|
|
Cryptol.Parser.AST,
|
|
Cryptol.Parser.Position,
|
|
Cryptol.Parser.Names,
|
|
Cryptol.Parser.Name,
|
|
Cryptol.Parser.NoPat,
|
|
Cryptol.Parser.NoInclude,
|
|
Cryptol.Parser.Utils,
|
|
Cryptol.Parser.Unlit,
|
|
|
|
Cryptol.Utils.Ident,
|
|
Cryptol.Utils.PP,
|
|
Cryptol.Utils.Panic,
|
|
Cryptol.Utils.Debug,
|
|
Cryptol.Utils.Misc,
|
|
Cryptol.Version,
|
|
|
|
Cryptol.ModuleSystem,
|
|
Cryptol.ModuleSystem.Base,
|
|
Cryptol.ModuleSystem.Env,
|
|
Cryptol.ModuleSystem.Interface,
|
|
Cryptol.ModuleSystem.Monad,
|
|
Cryptol.ModuleSystem.Name,
|
|
Cryptol.ModuleSystem.NamingEnv,
|
|
Cryptol.ModuleSystem.Renamer,
|
|
|
|
Cryptol.TypeCheck,
|
|
Cryptol.TypeCheck.AST,
|
|
Cryptol.TypeCheck.Monad,
|
|
Cryptol.TypeCheck.Infer,
|
|
Cryptol.TypeCheck.InferTypes,
|
|
Cryptol.TypeCheck.Kind,
|
|
Cryptol.TypeCheck.Subst,
|
|
Cryptol.TypeCheck.Instantiate,
|
|
Cryptol.TypeCheck.Unify,
|
|
Cryptol.TypeCheck.Depends,
|
|
Cryptol.TypeCheck.PP,
|
|
Cryptol.TypeCheck.Solve,
|
|
Cryptol.TypeCheck.TypeMap,
|
|
Cryptol.TypeCheck.TypeOf,
|
|
Cryptol.TypeCheck.Sanity,
|
|
|
|
Cryptol.TypeCheck.Solver.InfNat,
|
|
Cryptol.TypeCheck.Solver.Class,
|
|
Cryptol.TypeCheck.Solver.Selector,
|
|
Cryptol.TypeCheck.Solver.Utils,
|
|
Cryptol.TypeCheck.Solver.Simplify,
|
|
|
|
Cryptol.TypeCheck.Solver.CrySAT,
|
|
Cryptol.TypeCheck.Solver.Numeric.AST,
|
|
Cryptol.TypeCheck.Solver.Numeric.ImportExport,
|
|
Cryptol.TypeCheck.Solver.Numeric.Defined,
|
|
Cryptol.TypeCheck.Solver.Numeric.Fin,
|
|
Cryptol.TypeCheck.Solver.Numeric.Interval,
|
|
Cryptol.TypeCheck.Solver.Numeric.Simplify,
|
|
Cryptol.TypeCheck.Solver.Numeric.Simplify1,
|
|
Cryptol.TypeCheck.Solver.Numeric.SimplifyExpr,
|
|
Cryptol.TypeCheck.Solver.Numeric.NonLin,
|
|
Cryptol.TypeCheck.Solver.Numeric.SMT,
|
|
|
|
Cryptol.Transform.MonoValues,
|
|
Cryptol.Transform.Specialize,
|
|
|
|
Cryptol.Eval,
|
|
Cryptol.Eval.Arch,
|
|
Cryptol.Eval.Env,
|
|
Cryptol.Eval.Monad,
|
|
Cryptol.Eval.Type,
|
|
Cryptol.Eval.Value,
|
|
|
|
Cryptol.Testing.Concrete,
|
|
Cryptol.Testing.Random,
|
|
|
|
Cryptol.Symbolic,
|
|
Cryptol.Symbolic.Prims,
|
|
Cryptol.Symbolic.Value,
|
|
|
|
Cryptol.REPL.Command,
|
|
Cryptol.REPL.Monad,
|
|
Cryptol.REPL.Trie
|
|
|
|
Other-modules: Cryptol.Parser.LexerUtils,
|
|
Cryptol.Parser.ParserUtils,
|
|
Cryptol.Prelude,
|
|
Paths_cryptol,
|
|
GitRev
|
|
|
|
GHC-options: -Wall -O2 -fsimpl-tick-factor=140
|
|
if impl(ghc >= 8.0.1)
|
|
ghc-options: -Wno-redundant-constraints
|
|
ghc-prof-options: -fprof-auto
|
|
|
|
if flag(relocatable)
|
|
cpp-options: -DRELOCATABLE
|
|
|
|
executable cryptol
|
|
Default-language:
|
|
Haskell98
|
|
Main-is: Main.hs
|
|
hs-source-dirs: cryptol
|
|
Other-modules: OptParser,
|
|
REPL.Haskeline,
|
|
REPL.Logo,
|
|
Paths_cryptol
|
|
build-depends: ansi-terminal
|
|
, base
|
|
, base-compat
|
|
, containers
|
|
, cryptol
|
|
, deepseq
|
|
, directory
|
|
, filepath
|
|
, haskeline
|
|
, monadLib
|
|
, monad-control
|
|
, process
|
|
, random
|
|
, sbv
|
|
, tf-random
|
|
, transformers
|
|
GHC-options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N1 -A64m"
|
|
if impl(ghc >= 8.0.1)
|
|
ghc-options: -Wno-redundant-constraints
|
|
ghc-prof-options: -auto-all -rtsopts
|
|
|
|
if os(linux) && flag(static)
|
|
ld-options: -static -pthread
|
|
|
|
executable cryptol-server
|
|
main-is: Main.hs
|
|
hs-source-dirs: cryptol-server
|
|
other-modules: Cryptol.Aeson
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
GHC-options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N1 -A64m"
|
|
if impl(ghc >= 8.0.1)
|
|
ghc-options: -Wno-redundant-constraints
|
|
ghc-prof-options: -auto-all -rtsopts
|
|
if os(linux) && flag(static)
|
|
ld-options: -static -pthread
|
|
if flag(server)
|
|
build-depends: aeson >= 0.10
|
|
, aeson-pretty >= 0.7
|
|
, base
|
|
, base-compat
|
|
, bytestring >= 0.10
|
|
, containers
|
|
, cryptol
|
|
, filepath
|
|
, monad-control
|
|
, optparse-applicative >= 0.12
|
|
, text
|
|
, transformers
|
|
, unix
|
|
, unordered-containers >= 0.2
|
|
, zeromq4-haskell >= 0.6
|
|
else
|
|
buildable: False
|
|
|
|
benchmark cryptol-bench
|
|
type: exitcode-stdio-1.0
|
|
main-is: Main.hs
|
|
hs-source-dirs: bench
|
|
default-language: Haskell2010
|
|
GHC-options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N1 -A64m"
|
|
if impl(ghc >= 8.0.1)
|
|
ghc-options: -Wno-redundant-constraints
|
|
ghc-prof-options: -auto-all -rtsopts
|
|
if os(linux) && flag(static)
|
|
ld-options: -static -pthread
|
|
build-depends: base
|
|
, criterion
|
|
, cryptol
|
|
, deepseq
|
|
, sbv
|
|
, text
|