[plt-scheme] primitive vs. procedure in 3.99

From: Mark Engelberg (mark.engelberg at gmail.com)
Date: Wed Jun 4 01:37:31 EDT 2008

Is this a bug?

In 3.72, some things were categorized as primitives, and some were
categorized as procedures.  For example, + is a primitive, and is
reported as such by the REPL.  On the other hand, (lambda (x) x) is a

The distinction matters, because some functions, such as
primitive-result-arity only work on primitives.

However, in 3.99, all primitives are reported as procedures by the
REPL.  They are still internally classified as primitives, so they
work with primitive-result-arity, but there is no easy way to find out
from the REPL whether they are primitives or procedures.


Posted on the users mailing list.