Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-02 18:33:17 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-02 18:33:17 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 18:33:28 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-02 18:33:38 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 18:33:55 × Deide quits (~Deide@217.155.19.23) (Read error: Connection reset by peer)
2021-03-02 18:33:56 <ixlun> So, I presume that newIORef will create a copy of whatever is being pointed to, even if it's the same object?
2021-03-02 18:33:56 <ixlun> ind
2021-03-02 18:34:02 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-02 18:34:12 Deide joins (~Deide@217.155.19.23)
2021-03-02 18:34:13 <monochrom> I don't think that model gets you very far.
2021-03-02 18:34:24 <merijn> ixlun: Define "same object"
2021-03-02 18:34:31 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-02 18:34:36 <monochrom> Instead, this model gets you very far, probably all the way down to asm: Each name is a pointer.
2021-03-02 18:34:58 <monochrom> And an IORef is already the box itself.
2021-03-02 18:35:13 <merijn> ixlun: newIORef allocates a (mutable) reference (hence, "Ref") to a value. You cannot mutate the values inside, you *can* mutate the reference to point at different values
2021-03-02 18:35:33 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-02 18:35:43 ddellaco_ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-02 18:35:57 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2021-03-02 18:36:18 × ddellaco_ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-02 18:36:38 × crobbins quits (~crobbins@2601:2c1:200:ec50:2c10:d848:8f1f:38a4) (Ping timeout: 260 seconds)
2021-03-02 18:37:03 <ixlun> monochrom: in that case, why doesn't a and b point to the same object? They where both created from the same name, `ourmap'?
2021-03-02 18:37:22 <monochrom> newIORef creates and returns a brand new box.
2021-03-02 18:37:38 <monochrom> You call it twice you get two distinct boxes.
2021-03-02 18:37:39 <merijn> ixlun: They do
2021-03-02 18:37:56 <merijn> ixlun: But you can't change the object pointed too, you change the pointer
2021-03-02 18:38:22 <merijn> ixlun: So "pointing at the same object" isn't something you can meaningfully distinguish anyway
2021-03-02 18:38:43 aenesidemus joins (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net)
2021-03-02 18:38:51 <ixlun> Right, okay. so mofiyIORef will change the pointer, *not* the underlying object.
2021-03-02 18:38:56 <merijn> Yes
2021-03-02 18:39:38 ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net)
2021-03-02 18:39:38 × ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-03-02 18:39:38 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
2021-03-02 18:39:55 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 18:40:14 <ixlun> Ahh, right, so that's why IORef can point to immutable data, `Map' in this case.
2021-03-02 18:40:14 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 18:40:31 <ixlun> and give the impression of mutation.
2021-03-02 18:41:41 <maralorn> simonmic: But this also explains why you can only make delegation changes for the second next epoch. Because I assume that the next epoch will be needed to establish the order in the epoch after it.
2021-03-02 18:41:58 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:e0e9:a038:1112:d7c8) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-02 18:42:31 <geekosaur> channel?
2021-03-02 18:46:08 × Deide quits (~Deide@217.155.19.23) (Read error: Connection reset by peer)
2021-03-02 18:46:42 Deide joins (~Deide@217.155.19.23)
2021-03-02 18:46:42 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 18:46:49 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 18:48:07 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-02 18:48:43 × soft-warm quits (44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds)
2021-03-02 18:50:28 nbloomf joins (~nbloomf@2600:1700:ad14:3020:e0e9:a038:1112:d7c8)
2021-03-02 18:51:02 hc is now known as hc_
2021-03-02 18:51:03 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-02 18:51:47 rj joins (~x@gateway/tor-sasl/rj)
2021-03-02 18:52:08 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
2021-03-02 18:52:31 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-02 18:52:57 Noldorin joins (~noldorin@unaffiliated/noldorin)
2021-03-02 18:52:59 <d34df00d> Alright, I haven't written advanced type-level haskell for a while, so how what's the ghc way to spell out the kind of a type constructor FooType that could be used as `FooType '[ 1, 2, 3 ]`?
2021-03-02 18:53:32 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 18:53:36 <d34df00d> I basically want something like Idris' data FooType : List Nat -> Type where ...
2021-03-02 18:53:41 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds)
2021-03-02 18:53:55 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 18:54:18 Pickchea joins (~private@unaffiliated/pickchea)
2021-03-02 19:00:19 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 19:00:30 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 19:00:36 × minoru_shiraeesh quits (~shiraeesh@5.101.59.37) (Ping timeout: 240 seconds)
2021-03-02 19:00:41 __minoru__shirae joins (~shiraeesh@109.166.56.62)
2021-03-02 19:01:20 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-02 19:01:20 × chisui quits (577bc9db@i577BC9DB.versanet.de) (Quit: Connection closed)
2021-03-02 19:02:36 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-02 19:03:11 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
2021-03-02 19:03:39 berberman joins (~berberman@unaffiliated/berberman)
2021-03-02 19:03:50 nineonin_ joins (~nineonine@50.216.62.2)
2021-03-02 19:04:14 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2021-03-02 19:04:47 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Quit: Lost terminal)
2021-03-02 19:05:55 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
2021-03-02 19:06:35 × pincel quits (~pyon@unaffiliated/pyon) (Ping timeout: 272 seconds)
2021-03-02 19:07:15 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 19:07:36 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 19:07:42 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-02 19:08:29 geekosaur joins (82650c7a@130.101.12.122)
2021-03-02 19:11:42 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 19:12:12 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 19:12:12 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 19:12:21 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 19:12:21 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 19:12:30 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)
2021-03-02 19:17:10 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-02 19:17:44 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-02 19:18:42 <__minoru__shirae> ixlun: if you want to experiment with mutability, building a gui might be more convenient than using console input-output. You can build simple console-based gui using ansi-terminal package
2021-03-02 19:19:43 Tario joins (~Tario@201.192.165.173)
2021-03-02 19:20:00 rj joins (~x@gateway/tor-sasl/rj)
2021-03-02 19:22:53 <__minoru__shirae> the simplest gui could be something like "x = 1, y = 2, press e to enter edit mode, press q to quit"
2021-03-02 19:23:15 <monochrom> That seems more like a huge distraction and yak shaving than conveniece to me.
2021-03-02 19:24:12 <__minoru__shirae> but once you're done with the yak shaving you have a neat interface that shows you all the values at once
2021-03-02 19:24:18 × Noldorin quits (~noldorin@unaffiliated/noldorin) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-02 19:24:24 <monochrom> I got much more mileage by just writing the same kind of 10-line toy programs ixlun wrote.
2021-03-02 19:25:04 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-igqvlzivrkvilmgu) (Quit: Connection closed for inactivity)
2021-03-02 19:25:35 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
2021-03-02 19:25:37 <__minoru__shirae> and you can handle arrow button press events
2021-03-02 19:26:12 <__minoru__shirae> and then for example incrementing a value becomes easier
2021-03-02 19:26:30 <__minoru__shirae> you don't have to type a new value, you just press "up"
2021-03-02 19:27:25 × emmanuel_erc quits (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-02 19:27:29 <monochrom> The reason the frugal "dry" "dull" approach works is because there is not much to understand and experiment with mutability.
2021-03-02 19:27:35 emmanuel_erc joins (~user@2603-7000-9600-01c9-c404-e80d-f3d0-d4c5.res6.spectrum.com)

All times are in UTC.