I'd been trying to learn haskell for a while, (I have an obsession you see) but it somehow slipped away.

Then, recently I took a coursera course where I had to learn python comprehensions. Yesterday I got back to http://learnyouahaskell.com/ and it was a breeze! How? Learning Python Comprehensions gave me a new perspective, it got me to think of a problem more functionally.

Different programming languages solve problems with different ideas. So I went back to ProjectEuler, this time trying to solve the problems in a number of languages:

https://github.com/gideondsouza/projecteuler-multilingual

Take Project Euler Problem 1 : *Find the sum of all the multiples of 3 or 5 below 1000.*

In Perl it looks like this

```
#!/usr/bin/perl
use Modern::Perl;
my $A = 0;
foreach my $x (1..999)
{
$A = $A + $x if ($x % 3 == 0 or $x % 5 == 0);
}
say $A;
```

With a Python comprehension:

```
#!/usr/bin/python3
A = sum([x for x in range(1000) if x % 3 == 0 or x % 5 == 0])
print(A);
```

And With haskell:

```
main = print(prob1)
prob1 = sum [x | x <- [1..1000], x `mod` 3 == 0 || x `mod` 5 == 0 ]
```

So go ye! Learn more languages, even if you won't use it in production, it will give you a new and fresh perspective when writing production code.

I wolud write Haskell code some other way: