Neha Patil (Editor)

Charity (programming language)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Paradigm
  
pure functional

First appeared
  
1992

Developer
  
The Charity Development Group

Preview release
  
1.99.1 (beta) / August 2000; 16 years ago (2000-08)

OS
  
Linux, SunOS, Windows 9x, Windows NT

License
  
Non-commercial use only

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

Charity (programming language) Wikipedia