ChickenSchemeでバイナリファイルをロードする

POSIX

Chicken SchemeでバイナリIOをする際には、
posix ユーティリティが利用できます。

Unit posix - The Chicken Scheme wiki

(use posix)

(define (load-blob pathname)
  (let* ((fo  (file-open pathname
                         (+ open/binary open/rdonly)))
         (fs  (file-size fo))
         (buf (make-blob fs)))
    (file-read fo fs buf)
    (file-close fo)
    buf))

(load-blob "hogehoge.bin")

大きいファイルはメモリに置けないですが、
小さいファイルは一度ロードして
メモリに置いておくとアクセスが早くて便利ですね。

あとがき

Nobukoでも簡単なリソースマネージャーを用意する予定です。
内部的に使用する簡易ファイルシステムも準備しようかと思います。
アセットのアーカイブ化や読み込み管理をさせる予定です。