LINUX.ORG.RU

Facebook представил проект Haxl

 , ,


1

2

Haxl — библиотека на языке Haskell, которая упрощает доступ к ресурсам, таким как базы данных или web-сервисы. Haxl может обрабатывать в пакетном режиме запросы к одному источнику данных, конкуррентно обрабатывать запросы к многим источникам данных и кешировать предыдущие запросы.

Таким образом, получающий данные код может быть более компактным и понятным, чем если бы вам пришлось разрабатывать его самостоятельно.

>>> Подробности

★★

Проверено: Shaman007 ()

Facebook представил проект нах!

не очень удачное для русскоязычного населения название

u285 ()

А потом они оболочку к этой либе напигут и назовут ее Hax UI

anonymous ()
Ответ на: комментарий от u285

Да, тут вполне можно было первым сообщением сказать - «Первый %SUBJ%»

Atlant ★★★★★ ()

Facebook представил проект, Haxl

в заголовке — забыли поставить запятую после слова «проект».. :-)

# P.S.: заглянул в комменты чтобы прочитать что-то умное про какок-нибудь там умный Хаскель — а оказалось все комменты примерно как мой :-D

user_id_68054 ★★★★★ ()
Последнее исправление: user_id_68054 (всего исправлений: 2)
Ответ на: комментарий от u285

Facebook представил проект нах!

не очень удачное для русскоязычного населения название

Читал текст новости и никаких ассоциаций с тем, что ты сказал вообще не было. Не надо путать русскоязычное население и быдло, mon cher.

Deleted ()

Мне бы очень пригодилось, но... хаскель.

anonymous ()

А какие сервисы FB написаны на Хаскеле?

yoghurt ★★★★★ ()

А я первый раз прочитал: «Facebook послал свой проект Нах!»)))

zevilz ★★★ ()

Ждем ответ ВКонтакте в виде либы на Agda, что-то типа «APoxl».

Virtuos86 ★★★★★ ()
Ответ на: комментарий от nikitos

Дык внутренние-то core-сервисы совсем не опенсурс небось.

yoghurt ★★★★★ ()

конкуррентно

concurrently переводится как «параллельно»

Dolfer ()
Ответ на: комментарий от Dolfer

Concurrency & parallelism что, одинаково переводятся?

anonymous ()
Ответ на: комментарий от anonymous

Я не знаю более удачного способа перевести это, кроме как вспомнить, что раньше различали 2 вида concurrency:

Apparent or Pseudo Concurrency: A single hardware processor is switched between processes by interleaving.
Real Concurrency: Multiple hardware processors are present in the machine and the OS can schedule tasks onto the processors.

http://users.cs.cf.ac.uk/O.F.Rana/os/lectureos2/lectureos2.ps

и перевести первое как «видимая параллельность» (= concurrency в современной терминологии) и «реальная параллельность» (= parallelism).

Если есть более удачные способы перевода — напишите. Вообще складывается ощущение, что статьи на эту тему на русском всё равно никто не публикует, так что всем пофиг.

Dolfer ()
Ответ на: комментарий от Deleted

И только программист в слове «нах!» прочтет про Haskell.

anonymous ()
Ответ на: комментарий от yoghurt

это единственный, в продакшн пойдет через месяц полтора. У них из фп окамл есть, хацкель пока не особо популярен.

qnikst ★★★★★ ()
Ответ на: комментарий от Deleted

Читал текст новости и никаких ассоциаций с тем, что ты сказал вообще не было

Ты скорей всего, интеллигентное быдло, и поэтому такие шуточки пропускаешь через фильтр.

imbaaa ()
Ответ на: комментарий от Deleted

Ты ещё скажи, что не обратил внимания на первые пять букв в слове Pidora ;)

u285 ()

На фоне уже существующих проектов, не совсем понятно, зачем оно, да еще и на хаскеле.

slyjoeh ★★ ()

Facebook - плод любви Haskell и PHP

wxw ★★★★★ ()

А на кой хрен это вообще оформили новостью? Может тогда весь выхлоп хакейджа на ЛОР перенаправить? Вон тут намедни выпустили третью инкарнацию аттопарсека (он стал внутре еще более императивным)... И?

Запилили еще одну монадку, которая MonadIO с финтифлюшками... Да, запилил СамЪ, и для нужд СамойЪ... Но не повод же.

