Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 542 543 544 545 546 547 548 549 550 551 552 .. 5022
502,152 events total
2020-10-09 19:46:56 × taurux quits (~taurux@net-188-152-69-171.cust.dsl.teletu.it) (Ping timeout: 272 seconds)
2020-10-09 19:47:31 <dsal> Heh. Yeah. I used to write a lot of (small) scheme. It was fine. ocaml was a bigger step for me. But I went from "Haskell is really hard and only for elite snobs" to finding it the easiest language to work in for almost anything I want to do.
2020-10-09 19:47:41 taurux joins (~taurux@net-93-144-148-150.cust.dsl.teletu.it)
2020-10-09 19:48:04 <dolio> Maybe the problem is that I was content messing around with homework exercises in Haskell, but it seems like a lot of people only want to 'mess around' if it involves a ton of web junk or something.
2020-10-09 19:48:16 <dwts> I wish I'll reach that stage, so far it manages to make me feel like a complete idiot :)
2020-10-09 19:48:35 <dsal> Yeah, that's why I like the approach of suspending knowledge and watching it all unfold.
2020-10-09 19:48:53 <dolio> And all the web junk in Haskell is fancy.
2020-10-09 19:48:55 <dwts> the irc community doesn't seem snob at all btw, lots of interesting conversations in here
2020-10-09 19:48:55 elliott_ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-09 19:48:57 <dsal> Much of the really cool magic goes away when you become a magician, but then you can still get more done more eaisly.
2020-10-09 19:49:21 <dsal> Haskell folks really like Haskell and want everyone to feel the same joy.
2020-10-09 19:49:44 <ski> dwts : yea, often it seems newbies goes way overboard with `$' .. i much prefer seeing the brackets, much of the time. using `.' is fine, though
2020-10-09 19:50:14 <dsal> If I have a lot of $ in code, it's because I'm shell scripting incrementally in Haskell.
2020-10-09 19:50:36 <dwts> ski: I guess the haskell people tried a lot to avoid the parens. You can clearly see that in the funciton definitions
2020-10-09 19:51:05 <dminuoso> Question, why exactly do we have no parens for function application?
2020-10-09 19:51:08 <monochrom> What dolio said is true of me too. Also generally not just web junk, but overall any "real" "application".
2020-10-09 19:51:18 <dsal> dminuoso: You can if you want, but why do you want?
2020-10-09 19:51:26 <ski> dminuoso : curried style ?
2020-10-09 19:51:33 <ghoulguy> dminuoso: with functions all taking a single argument it probably gets pretty noisy to do it with them
2020-10-09 19:51:34 <dwts> I thought hat you can use parens?
2020-10-09 19:51:37 <ski> possibly goes back to ISWIM, at least ?
2020-10-09 19:51:57 <dwts> s/hat/that
2020-10-09 19:52:04 <nshepperd1> too many parentheses spoil the curry
2020-10-09 19:52:10 <monochrom> Me, I believe in "stronger foundation before higher ambition". More need to mess around with "toys" to more deeply understand what's really going on, before it's meaningful to try a useful project.
2020-10-09 19:52:29 <dolio> Logicians were already avoiding parentheses when Church was around.
2020-10-09 19:52:45 <dsal> > subtract (7) (5)
2020-10-09 19:52:46 <ski> yea, combinatory logic
2020-10-09 19:52:47 <lambdabot> -2
2020-10-09 19:52:48 <dminuoso> Im just wondering whether someone knows what the reason was
2020-10-09 19:52:58 <dminuoso> Id say the immediate reason was that Miranda was that way I guess
2020-10-09 19:53:06 <ski> Church did curried stylw
2020-10-09 19:53:27 <ski> yea
2020-10-09 19:53:30 <dminuoso> But, perhaps the origins of parens-less function application are just lambda calculus?
2020-10-09 19:53:35 <dwts> I assume the lambda bot is written in haskell too?
2020-10-09 19:53:39 <ski> yes
2020-10-09 19:53:41 <dwts> nice
2020-10-09 19:53:47 <monochrom> If you point at Miranda then you still have the question "so why did they do it this way?"
2020-10-09 19:53:51 <dminuoso> Right. :)
2020-10-09 19:53:52 × Sososasa quits (~textual@2601:643:8000:a570:9513:b921:a468:618c) (Quit: Textual IRC Client: www.textualapp.com)
2020-10-09 19:53:56 <ski> @version
2020-10-09 19:53:56 <lambdabot> lambdabot 5.3.0.1
2020-10-09 19:53:57 <lambdabot> git clone https://github.com/lambdabot/lambdabot
2020-10-09 19:54:02 <dminuoso> My instinct says it was from lambda calculus.
2020-10-09 19:54:16 <monochrom> But really you look at eg Landin's papers "f(x)(y)(z)(t)" after a while you would invent "f x y z" too.
2020-10-09 19:54:26 <ski> monochrom : the "why ?"s never end :)
2020-10-09 19:54:33 <dsal> It also kind of overloads the meaning of ()
2020-10-09 19:54:42 <ski> math, yes
2020-10-09 19:54:47 × wz1000 quits (~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 240 seconds)
2020-10-09 19:54:49 <ski> (heavily)
2020-10-09 19:54:54 <monochrom> Disgust is the mother of syntax invention. :)
2020-10-09 19:55:01 <dminuoso> Well, I was hoping for someone to just have a citation ready "XYZ explained the decision in publication ABC"
2020-10-09 19:55:03 <dminuoso> :p
2020-10-09 19:55:12 <dminuoso> monochrom: Disgust is sometimes also the child of it.
2020-10-09 19:55:24 <dwts> 22:54 < monochrom> Disgust is the mother of syntax invention. :)
2020-10-09 19:55:25 × elliott_ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2020-10-09 19:55:28 <dwts> that quote is gold ^
2020-10-09 19:55:42 <ski> there's `@remember', if you think it's memorable enough
2020-10-09 19:55:53 <dolio> Back in the 30s and such they were doing `∃ x . P` to avoid the parentheses in `(∃x)(P)` and such. :)
2020-10-09 19:56:09 isovector1 joins (~isovector@172.103.216.166)
2020-10-09 19:56:13 <dminuoso> dolio: hold on, what did the spaces add exactly there?
2020-10-09 19:56:24 <dminuoso> `∃x.P` seems clear as well
2020-10-09 19:56:24 <dolio> The spaces aren't important. The dot is.
2020-10-09 19:56:27 <dminuoso> Ah
2020-10-09 19:56:29 <ski> before ⌜(∀x)Px⌝ it was ⌜(x)Px⌝
2020-10-09 19:56:38 <dolio> Dot is kind of like $. Low-precedence.
2020-10-09 19:56:42 <monochrom> dolio, then I'm really disappointed that many 1960s logic textbooks still go "(∃x)(P)"
2020-10-09 19:56:44 <ski> @help remember
2020-10-09 19:56:45 <lambdabot> remember <nick> <quote>: Remember that <nick> said <quote>.
2020-10-09 19:57:03 <dminuoso> See, the one thing mathematical publications is missing, is fixity declarations of these notations.
2020-10-09 19:57:05 <dwts> ah, I see
2020-10-09 19:57:29 <ski> the brackets in ⌜(x)Px⌝ comes from the "rounded dent" in Frege's two-dimensional notation for graphical formulae
2020-10-09 19:57:32 <dwts> thanks ski
2020-10-09 19:57:39 <dolio> Also you write `P ⊃. Q ⊃ R` to avoid `P ⊃ (Q ⊃ R)`
2020-10-09 19:58:02 <ski> yes, there should be a language that picks up the dot notation, instead of brackets
2020-10-09 19:58:03 <monochrom> Yikes.
2020-10-09 19:58:04 <dolio> Because making it associate one way wasn't a thing yet.
2020-10-09 19:58:08 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-09 19:58:27 <monochrom> Well there is now a language that picks up the $ notation. It's called Haskell. :)
2020-10-09 19:58:47 × isovector1 quits (~isovector@172.103.216.166) (Client Quit)
2020-10-09 19:59:01 <ski> it annoyes me when people write `foo $ bar $ ...' or `blah (f $ ...)'
2020-10-09 19:59:18 <ski> usually the code is clearer, reinserting the brackets
2020-10-09 19:59:45 <dminuoso> my rule of thumb is, ($) is for non-BlockArguments code and liftIO/lift :p
2020-10-09 20:00:11 <ski> yea, `lift $ ...',`liftIO $ ...',`return $ ...',`pure $ ...' can be okay
2020-10-09 20:01:09 <ski> (but if `...' is just a simple expression (on a single line), with no brackets, i'd usually replace the `$' by brackets, anyway)
2020-10-09 20:01:43 <dsal> $ is for the last thing in a chain of .
2020-10-09 20:01:56 <Cale> I'm perfectly happy writing stuff like liftIO . forM blah $ \x -> ...
2020-10-09 20:02:16 <dolio> Yeah, putting a $ at the end of a composition is what I usually do.
2020-10-09 20:02:25 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-09 20:04:28 nshepperd1 can't stop thinking about that idea of abusing BlockArguments to substitute indentation for parentheses
2020-10-09 20:04:36 <Cale> P ⊃: Q ⊃. R ⊃ S for P ⊃ (Q ⊃ (R ⊃ S))
2020-10-09 20:04:42 <dolio> nshepperd1: Yeah, can't say I'm a fan of that.
2020-10-09 20:04:42 <Cale> moar dots
2020-10-09 20:05:00 <Cale> That'll be a 50 dkp minus for parens
2020-10-09 20:05:04 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-09 20:05:07 <dolio> Cale: You're not thinking creatively enough.
2020-10-09 20:05:10 <dminuoso> nshepperd1: can you elaborate?
2020-10-09 20:05:40 <ski> nshepperd1 : yea, i'll need to think about that
2020-10-09 20:05:40 <dolio> P ⊃ Q .⊃. P ⊃ R
2020-10-09 20:06:17 <ski> that's ⌜(P ⊃ Q) ⊃ (P ⊃ R)⌝
2020-10-09 20:06:28 <dolio> Yeah, obviously. :)

All times are in UTC.