[HN Gopher] Bram Moolenaar's programming language, Zimbu
       ___________________________________________________________________
        
       Bram Moolenaar's programming language, Zimbu
        
       Author : MilnerRoute
       Score  : 68 points
       Date   : 2023-08-24 17:56 UTC (5 hours ago)
        
 (HTM) web link (thenewstack.io)
 (TXT) w3m dump (thenewstack.io)
        
       | noaoh wrote:
       | Last working version of the homepage from the Internet Archive:
       | https://web.archive.org/web/20230529224014/http://www.zimbu.....
       | Tried a couple of link, they seem to work.
        
       | krossitalk wrote:
       | So...he invented Python?
        
       | finnh wrote:
       | Odd that the first example looks buggy:                   while i
       | > size         result += a [i++]         }
       | 
       | Could be correct, but "while i < size" seems more likely...
        
       | User3456335 wrote:
       | > Zimbu's trademark feature was the way it let coders omit the
       | opening curly brace around a block of code. ("It looks a bit
       | weird maybe, at first..." Moolenaar acknowledged to the audience.
       | "Get used to it. It will work out fine.")
       | 
       | Hahahaha, this is what we needed: a programming language with
       | unmatched braces because the opening brace can be inferred from
       | context... Well, no surprise that this is coming from the Vim
       | creator.
        
       | max_ wrote:
       | I am not a user of Vim, but this guy used the "charity ware"
       | model to do so much inspiring work in Uganda (my country).[0]
       | 
       | I hope I will be able to do something close to his achievements
       | in my lifetime.
       | 
       | [0]: https://en.wikipedia.org/wiki/Bram_Moolenaar
        
       | Smaug123 wrote:
       | EDIT: of course, moments after I submitted this comment, I found
       | the following in the spec:
       | 
       | "For more flexibility, at the cost of performance and causing
       | mistakes to be discovered only when the program is being
       | executed, the dyn type can be used. A variable of this type can
       | contain any kind of value or reference. Assignment to a dyn
       | variable never fails. However, using the variable where a
       | specific type is expected will invoke a runtime type check. For
       | this purpose the dyn type stores information about the actual
       | type."
       | 
       | Original comment below for posterity.
       | 
       | ----
       | 
       | The article claims that Zimbu has "both static and dynamic
       | typing", which sounds novel and interesting to me. But on the
       | Zimbu site linked by a sibling, all I could find (on
       | https://web.archive.org/web/20230529230025/http://www.zimbu....)
       | was:
       | 
       | > It should work to have as much static type checking as
       | possible, but make it possible to have dynamic types with runtime
       | type checking.
       | 
       | Can anyone find any more details about this feature? (Or does it
       | just mean "there's a type `obj` which is a supertype of every
       | type", which is much less interesting except insofar as it
       | interacts with what it means for something to be a reference vs
       | value type?) The spec at
       | https://web.archive.org/web/20230805135331/https://www.moole...
       | is awfully long.
        
       | gowld wrote:
       | Quite a contrast from Vim's infamous internal language for
       | plugins.
        
       ___________________________________________________________________
       (page generated 2023-08-24 23:00 UTC)