2022-01-23 00:06:18 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-01-23 00:06:53 +0100 | cosimone | (~user@93-47-231-147.ip115.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1)) |
2022-01-23 00:09:48 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 00:11:15 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 00:12:34 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 00:13:42 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-23 00:13:57 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Ping timeout: 240 seconds) |
2022-01-23 00:14:56 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer) |
2022-01-23 00:15:02 +0100 | Morrow_ | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2022-01-23 00:16:16 +0100 | qhong | (~qhong@rescomp-21-400677.stanford.edu) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 00:16:26 +0100 | qhong | (~qhong@rescomp-21-400677.stanford.edu) |
2022-01-23 00:16:35 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2022-01-23 00:19:13 +0100 | Morrow_ | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds) |
2022-01-23 00:19:25 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds) |
2022-01-23 00:20:55 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds) |
2022-01-23 00:21:28 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-23 00:21:31 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 00:24:43 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-23 00:25:30 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 00:25:43 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 00:29:49 +0100 | myShoggoth | (~myShoggot@97-120-67-120.ptld.qwest.net) |
2022-01-23 00:30:19 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 00:30:38 +0100 | <d34df00d> | Is there a way to use ghc 9.2 with a stack-based project? |
2022-01-23 00:31:06 +0100 | <d34df00d> | IIRC there is a repo with resolvers for newer ghc versions for which no official stackage resolvers were released, but I can't find that. |
2022-01-23 00:31:08 +0100 | Hash_ | Hash |
2022-01-23 00:31:21 +0100 | son0p | (~ff@181.136.122.143) |
2022-01-23 00:31:33 +0100 | AlexNoo_ | (~AlexNoo@178.34.150.81) |
2022-01-23 00:32:59 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-23 00:33:35 +0100 | Alex_test | (~al_test@94.233.241.14) (Ping timeout: 256 seconds) |
2022-01-23 00:33:53 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 00:34:16 +0100 | AlexZenon | (~alzenon@94.233.241.14) (Ping timeout: 250 seconds) |
2022-01-23 00:34:33 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2022-01-23 00:34:37 +0100 | AlexNoo | (~AlexNoo@94.233.241.14) (Ping timeout: 240 seconds) |
2022-01-23 00:38:02 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-23 00:38:02 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-23 00:38:05 +0100 | allbery_b | geekosaur |
2022-01-23 00:38:14 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:58a2:2ee7:7301:3a35) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 00:39:02 +0100 | Alex_test | (~al_test@178.34.150.81) |
2022-01-23 00:39:09 +0100 | AlexZenon | (~alzenon@178.34.150.81) |
2022-01-23 00:40:57 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-01-23 00:41:25 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 00:46:00 +0100 | Guest|8 | (~Guest|8@47.211.207.56) |
2022-01-23 00:46:06 +0100 | Guest|8 | (~Guest|8@47.211.207.56) (Client Quit) |
2022-01-23 00:47:44 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-23 00:48:38 +0100 | Constraintegic | (~thomasbul@2001:a61:1300:6601:cc3f:6a1f:a742:f56f) |
2022-01-23 00:52:41 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 00:52:54 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 00:56:17 +0100 | alp | (~alp@user/alp) (Ping timeout: 240 seconds) |
2022-01-23 00:56:35 +0100 | dudek | (~dudek@185.150.236.105) (Read error: Connection reset by peer) |
2022-01-23 01:00:17 +0100 | vglfr | (~vglfr@88.155.24.103) (Ping timeout: 240 seconds) |
2022-01-23 01:00:59 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-23 01:01:53 +0100 | vglfr | (~vglfr@88.155.24.103) |
2022-01-23 01:02:12 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit) |
2022-01-23 01:05:34 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-23 01:06:02 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 01:08:46 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-23 01:14:02 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 01:14:32 +0100 | jespada | (~jespada@87.74.36.188) (Ping timeout: 240 seconds) |
2022-01-23 01:16:10 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 01:16:54 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-01-23 01:17:23 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 01:17:24 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 01:17:52 +0100 | jespada | (~jespada@87.74.36.188) |
2022-01-23 01:17:52 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 01:18:15 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Client Quit) |
2022-01-23 01:18:53 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 01:19:12 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 01:19:45 +0100 | <d34df00d> | Also, is there a way to use a -XCPP macro in an instance declaration? |
2022-01-23 01:19:46 +0100 | Constraintegic | (~thomasbul@2001:a61:1300:6601:cc3f:6a1f:a742:f56f) (Ping timeout: 250 seconds) |
2022-01-23 01:20:10 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Client Quit) |
2022-01-23 01:20:16 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 01:20:32 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 01:20:35 +0100 | <d34df00d> | I have #if MIN_VERSION_GLASGOW_HASKELL(9,2,0,0) \n #define #define REP(older, newer) newer ..., and I'm trying to use it as `instance AsmArg Int8 'IntRep REP(Int#, Int8#) where …` |
2022-01-23 01:20:45 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 01:20:53 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 01:20:54 +0100 | <d34df00d> | This gives me `Not in scope: type constructor or class ‘REP’` |
2022-01-23 01:21:20 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Client Quit) |
2022-01-23 01:22:02 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 01:22:04 +0100 | <int-e> | d34df00d: there's nothing special about instances here; is the CPP language extension actually enabled? |
2022-01-23 01:22:24 +0100 | <d34df00d> | int-e: yep. |
2022-01-23 01:22:41 +0100 | <d34df00d> | And doing `type Foo = REP(Int#, Int8#)` works as expected. |
2022-01-23 01:23:04 +0100 | <geekosaur> | are you on os x? |
2022-01-23 01:23:46 +0100 | <geekosaur> | if so, use cpphs; os xs's cpp will have stopped parsing at the ' |
2022-01-23 01:23:48 +0100 | <d34df00d> | Nope. |
2022-01-23 01:23:59 +0100 | <geekosaur> | (or otherwise using clang instead of gcc) |
2022-01-23 01:24:03 +0100 | <int-e> | oh, the ' |
2022-01-23 01:24:12 +0100 | <d34df00d> | But that's a good advise, I probably need to support os x, thanks. |
2022-01-23 01:24:32 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Client Quit) |
2022-01-23 01:25:05 +0100 | <geekosaur> | hm, come to think of it I'm not sure gcc's cpp will do any better with that single quote |
2022-01-23 01:25:41 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 01:25:47 +0100 | <geekosaur> | you might in any case see if cpphs works better |
2022-01-23 01:25:52 +0100 | simpleauthority | (~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 01:25:58 +0100 | <int-e> | you can maybe do silly things like {-'-}' |
2022-01-23 01:26:22 +0100 | <int-e> | instead of just ' |
2022-01-23 01:26:25 +0100 | <EvanR> | {-'-}' looks like one of those escher drawings right now |
2022-01-23 01:26:44 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 01:26:49 +0100 | <d34df00d> | I think I'll just conditionally define some type aliases. |
2022-01-23 01:26:57 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 01:30:26 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-23 01:30:50 +0100 | fr33domlover | (~fr33@2.55.162.28) (Quit: fr33domlover) |
2022-01-23 01:31:56 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-23 01:32:43 +0100 | simpleauthority | (~simpleaut@user/simpleauthority) |
2022-01-23 01:32:48 +0100 | CHUD | (~CHUD@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-01-23 01:34:24 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 01:38:06 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-23 01:38:43 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-01-23 01:39:07 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-23 01:39:18 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-23 01:39:28 +0100 | Axman6 | (~Axman6@user/axman6) (Remote host closed the connection) |
2022-01-23 01:41:41 +0100 | zebrag | (~chris@user/zebrag) |
2022-01-23 01:45:21 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2022-01-23 01:47:32 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 01:47:45 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 01:48:20 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 01:48:53 +0100 | LiaoTao_ | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
2022-01-23 01:49:15 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2022-01-23 01:50:05 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-23 01:50:44 +0100 | nitrix | (~nitrix@user/nitrix) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 01:50:58 +0100 | xff0x | (~xff0x@2001:1a81:52f4:b00:92cd:1cec:76b4:462b) (Ping timeout: 250 seconds) |
2022-01-23 01:51:23 +0100 | nitrix | (~nitrix@user/nitrix) |
2022-01-23 01:51:43 +0100 | xff0x | (~xff0x@2001:1a81:52f4:b00:bacd:f4ac:13db:1a99) |
2022-01-23 01:51:43 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-23 01:54:18 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds) |
2022-01-23 01:55:34 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-23 01:58:44 +0100 | akurilin_ | (uid322841@id-322841.ilkley.irccloud.com) |
2022-01-23 02:00:58 +0100 | lechner | (~lechner@debian/lechner) |
2022-01-23 02:01:50 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-01-23 02:02:47 +0100 | califax | (~califax@user/califx) |
2022-01-23 02:02:56 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2022-01-23 02:06:16 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-01-23 02:09:51 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 02:09:58 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 02:11:17 +0100 | myShoggoth | (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds) |
2022-01-23 02:11:38 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-23 02:12:11 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-23 02:12:13 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 02:12:27 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 02:13:57 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2022-01-23 02:14:53 +0100 | CHUD | (~CHUD@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-01-23 02:16:01 +0100 | CHUD | (~CHUD@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-01-23 02:17:00 +0100 | CHUD | (~CHUD@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-01-23 02:17:23 +0100 | wolftivystan | (~wolftivys@31.6.41.128) |
2022-01-23 02:17:45 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-23 02:18:06 +0100 | Tomtesting | (~Tomtestin@2600:1700:4012:180::40) |
2022-01-23 02:18:29 +0100 | <wolftivystan> | hi yall |
2022-01-23 02:19:13 +0100 | benin | (~benin@183.82.31.24) |
2022-01-23 02:22:54 +0100 | <EvanR> | hi |
2022-01-23 02:24:25 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
2022-01-23 02:25:12 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2022-01-23 02:28:09 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds) |
2022-01-23 02:28:18 +0100 | myShoggoth | (~myShoggot@97-120-67-120.ptld.qwest.net) |
2022-01-23 02:29:26 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-23 02:29:46 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-23 02:30:09 +0100 | wolftivystan | (~wolftivys@31.6.41.128) (Quit: Client closed) |
2022-01-23 02:31:20 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 02:32:55 +0100 | Tomtesting | (~Tomtestin@2600:1700:4012:180::40) (Quit: Client closed) |
2022-01-23 02:40:25 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 02:40:39 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 02:44:46 +0100 | vysn | (~vysn@user/vysn) |
2022-01-23 02:45:24 +0100 | Tomtesting | (~Tomtestin@2600:1700:4012:180::40) |
2022-01-23 02:45:40 +0100 | Tomtesting | (~Tomtestin@2600:1700:4012:180::40) (Client Quit) |
2022-01-23 02:45:46 +0100 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.4) |
2022-01-23 02:45:57 +0100 | CHUD | (~CHUD@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-01-23 02:53:32 +0100 | tommd | (~tommd@67-42-147-226.ptld.qwest.net) |
2022-01-23 02:54:22 +0100 | unyu | (~pyon@user/pyon) |
2022-01-23 02:57:28 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 03:01:27 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-01-23 03:01:27 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 268 seconds) |
2022-01-23 03:02:03 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-23 03:02:30 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-01-23 03:03:18 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-23 03:05:37 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 03:05:52 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 03:09:13 +0100 | justache | (~justache@user/justache) (Ping timeout: 256 seconds) |
2022-01-23 03:11:50 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2022-01-23 03:14:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2022-01-23 03:16:16 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2022-01-23 03:17:08 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2022-01-23 03:24:55 +0100 | justache | (~justache@user/justache) |
2022-01-23 03:25:11 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 03:25:17 +0100 | xff0x | (~xff0x@2001:1a81:52f4:b00:bacd:f4ac:13db:1a99) (Ping timeout: 240 seconds) |
2022-01-23 03:27:17 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
2022-01-23 03:27:25 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:27a3:a6cb:e9bf:c60f) |
2022-01-23 03:29:49 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-23 03:32:20 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection) |
2022-01-23 03:32:34 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) |
2022-01-23 03:33:13 +0100 | Akiva | (~Akiva@user/Akiva) |
2022-01-23 03:34:12 +0100 | cassaundra | (~cassaundr@c-71-59-237-188.hsd1.or.comcast.net) |
2022-01-23 03:35:00 +0100 | cassaundra | cynomys |
2022-01-23 03:35:00 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
2022-01-23 03:35:10 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 03:35:10 +0100 | cynomys | (~cassaundr@c-71-59-237-188.hsd1.or.comcast.net) (Client Quit) |
2022-01-23 03:36:12 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-01-23 03:37:19 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-01-23 03:38:57 +0100 | cynomys | (~cassaundr@c-71-59-237-188.hsd1.or.comcast.net) |
2022-01-23 03:39:18 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-23 03:41:02 +0100 | polyphem | (~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de) (Ping timeout: 240 seconds) |
2022-01-23 03:43:19 +0100 | cynomys | (~cassaundr@c-71-59-237-188.hsd1.or.comcast.net) (Changing host) |
2022-01-23 03:43:19 +0100 | cynomys | (~cassaundr@user/cynomys) |
2022-01-23 03:43:23 +0100 | cynomys | (~cassaundr@user/cynomys) (Quit: leaving) |
2022-01-23 03:45:19 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-23 03:46:34 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 03:47:07 +0100 | cynomys | (~cassaundr@user/cynomys) |
2022-01-23 03:48:15 +0100 | polyphem | (~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de) |
2022-01-23 03:56:15 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-01-23 03:57:48 +0100 | ensyde | (~ensyde@2600:1700:2050:1040:68c5:7698:b1fb:66cc) |
2022-01-23 03:57:56 +0100 | califax- | (~califax@user/califx) |
2022-01-23 03:58:13 +0100 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection) |
2022-01-23 04:00:24 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-23 04:00:24 +0100 | califax- | califax |
2022-01-23 04:01:23 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2022-01-23 04:04:07 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 04:04:16 +0100 | Topsi | (~Tobias@dyndsl-095-033-026-019.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2022-01-23 04:04:23 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 04:06:07 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Client Quit) |
2022-01-23 04:06:26 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 04:08:57 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
2022-01-23 04:09:03 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Client Quit) |
2022-01-23 04:09:25 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 04:12:19 +0100 | cynomys | (~cassaundr@user/cynomys) (Quit: leaving) |
2022-01-23 04:12:22 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
2022-01-23 04:15:22 +0100 | alx741 | (~alx741@157.100.93.160) (Quit: alx741) |
2022-01-23 04:15:30 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-23 04:15:55 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-23 04:16:21 +0100 | cynomys | (~cassaundr@user/cynomys) |
2022-01-23 04:17:05 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-23 04:17:05 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-01-23 04:17:05 +0100 | finn_elija | FinnElija |
2022-01-23 04:20:49 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-23 04:22:20 +0100 | boxscape_ | (~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de) |
2022-01-23 04:25:02 +0100 | <boxscape_> | hm so you can't use callbacks to Haskell in unsafe FFI calls, AFAIU. I wonder, is it possible to set up a Haskell thread that waits until it's woken up by a callback written in C that's passed to the FFI call instead? (Ideally without the haskell thread periodically having to poll a global pointer or something, since that would introduce a delay) |
2022-01-23 04:27:14 +0100 | <boxscape_> | I suppose, worst-case scenario, you could set up a socket in haskell and in C and wait for a connection on the haskell side |
2022-01-23 04:27:55 +0100 | <boxscape_> | (what I mean to say by that is that even the worst-case scenario seems alright) |
2022-01-23 04:30:11 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 04:30:27 +0100 | td_ | (~td@94.134.91.124) (Ping timeout: 256 seconds) |
2022-01-23 04:30:29 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 04:31:21 +0100 | mbuf | (~Shakthi@223.184.116.99) |
2022-01-23 04:32:11 +0100 | td_ | (~td@94.134.91.105) |
2022-01-23 04:32:23 +0100 | <monochrom> | That sounds like more coding and no less overhead than safe FFI. |
2022-01-23 04:35:24 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-01-23 04:37:15 +0100 | <boxscape_> | monochrom trouble is, I'm not in control of that, because I'm using a library that provides Haskell bindingss |
2022-01-23 04:37:34 +0100 | cynomys | (~cassaundr@user/cynomys) (Quit: Lost terminal) |
2022-01-23 04:38:07 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-23 04:42:32 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-01-23 04:43:46 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-01-23 04:47:03 +0100 | cynomys | (~cynomys@user/cynomys) |
2022-01-23 04:49:16 +0100 | <EvanR> | boxscape_, in the words of Lt. Barclay from "The Nth Degree" TNG episode: "I need a better interface" |
2022-01-23 04:49:45 +0100 | <EvanR> | (you should be barclay) |
2022-01-23 04:55:00 +0100 | <boxscape_> | I'll probably shelve this for now, because what I'm trying to accomplish is mostly optional in the context of the application as a whole |
2022-01-23 04:58:04 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 04:58:17 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 04:59:43 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds) |
2022-01-23 05:07:40 +0100 | zebrag | (~chris@user/zebrag) |
2022-01-23 05:13:19 +0100 | vglfr | (~vglfr@88.155.24.103) (Ping timeout: 256 seconds) |
2022-01-23 05:17:17 +0100 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 256 seconds) |
2022-01-23 05:19:11 +0100 | turlando | (~turlando@user/turlando) (Ping timeout: 256 seconds) |
2022-01-23 05:20:07 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-01-23 05:26:12 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds) |
2022-01-23 05:26:55 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection) |
2022-01-23 05:27:20 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2022-01-23 05:27:50 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-01-23 05:32:33 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) |
2022-01-23 05:47:55 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) (Read error: Connection reset by peer) |
2022-01-23 05:52:34 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) |
2022-01-23 05:54:15 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2022-01-23 05:56:14 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:27a3:a6cb:e9bf:c60f) (Ping timeout: 250 seconds) |
2022-01-23 05:57:00 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:12ba:a184:ba98:5b9c) |
2022-01-23 06:01:01 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 06:02:02 +0100 | img | (~img@user/img) |
2022-01-23 06:13:17 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-01-23 06:13:50 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 06:15:14 +0100 | img | (~img@user/img) |
2022-01-23 06:17:11 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 06:22:08 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 06:22:21 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 06:22:53 +0100 | raym | (~raym@user/raym) (Quit: kernel update, rebooting...) |
2022-01-23 06:26:30 +0100 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
2022-01-23 06:28:37 +0100 | raym | (~raym@user/raym) |
2022-01-23 06:36:16 +0100 | vglfr | (~vglfr@88.155.24.103) |
2022-01-23 06:38:59 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 06:39:12 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 06:45:30 +0100 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Ping timeout: 276 seconds) |
2022-01-23 06:49:06 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:12ba:a184:ba98:5b9c) (Ping timeout: 250 seconds) |
2022-01-23 06:49:37 +0100 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
2022-01-23 06:49:59 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:cae3:31:4918:e255) |
2022-01-23 06:50:12 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) |
2022-01-23 06:50:41 +0100 | Guest35 | (~Guest35@mobile-user-c3a5cc-243.dhcp.inet.fi) |
2022-01-23 06:51:16 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
2022-01-23 06:51:37 +0100 | Guest35 | (~Guest35@mobile-user-c3a5cc-243.dhcp.inet.fi) (Client Quit) |
2022-01-23 06:52:34 +0100 | tommd | (~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 250 seconds) |
2022-01-23 06:57:04 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:c16c:1790:8bf6:b4b5) |
2022-01-23 06:59:15 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 07:01:37 +0100 | shapr | (~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Ping timeout: 240 seconds) |
2022-01-23 07:01:50 +0100 | <EvanR> | cool https://www.seas.upenn.edu/~cis120/archive/16sp/hw/hw05/ |
2022-01-23 07:03:17 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2022-01-23 07:03:21 +0100 | <ski> | oh, OCaml |
2022-01-23 07:04:32 +0100 | <EvanR> | your mission, if you choose to accept it, is to do this in haskell |
2022-01-23 07:04:42 +0100 | <EvanR> | and reveal how the **** |
2022-01-23 07:05:04 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) (Remote host closed the connection) |
2022-01-23 07:05:32 +0100 | <EvanR> | I got close to this at one point using a cocoa front-end and IPC to the haskell program |
2022-01-23 07:05:46 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2022-01-23 07:06:04 +0100 | <energizer> | that is too pixellated for me in 2022 |
2022-01-23 07:07:12 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2022-01-23 07:07:24 +0100 | <EvanR> | good for pixel art xD |
2022-01-23 07:07:34 +0100 | <EvanR> | anyway, ocaml has "a graphics module" and we do not |
2022-01-23 07:08:49 +0100 | <energizer> | for gui i really enjoy reading https://raphlinus.github.io/ |
2022-01-23 07:08:52 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 07:09:05 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 07:09:22 +0100 | <energizer> | he's building a gui in rust |
2022-01-23 07:09:40 +0100 | <EvanR> | vulkan omg |
2022-01-23 07:14:48 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 07:16:09 +0100 | nitrix | (~nitrix@user/nitrix) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 07:18:04 +0100 | <EvanR> | suspicious of "the stack monoid" I had to click, then assured yes we're talking about monoids of the form (a -> a) where a = list |
2022-01-23 07:22:56 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 07:26:02 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:cae3:31:4918:e255) (Ping timeout: 240 seconds) |
2022-01-23 07:27:14 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:8d55:d8c4:1b30:723c) |
2022-01-23 07:27:37 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2022-01-23 07:32:20 +0100 | <EvanR> | k that blog is a rabbit hole energizer |
2022-01-23 07:32:46 +0100 | <energizer> | iknowrite |
2022-01-23 07:33:39 +0100 | <energizer> | those people hang in https://xi.zulipchat.com/ |
2022-01-23 07:54:18 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-01-23 07:57:57 +0100 | myShoggoth | (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds) |
2022-01-23 08:02:17 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) (Ping timeout: 240 seconds) |
2022-01-23 08:05:22 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) (Ping timeout: 250 seconds) |
2022-01-23 08:14:40 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-01-23 08:21:51 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-23 08:22:17 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-01-23 08:23:13 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-01-23 08:23:26 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-01-23 08:24:20 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Client Quit) |
2022-01-23 08:25:17 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds) |
2022-01-23 08:26:10 +0100 | iteratee | (~kyle@162.218.222.107) (Ping timeout: 250 seconds) |
2022-01-23 08:30:03 +0100 | iteratee | (~kyle@162.218.222.107) |
2022-01-23 08:31:57 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) |
2022-01-23 08:34:37 +0100 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 240 seconds) |
2022-01-23 08:36:17 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) (Ping timeout: 240 seconds) |
2022-01-23 08:39:16 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 08:40:03 +0100 | foul_owl | (~kerry@94.140.8.106) (Ping timeout: 250 seconds) |
2022-01-23 08:40:33 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-01-23 08:41:31 +0100 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2022-01-23 08:44:07 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-23 08:47:51 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 08:47:53 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) |
2022-01-23 08:49:02 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 08:49:10 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-23 08:52:57 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) (Ping timeout: 268 seconds) |
2022-01-23 08:55:07 +0100 | foul_owl | (~kerry@174-21-143-101.tukw.qwest.net) |
2022-01-23 08:56:57 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-23 09:00:28 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 09:00:51 +0100 | max22- | (~maxime@2a01cb0883359800bdabf9fff345f0d6.ipv6.abo.wanadoo.fr) |
2022-01-23 09:04:26 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) |
2022-01-23 09:05:34 +0100 | boxscape_ | (~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de) (Quit: Connection closed) |
2022-01-23 09:07:28 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) |
2022-01-23 09:09:04 +0100 | ksqsf | (~user@2001:da8:d800:611:4ed:dff2:5312:7ded) (Ping timeout: 250 seconds) |
2022-01-23 09:09:43 +0100 | ardell | (~ardell@user/ardell) |
2022-01-23 09:12:57 +0100 | ksqsf | (~user@2001:da8:d800:611:7dfb:bd19:a073:ff4e) |
2022-01-23 09:13:29 +0100 | ardell | (~ardell@user/ardell) (Client Quit) |
2022-01-23 09:17:44 +0100 | ksqsf | (~user@2001:da8:d800:611:7dfb:bd19:a073:ff4e) (Ping timeout: 250 seconds) |
2022-01-23 09:19:52 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 09:20:30 +0100 | mmhat | (~mmh@55d48476.access.ecotel.net) |
2022-01-23 09:20:35 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2022-01-23 09:21:37 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-01-23 09:24:14 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2022-01-23 09:28:33 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 09:31:21 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 257 seconds) |
2022-01-23 09:32:57 +0100 | ksqsf | (~user@222.195.66.54) (Ping timeout: 240 seconds) |
2022-01-23 09:41:58 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2022-01-23 09:42:59 +0100 | chomwitt | (~chomwitt@2a02:587:dc03:8b00:12c3:7bff:fe6d:d374) |
2022-01-23 09:45:08 +0100 | chomwitt | (~chomwitt@2a02:587:dc03:8b00:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer) |
2022-01-23 09:45:31 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 09:48:21 +0100 | ksqsf | (~user@222.195.66.54) (Remote host closed the connection) |
2022-01-23 09:48:41 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 09:49:52 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2022-01-23 09:53:17 +0100 | ksqsf | (~user@222.195.66.54) (Ping timeout: 240 seconds) |
2022-01-23 09:54:58 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot) |
2022-01-23 09:56:30 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2022-01-23 10:00:34 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 10:01:43 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-23 10:03:17 +0100 | ensyde | (~ensyde@2600:1700:2050:1040:68c5:7698:b1fb:66cc) (Ping timeout: 240 seconds) |
2022-01-23 10:06:56 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:b1e2:16ab:18b4:8efc) |
2022-01-23 10:08:02 +0100 | _ht | (~quassel@82-168-34-160.fixed.kpn.net) |
2022-01-23 10:09:34 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-01-23 10:09:41 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Remote host closed the connection) |
2022-01-23 10:11:16 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2022-01-23 10:16:02 +0100 | califax- | (~califax@user/califx) |
2022-01-23 10:17:19 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-01-23 10:17:24 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-23 10:17:24 +0100 | califax- | califax |
2022-01-23 10:17:43 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-23 10:21:25 +0100 | ksqsf | (~user@2001:da8:d800:611:e57c:4d5c:cbc6:ba78) |
2022-01-23 10:23:26 +0100 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-01-23 10:25:14 +0100 | klf | (~klf@66.220.205.98) |
2022-01-23 10:26:02 +0100 | ksqsf | (~user@2001:da8:d800:611:e57c:4d5c:cbc6:ba78) (Ping timeout: 240 seconds) |
2022-01-23 10:26:18 +0100 | <klf> | need a refresher. |
2022-01-23 10:26:18 +0100 | <klf> | foldr f 4 (1:2:3:[]) |
2022-01-23 10:27:35 +0100 | <klf> | What is the order of operation here? Does the concatenation occur before everything else? |
2022-01-23 10:27:35 +0100 | <polyphem> | klf: == (1 `f` 2 `f` 3 `f` 4) |
2022-01-23 10:28:57 +0100 | <polyphem> | klf: == (1 `f` (2 `f` (3 `f` (4)))) |
2022-01-23 10:30:04 +0100 | <xsperry> | > foldr f z [a,b,c] |
2022-01-23 10:30:07 +0100 | <lambdabot> | f a (f b (f c z)) |
2022-01-23 10:30:40 +0100 | <xsperry> | > foldr f z [1,2,3] |
2022-01-23 10:30:42 +0100 | <lambdabot> | f 1 (f 2 (f 3 z)) |
2022-01-23 10:30:44 +0100 | <xsperry> | > foldl f z [1,2,3] |
2022-01-23 10:30:46 +0100 | <lambdabot> | f (f (f z 1) 2) 3 |
2022-01-23 10:30:57 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
2022-01-23 10:33:02 +0100 | <klf> | thank you |
2022-01-23 10:37:06 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 10:37:21 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) |
2022-01-23 10:41:22 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
2022-01-23 10:51:30 +0100 | ksqsf | (~user@2001:da8:d800:611:39cc:7ba1:9b3b:186e) |
2022-01-23 10:51:38 +0100 | svi | (~svi@2a01:e0a:3cc:4590:e6e2:2da1:f754:c5d8) |
2022-01-23 10:51:45 +0100 | <svi> | hello |
2022-01-23 10:51:59 +0100 | <svi> | I just started mingling with type families |
2022-01-23 10:52:17 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
2022-01-23 10:53:38 +0100 | <svi> | I have this class : https://pastebin.com/RDX7Ld6E |
2022-01-23 10:54:25 +0100 | <svi> | but whenever i try to write instances i get "couldnt match type InstancedType with Frozen InstancedType" |
2022-01-23 10:54:27 +0100 | <svi> | ie |
2022-01-23 10:57:22 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-23 10:57:49 +0100 | <svi> | https://pastebin.com/WByGz6RA |
2022-01-23 10:57:59 +0100 | <svi> | god lol this is the worst syntax highlighting sorry |
2022-01-23 10:58:28 +0100 | <svi> | but yeah I feel like there is something I haven't gotten at all about type families, is the inner type supposed to not be exposed at all ? |
2022-01-23 10:58:45 +0100 | <[exa]> | svi: there's a friendly pastebin in topic but worry not |
2022-01-23 10:59:27 +0100 | <svi> | woo thanks |
2022-01-23 10:59:27 +0100 | <[exa]> | the inner type may be exposed; check out e.g. what the type-family-based transformers do |
2022-01-23 11:01:20 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:25:3430:6d5f:c01) |
2022-01-23 11:01:49 +0100 | <[exa]> | svi: if I replace `data` by `type` there, it seems to start working |
2022-01-23 11:02:08 +0100 | <[exa]> | (on a very reduced example) |
2022-01-23 11:02:56 +0100 | <svi> | it works ! |
2022-01-23 11:04:17 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-23 11:04:29 +0100 | <[exa]> | the underlying problem is that in the previous case the typesystem has no way to see the equality of `Frozen x ~ x` because it can't just "evaluate" the type synonym, but it technically _should_ work with data, except I have no idea how to |
2022-01-23 11:05:35 +0100 | <klf> | what is an usual way to execute putStrLn "hello world!" 10 times? |
2022-01-23 11:06:06 +0100 | <[exa]> | :t replicateM_ |
2022-01-23 11:06:07 +0100 | <polyphem> | > :t replicateM |
2022-01-23 11:06:07 +0100 | <lambdabot> | Applicative m => Int -> m a -> m () |
2022-01-23 11:06:08 +0100 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
2022-01-23 11:06:24 +0100 | <[exa]> | klf: replicateM_ 10 $ whateverMonadAction |
2022-01-23 11:07:50 +0100 | <[exa]> | if you're new to monads, a less confusing intermediate step would be something like `mapM (\_ -> putStrLn "hello") [1..10]` |
2022-01-23 11:10:04 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 11:10:15 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-01-23 11:10:36 +0100 | <klf> | what is \_ ? |
2022-01-23 11:11:09 +0100 | <[exa]> | klf: a lambda with discarded value name |
2022-01-23 11:11:18 +0100 | <klf> | yea... that's what I thought. |
2022-01-23 11:11:27 +0100 | <[exa]> | :] |
2022-01-23 11:12:53 +0100 | <[exa]> | svi: anyway, with `data` families you need to provide actual data constructors there in `data` |
2022-01-23 11:14:04 +0100 | <[exa]> | svi: this kinda compiles here: https://paste.tomsmeding.com/Ufg4pnIi (I omitted the From/To JSON from the context tho) |
2022-01-23 11:14:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Ping timeout: 240 seconds) |
2022-01-23 11:17:42 +0100 | <svi> | ohhh I see ty ty |
2022-01-23 11:18:08 +0100 | <svi> | that is helpful, actually. you can derive inside the instance |
2022-01-23 11:18:50 +0100 | <[exa]> | yeah that actually saves you there, otherwise you couldn't use `data` because the instance would miss half of the prerequisities |
2022-01-23 11:20:27 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2022-01-23 11:21:37 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 240 seconds) |
2022-01-23 11:24:14 +0100 | <ephemient> | you can think of it as sequence_ [putStrLn "hello" | _ <- [1..10]] == sequence_ (replicate 10 (putStrLn "hello")) == replicateM_ 10 (putStrLn "hello"), or as == sequence_ (map (const (putStrLn "hello")) [1..10]) == mapM_ (const (putStrLn "hello")) [1..10], but either way… |
2022-01-23 11:28:54 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 11:31:54 +0100 | svi | (~svi@2a01:e0a:3cc:4590:e6e2:2da1:f754:c5d8) (Quit: Client closed) |
2022-01-23 11:33:29 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-23 11:33:30 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-23 11:35:20 +0100 | img | (~img@user/img) |
2022-01-23 11:36:49 +0100 | <klf> | By putting '_' at the end of a function name suppresses the value of the function from being returned, right? |
2022-01-23 11:37:03 +0100 | <klf> | e.g. replicateM_ |
2022-01-23 11:37:28 +0100 | <Rembane> | klf: It's a convention in some places. |
2022-01-23 11:37:38 +0100 | <kitzman> | hmm... 90% chance I don't know how to look for this - is there a way to display the data constructor of the type? i.e: X = A | B, typeOf shows X, typeRepTyCon shows X as well |
2022-01-23 11:37:56 +0100 | Cheery | (~cheery@7-239-179-185.static.tentacle.fi) |
2022-01-23 11:39:30 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-23 11:39:59 +0100 | vglfr | (~vglfr@88.155.24.103) (Ping timeout: 256 seconds) |
2022-01-23 11:40:01 +0100 | <Rembane> | klf: Look at the type signature to get more reliable data of if the function evaluates to something more exciting than unit. |
2022-01-23 11:42:01 +0100 | <ephemient> | sequence_ and mapM_ can more efficient than sequence and mapM, but the other reason to use them is to avoid -Wunused-do-bind :) |
2022-01-23 11:43:17 +0100 | <ephemient> | actually seems that mapM/mapM_ is the example used in https://downloads.haskell.org/ghc/latest/docs/html/users_guide/using-warnings.html#ghc-flag--Wunus… |
2022-01-23 11:45:34 +0100 | fendor | (~fendor@91.141.78.76.wireless.dyn.drei.com) |
2022-01-23 11:46:22 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
2022-01-23 11:46:31 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-01-23 11:47:49 +0100 | Lord_of_Life_ | Lord_of_Life |
2022-01-23 11:51:26 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 11:56:13 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-23 11:57:25 +0100 | <ephemient> | kitzman: something along these lines? https://stackoverflow.com/a/48179707 |
2022-01-23 11:57:42 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-01-23 11:57:56 +0100 | califax | (~califax@user/califx) |
2022-01-23 12:00:53 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-23 12:01:05 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-23 12:01:14 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-23 12:02:20 +0100 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
2022-01-23 12:02:28 +0100 | HotblackDesiato_ | (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
2022-01-23 12:03:48 +0100 | vglfr | (~vglfr@88.155.24.103) |
2022-01-23 12:05:37 +0100 | <klf> | > sequence_ [putStrLn i | i <- [1..10] |
2022-01-23 12:05:39 +0100 | <lambdabot> | <hint>:1:37: error: |
2022-01-23 12:05:39 +0100 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2022-01-23 12:05:58 +0100 | <klf> | > sequence_ [putStrLn i | i <- [1..10]] |
2022-01-23 12:05:59 +0100 | <lambdabot> | error: |
2022-01-23 12:05:59 +0100 | <lambdabot> | • No instance for (Enum String) |
2022-01-23 12:05:59 +0100 | <lambdabot> | arising from the arithmetic sequence ‘1 .. 10’ |
2022-01-23 12:06:11 +0100 | <ephemient> | > sequence_ [print i | i <- [1..10]] |
2022-01-23 12:06:12 +0100 | <lambdabot> | <IO ()> |
2022-01-23 12:06:26 +0100 | <ephemient> | mapM_ print [1..10] |
2022-01-23 12:06:39 +0100 | <ephemient> | (lambdabot won't do IO) |
2022-01-23 12:07:09 +0100 | <klf> | can you point out what I did wrong here: ' sequence_ [putStrLn i | i <- [1..10]]' |
2022-01-23 12:07:13 +0100 | <geekosaur> | % sequence_ [print i | i <- [1..10]] |
2022-01-23 12:07:13 +0100 | <yahb> | geekosaur: 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |
2022-01-23 12:07:27 +0100 | <geekosaur> | klf, a number is not a string |
2022-01-23 12:07:31 +0100 | <ephemient> | klf: putStrLn :: String -> IO (), i is not a String |
2022-01-23 12:07:40 +0100 | <geekosaur> | putStrLn, as its name suggests, prints Strings |
2022-01-23 12:08:25 +0100 | <klf> | I see. |
2022-01-23 12:09:10 +0100 | <geekosaur> | % sequence_ [putStrLn (show i) | i <- [1..10]] |
2022-01-23 12:09:11 +0100 | <yahb> | geekosaur: 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |
2022-01-23 12:09:20 +0100 | <geekosaur> | which is the same as `print i` |
2022-01-23 12:09:26 +0100 | <geekosaur> | :t print |
2022-01-23 12:09:26 +0100 | <lambdabot> | Show a => a -> IO () |
2022-01-23 12:11:40 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) |
2022-01-23 12:12:28 +0100 | <klf> | re: "lambda won't do IO", which is in reference to '>' |
2022-01-23 12:12:41 +0100 | <klf> | Who is '%"? |
2022-01-23 12:12:47 +0100 | <klf> | he is more cooperative. |
2022-01-23 12:13:21 +0100 | <geekosaur> | yahb does IO, but is sandboxed. it's also actual ghci instead of mueval |
2022-01-23 12:13:26 +0100 | <ephemient> | yahb is yet another haskell bot |
2022-01-23 12:13:37 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-01-23 12:13:45 +0100 | <geekosaur> | % :!ls |
2022-01-23 12:13:45 +0100 | <yahb> | geekosaur: Eval; Eval.hi; Eval.hs; Eval.o; Eval.prof; Example; Example.hi; Example.hs; Example.o; Foo.hi; Foo.hs; Foo.o; Mod.hi; Mod.hs; Mod.o; Print; Print.hi; Print.hs; Print.o; Print.prof; a.out; example.txt; file; file.sh; file.txt; goobytest; hello; test; test.txt; tmp; x |
2022-01-23 12:14:03 +0100 | <geekosaur> | o.O |
2022-01-23 12:14:56 +0100 | <klf> | okay. |
2022-01-23 12:15:34 +0100 | <geekosaur> | oh, also if you expect a lot of output you can use %% instead of % and the output will be put in a pastebin |
2022-01-23 12:16:05 +0100 | <geekosaur> | (useful for things like :info) |
2022-01-23 12:16:33 +0100 | <stilgart_> | wow, that's good to know |
2022-01-23 12:23:12 +0100 | polyphem | (~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de) (Ping timeout: 250 seconds) |
2022-01-23 12:23:57 +0100 | polyphem | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) |
2022-01-23 12:26:08 +0100 | fef | (~thedawn@user/thedawn) |
2022-01-23 12:27:12 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 12:29:57 +0100 | polyphem | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Ping timeout: 240 seconds) |
2022-01-23 12:31:17 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2022-01-23 12:31:57 +0100 | mbuf | (~Shakthi@223.184.116.99) (Quit: Leaving) |
2022-01-23 12:34:12 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-23 12:34:32 +0100 | polyphem | (~rod@2a02:810d:840:8754:8362:a27b:a8a2:5eea) |
2022-01-23 12:41:45 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
2022-01-23 12:46:37 +0100 | polyphem | (~rod@2a02:810d:840:8754:8362:a27b:a8a2:5eea) (Ping timeout: 240 seconds) |
2022-01-23 12:47:46 +0100 | polyphem | (~rod@2a02:810d:840:8754:f8cc:a01b:29d5:d0e1) |
2022-01-23 12:49:50 +0100 | python476 | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
2022-01-23 12:57:18 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
2022-01-23 12:58:30 +0100 | <kitzman> | ephemient: yes, thank you. i'll look into how that works. |
2022-01-23 12:59:36 +0100 | python476 | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
2022-01-23 12:59:58 +0100 | <int-e> | % readFile "goobytest" |
2022-01-23 12:59:58 +0100 | <yahb> | int-e: "Test1\nTest2\nTest3\n" |
2022-01-23 13:04:22 +0100 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
2022-01-23 13:05:44 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 13:08:23 +0100 | cynomys | (~cynomys@user/cynomys) (Ping timeout: 256 seconds) |
2022-01-23 13:13:50 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 13:17:16 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-23 13:17:26 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-01-23 13:18:10 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-01-23 13:18:57 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2022-01-23 13:21:19 +0100 | tomjaguarpaw | (~tom@li367-225.members.linode.com) (Quit: leaving) |
2022-01-23 13:23:43 +0100 | __monty__ | (~toonn@user/toonn) |
2022-01-23 13:24:32 +0100 | ksqsf | (~user@2001:da8:d800:611:39cc:7ba1:9b3b:186e) (Ping timeout: 240 seconds) |
2022-01-23 13:27:50 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-23 13:30:21 +0100 | <ephemient> | kitzman: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/generics.html https://wiki.haskell.org/GHC.Generics https://hackage.haskell.org/package/base/docs/GHC-Generics.html they're kinda dense… but basically Generic/Generic1 lets you work with the representation of a data type |
2022-01-23 13:31:25 +0100 | _ht | (~quassel@82-168-34-160.fixed.kpn.net) (Ping timeout: 256 seconds) |
2022-01-23 13:31:49 +0100 | _ht | (~quassel@37.120.218.148) |
2022-01-23 13:32:00 +0100 | fendor | (~fendor@91.141.78.76.wireless.dyn.drei.com) (Remote host closed the connection) |
2022-01-23 13:34:38 +0100 | ksqsf | (~user@2001:da8:d800:611:9c6a:d03:2f58:45c) |
2022-01-23 13:35:01 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-23 13:37:57 +0100 | <jackdk> | https://www.youtube.com/watch?v=yiT3fAA-BDo is a good introduction |
2022-01-23 13:38:42 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-23 13:38:54 +0100 | gensyst | (gensyst@user/gensyst) |
2022-01-23 13:39:57 +0100 | <gensyst> | Why was System.IO.openFile and Handle not made to automatically hClose the Handle upon the garbage collection of Handle? |
2022-01-23 13:40:02 +0100 | ksqsf | (~user@2001:da8:d800:611:9c6a:d03:2f58:45c) (Ping timeout: 240 seconds) |
2022-01-23 13:40:02 +0100 | <gensyst> | Just out of curiosity. |
2022-01-23 13:40:46 +0100 | <gensyst> | I see no harm in it and only benefits. (However we still of course would have hClose if we really want to do it as early as possible.) |
2022-01-23 13:42:04 +0100 | <gensyst> | (well, there is one downside: overhead of registering the GC cleanup action) |
2022-01-23 13:42:35 +0100 | ksqsf | (~user@2001:da8:d800:611:c8a:43ed:910:2896) |
2022-01-23 13:43:33 +0100 | AlexNoo_ | AlexNoo |
2022-01-23 13:45:26 +0100 | <maerwald> | gensyst: I believe there was a similar discussion in libraries list once |
2022-01-23 13:46:32 +0100 | <ephemient> | there is `withFile` that will close the file descriptor at the end of the given action |
2022-01-23 13:48:43 +0100 | <gensyst> | ephemient, sure |
2022-01-23 13:48:50 +0100 | <maerwald> | gensyst: afair some people said using GC hooks in general is an anti-pattern |
2022-01-23 13:49:34 +0100 | <ksqsf> | imo gc is not deterministic enough for such scarce resources |
2022-01-23 13:49:46 +0100 | <maerwald> | however, streamly does use GC hooks that way |
2022-01-23 13:49:57 +0100 | <gensyst> | ksqsf, i agree actually. sometimes it happens way too late and unpredictably. |
2022-01-23 13:50:10 +0100 | <gensyst> | (s/it happens/it would happen) |
2022-01-23 13:50:24 +0100 | <gensyst> | maerwald, yeah exactly. |
2022-01-23 13:50:48 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) |
2022-01-23 13:50:51 +0100 | <maerwald> | well, I think because the only alternative solutions would be linear types |
2022-01-23 13:51:14 +0100 | Axman6 | (~Axman6@user/axman6) |
2022-01-23 13:52:51 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-23 13:53:33 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 13:53:52 +0100 | chomwitt | (~chomwitt@2a02:587:dc06:be00:12c3:7bff:fe6d:d374) |
2022-01-23 13:54:21 +0100 | <gensyst> | maerwald, i feel like Haskell/streamly is the way man was supposed to write programs |
2022-01-23 13:54:25 +0100 | <gensyst> | it's heaven |
2022-01-23 13:54:32 +0100 | <ephemient> | I think it could be useful to log a warning about leaked resources from the GC finalizer, similar to android's CloseGuard, but yeah. having actual program behavior depend on GC feels questionable to me |
2022-01-23 13:54:40 +0100 | <maerwald> | I use streamly, but the performance is VERY unpredictable |
2022-01-23 13:54:58 +0100 | <maerwald> | it can go from outperforming bytestring to being slower than conduit |
2022-01-23 13:55:32 +0100 | <maerwald> | requires a lot of knowledge about streamly itself and inlining |
2022-01-23 13:55:55 +0100 | <maerwald> | while with something like conduit you get ok performance and that rather consistently |
2022-01-23 13:56:16 +0100 | <gensyst> | maerwald, have you found any good tricks to find where bottlenecks appear? (if they are due to streamly or not). i wonder if it could be useful to learn how to read core lang to check if it got inlined into a tight loop |
2022-01-23 13:56:28 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-23 13:57:46 +0100 | <maerwald> | there are no general tricks other than https://github.com/composewell/streamly/blob/master/docs/optimizing.md |
2022-01-23 13:57:54 +0100 | <maerwald> | and that's usually not enough |
2022-01-23 13:58:15 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-23 13:58:17 +0100 | <maerwald> | you have to know which parts of the API perform better in cetrain circumstances etc |
2022-01-23 13:58:41 +0100 | <maerwald> | that kind of makes it dangerous to refactor your code |
2022-01-23 13:59:08 +0100 | <maerwald> | (as well as bumping GHC versions, because the inliner is not stable) |
2022-01-23 13:59:09 +0100 | <gensyst> | so one has got to profile all the time :) |
2022-01-23 14:00:30 +0100 | <maerwald> | I'd probably pick streamly for things, simply because I enjoy tinkering. But I'm not sure that's a good choice for a large codebase lots of people with different levels of performance-optimizing skills work on |
2022-01-23 14:01:13 +0100 | <gensyst> | perhaps profiling/timing ought to be part of a good CI |
2022-01-23 14:01:45 +0100 | <maerwald> | well, CI failing because of perfomance issues is another round-trip time slowing down development |
2022-01-23 14:01:54 +0100 | max22- | (~maxime@2a01cb0883359800bdabf9fff345f0d6.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2022-01-23 14:02:16 +0100 | <maerwald> | depends on cost-benefit |
2022-01-23 14:02:44 +0100 | <maerwald> | probably most people don't care and don't need to. That's why conduit is still the most popular streaming library |
2022-01-23 14:02:55 +0100 | <maerwald> | although it's definitely not the most performant |
2022-01-23 14:03:10 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 14:03:29 +0100 | <gensyst> | maerwald, could this be because a program's bottleneck is usually not the conduit vs. streamly performance difference? |
2022-01-23 14:03:41 +0100 | <gensyst> | so even if they would have used streamly, it would not have made any perf diff |
2022-01-23 14:04:10 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-01-23 14:04:30 +0100 | beepsort | (~beepsort@31.205.108.155) (Quit: client terminated!) |
2022-01-23 14:05:09 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
2022-01-23 14:05:22 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2022-01-23 14:07:17 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2022-01-23 14:08:26 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) (Remote host closed the connection) |
2022-01-23 14:08:42 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-23 14:10:25 +0100 | ph88 | (~ph88@2a02:8109:9e00:71d0:3c42:1d7a:5c49:19d9) |
2022-01-23 14:13:42 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:b1e2:16ab:18b4:8efc) (Ping timeout: 250 seconds) |
2022-01-23 14:15:34 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-01-23 14:15:47 +0100 | shapr | (~user@c-68-35-49-128.hsd1.al.comcast.net) |
2022-01-23 14:20:02 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-01-23 14:21:38 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2022-01-23 14:22:00 +0100 | <maerwald[m]> | gensyst: depends. I mean the reason we have tricks like bytestring, lazy IO or use C ffi for eg yaml parsing is exactly because we don't have a native haskell streaming solution that can deliver all that. streamly could, but it has a long way to go |
2022-01-23 14:23:31 +0100 | shapr` | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) |
2022-01-23 14:24:10 +0100 | goodtimeswithtom | (~goodtimes@2600:1700:4012:180::40) |
2022-01-23 14:25:15 +0100 | shapr | (~user@c-68-35-49-128.hsd1.al.comcast.net) (Ping timeout: 256 seconds) |
2022-01-23 14:26:22 +0100 | notzmv | (~zmv@user/notzmv) |
2022-01-23 14:28:20 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2022-01-23 14:28:41 +0100 | kmein | (~weechat@user/kmein) |
2022-01-23 14:28:59 +0100 | goodtimeswithtom | (~goodtimes@2600:1700:4012:180::40) (Client Quit) |
2022-01-23 14:29:20 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot) |
2022-01-23 14:29:25 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) (Ping timeout: 256 seconds) |
2022-01-23 14:31:20 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-23 14:32:28 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-01-23 14:40:00 +0100 | raym | (~raym@user/raym) (Remote host closed the connection) |
2022-01-23 14:43:21 +0100 | vysn | (~vysn@user/vysn) |
2022-01-23 14:46:44 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-23 14:46:44 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-23 14:46:47 +0100 | allbery_b | geekosaur |
2022-01-23 14:46:52 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-23 14:49:24 +0100 | raym | (~raym@user/raym) |
2022-01-23 14:50:01 +0100 | shapr` | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) (Remote host closed the connection) |
2022-01-23 14:51:02 +0100 | SquidDev | (~SquidDev@autoclave.squiddev.cc) (Bye!) |
2022-01-23 14:51:19 +0100 | mvk | (~mvk@173.33.176.132) (Ping timeout: 256 seconds) |
2022-01-23 14:54:02 +0100 | klf | (~klf@66.220.205.98) (Quit: Leaving) |
2022-01-23 14:56:41 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-23 15:01:46 +0100 | shapr | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) |
2022-01-23 15:02:09 +0100 | FragByte_ | (~christian@user/fragbyte) |
2022-01-23 15:05:00 +0100 | <ldlework> | gentauro: hey did you ever figure out how to get libssl working on that app you were stuck on with Nix? |
2022-01-23 15:05:02 +0100 | FragByte | (~christian@user/fragbyte) (Ping timeout: 240 seconds) |
2022-01-23 15:05:02 +0100 | FragByte_ | FragByte |
2022-01-23 15:05:25 +0100 | <ldlework> | 21:16 <gentauro> I still get the "No usable version of libssl was found" |
2022-01-23 15:05:26 +0100 | <ldlework> | 21:16 <gentauro> :( |
2022-01-23 15:05:29 +0100 | <ldlework> | last march >_>' |
2022-01-23 15:07:17 +0100 | ksqsf | (~user@2001:da8:d800:611:c8a:43ed:910:2896) (Ping timeout: 240 seconds) |
2022-01-23 15:09:13 +0100 | lispy | (~lispy3@84.69.59.93) |
2022-01-23 15:09:50 +0100 | lispy | (~lispy3@84.69.59.93) (Remote host closed the connection) |
2022-01-23 15:10:24 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) |
2022-01-23 15:11:06 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-23 15:11:17 +0100 | shapr | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) (Ping timeout: 240 seconds) |
2022-01-23 15:11:30 +0100 | shapr`` | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) |
2022-01-23 15:11:50 +0100 | lispy | (~lispy3@84.69.59.93) |
2022-01-23 15:12:12 +0100 | max22- | (~maxime@2a01cb08833598005b5f19f76fc72686.ipv6.abo.wanadoo.fr) |
2022-01-23 15:13:42 +0100 | Pickchea | (~private@user/pickchea) |
2022-01-23 15:16:06 +0100 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 250 seconds) |
2022-01-23 15:19:17 +0100 | shapr`` | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) (Ping timeout: 240 seconds) |
2022-01-23 15:19:30 +0100 | shapr```` | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) |
2022-01-23 15:19:34 +0100 | chomwitt | (~chomwitt@2a02:587:dc06:be00:12c3:7bff:fe6d:d374) (Ping timeout: 250 seconds) |
2022-01-23 15:20:09 +0100 | chomwitt | (~chomwitt@2a02:587:dc06:be00:12c3:7bff:fe6d:d374) |
2022-01-23 15:22:14 +0100 | lispy | (~lispy3@84.69.59.93) (Remote host closed the connection) |
2022-01-23 15:22:30 +0100 | lispy | (~lispy3@84.69.59.93) |
2022-01-23 15:25:17 +0100 | shapr```` | (~user@2601:7c0:c37c:46d0:edc9:85cc:b84c:4613) (Ping timeout: 240 seconds) |
2022-01-23 15:25:30 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2022-01-23 15:27:03 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 15:27:35 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds) |
2022-01-23 15:30:07 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 15:30:23 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 15:31:29 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 15:31:44 +0100 | ksqsf | (~user@2001:da8:d800:611:8107:9924:1608:4322) |
2022-01-23 15:32:51 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Read error: Connection reset by peer) |
2022-01-23 15:33:25 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-23 15:33:37 +0100 | lispy | (~lispy3@84.69.59.93) (Quit: Leaving) |
2022-01-23 15:34:09 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2022-01-23 15:34:09 +0100 | alp | (~alp@user/alp) |
2022-01-23 15:36:02 +0100 | ksqsf | (~user@2001:da8:d800:611:8107:9924:1608:4322) (Ping timeout: 250 seconds) |
2022-01-23 15:37:32 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 15:38:17 +0100 | alp | (~alp@user/alp) (Ping timeout: 240 seconds) |
2022-01-23 15:41:37 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) (Ping timeout: 240 seconds) |
2022-01-23 15:46:17 +0100 | Pickchea | (~private@user/pickchea) (Ping timeout: 256 seconds) |
2022-01-23 15:48:21 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 15:49:38 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-01-23 15:52:43 +0100 | ksqsf | (~user@222.195.66.54) (Ping timeout: 256 seconds) |
2022-01-23 15:58:17 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-23 15:59:37 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2022-01-23 15:59:50 +0100 | soxen | (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) |
2022-01-23 16:02:04 +0100 | alp | (~alp@user/alp) |
2022-01-23 16:02:33 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds) |
2022-01-23 16:04:52 +0100 | gensyst | (gensyst@user/gensyst) (Quit: Leaving) |
2022-01-23 16:05:17 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-01-23 16:08:05 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-23 16:08:33 +0100 | raym | (~raym@user/raym) (Quit: leaving) |
2022-01-23 16:11:08 +0100 | _ht | (~quassel@37.120.218.148) (Ping timeout: 250 seconds) |
2022-01-23 16:11:32 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 2.8) |
2022-01-23 16:11:33 +0100 | _ht | (~quassel@2a02:a468:b619:1:7ee4:4b51:626d:e55) |
2022-01-23 16:12:24 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-23 16:13:46 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-23 16:14:12 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-23 16:15:00 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 16:15:28 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-01-23 16:19:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Ping timeout: 240 seconds) |
2022-01-23 16:19:22 +0100 | tavares | (~tavares@user/tavares) |
2022-01-23 16:20:53 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-23 16:21:27 +0100 | raym | (~raym@user/raym) |
2022-01-23 16:23:59 +0100 | ksqsf | (~user@2001:da8:d800:611:89fb:49eb:d2b2:f4b1) |
2022-01-23 16:25:12 +0100 | fef | (~thedawn@user/thedawn) |
2022-01-23 16:32:32 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-23 16:41:41 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 16:41:57 +0100 | rembo10 | (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-23 16:42:50 +0100 | rembo10 | (~rembo10@remulis.com) |
2022-01-23 16:44:37 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-01-23 16:44:44 +0100 | rusty | (~rustyboy@2a02:2f0e:6209:3600:b8f6:c621:17f1:c195) |
2022-01-23 16:47:27 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-23 16:47:33 +0100 | cheater | (~Username@user/cheater) |
2022-01-23 16:49:42 +0100 | soxen | (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 250 seconds) |
2022-01-23 16:51:36 +0100 | soxen | (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) |
2022-01-23 16:52:37 +0100 | mmohammadi9812 | (~Mohammad@2.178.202.163) |
2022-01-23 16:53:20 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2022-01-23 16:53:34 +0100 | shapr | (~user@2601:7c0:c37c:46d0:bf33:7711:bc65:c365) |
2022-01-23 16:53:37 +0100 | ksqsf | (~user@2001:da8:d800:611:89fb:49eb:d2b2:f4b1) (Ping timeout: 240 seconds) |
2022-01-23 16:55:47 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2022-01-23 16:57:10 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-23 17:00:51 +0100 | zmt00 | (~zmt00@user/zmt00) |
2022-01-23 17:01:03 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds) |
2022-01-23 17:01:19 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-23 17:03:33 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 256 seconds) |
2022-01-23 17:07:46 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 17:07:46 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) (Read error: Connection reset by peer) |
2022-01-23 17:08:56 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-23 17:10:43 +0100 | soxen | (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
2022-01-23 17:10:48 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) |
2022-01-23 17:14:34 +0100 | mvk | (~mvk@2607:fea8:5cdc:bf00::a2bf) |
2022-01-23 17:16:39 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2022-01-23 17:17:17 +0100 | ksqsf | (~user@2001:da8:d800:611:89fb:49eb:d2b2:f4b1) |
2022-01-23 17:19:48 +0100 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2022-01-23 17:21:34 +0100 | EvanR | (~EvanR@user/evanr) |
2022-01-23 17:21:36 +0100 | wombat875 | (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Quit: WeeChat 2.2-dev) |
2022-01-23 17:22:02 +0100 | ksqsf | (~user@2001:da8:d800:611:89fb:49eb:d2b2:f4b1) (Ping timeout: 240 seconds) |
2022-01-23 17:22:15 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-23 17:22:34 +0100 | iteratee | (~kyle@162.218.222.107) (Remote host closed the connection) |
2022-01-23 17:22:44 +0100 | iteratee | (~kyle@162.218.222.107) |
2022-01-23 17:22:57 +0100 | ksqsf | (~user@2001:da8:d800:611:95f9:c68e:df5d:9a46) |
2022-01-23 17:23:52 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-23 17:25:01 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 17:25:11 +0100 | nattiestnate | (~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977) (Quit: WeeChat 3.4) |
2022-01-23 17:26:37 +0100 | shapr | (~user@2601:7c0:c37c:46d0:bf33:7711:bc65:c365) (Ping timeout: 240 seconds) |
2022-01-23 17:27:24 +0100 | ksqsf | (~user@2001:da8:d800:611:95f9:c68e:df5d:9a46) (Ping timeout: 250 seconds) |
2022-01-23 17:28:28 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-23 17:29:06 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:c16c:1790:8bf6:b4b5) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 17:33:59 +0100 | whatif | (~user@123.123.223.41) (Quit: ERC (IRC client for Emacs 26.3)) |
2022-01-23 17:35:48 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Remote host closed the connection) |
2022-01-23 17:36:52 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-01-23 17:37:20 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-23 17:38:01 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 17:39:03 +0100 | ksqsf | (~user@2001:da8:d800:611:69cf:4a16:9a7:fdb) |
2022-01-23 17:39:29 +0100 | razetime | (~quassel@49.207.209.26) |
2022-01-23 17:40:01 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 17:41:14 +0100 | rusty | (~rustyboy@2a02:2f0e:6209:3600:b8f6:c621:17f1:c195) (Quit: Leaving) |
2022-01-23 17:41:57 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Ping timeout: 240 seconds) |
2022-01-23 17:42:26 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 17:43:32 +0100 | ksqsf | (~user@2001:da8:d800:611:69cf:4a16:9a7:fdb) (Ping timeout: 240 seconds) |
2022-01-23 17:43:55 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-01-23 17:44:36 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-01-23 17:46:15 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-23 17:49:32 +0100 | tavares | (~tavares@user/tavares) (Ping timeout: 240 seconds) |
2022-01-23 17:54:48 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 17:54:50 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-23 17:54:50 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-23 17:54:50 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-23 17:56:04 +0100 | ksqsf | (~user@2001:da8:d800:611:b95c:c03a:1129:794a) |
2022-01-23 17:56:21 +0100 | <__monty__> | Is there a way to specify a dependency on non-Haskell executables in a cabal file. |
2022-01-23 17:57:47 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-01-23 17:57:53 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) |
2022-01-23 18:01:38 +0100 | ksqsf | (~user@2001:da8:d800:611:b95c:c03a:1129:794a) (Ping timeout: 250 seconds) |
2022-01-23 18:01:54 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 18:01:58 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 18:03:57 +0100 | mvk | (~mvk@2607:fea8:5cdc:bf00::a2bf) (Ping timeout: 240 seconds) |
2022-01-23 18:04:03 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-23 18:04:57 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2022-01-23 18:05:27 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) (Remote host closed the connection) |
2022-01-23 18:06:07 +0100 | <maerwald> | with a custom Setup.hs you can |
2022-01-23 18:06:14 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 18:08:29 +0100 | mvk | (~mvk@2607:fea8:5cdc:bf00::a2bf) |
2022-01-23 18:08:38 +0100 | <Hecate> | __monty__: what do you need to be done with this dependency? |
2022-01-23 18:08:41 +0100 | <Hecate> | like, ensure it's present? |
2022-01-23 18:08:44 +0100 | <Hecate> | build it? |
2022-01-23 18:09:21 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) |
2022-01-23 18:09:48 +0100 | razetime | (~quassel@49.207.209.26) (Ping timeout: 268 seconds) |
2022-01-23 18:10:01 +0100 | <[itchyjunk]> | I would like to write a partial function. :x |
2022-01-23 18:10:02 +0100 | <[itchyjunk]> | https://bpa.st/TA5A |
2022-01-23 18:10:04 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:758:22d1:74ab:3b31) |
2022-01-23 18:10:08 +0100 | <[itchyjunk]> | But I feel all sorts of confused. |
2022-01-23 18:10:54 +0100 | mvk | (~mvk@2607:fea8:5cdc:bf00::a2bf) (Read error: Connection reset by peer) |
2022-01-23 18:11:09 +0100 | <EvanR> | the type should make you feel uncomfortable |
2022-01-23 18:11:29 +0100 | <EvanR> | partial functions aren't great when they can easily be avoided |
2022-01-23 18:11:47 +0100 | <[itchyjunk]> | How can they be avoided when they are the goal? :x |
2022-01-23 18:11:48 +0100 | mvk | (~mvk@2607:fea8:5cdc:bf00::a2bf) |
2022-01-23 18:12:06 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 18:12:07 +0100 | <EvanR> | your goal is to write any partial function? |
2022-01-23 18:12:42 +0100 | <monochrom> | I thought you solved this one last time. Use pattern matching. |
2022-01-23 18:12:54 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
2022-01-23 18:13:15 +0100 | <[itchyjunk]> | No, I filed it under `learn more pattern matching to solve this`. |
2022-01-23 18:13:27 +0100 | <monochrom> | OK, learn "case-of". |
2022-01-23 18:13:28 +0100 | ksqsf | (~user@2001:da8:d800:611:7d7c:8716:8858:5abe) |
2022-01-23 18:13:43 +0100 | zebrag | (~chris@user/zebrag) |
2022-01-23 18:13:52 +0100 | <[itchyjunk]> | Oh, i thought i could use case or use pattern matching :x maybe i misunderstood. |
2022-01-23 18:13:58 +0100 | [itchyjunk] | looks up case-of |
2022-01-23 18:14:02 +0100 | yauhsien | (~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2022-01-23 18:15:48 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-01-23 18:16:57 +0100 | mmohammadi9812 | (~Mohammad@2.178.202.163) (Ping timeout: 240 seconds) |
2022-01-23 18:17:46 +0100 | <dsal> | :t (fromJust .) -- [itchyjunk] |
2022-01-23 18:17:47 +0100 | <lambdabot> | (a -> Maybe c) -> a -> c |
2022-01-23 18:18:06 +0100 | ksqsf | (~user@2001:da8:d800:611:7d7c:8716:8858:5abe) (Ping timeout: 250 seconds) |
2022-01-23 18:19:14 +0100 | <dsal> | Though avoiding partial functions is better. |
2022-01-23 18:19:41 +0100 | <[itchyjunk]> | I was just curious about them. :D |
2022-01-23 18:22:29 +0100 | <__monty__> | Hecate: Just declare it's necessary at run-time really. |
2022-01-23 18:23:46 +0100 | <dsal> | [itchyjunk]: `f True = 3` -- that's a simpler partial function. :) |
2022-01-23 18:24:53 +0100 | <hpc> | f = undefined -- also technically a partial function :D |
2022-01-23 18:26:45 +0100 | <dsal> | Oh yeah, and that one has a more flexible type signature. |
2022-01-23 18:26:57 +0100 | <[itchyjunk]> | So it's partial because it doesn't map the False to anything? |
2022-01-23 18:27:03 +0100 | <dsal> | Right. |
2022-01-23 18:27:15 +0100 | <[itchyjunk]> | But what about the `f = undefined` case? |
2022-01-23 18:27:19 +0100 | <dsal> | If you have a function that only works for some inputs, it's partial. You shouldn't do that. |
2022-01-23 18:27:21 +0100 | <[itchyjunk]> | Can't tell why that's partial |
2022-01-23 18:27:24 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-23 18:27:32 +0100 | aku_ | eagleflo |
2022-01-23 18:27:35 +0100 | <dsal> | :t undefined |
2022-01-23 18:27:37 +0100 | <lambdabot> | a |
2022-01-23 18:27:53 +0100 | <dsal> | heh. undefined can be any type, and is always a failure. |
2022-01-23 18:28:19 +0100 | <dsal> | It's a slightly different concept. In one case, you only consider some inputs and implicitly fail on others. In the other case, you explicitly wrote a failure. |
2022-01-23 18:29:43 +0100 | gehmehgeh_ | gehmehgeh |
2022-01-23 18:29:58 +0100 | <Gurkenglas> | A measure on X has type signature (X->R)->R. What it does is it integrates a function. A kernel between X and Y is a function X->(Y->R)->R. A derivative between two kernels f,g::X->(Y->R)->R is a function h::X->Y->R such that f x yr = g x yr * g x (h x). When I try to figure out what the composition X->Z->R of two derivatives X->Y->R and Y->Z->R is, I find that I am missing a (Y->R)->R to combine them. Is there |
2022-01-23 18:29:58 +0100 | <Gurkenglas> | some alternative definition of derivative which composes properly? |
2022-01-23 18:30:03 +0100 | bash69 | (~bash69@d24-141-9-87.home.cgocable.net) |
2022-01-23 18:30:22 +0100 | bash69 | (~bash69@d24-141-9-87.home.cgocable.net) (Client Quit) |
2022-01-23 18:31:07 +0100 | ksqsf | (~user@2001:da8:d800:611:bd11:5994:94ee:a92c) |
2022-01-23 18:33:23 +0100 | <Gurkenglas> | I *suppose* that the X->Z->R could acquire a (Y->R)->R by plugging the X into either of the two X->(Y->R)->R. But which? |
2022-01-23 18:33:40 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) |
2022-01-23 18:34:29 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 18:35:57 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-01-23 18:36:18 +0100 | ksqsf | (~user@2001:da8:d800:611:bd11:5994:94ee:a92c) (Ping timeout: 250 seconds) |
2022-01-23 18:36:29 +0100 | <Gurkenglas> | ...oh, it will of course turn out that both will produce the same X->Z->R. Thanks everyone :P? |
2022-01-23 18:36:59 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 18:38:56 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-23 18:39:41 +0100 | <EvanR> | [itchyjunk], you're right, undefined isn't partial in the sense that *something* works. Because in that case nothing works. But it's still a form of "partiality" |
2022-01-23 18:40:13 +0100 | <EvanR> | maybe we can invent the jargon "properly partial" in that *something* works xD |
2022-01-23 18:40:22 +0100 | <EvanR> | but that's usually little consolation |
2022-01-23 18:42:08 +0100 | <EvanR> | the bad news is your program just self destructed because it tried to do `head []'. The good news is that head [3] would've worked? |
2022-01-23 18:42:16 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 18:42:59 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-23 18:43:22 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:758:22d1:74ab:3b31) (Remote host closed the connection) |
2022-01-23 18:43:34 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:758:22d1:74ab:3b31) |
2022-01-23 18:44:29 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) |
2022-01-23 18:45:35 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-23 18:46:23 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-23 18:46:42 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-23 18:47:00 +0100 | zincy__ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
2022-01-23 18:47:43 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Read error: Connection reset by peer) |
2022-01-23 18:47:49 +0100 | ksqsf | (~user@222.195.66.54) (Ping timeout: 256 seconds) |
2022-01-23 18:47:52 +0100 | zincy | (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Remote host closed the connection) |
2022-01-23 18:47:54 +0100 | tom_ | (~tom@host86-151-99-97.range86-151.btcentralplus.com) |
2022-01-23 18:49:27 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 18:51:57 +0100 | benin | (~benin@183.82.31.24) (Ping timeout: 240 seconds) |
2022-01-23 18:53:33 +0100 | kuribas | (~user@ptr-25vy0i8mxo9em8d53n7.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2022-01-23 18:54:02 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2022-01-23 18:54:37 +0100 | benin | (~benin@183.82.31.24) |
2022-01-23 18:55:02 +0100 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
2022-01-23 18:55:09 +0100 | econo | (uid147250@user/econo) |
2022-01-23 18:55:30 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-23 18:55:30 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-23 18:55:49 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-23 18:57:02 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-23 18:59:03 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-23 18:59:21 +0100 | <Sqaure> | Is there some package that provides time formats for different locales (however that is defined... country and/or language )? |
2022-01-23 19:00:05 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
2022-01-23 19:00:43 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-23 19:00:45 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-23 19:02:08 +0100 | <dsal> | Every time something tries to provide me a time format based on my country and/or language, it's not the one I want. Google has a bunch of bugs open for that. (Temperature as well. I'm in the US, so clearly I want to see Fahrenheit) |
2022-01-23 19:03:05 +0100 | <EvanR> | Sqaure, hmm https://hackage.haskell.org/package/current-locale-0.2.0.1/docs/System-CurrentLocale.html |
2022-01-23 19:03:27 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-23 19:03:46 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-23 19:03:59 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-23 19:04:07 +0100 | <EvanR> | nvm that is 1. old and 2. for getting the current system time locale |
2022-01-23 19:04:36 +0100 | <EvanR> | not providing a smorgasbord to choose from |
2022-01-23 19:04:37 +0100 | <Sqaure> | Thanks for trying |
2022-01-23 19:05:11 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds) |
2022-01-23 19:05:28 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-23 19:05:29 +0100 | litharge | (litharge@libera/bot/litharge) (*.net *.split) |
2022-01-23 19:08:01 +0100 | benin | (~benin@183.82.31.24) (Ping timeout: 256 seconds) |
2022-01-23 19:08:05 +0100 | <EvanR> | do you want linux or windows |
2022-01-23 19:10:11 +0100 | zincy__ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
2022-01-23 19:11:07 +0100 | neceve | (~quassel@2.26.93.228) |
2022-01-23 19:15:38 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: sjdvjsk) |
2022-01-23 19:16:05 +0100 | litharge | (litharge@libera/bot/litharge) |
2022-01-23 19:19:31 +0100 | lispy | (~lispy3@84.69.59.93) |
2022-01-23 19:23:45 +0100 | <[itchyjunk]> | I am trying to write a helper function of type Maybe a -> Maybe b so that i can test my function |
2022-01-23 19:24:31 +0100 | <[itchyjunk]> | My function compiled but i am not sure what it does. so i wanted a helper to test it xD |
2022-01-23 19:24:31 +0100 | <[itchyjunk]> | https://bpa.st/NZTQ |
2022-01-23 19:25:33 +0100 | edrx | (~Eduardo@2804:56c:d2f8:7700:812f:d393:2bf3:f7a6) |
2022-01-23 19:26:53 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-23 19:26:58 +0100 | <[itchyjunk]> | Ah i kinda did it |
2022-01-23 19:27:00 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-23 19:27:08 +0100 | <[itchyjunk]> | i made go an identity function `Maybe a -> Maybe a` |
2022-01-23 19:27:19 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-23 19:27:45 +0100 | <[itchyjunk]> | So `f` here is a partial function? |
2022-01-23 19:27:46 +0100 | <[itchyjunk]> | https://bpa.st/G4MQ |
2022-01-23 19:27:58 +0100 | <[itchyjunk]> | If so, this was less exciting that I was expecting it to be. |
2022-01-23 19:30:09 +0100 | <polyphem> | [itchyjunk]: Maybe is usually used as a way to make partial functions total |
2022-01-23 19:30:28 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 250 seconds) |
2022-01-23 19:30:29 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-23 19:30:34 +0100 | ChanServ | +o geekosaur |
2022-01-23 19:30:54 +0100 | <geekosaur> | (just in case; they're restarting services) |
2022-01-23 19:31:14 +0100 | <edrx> | hi all, I'm struggling trying to prove a basic (?) equality in Agda... I guess that this should be obvious to people who know the material here - https://plfa.github.io/Equality/ - but I'm stuck =(. In english my question would be "how do I prove that if f ≡ f' and g ≡ g' then f ∘ g ≡ f' ∘ g'?", and my question in Agda is here: https://0x0.st/ooyP.txt |
2022-01-23 19:31:24 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 19:31:37 +0100 | <edrx> | (the question in Agda is slightly simpler) |
2022-01-23 19:31:41 +0100 | <polyphem> | [itchyjunk]: you want to avoid partial functions, they introduce possible bugs in your code |
2022-01-23 19:31:49 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
2022-01-23 19:32:10 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection) |
2022-01-23 19:32:39 +0100 | tavares | (~tavares@187.19.212.26) |
2022-01-23 19:32:44 +0100 | tavares | (~tavares@187.19.212.26) (Changing host) |
2022-01-23 19:32:44 +0100 | tavares | (~tavares@user/tavares) |
2022-01-23 19:33:11 +0100 | zincy | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
2022-01-23 19:33:39 +0100 | <polyphem> | [itchyjunk]: why not take the partial function head, and try to implement a total version safeHead . i think it'll help you to grasp the concept and braden your understanding |
2022-01-23 19:34:01 +0100 | <polyphem> | *broaden |
2022-01-23 19:34:17 +0100 | ridcully_ | (~ridcully@p57b52a9a.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-01-23 19:35:12 +0100 | robertm | (robertm@lattice.rojoma.com) (Quit: WeeChat 3.0) |
2022-01-23 19:35:31 +0100 | <agumonkey> | polyphem: such as ? |
2022-01-23 19:35:31 +0100 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection) |
2022-01-23 19:35:47 +0100 | ridcully_ | (~ridcully@p508ac987.dip0.t-ipconnect.de) |
2022-01-23 19:35:56 +0100 | <zzz> | list fusion is the process by which (f p = length . filter p) is optimized, right? |
2022-01-23 19:36:13 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 19:36:19 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 19:37:27 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-01-23 19:37:38 +0100 | robertm | (robertm@lattice.rojoma.com) |
2022-01-23 19:37:50 +0100 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
2022-01-23 19:39:24 +0100 | <dsal> | [itchyjunk]: Your `go` function is `id` Your `g` function is `(fromJust .)` -- but if you see `fromJust` in code, you can often just go ahead and file a bug. |
2022-01-23 19:39:59 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 19:43:50 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-23 19:43:56 +0100 | zincy | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
2022-01-23 19:44:08 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
2022-01-23 19:44:13 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 19:45:37 +0100 | log101 | (~log101@212.125.22.146) |
2022-01-23 19:46:40 +0100 | lispy | (~lispy3@84.69.59.93) (Quit: Leaving) |
2022-01-23 19:47:18 +0100 | lispy | (~lispy3@84.69.59.93) |
2022-01-23 19:47:44 +0100 | akegalj | (~akegalj@141-136-204-193.dsl.iskon.hr) |
2022-01-23 19:49:01 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-23 19:49:12 +0100 | akegalj | (~akegalj@141-136-204-193.dsl.iskon.hr) () |
2022-01-23 19:49:42 +0100 | alp | (~alp@user/alp) (Ping timeout: 268 seconds) |
2022-01-23 19:50:06 +0100 | akegalj | (~akegalj@141-136-204-193.dsl.iskon.hr) |
2022-01-23 19:50:16 +0100 | <[itchyjunk]> | :D |
2022-01-23 19:50:30 +0100 | <[itchyjunk]> | I'll look at fromJust at some point, then. |
2022-01-23 19:51:46 +0100 | <EvanR> | oof... |
2022-01-23 19:52:03 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-23 19:52:07 +0100 | <EvanR> | fromJust defeats the purpose of Maybe |
2022-01-23 19:52:40 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-23 19:52:40 +0100 | <EvanR> | it's probably a code smell |
2022-01-23 19:55:07 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 19:55:29 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-01-23 19:56:52 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 19:58:54 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) |
2022-01-23 20:00:55 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 20:01:09 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 20:02:01 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-23 20:04:07 +0100 | kaph | (~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Ping timeout: 256 seconds) |
2022-01-23 20:04:46 +0100 | ChanServ | (ChanServ@services.libera.chat) (shutting down) |
2022-01-23 20:04:57 +0100 | Sgeo | (~Sgeo@ool-18b9875e.dyn.optonline.net) |
2022-01-23 20:05:18 +0100 | ChanServ | (ChanServ@services.libera.chat) |
2022-01-23 20:05:18 +0100 | mercury.libera.chat | +o ChanServ |
2022-01-23 20:06:02 +0100 | <dsal> | @src fromJust |
2022-01-23 20:06:02 +0100 | <lambdabot> | fromJust Nothing = undefined |
2022-01-23 20:06:02 +0100 | <lambdabot> | fromJust (Just x) = x |
2022-01-23 20:07:12 +0100 | <EvanR> | toJust undefined = Nothing |
2022-01-23 20:07:18 +0100 | <EvanR> | toJust x = Just x |
2022-01-23 20:07:35 +0100 | max22- | (~maxime@2a01cb08833598005b5f19f76fc72686.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2022-01-23 20:07:53 +0100 | lispy | (~lispy3@84.69.59.93) (Quit: Leaving) |
2022-01-23 20:08:27 +0100 | <EvanR> | (javascript beats haskell again) |
2022-01-23 20:09:02 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-01-23 20:10:17 +0100 | deadmarshal | (~deadmarsh@95.38.228.242) (Ping timeout: 240 seconds) |
2022-01-23 20:11:21 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:758:22d1:74ab:3b31) (Remote host closed the connection) |
2022-01-23 20:11:23 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-23 20:11:34 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:3d2f:ad9e:d1f8:1d5d) |
2022-01-23 20:11:35 +0100 | lispy | (~lispy3@84.69.59.93) |
2022-01-23 20:13:45 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 20:16:16 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2022-01-23 20:16:30 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) |
2022-01-23 20:16:52 +0100 | geekosaur | -o geekosaur |
2022-01-23 20:17:54 +0100 | mmohammadi9812 | (~Mohammad@188.210.110.121) |
2022-01-23 20:19:00 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:8d55:d8c4:1b30:723c) (Ping timeout: 250 seconds) |
2022-01-23 20:19:54 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-01-23 20:20:00 +0100 | xff0x | (~xff0x@2001:1a81:5332:3500:b49d:8e28:9fba:6720) |
2022-01-23 20:21:53 +0100 | soxen | (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) |
2022-01-23 20:22:14 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-23 20:27:02 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection) |
2022-01-23 20:29:03 +0100 | mmohammadi9812 | (~Mohammad@188.210.110.121) (Ping timeout: 256 seconds) |
2022-01-23 20:29:03 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds) |
2022-01-23 20:29:44 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2022-01-23 20:31:51 +0100 | lispy | (~lispy3@84.69.59.93) (Quit: Leaving) |
2022-01-23 20:32:59 +0100 | <energizer> | i am reading this post https://alessandrovermeulen.me/2013/07/13/the-difference-between-shallow-and-deep-embedding/ |
2022-01-23 20:33:24 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 20:33:30 +0100 | <energizer> | i tried copying the first block but ghci says The type signature for ‘const’ lacks an accompanying binding |
2022-01-23 20:33:49 +0100 | <geekosaur> | ghci needs you to do grouping manually |
2022-01-23 20:34:02 +0100 | <geekosaur> | it can't tell the next thing you'll type will be the binding |
2022-01-23 20:34:22 +0100 | <geekosaur> | so use :{ and :} to type the declaration and definition as a group |
2022-01-23 20:34:32 +0100 | <geekosaur> | or load the whole thing from a file instead of typinjg it into ghci |
2022-01-23 20:35:11 +0100 | <energizer> | i did |
2022-01-23 20:35:24 +0100 | <energizer> | didnt help |
2022-01-23 20:35:45 +0100 | max22- | (~maxime@2a01cb0883359800e05a099bb642ef66.ipv6.abo.wanadoo.fr) |
2022-01-23 20:35:51 +0100 | log101 | (~log101@212.125.22.146) (Ping timeout: 256 seconds) |
2022-01-23 20:36:03 +0100 | neurocyte0917090 | (~neurocyte@IP-045014188253.dynamic.medianet-world.de) |
2022-01-23 20:36:03 +0100 | neurocyte0917090 | (~neurocyte@IP-045014188253.dynamic.medianet-world.de) (Changing host) |
2022-01-23 20:36:03 +0100 | neurocyte0917090 | (~neurocyte@user/neurocyte) |
2022-01-23 20:36:12 +0100 | <geekosaur> | oh, I see. thst whole thing is incomplete |
2022-01-23 20:36:22 +0100 | <geekosaur> | you're not supposed to type it in and evaluate it |
2022-01-23 20:36:59 +0100 | <EvanR> | heh, tutorial style where 1 line of code floats in isolation while they go on and on. Later you have no idea how it fits together |
2022-01-23 20:37:24 +0100 | <geekosaur> | they don't even define the '⊨' thye use later on |
2022-01-23 20:37:34 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 20:37:39 +0100 | <energizer> | grrr |
2022-01-23 20:38:22 +0100 | <monochrom> | This is why when I do this I include "-- mock code" |
2022-01-23 20:39:00 +0100 | <geekosaur> | right, it's all mock, none of it is complete or usable |
2022-01-23 20:40:27 +0100 | log101 | (~log101@212.125.22.146) |
2022-01-23 20:40:28 +0100 | <zzz> | can anyone cnofirm that list fusion is the process by which (f p = length . filter p) is optimized (by avoiding going thruogh the list twice)? |
2022-01-23 20:45:17 +0100 | <[exa]> | zzz: IMO in this case it might be just a simple case of inlining (not sure if there is a proper "definition" for fusion). I thought that list fusion is something where RULES hints trigger stuff like `map f . map g ===> map (f.g)`. |
2022-01-23 20:45:56 +0100 | <[exa]> | this looks comprehensive: https://stackoverflow.com/a/38910170/1043097 |
2022-01-23 20:46:58 +0100 | cynomys | (~cynomys@user/cynomys) |
2022-01-23 20:51:00 +0100 | alp | (~alp@user/alp) |
2022-01-23 20:51:05 +0100 | <zzz> | thanks [exa] |
2022-01-23 20:52:15 +0100 | <EvanR> | hmm going through the list twice? |
2022-01-23 20:52:41 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Remote host closed the connection) |
2022-01-23 20:52:51 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 20:52:53 +0100 | <EvanR> | or just skipping a cons decons |
2022-01-23 20:53:23 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 20:55:24 +0100 | tavares | (~tavares@user/tavares) (Ping timeout: 250 seconds) |
2022-01-23 20:55:34 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-23 20:56:24 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 20:56:32 +0100 | alp | (~alp@user/alp) (Ping timeout: 240 seconds) |
2022-01-23 20:56:57 +0100 | alp | (~alp@user/alp) |
2022-01-23 20:57:15 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:554b:fd6:4afe:d593) |
2022-01-23 20:57:37 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Ping timeout: 240 seconds) |
2022-01-23 20:59:17 +0100 | log101 | (~log101@212.125.22.146) (Ping timeout: 256 seconds) |
2022-01-23 21:05:19 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds) |
2022-01-23 21:05:27 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-23 21:07:01 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-23 21:07:06 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 21:11:59 +0100 | Guest|92 | (~Guest|92@198.217.30.212) |
2022-01-23 21:12:06 +0100 | Guest|92 | (~Guest|92@198.217.30.212) (Client Quit) |
2022-01-23 21:13:58 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 21:17:03 +0100 | ksqsf | (~user@2001:da8:d800:611:68c0:1790:f3ba:1b01) |
2022-01-23 21:17:29 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 21:17:51 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2022-01-23 21:21:24 +0100 | ksqsf | (~user@2001:da8:d800:611:68c0:1790:f3ba:1b01) (Ping timeout: 250 seconds) |
2022-01-23 21:27:48 +0100 | ddb1 | ddb |
2022-01-23 21:28:16 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:3d2f:ad9e:d1f8:1d5d) (Remote host closed the connection) |
2022-01-23 21:28:33 +0100 | Constraintegic | (~thomasbul@2001:a61:1307:2b01:3d2f:ad9e:d1f8:1d5d) |
2022-01-23 21:31:34 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 21:31:40 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-23 21:32:14 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 21:34:24 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 21:35:09 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2022-01-23 21:36:19 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-23 21:41:20 +0100 | pavonia | (~user@user/siracusa) |
2022-01-23 21:42:08 +0100 | <zzz> | i don't know |
2022-01-23 21:42:11 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-23 21:42:32 +0100 | Cheery | (~cheery@7-239-179-185.static.tentacle.fi) (Ping timeout: 240 seconds) |
2022-01-23 21:47:24 +0100 | mmhat | (~mmh@55d48476.access.ecotel.net) (Ping timeout: 250 seconds) |
2022-01-23 21:48:14 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-23 21:48:43 +0100 | lispy | (~lispy4@84.69.59.93) |
2022-01-23 21:49:13 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 21:49:42 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 21:50:58 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 21:51:04 +0100 | lispy | (~lispy4@84.69.59.93) (Client Quit) |
2022-01-23 21:51:57 +0100 | lispy | (~lispy4@84.69.59.93) |
2022-01-23 21:52:00 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 21:52:59 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) (Remote host closed the connection) |
2022-01-23 21:54:20 +0100 | ksqsf | (~user@222.195.66.54) (Ping timeout: 250 seconds) |
2022-01-23 22:01:33 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Remote host closed the connection) |
2022-01-23 22:04:18 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 250 seconds) |
2022-01-23 22:05:17 +0100 | mmhat | (~mmh@55d4124f.access.ecotel.net) |
2022-01-23 22:05:53 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2022-01-23 22:07:34 +0100 | myShoggoth | (~myShoggot@97-120-67-120.ptld.qwest.net) |
2022-01-23 22:08:41 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) |
2022-01-23 22:09:24 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 22:09:49 +0100 | _ht | (~quassel@2a02:a468:b619:1:7ee4:4b51:626d:e55) (Remote host closed the connection) |
2022-01-23 22:11:53 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-01-23 22:13:39 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-23 22:15:14 +0100 | klimnbrk | (~barakvoid@2a02:14f:4:90c3:5267:c24a:c393:429d) |
2022-01-23 22:19:23 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) |
2022-01-23 22:20:58 +0100 | <[exa]> | zzz: you may have a look at the optimized code dump |
2022-01-23 22:21:03 +0100 | <[exa]> | to be sure :D |
2022-01-23 22:21:52 +0100 | <random-jellyfish> | I want to create a list of strings this way, read the first string from IO and expect a number n, then read n more string from IO and append them to the list |
2022-01-23 22:22:16 +0100 | <random-jellyfish> | can I do that in a single expression? |
2022-01-23 22:22:22 +0100 | <[exa]> | likely |
2022-01-23 22:22:34 +0100 | <[exa]> | (spoiler: whole main function is a single expression :D ) |
2022-01-23 22:22:50 +0100 | <random-jellyfish> | yes, I meant in a single line of code |
2022-01-23 22:23:00 +0100 | <random-jellyfish> | without many <- |
2022-01-23 22:23:12 +0100 | <[exa]> | other than that I guess you can just combine readLn, >>=, replicateN, and something extra to get the job done |
2022-01-23 22:23:15 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2022-01-23 22:23:27 +0100 | <tomsmeding> | @undo do { x <- f 1 ; y <- g 2; return x + y } |
2022-01-23 22:23:27 +0100 | <lambdabot> | f 1 >>= \ x -> g 2 >>= \ y -> return x + y |
2022-01-23 22:23:56 +0100 | <[exa]> | random-jellyfish: btw if you have a piece of code with <-'s we can work on it to improve it in steps |
2022-01-23 22:24:45 +0100 | <random-jellyfish> | I don't have any code yet |
2022-01-23 22:24:57 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds) |
2022-01-23 22:25:38 +0100 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-01-23 22:26:00 +0100 | <random-jellyfish> | let's say you want to write an IO function that receives an Ethernet frame from a connection, somewhere in the Ethernet frame there is a field containing the length of the data contained by the frame |
2022-01-23 22:26:10 +0100 | <random-jellyfish> | how would you write such a function? |
2022-01-23 22:26:35 +0100 | <random-jellyfish> | first you'd have to read that length field, then fetch the rest of the data from IO |
2022-01-23 22:27:21 +0100 | <random-jellyfish> | I want this to be encoded as a lazy expression |
2022-01-23 22:28:42 +0100 | <c_wraith> | lazy probably doesn't mean anything useful in this context |
2022-01-23 22:29:05 +0100 | akegalj | (~akegalj@141-136-204-193.dsl.iskon.hr) (Quit: leaving) |
2022-01-23 22:29:44 +0100 | <random-jellyfish> | I would like to first code it as a lazy expression using algebraic data types, then run it through an function that translates it to IO actions |
2022-01-23 22:30:18 +0100 | <c_wraith> | what does laziness add? |
2022-01-23 22:30:46 +0100 | <c_wraith> | like, I'm all for laziness. But I don't think you mean what Haskell calls laziness. |
2022-01-23 22:32:02 +0100 | <random-jellyfish> | what I actually want to do is to connect haskell to an HDL simulator, and from Haskell I want to send stimulus and monitor data traffic from signals |
2022-01-23 22:32:28 +0100 | <random-jellyfish> | the problem is that HDL simulators can run multiple "threads" in a simulated way |
2022-01-23 22:32:50 +0100 | <random-jellyfish> | they're kind of like green threads, they use coroutines behind the scenes |
2022-01-23 22:32:58 +0100 | <random-jellyfish> | I can't do that on the haskell side |
2022-01-23 22:33:04 +0100 | <c_wraith> | why not? |
2022-01-23 22:33:09 +0100 | <random-jellyfish> | so I have to model them |
2022-01-23 22:33:24 +0100 | <random-jellyfish> | and send them to the other side where they can be executed by the HDL simulator |
2022-01-23 22:33:32 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:25:3430:6d5f:c01) (Ping timeout: 240 seconds) |
2022-01-23 22:34:35 +0100 | <random-jellyfish> | for example: Wait (10,Ns) :=: (Wait (5,Ns) :+: Write 1 $ Signal 6) |
2022-01-23 22:34:49 +0100 | <random-jellyfish> | this would tell the HDL simulator to spawn 2 threads |
2022-01-23 22:34:51 +0100 | <c_wraith> | Like, I'm trying to understand the problem... You want to write code in a concurrent pattern that handles different portions of input from the simulator in each thread? |
2022-01-23 22:35:04 +0100 | <c_wraith> | why not... use threads? |
2022-01-23 22:35:09 +0100 | <random-jellyfish> | in one of them it just waits 10 ns, in the other one waits 5 ns then writes to a signal |
2022-01-23 22:35:34 +0100 | <random-jellyfish> | because HDL threads are not the same as Haskell threads |
2022-01-23 22:35:49 +0100 | <random-jellyfish> | HDL simulators have their own kernel with a thread scheduler built in |
2022-01-23 22:36:02 +0100 | <random-jellyfish> | I'd have to replicate that on the haskell side and sync them |
2022-01-23 22:36:03 +0100 | <c_wraith> | I still don't see where the problem is |
2022-01-23 22:36:10 +0100 | <c_wraith> | why would you need to do that? |
2022-01-23 22:37:02 +0100 | <random-jellyfish> | what kind of threads would you suggest I use on the haskell side? |
2022-01-23 22:37:17 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-01-23 22:38:14 +0100 | <c_wraith> | well, the first thing is to just try using forkIO. |
2022-01-23 22:38:23 +0100 | <c_wraith> | If it doesn't work, then you know more about why |
2022-01-23 22:39:07 +0100 | <c_wraith> | If you'd rather just write an event loop that happens to appear to use concurrent access, you can use a free monad, I suppose. |
2022-01-23 22:39:09 +0100 | <random-jellyfish> | it won't work, the threads have to be spawned on the HDL side |
2022-01-23 22:39:18 +0100 | <c_wraith> | What? |
2022-01-23 22:39:24 +0100 | <c_wraith> | How is that relevant to *anything*? |
2022-01-23 22:40:05 +0100 | <c_wraith> | You're mixing what your code needs to do with how the simulator works. |
2022-01-23 22:40:15 +0100 | <c_wraith> | separate them. There is no connection. |
2022-01-23 22:40:23 +0100 | <c_wraith> | What does *your code* need to do? |
2022-01-23 22:40:31 +0100 | Cheery | (~cheery@7-239-179-185.static.tentacle.fi) |
2022-01-23 22:40:52 +0100 | <random-jellyfish> | I plan to use zeroMQ to "link" haskell and the HDL simulator |
2022-01-23 22:41:17 +0100 | <zzz> | main = go 1 where go n = do ... ; go (n - 1) |
2022-01-23 22:41:49 +0100 | <davean> | random-jellyfish: you could call Haskell functions from the HDL side too of course |
2022-01-23 22:42:34 +0100 | <c_wraith> | Does your code need to model synchronous interactions with the hardware? In that case, you really need to run inside the HDL simulator |
2022-01-23 22:42:53 +0100 | <c_wraith> | Or alternatively, run the HDL simulator as a library |
2022-01-23 22:43:04 +0100 | <random-jellyfish> | I want to write the testbench in haskell |
2022-01-23 22:43:21 +0100 | <random-jellyfish> | so the haskell code should be the master and the simulator side the slave |
2022-01-23 22:43:30 +0100 | ksqsf | (~user@222.195.66.54) |
2022-01-23 22:43:35 +0100 | <random-jellyfish> | not sure if it's possible |
2022-01-23 22:43:43 +0100 | <c_wraith> | that sounds a lot like you need to handle everything synchronously |
2022-01-23 22:44:17 +0100 | <zzz> | would there be any difference between having [] a and NonEmpty a like we have now and just having NonEmpty and Maybe NonEmpty? |
2022-01-23 22:44:24 +0100 | <c_wraith> | ie, you need exactly control of the simulated time between signals and stimuli? |
2022-01-23 22:44:48 +0100 | <zzz> | *NonEmpty a and Maybe (NonEmpty a) |
2022-01-23 22:45:24 +0100 | <c_wraith> | zzz: well, [] and NonEmpty are both instances of Functor. Do you really want to reach for Compose Maybe NonEmpty every time you want the equivalent of fmap on lists? |
2022-01-23 22:45:43 +0100 | <d34df00d> | zzz: I guess you can build an isomoprhism between the two, so there isn't any theoretical difference. |
2022-01-23 22:45:51 +0100 | <d34df00d> | But there surely is practical/convenience/usability difference. |
2022-01-23 22:45:58 +0100 | <zzz> | i see |
2022-01-23 22:46:20 +0100 | <c_wraith> | it's easy to have isomorphism between the shapes. It's a lot harder for that isomorphism to preserve instances |
2022-01-23 22:46:24 +0100 | <random-jellyfish> | a testbench should be able to ask the simulator to do these things: drive bits to signals, read bits from signals, consume simulation time(e.g. wait 5ns), wait for the edge of a signal(e.g. wait rise of clk) |
2022-01-23 22:47:13 +0100 | <d34df00d> | c_wraith: why? Modulo Haskell expressiveness and the fact that you cannot easily write `instance Functor (Maybe . NonEmtpy)` |
2022-01-23 22:47:20 +0100 | <random-jellyfish> | I was hoping to able to model these actions as primitives using an alebgraic data types and combine them with 2 operators: a :+:b and a:=: b |
2022-01-23 22:47:32 +0100 | <c_wraith> | d34df00d: the instances that currently exist. |
2022-01-23 22:47:39 +0100 | <d34df00d> | And modulo that too. |
2022-01-23 22:47:44 +0100 | <random-jellyfish> | :+: runs two actions one after the other, :=: runs two actions in parallel |
2022-01-23 22:47:48 +0100 | <c_wraith> | you mean modulo everything? :P |
2022-01-23 22:47:56 +0100 | <d34df00d> | Hence the difference between "theoretically" and "practically". |
2022-01-23 22:48:09 +0100 | <random-jellyfish> | so I would have a tree of these primitives combined with :+: and : |
2022-01-23 22:48:13 +0100 | <d34df00d> | Nah, I mean modulo the disdain towards overlapping instances in this case. |
2022-01-23 22:48:27 +0100 | ksqsf | (~user@222.195.66.54) (Ping timeout: 256 seconds) |
2022-01-23 22:48:38 +0100 | <random-jellyfish> | so I would have a tree of these primitives combined with :+: and :=:, translate it to json, send the json to the hdl simulator, decode it and run it there |
2022-01-23 22:48:51 +0100 | <c_wraith> | that's not just a practical difference. Data types having the same shape is only an isomorphism in code that examines them structurally. But Haskell provides theoretical mechanisms that don't map to structural examination. |
2022-01-23 22:49:45 +0100 | <c_wraith> | random-jellyfish: ok, so... Why not just do that? Why involve IO? |
2022-01-23 22:49:45 +0100 | <d34df00d> | Anyway, _practically_, if we're talking about instances, can't we just `newtype MaybeNonEmtpy a = MaybeNonEmpty (Maybe (NonEmpty a))`? |
2022-01-23 22:49:52 +0100 | <zzz> | c_wraith: i think i get what you mean but could yu prvide a simple example? |
2022-01-23 22:49:56 +0100 | <d34df00d> | Sure that's ugly as hell. |
2022-01-23 22:51:25 +0100 | <random-jellyfish> | c_wraith there is one problem my solution won't solve: the situation where I have to read a number from one signal and then wait that number of units of time |
2022-01-23 22:51:33 +0100 | <d34df00d> | zzz: not sure if c_wraith meant exactly that, but if you have `Maybe (NonEmtpy a)`, then you could do `fmap length`, and get `Maybe Int`. How would you translate that to plain old? |
2022-01-23 22:51:37 +0100 | <d34df00d> | plain old lists that is |
2022-01-23 22:51:45 +0100 | <random-jellyfish> | the output of one operation needs to be passed as input to another one |
2022-01-23 22:52:09 +0100 | <c_wraith> | random-jellyfish: so how does your json handle that? |
2022-01-23 22:52:28 +0100 | <random-jellyfish> | c_wraith that's where I got stuck |
2022-01-23 22:52:39 +0100 | <random-jellyfish> | I don't even know how to model that in haskell |
2022-01-23 22:52:57 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-01-23 22:53:36 +0100 | <c_wraith> | you have a bigger problem |
2022-01-23 22:53:58 +0100 | <c_wraith> | you're creating a programming language to target a programming language that doesn't exist to target an interpreter that doesn't exist. |
2022-01-23 22:54:08 +0100 | <c_wraith> | There are too many steps |
2022-01-23 22:54:28 +0100 | <c_wraith> | and too many unknowns |
2022-01-23 22:55:00 +0100 | Cheery | (~cheery@7-239-179-185.static.tentacle.fi) (Ping timeout: 250 seconds) |
2022-01-23 22:55:24 +0100 | <random-jellyfish> | it's a thought experiment, the first thing I'd like to find out is if it's even possible |
2022-01-23 22:56:27 +0100 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
2022-01-23 22:56:34 +0100 | Cheery | (~cheery@7-239-179-185.static.tentacle.fi) |
2022-01-23 22:57:54 +0100 | <c_wraith> | Is it possible? Sure. But the key phrase is "programming language" |
2022-01-23 22:58:16 +0100 | <c_wraith> | You're proposing creating something that needs to be a programming language as an intermediate exchange format. |
2022-01-23 22:58:58 +0100 | <c_wraith> | that suggests a lot of complexity. Maybe it's not necessary. |
2022-01-23 22:59:36 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-23 23:00:03 +0100 | <c_wraith> | Can the simulator run synchronously with an external program? Can it be run as a library? Can you use Haskell code as a library from the simulator? |
2022-01-23 23:00:17 +0100 | <c_wraith> | any of those would allow getting rid of the intermediate representation |
2022-01-23 23:00:52 +0100 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
2022-01-23 23:00:53 +0100 | <random-jellyfish> | the haskell code and the HDL simulator will run as separate processes, and they will communicate with each other through a ZMQ socket |
2022-01-23 23:01:13 +0100 | <c_wraith> | that's a lot of commandments from on high |
2022-01-23 23:01:36 +0100 | <random-jellyfish> | on the HDL side I will have a whil(1) loop that will fetch json encoded commands from haskell and run them |
2022-01-23 23:02:02 +0100 | <random-jellyfish> | on the haskell side I generate those commands, encode them to json and send them |
2022-01-23 23:02:37 +0100 | <random-jellyfish> | I like the fact that haskell can model infinite data structures and combine them |
2022-01-23 23:02:43 +0100 | <random-jellyfish> | like infinite lists, infinite trees |
2022-01-23 23:02:58 +0100 | <random-jellyfish> | it can run functions on them to change them, etc. |
2022-01-23 23:03:02 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-23 23:03:25 +0100 | <lispy> | I've learned a bit about several languages, but have yet to start with Haskell. |
2022-01-23 23:03:58 +0100 | <random-jellyfish> | I was hoping to be able to create some infinite stimulus in haskell then break it in chunks and send it to the HDL simulator to execute |
2022-01-23 23:04:16 +0100 | <random-jellyfish> | but I also need to be able to read from signals, not just write to them |
2022-01-23 23:04:22 +0100 | <c_wraith> | random-jellyfish: does that mean the simulator has to run synchronously with the IO from the queue? If so... there's a way to force it to run synchronously with an external program |
2022-01-23 23:04:53 +0100 | <random-jellyfish> | yes, it should run in sync with the IO from the queue |
2022-01-23 23:05:10 +0100 | <random-jellyfish> | but that while(true) loop will run inside an HDL thread |
2022-01-23 23:05:37 +0100 | <c_wraith> | so if the queue ends up blocking for 100ms for some reason, the simulator will wait for it before running the next cycle? |
2022-01-23 23:05:40 +0100 | <random-jellyfish> | and when that thread makes a context switch while running a command, the scheduler will let other HDL threads to advance as well |
2022-01-23 23:06:59 +0100 | <random-jellyfish> | yes, waiting 100ms will give control to the HDL thread scheduler, which will resume other threads, and it will also update the simulation time by adding that 100ms to it |
2022-01-23 23:07:00 +0100 | ksqsf | (~user@2001:da8:d800:611:5f:3d9d:579f:683) |
2022-01-23 23:07:09 +0100 | <random-jellyfish> | it's simulated time not wall clock time |
2022-01-23 23:07:35 +0100 | <random-jellyfish> | waiting time just increments a counter |
2022-01-23 23:07:36 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-23 23:08:11 +0100 | imalsogreg | (~imalsogre@2601:147:300:f930::5d55) |
2022-01-23 23:08:18 +0100 | jrm | (~jrm@156.34.173.250) (Read error: Connection reset by peer) |
2022-01-23 23:08:27 +0100 | jrm2 | (~jrm@156.34.173.250) |
2022-01-23 23:09:06 +0100 | <c_wraith> | Ok, I'm back to not understanding the problem. You're just writing functions of the form InternalState -> SignalOutputFromSimulator -> (SignalInputForSimulator, InternalState) |
2022-01-23 23:09:19 +0100 | jrm2 | jrm |
2022-01-23 23:09:57 +0100 | <c_wraith> | You can provide a lot of extra tools for creating those functions |
2022-01-23 23:10:10 +0100 | <c_wraith> | But that's all you need as the interface |
2022-01-23 23:11:19 +0100 | <random-jellyfish> | simulate $ map (WriteSignal "clk") cycle [0,1] |
2022-01-23 23:11:21 +0100 | <c_wraith> | Like, if you want to do some stuff with free monads for thinking about it in terms of multiple processes? Great. But get that part working first, and remember everything more complex is built on top of that. |
2022-01-23 23:11:28 +0100 | ksqsf | (~user@2001:da8:d800:611:5f:3d9d:579f:683) (Ping timeout: 250 seconds) |
2022-01-23 23:11:44 +0100 | <random-jellyfish> | simulate $ map (WriteSignal "clk" :+: WaitTime (5,Ns) ) cycle [0,1] |
2022-01-23 23:11:55 +0100 | <random-jellyfish> | this would generate a clock signal |
2022-01-23 23:12:07 +0100 | <random-jellyfish> | 010101 |
2022-01-23 23:12:15 +0100 | Pickchea | (~private@user/pickchea) |
2022-01-23 23:12:15 +0100 | <random-jellyfish> | with 5 ns between edges |
2022-01-23 23:12:20 +0100 | <zzz> | d34df00d: `length :: NonEmpty -> Nat` where `data Nat = One | Succ Nat`. According to this methodology you could have Nat and Nat0 (which wuold be Maybe Nat :p) |
2022-01-23 23:12:28 +0100 | <random-jellyfish> | that's how I imagine I would do it |
2022-01-23 23:12:30 +0100 | <c_wraith> | sure, great, whatever. Figure out how to translate that into the basic required IO type |
2022-01-23 23:12:40 +0100 | <c_wraith> | err. interface type. No IO involved |
2022-01-23 23:12:46 +0100 | titusg | (~user@2a00:23c6:ab8a:3c00:4d5b:fb1b:c853:9282) |
2022-01-23 23:13:26 +0100 | <c_wraith> | Or you could use like... a Mealy machine, if you don't want to have to make the internal state concrete |
2022-01-23 23:13:43 +0100 | <random-jellyfish> | it will have to reach IO since I use ZMQ to communicate to the HDL side |
2022-01-23 23:13:48 +0100 | <c_wraith> | irrelevant |
2022-01-23 23:13:55 +0100 | <c_wraith> | You're running a pure function to calculate what to send |
2022-01-23 23:13:58 +0100 | <titusg> | I'm getting an error claiming that Data.Text doesn't export elem...? |
2022-01-23 23:14:06 +0100 | <c_wraith> | that's the interesting part. The IO is just a side detail |
2022-01-23 23:14:12 +0100 | <random-jellyfish> | yes, true |
2022-01-23 23:14:13 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-23 23:14:46 +0100 | <c_wraith> | titusg: any chance the import of Data.Text has an import list that doesn't include elem? |
2022-01-23 23:15:11 +0100 | <random-jellyfish> | and how to I run a pure function that calculates this: read from a signal a value n, wait n nanoseconds or any time unit ? |
2022-01-23 23:15:35 +0100 | <c_wraith> | random-jellyfish: that's where the state portion I was talking about comes in. It needs to store that information |
2022-01-23 23:15:46 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-01-23 23:16:03 +0100 | <titusg> | c_wraith: nope, whole thing is imported (qualified) |
2022-01-23 23:17:41 +0100 | <c_wraith> | titusg: next thing to check - what version of text is it using? |
2022-01-23 23:18:51 +0100 | <c_wraith> | titusg: for instance, it looks like 1.2.0.0 doesn't define the function you want: https://hackage.haskell.org/package/text-1.2.0.0/docs/doc-index-E.html |
2022-01-23 23:19:11 +0100 | <c_wraith> | titusg: My best remaining guess is that it's a version thing. |
2022-01-23 23:20:03 +0100 | <titusg> | c_wraith: hmm, how do I check that? I'm using cabal and have no version constraints on text in the cabal file |
2022-01-23 23:20:58 +0100 | <titusg> | and it's a project I just started today so it seems odd |
2022-01-23 23:21:46 +0100 | <titusg> | c_wraith: ah, so I should set the version of text that I want I guess |
2022-01-23 23:21:53 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-01-23 23:22:28 +0100 | <c_wraith> | wow, I don't actually see a way to do that other than using cabal freeze and looking at the lock file it generates |
2022-01-23 23:22:54 +0100 | <c_wraith> | ls |
2022-01-23 23:22:57 +0100 | <c_wraith> | err, sorry |
2022-01-23 23:23:32 +0100 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-01-23 23:23:45 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-23 23:24:15 +0100 | <geekosaur> | there should be a plan.json file with that information |
2022-01-23 23:24:33 +0100 | <geekosaur> | in dist-newstyle/cache |
2022-01-23 23:24:57 +0100 | <c_wraith> | yikes, that's not close to human-readable |
2022-01-23 23:24:57 +0100 | myShoggoth | (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds) |
2022-01-23 23:25:03 +0100 | <geekosaur> | you'll want something like jq to make its contents comprehensible |
2022-01-23 23:26:41 +0100 | <c_wraith> | I think it's easier to use cabal freeze and delete the freeze file afterwards. :P |
2022-01-23 23:26:45 +0100 | <titusg> | geekosaur: thx |
2022-01-23 23:26:55 +0100 | <titusg> | c_wraith: I'm using 1.2.4.1 which according to the docs does have elem |
2022-01-23 23:27:25 +0100 | <c_wraith> | I'm not seeing that.... https://hackage.haskell.org/package/text-1.2.4.1/docs/doc-index-E.html |
2022-01-23 23:27:51 +0100 | <geekosaur> | uh? elem's right at the top |
2022-01-23 23:28:04 +0100 | <c_wraith> | But not exported by Data.Text |
2022-01-23 23:28:18 +0100 | <titusg> | oh yeah |
2022-01-23 23:28:46 +0100 | <c_wraith> | I think you need 1.2.5.0 or 2.0.0.0 |
2022-01-23 23:28:57 +0100 | <geekosaur> | yeh |
2022-01-23 23:28:58 +0100 | <c_wraith> | err. I guess the latter is just 2.0 |
2022-01-23 23:30:15 +0100 | <c_wraith> | random-jellyfish: So what you really want to be doing, I think, is figuring out how to convert a DSL to a representation that looks like a Mealy machine. |
2022-01-23 23:30:43 +0100 | <c_wraith> | random-jellyfish: and you can fortunately build your DSL such that it contains enough information to do that conversion |
2022-01-23 23:31:41 +0100 | <titusg> | c_wraith geekosaur : that works, thx a lot |
2022-01-23 23:33:36 +0100 | ksqsf | (~user@2001:da8:d800:611:2d36:20e:dcdb:8588) |
2022-01-23 23:33:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-23 23:33:43 +0100 | titusg | (~user@2a00:23c6:ab8a:3c00:4d5b:fb1b:c853:9282) (Quit: ERC (IRC client for Emacs 26.3)) |
2022-01-23 23:34:08 +0100 | <c_wraith> | random-jellyfish: for reference, a Mealy machine looks like newtype Mealy in out = Mealy (in -> (out, Mealy in out)). That representation lets you implicitly use whatever state you need in the closure returned for handling the next step. |
2022-01-23 23:34:15 +0100 | tavares | (~tavares@187.19.212.26) |
2022-01-23 23:34:21 +0100 | tavares | (~tavares@187.19.212.26) (Changing host) |
2022-01-23 23:34:21 +0100 | tavares | (~tavares@user/tavares) |
2022-01-23 23:34:31 +0100 | <EvanR> | so a synchronous time simulation |
2022-01-23 23:34:41 +0100 | <c_wraith> | yes |
2022-01-23 23:36:57 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-01-23 23:37:16 +0100 | WingTillDie | (~quassel@2001-b400-e2db-1da8-4062-cd4e-8589-7aec.emome-ip6.hinet.net) |
2022-01-23 23:37:54 +0100 | ksqsf | (~user@2001:da8:d800:611:2d36:20e:dcdb:8588) (Ping timeout: 250 seconds) |
2022-01-23 23:38:06 +0100 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
2022-01-23 23:38:20 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds) |
2022-01-23 23:39:43 +0100 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 268 seconds) |
2022-01-23 23:41:40 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-23 23:41:40 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-23 23:41:40 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-23 23:44:48 +0100 | <EvanR> | Mealy is like a resumable scanl |
2022-01-23 23:45:21 +0100 | cyphase | (~cyphase@user/cyphase) |
2022-01-23 23:46:05 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-23 23:46:08 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2022-01-23 23:49:04 +0100 | zmt00 | (~zmt00@user/zmt00) (Read error: Connection reset by peer) |
2022-01-23 23:49:11 +0100 | <EvanR> | wikipedia files mealy machines and moore machines under finite-state transducers |
2022-01-23 23:49:38 +0100 | <EvanR> | I dunno how important the finite part is xD |
2022-01-23 23:50:13 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-01-23 23:50:17 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2022-01-23 23:51:29 +0100 | Guest|47 | (~Guest|47@165.91.13.111) |
2022-01-23 23:51:42 +0100 | Guest|47 | (~Guest|47@165.91.13.111) (Client Quit) |
2022-01-23 23:52:21 +0100 | <random-jellyfish> | c_wraith thanks, I'll look into that |
2022-01-23 23:52:47 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-01-23 23:57:47 +0100 | zmt00 | (~zmt00@user/zmt00) |
2022-01-23 23:58:02 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Remote host closed the connection) |