git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix build for programmable type errors after merge
0ffc1f6Phillip Freeman
examples/failing/ProgrammableTypeErrors.pursnew file+16
@@ -0,0 +1,16 @@
1+-- @shouldFailWith NoInstanceFound
2+
3+module Main where
4+
5+import Prelude
6+import Control.Monad.Eff (Eff)
7+import Control.Monad.Eff.Console (log)
8+
9+class MyShow a where
10+ myShow :: a -> String
11+
12+instance cannotShowFunctions :: Fail "Cannot show functions" => MyShow (a -> b) where
13+ myShow _ = "unreachable"
14+
15+main :: Eff _ _
16+main = log (myShow (_ + 1))
src/Language/PureScript/Parser/Lexer.hs+7
@@ -43,6 +43,7 @@ module Language.PureScript.Parser.Lexer
43 , qualifier
43 , qualifier
44 , tyname
44 , tyname
45 , uname
45 , uname
46+ , uname'
46 , mname
47 , mname
47 , reserved
48 , reserved
48 , symbol
49 , symbol
@@ -432,6 +433,12 @@ uname = token go P.<?> "proper name"
432 go (UName s) | validUName s = Just s
433 go (UName s) | validUName s = Just s
433 go _ = Nothing
434 go _ = Nothing
434
435
436+uname' :: String -> TokenParser ()
437+uname' s = token go P.<?> "proper name"
438+ where
439+ go (UName s') | s == s' = Just ()
440+ go _ = Nothing
441+
435tyname :: TokenParser String
442tyname :: TokenParser String
436tyname = token go P.<?> "type name"
443tyname = token go P.<?> "type name"
437 where
444 where