https://github.com/yeah568/cs311_a1
https://github.com/yeah568/cs311_a1
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/yeah568/cs311_a1
- Owner: yeah568
- Created: 2017-09-06T18:18:32.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-22T04:03:10.000Z (over 8 years ago)
- Last Synced: 2025-10-24T21:55:06.856Z (8 months ago)
- Language: Racket
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
Awesome Lists containing this project
README
CPSC 311 Assignment 1
James Liu, q6x8, 28629111
I have read and complied with the collaboration policy.
1. What is it about using find-species in the implementation of common-ancestor that can cause common-ancestor to become inefficient?
In the implementation with find-species, the basic approach requires calling find-species at every level, which means that you need to recompute the tree traversal many times.
2. What do you most want to get out of this course?
A deeper understanding of what makes for useful and practical features in a language - I constantly see debates about one language being "better" than another, and it'd be nice to be able to put in some substantial thoughts into the merits of a language over another. Additioanlly, I hope to learn about how to design a language to be useful to others, in developing a DSL for a program, for example.
3. What's something cool, interesting, frustrating, or tangentially relevant that this assignment made you think about?
As someone who has spent many years since CPSC 110 programming in languages like JavaScript, Python, and C#, I'm reminded of the fact that any problem that can be done iteratively can also be done recursively. My natural thought process is to think of things in an iterative manner - for each character in a string, for each element in a list, etc. However, as Racket is a functional language, you generally use recursive solutions, forcing me to change my way of thinking from iterative to recursive solutions.
Bonus question completed in bonus.rkt.