2016-01-01から1年間の記事一覧
多くの開発者にとって、null は忌避すべきものだ。 万が一、null に*さわってしまった*ら、あなたは突如発生した例外により、ヨルダン辺りまで吹き飛ばされるだろう。 あと、えーっと、オフィスの天井も失くなってしまう。 null の影響で行方不明になった…
Strongtalk のソースコードを読んでいたところ、このような記述を見つけた: void Bootstrap::openFile() { stream_ = fopen( file_name_, "rb" ); if ( stream_ == NULL ) { has_error_ = true; lprintf( "\nCould not open file (%s) for reading!\n", file…
╰( ´◔ ω ◔ `)╯ やっぱり C++ も面白いな
www.adventar.org ボイルしたソーセージ(ブルストとも呼ばれる。なるべく太いものが望ましい)を食べやすい大きさに切る。 ケチャップを親の敵のようにかける。 死ぬほどカレー粉をまぶす。 ╰( ´◔ ω ◔ `)╯ Windows でも Perl6 が使えるように rakudo を clone…
www.adventar.org ╰( ´◔ ω ◔ `)╯ またまた Swiff の話だ ╰( ´◔ ω ◔ `)╯ 多分な 換気扇の空、オリーブオイルの海、揚げ玉の海岸。 雨に唄えばおじさんは自分が厄介な場所に来てしまったことを悟った。 ということで、以下のコードはコンパイルエラーになる(は…
www.adventar.org ╰( ´◔ ω ◔ `)╯ 毎回記事本体じゃなくて、ナンセンス釣りタイトルを考えるのに時間を費やしてる気がしなくもない 今朝は Swiff の型について考えたような気がする。 自分の中では Swiff も Uva も文法的なところが違うだけのようになってき…
www.adventar.org 7 日目。 ╰( ´◔ ω ◔ `)╯ ネタがないな (๑´ڡ`๑) ポケモン楽しい
www.adventar.org エントリーポイント Uva は決まったエントリーポイントを持たない言語です。 例えば、クラスの外においては Java は一切の文あるいは式(クラス・インターフェイス定義、import 文、package 文を除く)を書くことが許されていませんが、 Uva …
Uva Advent Calendar 2016、 5 日目。 ʕ•͡ω•ʔ 今日は JS の Promise のことを調べてた。 James VM は Uva 用の VM です。 正確には、Uva 用の VM になる予定です。 Uva コンパイラ uvac でコンパイルすると、Uva ソースコードは基本的には James VM 用のバイ…
Uva Advent Calendar 4 日目。 今日は Linux なデスクトップ環境でおすすめのアプリを紹介していきたいと思います。 10 つ全部 Emacs や Vim になったりした 10 things を見たって? 大丈夫。今回は Emacs や Vim 以外のアプリを紹介するから。 Banshee Bans…
╰( ´◔ ω ◔ `)╯ Argu を使ったテストをしようと思って、NUnit でやってみたら、FSharp.Core の 4.3.0 が必要みたいなんだ ʕ•͡ω•ʔ Argu が FSharp.Core 4.3.0 に依存しているのかな? ╰( ´◔ ω ◔ `)╯ テスト用プロジェクトは 4.4.0 でやってるから、4.3.0 に落…
Uva Advent Calendar 2 日目。 今日は Rosetta Code の題材を使ってほにゃららら*1。 配列の宣言 100 の要素を持つ bool 型の配列、doors を用意します。 variable はこの変数が可変だという意味を持つアノテーションです。 variable を付けない場合、変数は…
Uva Advent Calendar 1 日目。 今日は 1 日目ということで、Uva じゃないことを書こうかと思います。 ある日、dotnet-cli をインストールしようと思ったんですが、/ がパンパンでビルド中にあぼーんしてしまいます。 これはいかん! と思って、そんなに必要…
問題 あんまり問題とは言えないかもしれないが、 (proc port) 内でエラーが起きた場合、ポートを閉じる手続きが呼ばれない。 助けてドラえもん!! とはいえ、プログラムが終了する時に全てのポートは自動的に閉じられるとかどこかに書いてあった気がするの…
さて、現在のスタック・トレースを得るには make-stack 関数を呼び出します。 引数の #t を忘れないようにしてください: (define a-stack (make-stack #t)) a-stack の型をとりあえず <stack> としましょう。 <stack> オブジェクトの中には <frame> オブジェクトが幾つか含まれて</frame></stack></stack>…
オレオレ言語の Uva 熱が続いているので Uva のことについて書く。 Uva って何? Uva は Ceylon をベースにしています。 Ceylon は結構良い構文だし、Uva*1 は Ceylon のサブセットらしいので、そんな感じの名前にしました。 多分、色々と Ceylon と違うくな…
半角全角キーを押しても、全角入力モード?に切り替わらない。 不思議だなーと思って % ps ax | grep uim-xim と打ってみると、見つからなかった。 .xsession にはこのように書いたんだけど: # -*- mode: shell-script; coding: utf-8; -*- export GTK_IM_MO…
ただし、以下のコマンドで、だけど。 % STEAM_RUNTIME=0 steam STEAM_RUNTIME=0 は Steam 側のライブラリ*1じゃなくて、/usr/lib のライブラリを使うというスイッチだよ。 あと、cef_extentions.pak はどうしてもどうやって取得すればいいのかわからなかった…
そのいち これかなぁ: % find -name '*.zip' -exec unzip -O cp932 {} \; 元の unzip がそうなのかはよくわからないけれど、unzip-iconv では unzip <ファイル名> -O cp932 ってやると、-O cp932 が無効なオプションだよって言われるのでとっても悲しい。 そ…
カテゴリに Arch_Linux って書いてあるけど、私が使っているのは Antergos なんだ。 とにかく、steam を実行するとこんなメッセージが出る: % steam /home/rihine/.local/share/Steam/steam.sh: 行 154: VERSION_ID: 未割り当ての変数です /home/rihine/.loc…
LiveScript では、普通の文字列の別の書き方として \hoge というのができる。 SliderService.add-column account.serv, account.name, type, params, (ok, msg) !-> if ok console.log 'create column done.' respond { result: \ok, content: { column: msg…
Hotot3 の core/scripts は CoffeeScript で書かれているので、LiveScript で書き直したりするようなことをしていた。 じゃっばすくりぷよにコンパイルする時に lsc に --watch 付けてやってたんだけど、コンパイルに失敗するとわけ不明なエラーを吐いて落ち…
const Http = require( 'http' ); const Express = require( 'express' ); const Socket_IO = require( 'socket.io' ); const app = Express(); const server = Http.createServer( app ); const io = Socket_IO( server ); const port = 3000; app.get( '/'…
こーいう F# のソースファイルがありますよね。 Batteries.Env モジュールと: // env.fs module Batteries open System module Env = let at (index : int) = let argv = Environment.GetCommandLineArgs() argv.[index] let get = at それを参照する main.f…
Argu は F# 製のコマンドラインパーサーだよ。 gmake のオプションを前半だけ書いてみた。 type Arguments = | [<AltCommandLine("-B")>] Always_Make | [<AltCommandLine("-C")>] Directory of dir : string | Debug of mode : DebugMode option | [<AltCommandLine("-e")>] Environment_Overrides | Eval of expr : string | [<AltCommandLine("-f")></altcommandline("-f")></altcommandline("-e")></altcommandline("-c")></altcommandline("-b")>…
最近までこんな風にやってたんだけど: let name = user.GetName() // printfn "Hello, %s!" user.GetName() はエラーになっちゃうので // 一旦、変数に束縛する。 printfn "Hello, %s!" name 別にそんなことをする必要はなかったらしい。 <| を使うんだルー…
よさげなビルドツールを作ることはよさげな開発人生に一条のいい感じの光を投げかける的ななんかアレなわけです。 以下の C 言語なソースコードをビルドすることを考えてみましょう: // main.c #include <stdio.h> int main() { printf( "Hello, World!\n" ); return </stdio.h>…
いままで、RequestPolicy を愛用していたんだけど、全然更新されていないのに気がついたので、RequestPolicy Continued に切り替えた。 (๑´ڡ`๑) めっちゃ使いやすい
node のバージョンはこんな感じ: % node --version v6.3.1 wasp を書いてたら、 // ↓ class は書けるのに、export ができない!!!>< /* export */ class Emitter { constructor() { this.events = []; } on(name, cb) { this.events = ( this.events || …
Fly を見ていたらこういう風に書けたって良いんじゃないかなと思った: const gcc = require( 'wasp-gcc' ); const paths = { scripts: [ 'src/**/*.c' ], dist: 'obj' }; export default function () { this.ready( 'build' ); } export function compile() …