LINUX.ORG.RU

Re: Ocaml

и ?) может он сам и приложения пишет ?

phasma ★☆ ()

Re: Ocaml

Лоровцы не знают про Хиндли-Милнера. Я в шоке. =)

AiLr ★★ ()

Re: Ocaml

Конечно, для этого у него депеденс с libastral :)

Burbaka ★★ ()

Re: Ocaml

Кстати Epigram глянь, там типизация поинтереснее ;)

AiLr ★★ ()
Ответ на: Re: Ocaml от AiLr

Re: Ocaml

>Кстати Epigram глянь, там типизация поинтереснее ;)

Нет, я так быстро не могу. Мне надо разобраться, освоиться, пощупать-повертеть-покрутить...

seiken ★★★★★ ()

Re: Ocaml

Ну и Haskell тоже, типизация Хиндли-Милнера много где используется, что тут такого?

rexadecimal ()

Re: Ocaml

> Оказывется Ocaml сам выводит типы данных. Я в шоке.

Тю. Типы и я могу выводить. Пусть он попробует программы на джаве пописать.

Legioner ★★★★★ ()
Ответ на: Re: Ocaml от rexadecimal

Re: Ocaml

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

ps: ocaml - ф топку.

UrbanSerj ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

А и там и там разве не одна система вывода типов?
З.Ы. Я пока нуб и только начинаю Haskell, в Ocaml даже не погружался.

rexadecimal ()
Ответ на: Re: Ocaml от Legioner

Re: Ocaml

Тю. Программы на джаве и я могу пописать.

rexadecimal ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

> ну у haskell'я вывод типов не настолько хорош, по причине (в общем случае) экспоненциальной сложности, хотя чаще всего можно свести задачу к квазилинейной

Интересно, откуда там экспоненциальная сложность, вроде обычный алгоритм унификации термов ? Единственное, на мой поверхностный взгляд, отличие - система классов, но она особо на алгоритм как я понимаю не влияет. Да и какая разница - экспоненциальный, линейный - все равно считается на этапе компиляции.

Burbaka ★★ ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

haskell - нехорош, ocaml - в топку. что тогда остается? разве есть другие более или менее распространенные языки с таким выводом типов?

bik ★★ ()
Ответ на: Re: Ocaml от bik

Re: Ocaml

Конечно, Standard ML наше всио :)

Burbaka ★★ ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

> ocaml - ф топку.

И ты можешь это обосновать?

tailgunner ★★★★★ ()
Ответ на: Re: Ocaml от bik

Re: Ocaml

кто сказал что "haskell - нехорош"? было только про вывод(!) типов, но я не сказал что система типов у нехо плоха. /me наоборот старается не ленится и указывать типы.

UrbanSerj ()
Ответ на: Re: Ocaml от tailgunner

Re: Ocaml

это большое имхо: не чистая функциональность, отсутствие ленивости

UrbanSerj ()
Ответ на: Re: Ocaml от Burbaka

Re: Ocaml

>откуда там экспоненциальная сложность подумайте еще >Да и какая разница - экспоненциальный, линейный - все равно считается на этапе компиляции. не всегда это оправданно, что плохого в явном указывании типов? (это же фактически автодокументация)

UrbanSerj ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

> это большое имхо: не чистая функциональность, отсутствие ленивости

Прозреваю хаскельного фанбоя ;)

tailgunner ★★★★★ ()
Ответ на: Re: Ocaml от Burbaka

Re: Ocaml

>откуда там экспоненциальная сложность
подумайте еще
>Да и какая разница - экспоненциальный, линейный - все равно считается на этапе компиляции.
не всегда это оправданно, что плохого в явном указывании типов? (это же фактически автодокументация)

UrbanSerj ()
Ответ на: Re: Ocaml от tailgunner

Re: Ocaml

>Прозреваю хаскельного фанбоя ;)

я только учусь :)

UrbanSerj ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

я именно вывод типов и имел в виду - есть другие языки, лучше поддерживающие вывод типов? просто интересно..

bik ★★ ()
Ответ на: Re: Ocaml от bik

Re: Ocaml

я не эксперт в данной области, на ЛОРе есть куда более грамотные люди по этому вопросу.. имено вывод типов в ocaml реализован несколько лучше чем в haskell'е, но я думаю с этим утверждением можно поспорить

UrbanSerj ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

> подумайте еще

Объясни, будь любезен. Лучше всего пример языковых конструкций когда получается експоненциальная сложность вывода ?

> не всегда это оправданно, что плохого в явном указывании типов? (это же фактически автодокументация)

Да ничего плохого, просто не всегда это хочется делать.

Burbaka ★★ ()
Ответ на: Re: Ocaml от Burbaka

Re: Ocaml

>Объясни, будь любезен. Лучше всего пример языковых конструкций когда получается експоненциальная сложность вывода ?

лучше вот этого никто не объяснит: ttic.uchicago.edu/~dmcallester/equiv.ps

&& google://Hindley-Milner Let-Polymorphism

UrbanSerj ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

Ну и цитата с первой же ссылки в гугле: "This paper contains five results on the problem of inferring types. The first is that type inference over recursive types with unions and data constructors can be done in cubic time using a flow analysis". Хреново, конечно, но не экспоненциально ни разу :)

tailgunner ★★★★★ ()
Ответ на: Re: Ocaml от UrbanSerj

Re: Ocaml

> это большое имхо: не чистая функциональность, отсутствие ленивости

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

Во-вторых, сделать чистую функциональность и ленивость, а потом городить костыли и подпорки чтобы писать программы, отличные от учебных факториалов и королев? Спасибо конечно, но как нибудь в другой реальности.

// :(

anonymous ()

Re: Ocaml

Если бы он их сам выводил, он был бы искусственным интеллектом. А он всего лишь освобождает пользователя от необходимости писать типы везде. Не ведитесь на рекламный термин "type inference"!

anonymous ()
Ответ на: Re: Ocaml от bik

Re: Ocaml

На практике более чем достаточна пропагация типов как в C#3.0.

А Хиндли-Милнер приводит к нечитабельным сообщениям об ошибках.

anonymous ()
Ответ на: Re: Ocaml от anonymous

Re: Ocaml

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

Да, справедливость - она должна быть с зажатой в кулаке какашкой

Burbaka ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.