100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.6 TrustPilot
logo-home
Exam (elaborations)

CPSC110 Pset7 solution

Rating
-
Sold
-
Pages
8
Grade
A
Uploaded on
16-11-2025
Written in
2025/2026

This is the correct and the latest solution for pset 7.

Institution
Module

Content preview

;​; DO NOT PUT ANYTHING PERSONALLY IDENTIFYING BEYOND YOUR CWL IN THIS​
​FILE.​
​;; YOUR CWLs WILL BE SUFFICIENT TO IDENTIFY YOU.​
​;;​
​(require spd/tags)​

​(@assignment psets/pset-07); Do not edit or remove this tag​

​(@problem 1)​

;​; There is a primitive type called 1String, defined as follows:​
​;;​
​;; 1String is String​
​;; interp. a 1String represents a single letter​
​;; CONSTRAINT: any 1String is only one letter long​

(​ @htdd ListOf1String)​
​;; ListOf1String is one of:​
​;; - empty​
​;; - (cons 1String ListOf1String)​
​;; interp. a sequence of letters​

(​ define L1 empty)​
​(define L2 (list "a" "B" "c"))​

(​ @htdd Operations)​
​;; Operations is one of:​
​;; - empty​
​;; - (cons "keep" Operations)​
​;; - (cons "space" Operations)​
​;; - (cons "remove" Operations)​
​;; interp. a sequence of operations to apply to a list of 1String​
​;; "keep" means keep the corresponding letter​
​;; "space" means replace the corresponding letter with a " "​
​;; "remove" means remove the corresponding letter​


(​ @htdf decoder)​
​(@signature ListOf1String Operations -> String)​
​;; produce string containing letters in l with operations applied​
​(check-expect (decoder empty empty) "")​
​(check-expect (decoder empty (list "keep")) "")​
​(check-expect (decoder empty (list "space")) "")​
​(check-expect (decoder empty (list "remove")) "")​
​(check-expect (decoder (list "h" "i") empty) "hi")​
​(check-expect (decoder (list "h" "o" "w") (list "keep" "keep" "keep"))​
​"how")​
​(check-expect (decoder (list "o" "h") (list "space" "space"))​

, "​ ")​
​(check-expect (decoder (list "a" "d" "d") (list "remove" "remove"))​
​"d")​
​(check-expect (decoder (list "i" "k" "l" "h" "a" "m" "k" "s" "a" "r" "m")​
​(list "keep" "remove" "remove" "space" "keep" "keep"​
​"space" "keep" "keep" "remove" "keep"))​
​"i am sam")​

​(check-expect (decoder (list "e" "s" "r" "a" "m" "d" "i" "f" "a" "m")​
​(list "remove" "keep" "remove" "keep" "keep" "space"​
​"keep" "space"))​
​"sam i am")​


​ |​
#
​CROSS PRODUCT OF TYPE-COMMENTS TABLE​

​l-> empty (cons 1String ListOf1String)​
​ops​


​empty (string-append (first l) ;(2)​
​(decoder (rest l)​
​empty))​


​(cons "keep" "" (1) (string-append (first l) ;(3)​
​Operations) (decoder (rest l)​
​(rest ops)))​


​(cons "space" (string-append " " ;(4)​
​Operations) (decoder (rest l)​
​(rest ops)))​


​(cons "remove" (decoder (rest l) (rest ops)) ;(5)​
​Operations)​
​|#​

​(@template-origin 2-one-of)​

​(define (decoder l ops)​
​(cond [(empty? l) ""] ;(1)​
​[(empty? ops) ;(2)​
​(string-append (first l)​
​(decoder (rest l)​
​empty))]​

Written for

Institution
Study
Module

Document information

Uploaded on
November 16, 2025
Number of pages
8
Written in
2025/2026
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

£7.69
Get access to the full document:

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached

Get to know the seller
Seller avatar
06shyun1211

Get to know the seller

Seller avatar
06shyun1211 University of British Columbia
Follow You need to be logged in order to follow users or courses
Sold
New on Stuvia
Member since
2 months
Number of followers
0
Documents
8
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their exams and reviewed by others who've used these revision notes.

Didn't get what you expected? Choose another document

No problem! You can straightaway pick a different document that better suits what you're after.

Pay as you like, start learning straight away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and smashed it. It really can be that simple.”

Alisha Student

Frequently asked questions