What file is a name defined in?

 

#lang scheme
; What file is a name defined in?
;; definition-source : identifier -> (U symbol path)
;; Returns a symbol or path for the module that contains
;; the definition for a given name.
(define (definition-source id)
  (let ([binding (identifier-binding id)])
    (and (list? binding)
         (resolved-module-path-name
          (module-path-index-resolve (car binding))))))
(definition-source #'map)
 ; => #
(definition-source #'+)
; => #%kernel
; "The + procedure is defined in the built-in kernel module
; (it has no Scheme source file)."

(via PLT)

jtracert

jTracert will allow you to generate sequence diagrams directly from your application runtime!
* This gives you a lot of advantages:
* Understand the code created by your colleagues/partners in a short time
* Rapidly generate documentation for your partners or users.
* Easily investigate what’s happening in large Java applications
* Excellent companion for a common debugger

Moby Scheme

We are delighted to announce the first release of Moby Scheme, a compiler from Beginner Student Language (BSL) + World programs to smartphones. The current prototype compiles to the Android platform, and supports almost all BSL programs as well as libraries to accelerometer, GPS, and SMS functionality.
We are concurrently working on a Web service interface for end-users. If your only goal is to *use* Moby, you can certainly try it out, but the current release assumes you have some developer chops to install and manage packages. We’re hoping, however, that you’ll also want to *contribute*, for which this is your avenue.

(via PLT)

Knights of the Lambda Calculus

The Knights of the Lambda Calculus is a semi-fictional organization of expert LISP and Scheme hackers. The name refers to the lambda calculus, a mathematical formalism invented by Alonzo Church, with which LISP is intimately connected, and references the Knights Templar.
There is no actual organization that goes by the name Knights of the Lambda Calculus; it mostly only exists as a hacker culture in-joke. The concept most likely originated at MIT. For example, in the Structure and Interpretation of Computer Programs video lectures, one of the lecturers presents the audience with the button, saying they are now members of this special group. However, a “well-known LISPer” has been known to give out buttons with Knights insignia on them, and some people have claimed to have membership in the Knights.

Here is a local copy.
(via Wikipedia)

Literate Programming in Scheme

The release notes here for PLT Scheme 4.1.5 mention support for literate programming. Not being familiar with the term; I read more about it on Wikipedia here.
I have wanted in-code documentation generation tools to serve this purpose; but I have never succeeded with them. It had always felt like I was battling the intent of the tool. Even Eiffel’s notion of different views on code-as-documentation never quite fit for me. This approach is fascinating; it allows for you to tell a story about the code as you write the code. Having posted to the PLT list asking about it here; two folks replied with details on this style and Scheme.
PLT Scheme recently added literate programming support; documented here. One example of its application is in Chat Noir here; and the source code for it may be viewed here (Thanks Robby).
A tool for literate programming in Scheme called is schemeweb located here (Thanks Phil).