Re[18]: преимущества erlang-а?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.01.06 04:42
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP>Это как так не обратишься? Весь коммон лисп доступен внутри определения макроса.


Можно пример того как обратиться именно к подсистеме семантического анализа из макроса? Ну, хотя бы как узнать фактический тип парамерта?

CP>Проверить тип соответсвующей функцией.


CP>
CP>(defmacro a (x)
CP>  (if (atom x)
CP>       `(...)
CP>      (error "blah")))
CP>


И где здесь проверка типа? Причем тут атом не атом? Это операция над АСТ. А я говорю об операции над АСТ аннотированном типами. Наример, твоей атом может быть числом. Или х может быть функцией возвращающей целое. Как это проверить? Я думаю, что это не возможно хотя бы потому, что язык не обязывает указывать типы и функция до применения вообще не знает что ей прийдет в качестве параметра. Тут мог бы помочь вывод типов. Например, если параметр функции испльзуют как функцию и результат складывают с целым, то можно сделать предположение о том, что х — это функция "() -> int". Но ты сам сказал, что вывод типов не поддерживается.

В Немерле же ты вообще можешь влесь в любую фазу компиляции и получить любую информацию. О типе параметра, о типе выражения. О возможных приведениях типов... Короче о всем о чем в этом месте может знать компилятор.

Как я понимаю Лиспу это в принципе не грозит. Его макросы — это преобразование S-выражений. Для него программа — это данные, т.е. AST без аннотации типов.

VD>>Как видишь, особых проблем нет. Более того получается в сто раз понятнее. Причем без специальной дрисеровки пользователя.


CP>Мне понятнее в лиспе


Рад за тебя. Вернее за вас... за всех... пятерых.

CP>Дело привычки. Расширить язык это одно. Но более важная задача макросов — эффективные высокие абстракции. А вот здесь манипуляция с кодом может быть намного сложнее.


На фиг такие привычки. Наа фиг!
Я не хочу привыкать бриться топором даже если очень универсально. И не хочу привыкать спать в холодной комнате даже если это сэкономит мне 50 баксов в месяц. Я предпочитаю вычислять выражения так как это делал в школе, а не в польской натации. Я не хочу видать море скобок. Я не хочу представлять себе структуры данных в голове. Я хочу видеть эти стркутуры описанными и иметь у них осязаемые поля. В общем, я не хочу убогсти. Я хочу удобства. А Лисп это убогость приносящая удобство в жертву универсальности.

VD>>Что означает "анофорических"?


CP>Типа местоимение. Мы обозначаем it как местоимение (задавая ему некое значание из выражения например) и можем использовать его в теле. В других языках это вообще нет.


Хм. Ты уверен, что нет? И уверен, что если нет, то оно нужно?
Например Рбивские и Смолтоковские декларации параметров для анонимных блоков — это не одно и то же? Например:
list.each { x | x * c }


И какая разница тут с разными def-ами или let-ами?

CP> Но это только пример.


А зачем оно?

CP>>>
CP>>>(awhen (compr x y)
CP>>>   (blah it))
CP>>>


CP>>>раскрывается в


CP>>>
CP>>>(let (it (compr x y))
CP>>>  (when it
CP>>>   (blah it))
CP>>>


VD>>Не въехал, а что тут необычного?


CP>На немерле такого не сделаешь. Гигиеничность макр не позволяет.


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

Что это дает? Какие задачи позволяет решать?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: преимущества erlang-а?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.01.06 04:42
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP>Смысл ООЧЕНЬ большой — REPL тестирование. Без него уже часто процесс разработки становиться мукой.


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

В общем, ты привык к "псевдо Юникс-лайк" стилю. Он возник от убогости. И то что в его рамках кажется очень важным и необходимым, на самом деле, при некоторых условиях, на фиг не унжно.

Погляди для разнообразия как можно работать в VS 2005 или в IDEA. Думаю, что когда въедешь во все возможности, то поймешь о чем я говорю.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: преимущества erlang-а?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.01.06 04:42
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP>А в лиспе и пролог встроенный есть (В коммерческих out-of-box)


Ага. Жаль только что сам он кхэ-кхэ... Ну, в общем ты понял.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: преимущества erlang-а?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.01.06 04:42
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP>Жжошь!!!


При всем моих симпатиях, учти. В следующий раз за падонковщину пойдешь в баню на неделю.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: преимущества erlang-а?
От: EXO Россия http://www.az.inural.ru
Дата: 31.01.06 05:52
Оценка: +2
Здравствуйте, VladD2, Вы писали:
VD>А, ну, да. Нам среда не нужна мы и так крутые. В таком случае и говорим перед рекламой, что так вот и так. Я фанат консоли и всего приметивного.

Опять передергиваешь.
Внимательно читая сообщения, мог бы заметить, что человек начинавший пограммировать с "интегрированных сред", 12 лет программировавший только в интегрированных средах (и из них лет 6 в MS VS) не может быть фанатом консоли.
А если уж склоняется к уходу в эту сторону, то видать имеет для этого весьма основательные причины.

( Отчасти ты напоминаешь мне меня самого, лет десять назад... )

VD>Смешно. Пересометрия в чистом виде. Иди сравни это БД-сервер с поставляемым в составе студии MS SQL Server 2005. Боюсь без полного отрешения от жизни серьезным такое сравнение назвать будет сложно.


Гм... сейчас как раз перевожу под мнезию один проект, который в первой версии был под MS SQL Server 2000.
Продукт пока в работе, но поскольку данные конвертнули из старой базы (то есть база заполнена) о поведении мнезии уже можно судить.
Во-первых, число таблиц сократилось примерно в 3 раза. За счет более гибких типов данных мнезии. Соответсвенно упростились многие алгоритмы.
Во-вторых, быстродействие увеличилось в среднем в 1,5 раза. И это при том, что мнезия сейчас работает не над BerkleyDB backend (это у нас резерв быстродействия на всякий случай).
Во-третьих, быстродействие наиболее критичных алгоритмов повысилось примерно в 2,5 раза. Правда, для этого они были переведены с языка запросов QLC на прямые вызовы мнезии, так что для сравнения СУБД их рассматривать не стоит.


В целом могу сказать, что я достаточно хорошо отношусь к MS SQL. Даже к 2000 (Могу поверить, что 2005 еще круче).
Кстати, доступ из erlang-а к MS SQL существует и достаточно удобен. Однако использование его не рассмаривается по коммерческим причинам (требуется выйти на низкую стоимость тиражной лицензии).


EXO>>- хорошо интегрирующийся с сервером приложений мощный web-сервер. С поддержкой полного комплекта средств для создания web-сервисов.


VD>Видимо у остальных языков интеграция плохая.


У .Net языков хорошая интеграция с IIS. Они тоже части одной платформы.
А вот у не-дотнетовских perl и python интеграция с IIS уже куда хуже. Уже одно то, что IIS не может связывать подгруженные интерпретаторы этих языков с логическим сеансом пользователя резко снижает качество интеграции.
Так что эта самая "интеграция" далего не одинакова для разных сочетаний язык Х веб-сервер.
Так вот, у ерланга и идущего с ним веб-сервера она на том же уровне, что и у .Net языков с IIS.

VD> В общем, песня старая. Жаль не доказанная и опровергаемая кучей реальных решений.


Микорософт умеет хорошо рекламировать свои средства разработки. Это умение за ними безусловно следует признать.
А потому проектов на .Net естественно больше. Но вот по моим наблюдениям, процент качественных среди них — заметно ниже.

VD>Да уж. Куда там таким вещам как метапрограммирование в Скале и Немерле,


Просто метапрограммирование — вне рассмотрения, оно и в базовом ерланге есть.
Интересна именно мощность средств лексера и парсера. А так же их "интллектуальность" (то есть на сколько они готовы брать стандартный BNF, без "доработки напильником").

VD> или построителям парсеров вроде АНТЛР или КокаР.


За "наводку" — спасибо. На досуге посмотрю подробнее.


EXO>>Так что мы имеем дело именно что с прикладной платформой, а вовсе не просто с "языком общего назначения".

VD>Я бы сказал больше. С платформой заточеной под конкретные задачи.

Можно сказать и так. Только круг задачь похоже даже шире, чем изначально задумывался Эриксончиками.
Что в него входит, а что нет — надо смотреть.

VD>Хм. Дотнет по мне так сильно универсальнее.


Это пока несколько спорный вопрос, поскольку круг задачь эланг-платформы быстро расширяется.
Скорее всего, эти круги будут накладываться лишь частично.
Возможно даже у .Net-а поширше будет. Ну и что? Хорошо, что есть из чего выбирать.

VD> Это именно что платформа.


Разумеется. Одна из. Пусть даже весьма распространенная.

EXO>>Предположим я здесь с тобой даже и согласился бы... ну и что?

EXO>>Собственно а что остается, если мы не будем обращать внимания на тесты? Толко реальные продукты.
VD>Да думать нужно своей головой. А тесты можно и самому сделать.

Именно.
А самый лучший тест — реальные продукты.

EXO>>Так что тогда мы возвращаемся к сообщениям gandalfgrey о разработанной им системе, которая пришла на смену C++ версии. И заказчикам, которые (на сколько мне известно) успешно покупают обновления.

VD>Он явно применял С++ там где не следовало.

На сколько я понял из его слов — C++ применял не он.
А что бы ты ему предложил? Перевести проект с C++ на .Net? На сколько я слышал, там часть узлов это микроPC на I486 с 64 Мб оператива, а часть моторолловские микрокомпы. Каково там будет .Net-у? Или ты предложил бы ему писать 2 (3) разных варианта одного и того же приложения?

Кстати — вот тебе сразу несовпадение нишь...
То, что я выше писал про коммерческую неприемлимость использования MS SQL — другое несовпадение...
Так что не стоит говорить, будто .Net такая уж универсальная, что закывает все пространство задачь.


VD>Для этого достаточно пред тем как рассказывать убрать сопли и постораться быть непредвзятым. Но видимо такова уж природа человека, если он чем-то сейчас увлечен, то смотреть без предвзятости он уже не может.


И что тебя все так тянет переходить на личности? Привык общаться с неуравновешенными субьектами?
Мог бы уже заметить, что я просто использую твою агрессивность, как повод, чтобы рассказать людям про erlang...

Впрочем, если хочешь, можешь продолжать в том же духе.
Re[19]: преимущества erlang-а?
От: raskin Россия  
Дата: 31.01.06 08:24
Оценка:
VladD2 wrote:
> Если я все правильно понял, то на Нэмерле можно все тоже самое и намного
> болше. А главное роще, предсказуемее и удобнее.
В больше — позвольте не поверить, если пользоваться макросами в полную
мощность, то, вероятно столько же — макрос может делать любое вычислимое
преобразование. Предсказуемость зависит при этом от того, насколько в
этот момент ближе один язык, чем другой. Про удобнее поверю легко.
Posted via RSDN NNTP Server 2.0
Re[17]: преимущества erlang-а?
От: raskin Россия  
Дата: 31.01.06 08:33
Оценка:
VladD2 wrote:
> Здравствуйте, CrazyPit, Вы писали:
>
> CP>Смысл ООЧЕНЬ большой — REPL тестирование. Без него уже часто процесс
> разработки становиться мукой.
>
> Ты меня конечно извени, но ты IDE порядошную видел? Нахрена мне мне
> вообще интерпретатор если я могу прямо во время выполнения программы
> править ее код? Или во время разработки протестировать функцию.
>
Тогда IDE можно использовать как интерпретатор. Для тех языков, для
которых это поддерживается. И как REPL.
> В общем, ты привык к "псевдо Юникс-лайк" стилю. Он возник от убогости. И
> то что в его рамках кажется очень важным и необходимым, на самом деле,
> при некоторых условиях, на фиг не унжно.
>
> Погляди для разнообразия как можно работать в VS 2005 или в IDEA. Думаю,
> что когда въедешь во все возможности, то поймешь о чем я говорю.

Так, как Вы говорите — это просто другой интерфейс для того же в
сущности действия — запустить три функции отдельно от программы.

Ну а кроме того, меня часто интересует одноразовая функция — когда
результат будет оставлен, а код заведомо выкинут.
Posted via RSDN NNTP Server 2.0
Re[15]: преимущества erlang-а?
От: raskin Россия  
Дата: 31.01.06 08:48
Оценка:
VladD2 wrote:
> Здравствуйте, raskin, Вы писали:
>
> R>Вопросы: Немерле отделим от дотнета?
>
> Приципиально — конечно. Язык есть язык. Лисп тоже под дотнетом чувствует
> себя отлично.
> Рельно — нет. Он под него создавался.
Жаль. Вот будет отделим... А то ставить dotGNU или Mono совсем неохота.
Хотя должен работать под Mono, можно посмотреть.
>
> R> Имеет интерепретатор?
>
> Да — http://nemerle.org/Nemerlish. Но не вижу в этом смысла.
"Пусть это сделают другие" — то, что я не собираюсь сохранять, пусть
компилируется без моих активных действий (кроме ввода этого).
>
> R> Позволяет
> R>использовать весь язык без ограничений в описаниях макросов?
>
> Они на нем и пишутся.
Без ограничений? Это радует, хотя и естественно.
>
> R>Хотелось бы нет-да-да. И поставить на наладонник вместо схемы..
>
> Почему бы и нет. Незнаю нафиг прада нужны средства разработки на КПК
А зачем он нужен, если на нём даже посчитать ничего нельзя? IDE мне не
нужна, интерпретатор хоть какой-нибудь. Без этой возможности
неинтересно. Но тогда ему CompactFramework нужен, если его (CFw) вообще
хватит. Интересно, не захочет ли он установленную консоль.. Судя по
сайту, если я этим займусь — все шишки мои.
>
> R> И бросить писать свою обёртку над Си с целью иметь синтаксис Паскаль,
> R>компилятор от Си и макросы от Лисп.
>
> Незнаю нафиг нужен синтаксис от Паскаля, но можешь попробывать.
В Паскаль все односимвольные опечатки не в именах переменных, которые я
когда-либо делал, мешают компиляции. В Си одну такую я искал очень
долго. Больше я на этом (надеюсь) так не попадусь, но осадок... Ну и
выглядит Паскаль на мой вкус лучше.
Posted via RSDN NNTP Server 2.0
Re[19]: преимущества erlang-а?
От: little_alex  
Дата: 31.01.06 09:41
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Ты не суди о том что не изучил. Ты обясни суть, и вместе разберемся можно ли, нельзя ли. И если нельзя, то чего мы лешаемся. Я пока что вижу гордость хнен знает чем.

VD>Что это дает? Какие задачи позволяет решать?

Код 
  myif(long_experssion)
     {
           do_something1(it);
           do_something2(it);
     }
преобразуется во что-то вроде
  {
        int it=long_expression;
        if(it!=0)
        {
           do_something1(it);
           do_something2(it);       
        }
  }
long_expression,do_somthing1,do_somthing2 - произвольные выражения.
Переменная it фиксирована.

Это можно кратко сформулировать — если что-то не 0 то сделай с ним (it)то-то и то-то....
Такое можно сделать?
Re[17]: преимущества erlang-а?
От: little_alex  
Дата: 31.01.06 09:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ага. Жаль только что сам он кхэ-кхэ... Ну, в общем ты понял.


Интересно откуда такое отношение
Что-нибудь писал на Common Lisp?
Какие недостатки языка так задевают?
Re[19]: преимущества erlang-а?
От: CrazyPit  
Дата: 31.01.06 11:06
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>И где здесь проверка типа? Причем тут атом не атом? Это операция над АСТ.


Атом это пример, можно проверить любой тип входного выражения.

VD>А я говорю об операции над АСТ аннотированном типами. Наример, твоей атом может быть числом.


(defmacro a (x)
  (if (typep x 'fixnum)
        ...)


Или ещё лучше:
(defmacro a (x)
 (check-type x fixnum)
 `(....))


VD> Или х может быть функцией возвращающей целое.

Ну да по без расширений никак.


VD>В Немерле же ты вообще можешь влесь в любую фазу компиляции и получить любую информацию. О типе параметра, о типе выражения. О возможных приведениях типов... Короче о всем о чем в этом месте может знать компилятор.


Дык в лиспе тоже, только в компиляторе лиспа нету понятия тип функции.

VD>Как я понимаю Лиспу это в принципе не грозит. Его макросы — это преобразование S-выражений. Для него программа — это данные, т.е. AST без аннотации типов. Но он может проверить структуру этого T и типы отдельных вершин этого Т,


CP>>Дело привычки. Расширить язык это одно. Но более важная задача макросов — эффективные высокие абстракции. А вот здесь манипуляция с кодом может быть намного сложнее.


VD>На фиг такие привычки. Наа фиг! :)

