1.2, омномномнимус (?), 10:07, 12/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
OCaml -> JS. Довольно необычно, хотелось бы увидеть примеры решения задач, для которых это необходимо.
| |
|
2.3, A.Stahl (ok), 10:15, 12/09/2016 [^] [^^] [^^^] [ответить]
| +10 +/– |
Просто нашли большой коллектив толковых окамлистов и оказалось проще им дать транслятор в ЯваСкрипт, чем их переучивать на ЯваСкрипт.
| |
|
3.13, IB (?), 11:32, 12/09/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Просто нашли большой коллектив толковых окамлистов и оказалось проще им дать транслятор
> в ЯваСкрипт, чем их переучивать на ЯваСкрипт.
Меня больше удивило, что Блумберг.
Хотя для обработки текста / данных Окамл заруливает.
Эдакий типизированный быстрый перл (с библиотеками само собой, стандартная - редкое Г).
| |
|
4.24, Аноним (-), 13:47, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
>Меня больше удивило, что Блумберг
ничего удивительного. Эта компания активно участвует в конференциях по плюсам и функциональщине, работает со студентами, и вообще видно что вкладывает много денег в исследовательскую работу.
| |
|
|
2.15, Анонимомус (?), 11:35, 12/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ...сохраняя имена переменных и генерируя читаемый код.
Полезно для чтения исходников на OCaml, особенно если видишь его в первый раз.
| |
2.23, Аноним (-), 13:02, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
>OCaml -> JS. Довольно необычно, хотелось бы увидеть примеры решения задач, для которых это необходимо.
Потому что у Bloomberg дохрена кода для финансового анализа, и кому-то захотелось запустить всё это в браузере.
| |
2.43, Led (ok), 21:59, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> OCaml -> JS. Довольно необычно
Что же здесь "необычно"? Можно есть самую разную еду: хоть икру, хоть вермишель, хоть репу. А на выходе получить практически одно и то же, как в данном случае.
| |
|
|
2.8, A.Stahl (ok), 11:07, 12/09/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
>канпелируются?
Ну-у-у... Если ты объяснишь значение этого слова, то мы, возможно, и ответим. А пока ты хрюкочешь как зелюк в мове, то хрен тебя кто поймёт.
| |
|
1.11, freehck (ok), 11:28, 12/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я пока как-то не уловил, чем этот BuckleScript отличается от Ocsigen.
Вот тут можно попробовать демки. В частности трансляцию функционального кода.
http://bloomberg.github.io/bucklescript/js-demo/
Попробовал на простом функциональном примере, вроде корректно пашет.
let rec ifact acc = function
| 0 | 1 -> 1
| n -> ifact (acc*n) (n-1)
let fact = ifact 1
| |
|
|
3.18, freehck (ok), 11:39, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Тем, что это только часть оксигена, не?
Я к тому, что возможно оно умеет что-то, что не умеет Ocsigen в плане генерации js. Если оно так, то хочется узнать, что имено.
Судя по тому, что написано в лицензии, их код основан на Ocsigen.
https://github.com/bloomberg/bucklescript#licensing
| |
|
2.19, H2O (??), 11:53, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Попробовал код быстрой сортировки из Wiki, так он даже не задумывался... сразу выплюнул код JS! Такое ощущение что компилятор его уже знал.
| |
|
3.39, Vkni (ok), 19:07, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Попробовал код быстрой сортировки из Wiki, так он даже не задумывался... сразу
> выплюнул код JS! Такое ощущение что компилятор его уже знал.
А почему он должен задумываться? Проект на 2 тыс. строк, не использующий Core, но зато с yacc/lex компилируется Ocaml'ом с 0-я на ноутбучном Core2Duo примерно 1.5 сек.
| |
|
|
1.20, Аноним (-), 12:05, 12/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
> без необходимости изучения нового языка программирования
Ага, а маргинальный убогий ocaml учить не надо.
| |
|
2.21, Andrey Mitrofanov (?), 12:15, 12/09/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> без необходимости изучения нового языка программирования
> Ага, а маргинальный убогий ocaml учить не надо.
Так, он не "новый" же!? :D
| |
|
3.33, Аноним (-), 16:42, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
OCaml (не путать с ML) - 1996 г.р.
Javascript (не путать с Java) - 1995 г.р.
На фоне JS, в который он компилируется - да, новый.
| |
|
4.44, Аноним (-), 22:22, 12/09/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Не знаю как ML по сравнению с OCaml, а Java по сравнению с JavaScript - просто идеальный язык...
| |
|
5.49, Vkni (ok), 02:10, 13/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Не знаю как ML по сравнению с OCaml
Pascal vs Delphi
| |
|
|
7.55, Led (ok), 22:11, 13/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Паскаль не трожь, БАЛВАН
Вирта не трожь, придурок!
| |
|
|
|
|
3.40, Vkni (ok), 19:09, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Так, он не "новый" же!? :D
Дык всё старое, как говно мамонта. Хаскель вон на пару лет моложе bash'а.
Если хочется чего-то более-менее нового, прогрессивного, добро пожаловать в F*/AGDA и т.д.
| |
|
4.45, Аноним (-), 22:35, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Если хочется чего-то более-менее нового, прогрессивного, добро пожаловать в F*/AGDA и т.д.
Вроде слишком математично. Нет, само по себе это, конечно, прекрасно, но если я правильно понимаю, для написания web-приложений она не приспособлена.
| |
|
5.48, Vkni (ok), 02:10, 13/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Вроде слишком математично. Нет, само по себе это, конечно, прекрасно, но если
> я правильно понимаю, для написания web-приложений она не приспособлена.
Оно для написания чего угодно ещё не приспособлено. До более-менее рабочей версии - 5 лет. Но рабочая версия как раз и означает закостенение. :-)
| |
|
|
|
2.28, Аноним (-), 16:12, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Для тех, кто знаком с языками семейства ML, учить там особо нечего.
| |
|
3.42, Vkni (ok), 21:55, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Для тех, кто знаком с языками семейства ML, учить там особо нечего.
Да и для тех, кто не знаком, тоже не очень-то много надо. :-) Хотя SML, конечно, проще.
| |
|
|
|
2.30, Crazy Alex (ok), 16:25, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Тут основная фишка вот в чём: "BuckleScript позволяет организовать бесшовное использование кода OCaml в JavaScript, сохраняя имена переменных и генерируя читаемый код". Читаемый генерированный джаваскрипт из байткода - очень сомнительно. А иначе - отладка становится на редкость неприятным делом.
| |
|
3.38, Vkni (ok), 19:04, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Читаемый генерированный джаваскрипт из байткода - очень сомнительно.
Невозможно. В Zink-машине слишком низкоуровневый код.
| |
|
4.50, Crazy Alex (??), 02:42, 13/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Ну, джава-код довольно читаемый получается. Правда, в основном потому, что он, в общем-то, чуть ли не зеркало джавы ранних версий.
| |
|
|
|
1.29, Аноним (-), 16:16, 12/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам троянского коня везде вставлял при компиляции? И зонды!
| |
|
|
3.47, freehck (ok), 22:50, 12/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> С одной стороны, вроде и продорасы, как LF или MS, с другой ... прогрессивные продорасы.
Ну так ещё бы он был не GPL. Они ж фактически отфоркали js_of_ocaml.
Хотя результат у них и правда получается получше в плане читаемости, тут не поспоришь.
Но это на простых примерах. А вот на сложных - это ещё надо смотреть.
| |
|
2.46, Аноним (-), 22:38, 12/09/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам троянского коня везде вставлял при компиляции?
Вроде написано, что на выходе хорошо читаемый код на ванильном JS, так что троянского коня вставить вроде как и некуда.
| |
|
1.56, xm (ok), 13:38, 14/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Bloomderg, Карл! Ждём новый язык программирования от Reuters и процессор от ИТАР-ТАСС.
| |
|