2020-12-08 00:00:45 +0100 | pjb | (~t@2a01cb04063ec50074a8618b6b489f5b.ipv6.abo.wanadoo.fr) |
2020-12-08 00:01:04 +0100 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 256 seconds) |
2020-12-08 00:01:37 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-08 00:01:39 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:5d41:4512:81ee:9975) (Ping timeout: 272 seconds) |
2020-12-08 00:01:40 +0100 | ystael | (~ystael@209.6.50.55) |
2020-12-08 00:02:44 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c) |
2020-12-08 00:03:36 +0100 | urek | (~urek@191.32.132.91) (Ping timeout: 240 seconds) |
2020-12-08 00:05:30 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving) |
2020-12-08 00:06:13 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds) |
2020-12-08 00:07:39 +0100 | devalot | (~ident@mail.pmade.com) |
2020-12-08 00:08:17 +0100 | matryoshka | (~matryoshk@184.75.223.227) |
2020-12-08 00:08:26 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2020-12-08 00:08:32 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-08 00:08:39 +0100 | matryoshka | (~matryoshk@184.75.223.227) (Client Quit) |
2020-12-08 00:10:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 00:11:24 +0100 | matryoshka | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
2020-12-08 00:13:18 +0100 | isovector1 | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) |
2020-12-08 00:13:31 +0100 | <isovector1> | is there some way i can make uniplate work with mutually recursive data types? |
2020-12-08 00:13:47 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2020-12-08 00:13:58 +0100 | matryoshka | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer) |
2020-12-08 00:14:08 +0100 | matryoshka` | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
2020-12-08 00:14:54 +0100 | matryoshka` | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Client Quit) |
2020-12-08 00:15:14 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-08 00:16:26 +0100 | matryoshka | (~matryoshk@184.75.223.227) |
2020-12-08 00:16:46 +0100 | <Axman6> | what issues do you run into? |
2020-12-08 00:17:51 +0100 | jiribenes | (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection) |
2020-12-08 00:18:08 +0100 | matryoshka` | (~matryoshk@184.75.223.227) |
2020-12-08 00:18:18 +0100 | matryoshka | (~matryoshk@184.75.223.227) (Read error: Connection reset by peer) |
2020-12-08 00:18:20 +0100 | <isovector1> | `rewrite` doesn't go inside the mutual recursion |
2020-12-08 00:19:33 +0100 | <isovector1> | eg if i write `data Foo = In | Out | Loop Bar` and `data Bar = BackToFoo Foo`, `rewrite $ \case {In -> Just Out: _ -> Nothing}` won't rewrite `Loop (BackToFoo (In))` |
2020-12-08 00:20:22 +0100 | fendor | (~fendor@178.115.129.186.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-08 00:20:56 +0100 | <isovector1> | at least not using the `generic-deriving` uniplate instances |
2020-12-08 00:23:16 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 00:23:40 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 00:28:02 +0100 | solonarv | (~solonarv@astrasbourg-552-1-28-212.w90-13.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2020-12-08 00:32:04 +0100 | wildlander | (~wildlande@unaffiliated/wildlander) |
2020-12-08 00:36:39 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-08 00:43:53 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 00:44:18 +0100 | wonko7 | (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 256 seconds) |
2020-12-08 00:44:48 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2020-12-08 00:44:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-12-08 00:46:30 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-08 00:46:44 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 00:48:19 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Quit: WeeChat 2.9) |
2020-12-08 00:50:10 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 00:50:35 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 00:50:36 +0100 | Kronic | (~Kronic___@84.203.103.100) |
2020-12-08 00:52:07 +0100 | <Kronic> | I have a very small question relating to how to read values that parameterize type declarations, when I read something like the basic definition for the state monad, how intertwined are the two s parameters? |
2020-12-08 00:52:24 +0100 | <Kronic> | My understanding is that unless I use a RankNType they must be the same type and structure |
2020-12-08 00:53:28 +0100 | <sm[m]> | I think https://github.com/Homebrew/linuxbrew-core/blob/master/Formula/ghc.rb should depend on gcc-6+. Would anyone have an idea how ? |
2020-12-08 00:56:13 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 00:56:47 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-08 00:57:36 +0100 | <monochrom> | Kronic: I don't understand "intertwine" but I'm pretty sure it's barking up the wrong tree. "s -> (a, s)" is just saying you could make it Int -> (String, Int) (s=Int, a=String), or Char -> (Bool, Char) (s=Char, a=Bool), or other choices. |
2020-12-08 00:57:49 +0100 | <monochrom> | If you understand Int->(String,Int) then you understand s->(a,s). |
2020-12-08 00:58:06 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 00:59:13 +0100 | whatisRT | (~whatisRT@2002:5b41:6a33:0:483b:3e3a:b1be:f49a) (Quit: ZNC 1.8.1 - https://znc.in) |
2020-12-08 00:59:53 +0100 | <Kronic> | monochrom: Ah, my bad. Let me be clearer in that case. The definitions are read left to right, so if I at some point on the left side bind a parameter to some type, must it be taken that this parameter is always the same unless I use forall ? |
2020-12-08 00:59:55 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
2020-12-08 01:01:52 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2020-12-08 01:01:53 +0100 | <monochrom> | yes |
2020-12-08 01:02:25 +0100 | <monochrom> | I wonder if you just haven't thought along the line of http://www.vex.net/~trebla/haskell/prerequisite.xhtml#substitution |
2020-12-08 01:02:28 +0100 | <Kronic> | Okay perfect, thank you. I just wanted to be sure. I recently returned to Haskell, and sometimes I trip over myself a little when reading documentation |
2020-12-08 01:04:14 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-gkvwezxwtrpnkicw) (Quit: Connection closed for inactivity) |
2020-12-08 01:06:00 +0100 | Unicorn_Princess | (~Unicorn_P@89-212-115-169.static.t-2.net) |
2020-12-08 01:07:09 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Ping timeout: 260 seconds) |
2020-12-08 01:07:54 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 01:08:12 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) |
2020-12-08 01:08:16 +0100 | isovector1 | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Quit: Leaving) |
2020-12-08 01:08:50 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 01:11:18 +0100 | <Unicorn_Princess> | suppose I'm using Data.MultiSet, and I'm not happy how its findMin function doesn't return a Maybe (so it can crash on an empty Set). so I write my own safe version, minSafe. in what module should I put this function, for organization? I can't put it into Data.MultiSet... can I? |
2020-12-08 01:12:48 +0100 | ninja | (~ninja@82.84.72.37) |
2020-12-08 01:13:16 +0100 | bgamari_ | (~bgamari@2001:470:e438::1) |
2020-12-08 01:14:20 +0100 | bgamari | (~bgamari@72.65.101.236) (Ping timeout: 265 seconds) |
2020-12-08 01:14:23 +0100 | mbirman | (~user@119-17-128-101.771180.mel.nbn.aussiebb.net) |
2020-12-08 01:14:54 +0100 | <Axman6> | Is there a package that provides lenses of a haskell AST, like haskell-src-exts or GHC's? |
2020-12-08 01:15:10 +0100 | <Axman6> | also, anyone know the status of trees that grow in GHC/TH/HSE? |
2020-12-08 01:16:10 +0100 | <koz_> | Unicorn_Princess: You can put it in Data.MultiSet.Safe? |
2020-12-08 01:16:16 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds) |
2020-12-08 01:16:17 +0100 | <koz_> | Since it's like, a local module? |
2020-12-08 01:17:27 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 01:17:30 +0100 | <Unicorn_Princess> | i guess that's the standard. like how the extra package puts stuff into Data.List.Extra... |
2020-12-08 01:17:33 +0100 | ninja | (~ninja@82.84.72.37) (Quit: Leaving) |
2020-12-08 01:18:19 +0100 | <Kronic> | monochrom, thanks for the link, it was a little bit on the longwinded side but it more than explained my question. Cheers |
2020-12-08 01:19:26 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 01:21:07 +0100 | jedws | (~jedws@121.209.181.215) |
2020-12-08 01:24:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-08 01:25:15 +0100 | jmchael | (~jmchael@87.112.60.168) (Ping timeout: 272 seconds) |
2020-12-08 01:26:31 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 272 seconds) |
2020-12-08 01:27:56 +0100 | Kronic | (~Kronic___@84.203.103.100) (Ping timeout: 240 seconds) |
2020-12-08 01:31:56 +0100 | dhil | (~dhil@195.213.192.34) (Ping timeout: 240 seconds) |
2020-12-08 01:32:30 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) |
2020-12-08 01:33:36 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 240 seconds) |
2020-12-08 01:34:14 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 272 seconds) |
2020-12-08 01:34:35 +0100 | sm2n_ | (~sm2n@bras-base-hmtnon1497w-grc-44-69-156-5-58.dsl.bell.ca) |
2020-12-08 01:36:45 +0100 | sm2n | (~sm2n@bras-base-hmtnon1497w-grc-44-69-156-5-58.dsl.bell.ca) (Ping timeout: 260 seconds) |
2020-12-08 01:40:06 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 01:40:23 +0100 | rdivacky | (~rdivacky@212.96.173.4) (Ping timeout: 260 seconds) |
2020-12-08 01:42:47 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 01:43:12 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 01:43:14 +0100 | rdivacky | (~rdivacky@212.96.173.4) |
2020-12-08 01:43:31 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-12-08 01:49:01 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Remote host closed the connection) |
2020-12-08 01:49:28 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) |
2020-12-08 01:49:31 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) |
2020-12-08 01:50:43 +0100 | falafel_ | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) |
2020-12-08 01:51:07 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-08 01:51:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 01:51:29 +0100 | StoneToad | (~StoneToad@199-167-119-135.ppp.storm.ca) (Ping timeout: 260 seconds) |
2020-12-08 01:52:30 +0100 | StoneToad | (~StoneToad@199-167-119-135.ppp.storm.ca) |
2020-12-08 01:53:07 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-08 01:54:00 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-12-08 01:54:23 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Ping timeout: 260 seconds) |
2020-12-08 01:54:41 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 01:55:02 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-08 02:01:18 +0100 | carlomagno | (~cararell@148.87.23.5) (Remote host closed the connection) |
2020-12-08 02:01:57 +0100 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) |
2020-12-08 02:02:44 +0100 | Xnuk | (~xnuk@vultr.xnu.kr) (Ping timeout: 246 seconds) |
2020-12-08 02:03:03 +0100 | Xnuk | (~xnuk@45.76.202.58) |
2020-12-08 02:06:16 +0100 | columbarius | (~columbari@mue-88-130-54-104.dsl.tropolys.de) (Ping timeout: 240 seconds) |
2020-12-08 02:06:30 +0100 | FreeBirdLjj | (~freebirdl@101.228.42.108) (Remote host closed the connection) |
2020-12-08 02:07:49 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2020-12-08 02:08:40 +0100 | columbarius | (~columbari@i5E86B3C5.versanet.de) |
2020-12-08 02:09:34 +0100 | mbirman | (~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2020-12-08 02:09:38 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 02:11:25 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2020-12-08 02:13:45 +0100 | dan64- | (~dan64@dannyadam.com) (Quit: ZNC - http://znc.in) |
2020-12-08 02:14:16 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds) |
2020-12-08 02:15:38 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2020-12-08 02:16:20 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
2020-12-08 02:18:17 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 260 seconds) |
2020-12-08 02:19:04 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2020-12-08 02:19:48 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 02:20:43 +0100 | Amras | (~Amras@unaffiliated/amras) ("Leaving") |
2020-12-08 02:24:37 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-08 02:24:57 +0100 | dan64 | (~dan64@dannyadam.com) |
2020-12-08 02:25:14 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-08 02:25:33 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
2020-12-08 02:25:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-12-08 02:25:51 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) |
2020-12-08 02:26:03 +0100 | teardown | (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds) |
2020-12-08 02:27:16 +0100 | wildlander | (~wildlande@unaffiliated/wildlander) (Quit: Konversation terminated!) |
2020-12-08 02:28:19 +0100 | teardown | (~user@gateway/tor-sasl/mrush) |
2020-12-08 02:28:35 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer) |
2020-12-08 02:30:18 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 02:32:01 +0100 | Lord_of_Life | (~Lord@46.217.218.10) |
2020-12-08 02:33:07 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-08 02:33:19 +0100 | dyeplexer | (~lol@unaffiliated/terpin) |
2020-12-08 02:34:55 +0100 | <pavonia> | So functional programming finally made it, eh? ;) https://techcommunity.microsoft.com/t5/excel-blog/announcing-lambda-turn-excel-formulas-into-custo… |
2020-12-08 02:35:18 +0100 | leungbk | (~user@cpe-104-33-52-83.socal.res.rr.com) |
2020-12-08 02:35:46 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2020-12-08 02:36:25 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds) |
2020-12-08 02:36:33 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
2020-12-08 02:36:50 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) |
2020-12-08 02:39:09 +0100 | borne | (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
2020-12-08 02:39:25 +0100 | guest128 | (~user@49.5.6.87) |
2020-12-08 02:41:16 +0100 | rdivacky | (~rdivacky@212.96.173.4) (Ping timeout: 240 seconds) |
2020-12-08 02:43:07 +0100 | falafel_ | falafel |
2020-12-08 02:43:53 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0) |
2020-12-08 02:44:24 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) |
2020-12-08 02:44:44 +0100 | rdivacky | (~rdivacky@212.96.173.4) |
2020-12-08 02:45:20 +0100 | Lord_of_Life | (~Lord@46.217.218.10) (Ping timeout: 256 seconds) |
2020-12-08 02:45:45 +0100 | <blissful> | friendship with haskell ended, microsoFT EXCEL is my new best friend!!! |
2020-12-08 02:46:05 +0100 | Lord_of_Life | (~Lord@46.217.216.160) |
2020-12-08 02:46:52 +0100 | borne | (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de) |
2020-12-08 02:50:01 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) |
2020-12-08 02:51:05 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2020-12-08 02:51:44 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Remote host closed the connection) |
2020-12-08 02:51:49 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 264 seconds) |
2020-12-08 02:51:53 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) |
2020-12-08 02:56:24 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 02:56:29 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 02:59:31 +0100 | b3zi | (~b3z@vmd41962.contaboserver.net) (Quit: cya) |
2020-12-08 02:59:39 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) |
2020-12-08 03:00:53 +0100 | infinity0 | (~infinity0@freenet/developer/infinity0) (Ping timeout: 272 seconds) |
2020-12-08 03:01:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2020-12-08 03:01:58 +0100 | infinity0 | (~infinity0@freenet/developer/infinity0) |
2020-12-08 03:06:19 +0100 | MOSCOS | (~MOSCOS@122.54.107.175) (Read error: Connection reset by peer) |
2020-12-08 03:06:25 +0100 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-12-08 03:06:44 +0100 | MOSCOS | (~MOSCOS@122.54.107.175) |
2020-12-08 03:06:52 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-12-08 03:07:30 +0100 | aarvar | (~foewfoiew@50.35.43.33) |
2020-12-08 03:07:46 +0100 | aarvar | (~foewfoiew@50.35.43.33) (Client Quit) |
2020-12-08 03:08:40 +0100 | Inoperable | (~PLAYER_1@fancydata.science) (Quit: All your buffer are belong to us!) |
2020-12-08 03:10:45 +0100 | sajith | (~sajith@fsf/member/nonzen) (Ping timeout: 240 seconds) |
2020-12-08 03:11:42 +0100 | sajith | (~sajith@fsf/member/nonzen) |
2020-12-08 03:14:14 +0100 | rprije | (~rprije@14-201-170-17.tpgi.com.au) (Remote host closed the connection) |
2020-12-08 03:14:23 +0100 | Inoperable | (~PLAYER_1@fancydata.science) |
2020-12-08 03:14:37 +0100 | rprije | (~rprije@14-201-170-17.tpgi.com.au) |
2020-12-08 03:14:50 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ) |
2020-12-08 03:17:08 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds) |
2020-12-08 03:18:13 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-08 03:19:01 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
2020-12-08 03:19:32 +0100 | xff0x_ | (~fox@2001:1a81:5262:300:2af7:941a:a8bf:efea) (Ping timeout: 260 seconds) |
2020-12-08 03:19:49 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) |
2020-12-08 03:21:24 +0100 | xff0x_ | (~fox@2001:1a81:5297:ce00:5f6b:12d2:455b:ed40) |
2020-12-08 03:22:36 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
2020-12-08 03:23:06 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 03:23:16 +0100 | glguy | seasonal-staff |
2020-12-08 03:24:57 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:4353:f1b0:3343:508) (Ping timeout: 272 seconds) |
2020-12-08 03:25:33 +0100 | jespada | (~jespada@90.254.245.49) |
2020-12-08 03:26:56 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
2020-12-08 03:27:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 03:28:32 +0100 | <dsal> | This seems pretty weird: `import Data.Monoid (<$>)` |
2020-12-08 03:28:45 +0100 | twk- | (~thewormki@unaffiliated/twk-) (Ping timeout: 240 seconds) |
2020-12-08 03:29:28 +0100 | TheScoop_ | (~TheScoop@unaffiliated/tryte) (Ping timeout: 260 seconds) |
2020-12-08 03:29:36 +0100 | marek | (~mmahut@209.250.249.245) (Ping timeout: 256 seconds) |
2020-12-08 03:30:20 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) |
2020-12-08 03:31:44 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 03:32:08 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 03:32:18 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-08 03:32:37 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 03:33:46 +0100 | TheScoop | (~TheScoop@unaffiliated/tryte) |
2020-12-08 03:35:00 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0) |
2020-12-08 03:35:17 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2020-12-08 03:36:51 +0100 | twk- | (~thewormki@unaffiliated/twk-) |
2020-12-08 03:37:24 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:d04d:c9b4:e354:8485) |
2020-12-08 03:38:01 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-08 03:39:06 +0100 | leungbk | (~user@cpe-104-33-52-83.socal.res.rr.com) (Remote host closed the connection) |
2020-12-08 03:39:52 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 03:39:55 +0100 | <cheater> | (ot) does anyone know how to search for stuff with ripgrep, but exclude very long lines? or search for a string, but exclude results that contain a specific other string? |
2020-12-08 03:41:09 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-08 03:41:11 +0100 | marek | (~mmahut@209.250.249.245) |
2020-12-08 03:41:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-12-08 03:41:26 +0100 | <Axman6> | riptreg foo | grep - v bar? |
2020-12-08 03:42:00 +0100 | drbean | (~drbean@TC210-63-209-186.static.apol.com.tw) |
2020-12-08 03:42:23 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-08 03:43:42 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 03:44:05 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds) |
2020-12-08 03:44:18 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Client Quit) |
2020-12-08 03:44:37 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-08 03:45:29 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Client Quit) |
2020-12-08 03:45:55 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-08 03:51:37 +0100 | xff0x_ | (~fox@2001:1a81:5297:ce00:5f6b:12d2:455b:ed40) (Ping timeout: 260 seconds) |
2020-12-08 03:52:02 +0100 | xff0x_ | (~fox@port-92-195-97-206.dynamic.as20676.net) |
2020-12-08 03:55:16 +0100 | drbean | (~drbean@TC210-63-209-186.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-12-08 03:57:25 +0100 | mbirman | (~user@119-17-128-101.771180.mel.nbn.aussiebb.net) |
2020-12-08 03:59:49 +0100 | teardown_ | (~user@gateway/tor-sasl/mrush) |
2020-12-08 03:59:54 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
2020-12-08 04:02:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2020-12-08 04:02:43 +0100 | teardown | (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds) |
2020-12-08 04:03:27 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Quit: leaving) |
2020-12-08 04:04:08 +0100 | drbean | (~drbean@TC210-63-209-156.static.apol.com.tw) |
2020-12-08 04:07:07 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 04:09:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 04:10:19 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Quit: WeeChat 2.9) |
2020-12-08 04:14:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-12-08 04:15:25 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 240 seconds) |
2020-12-08 04:15:52 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2020-12-08 04:17:33 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 04:17:52 +0100 | christo | (~chris@81.96.113.213) |
2020-12-08 04:18:43 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) |
2020-12-08 04:19:32 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
2020-12-08 04:21:48 +0100 | <incertia> | @monochrom: ok so i did a cheaty solution by just using TH to examine the instances of a typeclass and then autogenning a HashMap: https://gist.github.com/incertia/9100eec4262fde6373d4c5a13fa1ac04 |
2020-12-08 04:21:48 +0100 | <lambdabot> | Unknown command, try @list |
2020-12-08 04:22:08 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 04:22:22 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 04:22:54 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 04:23:10 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit) |
2020-12-08 04:23:12 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 04:23:27 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
2020-12-08 04:23:34 +0100 | <incertia> | the only downside is that i have to import the module every time i solve a new problem |
2020-12-08 04:23:41 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 04:23:57 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 04:24:22 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Quit: SanchayanMaity) |
2020-12-08 04:24:27 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 04:24:39 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 04:24:40 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 04:25:13 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 04:25:26 +0100 | Saukk | (~Saukk@2001:998:ec:944:a00f:6382:4f0:3e7e) |
2020-12-08 04:26:01 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Client Quit) |
2020-12-08 04:27:42 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit) |
2020-12-08 04:27:56 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
2020-12-08 04:28:53 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 04:29:20 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Client Quit) |
2020-12-08 04:30:48 +0100 | xirhtogal | (~lagothrix@unaffiliated/lagothrix) |
2020-12-08 04:30:48 +0100 | lagothrix | Guest28923 |
2020-12-08 04:30:48 +0100 | xirhtogal | lagothrix |
2020-12-08 04:30:49 +0100 | theDon | (~td@muedsl-82-207-238-155.citykom.de) (Ping timeout: 264 seconds) |
2020-12-08 04:31:10 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 04:31:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 04:32:17 +0100 | theDon | (~td@94.134.91.58) |
2020-12-08 04:32:45 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 04:33:36 +0100 | Guest28923 | (~lagothrix@unaffiliated/lagothrix) (Ping timeout: 240 seconds) |
2020-12-08 04:34:19 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 04:35:26 +0100 | xelxebar_ | (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
2020-12-08 04:35:54 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2020-12-08 04:36:04 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-12-08 04:36:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-08 04:36:29 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo) |
2020-12-08 04:38:47 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 265 seconds) |
2020-12-08 04:39:30 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt) |
2020-12-08 04:40:25 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
2020-12-08 04:40:37 +0100 | argento | (~argent0@168.227.97.29) |
2020-12-08 04:41:29 +0100 | <incertia> | i don't suppose you can use TH to import additional modules |
2020-12-08 04:44:53 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) |
2020-12-08 04:56:03 +0100 | mbirman | monadmatt |
2020-12-08 04:56:15 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) |
2020-12-08 04:56:49 +0100 | elliott__ | (~elliott@pool-108-45-178-3.washdc.fios.verizon.net) |
2020-12-08 04:58:50 +0100 | monadmatt | (~user@119-17-128-101.771180.mel.nbn.aussiebb.net) ("rcirc on GNU Emacs 27.1") |
2020-12-08 05:00:10 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 05:00:31 +0100 | <jle`> | i learned TH for that purpose actually initially :) |
2020-12-08 05:03:17 +0100 | falafel_ | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) |
2020-12-08 05:03:58 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 05:04:25 +0100 | texasmynsted | (~texasmyns@212.102.45.106) (Remote host closed the connection) |
2020-12-08 05:05:36 +0100 | falafel | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-12-08 05:09:49 +0100 | <ezzieyguywuf> | of the solutions offered on the SO thread, this last one seems to make the most sense to me. But I'm wondering why it's the least upvoted. any thoughts? https://stackoverflow.com/a/51740646 |
2020-12-08 05:12:07 +0100 | <jle`> | it has a lot of moving parts, maybe |
2020-12-08 05:12:49 +0100 | <ezzieyguywuf> | I'm not saying I don't like the accepted answer, but it too seems a bit roundabout and convoluted |
2020-12-08 05:13:25 +0100 | <ezzieyguywuf> | especially considering that in other languages this would be trivial with something like "do while" |
2020-12-08 05:14:08 +0100 | <ezzieyguywuf> | does the functional programming style not lend itself to these sorts of problems? or rather, should the problem perhaps be reframed into somethnig that is better suited to the functional approach? |
2020-12-08 05:14:24 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-08 05:14:33 +0100 | nowhereman | (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Remote host closed the connection) |
2020-12-08 05:15:09 +0100 | nowhereman | (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) |
2020-12-08 05:15:25 +0100 | <jle`> | i think the problem as stated is fine in a functional context |
2020-12-08 05:15:40 +0100 | <jle`> | the accepted answer is pretty functional, it's "look at the cumulative sums, and find the first or last one that matches" |
2020-12-08 05:15:53 +0100 | <jle`> | which is essentially what a for while loop does |
2020-12-08 05:16:21 +0100 | <jle`> | computes cumulative sums and breaks as soon as it reaches a condition |
2020-12-08 05:16:42 +0100 | <jle`> | in this case, scanl' (+) is the cumulative summer, and takeWhile/dropWhile is the condition checker |
2020-12-08 05:16:45 +0100 | <ezzieyguywuf> | i guess in either approach, an infinite loop is an inherent possibility |
2020-12-08 05:17:05 +0100 | <jle`> | sure, it's inherent. and sort of obvious in the list approach |
2020-12-08 05:17:07 +0100 | softwarm | (4408f588@ip68-8-245-136.sd.sd.cox.net) (Remote host closed the connection) |
2020-12-08 05:17:12 +0100 | <jle`> | maybe the for loop approach obscures that a little more |
2020-12-08 05:17:34 +0100 | <ezzieyguywuf> | i think the for-loop approach is probably easier to understand and reason about though |
2020-12-08 05:17:50 +0100 | <ezzieyguywuf> | but maybe that's just my imperitive background kicking in |
2020-12-08 05:18:12 +0100 | <ezzieyguywuf> | should they have used scanl' rather than scanl? |
2020-12-08 05:18:20 +0100 | <ezzieyguywuf> | something akin to foldl' vs foldl? |
2020-12-08 05:18:36 +0100 | <ezzieyguywuf> | oh wait, they used scanl1, whatever that is.. |
2020-12-08 05:18:47 +0100 | <jle`> | hm, idk, the "search the cumulative sums until you find what you are looking for" seems pretty intuitive to me |
2020-12-08 05:19:09 +0100 | <jle`> | maybe more or as intuitive than "allocate this state and mutate this variable and check it every time and stop mutating" |
2020-12-08 05:19:23 +0100 | <jle`> | but yeah, it's sort of a matter of experience and background maybe |
2020-12-08 05:19:33 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-08 05:20:13 +0100 | <jle`> | the first one is just "your answer is in the list, just do a simple search with a predicate" and the second is "manipulate the memory of your computer to conjure an answer" |
2020-12-08 05:20:28 +0100 | <jle`> | admittedly using head and dropWhile isn't the cleanest way to express it i think |
2020-12-08 05:20:31 +0100 | <jle`> | maybe i'd use 'find' |
2020-12-08 05:21:36 +0100 | <jle`> | % find (>= 1000) (scanl' (+) 0 [1..]) |
2020-12-08 05:21:36 +0100 | <yahb> | jle`: Just 1035 |
2020-12-08 05:21:51 +0100 | <jle`> | "in the cumulative sums starting from 1, find the first value greater than 1000 |
2020-12-08 05:21:59 +0100 | <ezzieyguywuf> | I think perhaps the part that is most jarring to me is that in the accepted answer, the way I reason or parse it is more or less as you've described it "FIRST make a list, THEN check each value in the list, THEN take the first one", and though I eventually also add "(oh by the way, due to laziness this isn't wasteful)" my initial thought is "but why process the whole list if you don't have to!" |
2020-12-08 05:22:15 +0100 | <jle`> | or maybe in a more declarative sense, "your answer is the first item in the cumulative sums that is greater than 1000" |
2020-12-08 05:22:19 +0100 | <ezzieyguywuf> | and in the imperitive approach it is made obvious that the list is only process as far as it needs to be. |
2020-12-08 05:22:19 +0100 | Unicorn_Princess | (~Unicorn_P@89-212-115-169.static.t-2.net) (Read error: Connection reset by peer) |
2020-12-08 05:22:41 +0100 | <jle`> | i think maybe you are thinking of the list as a container of values |
2020-12-08 05:22:43 +0100 | Unicorn_Princess | (~Unicorn_P@89-212-115-169.static.t-2.net) |
2020-12-08 05:22:52 +0100 | <ezzieyguywuf> | jle`: that is how I am thinking of the list |
2020-12-08 05:23:00 +0100 | <jle`> | instead of like as an iterator or streamer/control flow |
2020-12-08 05:23:17 +0100 | <jle`> | scanl' (+) [1..] isn't a container of values |
2020-12-08 05:23:26 +0100 | <ezzieyguywuf> | yea, I guess I could stand to improve my mental image of "lists" in haskell |
2020-12-08 05:23:28 +0100 | <jle`> | it's a stream of cumulative sums from 1 |
2020-12-08 05:24:00 +0100 | <ezzieyguywuf> | I remember something from Learn You a Haskell about permutations or something (related to the monad instance for lists I believe) that started to bring me down that path, but then I went on to something else |
2020-12-08 05:24:18 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 05:25:37 +0100 | <ezzieyguywuf> | jle`: I like your description, specifically the word "stream" |
2020-12-08 05:25:38 +0100 | <jle`> | yeah, when i see scanl' (+) [1..], i don't see an infinite container, i see a stream i can search or iterate through, mathematically, in a way |
2020-12-08 05:25:51 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) |
2020-12-08 05:25:52 +0100 | <jle`> | lists in haskell are most closely releated to for loops in other languages |
2020-12-08 05:25:53 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-08 05:26:19 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 05:26:20 +0100 | <jle`> | it's actually usually almost directly translatable |
2020-12-08 05:26:41 +0100 | <koz_> | We even have |
2020-12-08 05:26:44 +0100 | <koz_> | :t forM |
2020-12-08 05:26:45 +0100 | Unicorn_Princess | (~Unicorn_P@89-212-115-169.static.t-2.net) (Ping timeout: 240 seconds) |
2020-12-08 05:26:46 +0100 | <lambdabot> | (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) |
2020-12-08 05:26:51 +0100 | <jle`> | aka, `for` :) |
2020-12-08 05:26:51 +0100 | <koz_> | Look at that, a loop! |
2020-12-08 05:27:00 +0100 | <koz_> | :t for |
2020-12-08 05:27:01 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-08 05:27:02 +0100 | <lambdabot> | (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b) |
2020-12-08 05:27:06 +0100 | <koz_> | Look at that, also a loop! |
2020-12-08 05:27:09 +0100 | <jle`> | % for [1..10] \i -> print i |
2020-12-08 05:27:09 +0100 | <yahb> | jle`: ; <interactive>:97:13: error:; Unexpected lambda expression in function application:; \ i -> print i; You could write it with parentheses; Or perhaps you meant to enable BlockArguments? |
2020-12-08 05:27:13 +0100 | Unicorn_Princess | (~Unicorn_P@89-212-115-169.static.t-2.net) |
2020-12-08 05:27:18 +0100 | <jle`> | % :set -XBlockArguments |
2020-12-08 05:27:18 +0100 | <yahb> | jle`: |
2020-12-08 05:27:20 +0100 | <jle`> | % for [1..10] \i -> print i |
2020-12-08 05:27:20 +0100 | <yahb> | jle`: 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; [(),(),(),(),(),(),(),(),(),()] |
2020-12-08 05:27:29 +0100 | <jle`> | whoops, should have dropped the results. but yeah |
2020-12-08 05:27:30 +0100 | <koz_> | jle`: for_ maybe? |
2020-12-08 05:27:36 +0100 | <jle`> | mhm |
2020-12-08 05:27:42 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 05:27:44 +0100 | <koz_> | % for_ [1..10] print |
2020-12-08 05:27:44 +0100 | <yahb> | koz_: 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |
2020-12-08 05:27:48 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-08 05:28:09 +0100 | <koz_> | (although I typically spell that 'traverse_ print [1..10]') |
2020-12-08 05:28:38 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 05:29:22 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 05:29:51 +0100 | <ezzieyguywuf> | can someone show me a simple example using that `for`? |
2020-12-08 05:29:55 +0100 | Unicorn_Princess | (~Unicorn_P@89-212-115-169.static.t-2.net) (Client Quit) |
2020-12-08 05:30:17 +0100 | <jle`> | % for_ [1..10] (\i -> print i) |
2020-12-08 05:30:17 +0100 | <yahb> | jle`: 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |
2020-12-08 05:30:20 +0100 | <koz_> | ezzieyguywuf: We just did. |
2020-12-08 05:30:25 +0100 | <jle`> | oh, do you mean for and not for_ |
2020-12-08 05:30:48 +0100 | <koz_> | 'for' usually means you care about the result. |
2020-12-08 05:31:02 +0100 | <koz_> | (not just the effects) |
2020-12-08 05:31:40 +0100 | <ezzieyguywuf> | lol whoops, my eyes glazed over when I saw the % |
2020-12-08 05:31:49 +0100 | <ezzieyguywuf> | and the errors |
2020-12-08 05:32:38 +0100 | <Squarism> | Scala library had a pretty neat feature where you could strip all text before and including "|" in multiline strings. Is there something similar in Data.Text or Data.ByteString? |
2020-12-08 05:32:50 +0100 | <Squarism> | (per line that is) |
2020-12-08 05:33:04 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds) |
2020-12-08 05:33:12 +0100 | <koz_> | Squarism: No, not that I know of. You can do whitespace stripping, but not |-removal, at least not without writing it yourself. |
2020-12-08 05:33:12 +0100 | <jle`> | no :'( but some heredoc quasiquoters have that i think |
2020-12-08 05:34:01 +0100 | <Squarism> | ah, ok |
2020-12-08 05:34:21 +0100 | <dolio> | > "like \ \this?" |
2020-12-08 05:34:23 +0100 | <lambdabot> | "like this?" |
2020-12-08 05:34:48 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-08 05:35:51 +0100 | conal_ | (~conal@64.71.133.70) |
2020-12-08 05:36:50 +0100 | <ezzieyguywuf> | hrm, in ghci, `val = for [1..(10 :: Int)] (+ (1 :: Int))` gives me an error |
2020-12-08 05:37:03 +0100 | <ezzieyguywuf> | val = for [1..(10 :: Int)] (+ (1 :: Int)) |
2020-12-08 05:37:05 +0100 | <ezzieyguywuf> | I don't understand though |
2020-12-08 05:37:06 +0100 | <Squarism> | dolio, oh that might work then |
2020-12-08 05:37:23 +0100 | <koz_> | > for [1 .. (10 :: Int)] (+ (1 :: Int)) |
2020-12-08 05:37:26 +0100 | <lambdabot> | error: |
2020-12-08 05:37:26 +0100 | <lambdabot> | • Couldn't match type ‘Int’ with ‘f b’ |
2020-12-08 05:37:26 +0100 | <lambdabot> | Expected type: Int -> f b |
2020-12-08 05:37:38 +0100 | <koz_> | That's because + 1 has the wrong type. |
2020-12-08 05:37:41 +0100 | <koz_> | :t for |
2020-12-08 05:37:42 +0100 | <lambdabot> | (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b) |
2020-12-08 05:37:45 +0100 | texasmynsted | (~texasmyns@212.102.45.106) |
2020-12-08 05:37:49 +0100 | <jle`> | ezzieyguywuf: check the types, yeah, you probably want 'map' and not 'for' |
2020-12-08 05:37:52 +0100 | <koz_> | See how the function has to be of type (a -> f b)? |
2020-12-08 05:37:59 +0100 | <ezzieyguywuf> | so how come without the type annotations I get no error? |
2020-12-08 05:38:01 +0100 | <koz_> | The whole point of 'for' is that you have some effect. |
2020-12-08 05:38:09 +0100 | <seasonal-staff> | Lua has an interesting alternative to Haskell's \ \ string gaps. the \z escape eats whitespace up to the first non-whitespace |
2020-12-08 05:38:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-12-08 05:38:14 +0100 | <koz_> | If you don't need any effects, just use map. |
2020-12-08 05:38:15 +0100 | <ezzieyguywuf> | hm, I see |
2020-12-08 05:38:18 +0100 | <koz_> | (or fmap really) |
2020-12-08 05:38:26 +0100 | texasmynsted | (~texasmyns@212.102.45.106) (Remote host closed the connection) |
2020-12-08 05:39:50 +0100 | <ezzieyguywuf> | I have a `[Parsec e s a]` and I want to run this function until one returns a Right, so it sounds like `for` is the tool for the job yea? https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec.html#v:runParser |
2020-12-08 05:40:06 +0100 | <ezzieyguywuf> | but also, the way the arguments are arranged that's going to be tough... |
2020-12-08 05:40:21 +0100 | <koz_> | ezzieyguywuf: [Parsec e s a] isn't a 'function'. |
2020-12-08 05:40:32 +0100 | <koz_> | Like, I assume you wanna try each in order until one of them works? |
2020-12-08 05:40:45 +0100 | conal_ | (~conal@64.71.133.70) (Client Quit) |
2020-12-08 05:40:55 +0100 | <ezzieyguywuf> | koz_: yea, [Parsec e s a] is akin to the [1..10] above, the functio I want to use is runParser |
2020-12-08 05:41:12 +0100 | <koz_> | Yeah, that... wouldn't do what you think it does. |
2020-12-08 05:41:17 +0100 | <koz_> | Imagine you have five parsers. |
2020-12-08 05:41:23 +0100 | <koz_> | The first one eats half your input then fails. |
2020-12-08 05:41:24 +0100 | <koz_> | What do then? |
2020-12-08 05:41:26 +0100 | <ezzieyguywuf> | but I guess I'll have to write my own intermediate `runParser' :: String -> s -> Parsec e s a` |
2020-12-08 05:41:34 +0100 | <ezzieyguywuf> | koz_: doh! |
2020-12-08 05:41:35 +0100 | <Squarism> | dolio, hmm somehow that didnt work well. Does OverloadedStrings interfere with it? |
2020-12-08 05:41:56 +0100 | <ezzieyguywuf> | ahh you know what, megaparsec has a thing for this |
2020-12-08 05:41:58 +0100 | <ezzieyguywuf> | `choice` |
2020-12-08 05:42:12 +0100 | <koz_> | Yeah, 'choice' works, but you have to be careful about the input-eating thing. |
2020-12-08 05:42:16 +0100 | <dolio> | I doubt it. |
2020-12-08 05:42:26 +0100 | <dolio> | Can you paste what you entered? |
2020-12-08 05:42:39 +0100 | <koz_> | Namely, you wanna make sure your parsers are backtracking unless you actually _want_ the 'eat half your input' behaviour. |
2020-12-08 05:42:43 +0100 | <ezzieyguywuf> | koz_: I think choice takes care of that, but I'll check. |
2020-12-08 05:42:56 +0100 | <jle`> | choice for megaparsec isn't backtracking |
2020-12-08 05:42:57 +0100 | <koz_> | ezzieyguywuf: 'choice' in Megaparsec doesn't automagically backtrack AFAIK. |
2020-12-08 05:42:59 +0100 | <ezzieyguywuf> | this is also why I was asking about "where does `choice` come from" the other day... |
2020-12-08 05:43:13 +0100 | <iqubic> | I usually do "choice $ map try [parsers]" to force backtracking. |
2020-12-08 05:43:16 +0100 | <ezzieyguywuf> | oh snap. maybe I'll have to tack a `try` or w/e in front of each parser then |
2020-12-08 05:43:24 +0100 | <ezzieyguywuf> | yea, what iqubic said |
2020-12-08 05:43:29 +0100 | <seasonal-staff> | ideally you're refactored your grammar so that you don't need so many try though |
2020-12-08 05:43:33 +0100 | <koz_> | Yeah, that works, but it's a _very_ brute force approach. |
2020-12-08 05:43:44 +0100 | <iqubic> | I suppose it is. |
2020-12-08 05:43:51 +0100 | <koz_> | It's better to consider how much backtracking you really need - it's often less than you think. |
2020-12-08 05:43:51 +0100 | <seasonal-staff> | with parser combinators you're the parser compiler! |
2020-12-08 05:43:52 +0100 | <dsal> | is choice just asum? |
2020-12-08 05:43:58 +0100 | <seasonal-staff> | yeah |
2020-12-08 05:43:58 +0100 | <koz_> | dsal: Yeah, I think so? |
2020-12-08 05:44:01 +0100 | <ezzieyguywuf> | seasonal-staff: bleh, it's not like that, the parser is configurable at runtime via a configuration file so.... |
2020-12-08 05:44:35 +0100 | <seasonal-staff> | If you're exposing the parser combinators to your users, then your users are the parser compilers |
2020-12-08 05:44:52 +0100 | <koz_> | seasonal-staff: In Soviet Russia, you compile parsers, I guess. |
2020-12-08 05:45:24 +0100 | <ezzieyguywuf> | seasonal-staff: indeed |
2020-12-08 05:47:37 +0100 | essem | (essem@gateway/vpn/privateinternetaccess/essem) |
2020-12-08 05:47:43 +0100 | teardown_ | (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds) |
2020-12-08 05:52:39 +0100 | zaquest | (~notzaques@5.128.210.178) |
2020-12-08 05:53:07 +0100 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2020-12-08 05:55:06 +0100 | <nshepperd2> | i'm writing a type level parser combinator library |
2020-12-08 05:55:47 +0100 | <nshepperd2> | it's an adventure |
2020-12-08 05:55:54 +0100 | <iqubic> | That sounds both super useful, and super hard. |
2020-12-08 05:56:12 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-08 05:56:23 +0100 | <Axman6> | the lack of yupe level uncons for symvols most make that a lot of fun |
2020-12-08 05:56:27 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 05:56:51 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-08 05:56:54 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit) |
2020-12-08 05:57:47 +0100 | <jle`> | nshepperd2: oh, i wrote one at one point |
2020-12-08 05:58:17 +0100 | <jle`> | nshepperd2: https://github.com/mstksg/typelits-printf/blob/master/src/GHC/TypeLits/Printf/Internal/Parser.hs |
2020-12-08 05:59:10 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Remote host closed the connection) |
2020-12-08 05:59:20 +0100 | <iqubic> | Is there really no better way to get isAlpha to work? |
2020-12-08 05:59:58 +0100 | elliott__ | (~elliott@pool-108-45-178-3.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2020-12-08 06:00:13 +0100 | <nshepperd2> | oh, nice |
2020-12-08 06:01:14 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 06:02:26 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 06:04:23 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-08 06:06:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 06:07:22 +0100 | M1CK4L13N5 | (~u0_a626@36.74.54.29) |
2020-12-08 06:07:29 +0100 | <M1CK4L13N5> | helo |
2020-12-08 06:07:39 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection) |
2020-12-08 06:07:54 +0100 | <M1CK4L13N5> | anybody room ? |
2020-12-08 06:08:05 +0100 | <Axman6> | most of us are human :) |
2020-12-08 06:08:29 +0100 | <M1CK4L13N5> | helo man |
2020-12-08 06:08:46 +0100 | <Axman6> | Hello |
2020-12-08 06:09:14 +0100 | <M1CK4L13N5> | where do you come from ? |
2020-12-08 06:09:20 +0100 | <Axman6> | The internet |
2020-12-08 06:09:26 +0100 | <Axman6> | Do you have a question aboutHaskell? |
2020-12-08 06:09:29 +0100 | <M1CK4L13N5> | same as me h3h3 |
2020-12-08 06:09:30 +0100 | <Axman6> | about Haskell* |
2020-12-08 06:09:37 +0100 | nowhereman | (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Ping timeout: 272 seconds) |
2020-12-08 06:10:03 +0100 | <M1CK4L13N5> | what is this room ? |
2020-12-08 06:10:14 +0100 | <suzu_> | this is for discussion about the Haskell programming language |
2020-12-08 06:10:19 +0100 | <Axman6> | it's about the Haskell programming language. use /topic to find out more |
2020-12-08 06:10:37 +0100 | <M1CK4L13N5> | ouh okay thanks |
2020-12-08 06:11:36 +0100 | <Axman6> | jle`: is there a Symbol -> [SChar] in there? |
2020-12-08 06:11:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-08 06:12:04 +0100 | <Axman6> | Csongor Kiss did some crazy stuff to do that, I'm sure you've seen it |
2020-12-08 06:12:05 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
2020-12-08 06:12:10 +0100 | M1CK4L13N5 | (~u0_a626@36.74.54.29) (Quit: leaving) |
2020-12-08 06:13:07 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 06:13:33 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 06:14:39 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-08 06:15:19 +0100 | <jle`> | Axman6: yeah, i'm using their library :) |
2020-12-08 06:16:54 +0100 | <Axman6> | So I wrote a thing, and I don't know what tyo do with it (possibly making it publicly available is a bad idea... but no one would trust the security of any system to randonm code found on GitHub right???) https://github.com/axman6/Curve25519 |
2020-12-08 06:17:25 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-08 06:17:56 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-12-08 06:18:28 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 256 seconds) |
2020-12-08 06:18:47 +0100 | <iqubic> | Do I have to import anything in order to get generic lenses to work for me? |
2020-12-08 06:18:58 +0100 | MOSCOS | (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
2020-12-08 06:19:23 +0100 | MOSCOS | (~MOSCOS@122.54.107.175) |
2020-12-08 06:20:25 +0100 | <Axman6> | are you getting errors? |
2020-12-08 06:21:16 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Remote host closed the connection) |
2020-12-08 06:21:44 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 06:22:02 +0100 | <iqubic> | I figured it out. |
2020-12-08 06:22:53 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 06:23:17 +0100 | borne | (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-12-08 06:23:22 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) |
2020-12-08 06:26:22 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: Textual IRC Client: www.textualapp.com) |
2020-12-08 06:27:21 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c) (Ping timeout: 272 seconds) |
2020-12-08 06:27:24 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2020-12-08 06:31:06 +0100 | falafel_ | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-12-08 06:31:37 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Quit: SanchayanMaity) |
2020-12-08 06:32:28 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) |
2020-12-08 06:33:40 +0100 | Saukk | (~Saukk@2001:998:ec:944:a00f:6382:4f0:3e7e) (Remote host closed the connection) |
2020-12-08 06:35:16 +0100 | borne | (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de) |
2020-12-08 06:38:54 +0100 | dysfigured | (~dysfigure@li490-89.members.linode.com) (Quit: I hate quit messages.) |
2020-12-08 06:39:00 +0100 | kevin4venus | (~root@47.240.29.162) |
2020-12-08 06:39:15 +0100 | dysfigured | (~dysfigure@li490-89.members.linode.com) |
2020-12-08 06:39:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 06:41:55 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-12-08 06:43:11 +0100 | borne | (~fritjof@200116b864e55d009ba1d43461655289.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2020-12-08 06:44:04 +0100 | yianni | (~yianni@d24-57-15-190.home.cgocable.net) |
2020-12-08 06:45:50 +0100 | yianni | (~yianni@d24-57-15-190.home.cgocable.net) (Client Quit) |
2020-12-08 06:46:22 +0100 | <koz_> | Look at Axman6, all about dem curves. |
2020-12-08 06:46:51 +0100 | kevin4ve1us | (~root@47.240.27.221) |
2020-12-08 06:49:49 +0100 | kevin4venus | (~root@47.240.29.162) (Ping timeout: 246 seconds) |
2020-12-08 06:52:45 +0100 | <suzu_> | o boi |
2020-12-08 06:53:39 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-08 06:53:54 +0100 | grandpa_nick | (2d48ca23@45.72.202.35) |
2020-12-08 06:54:03 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-12-08 06:54:34 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2020-12-08 06:55:06 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 06:58:52 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
2020-12-08 06:59:21 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-08 07:00:16 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-12-08 07:05:05 +0100 | benjamingr__ | (uid23465@gateway/web/irccloud.com/x-vecwnwhdvzjuawlu) (Quit: Connection closed for inactivity) |
2020-12-08 07:05:35 +0100 | kevin4ve1us | (~root@47.240.27.221) (Remote host closed the connection) |
2020-12-08 07:09:22 +0100 | Feuermagier_ | (~Feuermagi@213.178.26.41) |
2020-12-08 07:10:29 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) (Read error: Connection reset by peer) |
2020-12-08 07:13:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-08 07:16:03 +0100 | jaekwon | (~jaekwon@185.163.110.125) (Remote host closed the connection) |
2020-12-08 07:16:04 +0100 | grandpa_nick | (2d48ca23@45.72.202.35) (Remote host closed the connection) |
2020-12-08 07:17:06 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 07:19:24 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-12-08 07:19:49 +0100 | heiog | (6fef9eb9@KD111239158185.au-net.ne.jp) |
2020-12-08 07:20:27 +0100 | mounty | (~mounty@2001:8000:2f59:0:a021:3f31:5fd8:b032) (Ping timeout: 260 seconds) |
2020-12-08 07:21:52 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds) |
2020-12-08 07:24:28 +0100 | heiog | (6fef9eb9@KD111239158185.au-net.ne.jp) (Remote host closed the connection) |
2020-12-08 07:25:23 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-12-08 07:26:03 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2020-12-08 07:26:04 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 07:31:11 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 07:31:54 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-12-08 07:32:55 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 07:35:32 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) (Ping timeout: 256 seconds) |
2020-12-08 07:36:13 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 07:36:56 +0100 | Cthalupa | (~cthulhu@47.186.47.75) (Ping timeout: 240 seconds) |
2020-12-08 07:37:42 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de) |
2020-12-08 07:39:24 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2020-12-08 07:42:02 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:d04d:c9b4:e354:8485) (Ping timeout: 260 seconds) |
2020-12-08 07:43:09 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) |
2020-12-08 07:43:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 07:44:45 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2020-12-08 07:46:31 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-08 07:47:12 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Client Quit) |
2020-12-08 07:48:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-08 07:48:16 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 07:48:31 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 07:50:03 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds) |
2020-12-08 07:50:55 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-12-08 07:54:09 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:eb3c:90c9:36da:57e0) |
2020-12-08 07:56:40 +0100 | phasespace | (~sar@89-162-33-21.fiber.signal.no) (Ping timeout: 246 seconds) |
2020-12-08 07:57:05 +0100 | ryanneph | (8ff43251@143.244.50.81) |
2020-12-08 07:58:02 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 272 seconds) |
2020-12-08 08:00:18 +0100 | tss1 | (~tss@185.204.1.185) |
2020-12-08 08:01:04 +0100 | bitmagie | (~Thunderbi@200116b8066de90079858d2098b7d8aa.dip.versatel-1u1.de) |
2020-12-08 08:04:05 +0100 | essem | (essem@gateway/vpn/privateinternetaccess/essem) (Ping timeout: 240 seconds) |
2020-12-08 08:09:08 +0100 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 256 seconds) |
2020-12-08 08:10:27 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2020-12-08 08:10:32 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-08 08:10:46 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) |
2020-12-08 08:11:20 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 08:11:22 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-08 08:15:54 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2020-12-08 08:17:11 +0100 | phasespace | (~sar@80-89-47-117.inet.signal.no) |
2020-12-08 08:18:23 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-12-08 08:20:41 +0100 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
2020-12-08 08:24:08 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 08:24:43 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-12-08 08:25:45 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 08:30:05 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving) |
2020-12-08 08:36:13 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) |
2020-12-08 08:37:46 +0100 | shf | (~sheaf@2a01:cb19:80cc:7e00:ec62:9801:2e60:ec94) |
2020-12-08 08:38:32 +0100 | <incertia> | does the order in which i runState and runExcept matter |
2020-12-08 08:38:39 +0100 | <incertia> | in terms of result |
2020-12-08 08:39:05 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 08:39:30 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 08:39:39 +0100 | <incertia> | i know they end up returning different things but does anything funky happen with the state |
2020-12-08 08:42:47 +0100 | Tops2 | (~Tobias@dyndsl-095-033-020-246.ewe-ip-backbone.de) |
2020-12-08 08:43:24 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) (Quit: Leaving) |
2020-12-08 08:43:53 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 08:44:11 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 08:45:18 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-12-08 08:45:46 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) |
2020-12-08 08:47:04 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 246 seconds) |
2020-12-08 08:48:01 +0100 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
2020-12-08 08:48:54 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 08:49:02 +0100 | <incertia> | i *think* StateT s (ExceptT e m) a rolls back errors and that's a side effect of how bind and lift interact? |
2020-12-08 08:50:35 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-08 08:50:37 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2020-12-08 08:50:44 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 240 seconds) |
2020-12-08 08:52:00 +0100 | <opqdonut> | @unmtl StateT s (ExceptT e m) a |
2020-12-08 08:52:00 +0100 | <lambdabot> | s -> ExceptT e m (a, s) |
2020-12-08 08:52:02 +0100 | <Ferdirand> | i think it's clearer if you expand the types of the transformers |
2020-12-08 08:52:10 +0100 | <Ferdirand> | ah, voila |
2020-12-08 08:52:15 +0100 | <opqdonut> | from the unmtl'd type you can clearly see that if there's an error there's no new state |
2020-12-08 08:54:53 +0100 | <opqdonut> | hmm oh unmtl doesn't support ExceptT... |
2020-12-08 08:54:53 +0100 | <opqdonut> | well it's basically `s -> Either e (m (a,s))` |
2020-12-08 08:54:53 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 08:54:53 +0100 | <incertia> | @unmtl StateT s (ErrorT e m) a |
2020-12-08 08:54:53 +0100 | <lambdabot> | s -> m (Either e (a, s)) |
2020-12-08 08:54:53 +0100 | <opqdonut> | right, that's better, and I got the place of the m wrong |
2020-12-08 08:54:53 +0100 | loller_ | (uid358106@gateway/web/irccloud.com/x-wqkamkonpztckcgq) (Quit: Connection closed for inactivity) |
2020-12-08 08:54:53 +0100 | sQVe | (~sQVe@unaffiliated/sqve) |
2020-12-08 08:54:53 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 08:54:53 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2020-12-08 08:54:54 +0100 | <opqdonut> | @unmtl ErrorT e (StateT s m) a |
2020-12-08 08:54:54 +0100 | <lambdabot> | s -> m (Either e a, s) |
2020-12-08 08:54:54 +0100 | <incertia> | makes sense |
2020-12-08 08:54:54 +0100 | <opqdonut> | that's the monad you want if errors shouldn't roll back state |
2020-12-08 08:54:54 +0100 | <koz_> | So yeah, it does matter a great deal. |
2020-12-08 08:55:12 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 08:55:15 +0100 | meck | (~meck@li1809-18.members.linode.com) (Remote host closed the connection) |
2020-12-08 08:55:38 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 08:56:44 +0100 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 256 seconds) |
2020-12-08 08:58:24 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 08:58:41 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 08:59:06 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-08 09:00:32 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) |
2020-12-08 09:00:52 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) (Remote host closed the connection) |
2020-12-08 09:01:44 +0100 | jedws | (~jedws@121.209.181.215) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 09:02:15 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
2020-12-08 09:02:18 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-08 09:02:34 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-08 09:03:41 +0100 | meck | (~meck@li1809-18.members.linode.com) |
2020-12-08 09:03:58 +0100 | Tops21 | (~Tobias@dyndsl-095-033-020-246.ewe-ip-backbone.de) |
2020-12-08 09:04:40 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 09:05:38 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 09:05:56 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-rzuvzgsqtyjylpyp) (Quit: Connection closed for inactivity) |
2020-12-08 09:06:37 +0100 | Feuermagier_ | (~Feuermagi@213.178.26.41) (Quit: Leaving) |
2020-12-08 09:06:37 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 09:06:54 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 09:07:16 +0100 | Tops2 | (~Tobias@dyndsl-095-033-020-246.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
2020-12-08 09:07:20 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
2020-12-08 09:07:39 +0100 | emmanuel_erc | (~user@2604:2000:1382:ce03:8098:7b4a:87e8:5ce7) (Ping timeout: 246 seconds) |
2020-12-08 09:09:53 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2020-12-08 09:13:33 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
2020-12-08 09:14:13 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 09:15:18 +0100 | dwt | (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
2020-12-08 09:15:32 +0100 | jedws | (~jedws@121.209.181.215) |
2020-12-08 09:16:02 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) |
2020-12-08 09:17:35 +0100 | danvet_ | (~danvet@2a02:168:57f4:0:5f80:650d:c6e6:3453) (Client Quit) |
2020-12-08 09:17:45 +0100 | catchme_ | (uid355354@gateway/web/irccloud.com/x-ifzvgcjuyamurihg) |
2020-12-08 09:19:38 +0100 | LKoen | (~LKoen@228.162.9.109.rev.sfr.net) |
2020-12-08 09:21:05 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2020-12-08 09:22:28 +0100 | jianbo | (~jianbo@2601:246:4000:b22:6c54:df8a:9bd9:dba6) |
2020-12-08 09:23:14 +0100 | <boxscape> | hm It seems strange to me that an ifThenElse function wasn't added to Prelude when RebindableSyntax was introduced |
2020-12-08 09:25:56 +0100 | catchme_ | catchme |
2020-12-08 09:27:48 +0100 | ryanneph | (8ff43251@143.244.50.81) (Remote host closed the connection) |
2020-12-08 09:29:23 +0100 | <dminuoso> | Is something like boolean blindness addressable in Haskell at all, or is most of that just a hint at "Agda is better for guaranteesing correctness"? |
2020-12-08 09:29:43 +0100 | christo | (~chris@81.96.113.213) |
2020-12-08 09:29:49 +0100 | <dminuoso> | Because it seems to be constructive proofs for everything, say equality between two things, seems rather difficult on the value level. |
2020-12-08 09:30:03 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-12-08 09:31:54 +0100 | shenyi | (uid216035@gateway/web/irccloud.com/x-ojvoeipqhxhkiuhf) (Quit: Connection closed for inactivity) |
2020-12-08 09:31:58 +0100 | <int-e> | well, use a different one |
2020-12-08 09:34:50 +0100 | jianbo | (~jianbo@2601:246:4000:b22:6c54:df8a:9bd9:dba6) (Ping timeout: 264 seconds) |
2020-12-08 09:35:24 +0100 | <dminuoso> | Such as? |
2020-12-08 09:36:46 +0100 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection) |
2020-12-08 09:37:03 +0100 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) |
2020-12-08 09:38:10 +0100 | <int-e> | sorry, that was meant for another channel |
2020-12-08 09:38:46 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-08 09:38:56 +0100 | <idnar> | dminuoso: you can replace the boolean with a sum type |
2020-12-08 09:39:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Remote host closed the connection) |
2020-12-08 09:40:00 +0100 | <idnar> | (that witnesses whatever the condition is) |
2020-12-08 09:40:08 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) |
2020-12-08 09:43:45 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2020-12-08 09:45:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cc3:649d:beb7:1989) (Ping timeout: 264 seconds) |
2020-12-08 09:46:39 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-deizflgbbgyoqway) (Quit: Connection closed for inactivity) |
2020-12-08 09:48:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-12-08 09:48:35 +0100 | <dminuoso> | idnar: But doesn't that bring you back to the original problem that you don't even know what the sum type witnesses because you dont know how it was constructed? |
2020-12-08 09:48:44 +0100 | <dminuoso> | I mean that is precisely the problem behind Bool in the first place. |
2020-12-08 09:49:35 +0100 | <cheater> | hi. building llvm-hs 9.0.1 fails on windows because you can't have LLVM-9.dll on windows (too many exports for the windows dll format) and during building llvm-hs 9.0.1, it calls llvm-config with --link-shared which tries to link things against LLVM-9.dll which does not exist. how can i prevent llvm-hs from doing --link-shared? |
2020-12-08 09:49:52 +0100 | <dminuoso> | Let's take the case of equality between two nodes in a tree. How could you encode their equality constructively in a sum type? |
2020-12-08 09:50:13 +0100 | <dminuoso> | It almost seems as if you need a different meta language to even talk about it (like how the value level supplies proof for type level programming) |
2020-12-08 09:50:54 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:14a1:46f4:68f7:2133) |
2020-12-08 09:51:13 +0100 | <idnar> | dminuoso: maybe `data Pair a = Same a | Different a a` ? |
2020-12-08 09:51:25 +0100 | <[exa]> | cheater: this is not constructive but the easiest solution seems to omit windows from the pipeline, if you can |
2020-12-08 09:51:34 +0100 | <cheater> | it is not |
2020-12-08 09:51:43 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) |
2020-12-08 09:51:52 +0100 | <dminuoso> | idnar: For representational equality that works I guess. |
2020-12-08 09:52:08 +0100 | <dminuoso> | Though, here again, `Different a a` is not proof they are different. |
2020-12-08 09:52:20 +0100 | <[exa]> | cheater: otherwise try to build everything with -static and grep the llvm-hs code for any place where the --link-shared originates |
2020-12-08 09:52:47 +0100 | <dminuoso> | But to be fair, I asked for proof of equality not proof of inequality. |
2020-12-08 09:53:35 +0100 | <cheater> | hmm yeah |
2020-12-08 09:54:15 +0100 | <idnar> | dminuoso: yeah, I guess a "100%" solution is tricky |
2020-12-08 09:54:23 +0100 | <[exa]> | cheater: you might want to undo this default https://github.com/llvm-hs/llvm-hs/pull/39 |
2020-12-08 09:54:57 +0100 | <cheater> | linkFlag = case lookupFlagAssignment (mkFlagName "shared-llvm") flags of Nothing -> "--link-shared" Just shared -> if shared then "--link-shared" else "--link-static" |
2020-12-08 09:55:10 +0100 | <cheater> | how would i set this flag? that's from Setup.hs |
2020-12-08 09:55:32 +0100 | <[exa]> | cheater: please consider pastebin for larger pieces of code :] |
2020-12-08 09:55:50 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 09:56:04 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 09:56:04 +0100 | drbean | (~drbean@TC210-63-209-156.static.apol.com.tw) (Ping timeout: 256 seconds) |
2020-12-08 09:56:09 +0100 | <[exa]> | anyway you should be able to set the -f flags with cabal |
2020-12-08 09:56:35 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 09:57:12 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 09:57:54 +0100 | <boxscape> | dminuoso it might be annoying with the current state of dependent types in Haskell but it's certainly *possible* to have `data Dec a = Yes a | No (a -> Void)` and then use `Dec (a :~: b)` in your types |
2020-12-08 09:58:22 +0100 | <cheater> | yes, not sure how. cabal configure -fshared-llvm=False doesn't work, cabal errors out with "invalid flag assignment: shared-llvm=False" |
2020-12-08 09:59:16 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed) |
2020-12-08 09:59:27 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) |
2020-12-08 09:59:47 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
2020-12-08 10:00:00 +0100 | <[exa]> | can the flags be negated this way? |
2020-12-08 10:00:10 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-08 10:00:27 +0100 | <cheater> | i think the correct syntax is cabal <command> --constraint='llvm-hs -shared-llvm' |
2020-12-08 10:00:36 +0100 | <cheater> | where - means disabling as opposed to + |
2020-12-08 10:00:37 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 10:01:29 +0100 | <[exa]> | o here https://cabal.readthedocs.io/en/3.4/cabal-project.html#cfg-field-flags |
2020-12-08 10:01:42 +0100 | <dminuoso> | boxscape: Sure, but again that's on the wrong level. Nothing prevents me from building `Yes (Refl 1 2)` |
2020-12-08 10:01:50 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Ping timeout: 264 seconds) |
2020-12-08 10:01:51 +0100 | <boxscape> | dminuoso yes, the typechecker does |
2020-12-08 10:01:56 +0100 | <boxscape> | or do you mean |
2020-12-08 10:02:02 +0100 | <boxscape> | well no |
2020-12-08 10:02:06 +0100 | <boxscape> | the typechecker does |
2020-12-08 10:02:10 +0100 | Kaivo | (~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 260 seconds) |
2020-12-08 10:02:25 +0100 | <dminuoso> | % data Dec a = Yes a | No (a -> Void) |
2020-12-08 10:02:25 +0100 | <yahb> | dminuoso: |
2020-12-08 10:02:28 +0100 | <[exa]> | cheater: so perhaps -f-shared-llvm (or -fno-shared-llvm) |
2020-12-08 10:02:39 +0100 | <dminuoso> | % :t Yes (Refl 'a' 'b') |
2020-12-08 10:02:39 +0100 | <yahb> | dminuoso: ; <interactive>:1:6: error:; * Couldn't match expected type `Char -> Char -> a' with actual type `a0 :~: a0'; * The function `Refl' is applied to two arguments,; but its type `a0 :~: a0' has none; In the first argument of `Yes', namely `(Refl 'a' 'b')'; In the expression: Yes (Refl 'a' 'b') |
2020-12-08 10:02:46 +0100 | <dminuoso> | Oh wait |
2020-12-08 10:02:48 +0100 | <boxscape> | dminuoso it has to be (Refl :: 1 :~: 2) |
2020-12-08 10:03:10 +0100 | <cheater> | [exa]: oh, i'll try that |
2020-12-08 10:03:13 +0100 | <dminuoso> | boxscape: Ah yeah my brain was on a pause for a second. |
2020-12-08 10:03:27 +0100 | <dminuoso> | boxscape: So to have a constructive proof, I need to lift the values to the type level. |
2020-12-08 10:03:33 +0100 | <cheater> | thanks! |
2020-12-08 10:03:34 +0100 | <boxscape> | right |
2020-12-08 10:03:55 +0100 | <[exa]> | cheater: so in llvm-hs, you'd do `cabal install -f-shared-llvm`, in a reverse dependency you'd use the --constraint= syntax |
2020-12-08 10:04:06 +0100 | Kaivo | (~Kaivo@104-200-86-99.mc.derytele.com) |
2020-12-08 10:04:15 +0100 | <[exa]> | so your first version was right it seems, cool |
2020-12-08 10:05:06 +0100 | <cheater> | ok, well, llvm-hs's Setup.hs fails with fromJust: Nothing |
2020-12-08 10:05:21 +0100 | <cheater> | i have no idea why, the code doesn't look like it should be getting a Nothing?? |
2020-12-08 10:05:34 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2020-12-08 10:05:34 +0100 | <cheater> | let getLibs = liftM (map (fromJust . stripPrefix "-l") . words) . llvmConfig |
2020-12-08 10:06:32 +0100 | <[exa]> | can you get the value of llvmConfig? |
2020-12-08 10:07:40 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) |
2020-12-08 10:07:40 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) (Remote host closed the connection) |
2020-12-08 10:07:43 +0100 | <cheater> | i think that's not it |
2020-12-08 10:07:51 +0100 | <cheater> | i think they're looking for libs in the form of -lfoo -lbar |
2020-12-08 10:08:03 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-12-08 10:08:04 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) |
2020-12-08 10:08:05 +0100 | <cheater> | and then they encounter -f-shared-llvm |
2020-12-08 10:08:32 +0100 | <cheater> | so the code is just plain wrong, because it expects every flag to start with -l |
2020-12-08 10:08:40 +0100 | <cheater> | let me try to see what's inside llvmConfig though, you're right |
2020-12-08 10:09:41 +0100 | bitmagie | (~Thunderbi@200116b8066de90079858d2098b7d8aa.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-12-08 10:10:22 +0100 | <cheater> | wait, what was the way to make cabal load a package from my own dir on my disk, rather than from hackage? i forgot |
2020-12-08 10:10:23 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 10:10:24 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-12-08 10:10:32 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-12-08 10:10:49 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 10:10:54 +0100 | <cheater> | ah, found it |
2020-12-08 10:10:58 +0100 | Lord_of_Life | (~Lord@46.217.216.160) (Changing host) |
2020-12-08 10:10:58 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2020-12-08 10:11:16 +0100 | <dminuoso> | Is there a way to detect whether or not a pragma is disabled in TH? |
2020-12-08 10:12:24 +0100 | <dminuoso> | A language pragma, I mean |
2020-12-08 10:13:17 +0100 | <Taneb> | dminuoso: there's "isExtEnabled :: Extension -> Q Bool" |
2020-12-08 10:13:38 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-08 10:14:12 +0100 | <cheater> | looks like it's just packages: ../llvm-hs-9.0.1 inside cabal.project.local, right? |
2020-12-08 10:15:04 +0100 | <[exa]> | cheater: I'm usually just moving the package to a subdirectory (not sure if that's needed) and add just cabal install the subpath |
2020-12-08 10:15:11 +0100 | <[exa]> | cabal.project helps too |
2020-12-08 10:15:14 +0100 | <dminuoso> | Taneb: That's perfect, cheers! I kept searching for "pragma" and "language" to no avail, that helped. |
2020-12-08 10:15:27 +0100 | <cheater> | [exa]: hmm, that wasn't how i usually did that. i'm kinda lost. |
2020-12-08 10:15:51 +0100 | <[exa]> | cheater: not even sure if these 2 do the same thing or one is deprecated, hopefully some cabal guru will show up... :D ) |
2020-12-08 10:16:45 +0100 | <[exa]> | cheater: in one project's cabal.project I have: `packages: \n ./somepackage/*.cabal` |
2020-12-08 10:16:53 +0100 | <cheater> | right |
2020-12-08 10:17:11 +0100 | <[exa]> | also ./*.cabal in your case, for consistency |
2020-12-08 10:17:48 +0100 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-08 10:17:57 +0100 | Maxdaman1us | Maxdamantus |
2020-12-08 10:20:20 +0100 | <Taneb> | dminuoso: I guess "pragma" would be incorrect because you can set them as GHC flags or cabal options too |
2020-12-08 10:21:16 +0100 | <cheater> | yeah i think that's correct exa |
2020-12-08 10:21:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-12-08 10:21:30 +0100 | argento | (~argent0@168.227.97.29) (Quit: leaving) |
2020-12-08 10:21:54 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-08 10:23:07 +0100 | <boxscape> | "LANGUAGE pragma" is the name of the {-# LANGUAGE a, b, c #-} construct that allows you to enable extensions a, b, c |
2020-12-08 10:25:15 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-lfqkgsukxlcssdou) (Quit: Connection closed for inactivity) |
2020-12-08 10:27:54 +0100 | <cheater> | anyone on linux here? what sort of output do you get from llvm-config --libs --link-shared ? |
2020-12-08 10:28:18 +0100 | <cheater> | [exa] you're on linux, right? :) |
2020-12-08 10:29:18 +0100 | <[exa]> | yeah |
2020-12-08 10:29:35 +0100 | <[exa]> | anyway I get: -lLLVM-9 |
2020-12-08 10:30:08 +0100 | <cheater> | that's all? |
2020-12-08 10:30:13 +0100 | <[exa]> | yeah. from --link--static there's a list of like ~150 libraries |
2020-12-08 10:30:31 +0100 | <cheater> | what do the first few look like? |
2020-12-08 10:31:17 +0100 | <[exa]> | https://pastebin.com/B7Ji2rUs |
2020-12-08 10:31:37 +0100 | <cheater> | thanks |
2020-12-08 10:33:10 +0100 | kuribas | (~user@ptr-25vy0i99gxf0ju0nzkm.18120a2.ip6.access.telenet.be) |
2020-12-08 10:35:18 +0100 | hans_ | (~hans@94-214-46-13.cable.dynamic.v4.ziggo.nl) |
2020-12-08 10:37:39 +0100 | <boxscape> | hmm which would you prefer, `catMaybes . fmap join` or catMaybes . catMaybes` |
2020-12-08 10:38:53 +0100 | <Taneb> | boxscape: slight preference for the first one |
2020-12-08 10:39:00 +0100 | <boxscape> | okay |
2020-12-08 10:39:15 +0100 | fendor | (~fendor@178.115.129.186.wireless.dyn.drei.com) |
2020-12-08 10:39:23 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2020-12-08 10:40:28 +0100 | <merijn> | Courtesy of Facebook just reminding me of stumbling on this quote years ago: |
2020-12-08 10:40:31 +0100 | <merijn> | @quote farpotshket |
2020-12-08 10:40:31 +0100 | <lambdabot> | andr00 says: Today's software engineering word is "farpotshket." This is a Yiddish word meaning, "broken, because someone tried to fix it." |
2020-12-08 10:40:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) |
2020-12-08 10:44:52 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 10:45:37 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) (Ping timeout: 258 seconds) |
2020-12-08 10:48:13 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0) |
2020-12-08 10:49:52 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Ping timeout: 260 seconds) |
2020-12-08 10:49:55 +0100 | <tdammers> | yiddish has a knack for having words for concepts that don't exist in other languages |
2020-12-08 10:50:24 +0100 | <boxscape> | hm I can't find the etymology on farpotshket |
2020-12-08 10:51:54 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-08 10:52:56 +0100 | Cthalupa | (~cthulhu@47.186.47.75) (Ping timeout: 240 seconds) |
2020-12-08 10:53:46 +0100 | <boxscape> | ah patchken is from Russian |
2020-12-08 10:54:12 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2020-12-08 10:54:13 +0100 | <merijn> | tdammers: I didn't realise how much lasting legacy Yiddish and Bargoens had in Amsterdam until I went to university and ran into a bunch of people unfamiliar with words I considered "basic Dutch" :p |
2020-12-08 10:54:32 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2020-12-08 10:55:27 +0100 | bitmagie | (~Thunderbi@200116b8066de90079858d2098b7d8aa.dip.versatel-1u1.de) |
2020-12-08 10:56:42 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-12-08 10:57:23 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-08 10:58:11 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-12-08 11:01:17 +0100 | <lortabac> | I'm getting a weird error: No instance for (Functor ((,,) Int Text)) |
2020-12-08 11:01:31 +0100 | <lortabac> | does anybody know what might be happening? |
2020-12-08 11:01:43 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2020-12-08 11:01:52 +0100 | <opqdonut> | you're trying to fmap over a triple? |
2020-12-08 11:01:56 +0100 | <lortabac> | yes |
2020-12-08 11:02:03 +0100 | <opqdonut> | well there is no such functor instance :) |
2020-12-08 11:02:16 +0100 | <opqdonut> | only for tuples |
2020-12-08 11:02:25 +0100 | <opqdonut> | I mean 2-tuples, pairs |
2020-12-08 11:02:41 +0100 | <opqdonut> | > fmap succ ("foo",2) |
2020-12-08 11:02:43 +0100 | <lambdabot> | ("foo",3) |
2020-12-08 11:02:44 +0100 | <boxscape> | you could do Functor ((,) (Int, Text)) maybe |
2020-12-08 11:02:53 +0100 | <opqdonut> | > fmap succ (4,"foo",2) |
2020-12-08 11:02:55 +0100 | <lambdabot> | (4,"foo",3) |
2020-12-08 11:02:59 +0100 | <boxscape> | hmm |
2020-12-08 11:03:00 +0100 | <lortabac> | I see it in Haddock |
2020-12-08 11:03:01 +0100 | <opqdonut> | oh wow that instance is on lambdabot |
2020-12-08 11:03:02 +0100 | <tdammers> | merijn: de mazzel he |
2020-12-08 11:03:38 +0100 | <boxscape> | yeah the instance does appear to be in Prelude |
2020-12-08 11:03:39 +0100 | <Taneb> | lortabac: which version of GHC are you using? |
2020-12-08 11:03:39 +0100 | <opqdonut> | the triple instance is only "Since: 4.14.0.0 |
2020-12-08 11:03:44 +0100 | <opqdonut> | so very new |
2020-12-08 11:04:01 +0100 | <opqdonut> | 8.10 |
2020-12-08 11:04:05 +0100 | <opqdonut> | GHC 8.10 that is |
2020-12-08 11:04:33 +0100 | <lortabac> | oh ok that explains the mystery |
2020-12-08 11:04:38 +0100 | <boxscape> | I wonder how they decided to stop at (,,,) |
2020-12-08 11:04:39 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-08 11:05:47 +0100 | aidecoe | (~aidecoe@unaffiliated/aidecoe) (Remote host closed the connection) |
2020-12-08 11:06:41 +0100 | <maerwald> | flipped a coin |
2020-12-08 11:06:58 +0100 | <opqdonut> | or a d6? |
2020-12-08 11:07:10 +0100 | <maerwald> | d20 |
2020-12-08 11:07:10 +0100 | <lambdabot> | maerwald: 3 |
2020-12-08 11:07:17 +0100 | <maerwald> | wat |
2020-12-08 11:07:21 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2020-12-08 11:07:23 +0100 | <boxscape> | 4d20 |
2020-12-08 11:07:23 +0100 | <lambdabot> | boxscape: 60 |
2020-12-08 11:07:23 +0100 | <opqdonut> | ha |
2020-12-08 11:07:53 +0100 | <boxscape> | strange to have a command that's not prefixed by > or @ or : |
2020-12-08 11:08:02 +0100 | <Uniaika> | fmap succ ("foo", "bar", "barf", 2) |
2020-12-08 11:08:08 +0100 | <Uniaika> | > fmap succ ("foo", "bar", "barf", 2) |
2020-12-08 11:08:10 +0100 | <lambdabot> | ("foo","bar","barf",3) |
2020-12-08 11:08:43 +0100 | <Uniaika> | < boxscape> I wonder how they decided to stop at (,,,) // Nobody went to the maintainers to ask for a larger instance :) |
2020-12-08 11:08:52 +0100 | <boxscape> | I suppose so |
2020-12-08 11:09:46 +0100 | <maerwald> | should run some TH code that infers the maximum instance based on the number of build jobs |
2020-12-08 11:09:50 +0100 | john20 | (522e3b7a@82.46.59.122) |
2020-12-08 11:10:26 +0100 | <boxscape> | or based on the number of mailing list requests that are asking for it |
2020-12-08 11:11:16 +0100 | ubert | (~Thunderbi@p200300ecdf1e5312e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-12-08 11:12:34 +0100 | borne | (~fritjof@200116b86420b200bcbe2553f445a41b.dip.versatel-1u1.de) |
2020-12-08 11:12:50 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 11:13:03 +0100 | <merijn> | tdammers: mazzel is pretty universal, is was thinking more like achenebbisj |
2020-12-08 11:13:42 +0100 | guest128 | (~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1)) |
2020-12-08 11:15:17 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 11:15:30 +0100 | <ski> | @dice 4d20-2 |
2020-12-08 11:15:30 +0100 | <lambdabot> | ski: 36 - 2 => 34 |
2020-12-08 11:16:58 +0100 | <boxscape> | 200000000000000000000d2000000000000000000000000 |
2020-12-08 11:16:58 +0100 | <lambdabot> | boxscape: 200000000011101321490973505089978167756587008 |
2020-12-08 11:17:00 +0100 | <boxscape> | not bad |
2020-12-08 11:17:20 +0100 | <boxscape> | would have taken me quite a while to throw those myslef |
2020-12-08 11:17:26 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 258 seconds) |
2020-12-08 11:18:50 +0100 | catchme | (uid355354@gateway/web/irccloud.com/x-ifzvgcjuyamurihg) (Quit: Connection closed for inactivity) |
2020-12-08 11:19:13 +0100 | bitmagie | (~Thunderbi@200116b8066de90079858d2098b7d8aa.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-12-08 11:23:37 +0100 | lxsameer | (~lxsameer@unaffiliated/lxsameer) (Ping timeout: 264 seconds) |
2020-12-08 11:25:16 +0100 | p3n | (~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-08 11:26:59 +0100 | <__monty__> | merijn: I think we spell that achenebbig. |
2020-12-08 11:28:33 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 258 seconds) |
2020-12-08 11:31:57 +0100 | p3n | (~p3n@217.198.124.246) |
2020-12-08 11:35:01 +0100 | Franciman | (~francesco@host-212-171-46-126.retail.telecomitalia.it) |
2020-12-08 11:36:52 +0100 | <merijn> | __monty__: I had to google how to spell it, I only use it in speech :p |
2020-12-08 11:37:08 +0100 | lxsameer | (lxsameer@gateway/vpn/protonvpn/lxsameer) |
2020-12-08 11:40:30 +0100 | rprije | (~rprije@14-201-170-17.tpgi.com.au) (Ping timeout: 256 seconds) |
2020-12-08 11:41:18 +0100 | <__monty__> | Just never heard it with an s. |
2020-12-08 11:43:44 +0100 | p3n | (~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-08 11:44:01 +0100 | fendor | (~fendor@178.115.129.186.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-08 11:44:09 +0100 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
2020-12-08 11:45:05 +0100 | fendor | (~fendor@178.115.129.186.wireless.dyn.drei.com) |
2020-12-08 11:51:13 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 11:53:26 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:eb3c:90c9:36da:57e0) (Ping timeout: 264 seconds) |
2020-12-08 11:54:00 +0100 | <tdammers> | how does one google phonetically? |
2020-12-08 11:54:52 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 11:55:32 +0100 | <boxscape> | "Ok google, how do I spell ..." |
2020-12-08 11:55:49 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2020-12-08 11:59:30 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-08 12:01:31 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2020-12-08 12:01:52 +0100 | Franciman | (~francesco@host-212-171-46-126.retail.telecomitalia.it) (Ping timeout: 272 seconds) |
2020-12-08 12:03:15 +0100 | <tdammers> | hmm... |
2020-12-08 12:05:06 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:230f:7e22:ba44:597f) |
2020-12-08 12:05:52 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
2020-12-08 12:08:32 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 12:15:56 +0100 | loller_ | (uid358106@gateway/web/irccloud.com/x-kppxruluvpavuchz) |
2020-12-08 12:16:33 +0100 | nff_ | (~nff_@82.84.72.37) |
2020-12-08 12:17:18 +0100 | stzsch | (~stzsch@187.44.81.18) |
2020-12-08 12:19:32 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Ping timeout: 258 seconds) |
2020-12-08 12:20:31 +0100 | ClaudiusMaximus | (~claude@223.153.198.146.dyn.plus.net) |
2020-12-08 12:20:37 +0100 | ClaudiusMaximus | (~claude@223.153.198.146.dyn.plus.net) (Changing host) |
2020-12-08 12:20:37 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2020-12-08 12:20:57 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-08 12:22:03 +0100 | john20 | (522e3b7a@82.46.59.122) (Remote host closed the connection) |
2020-12-08 12:22:44 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 12:23:00 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 12:28:33 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 12:29:23 +0100 | MidAutumnHotaru3 | (~MidAutumn@154.91.197.93) |
2020-12-08 12:31:02 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c) |
2020-12-08 12:31:16 +0100 | MidAutumnHotaru | (~MidAutumn@154.91.197.93) (Ping timeout: 240 seconds) |
2020-12-08 12:31:16 +0100 | MidAutumnHotaru3 | MidAutumnHotaru |
2020-12-08 12:32:29 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2020-12-08 12:32:30 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 12:32:41 +0100 | aletheia2 | (5dcb8e3f@p5dcb8e3f.dip0.t-ipconnect.de) |
2020-12-08 12:33:08 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 12:33:29 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-12-08 12:33:39 +0100 | <aletheia2> | I've got a quck question, is it possible in haskell to pass a record as function parameter both in the destructured version Foo{x= y} etc.. and with a variable name at the same time? |
2020-12-08 12:34:30 +0100 | <tomsmeding> | aletheia2: what do you mean exactly when you say "with a variable name"? |
2020-12-08 12:34:54 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 12:35:20 +0100 | <aletheia2> | the full record, just like bar record = ... |
2020-12-08 12:36:23 +0100 | <tomsmeding> | do you perhaps mean an "as-binding": myfunction r@Foo{x=y} = {- something with r and y -} |
2020-12-08 12:36:40 +0100 | <aletheia2> | yes that's exactly what i was looking for, thanks |
2020-12-08 12:36:44 +0100 | the-smug-one | (~user@83-92-112-87-cable.dk.customer.tdc.net) |
2020-12-08 12:36:52 +0100 | <tomsmeding> | that notation also works for other things, like tup@(x,y) |
2020-12-08 12:39:02 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
2020-12-08 12:42:05 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-12-08 12:42:13 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) |
2020-12-08 12:45:34 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 12:47:08 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) (Ping timeout: 260 seconds) |
2020-12-08 12:47:17 +0100 | f-a | (~f-a@151.44.27.153) |
2020-12-08 12:50:01 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 264 seconds) |
2020-12-08 12:55:42 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds) |
2020-12-08 12:58:06 +0100 | <dminuoso> | aletheia2: Note, if you have lens you you get to write it as : ` let x = ...; y = x & someField %~ (+1); in ... f x ..` |
2020-12-08 12:58:09 +0100 | <dminuoso> | (Or optics) |
2020-12-08 12:58:51 +0100 | Wuzzy | (~Wuzzy@p549c9bc8.dip0.t-ipconnect.de) |
2020-12-08 12:58:58 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 12:59:58 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 13:00:58 +0100 | shf | (~sheaf@2a01:cb19:80cc:7e00:ec62:9801:2e60:ec94) (Read error: Connection reset by peer) |
2020-12-08 13:01:09 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-12-08 13:03:12 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-12-08 13:03:14 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-12-08 13:03:37 +0100 | columbarius | (~columbari@i5E86B3C5.versanet.de) (Ping timeout: 246 seconds) |
2020-12-08 13:05:12 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 13:05:59 +0100 | columbarius | (~columbari@94.134.93.69) |
2020-12-08 13:06:01 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 13:08:56 +0100 | dhil | (~dhil@195.213.192.34) |
2020-12-08 13:10:24 +0100 | ADG1089 | (uid455466@gateway/web/irccloud.com/x-nqoknmurevpbzhjb) |
2020-12-08 13:11:38 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
2020-12-08 13:11:45 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 13:12:03 +0100 | aletheia2 | (5dcb8e3f@p5dcb8e3f.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-12-08 13:12:13 +0100 | tabemann | (~tabemann@2600:1700:7990:24e0:4046:8a62:9416:f625) (Ping timeout: 260 seconds) |
2020-12-08 13:12:21 +0100 | tabemann_ | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2020-12-08 13:13:24 +0100 | hans_ | (~hans@94-214-46-13.cable.dynamic.v4.ziggo.nl) (Ping timeout: 260 seconds) |
2020-12-08 13:13:25 +0100 | <wz1000> | are there any libraries that implement efficient maps keyed over small enums (<= Word8) ? |
2020-12-08 13:13:46 +0100 | <merijn> | wz1000: Vector? :p |
2020-12-08 13:14:25 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 13:14:43 +0100 | <merijn> | Or, perhaps Array if you wanna use Ix on your key type |
2020-12-08 13:15:33 +0100 | <wz1000> | But then growing it would be inefficient |
2020-12-08 13:15:59 +0100 | <wz1000> | I want to keep a lot of these maps, and want to keep growing/shrinking them |
2020-12-08 13:16:16 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
2020-12-08 13:16:27 +0100 | <wz1000> | Or are you suggesting I use Vector (Maybe a)? |
2020-12-08 13:17:01 +0100 | <wz1000> | where the size is the size of the enum - but that still seems wasteful because many/most of these maps will barely be populated |
2020-12-08 13:17:04 +0100 | <__monty__> | Does it need to be faster than IntMap? |
2020-12-08 13:18:39 +0100 | <wz1000> | I'm using IntMap now, but it seems wasteful since I'm wasting 7 bytes per int |
2020-12-08 13:18:55 +0100 | <fendor> | Interesting, limiting the ghci HEAP leads to tasty not terminating on an endless looping test |
2020-12-08 13:20:06 +0100 | <wz1000> | what I'm looking for is essentially Word8Map |
2020-12-08 13:20:38 +0100 | f-a | (~f-a@151.44.27.153) () |
2020-12-08 13:21:21 +0100 | <fendor> | increasing the heap to 3GB or something like that works, though. |
2020-12-08 13:23:13 +0100 | hans_ | (~hans@94-214-46-13.cable.dynamic.v4.ziggo.nl) |
2020-12-08 13:23:21 +0100 | <merijn> | wz1000: Use backpack to generalise IntMap to any bounded Int! :D |
2020-12-08 13:23:34 +0100 | <__monty__> | wz1000: Does it really matter if your indices are boxed? |
2020-12-08 13:24:27 +0100 | <merijn> | wz1000: If your maps are sparse, just use "Vector (Key, Value)" and binary search any key you need |
2020-12-08 13:24:47 +0100 | <merijn> | wz1000: And if they're sparse the copy upon insert isn't an issue either |
2020-12-08 13:25:53 +0100 | <wz1000> | __monty__: IntMap doesn't have boxed indices though? (Or at least it shouldn't) |
2020-12-08 13:26:12 +0100 | <__monty__> | Your word8 indices would be boxed though? |
2020-12-08 13:26:14 +0100 | <merijn> | wz1000: eh...I think so |
2020-12-08 13:26:20 +0100 | <merijn> | Also |
2020-12-08 13:26:29 +0100 | <merijn> | Word8 is the exact same size as Int |
2020-12-08 13:27:02 +0100 | <__monty__> | No taking advantage of any leftover space in the pointer, merijn? |
2020-12-08 13:27:06 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 13:27:18 +0100 | <wz1000> | But you can combine the prefix and the mask into a Word16 though |
2020-12-08 13:27:22 +0100 | <wz1000> | https://hackage.haskell.org/package/containers-0.6.2.1/docs/src/Data.IntMap.Internal.html#IntMap |
2020-12-08 13:27:28 +0100 | <merijn> | https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Word.html#Word8 |
2020-12-08 13:28:03 +0100 | <merijn> | Word8 is just Word# which is the same size as Int# |
2020-12-08 13:28:50 +0100 | <merijn> | wz1000: Ok, so realistically, how many keys are you expecting to have? Millions? Billions? Trillions? |
2020-12-08 13:29:06 +0100 | <merijn> | Because for anything less than trillions this seems utterly irrelevant |
2020-12-08 13:30:04 +0100 | <merijn> | Ok, maybe for billions to on desktop-y machines |
2020-12-08 13:31:19 +0100 | <wz1000> | I mean, I'm trying to benchmark Haskell implementations of common lossless compression algorithms and compare them to "reference" C implementations, so I need all the help I can get |
2020-12-08 13:31:46 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-08 13:31:53 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 13:32:04 +0100 | <tomsmeding> | what kind of map do the C implementations use in this case? |
2020-12-08 13:32:27 +0100 | <merijn> | wz1000: Well, the unboxed tuple vector seems the best in terms of pure speed for lookup |
2020-12-08 13:32:42 +0100 | christo | (~chris@81.96.113.213) |
2020-12-08 13:33:37 +0100 | <merijn> | Custom storable vector also does well if memory usage is a concern, since you can pack as tightly as you need |
2020-12-08 13:33:38 +0100 | nowhereman | (~pierre@91-175-29-131.subs.proxad.net) |
2020-12-08 13:35:20 +0100 | sjha | (2a6f01d7@42.111.1.215) |
2020-12-08 13:35:43 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds) |
2020-12-08 13:36:06 +0100 | Entertainment | (~entertain@104.246.132.210) |
2020-12-08 13:36:10 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 246 seconds) |
2020-12-08 13:36:14 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds) |
2020-12-08 13:37:24 +0100 | <sjha> | hey |
2020-12-08 13:37:26 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 13:38:30 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-12-08 13:39:11 +0100 | solonarv | (~solonarv@astrasbourg-552-1-28-212.w90-13.abo.wanadoo.fr) |
2020-12-08 13:40:15 +0100 | <tomsmeding> | sjha: hi :) |
2020-12-08 13:41:51 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 13:41:52 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 13:42:28 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 13:43:12 +0100 | drbean | (~drbean@TC210-63-209-142.static.apol.com.tw) |
2020-12-08 13:45:41 +0100 | koz_ | (~koz@121.99.240.58) (Ping timeout: 260 seconds) |
2020-12-08 13:46:03 +0100 | <sjha> | tomsmeding hi :) this is the first time I've joined Haskell irc or freenode for that matter . I hope to learn a lot from you all. |
2020-12-08 13:47:01 +0100 | <tomsmeding> | I hope you do! message frequency varies; note there are some logs at https://ircbrowse.tomsmeding.com/browse/haskell |
2020-12-08 13:47:33 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-12-08 13:48:10 +0100 | <boxscape> | oh huh had no idea I'm in the top 10 frequently messaging users this month |
2020-12-08 13:48:17 +0100 | <boxscape> | s/10/10 most/ |
2020-12-08 13:48:20 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds) |
2020-12-08 13:48:28 +0100 | <boxscape> | tomsmeding do you have a search function for the logs in there? |
2020-12-08 13:48:36 +0100 | <tomsmeding> | lol no I believe not |
2020-12-08 13:48:48 +0100 | <boxscape> | hm okay |
2020-12-08 13:48:58 +0100 | Cthalupa | (~cthulhu@47.186.47.75) (Ping timeout: 256 seconds) |
2020-12-08 13:49:02 +0100 | <tomsmeding> | I guess creating a page for that shouldn't be too hard |
2020-12-08 13:49:07 +0100 | <tomsmeding> | also open source so hack away ;) |
2020-12-08 13:49:16 +0100 | <boxscape> | I'll take a look |
2020-12-08 13:49:31 +0100 | <tomsmeding> | (most/all of the code is not written by me though) |
2020-12-08 13:49:44 +0100 | <boxscape> | right okay |
2020-12-08 13:49:46 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2020-12-08 13:51:13 +0100 | koz | (~koz@121.99.240.58) |
2020-12-08 13:51:45 +0100 | sjha | shekhar |
2020-12-08 13:55:45 +0100 | <siraben> | Wjat |
2020-12-08 13:55:57 +0100 | <siraben> | What's the recommended way to throw errors in the continuation monad? |
2020-12-08 13:56:09 +0100 | <siraben> | Cont over Except doesn't work, but there's Except over Cont |
2020-12-08 13:56:16 +0100 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 256 seconds) |
2020-12-08 13:57:08 +0100 | skiold_ | (~skiold@gateway/tor-sasl/skiold) (Remote host closed the connection) |
2020-12-08 13:57:30 +0100 | skiold_ | (~skiold@gateway/tor-sasl/skiold) |
2020-12-08 13:58:25 +0100 | <merijn> | The *recommended* way to throw errors in Cont is too buy some heavy booze and spent an evening drunk and crying trying to figure it out :D |
2020-12-08 13:58:42 +0100 | <siraben> | heh |
2020-12-08 13:58:53 +0100 | <siraben> | well, i'm currently using MonadFail inside Cont, hehe |
2020-12-08 13:59:08 +0100 | <siraben> | Specifically MaybeT, but can't get ny messages out of it |
2020-12-08 13:59:10 +0100 | <siraben> | any |
2020-12-08 14:00:00 +0100 | iqubic` | (~user@2601:602:9500:4870:9dce:a684:2556:7d9f) |
2020-12-08 14:00:23 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-08 14:00:25 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 14:00:28 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit) |
2020-12-08 14:00:35 +0100 | <ski> | shekhar : feel free to ask questions |
2020-12-08 14:01:04 +0100 | <maerwald> | ContT is where haskell is indistinguishable from Java. |
2020-12-08 14:02:00 +0100 | jedws | (~jedws@121.209.181.215) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 14:02:04 +0100 | tomsmeding | gets out popcorn |
2020-12-08 14:02:09 +0100 | <ski> | @unmtl ContT o (MaybeT m) a |
2020-12-08 14:02:09 +0100 | <lambdabot> | (a -> m (Maybe o)) -> m (Maybe o) |
2020-12-08 14:02:11 +0100 | <ski> | @unmtl MaybeT (ContT o m) a |
2020-12-08 14:02:11 +0100 | <lambdabot> | (Maybe a -> m o) -> m o |
2020-12-08 14:02:18 +0100 | <siraben> | I'm really close to converting the scheme interpreter to monad transformers; https://github.com/siraben/r5rs-denot/blob/e1e46ecd63ed4b5d8b287a00da6e1184bbc2534b/src/SchemeEval… |
2020-12-08 14:02:30 +0100 | <siraben> | @unmtl ReaderT u (ContT k (MaybeT (State s))) a |
2020-12-08 14:02:31 +0100 | <lambdabot> | u -> (a -> s -> (Maybe k, s)) -> s -> (Maybe k, s) |
2020-12-08 14:02:47 +0100 | <siraben> | But I need `Either err k` instead of `Maybe k` |
2020-12-08 14:03:11 +0100 | <ski> | @unmtl ReaderT u (ContT k (ErrorT err (State s))) a |
2020-12-08 14:03:11 +0100 | <lambdabot> | u -> (a -> s -> (Either err k, s)) -> s -> (Either err k, s) |
2020-12-08 14:03:16 +0100 | <siraben> | Also, any way to reduce the boilerplatey functions `reflect` and `reify`? |
2020-12-08 14:03:42 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-12-08 14:04:14 +0100 | iqubic | (~user@2601:602:9500:4870:81cb:3fd4:dbe9:8921) (Ping timeout: 264 seconds) |
2020-12-08 14:04:26 +0100 | <siraben> | ski: No instance for (MonadError err (ContT k (ErrorT err (State s)))) |
2020-12-08 14:04:45 +0100 | <siraben> | then there's a message about using standalone deriving |
2020-12-08 14:04:48 +0100 | <ski> | `unmtl' doesn't know `ExceptT', use that instead of `ErrorT' |
2020-12-08 14:05:03 +0100 | <siraben> | Yeah it doesn't work with ExceptT either |
2020-12-08 14:05:15 +0100 | fendor_ | (~fendor@77.119.128.243.wireless.dyn.drei.com) |
2020-12-08 14:05:28 +0100 | <siraben> | • No instance for (MonadError err (ContT k (ExceptT err (State s)))) |
2020-12-08 14:05:30 +0100 | <maerwald> | Just use IO, TVars and exceptions |
2020-12-08 14:05:43 +0100 | <maerwald> | all this stuff doesn't buy you anything real |
2020-12-08 14:05:44 +0100 | <siraben> | Hm, but I lose the translation from the denotational semantics |
2020-12-08 14:06:07 +0100 | <maerwald> | You don't have that with transformers anyway |
2020-12-08 14:06:29 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds) |
2020-12-08 14:06:33 +0100 | <siraben> | Right, but is it not possible to do a custom MonadFail instance for a custom newtype to get this to work? |
2020-12-08 14:07:18 +0100 | <siraben> | Also I have `reflect act = Scheme (ReaderT (\u -> ContT (\k -> MaybeT (state (act u (runState . (runMaybeT . k)))))))` and `reify f r k s = f & unScheme & (`runReaderT` r) & (`runContT` (MaybeT . state . k)) & runMaybeT & (`runState` s)` to go back and forth between the repr without transformers and the repr with |
2020-12-08 14:07:27 +0100 | <siraben> | such that `reify . reflect = reflect . reify = id` |
2020-12-08 14:07:36 +0100 | <tomsmeding> | beautiful |
2020-12-08 14:07:56 +0100 | LKoen | (~LKoen@228.162.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-12-08 14:07:58 +0100 | <siraben> | tried looking around to see if it was possible to use Data.Coercible so I don't have to write this boilerplate, didn't find an answer |
2020-12-08 14:08:00 +0100 | sQVe | (~sQVe@unaffiliated/sqve) (Quit: Bye!) |
2020-12-08 14:08:14 +0100 | fendor | (~fendor@178.115.129.186.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2020-12-08 14:09:23 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-08 14:09:38 +0100 | <maerwald> | tomsmeding: I think java jobs pay better and cause less headach than this :D |
2020-12-08 14:09:39 +0100 | <ski> | siraben : where did you get `A = Maybe [E] * S' from ? |
2020-12-08 14:09:51 +0100 | <siraben> | ski: https://schemers.org/Documents/Standards/R5RS/r5rs.pdf |
2020-12-08 14:09:53 +0100 | michalz | (~user@185.246.204.56) |
2020-12-08 14:09:59 +0100 | <siraben> | pdf page 41 |
2020-12-08 14:10:12 +0100 | <siraben> | it's not specified so I guessed |
2020-12-08 14:10:18 +0100 | ski | 's looking at <https://schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-10.html#%_sec_7.2>, right now |
2020-12-08 14:10:19 +0100 | <tomsmeding> | maerwald: but they're also java jobs |
2020-12-08 14:10:44 +0100 | <siraben> | oof heh that page has blurry images |
2020-12-08 14:10:48 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-xfocnvqeblymqavl) |
2020-12-08 14:10:57 +0100 | <maerwald> | tomsmeding: well, you feel productive by writing boilerplate like getters and setters. It's a language feature, so to speak |
2020-12-08 14:11:00 +0100 | <siraben> | ski: the master branch of that repo contains the direct translation, I'm monadifying it |
2020-12-08 14:11:23 +0100 | <tomsmeding> | and the feeling of accomplishment and joy after solving a problem can be worth 1. less pay and 2. being able to solve the problem in the first place |
2020-12-08 14:11:41 +0100 | <tomsmeding> | "feeling productive" as a language feature is the most java thing I've heard in a while |
2020-12-08 14:12:04 +0100 | <maerwald> | note tat "feeling productive" /= "being productive" |
2020-12-08 14:12:08 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 14:12:17 +0100 | <maerwald> | feelings matter most |
2020-12-08 14:12:25 +0100 | <siraben> | twoarg ζ [ε1, ε2] κ = ζ ε1 ε2 κ |
2020-12-08 14:12:27 +0100 | <siraben> | oops wrong window |
2020-12-08 14:12:33 +0100 | <tomsmeding> | such greek |
2020-12-08 14:12:40 +0100 | <ski> | (it's abusing `Show', i see ..) |
2020-12-08 14:13:01 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-12-08 14:13:11 +0100 | <siraben> | ski: yeah i started the repo when I was more noob, heh. I'll use a proper pretty printer later |
2020-12-08 14:13:51 +0100 | ephemera_ | (~E@122.34.1.187) |
2020-12-08 14:14:00 +0100 | <siraben> | argh if only i could find a nice concise reference implementation of a hygienic macro expander |
2020-12-08 14:14:17 +0100 | fendor_ | fendor |
2020-12-08 14:14:49 +0100 | <maerwald> | tomsmeding: it's also only important your boss feels that you are productive, not that you actually are. And if your PRs are huge and frequent, you it conveys that feeling. Java is a win-win for everyone |
2020-12-08 14:15:14 +0100 | wwwww | (~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds) |
2020-12-08 14:15:22 +0100 | <ski> | siraben : my hunch is that interpreting as `State' (and `MaybeT') inside `ContT' is a mistake, that you really want `StateT' outside `ContT' |
2020-12-08 14:15:24 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 14:15:43 +0100 | <siraben> | ski: doesn't that lead to a notion of "transactional state" wherein the state reverts? |
2020-12-08 14:16:01 +0100 | <ski> | reverts, when ? |
2020-12-08 14:16:10 +0100 | <maerwald> | tomsmeding: in haskell, ppl don't want to feel productive, but smart. So they do all sorts of stuff for that :p |
2020-12-08 14:16:18 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-12-08 14:16:24 +0100 | <tomsmeding> | maerwald: true enough :p |
2020-12-08 14:16:34 +0100 | <siraben> | ski: when callCC is invoked for instane |
2020-12-08 14:16:34 +0100 | <siraben> | instance |
2020-12-08 14:16:52 +0100 | <ski> | i don't think so |
2020-12-08 14:17:01 +0100 | <ski> | i think you should not analyze `A' here |
2020-12-08 14:17:02 +0100 | <siraben> | ski: see https://github.com/siraben/r5rs-denot/blob/fc1703473dc7af1b13c970edc553b62f6aa70656/src/SchemeEval… for my reasoning |
2020-12-08 14:17:09 +0100 | wwwww | (~wwwww@unaffiliated/wwwww) |
2020-12-08 14:17:14 +0100 | <ski> | yes, i'm looking at that right now |
2020-12-08 14:18:30 +0100 | <siraben> | I guess any monad transformer stack works as long as I can reflect and reify back and forth |
2020-12-08 14:18:33 +0100 | huskyhaskell | (~david@h-191-51.A785.priv.bahnhof.se) |
2020-12-08 14:18:33 +0100 | <siraben> | at least helps development |
2020-12-08 14:18:43 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2020-12-08 14:19:07 +0100 | <ski> | @unmtl ReaderT U (StateT S (ContT A IO)) [E] |
2020-12-08 14:19:07 +0100 | <lambdabot> | U -> S -> ([E] -> S -> IO A) -> IO A |
2020-12-08 14:19:45 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-08 14:19:52 +0100 | gxt_ | (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection) |
2020-12-08 14:20:25 +0100 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2020-12-08 14:20:27 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Ping timeout: 260 seconds) |
2020-12-08 14:20:36 +0100 | gxt_ | (~gxt@gateway/tor-sasl/gxt) |
2020-12-08 14:20:36 +0100 | <siraben> | gasp io |
2020-12-08 14:20:42 +0100 | <siraben> | makes sense |
2020-12-08 14:20:45 +0100 | texasmynsted | (~texasmyns@212.102.45.115) |
2020-12-08 14:20:54 +0100 | huskyhaskell | (~david@h-191-51.A785.priv.bahnhof.se) (Client Quit) |
2020-12-08 14:20:56 +0100 | <siraben> | Then throw errors in IO? |
2020-12-08 14:21:05 +0100 | <ski> | (assuming you want stuff like `read',`display',&c.) |
2020-12-08 14:21:11 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-12-08 14:21:27 +0100 | <siraben> | Yeah definitely I needed IO somewhere but didn't know whether to put it up top or at the bottom |
2020-12-08 14:21:39 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-12-08 14:22:14 +0100 | <boxscape> | hm is it normal that stack is stuck a long time at "Downloading index" when first run? |
2020-12-08 14:22:40 +0100 | <siraben> | ski: why state over exception? |
2020-12-08 14:22:48 +0100 | <maerwald> | boxscape: a bit |
2020-12-08 14:23:03 +0100 | <siraben> | looks different than from the spec's semantics |
2020-12-08 14:23:06 +0100 | <boxscape> | I think it's been 30 minutes or so which seems a bit long |
2020-12-08 14:23:18 +0100 | qwfplyuh | (2e050550@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Remote host closed the connection) |
2020-12-08 14:23:29 +0100 | <maerwald> | boxscape: is it downloading just the index or git repos? |
2020-12-08 14:23:36 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-08 14:23:43 +0100 | <merijn> | maerwald: tbh, in hindsight I'm usually the most productive when I feel unproductive |
2020-12-08 14:24:05 +0100 | <maerwald> | I think it's anger |
2020-12-08 14:24:10 +0100 | <siraben> | :t foo m u k s = m & unM & (`runReaderT` u) & (`runStateT` s) & (`runContT` k) |
2020-12-08 14:24:11 +0100 | <boxscape> | um, I'm running "stack build" inside a git repo, but the last message I got is "Downloading index" |
2020-12-08 14:24:11 +0100 | <lambdabot> | error: parse error on input ‘=’ |
2020-12-08 14:24:25 +0100 | <siraben> | :t (\m u k s -> m & unM & (`runReaderT` u) & (`runStateT` s) & (`runContT` k)) |
2020-12-08 14:24:26 +0100 | <lambdabot> | error: |
2020-12-08 14:24:26 +0100 | <lambdabot> | • Variable not in scope: |
2020-12-08 14:24:26 +0100 | <lambdabot> | unM :: a -> ReaderT r (StateT s (ContT r1 m)) a1 |
2020-12-08 14:24:29 +0100 | <ski> | @type let foo m u k s = m & unM & (`runReaderT` u) & (`runStateT` s) & (`runContT` k) in foo |
2020-12-08 14:24:30 +0100 | <lambdabot> | error: |
2020-12-08 14:24:30 +0100 | <lambdabot> | • Variable not in scope: |
2020-12-08 14:24:30 +0100 | <lambdabot> | unM :: a2 -> ReaderT r2 (StateT s1 (ContT r3 m1)) a3 |
2020-12-08 14:24:48 +0100 | <merijn> | maerwald: Spend 3 days dicking around with a complex problem for spawning processes and only get anything resembling working on day 5, but in the next 3 years I've been able to use it without issue 10 different times not having to worry about getting it all right again :p |
2020-12-08 14:24:55 +0100 | <siraben> | @type let foo m u k s = m & (`runReaderT` u) & (`runStateT` s) & (`runContT` k) in foo |
2020-12-08 14:24:57 +0100 | <lambdabot> | forall k r1 s (r2 :: k) (m :: k -> *) a. ReaderT r1 (StateT s (ContT r2 m)) a -> r1 -> ((a, s) -> m r2) -> s -> m r2 |
2020-12-08 14:25:00 +0100 | <siraben> | there we go |
2020-12-08 14:25:01 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) |
2020-12-08 14:25:07 +0100 | <merijn> | maerwald: But it's hard to account for those future 3 years when not producing anything for a week :p |
2020-12-08 14:25:15 +0100 | <siraben> | well m ~ IO here |
2020-12-08 14:25:21 +0100 | texasmynsted | (~texasmyns@212.102.45.115) (Ping timeout: 260 seconds) |
2020-12-08 14:25:36 +0100 | hans_ | (~hans@94-214-46-13.cable.dynamic.v4.ziggo.nl) (Ping timeout: 240 seconds) |
2020-12-08 14:25:41 +0100 | danvet_ | (~danvet@212-51-149-96.fiber7.init7.net) |
2020-12-08 14:26:06 +0100 | <maerwald> | merijn: reminds me of a colleague who fixed our entire platform over the weekend, because he was bored or excited or both about debugging memory issues. |
2020-12-08 14:26:09 +0100 | borne | (~fritjof@200116b86420b200bcbe2553f445a41b.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2020-12-08 14:27:06 +0100 | <maerwald> | without a jira ticket, without design phase, without sprint estimation :p |
2020-12-08 14:27:33 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) (Quit: WeeChat 2.9) |
2020-12-08 14:27:49 +0100 | <tomsmeding> | how did he introduce that on monday |
2020-12-08 14:27:58 +0100 | <tomsmeding> | "people I fixed your shit, please go to work as usual" |
2020-12-08 14:28:03 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) |
2020-12-08 14:28:12 +0100 | <merijn> | tomsmeding: That's how I would introduce it :p |
2020-12-08 14:28:30 +0100 | <maerwald> | he made bold claims and we initially thought he's just a bit overreacting, but he wasn't |
2020-12-08 14:29:32 +0100 | <maerwald> | (we also spent lots of money on a prior consultant who tried to fix that problem with complicated solutions) |
2020-12-08 14:29:41 +0100 | <maerwald> | so much for productivity |
2020-12-08 14:30:02 +0100 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
2020-12-08 14:30:33 +0100 | <maerwald> | but that's what they do: the don't fix problems, they sell solutions :p |
2020-12-08 14:31:55 +0100 | LKoen | (~LKoen@228.162.9.109.rev.sfr.net) |
2020-12-08 14:31:56 +0100 | <nshepperd2> | the true purpose of jira tickets, design phases and sprints is to not use them and thereby become productive |
2020-12-08 14:31:59 +0100 | danvet_ | (~danvet@212-51-149-96.fiber7.init7.net) (Quit: Leaving) |
2020-12-08 14:32:01 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-08 14:32:55 +0100 | <maerwald> | there's the other extreme, when ppl create huge PRs that overhaul the entire codebase with lots of opinionated decisions, rendering the team unproductive for weeks, due to bikeshedding etc |
2020-12-08 14:33:02 +0100 | <nshepperd2> | like doing ninja training with weights on or something |
2020-12-08 14:33:54 +0100 | <maerwald> | when devops rewrites your entire CI in nix over Christmas, without telling anyone, for example |
2020-12-08 14:34:05 +0100 | <maerwald> | (yes, that happened) |
2020-12-08 14:34:42 +0100 | gproto23 | (~gproto23@unaffiliated/gproto23) |
2020-12-08 14:34:51 +0100 | <maerwald> | since then I have anxiety during Christmas |
2020-12-08 14:36:16 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 240 seconds) |
2020-12-08 14:37:52 +0100 | <siraben> | nixify all the things |
2020-12-08 14:38:02 +0100 | <merijn> | Please don't >.> |
2020-12-08 14:38:11 +0100 | <siraben> | hehe |
2020-12-08 14:39:08 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 14:39:26 +0100 | adamse | (sid72084@gateway/web/irccloud.com/x-mwbgblgcseyitcgt) (Read error: Connection reset by peer) |
2020-12-08 14:39:43 +0100 | adamse | (sid72084@gateway/web/irccloud.com/x-ntgmpqkvdscewbqi) |
2020-12-08 14:40:04 +0100 | ski | . o O ( "-2000 Lines of Code" by Andy Hertzfeld at <https://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt> ) |
2020-12-08 14:40:32 +0100 | gproto23 | (~gproto23@unaffiliated/gproto23) (Quit: Leaving) |
2020-12-08 14:40:36 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 14:40:58 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-12-08 14:41:53 +0100 | tss1 | (~tss@185.204.1.185) (Remote host closed the connection) |
2020-12-08 14:42:27 +0100 | <ski> | siraben : i think the `wrong' stuff isn't exactly exceptions, anyway (it's not caught) |
2020-12-08 14:43:02 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-12-08 14:43:32 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) |
2020-12-08 14:44:43 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 14:45:46 +0100 | shekhar | (2a6f01d7@42.111.1.215) (Remote host closed the connection) |
2020-12-08 14:46:18 +0100 | texasmynsted | (~texasmyns@212.102.45.115) |
2020-12-08 14:46:19 +0100 | <int-e> | Yay, Dijkstra. '[...] we should always refer to "the number of lines of code spent".' |
2020-12-08 14:47:25 +0100 | drbean | (~drbean@TC210-63-209-142.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-12-08 14:47:25 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer) |
2020-12-08 14:48:01 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) |
2020-12-08 14:48:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) (Ping timeout: 264 seconds) |
2020-12-08 14:49:04 +0100 | <int-e> | That one is false as well, though. LoC is just a terrible metric for measuring progress. |
2020-12-08 14:49:24 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-08 14:50:54 +0100 | texasmynsted | (~texasmyns@212.102.45.115) (Ping timeout: 256 seconds) |
2020-12-08 14:54:21 +0100 | <maerwald> | What does LOC even mean. Does it include the dependencies? :) |
2020-12-08 14:54:34 +0100 | <maerwald> | Because then the metric is suddenly very different. |
2020-12-08 14:54:37 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-12-08 14:54:52 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-08 14:55:22 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-08 14:56:03 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) |
2020-12-08 14:58:39 +0100 | <zincy__> | I am beginning to think that when someone says code is hard to read it means *they* find it hard to read. |
2020-12-08 14:58:56 +0100 | <merijn> | zincy__: Well, duh |
2020-12-08 14:59:02 +0100 | <zincy__> | :D |
2020-12-08 14:59:15 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-12-08 14:59:34 +0100 | <zincy__> | But their opinion comes from their favourite language X even when talking about Y |
2020-12-08 14:59:39 +0100 | <merijn> | zincy__: "Haskell is hard to read" - every single programmer who never actually learned Haskell's syntax |
2020-12-08 15:00:15 +0100 | <merijn> | zincy__: When people say "X is hard to read" in a language they don't use what they *mean* is "This is different, therefore I hate it" |
2020-12-08 15:00:22 +0100 | <zincy__> | haha |
2020-12-08 15:00:26 +0100 | <zincy__> | ^ this |
2020-12-08 15:00:42 +0100 | <merijn> | Although, to be fair, I see some pretty atrocious styles in Haskell libraries |
2020-12-08 15:01:13 +0100 | <zincy__> | Haskell doesn't prevent you from writing bad code it just smacks you on the hand |
2020-12-08 15:01:38 +0100 | <merijn> | My personal style is increasingly moving towards "type signatures on *every* binding, judiciously name things in where blocks, grouping via empty lines == good" |
2020-12-08 15:01:51 +0100 | <zincy__> | Nice |
2020-12-08 15:02:00 +0100 | <merijn> | Particularly a lot of haskell in the wild seems weirdly scared of empty lines |
2020-12-08 15:02:27 +0100 | geekounet | (~geekounet@185.204.1.185) |
2020-12-08 15:02:45 +0100 | <zincy__> | Like paragraphs in an essay |
2020-12-08 15:02:55 +0100 | <zincy__> | Or rests in music |
2020-12-08 15:03:20 +0100 | <merijn> | zincy__: I used to not write type signatures in my where blocks like most people, but then I had to work on code like this: https://github.com/yesodweb/persistent/blob/master/persistent-sqlite/Database/Persist/Sqlite.hs#L5… |
2020-12-08 15:03:30 +0100 | <merijn> | And you're like "wtf is any of this?!" |
2020-12-08 15:03:38 +0100 | <zincy__> | Yeah Beam did that for me |
2020-12-08 15:04:17 +0100 | <dminuoso> | merijn: I'd say it's... well. Run it it and run sqlite in trace mode? |
2020-12-08 15:04:20 +0100 | <dminuoso> | :p |
2020-12-08 15:04:40 +0100 | <siraben> | merijn: oh god |
2020-12-08 15:04:41 +0100 | <merijn> | zincy__: beam makes me go "wtf is any of this?!" even with the types |
2020-12-08 15:04:56 +0100 | <zincy__> | merijn: I have no idea how that works. It is crazy. |
2020-12-08 15:05:06 +0100 | <zincy__> | postgres-simple for the win |
2020-12-08 15:05:08 +0100 | <siraben> | what's beam? |
2020-12-08 15:05:15 +0100 | <siraben> | the erlang platform? |
2020-12-08 15:05:17 +0100 | <dminuoso> | beam is when you dont want readable sql |
2020-12-08 15:05:37 +0100 | <int-e> | merijn: not using empty lines to separate entities is a waste of the visual cortex |
2020-12-08 15:05:39 +0100 | <dminuoso> | It's trading readability and maintainability for type safety.. |
2020-12-08 15:05:50 +0100 | <ephemient> | you need {-# LANGUAGE ScopedTypeVariables #-} in order to put signatures inside some where blocks |
2020-12-08 15:05:56 +0100 | <ephemient> | (but it's a good extension to have anyway) |
2020-12-08 15:05:57 +0100 | <merijn> | int-e: Word |
2020-12-08 15:06:02 +0100 | <zincy__> | All the naive queries seem to be really slow |
2020-12-08 15:06:20 +0100 | <dminuoso> | ephemient: You only need ScopedTypeVariables to access type variables introduced in an outer binding, but not for type signatures in a nested binding. |
2020-12-08 15:06:21 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 15:06:23 +0100 | <merijn> | My personal style is more like this: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/StepAggregate.hs#L82-L121 |
2020-12-08 15:06:33 +0100 | <dminuoso> | (And even then you *also* must introduce the type variable via an explicit forall) |
2020-12-08 15:06:45 +0100 | <merijn> | Heavy where nesting == good, type annotations on all of them == better |
2020-12-08 15:07:01 +0100 | <dminuoso> | Indeed. |
2020-12-08 15:07:17 +0100 | <dminuoso> | If it has a name, it has to have a type annotation. |
2020-12-08 15:07:20 +0100 | <dminuoso> | That's my rule |
2020-12-08 15:07:41 +0100 | <dminuoso> | Well okay, it doesnt work for function argument binders.. mmm. I need to rephrase that rule |
2020-12-08 15:07:59 +0100 | <merijn> | dminuoso: There's still the occasional exception, but they're becoming rarer and rare |
2020-12-08 15:08:00 +0100 | <zincy__> | I wish my Clojure colleagues adopted that motto "If it has a name, it has to have a type annotation." |
2020-12-08 15:08:10 +0100 | <merijn> | dminuoso: Those have a type annotation in the function signature :p |
2020-12-08 15:08:17 +0100 | <dminuoso> | merijn: not necessarily |
2020-12-08 15:08:21 +0100 | nff_ | (~nff_@82.84.72.37) (Quit: Leaving) |
2020-12-08 15:08:22 +0100 | <siraben> | merijn: what's quite readable |
2020-12-08 15:08:31 +0100 | <dminuoso> | merijn: if you call something that takes a lambda, it might not be |
2020-12-08 15:08:42 +0100 | <merijn> | dminuoso: Ah, true |
2020-12-08 15:08:56 +0100 | <merijn> | "but we have type inference..." sod that |
2020-12-08 15:09:18 +0100 | <merijn> | 5 months from now I'll have to redo the inference in my head to understand it, just write it out |
2020-12-08 15:09:21 +0100 | <dminuoso> | Indeed, it took 3 years for me to realize that type inference really isn't that valuable.. |
2020-12-08 15:09:36 +0100 | <dminuoso> | I mean, its useful to be able to ask GHC what it thinks a binding has... |
2020-12-08 15:09:42 +0100 | <int-e> | adding type signatures results in better type errors |
2020-12-08 15:09:45 +0100 | ephemera_ | (~E@122.34.1.187) (Ping timeout: 240 seconds) |
2020-12-08 15:09:56 +0100 | <merijn> | siraben: I've been really happy with my ability to dive into code I haven't touched in more than a year and easily see what's going on and alter it |
2020-12-08 15:09:59 +0100 | ski | . o O ( type error slicing ) |
2020-12-08 15:10:01 +0100 | <dminuoso> | int-e: type error slices would go a long way helping with that tho |
2020-12-08 15:10:02 +0100 | <int-e> | that said, I still don't always add type signatures inside `where` binders |
2020-12-08 15:10:06 +0100 | <dminuoso> | ski: Oh you were first! |
2020-12-08 15:10:15 +0100 | <zincy__> | Slicing? |
2020-12-08 15:10:18 +0100 | <int-e> | what are type error slices, hmm, will google |
2020-12-08 15:10:26 +0100 | nff | (~nff_@82.84.72.37) |
2020-12-08 15:10:28 +0100 | Tops22 | (~Tobias@dyndsl-095-033-020-246.ewe-ip-backbone.de) |
2020-12-08 15:10:48 +0100 | <int-e> | 'A Slicing-Based Approach for Locating Type Errors'? |
2020-12-08 15:10:55 +0100 | <ski> | <https://www.macs.hw.ac.uk/ultra/skalpel/index.html> |
2020-12-08 15:11:13 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2020-12-08 15:11:43 +0100 | <int-e> | Which is a 1997 paper, fun. |
2020-12-08 15:11:45 +0100 | <siraben> | whoa is there one for haskell and a mode in emacs for that? |
2020-12-08 15:11:51 +0100 | <siraben> | well LSP underlines the errors |
2020-12-08 15:11:55 +0100 | <siraben> | haskell-lsp |
2020-12-08 15:12:02 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c) (Read error: Connection reset by peer) |
2020-12-08 15:12:23 +0100 | nff | (~nff_@82.84.72.37) (Client Quit) |
2020-12-08 15:12:29 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c) |
2020-12-08 15:12:39 +0100 | <dminuoso> | siraben: Not that I know of. |
2020-12-08 15:12:48 +0100 | <dminuoso> | Type error slicing would need support in GHC |
2020-12-08 15:13:25 +0100 | Tops21 | (~Tobias@dyndsl-095-033-020-246.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
2020-12-08 15:14:14 +0100 | <dminuoso> | It would have to identify all locations that contribute to the error, GHC as a very naive and simplistic heuristic of showing 'related bindings' instead that more often than not are unrelated to your problem. |
2020-12-08 15:14:25 +0100 | <int-e> | "[...] has been implemented for a signicant subset of Pascal." |
2020-12-08 15:15:25 +0100 | <int-e> | So maybe not that relevant to Hindley-Milner type inference :) |
2020-12-08 15:16:48 +0100 | <siraben> | hm, -fdefer-type-errors, wonder if that will help me with AoC, hehe |
2020-12-08 15:17:12 +0100 | <merijn> | siraben: You probably want its superior brother -fdefer-typed-holes and judicious use of typed holes |
2020-12-08 15:17:14 +0100 | <xerox_> | can you defer them to after the 25th |
2020-12-08 15:17:36 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 240 seconds) |
2020-12-08 15:18:02 +0100 | <siraben> | merijn: how's that compare to -Wno-partial-type-signatures ? |
2020-12-08 15:18:07 +0100 | <siraben> | oops I mean PartialTypeSignatures |
2020-12-08 15:18:14 +0100 | <merijn> | siraben: Not at all? |
2020-12-08 15:18:39 +0100 | <merijn> | > map _ ['a'..'z'] :: [Bool] |
2020-12-08 15:18:44 +0100 | <lambdabot> | error: |
2020-12-08 15:18:44 +0100 | <lambdabot> | • Found hole: _ :: Char -> Bool |
2020-12-08 15:18:44 +0100 | <lambdabot> | • In the first argument of ‘map’, namely ‘_’ |
2020-12-08 15:19:28 +0100 | <merijn> | Typed holes tell you the type of value that needs to fill the hole. -fdefer-typed-holes turns that error into a warning (which throws a runtime exception when you evaluate it) |
2020-12-08 15:19:40 +0100 | <siraben> | ah, i see |
2020-12-08 15:20:38 +0100 | <merijn> | So with "-fdefer-typed-holes" "map _ ['a'..'z'] :: [Bool]" is the same as "map undefined ['a'..'z'] :: [Bool]" except infinitely better because you get a more useful exception when it crashes and when you remove -fdefer-typed-holes they become errors, so you can't forget and leave one like you can with undefined :p |
2020-12-08 15:20:54 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-08 15:21:17 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 15:21:22 +0100 | <int-e> | dminuoso: I'm not convinced that slicing is the answer... the type signatures would still dramatically narrow down the field of locations to check for errors. |
2020-12-08 15:21:42 +0100 | <siraben> | Sounds useful especially when exploring a problem |
2020-12-08 15:22:13 +0100 | <boxscape> | Is there a convenient way to do something like `[1..5] & ix 3 <%~ succ` where the contents of the collection do not form a Monoid and instead it returns `Just` the new value if it's inbounds and Nothing if it's out of bounds? |
2020-12-08 15:22:15 +0100 | u0_a298 | (~user@47.206.148.226) |
2020-12-08 15:22:29 +0100 | <int-e> | dminuoso: Without type signatures, slicing just moves the problem from "the type error is in reported in totally corrct code" to "I have 100s of locations to check, one of which is incorrect" |
2020-12-08 15:22:33 +0100 | <siraben> | currently I just comment out blocks of code with M-S-c before reloading, heh |
2020-12-08 15:23:00 +0100 | <merijn> | siraben: This is very useful for stubbing functions you know you need but can't/don't wanna implement yet |
2020-12-08 15:23:06 +0100 | <int-e> | dminuoso: And the solution remains the same: add type signatures to narrow things down to the real error. |
2020-12-08 15:23:15 +0100 | <merijn> | siraben: "mkFoo :: String -> Foo; mkFoo = _" |
2020-12-08 15:23:28 +0100 | <merijn> | Write the rest of your code using mkFoo, figure out how to implement it later |
2020-12-08 15:23:44 +0100 | <int-e> | dminuoso: That said, slicing looks like a more honest approach to this problem :) |
2020-12-08 15:24:55 +0100 | <dminuoso> | int-e: Sure, consider type signatures as "narrowing the pond" and type error slices as "showing you the pond" |
2020-12-08 15:25:06 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) |
2020-12-08 15:25:20 +0100 | <int-e> | Right. |
2020-12-08 15:25:28 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 256 seconds) |
2020-12-08 15:25:31 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-08 15:26:14 +0100 | <merijn> | siraben: The best thing with -fdefer-typed-holes is that you can start using/testing your code before you finish implementing all stubs :) |
2020-12-08 15:26:36 +0100 | siraben | adds it to template.hs |
2020-12-08 15:26:44 +0100 | jespada | (~jespada@90.254.245.49) |
2020-12-08 15:27:05 +0100 | <merijn> | It saddens me so few people know about/use -fdefer-typed-holes |
2020-12-08 15:27:19 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-08 15:27:36 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 15:28:14 +0100 | carlomagno | (~cararell@148.87.23.11) |
2020-12-08 15:28:51 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: Lost terminal) |
2020-12-08 15:29:36 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-12-08 15:29:55 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Client Quit) |
2020-12-08 15:30:02 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) (Ping timeout: 264 seconds) |
2020-12-08 15:31:04 +0100 | <boxscape> | I suppose the part where it's indexed is really secondary to my question, it would apply to any Prism |
2020-12-08 15:31:22 +0100 | conal_ | (~conal@209.58.139.237) |
2020-12-08 15:31:41 +0100 | jiribenes | (~jiribenes@rosa.jiribenes.com) |
2020-12-08 15:32:47 +0100 | Martinsos | (~user@cpe-188-129-36-113.dynamic.amis.hr) |
2020-12-08 15:33:59 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-12-08 15:34:31 +0100 | hexfive | (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
2020-12-08 15:34:58 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-08 15:35:16 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
2020-12-08 15:35:29 +0100 | son0p | (~son0p@181.136.122.143) |
2020-12-08 15:35:36 +0100 | grdvnl | (~gdrvnl@cpe-76-94-36-134.socal.res.rr.com) (Ping timeout: 240 seconds) |
2020-12-08 15:36:16 +0100 | darjeeling_ | (~darjeelin@122.245.123.202) (Ping timeout: 240 seconds) |
2020-12-08 15:37:25 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-08 15:38:43 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 15:39:07 +0100 | grdvnl | (~gdrvnl@cpe-76-94-36-134.socal.res.rr.com) |
2020-12-08 15:40:18 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 15:40:22 +0100 | the-smug-one | (~user@83-92-112-87-cable.dk.customer.tdc.net) (Ping timeout: 272 seconds) |
2020-12-08 15:40:32 +0100 | dyeplexer | (~lol@unaffiliated/terpin) (Ping timeout: 256 seconds) |
2020-12-08 15:43:59 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-12-08 15:44:34 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-08 15:45:04 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) |
2020-12-08 15:45:30 +0100 | christo | (~chris@81.96.113.213) |
2020-12-08 15:46:39 +0100 | jonatanb_ | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 15:49:05 +0100 | u0_a298 | (~user@47.206.148.226) (Read error: Connection reset by peer) |
2020-12-08 15:49:16 +0100 | koz | (~koz@121.99.240.58) (Ping timeout: 240 seconds) |
2020-12-08 15:49:26 +0100 | u0_a298 | (~user@47.206.148.226) |
2020-12-08 15:49:36 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) (Ping timeout: 258 seconds) |
2020-12-08 15:49:54 +0100 | texasmynsted | (~texasmyns@212.102.45.115) |
2020-12-08 15:49:59 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 258 seconds) |
2020-12-08 15:50:49 +0100 | koz | (~koz@121.99.240.58) |
2020-12-08 15:52:07 +0100 | darjeeling_ | (~darjeelin@122.245.123.202) |
2020-12-08 15:52:20 +0100 | texasmynsted | (~texasmyns@212.102.45.115) (Client Quit) |
2020-12-08 15:56:49 +0100 | u0_a298 | (~user@47.206.148.226) (Remote host closed the connection) |
2020-12-08 15:56:53 +0100 | nowhereman | (~pierre@91-175-29-131.subs.proxad.net) (Ping timeout: 258 seconds) |
2020-12-08 15:57:03 +0100 | u0_a298 | (~user@47.206.148.226) |
2020-12-08 15:57:52 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 15:58:44 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-08 16:01:00 +0100 | u0_a298 | (~user@47.206.148.226) (Remote host closed the connection) |
2020-12-08 16:01:02 +0100 | st8less | (~st8less@2603:a060:11fd:0:cc1a:708c:1c26:7d45) |
2020-12-08 16:01:15 +0100 | u0_a298 | (~user@47.206.148.226) |
2020-12-08 16:01:59 +0100 | phasespace | (~sar@80-89-47-117.inet.signal.no) (Ping timeout: 260 seconds) |
2020-12-08 16:02:15 +0100 | jonatanb_ | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 258 seconds) |
2020-12-08 16:03:06 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-08 16:03:27 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-08 16:05:35 +0100 | alx741 | (~alx741@181.196.69.205) (Quit: alx741) |
2020-12-08 16:07:12 +0100 | alx741 | (~alx741@181.196.69.205) |
2020-12-08 16:10:41 +0100 | u0_a298 | (~user@47.206.148.226) (Read error: Connection reset by peer) |
2020-12-08 16:11:06 +0100 | u0_a298 | (~user@47.206.148.226) |
2020-12-08 16:12:48 +0100 | <idnar> | boxscape: `[1..5] & at 3 <%~ fmap succ` I think |
2020-12-08 16:13:16 +0100 | <idnar> | oh no |
2020-12-08 16:13:32 +0100 | <idnar> | meh |
2020-12-08 16:14:34 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) |
2020-12-08 16:15:27 +0100 | nek0 | (~nek0@mail.nek0.eu) (Quit: The Lounge - https://thelounge.chat) |
2020-12-08 16:15:47 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 16:16:16 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 16:16:42 +0100 | phasespace | (~sar@89-162-33-21.fiber.signal.no) |
2020-12-08 16:16:51 +0100 | nek0 | (~nek0@mail.nek0.eu) |
2020-12-08 16:17:25 +0100 | sakirious | (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat) |
2020-12-08 16:18:37 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt) |
2020-12-08 16:18:39 +0100 | texasmynsted | (~texasmyns@212.102.45.115) |
2020-12-08 16:18:43 +0100 | sakirious | (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) |
2020-12-08 16:19:12 +0100 | shenyi | (uid216035@gateway/web/irccloud.com/x-qbidixgzwkexrbur) |
2020-12-08 16:19:59 +0100 | MOSCOS | (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
2020-12-08 16:20:12 +0100 | SanchayanMaity | (~Sanchayan@122.167.92.138) (Quit: SanchayanMaity) |
2020-12-08 16:20:21 +0100 | MOSCOS | (~MOSCOS@122.54.107.175) |
2020-12-08 16:20:52 +0100 | nek0 | (~nek0@mail.nek0.eu) (Remote host closed the connection) |
2020-12-08 16:21:02 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2020-12-08 16:21:25 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Ping timeout: 258 seconds) |
2020-12-08 16:24:43 +0100 | iteratee | (~kyle@162.211.154.4) (Ping timeout: 260 seconds) |
2020-12-08 16:26:23 +0100 | nfd | (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net) (Ping timeout: 265 seconds) |
2020-12-08 16:27:28 +0100 | LKoen | (~LKoen@228.162.9.109.rev.sfr.net) (Remote host closed the connection) |
2020-12-08 16:29:45 +0100 | ADG1089 | (uid455466@gateway/web/irccloud.com/x-nqoknmurevpbzhjb) (Quit: Connection closed for inactivity) |
2020-12-08 16:30:50 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 16:30:54 +0100 | u0_a298` | (~user@2607:fb90:6a84:968d:8c8b:9549:39f4:78e7) |
2020-12-08 16:32:13 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
2020-12-08 16:34:38 +0100 | u0_a298` | (~user@2607:fb90:6a84:968d:8c8b:9549:39f4:78e7) (Read error: Connection reset by peer) |
2020-12-08 16:34:45 +0100 | u0_a298` | (~user@2607:fb90:6a84:968d:8c8b:9549:39f4:78e7) |
2020-12-08 16:34:50 +0100 | u0_a298 | (~user@47.206.148.226) (Ping timeout: 272 seconds) |
2020-12-08 16:34:56 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
2020-12-08 16:35:15 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 16:37:28 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-12-08 16:39:22 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-12-08 16:39:49 +0100 | u0_a298` | (~user@2607:fb90:6a84:968d:8c8b:9549:39f4:78e7) (Ping timeout: 258 seconds) |
2020-12-08 16:44:35 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 16:45:16 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2020-12-08 16:45:42 +0100 | ClaudiusMaximus | (~claude@223.153.198.146.dyn.plus.net) |
2020-12-08 16:45:42 +0100 | ClaudiusMaximus | (~claude@223.153.198.146.dyn.plus.net) (Changing host) |
2020-12-08 16:45:42 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2020-12-08 16:45:43 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) |
2020-12-08 16:45:49 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2020-12-08 16:47:02 +0100 | falafel_ | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) |
2020-12-08 16:49:23 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-12-08 16:50:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) (Ping timeout: 264 seconds) |
2020-12-08 16:52:00 +0100 | iteratee | (~kyle@162.211.154.4) |
2020-12-08 16:54:21 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 16:56:10 +0100 | LKoen | (~LKoen@228.162.9.109.rev.sfr.net) |
2020-12-08 16:59:05 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds) |
2020-12-08 16:59:05 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-08 16:59:29 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-08 17:00:31 +0100 | falafel_ | (~falafel@pool-108-31-243-192.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
2020-12-08 17:07:41 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Remote host closed the connection) |
2020-12-08 17:07:54 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 17:07:58 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-08 17:08:09 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) (Remote host closed the connection) |
2020-12-08 17:08:17 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) |
2020-12-08 17:09:43 +0100 | emmanuel` | (~user@2604:2000:1382:ce03:90f3:cccd:7e41:dd42) () |
2020-12-08 17:12:02 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-12-08 17:13:23 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-12-08 17:14:21 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-12-08 17:15:40 +0100 | <mananamenos> | hi, why doesn't `$` parse in this example? `prop_removeNotEmpty xs x = xs /= empty ==> remove (add x xs) == add x $ remove xs |
2020-12-08 17:15:40 +0100 | <mananamenos> | ` |
2020-12-08 17:16:05 +0100 | <mananamenos> | i must put parens on (remove xs) |
2020-12-08 17:16:24 +0100 | <merijn> | $ is not "magic parens removal" |
2020-12-08 17:16:32 +0100 | <merijn> | :t ($) |
2020-12-08 17:16:33 +0100 | <lambdabot> | (a -> b) -> a -> b |
2020-12-08 17:16:53 +0100 | <merijn> | mananamenos: *everything* on the left of $ is treated as function and applied to the thing on the right |
2020-12-08 17:17:14 +0100 | <merijn> | While you're intending to only apply "add x" |
2020-12-08 17:17:38 +0100 | <ephemient> | ==> is infixr 0, $ is infixr 0 |
2020-12-08 17:17:58 +0100 | <merijn> | That still leaves "remove (add x xs) == add x" |
2020-12-08 17:18:25 +0100 | <ephemient> | therefore it parses like `prop_removeNotEmpty xs x = ((xs /= empty) ==> remove (add x xs) == add x) $ remove xs` |
2020-12-08 17:18:29 +0100 | <merijn> | That's a boolean, not a function (well, it's a type error, but if it wasn't, it'd be a type error |
2020-12-08 17:18:46 +0100 | <dolio> | That would be infixl. |
2020-12-08 17:19:06 +0100 | nek0 | (~nek0@mail.nek0.eu) |
2020-12-08 17:19:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-08 17:19:14 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-wlqbdmxowqgsahkp) |
2020-12-08 17:19:20 +0100 | <ephemient> | oh you're right, I got left and right backwards |
2020-12-08 17:19:25 +0100 | <dolio> | :) |
2020-12-08 17:19:25 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-12-08 17:19:33 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0) |
2020-12-08 17:19:43 +0100 | <mananamenos> | thank you |
2020-12-08 17:20:47 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2020-12-08 17:21:23 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-12-08 17:24:52 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a9cd:54a5:5132:6498:c2e9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 17:25:07 +0100 | lyxia | (~lyxia@poisson.chat) (Quit: WeeChat 2.9) |
2020-12-08 17:25:49 +0100 | clynamen_ | (~clynamen@37.183.22.31) (Read error: Connection reset by peer) |
2020-12-08 17:26:35 +0100 | clynamen | (~clynamen@37.183.22.31) |
2020-12-08 17:27:42 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff80cd4aafbd6cd15b09.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-08 17:29:32 +0100 | aidecoe | (~aidecoe@unaffiliated/aidecoe) |
2020-12-08 17:29:43 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Quit: WeeChat 2.9) |
2020-12-08 17:30:32 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-12-08 17:33:39 +0100 | urek | (~urek@179.182.119.135) |
2020-12-08 17:35:31 +0100 | urek__ | (~urek@2804:7f1:e10a:7d51:8503:5833:8cd1:db9c) (Ping timeout: 272 seconds) |
2020-12-08 17:36:00 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) |
2020-12-08 17:37:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 17:37:26 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) (Client Quit) |
2020-12-08 17:37:58 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) |
2020-12-08 17:38:23 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-12-08 17:39:10 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
2020-12-08 17:40:25 +0100 | son0p | (~son0p@181.136.122.143) (Ping timeout: 240 seconds) |
2020-12-08 17:43:47 +0100 | xff0x_ | (~fox@port-92-195-97-206.dynamic.as20676.net) (Quit: xff0x_) |
2020-12-08 17:43:56 +0100 | xff0x | (~fox@2001:1a81:5297:ce00:2295:5eb3:713f:d20) |
2020-12-08 17:44:35 +0100 | shatriff_ | (~vitaliish@176.52.219.10) |
2020-12-08 17:45:49 +0100 | shatriff | (~vitaliish@176.52.219.10) (Ping timeout: 260 seconds) |
2020-12-08 17:48:24 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-12-08 17:53:18 +0100 | <texasmynsted> | WAT?! https://github.com/quchen/articles/blob/master/2018-11-22_zipWith_const.md |
2020-12-08 17:53:28 +0100 | <texasmynsted> | That is great! :-) |
2020-12-08 17:53:54 +0100 | <Squarism> | Im trying to understand the utility of "traverse" together with "Const" |
2020-12-08 17:54:46 +0100 | <Squarism> | Some wrote it becomes powerful in this form : (getConst . traverse Const :: (Monoid a, Traversable f) => f a -> a) |
2020-12-08 17:54:52 +0100 | <Squarism> | But I still dont get it |
2020-12-08 17:55:19 +0100 | <c_wraith> | have you used lens at all? |
2020-12-08 17:55:42 +0100 | <Squarism> | I have, but mostly wo understanding what happens underneath. |
2020-12-08 17:55:51 +0100 | <Squarism> | I get the concept of Traversable / |
2020-12-08 17:56:03 +0100 | <dolio> | You know foldable, right? |
2020-12-08 17:56:05 +0100 | <c_wraith> | it turns out Const is a significant part of how lens works |
2020-12-08 17:56:27 +0100 | <dolio> | Because that is Foldable, basically. |
2020-12-08 17:56:31 +0100 | <Squarism> | Foldable .. and how they can achieve the end result in broad terms. But not much more. |
2020-12-08 17:57:22 +0100 | <jle`> | try it out with some sample traversables you might know |
2020-12-08 17:57:25 +0100 | <Squarism> | I feel I need to se an example of how Const + traverse does something useful. Looking at the code of lens library feels to much at once. |
2020-12-08 17:57:38 +0100 | <c_wraith> | so the thing with a lens, and let's pick a concrete-ish type here, is that you have something that doesn't look like it's especially helpful all the time. Like... (a -> f b) -> (a, c) -> f (b, c) |
2020-12-08 17:57:40 +0100 | <jle`> | > traverse Const ["hello","world","goodbye"] |
2020-12-08 17:57:41 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-08 17:57:42 +0100 | <lambdabot> | Const "helloworldgoodbye" |
2020-12-08 17:57:59 +0100 | <jle`> | it lets you collect the items of a Traversable into a monoid |
2020-12-08 17:58:00 +0100 | <dolio> | It does what Foldable does for every Traversable. |
2020-12-08 17:58:44 +0100 | <c_wraith> | But if you want to use a lens as a getter, that final type doesn't look very useful. f (b, c) doesn't look much like a |
2020-12-08 17:59:56 +0100 | <c_wraith> | but that type f is very flexible. You specialize the type of the lens to (a -> Const a b) -> (a, c) -> Const a (b, c) |
2020-12-08 18:00:18 +0100 | <Squarism> | I would prefer not talk about the other types of Lens but for example see how I could extract "2" out of (Just 2,"asdf") |
2020-12-08 18:00:34 +0100 | <c_wraith> | that's exactly what I'm doing |
2020-12-08 18:01:25 +0100 | <c_wraith> | except for the Maybe part. that gets into Traversals, so I'm removing it |
2020-12-08 18:01:45 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
2020-12-08 18:02:03 +0100 | <Squarism> | (sorry for that unappreciative answer, just meaning long signatures and things that are natural to you havent clicked yet for me =D) |
2020-12-08 18:03:08 +0100 | <jle`> | Squarism: 'traverse' only touches the "asdf" part, so you could use it to extract the "asdf" |
2020-12-08 18:03:14 +0100 | <jle`> | > traverse Const (Just 2, "asdf") |
2020-12-08 18:03:15 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2020-12-08 18:03:16 +0100 | <lambdabot> | Const "asdf" |
2020-12-08 18:04:34 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) |
2020-12-08 18:05:05 +0100 | <c_wraith> | The thing about Const is that it's a trivial functor that you use when you want to *reduce* what's going on in a function that's polymorphic in the functor type |
2020-12-08 18:05:28 +0100 | <c_wraith> | there's no way to show it doing something useful that doesn't start as something complex and then reduce the complexity |
2020-12-08 18:05:28 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-rmxdeovfftxpgutx) |
2020-12-08 18:05:43 +0100 | <Squarism> | jle`, I was hoping there was a trick to extract the "2" out of it. Like quick and dirty "Getter" ? |
2020-12-08 18:05:59 +0100 | <jle`> | there is a trick, but you can't get it with 'traverse' |
2020-12-08 18:06:09 +0100 | <jle`> | since 'traverse' is only given the "asdf" |
2020-12-08 18:06:11 +0100 | <c_wraith> | and it's not going to be simple, either |
2020-12-08 18:06:30 +0100 | <jle`> | you can use bitraverse maybe |
2020-12-08 18:06:38 +0100 | <c_wraith> | because you're starting in two places at once, instead of just one |
2020-12-08 18:06:51 +0100 | <jle`> | > bitraverse Const pure (Just [2], "asdf") |
2020-12-08 18:06:54 +0100 | <lambdabot> | error: |
2020-12-08 18:06:54 +0100 | <lambdabot> | • Variable not in scope: |
2020-12-08 18:06:54 +0100 | <lambdabot> | bitraverse |
2020-12-08 18:07:05 +0100 | <c_wraith> | start with a far simpler task: extract the 2 from (2, ()) |
2020-12-08 18:07:31 +0100 | <Squarism> | ok |
2020-12-08 18:07:51 +0100 | koz | koz_ |
2020-12-08 18:08:45 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Ping timeout: 258 seconds) |
2020-12-08 18:09:16 +0100 | <c_wraith> | now, let's give you a lens for that, but let's make it super-specialized: _1 :: Functor f => (Int -> f Int) -> (Int, ()) -> f (Int, ()) |
2020-12-08 18:09:43 +0100 | <Squarism> | Ok |
2020-12-08 18:10:56 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-12-08 18:10:57 +0100 | <c_wraith> | If you know you're going to be using _1 in your solution, you see that the final thing it gives you is an f (Int, ()). But you want to be writing some sort of getter that just returns Int. So there's a lot of junk there that's not necessary |
2020-12-08 18:11:59 +0100 | <c_wraith> | The trick is that in _1, f is polymorphic. So you get to choose the Functor instance you want. And it turns out Const is a good functor for throwing out a lot of junk |
2020-12-08 18:12:49 +0100 | jianbo | (~jianbo@2601:246:4000:b22:2155:768d:869a:2ce3) |
2020-12-08 18:13:04 +0100 | Tops22 | (~Tobias@dyndsl-095-033-020-246.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2020-12-08 18:13:04 +0100 | <c_wraith> | So _1 (Const) :: (Int, ()) -> Const Int (Int, ()) |
2020-12-08 18:13:28 +0100 | <c_wraith> | But that result type is just a newtype wrapper away from Int |
2020-12-08 18:14:45 +0100 | <c_wraith> | and for reference, Const :: a -> Const a b |
2020-12-08 18:14:54 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:deb:313c:b080:2641) |
2020-12-08 18:15:56 +0100 | <c_wraith> | you can sort of think of Const as letting you smuggle out a value, ignoring the bigger context. |
2020-12-08 18:16:08 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 18:16:17 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-08 18:16:33 +0100 | <c_wraith> | sure, yeah, there's a bigger value in the type, but it's phantom. It's not actually kept around |
2020-12-08 18:16:48 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-12-08 18:17:19 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 18:17:32 +0100 | tomsmeding | realises Const is essentially just a beautiful functional hack |
2020-12-08 18:17:56 +0100 | jmchael | (~jmchael@87.112.60.168) |
2020-12-08 18:18:34 +0100 | <c_wraith> | And here's the big stumbling point: Const is "useless", in exactly the same way const is "useless" |
2020-12-08 18:19:01 +0100 | <c_wraith> | Neither one is something you're going to just decide to use in your code |
2020-12-08 18:19:13 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 18:19:27 +0100 | <c_wraith> | They come up when you're working with higher-order things and you need to fit a simpler idea into a more complex one |
2020-12-08 18:19:43 +0100 | <c_wraith> | They're adapters, essentially. |
2020-12-08 18:19:56 +0100 | <Squarism> | c_wraith, so how would the actual application of this example look. "extract the 2 from (2, ())" |
2020-12-08 18:20:14 +0100 | <c_wraith> | getConst (_1 Const) |
2020-12-08 18:20:20 +0100 | <c_wraith> | err |
2020-12-08 18:20:26 +0100 | <c_wraith> | getConst (_1 Const (2, ())) |
2020-12-08 18:20:39 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-12-08 18:20:59 +0100 | iqubic` | (~user@2601:602:9500:4870:9dce:a684:2556:7d9f) (Quit: ERC (IRC client for Emacs 28.0.50)) |
2020-12-08 18:21:15 +0100 | iqubic | (~user@2601:602:9500:4870:9dce:a684:2556:7d9f) |
2020-12-08 18:21:54 +0100 | gxt__ | (~gxt@gateway/tor-sasl/gxt) |
2020-12-08 18:22:05 +0100 | niko | (~niko@freenode/staff/ubuntu.member.niko) (Ping timeout: 600 seconds) |
2020-12-08 18:22:17 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2020-12-08 18:22:40 +0100 | <c_wraith> | In fact... |
2020-12-08 18:22:41 +0100 | <c_wraith> | > getConst (_1 Const (2, ())) |
2020-12-08 18:22:44 +0100 | <lambdabot> | 2 |
2020-12-08 18:23:02 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9) |
2020-12-08 18:23:03 +0100 | <c_wraith> | the value _1 that lambdabot has is more polymorphic, but it can be instantiated at exactly those types |
2020-12-08 18:23:25 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) |
2020-12-08 18:23:52 +0100 | <jle`> | > _1 Const (2, ()) -- hm.. |
2020-12-08 18:23:54 +0100 | <lambdabot> | Const 2 |
2020-12-08 18:24:03 +0100 | gxt_ | (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds) |
2020-12-08 18:24:43 +0100 | <c_wraith> | :t M.alterF |
2020-12-08 18:24:45 +0100 | <lambdabot> | (Functor f, Ord k) => (Maybe a -> f (Maybe a)) -> k -> M.Map k a -> f (M.Map k a) |
2020-12-08 18:24:56 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 18:25:15 +0100 | <c_wraith> | that's basically a lens that existed before the lens library |
2020-12-08 18:26:17 +0100 | <c_wraith> | > getConst (M.alterF Const 4 (M.fromList [(3, "hello"), (4, "world)])) |
2020-12-08 18:26:19 +0100 | <lambdabot> | <hint>:1:69: error: |
2020-12-08 18:26:20 +0100 | <lambdabot> | <hint>:1:69: error: |
2020-12-08 18:26:20 +0100 | <lambdabot> | lexical error in string/character literal at end of input |
2020-12-08 18:27:11 +0100 | <c_wraith> | apparently lexical rules are hard for me these days |
2020-12-08 18:27:13 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2020-12-08 18:27:15 +0100 | <c_wraith> | > getConst (M.alterF Const 4 (M.fromList [(3, "hello"), (4, "world")])) |
2020-12-08 18:27:18 +0100 | <lambdabot> | Just "world" |
2020-12-08 18:27:27 +0100 | <c_wraith> | > getConst (M.alterF Const 5 (M.fromList [(3, "hello"), (4, "world")])) |
2020-12-08 18:27:30 +0100 | <lambdabot> | Nothing |
2020-12-08 18:28:28 +0100 | <tomsmeding> | so M.lookup = getConst . M.alterF Const |
2020-12-08 18:28:48 +0100 | <c_wraith> | I think that's got a type error, but mostly correct |
2020-12-08 18:29:39 +0100 | <tomsmeding> | ah right |
2020-12-08 18:29:41 +0100 | <c_wraith> | M.lookup k = getConst . M.alterF Const k |
2020-12-08 18:29:49 +0100 | <tomsmeding> | :t (getConst .) . M.alterF Const |
2020-12-08 18:29:51 +0100 | <lambdabot> | Ord k => k -> M.Map k a -> Maybe a |
2020-12-08 18:30:05 +0100 | <c_wraith> | :t M.lookup |
2020-12-08 18:30:07 +0100 | <lambdabot> | Ord k => k -> M.Map k a -> Maybe a |
2020-12-08 18:30:11 +0100 | <c_wraith> | there you go! |
2020-12-08 18:30:45 +0100 | <c_wraith> | :t M.alterF |
2020-12-08 18:30:47 +0100 | <lambdabot> | (Functor f, Ord k) => (Maybe a -> f (Maybe a)) -> k -> M.Map k a -> f (M.Map k a) |
2020-12-08 18:30:58 +0100 | <c_wraith> | once more - that returns an f (M.Map k a) |
2020-12-08 18:31:25 +0100 | tomsmeding | thanks c_wraith for the nice intro into Const, TIL |
2020-12-08 18:31:30 +0100 | <c_wraith> | Const is an adapter that lets you get a Maybe a out instead, by sneaking it into the f |
2020-12-08 18:32:19 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 18:32:25 +0100 | <c_wraith> | I really do find it impressive that alterF predates the lens library |
2020-12-08 18:32:36 +0100 | <c_wraith> | Someone stumbled onto something far more general than they realized |
2020-12-08 18:33:26 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 18:34:26 +0100 | <Squarism> | c |
2020-12-08 18:34:44 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Ping timeout (120 seconds)) |
2020-12-08 18:35:20 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 18:35:46 +0100 | <tomsmeding> | alterF for Data.Map looks to be after lens, though: https://github.com/haskell/containers/commit/7d03d76b7647dc731da2e75dcdd45f6c2e667682 |
2020-12-08 18:35:54 +0100 | <Squarism> | c_wraith, ok. That was an interesting example. Trying to extend it to get the 2 out of (True,(2,()). |
2020-12-08 18:36:20 +0100 | <Squarism> | ...and thanks! |
2020-12-08 18:36:20 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 18:36:30 +0100 | <c_wraith> | huh, did I get that relative timing wrong? that's unfortunate |
2020-12-08 18:37:13 +0100 | <tomsmeding> | well I don't know if that's the first occurrence of such an alterF, but it seems to be the origin of Data.Map.Strict.alterF |
2020-12-08 18:37:44 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 18:37:44 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-08 18:38:15 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-08 18:39:45 +0100 | unlink2 | (~unlink2@p5dc0acf8.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-12-08 18:40:30 +0100 | <c_wraith> | Squarism: it turns out that's going to not be much more enlightening. the use of Const will be identical. the only difference will be replacing _1 with a function that digs deeper. |
2020-12-08 18:40:37 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:230f:7e22:ba44:597f) (Ping timeout: 260 seconds) |
2020-12-08 18:41:39 +0100 | unlink2 | (~unlink2@p200300ebcf259600971664e9499d7db7.dip0.t-ipconnect.de) |
2020-12-08 18:42:35 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 18:44:55 +0100 | <ezzieyguywuf> | if I have an `Either e a` and a `(a -> b)`, how can I make an `Either e b`? |
2020-12-08 18:45:03 +0100 | <dminuoso> | % :t fmap |
2020-12-08 18:45:03 +0100 | <yahb> | dminuoso: Functor f => (a -> b) -> f a -> f b |
2020-12-08 18:45:11 +0100 | <Squarism> | c_wraith, alright. That was great. Now I have a small expression that I can dig into. Thanks a bunch. |
2020-12-08 18:45:13 +0100 | <ezzieyguywuf> | duh!! |
2020-12-08 18:45:24 +0100 | <ezzieyguywuf> | forgot that fmap for Either will return Left as-is |
2020-12-08 18:45:28 +0100 | <ezzieyguywuf> | dminuoso: thank you. |
2020-12-08 18:45:42 +0100 | <solonarv> | ezzieyguywuf: or Data.Bifunctor.second |
2020-12-08 18:45:47 +0100 | <c_wraith> | Squarism: you're welcome. keep playing with it and you'll get a good feel for it. |
2020-12-08 18:46:06 +0100 | <Squarism> | c_wraith, this is it right ? ((_2 . _1) Const (True,(2 :: Int, ()))) |
2020-12-08 18:46:08 +0100 | <solonarv> | (you might want to use 'second' because of its symmetry with 'first', which works on the Left side) |
2020-12-08 18:46:25 +0100 | <c_wraith> | yes it is |
2020-12-08 18:47:07 +0100 | <c_wraith> | well, you might want to throw a getConst in, but that's just the tribal unwrapping |
2020-12-08 18:47:19 +0100 | <c_wraith> | *trivial |
2020-12-08 18:47:28 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 258 seconds) |
2020-12-08 18:47:41 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) (Remote host closed the connection) |
2020-12-08 18:48:12 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) |
2020-12-08 18:48:15 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) (Client Quit) |
2020-12-08 18:48:37 +0100 | carlomagno | (~cararell@148.87.23.11) (Ping timeout: 258 seconds) |
2020-12-08 18:48:54 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) |
2020-12-08 18:49:10 +0100 | <ezzieyguywuf> | solonarv: thanks. |
2020-12-08 18:50:33 +0100 | carlomagno | (~cararell@148.87.23.11) |
2020-12-08 18:51:31 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2020-12-08 18:52:55 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:1635:4394:f86d:e4ee) |
2020-12-08 18:53:16 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) |
2020-12-08 18:56:42 +0100 | <cheater> | this cabal source code has "i'm feeling lucky" as a comment ... |
2020-12-08 18:59:23 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
2020-12-08 18:59:35 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2020-12-08 19:00:30 +0100 | <[exa]> | cheater: judging from the fact you're still reading cabal source code, I guess you weren't that lucky with the llvm? |
2020-12-08 19:01:15 +0100 | <cheater> | yeah, that's the state i'm in |
2020-12-08 19:01:30 +0100 | <cheater> | apparently it has no idea how to handle static llvm library lists under windows |
2020-12-08 19:01:34 +0100 | <cheater> | so i'll have to figure it out |
2020-12-08 19:01:38 +0100 | <cheater> | i'm eating lunch now though |
2020-12-08 19:02:12 +0100 | kuribas | (~user@ptr-25vy0i99gxf0ju0nzkm.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2020-12-08 19:02:14 +0100 | <cheater> | but essentially ifBuildsWith fails in Configure.hs with "Missing (or bad) C libraries" |
2020-12-08 19:02:41 +0100 | <[exa]> | perhaps you're hitting some of the famous commandline length limits? |
2020-12-08 19:04:05 +0100 | <merijn> | "missing (or bad) C libraries" sounds like pkg-config-depends failing |
2020-12-08 19:06:03 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
2020-12-08 19:06:46 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-12-08 19:09:33 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 19:10:36 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) (Ping timeout: 240 seconds) |
2020-12-08 19:10:37 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: Textual IRC Client: www.textualapp.com) |
2020-12-08 19:13:11 +0100 | <jle`> | is there a "tagged nil" list type anywhere commonly? |
2020-12-08 19:13:21 +0100 | <jle`> | data TaggedNil w a = Nil w | Cons a (TaggedNil w a) |
2020-12-08 19:13:40 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds) |
2020-12-08 19:13:53 +0100 | <geekosaur> | not commonly |
2020-12-08 19:14:32 +0100 | <jle`> | I thiiink it should be equivalent to Conduit () a m w |
2020-12-08 19:15:06 +0100 | <solonarv> | for finite lists it's equivalent to (w, [a]), right? |
2020-12-08 19:15:07 +0100 | <jle`> | forall m |
2020-12-08 19:15:36 +0100 | <jle`> | solonarv: oh yeah, true. but i'd want to be taking advantage of laziness here and using it with recursion-schemes |
2020-12-08 19:15:48 +0100 | <jle`> | i guessi could do (w, [a]) and do a custom recursin-scheme instance set |
2020-12-08 19:16:04 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer) |
2020-12-08 19:17:26 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) |
2020-12-08 19:17:51 +0100 | <solonarv> | it's certainly equivalent to Conduit () a Identity w |
2020-12-08 19:20:18 +0100 | <[exa]> | :t \a b c -> (,) <$> a <*> b >>= uncurry c -- is there some name/shortcut for this? except for double binding with `do`. |
2020-12-08 19:20:20 +0100 | <lambdabot> | Monad m => m a -> m b1 -> (a -> b1 -> m b2) -> m b2 |
2020-12-08 19:21:42 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-12-08 19:22:17 +0100 | <solonarv> | [exa]: I don't think so; you could also write it as join (c <$> a <*> b) |
2020-12-08 19:23:20 +0100 | <[exa]> | yeah that is nicer |
2020-12-08 19:23:49 +0100 | <jle`> | i'd probably use do notation |
2020-12-08 19:24:12 +0100 | <jle`> | over tuple munging |
2020-12-08 19:25:15 +0100 | <sm[m]> | g'day all |
2020-12-08 19:25:46 +0100 | conal_ | (~conal@209.58.139.237) (Quit: Computer has gone to sleep.) |
2020-12-08 19:25:53 +0100 | <sm[m]> | stack repl --help says: --package PACKAGE(S) Additional package(s) that must be installed, suggesting you can put multiple package names with a single --package. Would anyone know the right syntax ? |
2020-12-08 19:26:28 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-12-08 19:26:28 +0100 | <koz_> | sm[m]: Tried comma separating? |
2020-12-08 19:27:08 +0100 | <ski> | [exa] : `infixl 4 <*>>; (<*>>) :: Monad m => m (a -> m b) -> (m a -> m b); mamb <*>> ma = join (mamb <*> ma)', then use `f <$> ma <*> mb <*> mc <*>> md' |
2020-12-08 19:27:56 +0100 | conal | (~conal@209.58.139.237) |
2020-12-08 19:28:40 +0100 | <[exa]> | wow cool |
2020-12-08 19:29:08 +0100 | <[exa]> | is the <*>> name used somewhere? |
2020-12-08 19:29:19 +0100 | <ski> | i've mentioned it before, in here .. |
2020-12-08 19:29:27 +0100 | <[exa]> | :] |
2020-12-08 19:29:34 +0100 | <[exa]> | ok, thanks everyone. :] |
2020-12-08 19:31:21 +0100 | tungki_ | (uid469991@gateway/web/irccloud.com/x-sspsztrxwlgmlqik) |
2020-12-08 19:31:34 +0100 | <ski> | @type let mmab <<*> ma = join mmab <*> ma in (<<*>) |
2020-12-08 19:31:36 +0100 | <lambdabot> | Monad f => f (f (a -> b)) -> f a -> f b |
2020-12-08 19:33:08 +0100 | ubert | (~Thunderbi@p200300ecdf1e5312e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-08 19:33:58 +0100 | <sm[m]> | koz_: yup |
2020-12-08 19:34:01 +0100 | <sm[m]> | and space |
2020-12-08 19:34:02 +0100 | ubert | (~Thunderbi@p200300ecdf1e5386e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-12-08 19:34:49 +0100 | <koz_> | sm[m]: Yeah, that's obscure-AF. |
2020-12-08 19:34:54 +0100 | <koz_> | Three cheers for stack docs rofl. |
2020-12-08 19:35:12 +0100 | tungki_ | (uid469991@gateway/web/irccloud.com/x-sspsztrxwlgmlqik) (Client Quit) |
2020-12-08 19:35:20 +0100 | <sm[m]> | huh, https://docs.haskellstack.org/en/stable/GUIDE/#using-multiple-packages is there but says both comma and space work |
2020-12-08 19:36:03 +0100 | <[exa]> | ski: kindof finding out that just prefixing the whole construction with 'join $' will be likely the most digestible way |
2020-12-08 19:36:10 +0100 | <sm[m]> | seems like a bug/regression then, I'll report |
2020-12-08 19:36:21 +0100 | tungki | (uid469991@gateway/web/irccloud.com/x-xbivqosqcbdjuayc) |
2020-12-08 19:36:32 +0100 | <sm[m]> | oh, but that doc was for the script command |
2020-12-08 19:36:33 +0100 | <geekosaur> | shell quoting required for spaces? |
2020-12-08 19:36:44 +0100 | <geekosaur> | (but not for commas, so.) |
2020-12-08 19:37:49 +0100 | <geekosaur> | I also note the "this is probably out of date" at the very start of the GUIDE |
2020-12-08 19:37:52 +0100 | <ski> | [exa] : fair enough :) |
2020-12-08 19:38:23 +0100 | ubert | (~Thunderbi@p200300ecdf1e5386e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-08 19:40:30 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) () |
2020-12-08 19:40:35 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-08 19:42:35 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-12-08 19:43:03 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-12-08 19:43:47 +0100 | matryoshka` | (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-08 19:44:03 +0100 | matryoshka | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
2020-12-08 19:44:11 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 19:44:12 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Ping timeout: 258 seconds) |
2020-12-08 19:45:43 +0100 | <sm[m]> | https://github.com/commercialhaskell/stack/issues/5455 |
2020-12-08 19:46:06 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 19:46:09 +0100 | <sm[m]> | too obscure to get fixed without a PR, but for the record.. |
2020-12-08 19:47:12 +0100 | <notzmv> | fw |
2020-12-08 19:47:21 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) (Remote host closed the connection) |
2020-12-08 19:52:03 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2020-12-08 19:52:16 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving) |
2020-12-08 19:52:33 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-12-08 19:52:53 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-12-08 19:53:01 +0100 | <kritzefitz> | Can anyone recommend an up-to-date FRP library? I was just coming back to a project using reactive-banana and quite shocked to find out, that it doesn't seem to be actively maintained anymore. |
2020-12-08 19:53:16 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-12-08 19:53:36 +0100 | <koz_> | kritzefitz: Rhine is pretty good. |
2020-12-08 19:53:44 +0100 | <koz_> | (it also solves a fairly important problem) |
2020-12-08 19:55:29 +0100 | conal | (~conal@209.58.139.237) (Quit: Computer has gone to sleep.) |
2020-12-08 19:56:52 +0100 | <kritzefitz> | koz, Thanks! I'm gonna take a look at that. |
2020-12-08 19:57:40 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-12-08 19:59:05 +0100 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9) |
2020-12-08 19:59:12 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Remote host closed the connection) |
2020-12-08 19:59:21 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Quit: WeeChat 2.9) |
2020-12-08 20:00:23 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 20:00:25 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 260 seconds) |
2020-12-08 20:01:53 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-qqpsupzzdwjcsdle) |
2020-12-08 20:02:55 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-08 20:03:21 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-08 20:04:06 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
2020-12-08 20:04:08 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
2020-12-08 20:04:49 +0100 | <ezzieyguywuf> | how can I turn an Integer into an Int? |
2020-12-08 20:04:56 +0100 | <ezzieyguywuf> | Or vice-versa if that is "safer"? |
2020-12-08 20:05:14 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Ping timeout: 260 seconds) |
2020-12-08 20:05:19 +0100 | <geekosaur> | :t fromIntegral |
2020-12-08 20:05:21 +0100 | <lambdabot> | (Integral a, Num b) => a -> b |
2020-12-08 20:05:45 +0100 | <geekosaur> | vice versa would be safer since it can't overflow; same conversion function |
2020-12-08 20:05:55 +0100 | <ezzieyguywuf> | geekosaur: perfect thank you. |
2020-12-08 20:06:05 +0100 | sagax | (~sagax_nb@213.138.71.146) (Ping timeout: 240 seconds) |
2020-12-08 20:15:19 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2020-12-08 20:16:06 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-12-08 20:16:13 +0100 | conal | (~conal@209.58.139.237) |
2020-12-08 20:16:26 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-08 20:21:06 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
2020-12-08 20:21:56 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
2020-12-08 20:22:25 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) |
2020-12-08 20:25:23 +0100 | notzmv` | (~user@201-43-52-72.dsl.telesp.net.br) |
2020-12-08 20:25:24 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-kqlbqomhdamrwvuv) |
2020-12-08 20:25:55 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-08 20:26:01 +0100 | dhil | (~dhil@195.213.192.34) (Ping timeout: 264 seconds) |
2020-12-08 20:26:43 +0100 | notzmv | (~user@unaffiliated/zmv) (Ping timeout: 246 seconds) |
2020-12-08 20:26:48 +0100 | roconnor | (~roconnor@host-45-58-200-239.dyn.295.ca) (Quit: Konversation terminated!) |
2020-12-08 20:27:09 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
2020-12-08 20:27:58 +0100 | christo | (~chris@81.96.113.213) |
2020-12-08 20:28:25 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Ping timeout: 260 seconds) |
2020-12-08 20:28:32 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) |
2020-12-08 20:29:10 +0100 | tom__ | (~tom@2a00:23c8:970a:3501:b89a:3974:7a09:75a2) |
2020-12-08 20:32:21 +0100 | hidedagger | (~nate@unaffiliated/hidedagger) |
2020-12-08 20:32:56 +0100 | zincy__ | (~tom@2a00:23c8:970a:3501:d1af:3726:ffca:e493) (Ping timeout: 246 seconds) |
2020-12-08 20:34:57 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 20:35:06 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-12-08 20:35:11 +0100 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
2020-12-08 20:35:33 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-12-08 20:38:31 +0100 | dhil | (~dhil@78.156.97.38) |
2020-12-08 20:40:44 +0100 | conal | (~conal@209.58.139.237) (Quit: Computer has gone to sleep.) |
2020-12-08 20:42:59 +0100 | leungbk | (~user@2603-8000-f144-2028-5f51-12f7-6de3-c4e6.res6.spectrum.com) |
2020-12-08 20:46:34 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-12-08 20:48:03 +0100 | conal | (~conal@209.58.139.237) |
2020-12-08 20:49:21 +0100 | conal | (~conal@209.58.139.237) (Client Quit) |
2020-12-08 20:50:19 +0100 | conal | (~conal@209.58.139.237) |
2020-12-08 20:50:28 +0100 | conal | (~conal@209.58.139.237) (Client Quit) |
2020-12-08 20:50:44 +0100 | ubert | (~Thunderbi@p200300ecdf1e5386e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-12-08 20:51:40 +0100 | Cthalupa | (~cthulhu@47.186.47.75) (Ping timeout: 258 seconds) |
2020-12-08 20:51:49 +0100 | conal | (~conal@209.58.139.237) |
2020-12-08 20:52:03 +0100 | conal | (~conal@209.58.139.237) (Client Quit) |
2020-12-08 20:53:08 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2020-12-08 20:53:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-08 20:53:23 +0100 | <dminuoso> | ezzieyguywuf: What does "safety" even mean for you? |
2020-12-08 20:53:47 +0100 | borne | (~fritjof@200116b86420b200bcbe2553f445a41b.dip.versatel-1u1.de) |
2020-12-08 20:54:42 +0100 | dhil | (~dhil@78.156.97.38) (Ping timeout: 256 seconds) |
2020-12-08 20:55:11 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 20:55:44 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 20:57:02 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff8621cd498ce205b85b.dip0.t-ipconnect.de) |
2020-12-08 20:58:21 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-08 20:59:12 +0100 | <koz_> | dminuoso: I'm guessing the concern is overflow? |
2020-12-08 20:59:31 +0100 | <koz_> | There's like, cast-int or something like that for this? |
2020-12-08 20:59:39 +0100 | <geekosaur> | that was my guess as well |
2020-12-08 20:59:59 +0100 | christo | (~chris@81.96.113.213) |
2020-12-08 21:00:23 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 21:00:23 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-08 21:00:25 +0100 | benschza | (~quassel@2604:1380:2000:cf00::1) (Ping timeout: 240 seconds) |
2020-12-08 21:00:31 +0100 | <dminuoso> | Well, cast-int wouldnt allow you to go from Integer to Int |
2020-12-08 21:00:47 +0100 | <dminuoso> | Or does it? |
2020-12-08 21:00:54 +0100 | benschza | (~quassel@2604:1380:2000:cf00::1) |
2020-12-08 21:01:05 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 21:01:06 +0100 | <dminuoso> | Ohh, it has dynamically checked variants, I did not know this |
2020-12-08 21:01:12 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) (Remote host closed the connection) |
2020-12-08 21:01:13 +0100 | <dminuoso> | I only ever used it for the static conversions |
2020-12-08 21:01:38 +0100 | <koz_> | The dynamically checked thing is actually in Data.Bits now I think. |
2020-12-08 21:01:41 +0100 | <ezzieyguywuf> | dminuoso: "safety" = "avoiding things like overflow" |
2020-12-08 21:02:01 +0100 | <ezzieyguywuf> | I'm not savvy enough to recognize these potential pitfalls |
2020-12-08 21:02:07 +0100 | <ezzieyguywuf> | (yet) |
2020-12-08 21:02:12 +0100 | <dminuoso> | Then int-cast is the only solution I know if.. |
2020-12-08 21:02:33 +0100 | <dminuoso> | The lack of comprehensive conversion functions in Haskell is a major annoyance of mine |
2020-12-08 21:02:48 +0100 | <ezzieyguywuf> | so the (fromInteger :: (Integer -> Int)) is no good? |
2020-12-08 21:03:12 +0100 | <dminuoso> | It's like we train you to encode all kinds of properties into the type system, to ensure you don't have surprise errors - just to to hand you nothing but conversion functions that likely dont do what you want. |
2020-12-08 21:03:46 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 21:03:52 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed) |
2020-12-08 21:03:56 +0100 | <dminuoso> | % fromIntegral (122180591620717411303424 :: Integer) :: Int |
2020-12-08 21:03:56 +0100 | <yahb> | dminuoso: 7805620539050950656 |
2020-12-08 21:03:58 +0100 | <dminuoso> | You tell me |
2020-12-08 21:04:30 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) |
2020-12-08 21:04:56 +0100 | <dminuoso> | % fromIntegral (1180591620717411303424 :: Integer) :: Int |
2020-12-08 21:04:57 +0100 | <yahb> | dminuoso: 0 |
2020-12-08 21:04:59 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-12-08 21:05:48 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Ping timeout: 256 seconds) |
2020-12-08 21:06:28 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
2020-12-08 21:07:29 +0100 | dhil | (~dhil@195.213.192.34) |
2020-12-08 21:07:39 +0100 | <ezzieyguywuf> | yikes |
2020-12-08 21:08:09 +0100 | notzmv` | (~user@201-43-52-72.dsl.telesp.net.br) (Ping timeout: 258 seconds) |
2020-12-08 21:08:29 +0100 | <ezzieyguywuf> | I'm not that worried about it. If my user wants to parse that many characters out of a "Description" column in a csv file downloaded from their bank...they have other problems |
2020-12-08 21:08:42 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds) |
2020-12-08 21:10:29 +0100 | <dminuoso> | Oh look at that |
2020-12-08 21:10:32 +0100 | <dminuoso> | https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Bits.html#v:toIntegralSized |
2020-12-08 21:10:38 +0100 | <dminuoso> | koz_ ^- you might also be interested |
2020-12-08 21:10:42 +0100 | <koz_> | dminuoso: I was aware. :P |
2020-12-08 21:10:47 +0100 | <koz_> | (I even mentioned this earlier) |
2020-12-08 21:11:08 +0100 | <koz_> | I had to deal with this when I was rewriting Real Job For Real Money's database wrapper layer. |
2020-12-08 21:11:21 +0100 | <dminuoso> | Oh sorry, I missed it then |
2020-12-08 21:11:38 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-08 21:11:40 +0100 | <dminuoso> | The documentation is a bit fuzzy on toIntegralSized |
2020-12-08 21:12:03 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 21:12:32 +0100 | <dminuoso> | The code example looks odd too, unless Im misreading something |
2020-12-08 21:12:49 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-08 21:13:23 +0100 | <dminuoso> | `| toInteger x == y = ...` this is the same as `| toInteger x == toInteger x = ...` |
2020-12-08 21:13:57 +0100 | <dminuoso> | Im guessing the snippet is wrong and it should read `y = fromIntegral x` |
2020-12-08 21:14:21 +0100 | ADG1089 | (uid455466@gateway/web/irccloud.com/x-snrmhjgbftnsehrc) |
2020-12-08 21:15:14 +0100 | <geekosaur> | this came up a few weeks ago, it's wrong |
2020-12-08 21:15:47 +0100 | <geekosaur> | someone then tried to submit a PR and ran into a gitlab outage of some kind (503 error I think) |
2020-12-08 21:16:54 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2020-12-08 21:19:06 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-08 21:19:16 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Ping timeout: 240 seconds) |
2020-12-08 21:21:24 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 21:22:33 +0100 | StoneToad | (~StoneToad@199-167-119-135.ppp.storm.ca) (Ping timeout: 260 seconds) |
2020-12-08 21:24:05 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-08 21:24:09 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Quit: Konversation terminated!) |
2020-12-08 21:24:36 +0100 | knupfer | (~Thunderbi@200116b82cfdb2004ca865631e4ce9c2.dip.versatel-1u1.de) |
2020-12-08 21:26:55 +0100 | nfd | (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net) |
2020-12-08 21:28:49 +0100 | StoneToad | (~StoneToad@199-167-119-150.ppp.storm.ca) |
2020-12-08 21:29:04 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 21:29:36 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 21:29:58 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-12-08 21:31:50 +0100 | <iqubic> | Is there an infix version of views from Lens? |
2020-12-08 21:32:05 +0100 | <iqubic> | Like an operator version. |
2020-12-08 21:32:07 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 21:32:12 +0100 | <merijn> | `views` ? :P |
2020-12-08 21:32:39 +0100 | <Uniaika> | iqubic: `views` |
2020-12-08 21:32:44 +0100 | <Uniaika> | ;) |
2020-12-08 21:33:29 +0100 | <iqubic> | I just mean "view is to (^.) as views is to ...?" |
2020-12-08 21:34:14 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 21:34:29 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) (Remote host closed the connection) |
2020-12-08 21:34:46 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 21:35:49 +0100 | <dolio> | There probably isn't one, because views has 3 arguments. |
2020-12-08 21:36:10 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) |
2020-12-08 21:36:12 +0100 | <iqubic> | Right. |
2020-12-08 21:36:47 +0100 | xff0x | (~fox@2001:1a81:5297:ce00:2295:5eb3:713f:d20) (Ping timeout: 260 seconds) |
2020-12-08 21:37:37 +0100 | xff0x | (~fox@2001:1a81:5297:ce00:6b5f:a8b6:2b81:7cdd) |
2020-12-08 21:39:32 +0100 | <maerwald> | is (^.^) taken? |
2020-12-08 21:40:05 +0100 | tungki | (uid469991@gateway/web/irccloud.com/x-xbivqosqcbdjuayc) (Quit: Connection closed for inactivity) |
2020-12-08 21:40:51 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 21:40:56 +0100 | <dminuoso> | https://hackage.haskell.org/package/cubicbezier-0.6.0.6/docs/Geom2D.html#v:-94-.-94- |
2020-12-08 21:41:15 +0100 | <dminuoso> | Wow how has that library 11k downloads :o |
2020-12-08 21:41:21 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 21:41:43 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 21:42:55 +0100 | <iqubic> | How is that number computed? |
2020-12-08 21:43:42 +0100 | <merijn> | mostly bots :p |
2020-12-08 21:44:42 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 21:44:42 +0100 | <maerwald> | iqubic: (+1) I think |
2020-12-08 21:45:05 +0100 | <iqubic> | What is (+1)? How does that help me? |
2020-12-08 21:45:16 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 21:46:18 +0100 | <merijn> | Incremented one at a time :p |
2020-12-08 21:47:46 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-08 21:48:49 +0100 | LKoen | (~LKoen@228.162.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-12-08 21:54:53 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-12-08 21:55:01 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-08 21:55:03 +0100 | aplainze1akind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-08 21:55:27 +0100 | aplainze1akind | aplainzetakind |
2020-12-08 21:57:29 +0100 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer) |
2020-12-08 21:57:41 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-08 21:57:42 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 21:58:15 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 21:59:33 +0100 | xff0x | (~fox@2001:1a81:5297:ce00:6b5f:a8b6:2b81:7cdd) (Remote host closed the connection) |
2020-12-08 21:59:50 +0100 | xff0x | (~fox@2001:1a81:5297:ce00:950a:3e50:5ed2:fa3d) |
2020-12-08 22:01:04 +0100 | <koz_> | Can someone help me understand what this says vis-a-vis the stack StateT s Logic? http://hackage.haskell.org/package/logict-0.7.0.3/docs/src/Control.Monad.Logic.Class.html#line-121 |
2020-12-08 22:01:30 +0100 | <koz_> | I don't get what the note above the ReaderT e m (which the docs say applies to StateT as well) actually means. |
2020-12-08 22:01:35 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) (Remote host closed the connection) |
2020-12-08 22:02:41 +0100 | urek | (~urek@179.182.119.135) (Ping timeout: 260 seconds) |
2020-12-08 22:02:42 +0100 | alx741 | (~alx741@181.196.69.205) (Ping timeout: 256 seconds) |
2020-12-08 22:03:30 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2020-12-08 22:04:57 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-08 22:05:42 +0100 | knupfer | (~Thunderbi@200116b82cfdb2004ca865631e4ce9c2.dip.versatel-1u1.de) (Quit: knupfer) |
2020-12-08 22:06:02 +0100 | knupfer | (~Thunderbi@200116b82cfdb20099e23f0da52ebb09.dip.versatel-1u1.de) |
2020-12-08 22:08:48 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-qqpsupzzdwjcsdle) (Quit: Connection closed for inactivity) |
2020-12-08 22:09:42 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) |
2020-12-08 22:09:52 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 22:10:48 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2020-12-08 22:11:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) |
2020-12-08 22:11:15 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Remote host closed the connection) |
2020-12-08 22:12:01 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 22:12:10 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
2020-12-08 22:12:22 +0100 | son0p | (~son0p@181.136.122.143) |
2020-12-08 22:12:54 +0100 | Deide | (~Deide@217.155.19.23) |
2020-12-08 22:14:25 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 22:14:28 +0100 | Wuzzy | (~Wuzzy@p549c9bc8.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2020-12-08 22:15:21 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Remote host closed the connection) |
2020-12-08 22:15:34 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-12-08 22:17:34 +0100 | carlomagno1 | (~cararell@148.87.23.11) |
2020-12-08 22:18:55 +0100 | <merijn> | koz_: That all alternatives get the same input state, I think? |
2020-12-08 22:19:04 +0100 | carlomagno | (~cararell@148.87.23.11) (Ping timeout: 258 seconds) |
2020-12-08 22:19:15 +0100 | <koz_> | merijn: So basically, you can't actually change out the state mid-computation? |
2020-12-08 22:19:27 +0100 | <koz_> | AKA the state you provide for 'runStateT' will be the one everywhere? |
2020-12-08 22:19:32 +0100 | <merijn> | not sure |
2020-12-08 22:22:04 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 22:22:37 +0100 | benjamingr__ | (uid23465@gateway/web/irccloud.com/x-pjfkrpyzckdbsmgh) |
2020-12-08 22:22:58 +0100 | notzmv | (~user@unaffiliated/zmv) |
2020-12-08 22:23:42 +0100 | knupfer | (~Thunderbi@200116b82cfdb20099e23f0da52ebb09.dip.versatel-1u1.de) (Quit: knupfer) |
2020-12-08 22:23:44 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-08 22:24:05 +0100 | knupfer | (~Thunderbi@200116b82cfdb2002579ab80824d82fa.dip.versatel-1u1.de) |
2020-12-08 22:25:12 +0100 | acidjnk_new | (~acidjnk@p200300d0c719ff8621cd498ce205b85b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-08 22:28:46 +0100 | michalz` | (~user@185.246.204.61) |
2020-12-08 22:30:31 +0100 | cads | (~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer) |
2020-12-08 22:30:35 +0100 | cads2 | (~cads@ip-64-72-99-232.lasvegas.net) |
2020-12-08 22:30:46 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 22:31:20 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 22:31:24 +0100 | michalz | (~user@185.246.204.56) (Remote host closed the connection) |
2020-12-08 22:31:44 +0100 | teardown | (~user@gateway/tor-sasl/mrush) |
2020-12-08 22:34:26 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 256 seconds) |
2020-12-08 22:35:07 +0100 | knupfer | (~Thunderbi@200116b82cfdb2002579ab80824d82fa.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-12-08 22:37:59 +0100 | urek | (~urek@179.182.119.135) |
2020-12-08 22:41:32 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 272 seconds) |
2020-12-08 22:41:50 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 22:42:10 +0100 | sweater | (~sweater@206.81.18.26) |
2020-12-08 22:42:13 +0100 | jonn | (~sweater@206.81.18.26) (Ping timeout: 260 seconds) |
2020-12-08 22:42:21 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 22:43:28 +0100 | cads2 | (~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer) |
2020-12-08 22:43:38 +0100 | cads2 | (~cads@ip-64-72-99-232.lasvegas.net) |
2020-12-08 22:45:28 +0100 | alx741 | (~alx741@181.196.69.205) |
2020-12-08 22:45:45 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-12-08 22:46:08 +0100 | crblmr | (~carbolyme@matrix.dropacid.net) |
2020-12-08 22:47:43 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 22:48:23 +0100 | borne | (~fritjof@200116b86420b200bcbe2553f445a41b.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2020-12-08 22:49:01 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) () |
2020-12-08 22:49:31 +0100 | fendor | (~fendor@77.119.128.243.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-08 22:51:07 +0100 | fendor | (~fendor@77.119.128.243.wireless.dyn.drei.com) |
2020-12-08 22:51:08 +0100 | seasonal-staff | glguy |
2020-12-08 22:51:10 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 22:53:30 +0100 | justsomeguy | (~justsomeg@216.186.218.241) |
2020-12-08 22:53:30 +0100 | justsomeguy | (~justsomeg@216.186.218.241) (Changing host) |
2020-12-08 22:53:30 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2020-12-08 22:53:45 +0100 | fiQ2 | (~fiQ@mirkk.ninja) (Remote host closed the connection) |
2020-12-08 22:53:55 +0100 | fiQ2 | (~fiQ@mirkk.ninja) |
2020-12-08 22:54:04 +0100 | Chousuke | (oranenj@coffee.modeemi.fi) (Ping timeout: 246 seconds) |
2020-12-08 22:55:04 +0100 | Chousuke | (oranenj@coffee.modeemi.fi) |
2020-12-08 22:56:08 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 22:56:43 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 22:57:06 +0100 | carlomagno1 | (~cararell@148.87.23.11) (Quit: Leaving.) |
2020-12-08 23:01:37 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2020-12-08 23:02:54 +0100 | coot_ | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 23:03:14 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) |
2020-12-08 23:03:34 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 23:03:34 +0100 | coot_ | coot |
2020-12-08 23:05:17 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-08 23:05:27 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 23:06:07 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 23:06:55 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2020-12-08 23:07:13 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-08 23:07:23 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-08 23:07:52 +0100 | coot | (~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) |
2020-12-08 23:07:54 +0100 | rprije | (~rprije@14-201-170-17.tpgi.com.au) |
2020-12-08 23:08:52 +0100 | mounty | (~mounty@2001:8000:2f59:0:955e:b3d4:6deb:61b5) |
2020-12-08 23:13:25 +0100 | columbarius | (~columbari@94.134.93.69) (Ping timeout: 264 seconds) |
2020-12-08 23:15:22 +0100 | columbarius | (~columbari@94.134.93.105) |
2020-12-08 23:18:24 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 23:19:38 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-12-08 23:20:15 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-12-08 23:20:28 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 23:22:02 +0100 | glguy | seasonal-staff |
2020-12-08 23:22:46 +0100 | fendor | (~fendor@77.119.128.243.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-08 23:23:53 +0100 | ADG1089 | (uid455466@gateway/web/irccloud.com/x-snrmhjgbftnsehrc) (Quit: Connection closed for inactivity) |
2020-12-08 23:25:00 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:1635:4394:f86d:e4ee) (Ping timeout: 258 seconds) |
2020-12-08 23:26:53 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
2020-12-08 23:27:12 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2020-12-08 23:28:43 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: Textual IRC Client: www.textualapp.com) |
2020-12-08 23:29:39 +0100 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-08 23:30:11 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving) |
2020-12-08 23:30:18 +0100 | Martinsos | (~user@cpe-188-129-36-113.dynamic.amis.hr) (Remote host closed the connection) |
2020-12-08 23:34:32 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-08 23:34:51 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 23:35:09 +0100 | carlomagno | (~cararell@148.87.23.4) |
2020-12-08 23:35:44 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-12-08 23:36:44 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 23:37:04 +0100 | carlomagno | (~cararell@148.87.23.4) (Client Quit) |
2020-12-08 23:37:34 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:842e:bf6c:baf1:11c6) |
2020-12-08 23:37:59 +0100 | leungbk | (~user@2603-8000-f144-2028-5f51-12f7-6de3-c4e6.res6.spectrum.com) (Quit: ERC (IRC client for Emacs 28.0.50)) |
2020-12-08 23:39:43 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 23:41:41 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
2020-12-08 23:42:05 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-12-08 23:42:10 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-12-08 23:44:37 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-08 23:45:10 +0100 | o1lo01ol1o | (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) |
2020-12-08 23:45:56 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-08 23:48:58 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-08 23:50:17 +0100 | dhil | (~dhil@195.213.192.34) (Quit: Leaving) |
2020-12-08 23:52:09 +0100 | <iqubic> | Why does this library exist? It's just so pointless: https://hackage.haskell.org/package/plumbers-0.0.4/docs/Control-Plumbers.html |
2020-12-08 23:52:33 +0100 | conal | (~conal@64.71.133.70) |
2020-12-08 23:54:47 +0100 | michalz` | (~user@185.246.204.61) (Remote host closed the connection) |
2020-12-08 23:55:04 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) (Ping timeout: 260 seconds) |
2020-12-08 23:55:04 +0100 | pierrot | (~pi@unaffiliated/pierrot) (Ping timeout: 260 seconds) |
2020-12-08 23:55:06 +0100 | <texasmynsted> | ha |
2020-12-08 23:55:12 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) |
2020-12-08 23:55:50 +0100 | pierrot | (~pi@unaffiliated/pierrot) |
2020-12-08 23:55:59 +0100 | <merijn> | iqubic: Clearly you haven't yet browsed Hackage's ACME category |
2020-12-08 23:56:10 +0100 | <iqubic> | I should do that. |
2020-12-08 23:56:22 +0100 | [exa] | (exa@unaffiliated/exa/x-5381537) (Ping timeout: 265 seconds) |
2020-12-08 23:56:37 +0100 | quaestor | (~quaestor@griffith.christophrauch.de) (Ping timeout: 264 seconds) |
2020-12-08 23:56:46 +0100 | <merijn> | https://hackage.haskell.org/packages/tag/acme |
2020-12-08 23:57:14 +0100 | borne | (~fritjof@200116b86420b200bcbe2553f445a41b.dip.versatel-1u1.de) |
2020-12-08 23:57:52 +0100 | <hpc> | everyone has their favorite |
2020-12-08 23:58:04 +0100 | <hpc> | mine is schoenfinkel |
2020-12-08 23:58:18 +0100 | <merijn> | acme-dont and acme-LookOfDisapproval are nice too :p |
2020-12-08 23:58:42 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 256 seconds) |
2020-12-08 23:58:45 +0100 | quaestor | (~quaestor@griffith.christophrauch.de) |
2020-12-08 23:59:15 +0100 | son0p | (~son0p@181.136.122.143) (Quit: leaving) |
2020-12-08 23:59:37 +0100 | <hpc> | acme-dont is also a perl module |