チュートリアルFunctors, Applicatives, And Monads In PicturesとそのJavaScript versionに従っている間に私の質問が出てきました。Monad "unboxing"
ファンクタがコンテキストから値をアンラップするとのテキストが表示された場合、私はJust 5
- >5
変換が行われていることを理解しています。 What does the "Just" syntax mean in Haskell?に従って、ちょうどMaybe
モナドの「範囲で定義されています」。
私の質問はアンラッピングしているもの全体について非常に魔法的ですか?つまり、スコープされた変数を自動的にアンラップする言語ルールを持つ問題は何ですか?このアクションは、シンボルJust 5
が整数5
に対応するテーブルのようなものでの検索に過ぎないと私は思っています。
私の質問は、Just 5
がプロトタイプの配列インスタンスであるJavaScriptバージョンからインスピレーションを受けています。だからアンラップは、まさにロケット科学ではありません。
これは「計算のための」タイプの理由なのか、「プログラマー向けの」ものなのでしょうか?プログラミング言語レベルでJust 5
と5
を区別する理由は何ですか?