trivial z3 usage example pasted by siiky on Thu Dec 7 16:19:53 2023

(import (chicken io) (chicken port) z3)
(with-output-to-port (z3:open-compressed-output-file "hello.gz")
  (lambda () (print "hello")))
(with-input-from-port (z3:open-compressed-input-file "hello.gz")
  (lambda () (print (read-line))))

z3 usage example (w/o with-*-port) pasted by siiky on Thu Dec 7 16:32:45 2023

(import (chicken io) (chicken port) z3)

(let ((port (z3:open-compressed-output-file "hello.gz")))
  (write-line "hello" port)
  (close-output-port port))

(let ((port (z3:open-compressed-input-file "hello.gz")))
  (print (read-line port))
  (close-input-port port))

Output of both examples added by siiky on Thu Dec 7 16:34:49 2023

# Using with-*-port
$ csi -s gz.scm

Error: (z3:read-decoded) can not read encoded data - Bad message

	Call history:

	<syntax>	  (##core#begin (print "hello"))
	gz.scm:3	  (print "hello")
	gz.scm:2	  (with-output-to-port (z3:open-compressed-output-file "hello.gz") (lambda () (print "hello")))
	gz.scm:2	  (z3:open-compressed-output-file "hello.gz")
	gz.scm:3	  (print "hello")
	gz.scm:4	  (with-input-from-port (z3:open-compressed-input-file "hello.gz") (lambda () (print (read-line))))
	gz.scm:4	  (z3:open-compressed-input-file "hello.gz")
	gz.scm:5	  (lambda () (print (read-line)))
	gz.scm:5	  (##core#lambda () (print (read-line)))
	<syntax>	  (##core#begin (print (read-line)))
	gz.scm:5	  (print (read-line))
	gz.scm:5	  (read-line)
	gz.scm:4	  (with-input-from-port (z3:open-compressed-input-file "hello.gz") (lambda () (print (read-line))))
	gz.scm:4	  (z3:open-compressed-input-file "hello.gz")
	gz.scm:5	  (print (read-line))
	gz.scm:5	  (read-line)	<--

# Without with-*-port
$ csi -s gz.scm
hello