C言語は実際には命令型言語の一種です。C言語とHaskell
ハスケル私はそれが関数型プログラミング言語なので完全に異なっていると思います。
ハスケルと十分なレベルの知識を得るために私が直面する主要な問題は何ですか? "十分な" のあなたの定義に依存
Melawe
C言語は実際には命令型言語の一種です。C言語とHaskell
ハスケル私はそれが関数型プログラミング言語なので完全に異なっていると思います。
ハスケルと十分なレベルの知識を得るために私が直面する主要な問題は何ですか? "十分な" のあなたの定義に依存
Melawe
感謝。ハスケルのモナドは習得が難しいことはよく知られていますが、単純な演習で始めることで、「機能的な方法」で考えることに慣れ、タイプシステムに精通していることが必要です。初心者の方は、Programming in Haskellに手を差し伸べることを強くお勧めします。
主なトラブルは?最初は可変構造が欠けています。
少なくとも、手続き型言語の作業に長時間を費やした後に、機能的な言語を手にすると、それが起こります。
非網羅リスト:
return
は、あなたがそれが意味どう思うかという意味ではありません。if
- then
からelse
- Cのif
より:
からelse
は、より多くのCの?
のようなものです。特に、elseブランチはオプションではありません。if
- then
- else
をdo
ブロック内に使用する場合は特に注意してください。map
/fmap
/<$>
、foldr
/その他の折りたたみ機能、filter
、zip
/zipWith
は/ etc、またはリストの内包表記を使用します。 (そして再帰が必要な場合は利用可能です。)
申し訳ありませんが、それはほとんど答えることのできない質問だと思います。動的に型付けされた必須/ OO言語から来て、私はハスケルの*機能*の側面がほとんど言及する価値がないことを知る。私を得るのは*型システム*です。これはあなたの個人的な経験に完全に依存しています... – deceze
ハスケルでは、宣言せずに変数を使うことができます。関数を変数として使うことができます。型宣言はCとは異なります...私はまったく異なる姿勢ですプログラミングに向かって... – Melawe
まあ、そうです。だから、あなたが最も困っていることをあなたに伝えるのは難しいです。最後に、関数呼び出しを関数呼び出しの中に入れてすべてを書くことで、C言語の関数プログラミング(ある程度拡張)を行うことができます。すでに他の言語でこれを練習すればするほど、機能的な言語で作業できるようになります。 – deceze