Hakaru

Due Monday Nov 18th @ 9 am

From this assignment, students may show...

Software Ecosystem - Radiant

Functional Programming - Radiant

Technical Reading - Reasoning, Radiant

Documentation and Usability - Radiant

Feedback and Evaluation - Radiant

... in addition to other learning objectives students feel their work accomplishes.

For radiance objectives, I am looking for analysis that would have broader impacts or relations to (future) work outside the scope of this class. This can be achieved by providing deeper speculation on how you think the topics of this paper impacts real language design "in the wild" (providing concrete details), or doing your own light research/fact finding and bringing in citations to compare/contrast.

Let's begin

The Hakaru paper can be found here in addition to the reading repo.

Reading Comprehension

The full documentation for hakaru can be found here
  1. What is the domain of Hakaru?
  2. Who are Hakaru users?
  3. What is a measure in the context of this domain? How does Hakaru provide this as an abstraction and how is it represented?
  4. Why does Hakaru provide its own data types for common values and datastructures? (e.g. HPair,HReal, etc).
  5. With respect to section 4.2, what does shallower mean and what would a shallower embedding look like? (You may want to follow the citations to answer this question
  6. How did the authors evaluate the language with respect to performance? ...with respect to usability?

Applying your reading

Work through the getting started guide and tutorials for Hakaru. Then, revisit the reading comprehension quetions about whether your answers stayed the same, changed, or become more regined. Also, how did this documentation illustrate the language differently than the paper? Were they written for different audiences?

Submit your analysis.

Optional META.md

META.md should include
  1. your name
  2. your utln
  3. how much time you spent on this assignment
  4. the witness "proof" for how you earned each learning objective

Please Submit

Contents to be submitted

Method of submission

Please commit your changes in the hw20-1 directory of your private repo and push them to the remote server before 9 am.