#! /bin/env tclsh
package ifneeded {ycl list} 3.0 [list apply {{dir} {
package require {ycl package}
[yclprefix]::package::source list [
file join $dir lib list.tcl]
package provide {ycl list} 3.0
}} $dir]
package ifneeded {ycl list deep} 0.0 [list apply {{dir} {
package require {ycl list}
[yclprefix]::package::source list::deep [
file join $dir lib deep main.tcl]
package provide {ycl list deep} 0.0
}} $dir]
package ifneeded {ycl list deep test} 0.0 [list apply {{dir} {
package require {ycl list}
[yclprefix]::package::source list::deep::test [
file join $dir lib deep test.tcl]
package provide {ycl list deep test} 0.0
}} $dir]
package ifneeded {ycl list list} 2.0 [list apply {{dir} {
package require {ycl proc}
package require {ycl list}
namespace eval [yclprefix]::list::list [list ::source [
file join $dir lib object.tcl
]]
[yclprefix] proc alias [[yclprefix] ns join [yclprefix] list new] [
[yclprefix] ns join [yclprefix] list list util .new]
package provide {ycl list list} 2.0
}} $dir]
set name {ycl list matrix}
set version 0.1
package ifneeded $name $version [list apply {{dir name version} {
package require {ycl list}
set ns [[yclprefix] package prep list::matrix]
[yclprefix] package loadpackage $dir $name $version $ns {
[yclprefix] package packagesource $package $version $ns [
file join $dir lib matrix.tcl]
}
}} $dir]
set name {ycl list ordered abstract}
set version 0.1
package ifneeded $name $version [list apply {{dir $name $version} {
package require {ycl list}
set ns [[yclprefix] package prep list::ordered::abstract]
[yclprefix] package loadpackage $dir $name $version $ns {
[yclprefix] package packagesource $package $version $ns [
file join $dir lib ordered.tcl]
}
}} $dir $name $version]
set name {ycl list ordered dictionary}
set version 0.1
package ifneeded $name $version [list apply {{dir name version} {
package require {ycl list}
set ns [yclprefix]::list::ordered::dictionary
namespace eval $ns [list ::source [
file join $dir lib ordered dictionary.tcl]]
package provide $name $version
}} $dir $name $version]
set name {ycl list ordered string}
set version 0.1
package ifneeded $name $version [list apply {{dir name version} {
package require {ycl list}
set ns [yclprefix]::list::ordered::string
namespace eval $ns [list ::source [
file join $dir lib ordered string.tcl]]
package provide $name $version
}} $dir $name $version]
package ifneeded {ycl sparse} 0.1 [list apply {{dir} {
package require {ycl package}
[yclprefix]::package::source list::sparse [
file join $dir lib sparse sparse.tcl]
package provide {ycl list sparse} 0.1
}} $dir]
package ifneeded {ycl list sparse test} 0.1 [list apply {{dir} {
package require {ycl package}
[yclprefix]::package::source list::sparse::test [
file join $dir lib sparse test.tcl]
package provide {ycl list sparse test} 0.1
}} $dir]
package ifneeded {ycl list test} 1.0 [list apply {{dir} {
package require {ycl package}
[yclprefix]::package::source list::test [
file join $dir lib list.test.tcl]
package provide {ycl list test} 1.0
}} $dir]
package ifneeded {ycl list test data} 1.0 [list apply {{dir} {
package require {ycl package}
[yclprefix]::package::source list::test::data [
file join $dir lib list.test.data.tcl]
package provide {ycl list test data} 1.0
}} $dir]