mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-21 22:59:16 +02:00
Added define-c inline helpers
This commit is contained in:
parent
85ab42e5d2
commit
2af740f763
1 changed files with 13 additions and 0 deletions
|
@ -68,6 +68,9 @@
|
|||
;; Code generation
|
||||
mangle
|
||||
mangle-global
|
||||
;; Inlines (TBD, this may move)
|
||||
define-c-inline?
|
||||
define-c->inline-var
|
||||
;; Scheme library functions
|
||||
gensym
|
||||
delete
|
||||
|
@ -198,6 +201,16 @@
|
|||
(define (define-c? exp)
|
||||
(tagged-list? 'define-c exp))
|
||||
|
||||
(define (define-c-inline? exp)
|
||||
(and (define-c? exp) (= (length exp) 6)))
|
||||
|
||||
(define (define-c->inline-var exp)
|
||||
(let ((var (define->var exp)))
|
||||
(string->symbol
|
||||
(string-append
|
||||
(symbol->string var)
|
||||
"__inline__"))))
|
||||
|
||||
;; Create a proper copy of an improper list
|
||||
;; EG: (1 2 . 3) ==> (1 2 3)
|
||||
(define (pair->list p)
|
||||
|
|
Loading…
Add table
Reference in a new issue