ハスケルで2つのスタックキューを実装しようとしましたが、コードの最初の部分でこのエラーが発生します。"接頭辞として"でも曖昧なオカレンス "空"
TwoStacksQueue.hs:3:5:
Ambiguous occurrence ‘empty’
It could refer to either ‘DataStructures.Queue.TwoStacksQueue.empty’,
defined at TwoStacksQueue.hs:15:1
or ‘LS.empty’,
imported from ‘DataStructures.Stack.LinearStack’
これはコード(私ものisEmptyで始まるカント)である:あなたが書くとき
module A (Foo, Bar) where
data Foo = …
data Bar = …
:
module DataStructures.Queue.TwoStacksQueue
(Queue
, empty
, isEmpty
, enqueue
, dequeue
, first
) where
import DataStructures.Stack.LinearStack as LS
data Queue a = Empty | Node a (Stack a) (Stack a)
empty :: Queue a
empty = Empty
行番号を確認してください - エラーはエクスポートリストにあります。 'empty 'をエクスポートしますが、その名前には2つのスコープがあります。あなたはおそらく、 'Import qualified DataStructures.Stack ...' – user2407038