0
引数として数式を取る関数を作る方法はありますか?たとえば、Haskell:関数の引数としての方程式
derive :: --equation
...
main = print (derive $ x**2-x)
私はカスタムデータ型を作成する必要がありますか?
引数として数式を取る関数を作る方法はありますか?たとえば、Haskell:関数の引数としての方程式
derive :: --equation
...
main = print (derive $ x**2-x)
私はカスタムデータ型を作成する必要がありますか?
はい。評価が必要なHaskell式を渡すのではなく、がという数式を表すデータ型を作成する必要があります。たとえば、
data Formula = Term Int Int -- coefficient and exponent
| Sum Formula Formula deriving Show
derive :: Formula -> Formula
derive (Term coeff exp) = Term (coeff * exp) (exp - 1)
derive (Sum x y) = Sum (derive x) (derive y)
main = print (derive $ Sum (Term 1 2) (Term (-1) 1))