Поймитижемлянаконец, в данном конкретном случае все плюшки проистекют *исключительно* из-за того что хаскель обладает более-менее человеческим синтаксисом, а не является кладбищем выдуманных из головы синтаксических велосипедов! К хаскелю сабж имеет крайне поверхностное отношение.

Если хотите узнать что такое хаскель и зачем он реально нужен, смотрите например пакет lens и прочие творения Эдвардушки Кметта.

Macil ★★★★★ ()
Ответ на: комментарий от Macil

ты считаешь что творения Кметта важнение или правильнее творений Семёна Марлоу? Извини, но твоё мнение не совпадает с мнением большей части комьюнити.

qnikst ★★★★★ ()
Последнее исправление: qnikst (всего исправлений: 1)
Ответ на: комментарий от Macil

к слову lens это очень дурацкий пример того, зачем нужен хацкель, эта библиотека не является идиоматичной, а является стремлением следить за математическими законами и ТК, собственно это главная идея стоящая за библиотекой.

qnikst ★★★★★ ()
Ответ на: комментарий от u285

Ты ещё скажи, что не обратил внимания на первые пять букв в слове Pidora ;)

ну бывают же серьёзные люди без чувства юмора :-) ..

то есть например есть люди, которые могут сделать неверятную глупость — а лицо при этом у них будет очень умное и глубокомысленное :-D

user_id_68054 ★★★★★ ()
Ответ на: комментарий от qnikst

к слову lens это очень дурацкий пример

И еще какой! Но, это более-менее действенная попытка дать в руки даунам вроде меня фреймворк для комбинаторного запиливания катаморфизмов.

А уже это жизненно необходимо для работы с древовидными структурами... Т.е. практически всегда.

А если насчет практики, то вот Брайен О'Салливан сварганил HTTP-библиотечку wreq с lens-based API, которую как раз хорошо использовать вместе с сабжем.

Macil ★★★★★ ()
Ответ на: комментарий от Macil

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

Ну так получилось, что оно и полезно, что в общем-то не удивительно. Брайн О'Салливан, если я не ошибаюсь тоже в fb и тоже в том числе над haxl работает?

qnikst ★★★★★ ()
Последнее исправление: qnikst (всего исправлений: 1)

nerdogeek

facebook - как лицо успеха. php-кодера туда берут, а вот хаскелиста нет((
Мир жесток и несправедлив

aedeph_ ★★ ()
Ответ на: комментарий от aedeph_

Да, похоже что haskell становится мейнстримом. Как и D. Благодаря такой именитой фирме, да.

А если честно, то соболезную тем, кому придётся сапортить этот проект. Всё-таки академические языки - это одно, а продакшен - ну ты понял.

nerdogeek ()
Последнее исправление: nerdogeek (всего исправлений: 1)
Ответ на: комментарий от nerdogeek

Всё таки подходящие инструменты - это одно, а однобитовые тупорылые макаки - ну ты понял.

Починил. Кому соболезновать почини уже сам.

aedeph_ ★★ ()
Ответ на: комментарий от qnikst

Брайн О'Салливан, если я не ошибаюсь тоже в fb и тоже в том числе над haxl работает?

Не знаю, похоже на то. Если кто переведет с новояза должность Engineering Manager.

Насчет «идиоматичности» вопрос тоже весьма интересен. Генерализованная свёртка неидиоматична?

Я щитаю, нужно поосторожнее с навешиванием ярлыков... А то мы скатимся до уровня наших ООП-коллег, которые носятся со своей инкапсуляцией как курица с яйцами, право слово... И мнение нарушает то или иное техническое решение инкапсуляцию или нет, зависит главным образом от упругости харизмы разработчика.

Ясен пень, идиоматика в хаскеле первична. Но это же не повод приносить теорию в жертву идиоматике!

Macil ★★★★★ ()
Ответ на: комментарий от user_id_68054

ну бывают же серьёзные люди без чувства юмора уровня младшеклассника :-)

fxd

theNamelessOne ★★★★★ ()
Последнее исправление: theNamelessOne (всего исправлений: 2)
Ответ на: комментарий от Macil

Насчет «идиоматичности» вопрос тоже весьма интересен.

линзы весьма необычная либа, если хочется понять идиомы хацкеля, как принято и как работает, то эта не лучшая библиотека, чтобы её смотреть. В общем-то в этом заключался смысл моих фраз.

Т.е. про фразу:

Если хотите узнать что такое хаскель и зачем он реально нужен, смотрите например пакет lens и прочие творения Эдвардушки Кметта.

HAXL в этом отношении прекрасно показывает, что такое хацкель и зачем он нужен, хотя некоторые вещи там сделаны не очень хорошо и надеюсь будут переделаны.

qnikst ★★★★★ ()

После регулярных конкурсов-олимпиад Facebook Hacker Cup, остаётся только делать проект Haxl, чтобы как-то этих хакеров-хэкеров продавать!

Woofywoof ()
Ответ на: комментарий от Woofywoof

Facebook Hacker Cup, остаётся только делать проект Haxl, чтобы как-то этих хакеров-хэкеров продавать!

4.2 же! Ты не в теме, камрад. Саймона Марлоу FB не по объявлению нанял, а перекупил у M$ Research.

История HAXL — банальна. Тыщщи таких: а) пилили недоязычок; б) задолбало пилить недоязычок; в) взяли GHC.

