APL-eusis: Difference between revisions

Jump to navigation Jump to search
623 bytes added ,  22:04, 10 September 2022
m
Text replacement - "<source" to "<syntaxhighlight"
m (Clarification on score deduction in Solution move.)
m (Text replacement - "<source" to "<syntaxhighlight")
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
APL-eusis is a game that allows participants to hone their skills in the APL programming language. It is inspired by existing games of inductive logic such as Eleusis or Zendo.
APL-eusis is a game that allows participants to hone their skills in the APL programming language. It is inspired by existing games of inductive logic such as Eleusis (which has itself been the subject of APL study<ref>Berry, Michael. "APL and the search for truth: A set of functions to play New Eleusis". [[APL81]]. doi:[https://dl.acm.org/doi/10.1145/390007.805334 10.1145/390007.805334]</ref><ref>Berry, Michael. "A set of APL functions to play new Eleusis". IJCAI'81: Proceedings of the 7th international joint conference on Artificial intelligence. 1981-08. doi:[https://dl.acm.org/doi/10.5555/1623264.1623354 10.5555/1623264.1623354]</ref>) or Zendo.
== Basic Play ==
== Basic Play ==
The game may be played by any convenient number of participants. In each round, one participant is named Master, the others are Students.
The game may be played by any convenient number of participants. In each round, one participant is named Master, the others are Students.
Line 17: Line 17:
* If a student makes a ''solution'' move, the other students may offer correctness predictions. A student may decline to make a correctness prediction. Any student that believes that the offered solution is incorrect should be prepared to provide arguments to the function(s) that will demonstrate that the solution is incorrect (as above). A student whose correctness prediction is in fact correct is awarded three points. Each student who correctly predicted that an offered solution is incorrect must provide their arguments to demonstrate the incorrectness; if the arguments do not in fact demonstrate that the prediction was incorrect (that is, the same result is returned by the student’s function and the Master’s function), the student loses one point.
* If a student makes a ''solution'' move, the other students may offer correctness predictions. A student may decline to make a correctness prediction. Any student that believes that the offered solution is incorrect should be prepared to provide arguments to the function(s) that will demonstrate that the solution is incorrect (as above). A student whose correctness prediction is in fact correct is awarded three points. Each student who correctly predicted that an offered solution is incorrect must provide their arguments to demonstrate the incorrectness; if the arguments do not in fact demonstrate that the prediction was incorrect (that is, the same result is returned by the student’s function and the Master’s function), the student loses one point.
== Notes ==
== Notes ==
Not all primitives are easily analyzed; it may be appropriate to restrict them. Examples of such primitives are <source lang=apl inline>?</source> ([[Roll]] or [[Deal]], relying on random selection) and <source lang=apl inline>⊥</source> ([[Represent]]).
Not all primitives are easily analyzed; it may be appropriate to restrict them. Examples of such primitives are <syntaxhighlight lang=apl inline>?</syntaxhighlight> ([[Roll]] or [[Deal]], relying on random selection) and <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> ([[Represent]]).


Functions should ideally not rely on specific values for system variables or functions like <source lang=apl inline>⎕IO</source> or <source lang=apl inline>⎕RL</source> ([[Index origin]], [[Random link]]) or system-specific functions like <source lang=apl inline>⌶</source> ([[I-beam]]). If they do, the Master should announce the reliance when the valence is announced.
Functions should ideally not rely on specific values for system variables or functions like <syntaxhighlight lang=apl inline>⎕IO</syntaxhighlight> or <syntaxhighlight lang=apl inline>⎕RL</syntaxhighlight> ([[Index origin]], [[Random link]]) or system-specific functions like <syntaxhighlight lang=apl inline>⌶</syntaxhighlight> ([[I-beam]]). If they do, the Master should announce the reliance when the valence is announced.


For sufficiently advanced Masters and students, consider allowing operators to be defined, as well as functions.
For sufficiently advanced Masters and students, consider allowing operators to be defined, as well as functions.
== References ==
<references />
[[Category:Essays]]

Navigation menu