Skip to content

Instantly share code, notes, and snippets.

@dmjio
dmjio / TailwindUI.Components.hs
Created April 5, 2025 20:42
Miso integration with the TailwindUI Components Library, thanks to DeepSeek R1
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeApplications #-}
module TailwindUI.Components where
import Miso
import Miso.String (MisoString, ms)
import qualified Data.Map as Map
-- ========================
@dmjio
dmjio / TailwindDaisyMiso.hs
Last active April 5, 2025 19:57
Tailwind Components DaisyUI Library and Miso integration, thanks to DeepSeek R1
{-# LANGUAGE OverloadedStrings #-}
module DaisyUI where
import Miso
import Miso.String (MisoString, ms)
-- Action type for all component interactions
data Action
= ButtonClicked MisoString
| AccordionToggled Int
Build failed.
error: builder for '/nix/store/4nb133jpb8np159fs5c63gjn35h5pl0k-wasm32-unknown-wasi-ghc-native-bignum-9.6.5.drv' failed with exit code 1;
last 10 log lines:
import Data.List (foldl', tails)
import Data.Map.Internal.Debug
import qualified Data.Map.Strict as M
import Data.Maybe
import Data.Monoid
import qualified Data.Set as S
data TrieValue v
= TrieValue
{ next :: Trie v
import Data.List (foldl', tails)
import Data.Map.Internal.Debug
import qualified Data.Map.Strict as M
import Data.Maybe
import Data.Monoid
import qualified Data.Set as S
data TrieValue v
= TrieValue
{ next :: Trie v
import Data.List (foldl', tails)
import Data.Map.Internal.Debug
import qualified Data.Map.Strict as M
import Data.Maybe
import Data.Monoid
import qualified Data.Set as S
data TrieValue v
= TrieValue
{ next :: Trie v
import Data.List (foldl', tails)
import Data.Map.Internal.Debug
import qualified Data.Map.Strict as M
import Data.Maybe
import Data.Monoid
import qualified Data.Set as S
data TrieValue v
= TrieValue
{ next :: Trie v
@dmjio
dmjio / rbt.hs
Created October 9, 2022 19:18 — forked from abiodun0/rbt.hs
Red black tree, Haskell
module RedBlackTree
(
Tree,
empty,
member,
insert)
where
data Color = R | B deriving Show
> natVal (Proxy :: Proxy (10 * 10))
<interactive>:280:25-31: error:
• Expected kind ‘* -> Natural -> k0’, but ‘10’ has kind ‘Natural’
• In the first argument of ‘Proxy’, namely ‘(10 (*) 10)’
In an expression type signature: Proxy (10 (*) 10)
In the first argument of ‘natVal’, namely
‘(Proxy :: Proxy (10 (*)
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE DataKinds #-}
import GHC.TypeLits
-- λ> :kind! F "Foo_" "Foo_Bar"
-- F "Foo_" "Foo_Bar" :: Symbol
-- = "bar"