POV-Ray : Newsgroups : povray.off-topic : Wikipath Server Time
1 Oct 2024 00:04:21 EDT (-0400)
  Wikipath (Message 21 to 30 of 47)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Invisible
Subject: Re: Wikipath
Date: 15 Aug 2008 08:23:32
Message: <48a57544@news.povray.org>
Mike Raiford wrote:

> I'll grant you, it is an interesting theoretical question ... But how 
> exactly do you get a result from the above quoted statement, and what 
> would that result look like?

That's exactly it. It's an interesting theoretical result. It has no 
"practical" value of any kind.



You *could* write a computer program that "runs" Iota calculus programs. 
(In fact, I did this a while back. Maybe I'll resurrect it just for fun. 
Or... self-harming?)

Interpretting the answer is tricky though. The Iota calculus is an 
untyped language, so if you don't know what type of value a program is 
supposed to produce, there's no way to know how to decode it. It's a bit 
like the way the bit sequence "1111" might mean "15" or "-1", depending 
on whether it's supposed to be signed or unsigned binary.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Clarence1898
Subject: Re: Wikipath
Date: 15 Aug 2008 08:30:00
Message: <web.48a575e7eafae58bc67831f30@news.povray.org>
Invisible <voi### [at] devnull> wrote:
> Clarence1898 wrote:
>
> > Since I am unfamiliar with lambda calculus, not being taught in the FORTRAN
> > class I took at college, I looked it up on wikipedia.  After a few paragraphs,
> > my eyes glazed over and could no longer focus.
>
> In seriousness now...
>
> A Turing machine (as you may or may not know) is a "computer" simplified
> down to the barest essentials. It turns out, the simpler a machine
> becomes, the harder it becomes to program it.
>
> [Strictly, a *universal* Turing machine is a simplified programmable
> computer, if you want to nitpick.]
>
> Similarly, the Lambda calculus is sort of the simplest possible
> programming language. And again, it turns out the simpler the language
> is, the harder it is to program anything with it!
>

Last night after work, I took another look at the lambda calculus article.  I
think I get the gist of it.  It is simple enough to be practically impossible
to write any useful program with it.

> Now if you REALLY WANT TO MAKE YOUR HEAD FRIGGIN HURT... Try the SKI
> combinator calculus.

I didn't even try to look this on up.

> IF YOU WANT TO TOTALLY BREAK YOUR MIND, you may try the Iota calculus.

Or this one.

The lambda calculus was somewhat interesting, but outside of some mathematicians
and computer scientists, I don't know how anyone could ever use it.  Now if you
could think of a way I could use it to get a few programmers off my back, I'll
take another look at it.

Isaac


Post a reply to this message

From: Invisible
Subject: Re: Wikipath
Date: 15 Aug 2008 08:44:44
Message: <48a57a3c$1@news.povray.org>
>> Similarly, the Lambda calculus is sort of the simplest possible
>> programming language. And again, it turns out the simpler the language
>> is, the harder it is to program anything with it!
> 
> Last night after work, I took another look at the lambda calculus article.  I
> think I get the gist of it.  It is simple enough to be practically impossible
> to write any useful program with it.

Affirmative. Even "2+2" is quite large in the Lambda calculus!

>> Now if you REALLY WANT TO MAKE YOUR HEAD FRIGGIN HURT... Try the SKI
>> combinator calculus.
> 
> I didn't even try to look this on up.
> 
>> IF YOU WANT TO TOTALLY BREAK YOUR MIND, you may try the Iota calculus.
> 
> Or this one.

I really can't say I blame you. ;-)

> The lambda calculus was somewhat interesting, but outside of some mathematicians
> and computer scientists, I don't know how anyone could ever use it.

Indeed yes. Nobody actually uses the lambda calculus itself. That would 
be insane. It's a theoretical rather than practical language. It's 
interesting because of what it tells us about the theory of computers 
and computation - and that is all.



However... Theoretically, you could claim that Haskell is the lambda 
calculus, with some new features added that make it easier to read and 
write, and more efficient to execute on a computer.

