2021-06-26 00:02:18 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-06-26 00:02:18 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-06-26 00:02:39 +0200 | allbery_b | geekosaur |
2021-06-26 00:02:42 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 258 seconds) |
2021-06-26 00:03:26 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-26 00:05:34 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-06-26 00:06:28 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Quit: Leaving) |
2021-06-26 00:06:56 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-06-26 00:09:32 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-06-26 00:10:36 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-06-26 00:10:53 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 265 seconds) |
2021-06-26 00:12:00 +0200 | n283 | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Read error: Connection reset by peer) |
2021-06-26 00:12:07 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-06-26 00:14:35 +0200 | dhil | (~dhil@195.213.192.47) (Ping timeout: 258 seconds) |
2021-06-26 00:14:40 +0200 | Codaraxis_ | (~Codaraxis@193.32.126.157) (Ping timeout: 272 seconds) |
2021-06-26 00:17:05 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds) |
2021-06-26 00:17:05 +0200 | Morrow_ | (~MorrowM_@147.161.9.9) (Read error: Connection reset by peer) |
2021-06-26 00:17:12 +0200 | acidjnk | (~acidjnk@p200300d0c72b9545f908228849627247.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-06-26 00:18:04 +0200 | Morrow | (~MorrowM_@147.161.9.9) |
2021-06-26 00:18:10 +0200 | delYsid | (~user@user/delYsid) (ERC (IRC client for Emacs 27.1.50)) |
2021-06-26 00:24:00 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-06-26 00:26:34 +0200 | derelict | (~derelict@user/derelict) |
2021-06-26 00:30:57 +0200 | <sm[m]> | when parsing a datetime string including a timezone with Data.Time.Format.parseTimeM, with a return type of Maybe Day, I think it just discards the timezone. Am I right ? |
2021-06-26 00:31:49 +0200 | <sm[m]> | so it you want to convert it to a local date, you should parse to Maybe UTCTime, then convert that to local date as a separate step ? |
2021-06-26 00:36:30 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
2021-06-26 00:42:09 +0200 | junkicide | (~user@2a01:e0a:195:20c0:91d0:f47d:73ce:dac7) (Ping timeout: 272 seconds) |
2021-06-26 00:47:50 +0200 | egoist1 | (~egoist@186.235.82.7) |
2021-06-26 00:49:28 +0200 | <mason0> | > Nothing <|> Just "foo" |
2021-06-26 00:49:29 +0200 | <lambdabot> | Just "foo" |
2021-06-26 00:49:34 +0200 | <mason0> | > Nothing <> Just "foo" |
2021-06-26 00:49:35 +0200 | <lambdabot> | Just "foo" |
2021-06-26 00:49:40 +0200 | <mason0> | which one is preferred? |
2021-06-26 00:49:58 +0200 | <hpc> | > Just "foo" <> Just "bar" |
2021-06-26 00:49:59 +0200 | <lambdabot> | Just "foobar" |
2021-06-26 00:50:04 +0200 | <hpc> | > Just "foo" <|> Just "bar" |
2021-06-26 00:50:06 +0200 | <lambdabot> | Just "foo" |
2021-06-26 00:50:08 +0200 | <mason0> | oh! |
2021-06-26 00:50:08 +0200 | <hpc> | mason0: it depends |
2021-06-26 00:50:15 +0200 | fendor | (~fendor@91.141.57.241.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-06-26 00:50:19 +0200 | <mason0> | yeah, I definitely want <|> |
2021-06-26 00:51:00 +0200 | egoist | (~egoist@186.235.82.7) (Ping timeout: 265 seconds) |
2021-06-26 01:02:14 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-06-26 01:04:34 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-06-26 01:05:16 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-06-26 01:05:26 +0200 | sleym | (~sleym@185.124.240.166) |
2021-06-26 01:06:11 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) (Remote host closed the connection) |
2021-06-26 01:06:32 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 01:06:37 +0200 | <xsperry> | sm[m], if the time in string is in UTC, you could do that, yes |
2021-06-26 01:07:27 +0200 | adinfinitum | (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) |
2021-06-26 01:08:43 +0200 | mikail | (~mikail@90.212.77.3) |
2021-06-26 01:08:46 +0200 | mikail_ | (~mikail@90.212.77.3) |
2021-06-26 01:09:00 +0200 | mikail_ | (~mikail@90.212.77.3) (Remote host closed the connection) |
2021-06-26 01:09:07 +0200 | <sm[m]> | xsperry: I'm getting really confused by parseTimeM's timezone handling |
2021-06-26 01:09:08 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-06-26 01:09:15 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-26 01:09:18 +0200 | <sm[m]> | if any! |
2021-06-26 01:10:24 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2021-06-26 01:10:26 +0200 | <mason0> | I'm pretty sure it doesn't do any |
2021-06-26 01:10:51 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 01:10:55 +0200 | <sm[m]> | man, that should be documented |
2021-06-26 01:12:54 +0200 | <mason0> | getCurrentTimeZone returns IO, parseTimeM is a pure function, so I don't think it can do any conversions, even if it wanted, with that type signature |
2021-06-26 01:13:16 +0200 | <mason0> | (and using getCurrentTimeZone would be wrong anyway) |
2021-06-26 01:13:23 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-26 01:13:54 +0200 | <sm[m]> | it seems to me the ParseTime instance for LocalTime discards parsed timezone info, but the instance for UTCTime does not: https://termbin.com/9fd5 |
2021-06-26 01:14:02 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2021-06-26 01:14:39 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-26 01:14:52 +0200 | <sm[m]> | or rather: the UTCTime instance uses parsed timezone to adjust the time of day, but not the date. The LocalTime instance adjusts neither. |
2021-06-26 01:15:06 +0200 | <mason0> | oh, interesting |
2021-06-26 01:15:11 +0200 | <mason0> | don't mind me, then :) |
2021-06-26 01:15:40 +0200 | <mason0> | I think LocalTime can't adjust for the reason I mentioned above, though. it can't know find out the current time zone without having IO signature |
2021-06-26 01:17:08 +0200 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 252 seconds) |
2021-06-26 01:17:12 +0200 | <mason0> | note that if you convert UTC to LocalTime using getCurrentTimeZone as an argument, you may get wrong result (if, for example, you are currently on summer time, but weren't at the date in the string) |
2021-06-26 01:17:12 +0200 | <sm[m]> | I agree, we couldn't expect the LocalTime instance to do this with the current type signature. Should still be documented I think. |
2021-06-26 01:18:39 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-26 01:18:58 +0200 | <mason0> | I agree, this should be documented |
2021-06-26 01:19:07 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 250 seconds) |
2021-06-26 01:19:09 +0200 | <sm[m]> | mason0: yikes |
2021-06-26 01:20:31 +0200 | azeem | (~azeem@dynamic-adsl-94-34-50-190.clienti.tiscali.it) (Ping timeout: 258 seconds) |
2021-06-26 01:20:39 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
2021-06-26 01:20:54 +0200 | <sm[m]> | how to reliably extract the local date from a timestamp, I wonder ? |
2021-06-26 01:20:56 +0200 | <mason0> | since timezones, and whether there's a summer time or not, is a political decision, conversions for future dates can't even be determined |
2021-06-26 01:20:58 +0200 | mikail | (~mikail@90.212.77.3) (Quit: Leaving) |
2021-06-26 01:21:14 +0200 | <mason0> | for past dates, see this: https://hackage.haskell.org/package/tz-0.1.3.5 |
2021-06-26 01:22:10 +0200 | <geekosaur> | sm[m], in the presence of summer time/DST changes, that's always iffy |
2021-06-26 01:22:29 +0200 | <sm[m]> | if I simplify and say, assume a past timestamp ? |
2021-06-26 01:22:50 +0200 | <geekosaur> | you still have problems around those changes |
2021-06-26 01:23:03 +0200 | <sm[m]> | mason0 do you think tz's utcToLocalTimeTZ would handle it right ? |
2021-06-26 01:23:23 +0200 | <mason0> | it did for me when I had to do something similar in the past |
2021-06-26 01:26:54 +0200 | cheater | (~Username@user/cheater) (Quit: (BitchX) If you gaze into the abyss, the abyss gazes also into you) |
2021-06-26 01:28:59 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-06-26 01:30:31 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
2021-06-26 01:31:00 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
2021-06-26 01:31:08 +0200 | <sm[m]> | thanks |
2021-06-26 01:31:26 +0200 | <sm[m]> | I'm reporting a bug, we'll see what the time lord thinks |
2021-06-26 01:37:01 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
2021-06-26 01:37:10 +0200 | azeem | (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) |
2021-06-26 01:42:18 +0200 | <sm[m]> | phew, found mistakes in my paste. https://termbin.com/jhze shows the UTCTime instance works fine, adjusting the date as expected. |
2021-06-26 01:44:51 +0200 | <sm[m]> | I think the result of parseTimeM ... :: Maybe UTCTime can be relied on, and it's only when you try to convert that to another time zone things can go wrong, mason0 ? |
2021-06-26 01:44:55 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 01:45:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-06-26 01:46:40 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds) |
2021-06-26 01:46:44 +0200 | <mason0> | yes. it should work in combination with tz package |
2021-06-26 01:46:50 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-26 01:47:34 +0200 | cheater | (~Username@user/cheater) |
2021-06-26 01:48:23 +0200 | zebrag_ | (~chris@user/zebrag) |
2021-06-26 01:48:35 +0200 | zebrag | (~chris@user/zebrag) (Ping timeout: 250 seconds) |
2021-06-26 01:49:07 +0200 | is7s | (~is7s@2a01:4b00:895f:3d00:fd08:7a4b:2db3:57e3) |
2021-06-26 01:50:19 +0200 | hmmmas | (~chenqisu1@183.217.200.246) |
2021-06-26 01:55:25 +0200 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
2021-06-26 01:56:44 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2021-06-26 01:56:52 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-06-26 01:57:45 +0200 | MorrowM | (~MorrowM_@147.161.9.7) |
2021-06-26 01:58:12 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-26 01:59:38 +0200 | <qrpnxz> | i read that this is a free theorem for functors: `map g . f = f . map g` when f :: [a] -> [a], but i don't buy it. It doesn't hold for f = fmap (++"f") and g = (++"g") |
2021-06-26 01:59:51 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 02:00:04 +0200 | Morrow | (~MorrowM_@147.161.9.9) (Ping timeout: 268 seconds) |
2021-06-26 02:00:29 +0200 | <shachaf> | But fmap (++"f") doesn't have the type [a] -> [a] |
2021-06-26 02:00:57 +0200 | <qrpnxz> | but it does |
2021-06-26 02:01:10 +0200 | <qrpnxz> | a = String, f = [] |
2021-06-26 02:01:38 +0200 | <shachaf> | No, in Haskell "f :: [a] -> [a]" means "f :: forall a. [a] -> [a]". |
2021-06-26 02:01:47 +0200 | <qrpnxz> | dang it |
2021-06-26 02:02:00 +0200 | <shachaf> | That's what gives you the free theorem |
2021-06-26 02:02:03 +0200 | <qrpnxz> | isn't the only thing you can do that is [a] -> [a] id then? |
2021-06-26 02:02:13 +0200 | <shachaf> | No. |
2021-06-26 02:02:14 +0200 | <hpc> | or tail |
2021-06-26 02:02:27 +0200 | <qrpnxz> | hm |
2021-06-26 02:02:30 +0200 | <hpc> | there's lots of things you can do with the list, just not really its elements |
2021-06-26 02:02:37 +0200 | <qrpnxz> | ye ye |
2021-06-26 02:02:41 +0200 | <MorrowM> | @type reverse |
2021-06-26 02:02:42 +0200 | <lambdabot> | [a] -> [a] |
2021-06-26 02:03:04 +0200 | <MorrowM> | take, drop, etc |
2021-06-26 02:03:25 +0200 | hgolden | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
2021-06-26 02:03:36 +0200 | <shachaf> | You can do a lot of things, but they're all structural, not knowing anything about the elements. |
2021-06-26 02:03:36 +0200 | <qrpnxz> | so you can thing of it like an operation on the elements of the list commutes with an operation on the structure of the list? |
2021-06-26 02:03:40 +0200 | <qrpnxz> | *think |
2021-06-26 02:03:59 +0200 | <qrpnxz> | interesting |
2021-06-26 02:04:02 +0200 | <shachaf> | Sure, something like that. |
2021-06-26 02:04:28 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
2021-06-26 02:04:59 +0200 | <shachaf> | f is a natural transformation, if that means anything. |
2021-06-26 02:05:14 +0200 | <qrpnxz> | alright |
2021-06-26 02:05:30 +0200 | <sm[m]> | https://github.com/haskell/time/issues/172 |
2021-06-26 02:08:34 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 02:08:43 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-26 02:08:50 +0200 | <sm[m]> | ack, I thought time was still managed by the original author. |
2021-06-26 02:08:59 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 02:14:22 +0200 | adinfinitum | (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) (Ping timeout: 272 seconds) |
2021-06-26 02:17:32 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
2021-06-26 02:18:03 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 02:22:51 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 272 seconds) |
2021-06-26 02:25:49 +0200 | alx741 | (~alx741@181.196.69.199) (Quit: alx741) |
2021-06-26 02:27:41 +0200 | alx741 | (~alx741@181.196.69.199) |
2021-06-26 02:29:42 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-26 02:30:45 +0200 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
2021-06-26 02:31:23 +0200 | stevenxl | (~stevenlei@174.128.179.103) (Read error: Connection reset by peer) |
2021-06-26 02:31:38 +0200 | stevenxl | (~stevenlei@174.128.179.103) |
2021-06-26 02:31:50 +0200 | funsafe | (~funsafe@2601:1c1:4200:938f:4e1e:fc56:b28f:5ac7) (Ping timeout: 244 seconds) |
2021-06-26 02:32:00 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
2021-06-26 02:33:54 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-06-26 02:34:04 +0200 | funsafe | (~funsafe@2601:1c1:4200:938f:4e1e:fc56:b28f:5ac7) |
2021-06-26 02:34:29 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 02:35:08 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) (Quit: bye) |
2021-06-26 02:35:27 +0200 | xff0x | (~xff0x@2001:1a81:52c9:c400:7297:5fed:23fc:a105) (Ping timeout: 244 seconds) |
2021-06-26 02:36:14 +0200 | xff0x | (~xff0x@2001:1a81:52c9:c400:e0d8:2879:2fd2:a436) |
2021-06-26 02:36:48 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) |
2021-06-26 02:37:31 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 02:37:37 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-26 02:39:36 +0200 | alx741 | (~alx741@181.196.69.199) (Quit: alx741) |
2021-06-26 02:39:44 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
2021-06-26 02:40:11 +0200 | adinfinitum | (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) |
2021-06-26 02:40:51 +0200 | alx741 | (~alx741@181.196.69.199) |
2021-06-26 02:49:11 +0200 | aerh | (~aerh@99-39-158-127.lightspeed.ltrkar.sbcglobal.net) |
2021-06-26 02:49:35 +0200 | aerh | (~aerh@99-39-158-127.lightspeed.ltrkar.sbcglobal.net) () |
2021-06-26 02:50:39 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
2021-06-26 02:51:03 +0200 | <qrpnxz> | shouldn't `f (a -> b)` = `f a -> f b` if `f` is a functor? |
2021-06-26 02:52:14 +0200 | <shachaf> | No. |
2021-06-26 02:52:37 +0200 | <qrpnxz> | tru |
2021-06-26 02:53:40 +0200 | <qrpnxz> | ok ok i think i get it now |
2021-06-26 02:56:23 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-06-26 02:56:41 +0200 | Deide | (~Deide@user/deide) (Quit: Seeee yaaaa) |
2021-06-26 02:58:29 +0200 | <mason0> | sm[m], oh, there's actually getTimeZone :: UTCTime -> IO TimeZone in Data.Time.LocalTime, so tz package may not even be needed |
2021-06-26 02:58:40 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 02:58:45 +0200 | fYnch | (~mike@174.127.249.180) |
2021-06-26 02:59:01 +0200 | adinfinitum | (~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) (WeeChat 3.0.1) |
2021-06-26 02:59:56 +0200 | <mason0> | I did a couple of tests, and it correctly adjusts daylight saving according to passed date for my timezone |
2021-06-26 03:00:31 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-26 03:03:49 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-06-26 03:03:50 +0200 | <fYnch> | hey all, i'm trying to update an older project (roughly 7 years old) that uses type families and I'm getting a type error here https://paste.tomsmeding.com/qkCiOvgl |
2021-06-26 03:04:51 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
2021-06-26 03:04:58 +0200 | <fYnch> | the error is listed there but it claims an associated type references no type or kind variables of the class. I'm not sure how to parse that, digging through type families doc at the moment but lost |
2021-06-26 03:05:47 +0200 | <shachaf> | fYnch: Well, What's b supposed to be? |
2021-06-26 03:06:02 +0200 | <shachaf> | Did that code compile in the past? |
2021-06-26 03:06:56 +0200 | <shachaf> | Hmm, I guess I see what it's trying to do. |
2021-06-26 03:07:17 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds) |
2021-06-26 03:07:36 +0200 | neurocyte57 | (~neurocyte@user/neurocyte) |
2021-06-26 03:07:46 +0200 | <fYnch> | it did, I'm the origonal author but I haven't looked at it in 7 years so i dont even remember why UnDBConnection was needed :| |
2021-06-26 03:09:32 +0200 | <shachaf> | Is it used anywhere else? |
2021-06-26 03:09:43 +0200 | <shachaf> | I haven't used any of these extensions in years. |
2021-06-26 03:09:55 +0200 | <shachaf> | Maybe you can make UnDBConnection a standalone type family or something? I don't know how you're using it. |
2021-06-26 03:10:00 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) |
2021-06-26 03:11:16 +0200 | neurocyte5 | (~neurocyte@user/neurocyte) (Ping timeout: 246 seconds) |
2021-06-26 03:14:08 +0200 | <fYnch> | hey all, i'm trying to update an older project (roughly 7 years old) that uses type families and I'm getting a type error here https://paste.tomsmeding.com/qkCiOvglhttps://github.com/fuag15/yaskl/blob/master/src/Yaskl/Postgre… |
2021-06-26 03:16:12 +0200 | hegstal | (~hegstal@2a02:c7f:7604:8a00:b401:1d9:cf08:e9d0) (Remote host closed the connection) |
2021-06-26 03:16:42 +0200 | <shachaf> | Well, that code doesn't seem to be using it. |
2021-06-26 03:18:36 +0200 | sleym | (~sleym@185.124.240.166) (Read error: Connection reset by peer) |
2021-06-26 03:21:04 +0200 | <fYnch> | yeah, I don't get why i need this UnDBConnection (DBConnection a) |
2021-06-26 03:21:10 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 03:21:12 +0200 | <fYnch> | going to try removing it and just us DBConnection a |
2021-06-26 03:21:30 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 272 seconds) |
2021-06-26 03:23:56 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 268 seconds) |
2021-06-26 03:24:00 +0200 | <fYnch> | huh, without it it cant match my DBConnection type with the type i supply |
2021-06-26 03:24:55 +0200 | xff0x | (~xff0x@2001:1a81:52c9:c400:e0d8:2879:2fd2:a436) (Ping timeout: 272 seconds) |
2021-06-26 03:26:08 +0200 | leeb_ | (~leeb@KD111239153087.au-net.ne.jp) (Quit: WeeChat 3.1) |
2021-06-26 03:26:11 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 272 seconds) |
2021-06-26 03:26:26 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:7b9e:b34d:db0e:110c) |
2021-06-26 03:28:31 +0200 | <fYnch> | i wrote this origonally in 2014, I think i need to update it to use TypeFamilyDependencies |
2021-06-26 03:28:57 +0200 | <geekosaur> | I'm a bit surprised that ever worked given the dangling "b" |
2021-06-26 03:32:33 +0200 | <fYnch> | welp, time to pay the piper for me. This was when i was first learning haskell and I never really understood how it was interacting with the compiler, it looks like theres now a cleaner way to tell it |
2021-06-26 03:32:47 +0200 | <fYnch> | it looks like something like this and reworking the rest of the source to play with it will get the same result |
2021-06-26 03:34:49 +0200 | <fYnch> | nope, reading through the ghc docs i'm lost again. I think type famly dependencies is what i'm after but it looks like the syntax has changed a bit, rtfm'ing |
2021-06-26 03:34:56 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:f4be:52a3:d576:1567) |
2021-06-26 03:38:48 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-26 03:40:19 +0200 | <shachaf> | I don't know what the code is trying to accomplish. |
2021-06-26 03:41:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 03:44:19 +0200 | <fYnch> | i'm still wrestling with it I think i spoke up too soon. I'm going to wrestle more till sunday evening and come back with a better understanding of how it was working. I believe this was origonally compiling against ghc 7.x |
2021-06-26 03:45:41 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
2021-06-26 03:45:51 +0200 | fizbin_ | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 03:47:25 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:413d:a4c8:b301:6764) |
2021-06-26 03:47:58 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-06-26 03:49:12 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 03:51:13 +0200 | ph88 | (~ph88@2a02:8109:9e00:7e5c:65ac:7b6b:22bc:47ee) (Ping timeout: 250 seconds) |
2021-06-26 03:53:23 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 250 seconds) |
2021-06-26 03:58:42 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 240 seconds) |
2021-06-26 03:58:42 +0200 | fizbin_ | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-26 04:00:59 +0200 | oxide | (~lambda@user/oxide) |
2021-06-26 04:02:15 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
2021-06-26 04:03:14 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-06-26 04:05:27 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 04:06:31 +0200 | dajoer | (~david@user/gvx) |
2021-06-26 04:11:16 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-06-26 04:14:16 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-26 04:15:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-06-26 04:16:27 +0200 | juhp | (~juhp@128.106.188.66) (Quit: juhp) |
2021-06-26 04:16:41 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-26 04:19:07 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-06-26 04:21:15 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
2021-06-26 04:22:41 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 04:22:48 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Remote host closed the connection) |
2021-06-26 04:24:39 +0200 | myShoggoth | (~myShoggot@75.164.29.44) |
2021-06-26 04:25:10 +0200 | <jophish> | the Dependencies section on Hackage doesn't seem to include custom setup dependencies |
2021-06-26 04:25:18 +0200 | <jophish> | (or tests or benchmarks which I agree with) |
2021-06-26 04:26:51 +0200 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2021-06-26 04:28:44 +0200 | zebrag_ | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-06-26 04:29:30 +0200 | myShoggoth | (~myShoggot@75.164.29.44) (Ping timeout: 258 seconds) |
2021-06-26 04:30:15 +0200 | myShoggoth | (~myShoggot@75.164.29.44) |
2021-06-26 04:32:29 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-06-26 04:32:29 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (platinum.libera.chat (Nickname regained by services))) |
2021-06-26 04:32:29 +0200 | finn_elija | FinnElija |
2021-06-26 04:32:43 +0200 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
2021-06-26 04:39:01 +0200 | hammock | (~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 272 seconds) |
2021-06-26 04:41:11 +0200 | <fYnch> | yeah, that was wierd, i don't know what i was smoking or eating or drinking when making that choice, but theres no reason for that wierd constraint on the class with TypeFamilyDependencies |
2021-06-26 04:41:23 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-06-26 04:41:25 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-06-26 04:41:34 +0200 | <fYnch> | shachaf: ^ |
2021-06-26 04:41:58 +0200 | egoist1 | (~egoist@186.235.82.7) (Quit: WeeChat 3.2) |
2021-06-26 04:42:01 +0200 | <fYnch> | shachaf: thanks for looking at it earlier, I may never know how it ended up being that way |
2021-06-26 04:43:54 +0200 | fYnch | (~mike@174.127.249.180) (Remote host closed the connection) |
2021-06-26 04:45:56 +0200 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2021-06-26 04:48:25 +0200 | <sm[m]> | mason0: ok, that's good to know. It would be strange if time did not do the right thing! |
2021-06-26 04:49:16 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) (Ping timeout: 244 seconds) |
2021-06-26 04:52:42 +0200 | td_ | (~td@94.134.91.180) (Ping timeout: 272 seconds) |
2021-06-26 04:53:55 +0200 | td_ | (~td@muedsl-82-207-238-164.citykom.de) |
2021-06-26 04:58:23 +0200 | stevenxl | (~stevenlei@174.128.179.103) (Ping timeout: 250 seconds) |
2021-06-26 05:02:21 +0200 | stevenxl | (~stevenlei@174.128.182.196) |
2021-06-26 05:03:43 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-06-26 05:09:22 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-06-26 05:10:31 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 258 seconds) |
2021-06-26 05:14:25 +0200 | <Boarders> | Are there any papers that explain how the haskell runtime system works in some high level way? |
2021-06-26 05:15:31 +0200 | <Boarders> | the one I found is "Runtime support for multicore haskell" but interested in other resources |
2021-06-26 05:18:55 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 05:22:29 +0200 | <hololeap> | Boarders: there's various resources for different aspects of it. is there anything in particular you're interested in? |
2021-06-26 05:22:57 +0200 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-06-26 05:27:25 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds) |
2021-06-26 05:27:42 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-26 05:28:14 +0200 | <Boarders> | I'm kind of interested in how to write a RTS for a toy language myself so mostly just looking to pick up some wisdom |
2021-06-26 05:28:28 +0200 | <Boarders> | @hololeap |
2021-06-26 05:28:29 +0200 | <lambdabot> | Unknown command, try @list |
2021-06-26 05:29:53 +0200 | jespada | (~jespada@90.254.247.46) (Ping timeout: 265 seconds) |
2021-06-26 05:30:18 +0200 | <ezzieyguywuf> | do y'all know of any tools like ghcid that exist for c++ development? |
2021-06-26 05:31:35 +0200 | jespada | (~jespada@90.254.247.46) |
2021-06-26 05:39:07 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
2021-06-26 05:39:11 +0200 | thunderfish | mnrmnaugh |
2021-06-26 05:40:03 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-06-26 05:41:19 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-26 05:44:02 +0200 | mason0 | (~bc817c21@1582020-static.lxtnkya3.metronetinc.net) (Quit: QUIT) |
2021-06-26 05:48:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-06-26 05:51:29 +0200 | <monochrom> | I don't actually know, but my impression is that in C and C++, if people get seriously enough they use full-blown CI. (The whole point of inventing CI, I would think?) |
2021-06-26 05:53:27 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 258 seconds) |
2021-06-26 05:54:13 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
2021-06-26 05:54:30 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-26 05:56:43 +0200 | <hololeap> | Boarders: idk, it's pretty complex. there's the garbage collector, thunks, parallelism, to name a few moving parts. take a look at `ghc +RTS --help` to get an idea what options are there for the runtime |
2021-06-26 06:00:01 +0200 | jolly | (~jolly@208.180.97.158) (Quit: Connection closed) |
2021-06-26 06:00:54 +0200 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2021-06-26 06:02:11 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-06-26 06:12:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 06:12:17 +0200 | stevenxl | (~stevenlei@174.128.182.196) (Ping timeout: 268 seconds) |
2021-06-26 06:13:56 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-26 06:14:49 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 06:19:31 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
2021-06-26 06:20:40 +0200 | <janus> | ezzieyguywuf: i have heard https://github.com/inotify-tools/inotify-tools recommended, you can use it to launch make |
2021-06-26 06:21:16 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-06-26 06:21:52 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-26 06:23:17 +0200 | <ezzieyguywuf> | janus: thanks for the tip |
2021-06-26 06:23:18 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 06:23:21 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-06-26 06:27:26 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 244 seconds) |
2021-06-26 06:30:53 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-06-26 06:31:43 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-06-26 06:32:09 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
2021-06-26 06:37:11 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-06-26 06:42:31 +0200 | myShoggoth | (~myShoggot@75.164.29.44) (Ping timeout: 258 seconds) |
2021-06-26 06:45:26 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 272 seconds) |
2021-06-26 06:46:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-26 06:46:42 +0200 | derelict | (~derelict@user/derelict) |
2021-06-26 07:01:16 +0200 | MorrowM | (~MorrowM_@147.161.9.7) (Ping timeout: 252 seconds) |
2021-06-26 07:08:21 +0200 | Codaraxis__ | (~Codaraxis@193.32.126.161) |
2021-06-26 07:12:17 +0200 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 250 seconds) |
2021-06-26 07:16:04 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) (Quit: bye) |
2021-06-26 07:18:16 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) |
2021-06-26 07:18:35 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) (Client Quit) |
2021-06-26 07:18:50 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
2021-06-26 07:18:55 +0200 | jenkems | (~jenkems@226.148.192.35.bc.googleusercontent.com) (Quit: leaving) |
2021-06-26 07:19:20 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-26 07:19:56 +0200 | <sm[m]> | ezzieyguywuf: entr (search for entrproject); visual studio / JetBrains ide probably |
2021-06-26 07:20:44 +0200 | juhp | (~juhp@128.106.188.66) (Ping timeout: 268 seconds) |
2021-06-26 07:22:08 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-06-26 07:22:21 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-06-26 07:28:18 +0200 | Guest9 | (~Guest9@103.86.19.137) |
2021-06-26 07:28:55 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) |
2021-06-26 07:32:39 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:7b9e:b34d:db0e:110c) (Ping timeout: 250 seconds) |
2021-06-26 07:33:36 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:933b:b446:f13f:917e) |
2021-06-26 07:39:39 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-26 07:42:55 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-06-26 07:47:38 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
2021-06-26 07:47:56 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) |
2021-06-26 07:49:16 +0200 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) (Remote host closed the connection) |
2021-06-26 07:55:51 +0200 | hmmmas | (~chenqisu1@183.217.200.246) |
2021-06-26 07:58:16 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 272 seconds) |
2021-06-26 07:59:09 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) (Quit: bye) |
2021-06-26 08:02:06 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) |
2021-06-26 08:05:14 +0200 | <Cajun> | so im trying to profile a program and i compile with `-prof` and use `-hc`, but when i convert it to postscript it is entirely empty. im running it through cabal with --enable-library-profiling because it fails to compile otherwise (the compiler says to put that flag). how can i get it to correctly show the heap? |
2021-06-26 08:13:15 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-06-26 08:14:40 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-26 08:16:41 +0200 | pera | (~pera@user/pera) |
2021-06-26 08:17:29 +0200 | smokey991 | (sid369395@id-369395.brockwell.irccloud.com) |
2021-06-26 08:25:57 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:933b:b446:f13f:917e) (Ping timeout: 250 seconds) |
2021-06-26 08:26:46 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:dba5:5569:ccc4:c781) |
2021-06-26 08:26:49 +0200 | Guest9 | (~Guest9@103.86.19.137) (Ping timeout: 250 seconds) |
2021-06-26 08:28:40 +0200 | pera | (~pera@user/pera) (Quit: leaving) |
2021-06-26 08:30:18 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-26 08:37:03 +0200 | juhp | (~juhp@bb116-14-48-29.singnet.com.sg) |
2021-06-26 08:42:08 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 268 seconds) |
2021-06-26 08:42:10 +0200 | bitmapper | (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-26 08:42:29 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-26 08:42:44 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 08:45:34 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) |
2021-06-26 08:46:10 +0200 | qbt | (~edun@user/edun) |
2021-06-26 08:47:37 +0200 | wei2912 | (~wei2912@112.199.250.21) (Ping timeout: 250 seconds) |
2021-06-26 08:48:34 +0200 | qbt | (~edun@user/edun) (Client Quit) |
2021-06-26 08:55:35 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) (Quit: bye) |
2021-06-26 08:55:35 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 08:57:30 +0200 | laguneucl | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-26 08:58:18 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 244 seconds) |
2021-06-26 08:58:20 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-54.prtc.net) |
2021-06-26 09:02:46 +0200 | nerdypepper | (~nerdypepp@152.67.162.71) |
2021-06-26 09:07:06 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-06-26 09:11:10 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-26 09:12:29 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-06-26 09:12:38 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-06-26 09:13:58 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 09:15:14 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 09:16:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-06-26 09:17:07 +0200 | arjun | (~user@user/arjun) |
2021-06-26 09:18:24 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-06-26 09:19:35 +0200 | v01d4lph4 | (~v01d4lph4@122.160.65.250) |
2021-06-26 09:19:35 +0200 | v01d4lph4 | (~v01d4lph4@122.160.65.250) (Changing host) |
2021-06-26 09:19:35 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-06-26 09:19:58 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-06-26 09:22:07 +0200 | acidjnk | (~acidjnk@p200300d0c72b9545f908228849627247.dip0.t-ipconnect.de) |
2021-06-26 09:25:04 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-06-26 09:26:47 +0200 | arjun | (~user@user/arjun) (Remote host closed the connection) |
2021-06-26 09:35:32 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-26 09:36:06 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 09:36:35 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 250 seconds) |
2021-06-26 09:40:44 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2021-06-26 09:40:53 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-06-26 09:41:34 +0200 | Guest9 | (~Guest9@103.86.19.137) |
2021-06-26 09:42:26 +0200 | <Guest9> | " something is intact=still same", how to represent this statement in diagram/sketch form? |
2021-06-26 09:42:29 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-06-26 09:48:10 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-06-26 09:49:12 +0200 | TFL | (~user@64.114.96.246) |
2021-06-26 09:53:03 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-26 09:58:13 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-06-26 10:00:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 10:01:05 +0200 | dmang | (~dmang@047-032-148-170.res.spectrum.com) (Ping timeout: 258 seconds) |
2021-06-26 10:02:19 +0200 | dmang | (~dmang@user/dmang) |
2021-06-26 10:07:28 +0200 | dmang | (~dmang@user/dmang) (Ping timeout: 272 seconds) |
2021-06-26 10:09:46 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-06-26 10:14:48 +0200 | <tomsmeding> | Is there a sensible precedence value for the '->' type construction operator? |
2021-06-26 10:14:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Remote host closed the connection) |
2021-06-26 10:15:00 +0200 | dmang | (~dmang@user/dmang) |
2021-06-26 10:15:16 +0200 | <tomsmeding> | in the same list as where '+' has precedence value 6 |
2021-06-26 10:18:04 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 10:18:35 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-26 10:19:14 +0200 | <ephemient> | -∞? |
2021-06-26 10:20:46 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds) |
2021-06-26 10:20:49 +0200 | <tomsmeding> | well, 'it + 1' should have a sensible value that is distinct from it |
2021-06-26 10:21:01 +0200 | <tomsmeding> | given that I would like to use it in a showsPrec-like setting :p |
2021-06-26 10:22:04 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-06-26 10:22:05 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-06-26 10:22:09 +0200 | <tomsmeding> | like, it doesn't matter much because the same expression cannot currently contain arithmetic operators, but for consistency's sake I generally like to give stuff Haskell precedence levels if possible |
2021-06-26 10:22:33 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-06-26 10:33:43 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-06-26 10:36:36 +0200 | Guest9 | (~Guest9@103.86.19.137) (Quit: Connection closed) |
2021-06-26 10:44:58 +0200 | <juri_> | Cajun: is your program terminating normally? I have found that when i control-C a program, sometimes the profile output has a partial frame at the end that i must cut off, for the tools to work. |
2021-06-26 10:46:05 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 10:46:21 +0200 | <Cajun> | its terminating normally, the terminal doesnt specify an abnormal exit code afaik |
2021-06-26 10:46:40 +0200 | <Cajun> | i am on WSL if that matters for the profiling, but i dont image it does |
2021-06-26 10:47:25 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-54.prtc.net) (Ping timeout: 246 seconds) |
2021-06-26 10:50:26 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-06-26 10:51:39 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-26 10:54:33 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) (Ping timeout: 244 seconds) |
2021-06-26 10:56:43 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) |
2021-06-26 11:02:22 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 246 seconds) |
2021-06-26 11:03:31 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-06-26 11:03:40 +0200 | maerwald | (~maerwald@mail.hasufell.de) (Changing host) |
2021-06-26 11:03:40 +0200 | maerwald | (~maerwald@user/maerwald) |
2021-06-26 11:03:57 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-26 11:06:13 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-6-22.prtc.net) |
2021-06-26 11:07:40 +0200 | Schrostfutz | (~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) |
2021-06-26 11:09:16 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-06-26 11:09:49 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
2021-06-26 11:10:05 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) |
2021-06-26 11:10:36 +0200 | <Schrostfutz> | Hi, I find myself relatively often trying to combine multiple predicates into one, and noticing that it's not so simple. Both joining the predicates into one function only works via lifting the && operator into function application (?), or applying a list of functions ([(a -> b)] -> a -> [b]) to a value and then combining the result, both of which are not readily available in the standard library which I find weird, since the |
2021-06-26 11:10:36 +0200 | <Schrostfutz> | use-case seems quite common to me, especially in a functional language. Or is that assumption wrong? |
2021-06-26 11:15:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 11:18:04 +0200 | <ChaiTRex> | :t flip (all . flip id) |
2021-06-26 11:18:05 +0200 | <lambdabot> | Foldable t => t (b -> Bool) -> b -> Bool |
2021-06-26 11:18:43 +0200 | <ChaiTRex> | Schrostfutz: ^ |
2021-06-26 11:18:48 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-26 11:19:13 +0200 | <Schrostfutz> | What |
2021-06-26 11:19:17 +0200 | <shachaf> | Yikes, don't write that. |
2021-06-26 11:19:23 +0200 | <Schrostfutz> | *What's the reason for the `flip id`? |
2021-06-26 11:19:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 250 seconds) |
2021-06-26 11:19:49 +0200 | <ChaiTRex> | You could also write: \ fs x -> and . map (\ f -> f x) $ fs |
2021-06-26 11:20:17 +0200 | <shachaf> | That doesn't even seem to be addressng the question. |
2021-06-26 11:21:44 +0200 | <Schrostfutz> | The closest I have found so far is `fmap ($ val) predicates`, but that seems unintuitive to me (maybe because I'm a beginner, but I was hoping I was overlooking the nice, canonical solution to this. |
2021-06-26 11:22:39 +0200 | <shachaf> | map ($ x) list is reasonable standard. |
2021-06-26 11:23:16 +0200 | <shachaf> | Some people would probably suggest "sequence :: [a -> b] -> a -> [b]" |
2021-06-26 11:23:22 +0200 | <shachaf> | But that's probably not that helpful. |
2021-06-26 11:27:00 +0200 | <Schrostfutz> | shachaf: What sequence is that, the one I could find has the type `t (m a) -> m (t a)` |
2021-06-26 11:27:16 +0200 | <shachaf> | That one. |
2021-06-26 11:27:37 +0200 | <shachaf> | And that sort of confusion is why I wouldn't suggest it. |
2021-06-26 11:30:58 +0200 | <Schrostfutz> | shachaf: Alright, thanks! Do you have a pointer for a solution for the solution that feels more functional to me, combinding a list of predicates into a single one?: foldl1 (&&) predicates |
2021-06-26 11:32:14 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
2021-06-26 11:32:47 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
2021-06-26 11:33:07 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) |
2021-06-26 11:34:39 +0200 | <ChaiTRex> | Schrostfutz: Going with your solution, you can try: all ($ val) predicates |
2021-06-26 11:34:42 +0200 | <ChaiTRex> | @src all |
2021-06-26 11:34:42 +0200 | <lambdabot> | all p = and . map p |
2021-06-26 11:34:51 +0200 | <ChaiTRex> | @src and |
2021-06-26 11:34:51 +0200 | <lambdabot> | and = foldr (&&) True |
2021-06-26 11:35:53 +0200 | <dibblego> | sequence predicates |
2021-06-26 11:36:16 +0200 | <dibblego> | oh sorry, that discussion has already been had |
2021-06-26 11:37:14 +0200 | <Schrostfutz> | ChaiTRex: Thanks! |
2021-06-26 11:37:24 +0200 | gensyst | (gensyst@user/gensyst) |
2021-06-26 11:38:01 +0200 | <gensyst> | I'm looking for a queue structure with min/max query support: https://www.geeksforgeeks.org/design-a-queue-data-structure-to-get-minimum-or-maximum-in-o1-time/ |
2021-06-26 11:38:12 +0200 | <gensyst> | Are you aware of any existing one for Haskell? |
2021-06-26 11:38:28 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
2021-06-26 11:40:21 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) |
2021-06-26 11:40:59 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-06-26 11:41:51 +0200 | <juri_> | I can potentially call error in any one of 200 places in my program. *sigh* |
2021-06-26 11:43:48 +0200 | <juri_> | I've got my stan warnings down to 180, from over 500, so i guess that's progress. |
2021-06-26 11:44:42 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
2021-06-26 11:45:37 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) |
2021-06-26 11:49:18 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-06-26 11:50:46 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) (Read error: Connection reset by peer) |
2021-06-26 11:51:19 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) |
2021-06-26 11:54:34 +0200 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2021-06-26 11:54:51 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-06-26 11:58:29 +0200 | Codaraxis__ | (~Codaraxis@193.32.126.161) (Ping timeout: 265 seconds) |
2021-06-26 12:02:25 +0200 | m7zs3gzw | (~m7zs3gzw@178.155.6.220) |
2021-06-26 12:03:05 +0200 | xsperry | (~as@user/xsperry) (Remote host closed the connection) |
2021-06-26 12:05:04 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 12:05:07 +0200 | Codaraxis__ | (~Codaraxis@193.32.126.154) |
2021-06-26 12:08:41 +0200 | m7zs3gzw | (~m7zs3gzw@178.155.6.220) (Read error: Connection reset by peer) |
2021-06-26 12:08:57 +0200 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 244 seconds) |
2021-06-26 12:11:32 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) (Remote host closed the connection) |
2021-06-26 12:12:15 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-26 12:16:56 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 12:17:13 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) |
2021-06-26 12:17:22 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-6-22.prtc.net) (Ping timeout: 246 seconds) |
2021-06-26 12:17:47 +0200 | Schrostfutz | (~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-06-26 12:21:59 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 272 seconds) |
2021-06-26 12:22:52 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-06-26 12:22:54 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-06-26 12:23:24 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-26 12:23:36 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2021-06-26 12:24:15 +0200 | dhil | (~dhil@195.213.192.47) |
2021-06-26 12:24:40 +0200 | dunkeln_ | (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
2021-06-26 12:25:32 +0200 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
2021-06-26 12:26:38 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-26 12:26:55 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-26 12:31:17 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-06-26 12:32:30 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-06-26 12:39:08 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 252 seconds) |
2021-06-26 12:40:23 +0200 | noctux | (~noctux@user/noctux) |
2021-06-26 12:45:17 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
2021-06-26 12:45:52 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-06-26 12:47:42 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
2021-06-26 12:51:17 +0200 | kayprish | (~kayprish@46.240.143.86) |
2021-06-26 12:51:46 +0200 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) |
2021-06-26 12:55:03 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 250 seconds) |
2021-06-26 13:00:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 13:03:08 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-06-26 13:03:22 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
2021-06-26 13:03:28 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-26 13:03:41 +0200 | blackfield | (~blackfiel@85.255.4.218) () |
2021-06-26 13:03:42 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-06-26 13:03:47 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-06-26 13:05:28 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
2021-06-26 13:05:58 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 13:08:03 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:dba5:5569:ccc4:c781) (Ping timeout: 250 seconds) |
2021-06-26 13:08:20 +0200 | xff0x | (~xff0x@185.65.135.235) |
2021-06-26 13:08:36 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 272 seconds) |
2021-06-26 13:12:36 +0200 | Sornaensis | (~Sornaensi@077213194163.dynamic.telenor.dk) |
2021-06-26 13:15:57 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-26 13:18:51 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) |
2021-06-26 13:20:46 +0200 | xff0x | (~xff0x@185.65.135.235) (Ping timeout: 252 seconds) |
2021-06-26 13:21:42 +0200 | parzema | (~parzema@124.188.206.3) |
2021-06-26 13:22:30 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:dba5:5569:ccc4:c781) |
2021-06-26 13:25:17 +0200 | <parzema> | How would you decrypt encrypted data (in hex format) in Salsa20 cipher? If you have the key and nonce and the encrypted data? |
2021-06-26 13:25:24 +0200 | <parzema> | In Haskell |
2021-06-26 13:26:39 +0200 | <hpc> | same way i would in any other language - see if there's a package or command-line utility i can take advantage of |
2021-06-26 13:26:51 +0200 | <hpc> | and if neither of those work, implement the algorithm |
2021-06-26 13:27:29 +0200 | <hpc> | @hoogle Salsa20 |
2021-06-26 13:27:29 +0200 | <lambdabot> | Crypto.Nettle.Ciphers data SALSA20 |
2021-06-26 13:27:29 +0200 | <lambdabot> | Crypto.Nettle.Ciphers data ESTREAM_SALSA20 |
2021-06-26 13:27:35 +0200 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
2021-06-26 13:27:36 +0200 | <parzema> | https://hackage.haskell.org/package/Z-Botan-0.4.0.0/docs/Z-Crypto-Cipher.html |
2021-06-26 13:28:45 +0200 | blackfield | (~blackfiel@85.255.4.218) |
2021-06-26 13:29:10 +0200 | <hpc> | looks like you found it then |
2021-06-26 13:29:34 +0200 | <parzema> | hpc it doesnt show any examples |
2021-06-26 13:29:55 +0200 | <sshine> | typical |
2021-06-26 13:30:09 +0200 | <parzema> | encrypting or decrypting examples |
2021-06-26 13:31:01 +0200 | <sshine> | parzema, so there's decryptBlocks, and a hint that setBlockCipherKey must be called. |
2021-06-26 13:31:55 +0200 | <hpc> | so what you're really asking is how to use that particular package? |
2021-06-26 13:31:57 +0200 | <hpc> | https://hackage.haskell.org/package/Z-Botan-0.4.0.0/docs/Z-Crypto-Cipher.html#v:runStreamCipher |
2021-06-26 13:32:11 +0200 | <hpc> | there's an example with the BIO function below that, maybe adapt that? |
2021-06-26 13:32:36 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 13:33:22 +0200 | <hpc> | yeah, it looks like you're support to create an abstract cipher thing, set some stuff up with it, and then call runStreamCipher on your data |
2021-06-26 13:34:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-06-26 13:36:49 +0200 | <sshine> | parzema, I suppose decryption depends on how it was encrypted (block or stream). |
2021-06-26 13:37:21 +0200 | <sshine> | parzema, are you both in charge of encrypting and decrypting? or are you looking to decrypt something that was already encrypted by others in a particular way? |
2021-06-26 13:37:29 +0200 | <parzema> | just decrypting |
2021-06-26 13:37:39 +0200 | <parzema> | the latter |
2021-06-26 13:39:23 +0200 | TFL | (~user@64.114.96.246) (Quit: ERC (IRC client for Emacs 27.2)) |
2021-06-26 13:39:58 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-06-26 13:41:51 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 250 seconds) |
2021-06-26 13:41:56 +0200 | <sshine> | parzema, so since Salsa20 is a StreamCipherType, I suppose the streamCipherBIO example is a good starting point. |
2021-06-26 13:42:46 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 252 seconds) |
2021-06-26 13:42:58 +0200 | <sshine> | parzema, it looks like you need to specify the input for setStreamCipherKey and setStreamCipherIV. |
2021-06-26 13:43:06 +0200 | <oak-> | If I would start implementing crypto stuff with Haskell, I would first have a look in the cryptonite-library, which seems to be quite state-of-the-art |
2021-06-26 13:43:24 +0200 | __monty__ | (~toonn@user/toonn) |
2021-06-26 13:45:24 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-06-26 13:46:15 +0200 | <jumper149> | Hi, I was wondering if there is a way to tell, if the dependencies in my cabal file are not up-to-date with Hackage anymore. |
2021-06-26 13:46:50 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-26 13:46:58 +0200 | <oak-> | It seems to support Salsa20 through https://hackage.haskell.org/package/cryptonite-0.29/docs/Crypto-Cipher-Salsa.html and the block cipher example could probably be easiliy modified to use Salsa20 instead of AES256 https://hackage.haskell.org/package/cryptonite-0.29/docs/Crypto-Tutorial.html#g:3 |
2021-06-26 13:49:35 +0200 | dogu | (~dogu@84.51.63.109) |
2021-06-26 13:50:37 +0200 | dogu | (~dogu@84.51.63.109) (Remote host closed the connection) |
2021-06-26 13:52:38 +0200 | noctux | (~noctux@user/noctux) |
2021-06-26 13:53:47 +0200 | <maerwald> | jumper149: check out `cabal-bounds` |
2021-06-26 13:54:58 +0200 | <parzema> | oak- https://pastebin.com/8urm6mE6 |
2021-06-26 13:55:02 +0200 | <Profpatsch> | jumper149: henlo |
2021-06-26 13:55:08 +0200 | <parzema> | Seems alot easier/shiorter to do it in python |
2021-06-26 13:55:34 +0200 | <parzema> | sshine |
2021-06-26 13:56:09 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:c1e6:8279:92e9:57ec) (Ping timeout: 250 seconds) |
2021-06-26 13:56:20 +0200 | <parzema> | thought it might have been shorter in haskell |
2021-06-26 13:58:56 +0200 | <jumper149> | Profpatsch: hehe hello :) |
2021-06-26 13:59:48 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 265 seconds) |
2021-06-26 13:59:54 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 14:01:14 +0200 | <sshine> | parzema, ease and brevity depend on prior experience. |
2021-06-26 14:02:50 +0200 | <oak-> | Well it isn't much more complicated in Haskell, first you call the initialize-function in Crypto.Cipher.Salsa with 20 rounds, key and nonce, and you get the cipher context, and then you call the combine function with your data and the cipher context |
2021-06-26 14:04:18 +0200 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
2021-06-26 14:05:27 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-06-26 14:07:35 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Client Quit) |
2021-06-26 14:07:35 +0200 | azeem | (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-06-26 14:08:37 +0200 | azeem | (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) |
2021-06-26 14:09:06 +0200 | Sornaensis | (~Sornaensi@077213194163.dynamic.telenor.dk) (Ping timeout: 258 seconds) |
2021-06-26 14:13:31 +0200 | chisui | (~chisui@200116b8665ca200b4ead5d4214f5a59.dip.versatel-1u1.de) |
2021-06-26 14:18:15 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 14:22:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 272 seconds) |
2021-06-26 14:23:28 +0200 | Guest16 | (~Guest16@2409:4062:2d0b:99a1:76c8:3b6:4cad:7132) |
2021-06-26 14:23:43 +0200 | <Guest16> | Sup |
2021-06-26 14:24:11 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) |
2021-06-26 14:28:04 +0200 | mib_l4fizy | (~9d298f71@ircip2.mibbit.com) |
2021-06-26 14:28:32 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 14:28:39 +0200 | warnz | (~warnz@2600:1700:77c0:5610:350e:4738:7a75:35e) (Ping timeout: 250 seconds) |
2021-06-26 14:29:25 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) (Ping timeout: 258 seconds) |
2021-06-26 14:30:13 +0200 | <mib_l4fizy> | Hi..I need help regarding this: https://paste.tomsmeding.com/cWHnB2OJ |
2021-06-26 14:33:09 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
2021-06-26 14:33:53 +0200 | <chisui> | Please include the place where you called `print` in your example |
2021-06-26 14:34:08 +0200 | Guest16 | (~Guest16@2409:4062:2d0b:99a1:76c8:3b6:4cad:7132) (Quit: Client closed) |
2021-06-26 14:36:07 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…) |
2021-06-26 14:36:36 +0200 | mib_l4fizy | (~9d298f71@ircip2.mibbit.com) (Quit: https://mibbit.com Online IRC Client) |
2021-06-26 14:36:44 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-26 14:38:40 +0200 | reedlepee | (~9d298f71@ircip2.mibbit.com) |
2021-06-26 14:39:11 +0200 | <reedlepee> | HI...could anyone help me with this: https://paste.tomsmeding.com/cWHnB2OJ |
2021-06-26 14:40:30 +0200 | <chisui> | reedlepee The error is not in the code you shared. Please share the code that calls `print` |
2021-06-26 14:40:55 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-26 14:41:32 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 14:42:17 +0200 | <reedlepee> | I'm sorry. I did not know I had to add a print function. This was my entire code...I thought Haskell was similar to Gofer and just slightly modified the lines |
2021-06-26 14:42:33 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-26 14:42:35 +0200 | derelict | (~derelict@user/derelict) (Quit: WeeChat 3.2) |
2021-06-26 14:43:51 +0200 | derelict | (~derelict@user/derelict) |
2021-06-26 14:43:58 +0200 | <chisui> | In what environment is your code compiled? |
2021-06-26 14:44:24 +0200 | <chisui> | Are you compiling from the command line? |
2021-06-26 14:45:46 +0200 | <reedlepee> | @chisui no...I created a file, pasted these lines and loaded it in ghci |
2021-06-26 14:45:46 +0200 | <lambdabot> | Unknown command, try @list |
2021-06-26 14:46:08 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
2021-06-26 14:46:18 +0200 | <sshine> | reedlepee, ah, collatz :) https://github.com/exercism/haskell/blob/main/exercises/practice/collatz-conjecture/examples/succe… |
2021-06-26 14:47:15 +0200 | stevenxl | (~stevenlei@174.128.182.86) |
2021-06-26 14:47:17 +0200 | <reedlepee> | Thanks! I realize I've a lot to learn and just can't modify code for other languages and expect it to work |
2021-06-26 14:47:25 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 14:47:59 +0200 | <chisui> | ARGH, forgot to read the error message completely. |
2021-06-26 14:50:57 +0200 | <reedlepee> | chisui nvm...i found out what was wrong...I had to replace the "/" function with div..for rounding off as integers...now it's working :) |
2021-06-26 14:51:02 +0200 | <sshine> | reedlepee, instead of 'mod n 2 == 1', then 'odd n' |
2021-06-26 14:51:33 +0200 | <sshine> | reedlepee, you can also use `quot` instead of `div` since you don't care about negative rounding :) |
2021-06-26 14:51:37 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-06-26 14:52:07 +0200 | <reedlepee> | sshine oh yeah you're right hehe..thanks! |
2021-06-26 14:53:03 +0200 | <reedlepee> | haskell is indeed very similar to gofer..now i think all FP might be similar to each other...thanks again guys..see ya! |
2021-06-26 14:53:27 +0200 | reedlepee | (~9d298f71@ircip2.mibbit.com) () |
2021-06-26 14:53:49 +0200 | <sshine> | reedlepee, the 'n : ...' part belongs to the recursion pattern, but the '3*n + 1' vs. 'n `quot` 2' belongs to generating the next number. try and make a helper function: 'next n = if even n then n `quot` 2 else 3*n+1' and use 'next' in 'pink' :) |
2021-06-26 14:54:26 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-06-26 14:55:31 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Ping timeout: 250 seconds) |
2021-06-26 14:55:53 +0200 | AWizzArd | (~code@user/awizzard) (Ping timeout: 272 seconds) |
2021-06-26 15:01:06 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 15:03:18 +0200 | gensyst | (gensyst@user/gensyst) (Quit: Leaving) |
2021-06-26 15:03:40 +0200 | Alex_test | (~al_test@178.34.163.142) (Quit: ;-) |
2021-06-26 15:04:07 +0200 | AlexZenon | (~alzenon@178.34.163.142) () |
2021-06-26 15:04:19 +0200 | AlexNoo | (~AlexNoo@178.34.163.142) (Quit: Leaving) |
2021-06-26 15:05:17 +0200 | killsushi | (~killsushi@user/killsushi) (Quit: Leaving) |
2021-06-26 15:08:08 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-06-26 15:10:06 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
2021-06-26 15:11:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 15:11:28 +0200 | shapr | (~user@2601:7c0:8180:89d0:903c:7e54:945b:c68c) (Ping timeout: 272 seconds) |
2021-06-26 15:17:01 +0200 | acidjnk | (~acidjnk@p200300d0c72b9545f908228849627247.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2021-06-26 15:18:12 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 15:19:48 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
2021-06-26 15:22:20 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
2021-06-26 15:22:52 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
2021-06-26 15:23:58 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-06-26 15:24:53 +0200 | AlexZenon | (~alzenon@178.34.163.142) |
2021-06-26 15:27:23 +0200 | Alex_test | (~al_test@178.34.163.142) |
2021-06-26 15:27:48 +0200 | Deide | (~Deide@wire.desu.ga) |
2021-06-26 15:27:48 +0200 | Deide | (~Deide@wire.desu.ga) (Changing host) |
2021-06-26 15:27:48 +0200 | Deide | (~Deide@user/deide) |
2021-06-26 15:28:17 +0200 | AlexNoo | (~AlexNoo@178.34.163.142) |
2021-06-26 15:32:18 +0200 | is7s | (~is7s@2a01:4b00:895f:3d00:fd08:7a4b:2db3:57e3) (Quit: Client closed) |
2021-06-26 15:39:50 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-06-26 15:40:30 +0200 | en30 | (~en30@p6356230-ipngn31101marunouchi.tokyo.ocn.ne.jp) |
2021-06-26 15:40:45 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Client Quit) |
2021-06-26 15:41:05 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-06-26 15:41:28 +0200 | Schrostfutz | (~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) |
2021-06-26 15:42:30 +0200 | neurocyte57 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-06-26 15:46:58 +0200 | xsperry | (~as@user/xsperry) |
2021-06-26 15:49:48 +0200 | hegstal_ | (~hegstal@2a02:c7f:7604:8a00:1f42:2755:1fbb:af5c) |
2021-06-26 15:50:01 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-06-26 15:53:28 +0200 | hegstal_ | hegstal |
2021-06-26 15:57:25 +0200 | <dmj`> | shouldn't reportError show a compilation failure message, not just "compilation failed" |
2021-06-26 16:00:03 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 16:03:31 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-06-26 16:04:00 +0200 | ukari | (~ukari@user/ukari) |
2021-06-26 16:04:29 +0200 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) |
2021-06-26 16:04:30 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-06-26 16:04:36 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 16:04:54 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 268 seconds) |
2021-06-26 16:09:28 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-06-26 16:10:20 +0200 | <TheCommieDuck> | so thinking out loud; if I have something like data Foo = Foo A B C D (for some product types A-D) and data Bar = Bar A C E and then data FooStore = FooStore { _a :: IntMap A, _b :: IntMap B... _z :: IntMap Z}. I can manually make something that would function as FooStore -> IntMap {Foo or Bar}, but I was wondering if there was an automagic way or if this pattern had a name..could generic-lens |
2021-06-26 16:10:23 +0200 | <TheCommieDuck> | solve it? |
2021-06-26 16:11:17 +0200 | keutoi | (~keutoi@157.48.247.91) |
2021-06-26 16:12:02 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-26 16:14:50 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-26 16:17:04 +0200 | keutoi | (~keutoi@157.48.247.91) (Ping timeout: 265 seconds) |
2021-06-26 16:17:59 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2021-06-26 16:18:40 +0200 | keutoi | (~keutoi@106.200.184.21) |
2021-06-26 16:19:38 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 16:20:00 +0200 | <Schrostfutz> | Hi, I have a problem with the following code, which should check for a given number whether it is at least 3 digits long and any of a number of predicates is true: http://sprunge.us/IetAxp?haskell. The code works, until I add the (>= 100) qualification to the last predicate. (I do it this way only for error checking, previously I tried (>= 100) `and` (<predicates>)) Now it seems to run into an endless loop, why is that? |
2021-06-26 16:21:59 +0200 | <dmj`> | oh nvm, its reporting now |
2021-06-26 16:24:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 272 seconds) |
2021-06-26 16:26:24 +0200 | <Schrostfutz> | Ah, nvm, spotted it: my function definition yielded infinite recursion |
2021-06-26 16:27:10 +0200 | zebrag | (~chris@user/zebrag) |
2021-06-26 16:30:01 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 16:34:30 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
2021-06-26 16:34:56 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
2021-06-26 16:37:49 +0200 | myShoggoth | (~myShoggot@75.164.29.44) |
2021-06-26 16:38:35 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-06-26 16:42:46 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-06-26 16:43:20 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 16:47:44 +0200 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-06-26 16:49:00 +0200 | neurocyte57 | (~neurocyte@45.136.170.248) |
2021-06-26 16:49:00 +0200 | neurocyte57 | (~neurocyte@45.136.170.248) (Changing host) |
2021-06-26 16:49:00 +0200 | neurocyte57 | (~neurocyte@user/neurocyte) |
2021-06-26 16:58:21 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-06-26 16:59:44 +0200 | Zorgon_ | Zorgon |
2021-06-26 17:00:26 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-26 17:01:55 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-26 17:02:45 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) (Remote host closed the connection) |
2021-06-26 17:04:21 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 17:05:32 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-06-26 17:05:34 +0200 | bitmapper | (uid464869@id-464869.tooting.irccloud.com) |
2021-06-26 17:07:25 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
2021-06-26 17:07:47 +0200 | keutoi | (~keutoi@106.200.184.21) (Quit: leaving) |
2021-06-26 17:13:40 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-06-26 17:14:48 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-06-26 17:15:04 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 265 seconds) |
2021-06-26 17:20:40 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-06-26 17:22:36 +0200 | myShoggoth | (~myShoggot@75.164.29.44) (Ping timeout: 268 seconds) |
2021-06-26 17:25:08 +0200 | romes87 | (~romes@44.190.189.46.rev.vodafone.pt) |
2021-06-26 17:25:29 +0200 | noctux | (~noctux@user/noctux) |
2021-06-26 17:25:29 +0200 | <romes87> | hey everyone, does anyone have experience with LogicT (backtracking) ? |
2021-06-26 17:28:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-26 17:29:26 +0200 | MorrowM | (~MorrowM_@147.161.9.7) |
2021-06-26 17:29:30 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-06-26 17:29:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 17:32:54 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 244 seconds) |
2021-06-26 17:33:55 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 265 seconds) |
2021-06-26 17:36:53 +0200 | chisui | (~chisui@200116b8665ca200b4ead5d4214f5a59.dip.versatel-1u1.de) (Quit: Client closed) |
2021-06-26 17:43:08 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 17:43:51 +0200 | noctux | (~noctux@user/noctux) |
2021-06-26 17:44:34 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) |
2021-06-26 17:44:53 +0200 | econo | (uid147250@user/econo) |
2021-06-26 17:47:08 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:fe7c:a1fa:94dc:c42a) |
2021-06-26 17:47:22 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-06-26 17:49:08 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-06-26 17:49:57 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-26 17:50:20 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 17:54:58 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 17:56:34 +0200 | spicyrice | (~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b) |
2021-06-26 17:56:42 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-26 17:57:47 +0200 | Hanicef | (~gustaf@78-71-43-30-no260.tbcn.telia.com) |
2021-06-26 17:59:29 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 258 seconds) |
2021-06-26 18:00:30 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
2021-06-26 18:00:49 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-26 18:01:48 +0200 | egoist | (~egoist@186.235.82.7) |
2021-06-26 18:06:07 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-06-26 18:07:09 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-06-26 18:12:08 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
2021-06-26 18:12:42 +0200 | myShoggoth | (~myShoggot@75.164.29.44) |
2021-06-26 18:12:57 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) |
2021-06-26 18:14:31 +0200 | romes87 | (~romes@44.190.189.46.rev.vodafone.pt) (Quit: Client closed) |
2021-06-26 18:17:51 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:dba5:5569:ccc4:c781) (Ping timeout: 244 seconds) |
2021-06-26 18:18:42 +0200 | xff0x | (~xff0x@2001:1a81:5302:7b00:a26f:1df0:afaa:6dfd) |
2021-06-26 18:19:34 +0200 | Schrostfutz | (~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2021-06-26 18:21:11 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 18:21:28 +0200 | renzhi | (~xp@2607:fa49:655f:a700::3902) (Quit: WeeChat 2.3) |
2021-06-26 18:22:10 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
2021-06-26 18:22:15 +0200 | renzhi | (~xp@2607:fa49:655f:a700::3902) |
2021-06-26 18:22:17 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 18:24:01 +0200 | en30 | (~en30@p6356230-ipngn31101marunouchi.tokyo.ocn.ne.jp) (Quit: Connection closed) |
2021-06-26 18:25:33 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-26 18:25:41 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 250 seconds) |
2021-06-26 18:26:10 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-26 18:27:48 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:fe7c:a1fa:94dc:c42a) (Quit: WeeChat 3.2) |
2021-06-26 18:28:06 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:fe7c:a1fa:94dc:c42a) |
2021-06-26 18:29:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-06-26 18:29:39 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:fe7c:a1fa:94dc:c42a) (Client Quit) |
2021-06-26 18:29:59 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:fe7c:a1fa:94dc:c42a) |
2021-06-26 18:30:28 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-06-26 18:32:05 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-06-26 18:36:02 +0200 | dunj3 | (~dunj3@2001:16b8:300e:4200:61ea:91d:5230:afc8) |
2021-06-26 18:36:46 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-06-26 18:41:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 18:44:54 +0200 | dhil | (~dhil@195.213.192.47) (Ping timeout: 272 seconds) |
2021-06-26 18:46:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-06-26 18:46:55 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) (Ping timeout: 250 seconds) |
2021-06-26 18:48:23 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-06-26 18:48:47 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-06-26 18:49:03 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-26 18:49:32 +0200 | yauhsien | (~yauhsien@61-231-57-141.dynamic-ip.hinet.net) |
2021-06-26 18:53:55 +0200 | MorrowM | (~MorrowM_@147.161.9.7) (Ping timeout: 258 seconds) |
2021-06-26 18:55:27 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 18:56:28 +0200 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) (Remote host closed the connection) |
2021-06-26 18:57:20 +0200 | dhil | (~dhil@80.208.56.181) |
2021-06-26 18:57:48 +0200 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) |
2021-06-26 18:57:56 +0200 | <dminuoso> | TheCommieDuck: If this was recurring, you could write generic code to do this for you. |
2021-06-26 18:58:05 +0200 | <dminuoso> | Or perhaps better yet TH code |
2021-06-26 19:01:08 +0200 | motte_ | (~weechat@82.131.74.160.cable.starman.ee) |
2021-06-26 19:02:31 +0200 | alex3 | (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 250 seconds) |
2021-06-26 19:03:53 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 258 seconds) |
2021-06-26 19:05:32 +0200 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) (Quit: No Ping reply in 180 seconds.) |
2021-06-26 19:06:22 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-06-26 19:06:42 +0200 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) |
2021-06-26 19:09:17 +0200 | Codaraxis__ | (~Codaraxis@193.32.126.154) (Ping timeout: 268 seconds) |
2021-06-26 19:13:18 +0200 | <TheCommieDuck> | I've gotten FooStore done in TH |
2021-06-26 19:13:32 +0200 | <TheCommieDuck> | but it still feels like someone's probably done it properly before me |
2021-06-26 19:14:13 +0200 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 268 seconds) |
2021-06-26 19:15:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 19:15:12 +0200 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) (Quit: No Ping reply in 180 seconds.) |
2021-06-26 19:16:27 +0200 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) |
2021-06-26 19:16:41 +0200 | alx741 | (~alx741@181.196.69.199) (Ping timeout: 268 seconds) |
2021-06-26 19:17:05 +0200 | <dminuoso> | Mmm, this usage seems exotic to me. |
2021-06-26 19:17:40 +0200 | alex3 | (~alex3@BSN-77-82-41.static.siol.net) |
2021-06-26 19:18:51 +0200 | <dminuoso> | TheCommieDuck: How did you implement it? Turn each IntMap into a list of pairs, and then scan all intmaps in parallel? |
2021-06-26 19:19:02 +0200 | <dminuoso> | (or rather, scan all lists) |
2021-06-26 19:19:07 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 19:19:30 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-26 19:20:11 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-26 19:20:19 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Read error: Connection reset by peer) |
2021-06-26 19:20:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-06-26 19:20:48 +0200 | <TheCommieDuck> | the TH generated has each intMap field as typenameStore, and when defining a new Foo I can make a lens with functors and intmap.union |
2021-06-26 19:22:32 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 19:23:38 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2021-06-26 19:23:53 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-06-26 19:25:48 +0200 | <motte_> | hi, i'm having trouble writing a function that takes a string and a type and checks whether the string can be parsed to that type. this is what i've got so far: https://paste.tomsmeding.com/cBYkcZkH |
2021-06-26 19:26:46 +0200 | spicyrice | (~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b) (Quit: WeeChat 2.8) |
2021-06-26 19:27:13 +0200 | <int-e> | there's no types at runtime, so you can't pattern match on types. you can use Data.Typeable to have an explicit runtime type representation, but usually there's a better way... |
2021-06-26 19:27:14 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Ping timeout: 252 seconds) |
2021-06-26 19:27:34 +0200 | <dminuoso> | motte_: heh, I think what you are looking for already is readMaybe |
2021-06-26 19:27:38 +0200 | <dminuoso> | % :t readMaybe |
2021-06-26 19:27:39 +0200 | <yahb> | dminuoso: ; <interactive>:1:1: error: Variable not in scope: readMaybe |
2021-06-26 19:27:46 +0200 | talismanick | (~user@2601:644:8502:d700::f19d) (Ping timeout: 256 seconds) |
2021-06-26 19:27:49 +0200 | <dminuoso> | % import Text.Read (readMaybe) |
2021-06-26 19:27:50 +0200 | <yahb> | dminuoso: |
2021-06-26 19:27:51 +0200 | <dminuoso> | % :t readMaybe |
2021-06-26 19:27:51 +0200 | <yahb> | dminuoso: forall {a}. Read a => String -> Maybe a |
2021-06-26 19:28:43 +0200 | <motte_> | well, i have the possible types in a sum type (data Type in the example) |
2021-06-26 19:28:57 +0200 | <dminuoso> | motte_: We can think of both the type variable `a` and the dictionary `Read a` as being term-level arguments to the function. In GHC Haskell this is really the case, except GHC will automatically fill in those arguments using inference. |
2021-06-26 19:29:22 +0200 | alx741 | (~alx741@181.196.69.41) |
2021-06-26 19:29:22 +0200 | <dminuoso> | So: |
2021-06-26 19:29:27 +0200 | <dminuoso> | % :t isJust . readMaybe |
2021-06-26 19:29:27 +0200 | <yahb> | dminuoso: ; <interactive>:1:10: error:; * Ambiguous type variable `a0' arising from a use of `readMaybe'; prevents the constraint `(Read a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instances exist:; instance forall a. Read a => Read (ZipList a) -- Defined in `Control.Applicative'; instance forall a. Read a => Re |
2021-06-26 19:29:28 +0200 | <int-e> | ah, sorry, I missed the Type type |
2021-06-26 19:29:35 +0200 | <int-e> | or rather, its significance |
2021-06-26 19:29:50 +0200 | <dmj`> | motte_: it can work if you use Proxy as a witness to the type at runtime |
2021-06-26 19:30:01 +0200 | <dminuoso> | % :t canParse :: Read a => (Proxy a) -> String -> Bool; canParse _ = isJust . readMaybe |
2021-06-26 19:30:01 +0200 | <yahb> | dminuoso: ; <interactive>:1:50: error: parse error on input `;' |
2021-06-26 19:30:04 +0200 | <dminuoso> | dmj`: Ah you beat me |
2021-06-26 19:30:15 +0200 | <dminuoso> | % canParse :: Read a => (Proxy a) -> String -> Bool; canParse _ = isJust . readMaybe |
2021-06-26 19:30:15 +0200 | <yahb> | dminuoso: ; <interactive>:104:74: error:; * Could not deduce (Read a0) arising from a use of `readMaybe'; from the context: Read a; bound by the type signature for:; canParse :: forall a. Read a => Proxy a -> String -> Bool; at <interactive>:104:1-49; The type variable `a0' is ambiguous; These potential instances exist:; instance forall a. Read a => Re |
2021-06-26 19:30:19 +0200 | <int-e> | motte_: but there's nothing connecting the data constructor named Int to the type named Int, you have to make the connection yourself |
2021-06-26 19:30:25 +0200 | <dmj`> | dminuoso: ¯\_(ツ)_/¯ |
2021-06-26 19:30:38 +0200 | <dminuoso> | % canParse :: forall a. Read a => (Proxy a) -> String -> Bool; canParse _ = isJust . readMaybe @a |
2021-06-26 19:30:39 +0200 | <yahb> | dminuoso: |
2021-06-26 19:30:41 +0200 | <dminuoso> | motte_: ^- |
2021-06-26 19:32:12 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
2021-06-26 19:35:13 +0200 | <motte_> | hmm, which extensions does this need? |
2021-06-26 19:35:27 +0200 | <motte_> | RankNTypes, TypeApplications, what else? |
2021-06-26 19:35:53 +0200 | Schrostfutz | (~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) |
2021-06-26 19:36:46 +0200 | <geekosaur> | ScopedTypeVariables? |
2021-06-26 19:38:21 +0200 | <motte_> | ah, yes, got it |
2021-06-26 19:39:08 +0200 | <dmj`> | motte_: no rank n types needed |
2021-06-26 19:39:15 +0200 | <dmj`> | motte_: just STV and TA |
2021-06-26 19:39:22 +0200 | <dminuoso> | motte_: You can avoid the usage of TypeApplications with a type ascriptions instead. You just need ScopedTypevariables |
2021-06-26 19:40:35 +0200 | <dminuoso> | % canParse :: forall proxy a. Read a => proxy a -> String -> Bool; canParse _ = isJust . (readMaybe :: String -> Maybe a) -- motte_ |
2021-06-26 19:40:35 +0200 | <yahb> | dminuoso: |
2021-06-26 19:41:12 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
2021-06-26 19:44:16 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-06-26 19:44:55 +0200 | <motte_> | so using this function would like: canParse (Proxy :: Proxy Int) "5" |
2021-06-26 19:46:43 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
2021-06-26 19:49:25 +0200 | <motte_> | what if the Int is a member of a sum type and also comes from a variable? |
2021-06-26 19:49:42 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-06-26 19:50:37 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 250 seconds) |
2021-06-26 19:53:16 +0200 | <dsal> | What is the use case for `canParse`? Normally you'd just parse and if you can't, you'd know because it didn't work. If you can, you'd have the value you get from parsing. |
2021-06-26 19:53:28 +0200 | <dmj`> | motte_: you'll probably need an instance of Read |
2021-06-26 19:54:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 19:54:15 +0200 | cheater | (~Username@user/cheater) |
2021-06-26 19:54:22 +0200 | egoist | (~egoist@186.235.82.7) (Ping timeout: 268 seconds) |
2021-06-26 19:54:54 +0200 | Hanicef | (~gustaf@78-71-43-30-no260.tbcn.telia.com) (Quit: leaving) |
2021-06-26 19:58:01 +0200 | <euandreh> | I see Real World Haskell has a chapter on parsec. Are there other books that cover it? |
2021-06-26 19:58:11 +0200 | <euandreh> | (other than online articles, blog posts, etc.) |
2021-06-26 20:00:35 +0200 | <dsal> | The biggest bit of the learning curve I found for *parsec is that it's not actually that complicated and barely does anything at all... but it seems like it should be complicated and do a lot, so I also got frustrated when I couldn't find great material that explained it all. |
2021-06-26 20:00:52 +0200 | egoist | (~egoist@186.235.82.105) |
2021-06-26 20:00:55 +0200 | <dsal> | Then I just started reading and writing parsers. |
2021-06-26 20:01:05 +0200 | myShoggoth | (~myShoggot@75.164.29.44) (Ping timeout: 268 seconds) |
2021-06-26 20:01:22 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-26 20:01:50 +0200 | Jeanne-Kamikaze | (~Jeanne-Ka@192.252.212.45) |
2021-06-26 20:02:11 +0200 | <dsal> | euandreh: is there a particular thing that you're stuck on? |
2021-06-26 20:03:11 +0200 | Schrostfutz | (~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-06-26 20:05:50 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 244 seconds) |
2021-06-26 20:08:15 +0200 | <euandreh> | dsal: not really, I'm just interested in parsers in general, and I wanted to better learn Haskell through that. |
2021-06-26 20:09:05 +0200 | <euandreh> | I've picked Parsec and AttoParsec, and dive into the implementation. I could just do that, but I really like learning via books :) |
2021-06-26 20:09:21 +0200 | <dsal> | euandreh: Oh, then one thing that might be *super* helpful is writing your own parser from scratch. You'll learn functors and applicatives and some monads and stuff while also having lots of magic melt away. |
2021-06-26 20:10:41 +0200 | <euandreh> | I did write my own parser combinator library, but not yet in Haskell. I wanted to dive into the implementations to improve the error messages of my own implementation |
2021-06-26 20:11:05 +0200 | <dsal> | Ah. megaparsec is basically that stuff you'd write anyway, but with good error messages. :) |
2021-06-26 20:11:17 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-06-26 20:11:46 +0200 | <dsal> | "the implementation" is mostly just functors, applicatives, alternatives, and some simple monads (/monadfail). |
2021-06-26 20:12:00 +0200 | <euandreh> | Yes, MegaParsec also. I've looked at it too a bit, it seems nice |
2021-06-26 20:17:29 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 258 seconds) |
2021-06-26 20:19:09 +0200 | <dmj`> | euandreh: http://dev.stephendiehl.com/fun/002_parsers.html |
2021-06-26 20:19:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 20:20:51 +0200 | Guest9 | (~Guest9@103.86.19.137) |
2021-06-26 20:26:44 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 20:27:09 +0200 | <euandreh> | ty |
2021-06-26 20:27:19 +0200 | <dmj`> | yw |
2021-06-26 20:28:49 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 20:31:18 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds) |
2021-06-26 20:31:33 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-06-26 20:34:55 +0200 | <carmysilna> | Slightly tangential, but I'm writing a parser/pretty-printer combinator library that lets you write a single syntactic description and get both a parser and a pretty-printer for free. The current impls are very bare and un-featureful so if anyone would want to help me improve them, they'd be more than welcome! https://github.com/brightly-salty/inversify |
2021-06-26 20:35:03 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
2021-06-26 20:40:11 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-06-26 20:41:22 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 20:41:35 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Quit: Must not waste too much time here...) |
2021-06-26 20:42:01 +0200 | <flipchan> | if anyone is looking for work: https://haskell.careers |
2021-06-26 20:42:33 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Client Quit) |
2021-06-26 20:43:36 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-06-26 20:43:46 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-06-26 20:46:20 +0200 | flipchan | (~yumman@88.131.87.132) (Changing host) |
2021-06-26 20:46:20 +0200 | flipchan | (~yumman@user/flipchan) |
2021-06-26 20:46:30 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
2021-06-26 20:49:28 +0200 | Morrow | (~MorrowM_@147.161.9.7) |
2021-06-26 20:51:13 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-06-26 20:53:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-06-26 20:55:46 +0200 | <TheCommieDuck> | is there a cut-and-dry whether to prefer generics or TH? thinking of e.g. lens, where if you're not using the typed generic lenses then it's basically identical |
2021-06-26 21:00:12 +0200 | <dmj`> | TheCommieDuck: Not really, Generics can have a higher runtime cost potentially, depending on how it was implemented (aeson generics instances were slower than aeson th instances). Template Haskell usually becomes problematic if you have a lot of it, or you're cross compiling. They're also not entirely equivalent, TH you can define new datatypes, w/ Generics you can only derive objects from pre-existing data types. |
2021-06-26 21:00:55 +0200 | <TheCommieDuck> | oh sure, I get that TH definitely has more scope; I was thinking solely in the cases that you're comparing very similar functionality |
2021-06-26 21:00:58 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-26 21:02:25 +0200 | <dmj`> | I'd use Generics until performance is a problem, and if it never is, then great. |
2021-06-26 21:03:14 +0200 | dunkeln | (~dunkeln@188.71.193.140) |
2021-06-26 21:05:36 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-06-26 21:13:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) (Remote host closed the connection) |
2021-06-26 21:14:25 +0200 | nurupo | (~nurupo.ga@user/nurupo) (Quit: nurupo.ga) |
2021-06-26 21:14:31 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:c4e3:f231:bc2a:37da) |
2021-06-26 21:15:28 +0200 | nurupo | (~nurupo.ga@user/nurupo) |
2021-06-26 21:17:41 +0200 | <ChaiTRex> | What's the latest GHC that cabal-install 3.4 supports? |
2021-06-26 21:18:48 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: Connection reset by peer) |
2021-06-26 21:19:16 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-06-26 21:19:35 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-26 21:21:41 +0200 | kw | (~user@2605:a601:a615:f600:601:15f2:ebf9:271) |
2021-06-26 21:24:02 +0200 | Pickchea | (~private@user/pickchea) |
2021-06-26 21:24:10 +0200 | <kw> | Is there a good way to use polymorphic lens classes (i.e. `class HasFoo s t a b | s -> a, t -> b where ...` ) without running into ambiguous type errors? Do I need more restrictive fundeps, like `HasFoo s t a b | s -> a, t -> b, a t -> s, b s -> t` ? |
2021-06-26 21:30:18 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-06-26 21:30:46 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 21:31:36 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 21:31:39 +0200 | <dminuoso> | kw: Can you give some specific code that provokes an ambiguous type error with these classy lenses? |
2021-06-26 21:34:09 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
2021-06-26 21:34:27 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-26 21:36:08 +0200 | <motte_> | why doesn't this compile: https://paste.tomsmeding.com/qyMZQak4 ? nonsensical example but i really don't get it - it compiles when i move fn out of the where block |
2021-06-26 21:36:38 +0200 | <dminuoso> | motte_: The binding is tied to the single last definition |
2021-06-26 21:36:50 +0200 | <dminuoso> | Each declaration of `test` is separate |
2021-06-26 21:37:33 +0200 | <dminuoso> | If you want to share a binding over a group like that, you could do something like `test = go where fn = id; go x False = ...; go x True = ...; |
2021-06-26 21:37:40 +0200 | <geekosaur> | where scopes over guards, not equations |
2021-06-26 21:37:49 +0200 | <motte_> | oh |
2021-06-26 21:38:11 +0200 | <motte_> | pretty odd that i havent ran into this before |
2021-06-26 21:40:29 +0200 | <EvanR> | yeah where is not just a respelling of lett |
2021-06-26 21:40:34 +0200 | <EvanR> | let |
2021-06-26 21:41:34 +0200 | <dminuoso> | geekosaur: Mmm, "guards"? |
2021-06-26 21:41:57 +0200 | <glguy> | f | this = that | the = other where a = b |
2021-06-26 21:42:12 +0200 | <dminuoso> | Ahh. "Scopes over" meant something different than what I thought. |
2021-06-26 21:42:17 +0200 | kw | (~user@2605:a601:a615:f600:601:15f2:ebf9:271) (Quit: ERC (IRC client for Emacs 27.1)) |
2021-06-26 21:48:24 +0200 | <dmj`> | I wish quasiquoters could take arguments, [| query schema | select 2 + 2; |] |
2021-06-26 21:48:42 +0200 | <dminuoso> | dmj`: let qq = query schema in [qq| ... |] ? |
2021-06-26 21:48:54 +0200 | <qrpnxz> | speaking of, what does `class TypeBoy a a' | a' -> a where` mean? what is that pipe doing there? |
2021-06-26 21:49:02 +0200 | <dminuoso> | qrpnxz: Its a functional dependency |
2021-06-26 21:49:08 +0200 | <qrpnxz> | wut |
2021-06-26 21:49:21 +0200 | <dminuoso> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/functional_dependencies.html |
2021-06-26 21:49:54 +0200 | <qrpnxz> | ty sir |
2021-06-26 21:49:55 +0200 | <dminuoso> | Mmm, the manual is very lacking here |
2021-06-26 21:50:21 +0200 | <dminuoso> | Oh hah nevermind. Its all good |
2021-06-26 21:50:29 +0200 | <dminuoso> | My browser misrendered apparently] |
2021-06-26 21:50:53 +0200 | <qrpnxz> | lol |
2021-06-26 21:51:29 +0200 | <qrpnxz> | i didn't even know there was an honest to goodness manual for this language, i'm always having to like look at the base lib docks and hunt stuff in the wiki, or ask here |
2021-06-26 21:52:22 +0200 | <dminuoso> | This is a very readable official report of our language: https://www.haskell.org/onlinereport/haskell2010/ |
2021-06-26 21:52:34 +0200 | <qrpnxz> | oh, this is only for extensions 😩️ |
2021-06-26 21:52:46 +0200 | <qrpnxz> | didn't ghc already break compat with haskell 2010? |
2021-06-26 21:52:53 +0200 | <dmj`> | dminuoso: well I'll be, some assembly required to pass the stage restriction, but fits the bill |
2021-06-26 21:52:57 +0200 | <dmj`> | dminuoso: ty |
2021-06-26 21:52:57 +0200 | <qrpnxz> | eh better than nothing ig |
2021-06-26 21:53:38 +0200 | <dminuoso> | qrpnxz: Well, there's some minor edges where GHC is not fully Haskell2010 compliant, but they can be mostly glossed over. |
2021-06-26 21:53:39 +0200 | <davean> | qrpnxz: Not really in a meaningful way. |
2021-06-26 21:53:51 +0200 | <qrpnxz> | alright :) |
2021-06-26 21:54:37 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-26 21:55:40 +0200 | <qrpnxz> | speaking of incompatibilities, do you think this will happen within the next decade? https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-of-no-return |
2021-06-26 21:55:45 +0200 | <qrpnxz> | cause it'd be pretty cool |
2021-06-26 21:55:55 +0200 | <davean> | qrpnxz: It would be |
2021-06-26 21:56:59 +0200 | <dminuoso> | I think it would be mostly inconsequential. |
2021-06-26 21:58:19 +0200 | xkuru | (~xkuru@user/xkuru) |
2021-06-26 21:58:48 +0200 | <dminuoso> | Due to the recent discussion on the haskell mailing list, I think such proposals create a lot of friction unless -Wcompat was included by -Wall |
2021-06-26 21:58:59 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 244 seconds) |
2021-06-26 21:59:21 +0200 | <dminuoso> | Even if -Wall was included -Wall, Im not convinced most people actually have -Wall turned on. |
2021-06-26 21:59:32 +0200 | <qrpnxz> | i like that it would make it impossible for pure /= return and such |
2021-06-26 21:59:46 +0200 | <maralorn> | At some point I have largely stopped worrying about Haskell being to large (i.e. to many passing programs) and just cared about it becoming large enough for me. So that I can write the program I want to write. |
2021-06-26 22:00:29 +0200 | chisui | (~chisui@200116b8665ca2000dd322c548f95515.dip.versatel-1u1.de) |
2021-06-26 22:00:30 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-26 22:01:03 +0200 | dunkeln | (~dunkeln@188.71.193.140) (Ping timeout: 250 seconds) |
2021-06-26 22:01:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 22:03:20 +0200 | <dmj`> | maralorn: haskell programs are too big to fail |
2021-06-26 22:03:25 +0200 | <qrpnxz> | lol |
2021-06-26 22:06:07 +0200 | <spruit11> | or too big to succeed |
2021-06-26 22:06:53 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds) |
2021-06-26 22:08:03 +0200 | <dminuoso> | dmj`: Do you think we get government bailouts when GHC no longer compiles our programs? |
2021-06-26 22:08:49 +0200 | <dminuoso> | Considering the presence of Haskell in fintech, who knows... |
2021-06-26 22:09:04 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) |
2021-06-26 22:09:16 +0200 | <chisui> | Before that happens they would have to provide Java Apps with RAM. |
2021-06-26 22:09:31 +0200 | <dmj`> | dminuoso: If you're in a higher-kinded class then yes. |
2021-06-26 22:10:18 +0200 | dunkeln_ | (~dunkeln@188.71.193.140) (Client Quit) |
2021-06-26 22:15:15 +0200 | <dmj`> | dminuoso: I'm working on a project to type check SQL queries against a SQL schema generated using GHC.Generics |
2021-06-26 22:15:25 +0200 | <dmj`> | in a quasi quoter |
2021-06-26 22:16:03 +0200 | Guest9 | (~Guest9@103.86.19.137) (Quit: Connection closed) |
2021-06-26 22:19:12 +0200 | acidjnk | (~acidjnk@p200300d0c72b9515dd29d5fa98a40466.dip0.t-ipconnect.de) |
2021-06-26 22:24:21 +0200 | <qrpnxz> | ' |
2021-06-26 22:28:09 +0200 | iridescent | (~iridescen@41337027.cst.lightpath.net) |
2021-06-26 22:28:17 +0200 | <iridescent> | anyone have a good explanation to algebraic effects? |
2021-06-26 22:28:25 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-26 22:28:26 +0200 | <iridescent> | i don't really want to read the original paper |
2021-06-26 22:28:36 +0200 | <iridescent> | i tried and it was too dense :( |
2021-06-26 22:29:36 +0200 | <davean> | iridescent: what level do you want it at? That matters a lot |
2021-06-26 22:29:44 +0200 | <iridescent> | oh, i'm a complete beginner |
2021-06-26 22:29:58 +0200 | <iridescent> | people were talking about it at a PL discussion |
2021-06-26 22:30:01 +0200 | <iridescent> | and i got curious :) |
2021-06-26 22:30:30 +0200 | <qrpnxz> | foldable class has a lot of methods, but is not complete. There's like 50 versions of fold, yet no fold1, or fold', weird. |
2021-06-26 22:30:41 +0200 | <davean> | iridescent: ok, then "effects" = things happen, "algebraic" = you get laws about how they interact |
2021-06-26 22:30:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-26 22:31:01 +0200 | <iridescent> | oh oops i meant like, do you have a good article that explains it :P |
2021-06-26 22:31:08 +0200 | <davean> | iridescent: "effects" libraries when you see them under that name often have an issue with knowing what happens when you use more than one |
2021-06-26 22:33:06 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
2021-06-26 22:35:22 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-26 22:42:43 +0200 | <dsal> | qrpnxz: what would `fold1` look like? |
2021-06-26 22:43:20 +0200 | <qrpnxz> | it would take a foldable of semigroups and give you a semigroup |
2021-06-26 22:43:31 +0200 | <dsal> | Oh. There's one in semigroupoids that does that. |
2021-06-26 22:44:12 +0200 | <qrpnxz> | yeah i was sure someone wrote it, i'm just saying idk the logic about what does get into Foldable and what doesn't, cause it already has like a bazillion combinations of properties lol |
2021-06-26 22:44:42 +0200 | <dsal> | Is it partial? The signature isn't super clear. |
2021-06-26 22:44:55 +0200 | <qrpnxz> | not sure what you are asking sorry |
2021-06-26 22:45:54 +0200 | <dsal> | > foldl1 (+) [] :: Int -- foldl1 is partial |
2021-06-26 22:45:55 +0200 | <lambdabot> | *Exception: Prelude.foldl1: empty list |
2021-06-26 22:46:08 +0200 | <dsal> | But the one in semigroups isn't defined for [], so that's probably fine. |
2021-06-26 22:46:29 +0200 | <dsal> | It has a special typeclass `Foldable1` |
2021-06-26 22:46:31 +0200 | <qrpnxz> | it would error on empty foldable since semigroup has no mempty |
2021-06-26 22:46:37 +0200 | <qrpnxz> | like foldl1 and foldr1 |
2021-06-26 22:46:45 +0200 | <dsal> | Yes, those are partial functions. Partial functions are bad. :) |
2021-06-26 22:47:08 +0200 | <qrpnxz> | well how do you say "give me a nonempty foldable" :) |
2021-06-26 22:47:15 +0200 | <qrpnxz> | no way currenty |
2021-06-26 22:47:16 +0200 | <dsal> | @hoogle NonEmpty |
2021-06-26 22:47:16 +0200 | <lambdabot> | module Data.List.NonEmpty |
2021-06-26 22:47:16 +0200 | <lambdabot> | Data.List.NonEmpty data NonEmpty a |
2021-06-26 22:47:16 +0200 | <lambdabot> | GHC.Base data NonEmpty a |
2021-06-26 22:47:21 +0200 | <qrpnxz> | NonEmpty is for lists no? |
2021-06-26 22:47:41 +0200 | <dsal> | Oh, sure, but this is how they did it in semigroupoids: https://hackage.haskell.org/package/semigroupoids-5.3.5/docs/Data-Semigroup-Foldable.html#v:fold1 |
2021-06-26 22:47:47 +0200 | Jeanne-Kamikaze | (~Jeanne-Ka@192.252.212.45) (Quit: Leaving) |
2021-06-26 22:48:46 +0200 | <qrpnxz> | so a law would be like toNonEmpty cannot be partial? but you can just say there's a law that says fold1 is also not partial |
2021-06-26 22:49:31 +0200 | <dsal> | Well, fold1 is only not partial if the thing you're feeding it can't be empty. |
2021-06-26 22:49:43 +0200 | <dsal> | So you just have to worry about the Foldable1 class lawfulness. |
2021-06-26 22:49:48 +0200 | <qrpnxz> | right the only guarantee of that is the programmer promisses |
2021-06-26 22:50:04 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-26 22:52:05 +0200 | <dsal> | Sort of? I mean, you can make an empty non-empty if you considered `undefined :| []` a valid result, but you can throw `undefined` anywhere if you want to be chaotic. |
2021-06-26 22:52:35 +0200 | <dsal> | (and even then, it's technically not empty depending on what you're going to do with it) |
2021-06-26 22:53:06 +0200 | SoF | (~skius@user/skius) (Quit: Ping timeout (120 seconds)) |
2021-06-26 22:53:24 +0200 | SoF | (~skius@user/skius) |
2021-06-26 22:56:41 +0200 | dhil | (~dhil@80.208.56.181) (Read error: Connection reset by peer) |
2021-06-26 22:57:29 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-06-26 22:58:55 +0200 | chisui | (~chisui@200116b8665ca2000dd322c548f95515.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
2021-06-26 23:03:23 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
2021-06-26 23:05:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-06-26 23:11:32 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-06-26 23:13:59 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-06-26 23:16:06 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-26 23:18:11 +0200 | eco | (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (Ping timeout: 250 seconds) |
2021-06-26 23:19:27 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-06-26 23:30:47 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-26 23:33:57 +0200 | <qrpnxz> | would (Monad m, Monad t, Traversable t) => Compose m t always be a monad? |
2021-06-26 23:35:06 +0200 | <qrpnxz> | given that join = fmap join . join . fmap sequenceA (which ik you can't make an instance with this, but would it follow the monad laws anyway is the question) |
2021-06-26 23:39:27 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds) |
2021-06-26 23:42:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-26 23:43:22 +0200 | chisui | (~chisui@200116b864537a005c14c63c4df5fc2e.dip.versatel-1u1.de) |
2021-06-26 23:50:49 +0200 | m7zs3gzw | (~m7zs3gzw@178.155.6.220) |
2021-06-26 23:56:55 +0200 | m7zs3gzw | (~m7zs3gzw@178.155.6.220) (Remote host closed the connection) |
2021-06-26 23:58:40 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-06-26 23:59:11 +0200 | a6a45081-2b83 | (~aditya@106.214.225.112) |
2021-06-26 23:59:44 +0200 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 268 seconds) |
2021-06-26 23:59:45 +0200 | <a6a45081-2b83> | {f::[Int];f=do{return 2; return 3;}} |
2021-06-26 23:59:50 +0200 | <a6a45081-2b83> | f==[2,3] ?? |