Re[8]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 24.03.11 18:08
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VE>>Затем же, зачем макросы, генерики, ФВП. Чтобы не повторять одно и то же в каждой строке.


VD>Чтобы избавиться от дублирования (loc, n) ? Проще значение в кортеж поместить. Только это ловля блох.


И будешь везде пропихивать этот кортеж? Отличное решение.
Re[9]: Metaprogramming & higher-order functions dualis
От: hardcase Пират http://nemerle.org
Дата: 24.03.11 21:07
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>И будешь везде пропихивать этот кортеж? Отличное решение.


Везде — это в 10 строках?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[9]: Metaprogramming & higher-order functions dualis
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.11 22:12
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>И будешь везде пропихивать этот кортеж? Отличное решение.


Куда его пропихивать то? Кода 5 строк.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 25.03.11 07:09
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


VE>>И будешь везде пропихивать этот кортеж? Отличное решение.


VD>Куда его пропихивать то? Кода 5 строк.


Не 5, а 25, из них в 8-ми повторяется (loc, n), причем в каждой неоднократно.
Re[10]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 25.03.11 07:11
Оценка:
Здравствуйте, hardcase, Вы писали:

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


VE>>И будешь везде пропихивать этот кортеж? Отличное решение.


H>Везде — это в 10 строках?


Я бы сказал, не в 10, а в половине строк функции.

Судя по нападкам я начинаю подозревать, что такая элементарная задача не по силам Немерлю с его макросами. Либо посильна, но какой ценой.
Re[11]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 25.03.11 09:19
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Судя по нападкам я начинаю подозревать, что такая элементарная задача не по силам Немерлю с его макросами. Либо посильна, но какой ценой.

Судя по тому что от тебя не поступило даже псевдокода того как этот код можно сократить в 100500 раз то...
Короче код на хаскеле в студию.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 25.03.11 10:18
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>Судя по нападкам я начинаю подозревать, что такая элементарная задача не по силам Немерлю с его макросами. Либо посильна, но какой ценой.

WH>Судя по тому что от тебя не поступило даже псевдокода того как этот код можно сократить в 100500 раз то...
WH>Короче код на хаскеле в студию.
Думаю, если я его напишу, то отрежу тебе единственный путь к отступлению с гордо поднятой головой "спервадобейся". Не буду лишать тебя этой радости.
Re[13]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 25.03.11 10:26
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Думаю, если я его напишу, то отрежу тебе единственный путь к отступлению с гордо поднятой головой "спервадобейся". Не буду лишать тебя этой радости.

Ну да пошла демагогия... что слив сразу засчитываем?
Ты заявил что тут нужны монады.
Монады ради монад глупость.
Значит они нужны чтобы сократить код.
Вот и покажи как в данном случае с помощью монады сократить код.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[14]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 25.03.11 10:30
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>Думаю, если я его напишу, то отрежу тебе единственный путь к отступлению с гордо поднятой головой "спервадобейся". Не буду лишать тебя этой радости.

WH>Ну да пошла демагогия... что слив сразу засчитываем?
WH>Ты заявил что тут нужны монады.
WH>Монады ради монад глупость.
WH>Значит они нужны чтобы сократить код.
WH>Вот и покажи как в данном случае с помощью монады сократить код.

Я сказал, что напрашиваются монады (подозреваю, что (loc, n) повторяется не только в этом макросе, больно общо выглядит код), и что ими тут можно сократить код. Может, мне ещё коммит сделать? Как правильно говорил Влад, совет можно или проигнорить, или воспользоваться, а в няньки я не нанимался.
Засчитывай слив, скриншот в рамку и на стену.
Re[15]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 26.03.11 07:56
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Я сказал, что напрашиваются монады (подозреваю, что (loc, n) повторяется не только в этом макросе, больно общо выглядит код),

Код придельно конкретный.

VE>и что ими тут можно сократить код.

Вот и покажи как. Я не вижу куда тут можно монаду воткнуть так чтобы код стал короче.

VE>Может, мне ещё коммит сделать?

Ты хотябы псевдокод напиши.
За то время что ты тут трындишь давно бы эти 10 строк переписал и показал всем как надо.

