alf
Так, записали в чОрную книжечку эрланг и кложу.
Кложу-то за что? :) ‎- BSOD bluez
кложу ок, но эрланг то за что? ‎- Я много страдала
эрланг ладно, главное не эликсир! ‎- из-за разнузданности гламурной
о чём книжеча и в чём причина записи? если не секрет. ‎- 9000
Ох, я просто играю в спортивное программирование, и у меня есть задачка где мое решение на хаскеле таймаутится. В той прекрасной среде есть простой трюк: взять другой язык, в другом языке другой рантайм и другие ограничения по времени. Обычно я брал питон в качестве запасного — и почти всегда спасался. А тут сплошная функциональщина, есть на выбор Erlang, Clojure, F#, OCaml, Haskell. Хаскель не пролезает, эрланг даже близко не подползает к хаскелю, даром что синтаксис из прошлого века, кложа вообще не едет на своих коллекциях, а если выкинуть функциональщину и писать на кложе на яве, то получается чуть похуже хаскеля (даже с учетом того что для хаскеля таймаут 5 секунд, а для явы, то есть кложи, 7). Тоже результат, чо. ‎- alf
Судя по тому что сдавшие таки есть, проблема в алгоритме, но это я ещё почти сутки не могу обсуждать :) ‎- alf
Впрочем, скорее всего дело не в алгоритме даже, а в том что входные данные странненькие, и если решать не исходную задачу, а задачу для отдельно взятого набора данных... ‎- alf
Ааааага. Дело таки было не в алгоритме. И даже не в данных. ‎- alf
Хотя и в данных тоже ‎- alf
интрига останется нераскрытой? ‎- Долбиться в OTA
Через 10 часов :) ‎- alf
^ я _сейчас_ умру! ‎- Юдж
Ну ладно, там уже засветили всё равно: вместо хаскелевских строк, что `type String = [Char]`, надо было использовать `ByteString.Lazy`, иначе перелопачивать огромный ввод можно было сдохнуть, что мой код и делал. Что касается данных, задача сформулирована так будто нужен heap, а он не нужен, потому что все элементы уникальны. Но в общем задачка была I/O bound, так что все мои эксперименты с O(1) `merge` были бессмысленной тратой времени. ‎- alf
Остаётся непонятным, как это можно было (не) решить на той же кложе — там же джавовские родные строки, или нет? ‎- alf
Бугага, там скала была! Просто кастомный дропдаун дофига кастомный... Languages allowed: Scala, Haskell, Racket, Clojure, OCaml, F#, Common Lisp and Erlang. ‎- alf
Стринги те же, да. Со скалой у тебя была бы таже история, что и с кложей. Immutable-коллекции что в кложе, что в скале основаны на HAMT. ‎- BSOD bluez
Ну под скалу, положим, у меня весь Окасаки есть, включая те самые O(1)-merge heaps ;) Но I/O тот же самый, так что всё это в пользу бедных. ‎- alf
В успешных решениях есть Scala (доминирует, 18 успешных), Haskell (12), OCaml (4), Common Lisp (2), и Racket (1). ‎- alf
Languages allowed: Scala, Haskell, Racket, Clojure, OCaml, F#, Common Lisp and Erlang; эрланга навскидку не вижу, остальные все есть. ‎- alf