Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 31 32 33 34 35 36 37 38 39 40 41 .. 17898
1,789,712 events total
2021-05-22 23:51:11 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
2021-05-22 23:52:35 sm joins (~sm@172.56.44.219)
2021-05-22 23:52:35 × sm quits (~sm@172.56.44.219) (Changing host)
2021-05-22 23:52:35 sm joins (~sm@plaintextaccounting/sm)
2021-05-22 23:52:59 <felixphew> many people either run a "bouncer" like znc that stays permanently connected to IRC and keeps history, or simply leave an IRC client running all the time (often on a remote server)
2021-05-22 23:53:40 <felixphew> also, many channels keep a public log - this one included: https://ircbrowse.tomsmeding.com/browse/lchaskell
2021-05-22 23:54:39 <FreeVariable> It's okay if you happen to have a simple question and to ask it during a favourable time window. But searchability, discoverability, and overall social experience is awful.
2021-05-22 23:55:00 <FreeVariable> I guess that's not the point of pure IRCs chats, I get it.
2021-05-22 23:55:59 <monochrom> Social experience eh?
2021-05-22 23:56:15 × FreeVariable quits (1f0aa548@107.161.19.109) (Quit: Connection closed)
2021-05-22 23:56:38 <monochrom> If my friends are at a pub and I join them late, I don't expect a replay.
2021-05-22 23:56:56 <monochrom> And that is not an awful social experience.
2021-05-22 23:57:08 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:88fc:3def:1205:9c05) (Read error: Connection reset by peer)
2021-05-22 23:57:44 <monochrom> And that is real life. Not this Facebook make-believe.
2021-05-22 23:59:34 × sm quits (~sm@plaintextaccounting/sm) (Ping timeout: 264 seconds)
2021-05-23 00:00:32 <yushyin> they left ;D the irony that they won't see your answers after rejoin
2021-05-23 00:00:45 <monochrom> haha
2021-05-23 00:01:21 <monochrom> Why did they even come in the first place? Never saw them on Freenode.
2021-05-23 00:02:52 <felixphew> heard about new IRC net, gave it a try, saw Haskell (this is one of the bigger channels rn so you'd be near the top of the /list) and joined, presumably
2021-05-23 00:04:17 × fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Quit: leaving)
2021-05-23 00:05:54 <boxscape> maybe, but only if they confused "server" with "channel", since they specifically said "whenever I go to this channel"
2021-05-23 00:07:23 ubuntu_ joins (~ubuntu@ec2-13-49-142-87.eu-north-1.compute.amazonaws.com)
2021-05-23 00:07:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-05-23 00:12:39 × ubuntu_ quits (~ubuntu@ec2-13-49-142-87.eu-north-1.compute.amazonaws.com) (Quit: leaving)
2021-05-23 00:13:28 Guest5439 joins (~ubuntu@ec2-13-49-142-87.eu-north-1.compute.amazonaws.com)
2021-05-23 00:14:45 seven_three joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:16:31 seven_three parts (~user@pool-96-252-123-136.bstnma.fios.verizon.net) ()
2021-05-23 00:17:17 seven_three joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:22:30 × Gurkenglas__ quits (~Gurkengla@dslb-088-075-022-175.088.075.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2021-05-23 00:30:19 <boxscape> hm, so, if you want to have an action of type `IO A` that doesn't produce the `A` value every time you use it, somewhere in its definition you have to use unsafePerformIO (or another unsafe function), is that right?
2021-05-23 00:30:46 <mniip> no?
2021-05-23 00:30:50 <boxscape> example?
2021-05-23 00:30:57 <mniip> I'm not sure what you mean though
2021-05-23 00:31:32 <boxscape> like I do `do {x <- foo; y <- foo; pure (x, y)}`, and the two elements of the tuple are different
2021-05-23 00:31:48 <boxscape> my assertion is that `foo`'s implementation must use unsafePerformIO, directly or indirectly
2021-05-23 00:32:05 seven_three is now known as YY
2021-05-23 00:32:35 YY is now known as Guest9574
2021-05-23 00:32:41 <ChaiTRex> boxscape: No, if foo :: IO Whatever, then it can produce different Whatever values each time it's called.
2021-05-23 00:32:44 Guest9574 is now known as X1
2021-05-23 00:32:51 <ChaiTRex> Like getLine :: IO String
2021-05-23 00:32:58 <boxscape> getLine uses unsafePerformIO
2021-05-23 00:32:59 X1 is now known as three_seven
2021-05-23 00:33:02 <ChaiTRex> Produces different lines based on what's typed.
2021-05-23 00:33:04 <boxscape> stdin is defined with it
2021-05-23 00:33:15 <boxscape> https://hackage.haskell.org/package/base-4.15.0.0/docs/src/GHC-IO-Handle-FD.html#stdin
2021-05-23 00:33:29 nnm__ joins (~nnm@109.252.72.186)
2021-05-23 00:33:35 × three_seven quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Quit: ERC (IRC client for Emacs 27.2))
2021-05-23 00:33:41 <boxscape> (and `getLine` calls hGetLine `stdin`)
2021-05-23 00:33:49 × nnm_ quits (~nnm@2a00:1370:811d:8e45:e6a3:c3d2:f62c:e07) (Read error: Connection reset by peer)
2021-05-23 00:33:49 <boxscape> err, `hGetLine stdin`
2021-05-23 00:34:19 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-05-23 00:34:38 <ChaiTRex> stdin isn't IO Handle.
2021-05-23 00:34:48 <ChaiTRex> It's Handle
2021-05-23 00:34:50 <boxscape> no, but getLine is IO Srring
2021-05-23 00:34:52 <boxscape> IO String
2021-05-23 00:35:00 <boxscape> and getLine uses stdin in it's implementation
2021-05-23 00:35:07 <boxscape> so it indirectly calls unsafePerformIO
2021-05-23 00:36:03 <boxscape> ...though I guess you could hardcode stdin to some specific value, hope that it's right, and then it would work without unsafePerformIO, hm
2021-05-23 00:36:24 <monochrom> This is an interesting observation but you need to sharpen your mind way more to see what it really means.
2021-05-23 00:36:33 <ChaiTRex> You can also use the stdin definition without unsafePerformIO
2021-05-23 00:36:41 seven_three joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:36:45 seven_three is now known as _37
2021-05-23 00:36:53 <boxscape> oh.
2021-05-23 00:36:55 <boxscape> true
2021-05-23 00:36:55 <monochrom> For starters "have" is very open-ended.
2021-05-23 00:37:02 <ChaiTRex> do { stdin <- stdinDefintionWithoutUnsafePerformIO; ... }
2021-05-23 00:37:23 <ChaiTRex> So, no, you don't need unsafePerformIO, strictly speaking.
2021-05-23 00:37:27 <boxscape> yeah
2021-05-23 00:37:50 WikiLycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-05-23 00:37:57 × _37 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit)
2021-05-23 00:38:26 seven_three joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:38:42 <monochrom> The role of unsafePerformIO in this case is only to make stdin available at the top level.
2021-05-23 00:38:44 × seven_three quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Remote host closed the connection)
2021-05-23 00:39:28 justsomeguy joins (~chris@24.96.241.90)
2021-05-23 00:39:36 _37 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:39:40 <boxscape> right, okay
2021-05-23 00:41:24 × _37 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit)
2021-05-23 00:41:59 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:43:17 × pe200012 quits (~pe200012@218.107.17.245) (Ping timeout: 272 seconds)
2021-05-23 00:43:25 × _73 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit)
2021-05-23 00:43:51 seven_three joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:44:49 × seven_three quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit)
2021-05-23 00:45:05 × nighmi quits (~felix@port-92-196-54-216.dynamic.as20676.net) (Quit: WeeChat 3.0.1)
2021-05-23 00:45:10 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:46:16 <hpc> alternatively, you could imagine the fact that stdin is initialized before main gains control, and in another world haskell programs might start with "main stdin stdout stderr ... = do"
2021-05-23 00:46:33 × _73 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit)
2021-05-23 00:46:40 × sprog quits (~1860f15a@ircip2.mibbit.com) (Quit: https://mibbit.com Online IRC Client)
2021-05-23 00:46:59 _37 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-05-23 00:48:03 × _37 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Client Quit)
2021-05-23 00:52:38 <boxscape> funnily enough the other example I just thought off that is of type `IO Something` is randomIO, but that *also* uses unsafePerformIO
2021-05-23 00:52:55 <boxscape> but I think if you were to read from a file on the harddrive, it wouldn't need unsafePerformIO
2021-05-23 00:53:00 <boxscape> s/off/of
2021-05-23 00:53:14 <boxscape> (and of course the file could change)
2021-05-23 00:53:28 fryguybob joins (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
2021-05-23 00:55:57 <hpc> boxscape: there's an even better example, i forget what module it's in but there's a top-level definition of your operating system
2021-05-23 00:56:17 ddellacosta joins (~ddellacos@86.106.121.100)
2021-05-23 00:56:17 <hpc> i forget if it's at build-time or runtime, and if it has IO in the type, but it's something to contemplate
2021-05-23 00:56:35 <boxscape> hm
2021-05-23 00:57:20 <monochrom> System.Info.os? That one is compiled-time. Basically a cheesy CPP.
2021-05-23 00:58:04 <hpc> ah, boring
←Prev  Next→
Page 1 .. 31 32 33 34 35 36 37 38 39 40 41 .. 17898

All times are in UTC.