guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: intern a top level variable


From: Jean Abou Samra
Subject: Re: Re: intern a top level variable
Date: Wed, 16 Aug 2023 18:13:05 +0200
User-agent: Evolution 3.48.4 (3.48.4-1.fc38)

Le mercredi 16 août 2023 à 10:55 -0400, Mortimer Cladwell a écrit :
> I would like to intern and assign a value within a method:
> 
> (define (test-intern)
> (let* ((name "abc")
>        (data "def")
>        (name-symbol (gensym name))
>        )
>   (pretty-print (string-append "symbol: " (symbol->string name-symbol)))
>   (set! name-symbol data)))
> 
> scheme@(guile-user)> (test-intern)
> "symbol: abc3301"
> scheme@(guile-user)> abc3301
> ;;; <unknown-location>: warning: possibly unbound variable `abc3301'
> ERROR: In procedure module-lookup: Unbound variable: abc3301


Sorry, but it's not clear to me what you mean by "intern and assign a value",
and I don't think it will be clear to someone else.

Can you be more precise please?

I don't understand why you expect "abc3301" to be bound after running (test-
intern). That (test-intern) call just creates a symbol, which is interned as a
symbol, meaning that creating another (interned) symbol with the same name will
reuse the same symbol value. But there is no reason why it shoud be bound to a
variable. Symbol interning just applies to symbols as values, it has nothing to
do with variables.


Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]