ru.m.wikipedia.org/wiki/Katahdin
данный язык сильно похож на немерле. Синтаксис мне нравится больше особенно эмуляция фортрана. Красиво. Немного почитав очень опережает немерле 2. Хотя интерпритатор
Здравствуйте, Аноним, Вы писали:
А>ru.m.wikipedia.org/wiki/Katahdin А>данный язык сильно похож на немерле. Синтаксис мне нравится больше особенно эмуляция фортрана. Красиво. Немного почитав очень опережает немерле 2. Хотя интерпритатор
К сожалению, он больше не развивается.
Re[2]: Katahdin
От:
Аноним
Дата:
04.02.12 13:25
Оценка:
Здравствуйте, catbert, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>ru.m.wikipedia.org/wiki/Katahdin А>>данный язык сильно похож на немерле. Синтаксис мне нравится больше особенно эмуляция фортрана. Красиво. Немного почитав очень опережает немерле 2. Хотя интерпритатор
C>К сожалению, он больше не развивается.
Смотрел синтаксис pfront. Намного приятнее и понятнее немерле.
Здравствуйте, <Аноним>, Вы писали:
А>ru.m.wikipedia.org/wiki/Katahdin А>данный язык сильно похож на немерле. Синтаксис мне нравится больше особенно эмуляция фортрана. Красиво. Немного почитав очень опережает немерле 2. Хотя интерпритатор
И в каком месте он опережает?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Katahdin
От:
Аноним
Дата:
04.02.12 14:44
Оценка:
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, <Аноним>, Вы писали:
А>>ru.m.wikipedia.org/wiki/Katahdin А>>данный язык сильно похож на немерле. Синтаксис мне нравится больше особенно эмуляция фортрана. Красиво. Немного почитав очень опережает немерле 2. Хотя интерпритатор WH>И в каком месте он опережает?
Здравствуйте, <Аноним>, Вы писали:
А>Пхп реализован видел как? И работает
Не видел. Видел только питон.
В любом случае меня динамически типизируемые языки не интересуют. Я считаю их ошибкой природы.
Ты покажи, как на нем можно сделать компилируемый в несколько различных платформ язык с выводом типов.
С нормальными сообщениями об ошибках компиляции.
Error handling is an issue that I have not touched on at all. A source text
will either parse according to a PEG or it will fail, and if it fails it is very hard
to work out what the problem was.
Потом покажи мне IDE для катахдина. Без IDE сейчас на язык даже не взглянут.
Ну и не забудь показать кактахдин работающий со скоростью хотя бы C#.
The speed of the Katahdin interpreter is the biggest problem. Currently the
interpreter takes about ?fteen seconds to parse the standard library at start-
up, where most interpreters start instantly.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Аноним, Вы писали:
А>ru.m.wikipedia.org/wiki/Katahdin А>данный язык сильно похож на немерле. Синтаксис мне нравится больше особенно эмуляция фортрана. Красиво. Немного почитав очень опережает немерле 2. Хотя интерпритатор
Тяжело опережать то чего пока нет . Но все равно с удовольствием послушаю о том, что там интересного. Эмуляция Фортрана меня не вдохновляет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Аноним, Вы писали:
А>очень опережает немерле 2. Хотя интерпритатор
Припоминаю, что смотрел на него несколько лет назад. Это несомненно интересная научая работа, но не более того. Чтобы понять это достаточно сравнить объем проделанной работы. Nemerle 1.x — это 9058 комитов примерно за 8 лет работы. Katahdin — это 240 комитов за 240 дней, т.е. менее года работы (сведения взяты отсюда). Для сравнения в новой версии нашего генератора парсеров 90 комитов, а он использует огромное количество кода из предыдущей версии.
Медленный интерпретатор использующий примитивные алгоритмы (Pakrat), без малейшего намека на поддержку IDE. В общем, для научной работы не плохо, но не более того.
Попробуй использовать его на практике. Потом расскажешь что получилось.
.
С N2 его сравнивать очень тяжело. Во-первых, N2 пока по больше части планы. Во-вторых, N2 это намного большее чем интерпретатор языка с расширяемым синтаксисом. N2 будет реальным фрэймворком по созданию ЯП и по совместительству хорошим языком. Ведь не стоит забывать, что расширяемость не более чем инструмент. А писать приходится на языке который уже есть. А языка то в Katahdin и нет. Какие-то зачатки. В то же время Nemerle 1.x — это полноценный язык который значительно удобнее C# и при этом выдает код не уступающий C# по производительности. О таких вещах как вывод типов я уже не говорю.
В общем, это сравнение концепта (с очень интересными идеями), с реальным продуктом. Да, описание расширения синтаксиса в Katahdin сделано не плохо. Но на этом пожалуй и все.
В N2 будет система расширения синтаксиса ни чем не хуже нежели в Katahdin, но при этом будет возможность создавать полноценные компилируемые языки и будет полноценный ЯП не уступающий Nemerle 1.x по функционалу. Так там будет система декларативного описания правил типизации и автоматическая генерация эффективного кода вывода типов. Будут макросы позволяющие модифицировать исходную программу, и будут средства анализа имеющегося кода (как в виде нетпизированного AST, так и в типизированном виде). А это просто не сравнимые вещи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Аноним, Вы писали:
А>Смотрел синтаксис pfront. Намного приятнее и понятнее немерле.
Это тролинг или вам действительно это:
function mycompile(c)
{
visit:calc(expr: c) f
deep expr f
| plus ! `nan+nbn`
| minus ! `nan-nbn`
| div ! `nan / nbn`
| mul ! `nan*nbn`
| apply ! ('call' : (['var';a] : b))
| const ! ['number';v]
| else f `0` g
}
Главное что следует понять — Н2 будет конструктором языков (или фрэймворка, если угодно). Это его главная фича. Сам Н2 как язык будет сделан на базе этого самого конструктора.
Что касается спецификации, то мы планируем генерировать ее в автоматическом режиме. Причем не только для Н2, но и для любого другого языка или даже DSL-я который будет создан на его базе.
В Н2 не будет рукописного парсера и типизатора. Будут универсальные средства их декларативного описания. На базе этого описания будет генерироваться код парсера, типизатора, поддержка интеллисенса, базовые рефакторинг и документация. Понято, что это будет весьма формальная спецификация. Но тем не менее она будет в автомате и всегда будет соответствовать языку. В ней будет описание синтаксиса и описание правил типизации.
То что невозможно сгенерировать будем дописывать руками. Но это будет совсем другой объем работ. И другой уровень контроля.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Tom>Звучит конечно оч круто. Главное довести это до разумного работающего результата. Tom>А сколько человек и кто это если не секрет работает над проектом?
На шпиона из мелкософта сильно похож. не иначе как развалить проект хотят. я бы не говорил..
_C_>На шпиона из мелкософта сильно похож. не иначе как развалить проект хотят. я бы не говорил..
Если что на этом форуме я 10 лет. Кстате, сегодня как раз круглая дата, 10 лет с момента первого моего сообщеня
Работаю я не в Microsoft а в Confirmit.com
Здравствуйте, Tom, Вы писали:
Tom>Звучит конечно оч круто. Главное довести это до разумного работающего результата.
Ну, мы постараемся. Конечно, если бы были спонсоры или коммерческая поддержка, было бы проще. Но и без этого работа будет идти.
Tom>А сколько человек и кто это если не секрет работает над проектом?
Пока что 1.5. Wolfhaund и я помаленьку. Парсер Н2 будет основан на новой версии PegGrammar, которую Wolfhaund развивает самостоятельно. Он имеет рабочее название ParserGenerator и размещается в отдельном проекте. Я помогаю ему в плане допила компилятора Н1 и обдумывания проектных решений.
Парсер уже работает, там есть что доделывать. Сейчас ведется работа над обработкой ошибок и общий рефакторинг. Общий план работ по парсеру и их выполнение можно отслеживать по открытым и закрытым issues.
Я полностью переключусь на проекте как только сдам Nemerle 1.1 и интеграцию для 2010 студии. Там работы довольно много, так как ведется работа над лучшей совместимостью с семантикой C#-а в компиляторе Nemerle.
По ходу дела присоединяться и другие. Надеюсь, что присоединятся Hardcase и CodingUnit. Ну, и конечно же, я надеюсь, что все помогал в равитии Nemerle 1.x будут и дальше помогать в развитии проекта. Общий список этих людей довольно велик. Его можно наблюдать в списке пул-реквестов на гитхабе.
Возможно удастся привлечь и IT. Мне бы очень этого хотелось бы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.