Charity(ID:1540/cha004)


Cockett, Spencer, Fukushima, 1990-1991. Functional language based purely on category theory.

Is functional in style, that is, programmers familiar with declarative paradigms should find CHARITY easy to grasp.
It is based on the theory of strong categorical datatypes.
These are divided into two subclasses: the inductive datatypes (built by constructors in the familiar way) and the coinductive datatypes (broken down by destructors).
Programs over these datatypes are expressed by folds (catamorphism) and by unfolds (anamorphism), respectively.  


Structures:
References:
  • Robin Cockett "Charitable Thoughts", draft lecture notes 1966 view details bib:
    @misc
    {Cockett96,
    author = "Robin Cockett",
    title  = "Charitable Thoughts",
    year   = 1996,
    note   = "(draft lecture notes, \mbox{\tt http://www.cpsc.ucalgary.ca/projects/charity/home.html})"
    }

    ps
  • Robin Cockett and Dwight Spencer "Strong Categorical Datatypes {I}" International Meeting on Category Theory 1991 in R. A. G. Seely, ed, AMS Canadian Mathematical Society Proceedings view details bib:
    inproceedings
    {CoSp92,
    author    = "Robin Cockett and Dwight Spencer",
    title     = "Strong Categorical Datatypes {I}",
    booktitle = "International Meeting on Category Theory 1991",
    year      = 1992,
    editor    = "R. A. G. Seely",
    publisher = "AMS",
    series    = "Canadian Mathematical Society Proceedings"
    }
    ps
  • Robin Cockett and Dwight Spencer "Strong Categorical Datatypes {II}: A term logic for categorical programming" May, 1992 unpublished paper view details bib:
    @unpublished
    {CoSp92II,
    author = "Robin Cockett and Dwight Spencer",
    title  = "Strong Categorical Datatypes {II}: A term logic for categorical programming",
    month  = may,
    year   = 1992,
    note   = "(to appear)"
    }
    ps
  • Robin Cockett and Tom Fukushima "About Charity", Department of Computer Science, The University of Calgary, June 1992, Yellow Series Report No 92/480/18 view details bib:
    @techreport
    {CoFu92,
    author      = "Robin Cockett and Tom Fukushima",
    title       = "About {C}harity",
    institution = "Department of Computer Science, The University of Calgary",
    month       = jun,
    year        = 1992,
    type        = "Yellow Series Report",
    number      = "No.\ 92/480/18"
    }

    ps
  • Dwight L. Spencer "Categorical Programming with Functorial Strength" PhD thesis, The Oregon Graduate Institute of Science and Technology Jan, 1993 view details ps bib:
    @phdthesis
    {Spencer93,
    author = "Dwight L. Spencer",
    title  = "Categorical Programming with Functorial Strength",
    school = "The Oregon Graduate Institute of Science and Technology",
    month  = jan,
    year   = 1993
    }
  • Charles Tuckey "The Implementation of Pattern Matching in Charity" Undergraduate honours thesis, Department of Computer Science, The University of Calgary Apr, 1994. view details bib:
    @misc
    {Tuckey94,
    author = "Charles Tuckey",
    title  = "The Implementation of Pattern Matching in {C}harity",
    month  = apr,
    year   = 1994,
    note   = "Undergraduate honours thesis, Department of Computer Science, The University of Calgary"
    }

    ps
  • Dale Barry Yee "Implementing the Charity Abstract Machine" Master's thesis The University of Calgary", Sep, 1995 view details bib:
    @mastersthesis
    {Yee95,
    author = "Dale Barry Yee",
    title  = "Implementing the {C}harity Abstract Machine",
    school = "The University of Calgary",
    month  = sep,
    year   = 1995
    }
    ps
  • Peter M. Vesely "Categorical Combinators for Charity", Master's Thesis The University of Calgary Nov, 1996 view details bib:
    @mastersthesis
    {Vesely96,
    author = "Peter M. Vesely",
    title  = "Categorical Combinators for {C}harity",
    school = "The University of Calgary",
    month  = nov,
    year   =  1996
    }

    ps
  • Tom Fukushima and Charles Tuckey "The Charity System User Manual" University of Calgary, 1996 view details bib:
    @manual
    {FuTu96,
    author = "Tom Fukushima and Charles Tuckey",
    title  = "{C}harity User Manual",
    month  = jan,
    year   = 1996,
    note   = "(draft, \mbox{\tt http://www.cpsc.ucalgary.ca/projects/charity/home.html})"
    }
    ps
  • Marc A. Schroeder "Higher-Order Charity" Master's thesis The University of Calgary Jul, 1997 view details bib:
    @mastersthesis
    {Schroeder97,
    author = "Marc A. Schroeder",
    title  = "Higher-Order {C}harity",
    school = "The University of Calgary",
    month  = jul,
    year   = 1997
    } ps
  • Peter Vesely "Typechecking the Charity Term Logic" Apr, 1997 view details bib:
    @misc
    {Vesely97,
    author     = "Peter Vesely",
    title  = "Typechecking the {C}harity Term Logic",
    month  = apr,
    year   = 1997,
    note   = "(notes, \mbox{\tt http://www.cpsc.ucalgary.ca/projects/charity/home.html})"
    }

    ps
    Resources