LINUX.ORG.RU

А много ли есть языков, где нет фиксированного «синтаксиса»?

 , , ,


3

6

Вообще, под синтаксисом часто понимаются разные вещи, понятие довольно расплывчатое. Кстати, есть ли четкое, абсолютно однозначная, каноническая трактовка?

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

Опять же, тут есть тонкая грань. Если каждому оператору соответствует какое-либо выражение языка, то все еще можно считать, что в языке все есть выражение. В таком случае, это можно считать легкой косметикой. Например, оператору := в Io соответствует выражение setSlot. Спецформе define в Scheme не соответствует никакое выражение. Соответственно, на Io можно писать используя одни только выражения, на scheme — нет.

Таким образом, к языкам без синтаксиса(или как это лучше назвать) можно отнести те, на которых весь код может быть написан без использования препроцессора, на одних только выражениях.

Наверное, tcl сюда входит, picolisp, возможно смоллток(поправьте, если я ошибаюсь). А еще есть?

UPD точней будет, наверное, не «без синтаксиса», а «независим от синтаксиса»



Последнее исправление: callbackhell (всего исправлений: 4)
Ответ на: комментарий от anonymous

игры со стеками важная культурная особенность форт-комьюнити.

однако это очередная частность заслонившая исходный инсайт Мура.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

как и «посылка сообщений» — акторов в стиле смоллток.

а в чём он, исходный инсайт? в стиле colorforth и green array?

anonymous
()
Ответ на: комментарий от qulinxao

игры со стеками важная культурная особенность форт-комьюнити. однако это очередная частность заслонившая исходный инсайт Мура.

Это вобще для всех языков справедливо. Стековые вычисления — это раковая опухоль программирования. Стек есть ни что иное, как средство синхронизации. Он должен использоваться явно, там где это необходимо. По дефолту же, все сообщения должны быть асинхронны. Однако, в современном программировании, стековая дисциплина выдвинута как основа, дефолтное исполнение практически всегда содержит подковерный стек, ИМХО, современный прогер из-за этого видит нереальный мир. Он думает в категориях «вернуть значение» безотносительно того, куда вернуть его. Получить его может не обязательно стек, но и любой другой актор, безо всякого посредничества стека. Стек, концептуально, должен быть всего лишь одним из акторов. Он не должен быть «вездесущим». Это противоречит конкурентным вчислениям, в частности. Это гребанная плесень, проевшая мозг современным дезигнерам.

callbackhell
() автор топика
Ответ на: комментарий от callbackhell

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

anonymous
()
Ответ на: комментарий от callbackhell

Стек, концептуально, должен быть всего лишь одним из акторов. Он не должен быть «вездесущим»

или так: очередь, стек, сериализация — это последовательность, моноид.

то есть: сериализуя мы генерируем упорядочивание по какой-то алгебре, какой-то логике (в рамках её топологии, связности). стек — он в голове, виртуальный моноид.

что фактически происходит — так это передача окружений, «точек сборки» актора и его состояний сознания.

перемещая «точки сборки», мы можем выбирать реальности (процессы или алгоритмы, в рамках метапроцесса — объекта с жизненным циклом, метаобъектного протокола или метаалгоритма).

изменяя состояния сознания — перемещаться по топологии, этапам ЖЦ этого метаобъекта.

одно перемещение — в пространстве (алгоритмов), другое качественное — во времени (в духе причинной механики Н.Козырева).

Это противоречит конкурентным вчислениям, в частности.

конкурентность или сотрудничество, использование в тёмную или служение нужности — всего лишь точки зрения, состояния сознания + «точки сборки». как и эта.

anonymous
()
Ответ на: комментарий от callbackhell

стек это «моноид на верёвках».

anonymous
()
Ответ на: комментарий от qulinxao

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

anonymous
()
Ответ на: комментарий от anonymous

не на ковыриваеться статья (в прошлый раз в виде набора жпег-сканов конца 60-ых начала 70ых) согласно http://www.colorforth.com/HOPL.html статья ещё до шитого кода

 : NEXT   IP )+ W MOV  W )+ ) JMP ;

(в сторону ) вот ориг. текст про шитость: http://home.claranet.nl/users/mhx/Forth_Bell.pdf

исходный инстайт(и его реализации хоть и были медленее чем косвено шитое и шитое(для форта это по сути взаимо однозначное сответсвие имени_слова<->номер(адрес) ) вообще но как прототип обладали всеми особеностями)

это вышеупомянутое определени новое_слово это строка уже известных слов.

т.е буквально открой любой книжный словарь и игнорируя синтаксис естественного языка будет ровно это же.

т.е вкорячивание в реальные форты if|then через манипуляции с интерпритацией и вкомпилирование адресов веток - это уступка реализациям.

а вот прыгание по словарным определениям и сбрасывание стека возвратов(для реализации ветвлений и циклов) было уже в исходном инсайте когда словарные определения были буквально строкой слов разделённых пробелами.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

т.е буквально открой любой книжный словарь и игнорируя синтаксис естественного языка будет ровно это же.

