Data update
This commit is contained in:
parent
07c7092a52
commit
61b93a2cd1
313 changed files with 6160 additions and 346 deletions
|
|
@ -2,6 +2,8 @@ import system'routines;
|
|||
import extensions;
|
||||
import extensions'routines;
|
||||
|
||||
// --- Joinable --
|
||||
|
||||
joinable(former,later) = (former[former.Length - 1] == later[0]);
|
||||
|
||||
dispatcher = new
|
||||
|
|
@ -27,25 +29,27 @@ dispatcher = new
|
|||
}
|
||||
};
|
||||
|
||||
// --- AmbValueCollection ---
|
||||
|
||||
class AmbValueCollection
|
||||
{
|
||||
object theCombinator;
|
||||
object _combinator;
|
||||
|
||||
constructor new(params object[] args)
|
||||
{
|
||||
theCombinator := SequentialEnumerator.new(params args)
|
||||
_combinator := SequentialEnumerator.new(params args)
|
||||
}
|
||||
|
||||
seek(cond)
|
||||
{
|
||||
theCombinator.reset();
|
||||
_combinator.reset();
|
||||
|
||||
theCombinator.seekEach:(v => dispatcher.eval(v,cond))
|
||||
_combinator.seekEach:(v => dispatcher.eval(v,cond))
|
||||
}
|
||||
|
||||
do(f)
|
||||
{
|
||||
var result := theCombinator.get();
|
||||
var result := *_combinator;
|
||||
if (nil != result)
|
||||
{
|
||||
dispatcher.eval(result,f)
|
||||
|
|
@ -57,12 +61,16 @@ class AmbValueCollection
|
|||
}
|
||||
}
|
||||
|
||||
// --- ambOperator ---
|
||||
|
||||
singleton ambOperator
|
||||
{
|
||||
for(params object[] args)
|
||||
= AmbValueCollection.new(params args);
|
||||
}
|
||||
|
||||
// --- Program ---
|
||||
|
||||
public program()
|
||||
{
|
||||
try
|
||||
|
|
|
|||
10
Task/Amb/Insitux/amb.insitux
Normal file
10
Task/Amb/Insitux/amb.insitux
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
(function amb op res
|
||||
(filter #(= res (.. .. op args))
|
||||
(.. for vec (skip 2 args))))
|
||||
|
||||
(var safe= @(= (0 args)))
|
||||
(var predicate (comp vec (map (juxt 0 -1)) flatten (skip 1) (partition 2) (map (.. safe=)) (.. and)))
|
||||
|
||||
(amb predicate true ["the" "that" "a"] ["frog" "elephant" "thing"] ["walked" "treaded" "grows"] ["slowly" "quickly"])
|
||||
|
||||
;returns [["that" "thing" "grows" "slowly"]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue