YAML でターゲット書くビルドツール gazel とかどうかな

だいぶ前から YAML でビルドスクリプト(?)書いて、ビルドしてくれるツールのことを考えていた。 なんか今日、これだっていうのが浮かんだので書いてみる。 gazel は bazel と似てるけど、名前を忘れていてそれに想起されて思いついた。 とはいえ、例によっ…

構造化プログラミングと脳みそクラッシャー

COBOL は構造化プログラミングが可能な言語として名前が挙げられることが多い。 でも、COBOL が構造化プログラミングできる言語だというのはまったくもって真実ではない。 COBOL の構造化の考え方はこうだ: COBOL には3つの構造化文がある! 曰く、「順次」…

わんおぶ!

こんな風に書くのめんどいよね。 (or (equal? x #\a) (equal? x #\b) (equal? x #\c)) just を書いて…… (define* (just x #:optional (judge? equal?)) (lambda (other) (judge? x other))) one-of をこういう風に書いたら、 (define (one-of . args) (lambd…

ちょまどデバッグ ちゃぷたー1

なんでこれを書きたくなったかはめんどくさいので省きます。 便利プロパティを知らない人が多いっぽい感じなので、少しでも便利プロパティを知って楽にコードを書きましょう。 1 日の中で何秒経過したか知りたい! .NET では、DateTime オブジェクトから Dat…

Wercker で Scheme なモジュールのテストした

全国七千万の自動テストファンのみなさんこんばんは! 昨日ね、wercker でテストしたのでそんな感じのことを書くよ。 wercker.yml はこんな感じ: # This references a standard debian container from the # Docker Hub https://registry.hub.docker.com/_/d…

モジュールのこと

Scheme の S6RS や S7RS では モジュールの名前を (shell command) みたいにリストで表記する。 私が使っている Guile ではそういう風に表記するので、調べてみたら R6RS や R7RS のあれだった。 R6RS でも R7RS でもモジュールじゃなくてライブラリというら…

libalpm が 10 になったせいで AUR が検索すらできない件

みなさんはこんなエラーが出ていませんか?: % yaourt -S package-query-git package-query: error while loading shared libraries: libalpm.so.9: cannot open shared object file: No such file or directory package-query: error while loading shared …

gasket のこと

デバッグプリントのことは置いておいて、Guile のモジュールマネージャー、gasket のご紹介。 ぐにゅーのパッケージマネージャー GuixSD も Guile で書かれてるみたい*1なんだけど、モナドとか実装して使っててよくわからなかったから、 Panda っていう Perl…

私がめんどくさがって Debug.Print を挟みまくる理由

私の場合はグローバル変数やインスタンス変数、それの集合体であるビジネスロジックの状態が目まぐるしく変化するクソコードを相手にすることが多く、 普通のブレークポイントを置いて F10 や F11 を押してステップごとに変数の値を確認するというようなごく…

Perl6 最速っぽい構文マスター

Perl6 の文法一覧です。 他の言語をある程度知っている方はこれを読めば Perl6 の基礎をマスターして Perl6 を書くことができるようになっているといいなー(私が)と思います。 基礎 バージョン指定 use v6; 標準出力への出力 print 文も使えますが、 print '…

『関数プログラミング入門 Haskellで学ぶ原理と技法』やってみた

問 1.41 f および g が以下の型を持つとする: f :: Integer -> Integer g :: Integer -> (Integer -> Integer) h を以下のように定義してみよう: h :: ... h x y = f ( g x y ) h に正しい型を割り当てよ: 1.4.1 の回答? g は整数値を取って、整数値を取っ…

関数を定義する時に function という比較的長いキーワードを使用する Silica という言語のご紹介

Silica は関数を定義する時に function という比較的長いキーワードを使用する波括弧 ALGOL の亜種です。 このような比較的長いキーワードを使用する言語に AWK、 bash、 JavaScript、PHP、ActionScript3、Haxe があります。 Silica は PHP や ActionScript3…

Arch Linux で perl6 をインストールしてみた

まだ Perl6 の文法もわかっていないんですが、Perl6 を触ってみたくなったのでインストールしてみましょう。 perl6 で検索すると: % yaourt -Ss perl6 aur/perl-padre-plugin-perl6 0.71-1 (0) Padre::Plugin::Perl6 - Perl 6 Support for Padre aur/perl-pa…

明けましておめでとうございます

今年もよろしくお願いします。

美少女が教える本当にきれいなプログラムの書き方

ʕ•͡ω•ʔ 最近はあまり刺激を受けるようなことが無いので、書くこともあまりない おお、そうだ。UniScript のことは? uni という(架空の)テキストエディタのグルー言語なんだ。 というか、vim というテキストエディタを? それのグルー言語である VimScript …

なんかもうね…

何も浮かばないような感じってあるよね。

バイナリブロブな設定ファイルを廃止しよう

ʕ•͡ω•ʔ あれだよな。Scheme にもカミナリニンゲンみたいなプロジェクト・マネージャー的なもの欲しいよな % dry new zellanium ʕ•͡ω•ʔ すると、project.scm とかできてさ

Scheme でぷよぐらみんぐしてみた

プログラミング環境の準備 コードを書くのに使うテキストエディタといえば、そう。Emacs ですね。 Emacs をインストールするには Arch Linux ではこのように打ちます: % yaourt -S emacs あとは処理系ですね。 今回は Gambit Scheme を導入してみましょう。 …

君にも作れる生チョコスライム

多くの人が自分の常識はどこに行っても通用するものだと思い込んでいる。 それが当然だと思っている。 そりゃそうだ。これまでにその説が間違っていたことなんてなかったんだから。 でも、もしそうじゃなかったらどうだろう? そう考えてみたことは?

ざぶとんとまくらはクマとして生きることができるでしょうか?

ʕ•͡ω•ʔ 個人差があるんじゃないかな (๑´ڡ`๑) あー、思う〜〜〜 さて、Uva の組み込み名前空間にはどんなものがあるのかというのを紹介していきましょう。 思いついたものを少しだけ挙げていきます。 uva.lang プリミティブな型とかちょー基本的なクラスが揃…

超高速電磁寿司職人の朝は早い

シェルスクリプトの if 節の中には変数をそのまま書いちゃダメでダブルクォーテーションで囲まなきゃいけないということを知った。 base_dir=~/var/log/rubygems/${serial_date} if [[ ! -d "$base_dir" ]]; then mkdir -p $base_dir fi あと、Gambit Scheme…

シシカバブーって幻獣の仲間だったよね?

ʕ•͡ω•ʔ なーんか、アドベントカレンダーって雰囲気じゃなくなっちまったよな (๑´ڡ`๑) そうだね ものすごいモチベーションが無くなったのを感じます。

おやすみ

ʕ•͡ω•ʔ えーっと、今日はアドベントカレンダーはお休みです。 (:3[____]

うぃんよーずを更新して迫り来る危険から身を守ろう

(๑´ڡ`๑) 守ろう

パソコンには霊圧も気もチャクラも無い

C# で書かれたこういうソースコードがあります: var hoge = 42; { var x = 0; if ( hoge >= 42 ) { x = 42; } else { x = hoge; } Console.WriteLine( x ); } hoge が 42 以上なら x に 42 を設定し、それ以外なら hoge の値を x に設定するというよくあるコ…

ぱっけーじと名前空間とモジュール

Uva Advent Calendar 2015 5 日目。 昨日はりひにーさんで ゆーえすあーる でした。 ʕ•͡ω•ʔ Java だと package にクラスをまとめるけど、package ってなんか違和感あるんだよな ʕ•͡ω•ʔ Java でいう package を namespace にしたい(C# or C++ 脳) ʕ•͡ω•ʔ name…

君にもできるデータセンター縮退炉

Lisp Advent Calendar 2015 5 日目。 昨日はりひにーさんで Lisp なら括弧とシンボルを並べるだけ!!! でした。 こーいう CoffeeScript で書いたコードを: # chapter002.coffee http = require 'http' options = hostname: 'www.google.co.jp' port: 80 pa…

ゆーえすあーる

ʕ•͡ω•ʔ 仕様を書き溜めて言語作りたいよな

Lisp なら括弧とシンボルを並べるだけ!!!

ʕ•͡ω•ʔ すげぇ簡単だからやってみようぜ!!

叔母でも乳母でもなくて Uva

Uva Advent Calendar 2015、3 日目。 2 日目はりひにーさんで ゆばじゃなくて、Uva でした。 Uva の環境は VM とイメージに分かれていることは多分書いたような気がしますが、Uva の環境はそのまま開発環境でもあります。 多分、IDE も付いてる………といいな………