PLT Scheme is an innovative programming language that builds on a rich academic and practical tradition.
It is suitable for implementation tasks ranging from scripting to application development
... [More], including GUIs, web services, etc.
It includes the DrScheme programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the PLT Scheme web server, extensive libraries, documentation for both beginners and experts, and more.
It supports the creation of new programming languages through a rich, expressive syntax system. Example languages include Typed Scheme, ACL2, FrTime, Lazy Scheme, and ProfessorJ (which is a pedagogical dialect of Java). [Less]
Chicken is a compiler for the Scheme programming language. Chicken produces portable, efficient C, supports almost all of the current Scheme language standard, R5RS and includes many enhancements and extensions.
OverviewYpsilon is the implementation of Scheme Programming Language, which conforms to the latest standard R6RS. It achieves a remarkably short GC pause time and the best performance in parallel
... [More] execution as it implements "mostly concurrent garbage collection", which is optimized for the multi-core CPU system.
Ypsilon is easy to use as well as good for applications of any kind that require quick, reliable, and interactive data processing. It implements full features of R6RS and R6RS standard libraries including:
arbitrary precision integer arithmetic rational number exact and inexact complex number implicitly phased library top-level program proper tail recursion call/cc and dynamic wind unicode bytevectors records exceptions and conditions i/o syntax-case hashtables enumerations
More libraries are included to support a wide variety of software development. Also it has built-in FFI which is easy to use. Please refer to the following files for FFI overview.
example/gtk-hello.scm example/glut-demo.scm sitelib/ypsilon/glut.scm sitelib/ypsilon/gl.scm sitelib/ypsilon/ffi.scm
News2008-12-23 Ypsilon 0.9.6-update3 released.
This version fixed all bugs found and supports Windows XP/Vista(32bit), MacOSX(32bit), Linux(32/64bit) , FreeBSD(32/64bit).
2008-09-03 Ypsilon 0.9.6-update2 released.
This is a bug fix release.
2008-08-15 Ypsilon 0.9.6-update1 released.
This is a bug fix release.
2008-08-01 Ypsilon 0.9.6 released.
This version fixed all bugs found in version 0.9.5.
LinksKnown bugs in current release Changes in latest version (trunk) Ypsilon development roadmap Xcode3: How to checkout latest source code from repository Windows: How to install Ypsilon to 'C:\Users\\Ypsilon' Using binfmt_misc linux kernel module Other ResourcesYpsilon has been developed as a fundamental technology for LittleWing Pinball Construction System.
Ypsilon Wiki: http://www.littlewingpinball.net/mediawiki/index.php/Ypsilon Ypsilon Background Story: http://www.littlewingpinball.com/contents/en/ypsilon.html (Japanese) Ypsilon Background Story: http://www.littlewingpinball.com/contents/ja/ypsilon.html (Japanese) Ypsilon Wiki: http://www.littlewingpinball.net/mediawiki-ja/index.php/Ypsilon LittleWing Pinball Home: http://www.littlewingpinball.com/ [Less]
Ikarus Scheme is a free optimizing incremental native-code compiler for Scheme as specified in the Revised^6 Report on the Algorithmic Language Scheme.
It features small footprint (64KB in library form on the 'small' configuration) like SIOD and TinyScheme, low memory consumption (2-words per cons cell), multibyte characters handling (UTF-8, EUCs and Shift_JIS) and more.
Project name change : Counterclockwise (ccw)This project has moved to http://code.google.com/p/counterclockwise The Issues opened on this project will not be migrated and will be managed here until
... [More] they are closed New issues must be created in the new Counterclockwise project user and dev mailing lists will remain the same for now [Less]
muSE - short for 'muvee Symbolic Expressions' - is a Scheme dialect intended for use as an embedded language. It has some unique language features such as first class macros, simple general read-time
... [More] evaluation syntax, vectors and hashtables that can be used as functions, and extensive use of pattern matching bind.
Highlight: muSE is used as an embedded language to specify the "styles" in muvee Reveal, launched on 11 June 2008.
Language and library featuresProvides lexically scoped closures as well as dynamically scoped blocks. Expressive reader macro system where macros are first class citizens (i.e. can be passed around as arguments to functions, assigned to variables, etc.) Uniform use of pattern matching for variable binding. Erlang style message passing processes. Networking support that's process aware. Generic functions (doc) Many polymorphic primitives - including map, filter, reduce, get, put, and some others. An extremely easy to use Objective-C bridge (only on MacOSX). A simple module system. Flexible exception handling Resumable exceptions Exception handler dispatch using pattern matching bind. Simple cleanup mechanism Reduce the need for local variables using TheAndIt. Built-in support for JSON. Built-in support for reading/writing a subset of XML . Integration featuresC-based, fairly well documented, simple embedding API. Can call as well as be called from C/C++ code. Compact - Its easy to strip down the feature set to whatever subset of the core language you need. Extensible notion of objects to add new kinds of things to muSE in native code. Vectors, hashtables and ports (for I/O) are provided using this mechanism. Ability to add C/C++ based native functionality in the form of plugin DLLs. Ability to create StandAloneExecutables Supports multiple independent environments Liberal license terms - can use in commercial applications without publishing source code. License summaryThe license agreement has been changed (13Nov2008) to "New BSD" with the requirement that contributions be made on the same terms.
CopyrightCopyright (c) 2006, Jointly owned by Srikumar K. S. and muvee Technologies Pte. Ltd.
Blog posts
.gadget-title {
margin-bottom: 2px;
}
function resizeIframeHandler(opt_height) {
var elem = document.getElementById(this.f);
if (!elem) return;
if (!opt_height) {
elem.style.height = undefined;
}
else {
opt_height = Math.max(10, opt_height);
elem.style.height = opt_height + 'px';
}
}
gadgets.rpc.register("resize_iframe", resizeIframeHandler);
gadgets.rpc.register('set_title', function(title) {
var elem = document.getElementById(this.f + '_title');
if (elem) {
elem.innerHTML = gadgets.util.escape(title);
}
}); [Less]