2 ms·
> Develop your own ad hoc run-time type and mode checking system. "Any sufficiently complicated List or Prolog program contains an ad hoc, informally-specified
by thesz 2y ago
> Develop your own ad hoc run-time type and mode checking system.
"Any sufficiently complicated List or Prolog program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Haskell type inference and checking system."
Modelled after Greenspun's Tenth Rule [1].
[1] https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
- illogical_spock 2y agoI suppose you could hack a bug-ridden implementation of Prolog unification in Prolog but why? Hindley-Milner type inference is unification over types and unification is built-in to Prolog. Functional programmers ignore this because their textbooks never refer to the original description of unification by Robinson. Wait who? Unification was probably invented by Damas, Hindley or Milner right? Or maybe Haskell Curry? Hey maybe it was John McCarthy?
- thesz 2y agoProlog was introduced into general public in 1972, 4 years after Hindley's algorithm that used unification and substitution. In any case, what was suggested is, frankly, a development of the (tailored up) type system. My experiece suggests that this development will not be without caveats, especially related to performance.