Gauche > Archives > 2015/01/17

2015/01/17 07:13:44 UTCyamasushi
#
Testing SRFIs ...                                                *** ERROR: argument out of range: 87602240022
    While loading "../test/srfi.scm" at line 2293
Stack Trace:
_______________________________________
  0  (for-each (lambda (x) (sob-increment! result x 1)) elements)
        At line 213 of "../lib/srfi-113.scm"
  1  (set set-comparator (set eqv-comparator 1 2) (set eqv-comparator 1
        At line 1943 of "../test/srfi.scm"
Testing object system ...                                        passed.
#
Total: 14558 tests, 14558 passed, 0 failed, 1 aborted.
#
$ head ChangeLog 
2015-01-15  Shiro Kawai  <shiro@acm.org>

	* lib/srfi-69.scm, src/srfis.scm, test/srfi.scm, doc/modsrfi.texi:
	  Added srfi-69 support.

2015-01-14  Shiro Kawai  <shiro@acm.org>

	* lib/gauche/record.scm: Fix a bug when there's one argument
	  given to the custom constructor.
2015/01/17 08:08:54 UTCshiro
#
む。妙なエラーだな。プラットフォームを教えてください。
2015/01/17 10:57:52 UTCyamasushi
#
$ gosh -V
Gauche scheme shell, version 0.9.5_pre1 [utf-8,pthreads], i686-pc-linux-gnu
#
This Gauche has been configured with the following parameters:
           version: 0.9.5_pre1
         multibyte: utf8
              slib: /usr/local/slib
            thread: pthreads
           tls/ssl: axTLS
  optional modules: odbm ndbm gdbm zlib
#
同時に別のアプリが立ち上がってたんで,もう一度やってみます。
2015/01/17 11:15:50 UTCshiro
#
32bitのせいかな? 手元に32bit環境が無くなっちゃったんでしばらく試してない。
2015/01/17 11:15:53 UTCyamasushi
#
Testing SRFIs ...                                                *** ERROR: argument out of range: 87602240022
    While loading "../test/srfi.scm" at line 2293
Stack Trace:
_______________________________________
  0  (for-each (lambda (x) (sob-increment! result x 1)) elements)
        At line 213 of "../lib/srfi-113.scm"
  1  (set set-comparator (set eqv-comparator 1 2) (set eqv-comparator 1
        At line 1943 of "../test/srfi.scm"
Testing object system ...                                        passed.
2015/01/17 18:07:14 UTCshiro
#
>yamasuhi さん、多分原因わかりました。最新コミット (11272a7) で試してみてください。
2015/01/17 20:25:30 UTCshiro
#
picrinのprotocol、クラスの部分もうちょい妥協したら、ポータブルな多相ディスパッチとしてsrfiになりそうな気がする http://wasabiz.hatenablog.com/entry/2015/01/12/170025
#
妥協というのはつまり、型システムやオブジェクトシステムについて処理系毎に独自のポリシーがあるので、特定のオブジェクトシステムを要求してしまうような作りだとポータブルにしにくい。
#
クラスという独立した概念を仕様上要求しないようになってれば、protocol自体は実装が軽量でいろいろなオブジェクトシステムにadaptできそうだから。
#
(picrin class)も要は述語によるメンバーシップ判断を管理してるだけだからポータブルではあるんだけど、クラスと言ってしまうと処理系が提供するものと衝突が起きそうだからなあ。
2015/01/17 23:18:04 UTCyamasushi
#
動きました。ありがとうございます。