Haskellプログラムを書くことになっていますが、どこから始めればよいのかよくわかりません。質問を読んだり説明したりするためのリソースを教えていただければ、本当にありがたいです。これは完全に素人っぽいものだと思いますが、私は本当に出発点が必要です。
data DFA q o = DFA (q -> o -> q) q [q]
data NFA q o = NFA (q -> o -> [q]) [q] [q]
-- I really realy don't understand the declarations here
-- I can guess that q is somewhat related to Q and o to E, but don't get what it really means
data Q = Q0 | Q1 | Q2
deriving (Eq, Enum, Bounded)
data E = A | B
-- what does n1 do ??
n1 :: NFA Q E
n1 = NFA d [Q0] [Q2] -- i see [Q0] refers to set of initial states and [Q2] refers to final states :)
where
d Q0 A = [Q0]
d Q0 B = [Q0, Q1]
d Q1 _ = [Q2]
d Q2 _ = []
-- the following functions are for me to write
starDFA :: Eq q => DFA q o -> [o] -> Bool
--for the above function, what are the arguments the function takes in ?
--how can we relate q with Q and [o] with [E] ??
適切な出発点への説明や参照は、私にとって本当に役に立ちます。そのようなばかげた質問をして申し訳ありませんが、私は本当にどこから始めればいいのかわかりません:)
ありがとう