;; -*-theme-d-*-

;; Copyright (C) 2008-2013 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 test338)


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

  (declare :b <param-class>)
  
  (define-param-class :a (%type) <object> #t #f #f public ()
    ((value (:b %type) public public)))

  (define-param-class :b (%type) <object> #t #f #f public ()
    ((value (:maybe (:a %type)) public public)))

  (define main
    (lambda (() <none> nonpure)
      (let* ((b (make (:b <integer>) null))
	     (a (make (:a <integer>) b)))
      (console-display-line a)
      (console-display-line b)))))

