Hatena::Groupcadr

最適S式探求会

2011-02-24

x86_64 Linux の Clozure CL の文字コード関連

| 12:02 | はてなブックマーク - x86_64 Linux の Clozure CL の文字コード関連 - 最適S式探求会

@I_Iibraさんに教えていただいて解決しました!

CCL の -K オプションで *terminal-io* で文字コードを指定しなければいけなかったようです。


昨日から悩んでいるんですが、 x86_64 の Clozure CL (Version 1.6-r14471M) で以下のコードで出力が文字化けをするのが何故なのかがわかりません。Twitter@l_libraさん にもアドバイスをいただいたのですが、解決に至ってないです。

;; sample.lisp
(defun run ()
  (with-open-file (input "/tmp/sample.txt" :direction :input :external-format :utf-8)
    (format t "~A~%" (read-line input))))

shinnya@quad% nkf -g /tmp/sample.txt
UTF-8
shinnya@quad% cat /tmp/sample.txt
こんにちは!
shinnya@quad% rlwrap ccl
; Loading system definition from /home/shinnya/.ccl/systems/asdf-install.asd into #<Package "ASDF0">
; Registering #<SYSTEM ASDF-INSTALL> as ASDF-INSTALL
;;; ASDF-Install version 0.6.14
Welcome to Clozure Common Lisp Version 1.6-r14471M  (LinuxX8664)!
? (load "/tmp/sample.lisp")
#P"/tmp/sample.lisp"
? (run)

NIL
? (quit)
shinnya@quad% sbcl --load /tmp/sample.lisp --eval '(progn (run) (quit))'
This is SBCL 1.0.44, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
; loading system definition from
; /usr/lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.asd into #<PACKAGE "ASDF0">
; registering #<SYSTEM SB-BSD-SOCKETS> as SB-BSD-SOCKETS
; registering #<SYSTEM SB-BSD-SOCKETS-TESTS> as SB-BSD-SOCKETS-TESTS
; loading system definition from /usr/lib/sbcl/sb-posix/sb-posix.asd into
; #<PACKAGE "ASDF0">
; registering #<SYSTEM SB-POSIX> as SB-POSIX
; registering #<SYSTEM SB-POSIX-TESTS> as SB-POSIX-TESTS
こんにちは!

2010-08-25

構文解析器生成系

| 15:21 | はてなブックマーク - 構文解析器生成系 - 最適S式探求会

構文解析器生成系の実装の仕方を解説してるサイトとかないのかなぁ.

Scheme from scratchを読んだ

| 15:17 | はてなブックマーク - Scheme from scratchを読んだ - 最適S式探求会

SICP の metacircular evaluator を元に C で Scheme インタプリタを scratch から実装するというシリーズです.

2010-08-24

named-let

| 15:22 | はてなブックマーク - named-let - 最適S式探求会

(defmacro named-let (name binds &body body)
    `(labels ((,name ,(mapcar #'car binds)
                ,@body))
       (,name ,@(mapcar #'cadr binds))))

2010-08-21

g000001g0000012010/08/21 23:42Levine氏のFundamentals of CLOSははてダで翻訳している方がいます。
http://d.hatena.ne.jp/cl-intern/searchdiary?word=%2A%5BCLOS%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB%5D

ShinnyaShinnya2010/08/22 09:16情報提供ありがとうございます.
英語を読むのは特に苦にしていませんが,日本語訳があるにこしたことはないので助かります.