Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/msakai/cpl
An interpreter of Hagino's Categorical Programming Language (CPL).
https://github.com/msakai/cpl
Last synced: 3 days ago
JSON representation
An interpreter of Hagino's Categorical Programming Language (CPL).
- Host: GitHub
- URL: https://github.com/msakai/cpl
- Owner: msakai
- License: other
- Created: 2010-12-19T13:51:25.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T03:51:59.000Z (8 months ago)
- Last Synced: 2024-10-13T23:49:01.621Z (3 months ago)
- Language: Haskell
- Homepage: http://hackage.haskell.org/package/CPL
- Size: 72.3 KB
- Stars: 115
- Watchers: 13
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.markdown
- Changelog: CHANGELOG.markdown
- License: COPYING
Awesome Lists containing this project
README
An implementation of "A Categorical Programing Language"
========================================================[![Build Status](https://secure.travis-ci.org/msakai/cpl.svg?branch=master)](http://travis-ci.org/msakai/cpl)
[![Build status](https://ci.appveyor.com/api/projects/status/dl935ws9jouy06br/branch/master?svg=true)](https://ci.appveyor.com/project/msakai/cpl/branch/master)
[![Hackage](https://img.shields.io/hackage/v/CPL.svg)](https://hackage.haskell.org/package/CPL)
[![Hackage Deps](https://img.shields.io/hackage-deps/v/CPL.svg)](https://packdeps.haskellers.com/feed?needle=CPL)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)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 installIf 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
Author
------Masahiro Sakai
Bibliography
------------1. Tatsuya Hagino, “A Categorical Programming Languge”.
Ph.D. Thesis, University of Edinburgh, 1987.
available at2. 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.