git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix build for programmable type errors after merge
commit0ffc1f6d93d1d4eeaff7e7b7317b069731be9481 authorPhillip Freeman <paf31@cantab.net> dateMon 30 May 2016, 10:57 (10 years ago) parentc9f0839
2 files changed+23
examples/failing/ProgrammableTypeErrors.purs+16 src/Language/PureScript/Parser/Lexer.hs+7
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
4343 , qualifier
4444 , tyname
4545 , uname
46+ , uname'
4647 , mname
4748 , reserved
4849 , symbol
@@ -432,6 +433,12 @@ uname = token go P.<?> "proper name"
432433 go (UName s) | validUName s = Just s
433434 go _ = Nothing
434435
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+
435442tyname :: TokenParser String
436443tyname = token go P.<?> "type name"
437444 where