2016-12-04 46 views
4
修復曖昧發生錯誤

我已經寫了有如何在Haskell

sort :: [Int] -> [Int] 

的簽名,給了我的

曖昧發生「排序」

錯誤一個功能

我知道已經有一個內置的函數叫做排序

進口Data.List模塊

我怎麼能解決這個問題,同時保持相同類型的簽名?

回答

6

您可以嘗試

import Data.List hiding (sort) 

這將防止Data.List.sort被引進,讓你自由地定義你叫sort自己的功能。

如果你希望能夠在除了使用Data.List.sort你自己的,還加了一行

import qualified Data.List 

import qualified Data.List as L 

這允許您訪問庫的功能Data.List.sort或分別爲L.sort

+0

謝謝。但是如果我想在同一個文件中使用內置的排序功能,同時擁有自己的類型簽名「排序」功能呢? – USERSFU

+0

@USERSFU更新了我的答案。 – melpomene

1

嘗試限定名稱:

module Foo where 

import Data.List as L 

然後,參考圖書館sort,使用L.sort。對於用戶定義的排序,請改爲使用Foo.sort