1. 12

My language needed a continuous build system. I didn’t see any simple, clean, easy to use continuous build systems. Since the problem didn’t seem like an extremely hard one for the kind of software that I write outside of work, I decided to do my own.

This is the result.

  1.  

  2. 2

    Nice on the simplicity. I’ll try to remember it if I need one for a language project. Btw, have you gotten your Myrddin compiler redone in Myrddin yet?

    1. 1

      It’s coming along slowly (see the mparse library from the contbuild), but I’ve got a few projects to finish up first before I really focus on self hosting.

      1. 1

        Gotcha. Btw, I was looking into various tech that might short-cut a verified, C compiler without expertise necessary for say CompCert. Partly inspired by CompCert being locked-up and another using abstract, state-machines intending to do same. Most interesting I ran into was K Framework that used rewrite rules with a modified, first-order logic called matching logic. They did C’s semantics in it in a way that’s GCC-like and executable called KCC. Took a few thousand lines of specs in their language to handle C with all kinds of applications.

        http://www.kframework.org/index.php/Main_Page

        https://github.com/kframework/c-semantics

        Being a non-specialist, I try to get opinions from people with various backgrounds. What’s your opinion of this vs other compiler development or verification methods you’ve seen? Worth using instead of trying to do it in C or something?

        1. 3

          I’ll have to take time to look at it, but I’m generally skeptical about the viability of formal verification outside of small, carefully controlled niches. Verification tends to be very tricky and time consuming to get right, and for the most part, features, performance, time to market, and slotting into legacy systems tends to trump proofs by a long shot.

          Basically, the way I see it: For the vast majority of the world, if you’re using formal methods, you’re going to lag behind your competitors in every way that matters to your users, and this largely dooms formal verification.

          Anyways, this is getting a tad off topic :)

          1. 1

            It’s a decent viewpoint. Time-to-market weakness was why high-assurance VAX VMM was cancelled & Lipner did “ship No1 quality No2” priorities even under SDL at Microsoft. Semi-formal methods like Cleanroom or Eiffel w/ Design-by-Contract didn’t have this weakness, though, as small overhead of QA work reduced debugging time dramatically. So, there’s always that possibility for people with your view. But…

            “anyways, this is getting a tad off topic :)”

            ..yeah. Enough for now.

    2. 1

      nice, and myrddin looks like a great addition to the “c with ml features” language family.

      1. 1

        Very cool!

        So many continuous build systems are completely overdone, this is a great simple program. Just finding out about myrddin. Any specific problems / areas it’s trying to address?

        1. 4

          I think it hits a sweet spot of being very similar to C, you know what the compiler is doing, and feel very close to the metal. But you get things like generics, pattern matching and bounds checking.

          I also found it much easier to learn than rust too, because it is a much simpler language.