VD>Я не хочу привыкать бриться топором даже если очень универсально. И не хочу привыкать спать в холодной комнате даже если это сэкономит мне 50 баксов в месяц. Я предпочитаю вычислять выражения так как это делал в школе, а не в польской натации. Я не хочу видать море скобок. Я не хочу представлять себе структуры данных в голове. Я хочу видеть эти стркутуры описанными и иметь у них осязаемые поля. В общем, я не хочу убогсти. Я хочу удобства. А Лисп это убогость приносящая удобство в жертву универсальности.

Как раз удобство очень большое. Оно в возможности создания произвольных абстракций. Не обязательнонужно привязывать себя к каким-то "низкоуровневым" понятиям типа "класс", "объект". Можно бытро создать свой язык для конкретной задачи и выражатьсы уже на нём. Вот пару примеров:

Задание правил лексического анализатора:

(def-matchers 
  (regex    (nil "\\s+" :ending ""))
  (simple   (:comparation ("==" "!="  ">=" "<=" "<" ">"))
            (:minus "-")
        (:plus "+")
        (:binary-operation-p-1 ("*" "/"))
        (:right-bracket ")")
        (:left-bracket "(")
        (:set "=")
        (:comma ",")
        (:dot ".")
        (:semicolon ";")
        (:end-block "}")
        (:begin-block "{"))
  (keyword  (:define "define")
        (:to "to")
        (:for "for")
        (:while "while")
        (:else "else")
        (:if "if")
        (:return "return")
        (:default "default")
        (:case "case")
        (:print "print")
        (:switch "switch"))
  (regex    (:integer-const "\\d+" :ending "\\b")
                (:identifier "[a-zA-Z]\\w*")))


