Re[11]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    подписка   модер. 
От: GlebZ 
Дата: 31.03.08 12:08
Оценка:1 (1) +1 :))) :)))
Здравствуйте, <Аноним>, Вы писали:

А>Или даже до:

А>
А>,. +/@". ;. _2 freads 'my.txt'
А>

Сегодня весь день читал эту программу... Много думал...

... << RSDN@Home 1.2.0 alpha rev. 789>>
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 31.03.08 09:27
Оценка: :))) :))) :)
Здравствуйте, VladD2, Вы писали:

VD>Ну, и Немерле это язык для реальной работы — замена плюсам, C#-у и Яве, а не для пенисометрии.


Штирлиц вошёл в кафе
— сейчас начнётся драка — сказал один из посетителей
Штирлиц вышел
— нет, драки не будет — возразил другой
и тут между ними началась драка
FreeArcлучший архиватор в мире
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 21.04.08 12:22
Оценка: +4 -3
Здравствуйте, VladD2, Вы писали:

BZ>>Влад обиделся и отомстил насколько хватило энтиллекта


VD>Обиделся тут явно кто-то другой (факт!). По уму за такие ответвления от темы надо прост в бан, а сообщения на помойку. Я же всего лишь назвал ответвление подобающим именем.


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

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


Влад, если у тебя недостаточно самоуважения, то ты можешь идти общаться в форумы с хамским модерированием. может, для самоощущения совка это нормально: я модератор — ты дурак, ты модератор — я дурак. нормальные же люди тебя давно игнорируют
FreeArcлучший архиватор в мире
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 27.03.08 11:07
Оценка:27 (3) :))
Здравствуйте, Константин, Вы писали:

DM>>Ha Ruby, как обычно, короче всего:

К>Думаю, на perl'е ещё короче, но это уже звериный оскал

Ноги, крылья, главное хвост !!!
+/"1 ". > (< ;. _2) freads 'my.txt'
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 23.04.08 15:47
Оценка:1 (1) -4
Здравствуйте, BulatZiganshin, Вы писали:

BZ>пенисометрией здесь занимаешься ты, Влад.


Ага. Хожу по форуму ищу чужие ответы и пишу:
http://rsdn.ru/forum/message/2892348.1.aspx
Автор: BulatZiganshin
Дата: 27.03.08

just for comparison :

foreach (line in File.ReadAllLines("test.txt"))
  WriteLine(line.Split(' ').Map(int.Parse).Fold(0, _ + _));


BZ>собственно, я от тебя ни одного сравнения немерле с другими языкаи не видел без помоев.


Никто не виноват, что ты мало в жизни видел.

BZ>переименование темы, которым ты ответил на то, что тебя игнорят — это наглое и бепардонное хамство, за которое тебя следовало бы забанить


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

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

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


BZ>Влад, если у тебя недостаточно самоуважения, то ты можешь идти общаться в форумы с хамским модерированием. может, для самоощущения совка это нормально: я модератор — ты дурак, ты модератор — я дурак. нормальные же люди тебя давно игнорируют


Я понял — ты ненормальный .

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

ЗЫ

Мой либеральный порыв иссяк. Продолжение обсуждения моделирования будет исключительно по личной переписке.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[16]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: deniok 
Дата: 01.04.08 08:43
Оценка: :))) :))
Здравствуйте, eao197, Вы писали:

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


GZ>>>Мало букф отнюдь не обозначает читабельность. А я очень люблю читабельность. Я люблю понимать что вижу и что пишу без излишней мозговой деятельности. Посему — я за языки с человеческим лицом.

M>>Ну если сравнивать J и С# допустим можно привести аналог.

M>>Вечер чудесен.

M>>Камыш шумит.
M>>Император пьет чай

M>>и


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


E>Не понял, а где в первом хокку (танка?) информация о том, что император наслаждался чаепитием (может он пил через силу?) и о том, что он пил его в своем большом каменном замке, а не в маленьком шатре во время привала на императорской охоте?


Описано в стандарте. Для привала на охоте примененные речевые обороты неприменимы
Re[14]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 31.03.08 13:41
Оценка: :)))
Здравствуйте, GlebZ, Вы писали:

GZ>А мне не нравится не первый, ни второй вариант.

GZ>В первом варианте — язык в котором нет ничего человеческого. Кодировки хороши для компьютера, но не для человека.
А в китайских иероглифах тоже нет ничего человеческого ? Или там в арабском языке ?
Если ты знаешь принципы по кторым составляются иероглифы и знаешь некоторый набор базовых, то оказывается, что ничего страшного и нет. Дело привычки.

GZ>Мало букф отнюдь не обозначает читабельность. А я очень люблю читабельность. Я люблю понимать что вижу и что пишу без излишней мозговой деятельности. Посему — я за языки с человеческим лицом.

Ну если сравнивать J и С# допустим можно привести аналог.

Вечер чудесен.
Камыш шумит.
Император пьет чай

и

В это чудесный весенний вечер, слушая таинственные перешептывания камыша, император наслаждался чаепитием в своем большом каменном замке.
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 19.04.08 08:36
Оценка: -3
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Влад обиделся и отомстил насколько хватило энтиллекта


Обиделся тут явно кто-то другой (факт!). По уму за такие ответвления от темы надо прост в бан, а сообщения на помойку. Я же всего лишь назвал ответвление подобающим именем.

Так что лучше чем обижаться пошел бы и ответил бы на вопрос человека... если конечно есть что сказать.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: palm mute 
Дата: 27.03.08 11:37
Оценка:4 (2)
Здравствуйте, ., Вы писали:

>> import Control.Arrow

>> main = interact (lines >>> map sumline >>> unlines)
>> sumline = words >>> map (read::String->Int) >>> sum >>> show
.>Вот они страхи... Может это у меня опыта нет, но из всех приведённых программ, если не считать K (или что там у Mirrorer), эта самая непонятная.
.>Что такое interact? lines? unlines? words? а особенно >>>?
interact f читает стандартный входной поток, применяет к нему функцию f, пишет в стандартный выходной поток.
lines — разбивает текст по символу '\n'
words — разбивает строку по пробелам
>>> — конвейер (шеллом пользоваться приходилось?).
Re[10]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 27.03.08 12:15
Оценка: +1 :)
Здравствуйте, _pk_sly, Вы писали:

__>(reduce и add) описаны отдельно


Ну это же неспортивно. Отдельно можно описать make_sum_of_numbers_in_every_line_in_file и получить гарантированно самый короткий результат.
Re[8]: Господа! не отвлекаемся от темы! :) в избранное  новое    модер. 
От: Klapaucius 
Дата: 27.03.08 12:54
Оценка: :))
Здравствуйте, _pk_sly, Вы писали:

__>которая называется "несложный ФЯ с человеческим лицом"


