Logs on 2022-03-07 (liberachat/#haskell)
| 00:02:36 | × | Inst quits (~Liam@2601:6c4:4080:3f80:d0ab:3f36:53e6:70a6) (Ping timeout: 240 seconds) |
| 00:02:43 | <ski> | shapr : since a couple of days :) |
| 00:02:53 | <shapr> | wow, I'm out of the loop |
| 00:04:33 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 00:08:07 | InstX1 | is now known as Inst |
| 00:11:20 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 00:12:02 | × | acidjnk quits (~acidjnk@p200300d0c70d8c985c6dbece2fe5bbc5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 00:12:39 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:14:33 | → | shlevy[m] joins (~shlevymat@2001:470:69fc:105::1:d3b1) |
| 00:15:37 | × | mvk quits (~mvk@2607:fea8:5cc3:7e00::45ee) (Ping timeout: 240 seconds) |
| 00:16:55 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 00:16:55 | <shlevy[m]> | Would it be hard to allow visible dependent quantifiers in types of terms but only allow usage of type variables and type-level constants at the call-site? Basically anything you can currently do with TypeApplications but without requiring the `@`? |
| 00:17:23 | → | vicfred joins (~vicfred@user/vicfred) |
| 00:18:07 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 00:20:04 | × | wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 00:21:11 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 245 seconds) |
| 00:23:39 | × | pilipilihoho quits (~pilipilih@user/pilipilihoho) (Quit: See ya!) |
| 00:25:55 | <geekosaur> | I believe that's due in ghc 9.4 |
| 00:26:03 | <geekosaur> | forall a -> ... |
| 00:26:18 | <shlevy[m]> | geekosaur: We already have that in kinds |
| 00:26:33 | <shlevy[m]> | Is there a relaxation to allow it in the type of a term coming? |
| 00:27:02 | <geekosaur> | you have it in kinds because there's nodifference between a kind and a type (see TypeInType) |
| 00:27:36 | <geekosaur> | 9.4 adds using types as values: given `x :: forall a -> Int -> Int` you can have `x Int 3` |
| 00:27:47 | <geekosaur> | (note the arrow instead of `.`) |
| 00:28:39 | <shlevy[m]> | geekosaur: My point is we *already* allow the arrow instead of the dot in the types of types, i.e. in kinds. That's why I wanted to confirm that we have something new coming in 9.4 specifically for types of terms |
| 00:31:54 | <shlevy[m]> | This works:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/2793fe47d70f95bd4f0b04856db57c5ab892b0d0) |
| 00:32:04 | <shlevy[m]> | s/// |
| 00:32:52 | <shlevy[m]> | This fails:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/5bfbb4cc489d39d6453229737436433bfeb9f733) |
| 00:33:39 | <geekosaur> | I said 9.4 |
| 00:33:48 | × | alp quits (~alp@user/alp) (Ping timeout: 240 seconds) |
| 00:33:49 | <geekosaur> | 9.2.2 was released about an hour ago |
| 00:34:22 | <geekosaur> | also, as best I can tell you are asking if Dependent Haskell exists yet. the answer is "no, and it won't for some time yet" |
| 00:34:33 | <shlevy[m]> | No, this is not dependent haskell |
| 00:34:53 | <shlevy[m]> | As I said, it would be limited to type variables and constants, just like TypeApplications |
| 00:35:15 | <shlevy[m]> | This is no more expressive than current invisible dependent quantification except in terms of ergonomics |
| 00:35:34 | <shlevy[m]> | Do you have a link for the 9.4 change? |
| 00:36:21 | <geekosaur> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0081-forall-arrow.rst |
| 00:36:53 | <shlevy[m]> | geekosaur: Again, *this is already in 9.2*. Check my first example which does compile, it has the forall arrow |
| 00:37:13 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 00:37:34 | <geekosaur> | okay, then I missed something. I had understood it to be a9.4change |
| 00:38:08 | <geekosaur> | you probably want to talk to eisenberg about what you're asking |
| 00:40:55 | → | Goodbye_Vincent joins (~Goodbye_V@freakshells.net) |
| 00:42:10 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 00:47:27 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 00:47:44 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 00:47:44 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 00:47:44 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:59:35 | × | DNH quits (~DNH@2a02:8108:1100:16d8:d9d2:7af1:5c0a:c9d9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:02:26 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 01:03:09 | × | boletales quits (~boletales@p98076-ipoefx.ipoe.ocn.ne.jp) (Ping timeout: 250 seconds) |
| 01:04:16 | → | boletales joins (~boletales@109.25.3.110.ap.yournet.ne.jp) |
| 01:04:52 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 01:05:55 | → | boletales_ joins (~boletales@p98076-ipoefx.ipoe.ocn.ne.jp) |
| 01:08:49 | × | boletales quits (~boletales@109.25.3.110.ap.yournet.ne.jp) (Ping timeout: 256 seconds) |
| 01:10:45 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:14 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection) |
| 01:13:50 | × | cynomys quits (~cynomys@user/cynomys) (Quit: Lost terminal) |
| 01:16:51 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:21:24 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 01:22:07 | → | vysn joins (~vysn@user/vysn) |
| 01:24:00 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:25:09 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:26:08 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:28:44 | × | Inst quits (~Liam@2601:6c4:4080:3f80:2cc2:d132:f33f:4fd4) (Read error: Connection reset by peer) |
| 01:33:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 01:33:22 | × | kaph_ quits (~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
| 01:33:56 | → | Inst joins (~Liam@2601:6c4:4080:3f80:e499:f12d:32a8:5255) |
| 01:34:44 | → | kaph joins (~kaph@net-109-116-124-149.cust.vodafonedsl.it) |
| 01:37:08 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 01:37:28 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 01:38:33 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 01:39:38 | → | notzmv joins (~zmv@user/notzmv) |
| 01:41:18 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 01:41:30 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 01:41:38 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 01:42:49 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-1c52-7a09-75d4-5be2.res6.spectrum.com) |
| 01:42:56 | → | ensyde joins (~ensyde@2600:1700:2050:1040:64f2:c4d3:2ec3:ac49) |
| 01:43:08 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 01:44:49 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) |
| 01:50:10 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 01:50:29 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 01:52:10 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 01:52:18 | × | ensyde quits (~ensyde@2600:1700:2050:1040:64f2:c4d3:2ec3:ac49) (Quit: Leaving) |
| 01:52:32 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 01:54:13 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 01:54:33 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 01:56:27 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 01:56:44 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds) |
| 01:56:49 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:01:02 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:01:16 | × | vicfred quits (~vicfred@user/vicfred) (Ping timeout: 256 seconds) |
| 02:01:21 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:03:05 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:03:22 | → | Batzy_ joins (~quassel@user/batzy) |
| 02:03:25 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:06:37 | × | Batzy quits (~quassel@user/batzy) (Ping timeout: 256 seconds) |
| 02:09:12 | × | ishutin quits (~ishutin@92-249-141-199.pool.digikabel.hu) (Ping timeout: 256 seconds) |
| 02:10:49 | → | ishutin joins (~ishutin@92-249-150-134.static.digikabel.hu) |
| 02:13:58 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:14:21 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:16:01 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:16:22 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:17:47 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 02:19:12 | → | hololeap joins (~hololeap@user/hololeap) |
| 02:22:15 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 02:24:44 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:25:05 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:25:25 | × | chenqisu1 quits (~chenqisu1@183.217.201.47) (Remote host closed the connection) |
| 02:28:42 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:29:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:30:42 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:31:00 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:31:19 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 02:31:40 | → | chenqisu1 joins (~chenqisu1@183.217.201.47) |
| 02:32:19 | × | chenqisu1 quits (~chenqisu1@183.217.201.47) (Max SendQ exceeded) |
| 02:34:22 | → | chenqisu1 joins (~chenqisu1@183.217.201.47) |
| 02:37:12 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:37:30 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:37:39 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:38:49 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 02:40:13 | → | bahamas joins (~lucian@84.232.140.52) |
| 02:40:19 | × | chenqisu1 quits (~chenqisu1@183.217.201.47) (Read error: Connection reset by peer) |
| 02:41:05 | → | chenqisu1 joins (~chenqisu1@183.217.201.47) |
| 02:42:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:45:02 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds) |
| 02:46:32 | × | aeka quits (~aeka@user/hiruji) (Ping timeout: 240 seconds) |
| 02:47:07 | → | aeka joins (~aeka@user/hiruji) |
| 02:50:09 | × | aeka quits (~aeka@user/hiruji) (Client Quit) |
| 02:50:36 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 02:50:45 | → | aeka joins (~aeka@user/hiruji) |
| 02:52:30 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:52:51 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 02:55:17 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 02:56:36 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 02:58:44 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 02:59:06 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:01:24 | → | mbuf joins (~Shakthi@110.225.240.104) |
| 03:03:16 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:03:36 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:03:53 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:09:31 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:10:12 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:11:21 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 03:12:40 | × | agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds) |
| 03:17:42 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 03:18:07 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 03:20:50 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:21:19 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:23:28 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:23:47 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving) |
| 03:23:48 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:24:57 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 03:27:08 | → | Guest|9 joins (~Guest|9@fixed-187-190-165-171.totalplay.net) |
| 03:29:04 | <dons> | oh man got a 80cm monitor. what a game changer. |
| 03:29:34 | <dolio> | What did you have before? |
| 03:29:47 | <dons> | oh, i've been on the road for a few months, so living off laptop screens. |
| 03:30:03 | <dolio> | Oh yeah. Much nicer than that. :) |
| 03:30:05 | <dons> | mostly on 16" macbook |
| 03:32:10 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:32:33 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:32:47 | <dons> | so at 32"/80cm you can comfortably have 3x2 124col terms in a grid |
| 03:33:08 | <dons> | or 4x2 @ 92cols |
| 03:33:28 | <dons> | (accounting for fontsize at my aging eyesight) |
| 03:33:57 | × | Guest|9 quits (~Guest|9@fixed-187-190-165-171.totalplay.net) (Quit: Connection closed) |
| 03:34:05 | <sm> | congrats! |
| 03:34:31 | → | ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com) |
| 03:39:15 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 03:39:56 | × | Nahra` quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection) |
| 03:40:21 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 245 seconds) |
| 03:42:37 | → | cianky_ joins (~cianky@136.206.239.15) |
| 03:43:24 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 240 seconds) |
| 03:43:58 | ← | cianky_ parts (~cianky@136.206.239.15) () |
| 03:45:46 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:46:06 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:47:47 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:47:50 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:48:07 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:49:47 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:50:10 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:50:10 | → | xkuru joins (~xkuru@user/xkuru) |
| 03:50:30 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:50:32 | × | worldhelloworld1 quits (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:52:12 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:52:17 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 03:52:31 | → | xkuru joins (~xkuru@user/xkuru) |
| 03:52:34 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:56:32 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 03:56:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 03:58:09 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection) |
| 03:58:09 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 04:00:30 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:00:50 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:02:31 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:02:51 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:04:32 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:04:52 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:06:45 | × | ishutin quits (~ishutin@92-249-150-134.static.digikabel.hu) (Ping timeout: 256 seconds) |
| 04:08:11 | → | ishutin joins (~ishutin@92-249-150-134.static.digikabel.hu) |
| 04:11:51 | <Axman6> | dons: yeah I couldn't do my current job without a monitor that big, I recently needed to have a 3x2 grid of three different files (each split in two) just to begin to understand the code I'm trying to replace. Turns out you csn write Java in Haskell if you try hard enough |
| 04:13:32 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:13:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:15:33 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:15:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:16:33 | × | Unicorn_Princess quits (~Unicorn_P@46-54-248-191.static.kate-wing.si) (Quit: Leaving) |
| 04:19:46 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:20:07 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:21:24 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 04:22:12 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 04:22:12 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 04:25:53 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 04:27:02 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 04:28:42 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:29:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:29:16 | → | xkuru joins (~xkuru@user/xkuru) |
| 04:32:48 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:33:07 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:33:08 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 04:33:52 | × | lechner_ quits (~lechner@debian/lechner) (Quit: WeeChat 3.0) |
| 04:33:58 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 04:33:58 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 04:34:31 | → | lechner joins (~lechner@debian/lechner) |
| 04:35:14 | → | xkuru joins (~xkuru@user/xkuru) |
| 04:36:55 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:37:14 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:38:10 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 04:39:56 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds) |
| 04:43:34 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:44:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:44:18 | zero | is now known as zzz |
| 04:46:48 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 04:48:28 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:48:51 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:49:48 | × | soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds) |
| 04:52:38 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:52:43 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 04:52:58 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:54:36 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds) |
| 04:56:36 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 04:56:54 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 04:57:02 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 04:57:45 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 04:58:01 | <Axman6> | @where ops |
| 04:58:01 | <lambdabot> | byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski |
| 04:58:10 | <Axman6> | ops: cc123652345762x ^ |
| 04:59:11 | <dibblego> | gawn |
| 04:59:23 | <Axman6> | flaky connection though |
| 05:00:19 | ChanServ | sets mode +o litharge |
| 05:00:20 | litharge | sets mode +b cc123652345762!~cc1236523@116.24.67.150##fix-your-connection |
| 05:00:27 | <Axman6> | <3 |
| 05:00:30 | litharge | sets mode -o litharge |
| 05:02:28 | ChanServ | sets mode +o litharge |
| 05:02:30 | litharge | sets mode +b cc123652345762!~cc1236523@116.24.67.150$##fix-your-connection |
| 05:02:31 | cc123652345762 | is kicked by litharge (You are banned from this channel (by ski)) |
| 05:02:40 | litharge | sets mode -o litharge |
| 05:05:01 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 05:08:29 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 05:08:45 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 05:09:31 | × | liz quits (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection) |
| 05:11:14 | → | xkuru joins (~xkuru@user/xkuru) |
| 05:12:48 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds) |
| 05:13:19 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 05:16:53 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 05:19:02 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Ping timeout: 256 seconds) |
| 05:19:34 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 05:20:44 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 05:21:06 | → | kimjetwav joins (~user@2607:fea8:2363:8f00:979b:b492:f897:b694) |
| 05:21:31 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 05:21:36 | → | xkuru joins (~xkuru@user/xkuru) |
| 05:25:14 | → | soxen joins (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 05:25:49 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 05:30:19 | ChanServ | sets mode +o litharge |
| 05:30:20 | litharge | sets mode -bo cc123652345762!~cc1236523@116.24.67.150##fix-your-connection litharge |
| 05:31:29 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 05:31:47 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 05:36:53 | → | `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net) |
| 05:38:25 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 05:38:41 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 05:38:41 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 05:38:41 | → | wroathe joins (~wroathe@user/wroathe) |
| 05:40:48 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Leaving) |
| 05:41:33 | × | wroathe quits (~wroathe@user/wroathe) (Client Quit) |
| 05:42:22 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 05:42:25 | → | zmt00 joins (~zmt00@user/zmt00) |
| 05:43:00 | × | soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds) |
| 05:44:25 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 05:44:26 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 05:44:26 | → | wroathe joins (~wroathe@user/wroathe) |
| 05:44:56 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 05:46:14 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds) |
| 05:47:41 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 05:48:14 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 05:48:16 | × | lumberjack123 quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 05:48:17 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 240 seconds) |
| 05:48:54 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 05:50:46 | × | `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 256 seconds) |
| 05:54:43 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 05:55:35 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 05:56:14 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 05:58:11 | → | coot joins (~coot@213.134.190.95) |
| 05:58:48 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:58:54 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:01:23 | × | foul_owl quits (~kerry@23.82.193.89) (Quit: WeeChat 2.3) |
| 06:02:30 | ChanServ | sets mode +o litharge |
| 06:02:31 | litharge | sets mode -bo cc123652345762!~cc1236523@116.24.67.150$##fix-your-connection litharge |
| 06:03:33 | → | foul_owl joins (~kerry@174-21-76-71.tukw.qwest.net) |
| 06:03:48 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 06:04:55 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:06:05 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:11:30 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 06:14:20 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:16:12 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 06:18:57 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 06:19:00 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 06:19:11 | → | lavaman joins (~lavaman@98.38.249.169) |
| 06:20:09 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 06:21:30 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:23:19 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 06:23:57 | × | ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:26:08 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:26:30 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:26:32 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 06:26:43 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 06:27:25 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 06:27:33 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.4) |
| 06:28:38 | → | da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff) |
| 06:30:07 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds) |
| 06:32:08 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 06:35:12 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:35:32 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:37:13 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:37:14 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:37:33 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:39:13 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:39:32 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:40:13 | → | cynomys joins (~cynomys@user/cynomys) |
| 06:41:54 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:42:16 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:42:20 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 06:42:46 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:45:58 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:46:19 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:47:59 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 06:48:18 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 06:48:29 | → | liz joins (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) |
| 06:48:52 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 06:50:12 | × | kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 06:50:46 | × | cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50) |
| 06:51:38 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 06:56:31 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 06:57:06 | → | kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 06:58:44 | → | agumonkey joins (~user@88.163.231.79) |
| 06:59:06 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 07:01:16 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:01:38 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:01:39 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 07:02:54 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:03:50 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 07:03:52 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds) |
| 07:05:32 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:05:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:06:42 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 07:09:40 | × | liz quits (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection) |
| 07:10:53 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 07:11:30 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 07:11:53 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 07:12:56 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 07:13:37 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 07:16:20 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 07:17:22 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 07:18:37 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 07:21:06 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:21:26 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:21:56 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 07:25:08 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 07:25:28 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 07:27:20 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:27:40 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:28:08 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 07:28:26 | × | boletales_ quits (~boletales@p98076-ipoefx.ipoe.ocn.ne.jp) (Remote host closed the connection) |
| 07:30:33 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 07:30:49 | × | da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:33:34 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:33:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:35:34 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:35:52 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:37:01 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 07:37:53 | → | namkeleser joins (~namkelese@101.175.104.107) |
| 07:37:55 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 07:38:28 | → | vorpuni joins (~pvorp@2001:861:3881:c690:4511:759b:ea40:3933) |
| 07:39:23 | → | da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff) |
| 07:42:04 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 07:42:07 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 07:42:23 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 07:42:27 | <Cheery> | wow. catched a bug with code coverage. |
| 07:42:28 | × | vorpuni quits (~pvorp@2001:861:3881:c690:4511:759b:ea40:3933) (Remote host closed the connection) |
| 07:43:06 | → | michalz joins (~michalz@185.246.204.65) |
| 07:43:43 | <Cheery> | now I'm wondering whether there's a tool to diff code coverage graphs. |
| 07:43:52 | <Cheery> | I did it visually by comparing markups. |
| 07:45:15 | → | vorpuni joins (~pvorp@2001:861:3881:c690:8ac1:68a6:89a:bc52) |
| 07:45:52 | × | vorpuni quits (~pvorp@2001:861:3881:c690:8ac1:68a6:89a:bc52) (Client Quit) |
| 07:45:57 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 07:47:20 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 07:48:47 | <dminuoso> | Cheery: You can probably jury rig something together with https://hackage.haskell.org/package/tree-diff |
| 07:51:51 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:623a:34aa:5c8e:6872) |
| 07:52:28 | → | liz joins (~liz@host109-151-125-217.range109-151.btcentralplus.com) |
| 07:52:38 | × | da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:54:36 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 07:54:56 | → | da39a3ee5e6b4b0d joins (~textual@mx-ll-171.5.18-125.dynamic.3bb.co.th) |
| 07:56:23 | → | fendor joins (~fendor@91.141.40.111.wireless.dyn.drei.com) |
| 07:58:46 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 08:02:24 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:03:17 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Client Quit) |
| 08:05:53 | → | aiden joins (~iceneko@user/iceneko) |
| 08:08:42 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 08:09:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 08:09:59 | × | aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:10:03 | × | namkeleser quits (~namkelese@101.175.104.107) (Quit: Ping timeout (120 seconds)) |
| 08:10:08 | × | eriol quits (~eriol@user/eriol) (Quit: Ping timeout (120 seconds)) |
| 08:10:19 | → | aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de) |
| 08:10:25 | → | eriol joins (~eriol@user/eriol) |
| 08:10:26 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 08:11:23 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 08:11:28 | → | InstX1 joins (~Liam@2601:6c4:4080:3f80:2121:51c:b67:36c3) |
| 08:12:23 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 08:12:57 | × | Inst quits (~Liam@2601:6c4:4080:3f80:e499:f12d:32a8:5255) (Ping timeout: 240 seconds) |
| 08:14:04 | × | qwedfg quits (~qwedfg@user/qwedfg) (Quit: ZNC - https://znc.in) |
| 08:14:22 | → | alp joins (~alp@user/alp) |
| 08:15:11 | → | acidjnk joins (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de) |
| 08:15:27 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 08:16:36 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 245 seconds) |
| 08:18:50 | → | jonathanx_ joins (~jonathan@c-5eea36c9-74736162.cust.telenor.se) |
| 08:18:51 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 08:21:30 | × | jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds) |
| 08:23:32 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 08:24:05 | InstX1 | is now known as Inst |
| 08:24:37 | × | ncopa quits (~ncopa@gbr2-dev1.alpinelinux.org) (Changing host) |
| 08:24:37 | → | ncopa joins (~ncopa@alpine/developer/ncopa) |
| 08:26:17 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 08:26:35 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 08:26:37 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 08:28:18 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 08:28:37 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 08:29:25 | → | MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) |
| 08:30:13 | × | foul_owl quits (~kerry@174-21-76-71.tukw.qwest.net) (Ping timeout: 272 seconds) |
| 08:30:28 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 08:30:38 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 08:31:52 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 08:33:49 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 08:34:08 | → | kmein joins (~weechat@user/kmein) |
| 08:37:02 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 08:37:22 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 08:39:03 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 08:39:20 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 08:39:23 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 08:40:52 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:43:37 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 08:43:49 | → | foul_owl joins (~kerry@23.82.193.87) |
| 08:44:26 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 08:45:19 | → | da39a3ee5e6b4b0_ joins (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100) |
| 08:46:26 | × | da39a3ee5e6b4b0d quits (~textual@mx-ll-171.5.18-125.dynamic.3bb.co.th) (Ping timeout: 256 seconds) |
| 08:47:21 | × | da39a3ee5e6b4b0_ quits (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100) (Client Quit) |
| 08:48:02 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 08:50:04 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 08:50:25 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 08:53:56 | → | mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 08:57:15 | → | chele joins (~chele@user/chele) |
| 08:57:26 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 08:58:08 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 08:58:31 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 08:58:57 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer) |
| 08:59:21 | → | jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 08:59:33 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 09:00:10 | × | marijan quits (~marijanma@2001:470:69fc:105::1:6cce) (Quit: You have been kicked for being idle) |
| 09:02:08 | × | jonathanx_ quits (~jonathan@c-5eea36c9-74736162.cust.telenor.se) (Ping timeout: 268 seconds) |
| 09:04:34 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 09:06:23 | → | kuribas joins (~user@ptr-25vy0ia80zmfb26ginl.18120a2.ip6.access.telenet.be) |
| 09:09:54 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:10:14 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 09:12:16 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 09:12:57 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 09:18:49 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:19:10 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 09:20:07 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 09:22:05 | ← | aiden parts (~iceneko@user/iceneko) (Leaving) |
| 09:22:42 | → | soxen joins (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 09:25:05 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 252 seconds) |
| 09:26:39 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 09:27:27 | → | `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net) |
| 09:27:57 | × | ishutin quits (~ishutin@92-249-150-134.static.digikabel.hu) (Ping timeout: 240 seconds) |
| 09:29:44 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:29:56 | → | ishutin joins (~ishutin@193-110-63-40.cable-modem.hdsnet.hu) |
| 09:30:04 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 09:31:44 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:31:47 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds) |
| 09:32:04 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 09:33:33 | × | mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds) |
| 09:33:41 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 09:35:58 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:36:17 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 09:38:36 | × | romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 09:41:20 | → | __monty__ joins (~toonn@user/toonn) |
| 09:42:04 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 09:42:17 | → | da39a3ee5e6b4b0d joins (~textual@171.5.29.46) |
| 09:46:40 | → | mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 09:53:32 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:53:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 09:54:43 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:56:21 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 272 seconds) |
| 09:58:01 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 09:58:24 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 10:00:11 | <kuribas> | Would it be possible to have an "easy" language, that still has the advantages of haskell? |
| 10:00:41 | <kuribas> | Like making side-effects explicit, easy concurrency, function composition, ... |
| 10:00:53 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 10:00:58 | <kuribas> | But without requiring everything to be a monad or monad transformer, using folds for everything... |
| 10:01:41 | <dminuoso> | Nothing requires you to use monad transformers. |
| 10:01:47 | <dminuoso> | That's just a choice people make. |
| 10:02:01 | <dminuoso> | Take a look at GHC, its essentially just a big ball of IO |
| 10:02:10 | <kuribas> | Well, at least you will want ReaderT r IO, no? |
| 10:02:15 | <Inst> | it's just a standard, as some people say, Haskell is more a metalanguage (in the sense that you have 20 different ways to do something) than a language |
| 10:02:27 | <dminuoso> | kuribas: You can pass dictionaries/dependencies explicitly or use global IORefs. |
| 10:02:34 | <dminuoso> | The same as with any other language. |
| 10:04:00 | <kuribas> | so that language is haskell, minus the complicated parts? |
| 10:04:56 | <kuribas> | And instead of EitherT use exceptions? |
| 10:05:12 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:07:43 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 10:08:09 | <lortabac> | kuribas: I have thought about this for a long time, I think a "simpler Haskell" would need a couple of built-in features for things that we do at library level |
| 10:08:27 | <kuribas> | and be strict probably |
| 10:09:04 | <lortabac> | specifically, better support for implicit parameters (to avoid Reader), some syntactic sugar for State (something like Prolog's DCG's) |
| 10:09:18 | <lortabac> | and built-in lenses or at least better records |
| 10:09:37 | <kuribas> | extensible records like purescript? |
| 10:09:40 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 10:09:48 | → | romesrf joins (~romes@44.190.189.46.rev.vodafone.pt) |
| 10:10:31 | <lortabac> | not necessarily extensible, but it should at least allow duplicated fields, maybe through some built-in constraint like HasField |
| 10:11:17 | <lortabac> | actually I had started working on such a language, but I don't have the time (nor probably the skills) to complete the work alone |
| 10:11:38 | <lortabac> | and I'm not even sure the world needs yet another programming language |
| 10:12:01 | <lortabac> | after all, it might be more reasonable to just learn to live with Haskell's quirks |
| 10:12:46 | <merijn> | The world needs load more programming languages |
| 10:12:54 | <merijn> | As long as they aren't boring reskins of C/Java |
| 10:13:17 | <dminuoso> | lortabac: Im not convinced HasField is going to make things better. |
| 10:13:44 | <dminuoso> | One of the major issues Haskell has is how we encode these things via typeclasses, at the great cost of extremely poor diagnostics. |
| 10:13:56 | <dminuoso> | Rather than "X has no field XYZ" you get failed constrained errors |
| 10:14:18 | <lortabac> | dminuoso: to be clear, we are talking about an imaginary new language which is simpler than Haskell |
| 10:14:27 | <lortabac> | not about using HasField in Haskell |
| 10:14:45 | <kuribas> | merijn: or crappy dynamic languages where proper semantics are an afterthought. |
| 10:14:50 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 10:15:56 | <lortabac> | personally I'd just propose a new language if it offers some substantial improvement/advantage/use case over the existing ones |
| 10:16:16 | <lortabac> | if it's just Haskell minus transformers I'm hesitant to advertise it to the world |
| 10:16:32 | <dminuoso> | I dont think this "minus transformers" proposition is really important. |
| 10:16:43 | <kuribas> | Maybe something like f# is more suitable for mainstream? |
| 10:16:51 | <dminuoso> | f# is a nasty piece of work |
| 10:17:03 | <lortabac> | I do think transformers are a big obstacle to simplicity in Haskell |
| 10:17:21 | × | mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 10:18:11 | <dminuoso> | lortabac: transformers are not a necessity. they are just some overhead when deciphering other peoples code. |
| 10:18:17 | <dminuoso> | Except ReaderT perhaps |
| 10:18:34 | <kuribas> | dminuoso: they are convenient to create parsers for example. |
| 10:18:45 | <kuribas> | Not necessary, but they can take away the builerplate. |
| 10:18:47 | <dminuoso> | Not as transformers. |
| 10:18:54 | <dminuoso> | parsers are usually handcrafted monads. |
| 10:19:18 | <dminuoso> | megaparsec is a bit odd since it gives you a whole transformer, but you dont have to actually use it |
| 10:19:19 | <kuribas> | Perhaps, but I find it easier to create them using mtl. |
| 10:19:40 | <lortabac> | they are a necessity, because whatever abstraction you come up with, you need to know how to compose it with existing abstractions, and that usually involves transformers |
| 10:19:41 | <kuribas> | Saves me from the plumbing, plus it's more likely to be correct, easier to adapt, etc... |
| 10:20:01 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 10:20:03 | <kuribas> | lortabac: perhaps a language could have effects builtin, and use transformer under the hood? |
| 10:20:07 | <dminuoso> | lortabac: I dont know about that, over the past 3 years Ive successfully managed with just ReaderT (and that's just for convenience) |
| 10:20:19 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:20:23 | <dminuoso> | Writing composable software is somewhat orthogonal to transformers |
| 10:20:35 | <lortabac> | kuribas: yes, more built-in effects is the idea that I explored with my language |
| 10:21:26 | <kuribas> | dminuoso: one problem I found nicely solved with monads and applicatives is validation/error reporting. How would you do it without effects? |
| 10:21:38 | × | maerwald quits (~maerwald@user/maerwald) (Quit: gone) |
| 10:21:51 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 10:21:54 | <kuribas> | Just use a IORef to collect them? |
| 10:22:00 | <dminuoso> | Yes. |
| 10:22:13 | <kuribas> | Then there is still the problem that I would to collect all errors. |
| 10:22:18 | → | maerwald joins (~maerwald@mail.hasufell.de) |
| 10:22:28 | <dminuoso> | This is how we have warnings, failable and fatal errors in our large project |
| 10:22:38 | <kuribas> | Foo <$> trythis <*> andthat <*> alsoThat. |
| 10:22:52 | <dminuoso> | Write a custom monad instance |
| 10:23:00 | <dminuoso> | The advantage is nobody has to understand bizarre interactions of monad transformers |
| 10:23:06 | <dminuoso> | You can look at what >> does in my code |
| 10:23:12 | <kuribas> | If I throw with trythis, I don't see the error of "andthat" and "alsoThat". |
| 10:23:27 | <dminuoso> | I also have >|> for example, which only proceeds if no failable erros are set |
| 10:23:42 | × | maerwald quits (~maerwald@mail.hasufell.de) (Changing host) |
| 10:23:42 | → | maerwald joins (~maerwald@user/maerwald) |
| 10:24:12 | <kuribas> | Isn't that just <*> though? |
| 10:24:15 | <merijn> | monad transformers are pretty okay |
| 10:24:24 | <merijn> | exposing them as part of your public API is the problem |
| 10:24:31 | <dminuoso> | kuribas: No the point is I have this: |
| 10:25:44 | <dminuoso> | kuribas: https://gist.github.com/dminuoso/be53ec068306073650802d157ea02e5a |
| 10:26:53 | <dminuoso> | So now I have >> which simply proceeds irrespective of errors, and then I construct phases that can only pass if no errors are set using >|> |
| 10:27:07 | <dminuoso> | sort of like `(f >> g >> h) >|> (x >> y >> z)` |
| 10:27:34 | <dminuoso> | So in my case, I dont even need a custom monad instance. |
| 10:27:37 | <dminuoso> | It's just plain IO |
| 10:28:23 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 10:29:42 | <kuribas> | hmm, something like that could work... |
| 10:30:11 | <kuribas> | It'll be more beginner friendly, but still nicely composable. |
| 10:31:02 | <kuribas> | maybe I could use a newtype over IO to get validation like behaviour. |
| 10:31:22 | <kuribas> | dminuoso: what is Comp? |
| 10:31:29 | <kuribas> | Comp is not IO, is it? |
| 10:31:35 | <dminuoso> | 1newtype Comp e a = Comp { runComp :: ReaderT (CompEnv e) IO a |
| 10:32:03 | <kuribas> | so a transformer :) |
| 10:32:23 | <dminuoso> | Sure, but its not really necesary |
| 10:32:34 | <dminuoso> | But for the convenience of monad you need either this or global IORefs |
| 10:32:49 | <dminuoso> | Or you parametrize everything |
| 10:33:21 | <dminuoso> | The key thing is, we just use ReaderT and isomorphic things so we have access to MonadUnliftIO |
| 10:34:32 | × | MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 240 seconds) |
| 10:35:04 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection) |
| 10:35:42 | → | bahamas joins (~lucian@84.232.140.52) |
| 10:35:44 | → | MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) |
| 10:38:33 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 10:38:52 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 10:40:33 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 10:40:51 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 10:42:02 | → | DNH joins (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99) |
| 10:42:37 | × | agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds) |
| 10:44:01 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:3499:893c:26f0:bcd0) (Remote host closed the connection) |
| 10:46:14 | × | da39a3ee5e6b4b0d quits (~textual@171.5.29.46) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 10:46:59 | → | ccntrq joins (~Thunderbi@2a01:c22:8df3:2600:efac:1374:1f51:a914) |
| 10:51:20 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 10:51:39 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 10:53:59 | × | jespada quits (~jespada@85.255.234.169) (Ping timeout: 272 seconds) |
| 10:55:18 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 10:55:37 | → | Vajb joins (~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813) |
| 10:56:18 | → | jespada joins (~jespada@85.255.234.169) |
| 10:57:59 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 10:58:18 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 10:59:55 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:02:25 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:02:44 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:02:54 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 11:03:13 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 11:04:42 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds) |
| 11:07:01 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:07:21 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:09:01 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:09:20 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:11:00 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:11:18 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:12:59 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:13:17 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:14:58 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:15:16 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:16:57 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:17:15 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:17:50 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 11:18:04 | → | fendor_ joins (~fendor@178.115.53.79.wireless.dyn.drei.com) |
| 11:18:18 | × | soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
| 11:20:36 | × | fendor quits (~fendor@91.141.40.111.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 11:25:21 | × | MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds) |
| 11:27:15 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:30:26 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:30:45 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:31:36 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 11:34:24 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:34:42 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:34:45 | × | ishutin quits (~ishutin@193-110-63-40.cable-modem.hdsnet.hu) (Ping timeout: 256 seconds) |
| 11:35:29 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) |
| 11:36:33 | → | ishutin joins (~ishutin@80-95-86-73.pool.digikabel.hu) |
| 11:38:07 | × | DNH quits (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 11:38:28 | → | DNH joins (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99) |
| 11:39:05 | ← | adamcstephens[m] parts (~adamcstep@2001:470:69fc:105::1:72a2) () |
| 11:39:37 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Ping timeout: 240 seconds) |
| 11:42:54 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:43:14 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:46:52 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 11:47:10 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 11:48:37 | × | DNH quits (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 11:53:17 | <kuribas> | is there a "simple" alternative to Endo? |
| 11:53:22 | → | DNH joins (~DNH@2a02:8108:1100:16d8:598a:8b0b:9405:6e26) |
| 11:53:42 | <kuribas> | I really like Endo, since you can represent partial information in a typesafe way. |
| 11:56:02 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 272 seconds) |
| 11:57:07 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 11:57:16 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 11:59:13 | <byorgey> | kuribas: what is it about Endo that isn't simple enough? |
| 11:59:28 | <kuribas> | byorgey: it scares beginners... |
| 12:02:27 | <byorgey> | ah. |
| 12:02:58 | <kuribas> | But I think there are far more scary things in imperative programs than Endo... |
| 12:04:38 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:04:42 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 12:04:59 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:05:46 | <maerwald> | kuribas: can you tell me the result of `appEndo "Haskell" $ Endo ("Hello, " ++) <> Endo (++ "?") <> Endo ("!" ++)` without squinting a few times? :p |
| 12:06:44 | <kuribas> | type error? |
| 12:06:58 | <kuribas> | btw, for strings I would use DList. |
| 12:07:21 | <maerwald> | no, it works =) |
| 12:07:48 | <maerwald> | tldr: Endo *is* confusing, depending on how you use it |
| 12:08:05 | <maerwald> | similarly to ContT |
| 12:08:11 | <kuribas> | > appEndo "foo" $ Endo ("bar" ++) |
| 12:08:12 | <lambdabot> | error: |
| 12:08:12 | <lambdabot> | • Couldn't match expected type ‘Endo (Endo [Char])’ |
| 12:08:12 | <lambdabot> | with actual type ‘[Char]’ |
| 12:08:28 | <kuribas> | type error |
| 12:08:43 | <maerwald> | flip appEndo |
| 12:08:59 | <kuribas> | maerwald: so don't do that? Use DList. |
| 12:09:15 | <maerwald> | that doesn't make Endo better :p |
| 12:09:17 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 12:09:48 | <kuribas> | <maerwald> tldr: Endo *is* confusing, depending on how you use it |
| 12:09:52 | <kuribas> | So don't use it like that. |
| 12:09:55 | <kuribas> | problem solved. |
| 12:10:08 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:10:18 | × | jespada quits (~jespada@85.255.234.169) (Quit: Textual IRC Client: www.textualapp.com) |
| 12:10:32 | <kuribas> | maerwald: do you hammer nails using a screwdriver? |
| 12:10:34 | <maerwald> | well, then you could argue imperative programming is fine as well, if you use it sensibly |
| 12:10:39 | <maerwald> | yet, here we are |
| 12:11:28 | <kuribas> | I mean, for some cases it "is" fine. |
| 12:12:57 | <kuribas> | if you have a proper architecture, people who know what they do, not strong demands on correcness, imperative is also fine. |
| 12:13:07 | <kuribas> | Just not something which I personally like to program with. |
| 12:13:45 | → | agumonkey joins (~user@88.163.231.79) |
| 12:13:57 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 12:15:46 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:16:04 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:17:45 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:18:03 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:20:04 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 12:22:00 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:22:18 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:23:59 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:24:17 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:25:31 | <dminuoso> | 12:59:13 byorgey | kuribas: what is it about Endo that isn't simple enough? |
| 12:25:33 | <dminuoso> | Its uses |
| 12:25:42 | <dminuoso> | foldr f z t = appEndo (foldMap (Endo #. f) t) z |
| 12:26:09 | <dminuoso> | It's hard to decipher what happens |
| 12:26:27 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 12:28:14 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:28:33 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:31:00 | → | akegalj joins (~akegalj@78-1-170-211.adsl.net.t-com.hr) |
| 12:31:03 | → | namkeleser joins (~namkelese@101.175.104.107) |
| 12:32:43 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:33:02 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:34:02 | × | Inst quits (~Liam@2601:6c4:4080:3f80:2121:51c:b67:36c3) (Ping timeout: 240 seconds) |
| 12:37:43 | → | Inst joins (~Liam@2601:6c4:4080:3f80:e86b:808f:b5aa:dc47) |
| 12:39:02 | × | acidjnk quits (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 12:39:28 | → | Pickchea joins (~private@user/pickchea) |
| 12:43:03 | <int-e> | Well, read (#.) as (.); once you do that, foldr f z [a,b,c] = (f a . f b . f c) z seems to be the hardest step in understanding that. :-P |
| 12:43:56 | <int-e> | You have to know about 3 abstractions. That's a serious barrier to understanding it from scratch, obviously. |
| 12:44:27 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 12:46:08 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 12:46:27 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 12:46:30 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: Ping timeout (120 seconds)) |
| 12:47:24 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 12:47:59 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 12:48:21 | <kuribas> | dminuoso: But is it the concept of Endo which is difficult, or the use in this case? |
| 12:48:34 | → | InstX1 joins (~Liam@2601:6c4:4080:3f80:8dd6:530e:bda9:6ea2) |
| 12:48:54 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:49:34 | → | coot joins (~coot@213.134.190.95) |
| 12:51:48 | × | Inst quits (~Liam@2601:6c4:4080:3f80:e86b:808f:b5aa:dc47) (Ping timeout: 240 seconds) |
| 12:53:06 | → | soxen joins (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 12:53:59 | <dminuoso> | int-e: Of course, if you are able to inline definitions in your head always.. :) |
| 12:59:42 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 13:00:57 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 13:03:25 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
| 13:03:42 | → | bahamas joins (~lucian@84.232.140.52) |
| 13:06:38 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:06:56 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:08:37 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:08:55 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:09:01 | × | chenqisu1 quits (~chenqisu1@183.217.201.47) (Quit: Leaving) |
| 13:10:12 | × | sprout quits (~quassel@2a02:a467:ccd6:1:84ab:e3a9:1ea3:da7a) (Ping timeout: 240 seconds) |
| 13:11:25 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds) |
| 13:13:18 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:13:37 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:13:54 | × | `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 256 seconds) |
| 13:15:38 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:15:44 | × | namkeleser quits (~namkelese@101.175.104.107) (Quit: Client closed) |
| 13:15:59 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:17:39 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:17:57 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:18:41 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 13:20:13 | <maerwald[m]> | dminuoso: even if you can, it's wasted intellectual energy. Wasn't that the reason we abandoned imperative programming because reasoning about global state is just too hard? |
| 13:21:03 | → | Topsi joins (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) |
| 13:24:20 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:24:40 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:24:41 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:25:21 | × | ishutin quits (~ishutin@80-95-86-73.pool.digikabel.hu) (Ping timeout: 272 seconds) |
| 13:25:57 | <merijn> | I mean, you can do imperative programming without global state... |
| 13:26:01 | <merijn> | See IO |
| 13:26:12 | <kuribas> | It's global complexity vs local complexity. I find often haskell code is locally complex, like it takes some time to understand how a function or abstraction works. However, globally it becomes more modular and easy to reason about. |
| 13:26:49 | → | ishutin joins (~ishutin@fibhost-66-106-209.fibernet.hu) |
| 13:26:53 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 13:27:54 | <dminuoso> | maerwald[m]: There's certainly something to that. The complexity of trying to get LoggingT into servant is quite absurd. |
| 13:28:31 | <dminuoso> | If on the other hand we had a logger using global state, things get real simple,. |
| 13:28:51 | <kuribas> | logger using ReaderT is pretty easy as well. |
| 13:28:56 | <kuribas> | No need for global state |
| 13:29:04 | <dminuoso> | kuribas: With servant? |
| 13:29:10 | <dminuoso> | If you know how, its easy yes. |
| 13:29:44 | <kuribas> | If you already have ReaderT, adding a logger is easy. |
| 13:29:54 | <maerwald[m]> | merijn: that's exactly the point. You can do sensible imperative programming, but... you're not forced to. |
| 13:30:25 | <dminuoso> | kuribas: That's my point, getting a ReaderT/LoggingT into servant requires special combinators and the code looks incredibly scary. |
| 13:31:42 | → | coot joins (~coot@213.134.190.95) |
| 13:31:56 | <maerwald[m]> | kuribas: global complexity can very easily leak into Haskell programs too, eg when the primary state is your filesystem |
| 13:32:13 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 13:32:43 | <maerwald[m]> | Or a blockchain xD |
| 13:32:56 | <romesrf> | is there a way to constrain a type family? say: type family F a, but all instances of F a must satisfy Monoid (F a) |
| 13:33:10 | <romesrf> | type family (Monoid F a) => F a :P |
| 13:33:27 | <maerwald[m]> | dminuoso: you can use your own app monad in servant |
| 13:33:38 | <dminuoso> | maerwald[m]: of course, Im not saying its impossible |
| 13:33:47 | <dminuoso> | We do this in all our servant apps |
| 13:33:48 | <maerwald[m]> | https://docs.servant.dev/en/stable/cookbook/using-custom-monad/UsingCustomMonad.html |
| 13:33:53 | <dminuoso> | Yeah I know |
| 13:34:13 | <merijn> | romesrf: Not really? |
| 13:34:14 | <maerwald[m]> | It gets complicated when there's no existing instance |
| 13:34:22 | × | InstX1 quits (~Liam@2601:6c4:4080:3f80:8dd6:530e:bda9:6ea2) (Ping timeout: 250 seconds) |
| 13:34:26 | <dminuoso> | maerwald[m]: So if I was a curious newbie I might be tempted to look at this: |
| 13:34:33 | <dminuoso> | genericServeTWithContext :: forall (routes :: * -> *) (m :: * -> *) (ctx :: [*]). (GenericServant routes (AsServerT m), GenericServant routes AsApi, HasServer (ToServantApi routes) ctx, HasContextEntry (ctx .++ DefaultErrorFormatters) ErrorFormatters, ServerT (ToServantApi routes) m ~ ToServant routes (AsServerT m)) => (forall a. m a -> Handler a) hoistServer argument to come back to Handler |
| 13:34:33 | <maerwald[m]> | dminuoso: see https://github.com/haskell-servant/servant/issues/1544 |
| 13:34:34 | × | kilolympus quits (~kilolympu@31.205.200.235) (Remote host closed the connection) |
| 13:34:35 | <dminuoso> | -> routes (AsServerT m) your record full of request handlers -> Context ctx the Context to serve the application with -> Application |
| 13:34:37 | <romesrf> | I see hahaha |
| 13:34:44 | <dminuoso> | And at that point I might as well give up and declare Python is simpler. |
| 13:34:48 | <hololeap> | where does the Paths_pkgname module come from? |
| 13:34:56 | <dminuoso> | Because writing a flask api certainly doesnt impose these crazy things on me |
| 13:35:25 | <maerwald[m]> | First time writing a HasClient instance is confusing |
| 13:35:50 | <hololeap> | I see "autogen-modules: Paths_fay" in fay.cabal |
| 13:36:00 | <maerwald[m]> | HasServer rather |
| 13:37:09 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 13:37:30 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) |
| 13:37:59 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 13:38:08 | → | kilolympus joins (~kilolympu@31.205.200.235) |
| 13:38:13 | <geekosaur> | hololeap, cabal generates it |
| 13:39:20 | <geekosaur> | https://cabal.readthedocs.io/en/3.6/cabal-package.html#autogenerated-modules-and-includes |
| 13:39:31 | <merijn> | hololeap: It's auto-generated by cabal |
| 13:39:50 | <hololeap> | geekosaur: my problem is that fay-tests is giving errors about not finding the fay modules in the search locations, which are wrong |
| 13:40:17 | <merijn> | hololeap: Can you link the cabal file? |
| 13:40:19 | <hololeap> | and the only place I can find where these search locations are coming from is getDataFileName, which I guess is imported from Paths_fay |
| 13:40:58 | <geekosaur> | https://cabal.readthedocs.io/en/3.6/cabal-package.html#accessing-data-files-from-package-code |
| 13:41:06 | × | kilolympus quits (~kilolympu@31.205.200.235) (Client Quit) |
| 13:41:40 | <geekosaur> | I don't think that gives full detail though, there aresome tricks to try to enable it to work with both installed modules and whilee.g. testing |
| 13:41:48 | <geekosaur> | those tricks may not always work,sadly |
| 13:42:15 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Ping timeout: 256 seconds) |
| 13:42:25 | <geekosaur> | if you're having problems with it, best bet might be to ask in #hackage |
| 13:43:14 | <hololeap> | I'm just trying to figure out how to override that function, or at least append the correct path to the source dir |
| 13:43:27 | <merijn> | hololeap: You can do so via environment variables |
| 13:43:43 | <merijn> | hololeap: But overall: insufficient context |
| 13:46:52 | × | bliminse quits (~bliminse@host109-152-150-162.range109-152.btcentralplus.com) (Quit: leaving) |
| 13:48:42 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:48:58 | <hololeap> | merijn: https://github.com/faylang/fay/blob/master/fay.cabal |
| 13:49:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:49:23 | → | vpan joins (~0@212.117.1.172) |
| 13:49:31 | <hololeap> | merijn: I'm trying to run the test suite locally, but I'm hitting errors like this, because it's searching for the source in the wrong paths: https://dpaste.com/5LEZ4NDFQ |
| 13:49:52 | → | cosimone joins (~user@93-47-229-38.ip115.fastwebnet.it) |
| 13:51:59 | <merijn> | How was Fay installed? |
| 13:52:35 | <hololeap> | it's just sitting in dist/ |
| 13:53:04 | <merijn> | First observation: fay-tests doesn't list an autogen-module for Paths_fay |
| 13:53:12 | <merijn> | But does list itself as using it |
| 13:53:34 | → | doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
| 13:55:14 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:55:17 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 13:55:33 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 13:56:13 | <hololeap> | ok, I think I made a little headway here and found where the paths are actually being pulled from. thanks for the info geekosaur, merijn |
| 13:56:49 | <merijn> | hololeap: How are you running the tests, btw? |
| 13:57:01 | → | bliminse joins (~bliminse@host109-152-150-162.range109-152.btcentralplus.com) |
| 13:57:13 | → | sprout joins (~quassel@2a02:a467:ccd6:1:fc09:57a0:d89c:b417) |
| 13:57:24 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 13:57:52 | → | ph88 joins (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
| 13:59:32 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 13:59:51 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 14:01:31 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 14:01:33 | <hololeap> | it's pretty convoluted, but I have fay and fay-base built, and I'm running the fay-tests exe |
| 14:01:50 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 14:02:47 | <merijn> | Directly, you mean? |
| 14:03:04 | <hololeap> | yes |
| 14:03:16 | → | mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 14:04:21 | <hololeap> | it's actually a PoC to see if I can get a test suite like this working as part of a gentoo package |
| 14:04:36 | → | `2jt joins (~jtomas@natwalu174-10.wi-fi.upv.es) |
| 14:05:06 | × | soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Read error: Connection reset by peer) |
| 14:05:32 | <merijn> | hololeap: Try using "cabal run" instead |
| 14:05:57 | <merijn> | It sets up the Paths module correctly for running from the *build* dir, rather than the final install dir |
| 14:06:34 | <hololeap> | oh interesting. any idea if there is an equivalent for cabal-v1? |
| 14:06:48 | <merijn> | hololeap: If you didn't install then Paths is probably looking in the install dir, where it isn't yet, if you didn't install |
| 14:07:21 | <merijn> | oh, you're trying to use Paths from v1 to access stuff without actually installing? My professional assessment is: RIP you |
| 14:07:42 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 14:08:16 | <geekosaur> | actually the Paths machinery predates cabal 2+, and there is a cabal v1-run. I'd say try it |
| 14:08:36 | <geekosaur> | (including stuff to work from uninstalled state as merijn described) |
| 14:08:38 | <reactormonk[m]> | If I have two `Prism a' b'`, both pointing to a different part of an AST, can I smash them together into a single `Prism' a b` or `Traversal' a b`? |
| 14:08:45 | <merijn> | geekosaur: I know, but I know hvr did a bunch of working to make Paths work correctly without installing |
| 14:09:31 | <geekosaur> | yeh.tbh though I would not be surprised if v1-run is just an alias for v2-run |
| 14:09:55 | <geekosaur> | Paths_can't be generated differently for v1 vs. v2 |
| 14:09:55 | <hololeap> | there doesn't seem to be any equivalent for ./setup |
| 14:10:12 | <geekosaur> | no, setup won't do that |
| 14:10:16 | <hololeap> | it's not a big deal though, guys. if I don't get this working I'll just move on |
| 14:11:06 | <hololeap> | although if you have any knowledge of an env variable that would override these paths, I would like to know |
| 14:11:36 | <geekosaur> | were I you I would want to move away from Setup anyway. it's optional in many packages these days, and cabal has an act-as-setup internal command to replace it |
| 14:12:08 | <geekosaur> | there'sa pretty strong move to make Setup go away |
| 14:12:38 | <geekosaur> | they may always need to support build-type: custom, but as much as possible they want to avoid it |
| 14:12:50 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 14:13:28 | <hololeap> | hm, yeah it's a bummer the main person who set all this gentoo machinery up is gone. but I think the reason why Setup.hs is used is in case cabal-install hasn't been installed |
| 14:14:05 | <hololeap> | there's a bootstrapping function in the scripts that generates Setup.hs if it doesn't exist |
| 14:17:12 | <merijn> | I mean gentoo's use of Setup.hs is actually the intentional use-case for Setup.hs existing, so... |
| 14:17:42 | × | lechner quits (~lechner@debian/lechner) (Ping timeout: 252 seconds) |
| 14:19:07 | <maerwald[m]> | Setup.hs is the only unix style interface there is |
| 14:19:25 | <maerwald[m]> | I don't see that ever going away |
| 14:19:45 | <maerwald[m]> | Even stack relies on it |
| 14:22:52 | → | vysn joins (~vysn@user/vysn) |
| 14:23:54 | <shapr> | GOOD MORNING |
| 14:23:57 | shapr | hops cheerfully |
| 14:24:58 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 14:28:20 | × | drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
| 14:30:38 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 14:32:54 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 14:33:14 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 14:34:54 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 14:35:13 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 14:35:46 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 14:36:49 | <romesrf> | how could I import a type instance from a module? |
| 14:36:54 | <romesrf> | import Module (typeinstance?) |
| 14:37:02 | <merijn> | romesrf: What is a type instance? |
| 14:37:08 | <romesrf> | type instance F a = Int |
| 14:37:16 | <merijn> | Ah, that's a type family |
| 14:37:16 | → | lechner joins (~lechner@debian/lechner) |
| 14:37:26 | <romesrf> | :-) |
| 14:37:26 | <merijn> | And you just import F |
| 14:37:35 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 14:37:42 | <romesrf> | How would I import just the instance? hahahaha |
| 14:37:50 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:38:05 | <geekosaur> | is the instance even meaningful without the family? |
| 14:38:16 | <merijn> | I'm not sure what you mean by "just the instance". F is a type family instance is just the implementation |
| 14:38:22 | <romesrf> | say, I have module A that declares type family, module B that declares an instance and then Monoid (F Somthng), and then module C which wants to know that F Somthn instances monoid |
| 14:38:28 | <merijn> | 'F' is the only relevant part you can import |
| 14:38:38 | <romesrf> | I see I see |
| 14:39:31 | <lechner> | Hi, is anyone aware of a Perl module to parse Cabal files? |
| 14:39:37 | <romesrf> | ty :) |
| 14:39:37 | <merijn> | romesrf: If you have 'F' imported from A that is all you need to do "Monoid (F Something) =>" afaik |
| 14:40:05 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/type_families.html#import-and-export |
| 14:40:06 | <romesrf> | merijn: Indeed, I was trying to avoid the many of constraints |
| 14:40:50 | <romesrf> | thank you geekosaur |
| 14:41:25 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 14:42:15 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:44:57 | × | Vajb quits (~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813) (Read error: Connection reset by peer) |
| 14:45:14 | <geekosaur> | lechner, afaik the only reliable way to parse a cabal file is via the cabal library |
| 14:45:24 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:45:49 | <geekosaur> | a perl module trying to parse a cabal file would be … scary |
| 14:46:17 | <geekosaur> | (not that parsing in perl 5 isn't scary to start with… I like raku more for that) |
| 14:47:00 | <lechner> | it would be okay to use an intermediary Haskell executable. Is there such a Swiss army knife? |
| 14:47:48 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds) |
| 14:48:47 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds) |
| 14:49:13 | <geekosaur> | doesn't seem to be |
| 14:49:13 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 14:49:22 | <geekosaur> | looks like hvr started to write one but abandoned it |
| 14:49:30 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:51:21 | <lechner> | okay, thanks! |
| 14:52:12 | <merijn> | There's a work-in-progress parser for cabal |
| 14:52:21 | <lechner> | Hi, what was the default value for 'cabal-version' when the field was not required, please? |
| 14:53:25 | <merijn> | It was always required I'm pretty sure |
| 14:53:42 | <merijn> | Or if it wasn't, then that was only in the way earliest days |
| 14:54:12 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds) |
| 14:54:15 | <merijn> | (as in, more than 15-20 years ago) |
| 14:54:25 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 14:57:16 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 14:57:23 | × | cosimone quits (~user@93-47-229-38.ip115.fastwebnet.it) (Remote host closed the connection) |
| 14:57:37 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 14:57:38 | → | krappix joins (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) |
| 14:58:30 | → | Pickchea joins (~private@user/pickchea) |
| 15:00:15 | → | bahamas joins (~lucian@188.24.153.252) |
| 15:03:34 | → | Inst joins (~Liam@2601:6c4:4080:3f80:ddf8:a02:d4a2:e78f) |
| 15:05:46 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 15:06:05 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 15:07:36 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 15:08:29 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:08:30 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 15:10:10 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 15:10:29 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 15:10:36 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 15:11:49 | <lechner> | merijn: thanks! |
| 15:12:36 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 15:13:21 | <merijn> | The only change I can think of you might be referring to is that change that drops the faux-range notation and requires it as first field in the file |
| 15:13:27 | <merijn> | Which is fairly recent |
| 15:13:51 | <lechner> | merijn: "now required" https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-cabal-version |
| 15:14:13 | <merijn> | By which I mean "from around Cabal-2.0" which was released around 5 years ago |
| 15:15:12 | <merijn> | lechner: Note that it says that it changed significantly in Cabal 1.2, which was released in 2007 :) |
| 15:15:36 | → | toulene joins (~toulene@user/toulene) |
| 15:15:40 | <lechner> | in debian i regularly encounter code written in 1998 |
| 15:16:25 | <merijn> | lechner: Note that a bit below it links to the github issue that has the whole discussion/rationale for changing things |
| 15:17:18 | <merijn> | lechner: To clarify: the cabal-version field is intended to describe the syntax *of the cabal file* and does not relate to the cabal-install (i.e. cabal executable) used besides indirectly |
| 15:18:00 | <sclv> | the approach you should take really depends on what info you want out of cabal files |
| 15:18:22 | <merijn> | lechner: cabal-install is backwards compatible with all previous versions of the file-format. So this section only applies to writing/modifying cabal files and shouldn't affect anyone merely *using* cabal files |
| 15:19:40 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 15:20:35 | <lechner> | merijn: i thought i needed it for the default build type https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-build-type |
| 15:20:49 | <merijn> | lechner: So cabal files wishing to use features of newer cabal specifications must declare an appropriate cabal-version for those features (which, from 2.0 on MUST be using the new format with the version on the first line and no faux-range syntax) |
| 15:21:56 | × | krappix quits (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Quit: Client closed) |
| 15:21:58 | × | `2jt quits (~jtomas@natwalu174-10.wi-fi.upv.es) (Ping timeout: 256 seconds) |
| 15:22:03 | <merijn> | lechner: Well, that depends on why you want to change the default build type for a package? |
| 15:22:20 | <lechner> | it's only when there is none |
| 15:22:31 | × | kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 15:22:52 | × | akegalj quits (~akegalj@78-1-170-211.adsl.net.t-com.hr) (Quit: leaving) |
| 15:22:57 | <sclv> | there's a lot of tools for translating between cabal files and specifications for various package managers, idk what shape they're in or their approach but eg https://hackage.haskell.org/package/cabal-debian and https://hackage.haskell.org/package/cabal2spec and https://hackage.haskell.org/package/cabal2ebuild |
| 15:22:57 | <merijn> | and? |
| 15:23:11 | <merijn> | lechner: What are you trying to do? |
| 15:23:48 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 240 seconds) |
| 15:25:34 | → | `2jt joins (~jtomas@natwalu174-10.wi-fi.upv.es) |
| 15:25:41 | <lechner> | the debian build system provides an appropriate Setup.hs file when none is present |
| 15:28:14 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 15:28:34 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 15:28:54 | <merijn> | and? |
| 15:29:12 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 15:29:37 | <merijn> | Why would that require modifying the package? |
| 15:30:41 | <lechner> | it requires determining the build type, which depends in part on the cabal-version https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-build-type |
| 15:30:45 | × | `2jt quits (~jtomas@natwalu174-10.wi-fi.upv.es) (Ping timeout: 272 seconds) |
| 15:31:10 | <merijn> | It doesn't really, tbh |
| 15:31:23 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
| 15:31:28 | <merijn> | Because the only time it can be missing is when it's Simple/Configure/Make |
| 15:31:47 | <merijn> | Because Custom requires a Setup.hs exist, else the package is broken to begin with |
| 15:32:13 | <merijn> | So you can just always assume that missing setup type + missing Setup.hs == Simple |
| 15:32:15 | → | cailt^ joins (~cailt@50.232.121.75) |
| 15:34:26 | × | bahamas quits (~lucian@188.24.153.252) (Ping timeout: 256 seconds) |
| 15:36:20 | <lechner> | we catch that condition, but i still have to infer the custom build type first |
| 15:37:47 | → | `2jt joins (~jtomas@natwalu174-10.wi-fi.upv.es) |
| 15:38:03 | <merijn> | You can just grep the cabal file for setup type. If grep finds nothing, check for Setup.hs existing and if not infer Simple. Else infer Custom? |
| 15:40:19 | → | zebrag joins (~chris@user/zebrag) |
| 15:40:45 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 15:40:47 | × | cailt^ quits (~cailt@50.232.121.75) (Remote host closed the connection) |
| 15:41:28 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 15:41:47 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 15:42:10 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 15:43:36 | → | Artyom[m] joins (~available@2001:470:69fc:105::1:d429) |
| 15:43:55 | <lechner> | merijn: here is what we do presently https://salsa.debian.org/lechner/haskell-devscripts/-/blob/perl-recipes/lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm#L901-920 |
| 15:44:13 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 15:45:19 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 15:46:29 | <merijn> | I mean, that's basically roughly what I described, no? |
| 15:46:40 | <merijn> | (as far as I can guess Perl code anyway) |
| 15:47:12 | ← | Artyom[m] parts (~available@2001:470:69fc:105::1:d429) () |
| 15:47:13 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 15:47:43 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 15:49:10 | × | ishutin quits (~ishutin@fibhost-66-106-209.fibernet.hu) (Ping timeout: 260 seconds) |
| 15:50:19 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 15:50:38 | → | ishutin joins (~ishutin@92-249-193-164.pool.digikabel.hu) |
| 15:53:13 | <lechner> | thanks for confirming! that's what i was aiming for. |
| 15:54:53 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 15:55:13 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 15:55:48 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 15:55:54 | × | s4msung quits (bZt8T9wHxn@user/s4msung) (Quit: s4msung) |
| 15:55:56 | × | noctuks quits (7vrDyCK6LH@user/noctux) (Quit: WeeChat 3.3) |
| 15:55:56 | × | yushyin quits (UUdtykrwRM@mail.karif.server-speed.net) (Quit: WeeChat 3.3) |
| 16:02:51 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 245 seconds) |
| 16:03:30 | → | noctuks joins (pS9vLLhgiV@user/noctux) |
| 16:03:30 | → | s4msung joins (z4rgS71Nb1@user/s4msung) |
| 16:03:31 | → | yushyin joins (NwWjaFh18p@mail.karif.server-speed.net) |
| 16:03:50 | × | liz quits (~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: leaving) |
| 16:04:22 | → | liz joins (~liz@2a00:23c5:9680:501:f2d5:bfff:fe6a:5af4) |
| 16:05:09 | → | bahamas joins (~lucian@188.24.153.252) |
| 16:07:01 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 16:09:23 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 16:11:57 | × | alp quits (~alp@user/alp) (Ping timeout: 268 seconds) |
| 16:13:48 | × | toulene quits (~toulene@user/toulene) (Quit: ZNC - https://znc.in) |
| 16:15:29 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 16:15:48 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 16:16:32 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:623a:34aa:5c8e:6872) (Quit: WeeChat 2.8) |
| 16:17:02 | × | bahamas quits (~lucian@188.24.153.252) (Ping timeout: 252 seconds) |
| 16:17:30 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 16:19:26 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 16:19:45 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 16:19:47 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 16:20:46 | × | mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds) |
| 16:23:24 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 16:23:30 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 16:23:44 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 16:24:21 | <Inst> | do you know if there's any newer versions of HLS / GHCup / Cabal? |
| 16:26:25 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:27:31 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 16:29:34 | <merijn> | newer than what? |
| 16:30:31 | → | neurocyte0917090 joins (~neurocyte@IP-213188113209.dynamic.medianet-world.de) |
| 16:30:31 | × | neurocyte0917090 quits (~neurocyte@IP-213188113209.dynamic.medianet-world.de) (Changing host) |
| 16:30:31 | → | neurocyte0917090 joins (~neurocyte@user/neurocyte) |
| 16:32:11 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 16:32:19 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:32:31 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 16:32:46 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 16:34:07 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
| 16:36:39 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 16:36:46 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds) |
| 16:36:58 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 16:38:42 | → | Unicorn_Princess joins (~Unicorn_P@46-54-248-191.static.kate-wing.si) |
| 16:39:33 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) |
| 16:40:27 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 16:40:42 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 252 seconds) |
| 16:41:16 | → | MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) |
| 16:41:17 | <geekosaur> | ghcup can update itself |
| 16:41:53 | <liz> | if there's a new not-bleeding-edge update then it'll be available either through ghcup itself or your package manager |
| 16:41:56 | <geekosaur> | Cabal lib 3.6.3.0 was released this morning I believe, but cabal-install is still 3.6.2.0 |
| 16:42:11 | <geekosaur> | hls hasn't updated yet |
| 16:42:42 | <liz> | is ghcup updated manually bt a team when new things like this come out? |
| 16:42:47 | <liz> | by* |
| 16:42:52 | <merijn> | "team" |
| 16:42:53 | <merijn> | lol |
| 16:43:01 | <liz> | or like, one dude |
| 16:43:07 | <merijn> | Pretty much :) |
| 16:43:17 | <liz> | hehe, is it manual then? |
| 16:43:36 | <merijn> | Almost certainly |
| 16:43:48 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Ping timeout: 240 seconds) |
| 16:43:59 | <geekosaur> | ghcup itslef is updated periodically. when you run it it downloads a metadata file with current releases of everything available |
| 16:43:59 | <liz> | i can't imagine it'll take too long from now if it's not available yet |
| 16:44:12 | <geekosaur> | ghc 9.2.2 is already up, I'm seeing |
| 16:44:15 | <liz> | gonna check my ghcup now actually |
| 16:45:34 | <liz> | oh yep, ghc 9.2.2 and base 4.16.1.0 are up now |
| 16:45:45 | × | juri_ quits (~juri@178.63.35.222) (Remote host closed the connection) |
| 16:46:24 | <liz> | and yeah, seems that cabal 3.6.3.0 isn't on ghcup 0.1.17.5 |
| 16:46:35 | <liz> | i'm sure it'll go up at some point today |
| 16:46:58 | <geekosaur> | it'sonly a library update, won't show in ghcup |
| 16:47:06 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 16:47:09 | <geekosaur> | the command line tool is still 3.6.2.0 |
| 16:47:50 | <geekosaur> | (the namingf is admittedly confusing but Cabal the library and cabal(-install) the tool are distinct things) |
| 16:47:52 | <liz> | silly question, can cabal 3.6.2.0 use cabal-lib 3.6.3.0? |
| 16:47:59 | <geekosaur> | sure |
| 16:48:19 | <liz> | okay yeah, i think i was conflating the two |
| 16:48:26 | <geekosaur> | they'd have updated cabal-install if it had been needed |
| 16:49:36 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 16:50:55 | <geekosaur> | while the two are closely related, the APIs change rarely enough that cabal-install can work with a wide range of Cabal libraries |
| 16:51:00 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 240 seconds) |
| 16:51:06 | × | ccntrq quits (~Thunderbi@2a01:c22:8df3:2600:efac:1374:1f51:a914) (Quit: ccntrq) |
| 16:51:17 | <geekosaur> | and has to because the Cabal library is how you interact with packages and package databases |
| 16:51:17 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 16:51:47 | <geekosaur> | which also means it's how cabal--install interacts with ghc, so you'd otherwise have to match cabal-install version with ghc version for things to work |
| 16:56:50 | → | juri_ joins (~juri@178.63.35.222) |
| 16:57:35 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds) |
| 16:58:09 | × | Topsi quits (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 17:01:22 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:01:37 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 17:01:44 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:01:50 | → | lbseale joins (~ep1ctetus@user/ep1ctetus) |
| 17:03:30 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:03:50 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:04:32 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 17:07:23 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 17:07:33 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 17:09:24 | → | dschrempf joins (~dominik@17-12-190.cgnat.fonira.net) |
| 17:09:43 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 17:10:12 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 17:12:08 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:12:26 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:14:20 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:14:40 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:16:41 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:17:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:18:41 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:19:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:20:41 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:21:01 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:21:42 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 17:22:18 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 17:25:08 | → | bahamas joins (~lucian@188.24.153.252) |
| 17:26:35 | × | rtsn quits (~nstr@h-98-128-229-174.NA.cust.bahnhof.se) (Changing host) |
| 17:26:35 | → | rtsn joins (~nstr@user/rtsn) |
| 17:27:48 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 17:29:12 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 17:29:58 | × | bahamas quits (~lucian@188.24.153.252) (Ping timeout: 260 seconds) |
| 17:30:19 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 17:30:51 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 17:31:36 | → | k8yun joins (~k8yun@user/k8yun) |
| 17:34:14 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:34:33 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:35:05 | × | dschrempf quits (~dominik@17-12-190.cgnat.fonira.net) (Quit: WeeChat 3.3) |
| 17:38:12 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:38:13 | × | mbuf quits (~Shakthi@110.225.240.104) (Quit: Leaving) |
| 17:38:32 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:40:13 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 17:40:31 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 17:41:55 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) |
| 17:45:54 | × | MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds) |
| 17:48:32 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 17:50:25 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 17:50:57 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 17:52:10 | → | Guest26 joins (~Guest26@170.250.76.168) |
| 17:52:57 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 17:53:30 | → | Tuplanolla joins (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) |
| 17:55:40 | × | Guest26 quits (~Guest26@170.250.76.168) (Client Quit) |
| 17:57:03 | → | bahamas joins (~lucian@84.232.140.52) |
| 17:58:57 | × | ishutin quits (~ishutin@92-249-193-164.pool.digikabel.hu) (Ping timeout: 272 seconds) |
| 18:00:14 | → | ishutin joins (~ishutin@92-249-150-139.static.digikabel.hu) |
| 18:02:34 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 18:02:53 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 18:04:33 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 18:04:51 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 18:05:27 | → | Topsi joins (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) |
| 18:07:07 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 18:07:26 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 18:09:21 | → | notzmv joins (~zmv@user/notzmv) |
| 18:09:57 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 18:10:08 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 18:11:38 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 18:13:42 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:4154:7a97:7f52:6596) |
| 18:14:29 | × | agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds) |
| 18:15:07 | → | agumonkey joins (~user@88.163.231.79) |
| 18:17:46 | × | srk quits (~sorki@user/srk) (Ping timeout: 250 seconds) |
| 18:18:03 | → | Pickchea joins (~private@user/pickchea) |
| 18:19:56 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 18:22:27 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 18:22:46 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 18:23:47 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 18:24:41 | <Franciman> | why, in your opinion, haskell is much more successful than standard ml? |
| 18:24:51 | <Franciman> | with a lot more private investments and corporate usage? |
| 18:25:02 | <Franciman> | with a bigger community and lots of libraries |
| 18:26:45 | [exa] | bisects the features |
| 18:26:50 | <[exa]> | ah yes, laziness |
| 18:27:19 | <Franciman> | in my view laziness is a non feature |
| 18:27:27 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds) |
| 18:27:33 | → | anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net) |
| 18:27:33 | <Franciman> | it makes everything harder |
| 18:27:36 | <[exa]> | otoh I wouldn't say it's strictly more successful, esp. compared to other (imo bigger) ML versions |
| 18:27:50 | <Franciman> | mlton is able to perform more aggressive optimisations |
| 18:27:53 | <[exa]> | it's just kinda more modern, cooler, etc |
| 18:28:27 | <Franciman> | like unboxing in all the cases |
| 18:28:36 | <Franciman> | thanks to the fact that sml is strict |
| 18:28:56 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 18:29:01 | × | tito quits (tito@tilde.team) (Quit: zzz) |
| 18:29:02 | <anon04088520> | how would I write a status like gameStatus :: [theStatus] -> String and thisPlace is mapped to Yes? |
| 18:29:05 | <Franciman> | i would be surprised that it's the determining feature of haskell's success |
| 18:29:28 | <[exa]> | anyway laziness really really helps with making all these cool monadic tricks work without much magic, and allows you to just implement complicated stuff without going into details...it's just very practically convenient |
| 18:29:28 | <Franciman> | [exa]: ocaml has way fewer libraries than haskell |
| 18:29:40 | → | InstX1 joins (~Liam@2601:6c4:4080:3f80:109e:5fbc:2ca5:978d) |
| 18:29:42 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 18:29:49 | <Franciman> | i would say that haskell has a bigger community |
| 18:29:54 | <Franciman> | most likely |
| 18:30:03 | <[exa]> | depends on how you measure it |
| 18:30:14 | <[exa]> | measuring sizes of library repos is probably biased :D |
| 18:30:21 | <[exa]> | (towards npm :D ) |
| 18:30:25 | <Franciman> | ahah |
| 18:30:38 | <Franciman> | i thought it would be a good measure of how much community effort is put in the project |
| 18:30:44 | → | dextaa_ joins (~dextaa@user/dextaa) |
| 18:31:03 | <Franciman> | but yes, if you write a library for doing the sum of two numbers |
| 18:31:07 | <Franciman> | it's unfair |
| 18:31:11 | <[exa]> | also, people generally prefer being practical and "on the safe side" to ricing the features |
| 18:31:15 | × | wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 256 seconds) |
| 18:31:37 | → | aeson_q joins (~aeson_q@181.122.131.227) |
| 18:31:43 | <aeson_q> | hello |
| 18:31:52 | <anon04088520> | hi all, does anyone know how would to write a status like gameStatus :: [theStatus] -> String and thisPlace is mapped to Yes? |
| 18:31:53 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 18:32:09 | <[exa]> | anon04088520: not sure if we can understand the question, can you provide a bit more context? |
| 18:32:09 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 18:32:12 | <Franciman> | hi anon04088520 sorry but i don't understand :( |
| 18:32:34 | <Franciman> | [exa]: oh do you have any name i can lookup about «cool monadic tricks» laziness allows |
| 18:32:36 | <Franciman> | ? |
| 18:32:43 | <geekosaur> | ^ I don't for example see where/how `thisPlace` fits into it |
| 18:32:55 | <anon04088520> | for example, gameStatus thisPlace = Yes |
| 18:33:26 | <anon04088520> | sorry |
| 18:33:27 | <aeson_q> | I want to programatically create an Aeson.Type.Array. I cannot use Array $ fromList [ ...... ] because its value are mixed values. f.e. [1, "foo", false, ["bar", "baz"]]. How can I do that? |
| 18:33:27 | <anon04088520> | wait |
| 18:33:31 | × | Inst quits (~Liam@2601:6c4:4080:3f80:ddf8:a02:d4a2:e78f) (Ping timeout: 256 seconds) |
| 18:33:38 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 18:34:01 | <Franciman> | aeson_q: ah this one is simpler than you think |
| 18:34:03 | <Franciman> | one sec |
| 18:34:08 | <aeson_q> | thanks |
| 18:34:22 | <[exa]> | aeson_q: you need to convert the things into the common wrapper, I guess Franciman is coming with an example |
| 18:34:24 | <Franciman> | :t Data.Aeson.Array |
| 18:34:25 | <lambdabot> | error: |
| 18:34:25 | <lambdabot> | Not in scope: data constructor ‘Data.Aeson.Array’ |
| 18:34:25 | <lambdabot> | No module named ‘Data.Aeson’ is imported. |
| 18:34:29 | <Franciman> | ouch |
| 18:34:32 | <Franciman> | yes |
| 18:34:34 | <Franciman> | what [exa] says |
| 18:34:35 | <anon04088520> | gameStatus [thisPlace, None, Else] = "Yes - yes" |
| 18:34:36 | <Franciman> | :) |
| 18:34:47 | <geekosaur> | % :t Data.Aeson.Array -- hailmary |
| 18:34:48 | <yahb> | geekosaur: ; <interactive>:1:1: error:; Not in scope: data constructor `Data.Aeson.Array'; No module named `Data.Aeson' is imported. |
| 18:35:05 | <aeson_q> | try :t Data.Aeson.Value |
| 18:35:09 | <geekosaur> | % import Data.Aeson |
| 18:35:09 | <yahb> | geekosaur: ; <no location info>: error:; Could not find module `Data.Aeson'; Perhaps you meant Data.Version (from base-4.15.0.0) |
| 18:35:17 | <anon04088520> | does that sort of make sense |
| 18:35:19 | <anon04088520> | ? |
| 18:35:21 | <geekosaur> | I don';t think either bot has aeson available |
| 18:35:25 | <Franciman> | anon04088520: what is your task? |
| 18:35:58 | <Franciman> | anon04088520: https://hackage.haskell.org/package/aeson-2.0.3.0/docs/Data-Aeson.html#t:Array as you can see |
| 18:36:04 | <Franciman> | it requires a list of values |
| 18:36:06 | <anon04088520> | If I get given a [theStatus] I was the map each element to a specific character |
| 18:36:11 | <aeson_q> | you need to convert the things into the common wrapper, sorry I can't follow |
| 18:36:32 | <Franciman> | aeson_q: https://hackage.haskell.org/package/aeson-2.0.3.0/docs/Data-Aeson.html#t:Value <- this |
| 18:36:47 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 18:36:58 | <Franciman> | you have to define a list of Values, like this: [Number 13, Bool "True", String "Hello"] |
| 18:37:40 | <[exa]> | aeson_q: actually the "inner" problem is that you can't (easily) create a polymorphic list so stuff like `fmap toJson` can't save you |
| 18:38:17 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 18:38:30 | → | srk joins (~sorki@user/srk) |
| 18:38:41 | <[exa]> | anon04088520: kinda starting to make sense. So you have a functino that converts your type that contains None and Else to strings, and you just want all of them concatenated? |
| 18:38:52 | <anon04088520> | Yes |
| 18:39:32 | <aeson_q> | exa, Franciman, ok I get a step closer... |
| 18:39:35 | <aeson_q> | let me try |
| 18:39:43 | <[exa]> | anon04088520: so that's literally the function of concatMap |
| 18:40:00 | <energizer> | what is the relationship between Foldable and Monoid? |
| 18:40:32 | <[exa]> | anon04088520: I kinda expect that `concatMap gameStatus` could work |
| 18:40:48 | <anon04088520> | [exa]: like https://paste.tomsmeding.com/oire7Vgn |
| 18:40:53 | <[exa]> | if not, please make a pastebin with a minimal mess... ah there |
| 18:41:35 | <[exa]> | anon04088520: maybe if you want the spaces in between, try `intercalate " " . map gameStatus` |
| 18:41:35 | <anon04088520> | does that sort of explain it better? |
| 18:41:38 | <[exa]> | yes |
| 18:41:47 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 18:42:02 | <[exa]> | try the stuff from above, if not please supply at least a minimal definition of the gameStatus function so that we can see how it behaves |
| 18:42:05 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 18:42:08 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 18:42:32 | <anon04088520> | this is meant to be a basic function for a wordle clone project |
| 18:42:58 | <anon04088520> | hope that provides some more context |
| 18:44:32 | × | teddyc quits (theodorc@cassarossa.samfundet.no) (Ping timeout: 240 seconds) |
| 18:45:26 | <energizer> | is Foldable for if you have a monoid but either it's not declared as a Monoid or it is a Monoid and you want to use a function other than its mappend? |
| 18:45:48 | <liz> | you can define a Foldable instance in terms of foldMap |
| 18:45:50 | <liz> | :t foldMap |
| 18:45:51 | <lambdabot> | (Foldable t, Monoid m) => (a -> m) -> t a -> m |
| 18:47:05 | → | lisk1n joins (~liskin@notes.lisk.in) |
| 18:47:08 | × | lisk1n quits (~liskin@notes.lisk.in) (Client Quit) |
| 18:47:30 | <energizer> | yeah but if that's what it was /for/, `fold` could just be on Monoid itself |
| 18:47:50 | → | doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
| 18:48:11 | <[exa]> | energizer: Foldable things can be interpreted as monoids, but don't need to satisfy monoid laws |
| 18:48:42 | <[exa]> | s/as/using/ |
| 18:48:56 | <energizer> | [exa]: is there a useful case of Foldable that doesn't satisfy monoid laws? |
| 18:49:47 | <aeson_q> | ok, I ran into another problem with this... |
| 18:49:58 | → | econo joins (uid147250@user/econo) |
| 18:50:12 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 18:50:40 | <liz> | energizer: if you want a small example, i recently used a Foldable to construct a tree from a file, directly from the IO; since reading from the file was non-associative i was folding over a non-monoid, but the fold was a succinct way of constructing the tree |
| 18:51:34 | <[exa]> | energizer: I might have mixed up the generalization directions there (*returns to the books*) |
| 18:51:49 | <aeson_q> | i have a date (instance of EpochTime) that I need to encode inside: Aeson.Types.Number $ date, seems like I need to convert EpochTime -> Data.Scientific.Scientific, any suggestions? |
| 18:51:49 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 18:51:53 | × | `2jt quits (~jtomas@natwalu174-10.wi-fi.upv.es) (Ping timeout: 256 seconds) |
| 18:52:18 | <liz> | if the thing you're folding over is a Monoid, then foldl and foldr will be "the same" by the fact that monoids are associative necessarily |
| 18:52:26 | <monochrom> | Foldable is for what most people consider "container data structures" and when you want to perform monoid operations (what most people call "aggregate operations") on elements. |
| 18:53:11 | <monochrom> | A little bit more precisely, container data structures that feel like sequences. |
| 18:53:40 | <monochrom> | or can be downgraded to sequences. |
| 18:53:51 | <[exa]> | could you make up a "default" mappend for each Foldable? |
| 18:55:21 | <monochrom> | No, Foldable methods aren't enough to produce Foldable instances. Only enough for consuming elements. |
| 18:55:40 | <monochrom> | Well, unless you just want to produce a list. |
| 18:57:26 | <anon04088520> | so I am writing a function that takes a list of words and concatenates them and returns a string |
| 18:58:25 | <geekosaur> | aeson_q, EpochTime is a wrapper for Int64, you can use fromEnum to extract the Int64 and encode it |
| 18:58:27 | <anon04088520> | but each item in the list needs to be mapped to a specific work |
| 18:58:51 | <[exa]> | anon04088520: did you try the above code I sent? |
| 18:59:19 | <anon04088520> | I haven't heard of concatMap |
| 18:59:29 | <[exa]> | monochrom: you meant "to produce Monoid instances" ? |
| 18:59:32 | <anon04088520> | I couldn't get it to work |
| 18:59:41 | <monochrom> | No. No typo there. |
| 18:59:53 | <[exa]> | monochrom: oh so okay :D |
| 19:00:07 | <anon04088520> | is there a simpler way to do it? |
| 19:00:13 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 19:00:18 | <[exa]> | anon04088520: you can do it with "concat" and "map" separately |
| 19:00:51 | × | aeson_q quits (~aeson_q@181.122.131.227) (Remote host closed the connection) |
| 19:00:53 | × | Logio_ quits (em@kapsi.fi) (Remote host closed the connection) |
| 19:00:57 | <monochrom> | concat, map, and concatMap are all very simple. |
| 19:01:01 | <anon04088520> | could you show me an example? |
| 19:01:31 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds) |
| 19:02:50 | <[exa]> | anon04088520: see above. Ideally we'd need a type of your `gameStatus` function |
| 19:04:13 | <anon04088520> | it's a list for example [Here] maps to "Yes" |
| 19:04:34 | <anon04088520> | [Here, Nowhere] maps to " Yes -" |
| 19:05:07 | <anon04088520> | gameStatus [Here, Nowhere] should evaluate to "Yes -" |
| 19:05:20 | → | jonathanx_ joins (~jonathan@c-5eea36ff-74736162.cust.telenor.se) |
| 19:06:20 | <[exa]> | anon04088520: what's the name of the function that translates the things to strings? e.g. maps a single Here to "Yes" ? |
| 19:06:24 | <monochrom> | Do you know how to use "map" to go from [Here, Nowhere] to ["Yes", "-"]? |
| 19:06:51 | <anon04088520> | gameStatus |
| 19:06:54 | <monochrom> | After that, Data.List's intercalate can help you merge the words and insert spaces. |
| 19:06:58 | × | liskin quits (~liskin@xmonad/liskin) (Quit: liskin) |
| 19:07:23 | <anon04088520> | monochrom: it should return a "Yes -" not ["Yes", "-"] |
| 19:07:35 | <monochrom> | Sure, see my second sentence. |
| 19:07:54 | → | liskin joins (~liskin@xmonad/liskin) |
| 19:07:54 | × | jonathanx_ quits (~jonathan@c-5eea36ff-74736162.cust.telenor.se) (Read error: Connection reset by peer) |
| 19:08:03 | <geekosaur> | or unwords? |
| 19:08:04 | × | jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds) |
| 19:08:17 | <monochrom> | Oh, haha, I forgot unwords. |
| 19:08:23 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 19:09:19 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 19:09:23 | <anon04088520> | It it possible to that without importing Data.List? |
| 19:09:33 | <geekosaur> | unwords is in the Prelude |
| 19:09:45 | <geekosaur> | > unwords ["Yes","-"] |
| 19:09:47 | <lambdabot> | "Yes -" |
| 19:10:34 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 19:11:54 | <anon04088520> | but if I wanted to make the function myself |
| 19:11:59 | <anon04088520> | and not use unwords |
| 19:12:19 | <monochrom> | Then it is a bit of an annoying recursion you have to write. |
| 19:12:20 | <anon04088520> | e.g. gameStatus should map [Here] to "Yes" |
| 19:12:33 | <monochrom> | unwords does that already. |
| 19:12:50 | <monochrom> | Err, unwords does ["Yes"] to "Yes" already. |
| 19:12:57 | <monochrom> | I no longer understand your question. |
| 19:13:25 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds) |
| 19:13:40 | <anon04088520> | How would I write it using recursion? |
| 19:13:49 | <monochrom> | You demand both "simple" and "write everything from scratch" as far as I can tell. Can't be done. |
| 19:13:53 | <anon04088520> | Can I find the source for unwords? |
| 19:14:00 | <anon04088520> | im sorry |
| 19:14:25 | × | ystael quits (~ystael@user/ystael) (Quit: Lost terminal) |
| 19:15:05 | <geekosaur> | @src unwords |
| 19:15:05 | <lambdabot> | unwords [] = "" |
| 19:15:05 | <lambdabot> | unwords ws = foldr1 (\w s -> w ++ ' ':s) ws |
| 19:15:13 | → | liz_ joins (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) |
| 19:15:41 | <monochrom> | Heh that just goes down the rabbit hole of foldr1... |
| 19:15:41 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 19:16:00 | <geekosaur> | it could go downb the rabbit hole of intercalate instead… |
| 19:16:54 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 19:17:15 | <monochrom> | In elementary terms, the recursion of unwords requires two base cases, not just one. This is because ["yes"] -> "yes" does not fit the general case of ["yes", "no", "maybe"] -> "yes no maybe". I.e., the # of spaces is off by 1. |
| 19:17:27 | <geekosaur> | anon04088520, the usual ways to do this is two functions, one to do the mapping and one to do the combining. although in most cases I'd just use unwords or intercalate for the latter rather than writing it |
| 19:17:41 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection) |
| 19:18:00 | <monochrom> | But if you are aware of that, it's a garden-variety recursion apart from that. |
| 19:18:22 | <anon04088520> | I wasn't aware of it |
| 19:19:05 | × | agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds) |
| 19:21:45 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 19:23:19 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 19:23:43 | <anon04088520> | geekosaur: how would I do the mapping? |
| 19:24:22 | <geekosaur> | % data Loc = Here | There | Somewhere |
| 19:24:22 | <yahb> | geekosaur: |
| 19:24:32 | → | teddyc joins (theodorc@cassarossa.samfundet.no) |
| 19:24:54 | <geekosaur> | % loc Here = "Yes"; loc There = "No"; loc Somewhere = "-" |
| 19:24:54 | <yahb> | geekosaur: |
| 19:25:23 | <geekosaur> | % unwords (map loc [Here, Somewhere, No] |
| 19:25:23 | <yahb> | geekosaur: ; <interactive>:19:39: error: parse error (possibly incorrect indentation or mismatched brackets) |
| 19:25:28 | <geekosaur> | % unwords (map loc [Here, Somewhere, No]) |
| 19:25:28 | <yahb> | geekosaur: ; <interactive>:20:36: error:; * Data constructor not in scope: No :: Loc; * Perhaps you meant variable `to' (imported from Control.Lens) |
| 19:25:34 | <geekosaur> | % unwords (map loc [Here, Somewhere, There]) |
| 19:25:34 | <yahb> | geekosaur: "Yes - No" |
| 19:25:39 | <geekosaur> | sorry about that last |
| 19:25:48 | <geekosaur> | slightly distracted here |
| 19:27:11 | <anon04088520> | sorry this is going sound silly, is loc a keyword or just made up? |
| 19:27:13 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 19:27:21 | <geekosaur> | I defined a function with three cases |
| 19:27:30 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 19:28:22 | <geekosaur> | it's the same as saying: loc place = case place of { Here -> "Yes"; There -> "no"; Somewhere -> "-" } |
| 19:28:40 | <anon04088520> | ahhh ok I see |
| 19:28:48 | × | anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Remote host closed the connection) |
| 19:29:07 | → | anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net) |
| 19:29:52 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 19:30:30 | × | Topsi quits (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 19:32:05 | → | Topsi joins (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) |
| 19:32:27 | → | coot joins (~coot@213.134.190.95) |
| 19:33:28 | → | xkuru joins (~xkuru@user/xkuru) |
| 19:34:19 | → | simendsjo joins (~user@84.211.91.241) |
| 19:38:47 | → | bahamas joins (~lucian@84.232.140.52) |
| 19:38:49 | → | vicfred joins (~vicfred@user/vicfred) |
| 19:40:00 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 19:40:06 | <anon04088520> | geekosaur: is this right? https://replit.com/join/idzzjvapir-sr53 |
| 19:40:56 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds) |
| 19:42:01 | → | vicfred_ joins (~vicfred@user/vicfred) |
| 19:44:17 | × | vicfred quits (~vicfred@user/vicfred) (Ping timeout: 240 seconds) |
| 19:46:49 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 19:46:50 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 19:47:08 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 19:47:24 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4) |
| 19:48:15 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 19:48:55 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection) |
| 19:49:57 | × | simendsjo quits (~user@84.211.91.241) (Ping timeout: 240 seconds) |
| 19:50:21 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 19:53:04 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 19:53:23 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 19:53:38 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection) |
| 19:54:38 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:55:17 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 19:55:56 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:56:12 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 19:56:14 | × | kimjetwav quits (~user@2607:fea8:2363:8f00:979b:b492:f897:b694) (Excess Flood) |
| 19:56:41 | → | kimjetwav joins (~user@2607:fea8:2363:8f00:3065:9fc7:d58e:fc3e) |
| 19:56:53 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 19:59:46 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:00:05 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:01:45 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:02:03 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:02:57 | × | kuribas quits (~user@ptr-25vy0ia80zmfb26ginl.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 20:04:15 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 20:04:15 | × | burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection) |
| 20:06:06 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:06:25 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:06:25 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 20:06:41 | → | notzmv joins (~zmv@user/notzmv) |
| 20:08:18 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 20:12:22 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:12:43 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:15:21 | × | fendor_ quits (~fendor@178.115.53.79.wireless.dyn.drei.com) (Remote host closed the connection) |
| 20:17:38 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 20:19:18 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:19:37 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:20:16 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 20:21:56 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:21:59 | → | Logio joins (em@kapsi.fi) |
| 20:22:14 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:23:24 | → | deadmarshal_ joins (~deadmarsh@95.38.115.166) |
| 20:23:47 | × | fockeriz1 quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.3) |
| 20:25:45 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 20:26:46 | → | `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net) |
| 20:27:58 | × | deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds) |
| 20:28:20 | → | cjb joins (~cjb@user/cjb) |
| 20:30:03 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 20:30:26 | → | jgeerds joins (~jgeerds@55d4548e.access.ecotel.net) |
| 20:32:26 | × | `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Remote host closed the connection) |
| 20:35:00 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:35:19 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:36:59 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:37:19 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:37:50 | <remexre> | if I'm getting a segfault in FFI code in a largish haskell program, is there a good way to get a haskell stack trace from it? |
| 20:39:31 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:39:50 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:40:06 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 20:40:49 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:43:30 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:43:48 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:45:29 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:45:48 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:47:35 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 20:47:54 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 20:48:17 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 20:49:00 | × | vicfred_ quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 20:49:35 | → | vicfred joins (~vicfred@user/vicfred) |
| 20:52:30 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 20:52:39 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 20:54:07 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 20:54:33 | → | pavonia joins (~user@user/siracusa) |
| 20:57:49 | <geekosaur> | not really |
| 20:58:23 | → | yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) |
| 20:58:34 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 21:00:17 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 21:00:52 | × | son0p quits (~ff@181.136.122.143) (Remote host closed the connection) |
| 21:01:15 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 21:03:07 | × | yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 21:05:18 | → | acidjnk joins (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de) |
| 21:05:57 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 21:07:52 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:08:12 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:09:52 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:09:58 | × | anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Remote host closed the connection) |
| 21:10:11 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:10:37 | → | vorpuni joins (~pvorp@2001:861:3881:c690:a396:9946:d0cf:5cc0) |
| 21:10:43 | × | elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Read error: Connection reset by peer) |
| 21:10:50 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 21:10:50 | → | elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 21:12:25 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 21:13:01 | × | srk quits (~sorki@user/srk) (Ping timeout: 250 seconds) |
| 21:13:12 | → | nattiestnate joins (~nate@202.138.250.10) |
| 21:16:22 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:16:40 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:18:21 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:18:40 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:20:00 | → | son0p joins (~ff@181.136.122.143) |
| 21:28:47 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 21:29:24 | × | InstX1 quits (~Liam@2601:6c4:4080:3f80:109e:5fbc:2ca5:978d) (Ping timeout: 240 seconds) |
| 21:30:18 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds) |
| 21:30:24 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 21:31:43 | → | emf joins (~emf@8.46.76.75) |
| 21:31:56 | × | emf quits (~emf@8.46.76.75) (Remote host closed the connection) |
| 21:33:56 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:34:14 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:34:32 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds) |
| 21:34:52 | → | emf joins (~emf@8.46.76.75) |
| 21:35:24 | → | coot joins (~coot@213.134.190.95) |
| 21:35:30 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1)) |
| 21:35:32 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:37:54 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:38:13 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:39:53 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:40:12 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:41:52 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:42:10 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:42:36 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds) |
| 21:43:22 | × | nattiestnate quits (~nate@202.138.250.10) (Quit: WeeChat 3.4) |
| 21:44:41 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 21:46:21 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:46:40 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:46:56 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 21:46:59 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 21:47:16 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 21:47:46 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 21:47:51 | × | liz_ quits (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection) |
| 21:48:39 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer) |
| 21:49:02 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 21:49:13 | <int-e> | maerwald[m]: Hmm Endo and "wasted intellectual energy" -- how else do you get foldr from fold (or foldMap)? You /need/ an auxiliary monoid, and that monoid happens to be function composition, which is Endo. Unless your plan is to get rid of the Foldable abstraction and go back to lists? I could get behind that... especially for teaching. |
| 21:50:46 | <maerwald> | I didn't argue against Endo as an implementation detail |
| 21:51:04 | × | emf quits (~emf@8.46.76.75) (Quit: emf) |
| 21:51:04 | <maerwald> | just that using it in your own code can look confusing, depending on how you use it |
| 21:51:23 | <int-e> | maerwald[m]: Or maybe you want a DList based toList / foldr on list, hmm. But on the library level you'll end up implementing a `build` variant of `toList`, and why not inline that, and after a few steps you'll end up with what's there. |
| 21:51:39 | → | emf joins (~emf@8.46.76.75) |
| 21:51:46 | <maerwald> | I mean, it's really not that complicated |
| 21:51:52 | <maerwald> | just allows some funny obfuscation |
| 21:52:34 | <int-e> | It's definitely not something I understood at a glance the first time I saw it, so yes, it costs intellectual energy. I'm just not convinced it's wasted :) |
| 21:52:40 | <maerwald> | and the docs could give a more interesting example |
| 21:53:16 | <int-e> | (I already knew about Endo and foldMap, so the #. caused me far more trouble.) |
| 21:53:52 | <int-e> | @src foldr |
| 21:53:52 | <lambdabot> | foldr f z [] = z |
| 21:53:52 | <lambdabot> | foldr f z (x:xs) = f x (foldr f z xs) |
| 21:54:19 | <int-e> | And I knew that it was supposed to do this on lists... |
| 21:54:47 | <int-e> | But I definitely treat it as an implementation detail. |
| 21:57:10 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection) |
| 21:57:29 | → | cc123652345762 joins (~cc1236523@116.24.67.150) |
| 21:58:11 | → | merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) |
| 21:58:54 | × | dextaa_ quits (~dextaa@user/dextaa) (Remote host closed the connection) |
| 22:00:38 | <int-e> | I guess I'd only call it obfuscation if it wasn't dictated by necessity (need a monoid (hence the use of Endo), and it's performance critical (justifying the use of #.)) |
| 22:04:00 | × | cc123652345762 quits (~cc1236523@116.24.67.150) (Ping timeout: 256 seconds) |
| 22:05:13 | → | alx741 joins (~alx741@host-181-198-243-150.netlife.ec) |
| 22:05:17 | × | alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Client Quit) |
| 22:06:50 | → | da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100) |
| 22:07:29 | × | michalz quits (~michalz@185.246.204.65) (Remote host closed the connection) |
| 22:08:27 | → | emf_ joins (~emf@2620:10d:c090:400::5:9013) |
| 22:08:36 | × | emf quits (~emf@8.46.76.75) (Ping timeout: 240 seconds) |
| 22:10:48 | → | srk joins (~sorki@user/srk) |
| 22:11:30 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 22:11:42 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 22:12:15 | → | dsamperi joins (~dsamperi@2603-7000-3b42-5400-e891-6e71-97ff-c3d7.res6.spectrum.com) |
| 22:15:40 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 22:16:12 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 22:17:50 | × | shailangsa quits (~shailangs@host86-186-133-59.range86-186.btcentralplus.com) (Remote host closed the connection) |
| 22:17:55 | × | srk quits (~sorki@user/srk) (Ping timeout: 256 seconds) |
| 22:18:04 | → | InstX1 joins (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) |
| 22:18:11 | <dsamperi> | Plutus Playground was not available recently (bad certificate) and now it is up, but the Hello World example leads to "Validation failed." Most of the tutorial videos are months or years old,yet Playground was introduced in January 2022 I think. Current Status? |
| 22:21:07 | → | niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net) |
| 22:21:50 | <dsamperi> | My bad, I was not logged in. The Plutus Playground Hello World example seems to work. |
| 22:23:39 | → | InstX1_ joins (~Liam@2601:6c4:4080:3f80:d810:4ede:3443:87a) |
| 22:26:33 | → | emf joins (~emf@8.46.76.75) |
| 22:26:51 | × | niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 22:27:06 | × | emf_ quits (~emf@2620:10d:c090:400::5:9013) (Read error: Connection reset by peer) |
| 22:27:32 | × | merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 22:28:07 | × | InstX1 quits (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 272 seconds) |
| 22:29:51 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Remote host closed the connection) |
| 22:30:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) |
| 22:31:03 | × | emf quits (~emf@8.46.76.75) (Remote host closed the connection) |
| 22:31:16 | → | mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 22:31:17 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 22:31:49 | → | emf joins (~emf@8.46.76.75) |
| 22:32:48 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:38:23 | × | da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:38:50 | × | MironZ quits (~MironZ@nat-infra.ehlab.uk) (Remote host closed the connection) |
| 22:39:04 | → | MironZ joins (~MironZ@nat-infra.ehlab.uk) |
| 22:44:17 | × | InstX1_ quits (~Liam@2601:6c4:4080:3f80:d810:4ede:3443:87a) (Ping timeout: 240 seconds) |
| 22:46:13 | → | anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net) |
| 22:48:56 | <anon04088520> | any idea how to make it print on a new line? https://paste.tomsmeding.com/gGqLXof2 and also how I can add spaces between the characters during input |
| 22:49:52 | <romesrf> | anon04088520: we were talking b4, you should check again how it was said in class to do the getGuess n attempts |
| 22:52:36 | × | emf quits (~emf@8.46.76.75) (Quit: emf) |
| 22:53:00 | × | dsamperi quits (~dsamperi@2603-7000-3b42-5400-e891-6e71-97ff-c3d7.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 22:54:55 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection) |
| 22:55:09 | <geekosaur> | https://paste.tomsmeding.com/0dbUOwGG is a way to do it but possibly not what you should be using |
| 22:55:12 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 22:55:47 | × | mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 22:56:12 | <anon04088520> | I'm reviewing a lecture on it |
| 22:58:04 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 22:58:41 | <geekosaur> | oh, I forgot to change getChar back to getChar' |
| 22:59:31 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 23:01:08 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 23:03:35 | <anon04088520> | ok |
| 23:04:17 | → | InstX1_ joins (~Liam@2601:6c4:4080:3f80:b5e9:14a0:500e:3e39) |
| 23:06:01 | → | burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) |
| 23:07:04 | × | Topsi quits (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:08:00 | → | mreh joins (~mreh@2a00:23c7:2803:ef00:d01b:c280:b64b:b893) |
| 23:09:19 | mreh | is now known as mreh_ |
| 23:10:14 | <mreh_> | What is there difference between the types in this error message? |
| 23:10:15 | <mreh_> | Couldn't match type ‘[S.PhotoT (QExpr Postgres s0)]’ |
| 23:10:15 | <mreh_> | with ‘forall s'. [S.PhotoT (QExpr Postgres s')]’ |
| 23:10:57 | <hpc> | rank |
| 23:10:59 | <mreh_> | Is the s not the same in all the elements in the list? |
| 23:11:44 | <hpc> | s0 is part of a larger scope than s' |
| 23:12:10 | <hpc> | s' is introduced right at the list, and s0 is introduced somewhere further out that's not communicated in that error |
| 23:15:18 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:15:59 | <mreh_> | I can't work out where s' is introduced, all the functions I'm using to construct values of S.PhotoT... all have forall s. in their type. |
| 23:16:26 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 23:18:20 | <hpc> | s' is introduced by that forall right there in the error |
| 23:18:30 | <hpc> | :P |
| 23:20:33 | → | daemonises joins (uid545329@id-545329.uxbridge.irccloud.com) |
| 23:23:39 | × | acidjnk quits (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 23:31:15 | × | mreh_ quits (~mreh@2a00:23c7:2803:ef00:d01b:c280:b64b:b893) (Ping timeout: 256 seconds) |
| 23:32:32 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 240 seconds) |
| 23:36:57 | → | stefan-_ joins (~cri@42dots.de) |
| 23:39:01 | × | anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Remote host closed the connection) |
| 23:39:19 | → | anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net) |
| 23:40:58 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
| 23:43:43 | × | anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Ping timeout: 256 seconds) |
| 23:44:51 | × | fluxit quits (~fluxit@techsmix.net) (Quit: Bye!) |
| 23:45:38 | → | anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net) |
| 23:49:35 | ← | texasmynsted parts (~texasmyns@99.96.221.112) (WeeChat 3.4) |
| 23:49:57 | × | anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Ping timeout: 256 seconds) |
| 23:50:51 | → | worldhelloworld joins (~c1utt4r@vmi275462.contaboserver.net) |
| 23:52:09 | → | chenqisu1 joins (~chenqisu1@183.217.201.47) |
| 23:53:47 | <worldhelloworld> | Really struggling to conceptualize folds when traversing a list - could barely define a takeWhile in terms of foldr, but can't for the life of me, conceptualize a dropWhile in terms of fold :( |
| 23:55:25 | <dminuoso> | Can you share your version of takeWhile perhaps? |
| 23:55:32 | → | shailangsa joins (~shailangs@host86-186-133-59.range86-186.btcentralplus.com) |
| 23:55:32 | <worldhelloworld> | Sure |
| 23:55:50 | <worldhelloworld> | `takeWhile'' f = foldr (\x acc -> if f x then x:acc else []) []` |
| 23:57:27 | × | vorpuni quits (~pvorp@2001:861:3881:c690:a396:9946:d0cf:5cc0) (Remote host closed the connection) |
All times are in UTC on 2022-03-07.