other-languages

here be heresies and things we have to use for work
gklijs 2018-12-02T01:37:49.007200Z

They are planning on having a kind of leaderboard based on performance. That could be nice. I also added some timer to JavaRx, but it's about 10 times as slow as rust

lilactown 2018-12-02T01:43:07.008600Z

yeah my Clojure solution took 300ms on my dinky VPS I’m sshed into. My rust solution built with —release took 20ms

3Jane 2018-12-02T09:19:43.009900Z

Calling it “solving copy paste problems” is kinda dismissive. Rather, they are a solution used for different problems; and the one I saw them used the most for was an insufficiently expressive yet rigid type system which forced people to copy paste code.

3Jane 2018-12-02T09:22:42.011500Z

(The ability to specify covariant return type / contravariant argument type helps with it.)

lilactown 2018-12-02T18:00:00.012600Z

I didn’t mean for it to be dismissive, though I see how it can be interpreted that way in hindsight

lilactown 2018-12-02T18:01:33.014100Z

I think that solving “copy + paste problems” is very noble. I was trying to put it in terms that might be easier to understand if someone didn’t know much about type systems

☝️ 1
lilactown 2018-12-02T18:04:51.017500Z

I guess a better explanation might be: Templates/Generics solve the problem, “I want this implementation to be used with many different types (in a statically typed language).” Interfaces solve the problem, “I want to communicate to other developers that if they want to use this implementation, they must also implement this other API themselves.”

jsa-aerial 2018-12-02T18:44:54.020Z

'Generics' may be more or less tied to types, but 'templates' are more general than that. (I put both in quotes, because there can be many different takes/definitions). For example, the template system in https://github.com/jsa-aerial/hanami has nothing to do with 'types' and a whole lot to do with abstracting away from a need to 'copy/paste'. Macros would be another example.

💯 1
3Jane 2018-12-02T19:21:34.022Z

Sure; given they were grouped with generics however I assumed we were talking about types. Is cool.