Loading...
Searching...
No Matches
atlsh

The new shell for system-administration and system-programming …

The goal of atlsh is to replace bash as the central tool for system programming and system control with an AI-based tool.

details

The atlsh combines theATL, theKernel, theLink, theLib into one tool for LINUX system administration.

  • The atl1.0 source distribution is available on github and is the continuation of the tcl8.5 development.
  • Capabilities from tcl8.6 will be gradually ported to atl1.0 in order to get the maximum benefit from the current tcl8.6 development.
  • The aim of atlsh is to offer a local AI integration in order to provide the administrator and the programmer with an environment that works without external dependencies.

roadmap

update 8 mai 2025

  • After switching from tcl8.5 to tcl8.6, it became apparent that there was a problem distinguishing an existing tcl8.6 installation from the new atl1.0 installation.
  • To circumvent this and protect tcl8.6, the distribution was renamed to atl1.0, thus changing the visible interface to atl.
  • The invisible interface (i.e., functions, variables, constants, etc.) remains untouched and thus binary compatible.
    • However, this will change in the future when atlsh becomes a standalone product.
  • The following changes were made:
    from                   | to
    ------------------     | ----------------
    tclConfig.sh           | atlConfig.sh
    tclsh                  | atlsh
    tcltest                | atltest
    include/tcl*.h         | include/atl/tcl*.h
    lib/tcl8               | lib/atl1
    lib/tcl8.6             | lib/atl1.0
    bin/tclsh              | bin/atlsh
    lib64/pkgconfig/tcl.pc | lib64/pkgconfig/atl.pc
    lib64/libtclstub8.6.a  | lib64/libatlstub1.0.a
    lib64/tclConfig.sh     | lib64/atlConfig.sh
    lib64/libtcl8.6.so     | lib64/libatl1.0.so
    share/man1/*.1         | share/atl/man1/*.1
    share/man3/*.3         | share/atl/man3/*.3
    share/mann/*.n         | share/atl/mann/*.n
    TCLLIBPATH             | ATL_LIBPATH
    TCL_LIBRARY            | ATL_LIBRARY
    

update 5 mai 2025

After switching from tcl8.5 to tcl8.6, the paralellization of tcltest was complete.

  • zlib and tclOO have also been removed.
  • all sub-packages from pkgs were removed.
  • Next, NRE and thread support will be removed.
  • Once all this is complete, the interp command will be replaced by a NEW technology.
  • example: new massive parallel testing of the tcl8.6 test suite.
    ...
    PASS: dict.test
    PASS: exec.test
    PASS: expr.test
    PASS: reg.test
    PASS: socket.test
    PASS: thread.test
    PASS: interp.test
    PASS: lmap.test
    PASS: async.test
    PASS: chanio.test
    PASS: tcltest.test
    PASS: main.test
    PASS: clock.test
    PASS: regexp.test
    PASS: io.test
    PASS: ioCmd.test
    ============================================================================
    Testsuite summary for NHI1 10.0
    ============================================================================
    # TOTAL: 134
    # PASS:  134
    # SKIP:  0
    # XFAIL: 0
    # FAIL:  0
    # XPASS: 0
    # ERROR: 0
    ============================================================================
    ...
    
    real    1m30,248s
    user    3m55,929s
    sys     0m15,400s 
    

update 2 mai 2025

  • Testing tcl8.5 with the tcl8.6 test cases revealed that tcl8.5 contains numerous serious (core) bugs that were only fixed in tcl8.6.
  • However, tcl8.6 is now the problematic version with NRE and tclOO.
  • An initial attempt to patch tcl8.5 required importing a large amount of code from tcl8.6.
  • This raises the question of whether it even makes sense to patch tcl8.5 towards tcl8.6 when the end result is tcl8.6 anyway.
  • The strategy of starting with tcl8.6 and removing everything unwanted seems more sensible to me, as it starts with a bug-free launch, which is then successively retested at each step.

update 25 apr 2025

  • Splitting atl1.0 from tcl8.5 and porting all commands from tcl8.6 to it.
  • Integrating into NHI10 with suspension of the build environment and definition of the directory structure.
  • Updating the test cases to the tcl8.6 standard with adoption of atltest v2.5.3.
  • The central goal is a lightweight shell that does not require NRE or tclOO.

advanced modification