VE>Как правильно говорил Влад, совет можно или проигнорить, или воспользоваться, а в няньки я не нанимался.

Какой пафос... а все ради того чтобы сделать хорошую мину при плохой игре.
Ибо куда там можно воткнуть монаду ты и сам не знаешь.
А признать боишься.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 26.03.11 19:20
Оценка:
Здравствуйте, WolfHound, Вы писали:

VE>>Как правильно говорил Влад, совет можно или проигнорить, или воспользоваться, а в няньки я не нанимался.

WH>Какой пафос... а все ради того чтобы сделать хорошую мину при плохой игре.
До тебя мне далеко.
WH>Ибо куда там можно воткнуть монаду ты и сам не знаешь.
О великий пророк.
WH>А признать боишься.
Re[16]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 26.03.11 19:37
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>Я сказал, что напрашиваются монады (подозреваю, что (loc, n) повторяется не только в этом макросе, больно общо выглядит код),

WH>Код придельно конкретный.

VE>>и что ими тут можно сократить код.

WH>Вот и покажи как. Я не вижу куда тут можно монаду воткнуть так чтобы код стал короче.

VE>>Может, мне ещё коммит сделать?

WH>Ты хотябы псевдокод напиши.
WH>За то время что ты тут трындишь давно бы эти 10 строк переписал и показал всем как надо.
Хами — переходи на личности — время не теряй — моё жизненное кредо.

Устроит псевдокод или разжевать попросишь?
make r = PExpr.Member e1 `ap` make' r where
    make' (Ref n) = Splicable.Name n
    make' (ToComplete n) = Splicable.HalfId
    make' _ = failMatch
e2 <- msum [
    r ~~> make r
    Call(r, parms) ~~> PExpr.Call `ap` make r `ap` parms
    Indexer(r, parms) ~~> PExpr.Indexer `ap` make r `ap` parms
    otherwise ~~> Message.FatalError "blabla"] expr2
-- ...
Re[17]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 26.03.11 20:44
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Хами — переходи на личности — время не теряй — моё жизненное кредо.

Я давно заметил что ты только этим и занимаешься.

VE>Устроит псевдокод или разжевать попросишь?

Уже лучше.
Теперь сделай код эквивалентным (а то ты его сократил за счет потери функциональности) и не экономь на именах.
Что такое ~~> ? hoogle молчит. И не ясно в каком месте в АСТ засовывается Location.
Вот тогда и сравним.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 28.03.11 07:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>Хами — переходи на личности — время не теряй — моё жизненное кредо.

WH>Я давно заметил что ты только этим и занимаешься.
Не думаю, что ты не понял, кому предназначается эта фраза.
Не я тут искажаю чужие слова, а затем обвиняю в демагогии и засчитываю сливы, как пубертатное школоло.

VE>>Устроит псевдокод или разжевать попросишь?

WH>Уже лучше.
WH>Теперь сделай код эквивалентным (а то ты его сократил за счет потери функциональности) и не экономь на именах.
WH>Что такое ~~> ? hoogle молчит. И не ясно в каком месте в АСТ засовывается Location.
WH>Вот тогда и сравним.

make r = PExpr.Member e1 `ap` make' r where
    make' (Ref n) = Splicable.Name n
    make' (ToComplete n) = Splicable.HalfId
    make' _ = failMatch
e2 <- runExprT $ msum $ map ExprT [
    \r -> make r
    \Call(r, parms) -> PExpr.Call `ap` make r `ap` parms
    \Indexer(r, parms) -> PExpr.Indexer `ap` make r `ap` parms
    \_ -> Message.FatalError "blabla"] expr2


Вполне можно вот так. Location протягивается через монаду. Всё неслабо зависит от того, какие у вас там могут быть Expr, и что у него внутри. Именно поэтому я сказал, что монада "напрашивается", а не "нужна". Но тебе же виднее, что именно я сказал. Я не иду на попятную, но ковырять весь код и потом писать более короткий аналог, чтобы что-то кому-то (а уж тем более тебе) доказать, я не собираюсь.
Re[19]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 28.03.11 07:57
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Не думаю, что ты не понял, кому предназначается эта фраза.

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

