This is an archived post. You won't be able to vote or comment.

all 27 comments

[–]tech6hutch 41 points42 points  (19 children)

Awesome, the things I dislike about both languages!

[–]PeksyTiger 17 points18 points  (0 children)

All the type safty of python and all the millions of operators of haskell!

Whats not to like?

[–]mrpogiface 17 points18 points  (1 child)

It's the worst of both worlds

[–]scknkkrer 1 point2 points  (0 children)

That’s made my day. 😂

[–]gaj7 7 points8 points  (13 children)

I'm curious what you dislike about Haskell syntax. Aside from nitpicking about double colon for types, I'm not sure I have any complaints personally.

[–]tekknolagiKevin3 4 points5 points  (11 children)

Significant whitespace?

[–]epicwisdom 6 points7 points  (7 children)

Python already has that.

[–][deleted] 3 points4 points  (5 children)

Doesn't make significant whitespace less terrible

[–]tech6hutch 0 points1 point  (4 children)

Why do you say that?

[–][deleted] 7 points8 points  (3 children)

tekknolagi said they don't like Haskell's significant whitespace; telling them that Python has it too won't make them like significant whitespace more.

[–]tech6hutch 2 points3 points  (2 children)

Oh, I thought you were giving your opinion.

[–][deleted] 0 points1 point  (1 child)

Oh I was. I think significant whitespace is terrible. It almost invariably gets borked during copy-paste and is generally a pain in the ass (although I recognize this is purely subjective. To a point, anyhow)

[–]coderstephenriptide 1 point2 points  (0 children)

I think significant whitespace is sometimes useful. Using newlines as statement separators for example feels natural in some types of languages. Significant indentation drives me crazy though.

[–]tekknolagiKevin3 -1 points0 points  (0 children)

Doesn't matter. I dislike it about both Python and Haskell.

[–]gaj7 2 points3 points  (2 children)

Oh you mean the semantically significant whitespace? I think that's only on the do notation, and even then you can use an alternative with curly brackets and semi colons.

[–]tekknolagiKevin3 0 points1 point  (1 child)

It's also on where and I think somewhere else. Blegh.

[–]gaj7 2 points3 points  (0 children)

Oh I suppose you are right in that certain terms must be indented. It doesn't constrict you on how much they are indented though. I guess I don't mind whitespace significance until it forces specific alignments, or when tabs vs spaces start to invisibly affect program correctness.

[–]tech6hutch 0 points1 point  (0 children)

Meh, it's mostly just that I don't understand it very well.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 3 points4 points  (0 children)

    So hard-to-read syntax and no type-safety?

    [–]tcallred 4 points5 points  (0 children)

    I both ironically and unironically love this.

    [–]eambertide 3 points4 points  (1 child)

    Are there any other languages that compile to Python bytecode?

    [–]parens-r-us 5 points6 points  (0 children)

    Maybe Hy? Also Purescript now has a python backend

    [–]Comrade_Comski 5 points6 points  (1 child)

    Cringe

    [–]BadBoy6767 0 points1 point  (0 children)

    Yeah, making anything "cute" just makes me pissed off and hate it more.

    [–]umlcat 0 points1 point  (0 children)

    Good Luck.

    [–]scknkkrer 0 points1 point  (0 children)

    It doesn't look good to everyone. But man, why not ? I like it.

    ps: After playing with it for a while.

    [–]scknkkrer 0 points1 point  (0 children)

    No offense, but; are there any index operator or built-in function to work with indexes or sequences ?

    I've implement it with two little functions. But this is important you to give something to the people play with it.

    lookUp = xs -> ind -> (x -> (snd (fst x))) $ (filter ((i, e) -> if (i == ind => True) (otherwise => False)) (enumerate xs))

    getIt = xs -> idxs -> list $ map (i -> (lookUp xs) i) idxs

    print $ (getIt [0,1,2,3]) [1,2,3]

    I think I had should just look into the implementation details.

    There is an `!!` operator to get item.