Data update

This commit is contained in:
Ingy döt Net 2025-06-11 20:16:52 -04:00
parent 72eb4943cb
commit 4d5544505c
2347 changed files with 62432 additions and 16731 deletions

View file

@ -0,0 +1,13 @@
package require Tcl 8.6
package require generator
generator define range {n m} {
for {set i $n} {$i <= $m} {incr i} {
generator yield $i
}
}
generator foreach x [range 22 35] {
puts -nonewline stdout "${x} "
}
puts stdout ""

View file

@ -0,0 +1,54 @@
#!/usr/bin/env tclsh
package require generator
generator define idx_range {n m} {
for {set i $n} {$i < [expr $m -1]} {incr i} { generator yield $i }
}
generator define mth_power {m} {
set n 0
while {1} {
generator yield [expr $n ** $m]
incr n
}
}
generator define squares {} {
generator for x [mth_power 2] {
generator yield $x
}
}
generator define cubes {} {
generator for x [mth_power 3] {
generator yield $x
}
}
set acc {} ; # accumulator
set comm {} ; # common result
set limit 50
# run both generators concurrently
generator foreach x [squares] y [cubes] {
lappend acc $y
if { ! [expre {$x in $acc}] } { lappend comm $x }
if { [llength $comm] > $limit } {break}
}
# elements 20.. 30
set results [lrange $comm 19 29] ; # list range
generator foreach idx [idx_range 20 30] {
set x [lindex $comm $idx]
puts "$x"
}

View file

@ -26,7 +26,6 @@ let filtered = gen(s1, s2) {
}
}
let squares = powers(2)
let cubes = powers(3)
let f = filtered(squares, cubes)