;; -*-theme-d-*-

;; Copyright (C) 2014  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 test710)

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

  (define-param-method my-for-each1
      (%argtype)
      (((proc (:procedure (%argtype) <none> nonpure))
  	(lst (:uniform-list %argtype)))
       <none>
       nonpure)
    (match-type lst
      ((<null>) null)
      ((lst1 (:nonempty-uniform-list %argtype))
       (proc (car lst1))
       (for-each1 proc (cdr lst1)))))

  (define-simple-proc main (() <none> nonpure)
    (my-for-each1 console-display-line '(1 2 3 4 5))))
