- Монолитный пакет, делающий всё
- Плюсы
- Не надо создавать отдельный пакет на несвязанную функциональность, просто кидаешь всё в один пакет
- Не надо думать про разделение кода на независимые части
- Минусы
- Нет четких границ и интерфейсов между частями пакета, которые можно разделить. Всё импортирует всё.
- Плюсы
- Что приводит к невозможности параллельной компиляции модулей
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/dom-parser/dom-parser.cabal b/dom-parser/dom-parser.cabal | |
index 43fb75e..599925d 100644 | |
--- a/dom-parser/dom-parser.cabal | |
+++ b/dom-parser/dom-parser.cabal | |
@@ -32,6 +32,7 @@ library | |
, lens | |
, mtl | |
, open-union | |
+ , semigroups | |
, shakespeare |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE QuasiQuotes #-} | |
{-# LANGUAGE DataKinds #-} | |
module Main where | |
import Data.Vector.Sized | |
import Data.Type.Natural | |
x :: Vector Int [nat| 2 |] | |
x = 1 :- 2 :- Nil |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data Table = Table Bool Symbol Symbol | |
-- | Term level table information carrier. | |
data TTable = TTable Bool String String | |
data instance Sing ('Table opt pre tbl) = | |
STable (Sing opt) (Sing pre) (Sing tbl) | |
instance ( SingI opt, SingI pre, SingI tbl ) | |
=> SingI ('Table opt pre tbl) where |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
warning: dumping very large path (> 256 MiB); this may run out of memory | |
these derivations will be built: | |
/nix/store/dcgiw2yzw7qg81zc5hw6pyg9x6y4vy27-uniplate-1.6.12.drv | |
/nix/store/00772aws2144kxvgqp5q7ifz6hvaxgic-derive-2.5.26.drv | |
/nix/store/qqkdn9k4xrg919dr7zyzqiyfjy2b3axw-th-lift-instances-0.1.8.drv | |
/nix/store/66syp63m6xwsdz5s70mvndndmnsd9zxc-th-orphans-0.13.2.drv | |
/nix/store/0b13w0x7cxyflg25klnm51d3g23fv6s7-haskell-src-meta-0.6.0.14.drv | |
/nix/store/d0k0x4namryr23ysjj1jqhfwqfa2y78l-aeson-0.9.0.1.drv | |
/nix/store/01vqszgq67lms790f5nmbg3fqj3g49n6-aeson-qq-0.8.1.drv | |
/nix/store/34lwrj5d0bfw3l6mim4drkkk1x5c4i7p-pretty-hex-1.0.drv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Control.Concurrent | |
import Control.Concurrent.STM | |
import Control.Monad | |
makeSequencer | |
:: (a -> IO ()) | |
-> IO (a -> IO ()) | |
makeSequencer handler = do | |
msgVar <- newEmptyTMVarIO | |
let |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data Commit = Commit | |
{ tree :: Tree | |
, parent :: Commit | |
, author :: String | |
} | |
data Tree = Tree [TreeElem] | |
data BlobData |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renderCreditCard :: DispatchCreditCard -> CreditCardForm -> ReactRender () | |
renderCreditCard dispatch ccf = div_ $ do | |
let | |
tf :: Text -> (Text -> CreditCardAction) -> Fold CreditCardForm Text -> ReactRender () | |
tf hint action l = textField_ $ TextField | |
{ _tfValue = fromMaybe "" $ ccf ^? l | |
, _tfHint = Just hint | |
, _tfType = TFTText | |
, _tfOnChange = Just $ dispatch . action | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Data.Time | |
class Diffable a where | |
type Diff a :: * | |
diff :: a -> a -> Diff a | |
addDiff :: Diff a -> a -> a | |
instance {-# OVERLAPPABLE #-} (Num a) => Diffable a where | |
type Diff a = a | |
diff = (-) |