Is there way to register finalizer on chez?
I want auto release of COM object imported via foreign interface.
I cannot found it in document.

Post has attachment
The Chez Scheme native compiler has gone open source.

According to the article,

"R. Kent Dybvig, professor emeritus of Computer Science at Indiana University, now with Cisco, has recently open sourced version 9.4 of his formerly commercial Scheme compiler Chez Scheme.

"Chez Scheme is an optimizing compiler that generates native code for the PowerPC, SPARC, IA–32, and x86–64 architectures. It supports Scheme R6RS, the 2007 Scheme standard that is supported by many Scheme implementations available today, such as Racket, Ikarus, Larceny and Ypsilon. Chez Scheme uses incremental native compilation and focuses on maximizing programmer productivity as well as application reliability and performance, according to its creator.

"Chez Scheme is compiled using a nanopass compiler, which strives to reduce the number of transformations and optimizations that are done in a single pass to just one. This approach is claimed to make a compiler easier to understand and maintain, while also simplifying development, testing, and debugging. As an additional consequence of this, Chez Scheme should be particularly interesting for studying purposes."

Post has attachment
A paper by R. Kent Dybvig describing the development of Chez Scheme.

According to the synopsis,

"Chez Scheme is now over 20 years old, the first version having been released in 1985. This paper takes a brief look back on the history of Chez Scheme's development to explore how and why it became the system it is today."

Post has attachment
I have just shared this community on the Scheme subreddit of reddit.

Feel free to post comments there.

Post has attachment
A link to Technical Report TR44: CONS should not Evaluate its Arguments, by Daniel P. Friedman and David S. Wise.

One of the advantages of preventing cons from evaluating its arguments is that certain kinds of endless loops caused by arguments that do not terminate on evaluation can be avoided.  This is also one of the basic arguments for lazy evaluation in certain functional programming languages.

Post has attachment
I have just created an /r/chezscheme subreddit on reddit.

Feel free to post announcements and information there.

Post has attachment
A link to a discussion that took place on reddit regarding
the aforementioned Technical Report TR44: CONS should not Evaluate its Arguments (see, by Daniel P. Friedman and David S. Wise.

According to comments in the discussion,

"[–]kruhft 2 points 9 months ago 
I'm pretty sure Chicken Scheme was written to follow the ideas of this paper.

"[–]ehaliewicz 2 points 8 months ago 
I'm not sure, but Chicken does use a really clever compilation strategy. It compiles to a CPS representation in C and all function calls are simply C function calls with arguments passed on the stack, and all temporary variables allocated on the stack. When first constructed, a closure's free variables also point to stack allocated variables.
At the beginning of each function it checks how much space it needs, and when you reach a soft limit, you look at all the variables in the nursery (which is simple, they're just the arguments to the current function!) in that point of the program, copy them, and everything they point to recursively into a different memory pool, updating all pointers as necessary. Then you reset the stack and resume execution of the paused function.
This way you can stack allocate all activation records and garbage collection is simple and relatively fast.
there's a bit more detail here:

"[–]Grue 1 point 9 months ago 
It might be a more powerful construct but surely less efficient.

"[–]ehaliewicz 2 points 8 months ago 
It's less efficient in some ways, but more in others. In fact, you can terminate programs with it that would loop endlessly with a strict cons. :^)"

Post has attachment
A rather interesting and lengthy discussion on "Y Combinator," entitled "Chez Scheme is now free (," is transpiring.

Some of the comments discuss such issues as experiences in porting the metacircular evaluator to FemtoLisp, whether C or Scheme is more foundational to computing, and awkwardness in representation of struct fields in terms of cars and cdrs.

Post has attachment
This paper outlines a number of issues regarding namespaces and their separation in different dialects of Lisp, including Scheme.  In particular, it discusses a number of ramifications of having a single namespace for functions and values in Scheme, as opposed to having separate namespaces for the two in Common Lisp.

Welcome to the Chez Scheme programming language!

This is a new community that I have just created to promote discussion of the Chez Scheme programming language on Google+.  The community is open to the public.

Discussion of topics related to the study, research, and application of Chez Scheme is encouraged.
Wait while more posts are being loaded