VE>Вполне можно вот так. Location протягивается через монаду. Всё неслабо зависит от того, какие у вас там могут быть Expr, и что у него внутри. Именно поэтому я сказал, что монада "напрашивается", а не "нужна". Но тебе же виднее, что именно я сказал. Я не иду на попятную, но ковырять весь код и потом писать более короткий аналог, чтобы что-то кому-то (а уж тем более тебе) доказать, я не собираюсь.

Ты именно что юлишь и идешь на попятную.
Ибо тот код сократить практически не реально.
Тем более монадой.
Короче ты как обычно влез в тему, в которой ничего не понимаешь и пытаешься строить из себя великого гуру, которого все должны слушать.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 28.03.11 08:19
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>Не думаю, что ты не понял, кому предназначается эта фраза.

VE>>Не я тут искажаю чужие слова, а затем обвиняю в демагогии и засчитываю сливы, как пубертатное школоло.
WH>Тебя так легко тролить...
Да ну неужели. Тут аж четыре человека возбурлило на мой вброс, а ты так и до сих пор не угомонился.
WH>А знаешь что самое интересное в этой истории? Ты первый начал.

WH>Ты именно что юлишь и идешь на попятную.

WH>Ибо тот код сократить практически не реально.
Если две частные реализации sort короче, чем одна общая, то общая всё равно приоритетнее. Вопрос не в сокращении, а в убирании повторяющегося говна.
Re[21]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 28.03.11 08:41
Оценка:
Здравствуйте, VoidEx, Вы писали:

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

Да ты еще и считать не умеешь...
И бурлишь тут только ты. Наезды у тебя в каждом первом сообщении.

VE>Если две частные реализации sort короче, чем одна общая, то общая всё равно приоритетнее.

Причем тут сортировки я вообще не понял.
Раскрой тему.
Это становится забавным.

VE>Вопрос не в сокращении, а в убирании повторяющегося говна.

Если тебе так не нравится (n, loc) то их почти все можно убрать замыканием.
В любом случае нужно сохранять функциональность, а не заниматься сжатием кода с потерями как это делаешь ты.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 28.03.11 09:06
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>Если две частные реализации sort короче, чем одна общая, то общая всё равно приоритетнее.

WH>Причем тут сортировки я вообще не понял.
WH>Раскрой тему.
WH>Это становится забавным.
При том, что повторяющийся код убирают далеко не только за тем, чтобы сократить.

VE>>Вопрос не в сокращении, а в убирании повторяющегося говна.

WH>Если тебе так не нравится (n, loc) то их почти все можно убрать замыканием.
Ну так убери.
WH>В любом случае нужно сохранять функциональность, а не заниматься сжатием кода с потерями как это делаешь ты.
Где там потери у меня?
Re[23]: Metaprogramming & higher-order functions dualis
От: WolfHound  
Дата: 28.03.11 09:58
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>При том, что повторяющийся код убирают далеко не только за тем, чтобы сократить.

А зачем еще? И каким боком тут сортировка?

WH>>Если тебе так не нравится (n, loc) то их почти все можно убрать замыканием.

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

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

VE>Где там потери у меня?
Ну то есть ты не только считать но и читать не умеешь?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: Metaprogramming & higher-order functions dualis
От: VoidEx  
Дата: 28.03.11 10:03
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VE>>При том, что повторяющийся код убирают далеко не только за тем, чтобы сократить.

WH>А зачем еще? И каким боком тут сортировка?
Я думал на её примере станет понятно, зачем ещё. Но на нет и суда нет.

WH>>>Если тебе так не нравится (n, loc) то их почти все можно убрать замыканием.

VE>>Ну так убери.
WH>Зачем? Код от этого практически ничего не выиграет.
WH>А политика проекта такова что перед коммитом изменений в компилятор или стандартную библиотеку нужно все тесты прогонять, а это куча времени.
Не-не, ты мне тут, псевдокодом убери.

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

VE>>Где там потери у меня?
WH>Ну то есть ты не только считать но и читать не умеешь?
На языке для глухонемых не умею.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.