Charity (programming language)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Charity
Paradigm pure functional
Developer The Charity Development Group
First appeared 1992[1]
Preview release 1.99.1 (beta)[2] / August 2000; 23 years ago (2000-08)
OS Linux, SunOS, Windows 9x, Windows NT[2]
License Non-commercial use only[3]
Website pll.cpsc.ucalgary.ca/charity1/www/home.html

Charity is an experimental purely functional programming language, developed at the University of Calgary under the supervision of Robin Cockett. Based on ideas by Hagino Tatsuya, it is completely grounded in category theory.

Disregarding interactions with the outside world, all Charity programs are guaranteed to terminate or stay productive.

The language allows ordinary recursive data types, such as might be found in ML, which are required to be finite, and corecursive data types, which are allowed to be potentially infinite. The control structure for operating on recursive data types is primitive recursion or paramorphism, and the control structure for corecursive data types is primitive co-recursion or apomorphism. Neither control structure can operate over the other kind of data, so all paramorphisms terminate and all apomorphisms are productive.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.

External links


<templatestyles src="Asbox/styles.css"></templatestyles>