時の羅針盤@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)
▼
2019-04-12
R6RS MongoDB with transaction
›
I've made a portable R6RS MongoDB library, I think, last year. Now I needed to support transaction so decided to implement it. Since Mon...
2019-04-01
JSON 周りのライブラリ
›
宝クジが大当たりしました。 四月馬鹿お終い。 Sagittarius は意外にも JSON 周りのライブラリが充実している。開発者である僕の本業が Web 系だからというのも要因の一つだと思う。一昔前の XML みたいな位置に JSON がいるのが大きい。最近書いてるアプ...
2019-03-15
R7RS-large タンジェリン
›
タンジェリンってみかんじゃないのか… 2月にR7RS-largeのタンジェリンエディションがでた。ブログ記事を書こうとずっと思っていたのだが、所謂「life gets in」な状態だったので中々時間も取れずズルズルと一月以上経ってしまった(言い訳)。前回のR7RS-large...
2019-01-02
(My) best practice of conditions
›
I've been writing portable/non-portable Scheme libraries for a rather long time and kind of getting my best practice of how to make cond...
2018-12-20
(usocket): R6RS portable socket library
›
Motivation When I wrote the MongoDB client library in R6RS portable manner, I have included socket procedures inside of the library. Now, ...
2 comments:
2018-12-02
SRFI-123の紹介
›
この記事は Lisp SETF Advent Calendar 2018 二日目の為に書かれました。 0x25歳になって最初に書く記事です(実際には投稿予約の機能を使っているので数日若いが…)。いい感じの区切りの歳の最初の記事としてはイマイチな題材かもしれないなぁとも思いつ...
2018-10-08
JMESPath
›
JSON用のクエリーがほしいなぁと思いいろいろ探していたのだが、まともな仕様があるものが少ない。JSONPathは超有名なブログ記事のみで今一不安だし、JSONiqはちょっとしたクエリ書くだけにしては巨大すぎる感があるし、JSON Queryでググると山のようにオレオレ実装が出て...
2018-09-16
JSON パーサ
›
JMESPathの実装をしていてJSONのパーサをPEGで書いた方が便利だなぁということに気付いたので実装してみた。仕様は最新のJSONの仕様( RFC8259 )を参照することにした(別にjson.orgのでもよかったんだけど、なんとなく。どうせ一緒だろ?)。 どうでもいい...
2018-08-28
JSON Schema
›
JSON Schemaというものがある。これはみんな大好きJSONにXSDよろしく型をつけようというものだ。XSDより簡単っぽいのでとりあえず実装してみた。こんな感じで使える。 // product.schema.json { "$schema": ...
2018-08-22
キャッシュバグと手続きの同一性
›
こんなバグに遭遇した。 ASSERT failure /home/takashi/projects/sagittarius/src/closure.c:50: SG_CODE_BUILDERP(code) C assertなので、いかんともしがたいやつである。 再現コード...
2018-08-15
YAMLパーサー
›
個人的にはYAMLは好きではないのだが、世の中の流れはYAMLに行っているのは明白かなぁと思っている。ということで、SagittariusにはYAMLのサポートを入れることにした。こんな感じで使える。 # test.yaml %YAML 1.2 --- receipt: ...
2018-07-19
パイプライン アイデア編(2)
›
前回何となく書いたパイプラインのアイデアをもう少し進めてみた。 例えばこんな感じで使えるとうれしいだろうか? (import (rnrs) (util concurrent)) (define-pipeline-catalogue pipeline-cat...
2018-07-16
【備忘録】Windows 10 上である程度まともな開発環境を作る
›
今月から新しい職場になったのだが、前職と違い開発環境がWindowsであった。噂にはMacが与えられる予定だったらしいのだが、偉いさんの鶴の一声で却下されたとか…まぁ、大企業あるあるだと思って前向きに考えることにした。っで、今日環境がWindows 7からWindows 10にア...
2018-06-07
パイプライン アイデア編
›
MongoDBバインディングの使用例を書いている際に、アクターを繋げてパイプライン的に動かすようなのを書いたのだが、これうまくやるとパターンにできないかなぁと思えてきた。 イメージとしては以下のようなブロックをつなげていくような感じ +==============p...
2018-06-04
MongoDBバインディング
›
ここ数週間R6RSな処理系で動くMongoDBバインディングを作っていたのだが、なんとなくお披露目してもいいかなぁという感じの出来になってきたのでお披露目してみる。 リポジトリは ここ 。 こんな感じで使える。 (import (rnrs) (mongod...
2018-05-16
あるソフトウェア開発者の転職経験記
›
オランダ在住かつマーケット以上の給料をもらっているという前提条件があるので、あまり参考にならないかもしれないが、こんな感じでやったら成功したというのを一応記録しておく。 【条件設定】 転職する際にはなぜ転職したいのかを明確にしておくとゴールが設定しやすい。僕の場合は以下が...
2018-05-07
ライブラリの依存性
›
Scheme でライブラリを書いていると巨大なファイルになることがままある。最近だと このファイル 。まだ未完成なのだが既に1000行近くある(まだ1000行とも言えるが、個人的にファイル内の移動が既に辛い)。辛いなら分ければいいじゃない?という話なのだが、怠け者根性と分け方で迷...
2018-04-26
あなたがSchemeを使うべきではないn個の理由
›
ちょっと前にこんなことを呟いた。 I often see this type of dis about Scheme or LISP in general but which standardised programming language has, say, socke...
2018-03-30
Ephemeron を使ってみる
›
Ephemeron は SRFI-124で定義されているがどういったものなのか、どういう挙動が期待されるのかというのはなかなかに想像しづらい。ということで、ちょっと触りつつ解説してみる。 まず、 ephemeron とは何か?ものすごく簡単に言えば循環構造を許す弱対といえる。...
2018-03-23
Generatorの勧め
›
Schemeでリスト処理を書いていると中間リスト(処理の最中に作成されて捨てられるリスト)の存在が気にならないだろうか?ClojureにはTransducersがあるのにSchemeにはないのだろうか?そこでGeneratorである。 Generatorは元もとGaucheに...
‹
›
Home
View web version