在Windows上使用GHC時崩潰。它在Linux上完美運行。 這是否有意義或有錯誤? module Main where
import qualified Text.Regex as Re -- from regex-compat
import Debug.Trace
main :: IO()
main = do
putStr $ cleanWord "jan"
有人可以解釋爲什麼下面的代碼會導致GHC 8.0.1在編譯時永遠循環,或者這是一個錯誤嗎? {-# LANGUAGE TypeFamilyDependencies #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE AllowAmbiguousTypes #-}
main = return $ f (Just 'c')
data D1
升級到GHC一個近期 Ubuntu的機器上8.0後,我得到了下面的生成錯誤: /usr/bin/ld: -r and -pie may not be used together 對同一問題的不同的錯誤信息是: relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompi
考慮下面的程序: {-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE FlexibleInstances #-}
import Control.Monad.Reader
newtype AppM a = AppM (ReaderT Int IO a)
deriving (Functor, Applicative, M
考慮下面的代碼片段(來自http://lpaste.net/180651): {-# LANGUAGE ScopedTypeVariables #-}
class Natural n
newtype V n a = V [a]
dim :: Natural n => V n a -> Int
dim = undefined -- defined in my actual code
我有一個模塊A和B,它們都輸出Event類型。模塊C定義了模塊A的Event的同義詞類型,將其稱爲InputEvent。 我再消耗模塊d兩個模塊B和模塊C: module D where
import B (Event)
import C (InputEvent)
但是,如果我嘗試導入InputEvent的類型構造器(比方說,MakeEvent),我得到的錯誤: Module
‘C’
我試圖以列表形式(例如[3,2,1]是3x^2 + 2x + 1 )並對其進行評估,方法是對多項式執行apply操作,並對x執行一個數字操作。多項式將被評估爲x。 這是我的代碼: newtype Poly a = P [a]
apply :: Num a => Poly a -> Num a -> Num a
apply (P p) x = if (i > 0) then (x * ((he
我有以下函數返回雙因子對於給定數目 factorPairs:: (RealFrac a, Floating a, Integral a) => a -> [(a, a)]
factorPairs n = map(\x -> (x, div n x)) [y | y <- [1..(ceiling $ sqrt n)], n `rem` y == 0]
當我打電話了ghci factorPai