off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
2020-09-03T03:10:27.287500Z

What does war mean? > An argument. > A desire for more cows. I feel like a piece just fell into place watching the movie Arrival. I can't just translate requirements into software from text based descriptions. I have to be more immersed in the final goal. It's about having access to the whole range of the human experience to draw upon to understand what someone means. Though addentionally, my struggles with the English language might be causing extra strain on text based communication.

seancorfield 2020-09-03T04:01:02.292700Z

I see war and my first thought is a web archive file like you use with Tomcat πŸ™‚

πŸ˜‚ 10
βœ… 3
slipset 2020-09-03T09:55:24.298900Z

If you have a war I’ll lend you an ear…

1
Jon Harvey 2020-09-03T10:56:02.300600Z

Drat @slipset - you beat me to it on the ol’ Java enterprise jokes! πŸ˜€ Does anyone still use J2EE servers these days?…

πŸ˜‚ 1
2020-09-03T05:49:50.296Z

Apropos Arrival, please read the short story it is based on. Author is Ted Chiang, has only done a few short stories but they are completely mind blowing.

☝️ 3
2020-09-03T05:51:46.296200Z

That makes web engineers warriors 😎

πŸ˜† 1
2020-09-03T06:17:08.297700Z

it's now at least two collections of short stories iiuc :)

Endre Bakken Stovner 2020-09-03T16:29:52.303100Z

Speaking of brainy Chinese sci-fi: https://media.netflix.com/en/company-blog/the-three-body-problem-netflix-original-series The people behind GoT will produce it 😎

2020-09-03T16:30:49.304300Z

Read that about a year ago, it was mind-blowing

🀯 1
2020-09-03T16:30:57.304700Z

Not sure I dare read the second one πŸ˜„

1
Endre Bakken Stovner 2020-09-03T16:32:04.305700Z

Any suggestions for a backward-compatible typed functional language? I played around with Haskell a lot some time ago but was bummed out that half of the recipes in Real World Haskell did not compile XD

borkdude 2020-09-03T16:32:40.306Z

Type systems foster breakage, so good luck finding that.

πŸ˜‚ 1
😈 2
Endre Bakken Stovner 2020-09-03T16:34:17.306600Z

I agree with you, but I think I would learn a lot from going to beginner/intermediate typed functional programmer to expert. I guess I should just use Haskell. Not for real world stuff, but to expand my mind further πŸ™‚

borkdude 2020-09-03T16:35:23.306800Z

For solving puzzles, Haskell is a nice language :)

πŸ‘ 1
Endre Bakken Stovner 2020-09-03T16:36:45.307200Z

Yeah, I think that Eric Raymond quote applies to Haskell, not LISP.

Endre Bakken Stovner 2020-09-03T16:43:15.308800Z

But despite their shortcomings, some typed languages like Java are very backward-compatible. Why are typed functional languages so notoriously bad at it?

2020-09-03T16:44:04.309500Z

Maybe because we are kids, and we like to break things

3
Endre Bakken Stovner 2020-09-03T16:48:22.311700Z

On topic: the category theory course on http://purelyfunctional.tv is free right now. See https://purelyfunctional.tv/courses/category-theory/

2020-09-03T16:49:22.313400Z

Because typed functional languages are often test beds for research, which leads to lots of new and interesting ideas, but types are inflexible so things break when you implement the new and exciting ideas

seancorfield 2020-09-03T16:50:17.315200Z

@endrebak85 SPJ talks about Haskell's deliberate breakages and how its users accept this as part of https://www.youtube.com/watch?v=re96UgMk6GQ

πŸ‘ 3
2020-09-03T16:51:15.317300Z

The types lead to information rich code, which the compiler can do all sorts of stuff to, but as soon as the types change the compilers assumptions are invalidated

alexmiller 2020-09-03T16:51:25.317600Z

the second one was imho better than the first

alexmiller 2020-09-03T16:51:31.318Z

and equally as mind-blowing

seancorfield 2020-09-03T16:51:31.318200Z

He also talks about why there's really only one implementation of Haskell (GHC) and how most real world Haskell code relies on so many GHC extensions.

Endre Bakken Stovner 2020-09-03T16:51:44.318700Z

Thanks, I'll make sure to watch it.

alexmiller 2020-09-03T16:51:49.318800Z

I'm about halfway through the 3rd one, it is also good, will reserve judgement till the end!

seancorfield 2020-09-03T16:52:01.319200Z

He's a very entertaining speaker πŸ™‚

Endre Bakken Stovner 2020-09-03T16:54:48.320100Z

I watched a few talks by him a long time ago and I agree :thumbsup:

Endre Bakken Stovner 2020-09-03T16:55:23.320500Z

I knew Haskell had its origins in academia, but F# is presumably a more pragmatic language. Still, from what I can gather it is not backwards compatible. Neither is Elm, OCaml nor any other.

2020-09-03T17:04:43.320700Z

It isn't academia as such, just research, there is a lot of new stuff in f#, active patterns (or whatever they are called), type providers, etc

2020-09-03T17:05:48.320900Z

And type analysis tends to be done by compilers assuming a closed world, which doesn't hold when new things are added

πŸ‘ 1
2020-09-03T17:06:31.321100Z

And once you accept that sort of thing from your compiler you start to accept it other places

Endre Bakken Stovner 2020-09-03T17:07:11.321300Z

All good points :thumbsup:

seancorfield 2020-09-03T17:11:45.321500Z

I know Elm had some fairly serious breakages in the early days, as it developed its (very opinionated) "Elm Way" to solving architectural issues, but I had assumed it had settled down recently? (I learned it in the early days, when it was still finding its way and stopped using it around the time that "ports" were formalized as the JS interop story)

2020-09-03T17:15:50.321700Z

Time for a trip to the bookstore then.

alexmiller 2020-09-03T17:20:56.321900Z

apparently there is also a 4th story written by someone else but applauded by the author

2020-09-03T17:49:29.323500Z

… also one of the very few that can reliably pull off Comic Sans or horrid slide colour combinations without losing any of his credibility

2020-09-03T17:49:56.324200Z

(SPJ is one of those programmer heroes!)

gklijs 2020-09-03T22:29:15.338700Z

How long was that? When I did a few things with it, a few years ago, they completely removed any way to interact with JS other then ports, and they removed websockets. With types new things don't have to break. Like with Rust it took a while for async/await to become part of stable. It's just an additional thing. Also you use builders to not break users when you add things.