Re: kylix 2
Evening, Vlad.
Vlad Harchev <hvv@hippo.ru> 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: adept@umc.com.ua
GPG KeyID/fprint: F5D7639D/CA36 E6C4 815D 434D 0498 2B08 7867 4860 F5D7 639D
Reply to: