Три требования:
1) Параметризуемые модули;
2) Перегрузка арифметики для пользовательских типов;
3) Кастомные литералы (возможно через отдельный препроцессор).
Необязательно соблюдение всех трех, можно 1 и 2 или 2 и 3.
Под 1 и 3 подходит OCaml.
Три требования:
1) Параметризуемые модули;
2) Перегрузка арифметики для пользовательских типов;
3) Кастомные литералы (возможно через отдельный препроцессор).
Необязательно соблюдение всех трех, можно 1 и 2 или 2 и 3.
Под 1 и 3 подходит OCaml.