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