definition of a highlevel language?

miller.paul.w at gmail.com miller.paul.w at gmail.com
Mon May 26 14:57:39 EDT 2008


On May 26, 2:34 pm, notnorweg... at yahoo.se wrote:

I wanted to address some other points I failed to mention in my first
response.

> so are they fundamentally differently built or is it just a lot of
> lowlevel operations built on top of each other?

Partly.  A high-level language is essentially one that gives you high-
level operations, like "apply the function f to each element of the
sequence seq, and return [f(seq[0]), f(seq[1]), ... f(seq[n])].

But, it's more than that.  (You use Haskell as your example, but I'll
use Python because I know it roughly a million percent better than
Haskell... hehe.)  In Python, you have support from the language to
treat functions as first-class objects; in C, you explicitly cannot do
this -- to map an arbitrary function over a sequence, you're
restricted to accessing the function through a pointer.  On the
surface, it's the same operation, but that extra level of indirection
can really bog one's mind down.  Think about how difficult it is for a
human to interpret the declaration of a function pointer in C, for
instance.

> haskell is considered a very highlevellanguage but can you do
> systemsprogramming with it(yes maybe it is very unpractical i dont
> know but can you)?


> is lambda calculus a more abstract and efficient way of modeling a
> computer?

Lambda calculus doesn't model computers.  It models *computation*.
That is, given a Turing machine, there's a set of functions in the
lambda calculus, which, when suitably combined, will yield the exact
same result as the original Turing machine.  That doesn't in any way
imply that Turing machines work by interpreting lambda calculus.

> how did lispmachines work? was the basic system programmed in LISP?

Yes, the whole kit and kaboodle, all the way down to the microcode was
programmed in LISP.  In principle, there's no reason we couldn't have
Haskell machines or Python machines.  It's just that nobody's been
crazy enough to do it, that I know of. :-)



More information about the Python-list mailing list