Re[20]: Снова о Nemerle или профанация не пройдет :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.02.06 23:53
Оценка: 5 (1)
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Увы, слова про "хрень" — действительно "как обычно". И, таки так, восхищения у меня они не вызывают.


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

ANS>Влад, сопостовление с образцом это средство связывания данных с кодом их обрабатывающим, можно сказать средство создания контекста выполнения. Вот тебе пример из A Gentle Introduction to Haskel:

...

Спасибо, я знаю что такое сопоставление с образцом.
Что бы не трепаться почем зря, сделаем по другому. Я приведу кусок кода, а ты его перепишешь. ОК?
Вот на сайте Нэмерла в примерах лежит реализация LL-парсера:
http://nemerle.org/phpBB/viewtopic.php?t=13
Попробуй переписать его используя "другие способы как передачи управления, так и связывания кода с данными". Птом сравним результат.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Снова о Nemerle или профанация не пройдет :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.02.06 23:53
Оценка: -1
Здравствуйте, vdimas, Вы писали:

V>Давайте лучше Лисп (а еще лучше — Схему) для дотнет напишем.


Уже давно написаны.

V> А то все то, что есть на сегодняшний момент для дотнет немного сыро и криво.


-1
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Снова о Nemerle или профанация не пройдет :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.02.06 23:53
Оценка:
Здравствуйте, IT, Вы писали:


O>>Это я так... вдруг начал размышлять о том, как логику оставить в C# (чтобы пользователи твоей тулзы особо не переживали ), а кодогенерацию вынести отдельно в Nemerle. Насколько я тебя понял, ты хочешь поиметь первый вариант.


IT>Нет, это не сильно отличается от того, что есть сейчас. К тому же можно сгенерировать сборку с аксессорами на пост-билд степе. Я имею ввиду код исключительно на Nemerle.


Генерировать код сдредствами C# очень недобно. ХСЛТ еще туда-сюда, но тоже не кайф. Так что даже такой варинт выглядит неплохо.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Снова о Nemerle или профанация не пройдет :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.02.06 23:56
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Сделаешь хеш-табличку на T-SQL?


Да. Склько заплатишь?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Снова о Nemerle или профанация не пройдет :)
От: Воронков Василий Россия  
Дата: 24.02.06 01:07
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>Боюсь чтобы это узнать нужно прежде всего выучить Лисп и выкинуть из нескольких десятков метров сурсов все лишнее

VD>Дык из Сцинтилы и RE я викинул все лишнее минут за 5.

А ты обрати внимание на выделенное
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: Снова о Nemerle или профанация не пройдет :)
От: IT Россия linq2db.com
Дата: 24.02.06 01:18
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Боюсь, этим скорее всго и закончится.


VD>Обявляй. Я уже задолбался писать 10 строк вместо 1-2. Пол кода в объявлении свойст.


С BLToolkit у меня таких проблем нет. Но хочется всё же самого светлого будущего.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[32]: Снова о Nemerle или профанация не пройдет :)
От: IT Россия linq2db.com
Дата: 24.02.06 01:23
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Сделаешь хеш-табличку на T-SQL?


VD>Да. Склько заплатишь?


А фигли там платить: create temp table
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[20]: Снова о Nemerle или профанация не пройдет :)
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.02.06 02:36
Оценка: -1 :)
Здравствуйте, vdimas, Вы писали:

V>Давайте лучше Лисп (а еще лучше — Схему) для дотнет напишем.


И появится философский вопрос: нафига козе баян, то есть — зачем Лиспу бакенд в виде .Net?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[16]: Снова о Nemerle или профанация не пройдет :)
От: alexeiz  
Дата: 24.02.06 06:42
Оценка: +1
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>Иногда мне начинает казаться что у них какой-то стратегический интерес обижать С++ — особенно в плане дизайнеров.


ПК>Да ну... Интерес-то у них как раз обратный: они сами на C++ достаточно плотно сидят (*). Но для C++ по многим причинам инструменты очень сложно писать...


ПК>(*) Впрочем, "они сами" в несколько лучшем положении, т.к. могут использовать внутренние билды, в которых всевозможные новшества VS появляются раньше, чем в тех, что доступны "всем остальным".


Тут ты немного неправ. Да, есть такое понятие — dogfooding. Но оно больше относится к компилятору, чем к среде. Грубо говоря, среда не догфудится. Компилятор — сколько угодно во многих группах.

