В чем разница между языком программирования и языком сценариев? Например, рассмотрим C против Perl. Единственная разница в том, что языки сценариев требуют только интерпретатора и не требуют компиляции и...
В чем разница между языком программирования и языком сценариев? Например, рассмотрим C против Perl. Единственная разница в том, что языки сценариев требуют только интерпретатора и не требуют компиляции и...
Для заданной помеченной системы переходов , где - набор состояний, - набор меток, а - троичное отношение. Как обычно, напишите для . Помеченный переход обозначает, что система в состоянии меняет состояние на с меткой , что означает, что - это некоторое наблюдаемое действие, вызывающее изменение...
В знаменитом эссе Ричарда Габриэля « Лучше хуже» он противопоставляет карикатурные версии философии дизайна MIT / Stanford (Lisp) и New Jersey (C / Unix) по осям простоты, правильности, согласованности и полноты. Он приводит пример «проблемы с загрузкой ПК» ( обсуждаемой в другом месте Джошем...
Наш профессор попросил нас подумать о функции в OCaml, которая имеет тип 'a -> 'b т.е. функция одного аргумента, которая может быть чем угодно, и которая может возвращать что угодно другое. Я думал об использовании raiseв функции, которая игнорирует ее аргумент: let f x = raise Exit Но профессор...
Я начинаю личное библиографическое исследование по алгоритмам проверки типов и хочу несколько советов. Какие алгоритмы, стратегии и общие методы проверки типов наиболее часто используются? Меня особенно интересуют сложные алгоритмы проверки типов, которые были реализованы в широко известных строго...
Я новичок в теории языка программирования. Я смотрел несколько онлайн-лекций, в которых преподаватель утверждал, что функция с полиморфным типом была forall t: Type, t->tбы идентичностью, но не объяснял почему. Может кто-нибудь объяснить мне, почему? Может быть, доказательство претензии из...
В языках программирования замыкания являются популярной и часто желаемой функцией. Википедия говорит (выделение мое): В информатике замыкание (...) - это функция вместе со средой ссылки для нелокальных переменных этой функции. Закрытие позволяет функции обращаться к переменным вне ее...
Я знаком с дюжиной языков программирования, которые в некотором роде имеют исключения, но я стал свидетелем двух «патологических» тенденций. Кажется, что не существует общего шаблона или иерархии исключений. Каждый язык в основном катит свою собственную версию, и если исключения делают это...
Я изучал книгу "C ++ Demysified" . Теперь я начал читать «Объектно-ориентированное программирование в первом выпуске Turbo C ++ (1-е издание)» Роберта Лафора. У меня нет никаких знаний о программировании, которое выходит за рамки этих книг. Эта книга может быть устаревшей, потому что ей 20 лет. У...
Согласно этой статье следующая строка кода на Лиспе выводит «Hello world» на стандартный вывод. (format t "hello, world") Lisp, который является гомоиконическим языком , может обрабатывать код как данные следующим образом: Теперь представьте, что мы написали следующий макрос: (defmacro backwards...
Я действительно борюсь с этим свойством: Пусть - пространства когерентности, а - монотонная функция. непрерывен тогда и только тогда, когда , для всех таких, что является направленным множеством.f : C l ( X ) → C l ( Y ) f f ( ⋃ x ∈ D x ) = ⋃ x ∈ D f ( x ) D ⊆ C l ( X )...
Я знаю, что можно доказать, что PROLOG является полным по Тьюрингу, создав программу, которая имитирует машину Тьюринга, например: turing(Tape0, Tape) :- perform(q0, [], Ls, Tape0, Rs), reverse(Ls, Ls1), append(Ls1, Rs, Tape). perform(qf, Ls, Ls, Rs, Rs) :- !. perform(Q0, Ls0, Ls, Rs0, Rs) :-...
Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Часто существуют языки программирования, которые специализируются для конкретных задач....
Я работаю над компилятором для конкатенативного языка и хотел бы добавить поддержку вывода типов. Я понимаю Хиндли-Милнера, но я изучаю теорию типов по ходу дела, поэтому не знаю, как ее адаптировать. Является ли следующая система надежной и достоверной? Термин - это литерал, композиция терминов,...
Что касается функций в таких языках, как ruby (и javascript), которые позволяют программисту расширять / переопределять классы в любое время после его определения (включая классы, такие как String), теоретически выполнимо разработать язык, который позволит программам впоследствии расширяться его...
Может ли кто-нибудь отослать меня к рецензируемым статьям, изучающим преимущества или недостатки написания кода в функциональном стиле? Существуют ли документы, в которых обсуждается применение лямбда-исчисления в таких областях, как машинное обучение, языковой дизайн и т....
Я наткнулся на странный опыт программирования на Си. Рассмотрим этот код: int main(){ int array1[6] = {0, 1, 2, 3, 4, 5}; int array2[6] = {6, 7, 8, 9, 10, 11}; printf("%d\n", array1[-1]); return 0; } Когда я компилирую и запускаю это, я не получаю никаких ошибок или предупреждений. Как сказал мой...
Здесь я прочитал это: У Haskell определенно нет самой продвинутой системы типов (даже близко, если считать языки исследований), но из всех языков, которые фактически используются в производстве, Haskell, вероятно, находится на вершине. Поэтому я прошу две вещи: какие языки исследований имеют более...
Я продолжаю слышать о том, как нужно изучать теорию категорий, чтобы действительно понять теорию языка программирования. До сих пор я выучил много PL, даже не ступая в царство категорий. Тем не менее, я подумал, что пришло время сделать прыжок, чтобы увидеть, что я пропустил. К сожалению, ни один...
Я думаю, что я довольно озадачен тем, что называется исчислением и тем, что называется языком программирования. Я склонен думать и, возможно, мне сказали, что исчисление - это формальная система рассуждений об эквивалентности программ. Программы имеют операционную семантику, указанную машиной,...