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
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
The World Runs on Bad Software
bkeepers
PRO
65
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Writing Fast Ruby
sferik
627
61k
Designing the Hi-DPI Web
ddemaree
280
34k
How GitHub (no longer) Works
holman
310
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Bash Introduction
62gerente
608
210k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
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༵