Да и в проектах на C++ среда используется слабо. В основном, потому что капризная она. Установки требует, зависимостей много. А компилятор он тупой как пробка в этом смысле. Его в репозитории обновил, и вуаля — все сразу пользуются новой версией компилятора. Но даже и с компилятором нужно много чего сделать перед тем, как он станет LKG (Last Known Good). Если интересно, здесь немного есть про этот процесс: http://joncaves.blogspot.com
Re[21]: Снова о Nemerle или профанация не пройдет :)
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 24.02.06 07:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот на сайте Нэмерла в примерах лежит реализация LL-парсера:

VD>http://nemerle.org/phpBB/viewtopic.php?t=13
VD>Попробуй переписать его используя "другие способы как передачи управления, так и связывания кода с данными". Птом сравним результат.

Эта, Влад, Сразу уточни чего ты хочеш, что бы я написал генератор, который используется в твоём пример? Просто в нём за 800 строчек (считал с пустыми). Это уже не "2 метода на 3 класса".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[35]: Снова о Nemerle или профанация не пройдет :)
От: Oyster Украина https://github.com/devoyster
Дата: 24.02.06 07:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, и что в этом коде хорошего? По логике языка к подобным приемам (т.е. прямому заданию АСТ) прибегать не нужно. Стало быть если такая необходимость появляется, то это баг.


Ну смотри, что мне ответили: http://nemerle.org/forum/viewtopic.php?p=334#334

Right, you used the "last-resort" way — workaround lack of proper quotation rule by explicitly building parse trees. From what I see the quotation you tried to use is quite intuitive and I guess it should be supported by compiler. Probably adding support for it should be possible (tweak in parser plus new rule at ncc/typing/Macros.n).

Re[32]: Новая версия макроса
От: Oyster Украина https://github.com/devoyster
Дата: 24.02.06 07:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Как я понимаю авторы Нэемерла ответили тебе здесь, что исходный синтаксис интуитивен и потому скорее всего будет поддерживатья в следующих версиях. А твой же код — это обход проблемы.


VD>В варианте приведеном nazgul:


[...]

Они мне ответили, что должно работать как тут: Re[28]: Вопрос
Автор: Oyster
Дата: 22.02.06
— для этого нужен небольшой твик компилятора. Код, приведённый nazgul, не работает и работать не будет (они разворачивают макросы на Define(), а не на Compile()), насколько я понял.
Re[33]: Снова о Nemerle или профанация не пройдет :)
От: Oyster Украина https://github.com/devoyster
Дата: 24.02.06 07:42
Оценка: 31 (2)
Здравствуйте, VladD2, Вы писали:

VD>Хм. Можно пример рабочего кода?


Вуаля:

macro TestPrint(n)
{
    def x = <[ System.Console.WriteLine($n) ]>;
    def ctx = Some(Nemerle.Macros.ImplicitCTX());
    Nemerle.Compiler.PrettyPrint.PrintExpr(ctx, x);
    x
}

// Вызов
def x = "Hello";
TestPrint(1234);
TestPrint(x);

// Печатает вот что
System.Console.WriteLine (1234)
System.Console.WriteLine (x)
Re[32]: Снова о Nemerle или профанация не пройдет :)
От: Oyster Украина https://github.com/devoyster
Дата: 24.02.06 07:42
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Я уже говорил — далеко не только код.


Да, прочитал ссылку и понял. Ну тогда не знаю — можно пересмотреть дизайн и ту "другую метаинформацию" хранить отдельно. Если это, конечно, будет удобней. А я не могу сказать, будет это удобней или нет, потому что не вижу текущего решения.

А исходники на Nemerle можно тоже хранить в ресурсах.

AVK>Неправильно. И на этапе деплоймента тоже.


Что тебе мешает таскать с собой компилятор Nemerle?
Re[21]: Снова о Nemerle или профанация не пройдет :)
От: vdimas Россия  
Дата: 24.02.06 08:22
Оценка:
Здравствуйте, eao197, Вы писали:

E>Дима, глянь, когда будет время на Ruby. Может ничего и писать не придется.

E>Не Lisp, конечно, о очень себе pragmatic.

Спасибо за совет, я глядел на него уже. Для бухгалтеров хорошо бы взять некий язык, весьма бедный, наподобие 1C или VB (причем последнее — урезать немного). А ruby все-таки немного не такой язык, это все-таки язык для профессионалов-программистов.

