A list of open source projects that students can contribute to for student projects. Please feel free to join an existing project and collaborate. All your contributions to any project you've collaborated on will count toward your student achievements.
Runtime rtype parser #advanced
You'll learn about how programming language compilers parse source code, extract its meaning, and compile output from it.
Write a function that takes an rtype interface description as a string and returns an object that can be used for runtime type checking.
interface TypeChecker {
checkInputs: Predicate,
checkOutput: Predicate,
checkError: Predicate
}
parseSignature(signature: String) => TypeChecker
The target function will get wrapped by a utility such as rfx. When the wrapper function gets called, it will pass inputs to checkInputs()
. If it returns true, only then does the original function get called. When the function returns, its output will be similarly checked by checkOutput()
before it gets returned to the original caller. If the function throws, the error will also be checked, by checkError()
.
Useful background:
- How to Build a Compiler Great video by James Kyle
- How to Build a Compiler source Source companion to the James Kyle video
- The Stanford Compilers course (free online lectures)
If you're curious about types, see the introduction to types from the Stanford Compiler course.
CheckIn #intermediate
A simple app to keep track of what people on your teams are working on.
Rejection #basic #intermediate #advanced
The game where you have to lose to win!