Вопросы с тегом «pl.programming-languages»

Языки программирования, в частности, ориентированы на их семантику.

7
Твердые приложения теории категорий в TCS?
Я изучил несколько частей теории категорий. Это, безусловно, другой взгляд на вещи. (Очень грубое резюме для тех, кто этого не видел: теория категорий дает способы выражения всех видов математического поведения исключительно в терминах функциональных отношений между объектами. Например, такие вещи, как декартово произведение двух множеств, определяются полностью в терминах как …

7
Какие интересные теоремы в TCS опираются на Аксиому выбора? (Или, в качестве альтернативы, Аксиома Определенности?)
Иногда математики беспокоятся об аксиоме выбора (AC) и аксиоме детерминированности (AD). Аксиома выбора : При любом наборе непустых множеств существует функция F , что, учитывая множество S в C , возвращает элемент из S .СC{\cal C}еffSSSСC{\cal C}SSS Аксиома детерминированности : Пусть - набор бесконечно длинных битовых строк. Алиса и Боб …

12
Что является теоретической основой императивного программирования?
Функциональное программирование имеет теоретическую основу в лямбда-исчислении и комбинаторной логике . Как человек, занимающийся статистическими вычислениями, я нахожу эти концепции очень полезными для моделирования. Существует ли эквивалентная математическая основа императивного программирования или это просто результат практического применения аппаратного обеспечения на машинном языке и последующего развития Фортрана ?

7
Что составляет денотационную семантику?
В другом потоке Андрей Бауэр определил денотационную семантику как: значение программы является функцией значений ее частей. Что беспокоит меня в этом определении, так это то, что оно, кажется, не выделяет то, что обычно считается денотационной семантикой, из того, что принято считать неденотационной семантикой, а именно структурную операционную семантику . Точнее …

7
Использование лямбда-исчисления для определения сложности времени?
Есть ли какие-либо преимущества в расчете временной сложности алгоритма с использованием лямбда-исчисления? Или есть другая система, разработанная для этой цели? Любые ссылки будут оценены.

7
Что мы знаем о достоверно правильных программах?
Постоянно растущая сложность компьютерных программ и все более важное положение, которое компьютеры занимают в нашем обществе, заставляют меня задуматься, почему мы до сих пор не используем все вместе языки программирования, на которых вам необходимо предоставить формальное доказательство правильности работы вашего кода. Я считаю, что этот термин является «сертифицирующим компилятором» (я …

6
Регулярные выражения не
Спросите даже кого-то, имеющего опыт работы в области компьютерных наук, что такое регулярное выражение, и ответ, вероятно, выйдет за пределы возможности быть в пределах досягаемости конечного автомата. Например, «регулярное выражение» /^1?$|^(11+?)\1+$/ созданная известной личностью Perl Абигейл (и часть набора тестов Perl с 2002 года) описывает машину, которая принимает только составные …

8
Алгоритмы высшего порядка
Большинство известных алгоритмов первого порядка в том смысле, что их ввод и вывод являются «простыми» данными. Некоторые из них являются вторым порядком тривиальным способом, например, сортировка, хеш-таблицы или функции map и fold: они параметризуются функцией, но на самом деле они не делают с ней ничего интересного, кроме как вызывают ее …

3
Типы классов против объектных интерфейсов
Я не думаю, что понимаю классы типов. Я где-то читал, что думать о классах типов как о «интерфейсах» (из ОО), которые реализует тип, неправильно и вводит в заблуждение. Проблема в том, что я испытываю проблемы, видя их как нечто иное, и как это неправильно. Например, если у меня есть класс …

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

5
Языки программирования для эффективных вычислений
Невозможно написать язык программирования, который позволяет всем машинам, которые останавливаются на всех входах, и никаким другим. Тем не менее, кажется, что легко определить такой язык программирования для любого стандартного класса сложности. В частности, мы можем определить язык, на котором мы можем выразить все эффективные вычисления и только эффективные вычисления. Например, …

4
Отношения между контрактами и зависимой типизацией
Я читал несколько статей о зависимых типах и контрактах программирования. Из большей части того, что я прочитал, кажется, что контракты - это динамически проверяемые ограничения, а зависимые типы проверяются статически. Были некоторые бумаги, которые заставили меня думать, что возможно иметь контракты, которые частично проверяются статически: Гибридная проверка типа (C. Flanagan …

7
Книги по семантике языка программирования
Я читал « Семантику с приложениями » от Nielson & Nielson , и мне очень нравится эта тема. Я хотел бы иметь еще одну книгу по семантике языка программирования - но я действительно могу получить только одну. Я взглянул на книгу « Турбак / Гиффорд» , но она слишком многословна; …

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.