тоесть, получается, что выражение: fun arg
на самом деле означает не применение функции fun к arg,
а карринг функции fun по первому аргументу.
и если повезёт, и у fun больше нет аргументов, то результат будет скаляром,
а если не повезёт — то будет функцией с n-1 аргументами.
обозначение:
ghci> :t max
max :: (Ord a) => a -> a -> a
при таком раскладе выглядит логичнее, чем «принимает два аргумента»
даже для языков с близкими «семантическими моделями» (например — русский и украинский), любой перевод происходит с потерей информации (а то и привнесением новой).
независимо от квалификации переводчика.
просто по сути процесса.
это весьма распространённое явление.
прочитанный текст «компилируется» во внутреннее представление знаний.
и чем больше языков знаешь, тем богаче «формат» само этого внутренее представление.
причом в совершенстве владеть ими не обязательно.
например, достаточно проникнуться структурой предложения в японском или китайском (тема+рема), и это серьёзно добавит выразительности «в голове».
И вот вам ещё в тему эзотерического программирования: язык Iota, состоящий из единственного оператора. (комбинатора и ещё одного символа играющего роль скобок).
Язык сводится к исчислению KSI-комбинаторов (которое в свою очередь — к лямбда исчислению), и потому является тьюринг-полным.
как видно, алгоритм танцует не от грамматики, а от связываемости символов.
а классификация грамматик, тогоже Хомского, основана на теории автоматов, которая тут никак не используются.
как одно с другим связано — так просто не скажешь.
исходная публикация, к сожалению, доступна только за 100$, потомучто ACM.
а по ссылкам можно найти примеры разбора грамматики питоновских выражений,
в том числе оператора «not in» и прочих завитушек.
на самом деле означает не применение функции fun к arg,
а карринг функции fun по первому аргументу.
и если повезёт, и у fun больше нет аргументов, то результат будет скаляром,
а если не повезёт — то будет функцией с n-1 аргументами.
обозначение:
ghci> :t max
max :: (Ord a) => a -> a -> a
при таком раскладе выглядит логичнее, чем «принимает два аргумента»
и как?
там, похоже, структуры предложений выстраиваются а потом заполняются.
Алгоритм там, как я понимаю, такой же, но по целым словам.
+ согласование окончаний (mystem) и знаков препинания.
и вот что делать в таких случаях?
вот, например, ну очень интересные статьи (для понимания засады достаточно прочитать имя автора)
независимо от квалификации переводчика.
просто по сути процесса.
прочитанный текст «компилируется» во внутреннее представление знаний.
и чем больше языков знаешь, тем богаче «формат» само этого внутренее представление.
причом в совершенстве владеть ими не обязательно.
например, достаточно проникнуться структурой предложения в японском или китайском (тема+рема), и это серьёзно добавит выразительности «в голове».
Язык сводится к исчислению KSI-комбинаторов (которое в свою очередь — к лямбда исчислению), и потому является тьюринг-полным.
причём по определению — с потерями информации.
Но и мир так и не завоевал досихпор.
например, авторы клавогонок обещали как-нибудь прикрутить такое в режиме «абракадабры».
а художественные авторы названия всё же не совсем от фонаря берут.
но нехватает наглядной демонстрации какого-нибудь алгоритма
а классификация грамматик, тогоже Хомского, основана на теории автоматов, которая тут никак не используются.
как одно с другим связано — так просто не скажешь.
исходная публикация, к сожалению, доступна только за 100$, потомучто ACM.
а по ссылкам можно найти примеры разбора грамматики питоновских выражений,
в том числе оператора «not in» и прочих завитушек.
а для хранения данных придуманы бызы данных и всякие кэши.