packages feed

funcons-tools-0.1.0.0: funcons-tools.cabal

-- Initial funcons.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                funcons-tools
version:             0.1.0.0
synopsis:            A modular interpreter for executing funcons
description:
    The PLanCompS project has developed a component-based approach to formal semantics.
    The semantics of a language is defined by translating its constructs to combinations
    of `fundamental constructs' called /funcons/.
    .
    Read more about the project here: <http://plancomps.org>.
    Read more about funcons and their specification in CBS here: <http://plancomps.dreamhosters.com/taosd2015/ TAOSD2015>.
    .
    This package provides a collection of highly reusable funcons in "Funcons.Core",
    an interpreter for these funcons and means for defining new funcons.
    .
    The executable provided by this package is an interpreter for running terms
    constructed from the collection of funcons provided by "Funcons.Core".
    How this executable is used is explained in "Funcons.Tools". 
    .
    Additional funcons can be defined with the helper functions provided by 
    "Funcons.EDSL". The module "Funcons.Tools" provides functions for creating 
    executables by extending the main interpreter with additional funcons.
    .
    Please contact any of the maintainers when unexpected behaviour is encountered 
    or exports appear to be missing.

homepage:            http://plancomps.org
license:             MIT
license-file:        LICENSE
author:              L. Thomas van Binsbergen and Neil Sculthorpe
maintainer:          L. Thomas van Binsbergen <ltvanbinsbergen@acm.org>
copyright:           Copyright (C) 2015 L. Thomas van Binsbergen and Neil Sculthorpe
category:            Compilers/Interpreters
build-type:          Simple
stability:           experimental
-- extra-source-files:
cabal-version:       >=1.10

library
  exposed-modules:      Funcons.EDSL, Funcons.Tools, Funcons.Core
  build-depends:       base >=4.3 && <4.9, text, containers, vector, bv, parsec, multiset, split, directory, mtl >= 2.0
  hs-source-dirs:      src, cbs, manual
  default-language:    Haskell2010
  other-extensions:    OverloadedStrings
  ghc-options:         -fwarn-incomplete-patterns -fwarn-monomorphism-restriction -fwarn-unused-imports
  other-modules:       Funcons.MSOS, Funcons.Parser, Funcons.Lexer, Funcons.Substitution, Funcons.Patterns, Funcons.Entities, Funcons.Simulation, Funcons.RunOptions, Funcons.Exceptions, Funcons.Types, Funcons.Core.Library, Funcons.Printer,
           Funcons.Core.Computations.ControlFlow.Normal.Sequencing.LeftToRight,
           Funcons.Core.Computations.ControlFlow.Normal.Sequencing.Atomic,
           Funcons.Core.Computations.ControlFlow.Normal.Sequencing.Sequential,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.MappingCollections.VectorMap,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.MappingCollections.SetMap,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.MappingCollections.ListMap,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.MappingCollections.TupleMap,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.MappingCollections.MapMap,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.MappingCollections.ListsMap,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.FilteringCollections.MultisetFilter,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.FilteringCollections.SetFilter,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.FilteringCollections.MapFilter,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.FilteringCollections.ListFilter,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.ReducingCollections.ListFoldl,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Definite.ReducingCollections.ListFoldr,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Indefinite.While,
           Funcons.Core.Computations.ControlFlow.Normal.Iterating.Indefinite.DoWhile,
           Funcons.Core.Computations.ControlFlow.Normal.Choosing.IfThenElse,
           Funcons.Core.Computations.ControlFlow.Abnormal.Stuck,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Control,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Hole,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.CallCc,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Abort,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Shift,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Prompt,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Reset,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.ControlSignal,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.Plug,
           Funcons.Core.Computations.ControlFlow.Abnormal.Continuations.ResumeSignal,
           Funcons.Core.Computations.ControlFlow.Abnormal.Throwing.Thrown,
           Funcons.Core.Computations.ControlFlow.Abnormal.Throwing.HandleThrown,
           Funcons.Core.Computations.ControlFlow.Abnormal.Throwing.Finally,
           Funcons.Core.Computations.ControlFlow.Abnormal.Throwing.Throw,
           Funcons.Core.Computations.ControlFlow.Abnormal.Throwing.HandleRecursively,
           Funcons.Core.Computations.ControlFlow.Abnormal.Failing.Else,
           Funcons.Core.Computations.ControlFlow.Abnormal.Failing.CheckTrue,
           Funcons.Core.Computations.ControlFlow.Abnormal.Failing.Fail,
           Funcons.Core.Computations.ControlFlow.Abnormal.Failing.Signals,
           Funcons.Core.Computations.ControlFlow.Abnormal.Failing.Dereference,
           Funcons.Core.Computations.ControlFlow.Abnormal.Failing.Failed,
           Funcons.Core.Computations.DataFlow.Interacting.PrintList,
           Funcons.Core.Computations.DataFlow.Interacting.Print,
           Funcons.Core.Computations.DataFlow.Interacting.StandardOut,
           Funcons.Core.Computations.DataFlow.Interacting.Read,
           Funcons.Core.Computations.DataFlow.Interacting.StandardIn,
           Funcons.Core.Computations.DataFlow.Effect,
           Funcons.Core.Computations.DataFlow.Storing.GeneralVariables.AllocateMap,
           Funcons.Core.Computations.DataFlow.Storing.GeneralVariables.GeneralAssign,
           Funcons.Core.Computations.DataFlow.Storing.GeneralVariables.GeneralAssigned,
           Funcons.Core.Computations.DataFlow.Storing.GeneralVariables.AllocateVector,
           Funcons.Core.Computations.DataFlow.Storing.Stores,
           Funcons.Core.Computations.DataFlow.Storing.SimpleVariables.CurrentValue,
           Funcons.Core.Computations.DataFlow.Storing.SimpleVariables.Assigned,
           Funcons.Core.Computations.DataFlow.Storing.SimpleVariables.AllocateInitialisedVariable,
           Funcons.Core.Computations.DataFlow.Storing.SimpleVariables.AllocateVariable,
           Funcons.Core.Computations.DataFlow.Storing.SimpleVariables.DeallocateVariable,
           Funcons.Core.Computations.DataFlow.Storing.SimpleVariables.Assign,
           Funcons.Core.Computations.DataFlow.Storing.Store,
           Funcons.Core.Computations.DataFlow.Storing.Variables,
           Funcons.Core.Computations.DataFlow.Linking.AllocateInitialisedLink,
           Funcons.Core.Computations.DataFlow.Linking.AllocateLink,
           Funcons.Core.Computations.DataFlow.Linking.FollowIfLink,
           Funcons.Core.Computations.DataFlow.Linking.LinkStore,
           Funcons.Core.Computations.DataFlow.Linking.Links,
           Funcons.Core.Computations.DataFlow.Linking.FollowLink,
           Funcons.Core.Computations.DataFlow.Linking.LinkStores,
           Funcons.Core.Computations.DataFlow.Linking.SetLink,
           Funcons.Core.Computations.DataFlow.Giving.Given,
           Funcons.Core.Computations.DataFlow.Giving.Give,
           Funcons.Core.Computations.DataFlow.Giving.GivenValue,
           Funcons.Core.Computations.DataFlow.Generating.AtomGenerator,
           Funcons.Core.Computations.DataFlow.Generating.FreshAtom,
           Funcons.Core.Computations.DataFlow.Generating.FreshBinder,
           Funcons.Core.Computations.DataFlow.Binding.Recursion.Recursive,
           Funcons.Core.Computations.DataFlow.Binding.Recursion.BindRecursively,
           Funcons.Core.Computations.DataFlow.Binding.Recursion.BoundRecursively,
           Funcons.Core.Computations.DataFlow.Binding.Bound,
           Funcons.Core.Computations.DataFlow.Binding.Environments,
           Funcons.Core.Computations.DataFlow.Binding.Scope,
           Funcons.Core.Computations.DataFlow.Binding.Accumulate,
           Funcons.Core.Computations.DataFlow.Binding.Bind,
           Funcons.Core.Computations.DataFlow.Binding.Environment,
           Funcons.Core.Computations.Sorts,
           Funcons.Core.Values.Types,
           Funcons.Core.Values.CompositeValues.Collections.DirectedGraphs,
           Funcons.Core.Values.CompositeValues.Collections.Tuples,
           Funcons.Core.Values.CompositeValues.AlgebraicDatatypeValues.Variants,
           Funcons.Core.Values.CompositeValues.AlgebraicDatatypeValues.Records,
           Funcons.Core.Values.CompositeValues.AlgebraicDatatypeValues.References,
           Funcons.Core.Values.PrimitiveValues.UnitType,
           Funcons.Core.Values.PrimitiveValues.UnicodeCharacters,
           Funcons.Core.Values.PrimitiveValues.Bits,
           Funcons.Core.Values.PrimitiveValues.Strings,
           Funcons.Core.Values.PrimitiveValues.Numbers.Integers,
           Funcons.Core.Values.PrimitiveValues.Numbers.Rationals,
           Funcons.Core.Values.PrimitiveValues.Numbers.IeeeFloats,
           Funcons.Core.Values.PrimitiveValues.Booleans,
           Funcons.Core.Abstractions.Closures.Close,
           Funcons.Core.Abstractions.Closures.Closure,
           Funcons.Core.Abstractions.Patterns.PatternPrefer,
           Funcons.Core.Abstractions.Patterns.Match,
           Funcons.Core.Abstractions.Patterns.Patterns,
           Funcons.Core.Abstractions.Patterns.PatternUnite,
           Funcons.Core.Abstractions.Patterns.PatternAny,
           Funcons.Core.Abstractions.Patterns.Case,
           Funcons.Core.Abstractions.Patterns.MatchLoosely,
           Funcons.Core.Abstractions.Patterns.PatternBind,
           Funcons.Core.Abstractions.IsGroundValue,
           Funcons.Core.Abstractions.Functions.Apply,
           Funcons.Core.Abstractions.Functions.BindingLambda,
           Funcons.Core.Abstractions.Functions.Supply,
           Funcons.Core.Abstractions.Functions.Curry,
           Funcons.Core.Abstractions.Functions.Lambda,
           Funcons.Core.Abstractions.Functions.Uncurry,
           Funcons.Core.Abstractions.Functions.PartialApply,
           Funcons.Core.Abstractions.Functions.Compose,
                        -- manual
                          Funcons.Core.Computations.DataFlow.Generating.AtomSeed
                        , Funcons.Core.Computations.DataFlow.Generating.NextAtom
                        , Funcons.Core.Values.Composite.Collections.Sets
                        , Funcons.Core.Values.Composite.Collections.Multisets
                        , Funcons.Core.Values.Composite.Collections.Lists
                        , Funcons.Core.Values.Composite.Collections.Maps
                        , Funcons.Core.Values.Composite.Collections.Vectors
                        , Funcons.Core.Values.Composite.AlgebraicDatatypeValues.AlgebraicDatatypes
                        , Funcons.Core.Values.Composite.Collections.TuplesBuiltin
                        , Funcons.Core.Values.Primitive.StringsBuiltin
                        , Funcons.Core.Values.Primitive.BitsBuiltin
                        , Funcons.Core.Values.Primitive.Numbers.IeeeFloatsBuiltin
                        , Funcons.Core.Values.Primitive.Numbers.Integers
                        , Funcons.Core.Values.Primitive.Numbers.RationalsBuiltin
                        , Funcons.Core.Values.Primitive.Atoms
                        , Funcons.Core.Values.Primitive.Characters
                        , Funcons.Core.Values.Primitive.BoolBuiltin
                        , Funcons.Core.Abstractions.Thunk
                        , Funcons.Core.Abstractions.Force
                        , Funcons.Core.Manual



executable runfct
  main-is:             Main.hs
  other-extensions:    OverloadedStrings
  build-depends:       base >=4.3 && <4.9, text, containers, vector, bv, parsec, funcons-tools, multiset, split, directory, mtl >= 2.0
  hs-source-dirs:      src, manual, cbs
  default-language:    Haskell2010