多くの機能はhaskellを参考にして導入している。