Home liberachat/#haskell: Logs Calendar

Logs on 2022-06-09 (liberachat/#haskell)

00:00:33 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
00:06:53 × Topsi1 quits (~Topsi@dyndsl-095-033-021-202.ewe-ip-backbone.de) (Read error: Connection reset by peer)
00:08:07 werneta joins (~werneta@137.79.206.133)
00:08:29 × jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 252 seconds)
00:08:32 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:10:06 califax joins (~califax@user/califx)
00:16:53 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
00:18:29 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
00:18:41 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
00:18:48 img joins (~img@user/img)
00:25:50 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
00:26:36 × kenaryn quits (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving)
00:27:33 × stackdroid18 quits (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
00:28:59 kadir joins (~kadir@85.103.235.158)
00:29:16 kadir parts (~kadir@85.103.235.158) ()
00:35:43 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
00:37:02 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
00:40:17 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
00:44:50 × xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 240 seconds)
00:46:45 ec_ joins (~ec@gateway/tor-sasl/ec)
00:46:56 nate3 joins (~nate@98.45.169.16)
00:49:03 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
00:49:15 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
00:50:18 Lord_of_Life_ is now known as Lord_of_Life
00:50:50 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
00:51:37 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
00:53:48 tnkmon joins (~tnkmon@181.208.236.212)
00:57:46 pottsy joins (~pottsy@129.227.183.244)
00:58:31 <tnkmon> a good book to start in haskell??
01:02:04 <geekosaur> @where books
01:02:04 <lambdabot> https://www.extrema.is/articles/haskell-books http://www.vex.net/~trebla/haskell/learn-sources.html, see also @where LYAH, RWH, YAHT, HFTVB, SOE, HR, PIH, TFwH, wikibook, PCPH, HPFFP, HTAC, TwT, FoP,
01:02:04 <lambdabot> FSAF
01:03:47 Guest57 joins (~Guest57@pool-108-21-81-113.nycmny.fios.verizon.net)
01:04:11 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
01:04:13 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds)
01:04:16 × Guest57 quits (~Guest57@pool-108-21-81-113.nycmny.fios.verizon.net) (Client Quit)
01:07:20 × pottsy quits (~pottsy@129.227.183.244) (Ping timeout: 265 seconds)
01:08:00 × tnkmon quits (~tnkmon@181.208.236.212) (Quit: Client closed)
01:08:08 pottsy joins (~pottsy@129.227.183.244)
01:08:36 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:10:27 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:12:28 × DNH quits (~DNH@2a02:8108:1100:16d8:e92a:ff3d:d8c7:63da) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:12:58 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
01:15:53 × DigitalKiwi quits (~kiwi@2604:a880:400:d0::1ca0:e001) (Quit: quite.)
01:15:56 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:16:33 DigitalKiwi joins (~kiwi@137.184.156.191)
01:16:35 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:41 <EvanR> @where intro
01:18:41 <lambdabot> http://www.haskell.org/haskellwiki/Learn_Haskell_in_10_minutes
01:18:47 <EvanR> @where gentle
01:18:48 <lambdabot> http://www.haskell.org/tutorial/
01:19:02 <EvanR> this one this one
01:27:49 sebastiandb_ joins (~sebastian@pool-108-31-128-56.washdc.fios.verizon.net)
01:28:25 Maxdamantus joins (~Maxdamant@user/maxdamantus)
01:28:50 × werneta quits (~werneta@137.79.206.133) (Ping timeout: 255 seconds)
01:33:08 xff0x joins (~xff0x@s5.HtokyoFL1.vectant.ne.jp)
01:35:24 × dextaa quits (~DV@user/dextaa) (Ping timeout: 276 seconds)
01:37:23 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
01:37:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
02:04:23 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
02:07:23 × gdown quits (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
02:12:40 dextaa joins (~DV@user/dextaa)
02:17:22 × td_ quits (~td@muedsl-82-207-238-024.citykom.de) (Ping timeout: 246 seconds)
02:19:30 td_ joins (~td@94.134.91.150)
02:21:18 <DigitalKiwi> tomsmeding: piiiing
02:23:55 <DigitalKiwi> https://mostlyabsurd.com/files/2022-06-08-212240_1454x1373_scrot.png
02:25:59 <DigitalKiwi> https://mostlyabsurd.com/files/2022-06-08-212549_2313x1745_scrot.png
02:26:02 <DigitalKiwi> other side
02:29:52 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
02:34:39 <DigitalKiwi> hmm do i 3d print it or laser cut it ;D
02:41:58 bilegeek joins (~bilegeek@2600:1008:b011:d18c:911b:fa07:1468:57c3)
02:41:58 zwu joins (~wu000168@host-187-23.ilchtbc.chicago.il.us.clients.pavlovmedia.net)
02:42:02 × mvk quits (~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 250 seconds)
02:46:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
02:48:58 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
02:49:55 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
02:53:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
02:59:51 frost joins (~frost@user/frost)
03:13:22 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
03:20:07 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
03:25:50 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 255 seconds)
03:27:23 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
03:31:02 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
03:31:52 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
03:33:24 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:35:26 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:39:27 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:45:29 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
03:46:18 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
03:47:43 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
04:01:40 fef joins (~thedawn@user/thedawn)
04:11:46 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
04:12:40 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
04:14:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
04:15:04 Vajb joins (~Vajb@n5ar9yynwxqg80e32-2.v6.elisa-mobile.fi)
04:21:34 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
04:25:26 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
04:26:36 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
04:32:21 × sebastiandb_ quits (~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
04:36:29 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 255 seconds)
04:51:17 × monochrom quits (~trebla@216.138.220.146) (Quit: NO CARRIER)
04:53:01 nate3 joins (~nate@98.45.169.16)
04:53:07 slac77372 joins (~slack1256@191.125.99.201)
04:53:53 × dextaa quits (~DV@user/dextaa) (Ping timeout: 256 seconds)
04:54:12 dcoutts_ joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
04:55:23 × slack1256 quits (~slack1256@186.11.84.227) (Ping timeout: 255 seconds)
04:56:59 × dcoutts quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 240 seconds)
04:57:11 × dcoutts__ quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 255 seconds)
04:57:51 dcoutts joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
04:58:12 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
04:59:39 monochrom joins (~trebla@216.138.220.146)
05:06:20 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
05:06:39 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
05:07:05 fef joins (~thedawn@user/thedawn)
05:19:05 × causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5)
05:19:59 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
05:31:42 acidjnk_new joins (~acidjnk@p200300d0c7068b72719872c4440223ec.dip0.t-ipconnect.de)
05:34:11 cfricke joins (~cfricke@user/cfricke)
05:39:02 chomwitt joins (~chomwitt@2a02:587:dc1f:5600:28f0:c157:4d87:4f4e)
05:44:45 yosef` joins (~user@user/yosef/x-2947716)
05:48:15 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
05:51:19 nicbk joins (~nicbk@user/nicbk)
05:52:37 Guest34 joins (~Guest34@176.122.87.241)
05:53:03 <Guest34> Good day
05:54:24 × Guest34 quits (~Guest34@176.122.87.241) (Client Quit)
05:57:27 Guest34 joins (~Guest34@176.122.87.241)
05:58:28 <DigitalKiwi> hi Guest34
05:58:58 <Guest34> I am using library odpic-raw to access oracle database
05:59:18 <Guest34> main :: IO ()
05:59:19 <Guest34> main = do
05:59:19 <Guest34>   withContext $ \ctx ->
05:59:20 <Guest34>     withPool ctx cfg return \pool ->
05:59:20 <Guest34>       withPoolConnection pool $ \conn ->
05:59:21 <Guest34>         withStatement conn False "select name from db.report_date where id = 1" $ \st -> do
05:59:21 <Guest34>           r <- executeStatement st ModeExecDefault
05:59:22 <Guest34>           f <- fetch st
05:59:22 <Guest34>           (DataVarchar v) <- getQueryValue st 1
05:59:23 <Guest34>           peekCStringLen (bytes v) >>= print
05:59:27 <DigitalKiwi> oh no
05:59:36 <Guest34> ?
05:59:49 <nerdypepper> x_x
06:00:02 <Guest34> i can't ask?
06:00:13 <nerdypepper> Guest34: please upload your source code in a pastebin service and paste a link to that here
06:00:21 <Guest34> sorry
06:00:22 <Guest34> ok
06:00:34 alp joins (~alp@user/alp)
06:01:14 <nerdypepper> Guest34: https://paste.tomsmeding.com/ or similar
06:02:20 <Guest34> https://pastebin.com/t093XNLk
06:03:45 <Guest34> NLS_LANG is AMERICAN.AMERICA=UTF8
06:04:28 <Guest34> from plsql i get normal string "Январь 2022"
06:05:14 <Guest34> haskell code get me "\1071\1085\1074\1072\1088\1100 2022"
06:06:12 <Guest34> can you suggest what is the problem?
06:07:26 <Axman6> > text "\1071\1085\1074\1072\1088\1100 2022"
06:07:27 <lambdabot> Январь 2022
06:07:49 <Axman6> that's just what the show instance for strings does for non ascii codepoints
06:08:20 <Axman6> that _is_ the string you are expecting to get back, if you run putStrLn "\1071\1085\1074\1072\1088\1100 2022" in ghci you'll see if prints exactly that
06:09:40 <Axman6> because you are caling print, show is applied to the string, use putStrLn instead
06:09:55 <Axman6> peekCStringLen (bytes v) >>= putStrLn is the fix
06:10:20 <Axman6> @src print
06:10:21 <lambdabot> print x = putStrLn (show x)
06:11:10 <Hecate> @src fix
06:11:10 <lambdabot> fix f = let x = f x in x
06:11:36 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
06:11:36 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
06:11:40 <Hecate> Guest34: unfortunately there is no problem
06:12:16 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
06:12:59 <Guest34> thanks for the help
06:13:15 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
06:13:20 <Axman6> first time I've ever seen anyone connect to Oracle
06:15:47 <Guest34> i started learning Haskell. trying to write a web api for old software with oracle db
06:17:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
06:17:27 <Axman6> Good luck!
06:18:00 <Axman6> the web API side of things is quite nice in Haskell, no idea how much your milage will vary working with Oracle though
06:18:08 <Guest34> Thanks!
06:20:22 × fef quits (~thedawn@user/thedawn) (Quit: Killer)
06:23:15 × raym quits (~raym@user/raym) (Quit: ed is the standard editor)
06:25:44 raym joins (~raym@user/raym)
06:28:14 × acidjnk_new quits (~acidjnk@p200300d0c7068b72719872c4440223ec.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
06:30:40 × Guest34 quits (~Guest34@176.122.87.241) (Quit: Client closed)
06:40:12 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:42:46 acidjnk_new joins (~acidjnk@p200300d0c7068b72719872c4440223ec.dip0.t-ipconnect.de)
06:53:35 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
06:54:01 × slac77372 quits (~slack1256@191.125.99.201) (Read error: Connection reset by peer)
06:56:29 zaquest joins (~notzaques@5.130.79.72)
06:57:13 lortabac joins (~lortabac@2a01:e0a:541:b8f0:54fe:417d:8656:9d4e)
06:58:15 coot joins (~coot@213.134.190.95)
07:12:14 pmk joins (~user@2a02:587:9418:69b8:b896:d770:251d:c4d7)
07:16:34 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
07:18:25 <toluene> edwardk, mniip asks how are you
07:19:34 × nicbk quits (~nicbk@user/nicbk) (Ping timeout: 240 seconds)
07:19:50 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
07:19:59 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
07:22:33 × raym quits (~raym@user/raym) (Ping timeout: 258 seconds)
07:22:35 MajorBiscuit joins (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl)
07:24:59 jakalx joins (~jakalx@base.jakalx.net)
07:25:03 bilegeek_ joins (~bilegeek@2600:1008:b011:d18c:911b:fa07:1468:57c3)
07:27:29 × bilegeek quits (~bilegeek@2600:1008:b011:d18c:911b:fa07:1468:57c3) (Ping timeout: 255 seconds)
07:32:21 Kaiepi joins (~Kaiepi@156.34.47.253)
07:33:38 mc47 joins (~mc47@xmonad/TheMC47)
07:37:07 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 258 seconds)
07:41:47 × cross quits (~cross@spitfire.i.gajendra.net) (Quit: Lost terminal)
07:42:37 takuan joins (~takuan@178-116-218-225.access.telenet.be)
07:42:44 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
07:46:34 Pickchea joins (~private@user/pickchea)
07:47:52 × wonko quits (~wjc@2a0e:1c80:11::50) (Quit: See You Space Cowboy..)
07:48:16 <Guillaum[m]> I'm surprised that `-Wredundant-constraint` warning does not trigger a warning in the following code: `type EqOrd a = (Eq a, Ord a); buz'' :: EqOrd a => a -> Bool; buz'' i = i == i`. I understand that the redundant constraint is bundled inside a type alias, but is there a way to trigger a warning? Should I open a ticket?
07:48:25 raym joins (~raym@user/raym)
07:50:46 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
07:50:51 xstill- is now known as xstill_
07:51:17 × wonko- quits (~wjc@user/wonko) (Ping timeout: 260 seconds)
07:51:30 × Ekho quits (~Ekho@user/ekho) (Remote host closed the connection)
07:52:49 Ekho joins (~Ekho@user/ekho)
07:53:55 × myme quits (~myme@2a01:799:d5a:cd00:dd4e:6782:5084:ddd1) (Quit: WeeChat 3.4.1)
07:54:22 myme joins (~myme@2a01:799:d5a:cd00:cf5c:a138:5106:fe37)
07:55:33 DNH joins (~DNH@2a02:8108:1100:16d8:5929:26d:553d:b545)
07:56:43 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
07:58:56 bilegeek joins (~bilegeek@2600:1008:b011:d18c:911b:fa07:1468:57c3)
07:59:33 jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
08:00:47 × bilegeek_ quits (~bilegeek@2600:1008:b011:d18c:911b:fa07:1468:57c3) (Ping timeout: 255 seconds)
08:02:07 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds)
08:03:54 jonathanx__ joins (~jonathan@c-5eea340e-74736162.cust.telenor.se)
08:03:54 × jonathanx__ quits (~jonathan@c-5eea340e-74736162.cust.telenor.se) (Read error: Connection reset by peer)
08:05:34 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
08:06:27 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
08:07:46 × jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
08:08:12 zincy joins (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d)
08:09:47 × kitty1 quits (~kitty@096-039-147-043.res.spectrum.com) (Ping timeout: 255 seconds)
08:09:49 jonathanx joins (~jonathan@c-5eea340e-74736162.cust.telenor.se)
08:10:11 kitty1 joins (~kitty@096-039-147-043.res.spectrum.com)
08:15:46 mal1 is now known as lieven
08:19:45 Hash is now known as Enchantertim
08:19:47 Enchantertim is now known as EnchanterTim
08:21:17 EnchanterTim is now known as OpenSores
08:23:06 × acidjnk_new quits (~acidjnk@p200300d0c7068b72719872c4440223ec.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
08:28:39 × Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
08:29:12 CiaoSen joins (~Jura@p200300c95738d2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
08:31:01 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
08:38:13 × maerwald quits (~maerwald@user/maerwald) (Quit: gone)
08:38:50 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection)
08:38:54 maerwald joins (~maerwald@mail.hasufell.de)
08:39:15 sagax joins (~sagax_nb@user/sagax)
08:40:05 × maerwald quits (~maerwald@mail.hasufell.de) (Changing host)
08:40:05 maerwald joins (~maerwald@user/maerwald)
08:40:08 thornAvery joins (~thornAver@104.156.232.89)
08:40:35 trisolaran joins (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
08:40:36 <thornAvery> hello, im setting up Stack with Nix integration, and im wondering if theres a way to use a flakes defined shell with the --nix-shell-file flag?
08:44:48 × MajorBiscuit quits (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl) (Ping timeout: 244 seconds)
08:50:58 acidjnk_new joins (~acidjnk@p200300d0c7068b72719872c4440223ec.dip0.t-ipconnect.de)
08:51:02 Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
08:51:10 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:53:16 × jonathanx quits (~jonathan@c-5eea340e-74736162.cust.telenor.se) (Ping timeout: 272 seconds)
08:54:42 nate3 joins (~nate@98.45.169.16)
08:57:28 <Benzi-Junior> http://ix.io/3ZKI < so I took the advice to pattern match on the construction of my agents, consuming only the "agent" part but when I test it, it appears to do nothing
08:57:33 gehmehgeh joins (~user@user/gehmehgeh)
08:59:28 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
08:59:56 MajorBiscuit joins (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl)
09:00:01 × DNH quits (~DNH@2a02:8108:1100:16d8:5929:26d:553d:b545) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:07:45 × pottsy quits (~pottsy@129.227.183.244) (Ping timeout: 265 seconds)
09:07:47 × forell quits (~forell@user/forell) (Ping timeout: 240 seconds)
09:08:05 pottsy joins (~pottsy@129.227.183.244)
09:09:11 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
09:12:53 OpenSores is now known as Hash
09:14:06 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Ping timeout: 258 seconds)
09:14:45 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:18:24 forell joins (~forell@user/forell)
09:20:10 × MajorBiscuit quits (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl) (Ping timeout: 240 seconds)
09:22:14 × trisolaran quits (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 255 seconds)
09:26:37 <[Leary]> Benzi-Junior: Have you read the 'Terminating the program' section in the Control.Concurrent docs? Your main thread is probably finishing and killing the children before they can do anything.
09:29:43 <[Leary]> `atoms` also seems to be ignoring the next action in sequence, when you probably want it to recurse.
09:31:24 ubert joins (~Thunderbi@2a02:8109:abc0:6434:88ad:201e:ada:568e)
09:39:13 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06)
09:42:34 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
09:43:25 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
09:43:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06) (Ping timeout: 258 seconds)
09:51:56 chreekat2 joins (~b@80-254-69-77.dynamic.monzoon.net)
09:52:39 MajorBiscuit joins (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl)
09:55:22 DNH joins (~DNH@2a02:8108:1100:16d8:d5e4:216a:268c:a812)
09:57:39 × MajorBiscuit quits (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl) (Ping timeout: 244 seconds)
09:58:26 × zincy quits (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) (Remote host closed the connection)
10:04:46 <Benzi-Junior> [Leary], aye I fixed the recursion issue (to an extent) and am looking into the "Terminating the program" thing
10:06:24 MajorBiscuit joins (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl)
10:06:25 <Benzi-Junior> well my testing isn't done in a "standalone GHC program" but rather with ghci
10:10:56 mrd joins (~mrd@45.61.147.211)
10:11:04 × mrd quits (~mrd@45.61.147.211) (Changing host)
10:11:04 mrd joins (~mrd@user/mrd)
10:13:22 <Benzi-Junior> [Leary], you are however right
10:13:48 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
10:14:13 <Benzi-Junior> adding a simple threadDelay onto the main thread of the function was sufficient to get a little bit of output
10:14:40 × zachel quits (~zachel@user/zachel) (Quit: DIsconnected: v7+nano)
10:14:58 zachel joins (~zachel@user/zachel)
10:17:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
10:20:43 × MajorBiscuit quits (~MajorBisc@wlan-145-94-166-223.wlan.tudelft.nl) (Ping timeout: 246 seconds)
10:22:10 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
10:22:23 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:23:02 SCombinator joins (~SCombinat@118.179.211.17)
10:23:43 <SCombinator> Heya fellas
10:23:48 Teacup joins (~teacup@user/teacup)
10:24:01 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5)
10:24:55 <SCombinator> i'm trying out the haskell extension in VSCode and it seems like this thing is actually downloading its own copy of GHC, HLS, stack, & cabal for every project I open
10:25:33 × CiaoSen quits (~Jura@p200300c95738d2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
10:25:38 <SCombinator> My projects are managed by stack so I don't see why this should be necessary
10:28:41 <fendor[m]> SCombinator: It should only download these once, but you can disable downloading for cabal and ghc, iirc
10:29:23 <fendor[m]> however, you will have to make sure on your own that your HLS binary is compiled with exactly the same GHC version you are using with stack
10:29:54 <fendor[m]> see https://github.com/haskell/vscode-haskell#setting-a-specific-toolchain for details
10:31:00 bilegeek_ joins (~bilegeek@175.sub-174-208-226.myvzw.com)
10:31:32 × bilegeek quits (~bilegeek@2600:1008:b011:d18c:911b:fa07:1468:57c3) (Ping timeout: 255 seconds)
10:33:27 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
10:33:49 × bilegeek_ quits (~bilegeek@175.sub-174-208-226.myvzw.com) (Client Quit)
10:35:20 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:35:35 × xff0x quits (~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 256 seconds)
10:36:23 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
10:37:07 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
10:39:45 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
10:54:30 mc47 joins (~mc47@xmonad/TheMC47)
10:58:55 <SCombinator> fendor[m] thanks for the pointer
11:00:40 × dcoutts_ quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Remote host closed the connection)
11:01:02 dcoutts_ joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
11:01:04 <SCombinator> :/  why is haskell tooling so complicated...
11:01:08 dcoutts__ joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
11:01:23 <SCombinator> so many layers just to get a working dev environment lol
11:01:50 <SCombinator> is stack still the way to go for reproducible builds?
11:02:27 <SCombinator> and just wondering, should I prefer package.yaml or just manage my .cabal directly?
11:02:43 <SCombinator> this is for a small project of 3 people
11:03:09 <sm> if you're already used to it, I'd say yes. Keep your package.yaml if it's providing value, otherwise just edit .cabal directly
11:03:25 × dcoutts quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 246 seconds)
11:03:32 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
11:04:04 <sm> you might want to disable stack's ghc-installing and use ghcup for that
11:05:28 <sm> unless it's working just fine
11:05:44 <jackdk> I do not use stack or hpack (package.yaml) and do not miss anything they claim to provide *shrug*
11:06:12 <SCombinator> sm: wow lol i feel kinda stupid that I didn't think of forcing stack to use the ghcup installs
11:06:53 <sm> add use-system-ghc: true and install-ghc: false in ~/.stack/config.yaml, IIRC
11:07:56 <SCombinator> jackdk: oh wow...i just stuck to stack by habit because they forced it down our throats back when I was in uni...maybe i'll try the ghc+cabal approach again
11:08:11 <SCombinator> sm: thanks for the help! much appreciated
11:08:59 <jackdk> I think stack a) forced cabal to get a lot better and b) solved some very real problems at the time, but I don't find it compelling these days. Not when you can use cabal.project.freeze files
11:09:08 <sm> np. Lots of people like stack, lots of people don't like it. It is still easier than cabal for reproducibility.
11:09:37 <jackdk> Similarly, hpack: newer versions of the cabal file format let you DRY up large cabal files
11:09:52 <jackdk> I generally use nix for reproducibility
11:11:41 <SCombinator> jackdk: i'm realizing how little i know about cabal haha
11:11:57 <maerwald> sm: how so?
11:12:36 <SCombinator> jackdk: i've heard of nix but it honestly looks like another intimidating package manager for my already overpopulated system...is it worth it?
11:12:38 <sm> oh I don't have time for this debate yet again, I'm sorry :) got to eat
11:12:52 <maerwald> stack is harder for reproducibility
11:13:10 <maerwald> because it doesn't have a resolver, you're forced to a predefined set of packages
11:13:23 gehmehgeh is now known as gmg
11:13:25 <maerwald> cabal has a resolver and supports stackage
11:14:33 × chreekat2 quits (~b@80-254-69-77.dynamic.monzoon.net) (Ping timeout: 276 seconds)
11:15:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
11:15:16 <jackdk> SCombinator: nix is incredible but the learning curve is quite steep (but slowly improving). I put a lot of effort into learning NixOS when I started a previous job, because they weren't expecting me to be productive for a little while. I think if you're just starting to learn Haskell, stick with that. Nix is good for heaps of stuff but can come later.
11:15:35 <sm> I'll just say: stack introduced the term resolver, meaning a snapshot of compatible packages. cabal has a constraint solver, which is free to find any plan it can on a given day. This is a useful tool at times but it is the enemy of reproducibility.
11:16:02 <maerwald> sm: the term resolver is a joke even, because it doesn't have one ;)
11:16:10 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
11:17:18 <maerwald> sm: you're aware cabal can freeze a resolution?
11:17:24 <maerwald> how's that the enemy of reproducibility
11:18:57 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
11:19:09 <maerwald> in fact "reproducible" is pretty orthogonal to "curated package set"
11:19:21 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
11:19:44 gmg joins (~user@user/gehmehgeh)
11:19:59 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
11:22:41 <maerwald> SCombinator: no it's not worth it, unless you have very specific needs. And even then there are usually alternatives
11:22:44 <tdammers> a curated package set is one way you can achieve reproducible builds (or at least part of a strategy)
11:24:05 <maerwald> tdammers: well, a curated package set can be rolling, so...
11:24:11 <yushyin> but then you need a package that is not on stackage and you resort to hackage ...
11:24:12 mehlon joins (~mehlon@user/mehlon)
11:24:27 <mehlon> good day
11:24:59 shriekingnoise joins (~shrieking@201.231.16.156)
11:25:00 <maerwald> in fact that's what e.g. gentoo does: the stable branch *is curated*, but it's also rolling
11:29:46 <mehlon> so I am running a mapM_ function list but I think it stops running through the list when it hits an error, is there a way I can ignore the errors?
11:32:47 × alp quits (~alp@user/alp) (Ping timeout: 240 seconds)
11:34:32 alp joins (~alp@user/alp)
11:35:19 lyle joins (~lyle@104.246.145.85)
11:37:58 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
11:39:28 <tdammers> maerwald: right, you still need pinning
11:39:47 <tdammers> advantage of the curated package set is that you can just pin to a specific version of the entire package set
11:39:59 <maerwald> yeah... but tbf... stack does have better pinning. The old hackage revision debate
11:40:37 <maerwald> with cabal you pin the entire index state, not specific revisions
11:40:48 <maerwald> that doesn't make it less reproducible though
11:41:08 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06)
11:43:24 mbuf joins (~Shakthi@122.174.63.81)
11:45:31 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06) (Ping timeout: 258 seconds)
11:46:06 <mehlon> alright I figured it out, I just added a 'try' from Control.Exception to each function call
11:51:01 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
11:52:24 × qwedfg quits (~qwedfg@user/qwedfg) (Read error: Connection reset by peer)
11:56:54 qwedfg joins (~qwedfg@user/qwedfg)
11:57:45 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
11:58:32 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:00:33 <Benzi-Junior> http://ix.io/3ZL9 ignoring my issue with waiting for the threads to finish for now, when I run "runIO [ping,pong]" it doesn't seem to pass back and forth, I only get a single "Ping"
12:03:26 jonathanx_ joins (~jonathan@94.234.52.14)
12:03:49 <jackdk> maerwald: cabal freeze generates cabal.project.freeze - doesn't that get you specific package version pins?
12:04:09 <maerwald> jackdk: yes, but not *revisions*
12:04:28 <maerwald> https://github.com/haskell-infra/hackage-trustees/blob/master/revisions-information.md
12:04:42 <maerwald> they're a wart
12:05:00 <maerwald> reverse fixing stuff is almost always the wrong approach
12:06:13 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 258 seconds)
12:08:08 × acidjnk_new quits (~acidjnk@p200300d0c7068b72719872c4440223ec.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
12:09:43 <maerwald> it would already help if PVP was revision aware, but
12:10:04 <maerwald> now they're an infrastructure specific thing
12:12:25 user__ joins (~mehlon@user/mehlon)
12:12:43 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
12:13:10 × mehlon quits (~mehlon@user/mehlon) (Remote host closed the connection)
12:13:27 <Benzi-Junior> I suspect the issue is with my implementation of receive
12:13:34 × user__ quits (~mehlon@user/mehlon) (Client Quit)
12:16:15 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
12:17:30 noteness joins (~noteness@user/noteness)
12:19:24 dcoutts joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
12:20:15 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Ping timeout: 244 seconds)
12:20:48 <Benzi-Junior> huh
12:21:27 × dcoutts_ quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 240 seconds)
12:21:40 <Benzi-Junior> turns out I have a race condition problem
12:21:57 dcoutts_ joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
12:21:57 × dcoutts__ quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 260 seconds)
12:24:45 × coot quits (~coot@213.134.190.95) (Quit: coot)
12:24:57 <Benzi-Junior> somehow each thread isn't keeping balance between sending and receiving
12:27:03 × SCombinator quits (~SCombinat@118.179.211.17) (Quit: Client closed)
12:27:33 xff0x joins (~xff0x@2405:6580:b080:900:c0b4:77d6:672c:4cc)
12:28:16 MajorBiscuit joins (~MajorBisc@wlan-145-94-166-231.wlan.tudelft.nl)
12:37:02 <Benzi-Junior> so I'm ending with both threads waiting for something to eb put into the channel
12:38:00 __monty__ joins (~toonn@user/toonn)
12:47:10 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
12:49:05 acidjnk_new joins (~acidjnk@p200300d0c7068b72c8bc739f4cc151f2.dip0.t-ipconnect.de)
12:49:14 dcoutts__ joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
12:51:35 × dcoutts_ quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 256 seconds)
12:51:56 × dcoutts quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 255 seconds)
12:52:09 dcoutts joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
12:56:11 nate3 joins (~nate@98.45.169.16)
13:01:13 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds)
13:18:56 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
13:20:15 <tdammers> maerwald: yeah, the thing revisions do, that's actually what the 4th part of a PVP version number would be perfect for
13:21:37 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
13:21:46 <maerwald> tdammers: I prefer -rX, because tools will treat those different from other version components
13:22:17 <maerwald> if you request 3.0.0 it's supposed to pick the one with the highest revision
13:22:37 <maerwald> can be a little confusing this exception
13:24:31 <maerwald> and there's also a quirk in PVP wrt 3.0.0 vs 3.0.0.0
13:25:24 Sgeo joins (~Sgeo@user/sgeo)
13:26:03 <maerwald> well, not quirk, but https://github.com/haskell/pvp/issues/36
13:28:41 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
13:28:54 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
13:30:41 azimut joins (~azimut@gateway/tor-sasl/azimut)
13:30:58 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
13:32:04 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Remote host closed the connection)
13:32:15 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
13:42:00 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5)
13:42:52 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06)
13:44:12 coot joins (~coot@213.134.190.95)
13:44:13 × Vajb quits (~Vajb@n5ar9yynwxqg80e32-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
13:44:20 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
13:45:42 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
13:46:04 CiaoSen joins (~Jura@p200300c95738d2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
13:46:17 × pmk quits (~user@2a02:587:9418:69b8:b896:d770:251d:c4d7) (Read error: Connection reset by peer)
13:47:00 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:47:46 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06) (Ping timeout: 272 seconds)
13:49:05 zebrag joins (~chris@user/zebrag)
13:49:35 pmk joins (~user@2a02:587:9418:69b8:b896:d770:251d:c4d7)
13:50:05 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:50:05 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:50:05 wroathe joins (~wroathe@user/wroathe)
13:50:50 × tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 240 seconds)
14:00:43 cfricke joins (~cfricke@user/cfricke)
14:06:55 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
14:08:23 Teacup joins (~teacup@user/teacup)
14:13:56 <oats> https://haskle.net/
14:13:58 <oats> this is delightful
14:14:52 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds)
14:15:28 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
14:20:50 defanor_ is now known as defanor
14:24:50 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 240 seconds)
14:25:56 Vajb joins (~Vajb@85-76-5-232-nat.elisa-mobile.fi)
14:26:46 <Benzi-Junior> can anyone see how my code is running into a race condition http://ix.io/3ZL9
14:27:37 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
14:28:04 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Remote host closed the connection)
14:29:09 Teacup joins (~teacup@user/teacup)
14:29:19 <Benzi-Junior> the problem has to be with my application of "atomically" because I'm ending up with an empty TChan and both threads trying to read from it
14:30:16 × Vajb quits (~Vajb@85-76-5-232-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
14:30:58 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
14:31:31 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
14:31:35 <geekosaur> can't tell about that but I see you got caught by threadDelay being in microseconds; you're delaying for 10ms instead of 1s
14:31:47 <geekosaur> (maybe you intended that and the comments are wrong?)
14:33:26 <Benzi-Junior> geekosaur, ye the intervals for threadDelay are all just, what was convenient for testing
14:33:29 BusConscious joins (~martin@ip5f5bdee2.dynamic.kabel-deutschland.de)
14:33:44 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
14:33:46 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
14:34:23 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
14:34:54 × cheater quits (~Username@user/cheater) (Quit: (BitchX) Mr. Rogers uses BitchX. Won't you be my neighbor?)
14:35:10 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
14:35:39 cheater joins (~Username@user/cheater)
14:36:18 <geekosaur> aside from that, I think you might have a misunderstanding of TChan
14:37:28 kenran joins (~kenran@200116b82bb85a00e08a64920c7e7441.dip.versatel-1u1.de)
14:37:32 <[Leary]> It might help to broadcast before the delay. Or to peek or unget values you didn't want. Or both.
14:38:54 <geekosaur> if the ping agent receives its own message, the pong agent won't receive it, and vice versa. there are broadcast channels that work that way but you seem to be using an ordinary TChan
14:39:12 <geekosaur> there's a broadcast TChan in the smae place but note how you have to use it
14:39:26 <geekosaur> (also there's no …IO version)
14:39:29 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds)
14:41:18 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
14:43:13 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
14:43:33 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
14:48:35 ec_ joins (~ec@gateway/tor-sasl/ec)
14:49:12 × xff0x quits (~xff0x@2405:6580:b080:900:c0b4:77d6:672c:4cc) (Ping timeout: 272 seconds)
14:49:15 <BusConscious> When writing my unix shell, should I parse directly into a IO monad (ShellEnv monad transformer on IO to be precise) instead of an AST?
14:49:29 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
14:49:34 × dcoutts__ quits (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 244 seconds)
14:49:54 <BusConscious> I could have all the benefits of having IO and parsing being seperated, while not having to recursively traverse an AST
14:50:23 <BusConscious> As a Haskell newcomer this legitimately blows my mind rn
14:53:30 × kenran quits (~kenran@200116b82bb85a00e08a64920c7e7441.dip.versatel-1u1.de) (Quit: WeeChat info:version)
14:59:25 <BusConscious> What would be the downsides to that approach? My monad being less comprohensible than an AST?
14:59:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
14:59:39 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
15:00:00 slack1256 joins (~slack1256@186.11.84.227)
15:00:14 × yosef` quits (~user@user/yosef/x-2947716) (Remote host closed the connection)
15:00:28 yosef` joins (~user@user/yosef/x-2947716)
15:00:36 × CiaoSen quits (~Jura@p200300c95738d2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
15:02:19 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
15:02:26 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
15:02:40 slac51054 joins (~slack1256@191.126.227.214)
15:03:55 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
15:04:32 Karel joins (~Karel@ptr-9091p57aekjr6i5k27f.18120a2.ip6.access.telenet.be)
15:05:17 × slack1256 quits (~slack1256@186.11.84.227) (Ping timeout: 260 seconds)
15:05:27 <lortabac> BusConscious: what do you mean by "parsing into an IO monad"? parsing the shell commands into IO actions without an intermediate data type?
15:06:10 <BusConscious> yes precisely
15:06:50 <lortabac> an intermediate structure allows you to introspect and/or optimize the commands
15:07:02 <lortabac> and it's probably easier to work with
15:07:24 <lortabac> but of course it depends on what exactly you are doing
15:08:11 <BusConscious> ok you can do some intermediate optimizations on that tree
15:08:34 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:09:31 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
15:09:45 <Karel> I'm looking for a blog post I read a couple of years ago, I think it references haskell quite a bit but it wasn't primarily about the language itself. I've been trying to find it for a while how, hopefully someone here remembers it:
15:09:45 <Karel> The core idea was that when devs compare programming languages, when they look down towards lower level languages they see obvious definciencies, but when they look upwards to higher level languages they don't see the advantages and just think "huh, that's strange".
15:10:00 <BusConscious> But with my unix shell, I'm not really sure, if I really need that. I certainly don't need it on the level of word expansions, where I originally came up with that approach, but in the parsing stage?
15:10:09 <BusConscious> I'm not really sure tbh
15:10:25 <geekosaur> an intermediate structure also helps you figure out beforehand what other forkProcess operations you need (consider `someOperation | while read line; do ... done`, where that `while` loop potentially needs to be in a subshell)
15:10:57 <lortabac> BusConscious: even if you don't need it right now, you don't lose anything by introducing an extra step, and it might be handy in case you need extra functionality
15:10:59 <geekosaur> in particular you'll need a separate subprocess if it is itself part of a longer pipeline and not the end of it
15:11:15 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.5)
15:11:39 <geekosaur> Karel, I'd ask that on reddit or the discourse, I think
15:11:59 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
15:12:19 <BusConscious> lortabac: fair point I will probably stick with an AST for parsing the shell grammar
15:12:29 <Karel> geekosaur, Yeah good idea!
15:13:02 <BusConscious> But I will use the parsing directly to IOMonads approach when parsing words for word expansions at runtime
15:13:10 <BusConscious> this seems like a sensible compromise
15:13:49 <lortabac> IIRC PHP didn't have an AST at the beginning (opcodes were emitted directly during parsing), then they realized it was a bad idea
15:13:58 self-similar joins (~self-simi@2a02:2f04:c102:7000:e1d5:67a5:1a81:e6df)
15:16:06 <geekosaur> well, php wasn't intended to be a language at first, just a macro processor that produced perl
15:18:46 × self-similar quits (~self-simi@2a02:2f04:c102:7000:e1d5:67a5:1a81:e6df) (Read error: Connection reset by peer)
15:19:13 self-similar joins (~self-simi@2a02:2f04:c102:7000:e1d5:67a5:1a81:e6df)
15:20:44 <self-similar> hi everyone !
15:23:44 × coot quits (~coot@213.134.190.95) (Quit: coot)
15:23:56 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
15:24:15 <geekosaur> hello
15:25:53 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Remote host closed the connection)
15:26:10 × jonathanx_ quits (~jonathan@94.234.52.14) (Ping timeout: 240 seconds)
15:26:11 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
15:27:08 <Bulby[m]> i'm really disapointed with the error capabilities of parser-combinators' Control.Monad.Combinators.Expr
15:27:58 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
15:29:58 ec_ joins (~ec@gateway/tor-sasl/ec)
15:32:08 × yosef` quits (~user@user/yosef/x-2947716) (Ping timeout: 255 seconds)
15:33:58 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5)
15:35:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
15:35:52 <Karel> Someone on reddit has found what I was looking for already, it was called "the Blub Paradox": https://wiki.c2.com/?BlubParadox
15:36:00 <c_wraith> Bulby[m]: my experience with parser-combinators is that the maintainers are pretty responsive. I asked them to reimplement a whole feature once to improve it slightly, and it got done in about a week. They might be equally responsive to another report with some concrete suggestions of what additional stuff you're looking for.
15:38:43 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
15:38:49 coot joins (~coot@213.134.190.95)
15:39:26 × self-similar quits (~self-simi@2a02:2f04:c102:7000:e1d5:67a5:1a81:e6df) (Remote host closed the connection)
15:41:59 <Bulby[m]> https://craftinginterpreters.com/appendix-i.html#expressions is this grammar even parsable by it
15:42:06 <Bulby[m]> specifically expressions
15:44:43 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06)
15:45:25 <c_wraith> it doesn't look like what the expression parser is intended to handle. Portions of it could be, but you'd have to rewrite them significantly from that form.
15:45:45 <Bulby[m]> yeah, figures
15:47:14 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
15:48:13 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
15:49:12 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06) (Ping timeout: 248 seconds)
15:53:20 slack1256 joins (~slack1256@186.11.84.227)
15:53:34 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:54:31 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
15:54:32 <c_wraith> but the grammar there is already factored to build in associativity and precedence
15:55:10 × slac51054 quits (~slack1256@191.126.227.214) (Ping timeout: 240 seconds)
15:55:39 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
15:57:02 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
15:57:08 kaskal- joins (~kaskal@2001:4bb8:2e8:3abf:bc97:9581:8b80:8f4b)
15:57:46 × kaskal quits (~kaskal@089144209011.atnat0018.highway.a1.net) (Ping timeout: 246 seconds)
15:59:00 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
15:59:32 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
16:00:51 <Bulby[m]> writing my own chainl1, it's actually fairly easy to work with
16:03:36 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 248 seconds)
16:03:38 dyeplexer joins (~dyeplexer@user/dyeplexer)
16:03:59 kenran joins (~kenran@200116b82bb85a007f00c59d6ba2f8c0.dip.versatel-1u1.de)
16:05:15 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
16:06:10 × coot quits (~coot@213.134.190.95) (Quit: coot)
16:06:31 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Read error: Connection reset by peer)
16:07:18 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
16:08:23 dyeplexer joins (~dyeplexer@user/dyeplexer)
16:12:44 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Read error: Connection reset by peer)
16:13:44 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
16:14:34 <kronicma1> Anyone know how I can make Cont work with freer-simple?
16:14:59 × arkeet quits (arkeet@moriya.ca) (Ping timeout: 240 seconds)
16:15:01 <kronicma1> I can't seem to implement `Eff (Cont r ': effs) ~> Eff effs` in any reasonable way
16:16:15 z0k joins (~z0k@206.84.142.123)
16:17:14 noteness joins (~noteness@user/noteness)
16:18:35 dyeplexer joins (~dyeplexer@user/dyeplexer)
16:19:12 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
16:22:40 arkeet joins (arkeet@moriya.ca)
16:22:48 × arkeet quits (arkeet@moriya.ca) (Client Quit)
16:22:52 motherfsck joins (~motherfsc@user/motherfsck)
16:23:47 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 240 seconds)
16:24:07 trisolaran joins (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
16:24:16 arkeet joins (arkeet@moriya.ca)
16:26:18 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
16:27:07 ec_ joins (~ec@gateway/tor-sasl/ec)
16:29:54 × DNH quits (~DNH@2a02:8108:1100:16d8:d5e4:216a:268c:a812) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:30:26 DNH joins (~DNH@2a02:8108:1100:16d8:d5e4:216a:268c:a812)
16:30:40 × DNH quits (~DNH@2a02:8108:1100:16d8:d5e4:216a:268c:a812) (Client Quit)
16:34:31 × MajorBiscuit quits (~MajorBisc@wlan-145-94-166-231.wlan.tudelft.nl) (Ping timeout: 246 seconds)
16:35:29 arjun joins (~arjun@user/arjun)
16:36:11 dyeplexer joins (~dyeplexer@user/dyeplexer)
16:36:58 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:54fe:417d:8656:9d4e) (Quit: WeeChat 2.8)
16:37:26 DNH joins (~DNH@2a02:8108:1100:16d8:d5e4:216a:268c:a812)
16:38:21 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:38:30 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
16:39:43 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Read error: Connection reset by peer)
16:40:14 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
16:40:27 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
16:41:46 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06)
16:43:11 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
16:43:18 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
16:43:40 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:45:08 Teacup joins (~teacup@user/teacup)
16:47:25 <slack1256> I got a Stream (well it is a list), that I want to guarrantee it won't be shared anywhere on the program. Otherwise the stream behaviour I specify will be stored on memory once the first consumer run. What are my options here? Can I use the newer linear type extensions for this?
16:48:25 <c_wraith> how strong of a guarantee?
16:49:23 <slack1256> I don't know how to measure guarantee. But if I get a some examples on how to do it, maybe I can compare them.
16:49:26 × acidjnk_new quits (~acidjnk@p200300d0c7068b72c8bc739f4cc151f2.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
16:49:36 <c_wraith> because anything type-based doesn't guarantee a lack of unsafeCoerce shenanigans
16:49:36 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
16:49:38 <slack1256> I was thinking on a Rank2Type trick like ST to guarrantee an scope of validity.
16:49:50 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
16:49:51 <slack1256> s_an_a.
16:50:11 <c_wraith> but yes, a higher-rank trick is the usual approach.
16:51:33 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
16:51:50 <slack1256> I was thinking on some definition annotation that will tell GHC to not "let float" or share this value. That way I can tag the initial producer of the stream.
16:53:06 <slack1256> I usually keep in mind "who is the end consumer of this pipeline" and who is the "producer". That way the pipeline of functions work well with the demand analyzer on GHC and I get good consistent behaviour. But that trick can be done better if I can get this guarrantee.
16:53:15 Teacup joins (~teacup@user/teacup)
16:54:32 slac77221 joins (~slack1256@191.125.227.72)
16:54:44 <slac77221> Oh, I changed network, but I am slack1256.
16:57:42 nate3 joins (~nate@98.45.169.16)
16:58:05 <c_wraith> I'm a bit concerned about how important you are describing this as.
16:58:24 × slack1256 quits (~slack1256@186.11.84.227) (Ping timeout: 276 seconds)
16:59:06 <c_wraith> Are you doing something unsafe and trying to make it safe by carefully controlling consumption?
16:59:55 <sm> Karel: sounds like the blub paradox by Paul Graham ?
17:00:22 <sm> ack answered, missed it
17:00:59 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
17:01:14 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds)
17:01:31 [_] is now known as [itchyjunk]
17:02:31 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
17:04:13 × Kaiepi quits (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
17:04:21 zeenk joins (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806)
17:04:38 Kaiepi joins (~Kaiepi@156.34.47.253)
17:05:06 <Karel> sm, Yeah, thanks though!
17:05:16 × Kaiepi quits (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
17:05:40 Kaiepi joins (~Kaiepi@156.34.47.253)
17:07:43 × pottsy quits (~pottsy@129.227.183.244) (Ping timeout: 265 seconds)
17:08:02 pottsy joins (~pottsy@129.227.183.244)
17:09:33 dyeplexer joins (~dyeplexer@user/dyeplexer)
17:11:21 vicfred joins (~vicfred@user/vicfred)
17:12:58 <BusConscious> quick Q: what does the second SourceName type parameter in parse (Text.Parsec) represent and how does it choice affect parse?
17:13:53 × kaskal- quits (~kaskal@2001:4bb8:2e8:3abf:bc97:9581:8b80:8f4b) (Quit: ZNC - https://znc.in)
17:14:10 kaskal joins (~kaskal@089144209011.atnat0018.highway.a1.net)
17:15:53 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
17:18:14 jgeerds joins (~jgeerds@55d45f48.access.ecotel.net)
17:18:20 <Bulby[m]> can i specifically hide all constructors of a data type
17:18:22 <Bulby[m]> when importing
17:19:16 <geekosaur> put the type in the import list by itself
17:19:52 <geekosaur> Foo is just the type, Foo(Ctor[, Ctor…]) is a list of data constructors, Foo(..) is all data constructors
17:21:04 <sm> import Module (Type()) is it ?
17:21:42 × bjobjo quits (~bjobjo@user/bjobjo) (Quit: leaving)
17:22:32 <Bulby[m]> \o/
17:22:33 <Bulby[m]> no
17:22:38 <geekosaur> import Module (Type)
17:22:45 <Bulby[m]> but that only imports the type
17:22:50 <Bulby[m]> I mean import everything, except the constructors of the type
17:22:58 <geekosaur> as every new Haskeller learns when they forget the (..) to import all ctors)
17:23:04 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
17:23:06 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06) (Remote host closed the connection)
17:23:19 <geekosaur> wait, you want the data ctors but not the type ctor? that's useless
17:23:33 k8yun joins (~k8yun@user/k8yun)
17:23:34 <geekosaur> you can't refer to the data ctors you imported without the type
17:24:02 dcoutts__ joins (~duncan@host86-144-78-203.range86-144.btcentralplus.com)
17:27:22 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
17:28:20 × danso quits (danso@danso.ca) (Quit: ZNC - https://znc.in)
17:28:48 <geekosaur> Bulby[m], why do you think you want untyped data constructors? Aside from the fact that you're translating from Java where they would have a "type" (every type inherits from java.lang.Object)
17:29:38 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a4d3:9794:7d08:2a06)
17:30:16 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
17:31:33 danso joins (~danso@danso.ca)
17:34:05 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 255 seconds)
17:34:07 Tuplanolla joins (~Tuplanoll@91-159-69-1.elisa-laajakaista.fi)
17:34:10 bjobjo joins (~bjobjo@user/bjobjo)
17:34:19 cods joins (~fred@82-65-232-44.subs.proxad.net)
17:34:43 econo joins (uid147250@user/econo)
17:34:57 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:88ad:201e:ada:568e) (Remote host closed the connection)
17:37:18 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
17:37:23 × kaskal quits (~kaskal@089144209011.atnat0018.highway.a1.net) (Quit: ZNC - https://znc.in)
17:37:44 kaskal joins (~kaskal@2001:4bb8:2e8:3abf:bc97:9581:8b80:8f4b)
17:39:46 Pickchea joins (~private@user/pickchea)
17:40:52 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
17:41:46 <sm> maybe add a import Module hiding (Type)
17:42:47 <geekosaur> maybe that's what they mean. I don't think they can mean the other as ghc can't touch the data ctors without having a type for them
17:48:08 × slac77221 quits (~slack1256@191.125.227.72) (Ping timeout: 248 seconds)
17:48:43 slack1256 joins (~slack1256@191.126.99.206)
17:50:43 janschneider[m] joins (~janschnei@2001:470:69fc:105::1:7625)
17:51:50 <slack1256> c_wraith: Not something unsafe. But perfomance will suffer if I share this stream and the values are retained in memory.
17:52:31 × zaquest quits (~notzaques@5.130.79.72) (Read error: Connection reset by peer)
17:53:14 × k8yun quits (~k8yun@user/k8yun) (Quit: Leaving)
17:54:01 × kaskal quits (~kaskal@2001:4bb8:2e8:3abf:bc97:9581:8b80:8f4b) (Ping timeout: 244 seconds)
17:59:55 Karel_ joins (~Karel@d51a4910f.access.telenet.be)
17:59:55 × Karel quits (~Karel@ptr-9091p57aekjr6i5k27f.18120a2.ip6.access.telenet.be) (Killed (osmium.libera.chat (Nickname regained by services)))
17:59:55 Karel_ is now known as Karel
18:00:58 × m1dnight quits (~christoph@78-22-9-5.access.telenet.be) (Ping timeout: 246 seconds)
18:02:08 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
18:02:34 Batzy joins (~quassel@user/batzy)
18:03:03 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
18:03:34 m1dnight joins (~christoph@78-22-9-5.access.telenet.be)
18:03:39 chexum joins (~quassel@gateway/tor-sasl/chexum)
18:04:45 × slack1256 quits (~slack1256@191.126.99.206) (Read error: Connection reset by peer)
18:05:03 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:05:22 slack1256 joins (~slack1256@186.11.84.227)
18:06:41 <Bulby[m]> hm, how would you handle `this` in classes with a heap
18:06:52 jakalx joins (~jakalx@base.jakalx.net)
18:07:39 <geekosaur> depends. some pass it as a hidden parameter
18:07:47 <Bulby[m]> I guess pass it as an arg?
18:08:45 zaquest joins (~notzaques@5.130.79.72)
18:09:10 × mbuf quits (~Shakthi@122.174.63.81) (Quit: Leaving)
18:11:46 kaskal joins (~kaskal@2001:4bb8:2d3:39b7:6dc3:9794:9538:b6b)
18:14:39 <Bulby[m]> the "javaism" is binding to it, which sounds sort of sane
18:14:41 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:15:24 × YoungFrog quits (~youngfrog@2a02:a03f:c21b:f900:6013:240:b757:7b6f) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
18:15:39 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:15:43 YoungFrog joins (~youngfrog@2a02:a03f:c21b:f900:4407:6901:d62:3299)
18:16:59 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
18:21:30 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
18:24:18 unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
18:38:58 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
18:40:22 × trisolaran quits (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds)
18:44:31 <Bulby[m]> users would expect `var foo = new Foo(); var bar = foo; bar.field = "foo"; print foo.field;` to print "foo", right?
18:44:32 <Bulby[m]> i.e. instances are stored by reference
18:45:06 <geekosaur> generally yes, but consider copy constructors in C++
18:45:09 <Bulby[m]> haxe does it that way, and it would make the implementation easier
18:46:29 <geekosaur> (of course C++ complicates things by having struct/class be non-reference, plus references and pointers which aren't the same thing)
18:46:49 <geekosaur> but `this` is implicitly a reference
18:46:52 ashln joins (~ashln@98.38.236.123)
18:47:41 × kenran quits (~kenran@200116b82bb85a007f00c59d6ba2f8c0.dip.versatel-1u1.de) (Quit: WeeChat info:version)
18:48:03 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
18:49:17 <Bulby[m]> what would be expected for `var foo = new Foo(); var bar = foo; foo = 1; print bar;` should it print "instance Foo"?
18:49:31 <Bulby[m]> i.e. something changes when assigning?
18:49:34 <Bulby[m]> because that borks a lot of the scope
18:49:53 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
18:50:49 <geekosaur> seems to me that bar should be the object and foo should be 1, at the end of that
18:50:59 Batzy joins (~quassel@user/batzy)
18:51:18 <Bulby[m]> yes, which is what I expected
18:51:26 <Bulby[m]> this compilicates things
18:51:30 × jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds)
18:51:32 <geekosaur> if that breaks something then you may need to rethink things; you should simply be reassigning heap "pointers"
18:53:09 <Bulby[m]> as in memory when assigning `foo = 1;` I would have to define a new heap value of 1 to keep bar intact
18:53:33 <geekosaur> yes. which might mean deciding whether numbers are objects
18:53:46 <Bulby[m]> and expressions aren't really meant to edit the stack, which is what would have to happen
18:54:49 <geekosaur> hm, would it? object references might simply be 2-level
18:55:20 <geekosaur> possibly with their own heap
18:56:17 <geekosaur> this might mean runtime type information so you know when that happens, though, otherwise you might treat an object reference as a number or something
18:57:02 <geekosaur> the more common approach is everything is an object, so `1.add(2)` would be meaningful
18:57:57 <geekosaur> and every heap reference is then depth 2, once for the object reference and the second for the actual value
18:58:31 <geekosaur> (or the java approach where primitive unboxed types are still depth 1, but that complicates things considerably)
18:59:04 coot joins (~coot@213.134.190.95)
19:00:47 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
19:02:19 Teacup joins (~teacup@user/teacup)
19:04:30 acidjnk_new joins (~acidjnk@p200300d0c7068b72c8bc739f4cc151f2.dip0.t-ipconnect.de)
19:05:43 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Read error: Connection reset by peer)
19:05:53 \yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
19:07:03 <geekosaur[m]> Come to think of it, your vars need RTTI anyway, you just add a new "ref" type
19:07:13 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
19:09:21 × \yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Read error: Connection reset by peer)
19:09:27 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
19:16:20 × alp quits (~alp@user/alp) (Ping timeout: 252 seconds)
19:20:00 alp joins (~alp@user/alp)
19:21:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
19:22:06 × arjun quits (~arjun@user/arjun) (Quit: tip toe-ing my way outta here)
19:26:38 × TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye)
19:26:55 <geekosaur> oh, hm, if the type is stored in the var instead of the value then that still edits the stack I guess. unless the vars are 2-level ({type, value})
19:27:41 <geekosaur> but if you don't do that you still hit this with `var foo = 1; foo = "a"`
19:28:09 <geekosaur> types of course avoid this, but Lox is untyped
19:32:25 TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667)
19:33:17 × zeenk quits (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) (Quit: Konversation terminated!)
19:34:30 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds)
19:36:27 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
19:36:34 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
19:42:37 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
19:44:14 Guest27 joins (~Guest27@2601:281:d47f:1590::59a2)
19:50:16 × Pickchea quits (~private@user/pickchea) (Ping timeout: 244 seconds)
19:52:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
19:52:54 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
19:54:25 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5)
19:55:50 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 240 seconds)
19:57:39 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
19:59:15 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
19:59:26 × martin02 quits (~silas@141.84.69.76) (Ping timeout: 255 seconds)
20:01:47 <Bulby[m]> yes, a new ref value would make sense
20:02:04 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 246 seconds)
20:02:29 Kaiepi joins (~Kaiepi@156.34.47.253)
20:02:30 × lyle quits (~lyle@104.246.145.85) (Quit: WeeChat 3.5)
20:02:36 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
20:03:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
20:03:46 trisolaran joins (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
20:05:54 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
20:06:09 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
20:10:31 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
20:12:17 martin02 joins (~silas@141.84.69.76)
20:14:24 <EvanR> java, the best dynamically typed language
20:14:43 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:14:48 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:14:58 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
20:16:47 <Henson> does anybody have any recommendations for Haskell consulting firms?
20:17:50 <geekosaur> the only one I'm aware of is well-typed, and they may be outside your spending range
20:17:59 <geekosaur> (that doesn't prove there aren't others)
20:20:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
20:21:24 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
20:22:34 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:26:33 <Henson> geekosaur: is well-typed really expensive?
20:26:59 <geekosaur> don't really know but I kinda expect consultants to be up there
20:27:26 <geekosaur> and they gotta be able to fund something like half the folks involved with ghc dev somehow :)
20:28:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
20:28:04 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
20:28:45 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:29:06 slac32089 joins (~slack1256@191.126.227.204)
20:29:18 <Bulby[m]> wtf you can't even derive eq, ord, or show for GADTs
20:30:27 <sclv> there's a ton of haskell consulting firms these days actually. i don't know much about them as firms, but i know people in them -- tweag, stackbuilders, obsidian, serokell are all some bigger names
20:30:28 <Bulby[m]> why are gadts so painufl
20:30:39 <geekosaur> you can't derive through an existential. rarely you can use standalone deriving, but most of the time the existential prevents you from doing much of anything
20:31:05 <geekosaur> because it has no knowable type from the outside
20:31:20 × slack1256 quits (~slack1256@186.11.84.227) (Ping timeout: 248 seconds)
20:31:23 <sclv> oh i guess monadfix is a notable consultancy too, among many others im sure im omitting
20:32:42 <sclv> Henson: as for which is right for you, i'd look at the projects of each and see what seems most suited to the sorts of things you need.
20:33:18 <sclv> if you use gadts for type indexing rather than existentials you can get pretty far
20:33:22 <sclv> with standalone deriving
20:33:29 <EvanR> GADTs are sort of the beginning of your ability to use logic, and then logic comes back with a vengance
20:33:37 <Henson> sclv: thank you for the names, I'll take a look into them
20:33:45 littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:33:48 <EvanR> poetically we have no one but ourselves to blame
20:34:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
20:34:21 <EvanR> other programming languages manage to get things done by being illogical
20:34:48 Guest9 joins (~Guest9@109.206.198.75)
20:35:34 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
20:36:15 × trisolaran quits (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
20:36:42 stackdroid18 joins (14094@user/stackdroid)
20:41:00 <Bulby[m]> you can standalone derive, but why can't you just uh derive
20:41:30 <Bulby[m]> i also wish there was wizardry that let generic work
20:42:13 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Remote host closed the connection)
20:42:16 <sclv> thats actually a really good question -- vis a vis deriving. generics you need a different lib/approach, but it _should_ be that if you can standalone derive it you should be able to just derive it. i think that's probably something that could be worked out more carefully into a ghc proposal
20:42:19 causal joins (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e)
20:44:34 azimut joins (~azimut@gateway/tor-sasl/azimut)
20:47:06 × alp quits (~alp@user/alp) (Ping timeout: 250 seconds)
20:50:56 × Guest9 quits (~Guest9@109.206.198.75) (Quit: Client closed)
20:54:09 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
20:54:44 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:56:56 pavonia joins (~user@user/siracusa)
20:57:04 × littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
20:57:19 × kjak quits (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
20:58:25 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Ping timeout: 246 seconds)
20:58:28 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
20:58:52 × dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
20:59:13 nate3 joins (~nate@98.45.169.16)
20:59:48 zeenk joins (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806)
21:00:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
21:00:31 ClathomasPrime joins (~Clathomas@pool-98-110-124-224.cmdnnj.fios.verizon.net)
21:00:49 × pmk quits (~user@2a02:587:9418:69b8:b896:d770:251d:c4d7) (Remote host closed the connection)
21:01:25 yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
21:02:31 <ClathomasPrime> Hello! I'm trying to edit a big string by performing a function on every place in the string which matches a simple regex. It was looking like the replace-megaparsec function streamEdit is just what I need, but I can't figure out how to convert my simple regex to a Parsec
21:02:53 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Ping timeout: 255 seconds)
21:02:58 <geekosaur> I think part of the problem there is the specifications for deriving those instances are from the Report and would require an extension. it's a good question whether that should be enabled by standalone deriving or if another extension would be needed to produce non-Report deriving code
21:03:23 <ClathomasPrime> The regex is just "<br>[^<]*</td>", and I'd like to run the function on everything which matches the [^<]*
21:03:25 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
21:04:01 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds)
21:05:19 × coot quits (~coot@213.134.190.95) (Quit: coot)
21:05:23 <geekosaur> this is parsing and you do it by parsing the string with parse or parseMaybe https://hackage.haskell.org/package/megaparsec-9.2.1/docs/Text-Megaparsec.html
21:05:57 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:06:05 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
21:06:50 × slac32089 quits (~slack1256@191.126.227.204) (Read error: Connection reset by peer)
21:07:39 <ClathomasPrime> how is a "search and replace" type of operation a special case of parsing?
21:07:46 slack1256 joins (~slack1256@186.11.84.227)
21:08:23 <geekosaur> `parsing` is how you get that `Parsec` thing you wanted
21:09:31 kjak joins (~kjak@pool-108-31-68-111.washdc.fios.verizon.net)
21:09:41 <Bulby[m]> i want to do something like rust
21:09:46 <Bulby[m]> with resource allocation and freeing
21:09:56 <Bulby[m]> "RAII" as the C++ crew calls it
21:11:14 <geekosaur> isn't this ResourceT?
21:11:54 <int-e> :t Control.Exception.bracket
21:11:55 <lambdabot> IO a -> (a -> IO b) -> (a -> IO c) -> IO c
21:12:02 <geekosaur> ClathomasPrime, also regexes are simple parsers
21:12:20 <dsal> regexes are parser whose input needs to be parsed so they can parse their input
21:13:46 <ClathomasPrime> I think I understand in theory. But I can't figure out how make a Parsec which matches in the same way as the regex "<br>[^<]*</td>"
21:15:20 <dsal> So, you're looking for text that starts with a <br> and satisfies `not . (== '<')` followed by </td> ?
21:15:25 adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan)
21:16:04 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
21:16:22 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
21:16:51 <ClathomasPrime> yes (with the longest possible string of not . (== '<'))
21:16:54 <dsal> You can use `between` with `(string "<br>") (string "</td>")` for anything satisfying `not . (== '<')`
21:17:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
21:17:48 <EvanR> do any of the regex libs in haskell simply have this sort of find and replace
21:18:00 <geekosaur> `string "br" *> manyTill anyChar '<' <* string "</td>"` ?
21:18:06 <EvanR> i.e. what everyone uses regex for
21:18:14 azimut joins (~azimut@gateway/tor-sasl/azimut)
21:18:19 <geekosaur> probably not. I sometimes think thye regex api in haskell was designed to drive people away
21:18:41 <dsal> I tried a thing with regex before I learned how to do parsec things and had a very bad time.
21:18:50 <geekosaur> because you're "supposed to" write a parser
21:18:54 <dsal> The worst part was async exceptions.
21:19:13 <Guest27> Just write a Haskell function that takes a String and passes it to sed as a script :P
21:19:13 <EvanR> so regexen need some love in haskell
21:19:22 <hpc> i mean, a regex is basically just a non-recursive parsec parser
21:19:33 <EvanR> that is orders of magnitude shorter in code xD
21:20:04 <dsal> megaparsec code is generally easier to read and gives much better error messages when things go wrong.
21:20:10 <EvanR> and doesn't explain the find and replace part
21:20:13 <EvanR> parsec
21:20:27 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
21:20:52 <EvanR> yeah a formal parser you want to reuse is better in fooparsec
21:21:03 <dsal> I've not looked at replace-megaparsec
21:21:57 <EvanR> a book just came in the mail which does input validation in increasingly haskelly and safer ways. Maybe someone should write such a book on "find and replace" xD
21:22:57 <geekosaur> hm, I think a pair of <> got et earlier
21:23:11 <EvanR> Bulby[m], now you need linear types!
21:24:53 Pickchea joins (~private@user/pickchea)
21:25:07 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Ping timeout: 258 seconds)
21:25:52 <geekosaur> `string "<br>" *> manyTill anyChar '<' <* string "/td>"` I think
21:26:25 alp joins (~alp@user/alp)
21:29:16 <ClathomasPrime> thank you geekosaur! It looks right for Parsec. I have to also convert it to MegaParsec though, and now I'm having trouble there. Trying though
21:30:01 <geekosaur> you may have to import Control.Applicative.Combinators
21:30:02 <dsal> Does that not work for megaparsec? Do you have a particular error?
21:30:43 <geekosaur> (the functionality was separated out because it's actually in common with a bunch of other parsers)
21:32:01 <dsal> I think `manyTill` wants a parser for the second function. So like `manyTill anyChar (single '<')`
21:32:11 <dsal> er, param. I should take a nap.
21:32:18 <geekosaur> mm, yes, sorry
21:32:34 <geekosaur> or `char` instead of `single` should work I think
21:33:20 <dsal> Yeah, that looks better.
21:33:30 <ClathomasPrime> It looks like "import Text.Megaparsec" doesn't bring in the functions string or anyChar
21:33:37 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
21:33:47 <dsal> https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec-Char.html
21:33:51 jmdaemon joins (~jmdaemon@user/jmdaemon)
21:34:46 <geekosaur> megaparsec can parse more than just `String`s
21:35:11 <geekosaur> so there are separate modules for various things it can work with directly, plous tools for building your own
21:35:33 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
21:35:35 <ClathomasPrime> nice, Text.Megaparsec.Char brought in "string". Still looking for "anyChar"
21:35:49 <dsal> You can press `s` on the docs to find related symbols.
21:36:52 × Guest27 quits (~Guest27@2601:281:d47f:1590::59a2) (Ping timeout: 252 seconds)
21:36:56 <dsal> I don't see `anyChar`, but I see `anySingle`. Looking through my own code, I see that I use `anyChar` in attoparsec some.
21:37:07 <dsal> There are lot of parser libraries in Haskell. It's basically hello world.
21:39:21 trisolaran joins (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
21:39:33 <ClathomasPrime> nice, looks like anySingle is what I needed!
21:39:52 <ClathomasPrime> Thanks for a lot of good tips (e.g. I had no idea on pressing s)
21:40:04 <ClathomasPrime> Looks like the parser works, let's see if I can do my replacing
21:40:04 × acidjnk_new quits (~acidjnk@p200300d0c7068b72c8bc739f4cc151f2.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
21:40:44 jakalx joins (~jakalx@base.jakalx.net)
21:43:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
21:43:17 Haskelytic joins (~Haskelyti@118.179.211.17)
21:44:06 dolio joins (~dolio@130.44.130.54)
21:45:14 × dolio quits (~dolio@130.44.130.54) (Client Quit)
21:45:38 × yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
21:47:37 dolio joins (~dolio@130.44.130.54)
21:53:43 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
21:54:30 × slack1256 quits (~slack1256@186.11.84.227) (Ping timeout: 240 seconds)
21:58:16 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Ping timeout: 248 seconds)
22:01:05 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:01:06 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:11:35 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
22:13:41 × Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
22:13:56 × Karel quits (~Karel@d51a4910f.access.telenet.be) (Ping timeout: 248 seconds)
22:17:54 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:18:32 × trisolaran quits (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 248 seconds)
22:26:20 Karel joins (~Karel@ptr-9091p57aekjr6i5k27f.18120a2.ip6.access.telenet.be)
22:26:20 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
22:27:18 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 276 seconds)
22:27:28 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
22:28:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
22:30:57 × zincy quits (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc) (Ping timeout: 260 seconds)
22:32:13 × Karel quits (~Karel@ptr-9091p57aekjr6i5k27f.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
22:33:23 slack1256 joins (~slack1256@186.11.84.227)
22:34:53 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
22:35:56 × ClathomasPrime quits (~Clathomas@pool-98-110-124-224.cmdnnj.fios.verizon.net) (Quit: Client closed)
22:36:15 yosef` joins (~user@user/yosef/x-2947716)
22:41:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
22:42:01 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds)
22:42:50 × chomwitt quits (~chomwitt@2a02:587:dc1f:5600:28f0:c157:4d87:4f4e) (Ping timeout: 244 seconds)
22:46:06 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
22:46:21 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:50:38 <Haskelytic> guys, how is cabal freeze different from stack resolver?
22:52:10 × slack1256 quits (~slack1256@186.11.84.227) (Ping timeout: 246 seconds)
22:52:32 <hpc> the package set hasn't already been written by someone else
22:53:05 <geekosaur> you can get a cabal.freeze from stackage.org
22:53:22 <geekosaur> there are a few operational differences but I don't recall what they are off the top of my head
22:54:08 <Haskelytic> so stackage and hackage are basically both package indices?
22:54:47 <Bulby[m]> i think stackage is an attempt to keep it more stable
22:55:43 <hpc> in theory you can make a package depend on all of a stack lts at the same time and it will still be coherent
22:55:49 <geekosaur> hackage is the master repository, which even stackage uses. stackage publishes curated sets of packages, sourced from hackage, which are known to work together
22:56:37 <Haskelytic> ohhh, makes sense now. thanks :)
22:57:48 littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
22:58:14 <geekosaur> if you use `cabal freeze` to create a freeze file, cabal won't upgrade packages listed in it just because a new version comes out, which it will otherwise do as long as the new package fits version constraints
22:58:41 <geekosaur> this may avoid thrashing or discovery of bad package dependencies on a new release
22:59:06 <Haskelytic> hmm I see
22:59:23 zincy joins (~zincy@2a01:cb18:82de:bf00:b817:6713:b967:11bc)
22:59:24 <Haskelytic> so it would be up to the developer to "unfreeze" as needed?
22:59:35 <geekosaur> yes
22:59:43 tabemann joins (~tabemann@2600:1700:7990:24e0:ac21:ff4e:45be:2497)
23:00:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
23:00:09 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
23:00:18 <geekosaur> because you want something from a newer version, or just because you can afford have your dependencies getting rebuilt instead of just the thing you're working on :)
23:01:01 <geekosaur> (hence "thrashing". I don't use a freeze file on my xmonad config, which uses dbus, and it rebuilds conduit and/or lens every couple weeks…)
23:01:37 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
23:01:37 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
23:01:37 wroathe joins (~wroathe@user/wroathe)
23:01:47 <Haskelytic> ahh i see
23:01:55 <Haskelytic> thanks for that detailed example
23:03:07 × julian quits (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian)))
23:08:34 × littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
23:10:42 AlexNoo_ joins (~AlexNoo@94.233.240.35)
23:11:52 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
23:12:49 × AlexZenon quits (~alzenon@178.34.150.134) (Ping timeout: 246 seconds)
23:13:52 × Alex_test quits (~al_test@178.34.150.134) (Ping timeout: 246 seconds)
23:14:22 × AlexNoo quits (~AlexNoo@178.34.150.134) (Ping timeout: 258 seconds)
23:16:53 AlexZenon joins (~alzenon@94.233.240.35)
23:17:38 bilegeek joins (~bilegeek@2600:1008:b016:eaf8:86d7:87a2:4b7e:8f8b)
23:18:30 Alex_test joins (~al_test@94.233.240.35)
23:22:30 littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
23:24:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
23:29:50 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
23:29:51 × Pickchea quits (~private@user/pickchea) (Ping timeout: 244 seconds)
23:31:35 × DNH quits (~DNH@2a02:8108:1100:16d8:d5e4:216a:268c:a812) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:33:07 × yosef` quits (~user@user/yosef/x-2947716) (Ping timeout: 246 seconds)
23:33:12 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
23:34:59 × alp quits (~alp@user/alp) (Ping timeout: 255 seconds)
23:36:57 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
23:37:04 × littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
23:39:27 kaskal- joins (~kaskal@2001:4bb8:2a7:f3b8:36de:fd74:7690:c176)
23:39:39 × zeenk quits (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) (Quit: Konversation terminated!)
23:39:59 × kaskal quits (~kaskal@2001:4bb8:2d3:39b7:6dc3:9794:9538:b6b) (Ping timeout: 240 seconds)
23:41:28 nicbk joins (~nicbk@user/nicbk)
23:45:14 × cosimone` quits (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
23:45:54 cosimone` joins (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81)
23:48:17 mvk joins (~mvk@2607:fea8:5ce3:8500::ba9a)
23:50:10 × hueso quits (~root@user/hueso) (Ping timeout: 240 seconds)
23:50:20 hueso joins (~root@user/hueso)
23:51:43 littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
23:52:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
23:52:56 × stackdroid18 quits (14094@user/stackdroid) (Quit: Lost terminal)
23:54:18 × hueso quits (~root@user/hueso) (Read error: Connection reset by peer)
23:56:04 × littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
23:56:30 hueso joins (~root@user/hueso)
23:56:32 Kaiepi joins (~Kaiepi@156.34.47.253)

All times are in UTC on 2022-06-09.