on master help sign in
Merge pull request #1459 from urbit/mike/hoon-eval
450f395thelifeandtimes
content/grants/hoon-eval.mdnew file+56
@@ -0,0 +1,56 @@
1++++
2+title = "UF Apprenticeship Grant: Hoon Eval and REPL"
3+date = "2022-05-04"
4+
5+[taxonomies]
6+grant_type = [ "Apprenticeship" ]
7+grant_category = [ "Core Dev" ]
8+
9+[extra]
10+image = ""
11+description = "Build an eval command and a stateless REPL mode in vere"
12+reward = "1 star"
13+mentor = "~master-morzod"
14+assignee = ""
15+completed = false
16+canceled = false
17+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0161&prefill_Grant+Name=Hoon%20Eval%20and%20REPL"
18++++
19+
20+## UF Grant: Hoon Eval and REPL
21+
22+This project adds a commandline interface for evaluating hoon and printing the result, with a stretch goal of producing an interactive REPL. While most of the implementation will be in C, the apprentice will learn about and make extensive use of the Hoon parser, compiler, and pretty-printer.
23+
24+### Deliverables
25+
26+- an eval command in vere
27+- a stateless REPL mode in vere
28+
29+### User Stories
30+
31+- cat test.hoon | urbit eval
32+- read, eval, print, loop
33+
34+### Prequisites
35+
36+- proficiency in C and unix-style i/o
37+- basic familiarity with Hoon
38+
39+### Educational Outcomes for the Apprentice
40+
41+The apprentice will learn about:
42+
43+- vere/u3
44+- parsing and compiling hoon
45+- printing vases and tanks
46+
47+### Responsibilities of the Mentor
48+
49+- technical direction
50+- code review
51+- release plan
52+
53+### Duration and Compensation
54+
55+Expected duration is two months.
56+1 star paid at completion of apprenticeship