Tcl Meetup 2022-07-12
Topics
* TIP 430 / zipfs - spec/design issues, implementation vs spec, impl. issues, ...
** zipfs use cases
*** Tcl and Tk initialisation
*** applications code and data in a single file (i.e. starkits)
*** stand-alone application executables (i.e. starkit + tcl = starpack)
*** extensions / packages (e.g. a tcllib starkit) *** starlib (tcl/tk in a library for use by other languages and apps)
** discussion on role of zipfs in Tcl library initialisation vs application initialisation?
*** should we be considering xvfs for Tcl library initialisation and zipkits for applications?
** problems with implementation
*** "zipfs tcl_library" doesn't appear to be implemented
*** adding a main.tcl seems leads to a message "application-specific initialization failed: Can't find a usable init.tcl in the following directories: ..."
** problems with documentation
*** where is it documented that "configure --disable-shared" creates a single file executable?
*** need better instructions and examples for creating zipkits
** zipfs commands for supporting zipkit generation e.g. Jan's suggested "zipfs mkimg" adaption such that if the exe already has a zip-file attached, it will just add the new entries with the existing ones.
* tcllib - how can we make it more visible?
** reference range command discussion vs tcllib generator
** lots of good stuff, often invisible
** distribute with core or via core download page - zipkit?
** all or curated modules? not everything is generally useful but much is - e.g. math, set, etc
* [tcc4tcl] upgrade [https://github.com/tcllab/tcc4tcl]
current status of 430?
* mostly works (except for running a zipfile) * Brian's https://chiselapp.com/user/griffin/repository/WordBuster/file?name=makeapp.tcl&ci=bbc76ce5cbb61b1800336f0c04dc373060304a3f%|%makeapp.tcl%|% shows how it can be used
* documentation could be improved
** user docs vs TIP .. need to reconcile ** need more "howto" and examples
* at least command not implement - tcl_library
* clarify
** is zipfs command available when tclsh built with --enable-zipfs disabled
** can non-zipfs tclsh run application zip ** state of Tk support
follow up TIP(s) to address application support
* commands to build "starpack"
* running a zipfile containing an application vfs
* add library folder to auto_path (and tm support)
* [source] a zipfile adds a /library folder as well
* look for main.tcl and source
* what can we do about virus scanners and binary extensions?
* if and how we can sign these (Authenticode / Apple)
* build test command into tclsh to facilitate testing
Scott G how does a newbie get started?
* single file Batteries Included distribution
* need a way to identify commonly useful extensions? Arjen's wiki page ... can we add voting?
* the general parts of tcllib + tk + tklib + other stuff from existing distributions
* what about ttk themes?
* all available via a single-file executable via the single downloads page
* equivalent of "pip install" built in to the BI executable?
* built-in command to expand into folder?
* is there a way to profile application code to find out the extensions being used? (perhaps via "tclsh -test" mechanism)
Friction points
* single point of responsibility for many areas
* knowledge is silod
* how to share load?
* e.g. how to get TDBC into nightly build status (Kevin)
* testing
** how to test tcl/tk? (e.g. built in test command)
** how to test my code with latest release?
** automate error reporting?
** how is the error submitted - via a fossil ticket or better still via a fossil forum?
** error workflow - submit, review, generate ticket, triggers / confirmation ?
** route notifications to appropriate people - e.g. how could e.g. Kevin register for TDBC error reportsvia slack or ?
** ticket yes/no ... feedback/reason?
** dashboard built on top (to avoid the noise)? revisit Steve's https://www.youtube.com/watch?v=yhqA98SNXGM%|%Kanban for Fossil%|%?
<<categories>> Monthly Virtual Meetup