[HN Gopher] Jinx: Embeddable scripting language for real-time ap...
       ___________________________________________________________________
        
       Jinx: Embeddable scripting language for real-time applications
        
       Author : ksec
       Score  : 43 points
       Date   : 2022-06-15 14:24 UTC (2 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | incanus77 wrote:
       | Another thing I forget to mention, since I'm only using single
       | scripts, is the fact that Jinx has per-script execution stacks.
       | So, not only does it support coroutine-based concurrency, but
       | also script-based. Each script maintains its own state and can be
       | long-running, without affecting other scripts' operation.
        
       | epage wrote:
       | Looking through the Tutorial, the language has a very-english-
       | like syntax to it
       | 
       | For example. variables and functions can have spaces. Words are
       | favored over operators                   set some variable to 123
       | 
       | You can even use possesive's                   set c to x's size
       | set c to guess' size
       | 
       | I fin this a little offputting between biases against COBOL and
       | friends, dealing with the parsing ambiguities when writing, and
       | dealing with reading it. I feel like a very good syntax
       | highlighter would be essential to write in this language.
        
       | farnerup wrote:
       | This is interesting. While languages like Python, Lisp and
       | probably Lua can run on a microcontroller, they are never going
       | to be completely trusted unless you have control over memory use.
       | In Jinx it seems like you can/must define your own memory
       | allocation function.
        
         | dirkf wrote:
         | Just FYI: Lua also allows you to provide your own allocator
         | function.
         | 
         | In fact, the core API function to create a new Lua state
         | (lua_newstate()) requires an allocator function but usually
         | people use a library API function (luaL_newstate()) for state
         | creation that calls the core API using an allocator based on
         | the standard C functions.
        
       | synergy20 wrote:
       | interesting, so it is async, and has no garbage collection(good
       | for real-time), mainly for video games(to replace Lua?)
       | 
       | can this work like micropython for mcu or low-end chips but does
       | true real-time control(e.g. controlling a motor or something at
       | milli or micro seconds granularity)? the real-time term can mean
       | so many use scenarios.
        
       | jqpabc123 wrote:
       | Like the overall concept --- but the name is questionable.
       | 
       | Jinx (n) - One that brings bad luck
        
         | chmod775 wrote:
         | Are developers particularly superstitious?
        
       | incanus77 wrote:
       | I have been using Jinx for some time, evaluating it for use in an
       | environment made for first-time programming. In particular, to
       | me, the function signature syntax is by far the most interesting
       | part of it. I've never seen a language before that has optional
       | parts (`function {x} (is) divisible by {y}`), alternative parts
       | (`function {x} is/are even`), or a variety of argument passing
       | styles (collections with/without wrapping parentheses, labeled
       | arguments).
       | 
       | The tutorial document is quite well written and is a great read
       | to understand the language more.
        
       ___________________________________________________________________
       (page generated 2022-06-17 23:02 UTC)