[HN Gopher] Zuo: A Tiny Racket for Scripting
       ___________________________________________________________________
        
       Zuo: A Tiny Racket for Scripting
        
       Author : homarp
       Score  : 52 points
       Date   : 2022-04-13 16:56 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | Decabytes wrote:
       | There is more information about the reason for this here^1 Below
       | is an excerpt
       | 
       | > As in Non-recursive Make Considered Harmful: Build Systems at
       | Scale, we can build a better make. This commit mostly imitates
       | Shake as described there, but in a Racket style and called "Zuo"
       | (based on the Chinese word for "make"). The Zuo implementation
       | started at https://github.com/mflatt/zuo, but here it's in the
       | intended long-term home, racket/src/zuo.
       | 
       | > The goal is for Racket to be be just as easy for end-users to
       | build as now after converting scripts from make and /bin/sh to
       | zuo. So, make should work in Racket's top-level directory, and
       | configure plus make plus make install should work in a source
       | directory or distribution, all with no new pre-installed packages
       | required. The new makefiles will be small, however, just ensuring
       | that the zuo executable is built and then handing off to Zuo
       | scripts.
       | 
       | 1. https://github.com/racket/racket/pull/4179
        
       | [deleted]
        
       | ciprian_craciun wrote:
       | I've quickly played with it, and from what I've seen it's almost
       | perfect for scripting, at least due to the following reasons:
       | 
       | * it can be linked statically, thus it should run on any Linux
       | with a simple copy; (not by default, use `LDFLAGS=-static`;)
       | 
       | * it can embed in the binary the core library (and other
       | libraries of choice), thus there is no need for other files to be
       | installed; (this is not by default, but by using the `image.zuo`
       | directly one can get this;)
       | 
       | * it has minimal startup latency, almost 2x lower than Python2.7,
       | and many times less than Python3.10; (this is without the extra
       | libraries embedded, with the extra libraries embedded it's still
       | faster than Python2.7, but not by that a large of a margin;)
       | 
       | I haven't yet checked the available API, but it does seem to be
       | quite enough for simple system related scripting.
        
         | mhitza wrote:
         | For those interested in another Scheme implementation, that
         | compiles to native code, with a fair amount of community
         | libraries, I recommend Chicken Scheme.
        
       | threatofrain wrote:
       | Possible contenders.
       | 
       | https://janet-lang.org
       | 
       | https://fennel-lang.org
        
         | LesZedCB wrote:
         | maybe babashka too? lightweight clojure with scripting
         | features.
         | 
         | https://github.com/babashka/babashka
        
         | dmux wrote:
         | And https://practical-scheme.net/gauche/index.html
        
         | Decabytes wrote:
         | I think part of the issue with using another language can be
         | highlighted here
         | 
         | > The problem with the current build system could be
         | characterized as too large a gap between C and make and the
         | next runnable element, which is either Chez Scheme or Racket
         | BC; neither of those are simple to build. Zuo, a tiny Racket,
         | is an intermediate step to bridge that gap.
        
       ___________________________________________________________________
       (page generated 2022-04-14 23:02 UTC)