The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Компания Bloomberg представила открытый оптимизирующий компи..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от opennews (??) on 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Компания Bloomberg представила открытый оптимизирующий компи..."  –6 +/
Сообщение от Аноним (??) on 12-Сен-16, 09:23 
Goodbye, TS!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 15:07 
</sarcasm>
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от омномномнимус on 12-Сен-16, 10:07 
OCaml -> JS. Довольно необычно, хотелось бы увидеть примеры решения задач, для которых это необходимо.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Компания Bloomberg представила открытый оптимизирующий компи..."  +10 +/
Сообщение от A.Stahl (ok) on 12-Сен-16, 10:15 
Просто нашли большой коллектив толковых окамлистов и оказалось проще им дать транслятор в ЯваСкрипт, чем их переучивать на ЯваСкрипт.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Компания Bloomberg представила открытый оптимизирующий компи..."  +4 +/
Сообщение от омномномнимус on 12-Сен-16, 11:01 
Но ведь чтобы написать транслятор из OCaml в JS уже нужно знать оба языка ;-)
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

41. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от абвгдейка (ok) on 12-Сен-16, 19:40 
ужас! Значит Ритчи знал Си, еще до того, как его придумал :)
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

13. "Компания Bloomberg представила открытый оптимизирующий компи..."  +1 +/
Сообщение от IB on 12-Сен-16, 11:32 
> Просто нашли большой коллектив толковых окамлистов и оказалось проще им дать транслятор
> в ЯваСкрипт, чем их переучивать на ЯваСкрипт.

Меня больше удивило, что Блумберг.
Хотя для обработки текста / данных Окамл заруливает.
Эдакий типизированный быстрый перл (с библиотеками само собой, стандартная - редкое Г).

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

24. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 13:47 
>Меня больше удивило, что Блумберг

ничего удивительного. Эта компания активно участвует в конференциях по плюсам и функциональщине, работает со студентами, и вообще видно что вкладывает много денег в исследовательскую работу.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

12. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от IB on 12-Сен-16, 11:29 
JSocaml - лет 10 наверное
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

16. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от омномномнимус on 12-Сен-16, 11:38 
ну так а примеры использования?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от Анонимомус on 12-Сен-16, 11:35 
> ...сохраняя имена переменных и генерируя читаемый код.

Полезно для чтения исходников на OCaml, особенно если видишь его в первый раз.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

17. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от омномномнимус on 12-Сен-16, 11:39 
имхо, это не главная цель проекта.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

23. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 13:02 
>OCaml -> JS. Довольно необычно, хотелось бы увидеть примеры решения задач, для которых это необходимо.

Потому что у Bloomberg дохрена кода для финансового анализа, и кому-то захотелось запустить всё это в браузере.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

32. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 16:38 
Скорее в Node.js
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

43. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Led (ok) on 12-Сен-16, 21:59 
> OCaml -> JS. Довольно необычно

Что же здесь "необычно"? Можно есть самую разную еду: хоть икру, хоть вермишель, хоть репу. А на выходе получить практически одно и то же, как в данном случае.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 10:22 
это что-то типа gopherjs ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Компания Bloomberg представила открытый оптимизирующий компи..."  –2 +/
Сообщение от Аноним (??) on 12-Сен-16, 10:29 
А плюсы в javascript канпелируются?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Компания Bloomberg представила открытый оптимизирующий компи..."  +3 +/
Сообщение от Аноним (??) on 12-Сен-16, 10:44 
asm.js LLVM Emscripten
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Компания Bloomberg представила открытый оптимизирующий компи..."  –3 +/
Сообщение от A.Stahl (ok) on 12-Сен-16, 11:07 
>канпелируются?

Ну-у-у... Если ты объяснишь значение этого слова, то мы, возможно, и ответим. А пока ты хрюкочешь как зелюк в мове, то хрен тебя кто поймёт.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Компания Bloomberg представила открытый оптимизирующий компи..."  +5 +/
Сообщение от Аноним (??) on 12-Сен-16, 11:14 
Прости. Конпеляются.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

51. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от ...aNALaGReSSoR... on 13-Сен-16, 13:12 
а я думал, ты в комплюхтерах разбираешься
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

52. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от ueueue on 13-Сен-16, 13:26 
Конпелируй в месте с нами, конпелируй лучше нас!
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

53. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от ueueue on 13-Сен-16, 13:26 
> Конпелируй в месте с нами, конпелируй лучше нас!

(c) бохаце

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

10. "Компания Bloomberg представила открытый оптимизирующий компи..."  –2 +/
Сообщение от th3m3 (ok) on 12-Сен-16, 11:20 
Ещё один компилятор. Нафиг они нужны, обычного js достаточно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Компания Bloomberg представила открытый оптимизирующий компи..."  +2 +/
Сообщение от Аноним (??) on 12-Сен-16, 15:03 
Вам не нужен - не пользуйтесь, никто не заставляет.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

11. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от freehck email(ok) on 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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от IB on 12-Сен-16, 11:33 
> Я пока как-то не уловил, чем этот BuckleScript отличается от Ocsigen.
> Вот тут можно попробовать демки. В частности трансляцию функционального кода.
> http://bloomberg.github.io/bucklescript/js-demo/

Тем, что это только часть оксигена, не?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от freehck email(ok) on 12-Сен-16, 11:39 
> Тем, что это только часть оксигена, не?

Я к тому, что возможно оно умеет что-то, что не умеет Ocsigen в плане генерации js. Если оно так, то хочется узнать, что имено.

Судя по тому, что написано в лицензии, их код основан на Ocsigen.
https://github.com/bloomberg/bucklescript#licensing

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

19. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от H2O (??) on 12-Сен-16, 11:53 
Попробовал код быстрой сортировки из Wiki, так он даже не задумывался... сразу выплюнул код JS! Такое ощущение что компилятор его уже знал.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

39. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Vkni (ok) on 12-Сен-16, 19:07 
> Попробовал код быстрой сортировки из Wiki, так он даже не задумывался... сразу
> выплюнул код JS! Такое ощущение что компилятор его уже знал.

А почему он должен задумываться? Проект на 2 тыс. строк, не использующий Core, но зато с yacc/lex компилируется Ocaml'ом с 0-я на ноутбучном Core2Duo примерно 1.5 сек.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

20. "Компания Bloomberg представила открытый оптимизирующий компи..."  –4 +/
Сообщение от Аноним (??) on 12-Сен-16, 12:05 
> без необходимости изучения нового языка программирования

Ага, а маргинальный убогий ocaml учить не надо.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Компания Bloomberg представила открытый оптимизирующий компи..."  +2 +/
Сообщение от Andrey Mitrofanov on 12-Сен-16, 12:15 
>> без необходимости изучения нового языка программирования
> Ага, а маргинальный убогий ocaml учить не надо.

Так, он не "новый" же!? :D

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

33. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 16:42 
OCaml (не путать с ML) - 1996 г.р.
Javascript (не путать с Java) - 1995 г.р.

На фоне JS, в который он компилируется - да, новый.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

37. "Компания Bloomberg представила открытый оптимизирующий компи..."  –2 +/
Сообщение от омномномнимус on 12-Сен-16, 18:46 
не шлангуй
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

44. "Компания Bloomberg представила открытый оптимизирующий компи..."  –2 +/
Сообщение от Аноним (??) on 12-Сен-16, 22:22 
Не знаю как ML по сравнению с OCaml, а Java по сравнению с JavaScript - просто идеальный язык...
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

49. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от Vkni (ok) on 13-Сен-16, 02:10 
> Не знаю как ML по сравнению с OCaml

Pascal vs Delphi

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

54. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от ВИРТ on 13-Сен-16, 21:49 
Паскаль не трожь, БАЛВАН
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

55. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Led (ok) on 13-Сен-16, 22:11 
> Паскаль не трожь, БАЛВАН

Вирта не трожь, придурок!

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

40. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Vkni (ok) on 12-Сен-16, 19:09 
> Так, он не "новый" же!? :D

Дык всё старое, как говно мамонта. Хаскель вон на пару лет моложе bash'а.