We previously had a custom DSL and it outgrew it's DSL-ness. The DSL was really good at one thing (implicit concurrency and scheduling io), and bad at everything else (cpu, memory, debugging, tooling). The predecessor was wildly successful and created new problems. Once all those secondary concerns became first order, we didn't want to start building all this ecosystem stuff for our homemade DSL. We needed to go from DSL to, ya know, an L. So the question is which...

If you understand the central idea of Haxl, I don't know of any other language that would let you do what Haxl in Haskell does. The built in language support for building DSLs (hijacking the operators including applicative/monadic operations) -really- shines in this case. I would -love- to see haxl-like implicit concurrency in other languages that feel as natural and concise. Consider that a challenge. I thought about trying to do it in C++ for edification/pedagogical purposes but it's an absolutely brutal mess of templates and hackery. There may be a better way, though.

Радует то, что они это заопенсорсили... Очень много контор на хаскеле пишут... Но не опенсорсят...

Macil ★★★★★ ()
Ответ на: комментарий от qnikst

HAXL в этом отношении прекрасно показывает, что такое хацкель и зачем он нужен

Да нихрена он не показывает! Он показывает, что синтаксические особенности хаскеля позволяют невозбранно жамкать монадку IO (instance MonadIO) в самой извращенной форме, и при необходимости пришить проекту императивные потроха, вплоть до FFI и сговоров с LLVM.

Тут я не спорю: каждому свое. Сишная куча — лучший друг хаскелиста, а cbits — пророк Её. Под венду GHC идет в комплекте с GCC, и всякое такое. А там глядишь тулзу для герации биндингов к плюсам таки допилят...

Просто, хакель — это нечто большее, чем интерпретатор императивных недо-EDSL. И из-за этого страдает дело: начитавшись дерьмовых «туториалок по монадам», начинают воображать невесть что, после чего от столкновения с реальным положением дел начинается когнитивный диссонанс: ФП, чистота, ленивость vs. императивность, сишная куча и анбокснутость с принудительной WHNF.

Короче говоря, можно поздравить хаскелистов с еще одной хорошей и полезной библиотечкой. Но, не более того. Ну, разве что появился еще один кусок, который можно кидать троллям, чтобы наконец подавились ;)

Macil ★★★★★ ()
Ответ на: комментарий от Macil

Да нихрена он не показывает! Он показывает, что синтаксические особенности хаскеля позволяют невозбранно жамкать монадку IO (instance MonadIO) в самой извращенной форме, и при необходимости пришить проекту императивные потроха, вплоть до FFI и сговоров с LLVM.

ты точно уверен, что мы об одном и том же проекте? Ты видел презентации 2013 и 2014 годов? Общался с Семёном? Посмотрел код?

(я, честно, пока только код не смотрел, не до того пока)

qnikst ★★★★★ ()

Лол, Haskell в enterprise. Ну теперь точно php/python/ruby-капец :)

Aswed ★★★★★ ()
Ответ на: комментарий от Woofywoof

А вы не партнёр MicroSoft часом, в Biz$park не участвуете?

Боже упаси! Обычный диванный аналитик. :P

Macil ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.