Несложный ФЯ с человеческим лицом Клейсли.
... << RSDN@Home 1.2.0 alpha 4 rev. 992>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[8]: Господа! не отвлекаемся от темы! :) в избранное  новое    модер. 
От: Kisloid 
Дата: 27.03.08 14:52
Оценка: +1 :)
Здравствуйте, _pk_sly, Вы писали:

__>которая называется "несложный ФЯ с человеческим лицом"


Человеческие лица тоже разные бывают
... << RSDN@Home 1.2.0 alpha rev. 786>>
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[13]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: GlebZ 
Дата: 31.03.08 12:57
Оценка: +2
Здравствуйте, <Аноним>, Вы писали:

А>Кто изучил и привык — тому нравится

А мне не нравится не первый, ни второй вариант.
В первом варианте — язык в котором нет ничего человеческого. Кодировки хороши для компьютера, но не для человека. Во втором — куча скобок которые надо отслеживать. Чуть ли не лисп получился. C# как функциональный по умолчанию — слабоват.
Мало букф отнюдь не обозначает читабельность. А я очень люблю читабельность. Я люблю понимать что вижу и что пишу без излишней мозговой деятельности. Посему — я за языки с человеческим лицом.
... << RSDN@Home 1.2.0 alpha rev. 789>>
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 02.04.08 08:13
Оценка: :))
Здравствуйте, Mirrorer, Вы писали:

M>Если ты знаешь принципы по кторым составляются иероглифы и знаешь некоторый набор базовых, то оказывается, что ничего страшного и нет. Дело привычки.


