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

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

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

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

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

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


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

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


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


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

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


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

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

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

Ноги, крылья, главное хвост !!!
+/"1 ". > (< ;. _2) freads 'my.txt'
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.04.08 16: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>Влад, если у тебя недостаточно самоуважения, то ты можешь идти общаться в форумы с хамским модерированием. может, для самоощущения совка это нормально: я модератор — ты дурак, ты модератор — я дурак. нормальные же люди тебя давно игнорируют


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

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

ЗЫ

Мой либеральный порыв иссяк. Продолжение обсуждения моделирования будет исключительно по личной переписке.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Очередной, весенний, взрыв пенесометрии :)
От: deniok Россия  
Дата: 01.04.08 09:43
Оценка: :))) :))
Здравствуйте, eao197, Вы писали:

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


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

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

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

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

M>>и


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


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


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

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

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

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

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

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

и

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

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


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

Так что лучше чем обижаться пошел бы и ответил бы на вопрос человека... если конечно есть что сказать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Очередной, весенний, взрыв пенесометрии :)
От: palm mute  
Дата: 27.03.08 12: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 13:15
Оценка: +1 :)
Здравствуйте, _pk_sly, Вы писали:

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


Ну это же неспортивно. Отдельно можно описать make_sum_of_numbers_in_every_line_in_file и получить гарантированно самый короткий результат.
Re[8]: Господа! не отвлекаемся от темы! :)
От: Klapaucius  
Дата: 27.03.08 13: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 15: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 13:57
Оценка: +2
Здравствуйте, <Аноним>, Вы писали:

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

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

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


Конечно... ничего страшного. Просто иногда страшно, что введенные, сгоряча, путем простого проведения пальцем по клавиатуре (!"№;?*)_+), символы могут оказаться реально работающим вирусом который воплотит идеи фильма "Терминатор" в жизнь .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Очередной, весенний, взрыв пенесометрии :)
От: Quintanar Россия  
Дата: 02.04.08 10: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 11: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 09: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
Люди, я люблю вас! Будьте бдительны!!!
Re[14]: Очередной, весенний, взрыв пенесометрии :)
От: Аноним  
Дата: 01.04.08 00: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 11:42
Оценка: :)
Здравствуйте, D. Mon, Вы писали:

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


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

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

Без классов типов с полиморфизмом высшего порядка комбинаторов придется писать много.
Re[3]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.03.08 10:58
Оценка: +1
Здравствуйте, VoidEx, Вы писали:

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


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

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

Я говорю для тех кому надоел этот трах.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Очередной, весенний, взрыв пенесометрии :)
От: Кодт Россия  
Дата: 01.04.08 14:47
Оценка: :)
Здравствуйте, Mirrorer, Вы писали:

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

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

M>и


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


Эй! Не надо сюда императивность тащить! ФЯ — значит ФЯ!
Перекуём баги на фичи!
Re: Очередной, весенний, взрыв пенесометрии :)
От: dmz Россия  
Дата: 27.03.08 10: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 10:32
Оценка:
Здравствуйте, dmz, Вы писали:

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


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


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

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


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

[reduce(lambda a,b:int(a)+int(b), x.split(' ')) for x in open('nums').readlines()]
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.03.08 11:11
Оценка:
Ha Ruby, как обычно, короче всего:
IO.foreach("nums.txt"){|s| p s.split(' ').inject{|a,b| a.to_i+b.to_i}}
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.03.08 11: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 11:48
Оценка:
Здравствуйте, Константин, Вы писали:

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


к сожалению, там нет встроенного fold/reduce/iter... для списков — только map.
Re[6]: Очередной, весенний, взрыв пенесометрии :)
От: _pk_sly  
Дата: 27.03.08 12: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 12:11
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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

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


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

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

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

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

Когда начинается пенисометрия в разрезе "кто короче" ему нет равных
Re: Очередной, весенний, взрыв пенесометрии :)
От: . Великобритания  
Дата: 27.03.08 12: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  
Дата: 27.03.08 12:37
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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

Ты же понимаешь что если написать все нужные комбинаторы то все точно также получится...
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Очередной, весенний, взрыв пенесометрии :)
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.03.08 12: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 12:55
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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


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

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

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

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


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

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

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

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

