Small stklos fixes

This commit is contained in:
retropikzel 2025-10-17 08:35:08 +03:00
parent 3161e23182
commit 77bc5ef145
2 changed files with 18 additions and 1 deletions

View File

@ -12,7 +12,7 @@
(foreign c chicken-primitives)))
;(cyclone (import (foreign c cyclone-primitives)))
;(gambit (import (foreign c gambit-primitives)))
(gauche (import (foreign c gauche-primitives)))
;(gauche (import (foreign c gauche-primitives)))
(guile (import (foreign c guile-primitives)))
;(kawa (import (foreign c kawa-primitives)))
;(mit-scheme (import (foreign c mit-scheme-primitives)))

View File

@ -1,3 +1,20 @@
(define foreign-c:string-split
(lambda (str mark)
(let* ((str-l (string->list str))
(res (list))
(last-index 0)
(index 0)
(splitter (lambda (c)
(cond ((char=? c mark)
(begin
(set! res (append res (list (string-copy str last-index index))))
(set! last-index (+ index 1))))
((equal? (length str-l) (+ index 1))
(set! res (append res (list (string-copy str last-index (+ index 1)))))))
(set! index (+ index 1)))))
(for-each splitter str-l)
res)))
(define type->native-type
(lambda (type)
(cond ((equal? type 'int8) :char)