Logs on 2023-06-21 (liberachat/#haskell)
| 00:04:59 | × | gurkenglas quits (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 00:10:12 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds) |
| 00:13:21 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:13:21 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:13:21 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:14:48 | → | diod joins (~diod@bras-base-london140cw-grc-07-142-112-183-155.dsl.bell.ca) |
| 00:14:57 | ← | diod parts (~diod@bras-base-london140cw-grc-07-142-112-183-155.dsl.bell.ca) () |
| 00:22:30 | × | siers quits (~ij@user/ij) (Server closed connection) |
| 00:22:51 | → | siers joins (~ij@user/ij) |
| 00:23:59 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 00:24:08 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:32:00 | × | thegeekinside quits (~thegeekin@189.180.9.45) (Ping timeout: 240 seconds) |
| 00:45:05 | × | dsrt^ quits (~dsrt@c-71-204-38-59.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 00:47:51 | × | catch22 quits (~catch22@2406:3400:418:d7e0:67c:16ff:fe3e:b769) (Quit: Leaving) |
| 00:48:05 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 00:48:35 | × | robertm quits (robertm@lattice.rojoma.com) (Server closed connection) |
| 00:48:54 | → | robertm joins (robertm@lattice.rojoma.com) |
| 01:05:44 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 01:06:57 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 01:08:00 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 01:11:18 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:33 | × | xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 246 seconds) |
| 01:17:25 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:36 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 01:20:20 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 01:39:23 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:347f:c197:daa9:fd59) |
| 01:40:28 | <Athas> | I really could use a Trifunctor... I guess maybe that's a sign I'm doing something dumb. |
| 01:42:20 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds) |
| 01:43:05 | <dsal> | What's that do? |
| 01:43:32 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:347f:c197:daa9:fd59) (Ping timeout: 240 seconds) |
| 01:50:26 | <Axman6> | Trifunctor f where fmap3 :: (a -> b) -> (i -> j) -> (y -> z) -> f a i y -> f b j z? |
| 01:54:07 | <probie> | Can we jam in some covariant/contravariant markers so we don't risk needing 8 different classes? :p |
| 01:54:50 | <Axman6> | jackdk: Does the FunctorOf stuff help with ^ ? |
| 02:01:08 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 02:01:57 | <jackdk> | Axman6: yes, because it just boils down to a functor from (->) to transformations between bifunctors (which could further get boiled down; this is why Iceland_Jack's stuff also wants some idea of "type class backends") |
| 02:02:05 | <jackdk> | s/just// |
| 02:06:33 | <probie> | If I have two functions which are equivalent (up to functional extensionality), but in some situations I know one is preferable over the other because of some rewrite rules that may fire, is it absurd to go `f = pickDef (def1, def2)` with `pickDef (x,_) = x` (with immediate inlining on `f` and late inlining on `pickDef` so it can be detected by rewrite rules)? |
| 02:07:11 | × | rf quits (~rf@2605:59c8:179c:f610:fdc:f9e0:5115:df48) (Ping timeout: 260 seconds) |
| 02:07:58 | → | rf joins (~rf@2605:59c8:179c:f610:2cda:5953:da36:7a10) |
| 02:08:04 | → | benjaminbellick joins (~user@ool-4575ce40.dyn.optonline.net) |
| 02:08:56 | <Axman6> | Sounds like it could be fragile |
| 02:15:27 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 02:15:48 | <Axman6> | Reminds me of some of the work I did on GHC, changing the LLVM backend to using the HDoc type for more efficient file generation - the trick there to make sure things were fast was to include SPECIALISE pragmas for both SDoc and HDoc |
| 02:17:08 | <probie> | It's already relying on other rewrite rules, so we're in a fragile space to begin with. The problem is that I have two classes of functions, let's call them A and B. I can cheaply compose 2 As, or 2 Bs or an A with a B, but not a B with an A |
| 02:18:02 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 252 seconds) |
| 02:20:38 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:20:38 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:20:38 | finn_elija | is now known as FinnElija |
| 02:20:53 | <probie> | There's also a third class C, which can compose with anything without issue, but I think we can just ignore that |
| 02:24:53 | → | gentauro joins (~gentauro@user/gentauro) |
| 02:26:44 | × | phma quits (phma@2001:5b0:211f:2f08:1cac:200:a297:82b8) (Read error: Connection reset by peer) |
| 02:27:10 | → | phma joins (~phma@host-67-44-208-160.hnremote.net) |
| 02:27:14 | → | falafel joins (~falafel@2607:fb91:86c:d890:a3d3:8ef4:9c53:4539) |
| 02:27:30 | → | jargon joins (~jargon@32.sub-174-205-224.myvzw.com) |
| 02:29:56 | × | dtman34 quits (~dtman34@2601:447:d000:93c9:49a3:2ee1:9e07:c081) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 02:35:38 | × | td_ quits (~td@i53870919.versanet.de) (Ping timeout: 252 seconds) |
| 02:36:07 | → | dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 02:37:35 | → | td_ joins (~td@i5387092F.versanet.de) |
| 02:38:46 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:291c:968d:11e3:9e1a) |
| 02:41:34 | → | eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) |
| 02:43:21 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:291c:968d:11e3:9e1a) (Ping timeout: 260 seconds) |
| 02:44:19 | → | xff0x_ joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:45:30 | × | eggplant_ quits (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) (Ping timeout: 240 seconds) |
| 02:46:56 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 02:49:10 | <Axman6> | Hey haskellers... does anyone know what the python name for concat is? relying on my IDE is not working out after using [ ... ].<tab> :') |
| 02:49:24 | <dsal> | join? |
| 02:50:10 | <dsal> | I've managed to avoid python long enough that none of my python scripts work anymore and I don't know how to fix them. |
| 02:50:54 | <Axman6> | yeah I thought that too, but doesn't seem to be a thing |
| 02:51:09 | <dsal> | I think join is backwards in python |
| 02:51:50 | <jackdk> | It's a method on the delimiter, not the container: `':'.join(['a', 'b', 'c'])` |
| 02:52:06 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) |
| 02:52:30 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 02:55:30 | <probie> | Axman6: list(itertools.chain(*someList)) |
| 03:03:36 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 03:05:38 | → | srk- joins (~sorki@user/srk) |
| 03:06:11 | → | srk| joins (~sorki@user/srk) |
| 03:07:32 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 03:08:18 | → | systemhalted joins (~systemhal@103.252.216.58) |
| 03:09:01 | × | srk quits (~sorki@user/srk) (Ping timeout: 260 seconds) |
| 03:09:22 | srk| | is now known as srk |
| 03:09:52 | × | srk- quits (~sorki@user/srk) (Ping timeout: 240 seconds) |
| 03:11:08 | × | systemhalted quits (~systemhal@103.252.216.58) (Remote host closed the connection) |
| 03:13:12 | × | bilegeek quits (~bilegeek@79.sub-174-209-41.myvzw.com) (Quit: Leaving) |
| 03:18:32 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 03:20:52 | × | aforemny quits (~aforemny@i59F516E1.versanet.de) (Ping timeout: 240 seconds) |
| 03:21:49 | → | srk- joins (~sorki@user/srk) |
| 03:21:55 | → | aforemny joins (~aforemny@i59F516E6.versanet.de) |
| 03:22:12 | × | jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 240 seconds) |
| 03:22:56 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds) |
| 03:25:20 | → | cafkafk joins (~cafkafk@fsf/member/cafkafk) |
| 03:25:32 | × | srk quits (~sorki@user/srk) (Ping timeout: 240 seconds) |
| 03:25:32 | srk- | is now known as srk |
| 03:26:57 | × | mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
| 03:27:51 | → | mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001) |
| 03:32:56 | × | rf quits (~rf@2605:59c8:179c:f610:2cda:5953:da36:7a10) (Ping timeout: 260 seconds) |
| 03:34:25 | → | jero98772 joins (~jero98772@2800:484:1d7f:5d36::2) |
| 03:38:46 | × | dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 03:45:33 | <glguy> | ijqq: are you doing your toml dev on a public repo? |
| 03:47:41 | <davean> | Someone is doing toml work? I've been wanting better toml handling. |
| 03:49:16 | <glguy> | davean: I've build building a library https://glguy.net/gitea/glguy/toml - what better handling do you have in mind? |
| 03:49:51 | × | jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Remote host closed the connection) |
| 03:49:51 | <glguy> | I have an old one that wasn't complete and I wanted to go back and redo it to fit the 1.0.0 spec tightly |
| 03:50:16 | <glguy> | and then ijqq happened to be using toml as a project for learning parsing, I think |
| 03:53:40 | <glguy> | My initial goals were to figure out what was needed to actually lex toml with alex and then to get a solid understanding of what toml's actual rules for defining tables are. I don't find it very intuitive and doing the implementation helped there |
| 03:56:24 | <davean> | glguy: so its been a while since I last tried to use it - when I did I ran into several issues. I don't have a list handy ATM. |
| 03:57:55 | <glguy> | anyway, I don't think my library is anything ground breaking, but it's been a fun distraction |
| 04:02:03 | <davean> | I look forward to trying it. |
| 04:02:32 | × | hugo quits (znc@2001:6b0:17:f0a0::17) (Ping timeout: 240 seconds) |
| 04:04:32 | → | hdggxin joins (~hdggxin@122.175.41.19) |
| 04:04:52 | × | ft quits (~ft@p4fc2afc9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 04:06:19 | × | anthezium quits (~ted@97-120-70-39.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 04:08:09 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:12:52 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 04:13:10 | × | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 04:16:03 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 04:16:16 | → | arrowhead joins (~arrowhead@2603-7000-9b3f-6934-a971-d3cb-1596-4118.res6.spectrum.com) |
| 04:16:30 | → | Inst_ joins (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) |
| 04:17:16 | × | Inst quits (~Inst@2601:6c4:4081:2fc0:9dc5:964c:79f7:7570) (Ping timeout: 260 seconds) |
| 04:20:30 | × | arrowhead quits (~arrowhead@2603-7000-9b3f-6934-a971-d3cb-1596-4118.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 04:20:51 | <Axman6> | probie: yeah that's what the internet said too and it makes me very sad needing an import for concat |
| 04:21:24 | <Axman6> | probie: there's also this... hack: sum(xxs,[]) |
| 04:22:46 | → | dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 04:24:30 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 04:30:04 | × | jargon quits (~jargon@32.sub-174-205-224.myvzw.com) (Remote host closed the connection) |
| 04:31:57 | → | trev joins (~trev@user/trev) |
| 04:32:55 | → | anthezium joins (~ted@75.164.14.110) |
| 04:46:55 | × | xerox quits (~edi@user/edi) (Server closed connection) |
| 04:47:03 | → | xerox joins (~edi@user/edi) |
| 04:50:56 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 05:00:35 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 05:03:00 | × | falafel quits (~falafel@2607:fb91:86c:d890:a3d3:8ef4:9c53:4539) (Ping timeout: 240 seconds) |
| 05:07:39 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 05:08:16 | × | ijqq quits (uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:12:32 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection) |
| 05:16:24 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:16:59 | × | theodorc quits (theodorc@cassarossa.samfundet.no) (Server closed connection) |
| 05:17:23 | → | theodorc joins (theodorc@cassarossa.samfundet.no) |
| 05:18:44 | → | cafkafk joins (~cafkafk@fsf/member/cafkafk) |
| 05:19:33 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:19:59 | → | mmhat joins (~mmh@p200300f1c702b0fdee086bfffe095315.dip0.t-ipconnect.de) |
| 05:20:12 | × | chromoblob quits (~user@37.113.180.121) (Ping timeout: 240 seconds) |
| 05:20:16 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:25:08 | × | ddellaco1 quits (~ddellacos@143.244.47.100) (Ping timeout: 240 seconds) |
| 05:34:30 | × | stallmanator quits (~stallmana@user/stallmanator) (Server closed connection) |
| 05:34:52 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 05:34:56 | → | stallmanator joins (~stallmana@user/stallmanator) |
| 05:37:59 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 05:39:46 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 240 seconds) |
| 05:40:55 | → | chromoblob joins (~user@37.113.180.121) |
| 05:42:53 | × | kimiamania6 quits (~6790af62@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
| 05:42:57 | × | mmhat quits (~mmh@p200300f1c702b0fdee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 05:43:40 | → | jonathan joins (~jonathan@c83-252-3-92.bredband.tele2.se) |
| 05:45:53 | × | hyvoid quits (~hyenavoid@222-0-178-69.static.gci.net) (Ping timeout: 265 seconds) |
| 05:46:10 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection) |
| 05:46:40 | → | cafkafk joins (~cafkafk@fsf/member/cafkafk) |
| 05:46:50 | → | hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net) |
| 05:47:06 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 260 seconds) |
| 05:49:41 | × | hyvoid quits (~hyenavoid@222-0-178-69.static.gci.net) (Client Quit) |
| 05:49:55 | → | hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net) |
| 05:51:53 | → | michalz joins (~michalz@185.246.207.217) |
| 05:56:20 | → | acidjnk joins (~acidjnk@p200300d6e7072f41dcd5446dd0ee4e5a.dip0.t-ipconnect.de) |
| 05:59:31 | → | gurkenglas joins (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) |
| 06:07:50 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:1e1c:e5dd:2e78:d325) |
| 06:10:38 | <sm> | hey all. Why would the max residency reported by +RTS -s be quite a bit (eg 3x) smaller than the max Real Mem usage observed with mac activity monitor ? |
| 06:13:32 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds) |
| 06:19:30 | × | pointlessslippe1 quits (~pointless@212.82.82.3) (Ping timeout: 240 seconds) |
| 06:22:40 | × | taupiqueur2 quits (~taupiqueu@2a02-8440-2440-b664-9c72-b816-0500-13c5.rev.sfr.net) (Ping timeout: 265 seconds) |
| 06:23:39 | <int-e> | sm: residency counts live data on the heap *after* each garbage collection |
| 06:25:12 | <int-e> | So it doesn't account for having a from-space, a to-space, and the actual garbage that wasn't copied during (copying) GC. |
| 06:25:56 | <int-e> | So I think a factor of 2-3 is actually expected with the copying garbage collector. |
| 06:26:32 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 06:27:21 | × | shapr quits (~user@2600:1700:c640:3100:c563:6739:a435:1e16) (Ping timeout: 260 seconds) |
| 06:27:54 | <int-e> | "each garbage collection" - I guess that's only for major collections. |
| 06:28:48 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:29:42 | × | tubogram44711 quits (~tubogram@user/tubogram) (Ping timeout: 240 seconds) |
| 06:36:39 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 06:38:17 | <sm> | int-e: ah, thanks! |
| 06:38:56 | <sm> | it would be nice if RTS could report the actual max memory used.. much more convenient than trying to watch it with top |
| 06:39:34 | × | noctux1 quits (hFX4m9Jjsv@user/noctux) (Server closed connection) |
| 06:39:54 | → | noctux1 joins (88FTKVRINY@user/noctux) |
| 06:41:36 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 258 seconds) |
| 06:42:54 | × | yaroot quits (~yaroot@p3136152-ipngn5601souka.saitama.ocn.ne.jp) (Remote host closed the connection) |
| 06:43:41 | → | yaroot joins (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) |
| 06:43:55 | × | bsima quits (~bsima@2604:a880:400:d0::19f1:7001) (Server closed connection) |
| 06:44:14 | → | bsima joins (~bsima@143.198.118.179) |
| 06:45:29 | <jade[m]1> | I wonder whether this would better to represent with a state monad that collects the intermediate states... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/51118610c5107520de0520939442e1f4a89cf628>) |
| 06:49:22 | × | shailangsa quits (~shailangs@host86-186-142-69.range86-186.btcentralplus.com) (Ping timeout: 252 seconds) |
| 06:50:52 | <Axman6> | Hmmm, does a type level for loop make much sense? I want to secify some type parameters as a type level list, and then run some code with with each set of those types... |
| 06:52:46 | × | exeo quits (~exeo@97-119-96-49.omah.qwest.net) (Remote host closed the connection) |
| 06:52:56 | <probie> | a loop as opposed to just a regular map? |
| 06:52:56 | → | tubogram44711 joins (~tubogram@user/tubogram) |
| 06:53:09 | → | exeo joins (~Ozymandia@97-119-96-49.omah.qwest.net) |
| 06:53:23 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 06:55:23 | <jackdk> | Like bringing a typelevel list of `Symbol` down to value level, and then doing something with the result? sure, why not? |
| 06:57:42 | × | tubogram44711 quits (~tubogram@user/tubogram) (Ping timeout: 240 seconds) |
| 06:57:52 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds) |
| 07:01:15 | × | user___ quits (~user@162.255.84.96) (Server closed connection) |
| 07:01:38 | → | user___ joins (~user@162.255.84.96) |
| 07:04:09 | <Axman6> | I can't quite figure out in my head how to do it. Will need to have a play another day. I feel I want something like... forEachOf @(size,showDoThing) @[(1,True),(4,False)] (someThing :: Foo size doSomething => m something) |
| 07:04:52 | <Axman6> | uh, showDoThing = doSomething |
| 07:05:09 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 07:05:30 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 252 seconds) |
| 07:05:39 | <Axman6> | My specific usecase is working with Clash, and I'd love to be able to write testbenches where you can run them with a bunch of different type level params |
| 07:06:21 | → | fendor joins (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) |
| 07:08:46 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 07:09:43 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 07:10:29 | × | exeo quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Quit: Leaving) |
| 07:13:25 | × | troydm quits (~troydm@user/troydm) (Ping timeout: 240 seconds) |
| 07:13:52 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds) |
| 07:16:11 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 07:20:05 | → | ripspin joins (~chatzilla@1.145.245.25) |
| 07:20:44 | → | sap joins (~sap@169.84-49-96.nextgentel.com) |
| 07:20:52 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 07:21:28 | × | sap quits (~sap@169.84-49-96.nextgentel.com) (Client Quit) |
| 07:21:40 | → | sap joins (~sap@169.84-49-96.nextgentel.com) |
| 07:24:19 | × | sap quits (~sap@169.84-49-96.nextgentel.com) (Read error: Connection reset by peer) |
| 07:25:00 | <jackdk> | Axman6: try a HList of singletons |
| 07:29:48 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:30:53 | <Lears> | That or a helper class like `class For (c :: k -> Constraint) (ts :: [k]) where forTypes :: (forall proxy a. c a => proxy a -> r) -> [r]`. |
| 07:32:33 | → | Co0kie joins (~Jura@145.224.73.17) |
| 07:33:33 | → | sap joins (~sap@169.84-49-96.nextgentel.com) |
| 07:35:14 | → | troydm joins (~troydm@user/troydm) |
| 07:35:32 | × | sap quits (~sap@169.84-49-96.nextgentel.com) (Read error: Connection reset by peer) |
| 07:43:27 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:44:01 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 07:44:07 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 07:47:16 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:49:13 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 256 seconds) |
| 07:50:32 | × | mxs quits (~mxs@user/mxs) (Ping timeout: 240 seconds) |
| 07:51:08 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 07:51:33 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 07:53:10 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:53:13 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 07:57:19 | × | ggVGc quits (~ggVGc@a.lowtech.earth) (Server closed connection) |
| 07:57:41 | → | ggVGc joins (~ggVGc@a.lowtech.earth) |
| 07:59:58 | → | Pickchea joins (~private@user/pickchea) |
| 08:01:54 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 08:06:12 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds) |
| 08:10:19 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Server closed connection) |
| 08:10:42 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 08:14:54 | × | Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Server closed connection) |
| 08:15:11 | → | Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
| 08:17:35 | → | pointlessslippe1 joins (~pointless@212.82.82.3) |
| 08:18:25 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 08:20:27 | → | cheater joins (~Username@user/cheater) |
| 08:21:44 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 08:23:50 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 08:28:11 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:35:28 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) (Remote host closed the connection) |
| 08:35:32 | × | Co0kie quits (~Jura@145.224.73.17) (Ping timeout: 240 seconds) |
| 08:39:27 | → | califax joins (~califax@user/califx) |
| 08:44:45 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 08:44:59 | × | Fangs quits (sid141280@id-141280.hampstead.irccloud.com) (Server closed connection) |
| 08:45:14 | → | Fangs joins (sid141280@id-141280.hampstead.irccloud.com) |
| 08:46:07 | → | danse-nr3_ joins (~francesco@151.46.135.20) |
| 08:50:54 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 08:53:51 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:59:00 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 08:59:57 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 09:02:16 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 09:04:47 | → | oneeyedalien_ joins (~oneeyedal@user/oneeyedalien) |
| 09:05:41 | → | Midjak joins (~Midjak@82.66.147.146) |
| 09:06:30 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Ping timeout: 252 seconds) |
| 09:07:23 | × | Inst[m] quits (~instrmatr@2001:470:69fc:105::1:903e) (Remote host closed the connection) |
| 09:08:06 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 09:09:46 | × | phma quits (~phma@host-67-44-208-160.hnremote.net) (Read error: Connection reset by peer) |
| 09:10:11 | → | phma joins (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) |
| 09:12:29 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 09:12:52 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
| 09:13:01 | × | chromoblob quits (~user@37.113.180.121) (Ping timeout: 258 seconds) |
| 09:15:00 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 09:15:00 | Lord_of_Life_ | is now known as Lord_of_Life |
| 09:17:34 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:8a6c:e7c0:d456:af5) |
| 09:19:39 | × | Boarders___ quits (sid425905@id-425905.lymington.irccloud.com) (Server closed connection) |
| 09:20:00 | → | Boarders___ joins (sid425905@id-425905.lymington.irccloud.com) |
| 09:22:10 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 09:24:31 | → | cfricke_ joins (~cfricke@user/cfricke) |
| 09:26:25 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 09:26:25 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds) |
| 09:28:08 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 09:28:35 | → | ddellaco1 joins (~ddellacos@146.70.168.10) |
| 09:35:58 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) |
| 09:36:12 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 09:36:19 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds) |
| 09:38:00 | × | yaroot quits (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Ping timeout: 240 seconds) |
| 09:40:26 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) (Ping timeout: 260 seconds) |
| 09:40:36 | × | gurkenglas quits (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 09:41:58 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 09:42:45 | → | yaroot joins (~yaroot@p3438127-ipngn9401souka.saitama.ocn.ne.jp) |
| 09:44:00 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 09:44:56 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 09:47:01 | nefercheprure | is now known as TMA |
| 09:49:12 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
| 09:50:52 | × | hyvoid quits (~hyenavoid@222-0-178-69.static.gci.net) (Ping timeout: 252 seconds) |
| 09:51:47 | → | hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net) |
| 09:52:28 | → | gurkenglas joins (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) |
| 09:56:59 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 10:01:26 | → | danse-nr3__ joins (~francesco@151.44.193.186) |
| 10:01:27 | × | danse-nr3_ quits (~francesco@151.46.135.20) (Read error: Connection reset by peer) |
| 10:02:45 | <kuribas> | ugh, cassava is failing because there is no trailing newline in the csv file. |
| 10:02:59 | × | carter quits (sid14827@id-14827.helmsley.irccloud.com) (Server closed connection) |
| 10:03:07 | <Hecate> | kuribas: that sucks but also CSV is a mine field of oddities :D |
| 10:03:24 | <kuribas> | that's why I'd expect a CSV parser to be very lenient. |
| 10:03:28 | → | carter joins (sid14827@id-14827.helmsley.irccloud.com) |
| 10:04:16 | × | texasmynsted quits (~username@99.96.221.112) (Server closed connection) |
| 10:04:39 | → | texasmynsted joins (~username@99.96.221.112) |
| 10:06:27 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:06:38 | × | xff0x_ quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
| 10:07:24 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 265 seconds) |
| 10:07:50 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 10:11:16 | → | ceoarrrrrrrrrrrr joins (~ceoarrrrr@c-71-204-38-59.hsd1.ga.comcast.net) |
| 10:15:59 | × | truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Server closed connection) |
| 10:16:08 | → | truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com) |
| 10:20:19 | × | Guest2244 quits (~m-mzmz6l@vmi833741.contaboserver.net) (Server closed connection) |
| 10:20:36 | → | root joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 10:21:00 | root | is now known as Guest5986 |
| 10:22:03 | × | phma quits (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) (Read error: Connection reset by peer) |
| 10:22:27 | → | phma joins (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) |
| 10:22:51 | <Guillaum[m]> | I had success with -fbreak-on-exceptions + :trace to locate exception source in GHCI only for small functions. Trying it on a complexe task (including threads) does not work (i.e. it never breaks on the exception, which are then caught by the local handler). Is this a known limitation (I cannot find anything on the issue tracker), or do I miss something obvious? |
| 10:24:21 | × | smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:29:07 | → | tom__ joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) |
| 10:32:52 | × | tom_ quits (~tom@2a00:23c8:970c:4801:c75:579a:9201:4dd9) (Ping timeout: 240 seconds) |
| 10:37:31 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 10:38:20 | → | __monty__ joins (~toonn@user/toonn) |
| 10:42:16 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 10:46:08 | × | DigitalKiwi quits (~kiwi@2604:a880:400:d0::1ca0:e001) (Quit: quite.) |
| 10:49:36 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:fdcc:20d2:cb27:c10f) |
| 10:54:00 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:fdcc:20d2:cb27:c10f) (Ping timeout: 240 seconds) |
| 10:55:20 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 10:55:37 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 10:57:14 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 11:00:56 | × | ddellaco1 quits (~ddellacos@146.70.168.10) (Ping timeout: 260 seconds) |
| 11:04:32 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds) |
| 11:07:15 | × | Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer) |
| 11:07:33 | → | Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com) |
| 11:07:36 | → | xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net) |
| 11:08:09 | → | cafkafk joins (~cafkafk@fsf/member/cafkafk) |
| 11:12:58 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 11:13:58 | → | gmg_ joins (~user@user/gehmehgeh) |
| 11:14:56 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 11:15:35 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 11:17:40 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 11:18:42 | × | Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer) |
| 11:21:10 | × | Helle quits (~helle@user/Helle) (Server closed connection) |
| 11:21:17 | → | Helle joins (~helle@user/Helle) |
| 11:21:31 | → | gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) |
| 11:22:32 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 11:27:29 | → | Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com) |
| 11:29:29 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 258 seconds) |
| 11:29:39 | × | kawzeg quits (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (Server closed connection) |
| 11:29:58 | → | kawzeg joins (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) |
| 11:30:31 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 11:32:00 | × | Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer) |
| 11:32:28 | → | Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com) |
| 11:33:27 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 11:37:10 | → | SoF joins (~skius@user/skius) |
| 11:37:36 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 11:37:52 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds) |
| 11:42:07 | → | taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) |
| 11:42:55 | × | ncf quits (~n@monade.li) (Server closed connection) |
| 11:43:14 | → | ncf joins (~n@monade.li) |
| 11:43:43 | → | APic joins (apic@185.203.114.119) |
| 11:46:45 | × | taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 246 seconds) |
| 11:49:05 | <merijn> | I have no idea how that's implemented |
| 11:49:40 | <merijn> | Guillaum[m]: fyi, if you build with profiling and run with the -xc RTS option you will get tracebacks for every thrown (annoyingly also caught ones, but oh well) on stderr |
| 11:51:15 | <Guillaum[m]> | merijn: rebuilding in profiling is 20 minutes, when starting the repl and loading all module is 2 minutes here ;) But yes, that's the other option I have. Thank you. |
| 11:52:14 | × | Inst_ quits (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 11:52:15 | <merijn> | Guillaum[m]: on the bright side, that's mostly the first time (because it needs to build and install the profiled versions of your dependencies) |
| 11:52:38 | <danse-nr3__> | kuribas, there seems to already be an issue about that https://github.com/haskell-hvr/cassava/issues/121, you could chime in to give it more weight |
| 11:53:09 | <kuribas> | danse-nr3__: thanks, I will! |
| 11:53:17 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d523:1039:6a67:e484) |
| 11:53:22 | → | Inst joins (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) |
| 11:53:24 | × | APic quits (apic@185.203.114.119) (Ping timeout: 246 seconds) |
| 11:53:28 | <merijn> | Guillaum[m]: After that initial build it should take meaningfully longer to build profiling than non-profiling (unless your regular rebuilds also take 20 minutes, in which case it's probably time to fix that instead ;)) |
| 11:53:57 | <kuribas> | danse-nr3__: ah no, that one is about an extra trailing newline. My issue is that there is no trailing newline in the end of the file. |
| 11:54:21 | <merijn> | kuribas: cassava also breaks on CSVs exported by MS Office due to the utf8 BOM |
| 11:54:30 | <merijn> | cassava is not very robust, imo |
| 11:54:33 | <danse-nr3__> | kuribas, oh, sorry |
| 11:54:42 | × | gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Remote host closed the connection) |
| 11:55:13 | <danse-nr3__> | merijn, do you know of any better alternative? |
| 11:55:54 | <kuribas> | merijn: indeed |
| 11:56:32 | <merijn> | danse-nr3__: Crying :) |
| 11:56:36 | <merijn> | + whiskey |
| 11:56:41 | <danse-nr3__> | XD |
| 11:56:41 | <dminuoso> | I should write |
| 11:56:49 | <dminuoso> | A flatparse based csv parser. |
| 11:57:02 | <merijn> | danse-nr3__: tbh, my better alternative would be "not using CSV files" :p |
| 11:57:13 | <danse-nr3__> | gosh quite a price to pay |
| 11:57:24 | <dminuoso> | It's a negative price. |
| 11:57:30 | <dminuoso> | You get paid in warm feelings. |
| 11:57:36 | <merijn> | I didn't say it was a practical alternative :P |
| 11:57:40 | <Guillaum[m]> | merijn: 20 minutes is the build of the 1k+ modules in 200 packages we have. I'm not including the hackage dependencies ;) There may be a bit of possible improvment in the build (such as removing edges), but that's unfortunately slow. "no profiling" build takes 7 minutes. |
| 11:57:51 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d523:1039:6a67:e484) (Ping timeout: 258 seconds) |
| 11:57:59 | <dminuoso> | danse-nr3__: But seriously, just handroll a parser in whatever parsing library you fancy. |
| 11:57:59 | <merijn> | Wait |
| 11:58:08 | <merijn> | Why is the profiling build over 2x slower?? |
| 11:58:08 | <probie> | One doesn't pick the format of data they're given |
| 11:58:14 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 11:58:14 | <merijn> | That smells like a bug |
| 11:58:15 | <dminuoso> | CSV is not hard, especially if you dont care about all kinds of CSV varieties. |
| 11:58:35 | → | bontaq joins (~user@ool-45779b84.dyn.optonline.net) |
| 11:58:47 | <kuribas> | merijn: so ... excell? |
| 11:59:31 | <Guillaum[m]> | merijn: I'm interested here, because profiling build had always been slower from my point of view since I'm using haskell, but maybe I'm doing something stupid. Note that it was 30x time slower since recently when I removed `-fexternal-interpreter` and instead moved to "double build" (i.e. static + dynamic) for profiling and template haskell. |
| 11:59:44 | <danse-nr3__> | yea dminuoso but if we do not contribute to what already exists it will hardly ever get better ... :P |
| 11:59:45 | <merijn> | Guillaum[m]: I mean, 1k modules in 200 packages that somehow always evolve in lockstep sounds like "someone fucked up the architecture design" :) |
| 11:59:53 | <dminuoso> | danse-nr3__: cassava is beyond repair. |
| 11:59:59 | <danse-nr3__> | XD |
| 11:59:59 | × | tolt quits (~weechat-h@li219-154.members.linode.com) (Server closed connection) |
| 12:00:28 | → | tolt joins (~weechat-h@li219-154.members.linode.com) |
| 12:00:32 | <merijn> | Guillaum[m]: At any rate, I don't think profiling builds should be meaninfully slower than regular ones, so that might be worth asking about in #ghc whether you should make a ghc issue |
| 12:01:14 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 12:02:23 | <dminuoso> | danse-nr3__: No but seriously, cassava isnt really bad. It's just a very simplistic and minimalistic library. |
| 12:02:55 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 265 seconds) |
| 12:02:58 | <dminuoso> | It comes at the price of having almost entirely useless errors. |
| 12:03:05 | <kuribas> | dminuoso: no, it's bad. It has some weird error handling behaviour with empty cells. |
| 12:03:35 | <dminuoso> | kuribas: Right, because its a very simple and naive attoparsec parser. |
| 12:03:41 | <Guillaum[m]> | merijn: that's a 10+ years old codebase which survived a change from make + cabal to stack to bazel to nix, so maybe some stuff are indeed poorly architectured. However, except from trying to change the way packages are split in order to reduce the amount of rebuild after a change in some "hot" files, I have no idea about what a good architecture can be. Do you have a reference for that? |
| 12:03:41 | <Guillaum[m]> | I've already reported the performances problem with -fexternal-interpreter years ago, but definitiely, I could maybe open a ticket and do some more robust benchmarks. |
| 12:03:50 | → | mxs joins (~mxs@user/mxs) |
| 12:03:51 | <kuribas> | dminuoso: and minimalistic for me would mean "just load CSV" into a nested list strings. |
| 12:04:48 | <danse-nr3__> | kuribas, that would not provide the type safety one expects? |
| 12:04:52 | <dminuoso> | kuribas: I think part of the problem is something as mundane as "here turn this string an int/float/whatever" is somewhat annoying in Haskell. |
| 12:05:09 | <dminuoso> | So a list of strings wouldnt be comfortable to use |
| 12:05:26 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 12:06:03 | <kuribas> | dminuoso: not nearly as annoying as the ad-hoc conversion in python or clojure. |
| 12:06:30 | <kuribas> | But yeah, I'd want a parsing step after getting the strings. |
| 12:06:33 | <dminuoso> | Dunno, being able to say `int("1")` is quite comfortable. |
| 12:06:58 | <dminuoso> | It's the reality of purity that an equivalent isnt as much fun. |
| 12:07:06 | <dminuoso> | The correct equivalent would be readIO |
| 12:07:20 | <dminuoso> | i.e. `readIO :: Read a => String -> IO a` |
| 12:07:23 | <kuribas> | dminuoso: what about int(3.2)? |
| 12:07:29 | <merijn> | Guillaum[m]: I realise that with giant legacy code getting things "optimal" can be hard (or not feasible to make time for), but the main thing is minimising the dependencies. In principle packages should only rebuild if one of their dependency packages changes, which should only happen if they recompile due to code changes |
| 12:07:53 | <dminuoso> | kuribas: If it useful to 90% of users, its useful to all of them. |
| 12:08:03 | <danse-nr3__> | kuribas, maybe you can define your type as being made of strings and parse them afterwards |
| 12:08:04 | <kuribas> | oh, and: int("3.2") => ValueError: invalid literal for int() with base 10: '3.2' |
| 12:08:07 | <merijn> | Guillaum[m]: One thing I can imagine is that, if you have quite some hackage dependencies, then new hackage releases can cause new build plans causing your core libraries to recompile and cascading through the entire thing |
| 12:08:22 | <dminuoso> | kuribas: They are reasonable behaviors. |
| 12:08:30 | <kuribas> | dminuoso: it's incosistent. |
| 12:08:45 | <dminuoso> | If the goal is to do just "one singular type of conversion", Im not so sure. |
| 12:08:50 | × | Xe quits (~cadey@tailscale/xe) (Server closed connection) |
| 12:09:01 | <merijn> | Guillaum[m]: if that's the case, you could try generating some freeze files for hackage dependencies so churn on hackage doesn't continually invalidate your builds |
| 12:09:03 | <kuribas> | int(float("3.2")) => 3 |
| 12:09:07 | <dminuoso> | I mean I would be pissed if `int("3.2")` produced 3. |
| 12:09:13 | <dminuoso> | That'd be PHP level of insanity. |
| 12:09:15 | → | Xe joins (~cadey@tailscale/xe) |
| 12:09:33 | <kuribas> | but int(3.2) can produce 3 ? |
| 12:09:39 | <merijn> | Guillaum[m]: if that's not the issue, then the churn is from within your own packages and then the question would be can you figure out/eliminate why those are rebuilding |
| 12:09:42 | <dminuoso> | Sure because type(3.2) == <type 'float'> |
| 12:09:49 | <danse-nr3__> | oh kuribas there is also https://hackage.haskell.org/package/cassava-0.5.3.0/docs/Data-Csv.html#g:6 |
| 12:10:01 | <dminuoso> | Of course it begs the question of what int(<float>) even does |
| 12:10:05 | <merijn> | Guillaum[m]: because in principle cabal is pretty decent at making no-op builds fast |
| 12:10:19 | <kuribas> | dminuoso: in other words, if you use `int`, it will silently truncate floats. |
| 12:10:19 | <Guillaum[m]> | merijn: our hackage dependencies are strictly pinned with nix, so usually that's not the problem. But actually, you are right, some packages deep in the dependency tree could be split between a package for type and a package for some operations in order to avoid recompiling too much. |
| 12:10:30 | <kuribas> | dminuoso: in csv, or other formats. |
| 12:10:56 | <dminuoso> | kuribas: Under the assumption that you are being handed a list of strings, int() wouldnt do magic truncation. |
| 12:11:17 | <merijn> | Guillaum[m]: yeah if you have a types module that everything depends on (and is relatively stable) and functionality that changes a lot, minimising the packages/modules that import/touch the functionality can save you a lot of time |
| 12:11:17 | <kuribas> | dminuoso: that assumption doesn't hold in python. |
| 12:11:18 | <dminuoso> | It would just fail if the csv contained a fractional number |
| 12:11:44 | × | gmg_ quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 12:11:55 | <kuribas> | oh well, for csv it does: "Each row read from the csv file is returned as a list of strings. " |
| 12:12:02 | <Guillaum[m]> | merijn: thank you for the discussion, by the way a cleaning of the dependency tree is something I've scheduled for our next "consolidation week" (one week where we are not working on feature, but on "general quality" of the codebase). |
| 12:13:08 | <kuribas> | dminuoso: IMO it would be more consistent if int is strict, and you use round or floor for truncating. |
| 12:13:32 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 12:13:51 | <dminuoso> | I dont like the name `round` honestly, because it seems to suggest there is one singular authoritative method of rounding |
| 12:13:54 | <dminuoso> | But sure. |
| 12:15:02 | <dminuoso> | Unless we had `round :: (RealFrac a, Integral b) => RoundingStrategy -> a -> b` |
| 12:15:30 | → | gmg_ joins (~user@user/gehmehgeh) |
| 12:16:13 | <dminuoso> | Ill just make the blind assumption that `int(<float>)` in Python will just floor. *shrugs* |
| 12:16:21 | <kuribas> | in p ython: "if two multiples are equally close, rounding is done toward the even choice" |
| 12:16:41 | <kuribas> | I think this is the most common? At least python documented it :) |
| 12:16:51 | <dminuoso> | Most common really depends on who you ask. |
| 12:17:05 | <dminuoso> | In finance the bankers method is most commonly used. |
| 12:17:17 | <dminuoso> | That doesnt make it useful as an implicit default though. |
| 12:18:18 | <dminuoso> | Also its the default behavior in IEEE 754 |
| 12:18:20 | <merijn> | Guillaum[m]: I managed to cut down my compile times by about half, simply from flatting/reducing dependencies on central core modules in the past |
| 12:18:56 | <dminuoso> | Perhaps thats actually another argument why int(<float>) isnt too bad, if it follows IEEE 754. |
| 12:21:55 | × | AndreasK quits (sid320732@id-320732.uxbridge.irccloud.com) (Server closed connection) |
| 12:22:07 | → | AndreasK joins (sid320732@id-320732.uxbridge.irccloud.com) |
| 12:24:21 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 260 seconds) |
| 12:27:59 | <Guillaum[m]> | merijn: I do have a module which takes, alone, 3 minutes to compile (lot and lot of deriving instances) and it depends on everything. But actually it only depends on types which are rarelly changing, so this is one of the first step. |
| 12:28:12 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:28:33 | <merijn> | Guillaum[m]: Yeah, that sounds like an easy win |
| 12:28:44 | → | APic joins (apic@apic.name) |
| 12:28:45 | × | danse-nr3__ quits (~francesco@151.44.193.186) (Ping timeout: 240 seconds) |
| 12:30:38 | → | danse-nr3__ joins (~francesco@151.44.193.186) |
| 12:30:59 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 12:33:26 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 12:35:32 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds) |
| 12:36:22 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 12:42:50 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 12:43:15 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 12:48:00 | × | danse-nr3__ quits (~francesco@151.44.193.186) (Ping timeout: 246 seconds) |
| 12:49:16 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 12:50:18 | → | gensyst joins (~gensyst@user/gensyst) |
| 12:51:26 | <gensyst> | How could my tasty test be failing suddenly at one point? It just silently fails and aborts and reports FAIL. putStrLns reveal the point at which it aborts and FAILs. and onException doesn't catch any exception at all! |
| 12:51:33 | <gensyst> | what could be going on? |
| 12:52:41 | <gensyst> | the funny part is, if I run with --quickcheck-tests=1 over and over again, each 1 test PASSes fine. |
| 12:52:55 | <gensyst> | but when I run with --quickcheck-tests=2 then the second test always FAILs (as I described) |
| 12:53:20 | <gensyst> | I can't think of anything that would cause the 2nd test to be dependent on the 1st (and even if they did, i can't think of anything that would make onException not trigger at all) |
| 12:53:45 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection) |
| 12:56:20 | → | danse-nr3__ joins (~francesco@151.44.193.186) |
| 12:59:01 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 12:59:34 | <gensyst> | I can't think of anything that would cause the 2nd test to be dependent on the 1st (and even if they did, i can't think of anything that would make onException not trigger at all) |
| 12:59:40 | → | cafkafk joins (~cafkafk@fsf/member/cafkafk) |
| 12:59:41 | <gensyst> | my bad, sorry for repeat |
| 13:00:01 | <gensyst> | (and never mind, think i solved it already...) |
| 13:00:30 | <ryantrinkle> | monochrom, c_wraith: this is my code: |
| 13:00:30 | <ryantrinkle> | something :: (forall x. Typeable x => Proxy x -> k) -> k |
| 13:00:30 | <ryantrinkle> | something f = f Proxy |
| 13:00:46 | <ryantrinkle> | No instance for (Typeable x0) arising from a use of ‘f’ |
| 13:01:05 | <ryantrinkle> | because there isn't actually any concrete type that's getting instantiated there |
| 13:01:37 | <ryantrinkle> | so what i was hoping to do was to effectively wish a fresh Typeable instance into existence at runtime |
| 13:03:01 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 13:06:54 | → | oo_miguel joins (~Thunderbi@78.11.179.96) |
| 13:08:00 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds) |
| 13:08:42 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 13:09:54 | <gensyst> | ryantrinkle, is obsidian still all-in on haskell? |
| 13:10:11 | <gensyst> | (and nix/nixos/postgres etc.) |
| 13:10:32 | <gensyst> | (and of course reflex/obelisk) |
| 13:11:24 | <dminuoso> | ryantrinkle: I think you must bury the dictionary in a GADT. |
| 13:11:36 | <dminuoso> | Like `constraints` does |
| 13:11:57 | <Lears> | ryantrinkle: Is `something \p -> ...` just a trick to introduce a fresh type `x` with `Typeable`? If so, the implementation can just instantiate `x` as `()`, or anything else; it actually doesn't matter. |
| 13:12:13 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 13:12:23 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 13:12:44 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 13:13:39 | × | edm quits (sid147314@id-147314.hampstead.irccloud.com) (Server closed connection) |
| 13:13:55 | × | snek quits (sid280155@id-280155.lymington.irccloud.com) (Server closed connection) |
| 13:14:10 | <Lears> | Oh... maybe precisely because it's Typeable, it does matter. Hmm, ignore me for now. |
| 13:14:29 | → | edm joins (sid147314@2a03:5180:f:4::2:3f72) |
| 13:14:31 | → | snek joins (sid280155@2a03:5180:f:2::4:465b) |
| 13:16:21 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 13:18:22 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 13:20:20 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 13:25:15 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 256 seconds) |
| 13:27:18 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:31:32 | × | acidjnk quits (~acidjnk@p200300d6e7072f41dcd5446dd0ee4e5a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 13:31:52 | × | mustafa__ quits (sid502723@id-502723.hampstead.irccloud.com) () |
| 13:32:31 | → | mustafa_ joins (sid502723@rockylinux/releng/mustafa) |
| 13:34:19 | mustafa_ | is now known as mustafa |
| 13:35:22 | → | michals joins (~user@cfeld-pcx40162.desy.de) |
| 13:35:30 | × | kmein quits (~weechat@user/kmein) (Server closed connection) |
| 13:36:16 | → | kmein joins (~weechat@user/kmein) |
| 13:37:24 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 13:41:44 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 13:41:44 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 13:41:44 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:42:31 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 260 seconds) |
| 13:46:47 | × | cfricke_ quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds) |
| 13:49:45 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 13:52:45 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 13:53:36 | × | danse-nr3__ quits (~francesco@151.44.193.186) (Remote host closed the connection) |
| 13:54:00 | → | danse-nr3__ joins (~francesco@151.44.193.186) |
| 13:54:33 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 13:56:32 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
| 13:57:26 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 13:57:50 | → | Inst_ joins (~Inst@2601:6c4:4081:2fc0:61ec:e42a:c603:c093) |
| 13:58:53 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 13:58:53 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 13:58:53 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:58:59 | × | Inst quits (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 258 seconds) |
| 13:59:00 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds) |
| 14:01:30 | → | danse-nr3_ joins (~francesco@151.46.172.229) |
| 14:01:56 | × | danse-nr3__ quits (~francesco@151.44.193.186) (Read error: Connection reset by peer) |
| 14:02:43 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) |
| 14:07:11 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 256 seconds) |
| 14:07:18 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 14:07:41 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 14:08:09 | <Lears> | ryantrinkle: If you can suffer the monadic interface: https://gist.github.com/LSLeary/f1268e8b4fca2c7747baf4536127d38c |
| 14:08:38 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 14:11:24 | → | taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) |
| 14:14:58 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:1e1c:e5dd:2e78:d325) (Quit: WeeChat 2.8) |
| 14:15:32 | × | taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds) |
| 14:21:37 | <c_wraith> | Lears: that seems like the type of withFresh could tell the caller more. In particular, the caller should know that x will always be a Z with some number of S constructors wrapping it, but the type isn't communicating that. |
| 14:23:31 | <Lears> | The `Z` and `S`s are implementation details, only exposed by the Typeable dictionary because it can't be helped. I don't see why they should show up in the interface. |
| 14:24:48 | <c_wraith> | I suppose that makes sense if the only thing you want the Typeable dictionary to communicate is that it's not the same as any other invocation within the scope of some runFresh |
| 14:24:52 | → | Phytolizer joins (~Phytolize@139.138.137.75) |
| 14:24:55 | ← | Phytolizer parts (~Phytolize@139.138.137.75) () |
| 14:25:19 | <Lears> | Yeah, that's the intention. |
| 14:25:21 | <c_wraith> | But that's not what people usually expect when they see Typeable. They expect that they're supposed to branch on the type. |
| 14:25:32 | <c_wraith> | So the use of Typeable is sort of misleading |
| 14:26:16 | <Lears> | Can't you still branch on this? I haven't thought too much about it... |
| 14:27:41 | <c_wraith> | you can only branch on equality with other Typeable dictionaries if you don't know about S and Z |
| 14:28:46 | → | acidjnk joins (~acidjnk@p200300d6e7072f41682e2ef333aef3bc.dip0.t-ipconnect.de) |
| 14:31:56 | × | dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 14:40:30 | × | Arsen quits (arsen@gentoo/developer/managarm.dev.Arsen) (Server closed connection) |
| 14:40:52 | → | Arsen joins (arsen@gentoo/developer/managarm.dev.Arsen) |
| 14:40:54 | × | natto quits (~natto@140.238.225.67) (Server closed connection) |
| 14:43:00 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
| 14:43:15 | → | natto joins (~natto@140.238.225.67) |
| 14:45:03 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 14:45:57 | → | taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) |
| 14:50:12 | × | taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds) |
| 14:50:43 | → | dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 14:58:30 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 15:12:07 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 15:12:48 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 15:15:00 | → | ai5lk joins (~ai5lk@209-188-121-236.taosnet.com) |
| 15:15:31 | ai5lk | is now known as shef |
| 15:16:35 | → | exeo__ joins (~Ozymandia@97-119-96-49.omah.qwest.net) |
| 15:18:20 | × | exeo__ quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Client Quit) |
| 15:19:11 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 15:20:46 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 15:21:46 | → | taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) |
| 15:22:06 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:23:04 | → | kupi_ joins (uid212005@2a03:5180:f:4::3:3c25) |
| 15:23:48 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 15:24:54 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 15:25:52 | × | taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds) |
| 15:26:41 | × | michals quits (~user@cfeld-pcx40162.desy.de) (Quit: ERC (IRC client for Emacs 26.3)) |
| 15:31:22 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 258 seconds) |
| 15:34:21 | → | barcisz joins (~barcisz@public-gprs530047.centertel.pl) |
| 15:37:00 | × | ByronJohnson quits (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds) |
| 15:38:24 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 15:39:00 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 15:39:18 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 15:40:17 | × | EvanR quits (~EvanR@user/evanr) (Read error: Connection reset by peer) |
| 15:40:42 | → | EvanR joins (~EvanR@user/evanr) |
| 15:42:06 | × | gurkenglas quits (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) (Read error: Connection reset by peer) |
| 15:42:50 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds) |
| 15:43:15 | <carbolymer> | why `print z` hangs here? https://bpa.st/RIC7E |
| 15:43:51 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 260 seconds) |
| 15:45:48 | <carbolymer> | is it trying to compute whole left part of the tree and then do the z? |
| 15:48:22 | × | barcisz quits (~barcisz@public-gprs530047.centertel.pl) (Quit: Connection closed) |
| 15:49:39 | × | zups quits (~meow@2a01:4f9:c010:6036::1) (Server closed connection) |
| 15:49:52 | <EvanR> | right, what should it print? |
| 15:50:25 | → | zups joins (~meow@2a01:4f9:c010:6036::1) |
| 15:50:26 | <ryantrinkle> | gensyst: yep pretty much |
| 15:50:51 | <ryantrinkle> | we use Haskell, Nix, and Postgres for pretty much everything |
| 15:50:59 | <ryantrinkle> | we do write embedded software in Rust now |
| 15:52:14 | <ryantrinkle> | Lears: oh yeah that is an interesting approach |
| 15:52:24 | <ryantrinkle> | I could probably keep an IORef Nat somewhere and then lift that |
| 15:52:25 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 15:52:29 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 15:53:16 | <ryantrinkle> | gensyst: i'm also finally hitting the talk circuit again lol https://munihac.de/2023.html#speakers |
| 15:55:44 | → | mauke joins (~mauke@user/mauke) |
| 15:56:55 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) |
| 15:59:36 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:01:39 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 256 seconds) |
| 16:04:06 | → | zaidhaan joins (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9) |
| 16:04:32 | × | erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Server closed connection) |
| 16:04:52 | → | erisco joins (~erisco@d24-141-66-165.home.cgocable.net) |
| 16:07:44 | → | ddellacosta joins (~ddellacos@146.70.166.166) |
| 16:07:48 | → | falafel joins (~falafel@2607:fb91:86c:d890:f891:31c0:6626:dee4) |
| 16:09:50 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 16:13:32 | <gensyst> | ryantrinkle, great to hear :) |
| 16:13:56 | → | mmhat joins (~mmh@2003:f1:c702:b0fd:ee08:6bff:fe09:5315) |
| 16:14:32 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 16:15:15 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 16:16:26 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 16:18:51 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:8a6c:e7c0:d456:af5) (Remote host closed the connection) |
| 16:21:19 | × | danse-nr3_ quits (~francesco@151.46.172.229) (Remote host closed the connection) |
| 16:22:03 | → | danse-nr3_ joins (~francesco@151.46.172.229) |
| 16:22:15 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 16:27:15 | × | elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Read error: Connection reset by peer) |
| 16:31:51 | → | taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) |
| 16:35:52 | × | taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds) |
| 16:37:01 | × | mmhat quits (~mmh@2003:f1:c702:b0fd:ee08:6bff:fe09:5315) (Quit: WeeChat 3.8) |
| 16:37:58 | → | elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) |
| 16:38:36 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 16:39:28 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) |
| 16:42:30 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 16:43:01 | × | zaidhaan quits (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9) (Read error: Connection reset by peer) |
| 16:43:36 | → | zaidhaan joins (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9) |
| 16:47:31 | → | Guest87 joins (~Guest87@mob-31-158-213-218.net.vodafone.it) |
| 16:47:50 | × | Guest87 quits (~Guest87@mob-31-158-213-218.net.vodafone.it) (Client Quit) |
| 16:55:19 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds) |
| 16:56:31 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 16:57:10 | → | hisa38 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) |
| 16:57:23 | × | acarrico quits (~acarrico@dhcp-68-142-49-163.greenmountainaccess.net) (Quit: Leaving.) |
| 16:58:21 | → | acarrico joins (~acarrico@dhcp-68-142-49-163.greenmountainaccess.net) |
| 17:02:40 | → | user_____ joins (~user@x5271795e.dyn.telefonica.de) |
| 17:02:44 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 17:03:30 | × | Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Server closed connection) |
| 17:03:53 | → | Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
| 17:06:52 | × | danse-nr3_ quits (~francesco@151.46.172.229) (Ping timeout: 240 seconds) |
| 17:09:25 | → | ByronJohnson joins (~bairyn@50.250.232.19) |
| 17:12:01 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 17:12:23 | → | rf joins (~rf@2605:59c8:179c:f610:29c8:b31f:9422:dd37) |
| 17:13:30 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 17:13:44 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 17:14:09 | → | danse-nr3_ joins (~francesco@151.46.172.229) |
| 17:16:36 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 17:18:54 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 17:19:34 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Client Quit) |
| 17:22:25 | × | shef quits (~ai5lk@209-188-121-236.taosnet.com) (Quit: WeeChat 3.8) |
| 17:22:44 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds) |
| 17:27:16 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 17:27:41 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 17:32:12 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 17:32:32 | × | danse-nr3_ quits (~francesco@151.46.172.229) (Ping timeout: 240 seconds) |
| 17:34:37 | → | EvanR_ joins (~EvanR@user/evanr) |
| 17:34:48 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds) |
| 17:35:27 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 17:35:49 | × | EvanR quits (~EvanR@user/evanr) (Read error: Connection reset by peer) |
| 17:36:43 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 258 seconds) |
| 17:36:44 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 17:37:13 | EvanR_ | is now known as EvanR |
| 17:37:44 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 17:41:39 | → | pat67 joins (~pat67@89.187.175.5) |
| 17:42:05 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds) |
| 17:43:07 | gmg_ | is now known as gmg |
| 17:43:12 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 17:44:02 | → | pat_ joins (~pat67@pool-100-36-172-241.washdc.fios.verizon.net) |
| 17:44:31 | → | pat__ joins (~pat67@pool-100-36-172-241.washdc.fios.verizon.net) |
| 17:44:37 | → | ijqq joins (uid603979@2a03:5180:f:1::9:374b) |
| 17:45:13 | → | chromoblob joins (~user@37.113.180.121) |
| 17:45:57 | <jade[m]1> | I'm trying to find a paper but I can't remember what it's called |
| 17:46:17 | → | taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) |
| 17:46:20 | <jade[m]1> | I think it was constructor ???? and talked about kinds of typeclass parameters |
| 17:47:52 | × | pat67 quits (~pat67@89.187.175.5) (Ping timeout: 240 seconds) |
| 17:48:16 | × | pat_ quits (~pat67@pool-100-36-172-241.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 17:48:39 | <ijqq> | http://sprunge.us/ZEh9Dy is there a better way of writing this function? |
| 17:48:47 | → | taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-e0bc-b2a7-45f7-a4fd.rev.sfr.net) |
| 17:49:08 | <ijqq> | i feel like it fits a pattern |
| 17:49:41 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds) |
| 17:49:43 | <Nosrep> | that's just replicateM isnt it |
| 17:49:51 | × | chromoblob quits (~user@37.113.180.121) (Ping timeout: 260 seconds) |
| 17:49:56 | <ncf> | yes https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/Control-Applicative-Combinators.html#v:count |
| 17:50:12 | × | taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds) |
| 17:51:15 | × | aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Server closed connection) |
| 17:51:27 | → | aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) |
| 17:51:55 | <ijqq> | oh cool, thank you |
| 17:52:36 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 17:53:12 | <EvanR> | @src replicateM |
| 17:53:12 | <lambdabot> | replicateM n x = sequence (replicate n x) |
| 17:53:34 | <ijqq> | also what is the naming scheme for the letters? |
| 17:53:52 | <jade[m]1> | you mean the M |
| 17:54:08 | <jade[m]1> | that's just because it is inside the monad |
| 17:54:11 | <ijqq> | like i see there is msum and asum and I assume a is for applicative and m for monad. but there what is the m meaning because it works for applicative? |
| 17:54:26 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 17:54:34 | <EvanR> | it requires Monad powers in this case |
| 17:54:56 | <jade[m]1> | I think it's back from when there was no applicative typeclass |
| 17:55:06 | × | taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-e0bc-b2a7-45f7-a4fd.rev.sfr.net) (Ping timeout: 260 seconds) |
| 17:55:18 | <jade[m]1> | and monads were defined by their own without the hierarchy |
| 17:55:18 | <EvanR> | :t replicateM |
| 17:55:19 | <lambdabot> | Applicative m => Int -> m a -> m [a] |
| 17:55:22 | <EvanR> | I'm wrong! |
| 17:55:42 | <Nosrep> | i just assumed it's some leftover quirk from long time ago |
| 17:55:55 | <ijqq> | oh interesting. so there used to be monad and functor but no applicative? |
| 17:56:03 | → | taupiqueur3 joins (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) |
| 17:56:08 | <EvanR> | and before that there was no monad |
| 17:56:18 | <EvanR> | you had lazy list I/O |
| 17:56:23 | <jade[m]1> | yes, the discovery of applicative as an "in between" and the hierarchy was not always there |
| 17:56:33 | <ijqq> | oh cool |
| 17:56:49 | <ijqq> | btw how long ago was this? How long have guys been using haskell? |
| 17:56:55 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 17:57:03 | <ijqq> | must be cool using it and then seeing lots of new features coming out in real time |
| 17:57:15 | <jade[m]1> | I just know this from hearsay, I've been seriously using haskell for like uhh a year? |
| 17:57:26 | <jade[m]1> | serious being not so serious actually |
| 17:57:29 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 17:57:30 | × | rf quits (~rf@2605:59c8:179c:f610:29c8:b31f:9422:dd37) (Ping timeout: 240 seconds) |
| 17:57:33 | <jade[m]1> | just like, more often |
| 17:57:51 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 17:58:29 | <Nosrep> | maybe it was a pre https://wiki.haskell.org/Functor-Applicative-Monad_Proposal thing |
| 17:59:04 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 17:59:07 | <EvanR> | applicative programming started getting formalized out of folklore around 2004 |
| 17:59:42 | <ncf> | the naming scheme is a huge mess |
| 18:00:06 | <EvanR> | the changes to the class hierarchy came much later |
| 18:00:33 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 18:00:37 | <ncf> | look at traverse/mapM/sequenceA/sequence/for/forM |
| 18:01:12 | <EvanR> | Monads for Functional Programming Phil Wadler 1992 |
| 18:01:17 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 18:01:42 | <ijqq> | interesting |
| 18:01:46 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 18:01:55 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) |
| 18:02:29 | <EvanR> | we're about due for another seismic event, category theory programming pattern to be discovered and change the whole stdlib xD |
| 18:02:55 | <EvanR> | Arrow kind of fizzled |
| 18:02:57 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:03:36 | <jade[m]1> | EvanR: I honestly doubt that |
| 18:03:41 | <jade[m]1> | but also, I know nothing |
| 18:03:52 | <ijqq> | i was reading about some standards to formally there is haskell 98 and 2010? and are there any plans for anything after that? |
| 18:04:31 | <Nosrep> | there were plans but they kinda died |
| 18:04:40 | <Nosrep> | look up haskell-prime or haskell 2020 or something |
| 18:04:48 | <ncf> | GHC2021 :p |
| 18:04:57 | <EvanR> | standards would be helpful if it were remotely possible to have anything other than GHC |
| 18:05:09 | <jade[m]1> | JHC? |
| 18:05:13 | <EvanR> | but the causation isn't going the other way |
| 18:06:23 | <EvanR> | other haskell compilers can strive for haskell98 or 2010 |
| 18:11:08 | × | falafel quits (~falafel@2607:fb91:86c:d890:f891:31c0:6626:dee4) (Ping timeout: 240 seconds) |
| 18:14:14 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 18:14:39 | <EvanR> | Hugs still has some interest, it has a snazzy record system |
| 18:15:04 | <ijqq> | yes i took out a book by graham hutton on haskell and it was referencing hugs |
| 18:15:29 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 18:20:28 | → | jero98772 joins (~jero98772@2800:484:1d7f:5d36::4) |
| 18:20:37 | × | ripspin quits (~chatzilla@1.145.245.25) (Remote host closed the connection) |
| 18:29:07 | × | zaidhaan quits (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9) (Quit: WeeChat 3.8) |
| 18:32:06 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 18:33:54 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Remote host closed the connection) |
| 18:35:20 | × | witcher quits (~witcher@wiredspace.de) (Remote host closed the connection) |
| 18:35:36 | → | witcher joins (~witcher@wiredspace.de) |
| 18:37:07 | → | __monty__ joins (~toonn@user/toonn) |
| 18:37:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 18:38:55 | × | defanor quits (~defanor@tart.uberspace.net) (Server closed connection) |
| 18:39:11 | → | defanor joins (~defanor@tart.uberspace.net) |
| 18:42:18 | × | user_____ quits (~user@x5271795e.dyn.telefonica.de) (Read error: Connection reset by peer) |
| 18:44:26 | × | gensyst quits (~gensyst@user/gensyst) (Quit: Leaving) |
| 18:52:20 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds) |
| 18:52:51 | → | candlestick joins (~tls@179.152.251.228) |
| 18:52:57 | ← | candlestick parts (~tls@179.152.251.228) () |
| 18:54:42 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 18:55:09 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 19:04:30 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 19:04:39 | × | YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Server closed connection) |
| 19:04:59 | → | YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:9506:825b:e271:15c3) |
| 19:05:26 | → | Square joins (~Square@user/square) |
| 19:06:00 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 19:07:42 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:11:27 | → | user_____ joins (~user@82.113.121.94) |
| 19:12:00 | <monochrom> | jade[m]1: Are you look for "MP Jones. A system of constructor classes: overloading and implicit higher-order polymorphism. Journal of Functional Programming, 5(1):1–36, January 1995."? (I found in Haskell 2020 Report, Bibliography [8] :) ) |
| 19:12:43 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 19:13:03 | <jade[m]1> | I was indeed, thank you very much :D |
| 19:13:09 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 19:13:25 | <monochrom> | Err Haskell 2010! I was living in an ideal world. |
| 19:13:50 | <Nosrep> | :( |
| 19:14:05 | <monochrom> | An ideal world in which Haskell had a 2020 standard, and C stopped at C11. |
| 19:14:07 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 19:14:32 | <Square> | Anyone know of a Haskell conference this autumn? September or later. |
| 19:15:17 | <monochrom> | Maybe Haskell Love again. |
| 19:15:18 | <[exa]> | Square: well ICFP is happening sometime in september, right? |
| 19:16:16 | <Square> | I'm not a researcher. I'm more into Haskell for applications. |
| 19:17:23 | <jade[m]1> | [exa]: In Seattle, damn |
| 19:17:37 | <jade[m]1> | I think I just missed everything going on in europe haha |
| 19:17:48 | <jade[m]1> | s/just/just barely/ |
| 19:18:19 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 19:19:40 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 19:20:42 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 19:20:51 | → | Pickchea joins (~private@user/pickchea) |
| 19:23:14 | <Square> | monochrom, That looks like it fits my bill. Hope it happens this year too. |
| 19:25:35 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds) |
| 19:26:55 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:dcc4:bf2d:7f23:5ca4) |
| 19:27:32 | → | chromoblob joins (~user@37.113.180.121) |
| 19:35:41 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection) |
| 19:38:37 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds) |
| 19:40:11 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 19:47:11 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds) |
| 19:47:57 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 19:48:18 | × | EvanR quits (~EvanR@user/evanr) (Read error: Connection reset by peer) |
| 19:48:35 | → | EvanR joins (~EvanR@user/evanr) |
| 19:52:51 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds) |
| 19:55:43 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 19:59:18 | → | shapr joins (~user@2600:1700:c640:3100:d4c2:f56d:9cf0:2080) |
| 19:59:20 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 20:02:47 | → | vgtw_ joins (~vgtw@user/vgtw) |
| 20:02:50 | × | vgtw quits (~vgtw@user/vgtw) (Ping timeout: 252 seconds) |
| 20:03:10 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 20:03:45 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 246 seconds) |
| 20:08:49 | → | ft joins (~ft@p4fc2afc9.dip0.t-ipconnect.de) |
| 20:10:43 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 20:14:12 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 20:14:52 | <EvanR> | monochrom, or C stopped at 89 which was technically just in time for haskell |
| 20:22:59 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:dcc4:bf2d:7f23:5ca4) (Quit: WeeChat 2.8) |
| 20:23:28 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds) |
| 20:25:11 | → | arrowhead joins (~arrowhead@2603-7000-9b3f-6934-6cb3-bb7b-d4df-ef98.res6.spectrum.com) |
| 20:29:26 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:36:03 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 20:36:14 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds) |
| 20:39:04 | → | EvanR_ joins (~EvanR@user/evanr) |
| 20:39:36 | × | EvanR quits (~EvanR@user/evanr) (Ping timeout: 260 seconds) |
| 20:40:14 | × | jrm quits (~jrm@user/jrm) (Server closed connection) |
| 20:41:35 | → | jrm joins (~jrm@user/jrm) |
| 20:42:19 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:49:16 | × | jonathan quits (~jonathan@c83-252-3-92.bredband.tele2.se) (Ping timeout: 265 seconds) |
| 20:49:17 | × | arrowhead quits (~arrowhead@2603-7000-9b3f-6934-6cb3-bb7b-d4df-ef98.res6.spectrum.com) (Read error: Connection reset by peer) |
| 20:50:12 | × | kmein quits (~weechat@user/kmein) (Ping timeout: 240 seconds) |
| 20:50:16 | → | rf joins (~rf@2605:59c8:179c:f610:1ba8:9082:34c2:6f4b) |
| 20:50:55 | → | arrowhead joins (~arrowhead@74.66.76.151) |
| 20:53:36 | → | califax joins (~califax@user/califx) |
| 20:53:52 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 20:55:32 | × | user_____ quits (~user@82.113.121.94) (Ping timeout: 240 seconds) |
| 20:56:00 | × | dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 20:58:44 | → | dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 21:00:23 | × | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 265 seconds) |
| 21:00:39 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 21:02:21 | × | kupi_ quits (uid212005@2a03:5180:f:4::3:3c25) (Quit: Connection closed for inactivity) |
| 21:03:52 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 240 seconds) |
| 21:07:10 | → | exeo joins (~Ozymandia@97-119-96-49.omah.qwest.net) |
| 21:09:23 | → | coot joins (~coot@89.69.206.216) |
| 21:11:17 | × | acidjnk quits (~acidjnk@p200300d6e7072f41682e2ef333aef3bc.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 21:12:24 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 21:13:19 | → | Midjak joins (~Midjak@82.66.147.146) |
| 21:15:30 | × | farn quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 255 seconds) |
| 21:15:45 | → | EvanR joins (~EvanR@user/evanr) |
| 21:16:19 | × | EvanR_ quits (~EvanR@user/evanr) (Read error: Connection reset by peer) |
| 21:17:01 | → | farn joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
| 21:18:06 | <ddrone[m]> | TIL about Clerk, the "notebook"-style tool for Clojure that takes just plain source with comments and then renders the result in the browser: https://clerk.vision/ |
| 21:18:13 | <ddrone[m]> | Does anything similar exist for Haskell? |
| 21:18:31 | <Rembane> | Literate programming + pandoc maybe? |
| 21:19:05 | <Rembane> | Oh. This one too! https://github.com/IHaskell/IHaskell |
| 21:22:10 | <ddrone[m]> | IHaskell is just Jupyter kernel, which isn't exactly the workflow that Clerk has |
| 21:22:32 | <ddrone[m]> | Clerk just takes plain source file and then processes it, without having to use any sort of specialized UI |
| 21:23:59 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 21:24:02 | <EvanR> | is it for visualizing random code, or is it for crafting presentable documents |
| 21:27:14 | <ddrone[m]> | I'd say second |
| 21:27:16 | <ddrone[m]> | Here's an example https://snapshots.nextjournal.com/clerk-demo/build/f8112d44fa742cd0913dcbd370919eca249cbcd9/notebooks/rule_30.html |
| 21:27:55 | <ddrone[m]> | I guess another thing this reminds me of is Racket's Scribble documentation system |
| 21:28:00 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 21:28:46 | <EvanR> | it's like literate programming but with pictures |
| 21:29:04 | × | coot quits (~coot@89.69.206.216) (Quit: coot) |
| 21:29:16 | <EvanR> | looks good |
| 21:29:19 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 21:31:54 | <ddrone[m]> | Yeah |
| 21:31:56 | × | dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 21:32:22 | <ddrone[m]> | This video has even more demos (which I can't find published online) with animations that have parameters one can control in the browser via sliders https://www.youtube.com/watch?v=B9kqD8vBuwU |
| 21:33:55 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:33:57 | <chromoblob> | is unsafePerformIO in the standard? |
| 21:34:34 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) |
| 21:36:34 | × | adium quits (adium@user/adium) (Server closed connection) |
| 21:36:37 | <geekosaur> | not that I see |
| 21:36:39 | <dolio> | No. |
| 21:37:30 | → | adium joins (adium@user/adium) |
| 21:37:30 | <EvanR> | unsafeNonstandardPerformIO |
| 21:37:40 | <dolio> | There is `unsafeLocalState`, which is for calling pure foreign functions that pass arguments via pointers and such. And only a few IO actions are well defined within it. |
| 21:38:57 | <chromoblob> | phew |
| 21:39:07 | <chromoblob> | hehe |
| 21:39:45 | <chromoblob> | a paper is posted on HN that mentions "Haskell's (standard) unsafePerformIO" |
| 21:39:59 | <chromoblob> | author is misinformed |
| 21:40:16 | × | rf quits (~rf@2605:59c8:179c:f610:1ba8:9082:34c2:6f4b) (Ping timeout: 260 seconds) |
| 21:40:25 | <EvanR> | that makes it sound like the secret sauce behind how haskell does anything |
| 21:40:28 | <geekosaur> | even the documentation for unsafePerformIO specifies that behavior may differ between implementations |
| 21:40:31 | <EvanR> | bog standard unsafePerformIO everywhere |
| 21:40:46 | <dolio> | Well, unsafeLocalState has the same type signature. But a lot of things that people think are okay to do are officially "undefined behavior." |
| 21:40:53 | × | michalz quits (~michalz@185.246.207.217) (Remote host closed the connection) |
| 21:41:19 | × | phma quits (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) (Read error: Connection reset by peer) |
| 21:41:23 | <geekosaur> | accursedUnutterablePerformIO |
| 21:41:43 | → | phma joins (~phma@host-67-44-208-160.hnremote.net) |
| 21:41:59 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 21:42:50 | → | jargon joins (~jargon@174.205.224.32) |
| 21:43:26 | <chromoblob> | dolio: is it in the standard? |
| 21:43:35 | × | fendor quits (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection) |
| 21:43:36 | <darkling> | thatPerformIOYouMetOnceAtAParty |
| 21:43:41 | <dolio> | Yes. |
| 21:45:14 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 21:46:12 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 21:47:59 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:48:48 | <geekosaur> | https://www.haskell.org/onlinereport/haskell2010/haskellch8.html doesn't seem to say anything about it |
| 21:49:54 | <dolio> | It's in chapter 30. |
| 21:51:25 | <monochrom> | The Haskell Report needs an index for questions like this. :) |
| 21:51:34 | <sm> | just curious.. 1 / 72.35 has a repeating periodic cycle of 1446 decimals. What haskell type/library would let me print as many of these as I want ? |
| 21:51:42 | monochrom | re-tells himself the Aesop tale of the world conference of mice |
| 21:52:19 | <sm> | Eg Double shows about 16, Decimal shows 255 |
| 21:53:01 | <sm> | so if I wanted to print say 10000 decimal places to search for cycles, I'd use.... ? |
| 21:53:41 | <EvanR> | > showFFloat (Just 2000) (1/72.35) "" |
| 21:53:42 | <lambdabot> | "0.0138217000691085010000000000000000000000000000000000000000000000000000000... |
| 21:53:51 | <EvanR> | ok not Double |
| 21:54:10 | <EvanR> | you can use a long division loop |
| 21:54:37 | <EvanR> | on the number 1000 / 7235 to keep it simple |
| 21:54:49 | <EvanR> | 100 / 7235 |
| 21:55:28 | sm | wants Mathematica in haskell |
| 21:55:56 | <glguy> | sm: https://hackage.haskell.org/package/scientific-0.3.7.0/docs/Data-Scientific.html#v:fromRationalRepetend |
| 21:56:00 | → | user____ joins (~user@x5271795e.dyn.telefonica.de) |
| 21:56:27 | <sm> | nice! |
| 21:56:28 | <monochrom> | Yeah actually printing out unlimited digits still does not tell you the period. You really need to do long division and watch for a remainder that shows up for the 2nd time. |
| 21:56:29 | <glguy> | If that's not the answer see if the answer is elsewhere in that module. I'm lobbing this in from my phone |
| 21:56:53 | <sm> | looks good to me, I'm calling this solved |
| 21:57:13 | <monochrom> | For example suppose you have merely seen 336336. You still do not know whether it's 336-repeated or it's 336336337-repeated |
| 21:57:34 | <glguy> | monochrom: I stopped counting at 33... |
| 21:57:41 | <monochrom> | :) |
| 21:57:59 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 21:58:13 | <monochrom> | There is some halting problem lurking somewhere in there. |
| 21:58:43 | <EvanR> | long division on integers uses a finite amount of state, so it must repeat |
| 22:00:12 | <monochrom> | That is equivalent to: Every provable sentence has a finite-length proof, so just try every string that qualifies as a proof of something. |
| 22:00:27 | → | rf joins (~rf@2605:59c8:179c:f610:b924:5d99:d3fe:ccc6) |
| 22:00:28 | <EvanR> | unlike long square root whose state keeps growing |
| 22:01:10 | <monochrom> | Which is also equivalent to: Every terminating program terminates in a finite number of steps, so it must terminate. |
| 22:01:57 | <monochrom> | The problem is in all cases you still can't predict how many steps / what length you have to check and call it a day. |
| 22:02:01 | <EvanR> | what, no |
| 22:02:27 | <sm> | fromRationalRepetend works beautifully |
| 22:02:48 | <monochrom> | Although, the bright side is at least they are not not-enumerable. |
| 22:02:54 | <EvanR> | there is an upper limit, namely, 2^bits in your state space. You can't take more steps than that before looping |
| 22:03:09 | <EvanR> | turing was using infinite tape to work with |
| 22:03:56 | × | exeo quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Ping timeout: 240 seconds) |
| 22:03:58 | <EvanR> | any given turing machine might use all of it |
| 22:04:15 | <hpc> | there's a really cool busy-beaver idea based on monochrom's comment |
| 22:04:34 | <monochrom> | Are you assuming that every rational number is of the form <integer>/<natural number that has only 64 bits> ? |
| 22:04:35 | <hpc> | where you construct a program that terminates iff $some_property |
| 22:05:02 | <hpc> | like the consistency of zfc |
| 22:05:03 | <EvanR> | the amount of state you need is bounded, but the bound is different for each pair of numbers |
| 22:05:13 | <EvanR> | it's not a mystery |
| 22:06:16 | <monochrom> | OK I see, you are given "it's 1/72.33". |
| 22:07:33 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 22:07:52 | × | oo_miguel quits (~Thunderbi@78.11.179.96) (Ping timeout: 240 seconds) |
| 22:08:04 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 22:09:19 | <EvanR> | after each step make sure the remainder for that step is less than the divisor (i.e. you didn't mess up) -- so this gives the bound of 'the divisor' for any given problem |
| 22:13:48 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 22:14:18 | → | merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
| 22:18:08 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 252 seconds) |
| 22:19:12 | × | taupiqueur3 quits (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) (Ping timeout: 240 seconds) |
| 22:23:05 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection) |
| 22:26:06 | → | EvanR_ joins (~EvanR@user/evanr) |
| 22:27:00 | × | EvanR quits (~EvanR@user/evanr) (Ping timeout: 240 seconds) |
| 22:27:29 | → | finn joins (~finn@176-151-21-224.abo.bbox.fr) |
| 22:30:03 | × | nicole quits (ilbelkyr@libera/staff/ilbelkyr) (*.net *.split) |
| 22:32:10 | <finn> | after building ghc, why git status shows a diff --git a/libraries/unix b/libraries/unix |
| 22:32:26 | <Hecate> | because it's a submodule |
| 22:32:30 | <Hecate> | a git submodule |
| 22:32:33 | <Hecate> | and these are the devil |
| 22:32:46 | <finn> | -Subproject commit 720debbf5b89366007bac473e8d7fd18e4114f1a |
| 22:32:48 | <finn> | +Subproject commit 720debbf5b89366007bac473e8d7fd18e4114f1a-dirty |
| 22:33:03 | <Hecate> | aye |
| 22:33:33 | <finn> | i sometimes have trouble git pull from such a dirty directory |
| 22:33:54 | <finn> | why it's the devil ? |
| 22:35:09 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:36:12 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 22:41:26 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 22:42:10 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 22:48:40 | → | taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) |
| 22:48:56 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 22:49:31 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 22:50:03 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:51:36 | <geekosaur> | because of this among other things |
| 22:52:52 | <geekosaur> | seems like I always have to nuke and refetch that submodule in particular |
| 22:53:00 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 22:53:07 | <geekosaur> | git doesn't handle submodules very well |
| 22:53:32 | × | taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds) |
| 22:56:12 | sm | prudently sticking with manual subrepos still |
| 22:58:32 | → | segfaultfizzbuzz joins (~segfaultf@12.172.217.142) |
| 23:00:40 | × | finn quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 23:04:00 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:07:37 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 23:22:36 | → | nate2 joins (~nate@98.45.169.16) |
| 23:22:48 | <hpc> | there have even been cves related to submodules in the past |
| 23:22:54 | → | EvanR joins (~EvanR@user/evanr) |
| 23:23:35 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) |
| 23:24:01 | × | EvanR_ quits (~EvanR@user/evanr) (Ping timeout: 258 seconds) |
| 23:24:47 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 23:26:52 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 23:27:24 | × | jakesyl____ quits (sid56879@id-56879.hampstead.irccloud.com) (Server closed connection) |
| 23:27:56 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 240 seconds) |
| 23:28:20 | → | jakesyl____ joins (sid56879@2a03:5180:f:4::de2f) |
| 23:38:09 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) |
| 23:40:03 | × | user____ quits (~user@x5271795e.dyn.telefonica.de) (Read error: Connection reset by peer) |
| 23:44:14 | → | pavonia joins (~user@user/siracusa) |
| 23:48:14 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection) |
| 23:48:33 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) |
| 23:51:47 | → | mauke_ joins (~mauke@user/mauke) |
| 23:51:52 | × | segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds) |
| 23:52:11 | × | jargon quits (~jargon@174.205.224.32) (Remote host closed the connection) |
| 23:53:28 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 252 seconds) |
| 23:53:28 | mauke_ | is now known as mauke |
| 23:55:05 | → | jargon joins (~jargon@32.sub-174-205-224.myvzw.com) |
| 23:55:27 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:57:59 | → | Guest|99 joins (~Guest|99@ip5f5bebe3.dynamic.kabel-deutschland.de) |
| 23:58:14 | × | Guest|99 quits (~Guest|99@ip5f5bebe3.dynamic.kabel-deutschland.de) (Client Quit) |
| 23:58:31 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection) |
| 23:59:03 | → | taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) |
All times are in UTC on 2023-06-21.