web 小説「ニンジャスレイヤー」ベースのネタ言語、"Lazy SLYR" 30
ストーリー by reo
謎のニンジャスピリッツ(驚愕) 部門より
謎のニンジャスピリッツ(驚愕) 部門より
90 曰く、
Twitter 上で翻訳版が連載され、書籍化もされた web 小説「ニンジャスレイヤー」を基にしたネタ言語 "Lazy SLYR" が公開されている(モナドとわたしとコモナドの記事より) 。
ニンジャスレイヤーは、近未来の日本を舞台に「ニンジャ」が闘うブラッドレー・ボンドとフィリップ・N・モーゼズ両氏により執筆されたアマチュア小説で、コピー本や web 小説などとして公開されていたものを匿名の翻訳者が翻訳し、Twitter 上で連載している。翻訳版では「凄い小説!痛快な展開!」「日本よ、これがニンジャだ」「ニンジャが出て殺す」などのキャッチコピーや作中に偏在する謎めいた UNIX 計算機、実際誤って用いられる日本語などが醸し出す独特のアトモスフィアが人気を集めている。
Lazy SLYR はこのニンジャスレイヤー本編中で頻繁に用いられる掛け声を用いて記述されており、元記事には Hello World! の例として、下のような 4000 文字程度のプログラムが掲載されている。
イヤーッ!イヤーッ!イヤーッ!グワーッ!グワーッ!グワーッ!イヤーッ!イヤーッ!イヤーッ!グワーッ!イヤーッ!グワーッ!グワーッ!イヤーッ!イヤーッ!イヤーッ!グワーッ!イヤーッ!グワーッ!グワーッ!イヤーッ!イヤーッ!イヤーッ!グワーッ!グワーッ!グワーッ!イヤーッ!
ネタ言語のベースとしては Brainfuck や HQ9+ などが用いられることが多いが、Lazy SLYR は純粋関数型言語であり、ラムダ計算に基づく点が異なる。処理系は Heskell で実装されており、GitHub で公開されている。
全てはニンジャなのだ…。 (スコア:2)
λ式は実際難しくてニンジャかリー=センセイでも無い限りは分からないように思う(お
Lispニンジャ=クランのニンジャだったらこの言語も使いこなせるんだろうか?
アイエエエエエ!! (スコア:2)
Brainfuck系にはちょっと食傷気味だったから、
そうじゃない実装を狙ってくるあたり、なかなか面白いと思う。
アイエエエ!!の エと!の個数を使うとかもステキだ。
Re:アイエエエエエ!! (スコア:1)
次の延命は何か出るかな。
Re:アイエエエエエ!! (スコア:1)
Re: (スコア:0)
そのままケンシロウ [nicovideo.jp]にコンバートできそうだ。
Re: (スコア:0)
> 開発者Urban Müllerがコンパイラがなるべく小さくなる言語として考案した。 実際、Müllerが開発したコンパイラのサイズはわずか123バイト、インタプリタは98バイトであった。
Brainfuckの眼目は非常に小さなサイズのコンパイラ(とインタプリタ)であって、奇怪な字面ではないのです
なので見た目の感じでBF系とひとまとめにするのには違和感がありまくり
Re:アイエエエエエ!! (スコア:1)
いや、Brainfuck系って言ったのはそのへんではなく、
『それっぽいキーワードの組み合わせで8種類の文字列を作り、
それをBrainfuckの8命令に割り当ててプログラム言語完成!』
ってパターンのことです。
文字列解釈したら、あとの実装はBrainfuckのまんまなので、Brainfuck系と言われてもしょうがない。
それはそれで面白いんですが、いつもそればかりじゃ面白くないなぁ、と。
Re: (スコア:0)
だったらそう言え
Re:アイエエエエエ!! (スコア:1)
元々の開発者からして
『Brainf*ckめいた派生言語が作られる前に~』
とか
特徴の1番目として『◆Brainfuck派生ではない◆』
とか
わざわざ言及するほどの状況で、
『Brainfuck系じゃない実装が面白い』という意見を書いて、
まさか誤解されるとは思わなかったんだよ。
今度から気をつけるから、何をどのようにして
「見た目の感じでBF系とひとまとめにする」ように思ったか説明してくれ。
Re: (スコア:0)
頭を使え
あるいは
よく考えろだな
そうでないとBrainfuckされるぞ
Re: (スコア:0)
#2348322へのコメントを誤爆してますよ
ニンジャスレイヤー世界のUNIXは何で書かれているんだろう (スコア:2)
ニンジャスレイヤー世界のUNIXは何で書かれているんだろうか。
シ・ゲンゴ?
「(」・ω・)」うー(/・ω・)/にゃー」じゃないのね。 (スコア:1)
「イヤーッ!イヤーッ!イヤーッ!グワーッ!グワーッ!グワーッ!イヤーッ!イヤーッ!イヤーッ!グワーッ!イヤーッ!グワーッ!グワーッ!イヤーッ!イヤーッ!イヤーッ!グワーッ!イヤーッ!グワーッ!グワーッ!イヤーッ!イヤーッ!イヤーッ!グワーッ!グワーッ!グワーッ!イヤーッ!」に別の実際に頭がくらくらしました。
Re:「(」・ω・)」うー(/・ω・)/にゃー」じゃないのね。 (スコア:1)
この小説の戦闘シーンにおける代表的な描写ですね。
どちらかが一方的に攻撃している場合、ジョジョの奇妙な冒険みたいな感じで1ツイートまるまる「イヤーッ!」「グワーッ!」で埋め尽くされることも珍しくないです。
一人以外は全員敗者
それでもあきらめるより熱くなれ
Re:「(」・ω・)」うー(/・ω・)/にゃー」じゃないのね。 (スコア:1)
這い寄る混沌:「(」・ω・)」うー(/・ω・)/にゃー」でプログラムが書ける言語「Nyaruko」登場 - ねとらぼ
http://nlab.itmedia.co.jp/nl/articles/1204/19/news112.html [itmedia.co.jp]
名状しがたいプログラミング言語のようなもの Nyaruko
https://github.com/masarakki/nyaruko_lang [github.com]
#上下とも同じものです
Re: (スコア:0)
読みたくなって本屋で手に取ったが
本の体裁が、自分の趣味に合わず断念。
やっぱり面白そうなので読んでみたい
文庫版でないかなぁ。
関連 (スコア:0)
ちょっと草植えときますね型言語 Grass [sky.or.jp]
Re: (スコア:0)
プログラマースレイヤー - プロジェクト炎上 [togetter.com]
こんなに長く戦えるのもニンジャ耐久力だな (スコア:0)
サンプルプログラムの最初に
Wasshoi!
ドーモ、(プログラムネーム)=サン、ニンジャスレイヤーです。ニンジャ、殺すべし!
ドーモ、ニンジャスレイヤー=サン、(プログラムネーム)です。
最後に
サヨナラ!爆発四散!!
が欲しいなあと
ん?サヨナラ!するとプログラムが爆発四散しちゃうのか
Re: (スコア:0)
タイプミスでケジメを要求されるのか
Re: (スコア:0)
その程度のケジメは実際、茶飯インシデントであった
Re: (スコア:0)
まあまあ、おのおのがた、それ以上プログラマ=サンを愚弄しないほうがいい。タイプミスなど誰にでもあること。コウボウ・エラーズというではないか。
(この間0.5秒)
パワリオワー! (スコア:0)
UNIX以外にも実装されているところに違和感を禁じ得ない。
これで、IRC空間を実現して欲しい。
見苦しい (スコア:0)
一発ネタを何度も繰り返されてもねえ
Re:見苦しい (スコア:3)
またBrainfuckベースのネタ言語かよいちいちトピックにすんなよ、とはわたしも思いましたけれど、
独自の純粋関数型言語ならいいんじゃないですか。
Re: (スコア:0)
タチが悪いのは、この手の言語でもそれぞれ微妙に仕様が違うこと哉。
Re: (スコア:0)
イヤーッ!とかグワーッ!といったアルファベットと実行モデルの選択の間に何の関係も見いだせないところが二番煎じ臭しかしないのよね
Jiroのダブルなどはその点はいいのだが、値の二倍は冗長な命令で残念だ
Re: (スコア:0)
もしこの言語が実は非常によく設計されていて、プログラムが作中の描写をよく再現することが(統計的に)明らかになれば、驚嘆して平伏する
ここまで「ラムダ計算に基づく」に対するツッコミなし (スコア:0)
T/O
# Heskell…
ごめんなさいごめんなさい (スコア:2)
なんか違うなー感はあったんですけどよくわからなかったんですごめんなさい関数型界隈怖い;;
# "Heskell"はミスタイプです…なんで間違えたんだろう