Live data from Hacker News

The Last Hope for Scala's Infinity War [video]

youtube.com

71–76 of 76 posts

Re: The Last Hope for Scala's Infinity War [video]

#71

Earlier quoted context omitted.

abandon implicits entirely, What's wrong with (carefully used) implicits? What would you replace them with? Haskell has type-classes, a very similar concept, and it's difficult to imagine contemporary Haskell programming without them.

they're an afterthought which serve truly no purpose other than to be fancy via obfuscation?

Implicits are not an afterthought, but a core feature that enables efficient context-dependent parameterisation. Implicits let you avoid a lot of boiler-plate. They are especially useful for well-structured ad-hoc polymorphism, quite like Haskell's type-classes, the predecessor and close relative of implicits.

If you don't like implicits, simply don't use them. You can add a style checker to your build automation that finds and rejects the keyword "implicit" in your code. As to use of implicits in libraries, you are perfectly free to pass explicit arguments instead.

Odersky has a couple of recent youtube videos where he explains implicits in detail.

Re: The Last Hope for Scala's Infinity War [video]

#72

Earlier quoted context omitted.

F# will gain more traction once the C# HKT proposal champion gets approved and merged (which will be a CLR change)

Where can I get more information about this effort?

Here

https://github.com/dotnet/csharplang/issues/339

Re: The Last Hope for Scala's Infinity War [video]

#73

Earlier quoted context omitted.

This is exactly what drove me out of the lisp community. There are just too many people that insist on seeing engineering decisions between different sets of trade offs as stark choices between good and evil. Go read some of Eric Naggum’s rants for a really extreme example of this syndrome.

"The Lisp community" is purely an imaginary construct that only exists because you want it to. "Community" is largely a toxic concept anyway. Oh, we have to have a community. Community this, community that. Nice project, but where is your community? I can't write a line of code without a community! Tired of "community".

Nice to see that nothing has changed.

Re: The Last Hope for Scala's Infinity War [video]

#74

Earlier quoted context omitted.

"The Lisp community" is purely an imaginary construct that only exists because you want it to. "Community" is largely a toxic concept anyway. Oh, we have to have a community. Community this, community that. Nice project, but where is your community? I can't write a line of code without a community! Tired of "community".

Nice to see that nothing has changed.

You're still seething with hostility with regard to the conditions of a Usenet newsgroup fifteen years ago that is only very lightly active now. Reddit has r/Lisp which is more active and very different from old c.l.l. (Not that it's reasonable to equate r/Lisp with "Lisp community", either.)

Re: The Last Hope for Scala's Infinity War [video]

#75
post #55

Earlier quoted context omitted.

> The documentation seems to require a phd, which I have, just not in esoteric type system kungfoo. Completely agreed. Though the funny thing is, Scala has/had a Documentation Tzar and she is trying to get things to a better place. To supposedly take care of this. I'm very much a learn by example type, so I'd appreciate a lot more examples (e.g. for methods: https://www.scala-lang.org/api/2.12.6/scala/collection/$col…

I agree with many of your points, but on that specific example code you pointed to which I have never used or looked at before, I find it plenty readable if you know how to read it. That doesn’t mean I find it “obvious” if you have never been trained on how to read those signatures or come from another language that does not support these concepts. Here is how I read this in case it helps anyone Def zip[A, B](a: ⇒ F[…

Thanks for the detailed response and concrete examples!

Reading signatures is one thing (and zip is "easy"), but without examples it doesn't really help in most of the cases. Because even if I know the concept, I don't know when it comes handy. (For example I just looked at Forall ( https://static.javadoc.io/org.scalaz/scalaz_2.12/7.2.24/scal... ... Forall is an endofunctor in an endofunctor category ... ah yes!), and then there are tools that come with labels (DList's doc page: nice for append heavy workloads, eg. logging; yes, great, what's Forall good for? What's Strong? Why Alpha exists? What's =>: ? That's not even documented :( It cannot be searched for https://github.com/scalaz/scalaz/search?utf8=%E2%9C%93&q=%3D... ... It's not on the cheatsheet http://eed3si9n.com/scalaz-cheat-sheet .. .I mean it's on it, but it is only used, not defined. etc.)

That's not a type reading thing. That's the bad documentation, and the learner-unfriendly naming convention.

Re: The Last Hope for Scala's Infinity War [video]

#76

Earlier quoted context omitted.

Nice to see that nothing has changed.

You're still seething with hostility with regard to the conditions of a Usenet newsgroup fifteen years ago that is only very lightly active now. Reddit has r/Lisp which is more active and very different from old c.l.l. (Not that it's reasonable to equate r/Lisp with "Lisp community", either.)

No seething or hostility here. I learned a lot from Lisp.
Post reply on HN