[plt-scheme] primitive vs. procedure in 3.99

From: Jos Koot (jos.koot at telefonica.net)
Date: Wed Jun 4 02:55:01 EDT 2008

I see no problem:

Welcome to DrScheme, version 3.99.0.26-svn3jun2008 [3m].
Language: Module custom.
> (primitive? +)
#t
> (procedure? +)
#t
> (procedure? (lambda () '()))
#t
> (primitive? (lambda () '()))
#f
> 
 
All primitive procedures are procedures, of course.
Jos
----- Original Message ----- 
From: "Mark Engelberg" <mark.engelberg at gmail.com>
To: "pltscheme" <plt-scheme at list.cs.brown.edu>
Sent: Wednesday, June 04, 2008 7:37 AM
Subject: [plt-scheme] primitive vs. procedure in 3.99


> 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
> procedure.
> 
> 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.
> 
> --Mark
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.