(reduce и add) описаны отдельно
Re[8]: Очередной, весенний, взрыв пенесометрии :)
От: Mirrorer  
Дата: 27.03.08 13: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 13: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
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Очередной, весенний, взрыв пенесометрии :)
От: Mirrorer  
Дата: 27.03.08 13: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]: Очередной, весенний, взрыв пенесометрии :)
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.03.08 13: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 13: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 Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.03.08 13:32
Оценка:
Красивый язык. Краткий и легко читается.
Ce n'est que pour vous dire ce que je vous dis.
Re[11]: Очередной, весенний, взрыв пенесометрии :)
От: _pk_sly  
Дата: 27.03.08 13: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 13:39
Оценка:
которая называется "несложный ФЯ с человеческим лицом"
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: Klapaucius  
Дата: 27.03.08 13: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 13:42
Оценка:
Здравствуйте, Klapaucius, Вы писали:

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

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

сепульки: размножаются в сепулькарии
сепулькарий: устройство для размножения сепулек
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Очередной, весенний, взрыв пенесометрии :)
От: Klapaucius  
Дата: 27.03.08 13: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 13:51
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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

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

>>= соединяет императивные процедуры, а >>> — чистые функции
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Очередной, весенний, взрыв пенесометрии :)
От: WolfHound  
Дата: 27.03.08 13:52
Оценка:
Здравствуйте, palm mute, Вы писали:

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

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

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


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

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


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

вот уж упростил так упростил!
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: Lloyd Россия  
Дата: 27.03.08 14: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 14: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 14: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 14:57
Оценка:
__>а напечатать?

print "\n".join( sum(x.split(' ')) for x in open('nums').readlines() )
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: Tonal- Россия www.promsoft.ru
Дата: 27.03.08 15: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 15: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: Очередной, весенний, взрыв пенесометрии :)
От: geniepro http://geniepro.livejournal.com/
Дата: 27.03.08 16: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]: Очередной, весенний, взрыв пенесометрии :)
От: geniepro http://geniepro.livejournal.com/
Дата: 27.03.08 17:05
Оценка:
Здравствуйте, geniepro, Вы писали:

Да, проще надо быть:
main = readFile "test.txt" >>= mapM_ (print.sum.map read.words) . lines
Re[2]: Очередной, весенний, взрыв пенесометрии :)
От: BulatZiganshin  
Дата: 27.03.08 17: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>


как говорила наша учительница — выльем воду из чайника и сведём задачу к предыдущей
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.03.08 05: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");
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.03.08 05: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#-у и Яве, а не для пенисометрии.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Очередной, весенний, взрыв пенесометрии :)
От: VoidEx  
Дата: 31.03.08 06:28
Оценка:
Здравствуйте, VladD2, Вы писали:

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

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


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


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

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

звучит как "Немерле — не для пенисометрии. Просто он — лучший"
Re[3]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.03.08 10:59
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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

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

Ну, я вышел. Можете начинать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Очередной, весенний, взрыв пенесометрии :)
От: VoidEx  
Дата: 31.03.08 11:09
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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


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

А, ну ок.

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

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

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

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

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

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

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


да не обращай ты на него внимания
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Очередной, весенний, взрыв пенесометрии :)
От: _pk_sly  
Дата: 31.03.08 11:33
Оценка:
Здравствуйте, VoidEx, Вы писали:

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


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

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

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


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

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


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


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

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

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

ты решил действовать точно по анекдоту?
Люди, я люблю вас! Будьте бдительны!!!
Re[9]: Очередной, весенний, взрыв пенесометрии :)
От: Аноним  
Дата: 31.03.08 12:56
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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

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


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

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


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

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


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

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


Или даже до:
,. +/@". ;. _2 freads 'my.txt'
Re[12]: Очередной, весенний, взрыв пенесометрии :)
От: Аноним  
Дата: 31.03.08 13: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 15: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]: Очередной, весенний, взрыв пенесометрии :)
От: Аноним  
Дата: 01.04.08 00:55
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


Забыл

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

А>Забыл


А>Вам какой?


Мне лучше деньгами.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[15]: Очередной, весенний, взрыв пенесометрии :)
От: Mamut Швеция http://dmitriid.com
Дата: 01.04.08 06: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>>


dmitriid.comGitHubLinkedIn
Re[15]: Очередной, весенний, взрыв пенесометрии :)
От: GlebZ Россия  
Дата: 01.04.08 06: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]: Очередной, весенний, взрыв пенесометрии :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 01.04.08 09:23
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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

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

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

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

M>и


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


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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.08 16:45
Оценка:
Здравствуйте, VoidEx, Вы писали:

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


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

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


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

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

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

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

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


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

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


ОК. А ты тупые вопросы задавать. ОК?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Очередной, весенний, взрыв пенесометрии :)
От: VoidEx  
Дата: 01.04.08 20:55
Оценка:
Здравствуйте, VladD2, Вы писали:

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

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

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


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

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

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

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

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

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


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


