1. 31

It’s quite early, it doesn’t do a lot, and as I’m not an experienced Go developer it’s probably not very idiomatic code. Nonetheless, I though I’d share in case anyone is interested in trying it out or helping develop it further.


  2. 6

    I recently experimented with reason and really liked it. One question, why not do what bucklescript does, but target go? (Basically fork bucklescript)

    I would guess that way you get ocaml and reason at once. Not sure how much work that would be though. Being totally realistic, I feel like that approach would be more likely to succeed, though also be less fun to do.

    1. 7

      That’s an interesting idea! Use bucklescript’s existing frontend and add a backend that targets Go. Could work.

      One of the reasons I chose to write Braid in Go was so it wouldn’t have any dependencies outside Go (and Go-related tooling). It seems neater, given I have a hard requirement on the Go compiler (once I get to the stage where it is invoked automatically as part of compilation).

      1. 4

        Btw, I really hope this succeeds, I think it is a great concept.

    2. 4

      I wish there could be an OCaml like syntax for Braid, to make it more similar to languages like OCaml, SML, Haskell, Elm and PureScript.

      1. 3

        I don’t, reason syntax is more natural for me, just from what I know before. The syntax means relatively little anyway.

        1. 1

          I did lean more towards ocaml-like syntax initially, but thought something more c-like would be an easier sell for Go developers. (Maybe that’s not much of an argument though, as a viable language doesn’t actually need to be anything like the one it’s built on…)

          1. 5

            It depends who your target audience is: if it is people who use Go and wish there were more functional concepts in their language of choice then it is most likely the most reasonable. If it is people coming from other functional languages, hoping to use the Go ecosystem and compiling into Go binaries, then an ML syntax would be more welcome.

            1. 1

              That’s a good point. Something to think about!

        2. 3

          “Braid” huh? I’d have thought it would have something to do with reversable computing. :)

          1. 1

            Let’s embrace the tower. At one point I was looking for such languages*–have my upvote. I’d give you another one for ML.

            * Ultimately though, I was looking for something compiling directly to Go assembly. There are both pros and cons to that.