ブログに書く意味があるものは何かを ChatGPT で調べようと思ったのですが、なかなかうまくいきません。最近では Python の機能を調べるために使っています。Python の情報は詳しく教えてくれます。ウェブで検索すると古いバージョンの情報が出てくることがあるので、ChatGPT の方が安心して使えます。
ある時 Visual Studio のデザイナーが開けなくなったので Google Colabを 試してみました。Google Colab では Python で書くことになるのですが、Python は詳しくは知らないので ChatGPT で聞いてみたら答えてくれることがわかりました。(Google Colab でもできると思うのですがまだやっていません)
以前 Visual Studio で Python を使えるようにしていたと思うので調べてみたら、使えるようになっていました。さらに Visual Studio で Python の型チェックができることがわかりました。これはけっこう便利なので、今は Visual Studio で Python を使っています。
Visual Studioのアップデートができるようになっていたのでアップデートしたところ、デザイナーが使えるようになりました。以前は(今となってはよくわからないのですが)デザイナーからボタンをダブルクリックして処理を追加した後、デザイナーを開くことができなくなったように思います。処理を追加したとき、デザイナーのコードのファイルには処理が追加されているのに通常のコードのファイルには何も追加されていなくて整合性がなくなったのが原因のように思われます。アップデート後、デザイナーのコードのファイルの処理をテキストエディターで削除したらデザイナーが開けるようになりました。
半群の右単位元と左単位元
ChatGPTで、半群の右単位元と左単位元が一致することの証明を書いてもらおうとしました。また、これを証明する式の変形を表示するプログラムを書いてもらおうとしました。これはうまくできませんでした。
その後プログラムの仕様を書いてもらいましたが、その際にプログラムの仕様と同様の説明をしました(これは意味があるのか疑問)。これを使ってプログラムを書き直してもらおうとしていたようですが、保留になっています。
関数プログラミングのクロージャー
「関数型言語の拡張」の続きで「変数を変更することができるクロージャーを変数を変更することができないクロージャーに変換する」ということをやっているのですが、保留中です。
人工知能的論理プログラミング
論理プログラミングでできることについていろいろ調べていましたが、その後「理想的な並行論理プログラミング言語」について調べています。そのために Prolog の動作を説明しようとしています。
人工知能的代数学
「置換の分類」、「交換子の計算」、「マグマの左単位元と右単位元」、「モノイドの左逆元・右逆元」についてビジュアルプログラミングを適用することを考えています。保留中です。
「マグマの左単位元と右単位元」、「モノイドの左逆元・右逆元」は以前このブログで扱ったものとだいたい同じ内容です。今のままでは意味がないものとなっています。
上で述べた「半群の右単位元と左単位元」も引き継いだ内容となっています。
今は「モノイドの左逆元・右逆元」をモノイドを使って説明して、これを使って Prolog の動作を説明できないかと考えています。
人工知能的サーバー対ブラウザー
以前書いた「平方根を求めるプログラム」を ChatGPT で調べながら書きました。これも以前書いたものとほとんど同じものを書いています。このプログラムの mutable な変数を immutable な変数に変更するとどうなるかということを考えようとしているのですが、保留中です。
今後の予定
Prolog の処理系をモノイドを使って説明する予定です。これを使って「理想的な並行論理プログラミング言語」について調べます。
「関数プログラミング」では、論理プログラミング言語を使って関数プログラミングを実現する方法を考えていました。これを上記の「理想的な並行論理プログラミング言語」を使って行う予定です。
「関数プログラミングと無限論理多項式」では、クロージャーが使える言語を定義しました。これを使ってクロージャーの mutable な変数を immutable な変数に変更することを考えます。
「ラムダ計算と無限ラムダ多項式」では、上記のものから派生した言語を定義しました。これについても同様のことを考えます。