My config for LazyVim.
Theme:
-- ~/.config/nvim/lua/plugins/catppuccin
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,| background = #1A1A1A | |
| foreground = #EEEEEE | |
| cursor-color = #EEEEEE | |
| cursor-text = #1A1A1A | |
| selection-background = #606060 | |
| selection-foreground = #EEEEEE | |
| palette = 0=#1A1A1A | |
| palette = 1=#F5A3A7 | |
| palette = 2=#8BCFAC | |
| palette = 3=#F0C674 |
My config for LazyVim.
Theme:
-- ~/.config/nvim/lua/plugins/catppuccin
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,| package main | |
| import ( | |
| "encoding/json" | |
| "fmt" | |
| ) | |
| type Item struct { | |
| ID string `json:"id"` | |
| Name string `json:"name"` |
Using MonadLogger without LoggingT in Haskell
Using RIO with Servant in Haskell, with nested environments.
Port of servant-nested-apis Gist.
Nesting APIs and ReaderT environments in Haskell's Servant
Environments, from parent to child (or base to extended):
App (ReaderT AppEnv IO):
HasLogFunc envHasDatabase envHasTracing envAppAuthenticated (ReaderT AppAuthenticatedEnv IO):HasApp env (everything from App)Compare using a stack of transformers vs. the ReaderT pattern for a web service.
See files:
| module AsyncMonadBaseControlExample where | |
| import Blammo.Logging (LoggingT) | |
| import Control.Concurrent.Async.Lifted.Safe (concurrently) | |
| import Control.Monad.Base (MonadBase) | |
| import Control.Monad.Reader (MonadIO, MonadReader, MonadTrans (lift), ReaderT) | |
| import Control.Monad.Trans.Control (MonadBaseControl (liftBaseWith, restoreM), StM) | |
| import Data.Text.Lazy qualified as TL | |
| import Web.Scotty.Trans (ActionT, text) |
| #!/usr/bin/env stack | |
| {- stack | |
| --resolver lts-13.4 | |
| --install-ghc | |
| script | |
| --ghc-options "-Wall" | |
| --package aeson | |
| --package aeson-pretty | |
| --package aeson-typescript | |
| --package base |