This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-02-07
Channels
- # beginners (4)
- # boot (186)
- # cider (68)
- # cljsjs (2)
- # cljsrn (6)
- # clojure (103)
- # clojure-dev (1)
- # clojure-russia (117)
- # clojurescript (40)
- # community-development (31)
- # cursive (2)
- # data-science (7)
- # datomic (6)
- # devcards (2)
- # editors-rus (2)
- # emacs (2)
- # jobs (2)
- # ldnclj (2)
- # lein-figwheel (41)
- # off-topic (5)
- # om (50)
- # overtone (2)
- # re-frame (36)
- # reagent (1)
- # spacemacs (3)
- # yada (2)
дак вот тут и интересно - не смотря на 15 лет бэкграунда в МС и F# да, чувак выбрал OCaml
@artemyarulin: там какой-то чувак в комментах написал, что перевёл код на F# с минимальными изменениями. может быть, F# стремно запускать под маком, например? тащить весь этот моно…
оу, дак окамл так сильно похож на F#? (или наоборот, не понимаю кто у кого украл)
круто, мне F# нравился всем, кроме как производителем (ну и моно всякие да). Если окамл тож самое но без этого говна, то круто
(* Binary tree with leaves carrying an integer. *)
type tree = Leaf of int | Node of tree * tree
let rec exists_leaf test tree =
match tree with
| Leaf v -> test v
| Node (left, right) ->
exists_leaf test left
|| exists_leaf test right
let has_even_leaf tree =
exists_leaf (fun n -> n mod 2 = 0) tree
няшный, прям ахвот если я и уеду с динамической кложуры то вот тока на такую систему типов
а не на говно на палке
Парни, а как называется такой поиск, которому даешь suse, а он понимает, что тебе надо super-search? Так, например, в vim ищет ctrlp
ну сам автор называет его «Fuzzy file, buffer, mru, tag, etc finder. http://kien.github.com/ctrlp.vim»
ребят, а никому не надо помочь с каким-нибудь open source-проектом? хочется для души что-нибудь попилить
хотя у меня регулярная работа тоже связана с cljs, так что там тоже для души получается в определенной мере, но хочется больше
допили плиз ом-некст, чтоб хоть в бету его перевести
@be9 Насколько я помню из sicp не то что Ocaml ООП умеет.. ФП вообще само по себе ООП умеет.
а в OCaml есть как минимум синтаксический сахар http://caml.inria.fr/pub/docs/manual-ocaml/objectexamples.html
а макросы окамл умеет? или не про христиански меТа программирование и строгая система типов?
кстати, поделюсь своей социально-парадигмальной теорией. появление ООП было возможно только в условиях капитализма, в котором частная собственность возведена в ранг абсолюта. от этого пошёл принцип инкапсуляции, где каждый объект старается нахапать побольше ресурса и положить в свои скрытые поля
ФП больше соответствует глубинной идее социализма: «от каждого по способностям, каждому по потребностям», где распределение ресурса происходит внутри системы исполнения, вместо инкапсуляции используются прозрачные структуры данных, и есть тенденция каждую функцию делать максимально прозрачной, без сайд-эффектов, выполняющей чётко понятную операцию («способность»)
нельзя с утра начинать пить, хотя бы после обеда надо
Лисп семейство языков - так это вообще коммунизм.. от каждого по потребностям и каждому по языку!!!
http://stackoverflow.com/questions/8666098/is-there-an-apply-function-in-clojure-for-java-functions
спасибо. Но тут нужно знать, сколько параметров, а в смоем случает их кол-во неизвестно.
@artemyarulin: можно писать syntax extensions (по-старому — через camlp4 или по-нормальному — через ppx). про метапрограммирование есть проект от OLEGа — http://okmij.org/ftp/ML/MetaOCaml.html )
@larhat: Как тебе окамл вообще?
спасибо за ссылку кста, почитаю перед сном
предатель
а как же скобочки?!:)
хм, каков там статус компиляции в JS?
и да, первая буква O смущает - это же Object да?
js_of_ocaml есть, компилирует. сорс мапы есть, но потухлее, чем в кложескрипте, когда смотрел были. ну и там встроенного типа closure или goog.module нету
т.е. по дефолту хелло ворлд небось 5 метров?
хм, найс
а че насчет O?
ну а так, объектики есть, да http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual005.html
а как насчет библиотек из других языков? или опять по сто-пятому разу делать HTTP и драйвер для монги?
ну к сишным можно биндинги писать :) к монге было, хттп есть но как бэ не идеальное %)
а если с хаскелем сравнить то как оно вообще?
ну хайпа вокруг хаскеля больше, чо :) я на хаскеле только баловался, какие-то штуки из бумажек прикольно делать — https://github.com/petermarks/hoodlums-sessions/blob/master/church.hs библиотек на вид побольше, но о качестве сходу не скажешь мне окамл больше нравится из-за модулей и подхода "можно даже мутейтить и for-loops если надо, главное интерфейс дай хорошй"
о кста - как окамл решает проблему асинхронности?
асинхронности — евентлупами, спрятанными под "монадическим" интерфейсом (см Lwt, Core.Async)
там же кстати активно муссируют тему о параллелизации, уже какие-то демки показывают и всякое, так что может будет скоро относительно
ага, вот из последнего https://www.reddit.com/r/ocaml/comments/43iz41/concurrent_and_multicore_ocaml_presentation_at/
а? ну хаскель весьма популярный язык, на нём может в продакшене не пишут широко, а так-то
На pgconf разговорились с чуваком из heroku, он сказал что если слышит о любви к хаскелу - на работу не берёт ;) есть говорит корреляция неприятная
да он не понял монады вот и завидует