• Stars
    star
    100
  • Rank 340,703 (Top 7 %)
  • Language
    Haskell
  • License
    Other
  • Created almost 14 years ago
  • Updated almost 4 years ago

Reviews

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

Repository Details

An interpreter of Hagino's Categorical Programming Language (CPL).

An implementation of "A Categorical Programing Language"

Build Status Build status Hackage Hackage Deps License

This package is an implementation of "A Categorical Programing Language" (CPL for short)[1][2] written in Haskell.

CPL is a functional programming language based on category theory. Data types are declared in a categorical manner by adjunctions. Data types that can be handled include the terminal object, the initial object, the binary product functor, the binary coproduct functor, the exponential functor, the natural number object, the functor for finite lists, and the functor for infinite lists. Each data type is declared with its basic operations or morphisms. Programs consist of these morphisms, and execution of programs is the reduction of elements (i.e. special morphisms) to their canonical form.

Install

De-Compress archive and enter its top directory. Then type:

$ cabal configure
$ cabal build
$ cabal install

If you want to compile with readline or haskeline, add -fReadline or -fHaskeline respectively to configure command.

Usage

See chapter 5 of [1]

License

This program is licenced under the BSD-style license. (See the file 'COPYING'.)

Copyright (C) 2004-2014 Masahiro Sakai [email protected]

Author

Masahiro Sakai [email protected]

Bibliography

  1. Tatsuya Hagino, “A Categorical Programming Languge”. Ph.D. Thesis, University of Edinburgh, 1987. available at http://web.sfc.keio.ac.jp/~hagino/index.html.en

  2. Tatsuya Hagino, “Categorical Functional Programming Language”. Computer Software, Vol 7, No.1. Advances in Software Science and Technology 4, 1992. ISBN 0-12-037104-9.

More Repositories

1

toysolver

My sandbox for experimenting with solver algorithms.
Haskell
148
star
2

data-interval

Interval datatype, interval arithmetic, and interval-based containers for Haskell
Haskell
20
star
3

haskell-decision-diagrams

Binary decision diagrams (BDD) and Zero-Suppressed Binary Decision Diagrams (ZDD) in Haskell
Haskell
11
star
4

nonlinear-optimization-ad

Several Haskell packages for numerical optimizations.
Haskell
8
star
5

ptq

An implementation of Montague's PTQ (Proper Treatment of Quantification).
Haskell
7
star
6

bytestring-encoding

Haskell
6
star
7

haskell-minisat

Low-level Haskell binding of Minisat
C++
5
star
8

finite-field

Haskell
4
star
9

glpk-maxsat

Max-SAT frontend for GLPK
C++
4
star
10

extended-reals

Extension of real numbers with positive/negative infinities (±∞)
Haskell
4
star
11

chainer-optnet

Python
3
star
12

pseudo-boolean

Haskell library for parsing/generating OPB/WBO files used in pseudo boolean competition.
Haskell
3
star
13

sign

Arithmetic over signs and sets of signs
Haskell
2
star
14

satchmo-toysat

toysat driver as backend for satchmo
Haskell
2
star
15

haskell-hyperset

Haskell
2
star
16

tpp2011

"Uniform Candy Distribution" problem
2
star
17

haskell-optdir

The OptDir type for representing optimization directions.
Haskell
2
star
18

haskell-MIP

Libraries for reading/writing MIP problem files, invoking external MIP solvers, etc. in Haskell
Haskell
2
star
19

ltg

TeamSampou's repository for ICFPC2011
Haskell
2
star
20

ersatz-toysat

toysat driver as backend for ersatz
Haskell
2
star
21

haskell-glpk

Haskell wrapper for GLPK (GNU Linear Programming Kit).
Haskell
2
star
22

scip-maxsat

Max-SAT frontend for SCIP
C++
2
star
23

folkung

Personal mirror of http://code.haskell.org/folkung/
Haskell
2
star
24

icfpc2013

Haskell
2
star
25

bnn-verification

TeX
2
star
26

icfpc2012

ICFP Programming Contest 2012 -- Lambda Lifter
Haskell
2
star
27

essence-of-ad

Attempt to code "The Simple Essence of Automatic Differentiation" paper
Haskell
2
star
28

pulp-scip

Python
1
star
29

tmctf2015-qualifier

Trend Micro CTF Asia Pacific & Japan 2015 Online Qualifier
Haskell
1
star
30

glucose-pybind11

C++
1
star
31

vstte2012vc

Java
1
star
32

multiset-large

Haskell
1
star
33

CCG-ja

Combinatory categorial grammar (CCG) of Japanese
1
star
34

icfpc2014

Haskell
1
star
35

rena

Ruby
1
star
36

CNFIO

CNF reader for Haskell
Haskell
1
star
37

cvc3

personal mirror of CVC3
C++
1
star
38

z3-proof-visualizer

TeX
1
star
39

kodkod

Personal mirror of http://alloy.mit.edu/kodkod/
Java
1
star
40

sandbox

Sandbox repository to learn git.
1
star