2014-01-01から1年間の記事一覧

Quine-relay Advent calendar Day -3: AFNIX

ref: https://github.com/mame/quine-relayマイナス 3 日目の今日は、AFNIX を追加しました (73 言語目、コミット) 。AFNIX はマルチスレッド対応関数プログラミング言語だそうです。全然知らない言語です。どの界隈で使われてるんでしょう。Quine リレーで…

Quine-relay Advent calendar Day -4: A+

マイナス 4 日目の今日は、A+ を追加しました (72 言語目、コミット) 。A+ は APL の発展版らしいです。APL は独自記号を使ってプログラムを書くことで悪名高いですが、A+ は普通に ASCII 文字列で書きます。言語機能としては、APL 同様、配列操作が強いそう…

Quine-relay Advent calendar Day -5: Zoem

ref: https://github.com/mame/quine-relayマイナス 5 日目の今日は、Zoem を追加しました (71 言語目、コミット) 。Zoem は、テキスト変換のための汎用マクロ・プログラミング言語だそうですが、全然知らない言語です。Aephea という HTML 生成ツール (?) …

Quine-relay Advent calendar Day -6: Yorick

ref: https://github.com/mame/quine-relayマイナス 6 日目の今日は、Yorick を追加しました (70 言語目、コミット) 。この言語は、正直全然知らないんですが、科学シミュレーション向けの言語だそうです。可視化とかもできるみたい? それだけ聞くと位置づ…

Quine-relay Advent calendar Day -7: XSLT

ref: https://github.com/mame/quine-relayマイナス 7 日目の今日は、XSLT を追加しました (69 言語目、コミット) 。XSLT は XML の変換を行うためのプログラミング言語です。XSLT プログラムはそれ自体 XML になっています。変換のための言語なので、変換元…

Quine-relay Advent calendar Day -8: Visual Basic

ref: https://github.com/mame/quine-relayマイナス 8 日目の今日は、Visual Basic を追加しました (68 言語目、コミット) 。いわずと知れた Microsoft 製の BASIC です。Quine リレーへの組み込みは結構大変でした。直後が Whitespace になるため、わりと真…

Quine-relay Advent calendar Day -9: Thue

ref: https://github.com/mame/quine-relayマイナス 9 日目の今日は、Thue を追加しました (67 言語目、コミット) 。Thue は、文字列書き換えシステム (別名 semi-Thue system 、Thue の方程式でも有名な Axel Thue にちなむらしい) をそのままプログラミン…

Quine-relay Advent calendar Day -10: Subleq

ref: https://github.com/mame/quine-relayマイナス 10 日目の今日は、Subleq を追加しました (66 言語目、コミット) 。Subleq はいわゆる OISC の一種、つまり 1 種類の命令しか持たない難解プログラミング言語です。Subleq プログラムは数字の羅列で、プロ…

Quine-relay Advent calendar Day -11: Standard ML

ref: https://github.com/mame/quine-relayマイナス 11 日目の今日は、Standard ML を追加しました (65 言語目、コミット) 。Standard ML は、ML の二大勢力のうちの OCaml じゃない方です。Quine リレーでは print するだけ。smlnj を使おうとしたらなんか…

Quine-relay Advent calendar Day -12: SPL

ref: https://github.com/mame/quine-relayマイナス 12 日目の今日は、SPL を追加しました (64 言語目、コミット) 。SPL とは、全然知らないんですが C 言語をリッチにしたような言語らしいです。QCake とかいう 3D シーンエディタの組み込み言語として使わ…

Quine-relay Advent calendar Day -13: S-Lang

ref: https://github.com/mame/quine-relayマイナス 13 日目の今日は、S-Lang を追加しました (63 言語目、コミット) 。S-Lang は、堅牢なマルチプラットフォームソフトウェアを作るためのライブラリ+組み込み向けの独自言語だそうです。自分は知らないんで…

Quine-relay Advent calendar Day -14: Scilab

ref: https://github.com/mame/quine-relayマイナス 14 日目の今日は、Scilab を追加しました (62 言語目、コミット) 。いわゆる MATLAB クローンで、数値計算とかシミュレーションをするために使われると聞きます。主に制御系・電気系・機械系とかの人たち…

Quine-relay Advent calendar Day -15: Ratfor

ref: https://github.com/mame/quine-relayマイナス 15 日目の今日は、Ratfor を追加しました (61 言語目、コミット) 。Ratfor は、FORTRAN を C っぽく書くための言語だそうです。現代で言えば CoffeeScript みたいな位置づけと思われます (Javascript を直…

[C][IOCCC] The 23rd IOCCC に入賞したよ

ref: http://ioccc.org/2014/whowon.html今年もまた IOCCC に入賞できました! 2 つ投稿し、両方採択されました。採択は全部で 11 件。例年よりやや少なめ。国別でみると、US 4 件、IT/JP がそれぞれ 2 件、FR/NO/NL がそれぞれ 1 件。今回は数打つのではな…

Quine-relay Advent calendar Day -16: PPT (Punched tape)

ref: https://github.com/mame/quine-relayマイナス 16 日目の今日は、パンチテープを追加しました (60 言語?目、コミット) 。こういう感じのファイルになります。 ___________ o o. oo .o o oo o.o oo o.o oo o.ooo o. o ___________ Debian の bsdgames …

Quine-relay Advent calendar Day -17: PostScript

ref: https://github.com/mame/quine-relayマイナス 17 日目の今日は、PostScript を追加しました (59 言語目、コミット) 。PostScript は、ご存知の通り PDF と同じドキュメントのファイルフォーマットですが、その実態はスタック指向のプログラミング言語…

