Skip to content

Instantly share code, notes, and snippets.

View t-sin's full-sized avatar
🆑

Shinichi Tanaka t-sin

🆑
View GitHub Profile

SBCL改行コード対応めも

SBCLが現状扱える改行コードは実行プラットフォームもののみ(LinuxならLF)だが、これをLF/CR/CRLF全て扱えるようにしたい。

現状認識

  • SBCLはexternal-formatで改行コードを扱えない  - LinuxでCRLFなファイルを開くと#\Returnがいっぱい現れる
  • SBCLはプラットフォーム標準の改行コードを#\Newlineとして扱っている
; SLIME 2.18
CL-USER>
"SBCL"
CL-USER> (format t "~a ~a~%" (lisp-implementation-type) (lisp-implementation-version))
SBCL 1.3.13
NIL
CL-USER> (ql:quickload :jonathan)
To load "jonathan":
Load 1 ASDF system:
jonathan
@t-sin
t-sin / character-boundary.lisp
Last active February 7, 2017 15:41
UTF-8 character boundaries mis-recognized with flexi-streams, on SBCL
(ql:quickload '(:flexi-streams :circular-streams))
(setf s "こんにちは")
(setf o (flex:string-to-octets s :external-format :utf-8))
(with-input-from-string (in s)
(format t "read from stream: ~s~%" (read-char in)))
;; => read from stream: #\HIRAGANA_LETTER_KO
(flex:with-input-from-sequence (in o)
@t-sin
t-sin / roswell_playbook.yml
Created May 5, 2017 11:17
roswell setup with ansible
---
# install dependencies
- name: install autoconf
apt: name=autoconf state=present update_cache=yes
become: yes
- name: install build tools
apt: name=build-essential state=present
become: yes
~/code/inquisitor$ git log --oneline -n 1
322b055 BOM check (but not used yet)
~/code/inquisitor$ run-prove inquisitor-test.asd
To load "inquisitor-test":
Load 1 ASDF system:
inquisitor-test
; Loading "inquisitor-test"
1..16
✓ (:UTF-8 :UCS-2LE :UCS-2BE :UTF-16 :ISO-2022-JP :EUC-JP :CP932 :BIG5 :ISO-2022-TW :GB2312 :GB18030 :ISO-2022-CN :EUC-KR :JOHAB :ISO-2022-KR :ISO-8859-6 :CP1256 :ISO-8859-7 :CP1253 :ISO-8859-8 :CP1255 :ISO-8859-9 :CP1254 :ISO-8859-5 :KOI8-R :KOI8-U :CP866 :CP1251 :ISO-8859-2 :CP1250 :ISO-8859-13 :CP1257) is expected to be (:UTF-8 :UCS-2LE :UCS-2BE :UTF-16 :ISO-2022-JP :EUC-JP :CP932 :BIG5 :ISO-2022-TW :GB2312 :GB18030 :ISO-2022-CN :EUC-KR :JOHAB :ISO-2022-KR :ISO-8859-6 :CP1256 :ISO-8859-7 :CP1253 :ISO-8859-8 :CP1255 :ISO-8859-9 :CP1254 :ISO-8859-5 :KOI8-R :KOI8-U :CP866 :CP1251 :ISO-8859-2 :CP1250 :ISO-8859-13 :CP1257)
~/code/inquisitor$ git log --oneline -n 1
756c1d0 Factors out BOM checking
~/code/inquisitor$ run-prove inquisitor-test.asd
To load "inquisitor-test":
Load 1 ASDF system:
inquisitor-test
; Loading "inquisitor-test"
1..16
✓ (:UTF-8 :UCS-2LE :UCS-2BE :UTF-16 :ISO-2022-JP :EUC-JP :CP932 :BIG5 :ISO-2022-TW :GB2312 :GB18030 :ISO-2022-CN :EUC-KR :JOHAB :ISO-2022-KR :ISO-8859-6 :CP1256 :ISO-8859-7 :CP1253 :ISO-8859-8 :CP1255 :ISO-8859-9 :CP1254 :ISO-8859-5 :KOI8-R :KOI8-U :CP866 :CP1251 :ISO-8859-2 :CP1250 :ISO-8859-13 :CP1257) is expected to be (:UTF-8 :UCS-2LE :UCS-2BE :UTF-16 :ISO-2022-JP :EUC-JP :CP932 :BIG5 :ISO-2022-TW :GB2312 :GB18030 :ISO-2022-CN :EUC-KR :JOHAB :ISO-2022-KR :ISO-8859-6 :CP1256 :ISO-8859-7 :CP1253 :ISO-8859-8 :CP1255 :ISO-8859-9 :CP1254 :ISO-8859-5 :KOI8-R :KOI8-U :CP866 :CP1251 :ISO-8859-2 :CP1250 :ISO-8859-13 :CP1257)
#!/bin/sh
#|-*- mode:lisp -*-|#
#| Add/Remove your project ASD file into quicklisp local-init
exec ros -Q -- $0 "$@"
|#
(progn ;;init forms
(ros:ensure-asdf))
(defpackage :ros.script.ros-tap.3704598400
(:use :cl))
@t-sin
t-sin / rosa-is-not-included-in-rosa-core.md
Last active June 1, 2017 02:11
自作パッケージがroswellのコアに含まれない問題について:解決しました
(in-package :cl-user)
(defpackage :bf.markdown
  (:use :cl :papyrus :named-readtables))
(in-package :bf.markdown)
(in-readtable :papyrus)

How to make your Brainf**k

What is Brainf**k?