- Timestamp:
- 07/03/09 10:46:56 (12 years ago)
- Location:
- chicken/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
chicken/trunk/chicken-ffi-syntax.scm
r12937 r15143 138 138 (##sys#er-transformer 139 139 (lambda (form r c) 140 (##sys#check-syntax 'foreign-value form '(_ string _)) 141 (let ([tmp (gensym 'code_)]) 140 (##sys#check-syntax 'foreign-value form '(_ _ _)) 141 (let ((tmp (gensym 'code_)) 142 (code (cadr form))) 142 143 `(,(r 'begin) 143 (,(r 'define-foreign-variable) ,tmp ,(caddr form) ,(cadr form)) 144 (,(r 'define-foreign-variable) ,tmp 145 ,(cond ((string? code) code) 146 ((symbol? code) (symbol->string code)) 147 (else (syntax-error 'foreign-value "bad argument type - not a string or symbol" code))) 148 ,(cadr form)) 144 149 ,tmp) ) ) ) ) 145 150 -
chicken/trunk/eval.scm
r15119 r15143 712 712 (let-values ([(exp _) 713 713 (##sys#do-the-right-thing (car ids) #f imp?)]) 714 `( ,(rename 'begin se),exp ,(loop (cdr ids))) ) ) )714 `(##core#begin ,exp ,(loop (cdr ids))) ) ) ) 715 715 e #f tf cntr se) ) ] 716 716 -
chicken/trunk/manual/Accessing external objects
r13710 r15143 21 21 === foreign-value 22 22 23 [syntax] (foreign-value STRINGTYPE)23 [syntax] (foreign-value CODE TYPE) 24 24 25 Evaluates the embedded C/C++ expression {{ STRING}}, returning a value of type given25 Evaluates the embedded C/C++ expression {{CODE}} (which may be a string or symbol), returning a value of type given 26 26 in the foreign-type specifier {{TYPE}}. 27 27
Note: See TracChangeset
for help on using the changeset viewer.