File: callback-tests.scm

package info (click to toggle)
chicken 5.3.0-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 32,892 kB
  • sloc: ansic: 580,083; lisp: 71,987; tcl: 1,445; sh: 588; makefile: 60
file content (21 lines) | stat: -rw-r--r-- 364 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
;;;; callback-tests.scm

(import (only (chicken process-context) command-line-arguments))

(define k1)

(define-external (foo) void
  (call/cc
   (lambda (k) (set! k1 k)))
  (print "hi!"))

#>
extern void foo();
static void bar() { foo(); }
<#

(print "callbacks ...")
((foreign-safe-lambda void "bar"))

(when (member "twice" (command-line-arguments))
  (k1 #f))