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
{ | |
description = "AWS cli devshell"; | |
inputs = { | |
nixpkgs.url = "nixpkgs/24.05"; | |
}; | |
outputs = { self, nixpkgs }: | |
let system = "x86_64-linux"; |
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
{ | |
description = "A very basic flake"; | |
inputs = { | |
nixpkgs.url = "nixpkgs/24.05"; | |
}; | |
outputs = { self, nixpkgs }: | |
let system = "aarch64-darwin"; | |
in |
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 LinearTypes #-} | |
{-# LANGUAGE NamedFieldPuns #-} | |
{-# LANGUAGE ViewPatterns #-} | |
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE LambdaCase #-} | |
module Main where | |
import Data.Unrestricted.Linear (move, unur, Ur(..)) -- from linear-base | |
data R = R |
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 AllowAmbiguousTypes #-} | |
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE DuplicateRecordFields #-} | |
{-# LANGUAGE UndecidableInstances #-} | |
{-# LANGUAGE OverloadedRecordDot #-} | |
import Control.Monad.State (State, execState, gets, modify, put, get) | |
import GHC.Records (HasField (..)) | |
setField :: (HasField s a b) => b -> a -> a |
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
-- https://www.reddit.com/r/haskell/comments/170f6qa/comment/k6spn9n/ | |
-- Compare the core of | |
-- ghc -O0 -c Main.hs -ddump-to-file -ddump-simpl -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes -fforce-recomp | |
-- with the core of | |
-- ghc -O2 -c Main.hs -ddump-to-file -ddump-simpl -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes -fforce-recomp | |
-- search for "foofun". | |
module Main (main) where | |
data Foo = Foo | |
{ aaa :: Int, |
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 BlockArguments #-} | |
{-# LANGUAGE LambdaCase #-} | |
-- | https://well-typed.com/blog/2016/09/sharing-conduit/ | |
module Main where | |
import Control.Exception | |
import System.IO | |
retry :: IO a -> IO a | |
retry io = do |
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 DuplicateRecordFields #-} | |
{-# LANGUAGE NoFieldSelectors #-} | |
{-# LANGUAGE OverloadedRecordDot #-} | |
{-# LANGUAGE RecordWildCards #-} | |
module Main where | |
import Distribution.Simple (KnownExtension(RecordWildCards)) | |
data Foo = Foo { | |
aaa :: Int, | |
bbb :: Bool |
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
-- code by mniip | |
types :: [String] | |
types = $( | |
do | |
insts <- reifyInstances ''Exception [VarT (mkName "a")] | |
let | |
tyConOf (AppT ty _) = tyConOf ty | |
tyConOf (ConT con) = Just con | |
tyConOf _ = Nothing | |
tyCons <- for insts \case |
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
# https://nixos.wiki/wiki/Import_From_Derivation | |
# https://discourse.nixos.org/t/how-to-import-a-derivation-with-import/15375 | |
# https://nixos.org/manual/nix/stable/language/builtins#builtins-import | |
# https://nixos.org/manual/nix/stable/language/values.html#type-string | |
let | |
pkgs = import <nixpkgs> {}; | |
derivation-to-import = pkgs.writeText "inner" "5"; | |
imported-nix-value = import derivation-to-import; | |
in pkgs.writeText "foo" '' | |
The value from the inner derivation was: ${toString imported-nix-value} |
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
# https://developer.hashicorp.com/terraform/language/providers/requirements | |
# https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli | |
terraform { | |
required_providers { | |
hcloud = { | |
source = "hetznercloud/hcloud" | |
version = "1.36.2" | |
} | |
} | |
} |
NewerOlder