Пользуясь языком без такой системы макропрограммирования, пришлось бы писать описание например на XML, а потом писать обработчик. Здесь же этот код во время компиляции преобразуеться в функции функции лексического анализа.

VD>>>Что означает "анофорических"?


CP>>Типа местоимение. Мы обозначаем it как местоимение (задавая ему некое значание из выражения например) и можем использовать его в теле. В других языках это вообще нет.


VD>Хм. Ты уверен, что нет? И уверен, что если нет, то оно нужно?

VD>Например Рбивские и Смолтоковские декларации параметров для анонимных блоков — это не одно и то же? Например:
VD>
VD>list.each { x | x * c }
VD>


Не не то. В мы же здесь объявлям x внутри блока. А там it не объявляеться -> более выскокая абстракция.
Здесь http://gzip.rsdn.ru/Forum/Message.aspx?mid=1646876&amp;only=1
Автор: raskin
Дата: 30.01.06
товарищ raskin хорошо написал об этом.

VD>Ты не суди о том что не изучил. Ты обясни суть, и вместе разберемся можно ли, нельзя ли. И если нельзя, то чего мы лешаемся. Я пока что вижу гордость хнен знает чем.


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


VD>Что это дает? Какие задачи позволяет решать?


Строить более выскокие абстракции.
Re[17]: преимущества erlang-а?
От: CrazyPit  
Дата: 31.01.06 11:13
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, CrazyPit, Вы писали:


CP>>Смысл ООЧЕНЬ большой — REPL тестирование. Без него уже часто процесс разработки становиться мукой.


VD>Ты меня конечно извени, но ты IDE порядошную видел? Нахрена мне мне вообще интерпретатор если я могу прямо во время выполнения программы править ее код? Или во время разработки протестировать функцию.



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

VD> во время выполнения программы править ее код

в CL так разработка ведёться всегда.

VD>В общем, ты привык к "псевдо Юникс-лайк" стилю. Он возник от убогости. И то что в его рамках кажется очень важным и необходимым, на самом деле, при некоторых условиях, на фиг не унжно.


Ты прав я привык к юникс стилю разработки и нахожу его весьма удобным.

VD>Погляди для разнообразия как можно работать в VS 2005 или в IDEA. Думаю, что когда въедешь во все возможности, то поймешь о чем я говорю.


VS05 и IDEA не видел. Возможно они чем-то радикально отличаються от других подобных IDE, но другие меня как-то не впечатлили.
Re[20]: преимущества erlang-а?
От: CrazyPit  
Дата: 31.01.06 11:22
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP> Вот пару примеров:


забыл второй.

(defmodule-import photo "Фотопродукция"
  (:source "photo.txt" :main-category-id 19)
  (:category :if (and (non-free (column 1))
                       (non-free (column 2)))
         :level-map ((:compute (parse-integer (column 1))))
         :mapping ((:name 2)))
  (:goods :if (and (free (column  1))
                   (non-free (column 2))
                   (non-free (column 3)))
      :prep ((counter (make-counter)))
      :mapping ((:code (funcall counter))
                   (:name 2)
                   (:in-cost 3 :transform #'rus-cost)))))


DSL для описания импорта из текстового прайст в БД. по определённым правилам.
Re[20]: преимущества erlang-а?
От: gandalfgrey  
Дата: 31.01.06 11:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ага. Средняя температура по больнице всегда 36.6.

Именно так. Незачем ориентироваться на тормозов или гениев.

VD>Дык вот и хотелось бы увидить обоснование того, что реальная система на Шарпе (к примеру) не может быть усойчивой и надежной.

Запросто ! Пример хоть одной системы повышенной надежности, с временем простоя порядка единиц секунд в год

VD>А в чем выражается выразительность? Не уж то в минимализации количества закорючек на экране?

И в этом тоже. Производительност программера выражается в количестве строк в день, и слабо зависит от языка, на котором он ваяет продукт. Сие медицинский факт, подтвержденный многочисленной статистикой. Поэтому — чем выразительнее язык, тем более компактный код он позволяет создавать, и тем больше смысловых единиц ( не LOC ) получается в единицу времени
Re[20]: преимущества erlang-а?
От: little_alex  
Дата: 31.01.06 11:25
Оценка: +1
Здравствуйте, CrazyPit, Вы писали:

CP>Здравствуйте, VladD2, Вы писали:


VD>>И где здесь проверка типа? Причем тут атом не атом? Это операция над АСТ.


CP>Атом это пример, можно проверить любой тип входного выражения.


Нет речь о том чтобы проверять тип аргумента макроса. Не куска кода ( это конечно же будет список или символ )a какому типу этот кусок кода будет соответствовать в лексическом окружение в котором вызван макрос.
Другими словами как по объекту &environment и коду — определить тип
  (typep* '(+ 1 2)) => fixnum

  (let ((x))
     (declare (type fixnum x))
     (typep* 'x)) => fixnum
Re[24]: преимущества erlang-а?
От: gandalfgrey  
Дата: 31.01.06 12:27
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Кто такой Тикль?

это TCL, скриптовый такой язык, лишенный даже намека на синтаксис

VD>Полезной? Не сказал бы. Но мы говорим о скорости. Общая производительность в конце концов завист от той что ты называшь "сырой".

Очень слабо зависит. Есть гораздо более весомые факторы

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

А где это такой язык ? Пальцем, пожалуйста, покажите ! То, что это не Сшарп и не Ява, понятно...

VD>"Нежалуюсь" это не предсказание. Это просто твои задачи не стольк требовательны к процессору. Или пакетные и тебе пофигу сколько они выполняются.

Вообще-то мягкий реалтайм в большинстве случаев

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

У них другого не хватает, к сожалению
Re[14]: преимущества erlang-а?
От: gandalfgrey  
Дата: 31.01.06 12:35
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP>Мне тут посоветовали в качестве самообучения написать движок MUD-a на erlange. Кстати может ещё тут кто что посоветует написать на эрланге в 3-4 KLOC для самообучения?

Хорошей идеей было бы написать компилятор маленького скриптового языка. Или биндинг к какому-нибудь симпатичному гую. Для GTK+, wxwindows и TCL уже есть...
Re[21]: преимущества erlang-а?
От: FR  
Дата: 31.01.06 13:23
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Из чего можно сделать вывод, что VC похож тоже избавляется от концевой рекурсии. Ну, и что скорость дотнетного кода очень близка к скорость порождаемой C++-ными компиляторами.


VC может еще лучше оптимизировать, достаточно добавить строчку #pragma inline_recursion(on) и у меня вместо 0.703000 становится 0.343000
Re[15]: преимущества erlang-а?
От: CrazyPit  
Дата: 31.01.06 13:42
Оценка:
Здравствуйте, gandalfgrey, Вы писали:

G>Здравствуйте, CrazyPit, Вы писали:


CP>>Мне тут посоветовали в качестве самообучения написать движок MUD-a на erlange. Кстати может ещё тут кто что посоветует написать на эрланге в 3-4 KLOC для самообучения?

G>Хорошей идеей было бы написать компилятор маленького скриптового языка. Или биндинг к какому-нибудь симпатичному гую. Для GTK+, wxwindows и TCL уже есть...

В этих задачах сложно раскрыть главное приемущество эрланга. Хотелось бы написать какую-нибудь распределённую систему.
Re[16]: преимущества erlang-а?
От: gandalfgrey  
Дата: 31.01.06 14:06
Оценка:
Здравствуйте, CrazyPit, Вы писали:

CP>В этих задачах сложно раскрыть главное приемущество эрланга. Хотелось бы написать какую-нибудь распределённую систему.

Тогда действительно — распределенную игрищу. Можно даже шашки на 8-угольной доске.
Можно и рисовалку сетевую. Но это очень уж просто, конечно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.