Index of /~nad/listings/definitional-interpreters

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]Agda.css 2024-08-26 19:03 1.8K 
[TXT]Agda.Primitive.html 2024-08-26 19:03 5.4K 
[TXT]Agda.Builtin.Bool.html 2024-08-26 19:03 3.1K 
[TXT]Agda.Builtin.Nat.html 2024-08-26 19:03 23K 
[TXT]Agda.Builtin.List.html 2024-08-26 19:03 4.7K 
[TXT]Agda.Builtin.Unit.html 2024-08-26 19:03 1.7K 
[TXT]Agda.Builtin.Sigma.html2024-08-26 19:03 3.4K 
[TXT]Agda.Builtin.Char.html 2024-08-26 19:03 4.0K 
[TXT]Agda.Builtin.Maybe.html2024-08-26 19:03 2.3K 
[TXT]Agda.Builtin.String...>2024-08-26 19:03 10K 
[TXT]Prelude.html 2024-08-26 19:03 123K 
[TXT]Logical-equivalence...>2024-08-26 19:03 50K 
[TXT]Equality.html 2024-08-26 19:03 1.0M 
[TXT]Surjection.html 2024-08-26 19:03 88K 
[TXT]Nat.html 2024-08-26 19:03 476K 
[TXT]H-level.html 2024-08-26 19:03 53K 
[TXT]Equality.Decidable-U..>2024-08-26 19:03 76K 
[TXT]Equality.Decision-pr..>2024-08-26 19:03 97K 
[TXT]Injection.html 2024-08-26 19:03 18K 
[TXT]Bijection.html 2024-08-26 19:03 226K 
[TXT]Preimage.html 2024-08-26 19:03 59K 
[TXT]Equivalence.Contract..>2024-08-26 19:03 128K 
[TXT]Equivalence.Half-adj..>2024-08-26 19:03 133K 
[TXT]Extensionality.html 2024-08-26 19:03 189K 
[TXT]Erased.Basics.html 2024-08-26 19:03 14K 
[TXT]H-level.Closure.html 2024-08-26 19:03 406K 
[TXT]Equivalence.Erased.C..>2024-08-26 19:03 71K 
[TXT]Agda.Builtin.Int.html 2024-08-26 19:03 3.4K 
[TXT]Integer.Basics.html 2024-08-26 19:03 40K 
[TXT]Groupoid.html 2024-08-26 19:03 189K 
[TXT]Equivalence.html 2024-08-26 19:03 502K 
[TXT]Equivalence.Erased.B..>2024-08-26 19:03 98K 
[TXT]Excluded-middle.html 2024-08-26 19:03 6.6K 
[TXT]Embedding.html 2024-08-26 19:03 93K 
[TXT]Function-universe.html 2024-08-26 19:03 2.6M 
[TXT]Monad.Raw.html 2024-08-26 19:03 18K 
[TXT]Monad.html 2024-08-26 19:03 115K 
[TXT]Agda.Builtin.Equalit..>2024-08-26 19:03 2.6K 
[TXT]Equality.Proposition..>2024-08-26 19:03 19K 
[TXT]Agda.Builtin.Size.html 2024-08-26 19:03 4.2K 
[TXT]Prelude.Size.html 2024-08-26 19:03 3.1K 
[TXT]Conat.html 2024-08-26 19:03 432K 
[TXT]Delay-monad.html 2024-08-26 19:03 16K 
[TXT]Maybe.html 2024-08-26 19:03 52K 
[TXT]Delay-monad.Bisimila..>2024-08-26 19:03 9.0K 
[TXT]Delay-monad.Bisimila..>2024-08-26 19:03 246K 
[TXT]Delay-monad.Monad.html 2024-08-26 19:03 61K 
[TXT]Delay-monad.Sequenti..>2024-08-26 19:03 104K 
[TXT]Delay-monad.Parallel..>2024-08-26 19:03 137K 
[TXT]Accessibility.html 2024-08-26 19:03 94K 
[TXT]Bool.html 2024-08-26 19:03 74K 
[TXT]Univalence-axiom.html 2024-08-26 19:03 706K 
[TXT]Erased.Box-cong-axio..>2024-08-26 19:03 7.0K 
[TXT]Equivalence-relation..>2024-08-26 19:03 82K 
[TXT]Level.html 2024-08-26 19:03 5.6K 
[TXT]Function.Base.html 2024-08-26 19:03 76K 
[TXT]Data.Unit.Base.html 2024-08-26 19:03 1.9K 
[TXT]Data.Irrelevant.html 2024-08-26 19:03 12K 
[TXT]Data.Empty.html 2024-08-26 19:03 5.0K 
[TXT]Data.Bool.Base.html 2024-08-26 19:03 13K 
[TXT]Data.Sum.Base.html 2024-08-26 19:03 26K 
[TXT]Relation.Nullary.Neg..>2024-08-26 19:03 20K 
[TXT]Data.Product.Base.html 2024-08-26 19:03 87K 
[TXT]Relation.Nullary.Rec..>2024-08-26 19:03 18K 
[TXT]Relation.Nullary.Ref..>2024-08-26 19:03 42K 
[TXT]Data.Unit.Polymorphi..>2024-08-26 19:03 3.3K 
[TXT]Relation.Nullary.Dec..>2024-08-26 19:03 67K 
[TXT]Relation.Nullary.html 2024-08-26 19:03 6.3K 
[TXT]Relation.Binary.Core..>2024-08-26 19:03 19K 
[TXT]Relation.Binary.Defi..>2024-08-26 19:03 98K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 35K 
[TXT]Relation.Binary.Inde..>2024-08-26 19:03 13K 
[TXT]Relation.Binary.Inde..>2024-08-26 19:03 9.8K 
[TXT]Relation.Binary.Inde..>2024-08-26 19:03 13K 
[TXT]Relation.Binary.Inde..>2024-08-26 19:03 11K 
[TXT]Relation.Binary.Inde..>2024-08-26 19:03 2.1K 
[TXT]Relation.Unary.html 2024-08-26 19:03 93K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 101K 
[TXT]Relation.Binary.Stru..>2024-08-26 19:03 64K 
[TXT]Relation.Binary.Bund..>2024-08-26 19:03 86K 
[TXT]Function.Dependent.B..>2024-08-26 19:03 9.3K 
[TXT]Algebra.Core.html 2024-08-26 19:03 3.3K 
[TXT]Algebra.Definitions...>2024-08-26 19:03 118K 
[TXT]Relation.Binary.Reas..>2024-08-26 19:03 90K 
[TXT]Relation.Binary.Reas..>2024-08-26 19:03 14K 
[TXT]Relation.Binary.Reas..>2024-08-26 19:03 5.4K 
[TXT]Function.Definitions..>2024-08-26 19:03 21K 
[TXT]Algebra.Consequences..>2024-08-26 19:03 8.2K 
[TXT]Algebra.Consequences..>2024-08-26 19:03 179K 
[TXT]Algebra.Structures.html2024-08-26 19:03 230K 
[TXT]Algebra.Bundles.Raw...>2024-08-26 19:03 64K 
[TXT]Algebra.Bundles.html 2024-08-26 19:03 278K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 49K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 24K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 109K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 7.0K 
[TXT]Relation.Binary.Inde..>2024-08-26 19:03 16K 
[TXT]Function.Consequence..>2024-08-26 19:03 35K 
[TXT]Function.Consequence..>2024-08-26 19:03 23K 
[TXT]Function.Consequence..>2024-08-26 19:03 11K 
[TXT]Function.Structures...>2024-08-26 19:03 47K 
[TXT]Function.Bundles.html 2024-08-26 19:03 128K 
[TXT]Relation.Nullary.Dec..>2024-08-26 19:03 34K 
[TXT]Axiom.UniquenessOfId..>2024-08-26 19:03 20K 
[TXT]Function.Indexed.Rel..>2024-08-26 19:03 8.2K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 50K 
[TXT]Algebra.Definitions...>2024-08-26 19:03 18K 
[TXT]Data.Sign.Base.html 2024-08-26 19:03 8.9K 
[TXT]Data.Parity.Base.html 2024-08-26 19:03 19K 
[TXT]Data.Nat.Base.html 2024-08-26 19:03 101K 
[TXT]Data.Fin.Base.html 2024-08-26 19:03 114K 
[TXT]Data.These.Base.html 2024-08-26 19:03 36K 
[TXT]Data.Maybe.Base.html 2024-08-26 19:03 37K 
[TXT]Data.List.Base.html 2024-08-26 19:03 221K 
[TXT]Data.Vec.Base.html 2024-08-26 19:03 150K 
[TXT]Axiom.Extensionality..>2024-08-26 19:03 21K 
[TXT]Data.Vec.N-ary.html 2024-08-26 19:03 92K 
[TXT]Relation.Binary.Refl..>2024-08-26 19:03 37K 
[TXT]Algebra.Structures.B..>2024-08-26 19:03 65K 
[TXT]Algebra.html 2024-08-26 19:03 1.9K 
[TXT]Algebra.Properties.Q..>2024-08-26 19:03 17K 
[TXT]Algebra.Properties.L..>2024-08-26 19:03 21K 
[TXT]Algebra.Properties.G..>2024-08-26 19:03 70K 
[TXT]Algebra.Properties.A..>2024-08-26 19:03 13K 
[TXT]Function.Core.html 2024-08-26 19:03 5.0K 
[TXT]Relation.Binary.Morp..>2024-08-26 19:03 6.3K 
[TXT]Relation.Binary.Morp..>2024-08-26 19:03 38K 
[TXT]Algebra.Morphism.Def..>2024-08-26 19:03 11K 
[TXT]Algebra.Morphism.Str..>2024-08-26 19:03 204K 
[TXT]Algebra.Morphism.html 2024-08-26 19:03 47K 
[TXT]Algebra.Properties.R..>2024-08-26 19:03 43K 
[TXT]Algebra.Properties.R..>2024-08-26 19:03 6.4K 
[TXT]Algebra.Solver.Ring...>2024-08-26 19:03 43K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 77K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 10K 
[TXT]Effect.Choice.html 2024-08-26 19:03 4.4K 
[TXT]Effect.Empty.html 2024-08-26 19:03 3.4K 
[TXT]Effect.Functor.html 2024-08-26 19:03 13K 
[TXT]Effect.Applicative.html2024-08-26 19:03 36K 
[TXT]Effect.Monad.html 2024-08-26 19:03 34K 
[TXT]Relation.Nullary.Neg..>2024-08-26 19:03 38K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 73K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 34K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 17K 
[TXT]Algebra.Construct.Na..>2024-08-26 19:03 17K 
[TXT]Algebra.Consequences..>2024-08-26 19:03 48K 
[TXT]Relation.Binary.Stru..>2024-08-26 19:03 9.5K 
[TXT]Relation.Binary.html 2024-08-26 19:03 2.1K 
[TXT]Algebra.Lattice.Stru..>2024-08-26 19:03 39K 
[TXT]Relation.Binary.Reas..>2024-08-26 19:03 32K 
[TXT]Relation.Binary.Reas..>2024-08-26 19:03 3.7K 
[TXT]Algebra.Construct.Na..>2024-08-26 19:03 108K 
[TXT]Algebra.Lattice.Bund..>2024-08-26 19:03 7.2K 
[TXT]Algebra.Lattice.Bund..>2024-08-26 19:03 51K 
[TXT]Algebra.Lattice.Cons..>2024-08-26 19:03 6.3K 
[TXT]Algebra.Construct.Na..>2024-08-26 19:03 18K 
[TXT]Algebra.Construct.Na..>2024-08-26 19:03 56K 
[TXT]Algebra.Lattice.Cons..>2024-08-26 19:03 4.5K 
[TXT]Algebra.Lattice.Cons..>2024-08-26 19:03 18K 
[TXT]Relation.Binary.Reas..>2024-08-26 19:03 54K 
[TXT]Algebra.Properties.S..>2024-08-26 19:03 8.2K 
[TXT]Algebra.Properties.C..>2024-08-26 19:03 112K 
[TXT]Function.Metric.Core..>2024-08-26 19:03 2.8K 
[TXT]Function.Metric.Defi..>2024-08-26 19:03 35K 
[TXT]Function.Metric.Stru..>2024-08-26 19:03 22K 
[TXT]Function.Metric.Bund..>2024-08-26 19:03 37K 
[TXT]Function.Metric.Nat...>2024-08-26 19:03 2.6K 
[TXT]Function.Metric.Nat...>2024-08-26 19:03 17K 
[TXT]Function.Metric.Nat...>2024-08-26 19:03 18K 
[TXT]Function.Metric.Nat...>2024-08-26 19:03 28K 
[TXT]Function.Metric.Nat...>2024-08-26 19:03 1.8K 
[TXT]Relation.Unary.Predi..>2024-08-26 19:03 44K 
[TXT]Induction.html 2024-08-26 19:03 14K 
[TXT]Induction.WellFounde..>2024-08-26 19:03 94K 
[TXT]Relation.Binary.Latt..>2024-08-26 19:03 12K 
[TXT]Relation.Binary.Latt..>2024-08-26 19:03 62K 
[TXT]Relation.Binary.Latt..>2024-08-26 19:03 69K 
[TXT]Relation.Binary.Latt..>2024-08-26 19:03 1.7K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 80K 
[TXT]Algebra.Lattice.Prop..>2024-08-26 19:03 11K 
[TXT]Algebra.Lattice.Prop..>2024-08-26 19:03 42K 
[TXT]Algebra.Lattice.Prop..>2024-08-26 19:03 6.0K 
[TXT]Algebra.Lattice.Prop..>2024-08-26 19:03 291K 
[TXT]Data.Bool.Properties..>2024-08-26 19:03 201K 
[TXT]Data.Nat.Properties...>2024-08-26 19:03 933K 
[TXT]Data.Vec.Functional...>2024-08-26 19:03 67K 
[TXT]Algebra.Definitions...>2024-08-26 19:03 11K 
[TXT]Algebra.Properties.M..>2024-08-26 19:03 32K 
[TXT]Algebra.Definitions...>2024-08-26 19:03 21K 
[TXT]Algebra.Properties.S..>2024-08-26 19:03 38K 
[TXT]Algebra.Solver.Ring...>2024-08-26 19:03 96K 
[TXT]Algebra.Solver.Ring...>2024-08-26 19:03 294K 
[TXT]Algebra.Solver.Ring...>2024-08-26 19:03 4.3K 
[TXT]Data.Nat.Solver.html 2024-08-26 19:03 2.4K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 38K 
[TXT]Data.List.Membership..>2024-08-26 19:03 20K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 11K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 2.8K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 87K 
[TXT]Algebra.Construct.Li..>2024-08-26 19:03 83K 
[TXT]Algebra.Construct.Na..>2024-08-26 19:03 13K 
[TXT]Algebra.Construct.Na..>2024-08-26 19:03 7.3K 
[TXT]Data.List.Extrema.Co..>2024-08-26 19:03 60K 
[TXT]Data.Nat.Generalised..>2024-08-26 19:03 68K 
[TXT]Data.Sum.html 2024-08-26 19:03 12K 
[TXT]Data.Sum.Properties...>2024-08-26 19:03 60K 
[TXT]Data.Product.Propert..>2024-08-26 19:03 57K 
[TXT]Function.Properties...>2024-08-26 19:03 19K 
[TXT]Function.Construct.I..>2024-08-26 19:03 45K 
[TXT]Function.Construct.C..>2024-08-26 19:03 117K 
[TXT]Function.Construct.S..>2024-08-26 19:03 72K 
[TXT]Function.Properties...>2024-08-26 19:03 53K 
[TXT]Data.Empty.Polymorph..>2024-08-26 19:03 3.8K 
[TXT]Data.Sum.Algebra.html 2024-08-26 19:03 32K 
[TXT]Data.Unit.Polymorphi..>2024-08-26 19:03 27K 
[TXT]Data.Unit.Polymorphi..>2024-08-26 19:03 1.9K 
[TXT]Data.Product.Algebra..>2024-08-26 19:03 52K 
[TXT]Data.Fin.Patterns.html 2024-08-26 19:03 4.3K 
[TXT]Relation.Unary.Prope..>2024-08-26 19:03 114K 
[TXT]Data.Fin.Properties...>2024-08-26 19:03 547K 
[TXT]Data.Nat.DivMod.Core..>2024-08-26 19:03 224K 
[TXT]Data.Nat.Induction.html2024-08-26 19:03 24K 
[TXT]Data.Nat.Divisibilit..>2024-08-26 19:03 16K 
[TXT]Data.Nat.DivMod.html 2024-08-26 19:03 356K 
[TXT]Data.Nat.Divisibilit..>2024-08-26 19:03 170K 
[TXT]Data.Product.Relatio..>2024-08-26 19:03 5.4K 
[TXT]Data.List.Membership..>2024-08-26 19:03 9.4K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 110K 
[TXT]Data.Maybe.Relation...>2024-08-26 19:03 31K 
[TXT]Data.List.Properties..>2024-08-26 19:03 833K 
[TXT]Function.Properties...>2024-08-26 19:03 46K 
[TXT]Function.Properties...>2024-08-26 19:03 23K 
[TXT]Function.Properties...>2024-08-26 19:03 21K 
[TXT]Function.Related.Pro..>2024-08-26 19:03 120K 
[TXT]Data.Product.Functio..>2024-08-26 19:03 161K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 6.3K 
[TXT]Relation.Binary.Cons..>2024-08-26 19:03 81K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 36K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 5.7K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 31K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 37K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 128K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 50K 
[TXT]Data.Product.Relatio..>2024-08-26 19:03 97K 
[TXT]Data.Product.Functio..>2024-08-26 19:03 59K 
[TXT]Data.Product.Functio..>2024-08-26 19:03 49K 
[TXT]Data.List.Effectful...>2024-08-26 19:03 147K 
[TXT]Data.List.Membership..>2024-08-26 19:03 38K 
[TXT]Data.Sum.Relation.Bi..>2024-08-26 19:03 105K 
[TXT]Data.Sum.Function.Se..>2024-08-26 19:03 71K 
[TXT]Data.Sum.Function.Pr..>2024-08-26 19:03 44K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 453K 
[TXT]Data.List.Membership..>2024-08-26 19:03 227K 
[TXT]Relation.Binary.Prop..>2024-08-26 19:03 16K 
[TXT]Relation.Nullary.Ind..>2024-08-26 19:03 3.2K 
[TXT]Function.Related.Typ..>2024-08-26 19:03 152K 
[TXT]Data.List.Relation.B..>2024-08-26 19:03 6.7K 
[TXT]Data.List.Membership..>2024-08-26 19:03 202K 
[TXT]Data.List.Extrema.html 2024-08-26 19:03 132K 
[TXT]Data.Maybe.Relation...>2024-08-26 19:03 54K 
[TXT]Data.List.Relation.U..>2024-08-26 19:03 420K 
[TXT]Data.Vec.Bounded.Bas..>2024-08-26 19:03 66K 
[TXT]Data.Vec.html 2024-08-26 19:03 12K 
[TXT]Equality.Instances-r..>2024-08-26 19:03 120K 
[TXT]Nat.Solver.html 2024-08-26 19:03 59K 
[TXT]List.html 2024-08-26 19:03 265K 
[TXT]For-iterated-equalit..>2024-08-26 19:03 337K 
[TXT]Equivalence.List.html 2024-08-26 19:03 355K 
[TXT]Pullback.html 2024-08-26 19:03 102K 
[TXT]Equivalence.Path-spl..>2024-08-26 19:03 413K 
[TXT]Vec.Dependent.html 2024-08-26 19:03 47K 
[TXT]Modality.Basics.html 2024-08-26 19:03 2.1M 
[TXT]Erased.Level-1.html 2024-08-26 19:03 1.2M 
[TXT]Double-negation.html 2024-08-26 19:03 96K 
[TXT]Delay-monad.Terminat..>2024-08-26 19:03 42K 
[TXT]Lambda.Delay-crash.html2024-08-26 19:03 142K 
[TXT]Vec.Data.html 2024-08-26 19:03 39K 
[TXT]Lambda.Syntax.html 2024-08-26 19:03 43K 
[TXT]Lambda.Interpreter.html2024-08-26 19:03 24K 
[TXT]Lambda.Virtual-machi..>2024-08-26 19:03 12K 
[TXT]Agda.Builtin.Word.html 2024-08-26 19:03 2.0K 
[TXT]Agda.Builtin.Float.html2024-08-26 19:03 32K 
[TXT]Agda.Builtin.Reflect..>2024-08-26 19:03 163K 
[TXT]Agda.Builtin.Strict...>2024-08-26 19:03 4.8K 
[TXT]TC-monad.html 2024-08-26 19:03 171K 
[TXT]Monad.State.html 2024-08-26 19:03 37K 
[TXT]Tactic.By.html 2024-08-26 19:03 145K 
[TXT]Tactic.By.Propositio..>2024-08-26 19:03 121K 
[TXT]Lambda.Compiler.html 2024-08-26 19:03 33K 
[TXT]Colist.html 2024-08-26 19:03 375K 
[TXT]Lambda.Delay-crash-t..>2024-08-26 19:03 100K 
[TXT]Lambda.Virtual-machi..>2024-08-26 19:03 36K 
[TXT]Lambda.Compiler-corr..>2024-08-26 19:03 173K 
[TXT]Omniscience.html 2024-08-26 19:03 55K 
[TXT]Upper-bounds.html 2024-08-26 19:03 298K 
[TXT]Lambda.Interpreter.S..>2024-08-26 19:03 130K 
[TXT]Lambda.Interpreter.S..>2024-08-26 19:03 41K 
[TXT]Only-allocation.html 2024-08-26 19:03 6.9K 
[TXT]Bounded-space.html 2024-08-26 19:03 91K 
[TXT]Unbounded-space.html 2024-08-26 19:03 192K 
[TXT]Lambda.Compiler-corr..>2024-08-26 19:03 257K 
[TXT]Lambda.Interpreter.S..>2024-08-26 19:03 15K 
[TXT]Delay-monad.Quantita..>2024-08-26 19:03 426K 
[TXT]Lambda.Interpreter.S..>2024-08-26 19:03 35K 
[TXT]Lambda.Compiler-corr..>2024-08-26 19:03 241K 
[TXT]Lambda.Interpreter.S..>2024-08-26 19:03 34K 
[TXT]Delay-monad.Always.html2024-08-26 19:03 14K 
[TXT]Lambda.Type-soundnes..>2024-08-26 19:03 52K 

