Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scala で 作る奇妙なプログラミング言語??
Search
yuroyoro
April 29, 2012
4
16k
Scala で 作る奇妙なプログラミング言語??
2012/04/29
超エンジニアミーティング〜Happy Hacking!〜 in ニコニコ超会議meeting
yuroyoro
April 29, 2012
Tweet
Share
More Decks by yuroyoro
See All by yuroyoro
Goに無名関数の糖衣構文いれたらどうなるの? / Considering the introduction of the anonymous function syntax sugar into Go
yuroyoro
4
3.1k
関数の話
yuroyoro
20
17k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Building Your Own Lightsaber
phodgson
103
6.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Practical Orchestrator
shlominoach
186
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
A Modern Web Designer's Workflow
chriscoyier
693
190k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Optimizing for Happiness
mojombo
376
70k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Transcript
{ Scala で 作る 奇妙な プログラミング言語?? } 1 2012/04/29 超エンジニアミーティングʙHappy
Hacking!ʙ in ニコニコ超会議meeting 124݄29༵
ID:yuroyoro ゆろよろ 2 お前、誰よ? 124݄29༵
株式会社ScaleOutで ろくろ廻してます 3 124݄29༵
http://scaleout.jp 4 124݄29༵
「難解プログラミング言語」 (Esoteric Programing Language) 5 124݄29༵
難解プログラミング言語 (なんかいプロ グラミングげんご)とは、意図的に読解が 困難なように設計されたプログラミング 言語である。英語では、Esoteric programming language (略してesolang とも)と言われる。 難解プログラミング言語
- Wikipedia http://ja.wikipedia.org/wiki/難解プログラミング言語 6 124݄29༵
代表的なEsolang 7 124݄29༵
8 Brainf*ck +++++++++[>++++++++>+++++++++++>++ +++<<<-]>.>++.+++++++..+++.>-. 8つの命令(><+-.,[])でメモリ/ポインタを 操作する。チューリング完全 124݄29༵
9 Befunge v @_ v >0"!dlroW"v v :# < >"
,olleH" v 二次元の格子状に命令が配置されてい る。行・桁数が意味をもつ。チューリン グ完全ではない 124݄29༵
10 HQ9+ H H/Q/9/+の4命令だけで構成される。H で”Hello, world!”を出力、Qは実行中の ソースコードを出力する(クワイン) 124݄29༵
11 KEMURI ` | 6つの命令からなるスタックマシン 。 チューリング完全。 ` で”Hello, world!”をスタックに積む
124݄29༵
Esolangは他にも まだまだあります。 INTERCAL/Malbolge/ Shakespeare/FALSE/ Chef/... 12 124݄29༵
「チューリングの泥沼 (Turing tarpit)へ ようこそ」 13 124݄29༵
ねた言語作りは プログラマの嗜み 14 124݄29༵
「◦◦だけで プログラミングできる言語」 15 124݄29༵
Lesson 1 Brainf*ck派生 16 124݄29༵
Brainf*ckの8つの命令を 任意の文字列に置き換える 17 124݄29༵
名状しがたいプログラミング 言語のようなもの Nyaruko 18 124݄29༵
> : "(」・ω・)」うー(/・ω・)/にゃー" + : "(」・ω・)」うー!(/・ω・)/にゃー" < : "(」・ω・)」うー!!(/・ω・)/にゃー!" -
: "(」・ω・)」うー!!!(/・ω・)/にゃー!!" [ : "CHAOS☆CHAOS!" ] : "I WANNA CHAOS!" . : "Let's\(・ω・)/にゃー" , : "cosmic!" 19 124݄29༵
Demo 20 124݄29༵
「Q:なんでScalaで書くの?」 21 124݄29༵
「A:ParserCombinator」 22 124݄29༵
ParserCombinator 構文解析ライブラリ 23 124݄29༵
// tokenは+-><,.のどれか def token = "+" ||| "-" ||| ">"
||| "<"||| ","||| "." 24 124݄29༵
// instructionはloopか // tokenかcomment def instruction = loop | token
| comment 25 124݄29༵
// loopは、[instruction] // []の対応が取れていないと // 解析エラー def loop = “[“
~> rep(instruction) <~ “]” 26 124݄29༵
// loopは、[instruction] // []の対応が取れていないと // 解析エラー def loop = “[“
~> rep(loop | token | comment) <~ “]” 27 124݄29༵
// プログラムは // instructionの繰り返し def brainfuck = rep(instruction) 28 124݄29༵
ParserCombinator使うと 構文解析できるし、 命令の差し替えも簡単 29 124݄29༵
JoJo言語/Misa... 30 124݄29༵
Brainf*ck派生 シンボル数: 8 31 124݄29༵
Lesson 2 Grass派生 32 124݄29༵
33 Grass wvwWwwwwWwwwwwwWWWWWwWWWW WwwwwvwwwwWWWwwWwwWWWWWWw wwwWwwvwWWwWwwvwwWWwvwWWWw wWWWWWwwwWwwWWWWWWwWWWWW WWwWWWWwWWWWWwWWWWWWwWW 「ちょっと草植えときますね型言語 」。型無しラムダ計算をベースをした関 数型言語。w/W/vの三文字を使う
124݄29༵
スタック(初期状態) In W Succ Out 34 124݄29༵
関数適用: App(m,n) WWW...(m個)...WWWwww...(n個)...www スタックのm番目の値を取り出しn番目の 値に適用する。結果をスタックに積む。 35 124݄29༵
関数定義: Abs(n) www...(n個)...www 関数適用* n個の引数をとる関数を定義してスタッ クにつむ。引数は、呼び出しの際に渡さ れた値がスタックに積まれる。関数本体 は、関数適用の1回以上の繰り返し 36 124݄29༵
例: wを出力する wWWwwww Abs( 1 ) App( 2, 4 )
1引数の関数定義 スタックの2番目(Out)に4番目(w)を適 用 Out(w) 37 124݄29༵
w/W/vを 違う文字列にしてみる 38 124݄29༵
プログラミング言語 「ブブゼラ」 w :ェ W : エ v : ベ
39 124݄29༵
ヴェ ベ ェエェェェェエェェェェェェエエエエエェエエエエエェェェェ ベ ェェェェエエエェェエェェエエエヴエエエェェェェエェェ ベ ェエエェエェェ ベ ェェエエェ ベ
ェエエエェェエエエエエェェェエェヴェエエエエエエェエエエエエ エエェエエエエヴェエエエエエェエエエエエエェエエエエエエエエエエエエエ エェェェェェェェェエェエェエエエェェエエエエェェェェェェェエエエエエ ヴェェェェェェェエエエエエエェェェェェェェエエエエエエエエエエエエエエエ エエエエエエェェェェェヴェェェェェェェェェェェェェェェェ エェェェェェェェェェェェェェェェェェェェェエェェェェェェェェェェェェェ エェェェェェェエエェェェェェェエエエェェェェヴェェエエエエエ エェェェェェェェェェェェェェェェェェェェェエェェェェェェェェェェエ エェェェェエヴエエェェェェエエエエェエエエエ エェェェェェェェェェェェェェェェェェェエエエエエエエエエエエェエェェェエ エェエエエェエエエヴエェエエエエエエエエエエエエヴエエエエ エェェェェェェェェェェェェェェェェェ エェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェ ェェヴェエェェェェェェェェェェェエエェェェェェェェェェェェエエ エェェェェェェェエエエエェエエヴエエヴエェェェェェェェェエエエエヴエ エェェェェェェェェェェェェェェェェェェェェェエエエエエエ エェェェェェェェェェェェェェェェェェェェェェェェェェェェェエエヴエエエエ エエエェェェェェェェェ エェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェェエ エェェェェェェェェェェヴェェェエエエェェェェェェェェェェェェェエエエ エェェェェェェェェエエエエエェェェェェェェェェ ヴェェェェェェェェェェェェェェェヴェェエエエエエ エェェェェェェェェェェェェェェェェェェェェェェェェェ 40 124݄29༵
プログラミング言語 「天使ちゃんマジ天使!」 w : 天使 W : マジ v :
! 41 124݄29༵
天使ちゃん ! 天使ちゃんマジ天使天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマ ジマジマジマジ天使マジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん ! 天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマ ジ天使天使ちゃんマジ天使天使ちゃんマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃん ! 天使ちゃんマ ジマジ天使マジ天使天使ちゃん
! 天使ちゃん天使ちゃんマジマジ天使 ! 天使ちゃんマジマジマジ天使天使ちゃんマジマジマジマジマジ天 使天使ちゃん天使ちゃんマジ天使天使ちゃんマジマジマジマジマジマジ天使マジマジマジマジマジマジマジ天使マジマジマジマジ天使マジマ ジマジマジマジ天使マジマジマジマジマジマジ天使マジマジマジマジマジマジマジマジマジマジマジマジマジマジ天使天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジ天使マジ天使マジマジマジ天使天使ちゃんマジマジマジマジ天使天使ちゃん天使 ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃんマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジマジマジマジマジマジ マジマジマジマジマジマジマジマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃんマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃ ん天使ちゃんマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使 ちゃん天使ちゃんマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジ天使天使ちゃん天使ちゃん天使ちゃんマジ マジマジ天使天使ちゃん天使ちゃん天使ちゃんマジマジマジマジ天使マジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃんマジマジマジマジマジマジマジマジマジマジマジ天使マジ天使天使ちゃん天使ちゃんマジマジ天使マジマジマジ天使マジマジマジマジ 天使マジマジマジマジマジマジマジマジマジマジマジマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃ ん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃ ん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジ天使天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃんマジマジマジマジ天使マジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃん天使ちゃんマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジ マジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃ ん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジマジマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃん天使ちゃん天使ちゃんマジ天使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃ ん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジ天使天使ちゃん天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジ天使天使ちゃん天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジマジ天 使天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジマジマジ天使天使ちゃん天使ちゃん天使ちゃん 天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使 ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃんマジマジマジマジマジマジ天使天 使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃ ん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん天使ちゃん 42 124݄29༵
さらにパーサーをいじって 43 124݄29༵
プログラミング言語 「ほむほむ」 w : ほむ W : スペースに挟まれたほむ v :
タブ/改行 44 124݄29༵
ほむ ほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむほむほむ ほむほむほむほむほむ ほむ ほむほむほむほむほ む
ほむほむほむほむ ほむほむほむほむ ほむほむほむ ほむほむ ほむ ほむほむ ほむほむほむほむほむほむ ほむほむほむほむ ほむ ほむほむ ほむ ほむほむ ほむ ほむ ほむほむ ほむほむ ほむほむ ほむ ほむ ほむほむほむ ほむほむ ほむほむほむほむほむ ほむほむほむ ほむ ほむほむ ほむほむほむほむほむほむ ほむ ほむほむほむほむほむほむほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむほむ ほむ ほむほむほむほ むほむほむ ほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむほむほ むほむ ほむ ほむ ほむ ほむ ほむほむほむ ほむほむ ほむほむほむほむ ほむほむほむほむほむほむほむ ほむほ むほむほむほむ ほむほむほむほむほむほむほむ ほむほむほむほむほむほむ ほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむほむほむほむほむほむほむ ほむほむほむほむほむ ほむ ほむほむほむほむほむほむ ほむほむ ほむほむほむほむほむほむ ほむほむほむ ほ むほむほむほむほむほむ ほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほ むほむほむほむほむほむほむほむ ほむ ほむほむほむほむほむほむほむほむほむほむ ほむほむ ほむほむほむ ほむ ほむほむほむ ほむほむほむほむ ほむほむほむほむ ほむ ほむほむほむほむほむ ほむほむほむほむほむほ むほむほむほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむ ほ む ほむ ほむほむほむ ほむほむ ほむ ほむほむほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむほむほむほ むほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほ むほむほむほむ ほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほ むほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむ ほむほむほむほむほ むほむほむほむほむほむほむ ほむほむ ほむほむほむほむほむほむほむほむほむほむほむ ほむほむほむ ほむ ほむほむほむほむほむほむ ほむほむほむほむ ほむ ほむほむほむほむほむ ほむほむほむほむほむほむほむほ む ほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほ むほむほむほむ ほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほ むほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむほむほむほむほむ ほ むほむほむほむほむほむほむほむ ほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほ むほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむほむ ほむほむほむほむほむほ むほむほむほむほむほむほむほむ ほむほむほむ ほむほむほむほむほむほむほむほむほむほむほむほむほむ ほ むほむほむほむ ほむほむほむほむほむほむほむほむ ほむほむほむほむほむ ほむほむほむほむほむほむほむほ むほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむ ほむほむほむほむほむほ む ほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほむほ むほむ 45 124݄29༵
Grass派生 シンボル数: 3 46 124݄29༵
Lesson 3 Iota派生 47 124݄29༵
48 Iota **i*i*ii***i*i*i*ii***i*i*i*ii*ii**i*i*ii***i*i*i *ii**i*i*ii****i*i*i*ii*ii*ii***i*i*i*ii***i*i*i* ii**i*i*ii*i*i*i*ii*i*i*ii*ii***i*i*i*ii***i*i*i*ii **i*i*ii*i*i*i*ii*i*i*ii***i*i*i*ii***i*i*i*ii**i *i*ii*i*i*i*ii*i*i*ii****i*i*i*ii***i*i*i*ii*ii*ii コンビネータ理論を元にSKIコンビネー タをιコンビネータと適用で表現した関 数型言語。Unlambda派生。
124݄29༵
SKIコンビネータで あらゆる計算を 表現できるので 49 124݄29༵
構文の説明とかタルいので skk = i i = *ι k = *ι*ι*ι
ι s = *ι*ι*ι*ι ι 50 124݄29༵
シンボルを変えてみる 51 124݄29༵
Iota版 「名状しがたいプログラミング言語のようなもの」 * = (」・ω・)」うー!(/・ω・)/にゃー! i = スペース 52 124݄29༵
(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!
(」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/ にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ 53 124݄29༵
IotaからJotが派生 Unlambda + Iota + Jot = LazyK 54 124݄29༵
シンボル数2なので 任意のバイト列を Iotaプログラムと みなせる 55 124݄29༵
56 謎プログラミング言語UCAS ᖪᖫᓫᔧᕏᕔᒨᕕᔨᒪᖫᓕᕕᕓᓫᔻᕎᒖᒖᑶᒞᒧᕋᕋᔾᒨᒪᑊ ᖫᓫᔶᑖᑕᔶᑶᒞᒥᖪᖫᓫᔶᑖᑕᗫᔻᕎᒖᒖᑏᕔᒨᒪᖫᓕ ᕕᕓᓫᔻᕎᒖᒖᑻᕊᑶᒞᒧᕋᕋᔧᕏᕔᕕᔶᑶᒛᔾᒥᔻᕏ ᕔᒦᒦᒔᖫᒔᕕᗖᑫᒫᒪᖫᓫᔶᑖᑕᔶᑶᒞᒥᖪᖫᓕᗫᔥᗖ ᑶᒛᔫᔫᒟᕓᒞᒨᒪᕓᕓᕏᕔᕕᖪᒪᒥᖪᖫᓫᔧᕏᕔᕕᖪᒪ Unicodeコードポイントから5121を差し 引いた数のビット列をiotaコードと見な す。
124݄29༵
Iota派生 シンボル数: 2 57 124݄29༵
Lesson4 プログラミング言語A 58 124݄29༵
どうにかシンボル数を 1にできないか? 59 124݄29༵
60 A Aが8進数で 2222222226022222222022222222222022 22211137040224222222244222403433333 33333334122222222433333333422243333 334333333334024 個つづく Aを並べた数がプログラムになる。Aの数 を8で割った剰余がbrainf*ckの命令にな
り、商が7以下になるまで繰り返す 124݄29༵
問題点: Hello world!を出力するプログ ラムを格納するディスク容量 が地球上に存在しない 61 124݄29༵
約10の134乗kbyte 62 124݄29༵
「人類には早すぎたプログラ ミング言語 A」 63 124݄29༵
Lesson5 おわりに 64 124݄29༵
esolang処理系を 自分で書いておくと いろいろいいことある 65 124݄29༵
コンパイラ/処理系/ポインタ/ レジスタ/スタック/ラムダ計 算/コンビネータ理論/... の勉強になる 66 124݄29༵
インターネット上の トレンドに対する 瞬発力向上 67 124݄29༵
ギズモードデビューorz 68 124݄29༵
本日のコード 宇宙的な深淵から這い寄る名状しがたいプログラミング言語が見る者のSAN値を 容赦なくすり減らすプロジェクト yuroyoro/esoteric-languages-on-scala : https://github.com/yuroyoro/esoteric-languages-on-scala 69 124݄29༵
おわりです 70 124݄29༵