• Stars
    star
    147
  • Rank 250,419 (Top 5 %)
  • Language Agda
  • License
    Other
  • Created over 13 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Categories parametrized by morphism equality, in Agda
This library is **obsolete** and does not work with newer versions of Agda. It sort-of works with 2.5.2, but less and less so afterwards. It is completely broken from 2.6 onwards.

Users should instead try https://github.com/agda/agda-categories. It is not completely compatible, but close. And it is supported.

----------------------------------------------------------------------------------------------------------------------------------

One of the main goals of this library is to be as general as possible by abstracting over notions of equality between morphisms. 

Another is to keep the definitions of categorical structures as simple as possible and then where possible to prove that the simple definition is equivalent to more interesting formulations.
For example, we can define a monad as recording containing a functor and two natural transformations. Separately, we can show that a monoid object in the monoidal category of endofunctors is an equivalent definition, and that the composition of an adjoint pair of functors leads to monads, and so on.


The module structure is a mess, I realize. A lot of the parametrized modules should not be. Naming of things in general could also be made cleaner, but I've been more interested in definitions and proofs so far.


A lot of this is based on http://web.student.chalmers.se/~stevan/ctfp/html/README.html, but with some design changes that I thought were necessary. It's still very much a work in progress.

Other parts (mostly produts) are borrowed from Dan Doel

More Repositories

1

java

A Haskell library for manipulating Java class files
Haskell
15
star
2

charm

(Eventually) a reasonably complete ARM implementation in Haskell
Haskell
14
star
3

ida-scripts

A collection of IDA scripts
Python
13
star
4

shaped

A slightly different flavor of generic programming
Haskell
9
star
5

iphone-wireless

Automatically exported from code.google.com/p/iphone-wireless
Objective-C
9
star
6

bitvector

Sequences of bits and common operations on them
Agda
7
star
7

drepa

A dependently typed model of the repa (herpa?) library in Agda
7
star
8

vector-mmap

Memory map vectors
Haskell
7
star
9

rational

Rational numbers for Agda
6
star
10

fingertree

4
star
11

rverse

Some old (dirty) ruby reversing code I wrote, mostly up so I don't lose it
Ruby
3
star
12

macho

Haskell library for parsing Mach-O object format
Haskell
3
star
13

containers

Proofs about containers and their relationships to algebraic structures in agda
3
star
14

nixcodebuild

A simplistic xcodebuild implementation in nix
Nix
3
star
15

picklers

Tinkering with ideas for better pickler combinators
Haskell
3
star
16

peano

Experimenting with heuristics for deciding statements in peano arithmetic
Haskell
3
star
17

vector-sparse

Efficient sparse vectors
Haskell
2
star
18

opcodes

A simple Haskell interface to the GNU binutils libopcodes library
Haskell
2
star
19

vector-static

Statically checked vectors (a mostly failed experiment in representing vector lengths statically to avoid runtime checks, but was inspiration for great things to come ;))
Haskell
2
star
20

matrices

Fun with matrices in Agda
1
star
21

opencarv

Experiments using the Carv sensor inserts without the official app
1
star
22

agda-highlight

Some crappy code for highlighting Agda
Haskell
1
star
23

rustnapshotter

Nothing useful to see here yet
Rust
1
star
24

primes

Experiments with primality in Agda
1
star
25

software-history

Nix packages for unmaintained but historically interesting software
1
star