@JRepin For most purposes, I think tmux is the better software.
BoydStephenSmithJr
@jaror I never liked it; I think if you can't be bothered to assign a name, point-free combinators are what you should be using.
I also think it gets much uglier or complicated (or both) once you have arguments (unlike getLine, but like most subroutines).
That said, I wouldn't take it away from anyone. I think the desugaring is unsurprising and, at least in a strict language, semantics preserving.
I haven't really spent the necessary time to think clearly through the non-strict case.
@jaror @[email protected] Your first proposal is to sacrifice type safety. I reject that option; avoid success at all costs.
Your second actually increases complexity through semantic bifurcation . I reject that as a way to make a simpler language, even for didactic purposes.
No, discarding type classes without adopting something else worse (interface inheritance) is not easy, and may actually be impossible.
@jaror @[email protected] I think without the type of polymorphism that Haskell uses type classes for, the language can never be more than a toy.
But, that doesn't mean it can't be didactically useful. A "Haskell--" with a JS-style Number for all numeric literals and replacing all numeric type classes with top-level operators on that type could be useful, for a bit.
Once you want to do indexing (e.g. Array) you need to distinguish between numbers like sqrt 5 and suitable indexes, tho. Enter polymorphism
@jaror Haskell 2010 is pretty simple. What do you imagine is the simpler starting point, if any? If Haskell 2010 is a good starting point, aren't language pragmas / extensions effectively the same as your "language levels"?
@[email protected] I agree, but maybe it's not easy to avoid MS Windows for many users. OS X only (officially) runs on Apple hardware. Linux is pretty easy to install these days, but has an even worse support structure for many users, and plenty of its own downsides.