diff --git a/content/guides/additional/hoon/sail.md b/content/guides/additional/hoon/sail.md index 36c9cd2..e7dde11 100644 --- a/content/guides/additional/hoon/sail.md +++ b/content/guides/additional/hoon/sail.md @@ -27,7 +27,7 @@ It’s easy to see how Sail can directly translate to HTML: - ``` ;html ;head - ;title: My page + ;title = My page ;meta(charset "utf-8"); == ;body diff --git a/content/guides/core/hoon-school/.ipynb_checkpoints/manipulator-checkpoint.ipynb b/content/guides/core/hoon-school/.ipynb_checkpoints/manipulator-checkpoint.ipynb deleted file mode 100644 index a8d31d9..0000000 --- a/content/guides/core/hoon-school/.ipynb_checkpoints/manipulator-checkpoint.ipynb +++ /dev/null @@ -1,318 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 40, - "id": "f11e2531", - "metadata": {}, - "outputs": [], - "source": [ - "from glob import glob\n", - "\n", - "filenames = glob('*-*.md')\n", - "\n", - "import re" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "4214fd19", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "A-intro.md\n", - "B-syntax.md\n", - "C-azimuth.md\n", - "D-gates.md\n", - "E-types.md\n", - "F-cores.md\n", - "G-trees.md\n", - "H-libraries.md\n", - "I-testing.md\n", - "J-stdlib-text.md\n", - "K-doors.md\n", - "L-struct.md\n", - "L2-struct.md\n", - "M-logic.md\n", - "N-subject.md\n", - "O-stdlib-io.md\n", - "P-func.md\n", - "Q-metals.md\n", - "R-math.md\n" - ] - } - ], - "source": [ - "for filename in sorted(filenames):\n", - " with open(filename, 'r') as f:\n", - " text = f.read()\n", - " text = text.replace('nodes: ', 'nodes: [')\n", - " sol = text.find('nodes: [')\n", - " eol = text[sol:].find('\\n') + sol\n", - " text = text[:eol]+']'+text[eol:]\n", - " \n", - " text = text.replace('objectives:\\n - ', 'objectives: [')\n", - " sol = text.find('objectives: [')\n", - " eol = text[sol:].find('---') + sol\n", - " text = text[:eol]+']'+text[eol:]\n", - " i = sol\n", - " while text[i:i+3] != '---':\n", - " if text[i:i+5] == '\\n - ':\n", - " text = text[:i]+\", \"+text[i+5:]\n", - " i += 1\n", - " \n", - " text = text.replace('\\n]---\\n', ']\\n+++\\n')\n", - " text = text.replace('---\\n', '+++\\n')\n", - " \n", - " with open(filename, 'w') as f:\n", - " f.write(text)\n", - " print(filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "bb5f47b2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "A-intro.md\n", - "B-syntax.md\n", - "C-azimuth.md\n", - "D-gates.md\n", - "E-types.md\n", - "F-cores.md\n", - "G-trees.md\n", - "H-libraries.md\n", - "I-testing.md\n", - "J-stdlib-text.md\n", - "K-doors.md\n", - "L-struct.md\n", - "L2-struct.md\n", - "M-logic.md\n", - "N-subject.md\n", - "O-stdlib-io.md\n", - "P-func.md\n", - "Q-metals.md\n", - "R-math.md\n" - ] - } - ], - "source": [ - "for filename in sorted(filenames):\n", - " with open(filename, 'r') as f:\n", - " text = f.read()\n", - " text = text.replace('\"], [\"', '\", \"')\n", - " with open(filename, 'w') as f:\n", - " f.write(text)\n", - " print(filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "9399188a", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv R-math.md S-math.md" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "07dae118", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv Q-metals.md R-metals.md" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "a7e31ca0", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv R-fund.md R-func.md" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "25bb6d78", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv R-func.md Q-func.md" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "5a97e7f7", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv O-stdlib-io.md P-stdlib-io.md" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "5063edea", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv N-subject.md O-subject.md" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "4fef1acd", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv M-logic.md N-logic.md" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "e875e80e", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv L2-struct.md M-struct.md" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "a54b515d", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/R-math.md/S-math.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "4271af78", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/Q-metals.md/R-metals.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "0ca7cd68", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/P-func.md/Q-func.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "ecb03df8", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/O-stdlib-io.md/P-stdlib-io.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "92d1eb7b", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/N-subject.md/O-subject.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "04de4f25", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/M-logic.md/N-logic.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "5bc1bfa2", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/L2-struct.md/M-struct.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "daf9b75e", - "metadata": {}, - "outputs": [], - "source": [ - "!git mv M-struct.md M-typecheck.md" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "264f0e44", - "metadata": {}, - "outputs": [], - "source": [ - "!sed -i 's/M-struct.md/M-typecheck.md/g' *.md" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b64a8014", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/content/guides/core/hoon-school/A-intro.md b/content/guides/core/hoon-school/A-intro.md index 8946490..acf92ef 100644 --- a/content/guides/core/hoon-school/A-intro.md +++ b/content/guides/core/hoon-school/A-intro.md @@ -1,8 +1,8 @@ +++ title = "Introduction to Hoon" weight = 10 -nodes: [100, 103] -objectives: ["Explain what an Urbit ship is.", "Distinguish a fakeship from a liveship.", "Pronounce ASCII characters per standard Hoon developer practice." +nodes = [100, 103] +objectives = ["Explain what an Urbit ship is.", "Distinguish a fakeship from a liveship.", "Pronounce ASCII characters per standard Hoon developer practice." +++ # Introduction to Hoon diff --git a/content/guides/core/hoon-school/B-syntax.md b/content/guides/core/hoon-school/B-syntax.md index f1afcd1..de9e75a 100644 --- a/content/guides/core/hoon-school/B-syntax.md +++ b/content/guides/core/hoon-school/B-syntax.md @@ -1,7 +1,7 @@ +++ -title: Hoon Syntax -nodes: [110, 113] -objectives: ["Distinguish nouns, cells, and atoms.", "Apply auras to transform an atom.", "Identify common Hoon molds, such as cells, lists, and tapes.", "Pin a face to the subject.", "Make a decision at a branch point.", "Distinguish loobean from boolean operations.", "Slam a gate (call a function)."] +title = Hoon Syntax +nodes = [110, 113] +objectives = ["Distinguish nouns, cells, and atoms.", "Apply auras to transform an atom.", "Identify common Hoon molds, such as cells, lists, and tapes.", "Pin a face to the subject.", "Make a decision at a branch point.", "Distinguish loobean from boolean operations.", "Slam a gate (call a function)."] +++ # Hoon Syntax diff --git a/content/guides/core/hoon-school/C-azimuth.md b/content/guides/core/hoon-school/C-azimuth.md index 0544183..f5fb966 100644 --- a/content/guides/core/hoon-school/C-azimuth.md +++ b/content/guides/core/hoon-school/C-azimuth.md @@ -1,7 +1,7 @@ +++ -title: Azimuth (Urbit ID) -nodes: [102, 112] -objectives: ["Understand the role of the public-key infrastructure in Urbit.", "Describe the high-level architecture of the Urbit ID address space and distinguish types of points.", "Interpret and apply the Azimuth point naming scheme.", "Identify point features such as activity.", "List at least two services/roles provided by a galaxy for the network.", "List at least two services provided by a star for its planets.", "Use Hoon to map the Azimuth address space domains and boundaries.", "Identify points, sponsors, neighbors, etc. from `@p` identifiers and simple operations."] +title = Azimuth (Urbit ID) +nodes = [102, 112] +objectives = ["Understand the role of the public-key infrastructure in Urbit.", "Describe the high-level architecture of the Urbit ID address space and distinguish types of points.", "Interpret and apply the Azimuth point naming scheme.", "Identify point features such as activity.", "List at least two services/roles provided by a galaxy for the network.", "List at least two services provided by a star for its planets.", "Use Hoon to map the Azimuth address space domains and boundaries.", "Identify points, sponsors, neighbors, etc. from `@p` identifiers and simple operations."] +++ # Azimuth (Urbit ID) diff --git a/content/guides/core/hoon-school/D-gates.md b/content/guides/core/hoon-school/D-gates.md index b44c3c1..3de7c08 100644 --- a/content/guides/core/hoon-school/D-gates.md +++ b/content/guides/core/hoon-school/D-gates.md @@ -1,7 +1,7 @@ +++ -title: Gates (Functions) -nodes: [111, 115, 120] -objectives: ["Use the `+ls` generator to show a directory's contents.", "`|mount` and `|commit` a desk.", "Identify current known irregular syntax.", "Convert between regular and irregular forms of runes to date.", "Employ a gate to defer a computation.", "Produce a gate as a generator.", "Annotate Hoon code with comments.", "Produce a generator to convert a value between auras."] +title = Gates (Functions) +nodes = [111, 115, 120] +objectives = ["Use the `+ls` generator to show a directory's contents.", "`|mount` and `|commit` a desk.", "Identify current known irregular syntax.", "Convert between regular and irregular forms of runes to date.", "Employ a gate to defer a computation.", "Produce a gate as a generator.", "Annotate Hoon code with comments.", "Produce a generator to convert a value between auras."] +++ # Gates (Functions) diff --git a/content/guides/core/hoon-school/E-types.md b/content/guides/core/hoon-school/E-types.md index 3ae8a64..509abde 100644 --- a/content/guides/core/hoon-school/E-types.md +++ b/content/guides/core/hoon-school/E-types.md @@ -1,7 +1,7 @@ +++ -title: Molds (Types) -nodes: [125] -objectives: ["Identify a mold in the hierarchy of Urbit types (nouns, molds, marks).", "Understand how type inference and type checking takes place.", "Bunt a mold.", "Produce a type union.", "Produce a named tuple.", "Identify type using `!>`."] +title = Molds (Types) +nodes = [125] +objectives = ["Identify a mold in the hierarchy of Urbit types (nouns, molds, marks).", "Understand how type inference and type checking takes place.", "Bunt a mold.", "Produce a type union.", "Produce a named tuple.", "Identify type using `!>`."] +++ # Molds (Types) diff --git a/content/guides/core/hoon-school/F-cores.md b/content/guides/core/hoon-school/F-cores.md index fe633b3..3196b92 100644 --- a/content/guides/core/hoon-school/F-cores.md +++ b/content/guides/core/hoon-school/F-cores.md @@ -1,7 +1,7 @@ +++ -title: Cores -nodes: [130, 133] -objectives: ["Employ a trap to produce a reentrant block of code.", "Produce a recursive gate.", "Distinguish head and tail recursion.", "Consider Hoon structures as cores.", "Identify the special role of the `$` buc arm in many cores.", "Order neighboring cores within the subject for addressibility.", "Produce a type arm."] +title = Cores +nodes = [130, 133] +objectives = ["Employ a trap to produce a reentrant block of code.", "Produce a recursive gate.", "Distinguish head and tail recursion.", "Consider Hoon structures as cores.", "Identify the special role of the `$` buc arm in many cores.", "Order neighboring cores within the subject for addressibility.", "Produce a type arm."] +++ # Cores diff --git a/content/guides/core/hoon-school/G-trees.md b/content/guides/core/hoon-school/G-trees.md index 379d0f6..1d88d5f 100644 --- a/content/guides/core/hoon-school/G-trees.md +++ b/content/guides/core/hoon-school/G-trees.md @@ -1,7 +1,7 @@ +++ -title: Trees, Addressing, and Lists -nodes: [135, 140, 156] -objectives: ["Address nodes in a tree using numeric notation.", "Address nodes in a tree using lark notation.", "Address data in a tree using faces.", "Distinguish `.` and `:` notation.", "Diagram Hoon structures such as gates into the corresponding abstract syntax tree.", "Use lists to organize data.", "Convert between kinds of lists (e.g. tapes).", "Diagram lists as binary trees.", "Operate on list elements using `snag`, `find`, `weld`, etc.", "Explain how Hoon manages the subject and wing search paths.", "Explain how to skip to particular matches in a wing search path through the subject.", "Identify common Hoon patterns: batteries, and doors, arms, wings, and legs."] +title = Trees, Addressing, and Lists +nodes = [135, 140, 156] +objectives = ["Address nodes in a tree using numeric notation.", "Address nodes in a tree using lark notation.", "Address data in a tree using faces.", "Distinguish `.` and `:` notation.", "Diagram Hoon structures such as gates into the corresponding abstract syntax tree.", "Use lists to organize data.", "Convert between kinds of lists (e.g. tapes).", "Diagram lists as binary trees.", "Operate on list elements using `snag`, `find`, `weld`, etc.", "Explain how Hoon manages the subject and wing search paths.", "Explain how to skip to particular matches in a wing search path through the subject.", "Identify common Hoon patterns: batteries, and doors, arms, wings, and legs."] +++ # Trees, Addressing, and Lists diff --git a/content/guides/core/hoon-school/H-libraries.md b/content/guides/core/hoon-school/H-libraries.md index ba991c4..69b4712 100644 --- a/content/guides/core/hoon-school/H-libraries.md +++ b/content/guides/core/hoon-school/H-libraries.md @@ -1,7 +1,7 @@ +++ -title: Libraries -nodes: [145, 153, 175] -objectives: ["Import a library using `/+` faslus.", "Create a new library in `/lib`.", "Identify the role of a desk in the Clay filesystem.", "Identify the components of a beak.", "Identify filesystem locations (including desks).", "Identify the components of a path.", "Build code samples with `-build-file` thread.", "Discuss Ford import runes."] +title = Libraries +nodes = [145, 153, 175] +objectives = ["Import a library using `/+` faslus.", "Create a new library in `/lib`.", "Identify the role of a desk in the Clay filesystem.", "Identify the components of a beak.", "Identify filesystem locations (including desks).", "Identify the components of a path.", "Build code samples with `-build-file` thread.", "Discuss Ford import runes."] +++ # Libraries diff --git a/content/guides/core/hoon-school/I-testing.md b/content/guides/core/hoon-school/I-testing.md index 90f44ec..0a61887 100644 --- a/content/guides/core/hoon-school/I-testing.md +++ b/content/guides/core/hoon-school/I-testing.md @@ -1,7 +1,7 @@ +++ -title: Testing Code -nodes: [170, 190] -objectives: ["Run existing unit tests.", "Produce a unit test.", "Employ a debugging strategy to identify and correct errors in Hoon code."] +title = Testing Code +nodes = [170, 190] +objectives = ["Run existing unit tests.", "Produce a unit test.", "Employ a debugging strategy to identify and correct errors in Hoon code."] +++ # Testing Code diff --git a/content/guides/core/hoon-school/J-stdlib-text.md b/content/guides/core/hoon-school/J-stdlib-text.md index 882a2c4..7e8b93f 100644 --- a/content/guides/core/hoon-school/J-stdlib-text.md +++ b/content/guides/core/hoon-school/J-stdlib-text.md @@ -1,7 +1,7 @@ +++ -title: Text Processing I -nodes: [160, 163] -objectives: ["Review Unicode text structure.", "Distinguish cords and tapes and their characteristics.", "Transform and manipulate text using text conversion arms.", "Interpolate text.", "Employ sigpam logging levels.", "Create a `%say` generator.", "Identify how Dojo sees and interprets a generator as a cell with a head tag.", "Identify the elements of a `sample` for a `%say` generator.", "Produce a `%say` generator with optional arguments."] +title = Text Processing I +nodes = [160, 163] +objectives = ["Review Unicode text structure.", "Distinguish cords and tapes and their characteristics.", "Transform and manipulate text using text conversion arms.", "Interpolate text.", "Employ sigpam logging levels.", "Create a `%say` generator.", "Identify how Dojo sees and interprets a generator as a cell with a head tag.", "Identify the elements of a `sample` for a `%say` generator.", "Produce a `%say` generator with optional arguments."] +++ # Text Processing I diff --git a/content/guides/core/hoon-school/K-doors.md b/content/guides/core/hoon-school/K-doors.md index 36f5ba7..203add3 100644 --- a/content/guides/core/hoon-school/K-doors.md +++ b/content/guides/core/hoon-school/K-doors.md @@ -1,7 +1,7 @@ +++ -title: Cores and Doors -nodes: [150, 155] -objectives: ["Identify the structure of a door and relate it to a core.", "Pull an arm in a door.", "Build cores for later use and with custom samples.", "Identify the `$` buc arm in several structures and its role."] +title = Cores and Doors +nodes = [150, 155] +objectives = ["Identify the structure of a door and relate it to a core.", "Pull an arm in a door.", "Build cores for later use and with custom samples.", "Identify the `$` buc arm in several structures and its role."] +++ # Cores and Doors diff --git a/content/guides/core/hoon-school/L-struct.md b/content/guides/core/hoon-school/L-struct.md index b8f5023..640a5c3 100644 --- a/content/guides/core/hoon-school/L-struct.md +++ b/content/guides/core/hoon-school/L-struct.md @@ -1,7 +1,7 @@ +++ -title: Data Structures -nodes: [183] -objectives: ["Identify units, sets, maps, and compound structures like jars and jugs.", "Explain why units and vases are necessary.", "Use helper arms and syntax: `` ` ``, `biff`, `some`, etc."] +title = Data Structures +nodes = [183] +objectives = ["Identify units, sets, maps, and compound structures like jars and jugs.", "Explain why units and vases are necessary.", "Use helper arms and syntax: `` ` ``, `biff`, `some`, etc."] +++ # Data Structures diff --git a/content/guides/core/hoon-school/M-typecheck.md b/content/guides/core/hoon-school/M-typecheck.md index 1ad06bc..d7ac4bc 100644 --- a/content/guides/core/hoon-school/M-typecheck.md +++ b/content/guides/core/hoon-school/M-typecheck.md @@ -1,7 +1,7 @@ +++ -title: Type Checking -nodes: [183] -objectives: ["Use assertions to enforce type constraints."] +title = Type Checking +nodes = [183] +objectives = ["Use assertions to enforce type constraints."] +++ # Type Checking diff --git a/content/guides/core/hoon-school/N-logic.md b/content/guides/core/hoon-school/N-logic.md index e6e4059..5a14afb 100644 --- a/content/guides/core/hoon-school/N-logic.md +++ b/content/guides/core/hoon-school/N-logic.md @@ -1,7 +1,7 @@ +++ -title: Conditional Logic -nodes: [184] -objectives: ["Produce loobean expressions.", "Reorder conditional arms.", "Switch against a union with or without default."] +title = Conditional Logic +nodes = [184] +objectives = ["Produce loobean expressions.", "Reorder conditional arms.", "Switch against a union with or without default."] +++ # Conditional Logic diff --git a/content/guides/core/hoon-school/O-subject.md b/content/guides/core/hoon-school/O-subject.md index ae0db81..1bd6faf 100644 --- a/content/guides/core/hoon-school/O-subject.md +++ b/content/guides/core/hoon-school/O-subject.md @@ -1,7 +1,7 @@ +++ -title: Subject-Oriented Programming -nodes: [165, 180] -objectives: ["Review subject-oriented programming as a design paradigm.", "Discuss stateful v. stateless applications and path dependence.", "Enumerate Hoon's tools for dealing with state: `=.` tisdot, `=^` tisket, `;<` micgal, `;~` micsig.", "Defer a computation."] +title = Subject-Oriented Programming +nodes = [165, 180] +objectives = ["Review subject-oriented programming as a design paradigm.", "Discuss stateful v. stateless applications and path dependence.", "Enumerate Hoon's tools for dealing with state: `=.` tisdot, `=^` tisket, `;<` micgal, `;~` micsig.", "Defer a computation."] +++ # Subject-Oriented Programming diff --git a/content/guides/core/hoon-school/P-stdlib-io.md b/content/guides/core/hoon-school/P-stdlib-io.md index 465f8da..6428257 100644 --- a/content/guides/core/hoon-school/P-stdlib-io.md +++ b/content/guides/core/hoon-school/P-stdlib-io.md @@ -1,7 +1,7 @@ +++ -title: Text Processing II -nodes: [185] -objectives: ["Identify tanks, tangs, wains, walls, and similar formatted printing data structures.", "Interpret logging message structures (`%leaf`, `$rose`, `$palm`).", "Interpolate to tanks with `><` syntax.", "Produce useful error annotations using `~|` sigbar."] +title = Text Processing II +nodes = [185] +objectives = ["Identify tanks, tangs, wains, walls, and similar formatted printing data structures.", "Interpret logging message structures (`%leaf`, `$rose`, `$palm`).", "Interpolate to tanks with `><` syntax.", "Produce useful error annotations using `~|` sigbar."] +++ # Text Processing II diff --git a/content/guides/core/hoon-school/Q-func.md b/content/guides/core/hoon-school/Q-func.md index c3e6bb9..7590ded 100644 --- a/content/guides/core/hoon-school/Q-func.md +++ b/content/guides/core/hoon-school/Q-func.md @@ -1,7 +1,7 @@ +++ -title: Functional Programming -nodes: [233, 283, 383] -objectives: ["Reel, roll, turn a list." ], ["Curry, cork functions." ], ["Change arity of a gate.", "Tokenize text simply using `find` and `trim`.", "Identify elements of parsing: `nail`, `rule`, etc.", "Use `++scan` to parse `tape` into atoms.", "Construct new rules and parse arbitrary text fields."] +title = Functional Programming +nodes = [233, 283, 383] +objectives = ["Reel, roll, turn a list." ], ["Curry, cork functions." ], ["Change arity of a gate.", "Tokenize text simply using `find` and `trim`.", "Identify elements of parsing: `nail`, `rule`, etc.", "Use `++scan` to parse `tape` into atoms.", "Construct new rules and parse arbitrary text fields."] +++ # Functional Programming diff --git a/content/guides/core/hoon-school/R-metals.md b/content/guides/core/hoon-school/R-metals.md index 0885bb1..3b1cd57 100644 --- a/content/guides/core/hoon-school/R-metals.md +++ b/content/guides/core/hoon-school/R-metals.md @@ -1,7 +1,7 @@ +++ -title: Generic and Variant Cores -nodes: [288, 299] -objectives: ["Distinguish dry and wet cores.", "Describe use cases for wet gates (using genericity).", "Enumerate and distinguish use cases for dry cores (using variance):", "- Covariant (`%zinc`)", "- Contravariant (`%iron`)", "- Bivariant (`%lead`)", "- Invariant (`%gold`)"] +title = Generic and Variant Cores +nodes = [288, 299] +objectives = ["Distinguish dry and wet cores.", "Describe use cases for wet gates (using genericity).", "Enumerate and distinguish use cases for dry cores (using variance):", "- Covariant (`%zinc`)", "- Contravariant (`%iron`)", "- Bivariant (`%lead`)", "- Invariant (`%gold`)"] +++ # Adaptive Cores diff --git a/content/guides/core/hoon-school/S-math.md b/content/guides/core/hoon-school/S-math.md index 40e8bcf..5d1f865 100644 --- a/content/guides/core/hoon-school/S-math.md +++ b/content/guides/core/hoon-school/S-math.md @@ -1,7 +1,7 @@ +++ -title: Mathematics -nodes: [234, 236, 284] -objectives: ["Review floating-point mathematics including IEEE-754.", "Examine `@r` atomic representation of floating-point values.", "Manipulate and convert floating-point values using the `@r` operations.", "Examine `@s` atomic representation of signed integer values.", "Use `+si` to manipulate `@s` signed integer values.", "Define entropy and its source.", "Utilize `eny` in a random number generator (`og`).", "Distinguish insecure hashing (`mug`) from secure hashing (`shax` and friends)."] +title = Mathematics +nodes = [234, 236, 284] +objectives = ["Review floating-point mathematics including IEEE-754.", "Examine `@r` atomic representation of floating-point values.", "Manipulate and convert floating-point values using the `@r` operations.", "Examine `@s` atomic representation of signed integer values.", "Use `+si` to manipulate `@s` signed integer values.", "Define entropy and its source.", "Utilize `eny` in a random number generator (`og`).", "Distinguish insecure hashing (`mug`) from secure hashing (`shax` and friends)."] +++ # Mathematics