[racket] set! racket behaviour

From: jkaczorek at aol.pl (jkaczorek at aol.pl)
Date: Mon Oct 31 12:58:56 EDT 2011


I’m using DrRacket. 
In an edit window I have written:

#lang racket
(define counter 0)

I’m pressing “Run” button and next, in a command line, after running a command:

(set! counter (add1 counter))

I receive a message “set!: cannot modify a constant: counter”

The problem can be resolved by changing the language (Language/Choose language/R5RS and unchecking “Disallow redefinition of initial binding”) but I suppose that in this way I can lose an access to the racket libraries.
Of course, I realize, that redefinition of the variables is not good (functional) programming style but sometimes it’s necessary. Is there a possibility of such modifications without changing language?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20111031/20b30fdb/attachment.html>

Posted on the users mailing list.