june / Simplest Nova (C++)

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 3 months ago
The simplest Nova implementation I've got (so far) in C++.
1 enum snv_state {
2 // Primary states.
3 INSERT, MATCH, REMOVE,
4 // Secondary states.
5 FETCH, LITERAL, VARIABLE
6 };
7
8 template<uint32_t size>
9 struct snv_stack {
10 uint32_t data[size] = {};

june / Simplest Nova

0 лайк(-ов)
0 форк(-ов)
2 файл(-ов)
Последняя активность 3 months ago
The simplest Nova implementation I've got (so far).
1 #!/usr/bin/env python3
2
3 import sys
4 from enum import Enum
5
6 class State(Enum):
7 # States
8 INSERT = 0
9 MATCH = 1
10 REMOVE = 2

june / Search

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 4 months ago
A somewhat optimized linear search algorithm for unordered collections.
1 ||:: insert :items: (1 2 foo 3 4)
2 :: search :for: (1 2 3 4 foo 1 2 3 4 bar)
3
4 ||:@include: lib/rpn.nv
5
6 |:: insert? :items: $x|
7 :front: $x
8 |:: insert|
9
10 |:: search? :for: $x|

sierra / wordle-baked

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 4 months ago
1 === RULES ===
2 CookedRule { condition: [CookedFact { stack: 0, arity: 2, elements: [(1, false), (2, false)] }, CookedFact { stack: 3, arity: 5, elements: [(4, false), (5, true), (6, true), (7, true), (8, true)] }], result: [CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (11, false), (11, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (5, false), (5, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (6, false), (6, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (7, false), (7, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (12, false), (12, true)] }, CookedFact { stack: 0, arity: 2, elements: [(13, false), (14, false)] }] }
3 CookedRule { condition: [CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }, CookedFact { stack: 16, arity: 1, elements: [(10, true)] }, CookedFact { stack: 17, arity: 1, elements: [(18, true)] }, CookedFact { stack: 19, arity: 1, elements: [(15, true)] }], result: [CookedFact { stack: 17, arity: 1, elements: [(20, false)] }, CookedFact { stack: 21, arity: 1, elements: [(10, true)] }, CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }] }
4 CookedRule { condition: [CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }, CookedFact { stack: 16, arity: 1, elements: [(10, true)] }, CookedFact { stack: 17, arity: 1, elements: [(22, true)] }, CookedFact { stack: 19, arity: 1, elements: [(18, true)] }], result: [CookedFact { stack: 17, arity: 1, elements: [(23, false)] }, CookedFact { stack: 21, arity: 1, elements: [(10, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }] }
5 CookedRule { condition: [CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }, CookedFact { stack: 16, arity: 1, elements: [(24, true)] }, CookedFact { stack: 17, arity: 1, elements: [(23, false)] }, CookedFact { stack: 19, arity: 1, elements: [(18, true)] }], result: [CookedFact { stack: 21, arity: 1, elements: [(24, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }, CookedFact { stack: 17, arity: 1, elements: [(23, false)] }] }
6 CookedRule { condition: [CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }, CookedFact { stack: 16, arity: 1, elements: [(24, true)] }, CookedFact { stack: 17, arity: 1, elements: [(22, true)] }, CookedFact { stack: 19, arity: 1, elements: [(18, true)] }], result: [CookedFact { stack: 17, arity: 1, elements: [(25, false)] }, CookedFact { stack: 21, arity: 1, elements: [(24, true)] }, CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }] }
7 CookedRule { condition: [CookedFact { stack: 0, arity: 4, elements: [(1, false), (10, false), (15, true), (10, true)] }], result: [CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }] }
8 CookedRule { condition: [CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }, CookedFact { stack: 21, arity: 1, elements: [(10, true)] }], result: [CookedFact { stack: 16, arity: 1, elements: [(10, true)] }, CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }] }
9 CookedRule { condition: [CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }, CookedFact { stack: 19, arity: 1, elements: [(18, true)] }], result: [CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }] }
10 CookedRule { condition: [CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }, CookedFact { stack: 17, arity: 1, elements: [(22, true)] }], result: [CookedFact { stack: 26, arity: 1, elements: [(22, true)] }, CookedFact { stack: 0, arity: 2, elements: [(9, false), (10, false)] }] }