1
私は砂糖にしたいと思います。しかし、私は右のそれを持っているかどうかイムわからない:ドレッシング表記
されています:
quote = do
time <- qtime
qcomma
ask <- double
qcomma
bid <- double
qcomma
askVolume <- double
qcomma
bidVolume <- double
endOfLine
return $ Quote time ask bid askVolume bidVolume
そして
相当quote = Quote <$> (qtime <* qcomma)
<*> (double <* qcomma)
<*> (double <* qcomma)
<*> (double <* qcomma)
<*> (double <* endOfLine)
:
qtime >>= (\time -> qcomma)
>> double
>>= (\ ask -> qcomma)
>> double
>>= (\bid -> qcomma)
>> double
>>= (\askVolume -> qcomma)
>> double
>>= (\bidVolume -> endOfLine)
return (Quote time ask bid askVolume bidVolume)
すべてのヘルプは歓迎です!
「Applicative」にはGHCが印象的ですが、なぜですか?それがより良い実行する保証はありません、ありますか? – MasterMastic
Monadは、 'Applicative'コードでは不要な操作の順序を強制します。これは並列化に意味があります。使用可能なApplicativeインスタンスが 'do'式に適しているかどうかをコンパイラが決定するようにすると、プログラマは不必要にモナドに通らなくなります。 – chepner
大変ありがとうございました!それは理にかなっている!! – Devitect