LINUX.ORG.RU

История изменений

Исправление dave, (текущая версия) :

Начиная с мелочей, как превалирующая иммутабельность, продолжая паттерн-матчингом, enum как ADT, и заканчивая такими вещами, как struct как record, очень похожей модульной системой, trait как type class, generics constraint как type class constraint, impl как instance и тому подобным. А trait object в Haskell будет через forall.

Детали могут отличаться, и они отличаются, ключевые слова иногда по другому выглядят, но сама работа с объектами (не в чистых терминах ООП - его нет ни там, ни там) очень похожа - узнаю тот же самый стиль.

Создаем структуру в Rust. Помещаем в модуль. Так достигаем инкапсуляции. Структура может реализовать такой-то trait, где некоторые функции могут вызываться при выполнении таких-то ограничений. Trait уже может предоставлять готовую часть функциональности. Trait может наследовать другие traits. Все это именно то, как пишутся программы на Haskell. И по моим сведениям буквально в таком виде больше нет ни в одном другом популярном языке (индекс TIOBE >= 20)

Исходная версия dave, :

Начиная с мелочей, как превалирующая иммутабельность, продолжая паттерн-матчингом, enum как ADT, и заканчивая такими вещами, как struct как record, очень похожей модульной системой, trait как type class, generics constraint как class type constraint, impl как instance и тому подобным. А trait object в Haskell будет через forall.

Детали могут отличаться, и они отличаются, ключевые слова иногда по другому выглядят, но сама работа с объектами (не в чистых терминах ООП - его нет ни там, ни там) очень похожа - узнаю тот же самый стиль.

Создаем структуру в Rust. Помещаем в модуль. Так достигаем инкапсуляции. Структура может реализовать такой-то trait, где некоторые функции могут вызываться при выполнении таких-то ограничений. Trait уже может предоставлять готовую часть функциональности. Trait может наследовать другие traits. Все это именно то, как пишутся программы на Haskell. И по моим сведениям буквально в таком виде больше нет ни в одном другом популярном языке (индекс TIOBE >= 20)