mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-12 04:58:18 +03:00
Handle lambda character on Windows.
This commit is contained in:
parent
86d2d1f24f
commit
3e8e0ce46c
@ -416,6 +416,8 @@ xobjToTy (XObj (Lst [XObj Ref i t, innerTy]) _ _) = -- This enables parsing of '
|
|||||||
return (RefTy okInnerTy)
|
return (RefTy okInnerTy)
|
||||||
xobjToTy (XObj (Lst (XObj (Sym (SymPath _ "Ref") _) _ _ : _)) _ _) =
|
xobjToTy (XObj (Lst (XObj (Sym (SymPath _ "Ref") _) _ _ : _)) _ _) =
|
||||||
Nothing
|
Nothing
|
||||||
|
xobjToTy (XObj (Lst [XObj (Sym (SymPath path "╬╗") _) fi ft, XObj (Arr argTys) ai at, retTy]) i t) =
|
||||||
|
xobjToTy (XObj (Lst [XObj (Sym (SymPath path "Fn") Symbol) fi ft, XObj (Arr argTys) ai at, retTy]) i t)
|
||||||
xobjToTy (XObj (Lst [XObj (Sym (SymPath path "λ") _) fi ft, XObj (Arr argTys) ai at, retTy]) i t) =
|
xobjToTy (XObj (Lst [XObj (Sym (SymPath path "λ") _) fi ft, XObj (Arr argTys) ai at, retTy]) i t) =
|
||||||
xobjToTy (XObj (Lst [XObj (Sym (SymPath path "Fn") Symbol) fi ft, XObj (Arr argTys) ai at, retTy]) i t)
|
xobjToTy (XObj (Lst [XObj (Sym (SymPath path "Fn") Symbol) fi ft, XObj (Arr argTys) ai at, retTy]) i t)
|
||||||
xobjToTy (XObj (Lst [XObj (Sym (SymPath _ "Fn") _) _ _, XObj (Arr argTys) _ _, retTy]) _ _) =
|
xobjToTy (XObj (Lst [XObj (Sym (SymPath _ "Fn") _) _ _, XObj (Arr argTys) _ _, retTy]) _ _) =
|
||||||
|
@ -115,7 +115,7 @@ aChar = do i <- createInfo
|
|||||||
|
|
||||||
{-# ANN validCharacters "HLint: ignore Use String" #-}
|
{-# ANN validCharacters "HLint: ignore Use String" #-}
|
||||||
validCharacters :: [Char]
|
validCharacters :: [Char]
|
||||||
validCharacters = "+-*/?!><=_:"
|
validCharacters = "+-*/?!><=_:\9580\9559"
|
||||||
|
|
||||||
symbolSegment :: Parsec.Parsec String ParseState String
|
symbolSegment :: Parsec.Parsec String ParseState String
|
||||||
symbolSegment = do sym <- Parsec.many1 validInSymbol
|
symbolSegment = do sym <- Parsec.many1 validInSymbol
|
||||||
|
@ -16,6 +16,7 @@ module Types ( TypeMappings
|
|||||||
|
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import Data.Maybe (fromMaybe)
|
import Data.Maybe (fromMaybe)
|
||||||
|
import System.Info (os)
|
||||||
import Util
|
import Util
|
||||||
--import Debug.Trace
|
--import Debug.Trace
|
||||||
|
|
||||||
@ -40,6 +41,10 @@ data Ty = IntTy
|
|||||||
| InterfaceTy
|
| InterfaceTy
|
||||||
deriving (Eq, Ord)
|
deriving (Eq, Ord)
|
||||||
|
|
||||||
|
fnOrLambda = case os of
|
||||||
|
"mingw32" -> "Fn"
|
||||||
|
_ -> "λ"
|
||||||
|
|
||||||
instance Show Ty where
|
instance Show Ty where
|
||||||
show IntTy = "Int"
|
show IntTy = "Int"
|
||||||
show FloatTy = "Float"
|
show FloatTy = "Float"
|
||||||
@ -48,7 +53,7 @@ instance Show Ty where
|
|||||||
show BoolTy = "Bool"
|
show BoolTy = "Bool"
|
||||||
show StringTy = "String"
|
show StringTy = "String"
|
||||||
show CharTy = "Char"
|
show CharTy = "Char"
|
||||||
show (FuncTy argTys retTy) = "(λ [" ++ joinWithComma (map show argTys) ++ "] " ++ show retTy ++ ")"
|
show (FuncTy argTys retTy) = "(" ++ fnOrLambda ++ " [" ++ joinWithComma (map show argTys) ++ "] " ++ show retTy ++ ")"
|
||||||
show (VarTy t) = t
|
show (VarTy t) = t
|
||||||
show UnitTy = "()"
|
show UnitTy = "()"
|
||||||
show ModuleTy = "Module"
|
show ModuleTy = "Module"
|
||||||
|
Loading…
Reference in New Issue
Block a user