Replies (23)

  • @agr, fizruk мне его рекомендовал, я не понял нафига оно по хорошему надо
  • @agr, Compose the cleanup sub-routines of all your allocated resources
    Keep track of initialization time for each resource needed in your application
    Keep track of teardown time for each resources needed in your application.
    Isolate the teardown of each resource in your application, ensuring no thrown exception will affect the cleanup of resources.
    Initialize resources concurrently when using Applicative notation
    Build a dependency graph of your application resources when using Applicative or Monad notation; and then guarantees the execution of cleanup operations in a topological sorted order
    Make sure that previously allocated resources are cleaned up when a resource throws an exception on initialization
    Report all exceptions thrown on each resource teardown
    Document (through types) what is the purpose of some of the IO sub-routines in your program

    как бы полезные фичи, но на самом деле из полезных если только то, что все очистится, но это и так и так можно получить
  • @agr, А что это?
  • @ndtimofeev, неонка для инициализации и финализации компонент приложения,
    bracket со свистелками
  • @qnikst, ну вот да. :) я пока ещё разбираюсь, но сервант стал работать только через ghci теперь, как бинарь — ни в какую..
  • @agr, — там ещё бонусом идёт componentm-devel, который это всё — да в ghci, т.е. цикл разработки ещё сильней сокращается без утечек и замедлений на стороне ghci,
    — ну и ghcid в принципе тоже держит процесс сервера.
  • @agr, вот в ghci это уже полезная штука
  • @agr, сервер в ghci запустить проблем нету никаких и без componentm, а вот сказать сделай-ка мне компоненты, а потом запускать функции которые хотят компоненты, а не сам сервер это уже другой вопрос
  • @qnikst, я завтра с этим буду дальше "играться"..
    по сути Service pattern в действии.
  • @agr, ещё бы научить него не делать бесполезные вещи типа времени вывода, и убрать весь логгинг (или как-то обобщить) и было бы полезной вещью
  • @qnikst, есть там это.. единственное, что я в толк не возьму и что тебе не очень может понравиться, это то, что эти ребята из fpco это все дело тесно обвязывают вместе с их RIO
  • @agr, в котором там и прелюдия (ещё одна) с кучей всего, к тому же с хидден модулями (ну или мне поспать надо)
  • @ndtimofeev, blog.roman-gonzalez.ca

    мотивация и корни уходят в Clojure
  • @agr, ох понатащат блин.
  • @qnikst, черти полосатые! и не говори..
  • @agr, Роман это дело начинал рисовать до прихода в контору, его личный проект :)
  • @qrilka, спасибо, всё немного сложнее, оказывается
  • @qrilka, зависимость на rio выглядит странно для такого проекта, хотя тогда понятно почему интересных ручек нет
  • @qnikst, а что значит "интересных ручек"?
  • @agr, логгер, отдать в программу статистику а не делать все всем хорошо
  • @qnikst, понял.. буду разбираться.. сейчас пока основная боль — это #2923287/5 — бинарь не живёт, а просто гасит сервер после старта и выходит тихонько
  • @agr, а нужно ли componentm? у вас везде rio?
  • @qnikst, не факт, что нужно.. поглядим.
    не, не было.