Мне думается, что я постепенно сделаю себе парсер VB-подобного простенького языка. После парсинга можно будет кодогенерировать, например, в backend от Лисп-машины. Вообще-то да, попробую посмотреть на Ruby's backend, и вообще нужно выяснить насчет самой возможности юзать этот backend (может он физически неотделим ).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: Снова о Nemerle или профанация не пройдет :)
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 24.02.06 08:54
Оценка:
Здравствуйте, vdimas, Вы писали:

E>>Дима, глянь, когда будет время на Ruby. Может ничего и писать не придется.

E>>Не Lisp, конечно, о очень себе pragmatic.

V>Спасибо за совет, я глядел на него уже. Для бухгалтеров хорошо бы взять некий язык, весьма бедный, наподобие 1C или VB (причем последнее — урезать немного). А ruby все-таки немного не такой язык, это все-таки язык для профессионалов-программистов.


Не смотря на то, что я не почитатель функциональщины, я думаю, что именно для бухгалтеров лучше будет нечто a-la функциональщина. Точнее пресловутое сопоставление с образцом. Императивщина — слишком сложно и, имхо, не соответсвует образу их мысли. afair, в бух.журналах список всяких проводок — в виде таблицы. На сопоставление ложитсся один к одному. Типа, условие — проводка.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[21]: Снова о Nemerle или профанация не пройдет :)
От: vdimas Россия  
Дата: 24.02.06 09:39
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

V>>Давайте лучше Лисп (а еще лучше — Схему) для дотнет напишем.


ГВ>И появится философский вопрос: нафига козе баян, то есть — зачем Лиспу бакенд в виде .Net?


Не Лиспу, а мне, то бишь девелоперу. Машина Лиспа представляет из себя практически идеальный механизм построения эффективных интерпретаторов. Мне нужно именно последнее, плюс возможность использовать этот интерпретатор в дотнете (не обязательно с Лиспа, почитай ниже мой ответ eao197).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[21]: Снова о Nemerle или профанация не пройдет :)
От: vdimas Россия  
Дата: 24.02.06 09:39
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:

V>>Давайте лучше Лисп (а еще лучше — Схему) для дотнет напишем.


VD>Уже давно написаны.


-1

Стоило ли так подставляешься громкими высказываниями, не имея ни малейшего представления о существе вопроса?

V>> А то все то, что есть на сегодняшний момент для дотнет немного сыро и криво.


VD>-1


В отличие от, я просмотрел ВСЕ имеющиеся на сегодняшний момент под дотнет реализации Схемы и Лиспа (интересует больше Схема, разумеется, т.к. в отличие от Лиспа имеет стандарт и более четко определенные границы философии языка). Единственное более-менее нормальная реализация Схемы поддерживала прошлый стандарт R4SR, что меня совершенно не устроило. Так же есть пара неплохихи компиляторов со Схемы в дотнетный байт-код, но это опять же не то, что мне надо. Мне нужна система, в которой есть и компилятор и интерпретатор и нормальная поддержка стандарта R5S5. Такой системы на сегодняшний день нет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[33]: Снова о Nemerle или профанация не пройдет :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.02.06 11:22
Оценка: -1
Здравствуйте, Oyster, Вы писали:

O>Да, прочитал ссылку и понял. Ну тогда не знаю — можно пересмотреть дизайн


Хороший совет

O> и ту "другую метаинформацию" хранить отдельно.


Зачем? Если редактируется она совместно? Ты пойми — редактируют не класс, а бизнес-сущность, а куча производных от него классов и интерфейсов суть поддержка этой сущности. Резать метаданные на несколько кусков, а потом склеивать их при деплойменте и в рантайме не лучшая идея.

O>А исходники на Nemerle можно тоже хранить в ресурсах.


И парсить их в рантайме? Спасибо, я лучше XML обойдусь.

AVK>>Неправильно. И на этапе деплоймента тоже.


O>Что тебе мешает таскать с собой компилятор Nemerle?


Видишь ли, не всегда приемлемо распространять код в исходниках.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[33]: Снова о Nemerle или профанация не пройдет :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.02.06 11:22
Оценка:
Здравствуйте, IT, Вы писали:

IT>А фигли там платить: create temp table


Это не оно.
... << RSDN@Home 1.2.0 alpha rev. 642 on Windows XP 5.1.2600.131072>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.