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

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

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

10
Что делает лямбда-исчисление актуальным для изучения?

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

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

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

10
Соответствующее существительное для «без побочных эффектов»?

Для функций или вычислений у нас есть такие термины, как: Детерминизм - Детерминизм Чистый - Чистота Теперь, каково правильное существительное, соответствующее без побочных эффектов ? "Побочный эффект свободы"? "Побочный эффект свободы"? «Небоковая...

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

Обычно я вижу, что в представлении структурной операционной семантики для цикла while состояние программы не изменяется: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S)...

9
Учитывает ли алгоритм двухстороннего исключения Петерсона процессы умирания?

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

9
При использовании в качестве стека вызовов образует ли DAG стеки из спагетти без мусора?

Я изучаю методы реализации языков программирования и недавно натолкнулся на стеки спагетти, которые предположительно хорошо подходят для модели стиля передачи продолжения (учитывая их использование, например, в Scheme и SML / NJ ). Для упрощения, давайте рассмотрим только однопоточные процессы для...

9
Что такое семантика языка программирования?

В главе 1 « Практических основ языков программирования» автор упоминает, что абстрактные синтаксические деревья связаны с сортировками . Интуитивно, сортировки похожи на типы, но я хотел бы знать, есть ли у них точное определение. Я был бы рад, если бы некоторые ссылки были также...

9
Что является необдуманным примером того, что статическая проверка типов слишком консервативна?

В « Концепциях языков программирования» Джон Митчелл пишет, что статическая проверка типов обязательно является консервативной (чрезмерно строгой) из-за проблемы остановки. Он приводит в качестве примера: if (complicated-expression-that-could-run-forever) then (expression-with-type-error) else...