GNU Artanis: For Modern Web Apps
If you think Scheme can't handle modern, full-stack web development, you haven't met GNU Artanis. Written for Guile Scheme, Artanis is a web application framework designed to support dynamic websites, applications, and services. It provides the tools
developers expect: database access, templating, session management, and URL remapping for building RESTful APIs. Artanis embraces an asynchronous, non-blocking server core, making it efficient and lightweight. It's an ambitious project that aims to bring a 'Scheme-on-Rails' experience to the Guile ecosystem, proving that functional programming and web development can go hand-in-hand.
Spiffy: For CHICKEN Scheme Web Services
The CHICKEN Scheme ecosystem is famous for its vast repository of libraries, or 'eggs.' Among them, Spiffy stands out as a go-to web server library. It’s lightweight, easy to set up, and highly customizable, reflecting the CHICKEN philosophy of providing tools that are powerful but not prescriptive. You can use it as a standalone server or integrate it as a library into a larger application. It powers the official CHICKEN Scheme wiki, demonstrating its reliability. For developers who prefer to assemble their web stack from modular components rather than adopting a monolithic framework, Spiffy is an ideal choice.
Guile-GNOME: For Native Desktop GUIs
Scheme isn't just for servers and command lines. When you need to build a graphical user interface (GUI) for a desktop application, you need a solid toolkit. Guile-GNOME provides bindings to the powerful GTK toolkit and other GNOME libraries. This allows you to write native-looking desktop applications for Linux entirely in Guile Scheme. Instead of wrestling with C or other languages, you get to design your UI with the expressive power and interactive development cycle of Scheme. It’s a perfect example of using Scheme as a high-level language to control powerful low-level systems.
CHICKEN's SDL Bindings: For Game Development
Game development is a great way to push a language's limits. The CHICKEN Scheme community provides robust bindings for Simple DirectMedia Layer (SDL), a cross-platform library for handling graphics, sound, and input. This provides a framework for building 2D games and other multimedia applications. While not a full-fledged game engine like Unity or Godot, it gives creative programmers the fundamental building blocks they need. By combining the performance of C-compiled CHICKEN with the flexibility of Scheme, developers can create fun, interactive experiences from the ground up, proving Scheme is more than capable of play.
Haunt: For Static Site Generation
In an era of complex, database-driven websites, static site generators (SSGs) offer a return to simplicity, security, and speed. Haunt is a simple, hackable SSG written in Scheme, primarily for the Guile implementation. It takes content written in formats like Markdown, applies them to templates, and generates a complete, static website. This approach is perfect for blogs, documentation, and personal portfolios. Haunt embraces a functional philosophy, treating site generation as a transformation of data. For developers who appreciate Scheme's elegance, Haunt provides a natural, Lisp-centric way to build for the web.
Scsh: For Powerful System Scripting
Why settle for Bash or Perl when you can have a full-powered Scheme at your fingertips? Scsh, the Scheme Shell, is designed for writing standalone Unix programs and shell scripts. It seamlessly blends the process-running notation of a traditional shell—think pipes and redirection—with the complete programming power of Scheme. This turns Scheme into a formidable tool for system administration, file manipulation, and network programming. Instead of writing clunky, error-prone shell scripts, you can use a high-level, expressive language to automate complex tasks, making Scsh a different, but equally valid, kind of framework.
Guile Itself: The GNU Extension Language
Perhaps the most profound framework for Scheme is its role as an extension language. This is the entire purpose of GNU Guile, the official extension language for the GNU Project. The idea is to embed a powerful, clean language within larger applications, allowing users and developers to script and customize behavior without modifying the core C code. By providing a stable application programming interface (API), Guile turns the host program into a framework. This philosophy—using a dynamic language to orchestrate and control static components—is a core part of the Lisp tradition and finds its ultimate expression in Guile's mission.