По-моему, ты упускаешь из вида еще одно важное обстоятельство — интерпретация слова во многом зависит от того, кто интерпретирует его. То есть, это не просто некая совокупность ранее определенных слов, но и совокопность ранее определенных кем то слов, чьялибо трактовка слова. Конечно, для банальных слов принято считать, что они всеми трактуются одинаково, но это не обязательно. Другие же, более сложные определения могут трактоваться разными людьми по разному. В частности, противоречивость — есть норма для сложных систем, не существует абсолютной истины, и лжи, к которым можно все свести. Такая философия, в частности, присутствует в модели Акторов, и отражена в «direct logic» Карла Хьюитта.

callbackhell
() автор топика
Ответ на: комментарий от callbackhell

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

qulinxao ★★☆
()
Ответ на: комментарий от callbackhell

В частности, противоречивость — есть норма для сложных систем, не существует абсолютной истины, и лжи, к которым можно все свести.

в этом контексте интересна статья про «аксиому эмерждментности и правило генезиса» и про вывод (порождение) ПЛС, причинно-логической связи как ЦД (циклическая детерминация) и СС — «причинный цикл», ПЦ.

интуитивно понятно, что «логический круг» как герметический круг, круг понимания, парадокс, зацикливание — возникает в одной какой-то логике и с одной какой-то точки зрения (например, ср. парадокс лжеца).

а с другой точки зрения — не возникает. следовательно, происходит транформация топологии (ср.: топос Гротендика это пространство с изменяемой, программируемой топологией) — сохраняя связность, инварианты логики, старой и новой металогики.

anonymous
()
Ответ на: комментарий от qulinxao

как будто есть какая-то существенная (качественная) разница :)))) шуутка.

anonymous
()
Ответ на: комментарий от callbackhell

Как это связано с фиксированностью синтаксиса?

Непосредственным образом. Ты, тупо, не можешь переопределить спецформы, они захардкорены.

Никак. Спецформы обрабатываются вычислителем, а не читателем (который в CL как бы парсер). Т.е. синтаксис заканчивается до того, как начинаются спецформы.

Можешь считать в данном контексте, что имеется в виду лексический набор языка.

Под синтаксисом понимать лексический набор языка... Стало только хуже. Давай эту ветку закроем.

Gentooshnik ★★★★★
()
Ответ на: комментарий от callbackhell

И, кстати, в своём пространстве имён можно определять что угодно, можно и с именами совпадающими со стандартными спецформами, но это реально никакого отношения к синтаксису не имеет.

Gentooshnik ★★★★★
()
Ответ на: комментарий от qulinxao

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

callbackhell
() автор топика
Ответ на: комментарий от qulinxao

ср. «искусство памяти» Джордано Бруно — про разлад между схоластами-педантами и комбинАторным подходом в простой, формальной логике; и «систему мира» как гипертекст Раймонда Луллия и далее монады Ди, Флада и «искусство памяти» Джордано Бруно

пыщь

Слово «метод» обрело свою популярность благодаря Рамусу. В одной из предшествующих глав1 мы видели, что между рамизмом и искусством памяти существует тесная связь, и уже одно это может заставить нас предположить существование связи между историей памяти и историей метода. Но это слово также использовалось в луллизме и каббализме, которые разрослись пышным цветом в тесном соседстве с искусной памятью. Один из многих возможных здесь примеров – это «циклический метод» всеобъемлющего познания, описанный Корнелием Геммой в его «De arte cyclognomica»,2 составленный из луллизма, герметизма, каббализма и искусства памяти. На эту работу мог повлиять Бруно, который также называл свои процедуры «методом»,3 а употребление этого слова для тех способов мышления, которые, по-видимому, имели мало общего с новым математическим методом, было широко распространено в семнадцатом веке, что может продемонстрировать следующий случай.

Когда, приблизительно около 1632 года, члены небольшой частной парижской академии собрались на свое первое заседание, предметом их обсуждения стал «метод». Собрание началось весьма кратким сообщением о «методе каббалистов», которые из мира архетипов нисходят к интеллектуальному миру, а затем к миру элементов; потом участники перешли к столь же скорому упоминанию о «методе Рамона Луллия», основанному на божественных атрибутах, а затем – к тому, что они называли «методом ординарной философии». Отчет, суммирующий их общие усилия, был опубликован под заголовком «De la metode».4 Несколько страничек, которыми исчерпывалось обсуждение этого обширного предмета, сохранились как свидетельство того, насколько мало удивления могло вызвать заглавие книги «Discours de la methode», опубликованной Декартом пятью годами позже.

Среди многочисленных «методов», имевших хождение в начале XVII века, искусство памяти было заметно, так же как и искусство Раймонда Луллия. Два этих великих искусства Средневековья, которые Ренессанс попытался соединить, в XVII веке превратились в методы и выполняли свою роль в методологической революции.5

итого: схоласты-педанты ниасилили сложную логику, качественную — ограничившись простой.

из «войны и мира» сократили комиксом в несколько страничек ибо ниасилели — и обозвали сиё «научным методом».

