URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 109072
[ Назад ]
Исходное сообщение
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено opennews , 12-Сен-16 09:23
Компания Bloomberg опубликовала (https://www.techatbloomberg.com/blog/bucklescript-1-0-releas.../) первый стабильный релиз проекта BuckleScript, позволяющего компилировать проекты на языке OCaml в представление на JavaScript. BuckleScript позиционируется как альтернатива таким системам, как TypeScript (https://www.opennet.me/opennews/art.shtml?num=39488), дающая возможность разрабатывать web-проекты с использованием статической типизации, без потерь в удобстве разработки. BuckleScript позволяет организовать бесшовное использование кода OCaml в JavaScript, сохраняя имена переменных и генерируя читаемый код. Исходные тексты проекта написаны на языке OCaml и распространяются (https://github.com/bloomberg/bucklescript/) под лицензией GPLv2.
В отличие от TypeScript в BuckleScript предоставляется полноценная система типов, без нагромождения кода аннотациями. Корректность использования типов проверяется на этапе компиляции, что гарантирует отсутствие ошибок типизации во время выполнения проекта. Информация о типах также позволяет задействовать в BuckleScript большое число оптимизаций, выполняемых на этапе компиляции, таких как свёртывание констант, удаление мёртвого кода (DCE) и оптимизация хвостовой рекурсии (TCO).
Из достоинств BuckleScript также отмечается возможность применения в проектах уже существующего языка OCaml, без необходимости изучения нового языка программирования. Написанный на OCaml код может применяться не только для преобразования в JavaScript, но и собираться в виде нативных исполняемых файлов или в форме самодостаточных unikernel, работающих (https://www.opennet.me/opennews/art.shtml?num=42515) поверх гипервизора. Применение интерфейса FFI (Foreign Function Interface) позволяет моделировать в программах на OCaml родную систему объектов JavaScript и использовать в проектах существующие библиотеки JavaScript. Компилируемые модули OCaml отражаются в модули JavaScript.
Для управления генерацией кода можно применять специальные атрибуты OCaml. Обеспечивается достаточно высокая скорость компиляции, например, по сравнению с TypeScript проект собирается как минимум в десять раз быстрее. Компилятор может быть собран в виде нативного исполняемого файла или в представлении на JavaScript, при этом вариант на JavaScript также обладает отличной производительностью и позволяет на лету компилировать проекты, практически в режиме реального времени.
URL: https://www.techatbloomberg.com/blog/bucklescript-1-0-releas.../
Новость: http://www.opennet.me/opennews/art.shtml?num=45124
Содержание
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 09:23 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 15:07 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,омномномнимус, 10:07 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,A.Stahl, 10:15 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,омномномнимус, 11:01 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,абвгдейка, 19:40 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,IB, 11:32 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 13:47 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,IB, 11:29 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,омномномнимус, 11:38 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Анонимомус, 11:35 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,омномномнимус, 11:39 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 13:02 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 16:38 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Led, 21:59 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 10:22 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 10:29 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 10:44 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,A.Stahl, 11:07 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 11:14 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,...aNALaGReSSoR..., 13:12 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,ueueue, 13:26 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,ueueue, 13:26 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,th3m3, 11:20 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 15:03 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,freehck, 11:28 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,IB, 11:33 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,freehck, 11:39 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,H2O, 11:53 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Vkni, 19:07 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 12:05 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Andrey Mitrofanov, 12:15 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 16:42 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,омномномнимус, 18:46 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 22:22 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Vkni, 02:10 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,ВИРТ, 21:49 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Led, 22:11 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Vkni, 19:09 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 22:35 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Vkni, 02:10 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 16:12 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Vkni, 21:55 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Sergey, 12:31 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Crazy Alex, 16:25 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Vkni, 19:04 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Crazy Alex, 02:42 , 13-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,pavlikvk, 13:47 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 16:16 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Andrey Mitrofanov, 16:37 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,freehck, 22:50 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,Аноним, 22:38 , 12-Сен-16
- Компания Bloomberg представила открытый оптимизирующий компи...,xm, 13:38 , 14-Сен-16
Сообщения в этом обсуждении
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 09:23
Goodbye, TS!
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 15:07
</sarcasm>
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено омномномнимус , 12-Сен-16 10:07
OCaml -> JS. Довольно необычно, хотелось бы увидеть примеры решения задач, для которых это необходимо.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено A.Stahl , 12-Сен-16 10:15
Просто нашли большой коллектив толковых окамлистов и оказалось проще им дать транслятор в ЯваСкрипт, чем их переучивать на ЯваСкрипт.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено омномномнимус , 12-Сен-16 11:01
Но ведь чтобы написать транслятор из OCaml в JS уже нужно знать оба языка ;-)
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено абвгдейка , 12-Сен-16 19:40
ужас! Значит Ритчи знал Си, еще до того, как его придумал :)
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено IB , 12-Сен-16 11:32
> Просто нашли большой коллектив толковых окамлистов и оказалось проще им дать транслятор
> в ЯваСкрипт, чем их переучивать на ЯваСкрипт.Меня больше удивило, что Блумберг.
Хотя для обработки текста / данных Окамл заруливает.
Эдакий типизированный быстрый перл (с библиотеками само собой, стандартная - редкое Г).
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 13:47
>Меня больше удивило, что Блумбергничего удивительного. Эта компания активно участвует в конференциях по плюсам и функциональщине, работает со студентами, и вообще видно что вкладывает много денег в исследовательскую работу.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено IB , 12-Сен-16 11:29
JSocaml - лет 10 наверное
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено омномномнимус , 12-Сен-16 11:38
ну так а примеры использования?
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Анонимомус , 12-Сен-16 11:35
> ...сохраняя имена переменных и генерируя читаемый код.Полезно для чтения исходников на OCaml, особенно если видишь его в первый раз.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено омномномнимус , 12-Сен-16 11:39
имхо, это не главная цель проекта.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 13:02
>OCaml -> JS. Довольно необычно, хотелось бы увидеть примеры решения задач, для которых это необходимо.Потому что у Bloomberg дохрена кода для финансового анализа, и кому-то захотелось запустить всё это в браузере.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 16:38
Скорее в Node.js
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Led , 12-Сен-16 21:59
> OCaml -> JS. Довольно необычноЧто же здесь "необычно"? Можно есть самую разную еду: хоть икру, хоть вермишель, хоть репу. А на выходе получить практически одно и то же, как в данном случае.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 10:22
это что-то типа gopherjs ?
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 10:29
А плюсы в javascript канпелируются?
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 10:44
asm.js LLVM Emscripten
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено A.Stahl , 12-Сен-16 11:07
>канпелируются? Ну-у-у... Если ты объяснишь значение этого слова, то мы, возможно, и ответим. А пока ты хрюкочешь как зелюк в мове, то хрен тебя кто поймёт.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 11:14
Прости. Конпеляются.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено ...aNALaGReSSoR... , 13-Сен-16 13:12
а я думал, ты в комплюхтерах разбираешься
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено ueueue , 13-Сен-16 13:26
Конпелируй в месте с нами, конпелируй лучше нас!
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено ueueue , 13-Сен-16 13:26
> Конпелируй в месте с нами, конпелируй лучше нас!(c) бохаце
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено th3m3 , 12-Сен-16 11:20
Ещё один компилятор. Нафиг они нужны, обычного js достаточно.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 15:03
Вам не нужен - не пользуйтесь, никто не заставляет.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено freehck , 12-Сен-16 11:28
Я пока как-то не уловил, чем этот 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
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено IB , 12-Сен-16 11:33
> Я пока как-то не уловил, чем этот BuckleScript отличается от Ocsigen.
> Вот тут можно попробовать демки. В частности трансляцию функционального кода.
> http://bloomberg.github.io/bucklescript/js-demo/ Тем, что это только часть оксигена, не?
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено freehck , 12-Сен-16 11:39
> Тем, что это только часть оксигена, не?Я к тому, что возможно оно умеет что-то, что не умеет Ocsigen в плане генерации js. Если оно так, то хочется узнать, что имено.
Судя по тому, что написано в лицензии, их код основан на Ocsigen.
https://github.com/bloomberg/bucklescript#licensing
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено H2O , 12-Сен-16 11:53
Попробовал код быстрой сортировки из Wiki, так он даже не задумывался... сразу выплюнул код JS! Такое ощущение что компилятор его уже знал.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Vkni , 12-Сен-16 19:07
> Попробовал код быстрой сортировки из Wiki, так он даже не задумывался... сразу
> выплюнул код JS! Такое ощущение что компилятор его уже знал.А почему он должен задумываться? Проект на 2 тыс. строк, не использующий Core, но зато с yacc/lex компилируется Ocaml'ом с 0-я на ноутбучном Core2Duo примерно 1.5 сек.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 12:05
> без необходимости изучения нового языка программированияАга, а маргинальный убогий ocaml учить не надо.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Andrey Mitrofanov , 12-Сен-16 12:15
>> без необходимости изучения нового языка программирования
> Ага, а маргинальный убогий ocaml учить не надо.Так, он не "новый" же!? :D
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 16:42
OCaml (не путать с ML) - 1996 г.р.
Javascript (не путать с Java) - 1995 г.р.На фоне JS, в который он компилируется - да, новый.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено омномномнимус , 12-Сен-16 18:46
не шлангуй
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 22:22
Не знаю как ML по сравнению с OCaml, а Java по сравнению с JavaScript - просто идеальный язык...
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Vkni , 13-Сен-16 02:10
> Не знаю как ML по сравнению с OCamlPascal vs Delphi
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено ВИРТ , 13-Сен-16 21:49
Паскаль не трожь, БАЛВАН
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Led , 13-Сен-16 22:11
> Паскаль не трожь, БАЛВАН Вирта не трожь, придурок!
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Vkni , 12-Сен-16 19:09
> Так, он не "новый" же!? :D Дык всё старое, как говно мамонта. Хаскель вон на пару лет моложе bash'а.
Если хочется чего-то более-менее нового, прогрессивного, добро пожаловать в F*/AGDA и т.д.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 22:35
> Если хочется чего-то более-менее нового, прогрессивного, добро пожаловать в F*/AGDA и т.д.Вроде слишком математично. Нет, само по себе это, конечно, прекрасно, но если я правильно понимаю, для написания web-приложений она не приспособлена.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Vkni , 13-Сен-16 02:10
> Вроде слишком математично. Нет, само по себе это, конечно, прекрасно, но если
> я правильно понимаю, для написания web-приложений она не приспособлена.Оно для написания чего угодно ещё не приспособлено. До более-менее рабочей версии - 5 лет. Но рабочая версия как раз и означает закостенение. :-)
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 16:12
Для тех, кто знаком с языками семейства ML, учить там особо нечего.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Vkni , 12-Сен-16 21:55
> Для тех, кто знаком с языками семейства ML, учить там особо нечего. Да и для тех, кто не знаком, тоже не очень-то много надо. :-) Хотя SML, конечно, проще.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Sergey , 12-Сен-16 12:31
Надо заметить, что есть компилятор байткода для JVM-языков, http://teavm.org TeaVM
Я попробовал - Котлин компиляется.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Crazy Alex , 12-Сен-16 16:25
Тут основная фишка вот в чём: "BuckleScript позволяет организовать бесшовное использование кода OCaml в JavaScript, сохраняя имена переменных и генерируя читаемый код". Читаемый генерированный джаваскрипт из байткода - очень сомнительно. А иначе - отладка становится на редкость неприятным делом.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Vkni , 12-Сен-16 19:04
> Читаемый генерированный джаваскрипт из байткода - очень сомнительно.Невозможно. В Zink-машине слишком низкоуровневый код.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Crazy Alex , 13-Сен-16 02:42
Ну, джава-код довольно читаемый получается. Правда, в основном потому, что он, в общем-то, чуть ли не зеркало джавы ранних версий.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено pavlikvk , 12-Сен-16 13:47
Зачем это нужно непойму. Готовую бизнесс логику что ли на клиенте гонять.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 16:16
А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам троянского коня везде вставлял при компиляции? И зонды!
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Andrey Mitrofanov , 12-Сен-16 16:37
> А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам С одной стороны, вроде и продорасы, как LF или MS, с другой: https://github.com/bloomberg/bucklescript/blob/master/LICENS... прогрессивные продорасы. Надо смотреть, как они в одной банке с другими пауками уживутся/уживаются.
> троянского коня везде вставлял при компиляции? И зонды!
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено freehck , 12-Сен-16 22:50
> С одной стороны, вроде и продорасы, как LF или MS, с другой ... прогрессивные продорасы.Ну так ещё бы он был не GPL. Они ж фактически отфоркали js_of_ocaml.
Хотя результат у них и правда получается получше в плане читаемости, тут не поспоришь.
Но это на простых примерах. А вот на сложных - это ещё надо смотреть.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено Аноним , 12-Сен-16 22:38
> А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам троянского коня везде вставлял при компиляции?Вроде написано, что на выходе хорошо читаемый код на ванильном JS, так что троянского коня вставить вроде как и некуда.
"Компания Bloomberg представила открытый оптимизирующий компи..."
Отправлено xm , 14-Сен-16 13:38
Bloomderg, Карл! Ждём новый язык программирования от Reuters и процессор от ИТАР-ТАСС.