Вопросы по теме 'fixpoint-combinators'

Какая фиксированная точка фиксации?
Недавний плакат, который лучше всего оставить анонимным, попытался реализовать факториальную функцию следующим образом: f :: Int -> Int f = fix f Это явно не сработало. Но потом я задумался: могу ли я пройти проверку типов? Что откроет...
115 просмотров
schedule 03.03.2023

Почему эта версия fix более эффективна в Haskell?
В Haskell это простое (наивное) определение фиксированной точки fix :: (a -> a) -> a fix f = f (fix f) Но вот как это реализовано в Haskell (более эффективно) fix f = let x = f x in x Мой вопрос: почему второй более эффективен,...
1317 просмотров
schedule 19.05.2023

Haskell: получение типов Show для Fix
Я пытаюсь реализовать рекурсивный тип данных, используя recursion-schemes . Я хотел бы иметь возможность распечатать его. import Data.Functor.Foldable data T1F a = Foo deriving Show type T1 = Fix T1F data T2 = Bar T1 deriving Show -- error...
498 просмотров

Использование комбинаторов Comonad Fix
Так что в последнее время я экспериментировал с фиксированными точками и, наконец, боролся с обычными фиксированными точками в достаточной степени, чтобы обнаружить некоторые применения; теперь я перехожу к комонадическим фиксированным точкам и...
241 просмотров
schedule 16.06.2023

Определите списки с наименьшей фиксированной точкой, суммой и типами продуктов
Я хочу определить списки, используя только определения этого типа: data Unit = Unit data Prod a b = P a b data Sum a b = L a | R b newtype Mu f = Mu (forall a . (f a -> a) -> a) Мне удалось определить натуральные числа следующим...
163 просмотров

Y-комбинатор, похоже, не имеет никакого эффекта
Я попытался использовать y-комбинатор (как в Lua, так и в Clojure), так как думал, что это позволит мне превысить размер реализации стека по умолчанию при использовании рекурсии. Кажется, я ошибся. Да, это работает, но в обеих этих системах стек...
220 просмотров

Наименьшая фиксированная точка, наибольшая фиксированная точка
Почему наименьшая фиксированная точка совпадает с наибольшей фиксированной точкой в ​​ленивом неполном языке, таком как Haskell? При чем тут непрерывность полных частичных заказов?
673 просмотров
schedule 02.03.2023

Совместное использование и отсутствие совместного использования комбинатора с фиксированной запятой
Это обычное определение комбинатора с фиксированной точкой в ​​Haskell: fix :: (a -> a) -> a fix f = let x = f x in x На https://wiki.haskell.org/Prime_numbers#Linear_merging они определяют другую фиксированную точку комбинатор:...
323 просмотров

Как repmin размещает значения в дереве в Haskell?
Мне очень нравится задача repmin : Запишите repmin :: Tree Int -> Tree Int , который заменяет все числа в дереве на их минимум за один проход. Если бы я писал что-то подобное на python, я бы передавал значения по их ссылке (скажем,...
124 просмотров