Вопросы с тегом «language-design»

13
Почему тип опции Scala не называется Maybe, как в Haskell? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Почему тип опции Scala не называется Maybe, как в Haskell? Может быть, для...

13
Почему добавление к списку в Scala имеет O (n) сложность по времени?

Я только что прочитал, что время выполнения операции добавления для List(: +) растет линейно с размером List. Присоединение к a Listкажется довольно обычной операцией. Почему идиоматический способ сделать это состоит в том, чтобы предварительно добавить компоненты, а затем перевернуть список? Это...

13
Зачем тебе «я». в Python ссылаться на переменные экземпляра?

Я программировал на нескольких языках, таких как Java, Ruby, Haskell и Python. Мне приходится переключаться между многими языками в день из-за разных проектов, над которыми я работаю. Теперь проблема в том, что я часто забываю написать, так selfкак первый параметр в определениях функций в Python -...

12
Вопрос о создании языка сценариев

Скажем, например, я хотел заплатить кому-нибудь за создание языка программирования или языка сценариев для меня. Какой тип документа им понадобится, чтобы полностью понять, что именно я хочу. Я имею в виду, есть ли стандартные документы, которые описывают новый язык программирования /...

12
Как мне указать грамматику для парсера?

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

12
Десятое правило Гринспуна, включает ли каждый крупный проект интерпретатор Lisp? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Десятое правило Гринспуна (фактически единственное правило) гласит: Any...

12
Включают ли какие-либо заметные расширения C целочисленные типы, поведение которых не зависит от размера машинного слова?

Интересная характеристика языка C по сравнению с некоторыми другими языками состоит в том, что многие из его типов данных основаны на размере слова целевой архитектуры, а не указываются в абсолютных терминах. Хотя это позволяет использовать язык для написания кода на машинах, которые могут иметь...

11
Функции первого класса

Я начал серьезно смотреть на Lisp в эти выходные (я имею в виду, что изучал только Lisp и не возвращаюсь к проектам на C #) и должен сказать, что мне это нравится. Я баловался с другими функциональными языками (F #, Haskell, Erlang), но не чувствовал ничьей, которую дал мне Лисп. Теперь, когда я...

11
Что именно undefined означает в JavaScript? Почему это там? Какие у него использования? Чем это может быть полезно?

В JavaScript у нас есть нечто, называемое неопределенным . Я сказал что-то, потому что я действительно не знаю, является ли это базовым классом, или встроенной переменной, или ключевым словом, или чем-то еще. Я просто знаю, что это там. Чтобы увидеть это в действии, вы можете просто написать:...

11
Разработка динамического языка

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

11
Что является хорошей альтернативой переменной name для языка, который имеет только неизменные ссылки или метки?

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

11
Соответствующий язык программирования для разработки музыкального программного обеспечения [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 5 лет назад . Я хочу разработать программное обеспечение для моего музыкального...

11
Почему шаблоны проектирования не добавляются в языковые конструкции?

Недавно я разговаривал с коллегой, который упомянул, что его компания работает над добавлением шаблона проектирования MVC в качестве расширения PHP. Он объяснил, что они написали C-код для добавления Controllers, Models and Viewsв языковые конструкции для повышения производительности. Теперь я...

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

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

11
Что делают разработчики языка, чтобы решить или доказать, что определенная функция работает правильно?

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

11
Почему ключевое слово «out» используется в двух, казалось бы, разрозненных контекстах?

В C # outключевое слово может использоваться двумя различными способами. В качестве модификатора параметра, в котором аргумент передается по ссылке class OutExample { static void Method(out int i) { i = 44; } static void Main() { int value; Method(out value); // value is now 44 } } В качестве...

11
Почему невозможно перегрузить составной оператор присваивания в C #?

Название вводит в заблуждение, поэтому, пожалуйста, прочитайте весь вопрос :-) . Под «составного оператора присваивания» Я имею в виду конструкцию , как это op=, например +=. Оператор чистого присваивания ( =) не относится к моему вопросу. Под «почему» я имею в виду не мнение, а ресурс (книгу,...

11
Система типов для производительности

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

11
статические глобалы и анонимные пространства имен в C ++

Почему в C ++ проводилось какое-либо различие между статическими глобальными переменными (внутренняя связь) и символами в безымянном пространстве имен (внешняя связь, но в любом случае нет возможности ссылаться на нее извне) при представлении последнего? Какие-либо из этих причин все еще...

11
язык с двумя бинарными операторами одинакового приоритета, левоассоциативный и правосторонний

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