Logs on 2022-08-26 (liberachat/#haskell)
| 00:01:02 | × | xff0x quits (~xff0x@2405:6580:b080:900:6f8a:e9c1:3bc4:a024) (Quit: xff0x) |
| 00:01:45 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 00:02:00 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 00:04:07 | → | xff0x joins (~xff0x@ai071162.d.east.v6connect.net) |
| 00:04:39 | → | td_ joins (~td@94.134.91.83) |
| 00:05:06 | <glguy> | johnw: Just glancing at the package (I haven't used it before) I imagine you could run into overflow issues given decimalPlaces :: Word8, but I'd be surprised if the Integer arithmetic had determinism issues |
| 00:09:21 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Quit: Leaving) |
| 00:09:48 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-a148-a5a9-53c4-68f2.res6.spectrum.com) |
| 00:10:05 | × | dsrt^ quits (~dsrt@96.70.11.181) (Ping timeout: 255 seconds) |
| 00:10:30 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-a148-a5a9-53c4-68f2.res6.spectrum.com) (Remote host closed the connection) |
| 00:13:42 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-a148-a5a9-53c4-68f2.res6.spectrum.com) |
| 00:13:56 | × | segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 00:15:26 | → | nate4 joins (~nate@98.45.169.16) |
| 00:16:06 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 00:17:53 | → | segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
| 00:17:54 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 00:30:46 | → | money joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) |
| 00:30:46 | × | money quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Changing host) |
| 00:30:46 | → | money joins (~Gambino@user/polo) |
| 00:30:48 | money | is now known as Polo |
| 00:33:32 | → | dsrt^ joins (~dsrt@96.70.11.181) |
| 00:34:21 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 00:36:38 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 00:37:32 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 255 seconds) |
| 00:44:33 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 00:46:15 | × | Polo quits (~Gambino@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:46:32 | → | notzmv joins (~zmv@user/notzmv) |
| 00:47:24 | → | king_gs joins (~Thunderbi@187.201.216.244) |
| 00:51:05 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 00:51:07 | × | liz quits (~liz@host86-157-124-38.range86-157.btcentralplus.com) (Remote host closed the connection) |
| 00:54:55 | × | hueso quits (~root@user/hueso) (Quit: No Ping reply in 210 seconds.) |
| 00:55:21 | → | hueso joins (~root@user/hueso) |
| 01:04:41 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 01:06:14 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 01:07:01 | → | king_gs1 joins (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) |
| 01:08:11 | × | king_gs quits (~Thunderbi@187.201.216.244) (Ping timeout: 260 seconds) |
| 01:08:12 | king_gs1 | is now known as king_gs |
| 01:10:31 | × | xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 260 seconds) |
| 01:11:52 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 01:13:53 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 01:16:12 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 01:18:41 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 01:25:14 | → | causal joins (~user@50.35.83.177) |
| 01:25:44 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 01:25:52 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:28:50 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 01:30:23 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 01:36:10 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 01:40:32 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 01:40:48 | × | shailangsa quits (~shailangs@host86-185-98-81.range86-185.btcentralplus.com) () |
| 01:41:45 | × | beteigeuze quits (~Thunderbi@bl11-28-222.dsl.telepac.pt) (Ping timeout: 252 seconds) |
| 01:44:36 | → | SeanKing[m] joins (~seankingm@2001:470:69fc:105::cf9c) |
| 01:46:25 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 01:51:24 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:52:16 | → | iqubic joins (~iqubic@2601:602:9502:c70:8762:e35e:374b:9ef9) |
| 01:56:58 | <Axman6> | johnw: Scientific might also be an option, but I think all these representations can run into calculations that run forever (the Word8 there might save you though) |
| 01:58:20 | <Axman6> | (Hmmmm, the Decimal divide function looks like it could be really usefor for the project I'm working on at the moment...) |
| 02:01:51 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 02:01:52 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 02:02:09 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 02:02:59 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 02:07:20 | × | iqubic quits (~iqubic@2601:602:9502:c70:8762:e35e:374b:9ef9) (Quit: Client closed) |
| 02:07:55 | → | Guest5647 joins (~polo@user/polo) |
| 02:11:45 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 02:15:24 | × | td_ quits (~td@94.134.91.83) (Ping timeout: 268 seconds) |
| 02:16:57 | → | td_ joins (~td@94.134.91.103) |
| 02:20:31 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 02:20:37 | → | adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan) |
| 02:22:10 | <Axman6> | Possibly a #ghc question, but trying here first - if you have a literal in a compiled file for a ByteString, does anyone know how it's stored in the compiled binary? "foo |
| 02:22:45 | → | shailangsa joins (~shailangs@host86-185-98-81.range86-185.btcentralplus.com) |
| 02:22:54 | <Axman6> | ""foo" :: ByteString - wondering if that goes voa String with the fromStringN call or if there's enough optimisation to store it as a C(ish) string and reference that directly |
| 02:24:28 | <johnw> | > 15.034465284692086 ** 3.466120406090667 |
| 02:24:30 | <lambdabot> | 12020.670425990642 |
| 02:24:42 | <johnw> | on most machines, that answer is different |
| 02:25:00 | <johnw> | Intel and M1 Mac give 12020.670425990644 |
| 02:25:57 | <dolio> | Axman6: I think GHC builds regular strings from something more compact, like C strings. And then there are probably rewrite rules for directly building bytestrings without an intermediate String. |
| 02:26:18 | <c_wraith> | Axman6: if the Lift instance is any good at all, it stores it as a BytesPrimL |
| 02:26:33 | <c_wraith> | Axman6: which is literally an Addr# |
| 02:26:53 | <c_wraith> | which I'd assume is a pointer into the text segment |
| 02:28:17 | <c_wraith> | https://hackage.haskell.org/package/bytestring-0.11.3.1/docs/src/Data.ByteString.Internal.html#line-275 |
| 02:28:34 | <c_wraith> | Well, if template-haskell is new enough, it does |
| 02:28:53 | <c_wraith> | I suppose BytesPrimL was added in 2.16 |
| 02:29:14 | × | kimjetwav quits (~user@2607:fea8:235e:b600:7f88:edef:fe86:249f) (Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 02:29:40 | → | nate4 joins (~nate@98.45.169.16) |
| 02:29:48 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 02:29:54 | <c_wraith> | Otherwise it uses a StringPrimL, which is also an Addr#, but it implies conversion to and from characters which may not be appropriate |
| 02:30:49 | <Axman6> | hmm - wasn;t thinking about TH, but thats interesting too. I remember seeing in the past String literals being compiled as fromCString "some string literal"# or whatever, I wondered if the bytestring would point directly to that |
| 02:31:26 | <Axman6> | c_wraith: how new is that version of TH? |
| 02:31:37 | <c_wraith> | no idea! |
| 02:31:59 | <c_wraith> | Looks like ghc 8.10 |
| 02:32:34 | <c_wraith> | So all the "modern" versions, for some definition of modern I just made up. |
| 02:32:40 | × | segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 02:32:51 | <Axman6> | so basically ancient history at this point |
| 02:33:15 | <Axman6> | (we need a GHC equivalent of BCE; B8.10E) |
| 02:34:31 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 02:35:18 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 02:35:32 | <Axman6> | > 12020.670425990642 - 12020.670425990644 |
| 02:35:34 | <lambdabot> | -1.8189894035458565e-12 |
| 02:35:42 | Guest5647 | is now known as Polo |
| 02:35:51 | <Axman6> | johnw: surely that's small enough for government work? |
| 02:36:33 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 02:38:33 | <johnw> | not when you're hashing outputs |
| 02:39:08 | <johnw> | so it seems that GHC, same version, both Intel processors, gives different answers between mine and a co-worker's machine |
| 02:39:49 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:40:41 | → | tom joins (~chenqisu1@183.217.200.212) |
| 02:40:50 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 02:41:40 | × | luffy quits (~chenqisu1@183.217.200.212) (Remote host closed the connection) |
| 02:42:05 | tom | is now known as Guest4172 |
| 02:43:16 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 02:44:18 | × | dsrt^ quits (~dsrt@96.70.11.181) (Remote host closed the connection) |
| 02:44:50 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Read error: Connection reset by peer) |
| 02:45:01 | → | king_gs1 joins (~Thunderbi@187.201.216.244) |
| 02:45:45 | → | dsrt^ joins (~dsrt@96.70.11.181) |
| 02:47:19 | king_gs1 | is now known as king_gs |
| 02:47:48 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 02:48:06 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 02:49:50 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 02:51:03 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 02:51:18 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 02:59:55 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:59:55 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:59:55 | finn_elija | is now known as FinnElija |
| 03:02:43 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:04:17 | × | king_gs quits (~Thunderbi@187.201.216.244) (Read error: Connection reset by peer) |
| 03:04:50 | × | Polo quits (~polo@user/polo) (Quit: Textual IRC Client: www.textualapp.com) |
| 03:05:02 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) |
| 03:10:36 | → | segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
| 03:13:07 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 03:13:11 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 03:13:36 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:15:14 | <Axman6> | how fun D: |
| 03:15:29 | <Axman6> | I would love to know why if you find out |
| 03:20:37 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:20:37 | × | Vajb quits (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) (Read error: Connection reset by peer) |
| 03:21:06 | <johnw> | I'll let you know! It happens in Perl too, so it's not a GHC thing |
| 03:21:20 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
| 03:21:40 | × | vglfr quits (~vglfr@145.224.94.75) (Read error: Connection reset by peer) |
| 03:22:52 | → | vglfr joins (~vglfr@145.224.94.75) |
| 03:24:03 | × | jargon quits (~jargon@184.101.169.20) (Ping timeout: 244 seconds) |
| 03:25:24 | → | notzmv joins (~zmv@user/notzmv) |
| 03:26:44 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 03:30:58 | <Axman6> | well, that's a bit of a relief! |
| 03:32:49 | × | hololeap quits (~quassel@user/hololeap) (Quit: Bye) |
| 03:33:47 | → | hololeap joins (~quassel@user/hololeap) |
| 03:34:20 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Ping timeout: 268 seconds) |
| 03:42:23 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 03:42:45 | × | waleee quits (~waleee@h-176-10-137-138.na.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 03:43:10 | × | Patternm1ster quits (~georg@li1192-118.members.linode.com) (Quit: leaving) |
| 03:43:30 | → | Patternmaster joins (~georg@user/Patternmaster) |
| 03:47:52 | × | _73 quits (~user@pool-173-76-102-248.bstnma.fios.verizon.net) (Ping timeout: 268 seconds) |
| 03:49:00 | <Clinton[m]> | I'm working on a cabal project, which consists of about a dozen cabal packages, and I have recently made the build process a bit stricter basically by ensuring all our packages are `-Wall` and `-Werror`. However, I'd like to be able to do say, a `cabal build all --dev` or something during development that turns off _some_ warnings, in particular the unused _blah_ warnings. But, I do want cabal to attempt to rebuild the files when I finally |
| 03:49:00 | <Clinton[m]> | am ready to push a branch and do a `cabal build all`, not just use the built files that weren't checked for these warnings. |
| 03:49:00 | <Clinton[m]> | Is there a way to achieve this? |
| 03:49:06 | × | inversed quits (~inversed@90.209.137.56) (Ping timeout: 268 seconds) |
| 03:51:18 | → | inversed joins (~inversed@90.209.137.56) |
| 03:52:31 | <c_wraith> | Clinton[m]: untested, but maybe if you make it a cabal flag and reconfigure the package the flag changed? |
| 03:52:44 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 03:53:19 | <c_wraith> | honestly, that's a tricky one. Usually people want to recompile *less*.. |
| 03:53:47 | <c_wraith> | I guess you could also just fire off a cabal clean |
| 03:54:22 | <c_wraith> | Put it into a script that also rebuilds with full warnings and -Werror |
| 03:55:15 | <Clinton[m]> | c_wraith: as in, put the same flag in all my `.cabal` files, and make that flag turn off warnings? |
| 03:55:35 | <Clinton[m]> | c_wraith: well turn off some of them at least |
| 03:55:37 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 03:55:59 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:57:26 | × | ardell_ quits (~ardell@user/ardell) (Quit: Leaving) |
| 03:58:08 | <c_wraith> | something like that. My note is mostly based on the observation that cabal considers changing flags to be changing the package key, so it considers it a whole new package, and... hopefully recompiles because of that. |
| 03:58:26 | <c_wraith> | changing cabal flags, that is |
| 03:58:30 | × | ddb quits (~ddb@ipv6two.tilde.club) (Ping timeout: 268 seconds) |
| 04:00:12 | → | ddb joins (~ddb@ipv6two.tilde.club) |
| 04:00:13 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 04:00:23 | <L29Ah> | is it me or -Wall -Werror impacts portability a lot, basically forcing to get rid of deprecated everything and all the extra imports that allow building my code with older ghc/libs? |
| 04:02:28 | <c_wraith> | You can work around those issues... but yes, it adds a lot of noise to do those workarounds |
| 04:04:38 | × | sammelweis_ quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer) |
| 04:06:13 | <c_wraith> | keeping that even sort of relatively under control is why a lot of packages adopt things like 3-version rules, where they say every release of their library will support the last three major versions of GHC, but they make no guarantees going back further. |
| 04:06:28 | <c_wraith> | ... Though the bugginess of 9.x releases has thrown a wrench into that. |
| 04:07:49 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 04:15:58 | <monochrom> | I think -Wall hasn't changed a lot over the years? |
| 04:16:16 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 04:16:53 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 04:18:05 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:18:07 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 04:18:38 | → | Vajb joins (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) |
| 04:19:49 | <L29Ah> | it hasn't but libs changed |
| 04:20:06 | <L29Ah> | some imports became redundant and -Wall -Werror happily explodes on them |
| 04:20:15 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
| 04:21:40 | <[Leary]> | You want something like -Wwarn=deprecations -Wwarn=dodgy-imports -Wwarn=unused-imports |
| 04:22:26 | × | hgolden quits (~Howard@cpe-172-251-233-141.socal.res.rr.com) (Ping timeout: 260 seconds) |
| 04:24:03 | <c_wraith> | -Wall has definitely changed |
| 04:24:13 | <c_wraith> | And there are people who get unhappy every time a new warning is added |
| 04:25:30 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 04:25:40 | <dolio> | That's why you shouldn't use -Wall. :þ |
| 04:30:38 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 04:30:39 | <janus> | Clinton[m]: you can have multiple cabal.projects and choose the one to use using --project-file |
| 04:31:11 | × | segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 04:31:12 | <janus> | Clinton[m]: cabal.project files are used only for local development, so it is what you want, since you don't want this to get used when not working on the library itself |
| 04:32:06 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 04:35:28 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 04:43:06 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 04:44:36 | × | Guest4172 quits (~chenqisu1@183.217.200.212) (Ping timeout: 260 seconds) |
| 04:47:31 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 04:52:45 | → | mbuf joins (~Shakthi@122.165.55.71) |
| 04:54:32 | × | benin0 quits (~benin@183.82.205.66) (Ping timeout: 268 seconds) |
| 05:00:01 | <hololeap> | Clinton[m]: a common practice is to add a 'pedantic' flag which turns on -Werror, which you can add to a 'common' stanza and 'import' it everywhere. then you can turn it on/off in cabal.project.local as you see fit. you would have to add this same 'common' stanza and flag to all your packages, though |
| 05:04:29 | × | cods_ quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 268 seconds) |
| 05:04:41 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 05:06:21 | <hololeap> | for instance: https://github.com/hololeap/cabal-portage/blob/main/parsable/parsable.cabal#L26-L49 |
| 05:09:55 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
| 05:10:50 | → | hgolden joins (~Howard@cpe-172-251-233-141.socal.res.rr.com) |
| 05:18:09 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 05:21:03 | <johnw> | Axman6: so here is some odd code: https://gist.github.com/f8eab8aca4ab60230ecfde0ca62bbf1d |
| 05:21:14 | <johnw> | on some platforms, this prints two different answers from the same pow function! |
| 05:21:27 | <johnw> | and it looks like whatever is happening due to my "safe_pow" wrapper, is what happens to GHC's FFI boundary |
| 05:23:11 | → | king_gs joins (~Thunderbi@187.201.216.244) |
| 05:24:39 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 05:27:09 | → | zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
| 05:29:04 | → | coot joins (~coot@213.134.176.158) |
| 05:35:17 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 05:36:54 | → | jargon joins (~jargon@184.101.185.66) |
| 05:43:02 | × | king_gs quits (~Thunderbi@187.201.216.244) (Read error: Connection reset by peer) |
| 05:43:11 | → | king_gs1 joins (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) |
| 05:45:29 | king_gs1 | is now known as king_gs |
| 05:46:16 | → | cheater joins (~Username@user/cheater) |
| 05:47:00 | → | segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
| 05:56:25 | → | Maeda joins (~Maeda@91-161-10-149.subs.proxad.net) |
| 05:56:28 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 05:57:02 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 05:59:16 | × | qrpnxz quits (~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 260 seconds) |
| 06:00:50 | → | qrpnxz joins (~qrpnxz@fsf/member/qrpnxz) |
| 06:03:04 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 06:05:02 | → | nilradical joins (~nilradica@user/naso) |
| 06:07:26 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 06:10:58 | × | segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 06:11:40 | → | segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
| 06:12:56 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 06:15:26 | × | dos__^^ quits (~user@user/dos/x-1723657) (Read error: Connection reset by peer) |
| 06:16:11 | × | segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 06:16:14 | → | chele joins (~chele@user/chele) |
| 06:17:11 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 06:17:47 | → | nilradical joins (~nilradica@user/naso) |
| 06:20:06 | × | coot quits (~coot@213.134.176.158) (Remote host closed the connection) |
| 06:22:36 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 260 seconds) |
| 06:22:51 | → | kenran joins (~kenran@p200300df77304e00c7e0792bdbb64275.dip0.t-ipconnect.de) |
| 06:23:01 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 06:25:44 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 06:25:59 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 06:30:27 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 06:30:56 | → | nate4 joins (~nate@98.45.169.16) |
| 06:33:33 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 06:34:05 | → | coot joins (~coot@213.134.176.158) |
| 06:36:01 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 06:36:11 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:38:26 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 06:41:37 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:47:06 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
| 06:54:26 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 06:54:59 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 248 seconds) |
| 06:56:54 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:57:42 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:58:11 | → | echoreply joins (~echoreply@45.32.163.16) |
| 07:00:53 | → | nilradical joins (~nilradica@user/naso) |
| 07:06:46 | → | zaquest joins (~notzaques@5.130.79.72) |
| 07:07:11 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:960c:3e36:2011:d901) |
| 07:07:19 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 07:09:15 | × | dsrt^ quits (~dsrt@96.70.11.181) (Remote host closed the connection) |
| 07:09:49 | → | dsrt^ joins (~dsrt@96.70.11.181) |
| 07:11:52 | aforemny_ | is now known as aforemny |
| 07:13:42 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 07:14:20 | → | nilradical joins (~nilradica@user/naso) |
| 07:14:42 | → | jtomas joins (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) |
| 07:14:56 | → | michalz joins (~michalz@185.246.204.90) |
| 07:16:46 | → | acidjnk joins (~acidjnk@p200300d6e7137a9065c8dabee66bffd1.dip0.t-ipconnect.de) |
| 07:19:23 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 255 seconds) |
| 07:20:20 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:4494:42b0:507c:252c) |
| 07:20:34 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 07:25:25 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 07:27:15 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 07:28:03 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds) |
| 07:31:15 | → | Pickchea joins (~private@user/pickchea) |
| 07:32:01 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 07:42:07 | → | nilradical joins (~nilradica@user/naso) |
| 07:44:09 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 07:47:59 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:48:38 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 07:52:40 | × | tzh_ quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:53:14 | → | coot joins (~coot@213.134.176.158) |
| 07:58:58 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 08:02:07 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:4194:7795:a0fa:7264) |
| 08:02:30 | <merijn> | Clinton[m]: /sb goto +20 |
| 08:02:38 | <merijn> | hmm |
| 08:02:45 | <merijn> | awkward tab complete failure xD |
| 08:04:00 | → | phma joins (phma@2001:5b0:210d:9458:aee1:2881:7c08:f7a7) |
| 08:04:51 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 08:05:02 | → | Pickchea joins (~private@user/pickchea) |
| 08:05:09 | → | ccntrq joins (~Thunderbi@172.209.94.92.rev.sfr.net) |
| 08:08:00 | → | fserucas joins (~fserucas@83.223.251.40) |
| 08:17:34 | → | olle joins (~olle@h-94-254-63-12.NA.cust.bahnhof.se) |
| 08:17:45 | <olle> | What's the situation with printf in haskell? Only string literal? |
| 08:17:53 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 08:20:11 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:4194:7795:a0fa:7264) (Remote host closed the connection) |
| 08:20:30 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:e583:10da:cffa:3886) |
| 08:23:10 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 08:24:16 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 08:25:26 | → | nilradical joins (~nilradica@user/naso) |
| 08:26:29 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:e583:10da:cffa:3886) (Remote host closed the connection) |
| 08:27:23 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:205a:6422:dcc1:1c1c) |
| 08:27:38 | <maerwald[m]> | olle: printf works |
| 08:28:32 | <tdammers> | The printf in base (Text.Printf.printf) works fine, it's just not fully typesafe |
| 08:28:59 | <maerwald[m]> | printf was never typesafe |
| 08:29:03 | <tdammers> | e.g., printf "%i %i" "Hello, world!" will compile, but it will error at runtime |
| 08:29:49 | <merijn> | olle: There's not enough context to understand what kinda answer you're even looking for |
| 08:30:08 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Remote host closed the connection) |
| 08:30:15 | <tdammers> | and yeah, ^. |
| 08:30:27 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) |
| 08:31:02 | <maerwald[m]> | If you want something typesafe, then you don't want printf |
| 08:31:50 | <dminuoso> | "As an ExitCode is not an IOException, exitWith bypasses the error handling in the IO monad and cannot be intercepted by catch from the Prelude" |
| 08:32:07 | <dminuoso> | This seems misleading, as `catch` can catch this perfectly fine if you monomorphize it to SomeException... |
| 08:33:21 | <dminuoso> | Or is there something subtle Im missing? |
| 08:34:11 | <merijn> | dminuoso: check the repo to see how old those docs are? :p |
| 08:34:32 | <dminuoso> | Fair *shrugs* |
| 08:35:02 | <dminuoso> | Im just mildly annoyed that I cannot special-case ExitCode in a outermost `handle` |
| 08:36:07 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 08:38:39 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:205a:6422:dcc1:1c1c) (Remote host closed the connection) |
| 08:38:57 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:cead:ee68:494c:1354) |
| 08:40:12 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 268 seconds) |
| 08:41:19 | ← | jakalx parts (~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection) |
| 08:41:20 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 08:44:22 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 08:45:22 | <olle> | merijn: in ocaml, they limit the first input arg to printf, it must be a string literal so that the compiler can figure out the function signature |
| 08:46:17 | <olle> | tdammers: error at runtime, eh. |
| 08:47:13 | <olle> | Just curious in general, since I'm writing on a little compiler project :) |
| 08:47:49 | <merijn> | In general: Don't use printf |
| 08:48:13 | <c_wraith> | Hey, now that the Uncons type family exists, you can write a type-safe printf |
| 08:48:15 | <olle> | merijn: So what's the type-safe alternative...? |
| 08:48:30 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 08:49:01 | → | nattiestnate joins (~nate@202.138.250.9) |
| 08:49:16 | <merijn> | olle: I use either Text Builder, a prettyprinter, or just "putStrLn $ mconcat [ list of strings and explicitly converted elements here]" |
| 08:49:51 | <merijn> | c_wraith: A bunch of type safe printfs already exist, using all sorts of type level machinery and god knows what |
| 08:50:05 | <c_wraith> | sure, but Uncons actually makes them efficient |
| 08:50:27 | <merijn> | And you know what? I can get 99% of the power with 5% of the complexity by just "having a list of strings and things explicitly converted to strings" |
| 08:50:31 | <c_wraith> | instead of taking minutes to compile if the format string is long... |
| 08:51:38 | <maerwald[m]> | Shitty type families, because we want to be as cool as Idris |
| 08:51:40 | <merijn> | Stuff like: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/model-src/Evaluate.hs#L375-L385 |
| 08:51:59 | <merijn> | Added bonus: don't have to explain complicated type level stuff to beginners |
| 08:52:32 | <c_wraith> | It's not that complicated to say "put a @ in front of the format string" |
| 08:52:57 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 08:55:29 | <lortabac> | there are also a couple of string interpolation libraries |
| 08:56:55 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:58:15 | <merijn> | c_wraith: And enable the relevant extension to enable that and hope the error messages don't become inscrutable |
| 08:58:56 | <c_wraith> | inscrutable error messages are better than segfaults. :P |
| 08:59:19 | <merijn> | c_wraith: Sure, but that wasn't the alternative I proposed |
| 08:59:38 | <c_wraith> | But that's what people asking for printf expect |
| 09:00:31 | <c_wraith> | also, your proposal is really bad at the cases where I'd want printf - formatting tabular numeric output. |
| 09:02:00 | <merijn> | c_wraith: How is it worse at that then printf? |
| 09:04:15 | <c_wraith> | printf provides a compact numeric format specification language that only takes 3 or 4 characters to full describe most numeric formats you want. That's a lot less pleasant than a bunch of function calls with slightly different parameters |
| 09:05:15 | → | tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
| 09:05:20 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 09:05:27 | <c_wraith> | err. more pleasant. brain failing |
| 09:05:36 | <c_wraith> | how'd it get so late? |
| 09:07:41 | × | acidjnk quits (~acidjnk@p200300d6e7137a9065c8dabee66bffd1.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 09:11:18 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 09:12:22 | × | kaskal- quits (~kaskal@213-225-33-152.nat.highway.a1.net) (Quit: ZNC - https://znc.in) |
| 09:12:50 | → | kaskal joins (~kaskal@2001:4bb8:2dc:7b0e:55ee:692c:e44d:a4b0) |
| 09:18:37 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 09:20:42 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:23:35 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 09:23:58 | → | acidjnk joins (~acidjnk@p200300d6e7137a90ed2e80addb26645c.dip0.t-ipconnect.de) |
| 09:25:58 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Quit: king_gs) |
| 09:43:14 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:cead:ee68:494c:1354) (Ping timeout: 252 seconds) |
| 09:45:34 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 09:48:20 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:48:21 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:49:36 | → | beteigeuze joins (~Thunderbi@bl11-28-222.dsl.telepac.pt) |
| 09:50:35 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 255 seconds) |
| 09:52:06 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 09:52:24 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 09:53:55 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:56:41 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 10:00:11 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 10:00:36 | × | cfricke quits (~cfricke@user/cfricke) (Read error: Connection reset by peer) |
| 10:02:32 | → | nilradical joins (~nilradica@user/naso) |
| 10:03:00 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 10:03:16 | → | nilradical joins (~nilradica@user/naso) |
| 10:03:50 | → | cheater joins (~Username@user/cheater) |
| 10:05:27 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:07:24 | × | tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 10:07:27 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:ebdd:9648:ec0b:a288) |
| 10:08:23 | → | cfricke joins (~cfricke@user/cfricke) |
| 10:10:08 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 10:15:10 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds) |
| 10:17:41 | × | fserucas quits (~fserucas@83.223.251.40) (Ping timeout: 260 seconds) |
| 10:25:14 | × | qrpnxz quits (~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 255 seconds) |
| 10:27:09 | → | qrpnxz joins (~qrpnxz@fsf/member/qrpnxz) |
| 10:27:12 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 10:28:51 | → | MoC joins (~moc@user/moc) |
| 10:29:33 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:ebdd:9648:ec0b:a288) (Remote host closed the connection) |
| 10:29:52 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:a29:a40d:c286:af9d) |
| 10:32:26 | → | nate4 joins (~nate@98.45.169.16) |
| 10:36:02 | × | tom_ quits (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Remote host closed the connection) |
| 10:37:00 | → | tom_ joins (~tom@2a00:23c8:970c:4801:f468:ae00:9bb1:fddf) |
| 10:37:22 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 10:41:04 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 10:42:11 | × | acidjnk quits (~acidjnk@p200300d6e7137a90ed2e80addb26645c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:43:47 | → | acidjnk joins (~acidjnk@p200300d6e7137a90ed2e80addb26645c.dip0.t-ipconnect.de) |
| 10:45:17 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 10:50:23 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 10:53:50 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 10:55:15 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 11:03:26 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:a29:a40d:c286:af9d) (Remote host closed the connection) |
| 11:03:45 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:4707:8153:2279:bb9) |
| 11:12:26 | → | fserucas joins (~fserucas@2001:8a0:75cf:a000:3e07:2fab:6f55:9d33) |
| 11:14:21 | × | fserucas quits (~fserucas@2001:8a0:75cf:a000:3e07:2fab:6f55:9d33) (Client Quit) |
| 11:14:38 | → | fserucas joins (~fserucas@2001:8a0:75cf:a000:3e07:2fab:6f55:9d33) |
| 11:19:34 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 11:20:06 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 11:21:18 | → | nilradical joins (~nilradica@user/naso) |
| 11:24:21 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:4707:8153:2279:bb9) (Remote host closed the connection) |
| 11:24:40 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:7a19:dcb1:41a4:e1bf) |
| 11:25:16 | → | Midjak joins (~Midjak@82.66.147.146) |
| 11:25:23 | → | xff0x joins (~xff0x@ai071162.d.east.v6connect.net) |
| 11:25:56 | → | CiaoSen joins (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:27:57 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 11:28:57 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 11:29:12 | → | nilradical joins (~nilradica@user/naso) |
| 11:35:57 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:7a19:dcb1:41a4:e1bf) (Remote host closed the connection) |
| 11:39:02 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 11:43:02 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 11:43:48 | → | nilradical joins (~nilradica@user/naso) |
| 11:48:24 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 11:48:42 | → | nilradical joins (~nilradica@user/naso) |
| 11:48:47 | → | Pickchea joins (~private@user/pickchea) |
| 11:51:25 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 11:55:33 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 11:55:56 | → | __monty__ joins (~toonn@user/toonn) |
| 11:58:22 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 11:58:49 | → | Guest4172 joins (~chenqisu1@183.217.200.212) |
| 11:59:10 | → | nilradical joins (~nilradica@user/naso) |
| 12:01:15 | × | Guest4172 quits (~chenqisu1@183.217.200.212) (Max SendQ exceeded) |
| 12:01:43 | → | Guest4172 joins (~chenqisu1@183.217.200.212) |
| 12:03:29 | → | `2jt joins (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) |
| 12:04:56 | × | jtomas quits (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
| 12:05:31 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 268 seconds) |
| 12:09:33 | → | nilradical joins (~nilradica@user/naso) |
| 12:09:38 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 12:09:41 | × | fserucas quits (~fserucas@2001:8a0:75cf:a000:3e07:2fab:6f55:9d33) (Ping timeout: 260 seconds) |
| 12:09:50 | × | Guest4172 quits (~chenqisu1@183.217.200.212) (Ping timeout: 268 seconds) |
| 12:10:21 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 12:11:24 | → | nilradical joins (~nilradica@user/naso) |
| 12:12:35 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 12:12:51 | → | nilradical joins (~nilradica@user/naso) |
| 12:15:25 | × | kenran quits (~kenran@p200300df77304e00c7e0792bdbb64275.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 12:17:07 | → | kenran joins (~kenran@ip-037-024-119-190.um08.pools.vodafone-ip.de) |
| 12:19:20 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 12:20:11 | × | acidjnk quits (~acidjnk@p200300d6e7137a90ed2e80addb26645c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 12:20:43 | × | vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in) |
| 12:23:47 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 12:24:08 | <troydm> | is there a way to get object reference address in memory in Haskell? |
| 12:25:14 | <troydm> | like I have something like type MyType = MyType Text which I want to implement Eq by reference in memory, I know that doesn't sounds right but it's performance optimization hack |
| 12:27:11 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 12:27:46 | <opqdonut> | there's stuff like reallyUnsafePtrEquality# |
| 12:27:52 | <opqdonut> | but I have no idea how to use those correctly |
| 12:30:22 | × | zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
| 12:30:50 | <jackdk> | opqdonut: Manuel Chakravaty used it in his Haskell bindings to SpriteKit to provide a declarative interface and avoid many expensive equality checks. I think it's in https://www.youtube.com/watch?v=GaorHAlUkVs but my internet is bad right now. |
| 12:31:05 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:fd36:7f1:588a:9c0f) |
| 12:31:38 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:32:24 | <merijn> | troydm: No, because memory location isn't fixed |
| 12:34:50 | <troydm> | merijn: if you force both values they won't change their memory location right? |
| 12:34:57 | <merijn> | Maybe |
| 12:35:08 | <merijn> | troydm: GC can move them, and GC can happen basically anytime |
| 12:35:28 | <merijn> | I know reallyUnsafePtrEquality# can give both false positives *and* false negatives even when paranoidly used |
| 12:36:04 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 12:36:21 | <merijn> | troydm: More importantly, Text already does pointer equality internally before doing full comparison |
| 12:37:04 | <troydm> | merijn: it does? |
| 12:37:21 | <troydm> | merijn: if it does my problem is solved |
| 12:37:36 | <merijn> | hmm, maybe not, I thought it did. But it does a bunch of optimisations already |
| 12:37:53 | <merijn> | Like, if two texts have different lengths it immediately returns false without checking contents |
| 12:38:37 | <troydm> | <interactive>:9:41: error: parse error on input ‘\#’ |
| 12:38:38 | <troydm> | ghci> import GHC.Prim (reallyUnsafePtrEquality#) |
| 12:38:43 | <troydm> | how do I use it? |
| 12:39:11 | <troydm> | merijn: yeah I understand that |
| 12:39:17 | <merijn> | It requires MagicHash |
| 12:43:21 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 12:44:13 | <troydm> | another way I think is to use IORef values and check those to each other right? |
| 12:44:22 | → | nilradical joins (~nilradica@user/naso) |
| 12:44:43 | × | vglfr quits (~vglfr@145.224.94.75) (Read error: Connection reset by peer) |
| 12:45:00 | → | vglfr joins (~vglfr@145.224.94.75) |
| 12:45:17 | <merijn> | IORefs and MVar always compare by their location, yes |
| 12:46:57 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 12:49:20 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 268 seconds) |
| 12:50:28 | → | vgtw joins (~vgtw@user/vgtw) |
| 12:52:25 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 12:54:10 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 12:54:11 | × | dsrt^ quits (~dsrt@96.70.11.181) (Remote host closed the connection) |
| 12:55:55 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:fd36:7f1:588a:9c0f) (Remote host closed the connection) |
| 12:56:56 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 12:58:40 | → | fserucas joins (~fserucas@2001:8a0:75cf:a000:3e07:2fab:6f55:9d33) |
| 13:01:23 | × | kadobanana quits (~mud@user/kadoban) (Ping timeout: 248 seconds) |
| 13:01:33 | × | vgtw quits (~vgtw@user/vgtw) (Ping timeout: 252 seconds) |
| 13:03:35 | × | averell quits (~averell@user/averell) (Quit: .) |
| 13:04:13 | → | finsternis joins (~X@23.226.237.192) |
| 13:04:54 | → | kadobanana joins (~mud@user/kadoban) |
| 13:06:47 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 13:06:53 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:13:31 | × | nattiestnate quits (~nate@202.138.250.9) (Quit: WeeChat 3.6) |
| 13:15:19 | → | eikke joins (~NicolasT@user/NicolasT) |
| 13:17:10 | → | nilradical joins (~nilradica@user/naso) |
| 13:17:52 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 13:18:09 | → | Pickchea joins (~private@user/pickchea) |
| 13:22:10 | <eikke> | Looks like `--gcc-options` passed to `cabal configure` are passed to gcc when compiling a hsc2hs-generated C file, but not whejn compiling C files part of a package's `c-sources`. Is that expected? |
| 13:22:21 | → | coot joins (~coot@213.134.176.158) |
| 13:22:35 | → | vgtw joins (~vgtw@user/vgtw) |
| 13:22:57 | <geekosaur> | this might be a question for #hackage (which despite its name is about cabal) |
| 13:23:32 | <Maeda> | Hi! Is this a good place to start with learning Haskell? https://wiki.haskell.org/Tutorials, especially "Introduction to Haskell (Spring 2013)". I do not want to start with obsolete content :). Thanks. |
| 13:23:45 | <eikke> | geekosaur: thanks! |
| 13:24:12 | <geekosaur> | most of the changes since 2013 have been to advanced topics |
| 13:24:35 | <merijn> | eikke: Don't use gcc-options, use c-options |
| 13:24:41 | <geekosaur> | the spring 2013 course by byorgey is generally considered the best one tp start from |
| 13:24:54 | <opqdonut> | Maeda: consider https://haskell.mooc.fi/ |
| 13:25:04 | <merijn> | eikke: C files get compiled via C compiler invoked by GHC and I dunno how gcc-options are handled there |
| 13:25:45 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 13:26:29 | <eikke> | merijn: I can put stuff in `cc-options`, sure, but I was thinking to move a bunch of not-needed compiler flags out of my lib's lib.cabal file and move them in cabal.project |
| 13:26:58 | <eikke> | As an example, ghc-options -Wall aren't really needed in lib.cabal's ghc-options. Same for C compiler -Wall. Having stuff in cabal.project would allow to have -Werror in there |
| 13:27:52 | <merijn> | You shouldn't have -Werror in your cabal anyway if you plan to upload to hackage (in fact, pretty sure Hackage will reject your package if you do that) |
| 13:28:00 | tristanC_ | is now known as tristanC |
| 13:28:16 | <eikke> | merijn: I know. But having it in cabal.project is a different story, right? |
| 13:28:41 | <merijn> | Yeah, but I'd just move the -Werror into cabal.project, not the others :p |
| 13:28:47 | <eikke> | That's the point, I'd like my local dev env and other contributors and CI etc to have -Werror, but the distributed package not |
| 13:29:05 | <geekosaur> | then you want cabal.project.local, not cabal.project |
| 13:29:20 | <eikke> | geekosaur: why .local only? |
| 13:29:33 | <geekosaur> | because that's the one that's not part of the package |
| 13:30:03 | <eikke> | I have 2 libs in the same git-tree, cabal.project is at the root, are you saying it's somehow still made part of the sdists of the (subdir) libraries? |
| 13:30:08 | <geekosaur> | well, if you're breaking it up then cabal.project belongs only to the package it shares a directory with |
| 13:30:20 | <geekosaur> | it may be okay in that case |
| 13:30:36 | <merijn> | geekosaur: huh, -Werror and stuff sounds right for cabal.project |
| 13:30:44 | <geekosaur> | but you should develop the habit of using .local so as to not get a surprise when it's in the same dir as a cabal file |
| 13:30:44 | <merijn> | He said he wants it set for all contriubtors |
| 13:31:30 | <eikke> | geekosaur: .local shouldn't be in VCS, so seems weird if these are settings that should be applied to all dev/CI envs |
| 13:32:09 | <eikke> | (I was out of the Haskell sphere for a while, when cabal.project was introduced, so I may be missing a couple of things ;)) |
| 13:33:03 | <merijn> | eikke: I think geekosaur is misunderstanding you |
| 13:33:20 | <eikke> | The way I interpreted is: foo.cabal is about the package, what gets sdist'ed/uploaded to hackage. cabal.project is about dev/build environment but doesn't influence sdist/hackage. c.p.local is system-local overrides |
| 13:33:31 | <merijn> | eikke: Yes |
| 13:34:15 | <eikke> | so having compiler warnings (and optionally -Werror) seems a good fit for cabal.project, but not foo.cabal (where historically these things were put) |
| 13:34:52 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:36:01 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 252 seconds) |
| 13:36:24 | × | kenran quits (~kenran@ip-037-024-119-190.um08.pools.vodafone-ip.de) (Quit: WeeChat info:version) |
| 13:36:27 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.6) |
| 13:36:37 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 13:37:53 | <merijn> | I would keep warnings inside the cabal file, though. Makes it easier for users to spot things going potentially wrong that your tests may not see |
| 13:39:40 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:39:54 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:960c:3e36:2011:d901) (Ping timeout: 268 seconds) |
| 13:40:56 | <eikke> | merijn: maybe, though seems unlikely because when installed as a dep, the cabal output won't show the compiler output by default iirc |
| 13:44:01 | × | flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
| 13:44:03 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 13:45:11 | → | flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
| 13:48:46 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:52:34 | → | acidjnk joins (~acidjnk@p200300d6e7137a90e5222ed8f1aa363c.dip0.t-ipconnect.de) |
| 13:57:16 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 13:58:01 | → | GoldsteinQ joins (~goldstein@goldstein.rs) |
| 13:59:23 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 13:59:38 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
| 14:01:41 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 255 seconds) |
| 14:01:41 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 14:05:24 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:09:28 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 14:09:51 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
| 14:14:54 | → | worldhelloworld1 joins (uid543174@id-543174.helmsley.irccloud.com) |
| 14:16:02 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:16:07 | <worldhelloworld1> | How do I see a history of this irc channel? My irc client doesn't retain history :( |
| 14:17:25 | <geekosaur> | there's a log in the /topic |
| 14:17:44 | <geekosaur> | (search doesn't work, though) |
| 14:19:54 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 14:21:20 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 14:21:47 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:bd51:d0d0:1488:2474) |
| 14:23:55 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 14:25:53 | → | nilradical joins (~nilradica@user/naso) |
| 14:26:45 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 14:27:29 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
| 14:28:31 | × | acidjnk quits (~acidjnk@p200300d6e7137a90e5222ed8f1aa363c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 14:30:16 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 260 seconds) |
| 14:31:13 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 14:32:50 | × | gnyeki quits (~gnyeki@user/gnyeki) (Quit: leaving) |
| 14:33:56 | → | nate4 joins (~nate@98.45.169.16) |
| 14:35:59 | → | gnyeki joins (~gnyeki@user/gnyeki) |
| 14:38:15 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 14:39:06 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 14:39:38 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 14:40:57 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 268 seconds) |
| 14:41:34 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 14:42:29 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 14:43:25 | → | nilradical joins (~nilradica@user/naso) |
| 14:52:38 | → | ddellacosta joins (~ddellacos@143.244.47.90) |
| 14:53:16 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 14:54:32 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 14:56:03 | → | pavonia joins (~user@user/siracusa) |
| 14:57:03 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:58:19 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 15:02:27 | → | zebrag joins (~chris@user/zebrag) |
| 15:03:15 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 15:04:38 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 15:05:33 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 15:06:21 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 268 seconds) |
| 15:07:06 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 15:07:12 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 15:07:38 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:bd51:d0d0:1488:2474) (Remote host closed the connection) |
| 15:07:57 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:16a0:cc74:b1e8:4d5) |
| 15:08:27 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:11:05 | × | nilradical quits (~nilradica@user/naso) () |
| 15:11:25 | → | econo joins (uid147250@user/econo) |
| 15:18:40 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 15:22:24 | × | ccntrq quits (~Thunderbi@172.209.94.92.rev.sfr.net) (Quit: ccntrq) |
| 15:24:50 | → | maroloccio joins (~marolocci@151.53.151.111) |
| 15:25:57 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 15:29:14 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:16a0:cc74:b1e8:4d5) (Remote host closed the connection) |
| 15:29:46 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 15:30:20 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 15:37:12 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 15:38:33 | × | ec quits (~ec@gateway/tor-sasl/ec) (Client Quit) |
| 15:38:44 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 15:42:09 | justDeez | is now known as justache |
| 15:46:08 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 15:46:49 | × | maroloccio quits (~marolocci@151.53.151.111) (Quit: WeeChat 3.0) |
| 15:58:34 | → | zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
| 15:59:43 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 16:08:11 | × | oo_migue1 quits (~pi@77.252.47.226) (Ping timeout: 252 seconds) |
| 16:10:01 | × | tom_ quits (~tom@2a00:23c8:970c:4801:f468:ae00:9bb1:fddf) (Ping timeout: 260 seconds) |
| 16:10:18 | → | oo_migue1 joins (~pi@77.252.47.160) |
| 16:10:45 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 16:11:11 | × | fserucas quits (~fserucas@2001:8a0:75cf:a000:3e07:2fab:6f55:9d33) (Ping timeout: 260 seconds) |
| 16:11:21 | × | adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 16:11:21 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 16:11:36 | → | ystael joins (~ystael@user/ystael) |
| 16:11:39 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 16:12:10 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 16:17:12 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 16:17:25 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:17:46 | × | oo_migue1 quits (~pi@77.252.47.160) (Ping timeout: 268 seconds) |
| 16:19:21 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 16:19:39 | → | oo_migue1 joins (~pi@77-252-46-58.static.ip.netia.com.pl) |
| 16:22:03 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 16:23:09 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 16:24:09 | → | wonko joins (~wjc@2a0e:1c80:2::130) |
| 16:25:07 | × | hometown quits (~blurb@96.45.2.121) (Quit: Leaving) |
| 16:28:14 | → | acidjnk joins (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) |
| 16:30:06 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:31:16 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
| 16:32:22 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 16:33:05 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:35:26 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 16:35:39 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 16:36:00 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 16:37:53 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:4494:42b0:507c:252c) (Remote host closed the connection) |
| 16:38:41 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 16:39:05 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:97b:9ffd:dcae:7700) |
| 16:39:05 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 16:39:56 | × | qrpnxz quits (~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 268 seconds) |
| 16:39:58 | × | wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 268 seconds) |
| 16:41:39 | → | qrpnxz joins (~qrpnxz@fsf/member/qrpnxz) |
| 16:43:01 | → | TravisAthougies[ joins (~tathougie@2001:470:69fc:105::2:6fbd) |
| 16:44:20 | → | eikke joins (~NicolasT@user/NicolasT) |
| 16:46:04 | → | tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
| 16:50:27 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:97b:9ffd:dcae:7700) (Ping timeout: 268 seconds) |
| 16:51:31 | × | zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
| 16:58:04 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 16:58:06 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:58:20 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 17:00:25 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 17:02:37 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:06:57 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:6c1:7ffb:81b:ea40) |
| 17:07:59 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 17:10:41 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 260 seconds) |
| 17:17:23 | <raehik> | I'm designing some type classes for parsing & serializing, like Aeson. Question: morally/in your opinion, should I provide instances for Void? Aeson does, but it means ToJSON Void runtime errors |
| 17:17:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 17:17:40 | × | OpenSource quits (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Changing host) |
| 17:17:40 | → | OpenSource joins (~Hash@user/OpenSource) |
| 17:17:53 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 17:18:03 | <raehik> | The underlying question here is perhaps "how should one use Void" |
| 17:18:08 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 17:22:56 | <zero> | did takeUntil disappear or did i dream about such a function? |
| 17:23:31 | <c_wraith> | I don't think it takeUntil ever existed in base, but I'm sure many packages have defined it |
| 17:23:36 | <geekosaur> | is that a list function or a parser function? |
| 17:23:45 | <zero> | list |
| 17:23:58 | <geekosaur> | I think there are megaparsec functions of that variety, but never a list function |
| 17:24:44 | <zero> | maybe i'm getting it mixed with takeWhile |
| 17:26:20 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 268 seconds) |
| 17:27:28 | × | mbuf quits (~Shakthi@122.165.55.71) (Quit: Leaving) |
| 17:29:16 | × | acidjnk quits (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 17:32:26 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 17:33:06 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 17:33:42 | <[exa]> | raehik: you can perfectly run ToJSON Void, if someone marks the void for you as Void -- you just output the "null" or something and don't even think about touching the parameter |
| 17:33:45 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:34:34 | → | acidjnk joins (~acidjnk@p200300d6e7137a55e00ff7705fa34544.dip0.t-ipconnect.de) |
| 17:34:57 | <raehik> | [exa]: really? `ToJSON Void` uses `toJSON = absurd` |
| 17:35:15 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 17:35:19 | <raehik> | ToJSON () outputs a JSON null (or w/e it's called) |
| 17:35:23 | <c_wraith> | I think using absurd is better anyway. anyone who claims to be giving you a Void is lying |
| 17:35:29 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 17:35:31 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 17:36:58 | <raehik> | I felt uneasy even implementing an instance for Void. But I'm seeing some use as an end user to mark something as "obviously failable if you broke an expectation" |
| 17:37:45 | <raehik> | and if I don't add an instance then it will become an orphan and I can't have that weighing on my consciousness so I think I'll add it |
| 17:37:51 | <[exa]> | yeah well, true that anything except `absurd` would be a crime in the standard library |
| 17:38:45 | → | califax joins (~califax@user/califx) |
| 17:38:51 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 17:38:58 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 17:39:07 | <[exa]> | I think there was another reason for that, something that helped the typechecking in more complicated cases, basically by making Void completely unexceptional |
| 17:40:22 | → | rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) |
| 17:40:24 | <raehik> | on the generics side I can generate a type error if I get a void constructor which is nice |
| 17:44:03 | × | worldhelloworld1 quits (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:45:55 | × | OpenSource quits (~Hash@user/OpenSource) (Quit: ZNC - https://znc.in) |
| 17:46:10 | → | OpenSource joins (~kernel@user/OpenSource) |
| 17:51:33 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 17:59:01 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 18:02:07 | → | Inst joins (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) |
| 18:03:09 | × | toby quits (~toby@137.220.84.171) (Quit: Lost terminal) |
| 18:05:29 | × | CiaoSen quits (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 18:19:46 | <dmj`> | may or may not have implemented a JSON parser at the type level. |
| 18:20:10 | <geekosaur> | rip your snaity |
| 18:20:14 | <geekosaur> | *sanity |
| 18:20:23 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 18:25:00 | <dmj`> | geekosaur: https://gist.github.com/dmjio/2e94862988830dfd7e4bd51d29c1a9ba |
| 18:27:04 | <monochrom> | haha achievement unlocked |
| 18:27:14 | <dmj`> | haha :P |
| 18:28:11 | <monochrom> | <Q> Hi why do you use C++ for prime factorization and Haskell for webapps? <A> Because I want to do those at compile time. |
| 18:28:33 | <c_wraith> | that's what template haskell is for! |
| 18:28:55 | <c_wraith> | ... ghci interpretation can't be any slower than template interpretation |
| 18:28:58 | × | bjobjo_ quits (~bjobjo@user/bjobjo) (Quit: leaving) |
| 18:29:59 | <dmj`> | Lots can be done now, can have type safe jq queries as well, or json path, can augment it to have json schema too. |
| 18:31:06 | <dmj`> | c_wraith: I guess its the difference between the yesod approach and the servant approach. |
| 18:31:18 | × | califax quits (~califax@user/califx) (Read error: Connection reset by peer) |
| 18:31:31 | → | califax joins (~califax@user/califx) |
| 18:32:49 | → | bjobjo joins (~bjobjo@user/bjobjo) |
| 18:32:50 | qhong_ | is now known as qhong |
| 18:32:53 | <dmj`> | this is why I want type level Read, but I guess an open type family can do that |
| 18:34:19 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:35:13 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 18:35:27 | → | nate4 joins (~nate@98.45.169.16) |
| 18:36:02 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 18:36:15 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 18:36:20 | → | zebrag joins (~chris@user/zebrag) |
| 18:37:04 | → | wonko joins (~wjc@2a0e:1c80:2::130) |
| 18:37:05 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:37:07 | <monochrom> | Laplace's Web Programming Method: 1. Predict all requests in the future. 2. Hardcode the desired responses as a type-level list. 3. Deploy. |
| 18:38:31 | <c_wraith> | look, the set of possible http request bodies is countable. This should be easy! |
| 18:38:56 | → | Tuplanolla joins (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) |
| 18:40:50 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 18:44:01 | × | acidjnk quits (~acidjnk@p200300d6e7137a55e00ff7705fa34544.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 18:44:34 | <dmj`> | the grammar could be extended to include types so, `type Schema = "{ \"thing\" : @Thing }", which could produce a function to parse / encode, `toJSON :: Thing -> Value; toJSON (Proxy @Schema)", using the type family induction trick. |
| 18:45:32 | <zero> | i just found out about constance synonyms like HasCallStack and Partial. where can i read about constant synonyms? |
| 18:45:41 | <zero> | s/constance/constant |
| 18:46:48 | <zero> | oops, nvm that |
| 18:47:11 | <zero> | s/constant/constraint/g |
| 18:48:10 | × | beteigeuze quits (~Thunderbi@bl11-28-222.dsl.telepac.pt) (Quit: beteigeuze) |
| 18:48:22 | → | beteigeuze joins (~Thunderbi@bl11-28-222.dsl.telepac.pt) |
| 18:48:24 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6) |
| 18:48:31 | <dmj`> | monochrom: oh cmon', responses should be predictable, not necessarily requests. |
| 18:50:04 | <monochrom> | Oh! You're right! |
| 18:50:45 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds) |
| 18:51:59 | <zero> | ok now by searching for the correct term i found ConstraintKinds |
| 18:52:03 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 18:52:06 | <zero> | thank you rubber duckies |
| 18:52:10 | <monochrom> | The Laplace-Feynman Web Programming Method: 1. Read the specification very carefully. 2. Think very hard. 3. Write down the predicted future responses. |
| 18:53:38 | <monochrom> | Don't forget to import Data.Kind for Constraint. |
| 18:54:43 | <dmj`> | it's a schema of the response |
| 18:58:15 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 19:00:40 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 19:01:31 | <random-jellyfish> | is there a tool similar to jq for lisp source code? |
| 19:02:18 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 19:07:32 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 19:08:01 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds) |
| 19:08:45 | <dmj`> | monochrom: don't make me implement a SQL parser now |
| 19:09:19 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 19:09:27 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 19:09:33 | <tdammers> | I think that tool is called "lisp" XD |
| 19:09:35 | <monochrom> | haha |
| 19:10:27 | <monochrom> | I should s/the specification/the initial state of the world/ :) |
| 19:11:02 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 19:11:10 | <monochrom> | Then there is no input to parse! Based on the initial state, you think very carefully to see all correct responses in the future! |
| 19:11:42 | <monochrom> | "Kripke would be proud" :) |
| 19:12:30 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 19:12:42 | → | acidjnk joins (~acidjnk@p200300d6e7137a55e00ff7705fa34544.dip0.t-ipconnect.de) |
| 19:17:24 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 19:17:43 | <dmj`> | I hope so |
| 19:20:07 | → | gmg joins (~user@user/gehmehgeh) |
| 19:26:04 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 19:27:56 | → | notzmv joins (~zmv@user/notzmv) |
| 19:31:18 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 19:32:52 | → | califax joins (~califax@user/califx) |
| 19:41:41 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 19:46:23 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 19:46:28 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:3c0d:13d8:ef0f:4c79) |
| 19:46:33 | → | ozkutuk joins (~ozkutuk@176.240.173.153) |
| 19:47:12 | → | kenran joins (~kenran@200116b82b092600f9ea957e5315559f.dip.versatel-1u1.de) |
| 19:49:19 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
| 19:49:56 | <ozkutuk> | What is the purpose of `other-extensions` field of Cabal? How is it different from `default-extensions`? |
| 19:51:18 | <ozkutuk> | The documentation mentions the listed extensions may be provided via LANGUAGE pragmas, but I couldn't really make sense of this as they can be provided without listing them in the `other-extensions` field regardless |
| 19:52:47 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 19:53:04 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 19:53:22 | <dmj`> | ozkutuk: https://cabal.readthedocs.io/en/stable/cabal-package.html#pkg-field-other-extensions |
| 19:54:57 | <ozkutuk> | dmj`: That is the documentation I mentioned, but from that I couldn't understand why I would want to use that field |
| 19:55:08 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 19:55:30 | <ozkutuk> | For project-wide extensions I tend to use `default-extensions`, and for per-file extensions I use LANGUAGE pragmas |
| 19:55:50 | <ozkutuk> | What use case does `other-extensions` cover? |
| 19:57:21 | <geekosaur> | validation (not using extensions not listed in it), documentation |
| 19:58:04 | <geekosaur> | checking that the specified extensions are supported by the compiler (e.g. not using LinearTypes in ghc 8.10.7) |
| 19:59:00 | <dmj`> | ^ also, "The new 'default-extensions' field lists extensions that are used in all modules in the component, while the 'other-extensions' field lists extensions that are used in some modules, e.g. via the {-# LANGUAGE #-} pragma." |
| 20:00:59 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:01:24 | <ozkutuk> | So if I list some extensions in the `other-extensions` field, would GHC complain if I provide an extension through LANGUAGE pragma that isn't part of the field? |
| 20:02:20 | <geekosaur> | ghc wouldn't. cabal might; I don't know if it actually validates that currently |
| 20:02:35 | → | coot joins (~coot@213.134.176.158) |
| 20:03:52 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed) |
| 20:03:57 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 20:04:14 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 20:04:49 | → | pavonia joins (~user@user/siracusa) |
| 20:06:23 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:06:31 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:06:34 | <ozkutuk> | I think it doesn't, at least that's what I observed from a quick test with one my existing projects |
| 20:06:47 | <ozkutuk> | I guess documentation is still a valid use-case though |
| 20:07:17 | → | remexre joins (~remexre@user/remexre) |
| 20:08:26 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 20:11:27 | × | oo_migue1 quits (~pi@77-252-46-58.static.ip.netia.com.pl) (Ping timeout: 268 seconds) |
| 20:12:11 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 20:13:19 | → | oo_migue1 joins (~pi@77-252-46-249.static.ip.netia.com.pl) |
| 20:16:46 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 20:19:16 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 20:19:47 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 248 seconds) |
| 20:20:55 | → | remexre joins (~remexre@user/remexre) |
| 20:22:32 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:23:14 | → | remexre joins (~remexre@user/remexre) |
| 20:24:26 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:26:05 | → | remexre joins (~remexre@user/remexre) |
| 20:28:41 | × | wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 255 seconds) |
| 20:31:17 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:33:51 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 20:34:23 | → | remexre joins (~remexre@user/remexre) |
| 20:34:29 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:35:23 | → | califax joins (~califax@user/califx) |
| 20:36:09 | → | remexre joins (~remexre@user/remexre) |
| 20:38:03 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 20:40:00 | × | fjmorazan quits (~quassel@user/fjmorazan) () |
| 20:40:18 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:40:49 | → | fjmorazan joins (~quassel@user/fjmorazan) |
| 20:41:56 | → | remexre joins (~remexre@user/remexre) |
| 20:42:06 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 20:42:19 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:3c0d:13d8:ef0f:4c79) (Ping timeout: 268 seconds) |
| 20:42:33 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 20:42:40 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 20:43:28 | → | remexre joins (~remexre@user/remexre) |
| 20:44:51 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 20:44:52 | × | kenran quits (~kenran@200116b82b092600f9ea957e5315559f.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 20:46:32 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed) |
| 20:55:37 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 21:01:42 | → | Pickchea joins (~private@user/pickchea) |
| 21:02:43 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 21:10:17 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 21:12:27 | → | kmein joins (~weechat@user/kmein) |
| 21:12:47 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 21:19:19 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 21:22:27 | × | califax quits (~califax@user/califx) (Ping timeout: 268 seconds) |
| 21:22:39 | → | stef204 joins (~stef204@user/stef204) |
| 21:23:04 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 268 seconds) |
| 21:23:11 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 21:23:30 | → | califax joins (~califax@user/califx) |
| 21:23:41 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 268 seconds) |
| 21:23:41 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 21:24:14 | × | tcard quits (~tcard@114.164.44.242) (Quit: Leaving) |
| 21:24:18 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
| 21:24:18 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds) |
| 21:25:38 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 21:26:09 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 21:26:20 | → | gmg joins (~user@user/gehmehgeh) |
| 21:28:17 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 21:29:18 | → | tcard joins (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) |
| 21:29:23 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 252 seconds) |
| 21:31:02 | × | zebrag quits (~chris@user/zebrag) (Ping timeout: 268 seconds) |
| 21:31:49 | → | zebrag joins (~chris@user/zebrag) |
| 21:31:52 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 21:32:16 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 21:35:31 | × | acidjnk quits (~acidjnk@p200300d6e7137a55e00ff7705fa34544.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 21:36:13 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 21:37:14 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:40:04 | → | stefan-_ joins (~cri@42dots.de) |
| 21:42:54 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 21:47:09 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 21:53:43 | × | beteigeuze quits (~Thunderbi@bl11-28-222.dsl.telepac.pt) (Quit: beteigeuze) |
| 21:53:58 | → | beteigeuze joins (~Thunderbi@bl11-28-222.dsl.telepac.pt) |
| 21:59:40 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 22:03:32 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 22:04:36 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 22:11:53 | → | melonai- joins (~mel@rnrd.eu) |
| 22:12:00 | → | eikke joins (~NicolasT@user/NicolasT) |
| 22:12:11 | × | melonai quits (~mel@rnrd.eu) (Ping timeout: 255 seconds) |
| 22:12:19 | × | [exa] quits (exa@user/exa/x-3587197) (Ping timeout: 268 seconds) |
| 22:12:29 | → | [exa] joins (exa@srv3.blesmrt.net) |
| 22:15:29 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 22:16:29 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 22:16:30 | → | kimjetwav joins (~user@2607:fea8:235e:b600:d0ab:c5dd:dc27:59e5) |
| 22:17:08 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 22:19:08 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:6c1:7ffb:81b:ea40) (Ping timeout: 268 seconds) |
| 22:21:15 | × | leah_ quits (lp0@heathens.club) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 22:21:56 | → | leah_ joins (lp0@heathens.club) |
| 22:25:40 | × | gustik quits (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) (Quit: Leaving) |
| 22:29:38 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 22:29:42 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:32:22 | → | dsrt^ joins (~dsrt@96.70.11.181) |
| 22:33:59 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 22:36:21 | × | Tuplanolla quits (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:36:56 | → | nate4 joins (~nate@98.45.169.16) |
| 22:41:57 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 22:42:34 | × | olle quits (~olle@h-94-254-63-12.NA.cust.bahnhof.se) (Ping timeout: 268 seconds) |
| 22:46:56 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 22:47:20 | motherfs1 | is now known as motherfsck |
| 22:48:08 | <raehik> | I have a function returning a binop (it's a record in a type). Can I do something like "left `opInA a` right"? |
| 22:48:38 | <raehik> | That's not working, but I wonder if there's any similar syntax I don't know about. Else I'll bumble around without infix |
| 22:51:09 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 22:51:21 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 22:55:22 | <geekosaur> | no, the allowable syntax inside of `` is very limited because that kind of bracketing is hard to parse (ask anyone who had to deal with shells that used `` for command substitution, before ksh and POSIX gave us $()) |
| 22:55:48 | <geekosaur> | you can use let to extract it to a local operator though |
| 22:56:19 | <geekosaur> | let (^*^) = opInA a in foo ^*^ bar |
| 22:59:17 | <geekosaur> | (or where, if you prefer) |
| 23:01:50 | → | slaydr joins (~slaydr@75.164.62.23) |
| 23:02:17 | <raehik> | geekosaur: lovely ty |
| 23:02:23 | × | slaydr quits (~slaydr@75.164.62.23) (Client Quit) |
| 23:03:30 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 268 seconds) |
| 23:07:42 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:09:05 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 23:11:47 | × | michalz quits (~michalz@185.246.204.90) (Remote host closed the connection) |
| 23:13:58 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 23:14:05 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:15:30 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 23:16:21 | <shachaf> | Hmm, there's also another trick which is probably not a good idea. |
| 23:16:40 | <shachaf> | Where you define two operators for the left and right `, and then you can put an expression in between them. |
| 23:17:06 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:17:13 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:18:27 | <shachaf> | > 1 & (,,) 3 $ 2 |
| 23:18:29 | <lambdabot> | (3,1,2) |
| 23:18:29 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Read error: Connection reset by peer) |
| 23:19:16 | <shachaf> | You can use some brackety-looking names instead of & and $, if you give them the reasonable precedences. |
| 23:22:05 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds) |
| 23:22:49 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:23:14 | × | kimjetwav quits (~user@2607:fea8:235e:b600:d0ab:c5dd:dc27:59e5) (Ping timeout: 244 seconds) |
| 23:40:17 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:41:06 | → | sagax joins (~sagax_nb@213.138.71.146) |
| 23:50:47 | → | Guest4172 joins (~chenqisu1@183.217.200.212) |
| 23:51:26 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec) |
| 23:51:34 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 23:53:40 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 23:55:57 | × | `2jt quits (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
| 23:56:44 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 23:58:24 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
All times are in UTC on 2022-08-26.