Re: Python and Flaming Thunder
  Home FAQ Contact Sign in
comp.lang.python only
 
Advanced search
POPULAR GROUPS

more...

 Up
Re: Python and Flaming Thunder         

Group: comp.lang.python · Group Profile
Author: bruno.desthuilliers
Date: May 22, 2008 12:39

On 22 mai, 18:56, Mensanator aol.com> wrote:
> On May 22, 10:30 am, Nick Craig-Wood craig-wood.com> wrote:
>
>
>
>> Dave Parker flamingthunder.com> wrote:
>>> But after getting input from children and teachers, etc, it started
>>> feeling right.
>
>>> For example, consider the two statements:
>
>>> x = 8
>>> x = 10
>
>>> The reaction from most math teachers (and kids) was "one of those is
>>> wrong because x can't equal 2 different things at the same time".
>
>> This is a common feature in functional languages...
>
>> Eg
>
>> Erlang (BEAM) emulator version 5.6.2 [source] [smp:2]
>> [async-threads:0] [kernel-poll:false]
>
>> Eshell V5.6.2 (abort with ^G)
>>> X = 8.
>> 8
>>> X = 10.
>> ** exception error: no match of right hand side value 10
>>>
>
>> That error message is the erlang interpreter saying "Hey I know X is
>> 8, and you've said it is 10 - that can't be right", which is pretty
>> much what math teachers say too...
>
> Are you saying that erlang treats 1> as an assignment, yet
> treats 2> as a comparison?

Nope. Both are treated as pattern matching. The first one binds X
because it's by that time a free variable, the second fails because it
doesn't match.
> That's inconsistent.

That's consistent when you understand how Erlang works.
> No wonder nobody uses erlang.

Strange enough, it seems that more and more developpers and company
start to look at Erlang as a possible solution to massive scaling
problems.
> Why isn't erlang smart, like Python, and avoid such confusion?

Erlang *is* smart. It's just totally different from Python. And
there's no confusion here (except on your side...).
no comments
diggit! del.icio.us! reddit!

RELATED THREADS
SubjectArticles qty Group
Bug#426953: Installing python-matplotlib, python-numpy gets removedlinux.debian.bugs.rc ·