Bridging PLT Scheme with .NET

In this conversation on the PLT discussion list about PLT and COM, Pedro shared that:

Some time ago I wrote a bridge from PLT to .NET [1]. Unfortunatly bit rot has set in, but if you think it might be usefull I can forward the code. The basic approach was to write a Managed C++ (now days C++/Cli) wrapper that exposed the .NET reflection interface to PLT. You might not need something quite as comprehensive in which case you can just wrap the .NET calls you need with PLT callable C functions.

The paper on the library can be found here here; and the library is attached to this post.
This looks interesting for Windows Schemers who have a combination of need, expertise, and interest.

Lambda Calculus Modeled with PLT Redex

Here is material on understanding Lambda Calculus using PLT Redex:

In this zip directory you can find file lc-with-Redex.doc which is a short intro in Lambda Calculus and contains info on how to use the material that goes with the essay. I have included a very condenced note on a system even without lambda, which is called ‘combinatory logic’. My essay is adressed to Schemers and uses PLT Scheme, particularly PLT’s redex library. It has become somewhat more verbose than I had in mind originally. If you have any ideas how to condence and simplify further without loosing too much content and accuracy, I welcome your suggestions. Comments about inaccuracies and other faults are welcome too, of course. My essay does not contain any new views. It is a compilation of views taken from books that have inspired me. They are mentioned in the essay.
If the format of the above link does not suit you, give me a ping and I’ll try to send you the material in a format that suits you.
With thanks to Douglas R. Hofstadter, Daniel P Friedman, Matthias Felleisen, Roby Findler, Casey Klein and others, in all feasible orders.

— Jos
I did not read it yet; this is on my long list.
(via plt)

Using DrScheme to Edit Code for Any Distribution

I would like, or for someone else to, write a plugin for DrScheme that would allow it to easily call out to execute code on any Scheme distribution.
The reason is that DrScheme is a very nice cross-platform editor with great features that you can use on R5RS and R6RS Scheme source code.
The plugin would need to be smart enough to know how to call out to another Scheme executable and disable PLT specific features.
Based on Leppie and Eli’s conversation; it seems possible.
Am I the only one that uses DrScheme for all of my Scheme editing?
I run code on PLT, Ikarus, Ypsilon, and Iron Scheme.

HtDP on National Radio

HtDP was mentioned on NPR!
Thanks to David for transcribing:

Thomas, Manhattan Beach, CA – Starting a tech company
Thomas is 10 years old and he wants to start a software company with his friends! He programs in C++, Java, and Python?! Wow. Leo says he wants Thomas to learn these programs right, not just noodling with them and learning bad habits. So Leo says that Alice is a good place to start, but Leo suggests HTDP.ORG. It’s a programming book written by software professors all over the country and teaches “SCHEME,” which is a “flavor” of a programming language called LISP. Download DrScheme. This will teach you to plan, design, and organize your software ideas.

(via PLT)

How to Test Functions that are not Exported from a Module

Paulos asked here how to unit test module functions that are not exported. Eli explained two solutions here:

; One way to do this is with `module->namespace' to get the
; namespace of the module (I think that this is how `require/expose'
; works).  Another way which is very convenient for testing is to use
; the sandbox:
 (require scheme/sandbox)
 (define e (make-module-evaluator (string->path "some-file")))
;  and at this point you have `e' bound to an evaluator that works
;  inside of your module, similarly to the repl in drscheme.