Posted to tcl by pooryorick at Mon Jul 04 12:17:17 GMT 2016view pretty
#! /bin/env tclsh package require sqlite3 coroutine main apply [list {argv0 argv} { sqlite3 db :memory: db eval { create table x ( entity , attribute , value ) ; insert into x values (1 , "name" , "john") , (1 , "age" , 32) , (2 , "name" , "jill") , (2 , "gender" , "female") } db eval {select * from x} record { puts [array get record] after 1000 [list after idle [list [info coroutine]]] yield } } [namespace current]] $argv0 $argv