Welcome to Nightmare Software!

This is the home of Nightmare Software.

We build software for the Internet using Python, a powerful, extensible, and easy-to-learn object-oriented programming language.

Our current projects:

Medusa

A high-performance extensible single-threaded server architecture (currently supporting HTTP, FTP, and other Internet protocols) for Unix and Windows.

DynWin

A dynamic GUI class library for Win32 and Python. Designed in the spirit of Java's Swing library and ParcPlace Smalltalk.

Lunacy

A simple virtual-machine/compiler for the core of the programming language Scheme. The long-term goal is to host on top of it a dialect of Python with support for closures and first-class continuations; this language will be used to experiment with the asynchronous i/o techniques of Medusa, and to explore the idea of event-loop-less graphical user interface libraries.

Coroutines in Python

A coroutine is a control-flow feature that lets you arbitrarily suspend and resume a 'thread' of control. They make it possible to build simple easily-understood systems around asynchronous I/O that would otherwise require complex state machines.

Software

A catalog of software available from this site.

Sam Rushing / rushing@nightmare.com