diff --git a/libs/cyclone/foreign.sld b/libs/cyclone/foreign.sld index c1f42844..f1c2ae4a 100644 --- a/libs/cyclone/foreign.sld +++ b/libs/cyclone/foreign.sld @@ -9,7 +9,7 @@ (define-library (cyclone foreign) (import (scheme base) - (scheme write) ;; TODO: debugging only! + ;(scheme write) ;; TODO: debugging only! ;(scheme cyclone pretty-print) (scheme cyclone util) ) diff --git a/scheme/cyclone/cgen.sld b/scheme/cyclone/cgen.sld index 82851910..1777dafa 100644 --- a/scheme/cyclone/cgen.sld +++ b/scheme/cyclone/cgen.sld @@ -994,12 +994,10 @@ args)) ((eq? 'Cyc-foreign-value fun) - (c->scm (car args) (cadr args)) - ;(c:code/vars - ; (string-append - ; "obj_int2obj(" (car args) ")") - ; (list)) - ) + (let ((kons (c->scm (car args) (cadr args)))) + (c:code/vars + (cdr kons) + (list (car kons))))) ((prim? fun) (let* ((c-fun