Home liberachat/#haskell: Logs Calendar

Logs on 2023-11-19 (liberachat/#haskell)

00:04:24 × Katarushisu1 quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: Ping timeout (120 seconds))
00:04:40 Katarushisu1 joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
00:05:21 × trev quits (~trev@user/trev) (Quit: trev)
00:12:36 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
00:13:59 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
00:15:49 <John_Ivan> for what distro is haskell mainly designed for?
00:15:57 <John_Ivan> GHCup*
00:16:34 <zero> why would you think it's designed for a specific distro?
00:17:03 <John_Ivan> simply because the command to install it that it asks me to copy paste in my terminal doesn't seem to cover the fact that some extra dependencies are needed
00:17:27 <John_Ivan> indeed it tells me of those dependencies. but I can't be bothered.
00:17:32 <John_Ivan> to install them manually
00:17:42 <John_Ivan> I tried this on opensuse, ubuntu and fedora.
00:17:52 <John_Ivan> all 3 lack the necessary tools on a fresh install
00:17:53 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
00:18:07 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 276 seconds)
00:18:32 <John_Ivan> as for why I'm doing this; because I like to live in a perfect world where things work out of the box
00:18:47 <zero> you can see which dependencies are needed for your system here https://www.haskell.org/ghcup/install/
00:19:00 <John_Ivan> <John_Ivan> indeed it tells me of those dependencies. but I can't be bothered.
00:19:18 <duncan> This sounds like it might be a 'you' problem
00:19:19 <John_Ivan> I need a distro that comes with everything preinstalled offline
00:19:27 <John_Ivan> nah. it's a policy problem.
00:19:36 <John_Ivan> my policy versus the development community policy
00:19:53 <John_Ivan> anyway if no one has an answer, I'll go look around
00:19:57 <duncan> OK, install the dependencies in accordance with your policy, then
00:20:28 <EvanR> I've thrown together such a linux distribution for work before
00:20:30 <John_Ivan> duncan, as good an answer as any then. thanks.
00:20:33 <EvanR> had everything it needed out of the box
00:21:02 <EvanR> you can have it if you want
00:21:04 × chomwitt quits (~chomwitt@ppp-94-67-202-40.home.otenet.gr) (Ping timeout: 255 seconds)
00:21:04 <zero> John_Ivan: maybe the devs also "can't be bothered"
00:21:11 <zero> i guess we all have our own motivations
00:21:22 <John_Ivan> EvanR, I'm sure I could have had it already if you intended in giving it to me.
00:21:26 <zero> such is life
00:21:36 <John_Ivan> zero, well, that's why we live in the world we do.
00:21:41 <duncan> /
00:21:45 <duncan> er, ignore
00:21:45 <EvanR> it's on a CD-ROM so no
00:24:26 <John_Ivan> EvanR, I hear Pop_OS! usually comes with development tools preinstalled
00:24:28 <zero> it would be nice if everything worked out of the box with minimal effort. unfortunately packaging such a product takes time and (continuous!) effort so unless the dev has a stron motivation for you to run their software, there's little sense in doing so i think.
00:24:56 <John_Ivan> zero, things not working out of the box is not nice. it's a defacto.
00:25:05 <John_Ivan> is not "nice".
00:25:18 <EvanR> I can't see reference to PopOS! without reading PoOpS!
00:25:32 <John_Ivan> EvanR, :)
00:25:36 <zero> it's very sensible to assume that the target audience is more than capable of installing software from source and managing dependencies
00:25:55 <EvanR> I would like microsoft windows to come with development environment already set up
00:26:07 <John_Ivan> EvanR, I would too.
00:26:23 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 264 seconds)
00:26:35 <zero> i would like food to magically appear in my mouth, already chewed whenever i'm hungry
00:26:36 <John_Ivan> in fact, part of my belief is that an OS, whether it's for consumer or developer, should come preinstalled with development kits
00:26:37 <EvanR> esp if I'm paying for it
00:26:50 <John_Ivan> zero, you can do that. just buy paste.
00:27:25 <zero> John_Ivan: you mean leave the house and go to a place searching for paste? that sounds like a lot of work
00:27:47 <monochrom> Already chewed? Eww.
00:27:54 <John_Ivan> zero, that's why we have ordering online
00:28:03 <John_Ivan> so you don't have to do all that work
00:28:10 kritty joins (~crumb@c-76-155-235-153.hsd1.co.comcast.net)
00:28:18 <monochrom> But: good, fast, free: pick two.
00:28:24 <zero> John_Ivan: they mess up the orders all the time. it's "not nice"
00:28:50 <John_Ivan> zero, find a different provider.
00:28:57 <John_Ivan> just like I'm trying to find a different distro.
00:29:04 <zero> John_Ivan: i guess there's your answer then
00:29:15 <John_Ivan> doesn't hurt to ask beforehand.
00:29:49 <John_Ivan> monochrom, in my world, you have all 3 or it's not software.
00:29:58 <zero> it's a bad answer to a bad question, but if that's the bar you're setting that's the bar you're setting
00:29:58 <John_Ivan> it's a charlatan project.
00:30:19 <geekosaur> reality is that developers are a small subset of users so are not considered. and if they were, they would provide Python and JS development tools, not C or Haskell
00:30:19 <John_Ivan> monochrom, because you *can* have all three.
00:30:52 <John_Ivan> anyway my question was answered. move along.
00:30:54 <John_Ivan> \next.
00:32:21 <zero> John_Ivan: i can't believe you're changing distros instead of installing the missing dependecies
00:32:33 <zero> tell me you're joking :'D
00:32:44 <monochrom> I think this "discussion" has outlived its usefulness.
00:33:00 <geekosaur> if it was ever useful
00:33:16 tomboy64 joins (~tomboy64@user/tomboy64)
00:33:19 michalz joins (~michalz@185.246.207.201)
00:36:14 × michalz quits (~michalz@185.246.207.201) (Remote host closed the connection)
00:36:56 × litharge quits (litharge@libera/bot/litharge) (Killed (glguy (reconnect)))
00:36:58 litharge joins (litharge@libera/bot/litharge)
00:41:22 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds)
00:43:28 × Jackneill quits (~Jackneill@20014C4E1E1AA200C935E3B989BE2359.dsl.pool.telekom.hu) (Ping timeout: 276 seconds)
00:49:45 × kritty quits (~crumb@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Leaving)
00:52:21 jmdaemon joins (~jmdaemon@user/jmdaemon)
00:54:01 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
00:56:35 <John_Ivan> geekosaur, agreed.
00:59:15 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
01:09:36 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c99:f3ba:7425:36f4) (Remote host closed the connection)
01:32:05 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
01:44:31 zero is now known as zzz
01:45:29 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
01:48:19 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
01:48:46 vilya_ joins (~vilya@user/vilya)
01:48:47 × tomboy64 quits (~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
01:48:52 tomboy65 joins (~tomboy64@user/tomboy64)
01:49:46 × vilya quits (~vilya@user/vilya) (Ping timeout: 276 seconds)
01:50:15 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
01:53:01 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Ping timeout: 276 seconds)
01:54:29 ubert1 joins (~Thunderbi@91.141.50.137.wireless.dyn.drei.com)
01:56:23 × ubert quits (~Thunderbi@178.165.183.118.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
01:56:23 ubert1 is now known as ubert
01:59:20 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
02:00:17 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
02:00:54 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:08:14 × otto_s quits (~user@p4ff27872.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
02:09:36 otto_s joins (~user@p4ff27599.dip0.t-ipconnect.de)
02:17:19 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
02:17:52 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:28:45 × gooba quits (~gooba@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection)
02:29:22 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
02:29:58 gooba joins (~gooba@90-231-13-185-no3430.tbcn.telia.com)
02:32:14 × myxokephale quits (~myxos@065-028-251-121.inf.spectrum.com) (Remote host closed the connection)
02:34:27 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
02:36:09 × zetef quits (~quassel@5.2.182.98) (Ping timeout: 256 seconds)
02:38:55 g00gler joins (uid125351@id-125351.uxbridge.irccloud.com)
02:45:14 × mima quits (~mmh@aftr-62-216-211-150.dynamic.mnet-online.de) (Ping timeout: 252 seconds)
02:45:39 icaro joins (~icaro@45-230-145-51.idealnetfibra.net.br)
02:46:09 icaro is now known as second_player
02:50:29 × second_player quits (~icaro@45-230-145-51.idealnetfibra.net.br) (Quit: Leaving.)
02:50:47 icaro joins (~icaro@45-230-145-51.idealnetfibra.net.br)
02:50:54 × icaro quits (~icaro@45-230-145-51.idealnetfibra.net.br) (Client Quit)
02:51:51 second_player joins (~second_pl@45-230-145-51.idealnetfibra.net.br)
03:07:23 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
03:11:00 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
03:18:34 × second_player quits (~second_pl@45-230-145-51.idealnetfibra.net.br) (Ping timeout: 264 seconds)
03:18:49 × td_ quits (~td@i53870912.versanet.de) (Ping timeout: 276 seconds)
03:20:05 td_ joins (~td@i53870935.versanet.de)
03:22:13 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:22:13 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:22:13 finn_elija is now known as FinnElija
03:29:18 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
03:34:34 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
03:40:41 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
03:45:52 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
03:49:58 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 255 seconds)
03:50:58 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
04:06:17 aforemny_ joins (~aforemny@2001:9e8:6cc8:5c00:9c1a:8ed9:7b58:2dc2)
04:07:42 × aforemny quits (~aforemny@2001:9e8:6ce3:3d00:71a8:d847:f310:db9e) (Ping timeout: 260 seconds)
04:39:42 jmd_ joins (~jmdaemon@user/jmdaemon)
04:40:49 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
04:47:15 × [exa] quits (~exa@srv3n.blesmrt.net) (Ping timeout: 268 seconds)
04:47:23 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
04:47:55 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:48:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
04:49:19 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
04:50:02 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:51:09 qqq joins (~qqq@92.43.167.61)
05:04:32 guy joins (~guy@250.79-105-213.static.virginmediabusiness.co.uk)
05:31:34 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
05:38:53 trev joins (~trev@user/trev)
05:43:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
05:45:50 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
05:51:10 × YuutaW quits (~YuutaW@mail.yuuta.moe) (Ping timeout: 245 seconds)
05:53:51 madoff joins (~madoff@154.159.237.229)
05:58:36 × madoff quits (~madoff@154.159.237.229) (Quit: Leaving)
05:59:08 rosco joins (~rosco@175.136.157.149)
06:05:15 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 256 seconds)
06:07:11 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
06:09:05 <haskellbridge> 14<m​aerwald> Try stack
06:09:19 <haskellbridge> 14<m​aerwald> It invokes sudo for you if you're into that sort of thing
06:11:15 <guy> sorry, my bad
06:11:53 <guy> what about chmod 7777
06:12:15 <c_wraith> that nearly always breaks things.
06:12:22 <c_wraith> You probably shouldn't do that. ever.
06:12:31 <guy> too much dark materia
06:13:35 <guy> yeah, in the thing its a metaphorical refference for, it just sends the charicter into a repeated frenzy of attacks that each take 7777 health
06:14:16 <guy> and because it cant be interupted it always defeats the enimy, but it only ever happens if you have 7777 health yourself
06:14:39 <guy> where then your attack is eaxtly as powerful as it would take to kill you exactly
06:15:20 <guy> but obviosly you never do it on yourself so its ok
06:16:27 <guy> by then i think weer into chown territory legit
06:17:32 <guy> some obscure ff7 reference from the future im *sure* is exactly what its most likely to *actually* be from
06:20:36 × guy quits (~guy@250.79-105-213.static.virginmediabusiness.co.uk) (Quit: Connection closed)
06:23:56 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:25:42 YuutaW joins (~YuutaW@mail.yuuta.moe)
06:30:14 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
06:39:13 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
06:45:57 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
07:01:40 × analoq_ quits (~yashi@user/dies) (Ping timeout: 255 seconds)
07:03:09 analoq joins (~yashi@user/dies)
07:30:19 zetef joins (~quassel@5.2.182.98)
07:38:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:39:22 × robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
07:48:47 acidjnk joins (~acidjnk@p200300d6e72b9399e0d3f8384e141d02.dip0.t-ipconnect.de)
08:03:13 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
08:13:44 Allzman joins (~Allzman@66.154.104.213)
08:14:56 <Allzman> Hello
08:22:54 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
08:26:59 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
08:27:26 euleritian joins (~euleritia@dynamic-002-247-249-092.2.247.pool.telefonica.de)
08:31:34 <Allzman> hello euleritian
08:32:18 × euleritian quits (~euleritia@dynamic-002-247-249-092.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
08:32:36 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:34:14 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
08:34:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:40:29 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:44:18 fendor joins (~fendor@2a02:8388:1640:be00:2528:5dc7:a36e:9b87)
08:45:49 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
08:46:35 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
08:47:25 euleritian joins (~euleritia@dynamic-002-247-249-092.2.247.pool.telefonica.de)
08:47:48 × trev quits (~trev@user/trev) (Quit: trev)
08:55:33 <Axman6> hello Allzman
08:55:41 <Allzman> Hi
08:55:46 <Allzman> Axman6
08:56:10 <Allzman> fan of haskell?
08:56:32 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:58:41 <ski> do you have any question ?
09:00:48 <Allzman> i would like to know about example repository of haskell
09:03:04 <Axman6> There's quite a lot of them on GitHub, is there anything in particular you're inteerested in?
09:03:23 DeFutura joins (~DeFutura@2a01:5a8:306:eaf8:192c:25eb:2252:2a8b)
09:03:26 <Allzman> nothing
09:03:38 <Allzman> and there is any channel for haskell job seekers?
09:06:13 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
09:07:13 <DeFutura> Hey all, is there a way to setup  a project to implicitly   pack and unpack Strings and Text  (when function requires String  but using Text by default for declarations) .
09:08:02 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
09:08:46 <DeFutura> so if some module exports functions that expect String  just to pass to them Text without needing to unpack
09:10:49 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
09:11:56 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:16:04 <haskellbridge> 14<m​aerwald> only for literals, via OverloadedStrings extension
09:16:16 Jackneill joins (~Jackneill@20014C4E1E1AA2000F2D4B0C673AE70E.dsl.pool.telekom.hu)
09:16:30 <haskellbridge> 14<m​aerwald> there's no type coercion
09:21:53 × fendor quits (~fendor@2a02:8388:1640:be00:2528:5dc7:a36e:9b87) (Ping timeout: 256 seconds)
09:24:13 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
09:28:17 <DeFutura> Ok thx , I already use OverloadedStrings
09:30:35 <haskellbridge> 14<m​aerwald> it's buggy on bytestrings btw
09:31:28 × tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
09:33:54 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:36:56 gmg joins (~user@user/gehmehgeh)
09:37:23 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
09:51:34 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Remote host closed the connection)
10:02:44 sawilagar joins (~sawilagar@user/sawilagar)
10:04:47 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
10:05:37 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds)
10:05:41 × euleritian quits (~euleritia@dynamic-002-247-249-092.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
10:06:00 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:08:37 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
10:09:09 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
10:13:10 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
10:13:32 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:13:49 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
10:19:38 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
10:22:06 [exa] joins (~exa@user/exa/x-3587197)
10:24:31 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
10:33:25 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
10:34:54 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:40:10 × rosco quits (~rosco@175.136.157.149) (Quit: Lost terminal)
10:43:47 misterfish joins (~misterfis@46.44.172.198)
10:45:43 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
10:50:59 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
10:54:05 × Allzman quits (~Allzman@66.154.104.213) (Quit: Client closed)
10:54:53 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
10:58:00 CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
10:59:44 rosco joins (~rosco@175.136.157.149)
11:00:23 × sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection)
11:00:41 sawilagar joins (~sawilagar@user/sawilagar)
11:03:02 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Ping timeout: 260 seconds)
11:04:02 mima joins (~mmh@aftr-62-216-211-96.dynamic.mnet-online.de)
11:18:41 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
11:21:23 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
11:21:30 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
11:21:51 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
11:22:43 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
11:29:57 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
11:36:30 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
11:37:52 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:b240:4be0:6188:1692) (Ping timeout: 246 seconds)
11:39:19 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 255 seconds)
11:42:25 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:44:45 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
11:45:58 CiaoSen joins (~Jura@2a05:5800:27e:b500:2a3a:4dff:fe84:dbd5)
11:49:16 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
11:52:02 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
11:52:36 emmanuelux joins (~emmanuelu@user/emmanuelux)
11:57:38 chomwitt joins (~chomwitt@ppp-94-67-189-25.home.otenet.gr)
12:00:39 × mrmr1553 quits (~mrmr@user/mrmr) (Quit: Bye, See ya later!)
12:02:04 Inst_ joins (~Inst@120.244.192.250)
12:03:06 × Inst quits (~Inst@120.244.192.250) (Read error: Connection reset by peer)
12:06:14 mrmr15533 joins (~mrmr@user/mrmr)
12:14:32 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
12:18:19 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 276 seconds)
12:20:23 × zetef quits (~quassel@5.2.182.98) (Ping timeout: 256 seconds)
12:24:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:25:09 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
12:28:19 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 256 seconds)
12:28:43 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 255 seconds)
12:28:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:29:30 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
12:29:53 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
12:32:19 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
12:34:00 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
12:34:11 × arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds)
12:35:07 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 256 seconds)
12:35:32 axeman joins (~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
12:37:56 emmanuelux joins (~emmanuelu@user/emmanuelux)
12:49:10 AkshayMankar[m] joins (~axemanpub@85.88.23.162)
12:57:40 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
13:00:46 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
13:04:00 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
13:07:08 fendor joins (~fendor@2a02:8388:1640:be00:8705:c56:c793:802b)
13:07:43 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
13:09:44 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
13:11:08 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
13:11:27 EvanR joins (~EvanR@user/evanr)
13:14:26 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
13:15:16 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Ping timeout: 256 seconds)
13:15:55 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
13:16:17 euleritian joins (~euleritia@dynamic-002-247-250-074.2.247.pool.telefonica.de)
13:21:04 zetef joins (~quassel@5.2.182.98)
13:24:59 × misterfish quits (~misterfis@46.44.172.198) (Ping timeout: 256 seconds)
13:25:20 defanor_ is now known as defanor
13:26:51 × DeFutura quits (~DeFutura@2a01:5a8:306:eaf8:192c:25eb:2252:2a8b) (Quit: Client closed)
13:38:31 × gooba quits (~gooba@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection)
13:39:09 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
13:42:53 gooba joins (~gooba@90-231-13-185-no3430.tbcn.telia.com)
13:44:12 wootehfoot joins (~wootehfoo@user/wootehfoot)
13:50:06 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Remote host closed the connection)
13:55:17 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
13:56:30 dibblego joins (~dibblego@122-199-1-93.ip4.superloop.au)
13:56:30 × dibblego quits (~dibblego@122-199-1-93.ip4.superloop.au) (Changing host)
13:56:30 dibblego joins (~dibblego@haskell/developer/dibblego)
14:04:00 dhil joins (~dhil@2001:8e0:2014:3100:2371:386b:1960:dc70)
14:09:23 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
14:09:52 maturana joins (~maturana@185.220.103.12)
14:12:53 × euleritian quits (~euleritia@dynamic-002-247-250-074.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
14:13:11 euleritian joins (~euleritia@77.22.252.56)
14:13:23 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
14:13:51 × hueso quits (~root@user/hueso) (Quit: hueso)
14:17:14 hueso joins (~root@user/hueso)
14:21:22 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
14:25:49 nyr joins (~nyr@user/nyr)
14:25:57 × nyr quits (~nyr@user/nyr) (Client Quit)
14:31:05 liamzy__ joins (~Inst@120.244.192.250)
14:31:07 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 255 seconds)
14:31:35 euleritian joins (~euleritia@dynamic-002-247-250-074.2.247.pool.telefonica.de)
14:31:59 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
14:33:33 × Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 256 seconds)
14:34:40 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
14:38:59 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
14:40:28 wootehfoot joins (~wootehfoo@user/wootehfoot)
14:41:43 × shapr quits (~user@2600:1700:c640:3100:499d:95f3:db58:3df6) (Ping timeout: 268 seconds)
15:03:11 Deide joins (d0130db69a@user/deide)
15:05:30 Vajb joins (~Vajb@mobile-access-5d6a01-249.dhcp.inet.fi)
15:06:29 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
15:11:12 × ell quits (~ellie@user/ellie) (Quit: Ping timeout (120 seconds))
15:11:23 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
15:14:52 ell joins (~ellie@user/ellie)
15:19:13 YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
15:24:37 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
15:25:48 mc47 joins (~mc47@xmonad/TheMC47)
15:26:36 × maturana quits (~maturana@185.220.103.12) (Read error: Connection reset by peer)
15:26:47 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
15:27:15 Tlsx joins (~rscastilh@189.61.140.215)
15:30:54 maturana joins (~maturana@37.218.244.249)
15:33:13 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
15:38:37 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
15:39:17 × jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
15:50:46 A_Dragon joins (A_D@libera/staff/dragon)
15:56:55 × A_Dragon quits (A_D@libera/staff/dragon) (Quit: ZNC - https://znc.in)
15:59:07 × Vajb quits (~Vajb@mobile-access-5d6a01-249.dhcp.inet.fi) (Ping timeout: 256 seconds)
15:59:58 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Ping timeout: 276 seconds)
16:00:41 Vajb joins (~Vajb@2001:999:785:c11e:a1b8:59fa:dee7:e490)
16:02:07 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
16:04:23 × ubert quits (~Thunderbi@91.141.50.137.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
16:04:56 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
16:05:18 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
16:09:30 × euleritian quits (~euleritia@dynamic-002-247-250-074.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
16:09:48 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:10:07 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
16:15:36 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
16:21:11 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds)
16:23:42 Ranhir joins (~Ranhir@157.97.53.139)
16:31:44 notzmv joins (~zmv@user/notzmv)
16:32:00 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
16:32:04 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
16:40:25 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
16:40:42 × cdsloif^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds)
16:41:40 cdsloif^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
16:42:13 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 276 seconds)
16:42:21 dsrt^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
16:42:31 × zetef quits (~quassel@5.2.182.98) (Ping timeout: 255 seconds)
16:42:48 × hueso quits (~root@user/hueso) (Quit: hueso)
16:43:49 trev joins (~trev@user/trev)
16:44:03 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
16:46:14 hueso joins (~root@user/hueso)
16:47:46 × foul_owl quits (~kerry@185.219.141.164) (Ping timeout: 256 seconds)
16:52:25 × hueso quits (~root@user/hueso) (Read error: Connection reset by peer)
16:52:32 tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net)
16:52:42 hueso joins (~root@user/hueso)
16:52:47 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
16:52:57 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 256 seconds)
16:54:22 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
16:54:52 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
16:55:04 × todi quits (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
16:56:55 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
16:57:29 × CiaoSen quits (~Jura@2a05:5800:27e:b500:2a3a:4dff:fe84:dbd5) (Ping timeout: 256 seconds)
16:58:10 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds)
17:00:04 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
17:02:12 todi joins (~todi@p4fd1a3e6.dip0.t-ipconnect.de)
17:02:29 × maturana quits (~maturana@37.218.244.249) (Read error: Connection reset by peer)
17:06:14 AlexNoo_ joins (~AlexNoo@94.233.240.219)
17:07:17 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
17:07:52 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
17:09:41 × AlexNoo quits (~AlexNoo@178.34.162.228) (Ping timeout: 240 seconds)
17:10:05 × AlexZenon quits (~alzenon@178.34.162.228) (Ping timeout: 240 seconds)
17:10:41 foul_owl joins (~kerry@157.97.134.165)
17:10:52 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
17:11:16 euleritian joins (~euleritia@dynamic-002-247-250-074.2.247.pool.telefonica.de)
17:12:14 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
17:14:24 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
17:14:28 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 255 seconds)
17:17:44 AlexZenon joins (~alzenon@94.233.240.219)
17:19:41 AlexNoo_ is now known as AlexNoo
17:19:52 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
17:21:25 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
17:32:37 × axeman quits (~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
17:33:25 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
17:36:09 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:36:47 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
17:38:19 Pickchea joins (~private@user/pickchea)
17:41:28 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
17:41:41 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
17:41:51 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
17:44:17 × euleritian quits (~euleritia@dynamic-002-247-250-074.2.247.pool.telefonica.de) (Read error: Connection reset by peer)
17:44:35 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:46:25 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
17:47:14 × hueso quits (~root@user/hueso) (Quit: hueso)
17:51:58 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Remote host closed the connection)
17:59:20 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
17:59:46 hueso joins (~root@user/hueso)
18:01:13 Maxlelyonai joins (~Maxlelyon@19.red-88-23-210.staticip.rima-tde.net)
18:01:14 <Maxlelyonai> hello community
18:01:20 <Maxlelyonai> may I ask a question
18:01:26 <Maxlelyonai> Because I am having a problem reading a list
18:01:53 <Maxlelyonai> the problem is that I have stored a series of values. However, when I try to read it, it returns me one in each of the case
18:02:05 <Maxlelyonai> The code is a bit long
18:02:24 <idgaen> on irc, we often say: don't ask to ask :)
18:02:54 <monochrom> @where paste
18:02:55 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
18:03:02 <monochrom> You can put your code there.
18:03:17 <Maxlelyonai> it is line 84 and 85
18:03:25 <Maxlelyonai> 85/86
18:03:26 <Maxlelyonai> sorry
18:03:44 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
18:04:34 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
18:05:19 gmg joins (~user@user/gehmehgeh)
18:09:09 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
18:10:10 axeman joins (~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
18:10:47 <ski> Maxlelyonai : you also need to give us the link of the new paste that you made
18:11:00 <Maxlelyonai> ah
18:11:01 <Maxlelyonai> xD
18:11:13 <Maxlelyonai> https://paste.tomsmeding.com/zPtTHObi
18:11:18 <Maxlelyonai> sorry
18:11:21 <Maxlelyonai> I have never used it before
18:12:56 × hippoid quits (~hippoid@user/hippoid) (Quit: WeeChat 4.1.1)
18:14:19 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
18:15:55 × rosco quits (~rosco@175.136.157.149) (Quit: Lost terminal)
18:18:22 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds)
18:20:20 <mauke> Maxlelyonai: I don't understand the problem description
18:21:52 <ski> getreviewText = reviewText
18:22:00 <ski> getoverall = overall
18:22:19 <ski> copyReviewsToCleanData reviews reviewTexts = reviews {reviewTexts = reviewTexts}
18:22:24 <ski> s/Prelude.map toLower/toLower2/
18:22:27 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
18:22:35 <ski> createMap = nub
18:22:39 <ski> matchOverallsWithTokens = zip
18:22:56 <Maxlelyonai> I have a programm where I have two variables. store2, where I store the frequency of a word in separate etiquettes. And store 3, where the frequency of a word is the sum of the frequency in each etiquettes store2. My problem is that in function calculateProbabilityOfEachTokenInEachEtiquette, when I read store3 all the frequency is one
18:22:59 <Maxlelyonai> Which is incorrect
18:23:00 <ski> storeAllWordsInEachEtiquette = foldr (\(x,y) -> insertWith (++) x y) Map.empty
18:23:44 <mauke> how do you know?
18:23:50 <Maxlelyonai> Because I debug it
18:23:52 <mauke> store4 is never used
18:23:59 <Maxlelyonai> yea
18:24:11 <Maxlelyonai> But previously I debug with other instruction
18:24:20 <Maxlelyonai> Where I acces the value in store3 and print the value
18:25:53 <ski> if you replace `import Data.Map' by `import Data.Map (Map)', and add prefix `Map.' to the relevant operations, you can skip the `Prelude.' prefices
18:26:32 <Maxlelyonai> thx
18:26:50 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
18:28:20 <mauke> I'm not sure what kind of help you're looking for
18:28:29 <Maxlelyonai> https://paste.tomsmeding.com/jEj9qU5X
18:28:32 <Maxlelyonai> this is the code to debug
18:28:43 <Maxlelyonai> I want to access the value in store3 correctly
18:29:09 <Maxlelyonai> because I want to calculate frequency of each word in each etiquette in comparison with the total frequency(store4=
18:29:28 <mauke> you're assuming the bug is in getFrequencyOfEachTokenInRelationWithTheTotal, which is not in evidence
18:29:48 <Maxlelyonai> Well
18:29:54 <Maxlelyonai> There is not other way
18:30:00 <Maxlelyonai> Because when I print store4
18:30:07 <Maxlelyonai> The values are correctly stored
18:30:19 <Maxlelyonai> The unique place that it is not working correctly is in the function
18:30:54 <mauke> so why post all the other stuff?
18:31:16 <Maxlelyonai> In order to have a context
18:31:20 <mauke> you should be able to reduce the problem to a single function or three that demonstrates the issue
18:31:37 <Maxlelyonai> okey
18:31:42 <mauke> what you posted is incomplete (so I can't reproduce the issue myself) and mostly irrelevant
18:31:55 <Maxlelyonai> Why incomplete?
18:32:20 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
18:32:35 <mauke> I have downloaded the code. what do I do with it?
18:33:03 <Maxlelyonai> use ghci?
18:33:09 <Maxlelyonai> I do not what you are saying
18:33:17 <Maxlelyonai> Okey
18:33:22 <Maxlelyonai> I know what you want to say
18:33:26 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
18:33:37 Pickchea joins (~private@user/pickchea)
18:33:41 <mauke> it says: Error: Could not load module ‘Data.ByteString.Lazy’ It is a member of the hidden package ‘bytestring-0.11.4.0’.
18:33:57 <Maxlelyonai> well, type :set -package containers
18:34:03 <Maxlelyonai> and :ser -package bytestring
18:34:05 <Maxlelyonai> and also
18:34:10 <mauke> reviews_Video_GamesFinal.json: openBinaryFile: does not exist (No such file or directory)
18:34:12 <Maxlelyonai> this is the document
18:35:15 <Maxlelyonai> how can I post it?
18:36:21 <mauke> depends on how big it is, I guess
18:36:50 <mauke> because if it is not huge, just like any other text file, I'd say
18:36:57 <Maxlelyonai> its 287 kb
18:37:11 <mauke> should be fine, then
18:37:57 <Maxlelyonai> so, where can I post it?
18:39:46 <ski> Maxlelyonai : are you sure `map2 ! k' is right ? shouldn't it be using the key of the inner map, not the outer ?
18:40:08 <Maxlelyonai> I was also thinking about it
18:40:15 <Maxlelyonai> the k is not using the inner map?
18:40:28 <ski> calculateProbabilityOfEachTokenInEachEtiquette map1 map2 = Map.mapWithKey (\k v -> Map.map (\x -> fromIntegral x / fromIntegral (map2 ! k)) v) map1
18:40:34 <Maxlelyonai> how can i acces the inner map
18:40:44 <ski> `mapWithKey' is for the outer, `map' for the inner
18:40:51 <ski> try instead swapping those ?
18:40:56 <Maxlelyonai> ?
18:40:57 <Maxlelyonai> so
18:41:04 <Maxlelyonai> map to access the content of outer
18:41:05 <ski> calculateProbabilityOfEachTokenInEachEtiquette map1 map2 = Map.map (\v -> Map.mapWithKey (\k x -> fromIntegral x / fromIntegral (map2 ! k)) v) map1
18:41:12 <Maxlelyonai> and then use WithKey
18:41:19 <Maxlelyonai> So I can have the key in the innvermap?
18:41:20 <Maxlelyonai> innermap?
18:41:29 <ski> outer map is indexed by `overalls'. inner map is indexed by words
18:41:38 <ski> `store3' is also indexed by words
18:42:07 <Maxlelyonai> OMG
18:42:09 <Maxlelyonai> it's working
18:42:11 <Maxlelyonai> OMG
18:42:12 <Maxlelyonai> thx
18:42:15 <Maxlelyonai> So
18:42:25 <ski> Maxlelyonai : also see my other comments, from twenty minutes ago
18:42:43 <Maxlelyonai> I use map to iterate through outside map?
18:43:22 <ski> huh ?
18:43:23 <Maxlelyonai> because i am not using the value from the key?
18:43:36 <Maxlelyonai> Why WithKey works fine in innermap?
18:43:41 <Maxlelyonai> I read the documentation
18:43:50 <ski> you might be able to use some kind of `zipWith' for the inner map .. but i don't see any in `Data.Map' :/
18:44:06 <Maxlelyonai> understandable
18:44:46 <ski> Maxlelyonai : you want to match one map indexed by words, `store3', with each inner map in `store2', which are all also indexed by words
18:44:55 <Maxlelyonai> yes
18:45:15 <Maxlelyonai> Okey, I remembered
18:45:45 <ski> .. however, instead of splitting up `reviewTexts' and `overallsEtiquete' to begin with, it may be nicer to just work all inside a single large `Prelude.map', until close to the end
18:46:05 <Maxlelyonai> So map it just apply the funcion to all the values in the outside map. Meanwhile, the MapWithKey it applies the function but also it gives me the key from the inner Map that I am refering to?
18:46:28 <ski> until `store3', i guess
18:46:33 <Maxlelyonai> ohh
18:46:36 <Maxlelyonai> yeah, makes sense
18:46:46 <Maxlelyonai> And I will have avoided problems
18:46:58 <Maxlelyonai> might*
18:47:30 <Maxlelyonai> Danke, thank, gracias, 谢谢. I was stuck in this problem for almost one day
18:47:48 <Maxlelyonai> I think that using chat GPT can be sometimes contra productive hahaha
18:47:52 <SrPx> Are there Haskell-like languages where equations allow for arbitrary left-hand sides?
18:47:54 <SrPx> https://stackoverflow.com/questions/77512037/are-there-haskell-like-languages-where-equations-allow-for-arbitrary-left-hand-s
18:49:17 <ski> Prelude.map (\review -> let reviewText = getreviewText review; overalls = getoverall review; ...; in (overalls,map)) reviews
18:49:32 <ski> that gets you `match'
18:49:45 <ski> Maxlelyonai : you don't say
18:50:36 <ski> SrPx : arbitrary, how ?
18:50:50 <ski> SrPx : hm .. Mercury can do that, at least to some extent
18:51:13 <ski> (it's not too clear the scope of what you're asking for)
18:51:48 CiaoSen joins (~Jura@2a05:5800:27e:b500:2a3a:4dff:fe84:dbd5)
18:51:50 maturana joins (~maturana@37.218.244.251)
18:51:52 <ski> :- func double(int) = int.
18:52:05 <ski> :- mode double(in) = out is det.
18:52:14 <ski> :- mode double(out) = in is semidet.
18:52:23 <ski> and then you can say
18:52:37 <ski> foo(double(X)) = X + 1.
18:53:01 <ski> of course, you need to implement double/1, but that's possible
18:57:19 <ski> double(X :: in) :: out = 2 * X.
18:57:20 <ski> double(X :: out) :: in = Y :- Y mod 2 = 0,Y div 2 = X.
18:57:22 <ski> i think
18:57:45 <SrPx> ski: interesting!! thanks for the pointer
18:58:05 <ski> see <https://www.mercurylang.org/information/doc-latest/mercury_ref/Modes.html#Different-clauses-for-different-modes> for separate modes of a predicate
18:58:31 <ski> i think it works for functions as well (maybe slightly different syntax) .. otherwise, you could easily have the function defer to a predicate
18:58:54 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
18:59:22 <ski> basically, with multiple (specifically including "reverse" or "sideways") mode declarations for functions, you get something like `PatternSynonyms', except more powerful
18:59:41 <ski> with `PatternSynonyms' in GHC, you can do
19:00:04 <ski> pattern Double :: Int -> Int
19:00:46 <ski> pattern Double x <- ((`divMod` 2) -> (x,0))
19:00:48 <ski> where
19:00:54 <ski> Double x = 2 * x
19:00:57 <ski> and then you can say
19:01:07 <ski> foo (Double x) = x + 1
19:01:11 <ski> SrPx ^
19:01:32 <SrPx> how it compiles that, though? like double can be an arbitrary function and arbitrary functions can't be reversed
19:01:37 <SrPx> so it is just doing unification at runtime as I said?
19:01:39 <ski> (you also need `ViewPatterns' for that)
19:01:41 <SrPx> or is it something different?
19:02:41 <ski> SrPx : Mercury or Haskell (GHC) ?
19:02:46 <SrPx> both :)
19:03:16 <ski> it doesn't work for arbitrary functions, of course
19:03:36 <ski> but it works in more circumstances in Mercury, i'd say
19:04:26 <ski> anyway, it works above because double/1 has a reverse mode, saying that if `double(X)' is input, then `X' can be output (and there's at most one such `X')
19:04:30 <ski> that's what
19:04:35 <ski> :- mode double(out) = in is semidet.
19:04:36 <ski> says
19:04:56 <ski> (`semidet' means "semi-deterministic", means "at most one solution")
19:05:11 <monochrom> Basically you are right that it comes down to unification.
19:05:38 falafel joins (~falafel@2a00:23c6:4812:c301:4277:cef8:5cc2:c442)
19:06:26 × Maxlelyonai quits (~Maxlelyon@19.red-88-23-210.staticip.rima-tde.net) (Ping timeout: 250 seconds)
19:07:04 <ski> (i'm not sure if Mercury allowed multi-deterministic matches in the head .. i guess you have to then make sure that the overall number of solutions for the defined function (in forward mode) is at most one (total or partial) .. or else, maybe use committed-choice nondeterminism. that's used when matching on quotient types (types with non-canonical representation, with user-defined equality), e.g. rationals,
19:07:10 <ski> or maps implemented by some type of balancing trees)
19:07:55 <SrPx> I'm not sure I get it, reverse mode means that you provide an inverse?
19:07:59 <ski> similarly, with the pattern synonyms, you must declare `Double' as a pattern synonym, it doesn't work for some arbitrary function (either defined in a module, or being a parameter or intermediate result, say)
19:08:26 <ski> "reverse mode" meaning that you can run the function backwards, computing the argument(s) from the result
19:08:39 <SrPx> ah makes sense
19:08:47 <ski> by "sideways mode", i mean, computing some of the argument(s) from the result, and the remaining argument(s)
19:08:56 <SrPx> cool!
19:09:41 <ski> e.g. you can do `foo([2,3] ++ Xs) = ..Xs..' here `[2,3] ++ Xs' and `[2,3]' are input, and `Xs' is output (if it matches, there's no failure)
19:11:22 <ski> > let foo (stripPrefix [2,3] -> Just xs) = Just xs; foo _ = Nothing in foo [2,3,5,7]
19:11:23 <lambdabot> Just [5,7]
19:11:55 <ski> i'd like to be able to say something like
19:12:14 <ski> pattern Append :: Eq a => [a] -> () => [a] -> [a]
19:12:32 <ski> pattern Append xs ys = (stripPrefix xs -> Just ys)
19:12:36 <ski> where
19:12:39 <ski> Append xs ys = xs ++ ys
19:12:55 <ski> (er, s/pattern Append xs ys =/pattern Append xs ys <-/)
19:13:12 <ski> where `xs' is input, `Append xs ys' is input, while `ys' is output
19:13:23 <ski> then one would be able to say
19:13:37 <ski> foo (Append [2,3] xs) = Just xs
19:13:47 <ski> foo _ = Nothing
19:14:21 <SrPx> ah I see now, in Haskell, to do something like `foo (double x) = x + 1`, you need to explicitly construct the inverse of `double` somewhere. same in mercury. so the compiler isn't doing it "automatically" via unification
19:14:35 <ski> .. as it is, one must use a view pattern, currently, for this (or else move the stripping of the prefix out of the pattern-matching in the definiendums (left-hand sides) of the defining equations)
19:15:10 <ski> SrPx : well, only because we needed to employ different algorithms at this point. but you can say
19:15:17 <ski> pattern Quadruple :: Int -> Int
19:15:27 <ski> pattern Quadruple x = Double (Double x)
19:16:00 <ski> without having to provide different algorithms for the two directions here. it's just that when we get down to `Double' itself, we select between one of the two modes (directions)
19:16:07 <ski> (and the same in Mercury)
19:16:16 <SrPx> I see what you mean, so basically it is composable
19:16:20 <EvanR> would pattern synonym help here
19:16:41 <EvanR> bidirectional pattern synonym
19:16:49 <SrPx> so I wonder if it would be possible to have a language with primitives and axioms so that every function is invertible. I think I asked that a few years ago on SO, let me check
19:17:16 <ski> however, the constructs you can use in (implicitly) bidirectional pattern synonyms are restricted (e.g. can't use `let',`case',..) .. so it's somewhat more impoverished
19:18:08 <ski> EvanR : that's what `Quadruple' is
19:18:13 <EvanR> oh
19:18:54 <ski> SrPx : how do you invert `const 0', say ? or `(* 0)' ?
19:19:04 <ski> let's say the type is `Int -> Int', for concreteness
19:19:30 <EvanR> that would not be one of the primitives, or derivable
19:19:35 <ski> even if you can enumerate all possible `Int's (Mercury could do this. pattern synonyms in GHC wouldn't), you probably wouldn't want to
19:20:01 <SrPx> ski: it wouldn't be expressive in such a language. how haskell patterns deal with that? i suppose you can't implement "const" as a pattern
19:20:42 <EvanR> unitary haskell, all functions you can write don't gain or lose information
19:21:17 <ski> (for the same reason, `:- mode append(out,out,out) is nondet.' is *not* a declared mode of append/3 in <https://www.mercurylang.org/information/doc-latest/mercury_library/list.html> .. rather useless to start enumerating infinitely many solutions. escpecially if all of them later fail a test, you now are stuck in an infinite loop)
19:21:52 <ski> (in Prolog, though, this kind of mistake happens relatively often. because it doesn't have a static mode (and inst) and determinism system, as Mercury has)
19:22:35 <ski> SrPx : "i suppose you can't implement \"const\" as a pattern" -- right, you don't
19:23:05 <ski> EvanR : reminds me of some paper about a reversible lambda calculus
19:24:17 <ski> "every function is invertible" could be taken to mean "every function has an inverse *function*", or just to mean "every function has an inverse (computable) *relation*"
19:25:03 <ski> in Prolog, and even more so in Mercury, predicates are quite often "invertible", in the sense that you can run them "forwards, backwards, and sideways"
19:26:37 <SrPx> hmm
19:27:13 <ski> (even more so in Mercury, because it keeps track of instantiation state, and, if needed, reorders goals according to data dependencies .. while Prolog just always executes goals (conjuncts) in the same order, regardless. you have to do case analysis yourself on the instantiation state, to avoid this, which is verbose/repetitious, and also errorprone (easy to accidentally define a "predicate" which doesn't
19:27:19 <ski> behave logically at all))
19:27:53 <monochrom> I saw some reversible computing papers decades ago, too. (Not my cup of tea.)
19:27:57 <ski> (a predicate is "steadfast" if, when you provide more information upfront, it can't suddenly give more (or more general
19:29:30 <ski> ) solutions than before. specifically, conjunction is commutative. `append(Front,Back,[2,3,5,7]),Front = [_|_],Back = [_|_]' is equivalent to `Front = [_|_],Back = [_|_],append(Front,Back,[2,3,5,7])', but the latter is more efficient, it's "constrain-and-generate", rather than "generate-and-test")
19:30:11 <ski> (logically speaking, a non-steadfast predicate isn't a predicate/relation at all. it has no declarative semantics, just a procedural/operational one)
19:32:48 <SrPx> I think I've never seen a reversible computing paper fro ma functional programming point of view
19:33:59 wroathe joins (~wroathe@50.205.197.50)
19:33:59 × wroathe quits (~wroathe@50.205.197.50) (Changing host)
19:33:59 wroathe joins (~wroathe@user/wroathe)
19:34:31 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Remote host closed the connection)
19:36:02 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
19:41:04 <ski> "Information Effects" by Roshan P. James,Amr Sabry in 2012-01-2[5-7] at <https://www.cs.indiana.edu/~sabry/papers/information-effects.pdf>,<https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.364.1460>
19:41:05 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
19:41:14 <ski> "The Computational Content of Isomorphisms" (Ph. D. thesis) by Roshan P. James in 2013-04 at <https://web.archive.org/web/20230613084358/https://media.proquest.com/media/hms/ORIG/2/D49uH?_s=rKxUwmbgqKEXAH9RCzAhMuwUWLk%3D> (mentioned at <https://golem.ph.utexas.edu/category/2009/08/the_pi_calculus.html>, linked from <https://lobste.rs/s/brpilp/computational_content_isomorphisms>)
19:41:20 <ski> "Embracing the Laws of Physics: Three Reversible Models of Computation" by Jacques Carette,Roshan P. James,Amr Sabry in 2018-(11-08 - 12-10) at <https://arxiv.org/abs/1811.03678v2>
19:41:31 <ski> (i've only read the first one, just noticed the other two now)
19:41:50 jargon joins (~jargon@184.101.69.217)
19:42:02 <ski> SrPx ^
19:42:47 <ski> (i guess lenses, boomerang is also relevant here)
19:43:03 <SrPx> so an even weirder concept: first-class unification "solve X in A == B". so, for example, `f(x) = x/2+1` could be implemented in a λ-calculus syntax as: `f = λx (S (solve K in (double K) == 10))`
19:43:13 <SrPx> ski: will have al ook, thanks
19:44:02 <ski> `10' ?
19:44:16 ChanServ sets mode +o monochrom
19:44:42 <ski> f(X) = Y + 1 :- X = double(Y). % in Mercury, with the above double/1
19:45:03 <SrPx> oops, should be `== x`
19:45:10 <ski> ok (as i thought)
19:45:38 thyriaen joins (~thyriaen@2a01:aea0:dd4:7550:6245:cbff:fe9f:48b1)
19:45:44 <SrPx> mercury seems to be the closest
19:46:33 <thyriaen> SrPx, hmm ?
19:47:54 <zzz> is there any sensible way of doing `import Relude hiding ( everything_from_mtl )`?
19:47:57 <SrPx> thyriaen: what?
19:48:12 × Jackneill quits (~Jackneill@20014C4E1E1AA2000F2D4B0C673AE70E.dsl.pool.telekom.hu) (Ping timeout: 268 seconds)
19:50:08 shailangsa joins (~shailangs@host109-152-9-157.range109-152.btcentralplus.com)
19:52:49 × thyriaen quits (~thyriaen@2a01:aea0:dd4:7550:6245:cbff:fe9f:48b1) (Quit: Leaving)
19:56:06 × jargon quits (~jargon@184.101.69.217) (Remote host closed the connection)
19:57:54 <ddellacosta> zzz: assuming you're only doing it in specific namespaces, just import only the things you want from Relude? Otherwise I feel like you're getting dimishing returns on using an alternative prelude, and you'd be better off making your own
19:58:02 <ddellacosta> namespaces -> modules
19:58:53 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
20:02:29 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
20:02:58 myxos joins (~myxos@065-028-251-121.inf.spectrum.com)
20:06:52 <zzz> ddellacosta: yes, just a specific module
20:07:14 <zzz> another question: do i need fromList when using list comprehensions with OverloadedLists?
20:15:10 × ChanServ quits (ChanServ@services.libera.chat) (shutting down)
20:18:35 × Tlsx quits (~rscastilh@189.61.140.215) ()
20:19:39 ChanServ joins (ChanServ@services.libera.chat)
20:19:39 tungsten.libera.chat sets mode +o ChanServ
20:24:57 × trev quits (~trev@user/trev) (Quit: trev)
20:30:00 MonsoonSecrecy parts (f78c86e960@2604:bf00:561:2000::f99) ()
20:35:35 <zzz> i was under the impression i didn't but apparently i do
20:36:01 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Remote host closed the connection)
20:36:57 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:39:00 <ski> depends on whether you want to convert from `[a]' to `l' where `IsList l' and `Item l = a'
20:40:12 <ski> hm, i guess maybe you want `MonadComprehensions' ?
20:40:55 <geekosaur> I was wondering about that too, but it wouldn't help if they're using OverloadedLists with e.g. a set
20:41:09 <geekosaur> or Map
20:42:46 <zzz> yes, Set and Map in this instance
20:43:20 <zzz> weird that comprehensions are not supported
20:45:42 <geekosaur> what's the Monad instance for a Map?
20:45:51 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
20:47:06 <ski> hm .. would `instance Monoid k => Monad (Map k)' work ?
20:47:21 <geekosaur> you can't specify that constraint
20:47:47 <geekosaur> moreover you can't have an Ord instance on the key, but Map requires one
20:47:53 <ski> oh, right, add `Ord k'
20:48:28 <zzz> i was hoping the extension just built the list and then added fromList. no need for Monad instance, and that's how it's documented to work
20:48:29 <geekosaur> there are indexed monads, but not in base and not supported by MonadComprehensions
20:49:52 <zzz> s/just built/would just build
20:51:40 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
20:55:05 monochrom sets mode -o monochrom
20:57:08 <ski> @let instance (Ord k,Monoid k) => Applicative (M.Map k) where {pure = return; (<*>) = ap}; instance (Ord k,Monoid k) => Monad (M.Map k) where {return x = M.fromList [(mempty,x)]; m >>= k = M.unions (M.mapWithKey (\k0 x -> M.mapKeys (\k1 -> k0 <> k1) (k x)) m)}
20:57:10 <lambdabot> Defined.
20:57:13 <ski> hm
20:57:20 <ski> > join ((M.fromList . (map . second) M.fromList) [("a",[("0",0),("1",1)]),("b",[("0",2)])])
20:57:21 <lambdabot> fromList [("a0",0),("a1",1),("b0",2)]
20:57:27 <ski> > join ((M.fromList . (map . second) M.fromList) [("a",[("a",0),("bc",1)]),("ab",[("c",2)])])
20:57:28 <lambdabot> fromList [("aa",0),("abc",1)]
20:57:35 <ski> that latter doesn't look good
20:57:53 <geekosaur> right, I was under the impression that breaks the laws
20:58:03 <ski> i'd expect it does
20:58:19 <ski> you'd need `Monoid' on the monadic result, maybe .. but that's not allowed
21:10:10 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:13:02 Sgeo joins (~Sgeo@user/sgeo)
21:13:04 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:14:06 <jackdk> If you think of `Map k` as kinda like a function `k -> Maybe a`, then I start to imagine that it might have to behave similarly to the monad instance for Complex (which is kinda like `Bool -> a`): your `join` might want to take the "diagonal" of the nested maps
21:17:35 × CiaoSen quits (~Jura@2a05:5800:27e:b500:2a3a:4dff:fe84:dbd5) (Ping timeout: 256 seconds)
21:22:59 × vgtw_ quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
21:25:26 × dhil quits (~dhil@2001:8e0:2014:3100:2371:386b:1960:dc70) (Ping timeout: 256 seconds)
21:26:57 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.1.1)
21:27:04 Jackneill joins (~Jackneill@20014C4E1E1AA2000F2D4B0C673AE70E.dsl.pool.telekom.hu)
21:29:36 vgtw joins (~vgtw@user/vgtw)
21:47:20 liamzy__ is now known as Inst
21:49:10 jmdaemon joins (~jmdaemon@user/jmdaemon)
21:50:27 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 256 seconds)
21:51:27 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
21:57:32 mokee joins (~mokee@37.228.215.150)
22:17:19 × falafel quits (~falafel@2a00:23c6:4812:c301:4277:cef8:5cc2:c442) (Remote host closed the connection)
22:19:55 × maturana quits (~maturana@37.218.244.251) (Quit: maturana)
22:22:09 × notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer)
22:23:16 notzmv joins (~zmv@user/notzmv)
22:23:37 zetef joins (~quassel@5.2.182.98)
22:28:01 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3) (Remote host closed the connection)
22:30:25 × johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
22:35:19 × fendor quits (~fendor@2a02:8388:1640:be00:8705:c56:c793:802b) (Remote host closed the connection)
22:37:34 qqq joins (~qqq@92.43.167.61)
22:39:32 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:50:05 × troydm quits (~troydm@user/troydm) (Ping timeout: 240 seconds)
22:50:49 troydm joins (~troydm@user/troydm)
22:51:57 ystael joins (~ystael@user/ystael)
22:52:27 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:55:13 jumper149 joins (~jumper149@base.felixspringer.xyz)
22:55:58 × acidjnk quits (~acidjnk@p200300d6e72b9399e0d3f8384e141d02.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
23:02:49 ham joins (~ham@user/ham)
23:04:15 ham is now known as hamster
23:06:02 × jumper149 quits (~jumper149@base.felixspringer.xyz) (Quit: WeeChat 4.1.1)
23:06:19 jumper149 joins (~jumper149@base.felixspringer.xyz)
23:07:57 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a57c:6e2:236b:24e3)
23:09:13 × axeman quits (~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
23:21:20 neptun parts (neptun@2607:5300:60:5910:dcad:beff:feef:5bc) (bye)
23:27:44 × haskellbridge quits (~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 268 seconds)
23:33:15 SmirnoffBG joins (~Guest86@2a01:5a8:302:def2:8c8e:534:2c31:3b30)
23:34:41 m257 joins (~maaz@184.147.203.180)
23:34:58 <m257> Why div?
23:35:12 <ski> `div' is for integral division, division with a remainder
23:35:23 × chomwitt quits (~chomwitt@ppp-94-67-189-25.home.otenet.gr) (Ping timeout: 252 seconds)
23:35:24 <m257> does it return the remainder?
23:35:33 <ski> `/' is for (more or less) exact division, so floating-point (not quite exact), and rationals (exact)
23:35:40 <ski> `mod' does
23:35:46 <ski> > 17 `divMod` 7
23:35:47 <lambdabot> (2,3)
23:35:49 <m257> I thought it would return the result of the division.
23:35:49 <ski> > 17 `div` 7
23:35:51 <lambdabot> 2
23:35:52 <ski> > 17 `mod` 7
23:35:54 <lambdabot> 3
23:35:55 <m257> 4 mod 2
23:36:01 <ski> use "> "
23:36:04 <m257> mod 4 2
23:36:13 <m257> > mod 4 2
23:36:14 <lambdabot> 0
23:36:26 <m257> > div 4 2
23:36:27 <lambdabot> 2
23:36:33 <ski> > div 11 2
23:36:34 <lambdabot> 5
23:37:01 <ski> n = n `div` d * d + n `mod` d
23:37:06 <m257> I need to check if the number is even.
23:37:13 <ski> > map even [0 ..]
23:37:15 <lambdabot> [True,False,True,False,True,False,True,False,True,False,True,False,True,Fals...
23:37:20 <EvanR> @src even
23:37:20 <lambdabot> even n = n `rem` 2 == 0
23:37:22 <m257> Really?
23:37:30 <m257> You map it to the set?
23:37:34 <ski> the list
23:37:35 <m257> That is so weird.
23:37:37 <EvanR> :t even
23:37:38 <lambdabot> Integral a => a -> Bool
23:37:41 <ski> (infinite list, here)
23:38:00 <ski> > filter even [0 ..]
23:38:02 <lambdabot> [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52...
23:38:07 <m257> so map even x?
23:38:14 <ski> only if `x' is a list
23:38:18 <EvanR> check if a number is even, use the function even
23:38:28 <m257> Oh even is just a function.
23:38:33 <ski> i was just showing `even' for a bunch of different numbers at the same time
23:38:34 <ski> yes
23:38:37 <m257> Can I see its definition?
23:38:40 <ski> see above
23:38:54 <m257> Its seems weird that their would be a function for something so simple.
23:39:23 <EvanR> it's good that haskell has some many dumb things defined, and that everyone uses them
23:39:31 <m257> How would I check for arbitary mod in idiomatic haskell.
23:39:40 <m257> like x % n
23:39:45 <EvanR> x `mod` n
23:39:48 <ski> (`rem' is the same as `mod', except it behaves slightly differently, with negative numbers. `rem' is probably (very) slightly more efficient. but if your numerator might be negative, you probably want `mod' instead. similarly, if the numerator may be negative, you usually want `div' rather than `quot')
23:40:37 <m257> Ambiguous type variable ‘a0’ arising from the literal ‘4’
23:40:39 <ski> (with `div' and `mod', the sign of the denominator controls the sign of the result. with `quot' and `rem', it's the sign of the numerator which controls)
23:40:45 <m257> main = print (collatz 4)
23:40:55 <ski> (most processors, for some weird reason, seem to go the `quot' and `rem' route ..)
23:40:58 <m257> Why is this wrong?
23:41:00 <EvanR> not enough type info to know what number type 4 is
23:41:10 <EvanR> try print (collatz (4 :: Int))
23:41:20 <ski> collatz :: Int -> Int -- adding this should work
23:41:23 <EvanR> or put a type signature on collatz
23:41:30 <ski> (or `Integer')
23:41:40 <m257> No instance for (Fractional Int) arising from a use of ‘collatz’
23:41:50 <m257> How do I define input type?
23:41:53 <ski> don't use `/'
23:41:56 <EvanR> sounds like you tried to use /
23:42:00 <ski> (yes)
23:42:06 <m257> collatz x = if even x then x/2 else 3*x+1
23:42:14 <ski> add, above that line :
23:42:16 <ski> collatz :: Int -> Int -- adding this should work
23:42:37 <ski> (and replace the / with `div` ..)
23:43:02 <m257> It works!
23:43:04 <m257> Thanks
23:43:12 <ski> np :)
23:43:15 <EvanR> slash does this
23:43:20 <EvanR> > 7 / 2
23:43:21 <m257> This is a bit of a culture shock.
23:43:21 <lambdabot> 3.5
23:43:26 <EvanR> > 7 `div` 2
23:43:28 <m257> For floats?
23:43:28 <lambdabot> 3
23:43:36 <ski> > 7 / 2 :: Rational
23:43:38 <lambdabot> 7 % 2
23:43:45 <ski> > 14 / 4 :: Rational
23:43:46 <lambdabot> 7 % 2
23:43:55 <ski> > 1 % 2 + 1 & 3
23:43:56 <ski> er
23:43:56 <lambdabot> error:
23:43:56 <lambdabot> • Could not deduce (Integral a0)
23:43:56 <lambdabot> from the context: (Integral a, Num (Ratio a -> b))
23:43:59 <ski> > 1 % 2 + 1 % 3
23:44:00 <lambdabot> 5 % 6
23:44:00 <EvanR> slash is for Fractional numbers, div is for Integral numbers
23:44:11 <ski> @botsmack
23:44:11 <lambdabot> :)
23:44:13 <m257> so / is float division and div is integer division. Why make such a distinction? Why not figure out types from input?
23:44:27 <EvanR> other languages have the same distinction, though spelled different ways
23:44:55 <EvanR> you call them both "division" but it's really not the same operation
23:45:05 <m257> I am going to just call div like a function rather use backticks
23:45:13 <ski> > pi `divMod'` 2
23:45:14 <lambdabot> (1,1.1415926535897931)
23:45:15 <m257> What is the idiomatic way?
23:45:16 <ski> > pi `divMod'` 0.5
23:45:17 <lambdabot> (6,0.14159265358979312)
23:45:32 <ski> m257 : either prefix or infix, whichever you prefer
23:45:57 <m257> Now how do I loop till it hits one? and print out the numbers in between?
23:45:58 <EvanR> > let (÷) = div in 7 ÷ 2
23:45:59 <lambdabot> 3
23:46:18 <ski> m257 : you can generate a list of the numbers
23:46:27 <m257> Return a list?
23:46:35 <ski> yes
23:46:38 <ski> so, e.g.
23:46:47 <ski> collatz 5
23:46:54 <ski> = [5,16,8,4,2,1]
23:46:55 <m257> There is probably some mad optimizations behind the scenes to get this to work.
23:47:06 <m257> How do I create and combines list?
23:47:16 <ski> > 2 : [3,5,7]
23:47:18 <lambdabot> [2,3,5,7]
23:47:22 <m257> Alright.
23:47:24 <ski> > [2,3] ++ [5,7]
23:47:26 <lambdabot> [2,3,5,7]
23:47:27 haskellbridge joins (~haskellbr@069-135-003-034.biz.spectrum.com)
23:47:27 ChanServ sets mode +v haskellbridge
23:47:47 ski welcomes haskellbridge back
23:48:04 <m257> Do I change the type signature of collatz to Int List?
23:48:12 <ski> collatz :: Int -> [Int]
23:49:01 <ski> collatz 1 = [1]
23:49:07 <ski> collatz n
23:49:35 <ski> | even n = ...
23:49:40 <ski> | otherwise = ...
23:49:57 <ski> that's another way to split cases, depending on even or not
23:50:01 <ski> @src otherwise
23:50:02 <lambdabot> otherwise = True
23:51:47 <m257> Anything wrong with this: collatz x = if (x == 1)
23:51:47 <m257> []
23:51:47 <m257> if even x then
23:51:47 <m257> (div x 2) : (collatz (div x 2))
23:51:47 <m257> else
23:51:50 <m257> 3*x+1 : (collatz (3*x+1))
23:51:52 <m257> Woops.
23:52:03 <m257> Probably should pastebin next time.
23:52:10 <m257> tabs turns into Is
23:52:43 <m257> https://pastebin.com/X2fuQicV
23:52:49 <m257> Thats a bit better.
23:53:56 <ski> no need for the brackets around `x == 1', nor around `div x 2', nor around `collatz (div x 2)'
23:54:10 <ski> (nor `collatz (3*x+1)')
23:54:29 <m257> I was thinking of lisp...
23:54:36 <m257> It looks weird without it.
23:54:51 <m257> Haskell seemed very lisp like in syntax.
23:54:53 <ski> missing `then' and `else' for first `if'
23:54:54 <EvanR> this is not lisp
23:55:06 <EvanR> (((x))) is the same thing as x
23:55:07 × Jackneill quits (~Jackneill@20014C4E1E1AA2000F2D4B0C673AE70E.dsl.pool.telekom.hu) (Ping timeout: 276 seconds)
23:55:12 <ski> (all `if's have both `then' and `else')
23:55:26 <m257> Forgot about the else case.
23:55:43 <Axman6> m257: regardless of what happens to the tabs, please do not paste code into IRC
23:55:53 <m257> Can I not use tabs in Haskell?
23:55:59 <m257> It gives errors.
23:56:00 <ski> m257 : but see the `collatz' sketch i gave seven minutes ago, above
23:56:49 <EvanR> you can use tabs but the indentation of else makes it parse wrong
23:56:51 <m257> Axman6: It looked shorter in neovim. Sorry.
23:56:56 <EvanR> it has to be indented more than if
23:57:20 <geekosaur> that's the problem with tabs: every program has its own interpretation of them
23:57:26 <Axman6> You can use tabs in Haskell, but you shouldn't. They're defined to be 8 character tab stops, which is not what most people expect (and because of this it's generally considered a bad idea)
23:57:40 <m257> This is what I have currently: https://pastebin.com/e3wvFgFX
23:58:01 <m257> I have my neovim config to only tabs. Might have to change tabs to spaces.
23:58:19 <ski> m257 : `ghci -Wno-tabs' to shut the tab warning up
23:58:49 <monochrom> Or, tell your editor to use spaces :)
23:58:53 <Axman6> but just use spaces
23:59:02 <m257> yes i need to change that.
23:59:14 <m257> The parse error for else is because of tabs right?
23:59:16 <ski> m257 : "I mix tabs and spaces" by dmwit at <http://dmwit.com/tabs/> ; <http://ooxx.me/wp-content/uploads/2013/10/TabsSpacesBoth.png>
23:59:29 <monochrom> I understand why tabs are better for other languages. That reason breaks with Haskell (and Python).
23:59:41 <monochrom> (generally any layout-sensitive language)
23:59:51 <Axman6> ski: just the URLs made me angry
23:59:57 ski grins

All times are in UTC on 2023-11-19.