SlideShare a Scribd company logo
1 of 10
Download to read offline
絵文字で構成されるプログラミン
グ言語のつくり途中
とコードシーリング
2023/8/17
自己紹介
https://twitter.com/m_oka
以前(2018年)にブータンの人材育成についてLTさせていただ
きました
その後 2020年までに15名のブータンの学生さんIT企業に就職済み
のべ100名の現地インターン(IT学科卒)できました
今日は全く別のお話です
絵文字で構成されるプログラ
ミング言語
なぜ
わずか一行ライブラリを作った(前段 5月)
https://github.com/setapolo/RFC/blob/main/README.ja.md
・メソッドチェーン(Obj.m1().m2().m3()のような呼び出しスタイル)は戻り値である型が一意でないとチェー
ンがつなげない。→柔軟に呼び出しの型を選べるようにしたい
・かつShellでよく使うパイプの使いごこちを残したい。
→クロージャーを連続で読み出す(クロージャーチェーンを作る)ことで上記を実現したい
自前DSLが自由に作れます もうすぐリファレンス
(gtp4が執筆)完成予定 よかったら覗いてみてくだ
さい →絵文字コーディングへ
絵文字を使ったプログラミング言語を作り始め(JSそのうちC#)
だいたいこんな仕様
・F.APPLY(A,A) でAが常にオブジェクト(ハッシュ、連想配列)
・Fの仮称(エイリアス)が全部絵文字
全てのパラメータ(A)がでかい連想配列(m)の上にある
m{}のさら(DISH)
F👀 F🎨 F🖱 F⌨
A{} A{} A{} A{}
こんな見た目(予定)
RFC({“👀”:{x:10,y:20,z:30})({“🖱”:{}})()
→ xeyesを描画してマウスで追いかけろ、の意味
https://editor.p5js.org/setapolo/sketches/KO8lMBs97
絵文字demo(p5JSでM5STACK的な擬似画面とキャンバスの合成)
https://editor.p5js.org/setapolo/sketches/7j6xr0Wc2
先の展望 GLSL(とか)対応
demo作り中リンク
上記のコンセプトでコード調整中(9月くらいに大きなリリースにするつもり)
P5でGLSL動かしたもの(万華鏡的なデモ)
https://editor.p5js.org/setapolo/sketches/0FvVmyhSv
Three.js無理やり載せたもの(FBXがおどるデモ)
https://editor.p5js.org/setapolo/sketches/1WssU3Vat
コードフィージョン(つぶやきProcessingという投稿コードを二つ組み合わせたもの)
https://twitter.com/yoshiyuki_hongo/status/1644249232973627394
と
https://twitter.com/PilEmmanuel/status/1565684837511569409
を合体
https://editor.p5js.org/setapolo/sketches/EX3-g4uPn
応用テクニック コードシーリング(ライド)
・他人の良さげなコードを強制的にevalして合体させる(キメラコード)
・そのままだとグローバルスコープになってしまう変数などなどを、ローカルスコープにし
て閉じこめる(シーリング)するテクニック
・合体させた後、絵文字にカプセル化、リファクタリングしていく予定

More Related Content

Similar to 絵文字で構成されプログラミング言語のつくりはじめ とコードシーリング 0817.pdf

Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Atsushi Miura
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けてThe Whole Brain Architecture Initiative
 
俺と今年請けた仕事のテック分布
俺と今年請けた仕事のテック分布俺と今年請けた仕事のテック分布
俺と今年請けた仕事のテック分布Masayuki KaToH
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモAkihiro Sugiyama
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 BotのプチレシピKazumi IWANAGA
 
強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発WadaYuto
 
.NET Framework で ​C# 8って使える? ​YESとNO!
.NET Framework で ​C# 8って使える? ​YESとNO!.NET Framework で ​C# 8って使える? ​YESとNO!
.NET Framework で ​C# 8って使える? ​YESとNO!Joni
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)Akira Inoue
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素Akira Inoue
 
Flutterと Kotlin Multiplatform Mobileを ディープに理解して比較する
Flutterと Kotlin Multiplatform Mobileを ディープに理解して比較するFlutterと Kotlin Multiplatform Mobileを ディープに理解して比較する
Flutterと Kotlin Multiplatform Mobileを ディープに理解して比較するRyotaNishimine
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来Akira Inoue
 
HTML5 入門
HTML5 入門HTML5 入門
HTML5 入門NOAN
 
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうWebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうYusuke Hara
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発m ishizaki
 
WebAssembly text format で画像処理を書くぞ
WebAssembly text format で画像処理を書くぞWebAssembly text format で画像処理を書くぞ
WebAssembly text format で画像処理を書くぞKohei Kawasaki
 
スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識Yugo Yamamoto
 
Get started with future C# .Net development with Docker
Get started with future C# .Net development with DockerGet started with future C# .Net development with Docker
Get started with future C# .Net development with DockerOshitari_kochi
 

Similar to 絵文字で構成されプログラミング言語のつくりはじめ とコードシーリング 0817.pdf (20)

Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
 
俺と今年請けた仕事のテック分布
俺と今年請けた仕事のテック分布俺と今年請けた仕事のテック分布
俺と今年請けた仕事のテック分布
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモ
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 
強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発強力なグラフィック機能を備えた組版処理システムTwightの開発
強力なグラフィック機能を備えた組版処理システムTwightの開発
 
Netmf-180224
Netmf-180224Netmf-180224
Netmf-180224
 
.NET Framework で ​C# 8って使える? ​YESとNO!
.NET Framework で ​C# 8って使える? ​YESとNO!.NET Framework で ​C# 8って使える? ​YESとNO!
.NET Framework で ​C# 8って使える? ​YESとNO!
 
ChatGPTでしりとり
ChatGPTでしりとりChatGPTでしりとり
ChatGPTでしりとり
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
 
Flutterと Kotlin Multiplatform Mobileを ディープに理解して比較する
Flutterと Kotlin Multiplatform Mobileを ディープに理解して比較するFlutterと Kotlin Multiplatform Mobileを ディープに理解して比較する
Flutterと Kotlin Multiplatform Mobileを ディープに理解して比較する
 
【de:code 2020】 AutoML ではじめる機械学習の民主化
【de:code 2020】 AutoML ではじめる機械学習の民主化【de:code 2020】 AutoML ではじめる機械学習の民主化
【de:code 2020】 AutoML ではじめる機械学習の民主化
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
HTML5 入門
HTML5 入門HTML5 入門
HTML5 入門
 
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうWebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
 
WebAssembly text format で画像処理を書くぞ
WebAssembly text format で画像処理を書くぞWebAssembly text format で画像処理を書くぞ
WebAssembly text format で画像処理を書くぞ
 
スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識スマートフォンの方式検討に関する基礎知識
スマートフォンの方式検討に関する基礎知識
 
Get started with future C# .Net development with Docker
Get started with future C# .Net development with DockerGet started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
 

More from Mino Oka

Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...
Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...
Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...Mino Oka
 
わずか一行ライブラリLT (1).pdf
わずか一行ライブラリLT (1).pdfわずか一行ライブラリLT (1).pdf
わずか一行ライブラリLT (1).pdfMino Oka
 
わずか一行ライブラリLT.pdf
わずか一行ライブラリLT.pdfわずか一行ライブラリLT.pdf
わずか一行ライブラリLT.pdfMino Oka
 
Closure cascading
Closure cascadingClosure cascading
Closure cascadingMino Oka
 
ハッシュ(Hash)の概念
ハッシュ(Hash)の概念ハッシュ(Hash)の概念
ハッシュ(Hash)の概念Mino Oka
 
政治主導の終焉
政治主導の終焉政治主導の終焉
政治主導の終焉Mino Oka
 
フクシマとEQ
フクシマとEQフクシマとEQ
フクシマとEQMino Oka
 
河合幹雄 日本の殺人
河合幹雄 日本の殺人 河合幹雄 日本の殺人
河合幹雄 日本の殺人 Mino Oka
 

More from Mino Oka (8)

Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...
Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...
Hui_Wen_Zi_deGou_Cheng_sarerugemupuroguraminguYan_Yu_notsukurihazime_tokodosh...
 
わずか一行ライブラリLT (1).pdf
わずか一行ライブラリLT (1).pdfわずか一行ライブラリLT (1).pdf
わずか一行ライブラリLT (1).pdf
 
わずか一行ライブラリLT.pdf
わずか一行ライブラリLT.pdfわずか一行ライブラリLT.pdf
わずか一行ライブラリLT.pdf
 
Closure cascading
Closure cascadingClosure cascading
Closure cascading
 
ハッシュ(Hash)の概念
ハッシュ(Hash)の概念ハッシュ(Hash)の概念
ハッシュ(Hash)の概念
 
政治主導の終焉
政治主導の終焉政治主導の終焉
政治主導の終焉
 
フクシマとEQ
フクシマとEQフクシマとEQ
フクシマとEQ
 
河合幹雄 日本の殺人
河合幹雄 日本の殺人 河合幹雄 日本の殺人
河合幹雄 日本の殺人
 

絵文字で構成されプログラミング言語のつくりはじめ とコードシーリング 0817.pdf