[Nemerle] Обсуждение
От: _nn_ www.nemerleweb.com
Дата: 28.12.06 22:33
Оценка: -1
Здесь есть преложение заменять аргументы по умолчанию перегрузкой, так обеспечивается поддержка всех языков (C# ).
Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.

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

30.01.07 18:00: Перенесено модератором из 'Декларативное программирование' — IT
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 28.12.06 23:53
Оценка:
__>Скорее всего ничего из этого не войдет в версию 1.0 языка, просто хотелось послушать ваше мнение.

мое мнение совпадает с ихним (компиляторщиков)

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


это ж шарп сам виноват, что не поддерживает нормальных дефолтных параметров, разноименных индексеров...
зачем же перенимать ошибки, если дотнет-ил-код позволяет делать это нормальным способом?

и прикинь, сколько перегрузок получится с 5 дефолтных параметров... 32 — не многова то ли для стандартной ситуации?

__>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.


такое чувство, что ты пользовался интерпретаторами какими-то раньше
действительно, интересно, откуда возникло такое экзотическое желание?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.06 02:06
Оценка: +1
Здравствуйте, _nn_, Вы писали:

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

__>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.

__>Скорее всего ничего из этого не войдет в версию 1.0 языка, просто хотелось послушать ваше мнение.


По-моему, все это не нужно ни в 1.0, ни в 10.0. Зачем убирать скобки у if-ов я вообще не знаю. За то я знаю как сделать свой макрос который сможет реализовать if в стиле Руби или Васика. Но я не знаю зачем это делть.

Проблем с дефолт-параметрами я тоже не вижу. И опять же если вдруг возникнет дикая необходимость генарацию методов можно сделать на макросах.

ЗЫ

Вообще, главное что мне нравится в Немерле — это разумность его авторов. Они очень адекватны и понимают, что впихивать невпихуемое не стоит. Можно погубить хорошее начинаниие.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [Nemerle] Обсуждение
От: ie Россия http://ziez.blogspot.com/
Дата: 29.12.06 05:58
Оценка: 6 (1) +1
Здравствуйте, _nn_, Вы писали:

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


Это надо не Немерлистам писать, а в МС, чтоб поддержку аргументов по умолчанию добавляли.

__>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.


Категорически против!
... << RSDN@Home 1.2.0 alpha rev. 0>>
Превратим окружающую нас среду в воскресенье.
Re: [Nemerle] Обсуждение
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 29.12.06 07:36
Оценка:
Кстати, если уж топик называется "[Nemerle] Обсуждение", то и я внесу свою лепту. ИМХО, язык сделан неплохо. Но вот в стандартной библиотеке заметил маленькую несуразность, а именно класс Set, который на деле принимает только сравнимые объекты (IComparable). Вообще, я в первую очередь от класса Set ожидал, что он работает на хэш-таблице, потому может принимать любой объект, а вот такой вот класс можно называть BTreeSet. Я, конечно, могу сделать свой HashSet, но всё-таки, ИМХО, более универсальная сущность требует более короткого названия, да и не могу я теперь нормально подключать PowerCollections.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: [Nemerle] Обсуждение
От: _nn_ www.nemerleweb.com
Дата: 29.12.06 08:09
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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

__>>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.

__>>Скорее всего ничего из этого не войдет в версию 1.0 языка, просто хотелось послушать ваше мнение.


VD>По-моему, все это не нужно ни в 1.0, ни в 10.0. Зачем убирать скобки у if-ов я вообще не знаю. За то я знаю как сделать свой макрос который сможет реализовать if в стиле Руби или Васика. Но я не знаю зачем это делть.


VD>Проблем с дефолт-параметрами я тоже не вижу. И опять же если вдруг возникнет дикая необходимость генарацию методов можно сделать на макросах.


Знаю, что можно.
Но вот если бы этот макрос был бы в стандартной библиотеке языка

VD>ЗЫ


VD>Вообще, главное что мне нравится в Немерле — это разумность его авторов. Они очень адекватны и понимают, что впихивать невпихуемое не стоит. Можно погубить хорошее начинаниие.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: [Nemerle] Обсуждение
От: _nn_ www.nemerleweb.com
Дата: 29.12.06 08:15
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

__>>Скорее всего ничего из этого не войдет в версию 1.0 языка, просто хотелось послушать ваше мнение.


PI>мое мнение совпадает с ихним (компиляторщиков)


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


PI>это ж шарп сам виноват, что не поддерживает нормальных дефолтных параметров, разноименных индексеров...

PI>зачем же перенимать ошибки, если дотнет-ил-код позволяет делать это нормальным способом?

PI>и прикинь, сколько перегрузок получится с 5 дефолтных параметров... 32 — не многова то ли для стандартной ситуации?


У меня получилось только 5 перегрузок, как у вас 32 выходит не знаю.
Ну это как макрос можно добавить тоже.

__>>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.


PI>такое чувство, что ты пользовался интерпретаторами какими-то раньше

PI>действительно, интересно, откуда возникло такое экзотическое желание?

Интерпретаторы не при чем.
Просто мне надоели лишние скобки где можно и без них
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: [Nemerle] Обсуждение
От: Mckey Россия  
Дата: 29.12.06 10:03
Оценка:
Здравствуйте, ie, Вы писали:

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


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


ie>Это надо не Немерлистам писать, а в МС, чтоб поддержку аргументов по умолчанию добавляли.


__>>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.


ie>Категорически против!


Абсолютно согласен...
Делай добро и бросай его в воду...
Re[2]: [Nemerle] Обсуждение
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.12.06 10:21
Оценка:
Здравствуйте, konsoletyper, Вы писали:

K>Кстати, если уж топик называется "[Nemerle] Обсуждение", то и я внесу свою лепту. ИМХО, язык сделан неплохо. Но вот в стандартной библиотеке заметил маленькую несуразность, а именно класс Set, который на деле принимает только сравнимые объекты (IComparable).

Ну то есть надо бы его построить на IEquatable, так?
K> Вообще, я в первую очередь от класса Set ожидал, что он работает на хэш-таблице, потому может принимать любой объект, а вот такой вот класс можно называть BTreeSet. Я, конечно, могу сделать свой HashSet, но всё-таки, ИМХО, более универсальная сущность требует более короткого названия, да и не могу я теперь нормально подключать PowerCollections.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 29.12.06 11:44
Оценка:
Ну и я добавлю свои пять копеек к недостаткам (имхо)..
Очень хотелось бы иметь в стандартной библиотеке у класса list метод типа IterRest, ну и FoldRest — такие аналоги Iter и Fold, чтобы на каждой итерации передавался не только текущий элемент, но и оставшаяся часть списка.
Вручную делается элементарно, но достало.
Re[2]: [Nemerle] Обсуждение
От: Mckey Россия  
Дата: 29.12.06 12:31
Оценка:
Здравствуйте, Алексей П, Вы писали:

АП>Ну и я добавлю свои пять копеек к недостаткам (имхо)..

АП>Очень хотелось бы иметь в стандартной библиотеке у класса list метод типа IterRest, ну и FoldRest — такие аналоги Iter и Fold, чтобы на каждой итерации передавался не только текущий элемент, но и оставшаяся часть списка.
АП>Вручную делается элементарно, но достало.

Напиши Extension метод
самое простое
Делай добро и бросай его в воду...
Re[3]: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 29.12.06 13:23
Оценка:
PI>>это ж шарп сам виноват, что не поддерживает нормальных дефолтных параметров, разноименных индексеров...
PI>>зачем же перенимать ошибки, если дотнет-ил-код позволяет делать это нормальным способом?

PI>>и прикинь, сколько перегрузок получится с 5 дефолтных параметров... 32 — не многова то ли для стандартной ситуации?


__>У меня получилось только 5 перегрузок, как у вас 32 выходит не знаю.

__>Ну это как макрос можно добавить тоже.

дык это, только 5 если дефолтными отправлять в метод при вызове только несколько с конца
тогда действительно 5
а если я хочу первый параметр дефолтный, а остальные указать?
вот как раз 32 и получается — на все комбинации параметров по принципу дефолт/указан

__>>>Здесь есть предложение убрать круглые скобки из if и всегда писать фигурные скобки.


PI>>такое чувство, что ты пользовался интерпретаторами какими-то раньше

PI>>действительно, интересно, откуда возникло такое экзотическое желание?

__>Интерпретаторы не при чем.

__>Просто мне надоели лишние скобки где можно и без них

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

это всё неплодотворная тема для обсуждений, немерле нуждается в других, более насущных усовершенствованиях
если интересно — почему б тебе не попробовать, поковываряться, вдруг получится
все будут рады помочь тебе...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 29.12.06 13:25
Оценка:
Здравствуйте, Mckey, Вы писали:

M>Напиши Extension метод

M>самое простое

Это да, можно. Но просто применял я такое несколько раз в весьма разных местах, вполне может оказаться и общественно-полезным.

А, еще IndexOf('a) и IndexOf('a -> bool) — нужно реже, но всё-таки.
Re[4]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 29.12.06 13:26
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>это всё неплодотворная тема для обсуждений, немерле нуждается в других, более насущных усовершенствованиях


например? и не интеграция, а именно язык
Re[2]: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 29.12.06 13:27
Оценка:
АП>Ну и я добавлю свои пять копеек к недостаткам (имхо)..
АП>Очень хотелось бы иметь в стандартной библиотеке у класса list метод типа IterRest, ну и FoldRest — такие аналоги Iter и Fold, чтобы на каждой итерации передавался не только текущий элемент, но и оставшаяся часть списка.
АП>Вручную делается элементарно, но достало.

дык это — кидай сюда код, и оно попадёт в библиотеку
если конечно, компиляторщики не против
я думаю они не против
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 29.12.06 13:29
Оценка:
PI>>это всё неплодотворная тема для обсуждений, немерле нуждается в других, более насущных усовершенствованиях

АП>например? и не интеграция, а именно язык


как 2 пальца... в героической доработке напильником нуждается макросистема
юс-кейс "компилятор на боку, программист имеет его макросами" обладает свойством непроработанности
а к самому языку самое необходимое сейчас — сделать трейты (traits)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 29.12.06 14:01
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>дык это — кидай сюда код, и оно попадёт в библиотеку

PI>если конечно, компиляторщики не против
PI>я думаю они не против

Да не вопрос. Правда это скорее для размещения в Nemerle.Collections.List, но можно просто вызвать из list.
Или переписать через цикл, а то хвостовой рекурсии не будет.

public FoldRest[T, P](lst: list[T], acc: P, f: T * list[T] * P -> P): P
{
    match(lst)
    {
        | x :: xs => FoldRest(xs, f(x, xs, acc), f)
        | _ => acc
    }
}

public IterRest[T](lst: list[T], f: T * list[T] -> void): void
{
    match(lst)
    {
        | x :: xs => f(x, xs); IterRest(xs, f)
        | _ => ()
    }
}
Re[4]: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 29.12.06 17:11
Оценка:
АП>Или переписать через цикл, а то хвостовой рекурсии не будет.
в Nemerle хвостовая рекурсия автоматически преобразовывается компилятором в циклы!

кидай докупы сюда IndexOf
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 29.12.06 17:56
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

АП>>Или переписать через цикл, а то хвостовой рекурсии не будет.

PI>в Nemerle хвостовая рекурсия автоматически преобразовывается компилятором в циклы!
А то я не знаю! Это относилось к случаю, когда lst будет не параметром, а this.

PI>кидай докупы сюда IndexOf

public IndexOf[T](elem: T): int
{
    mutable i = 0;
    foreach(e in this)
    {  
        when(e.Equals(elem))
            return i;
        ++i;
    }
    -1
}

public IndexOf[T](f: T -> bool): int
{
    mutable i = 0;
    foreach(e in this)
    {  
        when(f(e))
            return i;
        ++i;
    }
    -1
}


Но с первым вариантом может быть фигня.. изначально там было where T: object и e == elem : object
Re[3]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 03:53
Оценка:
Здравствуйте, _nn_, Вы писали:

VD>>Проблем с дефолт-параметрами я тоже не вижу. И опять же если вдруг возникнет дикая необходимость генарацию методов можно сделать на макросах.


__>Знаю, что можно.

__>Но вот если бы этот макрос был бы в стандартной библиотеке языка

... то было бы действительно ужасно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 03:53
Оценка:
Здравствуйте, Алексей П, Вы писали:

АП>Очень хотелось бы иметь в стандартной библиотеке у класса list метод типа IterRest, ну и FoldRest — такие аналоги Iter и Fold, чтобы на каждой итерации передавался не только текущий элемент, но и оставшаяся часть списка.

АП>Вручную делается элементарно, но достало.

А что там делать то?

def f(_)
{
  | first :: rest => ... f(rest);
    | [] => ..
}

Быбо бы "полным П" если бы такие функции были в стандартной библиотеке.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 03:53
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>дык это — кидай сюда код, и оно попадёт в библиотеку

PI>если конечно, компиляторщики не против
PI>я думаю они не против

Я уже против. Зачем это нужно?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 03:53
Оценка:
Здравствуйте, Алексей П, Вы писали:

АП>Да не вопрос. Правда это скорее для размещения в Nemerle.Collections.List, но можно просто вызвать из list.

АП>Или переписать через цикл, а то хвостовой рекурсии не будет.

АП>
АП>public FoldRest[T, P](lst: list[T], acc: P, f: T * list[T] * P -> P): P
АП>{
АП>    match(lst)
АП>    {
АП>        | x :: xs => FoldRest(xs, f(x, xs, acc), f)
АП>        | _ => acc
АП>    }
АП>}

АП>public IterRest[T](lst: list[T], f: T * list[T] -> void): void
АП>{
АП>    match(lst)
АП>    {
АП>        | x :: xs => f(x, xs); IterRest(xs, f)
АП>        | _ => ()
АП>    }
АП>}
АП>


А какой в этом смысл?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 03:53
Оценка:
Здравствуйте, Алексей П, Вы писали:

PI>>кидай докупы сюда IndexOf

АП>
АП>public IndexOf[T](elem: T): int
АП>{
АП>    mutable i = 0;
АП>    foreach(e in this)
АП>    {  
АП>        when(e.Equals(elem))
АП>            return i;
АП>        ++i;
АП>    }
АП>    -1
АП>}

АП>public IndexOf[T](f: T -> bool): int
АП>{
АП>    mutable i = 0;
АП>    foreach(e in this)
АП>    {  
АП>        when(f(e))
АП>            return i;
АП>        ++i;
АП>    }
АП>    -1
АП>}

АП>


АП>Но с первым вариантом может быть фигня.. изначально там было where T: object и e == elem : object


А чем так плохо:

public IndexOf[T](this sec : IEnumerable, f: T -> bool): int
{
    mutable i = 0;
        return : 
            foreach(elem in sec)
            {  
                    when(f(elem))
                            return(i);
                    ++i;
            }
        
    -1
}
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [Nemerle] Обсуждение
От: _nn_ www.nemerleweb.com
Дата: 30.12.06 07:09
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>>>Проблем с дефолт-параметрами я тоже не вижу. И опять же если вдруг возникнет дикая необходимость генарацию методов можно сделать на макросах.


__>>Знаю, что можно.

__>>Но вот если бы этот макрос был бы в стандартной библиотеке языка

VD>... то было бы действительно ужасно.


А если этот макрос в Исходники запостить, попадет он в стандартную библиотеку ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 30.12.06 08:46
Оценка:
PI>>дык это — кидай сюда код, и оно попадёт в библиотеку
PI>>если конечно, компиляторщики не против
PI>>я думаю они не против

VD>Я уже против. Зачем это нужно?


ну лана, вы тут обсудите, а потом мне сообщите
мне в принципе всё равно, будет оно в стандартной библиотеке или нет

как по мне, IterRest заслуживает добавления туда, неплохая функция
периодически возникает необходимость в таком проходе (как минимум, сделать Iter не по 1 элементу, а по 2 сразу — предыдущим и последующим)
ну, FoldRest вместе с ним, IndexOf действительно лучше, кажется к IEnumerable подмешивать
хотя можно и к списку

короче, мне все равно, поэтому, давайте думайте, а потом мне скажете
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 30.12.06 09:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А чем так плохо:


VD>
VD>public IndexOf[T](this sec : IEnumerable, f: T -> bool): int
VD>{
VD>    mutable i = 0;
VD>        return : 
VD>            foreach(elem in sec)
VD>            {  
VD>                    when(f(elem))
VD>                            return(i);
VD>                    ++i;
VD>            }
        
VD>    -1
VD>}
VD>


Так даже лучше.
Re[5]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 30.12.06 09:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А какой в этом смысл?


Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.
Re[3]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 30.12.06 09:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А что там делать то?


VD>
VD>def f(_)
VD>{
VD>  | first :: rest => ... f(rest);
VD>    | [] => ..
VD>}
VD>


Ну да, именно так.

VD>Быбо бы "полным П" если бы такие функции были в стандартной библиотеке.


А чем плохо-то? Это же почти тот же итер, который в библиотеке есть, но тоже вручную делается элементарно.
Re[8]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 30.12.06 09:10
Оценка:
Нет, не лучше. Так неправильно. Зачем блок return поставил?
Re[5]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 22:47
Оценка:
Здравствуйте, _nn_, Вы писали:

__>А если этот макрос в Исходники запостить, попадет он в стандартную библиотеку ?


Я в этом смысла не вижу. Но если подобный макрос будет лежать в каком-нибудь пространстве имен, то никому он мешать не будет. Так что спроси на форуме по языку.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 22:47
Оценка:
Здравствуйте, Алексей П, Вы писали:

АП>Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.


Неужели такие случаи так часты, что достойны вынесения в стандартные функции?

К тому же это будет поощрять писать непродуктивный код. Ведь заглядывание вперед замедляет код. Меж тем используя паттерн-матчинг в не универсальной фукнции можно получить оптимальный и красивый код. Ведь просто можно матчить сразу несколько значений списка.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [Nemerle] Обсуждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.06 22:47
Оценка:
Здравствуйте, Алексей П, Вы писали:

АП>А чем плохо-то? Это же почти тот же итер, который в библиотеке есть, но тоже вручную делается элементарно.


Это не эффективное решение.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Nemerle] Обсуждение
От: Андрей Хропов Россия  
Дата: 30.12.06 22:53
Оценка: +1
Здравствуйте, Алексей П, Вы писали:

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


VD>>А какой в этом смысл?


АП>Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.


Возможно, в этом случае стоит подумать над более эффективным алгоритмом, а то попахивает O(n^2).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: [Nemerle] Обсуждение
От: Алексей П Россия  
Дата: 31.12.06 07:18
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

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


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


VD>>>А какой в этом смысл?


АП>>Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.


АХ>Возможно, в этом случае стоит подумать над более эффективным алгоритмом, а то попахивает O(n^2).


Ну да, O(n^2). Но при реальных n < 100 это как-то не очень важно. Хотя можно и оптимизировать.
Re[4]: [Nemerle] Обсуждение
От: _FRED_ Черногория
Дата: 11.01.07 19:45
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>а если я хочу первый параметр дефолтный, а остальные указать?


И такое можно?

синтаксис такой:
Method(, arg2);

... << RSDN@Home 1.2.0 alpha rev. 670>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[5]: [Nemerle] Обсуждение
От: PhantomIvan  
Дата: 11.01.07 20:07
Оценка: 7 (1)
PI>>а если я хочу первый параметр дефолтный, а остальные указать?

_FR>И такое можно?


_FR>синтаксис такой:

_FR>
Method(, arg2);

_FR>

синтаксис с именованными параметрами (как в сишарпе на атрибутах)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.