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