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


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


  (define-simple-proc my-substring
      (((str <string>) (i-start <integer>) (i-end <integer>))
       <string>
       force-pure)
    (let-mutable ((result <string> ""))
      (do ((i <integer> i-start (+ i 1))) ((>= i i-end))
	(set! result (string-append result (string (string-ref str i)))))
      result))


  (define main
    (lambda (() <none> nonpure)
      (let* ((str (my-substring "abc" 1 2)))
	(console-display-line str)))))
