• Alkid © (05.05.08 15:14) [40]

    > А на каком языке написан С++ ?

    На английском!
    :)
  • Григорьев Антон © (05.05.08 15:20) [41]

    > Alkid ©   (05.05.08 15:13) [38]
    > Кстати, а разе в CL или Scheme есть паттерн-матчинг?

    А я не говорил про Лисп, я говорил про функциональный подход вообще. А конкретно Лисп я знаю очень слабо, обзорно, на уровне того, что такое CAR и CDR :)))
  • Alkid © (05.05.08 15:21) [42]

    > ничего не читал, ничего не писал и не собираюсь. Но заинтересовала
    > эта тема.

    Гугль в помощь.
    Советую сайт paulgraham.com, там, помимо прочего, есть интересные заметки о Лисп.
    Вообще, изучать альтернативные языки полезно, даже если не собираешься их применять на практике. Сильно способствует просветлению.
    Так же советую Пролог :)


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

    В рамках такой общности, как в Лисп - нет. И дело тут не в процессоре а в том, наборе абстракций и ограничений, которые представляют собой язык Delphi.

    Если вкратце, то функция mapcar получает на вход два параметра: унарную функцию и список. После чего она применяет функцию к каждому элементу списка и формирует список, содержащий результаты применения, который и возвращает. В языке дельфи, с его системой типов, написать обобщённую функцию такого характера не представляется возможным.
  • Alkid © (05.05.08 15:22) [43]

    > А я не говорил про Лисп, я говорил про функциональный подход
    > вообще. А конкретно Лисп я знаю очень слабо, обзорно, на
    > уровне того, что такое CAR и CDR :)))

    А, понятно.
    Меня, кстати, сейчас логическая парадигма интересует, как обобщение функциональной.
  • Anatoly Podgoretsky © (05.05.08 15:26) [44]
    > Пробегал2...  (05.05.2008 13:54:29)  [29]

    А ты не путай маркетинговые потуги с википедией, но даже там есть пункт "т. е. в режиме реального времени"
    OnLine слово волшебное.им к доктору.
  • Anatoly Podgoretsky © (05.05.08 15:28) [45]
    > Игорь Шевченко  (05.05.2008 14:08:33)  [33]

    Кстати учитывая последнии шаги Борланда я удивлен, а почему нет, а вот IncDay есть.
  • Игорь Шевченко © (05.05.08 15:33) [46]
    Пробегал2...   (05.05.08 15:13) [39]

    Ты эта...прежде чем спорить, про предмет спора почитай малость. Чтобы не оказаться в глупой ситуации.
  • Игорь Шевченко © (05.05.08 15:35) [47]
    Anatoly Podgoretsky ©   (05.05.08 15:28) [45]

    IncDay больше востребован
  • oxffff © (05.05.08 15:36) [48]

    > Alkid ©   (05.05.08 15:21) [42]
    >
    > > ничего не читал, ничего не писал и не собираюсь. Но заинтересовала
    >
    > > эта тема.
    >
    > Гугль в помощь.
    > Советую сайт paulgraham.com, там, помимо прочего, есть интересные
    > заметки о Лисп.
    > Вообще, изучать альтернативные языки полезно, даже если
    > не собираешься их применять на практике. Сильно способствует
    > просветлению.
    > Так же советую Пролог :)
    >
    >
    > > вы хотите сказать, что на дельфи этого сделать невозможно?
    >
    > >  не понимаю.
    >
    > В рамках такой общности, как в Лисп - нет. И дело тут не
    > в процессоре а в том, наборе абстракций и ограничений, которые
    > представляют собой язык Delphi.
    >
    > Если вкратце, то функция mapcar получает на вход два параметра:
    >  унарную функцию и список. После чего она применяет функцию
    > к каждому элементу списка и формирует список, содержащий
    > результаты применения, который и возвращает. В языке дельфи,
    >  с его системой типов, написать обобщённую функцию такого
    > характера не представляется возможным.



    А пытался?
  • Palladin © (05.05.08 15:43) [49]

    > oxffff ©   (05.05.08 15:36) [48]

    написать можно, но нафика? :)
  • Григорьев Антон © (05.05.08 15:46) [50]

    > oxffff ©   (05.05.08 15:36) [48]
    > А пытался?

    Но ведь действительно невозможно. В Delphi придётся задавать тип элементов списка и функции на этапе компиляции, а в Лиспе тиипзация будет динамической, что-то вроде шаблона. А самое главное, что если элементы списка имеют разные типы, но к каждому из них функция, переданная в mapcar, применима, тоже всё будет в порядке - такого в Delphi не написать, даже если были бы generic'и.
  • Palladin © (05.05.08 15:47) [51]

    > Григорьев Антон ©   (05.05.08 15:46) [50]


    > В Delphi придётся задавать тип элементов списка и функции
    > на этапе компиляции

    угу и это будет variant
  • oxffff © (05.05.08 15:48) [52]
    type
    TXFUNC=function (const a:TvarRec):TvarRec;

    function abc(var List:array of const;func:TXFUNC):integer;
    var i:integer;
    begin
    for i:=0 to length(List)-1 do LIST[i]:=func(LIST[i]);
    end;

    function XSample(const a:TvarRec):TvarRec;
    begin

    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var a:array of TVarRec;
    begin
    abc(A,XSample);
    end;

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

    ЗЫ. решения есть еще. и не одно.
  • oxffff © (05.05.08 15:49) [53]

    > Григорьев Антон ©   (05.05.08 15:46) [50]


    Нужно лучше знать Delphi. И вопросов будет меньше.
  • oxffff © (05.05.08 15:50) [54]

    > Григорьев Антон ©   (05.05.08 15:46) [50]
    >
    > > oxffff ©   (05.05.08 15:36) [48]
    > > А пытался?
    >
    > Но ведь действительно невозможно. В Delphi придётся задавать
    > тип элементов списка и функции на этапе компиляции, а в
    > Лиспе тиипзация будет динамической, что-то вроде шаблона.
    >  А самое главное, что если элементы списка имеют разные
    > типы, но к каждому из них функция, переданная в mapcar,
    > применима, тоже всё будет в порядке - такого в Delphi не
    > написать, даже если были бы generic'и.


    Как у вас с ООП?
  • oxffff © (05.05.08 15:51) [55]

    > Григорьев Антон ©   (05.05.08 15:46) [50]
    >
    > > oxffff ©   (05.05.08 15:36) [48]
    > > А пытался?
    >
    > Но ведь действительно невозможно. В Delphi придётся задавать
    > тип элементов списка и функции на этапе компиляции, а в
    > Лиспе тиипзация будет динамической, что-то вроде шаблона.
    >  А самое главное, что если элементы списка имеют разные
    > типы, но к каждому из них функция, переданная в mapcar,
    > применима, тоже всё будет в порядке - такого в Delphi не
    > написать, даже если были бы generic'и.


    Далее по тексту? Читали ли мы TcustomVariant?
    Это кстати другое решение.
    Еще есть два мощнейших и простых наследника у него.
    Но это к вопросу о расширениии языка.
  • Alkid © (05.05.08 15:54) [56]

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


    Супер. И как мне стандартную функцию sin(x:double) тут заюзать? :)
  • Anatoly Podgoretsky © (05.05.08 15:54) [57]
    > Игорь Шевченко  (05.05.2008 15:35:47)  [47]

    Все правильно, более приоритетен, а у Eval пока недостаточный приоритет, иконку, которая там, тоже не сразу сделали.
  • Palladin © (05.05.08 15:58) [58]

    > oxffff ©

    ты эта :) не нервничай... подобие реализовать можно, но ограничено... именно так как в лиспе - не выйдет...
  • oxffff © (05.05.08 15:59) [59]

    > Palladin ©   (05.05.08 15:58) [58]


    Я эта не нервничаю. Ежели что. :)
Есть новые Нет новых   [134435   +9][b:0.001][p:0.001]