Если хочется чего-то более-менее нового, прогрессивного, добро пожаловать в F*/AGDA и т.д.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

45. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 22:35 
> Если хочется чего-то более-менее нового, прогрессивного, добро пожаловать в F*/AGDA и т.д.

Вроде слишком математично. Нет, само по себе это, конечно, прекрасно, но если я правильно понимаю, для написания web-приложений она не приспособлена.


Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

48. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Vkni (ok) on 13-Сен-16, 02:10 
> Вроде слишком математично. Нет, само по себе это, конечно, прекрасно, но если
> я правильно понимаю, для написания web-приложений она не приспособлена.

Оно для написания чего угодно ещё не приспособлено. До более-менее рабочей версии - 5 лет. Но рабочая версия как раз и означает закостенение. :-)

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

28. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 16:12 
Для тех, кто знаком с языками семейства ML, учить там особо нечего.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

42. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Vkni (ok) on 12-Сен-16, 21:55 
> Для тех, кто знаком с языками семейства ML, учить там особо нечего.

Да и для тех, кто не знаком, тоже не очень-то много надо. :-) Хотя SML, конечно, проще.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

22. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от Sergey (??) on 12-Сен-16, 12:31 
Надо заметить, что есть компилятор байткода для JVM-языков, http://teavm.org TeaVM
Я попробовал - Котлин компиляется.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Crazy Alex (ok) on 12-Сен-16, 16:25 
Тут основная фишка вот в чём: "BuckleScript позволяет организовать бесшовное использование кода OCaml в JavaScript, сохраняя имена переменных и генерируя читаемый код". Читаемый генерированный джаваскрипт из байткода - очень сомнительно. А иначе - отладка становится на редкость неприятным делом.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

38. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Vkni (ok) on 12-Сен-16, 19:04 
> Читаемый генерированный джаваскрипт из байткода - очень сомнительно.

Невозможно. В Zink-машине слишком низкоуровневый код.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

50. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Crazy Alex (??) on 13-Сен-16, 02:42 
Ну, джава-код довольно читаемый получается. Правда, в основном потому, что он, в общем-то, чуть ли не зеркало джавы ранних версий.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

25. "Компания Bloomberg представила открытый оптимизирующий компи..."  –1 +/
Сообщение от pavlikvk on 12-Сен-16, 13:47 
Зачем это нужно непойму. Готовую бизнесс логику что ли на клиенте гонять.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Аноним (??) on 12-Сен-16, 16:16 
А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам троянского коня везде вставлял при компиляции? И зонды!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от Andrey Mitrofanov on 12-Сен-16, 16:37 
> А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам

С одной стороны, вроде и продорасы, как LF или MS, с другой: https://github.com/bloomberg/bucklescript/blob/master/LICENS... прогрессивные продорасы. Надо смотреть, как  они в одной банке с другими пауками уживутся/уживаются.

> троянского коня везде вставлял при компиляции? И зонды!

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

47. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от freehck email(ok) on 12-Сен-16, 22:50 
> С одной стороны, вроде и продорасы, как LF или MS, с другой ... прогрессивные продорасы.

Ну так ещё бы он был не GPL. Они ж фактически отфоркали js_of_ocaml.
Хотя результат у них и правда получается получше в плане читаемости, тут не поспоришь.
Но это на простых примерах. А вот на сложных - это ещё надо смотреть.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

46. "Компания Bloomberg представила открытый оптимизирующий компи..."  –2 +/
Сообщение от Аноним (??) on 12-Сен-16, 22:38 
> А Блумберг - это идеологически правильно? А вдруг хотят, чтобы он нам троянского коня везде вставлял при компиляции?

Вроде написано, что на выходе хорошо читаемый код на ванильном JS, так что троянского коня вставить вроде как и некуда.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

56. "Компания Bloomberg представила открытый оптимизирующий компи..."  +/
Сообщение от xm (ok) on 14-Сен-16, 13:38 
Bloomderg, Карл! Ждём новый язык программирования от Reuters и процессор от ИТАР-ТАСС.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру