Bobbing for Kernels

See Bob. See Bob bob. Bob, Bob, bob!

Posts Tagged ‘interpreter’

Reading List

Posted by kernelbob on January 24, 2011

I’ve been doing some reading this weekend.  This post records a little of what I’ve learned.

The focus has been Scheme macros and separate compilation.  I’m trying to understand how a production quality Scheme system “should” be organized.  “Should” is in scare quotes because every Scheme user has at least one opinion on the topic, and no two seem to agree.

So here are the papers I’ve looked at in the last few days.

Read the rest of this entry »
Advertisements

Posted in Scheme | Tagged: , , , , , | 1 Comment »

A Safer Scheme Interpreter, Part 3

Posted by kernelbob on January 4, 2011

In Part 1, I explained why my Scheme interpreter, Schetoo, has the ability to fail or restart any instruction.  In Part 2, I showed how it automatically checks that instructions do all necessary checks before they have any side effects.  Those two posts described raising exceptions with longjmp, but didn’t really explain how the interpreter catches exceptions.

Read the rest of this entry »

Posted in Scheme | Tagged: , , , , , , , | Leave a Comment »

A Safer Scheme Interpreter, Part 2

Posted by kernelbob on January 3, 2011

In my last post, I promised to explain how my Scheme interpreter, Schetoo, can automatically verify that its instructions are restartable.  But first, some background.

Read the rest of this entry »

Posted in Scheme | Tagged: , , , , , , , | 1 Comment »

A Safer Scheme Interpreter

Posted by kernelbob on January 2, 2011

In the first half of 2010, I wrote a Scheme interpreter which I called Schetoo. It is a sequel to an interpreter called kbscheme, which I worked on off-and-on in 2008 and 2009. Both are written in C.

You can see them both on github.

https://github.com/kbob/kbscheme
https://github.com/kbob/schetoo

I undertook these projects to learn more about Scheme, interpreters, and garbage collection. Along the way, I came up with an interesting technique to make interpreter implementation less error-prone. That’s what I want to write about today.

Read the rest of this entry »

Posted in Scheme | Tagged: , , , , , , , , | 3 Comments »