時の羅針盤@blog
オランダの生活、自身が行っているSagittarius Schemeの開発日誌、
その他雑多なことをつづってます。
Let's start Scheme
(Move to ...)
(はじめよう Scheme 0)
(はじめよう Scheme 1)
(はじめよう Scheme 2)
(はじめよう Scheme 3)
(はじめよう Scheme 4)
(はじめよう Scheme 5)
(はじめよう Scheme 6)
(はじめよう Scheme 7)
(はじめよう Scheme 8)
▼
2015-12-14
Or, and-let* and tail position
›
It's about I was stupid enough not to think where actually tail position is. Let's see the following expression: (or (returns-fal...
2015-12-13
S式SQL その3
›
なんとなく必要そうな部分が動くようになってきた。SQL 2003のBNFをほぼそのままSchemeにした形なので無駄に冗長かつ、こんなのいつ使うんだ?的な構文までサポートされている。ほとんどyak shavingに近いような感じで時間だけ取られ、モチベーションを保つのが大変だった...
2015-12-02
syntax-rulesで中級以上のマクロを書く手引き
›
この記事は Lisp Advent Calendar 2015 の二日目として書かれました。 R7RS-smallでは低レベル健全マクロが定義されなかったため SchemerはR5RSから続くsyntax-rulesを使ってマクロを書くことを強いられることになった。synt...
2015-11-30
S式SQL その2
›
ちょっと書き始めたらいきなり壁にぶち当たったのでSQL恐ろしい子という感じである。 SQLにはqualified identifierというものがある。何かといえば「 . 」で繋げられたあれである。例えば以下のSQLをS式にするとする: select f.bar from ...
4 comments:
2015-11-27
S式SQL
›
ちょっと本格的に欲しくなってきたのでメモ兼考えをまとめる。 ことの発端は仕事でテーブルの変更を加えた際に200件を超えるINSERT文を修正しなければいけない可能性が出たこと。可能性で終わった(偶然僕は休みだったので)のだが、今後こういったケースが出ないとは限らない。というか...
2 comments:
2015-11-19
R7RSのライブラリに関する疑問
›
R7RSを実装する際に、ライブラリ周りはR6RSを使いまわしにできたのであまりその仕様について深く考察したことがなかったのだが、最近ちょっと考えることがあり疑問というか不明瞭な点がいくつかあることに気付いた。具体的にはライブラリは複数回読み込まれる可能性があるというこの仕様が不明...
2 comments:
2015-11-15
Defined or undefined?
›
R7RS doesn't mandate implementations to load a library only once, unlike R6RS. I believe, the reason why is that letting implementators ...
2015-11-10
Explicit Renamingが解るかもしれない解説
›
R7RS-largeではExplicit Renaming(以下ER)が入ると噂されている。まだSRFIすら出ていないのでいつになるのか全く不明ではあるのだが、それがどのように動くかを理解しておけば近い将来(と信じたい)ERが入った際に慌てふためくこともないだろう。といっても s...
2015-10-24
er-macro-transformer on top of syntax-case
›
There are numbers of low level hygienic macros in Scheme world. The most famous ones are probably the followings: explicit renaming synta...
2 comments:
2015-10-18
カスタムポートとソケットとバッファポート
›
「と」で繋げるとなんとなくアニメとかのタイトルっぽい感じがするなぁ。 Sagittariusは0.6.9でポート周りにかなりバグを混入した(弄った)のだが、頭を悩ませるバグが顕在化した。それが表題のポートである。どこで使われているかといえばTLSである。 何が問題か?いく...
2 comments:
2015-10-15
CPSマクロ
›
assoc をマクロで書いたらどうなるか、ということを考えた。これくらいならそんなに難しい話ではなく、以下のように書けるだろう。 (import (scheme base) (scheme write)) (define-syntax assocm (syntax-rul...
2015-10-12
Small Scheme or large Scheme?
›
2 topics about the size of Scheme were posted on c.l.s. One was rather branch of other topic: How many R6RS users and how much code out ther...
2015-10-09
bound or free identifier
›
I've just fixed the bug of incorrect usage of free-identifier=? during macro expansion. As my memo and maybe good to share what I'v...
2015-10-08
マクロバグ
›
何回目だろうこのネタ。もういい加減尽きたと信じたかったが、そうもいかないらしい。 バグの報告は以下のツイート Sagittarius 0.6.8 でこれが期待と違う結果になる。 R7RS の方で動作させると (1 2 3) が出力されるけど、 R6RS の方では (3 ...
2015-10-07
Timezone related bugs
›
Since Sagittarius 0.6.7, it has timezone object. The rationale behind this is pretty simple. Before it used localtime and some other C APIs...
2015-09-29
暗号ライブラリ (別題:実用Scheme)
›
Schemeは黒板言語だと言われたりするのだが(概ね認める部分もあるが)、プログラミング言語は実用されないことにはコミュニティも広がらないだろうということで、完全R7RSのみで暗号ライブラリを作っていたりする。ちなみにR6RS処理系用は industria があるので、そっちを使...
5 comments:
2015-09-24
process-wait with timeout argument
›
Recently, I'm writing own CI task on my local machine. (it doesn't mean I quit others when it's completed but just for fun.) The...
2015-09-22
SMTPクライアント
›
何かが失敗したときにメールを飛ばせると便利かなぁと思い書いた。こんな感じでメールが飛ばせる(サンプルはドキュメントから)。 (import (rnrs) (rfc client)) ;; creates SMTP mail object (define mail (s...
2015-09-11
call/ccで嵌った話
›
call/cc というよりは guard なんだけど。 エラー処理をしたいとか、エラーが起きても処理を継続したいという場合はままある。そういったときに使えるのは guard であることもまぁ周知の事実だと思う。これから提示する例も常識的に理解されているものかもしれない。 ...
6 comments:
Problem of hop on hop off projects
›
Hop on hop off projects is the term I made. This means you join a project in short term, then join other project in short term, like hop on ...
‹
›
Home
View web version