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

Питання, пов'язані з розробкою, реалізацією та аналізом мов програмування. НЕ для питань, як програмувати, які є поза темою на цьому сайті.

4
Чи можете ви вказати мову програмування без реалізації?
Чи теоретично можливо вказати мову програмування, для якої не може існувати жодна реалізація? Мова програмування - це спосіб визначення функцій. Реалізація означає метод виконання заданої програми на цій мові на заданому вході до виводу функції, відповідної програмі на цьому вході. Які мінімальні вимоги до такої мови?

1
Типи як громадянин першого класу
Виходячи з фону C ++, я не розумію, для чого потрібні вирази типів / типів як громадянина першого класу? Єдиною моєю мовою, яка підтримує цю функцію, є Aldor. Хтось має літературу про типи як громадянин першого класу чи знає деякі причини, чому це корисно?

8
Відповідний іменник для "side-effect-free"?
Для функцій або обчислень у нас є такі терміни, як: Детермінований - детермінізм Чисто - чистота Тепер який правильний відповідний іменник для побічних ефектів ? "Побічна вільність"? "Побічна свобода"? "Побічна ефективність"?

2
Що робить обчислення лямбда важливими для дослідження?
Наступної осені я розпочинаю бакалавратський курс інформатики, але я не можу зрозуміти λ-числення в контексті функціонального програмування. Я, можливо, неправильно трактую це, але виходячи з цього визначення з Енциклопедії філософії Стенфорда, це лише чергове позначення функцій. Якщо це як раз те, чому це вигідно використовувати λ-числення над регулярною функцією нотацією …

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

1
Мова програмування, яка може реалізовувати лише обчислювані біективні функції?
Чи існують мови програмування (або логіка), які можуть реалізовувати (або виражати) функцію якщо і лише якщо - обчислювані біективні функції?f:N→Nf:N→Nf:\mathbb{N}\to \mathbb{N}fff

3
Поліморфізм та індуктивні типи даних
Мені цікаво. Я працюю над цим типом даних в OCaml : type 'a exptree = | Epsilon | Delta of 'a exptree * 'a exptree | Omicron of 'a | Iota of 'a exptree exptree З якими можна маніпулювати за допомогою явно набраних рекурсивних функцій (функція, яка була додана зовсім …

2
Яка різниця між змінними та покажчиками?
Під час читання статті, що окреслює відмінності в програмі OO та функціональному програмі, я натрапив на функціональні покажчики. Минув час, коли я закінчив ступінь комп'ютерних наук (2003), і тому я шукав вказівники, щоб оновити свою пам'ять. Покажчики - це змінні, що містять посилання на адресу пам'яті. Вони можуть вважатися вказівками …

2
Складіть мову програмування з собою
Я студент інформатики. Я хочу створити власну мову програмування (Основна мова з кількома інструкціями). Я знаю, як зробити синтаксичний аналізатор, я вже робив це в Perl. У статті я прочитав щось про компілятор, компілятор робиться сам по собі. Наприклад, компілятор C написаний на C. Як це можливо? Я можу скласти …

3
Чому держава залишається незмінною у малих крокових оперативних семантиках певного часу?
Зазвичай я бачу, що в структурному представленні оперативної семантики для циклу while стан програми не змінюється: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) Для мене це не інтуїтивно зрозуміло, якщо стан не зміниться …

1
Чи використовуються стеки спагетті без сміття, коли вони використовуються як стек дзвінків?
Я вивчаю методи впровадження мов програмування, і нещодавно натрапив на спагеті, які нібито добре підходять для моделі стилю продовження передачі (враховуючи їх використання, наприклад, у Scheme та SML / NJ ). Для цього просто розглянемо лише однопотокові процеси для цього питання. Однак мене трохи бентежить діаграма у Вікіпедії (також зустрічається …

1
Що таке надмірний приклад статичної перевірки типу занадто консервативного?
У поняттях з мов програмування Джон Мітчелл пише, що перевірка статичного типу обов'язково консервативна (надто сувора) через проблему зупинки. Він наводить як приклад: if (complicated-expression-that-could-run-forever) then (expression-with-type-error) else (expression-with-type-error) Чи може хтось надати неспростову відповідь, яка б насправді була проблемою? Я розумію, що Java дозволяє динамічно перевіряти касти для таких …

4
Що таке семантика мови програмування?
У главі 1 « Практичні основи мов програмування» автор зазначає, що абстрактні синтаксичні дерева асоціюються з різновидами . Інтуїтивно зрозумілі види - це типи, але я хотів би знати, чи мають вони точне визначення. Буду радий, якщо також будуть надані деякі довідки.

2
Чи враховує 2-процесний алгоритм взаємного виключення Петерсона для вмираючих процесів?
Я думаю, що в алгоритмі Петерсона для взаємного виключення , якби процес, який першим увійшов до критичного розділу, загинув або був би скасований, інший процес навіяться циклом назавжди, чекаючи входу в критичний розділ. На малюнку, якщо процес 1 зупинений, решта процесів, що стоять за процесом 1, виконуватимуться там, де знаходиться …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.