‹ BackHN Continuity

Thread

Goose Programming Language

54 points · 69 comments · bobbydigitales

  1. backlands · · focus · HN ↗
    > Goose looks familiar like C or Rust, and is built on one idea: there is no heap

    So it looks like it restricts the memory management to 100% scope based. I expect that makes a lot of designs for programs not translate to it as well as they fit in Rust or Java (for example). There are a bunch more constraining design choices they list further down:

    > - Nothing ever moves

    > - ... A string, an array of strings, a record with variable-size fields and an array of those records are each one contiguous block with no pointer in it

    I'll have to look a bit deeper to decide if it's feasible to write many things in this language.

    1. skew-aberration · · focus · HN ↗
      You could write everything if you refactor to continuation passing style
      1. cmrx64 · · focus · HN ↗
        CPS is an intermediate representation, humans shouldn’t have to tolerate it.
        1. skew-aberration · · focus · HN ↗
          There are languages with first class continuations, is if every function is async and every call is await. In that context, everything can be stack allocated and every reference to stack memory stays valid always. The cost is that stack is now non-linear / not a contiguous array.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.