Posted to tcl by pooryorick at Mon Jul 04 12:17:17 GMT 2016view raw
- #! /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