タグ

esolangに関するyouzのブックマーク (50)

  • タネ明かし: Whitespaceコンパイラを作った話の裏側 | κeenのHappy Hacκing Blog

    κeenです。今朝、エイプリルフールのネタ記事を書いたのでそのタネ明かしをします。タネとはいっても、ほぼ手書きなんですけどね。 WhitespaceはEdwin BradyとChris Morrisにより2003年4月1日に発表された言語です。 この言語自体エイプリルフールのジョークなんですね。 公式ページはあるのですが、繋がらないのでWebArchiveとかからアクセスして下さい。 特徴としては空白文字、タブ文字、改行文字だけで構成されているのでパッと見では何も書いてないようになる点があります。 いわゆるesoteric languageです。 今回の私のエイプリルフールのジョークは、Whitespaceを知らない人には「正直者にしか見えないコードですか?」、Whitespaceを知ってる人には「Whitespace!?んなもん書ける書けるわけないだろ!あ、そうか今日はエイプリルフールか

    タネ明かし: Whitespaceコンパイラを作った話の裏側 | κeenのHappy Hacκing Blog
    youz
    youz 2020/04/02
    ELVMのWhitespaceバックエンド使っても実行可能バイナリ直接吐くの大変だよね…? と思ったらもっと大変な事やってた(恐
  • Whitespaceのセルフホストコンパイラ作ったよ! | κeenのHappy Hacκing Blog

    ハ〜イ、κeenさんだよー。Whitespaceのセルフホストコンパイラを作ったから紹介するねー。 Whitespace1ってのはあまり知名度がないけどこういう感じの言語。 見ての通りクリアな構文が売りの言語で、簡単に覚えられるのが特徴。 文法が綺麗だとパースも簡単だろうということで、セルフホストコンパイラを書いてみた。 こんな感じでコンパイラに自身のソースをわせると完全に一致するバイナリを吐くよ。 $ whitelie < whitelie.ws > whitelie2 $ md5sum whitelie whitelie2 418b0b9a58caaa9e99a2d5e3649f6faf whitelie 418b0b9a58caaa9e99a2d5e3649f6faf whitelie2 一応注意点を挙げておくと、オリジナルの言語とは多少の非互換がある。一番大きいのは で、バイナリ

    Whitespaceのセルフホストコンパイラ作ったよ! | κeenのHappy Hacκing Blog
  • NHKから国民を守るプログラミング言語 - Qiita

    国民からNHKからNHKから国民からNHKを守る党を守る党からNHKから国民から国民を守る党を守る党からNHKから 国民からNHKを守る党を守る党からNHKから国民からNHKからNHKから国民を守る党から国民を守る党を守る党を守 る党を守る党から国民を守る党を守る党を守る党を守る党を守る党から国民から国民を守る党を守る党からNHK から国民からNHKを守る党を守る党から国民を守る党からNHKからNHKから国民からNHKを守る党を守る党から国民 を守る党を守る党からNHKから国民を守る党から国民を守る党を守る党を守る党からNHKから国民からNHKを守る 党を守る党から国民を守る党からNHKからNHKから国民からNHKを守る党を守る党から国民を守る党を守る党からN HKから国民を守る党から国民を守る党を守る党を守る党からNHKからNHKから国民からNHKを守る党を守る党から 国民を守る党を守る

    NHKから国民を守るプログラミング言語 - Qiita
    youz
    youz 2019/12/27
    まったく同じ事考えてたw 紹介ありがとうございます。ruby版 → https://gist.github.com/youz/81b1f934cf7fa708db2941123d7f938a
  • Malbolge Quine – lutter.cc

  • 星空を描く ~esolang(難解プログラミング言語) writeup ~ - 欣快の至り

    3月末に、TSGというサークルでesolang( esoteric language ;難解プログラミング言語の略)陣取り大会というゲームが開催されました。この記事はそのwriteupです。割とポエムです。 TL;DR esolangショートコーディングは、僕がポエムを書いてしまうくらいには熱い この記事に書かれているのはこれだけです。 目次 TL;DR 目次 ルール 競技の推移 解法の概観 Starry 方針1. バケツソート 方針2. 総なめ方針 Emoji 方針 競技後 Element Minus レジスタ コード 実行結果 方針 Emmental 方針 バケツソート Beam Minimal-2D 方針 (Brainfuck) Golf言語たち MATL CJam 05ab1e 2sable Jelly Stuck 実用言語たち Cubix(解けなかったけど紹介) 終わりに ルール

    星空を描く ~esolang(難解プログラミング言語) writeup ~ - 欣快の至り
  • プログラミング言語「PPAP」を作りました - yhara.jp

    I have 80 Pen I have 65 Apple Uh! Put-Pen Uh! Put-Pen Uh! Put-Apple Uh! Put-Pen ソースコード https://github.com/yhara/ppap-lang FizzBuzzも書けます。 宣伝 このような奇妙なプログラミング言語に興味がある人にぴったりな書籍が存在します。 今ならマナティというマイナビのIT電子書籍ストアから購入すると割引になっており、2,041円でPDFが手に入ります。1月10日までです。これに合わせようと思ったのに年始になってしまった。 マナティ年末年始キャンペーン|Tech Book Zone Manatee Rubyで作る奇妙なプログラミング言語|Tech Book Zone Manatee 言語仕様 「I have」はレジスタの宣言です。以下はPenというレジスタを用意し、初期

  • UnlambdaでVMを実装する(前編) - iroriの日記

    Esolang Advent Calendar 2016 2日目の記事です。 ELVMにUnlambdaバックエンドを実装して、C言語のプログラムをUnlambdaに変換できるようにした話です。ちょっと長くなったので2回に分けました。 Unlambdaとは ELVMとは Unlambdaでデータ構造を表現する ペア リスト 数値 例: inc関数 メモリ 前編のまとめ Unlambdaとは UnlambdaはBrainfuckの関数型版とでもいうべき言語で、関数適用演算子`とs, k, iなど少数の組み込み関数だけを使ってプログラムを書きます。 Unlambdaには変数すら無いので直接プログラミングするのは厳しくて、普通はラムダ式を使ってプログラムを書いて、あとからラムダを取り除く(だからUn-lambdaなのですね)変換をかけてやります。とはいえ、組み込み関数とその簡単な組み合わせで何が

    UnlambdaでVMを実装する(前編) - iroriの日記
  • ELVM Compiler Infrastructure - 兼雑記

    最近作ってたオモチャがだいたいまとまってきました。 https://github.com/shinh/elvm 第12回 kernel/vm 勉強会で発表した時のスライド: http://shinh.skr.jp/slide/elvm/000.html これは何かというと、前作った bflisp を改良したり整理したりしたもので、 C 言語をシンプルな中間言語 (EIR) に変換する改造 8cc と、その中間言語を Brainfuck をはじめとした他言語に変換するバックエンドから成り立っています。 bflisp との差分は、 Brainfuck 以外のバックエンドを追加しやすくしたり、バックエンドを C で書いて、完全に Brainfuck だけで 8cc.bf を再現することができるようにしたり、という感じです。 特に興味深いであろうバックエンドとしては、 Brainfuck, Unl

    ELVM Compiler Infrastructure - 兼雑記
  • ELVM Compiler Infrastructure - ELVM Compiler Infrastructure

    1/27 >> First Last ELVM Compiler Infrastructure はまじしん一ろう

  • GitHub - nooodl/gs2: code-golf-oriented esoteric programming language

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - nooodl/gs2: code-golf-oriented esoteric programming language
  • http://esolangs.com/post/101675489813/interview-with-ben-olmstead

  • Route 477(2013-11-27)

    ■ [esobook] 『Rubyで作る奇妙なプログラミング言語』が復刊します 4839927847 絶版になっていた『Rubyで作る奇妙なプログラミング言語』ですが、このたびPDF版+オンデマンド印刷版という形で復刊になります。 発売日は1/7で、いまのうちに予約すると割引があるので、PDFなら買うのにな、と思っていた方はこの機会にぜひどうぞ。 【先行予約】Rubyで作る奇妙なプログラミング言語 ~ヘンな言語のつくりかた~ | マイナビブックス 一応、第二版という形にはなりますが、内容は基的に前のものと同じです。違うのは正誤表にある誤植が直っているのと、「はじめに」のRubyのインストール方法のところを直したくらいです。 サポートサイト 復刊に当たって、ダウンしてたサポートサイトも新たに復旧しています。(スタイルシートをちゃんと書いてないのですごくプレーンな感じですが…) http:/

    Route 477(2013-11-27)
    youz
    youz 2013/11/27
    ワオ…。…ゼン… > 同時発売はアセンブラ短歌の本(!)です。
  • 2012-12-10 ■ Hello golf in Malbolge - 兼雑記

    Esolang Advent Calendar 2012 用のエントリです。 Esolang 的な自己紹介としては、今年は ICFP のコンテストのために巨大な befunge プログラムを書きました。 Malbolge 概要 ご存じの人が多いかと思いますが、 Malbolge という超難解言語があります。この言語の難解さは brainfuck などがかわいく見える、というか、私の感覚では ruby と brainfuck くらいの差が brainfuck と malbolge の間には存在しています。いや、もっと広いかもしれず。 Malbolge について一言で紹介すると、「抜群のバランス感覚で適当に設計された神クソゲー」という感じ。ざっくりとした説明としては、 A,C,D の3進10ケタ(つまり0-59048の値を持てる)レジスタと、 59049 個の 0-59048 の値が持てるメモ

    2012-12-10 ■ Hello golf in Malbolge - 兼雑記
    youz
    youz 2012/12/10
    この何故ベストを尽くしたのか感
  • Semicolon

    An esoteric language made up of only semicolons. You can't escape the semicolon monster! Installation Install semicolon globally from npm registry by typing the following command npm install semicolon -g Usage Usage: semicolon [FILE] The following program consists semicolons, reversed semicolons, spaces and newlines which when ran ;;;;⁏;;⁏;;; ⁏ ;;;;;;⁏⁏;;⁏;⁏ ⁏ ;;;;;;⁏⁏;⁏⁏;; ;;⁏⁏ ;;⁏ ;;;;;;⁏⁏;⁏⁏⁏⁏

  • Grass on SQL - still deeper

    Overview ちょっと草植えときますね型言語 Grass をSQLで実装しましたという話. Grassはλ計算をベースにした関数型プログラミング言語です.公式ページの仕様を元にSQL(PostgreSQL)で実装しました. 他Grassについては上記の公式ページとかここら辺を参照. プログラミング言語/Grass - プログラミングスレまとめ in VIP うはwww Mosh で Grass 実装したwwww - Higepon’s blog - Mona OS and Mosh Example SELECT run_grass('wwWWwv wwwwWWWwwWwwWWWWWWwwwwWwwv wWWwwwWwwwwWwwwwwwWwwwwwwwww'); run_grass ----------- ww (1 row) SELECT run_grass('wWWWwwwwWWW

  • 楽譜でプログラミングする言語Scorlang - ならば

    はじめに 楽譜はソースコードというエントリを書いて以来、楽譜を使ったプログラミング言語という漠然とした考えが頭の片隅にあった。ModanShogiを見ていたら頭の片隅から開放したくなったので具体化した。 楽譜プログラミング言語Scorlang(Score language)。ジャンルとしてはビジュアル難解プログラミング言語*1になる。 Scorlangのプログラムは、楽譜のように見える図形で表現される。例えば、下の図は「Hello, world!」を出力するプログラムである。 言語仕様 最初に強調しておくが、Scorlangは音響プログラミング言語ではないので、音響信号を扱ったり音を入出力するための仕様は一切ない。扱えるデータは整数のみ、出力形式はテキストのみである。 ひとつのプログラムをシートと呼ぶ。シートは原則的に、音楽の楽譜と同じく左から右、上から下に向かって処理が描かれており、実行

    楽譜でプログラミングする言語Scorlang - ならば
  • 2011-12-10 - 拡張正規表現でカウンタを書く - 兼雑記

    Esolang Advent Calendar の10日目になんとなく参加みたいな話です。自己紹介を書いておくと、好きな esolang は見た目よりむしろ中身重視というか、行なわれる処理や処理のしかたがユニークなものを好む傾向があるみたいです。あと先日 世界一の Befunge コーダーであることが判明しました(誇張)。 なにしようかなぁ考えたのですが、私の好きな言語のひとつに sed っていうか正規表現があるので、それについて。どの程度好きかというと、ほとんど 正規表現しか無いような wake という esoteric language を作ってみたことがある程度には好きな感じです。 正規表現ってヤツは普通文字列のマッチングに使うやつで、もちろんループとかは書けないわけですけど、しかしまぁちょっとした計算くらいなら割とできたりします。ループや出力の部分だけ、元の言語の機能から借りてやれ

    2011-12-10 - 拡張正規表現でカウンタを書く - 兼雑記
  • http://semanticsarchive.net/barker/Iota/

  • Route 477(2011-08-18)

    ■ [esobook][esolang] 『Rubyで作る奇妙なプログラミング言語』絶版記念講演「プログラミング言語はつくれる!」 スライドをアップしました。 http://route477.net/files/niigata/ 今年の冬に新潟大の澤村先生から学生向けに何か話してほしいという依頼があり、初めて90分という長い枠で喋りました。 この公演は 財団法人 新潟工学振興会 の提供でお送りされたようです。よい夏休みの思い出ができました。ありがとうございました。 ライブコーディングは、前回(超交流会)の反省を生かして、どうやって実装するか頭の中で詰めておいたおかげで、文字を出力するとこまですんなり進めることができました。 が、時間が微妙に余ったのでループで数値をカウントダウンするとこまでやろうとして時間切れに。やっぱり実装をちゃんと考えておかないと、時間内に納めるのは難しいですね。 ht

    Route 477(2011-08-18)
    youz
    youz 2011/08/20
  • Route 477(2011-06-16)

    ■ [book] 自著が絶版になりました Amazonでずっと在庫切れだと思っていたら、絶版になったようです。 4839927847 お求めになれる中古品は4000円とかになってますが、大きめの書店の店頭にはまだあると思います。 オンラインでも、例えばジュンク堂のネットストアでは普通の値段で買えます。 買おうか迷ってた人は、RHGみたいに伝説的な値段になる前に確保してください(笑)。 4844317210 (聞いた話ですが、出版社の中でも編集の人はできるだけ絶版にしたくなくて、倉庫とかを管理する側の人は適当なところで絶版にしたがるという綱引きがあるそうです。) 89 http://b.hatena.ne.jp/ 69 http://twitter.com/ 65 http://reader.livedoor.com/reader/ 49 http://www.kt.rim.or.jp/~k

    Route 477(2011-06-16)
    youz
    youz 2011/06/17
    サイン本は家宝にします。 http://f.hatena.ne.jp/youz/20090717000242