Не "похоже", а она и есть. Заедает просто товарища.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.04.08 08:51
Оценка:
Здравствуйте, VoidEx, Вы писали:

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

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

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


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

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

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


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

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

Так что если у тебя есть действительно осмысленные вопросы, то задавай их. Но без демагогии.
Если ты просто не умеешь формулировать вопросы и тебя интересовал ответ на, скажем, вопрос "Является ли тот же Nemerle заменой на все случаи жизни?", то заранее отвечу — нет, не является. Что в общем-то очевидно, так как наличие сложного рантайма не позволяет использовать программы в средах где он отсутствует (например, в нулевом кольце защиты ОС вроде Windows/Linux или, скажем, для расширения Ява-программ). Так же мало полезен данный язык и в задачах которые в основном сводятся к вызову C/C++-API. Вот только для 99% задач решаемых сегодня на С++ он пригоден отлично. Намного лучше чем С++.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.04.08 08:55
Оценка:
Здравствуйте, VoidEx, Вы писали:

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

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

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

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

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

Я всегда плохо реагирую на бессмыслицу. Я априори считаю, что человек вступивший со мной в дискуссию не тупица, а стало быть за тупым или бессмысленным вопросом кроется какой-то подвох.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.04.08 09:08
Оценка:
Здравствуйте, Аноним, Вы писали:

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


Ага. Особенно если программу комментировать кодом на C#.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Очередной, весенний, взрыв пенесометрии :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.04.08 09:25
Оценка:
Здравствуйте, Lloyd, Вы писали:

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

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


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


Скажи, а зачем нужно писать "s => int.Parse(s)"? И зачем ".ToArray()"?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: несложный ФЯ с человеческим лицом
От: Mirrorer  
Дата: 02.04.08 09:34
Оценка:
Здравствуйте, Кодт, Вы писали:

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


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


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


Ура! Ура! Ура! Очередной флейм по вопросу "Что считать ФЯ"
Re[11]: Очередной, весенний, взрыв пенесометрии :)
От: Quintanar Россия  
Дата: 02.04.08 10: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 10:56
Оценка:
Влад обиделся и отомстил насколько хватило энтиллекта
Люди, я люблю вас! Будьте бдительны!!!
Re[7]: Очередной, весенний, взрыв пенесометрии :)
От: Yuri Burger  
Дата: 02.04.08 12: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 12: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 12:45
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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


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

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

да вобщем J то поидее гораздо человечнее математику изучают раньше программирования, так что "синтаксис" должен быть ближе — только и того что значков больше.
Re[8]: Очередной, весенний, взрыв пенесометрии :)
От: Kisloid Мухосранск  
Дата: 02.04.08 12: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]: Очередной, весенний, взрыв пенесометрии :)
От: Аноним  
Дата: 02.04.08 13: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 13: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 13:17
Оценка:
Здравствуйте, Yuri Burger, Вы писали:

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


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


Ну учтывая то, что китайскими иероглифами пользуется миллиард китайцев, а джеем несколько меньше народу, то вопрос том что человечнее становится очень спорным
Re[12]: Очередной, весенний, взрыв пенесометрии :)
От: Yuri Burger  
Дата: 02.04.08 13: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 14:43
Оценка:
Здравствуйте, VladD2, Вы писали:

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

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

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

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

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

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

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

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


Что тут переводить я не очень понимаю. Любому ясно, что заменить любой язык на 100% невозможно. Даже тот же C# может быть предпочтительнее хотя бы потому, что для конкретной задачи создан крутой тулз-кодогенератор, визуальный редактор или еще что-то.
У плюсов специфики еще больше. Тут и упомянутые "кольца" и задачи где требуется С/C++-интерфейс и просто тупые задачи которые пофигу на чем решать, но желательно код по быстрее иметь (т.е. задачи для которых более высокоуровневое средство не требуется). Но это очень не часто встречающиеся задачи в реальной жизни. Споря с "плюсовиками" на этом сайте я частенько спрашивал "а что вы делаете-то?..." и ответ очень часто был "пишем информационную систему" или на худой конец "логику игрушки". Вот это уж точно задачи на для С++. Другими аргументам были "а ты залуди вот такую финтифлюшку" после чего приводился метакод на шаблонах. Когда товарищу объясняешь, что по сравнению с полноценной макросистемой его козьи потягушки смехотворны, то он просто не верит, так как мыслит на С++, а все что выходит за его понятие считает "непонятной хренью".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Очередной, весенний, взрыв пенесометрии :)
От: Lloyd Россия  
Дата: 20.04.08 17:18
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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


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

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


Потому что в орининале на выходе — массив.
... << RSDN@Home 1.2.0 alpha rev. 786>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.