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

Мови програмування, зокрема, орієнтуючись на їх семантику.

7
Тверді програми теорії категорій у TCS?
Я вивчив декілька біт теорії категорій. Це, безумовно, інший спосіб погляду на речі. (Дуже приблизний підсумок для тих, хто цього не бачив. Теорія категорій дає способи вираження всіх видів математичної поведінки виключно з точки зору функціональних зв'язків між об'єктами. Наприклад, такі речі, як декартовий продукт двох множин, повністю визначені в …

7
Які цікаві теореми в TCS покладаються на вибір аксіоми? (Або, як аксіома рішучості?)
Математики іноді хвилюються з приводу вибору аксіоми (AC) та дефіцитності аксіоми (AD). Аксіома вибору : При будь-якому наборі непустих множин існує функція F , що, з огляду на безліч S в C , повертає елемент з S .CC{\cal C}fffSSSCC{\cal C}SSS Аксіома рішучості : Нехай - це набір нескінченно довгих розрядних …

12
Що є теоретичною основою імперативного програмування?
Функціональне програмування має теоретичну основу в обчисленні лямбда та комбінаторній логіці . Як хтось, хто займається статистичними обчисленнями, я вважаю ці поняття дуже корисними для моделювання. Чи є еквівалентна математична основа імперативного програмування , чи це просто виросло з практичного застосування апаратних засобів машинною мовою та подальшої розробки FORTRAN ?

7
Що являє собою денотаційну семантику?
В іншому потоці Андрій Бауер визначив денотаційну семантику як: значення програми - це функція значень її частин. Що мене турбує у цьому визначенні - це, здається, не виокремлює те, що прийнято вважати денотаційною семантикою з того, що прийнято вважати неденотаційною семантикою, а саме структурною операційною семантикою . Точніше, ключовим інгредієнтом …

7
Використання лямбда-числення для отримання часової складності?
Чи є якісь переваги для обчислення складності в часі алгоритму з використанням лямбда-числення? Або існує інша система, призначена для цього? Будь-які посилання будуть вдячні.

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

6
Регулярні вирази - ні
Запитайте навіть у когось із досвіду інформатики, що таке регулярне вираження, і відповідь, ймовірно, вийде за межі обмеження бути в межах досяжності автоматики з кінцевими станами. Наприклад, "регулярний вираз" /^1?$|^(11+?)\1+$/ створений відомою особистістю Perl Abigail (і частина тестового набору Perl з 2002 року) описує машину, яка приймає лише складені одинарні …

8
Алгоритми вищого порядку
Більшість відомих алгоритмів є першим порядком, в тому сенсі, що їх введення та вихід - це "звичайні" дані. Деякі є тривіальним способом, наприклад, сортування, хештелі або функції карти та складання: вони параметризуються за допомогою функції, але вони насправді не роблять нічого цікавого, окрім як викликати її на фрагменти інших вхідних …

3
Введіть класи проти об’єктних інтерфейсів
Я не думаю, що я розумію типи класів. Я десь читав, що мислення про типові класи як "інтерфейси" (від OO), що тип реалізує, є неправильним та оманливим. Проблема полягає в тому, що у мене виникають проблеми бачити їх як щось інше, і як це неправильно. Наприклад, якщо у мене клас …

4
Дослідження та відкриті виклики в теорії мови програмування
В дусі деяких загальних дискусій, як ця , я відкриваю цю тему з наміром зібрати думки про те, які відкриті виклики та гарячі теми в дослідженнях мов програмування . Я сподіваюся, що дискусія може навіть вивести на поверхню думки щодо майбутнього дослідження мов програмування. Я вважаю, що подібне обговорення допоможе …

5
Мови програмування для ефективного обчислення
Неможливо написати мову програмування, яка дозволяє всім машинам, які зупиняються на всіх входах, і жодних інших. Однак, схоже, визначити таку мову програмування легко для будь-якого стандартного класу складності. Зокрема, ми можемо визначити мову, якою ми можемо виразити всі ефективні обчислення та лише ефективні обчислення. Наприклад, для чогось типу : візьміть …

4
Зв'язок між контрактами та залежним типізацією
Я читав деякі статті про залежні типи та контракти на програмування. З більшості того, що я прочитав, видається, що контракти динамічно перевіряються обмеженнями, а залежні типи - статично перевіряються. Було кілька паперів, які змусили мене думати, що можливо мати контракти, які частково перевіряються статично: Перевірка типу гібриду (C. Flanagan - …

7
Книги з семантики мови програмування
Я читав " Семантику з додатками " Нільсона та Нільсона , і мені дуже подобається тема. Я хотів би мати ще одну книгу з семантики мови програмування - але я дійсно можу отримати лише одну. Я поглянув на книгу Турбака / Гіффорда , але це занадто довго. Я думав, що …

1
Мови програмування з канонічними функціями
Чи існують (функціональні?) Мови програмування, де всі функції мають канонічну форму? Тобто, будь-які дві функції, які повертають однакові значення для всього набору вхідних даних, представлені однаково, наприклад, якщо f (x) повернуто x + 1, а g (x) повернуто x + 2, то f (f (x )) і g (x) генерують …

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.