LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

да, с интами не очень то удачно. Я как то в первую очередь сторону всяких списков полиморфных начал думать, с тайп-левел длиной. Или хотя бы ограничение на непустой список, чтобы safeHead какой нибудь делать. А инты будут, действительно, требовать вычисления.

Но опять же кажется можно сделать что то вроде оператора + на уровне типов который новый инт будет создавать, ну и вместо + придётся использовать какой нибудь другой знак.. попробую на досуге.

А что подразумевалось под «менять стандартные классы», не совсем уловил мысль?

PS. Правда, кажется, что компилиться такая котовасия будет нереально долго если какие нибудь большие числа будут. Там ведь придётся наверное придётся натуральные числа вида (S (S (S Z))) использовать, а они довольно медленно вычисляются.

Исходная версия AndreyKl, :

да, с интами не очень то удачно. Я как то в первую очередь сторону всяких списков полиморфных начал думать, с тайп-левел длиной. Или хотя бы ограничение на непустой список, чтобы safeHead какой нибудь делать. А инты будут, действительно, требовать вычесления.

Но опять же кажется можно сделать что то вроде оператора + на уровне типов который новый инт будет создавать, ну и вместо + придётся использовать какой нибудь другой знак.. попробую на досуге.

А что подразумевалось под «менять стандартные классы», не совсем уловил мысль?