[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: