Well, after a bit of fiddling, I've discovered I can indeed do what I need to, with a judicious use of "let" for creating a swag of random values, and ensuring that their use is all within the scope of let. So far, all good!
On Thursday, 6 July 2017 10:54:53 UTC+10, Royall Spence wrote: > Sounds like two questions wrapped into one. When it comes to setting > names to values, Scheme programming encourages the use of a "let" > expression to bind values to names inside of a (usually narrow) scope > rather than assigning a value to a variable. See more here: > https://docs.racket-lang.org/guide/let.html > > As for the typed random value, the Flonum from (random) should be fine > since a Flonum is also a Real. Can you provide a short example of > runnable code that exposes the problem you're having? > > On Wed, Jul 5, 2017, at 08:39 PM, Alasdair McAndrew wrote: > > I'm doing a little programming which requires the use of some random > > numbers. Basically I add a random value at one stage, and subtract it a > > bit later. Something like this pseudo-code (where "x" is an existing > > variable): > > > > set rand_value <- (random) > > set new_value <- x + rand_value > > > > ... do stuff ... > > > > set new_value <- new_value - rand_value > > > > All values may be considered Reals. I tried to do this in Typed Racket, > > where x was of type "Real" and got errors about mismatched types: > > "(random)" produces a "flonum". I was also using "set!" for the > > assignment of the random value, which I understand to be poor practice: > > how would I do something like the above in a more "rackety" manner? > > Thank you! > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Racket Users" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected]. > > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

