私は関数型プログラミングを実験していますが、私はまだその概念を理解していません。あなたは、この概念を議論する良い本やチュートリアルや例を知っていますか?または、その使用法について小さなスニペットを表示できれば、それは素晴らしいことです。Homoiconicityについての詳しい情報はどこで入手できますか?
1
A
答えて
2
私はWhy Functional Programming MattersによってJohn Hughesが最高だと信じています。
4
lispまたはスキームを学んでください。言語はデータ構造であり、言語です。 LispコードとLispデータ構造は同じ構文規則を持っています。
tclを学ぶ場合は、手続き型の言語であるとで作業できます。データ構造の構文ルールはプログラミング言語の構文ルールと同じです。
厳密に言えば、機能プログラミングの問題ではありません。それは、データの構文規則と言語の構文規則が同じであるいくつかの言語の問題です。
1
1
REBOLはhomoiconic言語です。 REBOLのblock!
データ型は、LispのS式に似た有効なREBOLトークンが含まれる角括弧のセットです。例えば:少し違ったことを
series: [1 2 3 4]
foreach item series [
print item
]
それでは、表現してみましょう:
series: [1 2 3 4]
for-body: [print item] ; This is the body of our foreach
foreach item series for-body
は、それがデータとして宣言されたが、我々はforeach
関数に渡されたとき、私たちはコードとしてブロックfor-body
を治療しました。ブロックfor-body
の最初のアイテムのタイプが-type? first for-body
であることをREBOLに尋ねると、であり、function!
(またはnative!
またはaction!
または他のREBOL関数タイプのいずれも)ではありません。その理由は、データとして、for-body
はちょうどREBOL単語の評価されていないチャンクです。 foreach
に渡すと、コードとして評価されます。
REBOLを「Lispと似ていますが、かっこはありません」と言いましたが、私は個人的にはLispを好みますが、そうでないかもしれません。それでも、私が魅力的だと思うホモポリマー性について学びたいときは、まずは素晴らしい言葉です。
関連する問題
- 1. Java OpenStreetMap APIについての詳しい情報はどこで入手できますか?
- 2. アセンブリの詳細情報はどのように入手できますか?
- 3. XEEDとは何ですか?また、XEEDについての詳しい情報はどこで入手できますか?
- 4. eBayではどこでこの情報を入手できますか?
- 5. AVDに関する情報はどこで入手できますか?
- 6. オンラインファイルに関する詳細情報を入手できますか?
- 7. User - Spring Securityより詳しい情報を入手
- 8. Samsung Devicesの開発に関するすべての情報はどこで入手できますか?
- 9. 私の位置情報はどのように入手できますか? [アンドロイド]
- 10. ディスク製造元の情報はどのように入手できますか?
- 11. Visual StudioでC/C++リンカに関する情報はどこで入手できますか?
- 12. ODBCおよびアクセスデータベースに関する高品質の情報はどこで入手できますか?
- 13. VOIPアプリのiOSファイルハンドラに関する情報はどこで入手できますか?
- 14. 実行ファイルがどこにあるかについての情報を入手する方法C++
- 15. iPhone:Sqliteテーブルで作成されたインデックスの情報はどこから入手できますか?
- 16. 次のSQLデータベースがある場合、この情報はどのように入手できますか?
- 17. 白い検索アイコンはどこで入手できますか?
- 18. エミュレータはどこでスタンドアロンアプリケーションとして入手できますか?
- 19. Google Cloud Storage:バケット単位の統計情報はどこで入手できますか
- 20. 特定のMySQLプロセスに関する詳細情報の入手方法は?
- 21. '機能'フラグの警告に関する詳細情報の入手方法は?
- 22. 情報を入手する
- 23. ブラウザの種類とバージョンの統計情報、どこから入手できますか?
- 24. 要約情報などを公開して、消費されたWCFサービスでIntellisenseを入手できますか?
- 25. カスタムGoogleマップのビジネス情報を入手するにはどうすればいいですか?
- 26. コンピュータのデバイスに関する情報はどのように入手できますか?
- 27. このブラウザはどこから入手できますか?
- 28. AxHostからより多くのデバッグ情報を入手できますか?
- 29. lt_dlopenが失敗した場合の詳細情報の入手方法
- 30. compass/blueprintに関する詳しい情報はどこにありますか?(自分のgithub wikiを除く)
機能プログラミングとホモポリマー性は、すべて互いに関連しているわけではありません。ほとんどの関数型言語はhomoiconicではなく、Common Lispのような特別な機能を持たないhomoiconic言語があります。実際、私が心配している限り、心に浮かぶ唯一の機能的なホモ型言語はClojureです。 –
Schemeは機能的言語とホモ言語の両方の言語です。 –