Quine-relay Advent calendar Day -18: Ook!

ref: https://github.com/mame/quine-relayマイナス 18 日目の今日は、Ook! を追加しました (58 言語目、コミット) 。Ook! はオランウータン向けの難解プログラミング言語という、たぶん世界初の Brainfuck 置換系言語です。Ook. と Ook? と Ook! の 3 種類…

Quine-relay Advent calendar Day -19: Piet

ref: https://github.com/mame/quine-relayマイナス 19 日目の今日は、ちょっと大物を。Piet を追加しました (57 言語目、コミット) 。ピエトと読みます。ピエト・モンドリアン風の画像をプログラムとする難解プログラミング言語です。二次元上を実行カーソ…

Quine-relay Advent calendar Day -20: PARI/GP

ref: https://github.com/mame/quine-relayマイナス 20 日目の今日は、PARI/GP を追加しました (56 言語目、コミット) 。PARI/GP は、Project Euler 専用言語です。数論に関する様々な演算を行うための計算機代数プログラムだそうです。ぼくは使ったことはあ…

Quine-relay Advent calendar Day -21: Nickle

ref: https://github.com/mame/quine-relayマイナス 21 日目の今日は、Nickle を追加しました (55 言語目、コミット) 。Nickle は、dc や bc をいろいろ増強した、プロトタイピング用のプログラミング言語だそうです。初めて知りました。組込みは全く問題な…

Quine-relay Advent calendar Day -22: Neko

ref: https://github.com/mame/quine-relayマイナス 22 日目の今日は、Neko を追加しました (54 言語目、コミット) 。Neko は NekoVM という VM が解釈する言語ですが、バイトコードとかではなく、高級言語だそうです。個人的には haXe のスタンドアロン実行…

Quine-relay Advent calendar Day -23: NASM

ref: https://github.com/mame/quine-relayマイナス 23 日目の今日は、NASM を追加しました (53 言語目、コミット) 。NASM は x86 汎用アセンブラです。ろくに使ったことがなくてわからないので紹介はこれだけ。Quine リレーへの組み込み自体は素直です。む…

Quine-relay Advent calendar Day -24: Maxima

ref: https://github.com/mame/quine-relayマイナス 24 日目の今日は、Maxima を追加しました (52 言語目、コミット) 。Maxima はいわゆる数式処理システムで、Maple や Mathematica の仲間らしいです。Project Euler でわずかに使ったことしかないので知り…

Quine-relay Advent calendar Day -25: LOLCODE

ref: https://github.com/mame/quine-relayQuine リレーに毎日 1 言語ずつ追加していくアドベントカレンダーをはじめます。マイナス 25 日目の今日は、要望のあった LOLCODE を追加しました (51 言語目、コミット) 。LOLCODE は、lolcat がしゃべる変な英語…

アスキーアート化放射線耐性 Quine

半年以上ぶりの更新?ref: https://github.com/mame/radiation-hardened-quine/blob/master/rquine.rb2 月に公開した放射線耐性 Quineをアスキーアート版にバージョンアップしました。旧版はナイーブな冗長化として、同じコードを 2 回繰り返す手法をとって…

放射線耐性 Quine (1 文字消しても動く Quine)

ref: https://github.com/mame/radiation-hardened-quine放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力…

クリーネの再帰定理+ Quine が書けることの証明

クリーネの再帰定理のプログラマ向け説明(+証明)を書いてみました。何か間違ってたら教えて! 前提 すべてのプログラムは文字列を 1 つ入力して文字列を 1 つ出力する、という世界を考えます。なお、プログラム自体も当然文字列です。 プログラムは eval …

The 22nd IOCCC: Most solid のエントリ

http://www.ioccc.org/2013/endoh4/endoh4.c int **F,** V,M, N,i; #ifndef/**/S #define S 70,23 #endif/* 000-2E5*/ #define/* 2E5-2E5,2E5 */_POSIX_C_SOURCE 199309 #include/* 2E5XXX*/<time.h> /* 2E5-2E5X*/#include<stdio.h> #include<stdlib.h>/* -2E5-2E5XX*/ struct timespec</stdlib.h></stdio.h></time.h>…

The 22nd IOCCC: Most tweetable 1-liner のエントリ

http://www.ioccc.org/2013/endoh3/endoh3.c char a;float b,c;main(d){for(;d>2e3*c?c=1,scanf(" %c%f",&a,&c),d=55-a%32*9/5,b=d>9,d=d%13-a/32*12:1;a=2)++d<24?b*=89/84.:putchar(a=b*d);} ツイート可能 (137B) なワンライナー。 解説 ABC 記譜法 (のサ…

The 22nd IOCCC: Most recyclable のエントリ

/*@@@sssss8]][[[[a#@@sss0['w}8|v}a<{av}a@{av}j>~{v}j8|c[sa?|{8[|#~} [j#@ra>~}sa!{>}|#r0l}sao8}[a'f8|r'8[j?x[?@<[j?@[j?@[s?>|;[[[j!>b'8'a@<cb@>? c$kg_@<b#0pf<#keab{_b0|c0#d#0#|'o{i<!8dr,f_{#rg{baiderh{er0}|'{0{ic.df?'o|j{lim 0'{i?#c0b|c#kg!}r!8lp1g!|i_ar<[#0g|h_}ieg>|_ah|sr<|i[[[}s#f@}[{@u~~~r@[|#|{s…</b#0pf<#keab{_b0|c0#d#0#|'o{i<!8dr,f_{#rg{baiderh{er0}|'{0{ic.df?'o|j{lim></cb@>