Plaster
New
List
Login
common-lisp
default
scymtym
2024.02.08 23:36:33
(defvar *new-constituent-traits* (let ((table (copy-trait-table *default-constituent-traits*))) (setf (find-traits #\_ table) (list (find-trait :alphabetic) (find-trait :decimal-separator)) (find-traits #\~ table) (list (find-trait :alphabetic) (find-trait :ratio-marker)) (find-traits #\⨁ table) (list (find-trait :alphabetic) (find-trait :plus-sign)) (find-traits #\: table) (list (find-trait :alphabetic)) (find-traits #\> table) (list (find-trait :package-marker))) table)) (let ((*constituent-trait-table* *new-constituent-traits*)) (read-from-string "(⨁1_234_567~7_654_321 foo:bar >keyword)")) ;; (1234567/7654321 |FOO:BAR| :KEYWORD) ;; 39
Raw
Annotate
Repaste
Annotations
common-lisp
default
scymtym
2024.02.09 13:13:57
(defvar *null-constituent-traits* (make-instance 'trait-table)) (let ((*constituent-trait-table* *null-constituent-traits*)) (read-from-string "(⨁1_234_567~7_654_321 foo:bar >keyword)")) ;; (⨁1_234_567~7_654_321 |FOO:BAR| >KEYWORD) ;; 39 (let ((*constituent-trait-table* *null-constituent-traits*)) (read-from-string "(+1234567/7654321 foo:bar :keyword)")) ;; (|+1234567/7654321| |FOO:BAR| |:KEYWORD|) ;; 35
Raw
Repaste