Logs on 2022-02-14 (liberachat/#haskell)
| 00:01:13 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 00:03:47 | × | deadmarshal quits (~deadmarsh@95.38.115.206) (Ping timeout: 272 seconds) |
| 00:06:01 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 256 seconds) |
| 00:06:12 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 00:06:28 | → | califax joins (~califax@user/califx) |
| 00:07:36 | → | chenqisu1 joins (~chenqisu1@183.217.200.249) |
| 00:09:30 | × | fruitfly quits (~fruitfly@host-79-121-41-174.kabelnet.hu) (Quit: Client closed) |
| 00:11:58 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 00:12:16 | → | prolic joins (~prolic@181.122.131.227) |
| 00:14:48 | → | alx741 joins (~alx741@157.100.197.240) |
| 00:17:23 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 00:17:36 | <romesrf> | I'm getting "type variable not in scope" in the last line here https://paste.tomsmeding.com/rmGDpNER |
| 00:17:36 | × | tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 00:17:55 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 00:17:55 | <romesrf> | But I have something very similar working, what am I doing wrong? :) |
| 00:18:18 | <geekosaur> | you need ScopedTypeVariables *and* to "declare" the type variable with an explicit forall |
| 00:18:54 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
| 00:18:55 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 00:20:29 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 00:20:50 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:21:12 | <romesrf> | AH! It was the ScopedTypeVariables. Nothing in the error message hints at it. In the other module where I was doing this successfully I must have had it for some other reason |
| 00:21:17 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 00:21:22 | <romesrf> | and coincidentally this worked without effort |
| 00:21:40 | <romesrf> | Where could I suggest adding that bit to the error message? :) |
| 00:22:04 | → | Topsi joins (~Tobias@dyndsl-095-033-095-012.ewe-ip-backbone.de) |
| 00:22:08 | <geekosaur> | ghc issue tracker |
| 00:22:25 | <geekosaur> | I'm surprised it didn'talso require the forall, that seems inconsistent |
| 00:24:34 | <jackdk> | geekosaur: is it possible that the type application is actually providing no information? The `h` being applied tells you what the `a` must be anyway, no? |
| 00:24:53 | <jackdk> | (romesrf: does `serve Proxy h`typecheck?) |
| 00:25:21 | <geekosaur> | no, Proxy needs a type |
| 00:25:41 | <geekosaur> | data Proxy a = Proxy |
| 00:26:12 | <geekosaur> | so either a type application or (Proxy :: Proxy type) |
| 00:26:59 | <jackdk> | yeah I know that it's phantom, but because it's used in `serve :: HasServer api '[] => Proxy api -> Server api -> Application`, and you know `h :: Server a` from pattern-matching the `ChatBot`ctor, I would expect GHC to unify the type var on `Proxy` with the one in the function's type signature |
| 00:28:14 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 00:29:06 | <geekosaur> | if it could do that, then Proxy wouldn't be necessary, would it? |
| 00:29:06 | <romesrf> | geekosaur: oh it does require the forall, but i had already tried that without success |
| 00:29:25 | <romesrf> | i readded the forall, but the key was ScopedTypedVariables |
| 00:29:29 | <romesrf> | Type* |
| 00:30:20 | <romesrf> | jackdk: it doesn't :) but looking at it high level i would expect it too |
| 00:30:35 | <romesrf> | it just isn't that easy hahaha |
| 00:34:04 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 00:34:22 | → | prolic joins (~prolic@181.122.131.227) |
| 00:35:14 | × | jgeerds_ quits (~jgeerds@55d4a547.access.ecotel.net) (Remote host closed the connection) |
| 00:36:01 | <jackdk> | right, because ServerT is a noninjective type family |
| 00:37:19 | → | alx741 joins (~alx741@157.100.197.240) |
| 00:38:57 | → | jgeerds joins (~jgeerds@55d4a547.access.ecotel.net) |
| 00:39:06 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:39:36 | → | melonai joins (~mel@rnrd.eu) |
| 00:39:58 | <jackdk> | so `Server api ~ Server a` does not imply `api ~ a`. |
| 00:40:03 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 00:42:11 | × | DNH quits (~DNH@2a02:8108:1100:16d8:a8cc:c7ff:6c11:4c2d) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:42:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 00:42:25 | <Axman6> | "users" :> GET [User] and "API" :> "users" :> GET [User] would have the same Server isntance but not the same Server arguments |
| 00:46:17 | → | gabiruh_ joins (~gabiruh@vps19177.publiccloud.com.br) |
| 00:46:20 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 252 seconds) |
| 00:46:25 | <sshine> | $ cd stack && cabal install -v |
| 00:46:34 | <sshine> | ... Failed to build stack-2.7.4 because it depends on stack-2.7.4 which itself |
| 00:46:58 | <sshine> | somehow I'm not sure how this would ever succeed. |
| 00:47:07 | <geekosaur> | that sounds wrong |
| 00:47:44 | <sshine> | oh, haha |
| 00:47:49 | <sshine> | ... which itself failed to build. |
| 00:48:00 | <geekosaur> | lib target failed? |
| 00:48:15 | <geekosaur> | the way exe vs. lib target is reported can sometimes be odd |
| 00:48:41 | <sshine> | oh, shoot. running out of memory on this darn VPS again. |
| 00:52:15 | × | Unicorn_Princess quits (~Unicorn_P@46-54-248-191.static.kate-wing.si) (Remote host closed the connection) |
| 00:53:08 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:53:14 | × | Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection) |
| 00:56:10 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 00:56:27 | → | prolic joins (~prolic@181.122.131.227) |
| 00:56:31 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 00:56:57 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 00:58:29 | → | alx741 joins (~alx741@181.199.42.143) |
| 01:02:17 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 01:02:58 | → | alx741 joins (~alx741@157.100.197.240) |
| 01:04:00 | → | yauhsien joins (~yauhsien@61-231-32-103.dynamic-ip.hinet.net) |
| 01:06:20 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 01:06:51 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 01:07:09 | × | dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 01:08:02 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 01:08:11 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:08:21 | × | yauhsien quits (~yauhsien@61-231-32-103.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 01:08:39 | × | jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 256 seconds) |
| 01:09:53 | <romesrf> | night everyone |
| 01:10:04 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4) |
| 01:11:29 | → | dolio joins (~dolio@130.44.130.54) |
| 01:16:38 | <sshine> | with 'cabal install', is it possible to add a package constraint on-the-fly to what's mentioned in a .cabal file? |
| 01:17:12 | <sshine> | for now I just modified the .cabal file and added the package constraint (aeson < 2), but I wonder if I could add it to the command-line as an argument. |
| 01:18:17 | × | joo-_ quits (~joo-_@fsf/member/joo--) (Ping timeout: 240 seconds) |
| 01:19:30 | <int-e> | sshine: cabal install --constraint="aeson < 2" should do the trick |
| 01:20:27 | → | joo-_ joins (~joo-_@87-49-147-175-mobile.dk.customer.tdc.net) |
| 01:20:27 | × | joo-_ quits (~joo-_@87-49-147-175-mobile.dk.customer.tdc.net) (Changing host) |
| 01:20:27 | → | joo-_ joins (~joo-_@fsf/member/joo--) |
| 01:20:37 | <sshine> | awesome, thx. |
| 01:20:45 | <jackdk> | sshine: cabal.project.freeze files can keep constraints around also |
| 01:21:02 | <geekosaur> | or cabal.project.local |
| 01:21:41 | × | foul_owl quits (~kerry@174-21-76-71.tukw.qwest.net) (Ping timeout: 256 seconds) |
| 01:21:44 | → | johnson- joins (~bc8147f2@cerf.good1.com) |
| 01:23:45 | <jackdk> | geekosaur: probably best, good point |
| 01:24:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 01:26:29 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 01:27:55 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 01:28:27 | × | nunggu quits (~q@user/nunggu) (Ping timeout: 276 seconds) |
| 01:28:46 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 01:30:07 | → | nunggu joins (~q@user/nunggu) |
| 01:30:56 | <sshine> | ghc: panic! (the 'impossible' happened) (GHC version 8.10.6: heap overflow |
| 01:31:50 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:31:50 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:31:50 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:31:57 | <sshine> | I'm thinking... I already added -M800m, so could it be that it heap overflowed because of this memory constraint? |
| 01:32:02 | <Axman6> | Panic at the GHC! |
| 01:34:56 | <jackdk> | is it possible to use Liquid Haskell to require a function argument be injective? I haven't played in this space before, but a colleague would like to write `reverseMap :: Ord b => (a -> b) -> [a] -> Maybe (Map b a)` without the `Maybe` |
| 01:35:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7dab:1fa0:9cf6:a5de) |
| 01:37:02 | × | ix quits (~ix@213.205.242.104) (Ping timeout: 250 seconds) |
| 01:37:26 | → | foul_owl joins (~kerry@94.140.8.89) |
| 01:38:57 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 01:39:38 | × | absentia quits (~absentia@user/absentia) (Quit: WeeChat 3.4) |
| 01:41:18 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 01:41:38 | → | prolic joins (~prolic@181.122.131.227) |
| 01:44:52 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:44:53 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:44:53 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:45:34 | → | alx741 joins (~alx741@157.100.197.240) |
| 01:47:44 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 01:48:02 | → | prolic joins (~prolic@181.122.131.227) |
| 01:50:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 01:50:28 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 01:50:54 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 01:52:22 | → | jleightcap joins (~jleightca@user/jleightcap) |
| 01:54:02 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 01:54:21 | → | prolic joins (~prolic@181.122.131.227) |
| 02:00:51 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:01:37 | × | jao quits (~jao@68.235.43.108) (Ping timeout: 240 seconds) |
| 02:01:42 | <sm> | sshine: not saying it's 8.10.6 is at fault, but I'd use 8.10.7 to rule it out |
| 02:03:06 | <sm> | and yes, you could try without/with a bigger -M. 800m doesn't sound enough to compile much |
| 02:03:16 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 02:03:16 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 02:03:16 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:04:05 | → | jao joins (~jao@static-68-235-44-10.cust.tzulo.com) |
| 02:04:06 | <geekosaur> | if I understood the earlier discussion right, they're trying to fit it into a small vps |
| 02:04:18 | <geekosaur> | may not have enough memory+swap for more heap |
| 02:06:45 | × | johnson- quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout)) |
| 02:07:25 | → | vysn joins (~vysn@user/vysn) |
| 02:08:07 | → | alx741 joins (~alx741@157.100.197.240) |
| 02:08:14 | × | xsperry quits (~xs@user/xsperry) (Remote host closed the connection) |
| 02:08:35 | → | califax- joins (~califax@user/califx) |
| 02:09:00 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-c0be-54b3-db2c-85e9.res6.spectrum.com) (Remote host closed the connection) |
| 02:09:02 | → | xsperry joins (~xs@user/xsperry) |
| 02:10:31 | × | jleightcap quits (~jleightca@user/jleightcap) (Quit: WeeChat 3.0) |
| 02:10:47 | → | jleightcap joins (~jleightca@73.61.8.75) |
| 02:12:00 | × | califax quits (~califax@user/califx) (Ping timeout: 276 seconds) |
| 02:12:00 | califax- | is now known as califax |
| 02:12:04 | <sshine> | sm, I might try with 8.10.7! and yes, geekosaur, there's a memory constraint. |
| 02:13:07 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 02:14:08 | × | prolic quits (~prolic@181.122.131.227) (Remote host closed the connection) |
| 02:14:11 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 02:22:21 | × | Topsi quits (~Tobias@dyndsl-095-033-095-012.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 02:23:13 | × | tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
| 02:26:37 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
| 02:27:26 | → | tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
| 02:28:17 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 02:28:57 | × | mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds) |
| 02:30:52 | → | ix joins (~ix@213.205.242.104) |
| 02:31:48 | → | alx741 joins (~alx741@157.100.197.240) |
| 02:34:10 | → | gentauro joins (~gentauro@user/gentauro) |
| 02:35:05 | × | Kaipi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
| 02:35:05 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 02:35:34 | → | Kaipi joins (~Kaiepi@156.34.47.253) |
| 02:42:37 | × | alp quits (~alp@user/alp) (Ping timeout: 240 seconds) |
| 02:45:20 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 02:51:29 | × | wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
| 02:53:25 | → | alx741 joins (~alx741@181.199.42.143) |
| 02:54:48 | → | mbuf joins (~Shakthi@223.178.90.64) |
| 02:55:48 | × | jleightcap quits (~jleightca@73.61.8.75) (Remote host closed the connection) |
| 02:56:02 | → | jleightcap joins (~jleightca@73.61.8.75) |
| 02:56:07 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 02:57:12 | × | xff0x quits (~xff0x@2001:1a81:5288:ea00:43ab:35e6:a5cd:7882) (Ping timeout: 250 seconds) |
| 02:57:19 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-5c4e-92cc-80de-49d9.res6.spectrum.com) |
| 02:57:30 | × | jleightcap quits (~jleightca@73.61.8.75) (Client Quit) |
| 02:57:43 | × | jespada quits (~jespada@87.74.36.188) (Ping timeout: 256 seconds) |
| 02:57:44 | → | jleightcap joins (~jleightca@73.61.8.75) |
| 02:58:55 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 02:59:01 | → | xff0x joins (~xff0x@2001:1a81:52c4:8c00:1680:ae3c:6c22:79cc) |
| 03:02:42 | → | jespada joins (~jespada@90.254.246.194) |
| 03:04:01 | × | lemonsni- quits (~lemonsnic@86.4.248.115) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:07:53 | × | rembo10 quits (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:08:57 | → | rembo10 joins (~rembo10@remulis.com) |
| 03:10:51 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-5c4e-92cc-80de-49d9.res6.spectrum.com) (Remote host closed the connection) |
| 03:10:52 | → | zebrag joins (~chris@user/zebrag) |
| 03:11:13 | → | notzmv joins (~zmv@user/notzmv) |
| 03:12:25 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 03:12:45 | → | alx741 joins (~alx741@157.100.197.240) |
| 03:15:14 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Read error: Connection reset by peer) |
| 03:16:32 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 03:17:28 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 03:18:19 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 03:23:16 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 03:25:11 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 03:25:11 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 03:25:16 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 03:26:04 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 03:26:31 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 03:28:21 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 03:28:21 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 03:31:43 | × | td_ quits (~td@94.134.91.109) (Ping timeout: 256 seconds) |
| 03:32:08 | × | cjb quits (~cjb@user/cjb) (Ping timeout: 260 seconds) |
| 03:33:11 | → | td_ joins (~td@muedsl-82-207-238-184.citykom.de) |
| 03:33:54 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 03:33:54 | → | alx741 joins (~alx741@157.100.197.240) |
| 03:33:54 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 03:33:54 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:36:33 | × | jleightcap quits (~jleightca@73.61.8.75) (Quit: WeeChat 3.0) |
| 03:36:46 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:36:46 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:36:46 | finn_elija | is now known as FinnElija |
| 03:36:48 | → | jleightcap joins (~jleightca@73.61.8.75) |
| 03:38:21 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 03:40:20 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 03:40:50 | → | hololeap joins (~hololeap@user/hololeap) |
| 03:41:15 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 03:41:30 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 03:41:54 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:42:36 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 03:43:07 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 03:52:52 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:54:15 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 03:56:20 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 03:57:04 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 03:58:05 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 03:59:52 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:00:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
| 04:01:10 | → | Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
| 04:01:17 | × | foul_owl quits (~kerry@94.140.8.89) (Ping timeout: 240 seconds) |
| 04:01:45 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
| 04:02:36 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 04:04:21 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:04:59 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 04:06:17 | → | srk_ joins (~sorki@user/srk) |
| 04:06:52 | → | srk| joins (~sorki@user/srk) |
| 04:09:17 | × | srk quits (~sorki@user/srk) (Ping timeout: 240 seconds) |
| 04:09:35 | srk| | is now known as srk |
| 04:10:25 | × | srk_ quits (~sorki@user/srk) (Ping timeout: 250 seconds) |
| 04:13:05 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:c9f2:b4e0:2bd7:fbaf) (Remote host closed the connection) |
| 04:14:47 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 04:15:47 | <ProfSimm> | If we use the state monad to pass the entire state in and out of every 'statement', don't we force execution to be strictly linear. What would the state monad look like if each function can declare which parts of a state it wants |
| 04:17:07 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Quit: Leaving) |
| 04:18:35 | → | srk_ joins (~sorki@user/srk) |
| 04:20:46 | → | foul_owl joins (~kerry@217.114.38.246) |
| 04:22:07 | × | srk quits (~sorki@user/srk) (Ping timeout: 250 seconds) |
| 04:22:07 | srk_ | is now known as srk |
| 04:22:16 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 04:22:22 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:24:35 | <mstksg> | ProfSimm: there's the lazy state monad which can sort of flout that linearity |
| 04:24:49 | mstksg | is now known as jle` |
| 04:25:26 | <jle`> | but data dependency becomes driven by evaluation + laziness, which makes it a bit magical |
| 04:25:40 | <jle`> | instead of explicitly talking about what parts you want, like what you mention |
| 04:26:15 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:26:35 | <ProfSimm> | jle`: apperance of magic is more than fine, if there's solid approach behind it |
| 04:26:52 | <ProfSimm> | jle`: how does it figure out what I want. |
| 04:27:15 | × | ix quits (~ix@213.205.242.104) (Ping timeout: 272 seconds) |
| 04:27:29 | <jle`> | the same way laziness works in let bindings, essentially |
| 04:27:33 | <ProfSimm> | jle`: it can collect what I touched in the input and maybe what I changed in the output, but to do this it needs to run first |
| 04:27:35 | <jle`> | since it's all fancy let bindings underneath |
| 04:28:27 | → | ix joins (~ix@213.205.242.108) |
| 04:28:29 | <jle`> | the typical example is something like sequencing infinite actions, which is ok as long as you don't touch the part of the state that those actions touch afterwards |
| 04:31:58 | <jle`> | hm, actually my example isn't quite right, the whole is still synced with the parts in an annoying way |
| 04:32:15 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-d449-2685-1032-d72e.res6.spectrum.com) |
| 04:32:40 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 04:34:34 | <ProfSimm> | Would you say it's correct to say in Haskell everything is a function |
| 04:34:38 | <ProfSimm> | Like values are also a function |
| 04:34:40 | <ProfSimm> | Everything is |
| 04:34:51 | → | pavonia_ joins (~user@user/siracusa) |
| 04:35:14 | <dolio> | No. |
| 04:35:18 | <ProfSimm> | Oh? |
| 04:36:45 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 272 seconds) |
| 04:36:46 | pavonia_ | is now known as pavonia |
| 04:37:49 | <dolio> | Lists, integers, .... Lots of things aren't functions. |
| 04:38:34 | <ProfSimm> | dolio: well conceptually can't they be? |
| 04:38:43 | <ProfSimm> | dolio: church ancoding and what not |
| 04:38:47 | <ProfSimm> | encoding* |
| 04:38:57 | <ski> | all functions take exactly one parameter |
| 04:39:14 | <ski> | (dunno what Church has to do with it) |
| 04:39:16 | <dolio> | They aren't, though. |
| 04:39:28 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 250 seconds) |
| 04:40:30 | → | pavonia_ joins (~user@user/siracusa) |
| 04:41:49 | → | pavonia__ joins (~user@user/siracusa) |
| 04:42:25 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:42:27 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 272 seconds) |
| 04:43:02 | <ProfSimm> | ski: well you probably know how church booleans work |
| 04:43:08 | pavonia__ | is now known as pavonia |
| 04:44:12 | <ski> | yes. but that doesn't mean values of type `Bool' are functions |
| 04:44:48 | <monochrom> | If you are looking for an oversimplification slogan, here is mine: In Haskell, everything is interesting. |
| 04:45:02 | <ProfSimm> | interesting to me means complex |
| 04:45:08 | <ProfSimm> | I want everything to be boring |
| 04:45:09 | <Inst[m]> | agleed |
| 04:45:31 | × | pavonia_ quits (~user@user/siracusa) (Ping timeout: 250 seconds) |
| 04:47:08 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:47:23 | <ProfSimm> | I use church encoding for things in my toy lang, so 5 > 6 encodes as (gt 5 6 then else) where then else is something you pass in to be returned for true and false |
| 04:47:39 | <ProfSimm> | Boolean values are a mistake |
| 04:48:11 | <monochrom> | Soon you're going to extend that to: All values are a mistake. |
| 04:48:12 | <jle`> | ProfSimm: everything is like a function but only if you distort the definition of function to the point where it's no longer useful |
| 04:48:23 | <ProfSimm> | monochrom: preach the truth |
| 04:48:25 | <jle`> | specifically in Haskell, "function" has a specific technical definition |
| 04:48:35 | <jle`> | and there are many non-function values in haskell |
| 04:48:56 | <jle`> | so if you're asking about haskell in specific, the answer is no if you're talking about haskell functions |
| 04:49:08 | <ski> | functions have a type that looks like `... -> ...'. if the type doesn't look like that, it's not a function |
| 04:49:24 | <ProfSimm> | Is there an attempt to make a Haskell dialect where evaluating a function causes it to modify itself, as a way to achieve controlled mutability |
| 04:49:41 | <ski> | modify, how ? |
| 04:50:00 | <ProfSimm> | ski: f(arg) = (f', result) |
| 04:50:08 | <ProfSimm> | ski: where f' becomes the function |
| 04:50:09 | <monochrom> | Lazy evaluation does that. |
| 04:50:30 | <ski> | maybe you'd like stream processors ? |
| 04:50:34 | <ProfSimm> | ski: so technically every time you call it the result may differ |
| 04:50:43 | <ProfSimm> | ski: how do streams work in Haskell |
| 04:50:52 | <ski> | sounds a bit impractical, to me |
| 04:51:01 | <ProfSimm> | ski: maybe |
| 04:51:04 | <jle`> | ProfSimm: how does that work for something like (f x, f y) |
| 04:51:09 | <jle`> | where evaluation order is undefined |
| 04:51:26 | <jle`> | or f x might never even be evaluated |
| 04:51:34 | <jle`> | snd (f x, f y) |
| 04:51:38 | <ProfSimm> | jle`: I guess we need the order |
| 04:51:53 | <jle`> | you mean, we need a language where evaluation order is defined? |
| 04:52:46 | <ProfSimm> | What about partial order that ensures causality order for invoking the same function, but otherwise remains arbitrary |
| 04:52:46 | <ski> | newtype SSP a b = MkSSP (a -> (b,SSP a b)) -- a synchronous stream processor produces a new one, when receiving an input and producing an output |
| 04:53:12 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 04:53:40 | <ProfSimm> | ski: so the primary distinction here is that the processor is just returned, not reassigned back |
| 04:54:01 | <jle`> | ProfSimm: how does something like snd (f x, f y) turn out? |
| 04:54:01 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 04:54:45 | <ProfSimm> | jle`: parsing the expression, seeing they have shared dependency, and evaluating them left to right. Otherwise, order remains undefined |
| 04:55:17 | <ski> | "seeing they have shared dependency" -- how does that work ? |
| 04:55:30 | <ProfSimm> | ski: referring to the same symbol |
| 04:55:39 | <jle`> | i think you def ened to have explicit sequencing for this to be usable, and code readable really |
| 04:55:52 | <ski> | what if we replace `f x' with `g x', where, in some other module, we have a definition `g = f' ? |
| 04:56:17 | <ProfSimm> | ski: we remove references for mutable state |
| 04:56:24 | <ProfSimm> | ski: it's in one place only |
| 04:56:31 | <ProfSimm> | ski: immutable refs stay |
| 04:56:38 | <ski> | (or, say `f' and `g' are run-time parameters, and some callers will pass the same function for them, while some won't) |
| 04:57:03 | → | phma_ joins (~phma@host-67-44-209-104.hnremote.net) |
| 04:57:49 | <ProfSimm> | ski: same solution |
| 04:57:50 | × | jleightcap quits (~jleightca@73.61.8.75) (Quit: WeeChat 3.0) |
| 04:58:12 | <jle`> | if we're talking about a separate language where evaluation order is explicit (like ocaml or idris) then this could make sense |
| 04:58:16 | <ProfSimm> | ski: basically we can keep all existing semantics and add mutability with move only semantics on top of it |
| 04:58:35 | <ski> | i didn't understand your first solution, in the first place |
| 04:58:38 | <jle`> | but tacking it on top of a language with non-strict semantics seems like an easy way to break expectations |
| 04:58:59 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 04:58:59 | <ProfSimm> | ski: you can't have g = f, because f can exist only in one place. It's g or it's f, not both |
| 04:59:01 | <ski> | ("we remove references for mutable state","it's in one place only","immutable refs stay" -- no idea what this means) |
| 04:59:24 | <ProfSimm> | Linear types |
| 04:59:28 | <ski> | are you saying `f' can only be called once ? |
| 04:59:37 | × | phma quits (phma@2001:5b0:215a:a4e8:1976:ce9f:8bfa:70aa) (Ping timeout: 256 seconds) |
| 04:59:49 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 04:59:51 | × | chenqisu1 quits (~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds) |
| 04:59:57 | <ProfSimm> | ski: yes, because after that you're calling f' |
| 05:00:07 | × | foul_owl quits (~kerry@217.114.38.246) (Ping timeout: 256 seconds) |
| 05:00:43 | <ProfSimm> | ski: basically we have mutabiilty where the only thing you can mutate is replace yourself |
| 05:00:51 | <ProfSimm> | Might be interesting |
| 05:00:56 | → | deadmarshal joins (~deadmarsh@95.38.115.206) |
| 05:01:06 | <ski> | so, you're saying one can't write (f x,f y) instead onemust write (f x,f' y) ? |
| 05:01:20 | <ProfSimm> | ski: we reuse the identifier, but technically it's reassigned |
| 05:01:58 | <ski> | "mutabiilty where the only thing you can mutate is replace yourself" -- still sounds like stream processors, to me .. |
| 05:02:13 | <ProfSimm> | ski: sure |
| 05:02:21 | <ProfSimm> | ski: it's how I started this. A stream |
| 05:02:34 | <dolio> | It's called lazy evaluation. :þ |
| 05:02:35 | <ProfSimm> | ski: but the stream can't overwrite itself |
| 05:02:42 | <ProfSimm> | ski: or can it |
| 05:02:54 | <jle`> | not implicitly |
| 05:02:54 | ski | has no idea what that means |
| 05:02:56 | <jle`> | explicitly |
| 05:03:35 | × | Kaipi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
| 05:03:37 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 05:04:09 | → | Kaipi joins (~Kaiepi@156.34.47.253) |
| 05:04:49 | <ski> | "we reuse the identifier, but technically it's reassigned" -- so why would `g = f' not be allowed, then ? we're just reusing the identifier, no ? |
| 05:05:12 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:05:19 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 05:05:33 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 05:05:59 | <ProfSimm> | ski: when you type "f x", if is moved into the expression, calculated, and it returns two results. f' which is assigned back to f, and the function result, which is replaced in the expression |
| 05:06:12 | <ProfSimm> | ski: so it's always move semantics, and consistent |
| 05:06:31 | <ProfSimm> | ski: when you type g = f, you are moving either f to f or f to g |
| 05:06:35 | <ProfSimm> | Can't be in both you didn't invoke it |
| 05:06:45 | <ProfSimm> | Even if you did, it'd still be in one place |
| 05:08:31 | <ski> | it still seems to me you're confusing implementation issues with language issues |
| 05:08:32 | <ProfSimm> | ski: I don't know why but I keep imagining it as some sort of Feynman diagram |
| 05:09:10 | <ProfSimm> | ski: you hit the function with an argument, it splits in two and each part is a replacement. One of the binding, the other for the expression |
| 05:09:18 | <ski> | "f' which is assigned back to f" -- do you ever write this f' in source code, in the language ? |
| 05:09:48 | <ProfSimm> | ski: no |
| 05:09:57 | → | meinside joins (uid24933@id-24933.helmsley.irccloud.com) |
| 05:09:59 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:10:12 | <ProfSimm> | ski: I'm just trying to say f reproduced itself as a modified version of itself f' |
| 05:10:20 | <ProfSimm> | which becomes f |
| 05:10:48 | <ProfSimm> | ski: pure functions (classic Haskell) would reproduce themselves unmodified, so they emulate usual semantics |
| 05:11:27 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 05:11:48 | <ProfSimm> | ski: we can actually define it like so. No arguments calls the function. If it's a pure function it returns a copy of itself, so g = f works as expected. |
| 05:12:06 | <ProfSimm> | ski: if it's not a pure function, it throws. You need to use a move operator. |
| 05:13:00 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 05:13:11 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 05:15:14 | → | foul_owl joins (~kerry@207.244.125.36) |
| 05:16:24 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 05:17:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:20:27 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 05:20:43 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 05:21:43 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 05:22:59 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 05:23:18 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 05:24:29 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 05:25:31 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 05:26:07 | → | jleightcap joins (7bc4014b62@user/jleightcap) |
| 05:26:20 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:26:26 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 05:27:16 | × | modnar quits (~modnar@shell.sonic.net) (Quit: No Ping reply in 180 seconds.) |
| 05:29:36 | → | modnar joins (~modnar@shell.sonic.net) |
| 05:29:36 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 05:29:59 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:30:42 | → | rusrushal13 joins (~rusrushal@103.85.18.34) |
| 05:33:10 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 05:35:24 | × | modnar quits (~modnar@shell.sonic.net) (Quit: No Ping reply in 180 seconds.) |
| 05:35:54 | → | jleightcap1 joins (~jleightca@73.61.8.75) |
| 05:37:31 | → | modnar joins (~modnar@shell.sonic.net) |
| 05:37:37 | phma_ | is now known as phma |
| 05:40:21 | × | jao quits (~jao@static-68-235-44-10.cust.tzulo.com) (Ping timeout: 256 seconds) |
| 05:46:21 | → | alx741 joins (~alx741@181.199.42.143) |
| 05:51:46 | × | Boarders_ quits (sid425905@id-425905.lymington.irccloud.com) (*.net *.split) |
| 05:51:46 | × | JSharp quits (sid4580@id-4580.lymington.irccloud.com) (*.net *.split) |
| 05:51:46 | × | saolsen quits (sid26430@id-26430.lymington.irccloud.com) (*.net *.split) |
| 05:51:46 | × | tapas quits (sid467876@id-467876.ilkley.irccloud.com) (*.net *.split) |
| 05:51:46 | × | cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (*.net *.split) |
| 05:51:46 | × | enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) (*.net *.split) |
| 05:51:46 | × | bjs quits (sid190364@user/bjs) (*.net *.split) |
| 05:51:46 | × | sclv quits (sid39734@haskell/developer/sclv) (*.net *.split) |
| 05:51:46 | × | mrianbloom quits (sid350277@id-350277.ilkley.irccloud.com) (*.net *.split) |
| 05:51:46 | × | dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (*.net *.split) |
| 05:51:46 | × | acertain quits (sid470584@id-470584.hampstead.irccloud.com) (*.net *.split) |
| 05:51:46 | × | gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (*.net *.split) |
| 05:51:46 | × | chessai quits (sid225296@id-225296.lymington.irccloud.com) (*.net *.split) |
| 05:51:46 | × | hongminhee quits (sid295@id-295.tinside.irccloud.com) (*.net *.split) |
| 05:51:46 | × | glguy quits (x@libera/staff/glguy) (*.net *.split) |
| 05:51:46 | × | tubogram4 quits (~tubogram@user/tubogram) (*.net *.split) |
| 05:51:46 | × | Axman6 quits (~Axman6@user/axman6) (*.net *.split) |
| 05:51:46 | × | jleightcap1 quits (~jleightca@73.61.8.75) (*.net *.split) |
| 05:51:46 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (*.net *.split) |
| 05:51:46 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (*.net *.split) |
| 05:51:46 | × | td_ quits (~td@muedsl-82-207-238-184.citykom.de) (*.net *.split) |
| 05:51:46 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (*.net *.split) |
| 05:51:46 | × | dolio quits (~dolio@130.44.130.54) (*.net *.split) |
| 05:51:46 | × | gabiruh_ quits (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split) |
| 05:51:46 | × | juhp quits (~juhp@128.106.188.82) (*.net *.split) |
| 05:51:46 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (*.net *.split) |
| 05:51:46 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (*.net *.split) |
| 05:51:46 | × | Sgeo quits (~Sgeo@user/sgeo) (*.net *.split) |
| 05:51:46 | × | cross quits (~cross@spitfire.i.gajendra.net) (*.net *.split) |
| 05:51:46 | × | zaquest quits (~notzaques@5.130.79.72) (*.net *.split) |
| 05:51:46 | × | qwedfg quits (~qwedfg@user/qwedfg) (*.net *.split) |
| 05:51:46 | × | hueso quits (~root@user/hueso) (*.net *.split) |
| 05:51:46 | × | dcoutts quits (~duncan@host109-149-1-225.range109-149.btcentralplus.com) (*.net *.split) |
| 05:51:46 | × | anderson quits (~ande@user/anderson) (*.net *.split) |
| 05:51:46 | × | ubert quits (~Thunderbi@p548c8cd6.dip0.t-ipconnect.de) (*.net *.split) |
| 05:51:46 | × | wolfshappen quits (~waff@irc.furworks.de) (*.net *.split) |
| 05:51:46 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (*.net *.split) |
| 05:51:46 | × | shriekingnoise quits (~shrieking@201.231.16.156) (*.net *.split) |
| 05:51:46 | × | marquis_andras quits (~marquis_a@124.170.163.166) (*.net *.split) |
| 05:51:46 | × | MasseR4 quits (~MasseR@51.15.143.128) (*.net *.split) |
| 05:51:47 | × | stilgart quits (~Christoph@chezlefab.net) (*.net *.split) |
| 05:51:47 | × | superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split) |
| 05:51:47 | × | aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split) |
| 05:51:47 | × | ishutin quits (~ishutin@193-110-63-21.cable-modem.hdsnet.hu) (*.net *.split) |
| 05:51:47 | × | Philonous quits (~Philonous@user/philonous) (*.net *.split) |
| 05:51:47 | × | shachaf quits (~shachaf@user/shachaf) (*.net *.split) |
| 05:51:47 | × | maerwald quits (~maerwald@user/maerwald) (*.net *.split) |
| 05:51:47 | × | red-snail quits (~snail@static.151.210.203.116.clients.your-server.de) (*.net *.split) |
| 05:51:47 | × | aria quits (sid380617@lymington.irccloud.com) (*.net *.split) |
| 05:51:47 | × | ncopa quits (~ncopa@alpine/developer/ncopa) (*.net *.split) |
| 05:51:47 | × | russruss quits (~russruss@my.russellmcc.com) (*.net *.split) |
| 05:51:47 | × | robertm quits (~robertm@lattice.rojoma.com) (*.net *.split) |
| 05:51:47 | × | swistak quits (~swistak@185.21.216.141) (*.net *.split) |
| 05:51:47 | × | wz1000 quits (~zubin@static.11.113.47.78.clients.your-server.de) (*.net *.split) |
| 05:51:47 | × | stvc quits (~stvc@192.241.166.39) (*.net *.split) |
| 05:51:47 | × | cls quits (~cls@chalk.lubutu.com) (*.net *.split) |
| 05:51:47 | × | kmein quits (~weechat@user/kmein) (*.net *.split) |
| 05:51:47 | × | c_wraith quits (~c_wraith@adjoint.us) (*.net *.split) |
| 05:51:47 | × | statusfailed quits (~statusfai@statusfailed.com) (*.net *.split) |
| 05:51:47 | × | canta quits (~canta@user/canta) (*.net *.split) |
| 05:51:47 | × | dminuoso quits (~dminuoso@user/dminuoso) (*.net *.split) |
| 05:51:47 | × | juri_ quits (~juri@178.63.35.222) (*.net *.split) |
| 05:51:47 | × | tolt quits (~weechat-h@li219-154.members.linode.com) (*.net *.split) |
| 05:51:47 | × | mmaruseacph2 quits (~mihai@198.199.100.72) (*.net *.split) |
| 05:51:47 | × | meejah quits (~meejah@rutas.meejah.ca) (*.net *.split) |
| 05:51:47 | × | andjjj23_ quits (~irc@107.170.228.47) (*.net *.split) |
| 05:51:47 | × | neverwas quits (jpneverwas@swissbox.unperson.link) (*.net *.split) |
| 05:51:47 | × | n3t quits (n3t@user/n3t) (*.net *.split) |
| 05:51:47 | × | loonycyborg quits (~loonycybo@wesnoth/developer/loonycyborg) (*.net *.split) |
| 05:51:47 | × | carter quits (sid14827@helmsley.irccloud.com) (*.net *.split) |
| 05:51:47 | × | TMA quits (~tma@twin.jikos.cz) (*.net *.split) |
| 05:51:47 | × | hubvu_ quits (sid495858@tinside.irccloud.com) (*.net *.split) |
| 05:51:47 | × | jtmar quits (~james@jtmar.me) (*.net *.split) |
| 05:51:47 | × | kawpuh quits (~kawpuh@66.42.81.80) (*.net *.split) |
| 05:51:59 | → | gaze___ joins (sid387101@id-387101.helmsley.irccloud.com) |
| 05:52:02 | → | enemeth79 joins (sid309041@id-309041.lymington.irccloud.com) |
| 05:52:06 | → | saolsen joins (sid26430@id-26430.lymington.irccloud.com) |
| 05:52:11 | → | Boarders_ joins (sid425905@id-425905.lymington.irccloud.com) |
| 05:52:12 | → | cbarrett joins (sid192934@2a03:5180:f:1::2:f1a6) |
| 05:52:19 | → | chessai joins (sid225296@id-225296.lymington.irccloud.com) |
| 05:52:22 | → | hongminhee joins (sid295@2a03:5180:f::127) |
| 05:52:22 | → | bjs joins (sid190364@user/bjs) |
| 05:52:25 | → | jleightcap1 joins (~jleightca@73.61.8.75) |
| 05:52:25 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 05:52:25 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 05:52:25 | → | td_ joins (~td@muedsl-82-207-238-184.citykom.de) |
| 05:52:25 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 05:52:25 | → | dolio joins (~dolio@130.44.130.54) |
| 05:52:25 | → | gabiruh_ joins (~gabiruh@vps19177.publiccloud.com.br) |
| 05:52:25 | → | juhp joins (~juhp@128.106.188.82) |
| 05:52:25 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 05:52:25 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 05:52:25 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 05:52:25 | → | cross joins (~cross@spitfire.i.gajendra.net) |
| 05:52:25 | → | zaquest joins (~notzaques@5.130.79.72) |
| 05:52:25 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 05:52:25 | → | hueso joins (~root@user/hueso) |
| 05:52:25 | → | dcoutts joins (~duncan@host109-149-1-225.range109-149.btcentralplus.com) |
| 05:52:25 | → | anderson joins (~ande@user/anderson) |
| 05:52:25 | → | ubert joins (~Thunderbi@p548c8cd6.dip0.t-ipconnect.de) |
| 05:52:25 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 05:52:25 | → | Axman6 joins (~Axman6@user/axman6) |
| 05:52:25 | → | tubogram4 joins (~tubogram@user/tubogram) |
| 05:52:25 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 05:52:25 | → | shriekingnoise joins (~shrieking@201.231.16.156) |
| 05:52:25 | → | marquis_andras joins (~marquis_a@124.170.163.166) |
| 05:52:25 | → | MasseR4 joins (~MasseR@51.15.143.128) |
| 05:52:25 | → | stilgart joins (~Christoph@chezlefab.net) |
| 05:52:25 | → | superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 05:52:25 | → | kawpuh joins (~kawpuh@66.42.81.80) |
| 05:52:25 | → | jtmar joins (~james@jtmar.me) |
| 05:52:25 | → | hubvu_ joins (sid495858@tinside.irccloud.com) |
| 05:52:25 | → | TMA joins (~tma@twin.jikos.cz) |
| 05:52:25 | → | carter joins (sid14827@helmsley.irccloud.com) |
| 05:52:25 | → | loonycyborg joins (~loonycybo@wesnoth/developer/loonycyborg) |
| 05:52:25 | → | n3t joins (n3t@user/n3t) |
| 05:52:25 | → | neverwas joins (jpneverwas@swissbox.unperson.link) |
| 05:52:25 | → | andjjj23_ joins (~irc@107.170.228.47) |
| 05:52:25 | → | meejah joins (~meejah@rutas.meejah.ca) |
| 05:52:25 | → | mmaruseacph2 joins (~mihai@198.199.100.72) |
| 05:52:25 | → | tolt joins (~weechat-h@li219-154.members.linode.com) |
| 05:52:25 | → | juri_ joins (~juri@178.63.35.222) |
| 05:52:25 | → | dminuoso joins (~dminuoso@user/dminuoso) |
| 05:52:25 | → | canta joins (~canta@user/canta) |
| 05:52:25 | → | statusfailed joins (~statusfai@statusfailed.com) |
| 05:52:25 | → | c_wraith joins (~c_wraith@adjoint.us) |
| 05:52:25 | → | kmein joins (~weechat@user/kmein) |
| 05:52:25 | → | cls joins (~cls@chalk.lubutu.com) |
| 05:52:25 | calcium.libera.chat | sets mode +o Axman6 |
| 05:52:25 | → | stvc joins (~stvc@192.241.166.39) |
| 05:52:25 | → | wz1000 joins (~zubin@static.11.113.47.78.clients.your-server.de) |
| 05:52:25 | → | swistak joins (~swistak@185.21.216.141) |
| 05:52:25 | → | robertm joins (~robertm@lattice.rojoma.com) |
| 05:52:25 | → | russruss joins (~russruss@my.russellmcc.com) |
| 05:52:25 | → | ncopa joins (~ncopa@alpine/developer/ncopa) |
| 05:52:25 | → | aria joins (sid380617@lymington.irccloud.com) |
| 05:52:25 | → | red-snail joins (~snail@static.151.210.203.116.clients.your-server.de) |
| 05:52:25 | → | maerwald joins (~maerwald@user/maerwald) |
| 05:52:25 | → | shachaf joins (~shachaf@user/shachaf) |
| 05:52:25 | → | Philonous joins (~Philonous@user/philonous) |
| 05:52:25 | → | ishutin joins (~ishutin@193-110-63-21.cable-modem.hdsnet.hu) |
| 05:52:25 | → | aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de) |
| 05:52:25 | → | glguy joins (x@libera/staff/glguy) |
| 05:52:34 | → | dmj` joins (sid72307@id-72307.hampstead.irccloud.com) |
| 05:52:39 | → | tapas joins (sid467876@id-467876.ilkley.irccloud.com) |
| 05:52:41 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 05:52:49 | → | acertain joins (sid470584@2a03:5180:f:4::7:2e38) |
| 05:52:52 | → | mrianbloom joins (sid350277@2a03:5180:f:3::5:5845) |
| 05:53:06 | → | JSharp joins (sid4580@2a03:5180:f:2::11e4) |
| 05:55:03 | × | kaol quits (~kaol@94-237-42-30.nl-ams1.upcloud.host) (*.net *.split) |
| 05:55:03 | × | adium quits (adium@user/adium) (*.net *.split) |
| 05:55:03 | × | nckx quits (~nckx@tobias.gr) (*.net *.split) |
| 05:55:03 | × | edwtjo quits (~edwtjo@user/edwtjo) (*.net *.split) |
| 05:55:03 | × | Aleksejs quits (~Aleksejs@haskell.lv) (*.net *.split) |
| 05:55:11 | → | kaol joins (~kaol@94-237-42-30.nl-ams1.upcloud.host) |
| 05:55:19 | → | edwtjo joins (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) |
| 05:55:19 | × | edwtjo quits (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host) |
| 05:55:19 | → | edwtjo joins (~edwtjo@user/edwtjo) |
| 05:55:38 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 05:56:46 | → | nckx joins (~nckx@tobias.gr) |
| 05:57:00 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 05:57:19 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 05:57:29 | → | adium joins (adium@user/adium) |
| 05:58:19 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 05:58:32 | <ProfSimm> | https://www.youtube.com/watch?v=5mxKEYzBAVk |
| 05:58:43 | <ProfSimm> | "Linear Haskell: Practical Linearity in a Higher-Order Polymorphic Language (Haskell eXchange 2018)" |
| 05:58:51 | <ProfSimm> | This is a bit like what I'm thinking about |
| 05:58:58 | × | hololeap quits (~hololeap@user/hololeap) (*.net *.split) |
| 05:58:58 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (*.net *.split) |
| 05:58:58 | × | califax quits (~califax@user/califx) (*.net *.split) |
| 05:58:58 | × | nunggu quits (~q@user/nunggu) (*.net *.split) |
| 05:58:58 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (*.net *.split) |
| 05:58:58 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (*.net *.split) |
| 05:58:58 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (*.net *.split) |
| 05:58:58 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (*.net *.split) |
| 05:58:58 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (*.net *.split) |
| 05:58:58 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (*.net *.split) |
| 05:58:58 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (*.net *.split) |
| 05:58:58 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (*.net *.split) |
| 05:58:58 | × | tiferrei2000 quits (~tiferrei@user/tiferrei) (*.net *.split) |
| 05:58:58 | × | LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (*.net *.split) |
| 05:58:58 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (*.net *.split) |
| 05:58:58 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (*.net *.split) |
| 05:58:59 | → | kanin joins (~kanin@112.41.64.39) |
| 05:59:41 | <ProfSimm> | ski: thoughts? ^ |
| 06:00:19 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 06:00:19 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 06:00:19 | → | califax joins (~califax@user/califx) |
| 06:00:20 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 06:00:24 | → | LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 06:00:26 | → | hololeap joins (~hololeap@user/hololeap) |
| 06:00:26 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 06:00:30 | → | tiferrei joins (~tiferrei@user/tiferrei) |
| 06:00:30 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 06:00:33 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 06:00:40 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 06:00:40 | → | nunggu joins (~q@user/nunggu) |
| 06:01:02 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:01:17 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 06:03:57 | × | deadmarshal quits (~deadmarsh@95.38.115.206) (Ping timeout: 250 seconds) |
| 06:04:16 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 06:04:18 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 06:05:15 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 06:05:27 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 06:09:14 | × | rusrushal13 quits (~rusrushal@103.85.18.34) (Quit: Client closed) |
| 06:12:44 | → | alx741 joins (~alx741@157.100.197.240) |
| 06:13:28 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 06:13:28 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 06:14:51 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 06:17:22 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 06:19:15 | × | jleightcap1 quits (~jleightca@73.61.8.75) (Quit: WeeChat 3.0) |
| 06:19:28 | → | jleightcap1 joins (~jleightca@73.61.8.75) |
| 06:21:10 | × | jleightcap1 quits (~jleightca@73.61.8.75) (Client Quit) |
| 06:21:24 | → | jleightcap1 joins (~jleightca@73.61.8.75) |
| 06:22:52 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 06:23:07 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 06:24:43 | × | jleightcap1 quits (~jleightca@73.61.8.75) (Client Quit) |
| 06:24:58 | → | jleightcap1 joins (~jleightca@73.61.8.75) |
| 06:25:27 | × | jleightcap1 quits (~jleightca@73.61.8.75) (Client Quit) |
| 06:30:09 | → | k8yun joins (~k8yun@user/k8yun) |
| 06:32:15 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:32:32 | <ProfSimm> | https://www.youtube.com/watch?v=WZ_0FSGeq2s |
| 06:32:41 | <ProfSimm> | "Haskell 2021 - Why Functional Programming with Linear Types Matters" |
| 06:32:51 | <ProfSimm> | "Pizza delivery is not pizza duplication" |
| 06:33:03 | × | kanin quits (~kanin@112.41.64.39) (Ping timeout: 256 seconds) |
| 06:33:40 | → | shapr` joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 06:33:40 | → | alx741 joins (~alx741@157.100.197.240) |
| 06:35:17 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 06:38:14 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 06:40:53 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 06:41:49 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 06:42:19 | → | deadmarshal joins (~deadmarsh@95.38.115.206) |
| 06:44:10 | → | fef joins (~thedawn@user/thedawn) |
| 06:54:10 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 06:56:26 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 06:56:57 | × | mrkajetanp quits (~mrkajetan@88.98.245.28) (Ping timeout: 240 seconds) |
| 06:57:08 | → | alx741 joins (~alx741@181.199.42.143) |
| 06:57:30 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 07:00:21 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 07:03:03 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 07:03:27 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 07:04:47 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 07:06:40 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 07:09:10 | × | shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit) |
| 07:09:29 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:09:38 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:11:10 | × | cynomys quits (~cynomys@user/cynomys) (Quit: leaving) |
| 07:11:29 | → | cynomys joins (~cynomys@user/cynomys) |
| 07:13:54 | → | michalz joins (~michalz@185.246.204.89) |
| 07:15:02 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 07:15:14 | → | Nahra joins (~user@static.161.95.99.88.clients.your-server.de) |
| 07:17:22 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:18:44 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 07:18:59 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 07:19:36 | × | shapr` quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 07:19:44 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 07:25:31 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 07:27:14 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:29:44 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:29:56 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:31:47 | → | kanin joins (~kanin@112.41.64.39) |
| 07:31:47 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:32:39 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:32:44 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 07:34:59 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 07:34:59 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 07:34:59 | → | wroathe joins (~wroathe@user/wroathe) |
| 07:38:34 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 07:39:32 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:9c11:561e:c86d:bf05) |
| 07:40:25 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 07:42:19 | → | max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 07:44:55 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:46:33 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 07:48:40 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 07:49:57 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 07:50:33 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:51:30 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:51:46 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:52:06 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:52:36 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 07:53:53 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 07:56:15 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:57:46 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
| 07:57:59 | → | kuribas joins (~user@ptr-25vy0i9o6zfp0yko61a.18120a2.ip6.access.telenet.be) |
| 07:58:50 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 07:59:01 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:59:50 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 08:02:12 | × | deadmarshal quits (~deadmarsh@95.38.115.206) (Ping timeout: 240 seconds) |
| 08:03:28 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 08:04:45 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 08:07:38 | → | coot joins (~coot@213.134.190.95) |
| 08:08:21 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:09:19 | <dminuoso> | Is there a formal or well-accepted name for a function with multiple definitions? |
| 08:09:30 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:09:34 | <dminuoso> | i.e. `f <pat_1> = ...; f <pat_2> = ...` |
| 08:09:53 | <dminuoso> | Perhaps even from mathematics? |
| 08:10:24 | <Franciman> | «function defined by cases» |
| 08:10:36 | <Franciman> | (?) |
| 08:12:47 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:13:12 | <kuribas> | dminuoso: multivalued function? |
| 08:13:29 | <Franciman> | one usually defines a multivalued function from X to Y |
| 08:13:33 | <Franciman> | as a function from X to the powerset of Y |
| 08:13:51 | <Franciman> | for some definition of «usually» lol |
| 08:14:00 | → | briandaed joins (~root@109.95.142.92.r.toneticgroup.pl) |
| 08:14:11 | <kuribas> | if it's not multivalued it's just a function. |
| 08:14:32 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:14:49 | <kuribas> | multiple cases is not multiple definitions. |
| 08:15:03 | <kuribas> | it's one definition with multiple cases. |
| 08:15:17 | <Franciman> | multiple values is not multiple definitions either |
| 08:15:20 | → | max22- joins (~maxime@2a01cb08833598004c8de2e630f51a33.ipv6.abo.wanadoo.fr) |
| 08:15:31 | <Franciman> | so not sure |
| 08:15:45 | <kuribas> | true |
| 08:15:51 | → | rusrushal13 joins (~rusrushal@103.85.18.34) |
| 08:15:58 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 08:15:59 | <Franciman> | i tought `f <pat_1> = ...; f <pat_2> = ...` qualified as a single definition with multiple cases |
| 08:16:12 | → | vysn joins (~vysn@user/vysn) |
| 08:16:43 | <Franciman> | ah another possibility is an overloaded function |
| 08:16:55 | <Franciman> | if you have different definitions, for example like for (<>) in Data.Semigroup |
| 08:17:16 | <dminuoso> | Mmm |
| 08:17:52 | → | deadmarshal joins (~deadmarsh@95.38.115.206) |
| 08:17:52 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:18:03 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:18:09 | <[exa]> | dminuoso: in THIH these are called alternatives |
| 08:18:51 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 08:21:08 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 08:21:09 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:21:36 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 08:22:07 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:25:48 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 08:26:30 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Read error: Connection reset by peer) |
| 08:27:02 | × | litharge quits (litharge@libera/bot/litharge) (Quit: upgrade) |
| 08:28:33 | → | litharge joins (litharge@libera/bot/litharge) |
| 08:29:29 | → | chele joins (~chele@user/chele) |
| 08:30:10 | → | cosimone joins (~user@93-44-187-99.ip98.fastwebnet.it) |
| 08:30:41 | → | alx741 joins (~alx741@181.199.42.143) |
| 08:32:39 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:34:23 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 08:40:13 | → | alp joins (~alp@user/alp) |
| 08:41:37 | × | cosimone quits (~user@93-44-187-99.ip98.fastwebnet.it) (Remote host closed the connection) |
| 08:42:26 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 08:43:25 | → | acidjnk joins (~acidjnk@p200300d0c705758148c438f13433725d.dip0.t-ipconnect.de) |
| 08:44:02 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 08:44:40 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
| 08:45:38 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 08:46:48 | → | fendor joins (~fendor@91.141.33.218.wireless.dyn.drei.com) |
| 08:48:29 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 08:48:58 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 08:51:08 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:54:58 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:55:03 | → | mastarija joins (~mastarija@2a05:4f46:e04:6000:7887:96ce:d1f2:e42d) |
| 08:56:21 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 08:56:23 | <lortabac> | dminuoso: I would call it a function with multiple equations |
| 08:57:10 | <dminuoso> | lortabac: Ah I like that. |
| 08:57:16 | <lortabac> | but it's just syntactic sugar for (potentially nested) case expressions, so whatever formal definitions you are looking for, maybe you should find it for case expressions |
| 09:00:06 | × | jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Quit: You have been kicked for being idle) |
| 09:00:08 | × | Nate[m] quits (~m52957mat@2001:470:69fc:105::1:591a) (Quit: You have been kicked for being idle) |
| 09:00:08 | × | jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Quit: You have been kicked for being idle) |
| 09:01:00 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 09:06:44 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7dab:1fa0:9cf6:a5de) (Remote host closed the connection) |
| 09:12:31 | → | alx741 joins (~alx741@181.199.42.143) |
| 09:13:27 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 252 seconds) |
| 09:13:44 | <ProfSimm> | Is there a short way to have an expression with a where clause inline for a lamdba |
| 09:13:54 | <ProfSimm> | (expr where definitions) |
| 09:14:13 | <lortabac> | ProfSimm: a let expression? |
| 09:15:02 | <ProfSimm> | lortabac: why let? I want where |
| 09:15:35 | <lortabac> | you can't have a where in a lambda, but you can have a let |
| 09:15:44 | <lortabac> | (unless I misunderstood your question) |
| 09:15:54 | <ProfSimm> | You understood it. thanks |
| 09:16:01 | <ProfSimm> | Is there a reason for this limitatin |
| 09:16:07 | <ProfSimm> | ion* |
| 09:16:50 | <lortabac> | I don't know, maybe the syntax would be too complicated/ambiguous |
| 09:17:00 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 09:18:55 | × | ix quits (~ix@213.205.242.108) (Read error: Connection reset by peer) |
| 09:19:14 | → | razetime joins (~quassel@49.207.198.36) |
| 09:19:40 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:21:09 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
| 09:22:25 | <dminuoso> | Well if you insist on a where clause, you can use `case () of _ -> ...; where <declaration-group>` |
| 09:22:32 | <dminuoso> | i.e |
| 09:22:58 | <dminuoso> | `\x -> case () of _ -> <expr>\n where <declaration-group>` |
| 09:23:03 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 09:23:18 | <dminuoso> | A bit more idiomatic might using a named helper function (say `go`), then you have your where decl group |
| 09:23:43 | <dminuoso> | i.e.`f x y = foldr go x y where go = ...; blah = ...;` |
| 09:23:54 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 09:28:36 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 09:28:47 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 09:29:07 | → | nunggu_ joins (~q@user/nunggu) |
| 09:29:39 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 09:30:01 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 09:30:16 | × | nunggu quits (~q@user/nunggu) (Ping timeout: 240 seconds) |
| 09:30:44 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 09:31:36 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:32:35 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 09:33:55 | → | alx741 joins (~alx741@181.199.42.143) |
| 09:34:18 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:34:36 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 09:34:38 | <phma> | I'm trying to use tasty. I added a line "import Test.Tasty.HUnit", and similarly for QuickCheck and SmallCheck, as in the example, but got "Could not find module" errors for all of them. |
| 09:37:04 | → | __monty__ joins (~toonn@user/toonn) |
| 09:37:09 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7dab:1fa0:9cf6:a5de) |
| 09:37:45 | → | mrkajetanp joins (~mrkajetan@88.98.245.28) |
| 09:38:14 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 09:41:24 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7dab:1fa0:9cf6:a5de) (Ping timeout: 240 seconds) |
| 09:42:31 | <[exa]> | phma: what command is generating the "Could not find module" error? I assume you're building with cabal right? |
| 09:42:55 | <phma> | stack test |
| 09:43:17 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 09:43:20 | <[exa]> | do you have tasty listed in dependencies? |
| 09:43:48 | <phma> | build-depends: base, tasty |
| 09:44:17 | <phma> | that's under "test-suite test" |
| 09:45:08 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 09:45:27 | <[exa]> | ah yes, the HUnit compatibility requires `tasty-hunit-compat` package |
| 09:45:39 | <[exa]> | you may check eg here: https://hoogle.haskell.org/?hoogle=Test.Tasty.HUnit |
| 09:46:41 | → | olle joins (~olle@i5E866D85.versanet.de) |
| 09:47:07 | <[exa]> | (or maybe just tasty-hunit, I didnt really use it) |
| 09:47:07 | × | bliminse quits (~bliminse@host86-158-241-239.range86-158.btcentralplus.com) (Quit: leaving) |
| 09:47:43 | <phma> | do I put that in build-depends or in an import statement? |
| 09:48:07 | <[exa]> | in the test build depends |
| 09:49:55 | <phma> | I still get the errors on SmallCheck and QuickCheck |
| 09:51:47 | <phma> | added tasty-quickcheck to depends, compiling... |
| 09:52:13 | <[exa]> | might need additional depends, yes. Using hoogle is likely the simplest way to see the package names you need to enable the required modules |
| 09:52:25 | → | bliminse joins (~bliminse@host86-158-241-239.range86-158.btcentralplus.com) |
| 09:55:18 | → | alx741 joins (~alx741@181.199.42.143) |
| 09:56:23 | → | ix joins (~ix@2a02:8010:674f:0:a71f:d8ff:17eb:65ba) |
| 09:58:06 | <phma> | I got an error in test.hs. Now to delete the sample tests and add my own. |
| 09:58:52 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 10:00:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 10:04:16 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 10:05:42 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 10:09:15 | → | jgeerds joins (~jgeerds@55d4a547.access.ecotel.net) |
| 10:10:12 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 10:13:02 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 272 seconds) |
| 10:13:32 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 10:13:38 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:15:32 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:15:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 10:15:50 | → | DNH joins (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) |
| 10:17:48 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Ping timeout: 252 seconds) |
| 10:19:39 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 10:19:39 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:22:12 | → | MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) |
| 10:27:00 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:4084:84c5:95c2:a194) |
| 10:27:16 | → | cstml joins (~cstml@user/cstml) |
| 10:27:59 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 10:28:43 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:29:21 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
| 10:31:08 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 10:37:51 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:40:55 | × | pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 272 seconds) |
| 10:41:12 | → | pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee) |
| 10:41:37 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:41:41 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 10:44:00 | × | DNH quits (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 10:45:06 | → | mmhat joins (~mmh@55d4de53.access.ecotel.net) |
| 10:47:36 | × | razetime quits (~quassel@49.207.198.36) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 10:51:52 | × | cstml quits (~cstml@user/cstml) (Quit: Connection closed) |
| 10:59:13 | → | alx741 joins (~alx741@181.199.42.143) |
| 11:00:24 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:00:36 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:4084:84c5:95c2:a194) (Ping timeout: 240 seconds) |
| 11:01:52 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 11:01:56 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 11:02:21 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 11:02:24 | → | fef joins (~thedawn@user/thedawn) |
| 11:02:41 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 11:07:15 | → | Lycurgus joins (~juan@98.4.112.204) |
| 11:11:53 | × | mastarija quits (~mastarija@2a05:4f46:e04:6000:7887:96ce:d1f2:e42d) (Quit: Leaving) |
| 11:13:32 | × | rusrushal13 quits (~rusrushal@103.85.18.34) (Quit: Client closed) |
| 11:19:29 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:22:42 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 11:23:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:23:55 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:4084:84c5:95c2:a194) |
| 11:24:58 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 11:38:19 | × | forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in) |
| 11:39:06 | → | forell joins (~forell@user/forell) |
| 11:39:44 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:44:13 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:44:42 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 11:45:01 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 11:48:41 | × | deadmarshal quits (~deadmarsh@95.38.115.206) (Ping timeout: 272 seconds) |
| 11:52:27 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 11:52:29 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 11:52:47 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 11:53:50 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 11:55:50 | → | vysn joins (~vysn@user/vysn) |
| 11:58:20 | → | Pickchea joins (~private@user/pickchea) |
| 11:59:00 | × | alp quits (~alp@user/alp) (Ping timeout: 252 seconds) |
| 12:00:28 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 12:01:38 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:02:02 | → | alx741 joins (~alx741@157.100.197.240) |
| 12:02:14 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 12:03:57 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 12:04:34 | → | alp joins (~alp@user/alp) |
| 12:04:46 | → | DNH joins (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) |
| 12:04:55 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 12:06:13 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 12:08:09 | → | kayprish joins (~kayprish@cable-24-135-254-227.dynamic.sbb.rs) |
| 12:10:55 | → | gurkenglas joins (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) |
| 12:14:24 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 12:16:24 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 12:19:42 | × | jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 272 seconds) |
| 12:24:35 | → | alx741 joins (~alx741@181.199.42.143) |
| 12:24:44 | × | gurkenglas quits (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) (Quit: leaving) |
| 12:25:57 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 12:26:24 | × | Lycurgus quits (~juan@98.4.112.204) (Quit: Exeunt) |
| 12:26:51 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 12:33:01 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 12:34:12 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 12:34:28 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 12:37:36 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
| 12:41:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:42:27 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 252 seconds) |
| 12:50:36 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 12:50:44 | → | alx741 joins (~alx741@157.100.197.240) |
| 12:50:49 | → | fef joins (~thedawn@user/thedawn) |
| 12:51:18 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 12:53:07 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 12:54:06 | → | ardell joins (~ardell@user/ardell) |
| 13:01:21 | → | neurocyte0917090 joins (~neurocyte@IP-213188126186.dynamic.medianet-world.de) |
| 13:01:21 | × | neurocyte0917090 quits (~neurocyte@IP-213188126186.dynamic.medianet-world.de) (Changing host) |
| 13:01:21 | → | neurocyte0917090 joins (~neurocyte@user/neurocyte) |
| 13:03:21 | × | kayprish quits (~kayprish@cable-24-135-254-227.dynamic.sbb.rs) (Ping timeout: 252 seconds) |
| 13:05:52 | × | shailangsa quits (~shailangs@host86-186-127-164.range86-186.btcentralplus.com) () |
| 13:10:06 | → | alx741 joins (~alx741@181.199.42.143) |
| 13:13:39 | → | jao joins (~jao@68.235.43.172) |
| 13:13:39 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 13:13:50 | → | deadmarshal joins (~deadmarsh@95.38.115.206) |
| 13:18:09 | × | acidjnk quits (~acidjnk@p200300d0c705758148c438f13433725d.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 13:23:03 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 13:24:48 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 13:30:20 | → | alx741 joins (~alx741@157.100.197.240) |
| 13:33:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 13:36:26 | → | jm_jj joins (~jmjj@mobile-user-c3a5cc-243.dhcp.inet.fi) |
| 13:38:45 | → | acidjnk joins (~acidjnk@p200300d0c705758148c438f13433725d.dip0.t-ipconnect.de) |
| 13:38:59 | → | fendor_ joins (~fendor@178.165.161.137.wireless.dyn.drei.com) |
| 13:39:25 | × | jao quits (~jao@68.235.43.172) (Ping timeout: 240 seconds) |
| 13:39:41 | → | gaff joins (~gaff@49.207.221.64) |
| 13:40:26 | <gaff> | read "5\f\t\f\f\f" :: Int = 5, but readsPrec 0 "5\f\t\f\f\f" :: [(Int, String)] = [(5,"\f\t\f\f\f")]. how come? |
| 13:41:18 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
| 13:42:03 | × | fendor quits (~fendor@91.141.33.218.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 13:43:07 | × | olle quits (~olle@i5E866D85.versanet.de) (Remote host closed the connection) |
| 13:43:09 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 13:43:56 | <gaff> | read requires a perfect parse, so i am wondering how `read` works at all on this one. |
| 13:46:30 | <merijn> | gaff: is \f whitespace? pretty sure read ignores trailing whitespace |
| 13:46:41 | <gaff> | form feed |
| 13:46:52 | <merijn> | > generalCategory '\f' |
| 13:46:53 | <xsperry> | > read " 5 " :: Int |
| 13:46:54 | <lambdabot> | Control |
| 13:46:54 | → | dextaa_ joins (~dextaa@user/dextaa) |
| 13:46:54 | <lambdabot> | 5 |
| 13:47:00 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 13:47:13 | <gaff> | you can try with '\n', the result is same |
| 13:47:42 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 13:48:07 | <gaff> | ah, i understood. it is just treating it as white space |
| 13:48:15 | <gaff> | thank you much |
| 13:49:04 | <gaff> | read also ignores leading white space |
| 13:49:28 | <gaff> | so if you have those characters in front of 5, the result is same. |
| 13:49:40 | → | alx741 joins (~alx741@157.100.197.240) |
| 13:50:24 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer) |
| 13:50:38 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 13:51:46 | × | gaff quits (~gaff@49.207.221.64) () |
| 13:52:13 | → | shailangsa joins (~shailangs@host86-186-127-164.range86-186.btcentralplus.com) |
| 13:52:49 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 13:55:00 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 14:00:15 | → | gurkenglas joins (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) |
| 14:01:03 | × | acidjnk quits (~acidjnk@p200300d0c705758148c438f13433725d.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 14:03:43 | → | jao joins (~jao@static-68-235-44-10.cust.tzulo.com) |
| 14:09:20 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:11:01 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 14:11:04 | → | alx741 joins (~alx741@157.100.197.240) |
| 14:12:34 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 14:14:22 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 14:21:56 | × | ubert quits (~Thunderbi@p548c8cd6.dip0.t-ipconnect.de) (Quit: ubert) |
| 14:22:41 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 14:23:24 | × | jao quits (~jao@static-68-235-44-10.cust.tzulo.com) (Ping timeout: 240 seconds) |
| 14:23:43 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 14:23:43 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 14:23:43 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:25:38 | → | jao joins (~jao@211.68.17.95.dynamic.jazztel.es) |
| 14:27:00 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 14:28:47 | <gurkenglas> | What was lspitzner called again on IRC? |
| 14:29:15 | <geekosaur> | hexagonel,iirc |
| 14:29:16 | <dminuoso> | hexagoxel I think? |
| 14:29:30 | <gurkenglas> | Ah right, thanks. |
| 14:29:39 | <dminuoso> | My IRC indicate say Im right |
| 14:29:43 | <dminuoso> | 64959:2019-12-14 17:02:10 hexagoxel I have updated the paste at https://gist.github.com/lspitzner/1042594a329c5ea6a3b7a2dc6c57c025 to contain the full build |
| 14:30:18 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 14:32:27 | → | alx741 joins (~alx741@157.100.197.240) |
| 14:35:10 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 14:35:33 | → | shriekingnoise joins (~shrieking@201.231.16.156) |
| 14:38:24 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:38:40 | → | img joins (~img@user/img) |
| 14:39:36 | → | Unicorn_Princess joins (~Unicorn_P@46-54-248-191.static.kate-wing.si) |
| 14:39:54 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 14:40:05 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 14:41:33 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7dab:1fa0:9cf6:a5de) |
| 14:42:32 | → | yauhsien joins (~Yau-Hsien@61-231-32-103.dynamic-ip.hinet.net) |
| 14:43:04 | → | xkuru joins (~xkuru@user/xkuru) |
| 14:43:17 | <ProfSimm> | What do you wish Haskell did, or did better, which it doesn't right now? |
| 14:43:25 | <ProfSimm> | If you could have a dream version of your language |
| 14:44:33 | <[exa]> | I'm pretty much content |
| 14:45:23 | <geekosaur> | pretty much every time I run into something I think might be done better, I think further and realize it would just make bigger messes |
| 14:45:27 | <dminuoso> | Circular module imports, getting rid of String in many places, getting rid of Read |
| 14:45:32 | <dminuoso> | Those are the top three on my wishlist. |
| 14:45:37 | → | Topsi joins (~Tobias@dyndsl-091-249-082-220.ewe-ip-backbone.de) |
| 14:45:41 | <geekosaur> | no language is perfect, but perfection is unattainable: it's all tradeoffs in the end |
| 14:45:48 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7dab:1fa0:9cf6:a5de) (Ping timeout: 240 seconds) |
| 14:46:00 | <dminuoso> | All three probably would have been possible with a bit of planning and foresight. But we're too deep in to get out of it |
| 14:46:01 | <ProfSimm> | Perfection is contingent on how obsessive a language designer is. |
| 14:46:33 | <dminuoso> | (Note that in principle the circular module imports are not a restriction of the language but GHC, the only active implementation we have) |
| 14:46:51 | → | stef204 joins (~stef204@user/stef204) |
| 14:46:56 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 14:47:25 | <geekosaur> | the language report specifically supports circular module imports, while allowing things like ghc's .hs-boot files to enable it |
| 14:47:55 | <geekosaur> | I should say it requires them to work |
| 14:48:37 | <geekosaur> | it's just really difficult to support them while also allowing separate compilation (instead of, say, whole-program compilation) |
| 14:48:51 | → | Topsi1 joins (~Tobias@dyndsl-091-249-082-220.ewe-ip-backbone.de) |
| 14:49:18 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 14:49:24 | <dminuoso> | Perhaps, I think its hard to say if nobody has tried building a Haskell compiler to support both |
| 14:49:24 | × | jao quits (~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 240 seconds) |
| 14:49:32 | <dminuoso> | I dont know whether its difficult |
| 14:49:50 | <dminuoso> | Some problems appear hard on initial looks but turn out to be simple |
| 14:50:02 | <geekosaur> | the wholehs-boot thing is painful and regularly discussed |
| 14:50:17 | <geekosaur> | (in #ghc and in various ghc tickets etc.) |
| 14:50:26 | × | Topsi quits (~Tobias@dyndsl-091-249-082-220.ewe-ip-backbone.de) (Ping timeout: 272 seconds) |
| 14:51:14 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:52:57 | → | alx741 joins (~alx741@181.199.42.143) |
| 14:56:02 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 14:56:08 | <maerwald> | hs-boot files play very well with TH :D |
| 14:56:45 | <dminuoso> | Nothing plays well with TH. |
| 14:56:46 | <dminuoso> | :p |
| 14:57:03 | <maerwald> | this is especially nasty... in some rare cases GHC can make it work, but then HLS falls flat |
| 14:57:17 | <maerwald> | in other cases both fail |
| 14:57:24 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 14:57:25 | × | gurkenglas quits (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 14:58:00 | <yushyin> | a bit of a shame that backpack never really took off. i would have liked to see a haskell with a mix-in module system that wasn't retrofitted. maybe. (not that I really have much of a use case for it except for strings) |
| 14:58:33 | <dminuoso> | yushyin: Honestly I think all backpack lacked was documentation.. |
| 14:58:36 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 14:58:51 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 14:58:55 | <dminuoso> | In its current form there's very poor discoverability that backpack exists or how to use it |
| 14:58:59 | <maerwald> | and support from stack |
| 14:59:52 | <dminuoso> | It's mostly "look at what edwardk has done in some of his packages" and read the PhD thesis for which its hard to find which that was. |
| 15:00:00 | <dminuoso> | maerwald: Oh I didnt know that |
| 15:00:04 | <dminuoso> | But I guess not surprising |
| 15:00:33 | <maerwald> | https://github.com/commercialhaskell/stack/issues/2540 |
| 15:01:14 | <lortabac> | ProfSimm: I agree with dminuoso on the top three, I'd probably add: better records, one namespace for types and constructors, special syntax for newtypes, streaming in prelude instead of lazy IO, more support for "simple types" (for ex. monomorphic do blocks), ideally strictness reflected in the types (this might be hard though) |
| 15:01:29 | <yushyin> | some mixins-shenanigans is why i switched back to cabal ;) |
| 15:01:48 | <ProfSimm> | Thanks folks |
| 15:01:51 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Remote host closed the connection) |
| 15:02:04 | <geekosaur> | the backpack story is not yet over, discoverability and documentation are slated to improve in upcoming ghc versions |
| 15:02:09 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 15:02:15 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 15:02:35 | <yushyin> | geekosaur: that's nice to hear! |
| 15:02:54 | <janus> | i thought a big reason of why people don't use backpack is that stack can't build it? dunno if that is still true |
| 15:03:06 | <geekosaur> | stack can't use it yet |
| 15:03:26 | <janus> | so if stack is dying it may help backpack adoption |
| 15:04:02 | <geekosaur> | whether it will ever be able to will depend in part on upcoming additional documentation and in part on someone actually writing the necessary support for stack… which, given they don't seem to be maintaining stack much these days, may be an even bigger hurdle |
| 15:04:44 | <janus> | yushyin: do you know of a good practical example of backpacked strings on hackage? |
| 15:05:03 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 15:06:11 | <edwardk> | i really want to see backpack fished out of the dumpster and made usable. the stack story is horrifying |
| 15:06:40 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 15:06:44 | <edwardk> | to be fair, the story on nix or in custom build setups, etc. isn't much better |
| 15:07:46 | → | jgeerds joins (~jgeerds@55d4a547.access.ecotel.net) |
| 15:07:48 | <yushyin> | janus: nope, sorry. |
| 15:08:15 | <maerwald> | edwardk: even if someone provided a PR... I'm not sure if there are people left to review it :o |
| 15:08:19 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.4) |
| 15:08:32 | <geekosaur> | stack not supporting backpack kinda holds back hackage packages using it, and certainly prevents stackage from using it |
| 15:09:02 | <merijn> | We just get edwardk to move lens to backpack and then half the ecosystem will be forced to support it xD |
| 15:09:55 | <edwardk> | merijn: you joke |
| 15:10:24 | <yushyin> | could be a valid strategy! |
| 15:10:37 | <maerwald> | feels like a MicroSoft strategy |
| 15:10:41 | <edwardk> | my best strategies for supporting unboxed values, for supporting simd computation, etc. all need backpack |
| 15:10:57 | × | max22- quits (~maxime@2a01cb08833598004c8de2e630f51a33.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
| 15:10:58 | <edwardk> | or they need metric boatloads of template haskell and sufficiently crossed fingers |
| 15:11:59 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 15:13:12 | → | alx741 joins (~alx741@181.199.42.143) |
| 15:16:57 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 15:17:34 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 15:17:34 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 15:17:34 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:17:40 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:20:30 | → | vysn joins (~vysn@user/vysn) |
| 15:21:21 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 15:21:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 15:21:57 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 15:26:21 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 15:27:06 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:28:26 | <merijn> | edwardk: Who says I'm joking ;) |
| 15:32:31 | → | razetime joins (~quassel@49.207.198.36) |
| 15:33:30 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 15:34:21 | × | jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Remote host closed the connection) |
| 15:34:48 | × | DNH quits (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:37:21 | × | alp quits (~alp@user/alp) (Ping timeout: 252 seconds) |
| 15:38:12 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 15:39:08 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:40:08 | × | prite quits (~pritam@user/pritambaral) (Quit: Konversation terminated!) |
| 15:41:07 | → | MoC joins (~moc@user/moc) |
| 15:41:35 | × | hueso quits (~root@user/hueso) (Ping timeout: 256 seconds) |
| 15:41:57 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 15:42:42 | → | hueso joins (~root@user/hueso) |
| 15:49:59 | → | gaff joins (~gaff@49.207.221.64) |
| 15:51:12 | × | dsrt^ quits (~dsrt@50.235.176.163) (Remote host closed the connection) |
| 15:55:37 | <gaff> | if you have to write for example an expression such as `a && b && c && d` on separate lines, haskell is just if you do not indent the continuing lines further to the right. i thought it should because they are continuing lines. |
| 15:56:19 | <gaff> | i mean haskell is fine if you do not indent to the right |
| 15:56:58 | <geekosaur> | if you write `a &&` on one line then haskell knows another expression is needed |
| 15:57:38 | <geekosaur> | this goes only so far though, because of layout: you need to indent some things to obey an outer layout constraint (as for example with let or where blocks) |
| 15:57:55 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 15:58:10 | <gaff> | i see ... it seems to also work if you write `a` on one line and in the next `&& b` at the same indent |
| 15:58:13 | <geekosaur> | but aside from layout haskell tries to be pretty flexible |
| 15:58:31 | <gaff> | ok |
| 15:58:32 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 15:58:33 | <geekosaur> | that will work as long as layout isn't involved |
| 15:59:42 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:59:42 | <gaff> | when you say layout, you mean stuff for `where`, `let`, top-level, etc? |
| 15:59:59 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:9c11:561e:c86d:bf05) (Quit: WeeChat 2.8) |
| 16:00:32 | <geekosaur> | https://paste.tomsmeding.com/ZyJ6dhuN |
| 16:01:45 | <gaff> | ah, thanks -- yeah, that's fine |
| 16:01:48 | <gaff> | :) |
| 16:02:35 | <geekosaur> | the second one fails because `let` has taken the indentation of the first binding as its basic indentation; indenting not up to that point will end the `let`, indenting *to* that point starts a new binding and will throw a parse error if it's not a valid binding |
| 16:02:47 | <geekosaur> | but indenting beyond it will be a continuation |
| 16:03:22 | <gaff> | thank you. |
| 16:03:22 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:03:49 | <gaff> | great explanation |
| 16:03:58 | <gaff> | appreciate it |
| 16:04:05 | <geekosaur> | no problem |
| 16:05:06 | × | gaff quits (~gaff@49.207.221.64) () |
| 16:09:37 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 16:13:25 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 272 seconds) |
| 16:14:31 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 250 seconds) |
| 16:16:35 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 272 seconds) |
| 16:20:05 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:22:12 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:23:43 | → | max22- joins (~maxime@2a01cb08833598007bad4523cac12017.ipv6.abo.wanadoo.fr) |
| 16:24:59 | × | shailangsa quits (~shailangs@host86-186-127-164.range86-186.btcentralplus.com) (Remote host closed the connection) |
| 16:26:14 | → | gurkenglas joins (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) |
| 16:30:19 | <phma> | I've written tests of a function split343, which is currently exported, but will not be exported when I finish writing the library. Tests are in test.hs; the library is in FlowsnakeBase.hs. How do I test functions that aren't exported? |
| 16:31:18 | <geekosaur> | you have to export them somehow, but not necessarily from your package. for example you can export from an internal library component which your tests can depend on but no outside package can |
| 16:31:18 | → | DNH joins (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) |
| 16:32:01 | <geekosaur> | alternatively you could use an Internals module, which would allow others to import anything in it but with the understanding that anything in the module can change or go away with no warning |
| 16:33:43 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 16:34:32 | <geekosaur> | (in a cabal file the unnamed library component is exported, named library components are internal-only) |
| 16:36:12 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 16:39:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:42:58 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:43:11 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:43:55 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 16:47:32 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 16:50:57 | × | pgib quits (~textual@173.38.117.82) (Ping timeout: 240 seconds) |
| 16:51:13 | → | zebrag joins (~chris@user/zebrag) |
| 16:52:42 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 16:53:47 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 16:54:33 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 16:58:46 | × | stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.4) |
| 16:58:55 | → | burnsidesLlama joins (~burnsides@dhcp168-031.wadham.ox.ac.uk) |
| 16:59:23 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:59:41 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:02:21 | × | dextaa_ quits (~dextaa@user/dextaa) (Quit: leaving) |
| 17:03:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:05:30 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 17:05:30 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 17:05:30 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:06:17 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 17:06:42 | × | razetime quits (~quassel@49.207.198.36) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:07:02 | × | ardell quits (~ardell@user/ardell) (Quit: Konversation terminated!) |
| 17:10:18 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 17:11:24 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 17:11:57 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 252 seconds) |
| 17:14:52 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:15:34 | → | Akiva joins (~Akiva@user/Akiva) |
| 17:18:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 17:18:56 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:19:06 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 17:21:05 | → | alx741 joins (~alx741@181.199.42.143) |
| 17:23:39 | → | lbseale joins (~ep1ctetus@user/ep1ctetus) |
| 17:23:41 | × | Unicorn_Princess quits (~Unicorn_P@46-54-248-191.static.kate-wing.si) (Remote host closed the connection) |
| 17:24:38 | × | mbuf quits (~Shakthi@223.178.90.64) (Quit: Leaving) |
| 17:26:28 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 17:26:28 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 17:27:13 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 17:28:07 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 17:29:07 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 17:30:15 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 17:31:14 | → | alp joins (~alp@user/alp) |
| 17:31:38 | <sm> | or, move the tests closer to the code in question... |
| 17:33:20 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 17:34:30 | × | MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 252 seconds) |
| 17:34:46 | → | zincy__ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 17:34:51 | × | bliminse quits (~bliminse@host86-158-241-239.range86-158.btcentralplus.com) (Quit: leaving) |
| 17:34:53 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Read error: Connection reset by peer) |
| 17:38:27 | → | `2jt joins (~jtomas@130.red-88-22-46.staticip.rima-tde.net) |
| 17:38:55 | × | gurkenglas quits (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 17:40:02 | → | bliminse joins (~bliminse@host86-158-241-239.range86-158.btcentralplus.com) |
| 17:40:16 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:40:54 | → | zer0bitz joins (~zer0bitz@2001:2003:f74d:b800:dcfd:93ee:4384:4372) |
| 17:44:11 | → | stef204 joins (~stef204@user/stef204) |
| 17:45:25 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:46:19 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dd1:4bae:3cdd:e3cb) |
| 17:49:23 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:50:31 | <[exa]> | is there any known problem with `getAddrInfo` that is not run in the "main" thread? (possibly specifically on mac OS) |
| 17:50:39 | <[exa]> | (debugging an issue with a student) |
| 17:51:54 | → | shailangsa joins (~shailangs@host86-186-127-164.range86-186.btcentralplus.com) |
| 17:52:22 | <geekosaur> | dunno about macos but on linux it can be using dbus in the background to talk with a name cache daemon, and there are lots of things that can go wrong |
| 17:53:12 | <[exa]> | so it is preferable to keep it as single-threaded as possible? |
| 17:53:41 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
| 17:54:05 | × | burnsidesLlama quits (~burnsides@dhcp168-031.wadham.ox.ac.uk) (Remote host closed the connection) |
| 17:54:19 | <[exa]> | hm, let's see |
| 17:54:51 | × | alp quits (~alp@user/alp) (Ping timeout: 252 seconds) |
| 17:55:25 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 17:56:20 | × | zincy__ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection) |
| 17:56:45 | <geekosaur> | doesn'tlook like they document any thread issues |
| 17:56:54 | <geekosaur> | and on linux it's supposed to be mt-sate |
| 17:56:58 | <geekosaur> | *mt-safe |
| 17:57:27 | <geekosaur> | but I've seen weirdness with dbus-backed stuff and the ghc rts; you can test for this by using +RTS -V0 |
| 17:57:42 | <geekosaur> | to see if anything similar is going on with macos |
| 17:57:49 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 18:04:36 | → | gurkenglas joins (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) |
| 18:04:47 | → | alx741 joins (~alx741@157.100.197.240) |
| 18:07:02 | × | zmt00 quits (~zmt00@user/zmt00) (Read error: Connection reset by peer) |
| 18:07:11 | × | xff0x quits (~xff0x@2001:1a81:52c4:8c00:1680:ae3c:6c22:79cc) (Ping timeout: 250 seconds) |
| 18:07:16 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:08:02 | → | xff0x joins (~xff0x@2001:1a81:52c4:8c00:a51c:6f1b:e868:ffc) |
| 18:08:38 | → | img joins (~img@user/img) |
| 18:09:17 | × | kuribas quits (~user@ptr-25vy0i9o6zfp0yko61a.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 18:10:15 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:10:31 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:10:38 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:10:53 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:11:00 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:11:08 | × | TheCoffeMaker_ quits (~TheCoffeM@200.126.129.149) (Quit: So long and thanks for all the fish) |
| 18:11:15 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:11:15 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 18:11:21 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:11:23 | <[exa]> | geekosaur: ooh that looks useful, thanks a lot |
| 18:11:26 | <[exa]> | will see |
| 18:11:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:11:43 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:11:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:12:05 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:12:05 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 18:12:19 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:12:26 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:12:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:12:48 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:13:02 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:13:09 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:13:18 | <geekosaur> | sigh\ |
| 18:13:21 | ChanServ | sets mode +o geekosaur |
| 18:13:25 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:13:32 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:13:44 | → | tfeb joins (~tfb@88.98.95.237) |
| 18:13:47 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:13:48 | geekosaur | sets mode +b *!*@98.38.249.169 |
| 18:13:54 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 18:15:05 | <monochrom> | Active volcano :) |
| 18:15:36 | <geekosaur> | pyroclastic flow |
| 18:18:36 | → | romesrf joins (~romes@bl8-111-202.dsl.telepac.pt) |
| 18:20:40 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 18:28:13 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:29:08 | × | romesrf quits (~romes@bl8-111-202.dsl.telepac.pt) (Quit: WeeChat 3.4) |
| 18:30:10 | × | tfeb quits (~tfb@88.98.95.237) (Quit: died) |
| 18:31:19 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:31:35 | → | econo joins (uid147250@user/econo) |
| 18:32:41 | → | burnsidesLlama joins (~burnsides@dhcp168-031.wadham.ox.ac.uk) |
| 18:37:20 | × | jm_jj quits (~jmjj@mobile-user-c3a5cc-243.dhcp.inet.fi) (Quit: Leaving) |
| 18:38:27 | × | burnsidesLlama quits (~burnsides@dhcp168-031.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
| 18:38:57 | ChanServ | sets mode +o litharge |
| 18:38:57 | litharge | sets mode -bo *!*@98.38.249.169 litharge |
| 18:39:40 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 18:44:11 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 18:46:26 | → | zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 18:48:28 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:48:47 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 18:48:50 | → | burnsidesLlama joins (~burnsides@dhcp168-031.wadham.ox.ac.uk) |
| 18:50:36 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 18:51:07 | × | zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 272 seconds) |
| 18:51:56 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
| 18:53:02 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 19:00:04 | <tomsmeding> | the setting where my irc client only shows joins/leaves of people that are actually chatting is quite useful |
| 19:00:04 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 19:02:20 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 19:02:48 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 19:02:48 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 19:03:31 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 19:05:15 | × | max22- quits (~maxime@2a01cb08833598007bad4523cac12017.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
| 19:06:18 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 19:06:18 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 19:06:18 | → | wroathe joins (~wroathe@user/wroathe) |
| 19:06:24 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dd1:4bae:3cdd:e3cb) (Quit: Leaving...) |
| 19:08:12 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 19:08:53 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7443:3f57:453b:e0ec) |
| 19:09:20 | geekosaur | sets mode -o geekosaur |
| 19:11:22 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 19:16:55 | → | alx741 joins (~alx741@157.100.197.240) |
| 19:17:28 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 19:18:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:19:35 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 19:19:48 | × | deadmarshal quits (~deadmarsh@95.38.115.206) (Ping timeout: 240 seconds) |
| 19:21:50 | × | DNH quits (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:22:28 | <kronicma1> | @unmtl ExceptT String IO a |
| 19:22:28 | <lambdabot> | IO (Either String a) |
| 19:23:04 | <janus> | tomsmeding: which client are you using? |
| 19:23:25 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 19:24:41 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
| 19:26:46 | <tomsmeding> | weechat |
| 19:27:19 | <tomsmeding> | janus: with irc.look.smart_filter_join on |
| 19:27:59 | → | zmt00 joins (~zmt00@user/zmt00) |
| 19:35:22 | → | DNH joins (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) |
| 19:37:23 | → | alx741 joins (~alx741@157.100.197.240) |
| 19:39:07 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Remote host closed the connection) |
| 19:39:32 | → | mikail joins (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) |
| 19:40:10 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 19:40:31 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 19:41:39 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 19:42:22 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 19:44:49 | → | max22- joins (~maxime@2a01cb08833598000a23eab5ca82bfe2.ipv6.abo.wanadoo.fr) |
| 19:45:48 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 19:46:17 | → | c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
| 19:49:31 | × | stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.4) |
| 19:56:19 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 19:56:43 | → | alx741 joins (~alx741@157.100.197.240) |
| 19:58:47 | → | dextaa_ joins (~dextaa@cpc142174-lewi20-2-0-cust34.2-4.cable.virginm.net) |
| 20:00:36 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 20:00:57 | → | zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 20:02:04 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 20:05:24 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 20:05:39 | × | juhp quits (~juhp@128.106.188.82) (Ping timeout: 256 seconds) |
| 20:05:57 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 20:06:09 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 20:07:20 | → | juhp joins (~juhp@128.106.188.82) |
| 20:08:42 | → | slack1256 joins (~slack1256@191.126.227.196) |
| 20:11:02 | ChanServ | sets mode +o geekosaur |
| 20:11:47 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 20:12:19 | → | zer0bitz_ joins (~zer0bitz@2001:2003:f74d:b800:5c57:7f45:b808:8adb) |
| 20:12:57 | × | fendor_ quits (~fendor@178.165.161.137.wireless.dyn.drei.com) (Remote host closed the connection) |
| 20:13:15 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 20:13:37 | → | kmein joins (~weechat@user/kmein) |
| 20:13:47 | → | kenran joins (~kenran@200116b82bfd62002ef1903d7b4c4780.dip.versatel-1u1.de) |
| 20:14:40 | → | coot joins (~coot@213.134.190.95) |
| 20:15:53 | × | zer0bitz quits (~zer0bitz@2001:2003:f74d:b800:dcfd:93ee:4384:4372) (Ping timeout: 250 seconds) |
| 20:16:33 | × | kenran quits (~kenran@200116b82bfd62002ef1903d7b4c4780.dip.versatel-1u1.de) (Client Quit) |
| 20:16:58 | → | cjb joins (~cjb@user/cjb) |
| 20:17:08 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 20:17:40 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 20:19:45 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7443:3f57:453b:e0ec) (Remote host closed the connection) |
| 20:19:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7443:3f57:453b:e0ec) |
| 20:20:09 | → | alx741 joins (~alx741@157.100.197.240) |
| 20:21:13 | × | slack1256 quits (~slack1256@191.126.227.196) (Remote host closed the connection) |
| 20:21:30 | → | slack1256 joins (~slack1256@191.126.227.196) |
| 20:21:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:22:04 | <slack1256> | I normally user wreq but it doesn't have http/2 support. What do you guys use for that? |
| 20:22:04 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:22:54 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 20:22:59 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 20:23:08 | <sclv> | clients aren't usually required to have http/2 support, no? |
| 20:23:20 | → | kmein joins (~weechat@user/kmein) |
| 20:23:44 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 20:23:49 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4) |
| 20:23:51 | <romesrf> | o/ |
| 20:23:59 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 20:24:11 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:25:18 | geekosaur | sets mode -o geekosaur |
| 20:26:36 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 20:28:13 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 20:30:01 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7443:3f57:453b:e0ec) (Remote host closed the connection) |
| 20:32:02 | <slack1256> | sclv: I was under the impression that yes, they do. |
| 20:32:51 | <sclv> | i don't know of any website that requires it be accessed with http/2 rather than http 1 |
| 20:33:08 | <sclv> | i do know of some specialized protcols (grpc) that operate only over http2 |
| 20:33:16 | <sclv> | but a standard client like wreq isn't useful for them anyway |
| 20:33:58 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 20:34:10 | × | yauhsien quits (~Yau-Hsien@61-231-32-103.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
| 20:35:02 | → | yauhsien joins (~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) |
| 20:35:41 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 20:39:29 | → | alx741 joins (~alx741@157.100.197.240) |
| 20:40:09 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:42:46 | → | yauhsien_ joins (~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) |
| 20:42:50 | <slack1256> | Mmmm |
| 20:43:07 | <slack1256> | Yeah I have to interface with apple server (APN) and they insist on http/2. |
| 20:45:08 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 20:45:21 | × | yauhsien quits (~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 20:46:36 | × | nunggu_ quits (~q@user/nunggu) (Ping timeout: 240 seconds) |
| 20:47:40 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
| 20:48:06 | × | DNH quits (~DNH@2a02:8108:1100:16d8:bca1:a272:d62b:37ab) (Ping timeout: 252 seconds) |
| 20:48:17 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 20:48:58 | → | acidjnk joins (~acidjnk@p200300d0c7057581091bb45d0bf1cd2b.dip0.t-ipconnect.de) |
| 20:49:45 | → | nunggu_ joins (~q@user/nunggu) |
| 20:54:25 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 20:59:02 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 260 seconds) |
| 21:04:40 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 21:06:58 | → | cynomys joins (~cynomys@user/cynomys) |
| 21:07:10 | <ehammarstrom> | Is it possible to encode typestates in Haskell? |
| 21:07:17 | → | wrengr joins (~wrengr@99.34.197.35.bc.googleusercontent.com) |
| 21:07:27 | × | foul_owl quits (~kerry@207.244.125.36) (Ping timeout: 250 seconds) |
| 21:07:33 | <EvanR> | sure |
| 21:07:46 | <EvanR> | GADTs for example |
| 21:08:28 | → | pavonia joins (~user@user/siracusa) |
| 21:09:33 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 21:11:52 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 21:13:08 | <ehammarstrom> | EvanR: I came up with something like this https://paste.tomsmeding.com/6pltsmxz What would it look like with a GADT? |
| 21:13:17 | <ehammarstrom> | I don't know if it's correct |
| 21:15:26 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 21:16:07 | <EvanR> | well this demonstrates the possibility of changing the type but it's pretty useless as is https://paste.tomsmeding.com/xcj0RrtN |
| 21:16:27 | <EvanR> | note that in turnOff you don't need a case for the Off case because it's impossible |
| 21:16:52 | → | hololeap joins (~hololeap@user/hololeap) |
| 21:17:39 | <EvanR> | the GADT definition defines the possible moves, the resulting types tell you how the "type state" changes |
| 21:17:59 | <EvanR> | in this example you simple start in whatever state you want and do whatever you want |
| 21:19:34 | <EvanR> | line 27 there is the proper GADT |
| 21:20:33 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 252 seconds) |
| 21:20:57 | shapr | hops randomly |
| 21:21:19 | tomsmeding | eyes shapr |
| 21:22:44 | <shapr> | hi tomsmeding ! How's life? |
| 21:22:49 | <shapr> | writing any good code? |
| 21:23:00 | <EvanR> | your line 18 is wrong because your function returns a type (LightSwitch Off) instead of a value |
| 21:23:25 | <tomsmeding> | shapr: just today finished grading 69 reports |
| 21:23:26 | <EvanR> | oops, ignore that |
| 21:23:40 | <tomsmeding> | hopefully going to code again soon |
| 21:23:43 | <shapr> | tomsmeding: students are learning? |
| 21:23:50 | → | foul_owl joins (~kerry@207.244.125.36) |
| 21:23:51 | <tomsmeding> | maybe? |
| 21:24:20 | <tomsmeding> | not too enthousiastic about the assignment anyway, but this was my first year so let's start complaining next year :p |
| 21:24:27 | <Rembane> | shapr: Did you have stochastic breakfast again? |
| 21:24:47 | → | deadmarshal joins (~deadmarsh@95.38.115.206) |
| 21:24:50 | <shapr> | yes, I did. |
| 21:26:12 | <Rembane> | Good stfuf |
| 21:26:14 | <Rembane> | *stuff |
| 21:27:35 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 21:27:35 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 21:27:38 | allbery_b | is now known as geekosaur |
| 21:28:11 | <ehammarstrom> | EvanR: Thanks for showing the difference in type. I guess there are more differences when you use them more extensively |
| 21:28:47 | <EvanR> | well, that's basically it. With GADTs the final type can be different for different constructors |
| 21:29:00 | × | deadmarshal quits (~deadmarsh@95.38.115.206) (Ping timeout: 240 seconds) |
| 21:29:22 | × | Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 260 seconds) |
| 21:30:41 | <ehammarstrom> | Right. |
| 21:31:06 | → | Pickchea joins (~private@user/pickchea) |
| 21:31:13 | × | zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection) |
| 21:36:59 | → | alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 21:39:48 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 252 seconds) |
| 21:40:02 | → | telser joins (~AdminUser@user/telser) |
| 21:40:02 | × | telser quits (~AdminUser@user/telser) (Remote host closed the connection) |
| 21:40:37 | × | slack1256 quits (~slack1256@191.126.227.196) (Remote host closed the connection) |
| 21:42:39 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 21:46:15 | → | telser joins (~AdminUser@user/telser) |
| 21:50:04 | × | c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
| 21:50:56 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 21:52:58 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 21:53:13 | → | c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
| 21:54:02 | → | Gest74 joins (~Gest74@net-2-36-89-48.cust.vodafonedsl.it) |
| 21:57:00 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds) |
| 21:57:43 | × | michalz quits (~michalz@185.246.204.89) (Ping timeout: 250 seconds) |
| 21:57:44 | × | jlamothe quits (~jlamothe@198.251.61.229) (Ping timeout: 250 seconds) |
| 21:58:25 | × | mikail quits (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) (Remote host closed the connection) |
| 22:00:12 | × | alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 22:01:40 | → | alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 22:01:54 | × | c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
| 22:02:34 | <Gest74> | Hi everybody, could someone please tell me why Actual is [[Expr]] instead of [Expr] in this code: https://paste.tomsmeding.com/pGE0ab3j ? |
| 22:02:41 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 22:03:03 | → | mikail joins (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) |
| 22:03:25 | × | mikail quits (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) (Remote host closed the connection) |
| 22:03:25 | <monochrom> | Replace [e:es] by (e:es). The extra [] causes the extra []. |
| 22:04:21 | → | mikail joins (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) |
| 22:05:06 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 22:05:06 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 22:05:06 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:05:16 | <Gest74> | @monochrom, thank you! |
| 22:05:17 | <lambdabot> | Unknown command, try @list |
| 22:05:20 | × | mikail quits (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) (Remote host closed the connection) |
| 22:07:22 | → | mikail joins (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) |
| 22:07:51 | × | mikail quits (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) (Remote host closed the connection) |
| 22:09:41 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:09:50 | → | mikail joins (~mikail@2a02:c7f:bd03:2c00:df97:6ebf:5b0b:7304) |
| 22:10:42 | <EvanR> | [[[[e:es]]]] is not [e:es], but ((((e:es)))) is (e:es). Haskell is tricky like that |
| 22:11:26 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:12:17 | <geekosaur> | I'd put it that there are two ways to describe lists in Haskell: traditional [a,b,c] and cons (a:b:c:[]) |
| 22:12:55 | <geekosaur> | they're the same thing, but can't be mixed, so [x:xs] is a single-item list in traditional format containing a list in cons format |
| 22:14:43 | <dolio> | Well, they can be mixed, but `[x:xs]` isn't just grouping. |
| 22:16:07 | → | teo joins (~teo@user/teo) |
| 22:16:43 | <sshine> | [x:xs] was among the most common error I saw as a teaching assistant on FP courses (SML, Haskell). |
| 22:16:57 | <sshine> | the compiler could really have a specific warning for just that. |
| 22:17:08 | <dolio> | In some ways `a:b:c:[]` is mixing them already, but only because there isn't some other name for the empty list. |
| 22:17:26 | × | Gest74 quits (~Gest74@net-2-36-89-48.cust.vodafonedsl.it) (Ping timeout: 256 seconds) |
| 22:18:55 | × | jinsun quits (~jinsun@user/jinsun) () |
| 22:19:16 | → | jinsun joins (~jinsun@user/jinsun) |
| 22:20:29 | × | jinsun quits (~jinsun@user/jinsun) (Client Quit) |
| 22:20:46 | → | jinsun joins (~jinsun@user/jinsun) |
| 22:23:24 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 22:23:29 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 22:23:41 | → | jlamothe joins (~jlamothe@198.251.61.229) |
| 22:23:54 | × | teo quits (~teo@user/teo) (Quit: Client closed) |
| 22:24:04 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 22:25:40 | → | teo joins (~teo@user/teo) |
| 22:25:59 | × | teo quits (~teo@user/teo) (Client Quit) |
| 22:27:02 | → | Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) |
| 22:27:21 | → | Pickchea joins (~private@user/pickchea) |
| 22:29:57 | bah_ | is now known as bah |
| 22:30:15 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 22:30:37 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:32:08 | → | c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
| 22:33:49 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 22:35:57 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 22:35:57 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 22:35:57 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:39:44 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 22:40:18 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 22:40:31 | × | telser quits (~AdminUser@user/telser) (Remote host closed the connection) |
| 22:41:04 | × | hueso quits (~root@user/hueso) (Read error: Connection reset by peer) |
| 22:41:46 | → | telser joins (~AdminUser@user/telser) |
| 22:45:33 | → | hueso joins (~root@user/hueso) |
| 22:45:55 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 22:46:19 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 22:53:01 | → | awschnap joins (~lavaman@98.38.249.169) |
| 22:53:01 | × | lavaman quits (~lavaman@98.38.249.169) (Read error: Connection reset by peer) |
| 22:53:22 | × | max22- quits (~maxime@2a01cb08833598000a23eab5ca82bfe2.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 22:54:37 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
| 22:54:59 | byorgey | sees the [x:xs] error a lot. |
| 22:55:38 | <byorgey> | I have come to the conclusion that [a] is poor notation for the type of a list. It is just very confusing to students that [a] is the type of a list of any number of elements, but as a value [a] is a list of exactly one element. |
| 22:56:12 | <byorgey> | I would prefer List a, even though it's slightly more verbose. |
| 22:56:35 | <geekosaur> | I've been thinking that somewhat as well. Also the fact that you see for example `t a` in a type, but [a] matches it. So sometimes I use `[] a` |
| 22:56:40 | <geekosaur> | to make it clearer |
| 22:57:02 | <Rembane> | Is `[] a` valid Haskell? |
| 22:57:08 | <geekosaur> | yep |
| 22:57:09 | <byorgey> | :type [1,2,3] : [] Int |
| 22:57:20 | <byorgey> | aw, no lambdabot? =( |
| 22:57:29 | <EvanR> | @botsnack |
| 22:57:29 | <lambdabot> | :) |
| 22:57:31 | <geekosaur> | :t [1,2,3] :: [] Int |
| 22:57:32 | <lambdabot> | [Int] |
| 22:57:38 | <Rembane> | That it is valid Haskell makes me happy. I first thought it was merely pedagogical. |
| 22:57:40 | <byorgey> | oh, :t not :type, ok. |
| 22:57:40 | <geekosaur> | it just doesn't accept :type fully spelled out |
| 22:57:52 | <geekosaur> | same with :k vs. :kind |
| 22:58:30 | <byorgey> | geekosaur: right, that too. It's magic special syntax and it's unclear how it corresponds to other type constructors. |
| 22:58:51 | <byorgey> | pair types have the same issue in terms of being magic and special, but at least there the syntax for types and values matches exactly. |
| 22:58:52 | × | awschnap quits (~lavaman@98.38.249.169) (Read error: Connection reset by peer) |
| 22:59:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:59:58 | <Rembane> | For some reason list has a tendency to be the odd one out in many cases. Wanna explain monads? Okay, we start with Maybe everything is fine and then the natural next example is absolutely not list because that will make your brain boil. |
| 23:00:28 | <EvanR> | funny because Maybe is a submonad of List xD |
| 23:00:49 | <Rembane> | Oh. Oh no. How?! |
| 23:01:06 | <geekosaur> | Maybe is a 1-element list |
| 23:01:08 | <byorgey> | Maybe is lists of length at most 1. |
| 23:01:15 | <EvanR> | correct me if I'm wrong but, the behavior matches the behavior for list of at most length 1 |
| 23:01:27 | <Rembane> | And we have a hat trick! |
| 23:01:28 | <byorgey> | that sounds right. |
| 23:01:31 | <geekosaur> | yeh, 1 element max, sorry |
| 23:01:56 | <geekosaur> | that said,m the difference is that a 1-element-max list isn't recursive |
| 23:01:59 | <Rembane> | So a list of length zero is Nothing, and a list of length one is Just something? |
| 23:02:13 | <geekosaur> | and I suspect it's the recursion that makes the list monad brain-boily |
| 23:02:13 | <EvanR> | yeah |
| 23:02:22 | <hpc> | isn't the issue with [] just that it's not commutative? |
| 23:03:14 | <hpc> | the list monad is pretty easy to understand, start with list comprehensions and then go "okay, now write it with do" |
| 23:03:36 | <dibblego> | teach monads by getting the class to inadvertently invent the primary purpose |
| 23:04:27 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 23:04:44 | → | jackson99 joins (~bc8147f2@cerf.good1.com) |
| 23:06:15 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 23:09:11 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 23:10:36 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 23:11:57 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 23:11:58 | × | lavaman quits (~lavaman@98.38.249.169) (Read error: Connection reset by peer) |
| 23:11:59 | → | awschnap joins (~lavaman@98.38.249.169) |
| 23:14:56 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 23:16:12 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 23:19:24 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 23:21:28 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 23:21:56 | <jackdk> | byorgey: how'd you go with all that disco stuff? did you get it going? |
| 23:23:36 | × | burnsidesLlama quits (~burnsides@dhcp168-031.wadham.ox.ac.uk) (Remote host closed the connection) |
| 23:23:50 | <EvanR> | "what is the primary purpose of monads" sounds like something an awkward godlike alien entity would demand captain kirk to answer satisfactorily before they can break free from its force field |
| 23:24:43 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 23:25:19 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 23:26:20 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:26:20 | <int-e> | is the purpose to abstract from almost nothing and confuse generations of programmers... |
| 23:26:24 | <jackdk> | "merging spacesuits together", if we're keeping with the scifi theme |
| 23:26:48 | <Rembane> | Pew pew pew! |
| 23:26:57 | <Rembane> | Cue Star Wars Theme! |
| 23:27:06 | <EvanR> | Monadchloriens |
| 23:27:36 | <Rembane> | Definitely the List Monadchloreans |
| 23:27:44 | <byorgey> | jackdk: I got it building on replit.com via nix, but it ended up being a no-go because it takes like 15-30 minutes to build and sometimes decides to randomly rebuild the entire environment while you're in the middle of doing something. |
| 23:28:02 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 23:28:10 | <byorgey> | jackdk: for now I just wrote up very detailed instructions on how the students can install it via 'cabal install', which worked OK in 95% of cases |
| 23:28:45 | <geekosaur> | 95% sounds 5% unfortunate |
| 23:28:59 | <monochrom> | When I was learning monads, I felt it was abstracting from almost everything. :) |
| 23:29:07 | <byorgey> | geekosaur: yes, for the 5% I set up accounts on my VPS so they can log in and use it via SSH. |
| 23:29:31 | <byorgey> | jackdk: in the long term, I hope I can get a stable version of disco onto Hackage and from there into nixpkgs, and then it will load on replit.com in a snap |
| 23:30:12 | <geekosaur> | assuming stackage ever gets itself unstuck |
| 23:30:15 | × | Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer) |
| 23:30:23 | <geekosaur> | be nice if they'd done an LTS *before* tackling aeson 2 |
| 23:30:32 | <jackdk> | byorgey: glad you got something for your students. I've had to do less doJailbreak etc shenanigans over time, so I think the hackage ecosystem is converging towards stability |
| 23:31:03 | <jackson99> | stackage is stuck? |
| 23:31:14 | <byorgey> | jackdk: that's good to hear. |
| 23:31:27 | <geekosaur> | LTS is still 8.10.7 |
| 23:31:40 | <byorgey> | there is one benefit to having them install via cabal, which is that I can tell them to 'cabal update && cabal install disco' every time I add new features or fix a bug =) |
| 23:31:46 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 23:31:48 | <geekosaur> | nightlies advanced from 9.0.1 to 9.0.2, but now they've taken on aeson 2 and broke a bunch of stuff |
| 23:32:17 | <jackson99> | I think (hope) they are just waiting 9.2 to be fixed |
| 23:32:20 | <geekosaur> | which is not so much a problem with stackage as such, as a failure of management or foresight |
| 23:32:23 | <jackdk> | I would stop using stack, personally - freeze files + git give you much finer control, and cabal has improved a lot |
| 23:32:34 | <geekosaur> | but a nbunch of other packagers depend on stackage LTSes |
| 23:32:42 | <geekosaur> | including nixpkgs |
| 23:35:40 | × | cjb quits (~cjb@user/cjb) (Ping timeout: 260 seconds) |
| 23:36:06 | <jackdk> | Yeah, that's a challenge, and those snapshots are useful if you want to provide "one version of each thing". That's often too limiting, though. As we've seen with the stop-the-world update to aeson>2. IMHO stackage would do well to just focus on snapshots, but I get that's gonna be a contentious suggestion |
| 23:38:01 | × | gurkenglas quits (~gurkengla@dslb-188-096-121-068.188.096.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 23:40:41 | × | telser quits (~AdminUser@user/telser) (Quit: No Ping reply in 180 seconds.) |
| 23:41:57 | → | telser joins (~AdminUser@user/telser) |
| 23:43:03 | → | burnsidesLlama joins (~burnsides@dhcp168-031.wadham.ox.ac.uk) |
| 23:43:53 | × | acidjnk quits (~acidjnk@p200300d0c7057581091bb45d0bf1cd2b.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 23:43:54 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 23:45:57 | × | hololeap quits (~hololeap@user/hololeap) (Excess Flood) |
| 23:46:09 | → | afidegnum joins (~afidegnum@102.176.94.184) |
| 23:46:34 | <afidegnum> | hi, what pefect IDE would you recommend ? |
| 23:48:12 | <monochrom> | I disbelieve in perfection. I recommend complacency. |
| 23:48:22 | → | roboguy_ joins (~roboguy_@cpe-98-156-4-161.kc.res.rr.com) |
| 23:48:30 | <monochrom> | emacs haskell-mode is more than good enough for me. |
| 23:48:36 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 23:49:03 | <afidegnum> | ok |
| 23:49:09 | <monochrom> | Especially given the trivial amount of installation time and disk space it takes. |
| 23:49:50 | <monochrom> | Something better than it by 10% exists, but it costs 10 times more. |
| 23:50:21 | → | jgeerds joins (~jgeerds@55d4a547.access.ecotel.net) |
| 23:51:48 | × | ix quits (~ix@2a02:8010:674f:0:a71f:d8ff:17eb:65ba) (Ping timeout: 252 seconds) |
| 23:53:39 | <monochrom> | byorgey: In disco's case expressions, have you considered changing "when <e> is <pat>" to "if <e> is <pat>" so there is one fewer reserved word to learn? Or would it be too hard for the parser? |
| 23:54:11 | <Axman6> | VS Code is the most popular choice these days, according to the last haskell language survey afidegnum, haskell-language-server works very well with it now too, and doesn't have much of a learning curve |
| 23:54:27 | <geekosaur> | afidegnum, many people like vscode with the haskell extension. it comes with HLS support out of the box |
| 23:54:43 | <geekosaur> | it's not my cup of tea, but see /nick :) |
| 23:54:54 | <jackdk> | I like emacs, but that's because I've spent more than 50% of my life adapting it to me and me to it. This is probably a worthwhile investment if you plan to spend a lot of time coding |
| 23:55:05 | <hpc> | the best development environment is what you can work quickly with, whether it's an IDE or just a "DE" |
| 23:55:25 | <hpc> | a split terminal with vim on one side and ghci on the other has always been enough for me |
| 23:55:27 | <afidegnum> | ok, thanks, i'm using haskell on WSL |
| 23:55:36 | <afidegnum> | so I think Vscode would work |
| 23:55:47 | <Axman6> | you'll probably find life easuier with VS Code in that case |
| 23:55:59 | <hpc> | yeah, on windows vscode is probably best |
| 23:56:08 | <afidegnum> | cool |
| 23:56:08 | <Axman6> | hmm, so apparently I'm not authorised to deop myself :thinkingface: |
| 23:56:19 | ChanServ | sets mode +o geekosaur |
| 23:56:26 | geekosaur | sets mode -o Axman6 |
| 23:56:29 | geekosaur | sets mode -o geekosaur |
| 23:56:43 | <Axman6> | <3 ... though I find that pretty funny |
| 23:56:43 | <hpc> | now what if geekosaur couldn't deop :D |
| 23:56:59 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:57:01 | <EvanR> | emacs cyborg symbiont |
| 23:57:03 | <Axman6> | Simple, I'd reop myself and deop them! |
| 23:57:09 | <afidegnum> | there is a metaprogramming projects i'm working on in python but I guess using haskell would be easier even though i'm a novice |
| 23:57:13 | <hpc> | oh, problem solved then |
| 23:58:12 | → | jgeerds_ joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 23:59:38 | → | Guest89 joins (~Guest89@114.23.127.15) |
| 23:59:58 | <EvanR> | afidegnum, that's how I got into haskell, doing some project at work in complete noob fashion |
All times are in UTC on 2022-02-14.