long_long_float's page

場所によってはlong-long-float, long long float

(Int, Int) onTick((Int, Int) pos, (Int, Int) ppos, Int width, Int height) { val vx = pos.fst() - ppos.fst() val vy = pos.snd() - ppos.snd() val x = pos.fst() val y = pos.snd() if (y + vy < 0 || y + vy >= height) { (x + vx, y - vy) } else { if (x + vx < 0 || x + vx >= width) { (x - vx, y + vy) } else { (x + vx, y + vy) } } }

Likes

Ruby, JavaScript, Ubuntu, プログラミング言語処理系, 弾幕シューティング(CAVE), 相対性理論(バンドの方)

Works


AOScript

Source

下のFunctionQuestのために作った関数型言語。といってもHaskellやScalaほど高機能ではなく値がimmutableであることや簡易的なパターンマッチ、型定義があるのみである。ページ上部のソースコードはこれ。


FunctionQuest

Link
Source

高専の卒業研究で作成した関数型言語の基礎の学習システム。基礎なのであまり期待しないほうがいい。パターンマッチを用いたリスト処理までをやっている。公開しているものでは一番大きいプログラムかも知れない。これで未踏に応募してみたけどダメだった。


comet2.js

Link
Source

COMET/CASLの勉強をするときに実際に処理系を作ると勉強になるのではと思い作成したもの。Wikipediaのハノイの塔が動いた時は少し感動した。C言語からこれへのコンパイラを作成しているが現在停滞中。フレームポインタ取れないのつらい。


Lisp

CoffeeScript版
C++版
Go版

いわゆる純Lisp(Go版だけ簡易的なスレッド機能がある)。Lispは構文解析が楽で仕様も素直なので作りやすい(純Lispは)。いつかSchemeとか作ってみたい。


ratex

Source

TeXの数式をRubyの式で書けるようにしたもの。Rubyの†黒魔術†を用いてブロック内だけで演算子をオーバーライドしている。=だけどうにかしたかった。


ShootingQuest

Link
Source

敵を倒すことで経験値が得られ、レベルが上がると自機が強くなるRPG風の弾幕シューティング。敵の出現をランダムにするという弾幕シューティングにあるまじきことをしてみた。


xash

Source

構文がYAMLである、プログラミング言語。もともとは設定ファイル等にプログラムを埋め込む用途向けに作っていた。YAMLで書くことにこだわったためか見た目が少し変態的。