View CmdParser.gd
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# i wrote this, and it works, but then i decided to just use Godot's own Expression parser. | |
# https://docs.godotengine.org/en/latest/tutorials/scripting/evaluating_expressions.html | |
func _examples(): | |
test('@title["the deck"]') | |
test('@show["jp-editor"; 0]') | |
test('@ed.xy[ 0 5]') | |
func test(cmd:String): | |
if cmd.begins_with('@'): |
View ed.ijs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NB. Core logic for a tiny editor in J. | |
NB. No select/copy/paste (in this gist), but it does support multiple cursors. | |
NB. This started as the code for editing a single line of text, but I'm now | |
NB. using three copies simultaneously: one for a single token, one for | |
NB. boxed tokens on a line, and one for boxed lines in a buffer. | |
coclass 'ed' | |
init =: {{ | |
B =: '' NB. the buffer to edit. | |
C =: 0 NB. cursor position(s) |
View parsers.ijs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
clear'' | |
NB. Parser Combinators for J | |
NB. | |
NB. The semantics here are heavily inspired by | |
NB. Allesandro Warth's ometa system: | |
NB. | |
NB. http://tinlizzie.org/ometa/ | |
NB. | |
NB. but implemented as parser combinators rather than a standalone language. | |
NB. |
View asmvm.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const DATA=0, CALL=1, WORK=2, TEMP=3 | |
class Worker { | |
vm = null // virtual machine | |
w = 0 // worker number | |
f = 0 // function pointer | |
e = 0 // execution pointer | |
t = 0 // current token in function |
View meld.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
glue = (x,y) => x === undefined ? y : Array.isArray(x) ? x.concat(y) : [x,y] | |
function meld(xs) { | |
let idx = {}, res = [], it | |
for (x of xs) { | |
if (x.id in idx) it = res[idx[x.id]] | |
else { it = {id: x.id}; idx[x.id] = res.length; res.push(it) } | |
for (k of Object.keys(x)) if (k!=='id') it[k] = glue(it[k], x[k]) } | |
return res } |
View catalan-1-filter.ijs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c =: '01' ([: +/ =)"0 _ ] NB. count 0 and 1 | |
t =: {{(*/ <:/"1 c\ y) *. =/c y }} NB. the two rules | |
g =: {{'01' {~ #:i.2^2*y}} NB. generate the numbers | |
f =: {{y {~ I.t"1 y}} NB. filter by t | |
f g 3 |
View animation.ijs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NB. Code from the "Basic Animation In J" video | |
NB. https://www.youtube.com/watch?v=uL-70fMTVnw | |
NB. ------------------------------------------------------------------------ | |
NB. animation demo | |
load 'viewmat' | |
coinsert'jgl2' | |
wd 'pc w0 closeok' NB. parent control (window) named 'w0' |
View collatz.ijs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
C =: -:`(1+3&*)@.(2&|)"0 | |
R =: -:^:(-.@(2&|))^:_ | |
S =: 1 + 3&* | |
T =: R@([`S@.(2&|))"0 | |
T i. 10 |
View failure.thy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* how do i do this?? *) | |
function simplex_count :: "int⇒int⇒int" where | |
"simplex_count 0 0 = 1" | | |
"simplex_count 0 1 = 0" | | |
"simplex_count 1 0 = 2" | | |
"simplex_count n k = (simplex_count (n-1) k + simplex_count n (k-1))" | |
sorry | |
lemma simplex_count_lemma: |
View Poly100.thy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* Isar Proofs (eventually) for three theorems from http://www.cs.ru.nl/~freek/100/ | |
#13 Polyhedron Formula (F + V - E = 2) | |
#50 The Number of Platonic Solids | |
#92 Pick's theorem | |
*) | |
theory Poly100 | |
imports Main "HOL.Binomial" "HOL-Analysis.Polytope" | |
begin |
NewerOlder