> What's Knit? A component language for C. Announcement attached. > Why not just distribute binaries for the platforms of interest? People feel uncomfortable if they can't build from source themselves. Generating binaries for a decent range of platforms is a bunch of work (especially given the current mess in the Linux library system). > Or runhugs scripts? Using Hugs is attractive because it is really easy to install and very portable. It's also too slow to use for compiling large systems or when doing cross-component inlining. But even if we stick with Hugs, there's a little ffi'd C code in the system - so they still have to compile some of the code themselves. -- Alastair
The University of Utah's Flux Research Group announces the first release of the "Knit" component composition toolset. Knit is a new component definition and linking language which can be used with C and assembly code. Get Knit's open source code, examples, papers, and docs at: http://www.cs.utah.edu/flux/knit/ Knit: o supports components created from C and assembly code; o supports component definitions that require little or no modification of existing code; o automatically schedules component initializers and finalizers; o provides an extensible constraint system to detect subtle errors in component composition; o provides cross-module inlining that largely eliminates the overheads of componentization; o supports component hierarchies; o supports cyclic component dependencies. Knit can be used for any C program, but is especially well suited for use in systems that have some of the following characteristics: Many separate components, multiple implementations of the same component, intricate initialization requirements, complex component interdependencies, low-level code and embedded systems, or code that is used in radically different configurations. As described in our OSDI 2000 paper, we have already used Knit with the Utah OSKit (a kit of OS components which has all these properties) and with a suite of network router components based on MIT's "Click." Knit is part of an ongoing R&D effort. One challenge is to balance precision and conciseness of expression. We seek feedback, external users, and collaborators whose experiences and insight will help evolve Knit. To join the knit-users or knit-announce mailing lists, send email to [EMAIL PROTECTED] with, e.g, "subscribe knit-users" in the body. Thanks go to DARPA for their support, and thanks go to the entire Knit crew below, but especially Alastair Reid, for the fine research, development, and hard work that led to this Knit release. Matthew Flatt's foundational work on Units underlies this work; Eric Eide is responsible for the high quality of the tutorial and manual. Kota Abe Sean McDirmid Eric Eide John Regehr Matthew Flatt Alastair Reid Mike Hibler Leigh Stoller Jay Lepreau Patrick Tullmann and Alastair says... Enjoy! Jay Lepreau, [EMAIL PROTECTED] Flux Research Group, School of Computing University of Utah