1 min read

ChezWEB 2.0 Nearing Release (Sneak Peek)

Over the past two days, I've made 24 commits to my alpha branch of ChezWEB. For me, that's a whole lot. ChezWEB has come together really nicely for this first release, and I'm really happy with where the features are going.

A Beta version of 2.0 is almost ready. There is one feature (external file includes) that still needs to be implemented. The system also needs a lot more documentation, but the developer level documentation of the system is actually quite complete. Some more diagrams in some places would help, but that is something that can be improved upon after the Beta is released. I'm hoping to have some more user documentation finished so that at least there is no empty section in the woven version of ChezWEB.

However, since ChezWEB doesn't even really use the file include feature in its own code, I wanted to share a sneak peek at what to expect in version 2.0. Specifically, I have a woven version of ChezWEB as it stands right now (yes, ChezWEB weaves itself).

http://www.sacrideo.us/~arcfide/tmp/chezweb.pdf

The above link may not last past the Beta release, but if you want to see the cool output, you should check that document out. Especially, see the back of the document for the neat indexing features.

Here's the set of features from the previous roadmap that are going to make it into version 2.0:

  • CWEB style syntax (no more double backslashes)
  • Cleaner hygiene that handles threading automatically
  • No need to explicitly thread identifiers at the chunk reference site
  • Better support for cross-referencing and indexing (explicit indexing and fully automatic cross referencing)
  • Improved support for hierarchical document layouts.
  • Chunks can be extended and concatenated
  • A single WEB can generate multiple output files (CWEB style)


That means that these are the only features that haven't made it into the 2.0 version:

  • Scribble Syntax support
  • Non-hygienic chunks a la CWEB
  • A proper Scheme pretty printer
  • Automatic indexing of identifiers and code


Questions, comments, and critiques are welcome! I'll be presenting ChezWEB and specifically, more about the lessons I have learned from implementing the ChezWEB runtime at the Scheme Workshop in Portland this year.