;; -*-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 test350)

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


  (define-param-class :singleton (%type) <object>
    #f #f #t public ()
    ((o %type public public)))


  (define-param-proc make-singleton (%type)
		     (((o1 %type)) (:singleton %type) pure)
    (make (:singleton %type) o1))


  (define main
    (lambda (() <none> nonpure)
      (let ((sgt (make-singleton 10)))
	(console-display-line (field-ref sgt 'o))))))
