Запитання з тегом «functional-programming»

1
Тип систем, що запобігають протікання пам’яті, пов’язаної з лінню?
Можливо, головне джерело проблем з продуктивністю в Haskell - це коли програма ненавмисно накопичує частину необмеженої глибини - це спричиняє як витік пам'яті, так і потенційний переповнення стека при оцінці. Класичний приклад - визначення sum = foldr (+) 0в Haskell. Чи існують системи типів, які статично забезпечують відсутність таких громів …


2
Як вибрати функціональну структуру словника даних?
Я прочитав трохи про такі структури даних: Ідеальний хеш Багвелла Динамічні хеш-таблиці Larson Червоно-чорні дерева Патріція дерева ... і я впевнений, що там багато інших. Я дуже мало бачив на шляху того, що кожному краще підходить, або чому я б обрала одне над іншим. Отже, ось кілька питань у цьому …

1
Які теоретичні межі мови програмування Стратего?
Stratego - мова трансформації програмування / Переписування DSL. Ентоні Слоун провів певну роботу, виконуючи реалізацію, що працює на Scala . Які теоретичні межі Стратего як функціональної мови? (незалежно від реалізації). Чи можна написати додаткове замовлення ycombinator в Стратего?


3
Чи еквівалентний клас примітивних функцій рекурсії класу функцій, який виявляється, що Фетус припиняється?
Плід, якщо ви про нього не чули, можна прочитати тут . Він використовує систему "матриць викликів" та "графіків викликів", щоб знайти всю "поведінку рекурсії" рекурсивних викликів у функції. Щоб показати, що функція припиняється, це показує, що всі поведінки рекурсії рекурсивних викликів, зроблених до функції, підкоряються певному "лексикографічному впорядкуванню". Його перевірка …

1
Які можливі реалізації класів типів Haskell і які їх переваги?
Наскільки мені відомо, функція Haskell з обмеженнями класів типів внутрішньо компілюється у функцію з додатковими аргументами, які отримують словники з необхідними реалізаціями кожного конкретного класу типу. Чи є інші можливості, як компілювати класи типів? Якщо так, то які їх (не) переваги? І які компілятори ними користуються?
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.