Redditの上の人は私の注意にこのコードをもたらしています:(エミュレートされた)Haskellのマクロ?
main = do
let ns = [print 1, print 2, print 3]
sequence_ ns
sequence_ $ reverse ns
sequence_ $ tail ns ++ [head ns]
head ns
ここで何が起こっているが、我々は逆のように、とのものを行うか、その尻尾や頭を取得することができます操作の配列を持っています。
驚くばかりです。
私がしたいことは、個々の要素に入り、それらを変えることです。
ns !! 0
など何かを取得[印刷を、1]、その後、関数は3.14を印刷なるように3.14、たとえば、に最後の要素を変更します。たとえば、私はこのような何かを行うことができるようにしたいです。
ハスケルでも可能ですか、それともLISPに戻るべきですか?
重要な編集:私は一掃された。私は新しいリストを作成する必要があることを理解しています。リストの一部である関数の引数を取得することは可能ですか?私が望むのは、識別子/引数から関数を構成する能力であり、関数が評価される前に識別子/引数に関数を分解することも可能です。
btw:これは実際には何のために必要ですか? – yairchu