git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Unify LANGUAGE pragma layouts
e7d5d60Tibor Erdesz
psci/tests/Main.hs+2−1
@@ -1,4 +1,5 @@
1−{-# LANGUAGE RecordWildCards, TupleSections #-}
1+{-# LANGUAGE RecordWildCards #-}
2+{-# LANGUAGE TupleSections #-}
2
3
3module Main where
4module Main where
4
5
src/Language/PureScript/AST/Declarations.hs+3−1
@@ -12,7 +12,9 @@
12--
12--
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15−{-# LANGUAGE DeriveDataTypeable, ScopedTypeVariables, CPP #-}
15+{-# LANGUAGE DeriveDataTypeable #-}
16+{-# LANGUAGE ScopedTypeVariables #-}
17+{-# LANGUAGE CPP #-}
16
18
17module Language.PureScript.AST.Declarations where
19module Language.PureScript.AST.Declarations where
18
20
src/Language/PureScript/AST/SourcePos.hs+4−1
@@ -12,7 +12,10 @@
12--
12--
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15−{-# LANGUAGE DeriveDataTypeable, ScopedTypeVariables, RecordWildCards, OverloadedStrings #-}
15+{-# LANGUAGE DeriveDataTypeable #-}
16+{-# LANGUAGE ScopedTypeVariables #-}
17+{-# LANGUAGE RecordWildCards #-}
18+{-# LANGUAGE OverloadedStrings #-}
16
19
17module Language.PureScript.AST.SourcePos where
20module Language.PureScript.AST.SourcePos where
18
21
src/Language/PureScript/CodeGen/JS/AST.hs+2−1
@@ -13,7 +13,8 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE DeriveDataTypeable, CPP #-}
16+{-# LANGUAGE DeriveDataTypeable #-}
17+{-# LANGUAGE CPP #-}
17
18
18module Language.PureScript.CodeGen.JS.AST where
19module Language.PureScript.CodeGen.JS.AST where
19
20
src/Language/PureScript/CodeGen/JS/Optimizer.hs+2−1
@@ -31,7 +31,8 @@
31--
31--
32-----------------------------------------------------------------------------
32-----------------------------------------------------------------------------
33
33
34−{-# LANGUAGE FlexibleContexts, CPP #-}
34+{-# LANGUAGE FlexibleContexts #-}
35+{-# LANGUAGE CPP #-}
35
36
36module Language.PureScript.CodeGen.JS.Optimizer (
37module Language.PureScript.CodeGen.JS.Optimizer (
37 optimize
38 optimize
src/Language/PureScript/Names.hs+3−1
@@ -13,7 +13,9 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE DeriveDataTypeable, DeriveFunctor, GADTs #-}
16+{-# LANGUAGE DeriveDataTypeable #-}
17+{-# LANGUAGE DeriveFunctor #-}
18+{-# LANGUAGE GADTs #-}
17
19
18module Language.PureScript.Names where
20module Language.PureScript.Names where
19
21
src/Language/PureScript/Renamer.hs+3−1
@@ -14,7 +14,9 @@
14--
14--
15-----------------------------------------------------------------------------
15-----------------------------------------------------------------------------
16
16
17−{-# LANGUAGE FlexibleContexts, ScopedTypeVariables, CPP #-}
17+{-# LANGUAGE FlexibleContexts #-}
18+{-# LANGUAGE ScopedTypeVariables #-}
19+{-# LANGUAGE CPP #-}
18
20
19module Language.PureScript.Renamer (renameInModules) where
21module Language.PureScript.Renamer (renameInModules) where
20
22
src/Language/PureScript/Sugar/CaseDeclarations.hs+3−1
@@ -14,7 +14,9 @@
14--
14--
15-----------------------------------------------------------------------------
15-----------------------------------------------------------------------------
16
16
17−{-# LANGUAGE FlexibleContexts, ScopedTypeVariables, CPP #-}
17+{-# LANGUAGE FlexibleContexts #-}
18+{-# LANGUAGE ScopedTypeVariables #-}
19+{-# LANGUAGE CPP #-}
18
20
19module Language.PureScript.Sugar.CaseDeclarations (
21module Language.PureScript.Sugar.CaseDeclarations (
20 desugarCases,
22 desugarCases,
src/Language/PureScript/TypeChecker/Kinds.hs+6−4
@@ -14,7 +14,9 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16{-# OPTIONS_GHC -fno-warn-orphans #-}
16{-# OPTIONS_GHC -fno-warn-orphans #-}
17−{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, TupleSections #-}
17+{-# LANGUAGE MultiParamTypeClasses #-}
18+{-# LANGUAGE FlexibleInstances #-}
19+{-# LANGUAGE TupleSections #-}
18{-# LANGUAGE CPP #-}
20{-# LANGUAGE CPP #-}
19
21
20module Language.PureScript.TypeChecker.Kinds (
22module Language.PureScript.TypeChecker.Kinds (
@@ -75,12 +77,12 @@ instance Unifiable Check Kind where
75--
77--
76kindOf :: ModuleName -> Type -> Check Kind
78kindOf :: ModuleName -> Type -> Check Kind
77kindOf _ ty = fst <$> kindOfWithScopedVars ty
79kindOf _ ty = fst <$> kindOfWithScopedVars ty
78−
80+
79-- |
81-- |
80-- Infer the kind of a single type, returning the kinds of any scoped type variables
82-- Infer the kind of a single type, returning the kinds of any scoped type variables
81--
83--
82−kindOfWithScopedVars :: Type -> Check (Kind, [(String, Kind)])
84+kindOfWithScopedVars :: Type -> Check (Kind, [(String, Kind)])
83−kindOfWithScopedVars ty =
85+kindOfWithScopedVars ty =
84 rethrow (onErrorMessages (ErrorCheckingKind ty)) $
86 rethrow (onErrorMessages (ErrorCheckingKind ty)) $
85 fmap tidyUp . liftUnify $ infer ty
87 fmap tidyUp . liftUnify $ infer ty
86 where
88 where
src/Language/PureScript/TypeChecker/Monad.hs+7−2
@@ -13,8 +13,13 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE GeneralizedNewtypeDeriving, FlexibleInstances, RankNTypes,
16+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17+{-# LANGUAGE FlexibleInstances #-}
18+{-# LANGUAGE RankNTypes #-}
17− MultiParamTypeClasses, FlexibleContexts, GADTs, CPP #-}
19+{-# LANGUAGE MultiParamTypeClasses #-}
20+{-# LANGUAGE FlexibleContexts #-}
21+{-# LANGUAGE GADTs #-}
22+{-# LANGUAGE CPP #-}
18
23
19module Language.PureScript.TypeChecker.Monad where
24module Language.PureScript.TypeChecker.Monad where
20
25
src/Language/PureScript/TypeChecker/Synonyms.hs+4−1
@@ -13,7 +13,10 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE FlexibleContexts, MultiParamTypeClasses, GADTs, CPP #-}
16+{-# LANGUAGE FlexibleContexts #-}
17+{-# LANGUAGE MultiParamTypeClasses #-}
18+{-# LANGUAGE GADTs #-}
19+{-# LANGUAGE CPP #-}
17
20
18module Language.PureScript.TypeChecker.Synonyms (
21module Language.PureScript.TypeChecker.Synonyms (
19 saturateAllTypeSynonyms,
22 saturateAllTypeSynonyms,
src/Language/PureScript/TypeChecker/Types.hs+4−1
@@ -13,7 +13,10 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE FlexibleContexts, MultiParamTypeClasses, OverloadedStrings, CPP #-}
16+{-# LANGUAGE FlexibleContexts #-}
17+{-# LANGUAGE MultiParamTypeClasses #-}
18+{-# LANGUAGE OverloadedStrings #-}
19+{-# LANGUAGE CPP #-}
17
20
18module Language.PureScript.TypeChecker.Types (
21module Language.PureScript.TypeChecker.Types (
19 typesOf
22 typesOf
src/Language/PureScript/TypeChecker/Unify.hs+5−3
@@ -14,7 +14,9 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16{-# OPTIONS_GHC -fno-warn-orphans #-}
16{-# OPTIONS_GHC -fno-warn-orphans #-}
17−{-# LANGUAGE FlexibleInstances, FlexibleContexts, MultiParamTypeClasses #-}
17+{-# LANGUAGE FlexibleInstances #-}
18+{-# LANGUAGE FlexibleContexts #-}
19+{-# LANGUAGE MultiParamTypeClasses #-}
18
20
19module Language.PureScript.TypeChecker.Unify (
21module Language.PureScript.TypeChecker.Unify (
20 unifyTypes,
22 unifyTypes,
@@ -157,14 +159,14 @@ unifiesWith _ REmpty REmpty = True
157unifiesWith e r1@(RCons _ _ _) r2@(RCons _ _ _) =
159unifiesWith e r1@(RCons _ _ _) r2@(RCons _ _ _) =
158 let (s1, r1') = rowToList r1
160 let (s1, r1') = rowToList r1
159 (s2, r2') = rowToList r2
161 (s2, r2') = rowToList r2
160−
162+
161 int = [ (t1, t2) | (name, t1) <- s1, (name', t2) <- s2, name == name' ]
163 int = [ (t1, t2) | (name, t1) <- s1, (name', t2) <- s2, name == name' ]
162 sd1 = [ (name, t1) | (name, t1) <- s1, name `notElem` map fst s2 ]
164 sd1 = [ (name, t1) | (name, t1) <- s1, name `notElem` map fst s2 ]
163 sd2 = [ (name, t2) | (name, t2) <- s2, name `notElem` map fst s1 ]
165 sd2 = [ (name, t2) | (name, t2) <- s2, name `notElem` map fst s1 ]
164 in all (\(t1, t2) -> unifiesWith e t1 t2) int && go sd1 r1' sd2 r2'
166 in all (\(t1, t2) -> unifiesWith e t1 t2) int && go sd1 r1' sd2 r2'
165 where
167 where
166 go :: [(String, Type)] -> Type -> [(String, Type)] -> Type -> Bool
168 go :: [(String, Type)] -> Type -> [(String, Type)] -> Type -> Bool
167− go [] REmpty [] REmpty = True
169+ go [] REmpty [] REmpty = True
168 go [] (TypeVar v1) [] (TypeVar v2) = v1 == v2
170 go [] (TypeVar v1) [] (TypeVar v2) = v1 == v2
169 go [] (Skolem _ s1 _) [] (Skolem _ s2 _) = s1 == s2
171 go [] (Skolem _ s1 _) [] (Skolem _ s2 _) = s1 == s2
170 go _ (TUnknown _) _ _ = True
172 go _ (TUnknown _) _ _ = True