Язык программирования с перегибом - PullRequest
10 голосов
/ 04 мая 2010

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

То, о чем я говорю, - это использование перегибов для добавления значения в идентификатор, такой как имя переменной или типа. Например:

native type integer

var x : integer = 12
var location : integers = 12, 5, 42
say 0th locationte to_string (( -te replaces "." operator. prints 12 ))

Ответы [ 7 ]

11 голосов
/ 04 мая 2010

Я думаю Perligata (Perl на латыни) - это то, что вы ищете. :) Из статьи

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

Вот пример программы (Сито Эратосфена):

    #! /usr/local/bin/perl -w
    use Lingua::Romana::Perligata;
    maximum inquementum tum biguttam egresso scribe.
    meo maximo vestibulo perlegamentum da.
    da duo tum maximum conscribementa meis listis.
    dum listis decapitamentum damentum nexto
        fac sic
            nextum tum novumversum scribe egresso.
            lista sic hoc recidementum nextum cis vannementa da listis.
        cis.
7 голосов
/ 04 мая 2010

Это частично шутливо, но ... ассемблер? Такие вещи, как инструкции условного перехода, часто являются вариациями корня («J» для перехода или еще чего-нибудь) с добавлением суффиксов для обозначения соответствующего условия («JNZ» для перехода «если не ноль» и т. Д.).

5 голосов
/ 05 мая 2010

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

Любой, кто интересуется необычными, но успешными языковыми схемами, должен обратиться к Inform 7.

2 голосов
/ 04 мая 2010

Предположительно любой язык программирования, который использует естественный язык явно или близко в качестве основы, например, Программирование на естественном языке . В Массачусетском технологическом институте было проведено некоторое исследование по использованию английского языка для создания скелетов программ высокого уровня, что больше относится к обработке естественного языка; созданный ими инструмент называется Metafor .

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

0 голосов
/ 29 июня 2018

Стандартный модуль Python3.7 contextvars имеет переменные контекста, которые можно использовать для перегиба.

0 голосов
/ 04 мая 2010
  • FORTRAN использует первую букву имени для определения типа неявно объявленной переменной.
  • COBOL имеет единственную и множественную версии своих «образных констант», например, SPACE и SPACES.
0 голосов
/ 04 мая 2010

Из примерно 40 языков, которые я знаю, единственное, что приходит на ум, - это несколько редких реализаций SQL, которые включают дружественные псевдонимы. Например, чтобы выбрать базу данных по умолчанию после подключения, стандартом является USE <some database name>, но я использовал где-то еще, что также позволило USING <some database name>.

...