linkenneth / furry-bear Goto Github PK
View Code? Open in Web Editor NEWTemporary repository for Project 4 for CS 61A
Temporary repository for Project 4 for CS 61A
NAMES: ---------------------------------------------------------------------- Kenneth Lin cs61a-kn Michael Lin Yang cs61a-ia WORK SPLIT: ---------------------------------------------------------------------- We never explicitly determined Partner A and Partner B, nor did we explicitly split the work for any part. We also did a lot of cross-checking and helping each other write their parts, so we can't really determine where the work split comes. BUGS: ---------------------------------------------------------------------- Although our interpreter works for arbitrarily long tail recursions, it does not work for arbitrariliy long lists of arguments. This is because the structure of scm_read() lends itself to be recursive for every argument. Therefore, our interpreter cannot handle more than ~900 arguments, and fewer depending on the recursion limits. Therefore, the autograder testing will not pass with some of the stress tests we introduced in our tests.scm file. This is not necessarily a bug but more a flaw in design that would require major refactoring to fix. NOTES: ---------------------------------------------------------------------- * In our tests.scm, we introduced many stress tests that would not pass the autograder tests simply because of the number of arguments it requires that the reader must read. We have provided a tests_nostress.scm for running tests with higher recursion limits. Note that this does not mean that our interpreter does not handle tail recursion (see BUGS). * For efficiency, we refactored a lot of for loops using self.expr.nth() to use while loops. Some functions may look different as a result. * We defined three new utility functions to simply our code: make_single_body(), evaluate_expr_seq_and_set_expr_as_last(), and make_list(). The first two are defined in scheme.py, while the last is defined in scheme_primitives.py. * For easier testing, we altered our scheme_test.py to treat all memory locations such as 0x23fa6b etc. to be interpreted to same. * We customized our prompt a bit :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.