I hereby claim:
- I am adamgundry on github.
- I am adamgundry (https://keybase.io/adamgundry) on keybase.
- I have a public key ASCjG4OJrVK8rcTnOXwK-GoHUZmq02gkastcgZX5n9oxhAo
To claim this, I am signing this object:
{-# LANGUAGE GHC2021, NoScopedTypeVariables, RequiredTypeArguments, AllowAmbiguousTypes #-} | |
import Data.Proxy | |
hasScopedTypeVariables :: Bool | |
hasScopedTypeVariables = f Char | |
f :: forall a -> C a => Bool | |
f a = g @Int | |
where |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE OverloadedLabels #-} | |
{-# LANGUAGE TypeFamilies #-} | |
{-# LANGUAGE TypeOperators #-} | |
{-# LANGUAGE UndecidableInstances #-} | |
import qualified Data.ByteString.Char8 as BS | |
import Data.Kind | |
import Data.Proxy | |
import GHC.OverloadedLabels |
{-# LANGUAGE DataKinds, PolyKinds, StandaloneKindSignatures, TypeFamilies, UndecidableInstances #-} | |
import GHC.TypeLits | |
import Data.Kind | |
-- This is the proposed API for Warning/WarningBin | |
type Warning :: Symbol -> WarningBin -> ErrorMessage -> Constraint | |
class Warning flag bin msg |
{-# LANGUAGE AllowAmbiguousTypes #-} | |
{-# LANGUAGE ConstraintKinds #-} | |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE GADTs #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE PolyKinds #-} | |
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE ScopedTypeVariables #-} |
{-# LANGUAGE AllowAmbiguousTypes #-} | |
{-# LANGUAGE ConstraintKinds #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE KindSignatures #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE PolyKinds #-} | |
{-# LANGUAGE ScopedTypeVariables #-} | |
{-# LANGUAGE TypeApplications #-} |
I hereby claim:
To claim this, I am signing this object:
-- https://www.reddit.com/r/haskell/comments/dywiqx/question_about_disallowing_impossible_states/ | |
-- and influenced by https://gist.github.com/gelisam/3dd536882296f672d3bcdfd88c98ac10 | |
{-# LANGUAGE DataKinds, GADTs, PolyKinds, TypeFamilies #-} | |
module Spells where | |
data Nat where | |
Zero :: Nat | |
Suc :: Nat -> Nat |
{-# LANGUAGE AllowAmbiguousTypes #-} | |
{-# LANGUAGE ConstraintKinds #-} | |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE ExplicitForAll #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE FunctionalDependencies #-} | |
{-# LANGUAGE GADTs #-} | |
{-# LANGUAGE KindSignatures #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} |
{-# LANGUAGE TemplateHaskell #-} | |
{-# LANGUAGE TypeFamilies #-} | |
module Main(main) where | |
import Control.Concurrent | |
import Control.Exception | |
import Control.Monad.Reader | |
import Control.Monad.State | |
import Data.Acid |
#!/bin/bash | |
# This is a quick hack using stack to list dependencies and then | |
# copying their licenses from the locations in which it stores them. | |
# It tries various possible filenames in the store first, then tries | |
# the global location for system packages. It will miss out licenses | |
# for parts of the local project, the "rts" package (but that's okay, | |
# because it is covered by the license for "base"), and will | |
# (silently) exclude licenses for underlying C libraries. | |
LOCAL_PATH=.stack-work/install/x86_64-linux/lts-9.0/8.0.2/doc/ |