On Oct 13, 2010, at 7:29 PM, Mathew Kurian wrote:

> Hello everybody,
> 
> Recently, I have been trying to understand a bit more about the Racket 
> language itself and today I hit a few questions along the way. So, here they 
> are:
> 
> -- Is Racket an interpreted language?
> 
No. 
> If not, how does it convert to machine/binary code?
> 
1. It converts the source program into a suitable intermediate form (a 'tree') 
and checks some basic properties. 
2. It converts this intermediate form to machine instructions just before it is 
about to 'interpret' a piece of the tree -- only when it runs on a platform for 
which there are libraries for doing so. Otherwise, it may interpret the tree. 

> -- In general computing, how does the random function work? How can computer 
> language ever create random numbers, that would be impossiible?
> 
These are pseudo-random numbers. They look like someone created a string of 
random numbers and yet, this isn't really true. We know exactly how to produce 
the same string again and again. BUT, by 'hiding' one of the inputs to the 
random number function, its interface appears to spit out new strings of 
numbers every time you call it. This is an essential trick: 

 -- make the interface (signature, contract) to a function look smaller than it 
really is, and magic happens 

The rest has been the subject to book-length mathematical-philosophical 
treaties. 

> -- How does Racket initiate a string memory allocation? From a bunch of 
> controlled electrical signals to an virtual action, how does Racket achieve 
> this? (I am looking for a generalization of the idea, not too technical. With 
> some direction to start, I can go ahead and google for articles to find for 
> an in-depth analysis.)
> 
Why would you want to stop at the electrical signals? Why don't you try to 
understand the movement of electrons behind memory allocation for strings? And 
then there is the sub-electron level. How about the quarks? 

-- Matthias







_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to