3
에서 일반 목록을 얻기 나는 아래의 코드에서 볼 수 있듯이 Proxy
및 natVal
를 사용하여 Integer
에 Nat
를 변환하는 방법을 발견했습니다타입 목록
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Data.Proxy (Proxy)
import Data.Monoid ((<>))
import GHC.TypeLits
main :: IO()
main = do
fromNat (undefined :: Proxy 5)
fromNat :: KnownNat n => Proxy n -> IO()
fromNat proxy = do
let (num :: Integer) = natVal proxy -- converting a Nat to an Integer
putStrLn $ "Some num: " <> show num
을하지만 난 할 수 아니에요
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Data.Proxy (Proxy)
import Data.Monoid ((<>))
import GHC.TypeLits
main :: IO()
main = do
fromNat (undefined :: Proxy 5)
fromListNat (undefined :: Proxy '[2,3,10])
fromNat :: KnownNat n => Proxy n -> IO()
fromNat proxy = do
let (num :: Integer) = natVal proxy -- converting a Nat to an Integer
putStrLn $ "Some num: " <> show num
fromListNat :: Proxy [Nat] -> IO()
fromListNat = undefined
을 나는 일반 목록으로 형식 목록을 변환 할 수 있습니다 방법 : 일반 목록으로 유형 목록을 변환하는 간단한 방법을 생각하는 코드는 아래도 확인 입력하지 않는 이유는 무엇입니까?