Spaces:
Running
Running
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>CodeMirror: APL mode</title> | |
<link rel="stylesheet" href="../../doc/docs.css"> | |
<link rel="stylesheet" href="../../lib/codemirror.css"> | |
<script src="../../lib/codemirror.js"></script> | |
<script src="../../addon/edit/matchbrackets.js"></script> | |
<script src="./apl.js"></script> | |
<style> | |
.CodeMirror { border: 2px inset #dee; } | |
</style> | |
</head> | |
<body> | |
<h1>CodeMirror: APL mode</h1> | |
<form><textarea id="code" name="code"> | |
β Conway's game of life | |
β This example was inspired by the impressive demo at | |
β http://www.youtube.com/watch?v=a9xAKttWgP4 | |
β Create a matrix: | |
β 0 1 1 | |
β 1 1 0 | |
β 0 1 0 | |
creature β (3 3 β΄ β³ 9) β 1 2 3 4 7 β Original creature from demo | |
creature β (3 3 β΄ β³ 9) β 1 3 6 7 8 β Glider | |
β Place the creature on a larger board, near the centre | |
board β Β―1 β Β―2 β½ 5 7 β creature | |
β A function to move from one generation to the next | |
life β {β¨/ 1 β΅ β§ 3 4 = β+/ +βΏ 1 0 Β―1 β.β 1 0 Β―1 β½Β¨ ββ΅} | |
β Compute n-th generation and format it as a | |
β character matrix | |
gen β {' #'[(life β£ β΅) board]} | |
β Show first three generations | |
(gen 1) (gen 2) (gen 3) | |
</textarea></form> | |
<script> | |
var editor = CodeMirror.fromTextArea(document.getElementById("code"), { | |
lineNumbers: true, | |
matchBrackets: true, | |
mode: "text/apl" | |
}); | |
</script> | |
<p>Simple mode that tries to handle APL as well as it can.</p> | |
<p>It attempts to label functions/operators based upon | |
monadic/dyadic usage (but this is far from fully fleshed out). | |
This means there are meaningful classnames so hover states can | |
have popups etc.</p> | |
<p><strong>MIME types defined:</strong> <code>text/apl</code> (APL code)</p> | |
</body> | |
</html> | |