Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
caduceus: {
book: {
basics: {
caduceus_changes: {
changes: {
"": "Caduceus Changes",
"1": "I have noticed some changes to the behavior of certain $(l:patterns/meta#hexcasting:eval/cc)meta-evaluation techniques/$ as of late.$(br2)\
Jump iotas are no longer entirely opaque to me - I can now see the $(l:patterns/jump_manipulation)components/$ that make them up, although I have not yet managed to isolate one.",
Jump iotas are no longer entirely opaque to me - I can now see the $(l:caduceus/patterns/jump_manipulation)components/$ that make them up, although I have not yet managed to isolate one.",
"2": "Additionally, it seems $(l:casting/mishaps)Too Many Iotas/$ mishaps have become more common when working with Jump iotas. I should take care not to delve too deep.",
},
},
Expand All @@ -18,34 +18,39 @@
link_text: "Wikipedia",
},
"3": {
text: "Next, a blog post on \"delimited continuations\", with some concrete examples that may be feasible to rewrite as _Hexes for practice. I may find this useful if I am having trouble understanding $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ and $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$.",
text: "Next, a blog post on \"delimited continuations\", with some concrete examples that may be feasible to rewrite as _Hexes for practice. I may find this useful if I am having trouble understanding $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ and $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$.",
link_text: "Blog Post",
},
"4": {
text: "Finally, if I can overlook a bit of fourth-wall breaking, this document gives an overview of the specific techniques employed by Nature to interpret my _Hexes.",
link_text: "How Casting Works",
},
},
caduceus_mishaps: {
mishaps: {
"": "Caduceus Mishaps",
"1": "This section documents the mishaps that can occur when manipulating Jump iotas and using delimited jumps.",
no_prompt: {
title: "Uncontained Arke",
text: "I attempted to draw $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$ without wrapping it in $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
text: "I attempted to draw $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$ without wrapping it in $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
},
},
},
patterns: {
delimcc: {
"": "Delimited Jumps",
"eval/prompt": "Cast a pattern or list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that anything outside of this cast will not be captured by an $(l:patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$ within it.",
"eval/prompt_at": "Like $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$, but also sets the $(l:patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ of the cast to the given iota. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"eval/prompt": "Cast a pattern or list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that anything outside of this cast will not be captured by an $(l:caduceus/patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$ within it.",
"eval/prompt_at": "Like $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$, but also sets the $(l:caduceus/patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ of the cast to the given iota. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"eval/control": {
"1": "Cast a pattern or list of patterns from the stack similarly to $(l:patterns/meta#hexcasting:eval/cc)$(action)Iris' Gambit/$. Must be drawn within $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"2": "All of the patterns that would have been drawn between the end of the pattern list and the end of the enclosing $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ are $(italic)moved/$ into a Call iota, which is pushed to the stack instead of a Jump iota.$(br2)\
When the Call iota is executed, the captured patterns will be cast as if by $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$. If the Call iota is not executed, the rest of the patterns within the enclosing $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ will be skipped.",
"1": "Cast a pattern or list of patterns from the stack similarly to $(l:patterns/meta#hexcasting:eval/cc)$(action)Iris' Gambit/$. Must be drawn within $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"2": "All of the patterns that would have been drawn between the end of the pattern list and the end of the enclosing $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ are $(italic)moved/$ into a Call iota, which is pushed to the stack instead of a Jump iota.$(br2)\
When the Call iota is executed, the captured patterns will be cast as if by $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$. If the Call iota is not executed, the rest of the patterns within the enclosing $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ will be skipped.",
},
"eval/control_at": "Like $(l:patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$, but only patterns within an enclosing $(l:patterns/delimcc#caduceus:eval/prompt_at)$(action)Thetis' Gambit II/$ with a $(l:patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ matching the given iota are captured. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$.",
"eval/control_at": "Like $(l:caduceus/patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$, but only patterns within an enclosing $(l:caduceus/patterns/delimcc#caduceus:eval/prompt_at)$(action)Thetis' Gambit II/$ with a $(l:caduceus/patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ matching the given iota are captured. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:caduceus/patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$.",
},
goto: {
"": "Numeric Jumps",
"eval/setup_goto": "Cast a list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that a $(l:caduceus/patterns/goto#caduceus:eval/goto)$(action)Prometheus' Gambit/$ within this cast will jump to an index within this list of patterns.",
"eval/goto": "Remove a number from the stack, then jump to that index in the list cast by the enclosing $(l:caduceus/patterns/goto#caduceus:eval/setup_goto)$(action)Elbrus' Gambit/$. If the number is negative, the index counts from the end of the list instead.",
},
jump_manipulation: {
"": "Jump Manipulation",
Expand All @@ -62,11 +67,11 @@
There is one notable limitation of $(thing)jump tags/$, however: they can only hold a single iota at a time. Unlike the $(l:patterns/readwrite#hexcasting:local)$(thing)ravenmind/$, even lists are too much."
},
"read/mark/local": "Copy the iota stored in the $(thing)jump tag/$ of the current evaluation and add it to the stack.",
"read/mark/iota": "Like $(l:patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$, but the iota is read out of the $(thing)jump tag/$ of the top frame in a Jump iota.",
"read/mark/iota": "Like $(l:caduceus/patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$, but the iota is read out of the $(thing)jump tag/$ of the top frame in a Jump iota.",
"write/mark/local": {
"1": "Remove the top iota from the stack, and write it to the $(thing)jump tag/$ of the current evaluation.$(br)\
As with $(l:patterns/readwrite#hexcasting:write/entity)$(action)Chronicler's Gambit/$, I cannot write my own Name using this spell.",
"2": "I should be careful if using $(l:patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$ or $(l:patterns/jump_manipulation#caduceus:write/mark/local)$(action)Ewer's Gambit/$ at the very end of an invocation. The tag that it reads or writes may not be the one I expect.",
"2": "I should be careful if using $(l:caduceus/patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$ or $(l:caduceus/patterns/jump_manipulation#caduceus:write/mark/local)$(action)Ewer's Gambit/$ at the very end of an invocation. The tag that it reads or writes may not be the one I expect.",
},
},
},
Expand All @@ -84,6 +89,7 @@
},

