|
I'm sure we'd all love to use Haskell, it's just that our code has side effects like "should be useable in the real world"
|
# ? Mar 5, 2020 15:53 |
|
|
# ? Jun 8, 2024 08:46 |
|
Everyone should know Haskell or common symptoms of Haskell so they can take appropriate measures quickly.
|
# ? Mar 5, 2020 16:59 |
|
Ola posted:Everyone should know Haskell or common symptoms of Haskell so they can take appropriate measures quickly. If you start exhibiting monads, talk to your doctor immediately?
|
# ? Mar 5, 2020 17:04 |
|
OddObserver posted:If you start exhibiting monads, talk to your doctor immediately? Well, it's either Just Haskell, or Nothing.
|
# ? Mar 5, 2020 17:10 |
|
Sagacity posted:I'm sure we'd all love to use Haskell, it's just that our code has side effects like "should be useable in the real world" Must be easily maintainable by a large pool of potential contributors. Yes we all know good programmers can learn a new language but there’s overhead in doing so.
|
# ? Mar 5, 2020 17:23 |
|
Athas posted:Also, you don't need macros for that Joe Blow thing to work with zero overhead. I research language implementation and maintain a compiler, where we implement higher-order functions with defunctionalisation (a 70s technique) to get the same effect (and in contrast to most macro systems, it does not affect type checking). Yes but have you written a puzzle game played by several thousand people?!
|
# ? Mar 5, 2020 17:41 |
|
lmao john blow's language is hilarious.quote:The Jai philosophy is, if you don’t want idiots writing bad code for your project, then don’t hire any idiots One time a compiler yelled at jon about array bounds and he vowed "Never again should anyone have to suffer this injustice"
|
# ? Mar 5, 2020 18:19 |
|
Hammerite posted:What the gently caress is this post lmao
|
# ? Mar 5, 2020 18:38 |
|
I'm personally in the pro cardboard box of popcorn camp.
|
# ? Mar 5, 2020 19:20 |
|
Hammerite posted:What the gently caress is this post What the gently caress is this post
|
# ? Mar 5, 2020 19:42 |
|
Can someone re-host whatever image was posted? I just get a connection reset error every time. Yes, I tried over an insecure connection, too.
|
# ? Mar 5, 2020 19:53 |
|
|
# ? Mar 5, 2020 19:59 |
|
Thermopyle posted:What the gently caress is this post It is a sincere question I asked of Suspicious Dish because I found his post baffling, Thermopyle. Rereading the post some hours later and taking into account his response to my post, in which he expresses amusement, I am inclined to suppose that my interpretation of his post as sincere was a mistaken one and that he actually intended to suggest that the discussion depicted in the image upon which he was commenting was an inconsequential one.
|
# ? Mar 5, 2020 20:00 |
|
|
# ? Mar 5, 2020 20:59 |
|
Sagacity posted:I'm sure we'd all love to use Haskell, it's just that our code has side effects like "should be useable in the real world" I like Haskell. I wouldn't use it in the real world either, more because it's too niche and very few shops would like to maintain your bespoke Haskell solution to some problem than anything to do with the purity (just use accursedUnutterablePerformIO if you're worried about a lack of side-effects and race conditions). I still think your average programmer should consider learning it -- or really any primarily functional language with a good pattern-matching syntax -- because doing so will (hopefully) teach them a useful way of reasoning about some programming problems. Personally there's been a decent chunk of stuff I've had to write in C++ around AST and node graph traversals or code in DSL-type data parallelism libraries like Halide that were more natural or at least much briefer to code in Haskell. I still wrote that code in C++, because I have co-workers, but since I'd done similar things in Haskell it was easier to write the verbose C++ equivalent. Also if I'd never written a logo DSL and interpreter in Haskell then I'd never have figured out how to draw Penrose tilings in turtle graphics, and who knows when that'll be critical knowledge for the survival of mankind?
|
# ? Mar 5, 2020 22:34 |
|
the most perplexing thing about that image was the popcorn emoji, i spent far longer on that than i did on the ""horror"" of an extra ternary for readability's sake. if that's the best horror in your codebase you're in good shape there, fellas
|
# ? Mar 5, 2020 22:36 |
|
iospace posted:Jon blow reminds me of a friend, who works at Google, who is a huge Haskell fan. Like "EVERYONE SHOULD KNOW HASKELL" huge. haskell doesn't feel close enough to the metal for j blow
|
# ? Mar 5, 2020 22:38 |
|
Xerophyte posted:or really any primarily functional language with a good pattern-matching syntax I write Elm at work, it's really nice. Front end is a great place for it. You interact with the real world, but in a very controlled manner. Like the real world is a crazy prisoner and you are handing him stuff through the food port in the cell door. I still rip on Haskell though, partly to cope with traumas from university.
|
# ? Mar 5, 2020 22:49 |
|
Ola posted:I write Elm at work, I'm amazed that someone's workplace is good enough to use this for real.
|
# ? Mar 5, 2020 23:23 |
|
Suspicious Dish posted:the most perplexing thing about that image was the popcorn emoji, i spent far longer on that So you're a haskell programmer i take it
|
# ? Mar 5, 2020 23:47 |
|
Ola posted:Well, it's either Just Haskell, or Nothing. Totally stealing this!
|
# ? Mar 6, 2020 00:40 |
|
Ola posted:Well, it's either Just Haskell, or Nothing. ah, so Maybe Haskell
|
# ? Mar 6, 2020 13:45 |
|
PYF has a new subforum where people can write threads only they can respond to; kind of like blogging without comments. Anyway, Jeffrey of YOSPOS started one with his favorite horrible pieces of forums code, which I think you will all appreciate.
|
# ? Mar 6, 2020 15:25 |
|
Ola posted:I write Elm at work, You started your own business?
|
# ? Mar 6, 2020 15:56 |
|
rt4 posted:You started your own business? Haha! Is it really that rare? Perhaps it is. It's a normal dev job in a normal company. Elm is fundamentally very solid and it's easier to wrap your head around functional in the specific context of front end. The tooling still has some way to go, if it's so rare as you guys indicate I will probably have to contribute to it myself.
|
# ? Mar 6, 2020 16:18 |
|
I'm actually running some Elm in production myself in a preposterously overengineered contact form. My experience with other programmers at work is that they simply aren't interested in learning anything challenging, whatever the benefits may be. Sounds like it must be a good job?
|
# ? Mar 6, 2020 16:35 |
|
Absurd Alhazred posted:PYF has a new subforum where people can write threads only they can respond to; kind of like blogging without comments. You can watch the descent into madness every SA forums programmer makes in real time! Live tweeting Lovecraft horror!
|
# ? Mar 6, 2020 16:37 |
|
Beef posted:Coming from Scheme/Lisp, using a macro where a function will do is anathema. The macro/function distinction is different in Scheme because Scheme specifies TCO and so you have some guarantees that your function calls aren't going to blow the stack. JBlow is a game developer and they approach programming from a completely different perspective that's more rooted in the practical constraints of the language, OS, hardware. A game developer writing C probably does not have good experience with functional programming.
|
# ? Mar 6, 2020 22:54 |
|
rt4 posted:Sounds like it must be a good job? It is! Half of this working Friday was an internal conference with the parent and sister companies, 49 talks across 5 stages, then pizza and beer. I think part of the reason we do Elm is that there are some strong personalities with good intentions that say "let's do the good things" and there are managers that say "ok I trust you, just deliver this experience to our customers". I am very happy with my job.
|
# ? Mar 6, 2020 22:57 |
|
Ola posted:It is! Half of this working Friday was an internal conference with the parent and sister companies, 49 talks across 5 stages, then pizza and beer. I think part of the reason we do Elm is that there are some strong personalities with good intentions that say "let's do the good things" and there are managers that say "ok I trust you, just deliver this experience to our customers". I am very happy with my job. I get similar reactions when I tell people I work at an Elixir shop. I didn't expect them to be one, either. I didn't have Elixir on my resume, and they didn't mention Elixir in their job listing, but they responded to me based on my Ruby experience and were like, "Uh... what do you think of Elixir?" Now that I'm working there, I'm glad to see they're super dedicated to the Elixir community, including hosting a monthly meetup. It's funny, they've had better luck casting a wide net and hiring programmers who seem capable of learning Elixir than they've had looking for programmers with Elixir experience.
|
# ? Mar 7, 2020 01:35 |
|
I've written bool ? true : false before, when I wanted the thing to be 1/0 and not a random int someone assigned to the bool (thanks C). Although the promove is !!bool, probably.
|
# ? Mar 7, 2020 06:35 |
|
Why not just write bool ? 1 : 0 then?
|
# ? Mar 7, 2020 06:39 |
|
Captain Cappy posted:I've written bool ? true : false before, when I wanted the thing to be 1/0 and not a random int someone assigned to the bool (thanks C). Although the promove is !!bool, probably. This doesn't necessarily work - if you have a bool that doesn't hold a legal bool value, and you try to read it as a bool, you're in undefined behaviourland. The compiler, as always, is allowed to assume that your code does not have any undefined behaviour, and just optimize away your checks.
|
# ? Mar 7, 2020 07:25 |
|
Jabor posted:This doesn't necessarily work - if you have a bool that doesn't hold a legal bool value, and you try to read it as a bool, you're in undefined behaviourland. The compiler, as always, is allowed to assume that your code does not have any undefined behaviour, and just optimize away your checks. This definitely bit me in the rear end once because the compiler generated code that just flipped the first bit instead of coercing it to 1 or 0. In my defense I didn't write the code that failed to initialize the value, but I was very confused why something wasn't toggling and then discovered that lovely bit of behavior.
|
# ? Mar 7, 2020 08:14 |
|
Captain Cappy posted:I've written bool ? true : false before, when I wanted the thing to be 1/0 and not a random int someone assigned to the bool (thanks C). Although the promove is !!bool, probably. Jabor posted:This doesn't necessarily work - if you have a bool that doesn't hold a legal bool value, and you try to read it as a bool, you're in undefined behaviourland. The compiler, as always, is allowed to assume that your code does not have any undefined behaviour, and just optimize away your checks. C99 bool aka _Bool normalizes to 0/1 automatically when assigned to (unless your accessing it via a char* alias for some reason).
|
# ? Mar 7, 2020 09:20 |
|
I can confirm that clang cast to bool can force an actual 0 or 1. I just fixed a performance regression where someone trying to do the right thing cost us bit twiddling on every element of a matrix.
|
# ? Mar 7, 2020 10:14 |
|
Man, I love C. Is the spartan of languages. Others languages talk about doing the right thing, C does the right thing.
|
# ? Mar 7, 2020 10:17 |
|
Tei posted:Man, I love C. Is the spartan of languages. Others languages talk about doing the right thing, C does the right thing. This is... not my take on C.
|
# ? Mar 7, 2020 15:29 |
|
Phobeste posted:This is... not my take on C. Maybe it's a deep argument involving Sparta have been a really lovely place that got heavily mythologized?
|
# ? Mar 7, 2020 17:25 |
|
|
# ? Jun 8, 2024 08:46 |
|
C does the wrong thing on purpose without telling you, then blames you for it when you find out Abusive
|
# ? Mar 7, 2020 17:28 |