weixin_39631755 2020-11-29 13:31
浏览 0

Ironclad does not compile with cst

There are 3 issues: * one needs export GC_INITIAL_HEAP_SIZE=10G to avoid running out of memory * ironclad changes the readtable but not eclectors readtable. Will try to teach eclector clasp readtable as agreed on #clasp. * Compiling ironclad cached-function-scope is called with nil and that breaks

该提问来源于开源项目:clasp-developers/clasp

  • 写回答

7条回答 默认 最新

  • weixin_39631755 2020-11-29 13:31
    关注

    to work around the second issue, change the following in package.lisp

    lisp
    (defun array-reader (stream subchar arg)
      (declare (ignore subchar))
      (let ((array-data (read stream nil stream nil))
            (array-element-type `(unsigned-byte ,arg)))
        ;; FIXME: need to make this work for multi-dimensional arrays
        `(make-array ,(length array-data) :element-type ',array-element-type
                    :initial-contents ',array-data)))
    
        #-cst (set-dispatch-macro-character #\# #\L #'sharpL-reader)
        #+cst (eclector.readtable:set-dispatch-macro-character
         eclector.readtable:*readtable*
         #\# #\L #'sharpL-reader)
    
    (defparameter *ironclad-readtable*
      #-cst
      (let ((readtable (copy-readtable nil)))
        (set-dispatch-macro-character #\# #\@ #'array-reader readtable)
        readtable)
      #+cst
      (progn
      (eclector.readtable:set-dispatch-macro-character
         eclector.readtable:*readtable*
         #\# #\@ #'array-reader)
         (copy-readtable nil)))
    

    `

    This is obviously no solution, but allows one to come to the last issue

    评论

报告相同问题?