1. 4

    The abstracts are here[1] – it’s sort of hard to tell which talks you’ll like a priori without them.

    [1] http://bangbangcon.com/speakers.html

    1. 1

      Continuation-passing style is a powerful and mind-warping technique that lets code play with its own control-flow (its “future”, so to speak). For example, it lets you elegantly express backtracking search algorithms such as regular expression matching. This curious technique also has deep connections to topics as diverse as compiler optimization, programming language design, and classical versus constructive logic.

      I’ve been interested in this for a while but didn’t know the name for it. Thanks.

    1. 7

      Author here. I’m rather stoked that people are still interested in my little project.

      1. 3

        I was impressed that it fired right up from a make and I had a c interpreter shell less than 10 seconds after checking the project out. If 68k of LOC is a small project, what are your large ones? Do you still use PicoC ? What other systems has it been integrated into? What is the largest codebase it has executed? Can it interpret itself?

        1. 5

          Only about 4,500 lines of that code is the actual C interpreter. The rest is support code, tests, platform-specific code etc..

          I’m not using picoc myself right now but I do have a rocketry project in the pipeline I might use it for. I’ve used it in UAV projects in the past.

          It’s been used by other people for a wide variety of things in the past. A lot of people embed it into their programs as a scripting language. It’s ideal for that since it’s small and portable and presents little surface area to integrate. Other people use it in embedded projects - robotics etc.. It’s been used in some commercial robotics systems too.

          It can’t interpret itself since it doesn’t implement the full C standard. Keep in mind here that the aim of the project was to make a very small C implementation, not a complete one. It doesn’t implement things like struct bitfields, it doesn’t have a full C preprocessor and it doesn’t run particularly fast. It’s good for what it does though - running simple C scripts with a minimum of fuss.

          1. 1

            […] and it doesn’t run particularly fast.

            If one were to embed it as scripting language in another program, how does it compare in speed to LuaJIT?

            1. 1

              LuaJIT will be many times faster than this.