エレファント・ビジュアライザー調査記録

ビジュアルプログラミングで数式の変形を表すことを考えていくブロクです。

クロージャー

クロージャーの調査(9)

「モノイド的論理プログラミング(2) - エレファント・ビジュアライザー調査記録」の続きとして ChatGPT で分類してもらいました。入力: プログラミング言語によって、関数の引数を評価した後で渡す場合と関数の引数を評価せずにクロージャーのような形で渡す…

クロージャーの調査(8)

クロージャーの定義はまだよくわからないので、さらに ChatGPT で質問してみました。 入力 9: 「クロージャ」という用語の一般的な定義はありますか 結果: はい、クロージャ (closure) はコンピュータプログラミングにおいて広く使われる概念で、一般的な定…

クロージャーの調査(7)

クロージャーの一般的定義が知りたいので、他のプログラミング言語についても ChatGPT で質問してみました。 入力 5: これらの一連の主張はプログラミング言語 Miranda または Gofer でも成り立ちますか 結果: はい、これらの主張は Miranda や Gofer にも適…

クロージャーの調査(6)

「ラムダ計算と無限ラムダ多項式(13) - エレファント・ビジュアライザー調査記録」、「関数プログラミングのクロージャー(1) - エレファント・ビジュアライザー調査記録」でも調べていましたが、クロージャーの代数的構造を定義して、変数が変更可能の場合と…

クロージャーの調査(5)

今後の予定 前回の「クロージャーの調査」では 「クロージャーの調査(2) - エレファント・ビジュアライザー調査記録」では (言語1) クロージャーが使えるC#のコードで記述する言語 (言語2) クロージャーが使える通常の言語 (言語3) クロージャー調査用言語 …

クロージャーの調査(4)

今後の予定 前回の「クロージャーの調査」では「プログラム電卓(Blockly)へのクロージャーの導入」をやろうとしていたのですが、この件はいったん保留します。『Rustで作るプログラミング言語 —— コンパイラ/インタプリタの基礎からプログラミング言語の新…

クロージャーの調査(3)

プログラム電卓(Blockly)へのクロージャーの導入(2) 前回説明した言語を改造してBlocklyを使ったクロージャー調査用の言語を作成します。 数値と真理値の計算 変数 [変数] を [値] と定義 [ステートメントブロック] 変数 [変数] に [値] を代入 [ステートメ…

クロージャーの調査(2)

プログラム電卓(Blockly)へのクロージャーの導入 前回の「クロージャーの調査(1) - エレファント・コンピューティング調査報告」では「プログラム電卓」にクロージャーを導入するという方針だったのですが、方針を変えて「プログラム電卓(Blockly)」でクロー…

クロージャーの調査(1)

プログラム電卓の仕様 クロージャーの基礎となる代数的構造の調査をしていましたが、今回はプログラム電卓にクロージャーを導入するとどうなるか、という方向で考えていきます。まず関数の定義を導入していきます。現在、一つの式で定義できる関数以外、関数…