Dieter (as in the German masculine given name Dieter, not dieter as in "one who diets") is a little experimental programming language that conflates type qualifiers with modules to produce something reminiscent of object-orientation. It demonstrates another way of thinking about objects, or rather, classes: not so much as aggregates of data as associations of predicates.
Dieter was intended as a way to make Hungarian notation part of the type system, and thus automatically checkable. However, it also suggests possible ways of dealing with the problems of aliasing — that is, determining if two pointers cannot possibly point to the same data, for safety and optimization considerations.
Sample Program
module beefy
procedure beef_up(x: ♥t): beefy ♥t
begin
return (bestow beefy x)
end
end.
Computational Class
Programming Paradigms
Documentation
Implementations
-
dieter.py, a typechecker in Python
To run this implementation, you need:
- an implementation of Python (we suggest cPython 2.6.7)
Download
Development
Github: catseye/Dieter
Bitbucket: catseye/dieter
Issue tracker: on github