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

13
В чем разница между исчислением и языком программирования?

Я думаю, что я довольно озадачен тем, что называется исчислением и тем, что называется языком программирования. Я склонен думать и, возможно, мне сказали, что исчисление - это формальная система рассуждений об эквивалентности программ. Программы имеют операционную семантику, указанную машиной,...

12
Монада ввода-вывода технически неверна?

На вики Haskell есть следующий пример условного использования монады ввода / вывода (см. Здесь) . when :: Bool -> IO () -> IO () when condition action world = if condition then action world else ((), world) Обратите внимание, что в этом примере определение IO aиспользуется, RealWorld ->...

12
Какие другие языки программирования, кроме Python и предшественника, используют отступ для определения блоков кода? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он был по теме для Computer Science Stack Exchange. Закрыто 11 месяцев назад . Python довольно широко использует отступы для синтаксического определения блоков кода....

12
Лямбда-исчисление: разница между контекстами и контекстами оценки

Во-первых, я хотел бы сказать, что мой текст ниже может содержать ошибки, поэтому не стесняйтесь указывать на любые ошибки в моей формулировке вопроса. Рассмотрим нетипизированное лямбда-исчисление с логическими значениями и операторами if, термины которых задаются этим синтаксисом: t ::= v | t t |...

12
Почему мы больше не исследуем гарантии времени компиляции?

Мне нравится все, что происходит во время компиляции, и мне нравится идея, что, как только вы скомпилируете программу, вы получите много гарантий относительно ее выполнения. Вообще говоря, статическая система типов (Haskell, C ++, ...), похоже, дает более сильные гарантии во время компиляции, чем...

12
Связь между расселевской теорией типов и системами типов

Недавно я понял, что существует некоторая связь между теорией Расселла и системами типов, как, например, в Haskell. На самом деле, некоторые из обозначений типов в Хаскеле, похоже, имеют предшественники в теории типов. Но, IMHO, мотивация Рассела в 1908 году состояла в том, чтобы избежать парадокса...

12
Может кто-нибудь привести простой, но не игрушечный пример контекстно-зависимой грамматики?

Я пытаюсь понять контекстно-зависимые грамматики. Я понимаю, почему языки как { w w ∣ w ∈ A*}{ww∣w∈A∗}\{ww \mid w \in A^*\} {anbncn∣n∈N}{anbncn∣n∈N}\{a^n b^n c^n \mid n\in\mathbb{N}\} не являются контекстно-свободными, но я хотел бы знать, чувствителен ли контекстный язык, похожий на...

11
Предлагая уточнения типов

На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные letвыражения, например так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then {...

11
Имеет ли смысл иметь понятия «ноль» и «возможно»?

При создании клиента для веб-API в C # я столкнулся с проблемой, связанной nullсо значением, в которой он представлял бы две разные вещи: ничего , например, fooможет иметь или не иметьbar неизвестно : по умолчанию ответ API включает только подмножество свойств, вы должны указать, какие...

11
Инструмент прототипирования семантики языка программирования

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

11
Вывод типа на основе ограничений с алгебраическими данными

Я работаю над языком выражения, основанным на генеалогии ML, поэтому, естественно, требуется вывод типа> :) Теперь я пытаюсь расширить решение на основе ограничений для определения типов, основанное на простой реализации в EOPL (Фридман и Ванд), но они элегантно обходят алгебраические типы...

11
Почему наименьшая фиксированная точка (lfp) важна для анализа программы

Я пытаюсь получить общее представление о важности наименьшей фиксированной точки (lfp) в анализе программы. Например, абстрактная интерпретация, кажется, использует существование lfp. Многие исследовательские работы по анализу программ также сосредоточены на поиске наименее фиксированной точки....

11
Определение состояния объекта в ООП

Мне нужно краткое определение «состояния объекта» в объектно-ориентированном программировании (для статьи). Примерно полдня я искал статью, которую смогу процитировать по этой теме, но не смог ее найти. Все статьи, которые я нашел, были в основном общими статьями по объектно-ориентированному...

11
Почему мы должны обменять абстракцию на скорость?

Почему языки высокого уровня, по-видимому, никогда не достигают языков низкого уровня с точки зрения скорости? Примерами языков высокого уровня могут служить Python, Haskell и Java. Низкоуровневые языки было бы сложнее определить, но, скажем, C. Сравнения можно найти по всему Интернету и все они...

11
Можете ли вы указать язык программирования без реализации?

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

11
В чем разница между абстрактными типами данных и объектами?

Ответ на Programmers.SE характеризует эссе Кука ( объекты не АТД ) , как говорят Объекты ведут себя как характеристическая функция над значениями типа, а не как алгебра. Объекты используют процедурную абстракцию, а не абстракцию типа ADT обычно имеют уникальную реализацию в программе. Когда у...

10
анонимные лямбда-функции (функциональное программирование)

Что такое анонимные (лямбда) функции? Каково формальное определение анонимной функции в функциональном языке программирования? Проще говоря, когда я программирую на схеме / lisp, я бы сказал, что анонимная (лямбда) функция - это функция, которая не связана с идентификатором. Это все, что вы можете...

10
Язык программирования, который может реализовывать только вычислимые биективные функции?

Существуют ли языки программирования (или логика), которые могут реализовать (или выразить) функцию тогда и только тогда, когда f вычислимые биективные функции?f:N→Nf:N→Nf:\mathbb{N}\to...

10
Скомпилируйте язык программирования с самим собой

Я студент информатики. Я хочу создать свой собственный язык программирования (базовый язык с несколькими инструкциями). Я знаю, как сделать синтаксический анализатор, я уже сделал это в Perl. В статье я прочитал кое-что о компиляторе, компилятор сделан сам по себе. Например, компилятор C написан на...

10
В чем разница между переменными и указателями?

Когда я читал статью с описанием различий в ОО и функциональном программировании, я наткнулся на указатели функций. Прошло много времени с тех пор, как я получил степень в области компьютерных наук (2003), и поэтому я искал указатели, чтобы освежить свою память. Указатели - это переменные,...