README
------------------------------------------------------------------------
-- Code related to the paper "Total Definitional Interpreters for Time
-- and Space Complexity"
--
-- Nils Anders Danielsson
------------------------------------------------------------------------

-- Note that the code has evolved after the paper was written. For
-- code that is closer to the paper, see the version of the code that
-- is distributed with the paper.

module README where

------------------------------------------------------------------------
-- Pointers to results from the paper

-- In order to more easily find code corresponding to results from the
-- paper, see the following module. Note that some of the code
-- referenced below is not discussed at all in the paper.

import README.Pointers-to-results-from-the-paper

------------------------------------------------------------------------
-- Responses to some challenges from Ancona, Dagnino and Zucca

-- The syntax of a toy programming language that only supports
-- allocation and deallocation of memory.

import Only-allocation

-- Definitional interpreters can model systems with bounded space.

import Bounded-space

-- Upper bounds of colists containing natural numbers.

import Upper-bounds

-- Definitional interpreters can model systems with unbounded space.

import Unbounded-space

------------------------------------------------------------------------
-- An example involving a simple λ-calculus

-- Some developments based on "Operational Semantics Using the
-- Partiality Monad" by Danielsson.
--
-- These developments to a large extent mirror developments in
-- "Coinductive big-step operational semantics" by Leroy and Grall.
--
-- The main differences compared to those two pieces of work are
-- perhaps the following ones:
--
-- * Sized types are used.
--
-- * The infinite set of uninterpreted constants has been replaced by
--   booleans, and definitions (named, unary, recursive functions)
--   are included.
--
-- * The virtual machine and the compiler include support for tail
--   calls.
--
-- * Stack space usage is analysed.

