Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #lang racket
- #|
- iempty, iempty?, icons, ifirst, irest, ilength, and iappend
- |#
- (provide ilist iempty iempty? icons ifirst irest ilength iappend)
- (define-struct ilist (value))
- (define iempty (make-ilist empty))
- (define (iempty? an-ilist)
- (cond
- [(empty? (ilist-value an-ilist)) true]
- [else false]))
- (define (ifirst an-ilist)
- (first (ilist-value an-ilist)))
- (define (irest an-ilist)
- (make-ilist (rest (ilist-value an-ilist))))
- (define (icons num an-ilist)
- (make-ilist (append (list num) (ilist-value an-ilist))))
- (define (ilength an-ilist)
- (length (ilist-value an-ilist)))
- (define (iappend ilist1 ilist2)
- (make-ilist (append (ilist-value ilist1) (ilist-value ilist2))))
- ;(define someilist (make-ilist (list 1 2 3)))
- ;(iempty? iempty)
- ;(iempty? someilist)
- ;(ifirst someilist)
- ;(irest someilist)
- ;(icons 3 someilist)
- ;(ilength someilist)
- ;(iappend someilist (make-ilist (list 1 2 3)))
Add Comment
Please, Sign In to add comment