Kawatabの技術メモ

主にLinuxを中心としたコンピュータ関連の技術情報を公開しています。 (English | Magyar | 日本語)

Racket

文字列をUTF-8に変換するRacketのコード

(let ([c "文字列"])
  (display (apply string-append
                  (map (lambda (x)
                         (string-append "\x\
                                        (number->string x 16)))
                       (bytes->list (string->bytes/utr-8 c)))))
  (newline))

Debianのテスト版のRacketのバージョンが6.1になった

typed-racketがまともに使えるようになったのかな?今は、マイSchemeの開発に集中しているので、あまり手を出せない。

webpage-generator.rktを開発中

タグ付けされた記事からタグごとにHTMLファイルを生成するスクリプトを開発中です。日本語、英語、ハンガリー語の3ヶ国語に対応しています。

Racketで書かれています。Racketの独自仕様を利用しているため、R5RSやR6RSのSchemeでは動きません。

https://github.com/kawatab/kawatab.github.io

Geiser

http://docs.racket-lang.org/guide/Emacs.html

Geiser provides a programming environment where the editor is tightly integrated with the Racket REPL. Programmers accustomed to environments such as Slime or Squeak should feel at home using Geiser. Geiser requires GNU Emacs 23.2 or better.

Typed Racket

Racketでは型チェックをするように書くことも可能なようだが、Debianではバージョン5.3.6では仕様が古いため、リファレンスにあるようにしても使えない。以下のようにすると使える。

(: str-list : (Listof String))
(define str-list '("abc" "def" "ghi"))
(: func : String -> Number)
(define (func x) (string-length x))

新しいバージョンでは以下のページを参照すること。

The Typed Racket Guide

The Typed Racket Reference