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

Функціональне програмування - це парадигма програмування, яка в першу чергу використовує функції як засоби побудови абстракцій та вираження обчислень, що містять комп'ютерну програму.

1
Типові умовиводи, засновані на обмеженнях, з алгебраїчними даними
Я працюю над мовою генеалогії ML, заснованої на виразі, тому вона, природно, потребує введення тексту> :) Зараз я намагаюся розширити рішення на основі обмежень для проблеми випливаючих типів, що базується на простому впровадженні в EOPL (Friedman and Wand), але вони елегантно є алгебраїчними типами даних бічного кроку. Те, що я …

1
Короткий приклад експоненціальної вартості висновку типу ML
Мені було звернуто увагу, що вартість виведення типу у такій функціональній мові, як OCaml, може бути дуже високою. Твердження полягає в тому, що існує послідовність виразів, така що для кожного виразу довжина відповідного типу є експоненціальною щодо довжини виразу. Я розробив послідовність нижче. Моє запитання: чи знаєте ви послідовність з …

2
Чи існує парадигма для складання функцій «поступового оновлення» у чистому стилі потоку даних?
Я не знаю правильної термінології для того, щоб задати це питання, тому я опишу це з великою кількістю слів, майте на собі. Передумови , так що ми знаходимося на одній сторінці: Програми часто містять кеші - компроміс часу / пам'яті. Поширена помилка програміста - забути оновити кешоване значення після зміни …

4
Які загальні формальні прийоми доведення функціонального коду правильним?
Я хочу надати докази частин програми Haskell, про яку я пишу, як частину своєї дипломної роботи. Поки що, мені не вдалося знайти хорошої довідкової роботи. Вступна книга Грем Хаттон « Програмування в Хаскеллі» ( Google Books ), яку я читав під час навчання Haskell - торкається кількох прийомів міркування про …

1
Чи роблять Self Types обчислення індуктивних конструкцій застарілими?
Self Types - це розширення обчислення конструкцій [1], що дозволяє мові виражати алгебраїчні типи даних, кодовані через кодування Скотта. Кодування Скотта забезпечує одну можливість узгодження зразка O(1), яка є одним з основних мотиваторів для включення індуктивних визначень на CC. Тим не менш, Self Types створюють набагато простішу і елегантну теорію …

3
анонімні лямбда-функції (функціональне програмування)
Що таке анонімні (лямбда) функції? Яке формальне визначення анонімної функції у функціональній мові програмування? Простіше кажучи, коли я програмую схему / lisp, я б сказав, що анонімна (лямбда) функція - це функція, яка не пов'язана з ідентифікатором. Це все, що можна формально сказати про функцію лямбда? Я думаю, є більше …

1
λ -рахунок: Що є найбільш ефективним у представленні функцій пам'яті?
Я хотів би порівняти продуктивність функцій, кодованих (Церква / Скотт), з класично кодованими (асемблером / С) структурами даних. Але перш ніж це зробити, мені потрібно знати, наскільки ефективно / може бути функціональне представлення в пам'яті. Звичайно, функція може бути частково застосована (також закриття). Мене цікавлять як поточний алгоритм кодування, який …

2
Доведення операції сортування в системі типів
Хочу знати, наскільки може бути корисною система типу в мові програмування. Наприклад, я знаю, що в залежності від набраної мови програмування ми можемо створити Vectorклас, що включає розмір вектора в підпис типу. Це як приклад де-факто. Ми також можемо записати функцію, appendвикористовуючи ці підписи, щоб компілятор довів, що розмір списку …

1
Чи завжди терміни комбінаційної логіки більше?
Отже, існує алгоритм перетворення термінів обчислення лямбда в комбінаторну логіку за допомогою комбінаторів SK. Він виробляє речі, які вибухають за розмірами. Я хотів би дізнатися більше про цей вибух у розмірах. Я, здається, не думаю про кращий алгоритм. Я чув, як функціональні мови практично складаються в комбінатори, тому здається, що …

3
Чи існує незмінність у функціональному програмуванні насправді?
Хоча я працюю програмістом у своєму повсякденному житті та використовую всі модні мови (Python, Java, C тощо), я все ще не маю чіткого уявлення про те, що таке функціональне програмування. З того, що я читав, одна властивість функціонально мов - це те, що структури даних є незмінними . Само по …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.