"caduceus:": {
goto: "Goto",
prompt: "Prompt",
},
"hexcasting:": {
Expand All @@ -103,13 +109,16 @@
"eval/prompt_at": "Thetis' Gambit II",
"eval/control": "Arke's Gambit",
"eval/control_at": "Arke's Gambit II",
"eval/setup_goto": "Elbrus' Gambit",
"eval/goto": "Prometheus' Gambit",
"read/mark/local": "Ewer's Reflection",
"read/mark/iota": "Ewer's Purification",
"write/mark/local": "Ewer's Gambit",
},
},

mishap: {
no_goto: "Did not first use Elbrus' Gambit",
no_prompt: "Did not first use Thetis' Gambit",
invalid_value: {
class: {
Expand Down
35 changes: 22 additions & 13 deletions projects/assets/caduceus/1.20/caduceus/lang/en_us.flatten.json5
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
caduceus: {
book: {
basics: {
caduceus_changes: {
changes: {
"": "Caduceus Changes",
"1": "I have noticed some changes to the behavior of certain $(l:patterns/meta#hexcasting:eval/cc)meta-evaluation techniques/$ as of late.$(br2)\
Jump iotas are no longer entirely opaque to me - I can now see the $(l:patterns/jump_manipulation)components/$ that make them up, although I have not yet managed to isolate one.",
Jump iotas are no longer entirely opaque to me - I can now see the $(l:caduceus/patterns/jump_manipulation)components/$ that make them up, although I have not yet managed to isolate one.",
"2": "Additionally, it seems $(l:casting/mishaps)Too Many Iotas/$ mishaps have become more common when working with Jump iotas. I should take care not to delve too deep.",
},
},
Expand All @@ -18,34 +18,39 @@
link_text: "Wikipedia",
},
"3": {
text: "Next, a blog post on \"delimited continuations\", with some concrete examples that may be feasible to rewrite as _Hexes for practice. I may find this useful if I am having trouble understanding $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ and $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$.",
text: "Next, a blog post on \"delimited continuations\", with some concrete examples that may be feasible to rewrite as _Hexes for practice. I may find this useful if I am having trouble understanding $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ and $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$.",
link_text: "Blog Post",
},
"4": {
text: "Finally, if I can overlook a bit of fourth-wall breaking, this document gives an overview of the specific techniques employed by Nature to interpret my _Hexes.",
link_text: "How Casting Works",
},
},
caduceus_mishaps: {
mishaps: {
"": "Caduceus Mishaps",
"1": "This section documents the mishaps that can occur when manipulating Jump iotas and using delimited jumps.",
no_prompt: {
title: "Uncontained Arke",
text: "I attempted to draw $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$ without wrapping it in $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
text: "I attempted to draw $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Arke's Gambit/$ without wrapping it in $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
},
},
},
patterns: {
delimcc: {
"": "Delimited Jumps",
"eval/prompt": "Cast a pattern or list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that anything outside of this cast will not be captured by an $(l:patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$ within it.",
"eval/prompt_at": "Like $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$, but also sets the $(l:patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ of the cast to the given iota. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"eval/prompt": "Cast a pattern or list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that anything outside of this cast will not be captured by an $(l:caduceus/patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$ within it.",
"eval/prompt_at": "Like $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$, but also sets the $(l:caduceus/patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ of the cast to the given iota. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"eval/control": {
"1": "Cast a pattern or list of patterns from the stack similarly to $(l:patterns/meta#hexcasting:eval/cc)$(action)Iris' Gambit/$. Must be drawn within $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"2": "All of the patterns that would have been drawn between the end of the pattern list and the end of the enclosing $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ are $(italic)moved/$ into a Call iota, which is pushed to the stack instead of a Jump iota.$(br2)\
When the Call iota is executed, the captured patterns will be cast as if by $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$. If the Call iota is not executed, the rest of the patterns within the enclosing $(l:patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ will be skipped.",
"1": "Cast a pattern or list of patterns from the stack similarly to $(l:patterns/meta#hexcasting:eval/cc)$(action)Iris' Gambit/$. Must be drawn within $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$.",
"2": "All of the patterns that would have been drawn between the end of the pattern list and the end of the enclosing $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ are $(italic)moved/$ into a Call iota, which is pushed to the stack instead of a Jump iota.$(br2)\
When the Call iota is executed, the captured patterns will be cast as if by $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$. If the Call iota is not executed, the rest of the patterns within the enclosing $(l:caduceus/patterns/delimcc#caduceus:eval/prompt)$(action)Thetis' Gambit/$ will be skipped.",
},
"eval/control_at": "Like $(l:patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$, but only patterns within an enclosing $(l:patterns/delimcc#caduceus:eval/prompt_at)$(action)Thetis' Gambit II/$ with a $(l:patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ matching the given iota are captured. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$.",
"eval/control_at": "Like $(l:caduceus/patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$, but only patterns within an enclosing $(l:caduceus/patterns/delimcc#caduceus:eval/prompt_at)$(action)Thetis' Gambit II/$ with a $(l:caduceus/patterns/jump_manipulation#jump_tags)$(thing)jump tag/$ matching the given iota are captured. If the iota is $(l:casting/influences)$(thing)Null/$, this is equivalent to $(l:caduceus/patterns/delimcc#caduceus:eval/control)$(action)Arke's Gambit/$.",
},
goto: {
"": "Numeric Jumps",
"eval/setup_goto": "Cast a list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that a $(l:caduceus/patterns/goto#caduceus:eval/goto)$(action)Prometheus' Gambit/$ within this cast will jump to an index within this list of patterns.",
"eval/goto": "Remove a number from the stack, then jump to that index in the list cast by the enclosing $(l:caduceus/patterns/goto#caduceus:eval/setup_goto)$(action)Elbrus' Gambit/$. If the number is negative, the index counts from the end of the list instead.",
},
jump_manipulation: {
"": "Jump Manipulation",
Expand All @@ -62,11 +67,11 @@
There is one notable limitation of $(thing)jump tags/$, however: they can only hold a single iota at a time. Unlike the $(l:patterns/readwrite#hexcasting:local)$(thing)ravenmind/$, even lists are too much."
},
"read/mark/local": "Copy the iota stored in the $(thing)jump tag/$ of the current evaluation and add it to the stack.",
"read/mark/iota": "Like $(l:patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$, but the iota is read out of the $(thing)jump tag/$ of the top frame in a Jump iota.",
"read/mark/iota": "Like $(l:caduceus/patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$, but the iota is read out of the $(thing)jump tag/$ of the top frame in a Jump iota.",
"write/mark/local": {
"1": "Remove the top iota from the stack, and write it to the $(thing)jump tag/$ of the current evaluation.$(br)\
As with $(l:patterns/readwrite#hexcasting:write/entity)$(action)Chronicler's Gambit/$, I cannot write my own Name using this spell.",
"2": "I should be careful if using $(l:patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$ or $(l:patterns/jump_manipulation#caduceus:write/mark/local)$(action)Ewer's Gambit/$ at the very end of an invocation. The tag that it reads or writes may not be the one I expect.",
"2": "I should be careful if using $(l:caduceus/patterns/jump_manipulation#caduceus:read/mark/local)$(action)Ewer's Reflection/$ or $(l:caduceus/patterns/jump_manipulation#caduceus:write/mark/local)$(action)Ewer's Gambit/$ at the very end of an invocation. The tag that it reads or writes may not be the one I expect.",
},
},
},
Expand All @@ -84,6 +89,7 @@
},

"caduceus:": {
goto: "Goto",
prompt: "Prompt",
},
"hexcasting:": {
Expand All @@ -103,13 +109,16 @@
"eval/prompt_at": "Thetis' Gambit II",
"eval/control": "Arke's Gambit",
"eval/control_at": "Arke's Gambit II",
"eval/setup_goto": "Elbrus' Gambit",
"eval/goto": "Prometheus' Gambit",
"read/mark/local": "Ewer's Reflection",
"read/mark/iota": "Ewer's Purification",
"write/mark/local": "Ewer's Gambit",
},
},

mishap: {
no_goto: "Did not first use Elbrus' Gambit",
no_prompt: "Did not first use Thetis' Gambit",
invalid_value: {
class: {
Expand Down
Loading
Loading