-- The syntax of, and a type system for, an untyped λ-calculus with
-- booleans and recursive unary function calls.

import Lambda.Syntax

-- A delay monad with the possibility of crashing.

import Lambda.Delay-crash

-- A definitional interpreter.

import Lambda.Interpreter

-- A type soundness result.

import Lambda.Type-soundness

-- A combination of the delay monad (with the possibility of crashing)
-- and a kind of writer monad yielding colists.

import Lambda.Delay-crash-trace

-- Virtual machine instructions, state etc.

import Lambda.Virtual-machine.Instructions

-- A virtual machine.

import Lambda.Virtual-machine

-- A compiler.

import Lambda.Compiler

-- Compiler correctness.

import Lambda.Compiler-correctness

-- A definitional interpreter that is instrumented with information
-- about the stack size of the compiled program.

import Lambda.Interpreter.Stack-sizes

-- The actual maximum stack size of the compiled program matches the
-- maximum stack size of the instrumented source-level semantics.

import Lambda.Compiler-correctness.Sizes-match

-- An example: A non-terminating program that runs in bounded stack
-- space.

import Lambda.Interpreter.Stack-sizes.Example

-- A counterexample: The trace of stack sizes produced by the virtual
-- machine is not necessarily bisimilar to that produced by the
-- instrumented interpreter.

import Lambda.Interpreter.Stack-sizes.Counterexample

-- A counterexample: The number of steps taken by the uninstrumented
-- interpreter is not, in general, linear in the number of steps taken
-- by the virtual machine for the corresponding compiled program.

import Lambda.Interpreter.Steps.Counterexample

-- A definitional interpreter that is instrumented with information
-- about the number of steps required to run the compiled program.

import Lambda.Interpreter.Steps

-- The "time complexity" of the compiled program matches the one
-- obtained from the instrumented interpreter.

import Lambda.Compiler-correctness.Steps-match