You'll also find that many (most?) compilers for functional languages 
take the code you wrote and translate it into some 
extended-lambda-language of some kind, perform a few dozen optimisation 
passes, and then finally translate that to some sort of graph reduction 
engine. (At least, for lazy languages it's usually graph reduction - for 
strict language it'll probably be something more imperative.)

Even here, the lambda calculus is interesting: Without getting into long 
debates about complicated features like type checking or dynamic binding 
or scope rules, the lambda calculus lets us talk about possible 
execution orders - strict vs lazy and so on - and investigate their 
consequences. Investigating such design choices in a hyper-simple 
langauge makes everything much easier.

So the lambda calculus is where we explore the theories that our real 
tools are built on.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Warp
Subject: Re: Wikipath
Date: 15 Aug 2008 10:16:03
Message: <48a58fa3@news.povray.org>
Invisible <voi### [at] devnull> wrote:
> Even "2+2" is quite large in the Lambda calculus!

  Real programmers know that "2 2 +" is the only true notation.

  No need for complicated operator precedence rules nor any pesky
parentheses. For example "(1 + 2) * (3 + 4)" can be written as
"1 2 + 3 4 + *" and it's completely unambiguous.

-- 
                                                          - Warp


Post a reply to this message

From: Invisible
Subject: Re: Wikipath
Date: 15 Aug 2008 10:19:41
Message: <48a5907d$1@news.povray.org>
Warp wrote:

>   Real programmers know that "2 2 +" is the only true notation.
> 
>   No need for complicated operator precedence rules nor any pesky
> parentheses. For example "(1 + 2) * (3 + 4)" can be written as
> "1 2 + 3 4 + *" and it's completely unambiguous.

Up to being able to distinguish "1 2" from "12". ;-)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Mike Raiford
Subject: Re: Wikipath
Date: 15 Aug 2008 10:48:31
Message: <48a5973f$1@news.povray.org>
Warp wrote:
> Invisible <voi### [at] devnull> wrote:
>> Even "2+2" is quite large in the Lambda calculus!
> 
>   Real programmers know that "2 2 +" is the only true notation.
> 
>   No need for complicated operator precedence rules nor any pesky
> parentheses. For example "(1 + 2) * (3 + 4)" can be written as
> "1 2 + 3 4 + *" and it's completely unambiguous.
> 

Mmm, RPN... My dad has an HP calculator that uses that. Once you get 
used to it it's quite nice.


Post a reply to this message

From: Invisible
Subject: Re: Wikipath
Date: 15 Aug 2008 10:51:05
Message: <48a597d9$1@news.povray.org>
Mike Raiford wrote:

> Mmm, RPN... My dad has an HP calculator that uses that. Once you get 
> used to it it's quite nice.

It's a simple and clean solution to the age-old problem of trying to do 
a calculation on a pocket calculator and needing to write down values 
and later type them back in again. Just use a stack, silly!

(I've never tried this extensively, but I would suggest that it probably 
requires a little forethought before you start the calculation...)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Darren New
Subject: Re: Wikipath
Date: 15 Aug 2008 11:48:53
Message: <48a5a565$1@news.povray.org>
Invisible wrote:
> (I've never tried this extensively, but I would suggest that it probably 
> requires a little forethought before you start the calculation...)

Not too much. If you have the equation written down, the rule is that 
you type in the numbers in the order they appear, and you type in the 
operators as soon as you've gotten all the arguments for that operator.

Now, if it's not written down, it can take some head-twisting, but IME 
not any more than using infix. Certainly easier than using infix without 
parentheses built into the calcualtor.

-- 
Darren New / San Diego, CA, USA (PST)


Post a reply to this message

From: Orchid XP v8
Subject: Re: Wikipath
Date: 15 Aug 2008 13:42:55
Message: <48a5c01f$1@news.povray.org>
>> (I've never tried this extensively, but I would suggest that it 
>> probably requires a little forethought before you start the 
>> calculation...)
> 
> Not too much. If you have the equation written down...

I was thinking more if you're just casually throwing numbers around, and 
you suddenly realise that you'd like to use the number on the top of the 
stack as the *denominator*, not the numerator, or something like that. 
If you know before hand exactly what computation you want to perform 
then yes it's quite easy.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Darren New
Subject: Re: Wikipath
Date: 15 Aug 2008 13:49:03
Message: <48a5c18f$1@news.povray.org>
Orchid XP v8 wrote:
> you suddenly realise that you'd like to use the number on the top of the 
> stack as the *denominator*, not the numerator, or something like that. 

I think there's a button for *that* case, actually.

-- 
Darren New / San Diego, CA, USA (PST)


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.