"50"
などの文字列の場合は、how to convert a String to an Integerがわかります。文字列が"2^3"
であると仮定し、8
を取得する方法は?操作が力であることがあらかじめわかっていないときに動作するものはありますか?"2+3"
などでも動作するものはありますか?私の知る限り 基本的なHaskellライブラリで利用可能な式評価がありません知っているように整数を文字列に指定した場合
ghci> :set -XQuasiQuotes
ghci> :set -XTemplateHaskell
ghci> let a = [|1 + 1|]
ghci> $a
2
ghci>
これはパーサーのようです。 "* etc *"とは具体的に何を意味しますか、つまり構文解析しようとしている構文は何ですか? – melpomene
@melpomene a + b、a * b、a^b、a + b + cなどの整数を結果とする基本式です。 –
あなたはこれを探しています:https://hackage.haskell.org/package/plugins-1.5.5.0/docs/System-Eval-Haskell.html – Sibi