text: Пример программы вычисления факториала на языке Hope: dec fact : num -> num; --- fact 0 <= 1; --- fact n <= n*fact(n-1); В отличие от языка Haskell, изменение порядка выражений не изменяет поведения программы, так как в том случае, когда выражение подходит под несколько шаблонов, выбирается наиболее специфичный данному выражению шаблон.