元組列表的尾部,我有以下代碼:選擇在Haskell
type DecV = [(Var,Aexp)]
d_v_ds :: DecV -> (EnvV, Store) -> (EnvV, Store)
d_v_ds [] (envV, sto) = (envV, sto)
d_v_ds [(v, xAexp)] (envV, sto) = do
d_v_ds (tail ([(v, xAexp)])) (envV', sto')
,當我嘗試運行此我得到一個非exhastive模式錯誤。我試圖將功能更改爲:
d_v_ds :: DecV -> (EnvV, Store) -> (EnvV, Store)
d_v_ds [] (envV, sto) = (envV, sto)
d_v_ds [(v, xAexp): a] (envV, sto) = do
d_v_ds (a) (envV', sto')
函數不會編譯。我怎樣才能做到這一點? 謝謝
那些'envV''和'sto''從哪裏來? –