;; -*-theme-d-*-

;; Copyright (C) 2018  Tommi Höynälänmaa
;; Distributed under GNU General Public License version 3,
;; see file doc/GPL-3.

;; Expected results: translation and running OK

(define-proper-program (tests test726)

  (import (standard-library core)
	  (standard-library list-utilities)
	  (standard-library console-io))

  (define-simple-proc main (() <none> nonpure)
    (guard-without-result
     (exc ((and (rte-exception? exc)
		(equal? (get-rte-exception-kind (cast <condition> exc))
			'my-exception))
	   (let ((exc1 (cast <condition> exc)))
	     (console-display "info: ")
	     (console-display-line
	      (cast <string>
		    (gen-cdr (assoc 'str-info
				    (cast <rte-exception-info>
					  (get-rte-exception-info exc1))
				    null))))))
	  (else
	   (console-display-line "Unknown exception.")))
     (raise (make-rte-exception 'my-exception (list (cons 'str-info "HEP")))))))
