Skip to content

larrytheliquid/leveling-up

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 

Leveling Up Dependent Types

Agda source code accompanying the paper (DTP 2013):

Leveling Up Dependent Types - Generic programming over a predicative hierarchy of universes. (Draft)

Code from the paper

The underlying type system

Extra examples of generic functions over indexed types

  • Extras.FixedHierarchy
    • A fixed dependently typed universe with some indexed types in it.
    • Contains examples of applying a generic double over indexed types. Applying generic functions to dependent types changes the result type, prefixing them by Π's that act as "preconditions" that are used to preserve type correctness.
    • Generically double the dependent function `fun and get results out by satisfying its generated preconditions.
    • Generically double the dependent pair `pair and get results out by satisfying its generated preconditions.
  • Extras.FixedHierarchyEverywhere WARNING: CONTAINS OMGBBQ AWESOME!
    • Mostly the same as Extras.FixedHierarchy.
    • Defines the fully-generic mapping combinator every.
    • Apply every to a simple double function, and the double function will be applied to nested values on your behalf!
    • The same fun and pair examples are given, but using the new every combinator.

About

Source code accompanying the paper "Leveling Up Dependent Types"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published