Конечно... ничего страшного. Просто иногда страшно, что введенные, сгоряча, путем простого проведения пальцем по клавиатуре (!"№;?*)_+), символы могут оказаться реально работающим вирусом который воплотит идеи фильма "Терминатор" в жизнь .
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[12]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Quintanar 
Дата: 02.04.08 09:28
Оценка:9 (1)
Здравствуйте, Quintanar, Вы писали:

А>>Или даже до:

А>>
А>>,. +/@". ;. _2 freads 'my.txt'
А>>


Q>Или в

Q>
Q>+/'["I"$" "vs/:read0`my.txt]
Q>


Или даже до
+/'"I"$" "\:'0:`my.txt
Re[16]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 01.04.08 10:50
Оценка:7 (1)
Здравствуйте, eao197, Вы писали:

E>Не понял, а где в первом хокку (танка?) информация о том, что император наслаждался чаепитием (может он пил через силу?) и о том, что он пил его в своем большом каменном замке, а не в маленьком шатре во время привала на императорской охоте?

Тацитный стиль однако

geometric_mean =. # %: */


public double geometric_mean(List<double> data)
{
    double mul = 1;
    foreach(var x in data)
    {
        mul *= x;
    }
    return Math.Pow(mul, 1/data.Count);
}


Где в джее информация о параметрах ? О том что где-то тут есть список ? и что этот список даблов ?
Очередной, весенний, взрыв пенисометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 08:28
Оценка:6 (1)
Здравствуйте, Don Reba, Вы писали:

DR>
DR>SumLines("test.txt");
DR>


just for comparison :

import Control.Arrow
main = interact (lines >>> map sumline >>> unlines)
sumline = words >>> map (read::String->Int) >>> sum >>> show

недёшево "человеческое лицо" обходится, одним словом


02.04.08 13:33: Ветка выделена из темы несложный ФЯ с человеческим лицом
Автор: dmz
Дата: 26.03.08
— VladD2
FreeArcлучший архиватор в мире
Re[14]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Аноним 509 
Дата: 31.03.08 23:32
Оценка:1 (1)
Здравствуйте, GlebZ, Вы писали:

GZ>А мне не нравится не первый, ни второй вариант.


Ну где же он?? Где он — ваш вариант на языке идеально подходящим для данной мега задачи?

GZ>В первом варианте — язык в котором нет ничего человеческого. Кодировки хороши для компьютера, но не для человека. Во втором — куча скобок которые надо отслеживать. Чуть ли не лисп получился.


Ну... это вообще уже банальные аргументы в споре о устрицах с теми кто их ел со стороны тех, кто еще не успел — что J/K/APL — это испорченная кодировка, а главный ужас Лиспа — это скобки. Или вы не против лисповских скобок, просто они вам в C# не нравятся? Ну так можно убрать:
var sums = from line in File.ReadAllLines("Numbers.txt")
           let numbers = from c in line.Split(' ')
                         select float.Parse(c)
           select numbers.Sum();
           
sums.ToList().ForEach(Console.WriteLine);


GZ>Мало букф отнюдь не обозначает читабельность. А я очень люблю читабельность. Я люблю понимать что вижу и что пишу без излишней мозговой деятельности. Посему — я за языки с человеческим лицом.


Равно как и "много буков" — тоже не добавляет читабельности (что более читабельно: multiply(2,3) или 2*3? a.Equals(b) или a==b?). Сложность J/K (а также и мощь и красота) вовсе не в "сжатом" синтаксисе (во-первых есть Q, а во-вторых базовые примитивы любой человек за несколько дней запомнит с легкостью и напрягаться не будет), а в "векторности" этих языков, в глагольных ранках J, в его hooks & forks (чего нет в других языках), в тацидном стиле (функциональная композиция). И именно благодаря этим фичам языка любому мало-мальски знающему J понять код, скажем, функции вычисления среднего арифметического значения массива
+/ % #

(+/ (сумму массива) % (разделить на) # (число элементов в массиве)) куда проще чем то же самое имплементированное на любом другом невекторном языке (Linq-овскую Avg() исключаем ) через цикл. Отношение LOC между C#/Java/C++ и K/J — где-то между 100:1 и 1000:1 (Вот характерный примерчик)) — и это отнюдь не одними короткими именами достигается.

PS А вообще довольно мило у вас получилось — наезд на 2 из трех старейших, но все еще молодых, ЯП (Lisp и APL) в одном предложении
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Константин 
Дата: 27.03.08 10:42
Оценка: :)
Здравствуйте, D. Mon, Вы писали:

DM>Ha Ruby, как обычно, короче всего:


Думаю, на perl'е ещё короче, но это уже звериный оскал
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: palm mute 
Дата: 27.03.08 12:26
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

WH>Ты же понимаешь что если написать все нужные комбинаторы то все точно также получится...

Без классов типов с полиморфизмом высшего порядка комбинаторов придется писать много.
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 31.03.08 09:58
Оценка: +1
Здравствуйте, VoidEx, Вы писали:

VE>Так уж и замена?


Не я тут выхожу по-врать, чтобы таких как ты с истинного пути сбить.

Не веришь, тогда молись на разные Хаскили по вечерам, а днем разводи кашу на С++ и трахайся с ней. Кто тебе мешает?

Я говорю для тех кому надоел этот трах.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Кодт модератор 
Дата: 01.04.08 13:47
Оценка: :)
Здравствуйте, Mirrorer, Вы писали:

M>Вечер чудесен.

M>Камыш шумит.
M>Император пьет чай

M>и


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


Эй! Не надо сюда императивность тащить! ФЯ — значит ФЯ!
Перекуём баги на фичи!
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: dmz 
Дата: 27.03.08 09:12
DR>>
DR>>SumLines("test.txt");
DR>>


BZ>just for comparison :


BZ>import Control.Arrow

BZ>main = interact (lines >>> map sumline >>> unlines)
BZ>sumline = words >>> map (read::String->Int) >>> sum >>> show

BZ>недёшево "человеческое лицо" обходится, одним словом


Человеческое лицо — это вот:

len(open('xorg.conf').readlines())


или

если я, конечно, правильно понял, что тут происходит. Но Nemerle в таком примере не впечатлил, да.
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 09:32
Здравствуйте, dmz, Вы писали:

dmz>
dmz>len(open('xorg.conf').readlines())
dmz>


dmz>если я, конечно, правильно понял, что тут происходит. Но Nemerle в таком примере не впечатлил, да.


нет, здесь печатается сумма чисел в каждой строке. ваш ход:
FreeArcлучший архиватор в мире
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: dmz 
Дата: 27.03.08 09:44
dmz>>если я, конечно, правильно понял, что тут происходит. Но Nemerle в таком примере не впечатлил, да.

BZ>нет, здесь печатается сумма чисел в каждой строке. ваш ход:


Пардон тогда:

[reduce(lambda a,b:int(a)+int(b), x.split(' ')) for x in open('nums').readlines()]
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: D. Monhttp://about.thedeemon.com
Дата: 27.03.08 10:11
Ha Ruby, как обычно, короче всего:
IO.foreach("nums.txt"){|s| p s.split(' ').inject{|a,b| a.to_i+b.to_i}}
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Don Reba 
Дата: 27.03.08 10:23
Здравствуйте, dmz, Вы писали:


dmz>>>если я, конечно, правильно понял, что тут происходит. Но Nemerle в таком примере не впечатлил, да.


BZ>>нет, здесь печатается сумма чисел в каждой строке. ваш ход:


dmz>Пардон тогда:


dmz>
dmz>[reduce(lambda a,b:int(a)+int(b), x.split(' ')) for x in open('nums').readlines()]
dmz>


Можно и так.

using Nemerle.Utility;
using System.IO;
using System;

module TextReadeExtension
{
    public ReadLines(this reader : TextReader) : list[string]
    {
        mutable lines = [];
        mutable line = reader.ReadLine();
        while (null != line)
        {
            lines ::= line;
            line = reader.ReadLine();
        }
        lines;
    }
}

File
    .OpenText("test.txt")
    .ReadLines()
    .Map(x => x.Split(array[' ']).Fold(0, (a, b) => int.Parse(a) + b))
    .Iter(Console.WriteLine : int -> void);
Ce n'est que pour vous dire ce que je vous dis.
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 10:48
Здравствуйте, Константин, Вы писали:

К>Думаю, на perl'е ещё короче, но это уже звериный оскал


к сожалению, там нет встроенного fold/reduce/iter... для списков — только map.
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 11:04
Здравствуйте, Константин, Вы писали:

К>Думаю, на perl'е ещё короче, но это уже звериный оскал


конечно, можно "всё написать"...

если сначала написать

sub add($$)
{
    my ($a,$b) = @_;
    return $a+$b;
}
sub reduce
{
    my $op=shift;
    my $a = shift;
    for my $i (@_) {
        $a = &$op($a,$i);
    }
    return $a;
}


то программа в аналогичном стиле будет выглядеть так:

print join("\n",map { reduce(\&add,0,split) } <>);

либо
map { print reduce(\&add,0,split),"\n"; } <>;

что менее "функционально", но немного короче
Re[7]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 11:11
Здравствуйте, Mirrorer, Вы писали:

M>Ноги, крылья, главное хвост !!!

M>
M>+/"1 ". > (< ;. _2) freads 'my.txt'
M>


это что за зверь?!

предлагаю изобрести язык специально для решения этой задачи. размер программы равен 0!
Re[8]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 27.03.08 11:19
Здравствуйте, _pk_sly, Вы писали:

__>это что за зверь?!

Эт не зверь. Это старый добрый джей.

Когда начинается пенисометрия в разрезе "кто короче" ему нет равных
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: . 
Дата: 27.03.08 11:20
BulatZiganshin wrote:

> import Control.Arrow

> main = interact (lines >>> map sumline >>> unlines)
> sumline = words >>> map (read::String->Int) >>> sum >>> show
Вот они страхи... Может это у меня опыта нет, но из всех приведённых программ, если не считать K (или что там у Mirrorer), эта самая непонятная.
Что такое interact? lines? unlines? words? а особенно >>>?
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: WolfHound rsdn 
Дата: 27.03.08 11:37
Здравствуйте, BulatZiganshin, Вы писали:

BZ>недёшево "человеческое лицо" обходится, одним словом

Ты же понимаешь что если написать все нужные комбинаторы то все точно также получится...
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Don Reba 
Дата: 27.03.08 11:43
Здравствуйте, BulatZiganshin, Вы писали:

BZ>just for comparison :


BZ>import Control.Arrow

BZ>main = interact (lines >>> map sumline >>> unlines)
BZ>sumline = words >>> map (read::String->Int) >>> sum >>> show

BZ>недёшево "человеческое лицо" обходится, одним словом


Это не эквивалентный код. Интересно, как на Хаскеле будет выглядеть открытие и закрытие файла? Также, интересно как в нём обработать некорректный формат.

try
{
    SumLines("test.txt");
}
catch
{
    _ is FormatException => Console.WriteLine("Incorrect file format.");
}
Ce n'est que pour vous dire ce que je vous dis.
Re[7]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 11:55
Здравствуйте, Mirrorer, Вы писали:

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


DM>>>Ha Ruby, как обычно, короче всего:

К>>Думаю, на perl'е ещё короче, но это уже звериный оскал

M>Ноги, крылья, главное хвост !!!

M>
M>+/"1 ". > (< ;. _2) freads 'my.txt'
M>


а где переводы строки между строками?
Re[9]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 11:57
Здравствуйте, Mirrorer, Вы писали:

M>Эт не зверь. Это старый добрый джей.

M>Когда начинается пенисометрия в разрезе "кто короче" ему нет равных

таки на перле сравнимо получается
#!perl -np
$_=reduce(\&add,0,split);

(reduce и add) описаны отдельно
Re[8]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 27.03.08 12:09
Здравствуйте, _pk_sly, Вы писали:


M>>
+/"1 ". > (< ;. _2) freads 'my.txt'


__>а где переводы строки между строками?


А-а-а-а... Меня поймали

А ежели по сути, то переводы строки между строками при чтении файла обрабатывает freads.
А для того чтобы список
1 2 3

превратить в такую штуку
1
2
3

достаточно воспользоваться стандартным глаголом ,.
то есть результатом слудеющей строки
,. 1 2 3

будет
1 
2
3


Ну, или применительно к нашей задаче
,. +/"1 ". > (< ;. _2) freads 'my.txt'
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 12:12
Здравствуйте, Don Reba, Вы писали:

DR>Это не эквивалентный код. Интересно, как на Хаскеле будет выглядеть открытие и закрытие файла? Также, интересно как в нём обработать некорректный формат.


import Control.Arrow
import Control.Exception

main = handle print $ do
       readFile "test" >>= return.process >>= putStr
process = lines >>> map sumline >>> unlines
sumline = words >>> map (read::String->Int) >>> sum >>> show
FreeArcлучший архиватор в мире
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 27.03.08 12:18
Здравствуйте, BulatZiganshin, Вы писали:

BZ>
import Control.Arrow
import Control.Exception

main = handle print $ do
       readFile "test" >>= return.process >>= putStr
process = lines >>> map sumline >>> unlines
sumline = words >>> map (read::String->Int) >>> sum >>> show


Ой, а чегой-то стрелочки разные ?
И чем отличается >>= от >>> ?
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: lomeohttp://lomeo.livejournal.com/
Дата: 27.03.08 12:18
Здравствуйте, Don Reba, Вы писали:

DR>Это не эквивалентный код. Интересно, как на Хаскеле будет выглядеть открытие и закрытие файла?


file <- openFile "somefile.txt" ReadMode
doSomethingWith file
hClose file


DR>Также, интересно как в нём обработать некорректный формат.


import Prelude hiding (catch)
import Control.Exception (catch, ErrorCall)

> print (read "notnumber" + 5) `catch` (\(ErrorCall s) -> print s)


http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Exception.html
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Klapaucius 
Дата: 27.03.08 12:31
Здравствуйте, BulatZiganshin, Вы писали:

BZ>
BZ>import Control.Arrow
BZ>import Control.Exception

BZ>main = handle print $ do
BZ>       readFile "test" >>= return.process >>= putStr
BZ>process = lines >>> map sumline >>> unlines
BZ>sumline = words >>> map (read::String->Int) >>> sum >>> show
BZ>


А если файл называется "Числа Васисуалия Пупкина.txt" и, к тому же, UTF-32?
... << RSDN@Home 1.2.0 alpha 4 rev. 992>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Don Reba 
Дата: 27.03.08 12:32
Красивый язык. Краткий и легко читается.
Ce n'est que pour vous dire ce que je vous dis.
Re[11]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 12:33
Здравствуйте, Mirrorer, Вы писали:

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


__>>(reduce и add) описаны отдельно


M>Ну это же неспортивно. Отдельно можно описать make_sum_of_numbers_in_every_line_in_file и получить гарантированно самый короткий результат.


да, согласен я же не виноват что разработчики Перла функцию map в язык включили, а reduce — забыли.. для приведения языка к функциональному стандарту, дописанный reduce из пяти строк можно не считать

по поводу add — та же история операторы — не first class functions.


насчёт J — втыкаю в это!..
Re[7]: Господа! не отвлекаемся от темы! :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 12:39
которая называется "несложный ФЯ с человеческим лицом"
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Klapaucius 
Дата: 27.03.08 12:40
M>И чем отличается >>= от >>> ?

(>>>) :: Arrow a => a b c -> a c d -> a b d

это композиция стрелок слева направо.
А
(>>=) :: Monad a => a b -> (b -> a c) -> a c

Это bind. Так то!
... << RSDN@Home 1.2.0 alpha 4 rev. 992>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 12:42
Здравствуйте, Klapaucius, Вы писали:

K>это композиция стрелок слева направо.

K>Это bind. Так то!

сепульки: размножаются в сепулькарии
сепулькарий: устройство для размножения сепулек
FreeArcлучший архиватор в мире
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Klapaucius 
Дата: 27.03.08 12:48
Здравствуйте, BulatZiganshin, Вы писали:

BZ>сепульки: размножаются в сепулькарии

BZ>сепулькарий: устройство для размножения сепулек

Точно! А сепуление — это занятие ардритов (см.) с планеты Энтеропия (см.).
Вот только слово "размножаются" — все портит. Все сразу ясно становится.
... << RSDN@Home 1.2.0 alpha 4 rev. 992>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 12:51
Здравствуйте, Mirrorer, Вы писали:

M>Ой, а чегой-то стрелочки разные ?

M>И чем отличается >>= от >>> ?

>>= соединяет императивные процедуры, а >>> — чистые функции
FreeArcлучший архиватор в мире
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: WolfHound rsdn 
Дата: 27.03.08 12:52
Здравствуйте, palm mute, Вы писали:

PM>Без классов типов с полиморфизмом высшего порядка комбинаторов придется писать много.

Практика показывает что не так уж и много.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 12:54
Здравствуйте, Klapaucius, Вы писали:

K>А если файл называется "Числа Васисуалия Пупкина.txt" и, к тому же, UTF-32?


в станд. библиотеке ни то, ни другое не поддерживается (хотя под linux'ом первое работать всё же будет). доп. библиотеки существуют, в частности поддержку unicode имён файлов под виндами я сам во freearc сделал
FreeArcлучший архиватор в мире
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: palm mute 
Дата: 27.03.08 12:57
Здравствуйте, BulatZiganshin, Вы писали:

M>>И чем отличается >>= от >>> ?


>>= соединяет императивные процедуры, а >>> — чистые функции

вот уж упростил так упростил!
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Lloyd 
Дата: 27.03.08 13:09
Здравствуйте, dmz, Вы писали:

dmz>
dmz>[reduce(lambda a,b:int(a)+int(b), x.split(' ')) for x in open('nums').readlines()]
dmz>


До кучи:
C#:
File.ReadAllLines("Numbers.txt").Select(l => l.Split(' ').Select(s => int.Parse(s)).Sum()).ToArray();
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 27.03.08 13:10
Здравствуйте, Lloyd, Вы писали:

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


dmz>>
dmz>>[reduce(lambda a,b:int(a)+int(b), x.split(' ')) for x in open('nums').readlines()]
dmz>>


L>До кучи:

L>C#:
L>
L>File.ReadAllLines("Numbers.txt").Select(l => l.Split(' ').Select(s => int.Parse(s)).Sum()).ToArray();
L>


а напечатать?
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Lloyd 
Дата: 27.03.08 13:15
Здравствуйте, _pk_sly, Вы писали:

__>а напечатать?


Array.ForEach(File.ReadAllLines("Numbers.txt").Select(l => l.Split(' ').Select(s => int.Parse(s)).Sum()).ToArray(), Console.WriteLine);
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: dmz 
Дата: 27.03.08 13:57
__>а напечатать?

print "\n".join( sum(x.split(' ')) for x in open('nums').readlines() )
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Tonal-www.promsoft.ru
Дата: 27.03.08 14:37
Здравствуйте, dmz, Вы писали:
dmz>
dmz>[reduce(lambda a,b:int(a)+int(b), x.split(' ')) for x in open('nums').readlines()]
dmz>

Проще нужно быть:
[sum(map(int, x.split())) for x in open('nums')]

Хотя это тоже не совсем по исходная — там суммы на соответствующих строчках писались.
так что придётся чуть удленнить:
print '\n'.join(sum(map(int, x.split())) for x in open('nums'))
... << RSDN@Home 1.2.0 alpha 4 rev. 1036>>
Re[7]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Tonal-www.promsoft.ru
Дата: 27.03.08 14:44
Здравствуйте, dmz, Вы писали:
dmz>
dmz>print "\n".join( sum(x.split(' ')) for x in open('nums').readlines() )
dmz>

Ниправельна!
split у тя строку на список строк бъёт...
... << RSDN@Home 1.2.0 alpha 4 rev. 1036>>
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: genieprohttp://geniepro.livejournal.com/
Дата: 27.03.08 15:34
Здравствуйте, BulatZiganshin, Вы писали:

BZ>just for comparison :


Ну, без стрелок тоже можно обойтись:
import Control.Monad (forM)

main = do reader <- readFile "test.txt"
          forM (lines reader) $ \line ->
               print $ sum $ map read $ words line
Всего на строчку длинее, зато полностью соответствует исходному варианту на Немерле... :о)
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: genieprohttp://geniepro.livejournal.com/
Дата: 27.03.08 16:05
Здравствуйте, geniepro, Вы писали:

Да, проще надо быть:
main = readFile "test.txt" >>= mapM_ (print.sum.map read.words) . lines
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 27.03.08 16:44
Здравствуйте, geniepro, Вы писали:

G>
G>import Control.Monad (forM)

G>main = do reader <- readFile "test.txt"
G>          forM (lines reader) $ \line ->
G>               print $ sum $ map read $ words line
G>


как говорила наша учительница — выльем воду из чайника и сведём задачу к предыдущей
FreeArcлучший архиватор в мире
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 31.03.08 04:24
Здравствуйте, Don Reba, Вы писали:

Так проще:
using System.Console;
using System.IO;
using Nemerle.Utility;

def res = File.ReadAllLines(@"..\..\test.txt").Map(
  x => x.Split(' ').Fold(0, (a, b) => int.Parse(a) + b));
WriteLine($"..$res");
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 31.03.08 04:49
Здравствуйте, BulatZiganshin, Вы писали:

BZ>just for comparison :


BZ>import Control.Arrow

BZ>main = interact (lines >>> map sumline >>> unlines)
BZ>sumline = words >>> map (read::String->Int) >>> sum >>> show

BZ>недёшево "человеческое лицо" обходится, одним словом


Тут дело не в лице, а в опыте или руках. В сообщение на который ты отвечал ведь четко сказано "Пока не знаешь язык, пишешь почти также как на C#". Приведенный там код и есть "почти также как на C#". Но это не значит, что нельзя подругому.
using System.Console;
using System.IO;
using Nemerle.Utility;

foreach (line in File.ReadAllLines("test.txt"))
  WriteLine(line.Split(' ').Map(int.Parse).Fold(0, _ + _));


Вот только простым бы я ни Немерле, ни Хаскель не назвал бы.
Ну, и Немерле это язык для реальной работы — замена плюсам, C#-у и Яве, а не для пенисометрии.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[2]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VoidEx 
Дата: 31.03.08 05:28
Здравствуйте, VladD2, Вы писали:

Так уж и замена?
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 31.03.08 09:40
Здравствуйте, BulatZiganshin, Вы писали:

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


VD>>Ну, и Немерле это язык для реальной работы — замена плюсам, C#-у и Яве, а не для пенисометрии.


BZ>Штирлиц вошёл в кафе

BZ>- сейчас начнётся драка — сказал один из посетителей
BZ>Штирлиц вышел
BZ>- нет, драки не будет — возразил другой
BZ>и тут между ними началась драка

звучит как "Немерле — не для пенисометрии. Просто он — лучший"
Re[3]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 31.03.08 09:59
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Штирлиц вошёл в кафе

BZ>- сейчас начнётся драка — сказал один из посетителей
BZ>Штирлиц вышел
BZ>- нет, драки не будет — возразил другой
BZ>и тут между ними началась драка

Ну, я вышел. Можете начинать.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[4]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VoidEx 
Дата: 31.03.08 10:09
Здравствуйте, VladD2, Вы писали:

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


VE>>Так уж и замена?


VD>Не я тут выхожу по-врать, чтобы таких как ты с истинного пути сбить.

А, ну ок.

VD>Не веришь, тогда молись на разные Хаскили по вечерам, а днем разводи кашу на С++ и трахайся с ней. Кто тебе мешает?

Я сам решу, молиться мне или нет. Только я вроде как совета не просил, я вопрос задал (там вопросительный знак стоит), причем уточняющийся. Вместо ответа "да, я считаю, что замена", я слышу какое-то огрызание.

VD>Я говорю для тех кому надоел этот трах.

Замечательно, у меня "траха" нет в твоем понимании.

Слово "замена" звучит как минимум уж слишком оптимистично. "Альтернатива" — это еще да.

П.С. Давай ты все-таки перестанешь хамить и указывать, что мне делать?
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 31.03.08 10:19
Здравствуйте, VoidEx, Вы писали:

VE>П.С. Давай ты все-таки перестанешь хамить и указывать, что мне делать?


да не обращай ты на него внимания
FreeArcлучший архиватор в мире
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: _pk_sly 
Дата: 31.03.08 10:33
Здравствуйте, VoidEx, Вы писали:

VE>я вопрос задал (там вопросительный знак стоит)


похоже на провокацию.

обычно вопрос задают ДО того, как прочитают ответ, а не после.
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VoidEx 
Дата: 31.03.08 10:36
Здравствуйте, BulatZiganshin, Вы писали:

BZ>да не обращай ты на него внимания


Хотел уточнить, что скрывается под словом "замена", но, видать, ненароком опять святыню попрал
Придется игнорить, да.
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VoidEx 
Дата: 31.03.08 10:39
Здравствуйте, _pk_sly, Вы писали:

__>похоже на провокацию.


__>обычно вопрос задают ДО того, как прочитают ответ, а не после.


Уточняющий. Потому что "замена" слишком громко сказано. А вот на провокацию больше похоже то, что по идее должно было являться ответом на мой вопрос, а на деле ответа я так и не получил.
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 31.03.08 10:39
Здравствуйте, _pk_sly, Вы писали:

VE>>я вопрос задал (там вопросительный знак стоит)

__>похоже на провокацию.
__>обычно вопрос задают ДО того, как прочитают ответ, а не после.

ты решил действовать точно по анекдоту?
FreeArcлучший архиватор в мире
Re[9]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Аноним 353 
Дата: 31.03.08 11:56
Здравствуйте, Mirrorer, Вы писали:

M>Ну, или применительно к нашей задаче

M>
M>,. +/"1 ". > (< ;. _2) freads 'my.txt'
M>


Сокращается до:
,. +/ |: (". ;. _2) freads 'my.txt'
Re[10]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Аноним 353 
Дата: 31.03.08 12:02
Здравствуйте, Аноним, Вы писали:

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


M>>Ну, или применительно к нашей задаче

M>>
M>>,. +/"1 ". > (< ;. _2) freads 'my.txt'
M>>


А>Сокращается до:

А>
А>,. +/ |: (". ;. _2) freads 'my.txt'
А>


Или даже до:
,. +/@". ;. _2 freads 'my.txt'
Re[12]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Аноним 353 
Дата: 31.03.08 12:26
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, <Аноним>, Вы писали:


А>>Или даже до:

А>>
А>>,. +/@". ;. _2 freads 'my.txt'
А>>

GZ>Сегодня весь день читал эту программу... Много думал...

Ну и сравним с этим:
File.ReadAllLines("Numbers.txt").Select(l => l.Split(' ').Select(s => int.Parse(s)).Sum()).ToArray();


File.ReadAllLines("Numbers.txt") это "freads 'my.txt'"
Select(l => l.Split(' ') это (грубо) " ;. _2"
Select(s => int.Parse(s)) это ".
Sum() это +/
,. — это WriteLine которых тут нет.

Кто изучил и привык — тому нравится
Re[13]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Lloyd 
Дата: 31.03.08 14:29
Здравствуйте, <Аноним>, Вы писали:

А>Ну и сравним с этим:

А>
А>File.ReadAllLines("Numbers.txt").Select(l => l.Split(' ').Select(s => int.Parse(s)).Sum()).ToArray();
А>


Где копирайт?
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[14]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Аноним 509 
Дата: 31.03.08 23:55
Здравствуйте, Lloyd, Вы писали:

L>Где копирайт?


Забыл

Вам какой? C#-style (Воспользовавшись предполагаемым правом свободного копирования постов, сообщений, части соообщений, а также линков и другоко контента публично доступного на форуме RSDN (далее — форуме), было скопировано с нижеприведенного поста Lloyd-а)?
Или J-style ((с) Lloyd)?
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Lloyd 
Дата: 01.04.08 04:33
Здравствуйте, <Аноним>, Вы писали:

А>Забыл


А>Вам какой?


Мне лучше деньгами.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mamuthttp://dmitriid.com/
Дата: 01.04.08 05:21
А>Отношение LOC между C#/Java/C++ и K/J — где-то между 100:1 и 1000:1 (Вот характерный примерчик)) — и это отнюдь не одними короткими именами достигается.


Вот еще пример: http://www.vector.org.uk/archive/v214/metlov.htm
... << RSDN@Home 1.2.0 alpha 3 rev. 968>>
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: GlebZ 
Дата: 01.04.08 05:49
Здравствуйте, <Аноним>, Вы писали:

А>
А>var sums = from line in File.ReadAllLines("Numbers.txt")
А>           let numbers = from c in line.Split(' ')
А>                         select float.Parse(c)
А>           select numbers.Sum();
А>sums.ToList().ForEach(Console.WriteLine);
А>

Уже читабельно. Читабельные варианты были еще с Ruby.
Вообще же, когда читаешь код, неважно сколько там символов. Важно насколько емкие там термины, и насколько они понятны.

А>в тацидном стиле (функциональная композиция).

Вот не понимаю, какая красота в том, что 2*3+4 равняется 14?


А>PS А вообще довольно мило у вас получилось — наезд на 2 из трех старейших, но все еще молодых, ЯП (Lisp и APL) в одном предложении

Я люблю старые языки. Но только сами концепции.
... << RSDN@Home 1.2.0 alpha rev. 789>>
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: eao197http://eao197.blogspot.com
Дата: 01.04.08 08:23
Здравствуйте, Mirrorer, Вы писали:

GZ>>Мало букф отнюдь не обозначает читабельность. А я очень люблю читабельность. Я люблю понимать что вижу и что пишу без излишней мозговой деятельности. Посему — я за языки с человеческим лицом.

M>Ну если сравнивать J и С# допустим можно привести аналог.

M>Вечер чудесен.

M>Камыш шумит.
M>Император пьет чай

M>и


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


Не понял, а где в первом хокку (танка?) информация о том, что император наслаждался чаепитием (может он пил через силу?) и о том, что он пил его в своем большом каменном замке, а не в маленьком шатре во время привала на императорской охоте?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 01.04.08 15:45
Здравствуйте, VoidEx, Вы писали:

VE>Я сам решу, молиться мне или нет.


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

VE>Только я вроде как совета не просил, я вопрос задал (там вопросительный знак стоит), причем уточняющийся. Вместо ответа "да, я считаю, что замена", я слышу какое-то огрызание.


Знаешь, я считаю, что если человек может как-то иначе интерпретировать слова "Ну, и Немерле это язык для реальной работы — замена плюсам, C#-у и Яве, а не для пенисометрии.", то разговаривать с ним бесполезно. Все равно они или больной на голову, или хочет услышать что-то, что ему надо, а не то что ему говорят.

VD>>Я говорю для тех кому надоел этот трах.

VE>Замечательно, у меня "траха" нет в твоем понимании.

Ага. "А мы этого не замечаем, не замечаем, не замечаем, не замечаем, не замечаем, не замечаем..." (с) Жванецкий

VE>Слово "замена" звучит как минимум уж слишком оптимистично. "Альтернатива" — это еще да.


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

VE>П.С. Давай ты все-таки перестанешь хамить и указывать, что мне делать?


ОК. А ты тупые вопросы задавать. ОК?
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VoidEx 
Дата: 01.04.08 19:55
Здравствуйте, VladD2, Вы писали:

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

Последняя фраза особенно понравилась, я б ее в девиз написал

VE>>П.С. Давай ты все-таки перестанешь хамить и указывать, что мне делать?


VD>ОК. А ты тупые вопросы задавать. ОК?

Без проблем. А то ты болезненно на них реагируешь.
Re[16]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Lazy Cjow Rhrrlj://_lcr_
Дата: 02.04.08 04:22
GlebZ,

А>>в тацидном стиле (функциональная композиция).

GZ>Вот не понимаю, какая красота в том, что 2*3+4 равняется 14?

Униформность.
Re[9]: Размер класса
Автор: Lazy Cjow Rhrr
Дата: 21.06.06
, третий абзац.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[6]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 02.04.08 07:36
Здравствуйте, _pk_sly, Вы писали:

VE>>я вопрос задал (там вопросительный знак стоит)


__>похоже на провокацию.


Не "похоже", а она и есть. Заедает просто товарища.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[7]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 02.04.08 07:51
Здравствуйте, VoidEx, Вы писали:

__>>похоже на провокацию.

__>>обычно вопрос задают ДО того, как прочитают ответ, а не после.

VE>Уточняющий. Потому что "замена" слишком громко сказано.


Это твое личное мнение. Хочешь его выразить? ОК, нет проблем... выражай. Вот только не надо из своего мнения делать ни вопросов, ни истины в последней инстанции.

А то ты забавный чувак. С одной стороны сам работаешь на допотопных средствах (С++), но свое нежелание смотреть на что-то их заменяющих или просто личное отвращение пытаешься навязать всем как истину. Причем вместо того, чтобы просто сказать свое мнение начинаешь разводить демагогию (вопросы он видите ли задает).

VE>А вот на провокацию больше похоже то, что по идее должно было являться ответом на мой вопрос, а на деле ответа я так и не получил.


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

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

Так что если у тебя есть действительно осмысленные вопросы, то задавай их. Но без демагогии.
Если ты просто не умеешь формулировать вопросы и тебя интересовал ответ на, скажем, вопрос "Является ли тот же Nemerle заменой на все случаи жизни?", то заранее отвечу — нет, не является. Что в общем-то очевидно, так как наличие сложного рантайма не позволяет использовать программы в средах где он отсутствует (например, в нулевом кольце защиты ОС вроде Windows/Linux или, скажем, для расширения Ява-программ). Так же мало полезен данный язык и в задачах которые в основном сводятся к вызову C/C++-API. Вот только для 99% задач решаемых сегодня на С++ он пригоден отлично. Намного лучше чем С++.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[7]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 02.04.08 07:55
Здравствуйте, VoidEx, Вы писали:

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

VE>Последняя фраза особенно понравилась, я б ее в девиз написал

Дарю вместе с копирайтом.

VD>>ОК. А ты тупые вопросы задавать. ОК?

VE>Без проблем. А то ты болезненно на них реагируешь.

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


Все что нас не убивает, потом сильно об этом жалеет :).
Re[13]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 02.04.08 08:08
Здравствуйте, Аноним, Вы писали:

А>Кто изучил и привык — тому нравится


Ага. Особенно если программу комментировать кодом на C#.
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[14]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 02.04.08 08:25
Здравствуйте, Lloyd, Вы писали:

А>>Ну и сравним с этим:

А>>
А>>File.ReadAllLines("Numbers.txt").Select(l => l.Split(' ').Select(s => int.Parse(s)).Sum()).ToArray();
А>>


L>Где копирайт?


Скажи, а зачем нужно писать "s => int.Parse(s)"? И зачем ".ToArray()"?
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[16]: несложный ФЯ с человеческим лицом в избранное  новое    модер. 
От: Mirrorer 
Дата: 02.04.08 08:34
Здравствуйте, Кодт, Вы писали:

M>>Император пьет чай


M>>император наслаждался чаепитием в своем большом каменном замке.


К>Эй! Не надо сюда императивность тащить! ФЯ — значит ФЯ!


Ура! Ура! Ура! Очередной флейм по вопросу "Что считать ФЯ"
Re[11]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Quintanar 
Дата: 02.04.08 09:05
Здравствуйте, Аноним, Вы писали:

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


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


M>>>Ну, или применительно к нашей задаче

M>>>
M>>>,. +/"1 ". > (< ;. _2) freads 'my.txt'
M>>>


А>>Сокращается до:

А>>
А>>,. +/ |: (". ;. _2) freads 'my.txt'
А>>


А>Или даже до:

А>
А>,. +/@". ;. _2 freads 'my.txt'
А>


Или в
+/'["I"$" "vs/:read0`my.txt]
Re: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: BulatZiganshin 
Дата: 02.04.08 09:56
Влад обиделся и отомстил насколько хватило энтиллекта
FreeArcлучший архиватор в мире
Re[7]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Yuri Burger 
Дата: 02.04.08 11:32
Здравствуйте, Mirrorer, Вы писали:

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


