racket/collects/syntax/scribblings/name.scrbl
Matthew Flatt cf69cb2aff special treatment of void as 'inferred-name property
allows keyword-based application to hide temporary
 names that happen to be bound to procedure arguments
2011-03-13 09:02:39 -06:00

18 lines
657 B
Racket

#lang scribble/doc
@(require "common.ss"
(for-label syntax/name))
@title[#:tag "name"]{Extracting Inferred Names}
@defmodule[syntax/name]
@defproc[(syntax-local-infer-name [stx syntax?]) any/c]{
Similar to @scheme[syntax-local-name] except that @scheme[stx] is
checked for an @scheme['inferred-name] property (which overrides any
inferred name). If neither @scheme[syntax-local-name] nor
@scheme['inferred-name] produce a name, or if the
@scheme['inferred-name] property value is @|void-const|, then a name
is constructed from the source-location information in @scheme[stx],
if any. If no name can be constructed, the result is @scheme[#f].}