2013-03-28 104 views
0

如何为下列函数家伙编写输入参数?Haskell basic [b]输入参数

一个单词是这样的符号的列表,它有类型[或者西格玛变种]。 因此,我的第二个输入将是一个单词,我不知道从哪里开始。 我想我不能写,因为整个[左西格玛]或[右VAR]无论是键入一个单词.. 请帮我或请点我到什么地方,我可以读到它:)

genstep :: CFG sigma var -> [Either sigma var] -> [[Either sigma var]] 

谢谢

+0

'CFG'是什么意思? –

+0

data CFG sigma var = CFG {start :: var,prod :: var - > [[or sigma var]]} – user2070333

回答

2

这里有一些东西让你开始。给定CFG sigma var类型的特定值,第二个参数只能是三件事之一 - 要么是空的,要么是第一个元素是Left,或者第一个元素是Right

,这意味着你的函数定义可以与

genstep :: CFG sigma var -> [Either sigma var] -> [[Either sigma var]] 
genstep cfg []    = -- your definition here 
genstep cfg (Left s:rest) = -- your definition here 
genstep cfg (Right v:rest) = -- your definition here 

开始那是足以让你开始了吗?

+0

赞赏它配合:) 现在,我会尽力去做:) – user2070333