DM>>>Ha Ruby, как обычно, короче всего:

К>>Думаю, на perl'е ещё короче, но это уже звериный оскал

M>Ноги, крылья, главное хвост !!!

M>
M>+/"1 ". > (< ;. _2) freads 'my.txt'
M>


тогда уж для чистоты и краткости вот так:
(+/@".);._2(1!:1<'my.txt')
Re[10]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Yuri Burger 
Дата: 02.04.08 11:37
Здравствуйте, _pk_sly, Вы писали:

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


M>>Эт не зверь. Это старый добрый джей.

M>>Когда начинается пенисометрия в разрезе "кто короче" ему нет равных

__>таки на перле сравнимо получается

__>
__>#!perl -np
__>$_=reduce(\&add,0,split);
__>

__>(reduce и add) описаны отдельно

так не интересно.. в первом j варианте загрузка файла тоже "отдельно заданная функия", хоть и библиотечная.. но можно сделать на чистом j
(+/@".);._2(1!:1<'my.txt')


можно еще на четырех скобках съкономить, но уже не помню как
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Yuri Burger 
Дата: 02.04.08 11:45
Здравствуйте, Mirrorer, Вы писали:

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


GZ>>А мне не нравится не первый, ни второй вариант.

GZ>>В первом варианте — язык в котором нет ничего человеческого. Кодировки хороши для компьютера, но не для человека.
M>А в китайских иероглифах тоже нет ничего человеческого ? Или там в арабском языке ?

да вобщем J то поидее гораздо человечнее математику изучают раньше программирования, так что "синтаксис" должен быть ближе — только и того что значков больше.
Re[8]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Kisloid 
Дата: 02.04.08 11:57
Здравствуйте, Yuri Burger, Вы писали:

M>>Ноги, крылья, главное хвост !!!

M>>
M>>+/"1 ". > (< ;. _2) freads 'my.txt'
M>>


YB>тогда уж для чистоты и краткости вот так:

YB>
YB>(+/@".);._2(1!:1<'my.txt')
YB>


а еще лучше так:
+/$".,; @$% ^_2&%^$'my.txt'
... << RSDN@Home 1.2.0 alpha rev. 786>>
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[11]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Аноним 353 
Дата: 02.04.08 12:02
Здравствуйте, Yuri Burger, Вы писали:

YB>так не интересно.. в первом j варианте загрузка файла тоже "отдельно заданная функия", хоть и библиотечная.. но можно сделать на чистом j

YB>
YB>(+/@".);._2(1!:1<'my.txt')
YB>


Этот вариант не всегда корректно обрабатывает преносы строк (когда перенос обозначен парой CR,LF). В каноническом примере сначала убираются CR (или LF):
+/@".;._2 (#~~:&CR) 1!:1<'c:\\my.txt'

Но и этот вариант не работает если последняя строка не завершается LF. freads все ж более корректно эти все нюансы обрабатывает
Re[11]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 02.04.08 12:11
Здравствуйте, Yuri Burger, Вы писали:

YB>так не интересно.. в первом j варианте загрузка файла тоже "отдельно заданная функия", хоть и библиотечная.. но можно сделать на чистом j

YB>
YB>(+/@".);._2(1!:1<'my.txt')
YB>


Оно то конечно можно, но переводы строки могут быть разными. Их обработкой собственно fread и занимается.
Опять же непонятно где проводить границу между тем что встроено в язык и "отдельно заданными функциями".
Если ограничится встроенными исключительнов язык функцями то это будет весьма печально. C# без немаленькой библиотеки .NET будет мягко говоря отдыхать.

Ну и не зря 1!: находится в разделе foreign. Тот же System.IO вид сбоку
Re[16]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Mirrorer 
Дата: 02.04.08 12:17
Здравствуйте, Yuri Burger, Вы писали:

M>>А в китайских иероглифах тоже нет ничего человеческого ? Или там в арабском языке ?


YB>да вобщем J то поидее гораздо человечнее математику изучают раньше программирования, так что "синтаксис" должен быть ближе — только и того что значков больше.


Ну учтывая то, что китайскими иероглифами пользуется миллиард китайцев, а джеем несколько меньше народу, то вопрос том что человечнее становится очень спорным
Re[12]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Yuri Burger 
Дата: 02.04.08 12:42
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Yuri Burger, Вы писали:


YB>>так не интересно.. в первом j варианте загрузка файла тоже "отдельно заданная функия", хоть и библиотечная.. но можно сделать на чистом j

YB>>
YB>>(+/@".);._2(1!:1<'my.txt')
YB>>


А>Этот вариант не всегда корректно обрабатывает преносы строк (когда перенос обозначен парой CR,LF). В каноническом примере сначала убираются CR (или LF):

А>
А>+/@".;._2 (#~~:&CR) 1!:1<'c:\\my.txt'
А>

А>Но и этот вариант не работает если последняя строка не завершается LF. freads все ж более корректно эти все нюансы обрабатывает

ну заменить предварительно все CR,LF на скажем 0.
да и формат не оговаривался
Re[8]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VoidEx 
Дата: 02.04.08 13:43
Здравствуйте, VladD2, Вы писали:

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

Я уже не раз говорил, что к Немерле не испытываю отвращения, наоборот жду стабильной экспресс версии, чтоб "поставил и работало". На работе бы даже писал (но только вместо шарпа). Пока что интерес только "удаленно". С чего вдруг ты решил, что у меня есть "нежелание смотреть" и "отвращение" — не пойму. Ни разу ничего против Немерле не утверждал.

VD>Если ты просто не умеешь формулировать вопросы и тебя интересовал ответ на, скажем, вопрос "Является ли тот же Nemerle заменой на все случаи жизни?", то заранее отвечу — нет, не является. Что в общем-то очевидно, так как наличие сложного рантайма не позволяет использовать программы в средах где он отсутствует (например, в нулевом кольце защиты ОС вроде Windows/Linux или, скажем, для расширения Ява-программ). Так же мало полезен данный язык и в задачах которые в основном сводятся к вызову C/C++-API. Вот только для 99% задач решаемых сегодня на С++ он пригоден отлично. Намного лучше чем С++.

Ок, вопрос без демагогии.
99% задач — имеются ввиду все задачи (т.е. задачи "в нулевом кольце защиты ОС", "для расширения Ява-программ" занимают менее 1%) или те, для которых Немерле пригоден?
Т.е. ты имеешь в виду, что для тех задач, которые могут быть решены с помощью Немерле, он подходит лучше, чем Си++, в 99% случаях, так?
Re[9]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: VladD2 модераторwww.k-press.ru/cs
Дата: 18.04.08 16:25
Здравствуйте, VoidEx, Вы писали:

VE>Ок, вопрос без демагогии.

VE>99% задач — имеются ввиду все задачи (т.е. задачи "в нулевом кольце защиты ОС", "для расширения Ява-программ" занимают менее 1%) или те, для которых Немерле пригоден?
VE>Т.е. ты имеешь в виду, что для тех задач, которые могут быть решены с помощью Немерле, он подходит лучше, чем Си++, в 99% случаях, так?

Для начала процитирую свою фразу которая не дала тебе пройти мимо:

Ну, и Немерле это язык для реальной работы — замена плюсам, C#-у и Яве, а не для пенисометрии.


Что тут переводить я не очень понимаю. Любому ясно, что заменить любой язык на 100% невозможно. Даже тот же C# может быть предпочтительнее хотя бы потому, что для конкретной задачи создан крутой тулз-кодогенератор, визуальный редактор или еще что-то.
У плюсов специфики еще больше. Тут и упомянутые "кольца" и задачи где требуется С/C++-интерфейс и просто тупые задачи которые пофигу на чем решать, но желательно код по быстрее иметь (т.е. задачи для которых более высокоуровневое средство не требуется). Но это очень не часто встречающиеся задачи в реальной жизни. Споря с "плюсовиками" на этом сайте я частенько спрашивал "а что вы делаете-то?..." и ответ очень часто был "пишем информационную систему" или на худой конец "логику игрушки". Вот это уж точно задачи на для С++. Другими аргументам были "а ты залуди вот такую финтифлюшку" после чего приводился метакод на шаблонах. Когда товарищу объясняешь, что по сравнению с полноценной макросистемой его козьи потягушки смехотворны, то он просто не верит, так как мыслит на С++, а все что выходит за его понятие считает "непонятной хренью".
Вышел Nemerle 1.0


Все что нас не убивает, потом сильно об этом жалеет :).
Re[15]: Очередной, весенний, взрыв пенесометрии :) в избранное  новое    модер. 
От: Lloyd 
Дата: 20.04.08 16:18
Здравствуйте, VladD2, Вы писали:

L>>Где копирайт?


VD>Скажи, а зачем нужно писать "s => int.Parse(s)"?


Согласен, можно ограничиться просто int.Parse

VD>И зачем ".ToArray()"?


Потому что в орининале на выходе — массив.
... << RSDN@Home 1.2.0 alpha rev. 786>>