Statically-checked type, mode and determinism declarations
Opened this issue · 3 comments
FredMesnard commented
Types, modes and determinism are essential properties for the use of Prolog for programming-in-the-large. These declarations are critical for documentation. They can be statically checked and thus can prevent at compile time some runtime errors or unexpected failures. They can remain optional, which is handy for programming-in-the-small.
Some pointers:
- the SWI-Prolog manual
- Tom'Blog
- the Mercury programming language
wouterbeek commented
There are several SWI Packs about this as well:
- mavis by Michael Hendricks
- type_check by Tom Schrijvers
- typedef by Samer Abdallah
FredMesnard commented
thanks for the links, I’ll have a look. Note that 3 packs mean there’s a need!
Anniepoo commented
3 packs also means that there's a number of competing ways of solving the problem - Which isn't a bad thing.