anonymous
()
Ответ на: комментарий от anonymous

quote] В глазах Бруно Аристотель – это особый тип педанта: буквалист, который не может или не хочет увидеть скрытые истины, не способен распознать в системе Коперника герметическую печать – подобно профессорам в «Великопостной вечере», которые названы и «грамматиками» и «аристотелевскими» педантами. В другом диалоге сказано, что «бедного Аристотеля» стоит пожалеть за его неспособность постичь «глубинную магию"47. Иногда такая позиция приводит Бруно к замечательным прозрениям – например, он отвергает аристотелевский порядок элементов, поскольку это не „естественная“, а „логическая“ концепция48.

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

Совместно с „характеристикой“ или исчислением Лейбниц задумывал и проект „энциклопедии“, которая могла бы собрать воедино все известные человеку науки и искусства. Когда все виды познания будут систематизированы в энциклопедии, „характеры“ будут определены ко всем понятиям, для решения всех проблем в конечном счете будет создано универсальное исчисление. Исчисление, полагал Лейбниц, применимо во всех областях познания и деятельности. Оно способно разрешать даже религиозные затруднения.49 В случае разногласий, к примеру, на Трентском совете, не нужно больше затевать войну, но просто следует сесть рядом, сказав: „Давайте посчитаем“.

anonymous
()
Ответ на: комментарий от anonymous

Ныне существующее искусство памяти можно улучшить, говорит Бэкон, и это следует сделать, не просто ради пустого хвастовства, но для полезного его применения. Основное направление «усовершенствования» наук и искусств и обращения их на полезные цели берет свое начало в памяти, из которой, говорит Бэкон, составлено искусство, «но мне видится, что существуют лучшие приемы, чем те, которые дает это искусство, и практика более совершенная, нежели та, которую оно предлагает». Ныне существующее искусство может «дать повод к бахвальству чудовищному», но оно бесплодно и не применяется в серьезных «делах и ситуациях». Он определяет искусство как основанное на «пренотациях» и «эмблемах», бэконовская версия мест и образов состоит в следующем:

Это искусство памяти строится исключительно двумя способами; один суть пренотация, другой – эмблема. Пренотация освобождает нас от бесконечных поисков того, что именно нам нужно вспомнить, и направляет их в какую-либо определенную область, то есть ту, что сочетается с нашим местом памяти. Эмблема сводит мыслительное содержание к чувственным образам, которые оживляют память; из каких аксиом может быть извлечено больше полезного, чем доныне...8

ср.: пренотация и эмблема и eval/apply.

anonymous
()

вообще-то есть языки и их весьма много, где разобрать (и выделить) синтаксис в принципе невозможно, не начав исполнения. Наверное выше по треду уже накидали ссылок на Хомского :-)

Ну вот к примеру: исходный топик.

Можно предположить что это ни что иное как программа задающуя текстовые подстановки/замены в дальнейшем собственном тексте и ответных постах.

MKuznetsov ★★★★★
()
Ответ на: комментарий от quickquest

На Форте переопределяется что угодно, там нет слов, как-то особо обрабатываемых транслятором.

KRoN73 ★★★★★
()

Это примерно так-же, как на уровне протоколов отказываться от собственных посылок.

Например на http-запросы, вместо 200 отдавать 404 ... или наоборот ...

anonymous
()
Ответ на: комментарий от anonymous

Например на http-запросы, вместо 200 отдавать 404 ... или наоборот ...

Нет это не то же самое. Это протокол взаимодействия с внешним ресурсом. А в локальном коде ты волен делать что хочешь.

callbackhell
() автор топика
Ответ на: программно-задаваемая техномагия от anonymous

ещё про техномагию: matrix has got you.

последний коммент в статье про египетское умножение про возведение матриц в степень через умножение по-крестьянски — это статья Используем быстрое возведение матриц в степень для написания очень быстрого интерпретатора простого языка программировани, что символизирует :

Правила представления программы в виде матрицы очень просты:
1. Каждая отдельная команда представляется в виде матрицы, отличающейся от единичной одним элементом (или двумя для операции присваивания). Примеры таких матриц рассмотрены выше в этой статье.
2. Несколько подряд идущих команд представляются в виде матрицы, равной произведению матричного представления каждой отдельной команды.
3. Цикл представляется в виде матрицы, представляющей тело цикла, возведенной в степень количества итераций цикла.

ТЕЗИС: магические заговоры и заклинания — это и есть программирование или скорее, метапрограммирование интерпретатора некоторого языка подобным образом.

дискасс.

anonymous
()
Ответ на: комментарий от anonymous

не, это как отдавать не 404 а 403 401 301 303 $$$402$$без смс 405 :doesNotUnderstand или вот прелестные

417 Expectation Failed («ожидаемое неприемлемо»)[3].
428 Precondition Required («необходимо предусловие»)[9].
(какое?)
 425 Unordered Collection («неупорядоченный набор»)[8].
 — логика недостаточно аристотелева или вот эпичное
422 Unprocessable Entity («необрабатываемый экземпляр»).
(и ничего не поделаешь)

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.