https://combot.org/chat/-1001043143583 Ссылки на полезные ресурсы: https://ruhaskell.org/links.html ; Информация о мероприятиях: https://gist.github.com/qnikst/a96cac661be80d126d0829f2ced1916e
Может не совсем примитивный, но в любом случае не понятно что можно сказать про SSG
Читать полностью…а вот за эту штуку может кто что сказать?
https://sprinkles.tobiasdammers.nl/
Монадную связку списка через генераторы в js не выразить, потому что состояние генератора нельзя скопировать
Читать полностью…это сообственно можно по идее, какую-то бюджетную версию, но в жс там в других местах проблемы, например там есть полезная фича с тем что нестед промисы флаттенятся в один промис
Читать полностью…вот когда эксепшоны бросают или что-то то аргументы смешнее
Читать полностью…ну это интерфейс для Promise.then, но интуитивно кажется что, можно просто всё обернуть в промисы, если есть контрпример могу подумать как сделать через await
Читать полностью…Я тут наткнулся на странное взаимодействие listen
и localSeqUnlift
в effectful
и теперь не могу понять, что с этим делать
Кажется, listen
не перехватывает записи изнутри unlift
, из-за чего они попадают во внешний скоуп.
Вот минимальный пример того, что я пытаюсь сделать
import Effectful
import Effectful.Dispatch.Dynamic
import Effectful.Writer.Static.Local
import Effectful.TH (makeEffect)
data Trace :: Effect where
Trace :: String -> Trace m ()
TraceScope :: (a -> String) -> m a -> Trace m a
makeEffect ''Trace
data TraceEntry
= Entry String
| Nested String [TraceEntry]
deriving (Show)
runTrace :: Eff (Trace : es) a -> Eff es [TraceEntry]
runTrace = reinterpret execWriter \env -> \case
Trace msg -> tell [Entry msg]
TraceScope mkMsg action -> do
(output, traces) <- listen $ localSeqUnlift env \unlift -> unlift action
tell [Nested (mkMsg output) traces]
pure output
-- >>> runPureEff $ runTrace example
-- [Entry "nested",Nested "scope" [Entry "nested"],Entry "not nested"]
example :: Trace :> es => Eff es ()
example = do
traceScope (const "scope") do
trace "nested"
trace "not nested"
listen
и не должен перехватывать вывод
Читать полностью…
https://github.com/swamp-agr/dawgdic/commit/031380fe4174e489d46b103b0dfa6bd95d9a6187
Читать полностью…а опциональный модуль со всякими отладочными хэлперами, который можно включить флагом в библиотеке, выключенным по умолчанию - это уже проклято или еще нет?
Читать полностью…ничего, не первый раз такое, это будет задача для команды разработчиков жита
Читать полностью…ну как, каскадные перепаковки на всю длину продолжения это больно
Читать полностью…но то говоришь просто про деталь оптимизации? всё равно разговор про жс и хаскель, перф не нужен
Читать полностью…возможно имеет смысл сделать копии модулей с трассами в отдельной директории src-trace, чтобы CPP под контроль взять, но тогда будет риск забывания переноса изменений из одной директории в другую
Читать полностью…