Evening, Vlad. Vlad Harchev <[EMAIL PROTECTED]> 12:49 14/1/2003 wrote:
>> Мда, торопился писать и выбрал совершенно неправильный пример. Приношу свои >> извинения. >> >> VH> Но любую ф-ию с прототипом >> VH> string (*)(const string& ) >> VH> или >> VH> string (*)( string& ) >> VH> или >> VH> string (*)(string ) >> VH> можно передать без всяких врапперов. >> Именно об этом я и хотел спросить, спасибо. Правда, я не увидел этого в >> приведеном коде, но да, это действительно сделать несложно. VH> Ну там была использована ф-ия function2 из предыдущего pure C примера.. Кстати, возвращаясь к напечатаному, тут мне в голову пришла такая мысль - при использовании шаблонов приходится все типы указывать руками, т.е. фактически писать type signatures. Которые в haskell/ocaml типы будут выводиться автоматически :) >> VH> Еще хотел спросить - в каком из функциональных языков (lisp, haskel, >> ocaml, >> VH> erlang, clean) возможно и с какими расходами можно реализовывать >> сложные >> VH> структуры данных типа графов (множества вершин с множеством ребер >> соединяющих >> VH> пары вершин)? >> Например: >> http://cs.oregonstate.edu/~erwig/fgl/haskell/ VH> ОК, спасибо. А насколько она эффективна? А там же вроде были оценки эффективности, разве нет? По моим воспоминанием - плохо только тогда, когда у тебя на граф натянуты данные, которые ты хочешь активно in-place модифицировать. Если алгоритмны на графах в чистом виде - все очень кучеряво и эффективно. VH> И просто вопрос - в каких функциональных языках программирования есть понятие VH> ссылок (на пер-ные, ф-ии) - за счет них в основном можно реализовать сложные VH> структуры данных? Думаю во всех - но вдруг.. Именно что во всех (известных мне at least). Имя - это ссылка (связка) на определенное (лямбда-)выражение. Т.е. двусвязный список будет выглядеть так: http://haskell.org/wiki/wiki?TyingTheKnot -- Dmitry Astapov //ADEpt E-mail: [EMAIL PROTECTED] GPG KeyID/fprint: F5D7639D/CA36 E6C4 815D 434D 0498 2B08 7867 4860 F5D7 639D