{-# OPTIONS --without-K #-} module Everything where -------------------------------------------------------------------------------- --- Framework code open import Core open import Prelude -- Signature defintions & subsignature relations -- -- Paper section(s): -- * 2.1, 2.2, 2.3 -- * 3.1, 3.2, 3.3, (some of) 3.4, 3.5 open import Signature -- An implementation of Kripke semantics for the "box" (Necessity) modality -- -- Paper section(s): -- * 4.1, 4.3 open import Box -- Union type describing (potentially overlapping) unions on `Set` -- -- Paper section(s): -- * 4.2 open import Union -- Canonical forms -- -- Paper section(s): -- * 4.1, 4.2 open import Canon -- (Pure) Fragments and their composition -- -- Paper section(s): -- * 4.1, 4.2, 4.3 open import Fragment -- Monadic fragments and their composition -- -- Paper section(s): -- * 5 open import Structure.Functor open import Structure.Monad open import MonadicFragment ---------------------------------------------------------------------------------- -- Canonical forms definitions -- open import Canon.Nat open import Canon.Bool open import Canon.Pair open import Canon.Maybe open import Canon.Ref ---------------------------------------------------------------------------------- -- Monadic interfaces -- open import Interface.Reader open import Interface.Lambda open import Interface.General open import Interface.MonotoneState open import Interface.Except ---------------------------------------------------------------------------------- -- A type of command trees that instantiates the relevant monadic interfaces -- open import Tree.Tree open import Tree.Handle open import Tree.Instances ---------------------------------------------------------------------------------- -- Fragment definitions -- open import Fragment.Lambda open import Fragment.General open import Fragment.Exception open import Fragment.Arith open import Fragment.Boolean open import Fragment.NatCase open import Fragment.Pair open import Fragment.Maybe open import Fragment.MaybeCase open import Fragment.Ref ---------------------------------------------------------------------------------- -- Example languages -- open import Languages.Language1 open import Languages.Language2 open import Languages.Language3 open import Languages.Language4 open import Languages.Language5 open import Languages.Language6 open import Languages.Expr open import Languages.STLC+Ref open import Languages.STLC+Rec+Maybe open import Languages.MiniML ---------------------------------------------------------------------------------- -- Tests -- open import Test.Language1 ---------------------------------------------------------------------------------- -- -- Experiments -- Generalization to arbitrary categories open import ArbitraryCategories.Base open import ArbitraryCategories.Lambda open import ArbitraryCategories.Sets ---> postulates fun-ext to prove some laws -- about the underlying category, so no -- --safe :( -- Finally Tagless open import Experiment.Final