Logs on 2023-05-23 (liberachat/#haskell)
| 00:11:45 | × | machinedgod quits (~machinedg@84-115-230-104.cable.dynamic.surfer.at) (Ping timeout: 256 seconds) |
| 00:27:40 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 00:32:01 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 00:36:31 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Ping timeout: 240 seconds) |
| 00:45:16 | × | td_ quits (~td@i5387092F.versanet.de) (Ping timeout: 268 seconds) |
| 00:46:42 | → | td_ joins (~td@i5387090A.versanet.de) |
| 00:48:36 | → | nate2 joins (~nate@98.45.169.16) |
| 00:52:23 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:52:23 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:52:23 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:03:13 | <EvanR> | is it broken? |
| 01:07:32 | → | freeside joins (~mengwong@103.252.202.151) |
| 01:11:12 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:28 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 01:17:19 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:21 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 01:22:04 | <Inst> | EvanR: well, you can try running something that uses, ummm... hmatrix in Windows GHCI, or monomer's GHCI mode |
| 01:23:12 | × | rf quits (~rf@2605:59c8:179c:f610:35bd:5aa6:7274:a262) (Ping timeout: 248 seconds) |
| 01:23:57 | <EvanR> | oh oh, ghci |
| 01:24:16 | <EvanR> | big sad |
| 01:31:12 | → | freeside joins (~mengwong@103.252.202.151) |
| 01:32:25 | <Inst> | and edifice won't run on Windows, at least, not on my machine, but don't worry, Windows is now less than 50% of machines in the United States, although it has a superior market share globally |
| 01:32:39 | <Inst> | In 10 years, no one will care about Windows support because no one will be using it |
| 01:33:08 | × | vandita quits (~vandit@80-95-82-220.pool.digikabel.hu) (Ping timeout: 265 seconds) |
| 01:34:28 | × | ctearrrrrrrrrrr^ quits (~ctearrrrr@c-71-204-38-59.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 01:34:44 | → | vandita joins (~vandit@176-241-62-247.pool.digikabel.hu) |
| 01:35:26 | <Inst> | well, it's still 53%, but it's dropping |
| 01:35:28 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 01:35:38 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:8d0b:d6b6:c02a:1360) (Remote host closed the connection) |
| 01:35:57 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:8d0b:d6b6:c02a:1360) |
| 01:37:10 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 01:40:29 | → | captnemo joins (~captnemo@193.32.127.232) |
| 01:43:41 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 01:44:09 | <monochrom> | No, even OS/2 is taking longer than that to die. |
| 01:44:41 | <monochrom> | Yes, it is still taking its time to die, no rush. So nevermind Windows "dying". |
| 01:45:26 | <monochrom> | And BSD. And System V. And COBOL. |
| 01:48:47 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 01:55:34 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 268 seconds) |
| 02:07:01 | × | jero98772 quits (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) (Ping timeout: 240 seconds) |
| 02:09:01 | × | td_ quits (~td@i5387090A.versanet.de) (Ping timeout: 240 seconds) |
| 02:11:13 | → | td_ joins (~td@i53870922.versanet.de) |
| 02:16:47 | → | jero98772 joins (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) |
| 02:18:01 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:23:01 | <hpc> | it's like waiting for hamlet to die |
| 02:23:15 | <hpc> | it'll always be out there somewhere, waiting for some nerd to port it to webassembly :D |
| 02:25:44 | <hammond> | I know this isn't a haskell question, but is there like a good guideline for the number of lines of code file should have to promote readability and conciseness? |
| 02:26:31 | <hammond> | say a module is getting to 300 lines of code, do you cut it and make a new module. or how does it all figure. |
| 02:34:47 | <sm> | it's a trade-off: cost of long file vs cost of multiple short files, considering factors like readability, intended purpose and audience, current tools and developer workflows, compiler performance |
| 02:37:23 | × | captnemo quits (~captnemo@193.32.127.232) (Quit: WeeChat 3.8) |
| 02:37:43 | → | captnemo joins (~captnemo@193.32.127.232) |
| 02:38:09 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 02:40:19 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 265 seconds) |
| 02:41:17 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:48:46 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 02:49:47 | AndreaB | is now known as AmyMalik |
| 02:51:13 | × | captnemo quits (~captnemo@193.32.127.232) (Quit: WeeChat 3.8) |
| 02:51:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 02:56:20 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:01:03 | → | andreabedini joins (~andreabed@2a05:dfc7:7780:1000:3997:5773:db4c:5ca5) |
| 03:04:25 | → | radioredwagon joins (~radioredw@user/radioredwagon) |
| 03:18:21 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 03:18:30 | × | vandita quits (~vandit@176-241-62-247.pool.digikabel.hu) (Ping timeout: 265 seconds) |
| 03:18:57 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:19:51 | → | vandita joins (~vandit@178-164-206-87.pool.digikabel.hu) |
| 03:32:27 | <hammond> | sm no such thing as each module should be 150 to 200 lines no more? |
| 03:32:42 | <sm> | no |
| 03:33:02 | <sm> | unless a project wants that for some reason |
| 03:33:23 | <hammond> | ok. |
| 03:35:02 | <probie> | A module should be as long as it needs to be |
| 03:37:25 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 03:39:46 | <probie> | GHC itself has a non-negligible number of >1000 line modules |
| 03:45:44 | → | nate2 joins (~nate@98.45.169.16) |
| 03:50:53 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 03:51:27 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:54:22 | → | img joins (~img@user/img) |
| 03:59:31 | × | RedNifre quits (~RedNifre@dslb-002-201-038-109.002.201.pools.vodafone-ip.de) (Ping timeout: 268 seconds) |
| 04:00:28 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 04:03:28 | × | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:08:25 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:09:44 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds) |
| 04:12:14 | → | RedNifre joins (~RedNifre@dslb-090-186-054-065.090.186.pools.vodafone-ip.de) |
| 04:20:05 | × | mei quits (~mei@user/mei) (Ping timeout: 240 seconds) |
| 04:21:46 | <sm> | one big cost of small modules in haskell is increasing the proportion of of imports (and language pragmas) boilerplate |
| 04:23:53 | <sm> | ie, you usually have to write a bunch of imports to get anything done, and in a new module you'll have to do that again. |
| 04:24:22 | → | mei joins (~mei@user/mei) |
| 04:30:19 | × | radioredwagon quits (~radioredw@user/radioredwagon) (Quit: Client closed) |
| 04:34:39 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 04:40:38 | → | mbuf joins (~Shakthi@49.207.178.186) |
| 04:52:12 | <EvanR> | setting my editor to disallow files over 200 lines |
| 04:52:31 | <Inst> | M$ just feels like the lesser evil |
| 04:52:48 | <EvanR> | now I have the functions split over N files named Utils1 through UtilN.hs |
| 04:52:50 | → | trillp joins (~trillp@69.233.98.238) |
| 04:53:09 | <Inst> | you can either choose the dearly deceased Steve Jobs' OS, which is locked to hardware, Google's spyware OS, or M$ |
| 04:54:32 | <probie> | Inst: What's wrong with running GNU/Linux? |
| 04:56:42 | <ghostbuster> | hmm something is wrong with my environment i think? https://termbin.com/q28i https://termbin.com/p55y |
| 04:57:06 | → | trev joins (~trev@user/trev) |
| 04:58:23 | <Inst> | if linux were a norm that'd be fine |
| 04:58:54 | <EvanR> | been running linux for 20 years now |
| 04:58:57 | <EvanR> | works |
| 04:59:40 | <EvanR> | GET THE FACTS |
| 04:59:45 | <probie> | ghostbuster: are you on linux with a relatively new kernel? If so it's a bug in the linux kernel (which I think has been fixed) |
| 05:00:11 | <Inst> | but depending on your politics, year of linux on desktop will probably be because a Chinese SOE has a decent distro of Linux, Sino-American ties are bad, and the Chinese government bans both Windows, Chrome, and OSX |
| 05:01:33 | <ghostbuster> | probie: yeah how did you know? |
| 05:02:37 | <ghostbuster> | 6.3.2 |
| 05:03:39 | <Inst> | hmm, my debian blew up recently |
| 05:04:03 | <Inst> | might be worth trying ubuntu kylin? |
| 05:04:35 | <Inst> | sort of wished the old BSD-based Kylin was still alive |
| 05:05:17 | <probie> | ghostbuster: They broke mmap in 6.1 (if you call it with just the right args, which ghc does). An older kernel and/or a newer GHC fixes this I think? |
| 05:08:01 | <probie> | Inst: why does it [running linux] have to be a norm? It works fine (ignore the recent messages about ghc blowing up due to a kernel bug) |
| 05:08:45 | <Inst> | social ecosystem, as in, linux is held back because lots of hardware doesn't have drivers, a M$ or Apple-style it just works is rare |
| 05:08:56 | <Inst> | IIRc, I had to hack in via WSL the Linux drivers for my wifi |
| 05:09:16 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 05:09:35 | → | falafel joins (~falafel@2603-8000-d700-115c-23eb-285d-1c7c-0334.res6.spectrum.com) |
| 05:10:15 | <probie> | macOS doesn't work on most hardware either :p |
| 05:10:44 | <Inst> | macOS at least does hardware lock-in, it's literally not intended as an option for most machines |
| 05:10:58 | <Inst> | the problem with OSX is that you buy into an Apple hardware monopoly |
| 05:11:30 | <Inst> | i mean, "use Kylin OS or get sent to a labor camp" is good because then if you want to sell in China, you need Linux drivers |
| 05:12:06 | <Inst> | but it's pretty absurd to want an authoritarian government to mandate Linux onto the world's second largest economy just to make it usable for one's definition of usable |
| 05:16:58 | <probie> | You can already buy hardware which supports linux |
| 05:21:42 | <Inst> | you're paying a premium for dedicated linux hardware, it seems |
| 05:22:23 | <Inst> | you can get traditional PCs that have manufacturer support for linux, on the other hand, but i'm assuming the support can be lackluster |
| 05:26:49 | × | vandita quits (~vandit@178-164-206-87.pool.digikabel.hu) (Ping timeout: 256 seconds) |
| 05:28:21 | → | vandita joins (~vandit@80-95-82-232.pool.digikabel.hu) |
| 05:32:34 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:34:33 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 05:34:56 | × | mcglk quits (~mcglk@131.191.19.145) (Read error: Connection reset by peer) |
| 05:37:35 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 05:37:35 | → | takuan_dozo joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:43:51 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 05:47:32 | → | michalz joins (~michalz@185.246.204.89) |
| 05:47:43 | → | machinedgod joins (~machinedg@84-115-230-104.cable.dynamic.surfer.at) |
| 05:47:59 | → | acidjnk joins (~acidjnk@p200300d6e7072f1980412807ae9a6e3f.dip0.t-ipconnect.de) |
| 05:48:17 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 05:48:37 | → | EvanR joins (~EvanR@user/evanr) |
| 05:49:29 | × | falafel quits (~falafel@2603-8000-d700-115c-23eb-285d-1c7c-0334.res6.spectrum.com) (Ping timeout: 256 seconds) |
| 05:49:53 | <geekosaur> | flip side Ubuntu installed onto my Lenovo ThinkPad X220 and everything just works. it's not like 20 years ago when things really were as bad as you say; Linux has made some inroads in terms of support |
| 05:50:52 | → | chomwitt joins (~chomwitt@2a02:587:7a07:4f00:1ac0:4dff:fedb:a3f1) |
| 05:54:06 | → | falafel joins (~falafel@2603-8000-d700-115c-704a-f6ee-a054-f0ff.res6.spectrum.com) |
| 05:57:04 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:57:26 | × | byte quits (~byte@user/byte) (Quit: Quitting...) |
| 06:00:48 | × | falafel quits (~falafel@2603-8000-d700-115c-704a-f6ee-a054-f0ff.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 06:01:41 | → | wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) |
| 06:02:03 | → | byte joins (~byte@user/byte) |
| 06:13:17 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 06:15:57 | × | byte quits (~byte@user/byte) (Quit: Quitting...) |
| 06:17:09 | → | byte joins (~byte@user/byte) |
| 06:23:04 | → | oo_miguel joins (~Thunderbi@77.252.47.84) |
| 06:24:46 | → | mmhat joins (~mmh@p200300f1c70668bcee086bfffe095315.dip0.t-ipconnect.de) |
| 06:26:47 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds) |
| 06:30:53 | × | byte quits (~byte@user/byte) (Quit: Quitting...) |
| 06:31:55 | → | byte joins (~byte@user/byte) |
| 06:48:00 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds) |
| 06:50:02 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:50:08 | × | incertia quits (~incertia@209.122.71.127) (Ping timeout: 248 seconds) |
| 06:50:48 | → | incertia joins (~incertia@209.122.71.127) |
| 06:52:25 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 06:57:54 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 07:00:34 | → | gurkenglas joins (~user@dynamic-046-114-168-101.46.114.pool.telefonica.de) |
| 07:07:26 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:c066:a9b9:79ee:689b) |
| 07:07:41 | → | finnekit4 joins (~finnekit@fsf/member/finnekit) |
| 07:08:22 | → | nschoe joins (~q@2a01:e0a:8e:a190:1e90:eaba:66b5:fb61) |
| 07:10:04 | × | finnekit quits (~finnekit@fsf/member/finnekit) (Ping timeout: 268 seconds) |
| 07:10:04 | finnekit4 | is now known as finnekit |
| 07:10:12 | × | chomwitt quits (~chomwitt@2a02:587:7a07:4f00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 07:10:34 | → | chomwitt joins (~chomwitt@2a02:587:7a07:4f00:1ac0:4dff:fedb:a3f1) |
| 07:11:28 | × | Noinia quits (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 07:12:00 | × | Putonlalla quits (~Putonlall@it-cyan.it.jyu.fi) (Ping timeout: 248 seconds) |
| 07:12:14 | → | Noinia joins (~Frank@77-162-168-71.fixed.kpn.net) |
| 07:17:20 | × | koolazer quits (~koo@user/koolazer) (Ping timeout: 248 seconds) |
| 07:18:07 | → | koolazer joins (~koo@user/koolazer) |
| 07:18:47 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 264 seconds) |
| 07:21:21 | → | Sauvin joins (~sauvin@user/Sauvin) |
| 07:23:15 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 07:23:39 | Bocaneri | is now known as Guest4160 |
| 07:23:44 | → | Putonlalla joins (~Putonlall@it-cyan.it.jyu.fi) |
| 07:24:11 | × | chomwitt quits (~chomwitt@2a02:587:7a07:4f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds) |
| 07:24:31 | × | trillp quits (~trillp@69.233.98.238) (Quit: WeeChat 3.7.1) |
| 07:25:52 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 248 seconds) |
| 07:26:01 | × | andreabedini quits (~andreabed@2a05:dfc7:7780:1000:3997:5773:db4c:5ca5) (Ping timeout: 240 seconds) |
| 07:26:09 | → | chomwitt joins (~chomwitt@2a02:587:7a13:b200:1ac0:4dff:fedb:a3f1) |
| 07:28:23 | × | xilo quits (~yourname@user/xilo) (Ping timeout: 240 seconds) |
| 07:31:20 | → | andreabedini joins (~andreabed@2a05:dfc7:7780:1000:3997:5773:db4c:5ca5) |
| 07:32:41 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 07:32:48 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 240 seconds) |
| 07:33:23 | × | landonf quits (landonf@mac68k.info) (Ping timeout: 246 seconds) |
| 07:33:30 | → | landonf joins (landonf@mac68k.info) |
| 07:33:59 | × | vandita quits (~vandit@80-95-82-232.pool.digikabel.hu) (Ping timeout: 240 seconds) |
| 07:34:18 | → | xilo joins (~yourname@84.32.165.17) |
| 07:34:44 | → | freeside joins (~mengwong@202.161.55.11) |
| 07:35:52 | → | vandita joins (~vandit@92-249-193-123.pool.digikabel.hu) |
| 07:37:04 | × | Guest4160 quits (~sauvin@user/Sauvin) (Ping timeout: 248 seconds) |
| 07:42:29 | → | CiaoSen joins (~Jura@dynamic-046-114-220-134.46.114.pool.telefonica.de) |
| 07:43:23 | → | gmg joins (~user@user/gehmehgeh) |
| 07:43:24 | → | Sauvin joins (~sauvin@user/Sauvin) |
| 07:46:58 | → | nate2 joins (~nate@98.45.169.16) |
| 07:52:02 | → | thegeekinside joins (~thegeekin@189.141.107.10) |
| 07:52:27 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
| 07:52:38 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 07:54:02 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:55:23 | × | wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 07:58:28 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
| 08:09:21 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Remote host closed the connection) |
| 08:11:52 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:16:53 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) |
| 08:20:23 | × | mmhat quits (~mmh@p200300f1c70668bcee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 08:22:08 | → | wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) |
| 08:29:59 | × | thegeekinside quits (~thegeekin@189.141.107.10) (Ping timeout: 240 seconds) |
| 08:38:58 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 08:39:45 | → | kuribas joins (~user@ptr-17d51eotp0ewss6x895.18120a2.ip6.access.telenet.be) |
| 08:41:22 | → | titibandit joins (~titibandi@user/titibandit) |
| 08:42:11 | → | househorse joins (~housemate@120.18.177.69) |
| 08:43:44 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:49:13 | → | califax_ joins (~califax@user/califx) |
| 08:49:20 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 08:50:08 | × | acidjnk quits (~acidjnk@p200300d6e7072f1980412807ae9a6e3f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 08:50:19 | → | eugenrh joins (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) |
| 08:50:30 | califax_ | is now known as califax |
| 08:51:05 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 08:51:59 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 08:52:07 | → | acidjnk joins (~acidjnk@p200300d6e7072f1929720de0b53015b2.dip0.t-ipconnect.de) |
| 08:53:55 | Lord_of_Life_ | is now known as Lord_of_Life |
| 08:55:11 | × | elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Ping timeout: 240 seconds) |
| 08:57:19 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) (Ping timeout: 265 seconds) |
| 08:57:36 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:06:34 | × | freeside quits (~mengwong@202.161.55.11) (Ping timeout: 250 seconds) |
| 09:06:51 | × | tjnhxmzhmqgytuwt quits (~tjnhxmzhm@2001:470:69fc:105::3:70e) (Remote host closed the connection) |
| 09:09:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 09:10:12 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) |
| 09:13:38 | → | __monty__ joins (~toonn@user/toonn) |
| 09:14:22 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Ping timeout: 250 seconds) |
| 09:25:50 | × | househorse quits (~housemate@120.18.177.69) (Quit: Probably insane, but also not in the least. HAHA. <https://executingreality.com/> <https://methamphetamine.life/> STILL; I AM SAVING THE UNIVERSE. ROFL!) |
| 09:37:51 | × | acidjnk quits (~acidjnk@p200300d6e7072f1929720de0b53015b2.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 09:38:30 | → | elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) |
| 09:38:52 | → | acidjnk joins (~acidjnk@p200300d6e7072f1929720de0b53015b2.dip0.t-ipconnect.de) |
| 09:40:53 | × | kuribas quits (~user@ptr-17d51eotp0ewss6x895.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 09:43:09 | → | notzmv joins (~zmv@user/notzmv) |
| 09:44:38 | × | ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:47:32 | → | freeside joins (~mengwong@122.11.212.99) |
| 09:49:28 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 09:52:15 | × | vandita quits (~vandit@92-249-193-123.pool.digikabel.hu) (Ping timeout: 268 seconds) |
| 09:52:56 | → | hamzam3 joins (~hamzam3@2a01:e0a:1ee:8c60:ca85:9674:421c:1b38) |
| 09:53:29 | → | vandita joins (~vandit@94-21-48-57.pool.digikabel.hu) |
| 09:56:11 | → | titibandit joins (~titibandi@user/titibandit) |
| 09:58:15 | × | chomwitt quits (~chomwitt@2a02:587:7a13:b200:1ac0:4dff:fedb:a3f1) (Ping timeout: 256 seconds) |
| 10:05:37 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds) |
| 10:08:33 | × | andreabedini quits (~andreabed@2a05:dfc7:7780:1000:3997:5773:db4c:5ca5) (Quit: WeeChat 3.8) |
| 10:09:44 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 10:11:19 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 10:13:21 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:13:45 | → | mei joins (~mei@user/mei) |
| 10:14:30 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-1d2b-cbea-330c-620a.rev.sfr.net) |
| 10:17:08 | × | freeside quits (~mengwong@122.11.212.99) (Read error: Connection reset by peer) |
| 10:18:43 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 10:21:03 | → | freeside joins (~mengwong@122.11.212.99) |
| 10:21:59 | × | CiaoSen quits (~Jura@dynamic-046-114-220-134.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 10:31:12 | <hamzam3> | Hello everyone, I want to know if it's possible to build a library with profiling if it includes a foreign interface |
| 10:31:15 | <hamzam3> | Thank you ! |
| 10:32:39 | <hamzam3> | Also do you have any advice with respect to debugging. |
| 10:33:16 | × | freeside quits (~mengwong@122.11.212.99) (Read error: Connection reset by peer) |
| 10:33:21 | <geekosaur> | certainly you can, you just won't get any profiling information from the other side of the call boundary unless that's built with C profiling, and then you'd have to use C profiling tools for that part |
| 10:33:36 | <geekosaur> | debugging is probably haskell's weakest point currently |
| 10:34:05 | <hamzam3> | I get the following message when compiling with profiling option |
| 10:34:15 | <hamzam3> | Perhaps you haven't installed the profiling libraries for package ‘StateVar-1.2.2’? |
| 10:34:23 | <geekosaur> | you can build with debugging which adds DWARF info that can be used in gdb/lldb, but it's something of a poor fit as ghc doesn't fit with C debuggers very well |
| 10:34:51 | <geekosaur> | how did you install StateVar? was it done automatically by stack / cabal, or did you use an OS package? |
| 10:35:05 | <hamzam3> | I installed it with the following command |
| 10:35:09 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:8d0b:d6b6:c02a:1360) (Remote host closed the connection) |
| 10:35:28 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:8d0b:d6b6:c02a:1360) |
| 10:35:38 | <hamzam3> | cabal install --only-dependencies --enable-library-profiling --overwrite-policy=always |
| 10:36:21 | <geekosaur> | odd |
| 10:36:37 | <hamzam3> | I deleted my .cabal folder |
| 10:36:46 | <hamzam3> | and redone this command |
| 10:36:47 | <geekosaur> | delete your .ghc folder as well |
| 10:36:52 | <hamzam3> | ok |
| 10:37:16 | <geekosaur> | otherwise you still have the old package registration but you've lost the actual package contents, which will confuse both cabal and ghc |
| 10:37:34 | <hamzam3> | ok |
| 10:37:50 | <hamzam3> | where is the .ghc usually ? |
| 10:37:59 | <geekosaur> | cabal should detect that it needs to install profiling versions of packages automatically |
| 10:39:21 | <hamzam3> | find ~ -name ".ghc" gives nothing |
| 10:40:05 | <geekosaur> | right, that's the name used for old versions. where it will be for new versions depends on how you installed ghc |
| 10:41:16 | <geekosaur> | oh, hm, also that won't matter since you're using cabal, so it shouldn't be writing to the ghc local package db (I would hope) |
| 10:41:43 | <geekosaur> | what version of cabal? you may also need to look for ~/.local/state/cabal |
| 10:42:05 | → | gensyst joins (~gensyst@user/gensyst) |
| 10:42:41 | <gensyst> | putStrLn "foo" >> putStrLn "bar". Can the first and second somehow end up on different threads? When/how can Haskell code move between threads? |
| 10:42:55 | <hamzam3> | ok sorry I have an issue, my disk is full |
| 10:43:05 | <geekosaur> | whoops 🙂 |
| 10:43:06 | <hamzam3> | let me fix this, thank you very much |
| 10:43:46 | <geekosaur> | gensyst, i that is already on an OS thread other than the main one, it can migrate at an allocation point |
| 10:43:57 | <geekosaur> | (and that isn't bound) |
| 10:44:19 | <geekosaur> | note that the main OS thread is bound and also special in other ways; code on that thread will never migrate |
| 10:45:16 | <gensyst> | geekosaur, i'm trying to grasp.. could the result of myThreadId suddenly (and unexpectedly) change? |
| 10:45:20 | <gensyst> | in the "same code" |
| 10:45:37 | <gensyst> | what's an allocation point? |
| 10:46:04 | <geekosaur> | myThreadId should return the Haskell thread, not the OS thread, so it should never change |
| 10:46:21 | <gensyst> | ok i see! |
| 10:46:32 | <gensyst> | i've been coding haskell for yeras, why don't i know this stuff. embarrassing :( |
| 10:46:34 | <geekosaur> | an allocation point is anywhere that can do an allocation |
| 10:46:35 | <gensyst> | thanks |
| 10:48:08 | <juri_> | gensyst: don't feel bad. haskell gets programming out of the way enough you can spend years, and not know a lot of the language. i have no idea how exceptions work, and only a rudimentary knowledge of monads, and i've been programming for 8 years now, 4 full-time. |
| 10:53:46 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 10:53:46 | <gensyst> | juri_, thanks :) |
| 10:55:03 | <hamzam3> | apparently my ghc is in ghcup |
| 10:55:19 | <hamzam3> | and also statevar does have a profiling lib |
| 10:55:25 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 10:55:38 | <hamzam3> | geekosaur:vwhat should i delete |
| 10:58:16 | → | __monty__ joins (~toonn@user/toonn) |
| 10:59:18 | <geekosaur> | nothing, if you deleted ~/.cabal and/or ~/.local/state/cabal |
| 10:59:45 | <geekosaur> | if you ran out of disk space then you probably managed to corrupt your cabal store, removing those will clean it up and cabal will repopulate it |
| 10:59:58 | <geekosaur> | but you may have to clear more space to hold it |
| 11:00:32 | <geekosaur> | (I have a tiny root SSD so I had to mount an external drive to hold all my cabal stuff) |
| 11:02:37 | <hamzam3> | how heavy can cabal be ? |
| 11:02:50 | <hamzam3> | i have nuked ghcup |
| 11:03:33 | <geekosaur> | I really would not have done that |
| 11:03:49 | <geekosaur> | cabal will accrue packages, sometimes it's useful to clean up |
| 11:03:54 | <geekosaur> | @where cabalgc |
| 11:03:54 | <lambdabot> | https://github.com/treblacy/cabalgc |
| 11:04:43 | <hamzam3> | ok lol |
| 11:04:54 | <hamzam3> | thank you for this |
| 11:04:56 | <geekosaur> | they're working on a more complete built-in solution since cabal is in a better spot to keep track of what's in use; with cabalgc you need to manually tell it what cabal projects are "live" and need their packages to be kept |
| 11:05:16 | <hamzam3> | oh ok |
| 11:05:30 | <hamzam3> | i have a peripherical question if possible |
| 11:06:00 | <geekosaur> | one can always ask. sometimes you'll have to wait for someone who knows more to get an answer |
| 11:06:07 | <hamzam3> | do you contribute to open source project about haskell ? |
| 11:06:22 | <geekosaur> | I'm a head of the xmonad project |
| 11:06:22 | <hamzam3> | or using |
| 11:06:49 | <hamzam3> | what is it about ? |
| 11:06:54 | <geekosaur> | I also use it personally but all my stuff is personal tools of little interest to others so I haven't uploaded them to hackage |
| 11:07:03 | <geekosaur> | xmonad is a tiling window manager |
| 11:07:10 | <geekosaur> | https://xmonad.org |
| 11:07:26 | <hamzam3> | woah nice |
| 11:07:29 | <hamzam3> | is it popular ? |
| 11:07:38 | <geekosaur> | I also help out with ghc, and more recently am starting to help out with cabal |
| 11:07:57 | <geekosaur> | popular enough. tiling window managers aren't exactly the most popular kind |
| 11:08:34 | <geekosaur> | but we always get a bump in new users when someone posts their config to /r/unixporn or Distrotube does something about an xmonad config 🙂 |
| 11:09:00 | <hamzam3> | interesting these posts are the way to market open source projects |
| 11:09:53 | <hamzam3> | do u know what are the needs currently in the programming community ? like what would be the most relevant contribution to provide at this moment ? |
| 11:10:11 | <geekosaur> | not really |
| 11:10:13 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 11:10:15 | <hamzam3> | how to track open source project demand lets say |
| 11:10:44 | <geekosaur> | I think — hope — the Haskell Foundation is starting to track that kind of thing; you might check on discourse.haskell.org |
| 11:10:56 | <probie> | I used to use xmonad, but I had to give it up when I moved to Wayland. I think it's possibly the second most popular tiling window manager for X behind i3. |
| 11:10:56 | <juri_> | open source is not moved by the big projects, but by the little changes. make something better every day. |
| 11:11:02 | <ncf> | juri_++ |
| 11:11:39 | <hamzam3> | okay |
| 11:11:46 | → | barzo joins (~hd@31.223.56.119) |
| 11:12:47 | <geekosaur> | most haskell projects (and indeed open source projects in general) have in their issue trackers some kind of "newcomers" or "good first issue" tag |
| 11:12:58 | <geekosaur> | pick something that interests you and poke around |
| 11:13:08 | <hamzam3> | yes |
| 11:13:09 | <geekosaur> | that's how open source works |
| 11:13:37 | <hamzam3> | do you think haskell can be improved so that it can be possible to write proofs in it |
| 11:13:49 | <hamzam3> | using dependent type theory |
| 11:13:58 | <juri_> | long term, i think that'll happen. |
| 11:14:03 | <probie> | "improved". I'm not giving up `(a -> a) -> a` |
| 11:14:04 | <geekosaur> | rich eisenberg is working on that, although getting it into ghc is proving a bit difficult |
| 11:14:08 | <juri_> | or, at least, i hope. :) |
| 11:14:26 | <hamzam3> | did you ever prove a program using a theorem prover |
| 11:14:46 | <geekosaur> | there's a fundamental disconnect between how haskell and ghc's internal language deal with types, that makes dependent types somewhat difficult |
| 11:14:54 | <geekosaur> | no, I didn't |
| 11:15:01 | <hamzam3> | i think i'll try doing that this afternon |
| 11:15:14 | <geekosaur> | I've played a little with agda and idris but never done anything serious with them |
| 11:15:23 | <hamzam3> | oh |
| 11:16:06 | <probie> | If you use Coq, you can extract Haskell code from Coq definitions |
| 11:16:10 | <hamzam3> | should i try with idris or agda ? |
| 11:16:18 | <hamzam3> | ah ? |
| 11:16:18 | <geekosaur> | I know Wouter Swierstra ported the core of xmonad to Coq to validate it |
| 11:16:21 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:16:26 | <hamzam3> | omg |
| 11:16:32 | <hamzam3> | and its validated now ? |
| 11:16:40 | <hamzam3> | like its bugless |
| 11:16:40 | <geekosaur> | has been for years |
| 11:16:51 | <ncf> | there is also agda2hs |
| 11:17:08 | <ncf> | and i'm sure idris has a similar thing |
| 11:17:12 | <geekosaur> | the StackSet is. no promises about the rest; but it's too tied up in X11 to easily feed to a proof assistant |
| 11:18:14 | <hamzam3> | ok |
| 11:18:18 | <geekosaur> | someone did prove correctness for the various pure layouts in -contrib at one point but the link to that disappeared and doesn't seem to be in the wayback machine |
| 11:18:40 | <hamzam3> | ok but that's kind of a big deal no ? |
| 11:18:45 | <hamzam3> | we can write bugless code now |
| 11:19:08 | <hamzam3> | i think these techniques should be applied to browsers |
| 11:19:26 | <geekosaur> | there's a relevant Knuth quote there… "Beware, I have only proven this code correct, not tested it" |
| 11:19:38 | <probie> | You can write proven correct code. That doesn't mean it's free of bugs (it just means the bugs are in the spec, or possibly in the theorem prover) |
| 11:19:44 | <geekosaur> | ^ |
| 11:19:50 | <hamzam3> | like have a browser associated with a theory that u can use to prove js code afterwards |
| 11:19:53 | <hamzam3> | hu |
| 11:19:57 | <hamzam3> | yes |
| 11:20:12 | <geekosaur> | sounds good until you see what kind of messes you get even from "compliant" HTML, never mind JS |
| 11:20:27 | <hamzam3> | do u have an example ? |
| 11:21:50 | <geekosaur> | various HTML generators were perfectly happy to output start and end tags in the wrong order (think <a><b>…</a></b>) |
| 11:22:02 | <geekosaur> | but that's just a simple example. they get much worse |
| 11:22:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 11:22:17 | <probie> | back in the day, google used to omit a bunch of closing tags to send fewer bytes |
| 11:22:34 | <geekosaur> | almost all "XHTML" won't pass an XHTML validator |
| 11:22:42 | <hamzam3> | isnt this called forgiveness |
| 11:22:50 | <hamzam3> | like it's meant to not crash on errors |
| 11:22:57 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-1d2b-cbea-330c-620a.rev.sfr.net) (Remote host closed the connection) |
| 11:23:19 | <geekosaur> | not really, it makes generation easier but parsing much harder |
| 11:23:53 | <hamzam3> | ok ill have to explore this deeper then |
| 11:24:04 | <geekosaur> | "tagsoup" |
| 11:24:11 | → | taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-8d67-b976-d42b-090f.rev.sfr.net) |
| 11:24:31 | <hamzam3> | im trying to work on that right now |
| 11:25:20 | <hamzam3> | im making a browser by hand to explore the question if you or someone wants to contribute (im not that experimented though) |
| 11:25:36 | <hamzam3> | https://github.com/HamzaM3/yes-browser |
| 11:26:41 | <geekosaur> | beware, the last few folks to do that in haskell disappeared into corporate NDAs never to be seen again 🙂 |
| 11:27:11 | <hamzam3> | why ? im not in a company |
| 11:27:18 | <geekosaur> | they got hired |
| 11:27:23 | <hamzam3> | ah ok lol |
| 11:27:44 | <geekosaur> | but the companies that hire Haskell programmers often have very restrictive non-disclosure agreements |
| 11:27:58 | <geekosaur> | so they never get to touch their code again |
| 11:28:22 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 11:28:22 | <hamzam3> | do u mean that if you work under an nda u cant do open source anymore ? |
| 11:28:27 | <hpc> | sometimes |
| 11:28:27 | <geekosaur> | usually |
| 11:28:45 | <geekosaur> | last time I was involved with one I specifically negotiated an exception for open source |
| 11:28:52 | <geekosaur> | but I had to do that up front |
| 11:28:59 | <hamzam3> | oh okay |
| 11:29:08 | <geekosaur> | and get them to sign off on it |
| 11:29:23 | <hpc> | usually you can negotiate it down to being able to do things outside the company's area of business, but even then you have to be careful |
| 11:29:28 | <geekosaur> | ^ |
| 11:29:55 | <hamzam3> | but then open source cannot improve if all the talent is sucked |
| 11:30:37 | <hamzam3> | how hard is it to find a haskell job. what should i put on my resume ? (im not searching yet) |
| 11:31:30 | <geekosaur> | pretty hard. it's not like C++ or Go where there's lots of jobs around |
| 11:32:19 | <geekosaur> | that said, the folks who know what they're doing will often consider Haskell experience a plus even for a non-Haskell job because it makes you a better programmer |
| 11:32:57 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
| 11:32:58 | <geekosaur> | Haskell's type system trains you to not make large classes of mistakes |
| 11:33:20 | <hpc> | ^ |
| 11:33:38 | <hpc> | it's also a nice "proof of work" |
| 11:33:52 | <hamzam3> | what is a proof of work |
| 11:33:53 | <hamzam3> | ? |
| 11:34:00 | <hpc> | when i am interviewing someone, it's always nice to see something like "i installed kubernetes at home so i could try out $x" |
| 11:34:09 | <hpc> | basically, something that shows you're going to get the job done |
| 11:34:14 | <hpc> | and not just sit there |
| 11:35:08 | <hamzam3> | ok nice |
| 11:35:11 | <hpc> | learning haskell (outside a classroom setting, a few people here teach it :D) takes initiative |
| 11:35:18 | <ncf> | is there any way to pretty-print a circular data structure by rendering loops as <<loop>> or something? |
| 11:35:35 | <ncf> | or do i have to implement my own cycle detection |
| 11:35:54 | <[exa]> | ncf: I wish there was and if you found anything please ping me. |
| 11:36:14 | <ncf> | heh |
| 11:36:19 | <hamzam3> | anyways thank you guys for all your information ! |
| 11:37:04 | <[exa]> | ncf: there's methodology for that in prolog substitution-printing, the algorithm is not complex tbh, but instantiating that over haskell stuff...man. |
| 11:38:04 | <[exa]> | what's worse in haskell, I'm not sure you can easily detect the loop by just e.g. marking the values that were already printed out, as there are (simple) methods to generate actual infinite data |
| 11:39:05 | <ncf> | i wonder if one could just catch NonTermination |
| 11:39:40 | <[exa]> | quite often you can't even detect it |
| 11:40:03 | <[exa]> | most impls I've seen (even in prolog) simply put an upper bound on the depth of printed stuff |
| 11:40:12 | <[exa]> | and humans are pretty good at interpreting `...` |
| 11:41:26 | <probie> | If it can live in IO, and you're happy to do cycle detection yourself, you might want look into https://hackage.haskell.org/package/base-4.18.0.0/docs/System-Mem-StableName.html |
| 11:48:42 | → | nate2 joins (~nate@98.45.169.16) |
| 11:51:12 | → | ubert joins (~Thunderbi@p200300ecdf18b63ece9cf92d6fdc3292.dip0.t-ipconnect.de) |
| 11:52:55 | <jade[m]> | in monadic code, is it preferred to use pure because of the deprecation on return inside the Monad class, or should you still use return which should just be equivialent to pure? |
| 11:53:44 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 11:57:48 | × | hamzam3 quits (~hamzam3@2a01:e0a:1ee:8c60:ca85:9674:421c:1b38) (Ping timeout: 240 seconds) |
| 12:00:05 | × | vandita quits (~vandit@94-21-48-57.pool.digikabel.hu) (Ping timeout: 256 seconds) |
| 12:01:59 | → | vandita joins (~vandit@84-236-10-11.pool.digikabel.hu) |
| 12:07:09 | <maralorn> | jade: I really don't think it matters much. I don't expect return to disappear from the language ever. I always use pure but I can't give a convincing reason. |
| 12:07:48 | <jade[m]> | fair enough, I usually use pure too. I just wanted to see other peoples opinion on it :) |
| 12:07:50 | <jade[m]> | Thanks! |
| 12:10:18 | <maralorn> | Now you have the opinion of one random guy on the internet. 😇 |
| 12:10:44 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) (Ping timeout: 250 seconds) |
| 12:12:06 | <probie> | For another data point - I prefer pure, but if working on an existing codebase that already prefers return will use that for the sake of consistency |
| 12:15:41 | <yushyin> | ^ second this |
| 12:16:37 | → | tok joins (~user@user/tok) |
| 12:19:00 | <tok> | Starting a new project in Haskell to scratch an itch, after not touching the language in some time. What is the flavour of the month for build tools? I remember using stack back then, but now I've seen quite a few projects/people going back to cabal. |
| 12:19:47 | <[exa]> | tok: cabal got massively updated, fixed, standardized, and imo is currently ahead of stack except for very industrial usecases |
| 12:19:56 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 12:21:18 | → | __monty__ joins (~toonn@user/toonn) |
| 12:21:38 | <tok> | Oh that's cool! I always preferred cabal anyway, despite all the wonkyness it used have. |
| 12:22:10 | <[exa]> | the "clean" nix-style builds are default for quite some time now (post-2018ish?) |
| 12:22:33 | <[exa]> | and there's cabal.project functionality if you need to group more packages together |
| 12:23:23 | <[exa]> | ....and it looks like I didn't cabalnuke for like 2 years now |
| 12:26:59 | → | freeside joins (~mengwong@122.11.212.99) |
| 12:29:34 | <gensyst> | Is it possible to "cancel" an mkWeakIORef? |
| 12:29:43 | <gensyst> | (make sure it won't get called up on GC) |
| 12:30:42 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) |
| 12:32:14 | <geekosaur> | probably a #ghc question |
| 12:37:09 | × | freeside quits (~mengwong@122.11.212.99) (Read error: Connection reset by peer) |
| 12:47:28 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:48:40 | jade[m] | uploaded an image: (6KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/mtlywVnpjYdFiDYkjdsbWdvz/image.png > |
| 12:48:42 | jade[m] | uploaded an image: (8KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/YfvTWfEBUvxCZTqdnvyIThxl/image.png > |
| 12:49:01 | <jade[m]> | why is there two different messages depending on whether the first letter is capitalized |
| 12:49:14 | <jade[m]> | I can assume why it happens, but is that intended behavior? |
| 12:50:25 | <ncf> | are we supposed to recognise where this is from? |
| 12:51:03 | × | fbytez quits (~uid@2001:bc8:2117:100::) (Quit: byte byte) |
| 12:51:12 | <jade[m]> | oh sorry, it's just a random hackage page in the quickjump dialog |
| 12:52:53 | <ncf> | got a third message: Left "no matches for 'GCFLA'" :: Either String (NonEmpty SearchResult) |
| 12:53:00 | <ncf> | fascinating |
| 12:53:09 | → | fbytez joins (~uid@2001:bc8:2117:100::) |
| 12:53:24 | <ncf> | (searching for that string in base) |
| 13:13:21 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 13:17:54 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Ping timeout: 250 seconds) |
| 13:22:49 | × | acidjnk quits (~acidjnk@p200300d6e7072f1929720de0b53015b2.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 13:24:42 | × | polux quits (~polux@51-15-169-172.rev.poneytelecom.eu) (Quit: Ping timeout (120 seconds)) |
| 13:24:57 | → | polux joins (~polux@51-15-169-172.rev.poneytelecom.eu) |
| 13:27:21 | → | ystael joins (~ystael@user/ystael) |
| 13:35:16 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 13:35:16 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 13:35:16 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:35:22 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 13:38:17 | → | freeside joins (~mengwong@103.252.202.151) |
| 13:41:24 | → | hamzam3 joins (~hamzam3@2a01:e0a:1ee:8c60:91ef:2514:d13e:9327) |
| 13:42:58 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 13:43:12 | → | darchitect666 joins (~e1211913@host86-157-65-148.range86-157.btcentralplus.com) |
| 13:44:29 | × | darchitect666 quits (~e1211913@host86-157-65-148.range86-157.btcentralplus.com) (Client Quit) |
| 13:50:23 | × | vandita quits (~vandit@84-236-10-11.pool.digikabel.hu) (Ping timeout: 240 seconds) |
| 13:51:25 | → | freeside joins (~mengwong@103.252.202.151) |
| 13:52:14 | → | vandita joins (~vandit@84-236-1-67.pool.digikabel.hu) |
| 13:53:10 | × | hamzam3 quits (~hamzam3@2a01:e0a:1ee:8c60:91ef:2514:d13e:9327) (Quit: Leaving) |
| 13:58:08 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 14:00:45 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 14:01:21 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 14:01:25 | → | chomwitt joins (~chomwitt@athedsl-285388.home.otenet.gr) |
| 14:05:04 | × | cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 14:05:53 | → | barcisz joins (~barcisz@83.6.194.51.ipv4.supernova.orange.pl) |
| 14:12:44 | → | cheater joins (~Username@user/cheater) |
| 14:14:14 | → | elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
| 14:17:50 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:21:44 | → | gmg joins (~user@user/gehmehgeh) |
| 14:21:48 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 14:22:46 | × | elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 14:24:12 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 14:27:15 | → | thegeekinside joins (~thegeekin@189.141.107.10) |
| 14:28:15 | → | cheater_ joins (~Username@user/cheater) |
| 14:30:59 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 14:31:00 | cheater_ | is now known as cheater |
| 14:33:19 | → | cheater_ joins (~Username@user/cheater) |
| 14:35:25 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 14:35:34 | cheater_ | is now known as cheater |
| 14:38:48 | → | cheater_ joins (~Username@user/cheater) |
| 14:39:38 | → | nick_ joins (~nick@wsip-174-78-110-18.pn.at.cox.net) |
| 14:40:10 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:40:23 | × | gurkenglas quits (~user@dynamic-046-114-168-101.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 14:40:27 | × | cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds) |
| 14:40:34 | cheater_ | is now known as cheater |
| 14:41:16 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 14:42:56 | → | elmklod joins (~Elm@94.25.164.115) |
| 14:48:23 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 14:51:20 | → | cheater_ joins (~Username@user/cheater) |
| 14:53:29 | × | cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds) |
| 14:53:45 | → | cheater__ joins (~Username@user/cheater) |
| 14:53:45 | cheater__ | is now known as cheater |
| 14:54:28 | × | barcisz quits (~barcisz@83.6.194.51.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 14:56:02 | → | cheater__ joins (~Username@user/cheater) |
| 14:56:16 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 14:59:12 | × | elmklod quits (~Elm@94.25.164.115) (Quit: Leaving) |
| 14:59:35 | × | cheater quits (~Username@user/cheater) (Ping timeout: 264 seconds) |
| 14:59:47 | → | cheater_ joins (~Username@user/cheater) |
| 14:59:47 | cheater_ | is now known as cheater |
| 15:00:44 | → | barcisz joins (~barcisz@83.6.194.51.ipv4.supernova.orange.pl) |
| 15:01:29 | → | cheater_ joins (~Username@user/cheater) |
| 15:01:52 | × | cheater__ quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 15:04:01 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 15:04:04 | cheater_ | is now known as cheater |
| 15:07:52 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:10:23 | <Inst> | is it meaningful to say that there's a canonical recursive type? |
| 15:10:45 | <Inst> | tuple is the canonical product type, either the canonical sum type |
| 15:11:14 | <Inst> | tuple has the limitation that it cannot, well, produce an infinite type :( |
| 15:11:16 | → | mauke joins (~mauke@user/mauke) |
| 15:11:25 | → | acidjnk joins (~acidjnk@p200300d6e7072f19f418e5b952ba8eeb.dip0.t-ipconnect.de) |
| 15:12:47 | × | reverse quits (~inversed@bcdcac82.skybroadband.com) (Ping timeout: 240 seconds) |
| 15:12:50 | <geekosaur> | lists |
| 15:14:01 | <geekosaur> | data [] a = [] | a : [] a -- you can't actually write this though |
| 15:14:25 | <geekosaur> | usually written as data List a = Nil | Cons a (List a) |
| 15:17:30 | × | eugenrh quits (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) (Ping timeout: 250 seconds) |
| 15:17:39 | → | razetime joins (~quassel@117.193.6.245) |
| 15:19:26 | <ncf> | it's not *as* canonical as the way in which (,) is the canonical product type and Either is the canonical sum type, of course |
| 15:19:28 | <ski> | depends on what one means by "canonical recursive type" |
| 15:19:55 | <ncf> | if you go for "simplest", then probably data Void = Void Void |
| 15:20:17 | <ski> | one other take could be `newtype Fix f = In {out :: f (Fix f)}' |
| 15:22:10 | × | drdo quits (~drdo@bl8-153-185.dsl.telepac.pt) (Ping timeout: 268 seconds) |
| 15:22:18 | <ski> | (fwiw, i've sometimes used (the equivalent of) `data Void = FromVoid !Void', in SML (namely `datatype void = FromVoid of void')) |
| 15:22:44 | <ncf> | i have a feeling that would ring better in latin |
| 15:23:25 | <ski> | hehe |
| 15:23:29 | <ncf> | (also, is there any difference between the two?) |
| 15:23:55 | <ski> | (less bottoms) |
| 15:24:06 | <ncf> | (right) |
| 15:24:55 | → | reverse joins (~inversed@bcdcac82.skybroadband.com) |
| 15:25:13 | → | drdo joins (~drdo@bl8-153-185.dsl.telepac.pt) |
| 15:28:19 | × | barzo quits (~hd@31.223.56.119) (Remote host closed the connection) |
| 15:28:45 | → | barzo joins (~hd@31.223.56.119) |
| 15:28:52 | → | cheater_ joins (~Username@user/cheater) |
| 15:31:11 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 15:31:18 | cheater_ | is now known as cheater |
| 15:33:21 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 15:33:40 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 15:34:28 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 15:34:33 | → | barzo_ joins (~hd@31.223.56.224) |
| 15:35:16 | × | barzo quits (~hd@31.223.56.119) (Ping timeout: 250 seconds) |
| 15:35:38 | × | barzo_ quits (~hd@31.223.56.224) (Client Quit) |
| 15:36:38 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 15:36:43 | → | cheater_ joins (~Username@user/cheater) |
| 15:37:44 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:c066:a9b9:79ee:689b) (Quit: WeeChat 2.8) |
| 15:39:11 | × | cheater quits (~Username@user/cheater) (Ping timeout: 264 seconds) |
| 15:39:18 | cheater_ | is now known as cheater |
| 15:41:38 | → | __monty__ joins (~toonn@user/toonn) |
| 15:45:55 | × | barcisz quits (~barcisz@83.6.194.51.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 15:56:41 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 15:57:27 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:00:04 | × | teo quits (~teo@user/teo) (Remote host closed the connection) |
| 16:00:55 | × | vandita quits (~vandit@84-236-1-67.pool.digikabel.hu) (Ping timeout: 256 seconds) |
| 16:02:42 | → | vandita joins (~vandit@94-21-233-78.pool.digikabel.hu) |
| 16:08:58 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Remote host closed the connection) |
| 16:10:07 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
| 16:12:23 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 16:18:58 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) () |
| 16:19:14 | → | gurkenglas joins (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) |
| 16:19:16 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 16:23:52 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 16:29:03 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:31:28 | → | econo joins (uid147250@user/econo) |
| 16:35:25 | × | wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 16:40:33 | <EvanR> | Inst, that's not tuples fault. But the occurs check which is slapped onto type checking |
| 16:41:01 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 16:41:17 | <EvanR> | which looks for cycles in solution of type variables |
| 16:41:35 | × | ubert quits (~Thunderbi@p200300ecdf18b63ece9cf92d6fdc3292.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 16:41:46 | → | ubert1 joins (~Thunderbi@p200300ecdf18b63e4842c57790a52cb6.dip0.t-ipconnect.de) |
| 16:41:46 | → | cheater joins (~Username@user/cheater) |
| 16:42:21 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 16:43:38 | → | EvanR joins (~EvanR@user/evanr) |
| 16:44:03 | ubert1 | is now known as ubert |
| 16:44:10 | → | alternateved joins (~user@77-253-195-69.adsl.inetia.pl) |
| 16:47:24 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 16:55:23 | × | alternateved quits (~user@77-253-195-69.adsl.inetia.pl) (Remote host closed the connection) |
| 16:57:53 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-8d67-b976-d42b-090f.rev.sfr.net) |
| 17:04:21 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 17:07:42 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:09:11 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 17:15:17 | × | Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection) |
| 17:17:59 | <carter> | sup all! |
| 17:20:49 | → | titibandit joins (~titibandi@user/titibandit) |
| 17:21:42 | × | razetime quits (~quassel@117.193.6.245) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:23:32 | <Hecate> | heya carter |
| 17:23:33 | <Hecate> | o/ |
| 17:23:41 | → | Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
| 17:25:27 | → | mcglk joins (~mcglk@131.191.19.145) |
| 17:32:04 | × | titibandit quits (~titibandi@user/titibandit) (Ping timeout: 265 seconds) |
| 17:32:28 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-8d67-b976-d42b-090f.rev.sfr.net) (Remote host closed the connection) |
| 17:32:46 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-8d67-b976-d42b-090f.rev.sfr.net) |
| 17:33:28 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 17:38:37 | → | biberu joins (~biberu@user/biberu) |
| 17:45:11 | × | mud quits (~mud@user/kadoban) (Ping timeout: 240 seconds) |
| 17:47:12 | × | vandita quits (~vandit@94-21-233-78.pool.digikabel.hu) (Ping timeout: 248 seconds) |
| 17:47:45 | → | titibandit joins (~titibandi@user/titibandit) |
| 17:48:49 | → | vandita joins (~vandit@213-197-76-109.pool.digikabel.hu) |
| 17:52:06 | → | nate2 joins (~nate@98.45.169.16) |
| 17:52:26 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:56:31 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
| 17:59:37 | → | mud joins (~mud@user/kadoban) |
| 18:03:52 | × | mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving) |
| 18:13:02 | → | taupiqueur1 joins (~taupiqueu@2a02-842a-8180-4601-71cd-634c-6227-daa4.rev.sfr.net) |
| 18:15:31 | × | taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-8d67-b976-d42b-090f.rev.sfr.net) (Ping timeout: 240 seconds) |
| 18:16:03 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-8d67-b976-d42b-090f.rev.sfr.net) (Ping timeout: 245 seconds) |
| 18:18:10 | → | eugenrh joins (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) |
| 18:20:53 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) (Ping timeout: 246 seconds) |
| 18:23:28 | × | gurkenglas quits (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 18:28:15 | × | retropikzel quits (9d1a4f9f46@2604:bf00:561:2000::ce) (Remote host closed the connection) |
| 18:28:15 | × | sm2n quits (ae95cb1267@user/sm2n) (Remote host closed the connection) |
| 18:28:15 | × | chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (Remote host closed the connection) |
| 18:28:15 | × | filwisher_ quits (2e6936c793@2604:bf00:561:2000::170) (Remote host closed the connection) |
| 18:28:15 | × | fvr quits (ef3e56ca8b@2604:bf00:561:2000::3c4) (Remote host closed the connection) |
| 18:28:15 | × | whereiseveryone quits (206ba86c98@2604:bf00:561:2000::2e4) (Remote host closed the connection) |
| 18:28:15 | × | b0o quits (0e4a0bf4c9@2604:bf00:561:2000::1bf) (Remote host closed the connection) |
| 18:28:15 | × | shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Write error: Connection reset by peer) |
| 18:28:16 | × | jleightcap quits (7bc4014b62@user/jleightcap) (Remote host closed the connection) |
| 18:28:16 | × | theesm quits (2cbdf4b38a@2604:bf00:561:2000::11c8) (Write error: Connection reset by peer) |
| 18:28:16 | × | arcadewise quits (52968ed80d@2604:bf00:561:2000::3df) (Remote host closed the connection) |
| 18:28:16 | × | Ankhers quits (e99e97ef8e@2604:bf00:561:2000::2a2) (Remote host closed the connection) |
| 18:28:16 | × | henrytill quits (e0180937c3@2604:bf00:561:2000::e8c) (Remote host closed the connection) |
| 18:28:16 | × | ymherklotz quits (cb2c9cfbdd@2604:bf00:561:2000::29a) (Read error: Connection reset by peer) |
| 18:28:16 | × | samhh quits (7569f027cf@2604:bf00:561:2000::e4) (Remote host closed the connection) |
| 18:28:17 | × | MonsoonSecrecy quits (f78c86e960@2604:bf00:561:2000::f99) (Remote host closed the connection) |
| 18:28:17 | × | JoelMcCracken quits (5ea8252fbb@2604:bf00:561:2000::10e3) (Remote host closed the connection) |
| 18:28:17 | × | ggb quits (a62ffbaf4f@2604:bf00:561:2000::3ac) (Remote host closed the connection) |
| 18:28:17 | × | sus quits (1b7af6299f@user/zeromomentum) (Write error: Connection reset by peer) |
| 18:28:17 | × | jakzale quits (6291399afa@user/jakzale) (Remote host closed the connection) |
| 18:28:17 | × | jkoshy quits (99b9359beb@user/jkoshy) (Remote host closed the connection) |
| 18:28:18 | × | probie quits (cc0b34050a@user/probie) (Write error: Connection reset by peer) |
| 18:28:18 | × | n1essa quits (3d621153a5@2604:bf00:561:2000::df7) (Remote host closed the connection) |
| 18:28:18 | × | cpli quits (77fc530071@2604:bf00:561:2000::252) (Remote host closed the connection) |
| 18:28:18 | × | bsima1 quits (9d7e39c8ad@2604:bf00:561:2000::dd) (Remote host closed the connection) |
| 18:28:18 | × | evanrelf quits (3addc196af@2604:bf00:561:2000::f0) (Remote host closed the connection) |
| 18:28:21 | × | lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (Remote host closed the connection) |
| 18:28:22 | × | fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (Remote host closed the connection) |
| 18:29:57 | × | ddellacosta quits (~ddellacos@146.70.171.176) (Quit: WeeChat 3.8) |
| 18:30:03 | → | ggb joins (a62ffbaf4f@2604:bf00:561:2000::3ac) |
| 18:30:04 | → | filwisher joins (2e6936c793@2604:bf00:561:2000::170) |
| 18:30:04 | → | lukec joins (9dfd4d094e@2604:bf00:561:2000::10e) |
| 18:30:04 | → | bsima1 joins (9d7e39c8ad@2604:bf00:561:2000::dd) |
| 18:30:14 | → | retropikzel joins (9d1a4f9f46@2604:bf00:561:2000::ce) |
| 18:30:14 | → | whereiseveryone joins (206ba86c98@2604:bf00:561:2000::2e4) |
| 18:30:14 | → | shreyasminocha joins (51fdc93eda@user/shreyasminocha) |
| 18:30:19 | → | jkoshy joins (99b9359beb@user/jkoshy) |
| 18:30:19 | → | fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2) |
| 18:31:01 | → | probie joins (cc0b34050a@user/probie) |
| 18:31:01 | → | jleightcap joins (7bc4014b62@user/jleightcap) |
| 18:31:01 | → | cpli joins (77fc530071@2604:bf00:561:2000::252) |
| 18:31:09 | → | b0o joins (0e4a0bf4c9@2604:bf00:561:2000::1bf) |
| 18:31:12 | → | n1essa joins (3d621153a5@2604:bf00:561:2000::df7) |
| 18:31:12 | → | ymherklotz joins (cb2c9cfbdd@2604:bf00:561:2000::29a) |
| 18:31:13 | → | fvr joins (ef3e56ca8b@2604:bf00:561:2000::3c4) |
| 18:31:23 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-71cd-634c-6227-daa4.rev.sfr.net) |
| 18:31:24 | → | jakzale joins (6291399afa@user/jakzale) |
| 18:31:27 | → | sm2n joins (ae95cb1267@user/sm2n) |
| 18:31:27 | → | JoelMcCracken joins (5ea8252fbb@2604:bf00:561:2000::10e3) |
| 18:31:27 | → | arcadewise joins (52968ed80d@2604:bf00:561:2000::3df) |
| 18:31:28 | → | samhh joins (7569f027cf@2604:bf00:561:2000::e4) |
| 18:31:28 | → | sus joins (1b7af6299f@user/zeromomentum) |
| 18:31:33 | → | henrytill joins (e0180937c3@2604:bf00:561:2000::e8c) |
| 18:31:36 | → | evanrelf joins (3addc196af@2604:bf00:561:2000::f0) |
| 18:31:41 | → | theesm joins (2cbdf4b38a@2604:bf00:561:2000::11c8) |
| 18:31:43 | → | MonsoonSecrecy joins (f78c86e960@2604:bf00:561:2000::f99) |
| 18:31:45 | × | gensyst quits (~gensyst@user/gensyst) (Quit: Leaving) |
| 18:31:46 | → | chaitlatte0 joins (ea29c0bb16@user/chaitlatte0) |
| 18:31:50 | → | Ankhers joins (e99e97ef8e@2604:bf00:561:2000::2a2) |
| 18:32:31 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-71cd-634c-6227-daa4.rev.sfr.net) (Remote host closed the connection) |
| 18:32:50 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-71cd-634c-6227-daa4.rev.sfr.net) |
| 18:34:22 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 18:34:34 | × | TMA quits (tma@twin.jikos.cz) (Ping timeout: 268 seconds) |
| 18:35:45 | × | chomwitt quits (~chomwitt@athedsl-285388.home.otenet.gr) (Ping timeout: 240 seconds) |
| 18:37:04 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:8d0b:d6b6:c02a:1360) (Remote host closed the connection) |
| 18:37:23 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
| 18:42:40 | × | ubert quits (~Thunderbi@p200300ecdf18b63e4842c57790a52cb6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 18:44:43 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) |
| 18:46:28 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-71cd-634c-6227-daa4.rev.sfr.net) (Ping timeout: 245 seconds) |
| 18:47:08 | × | taupiqueur1 quits (~taupiqueu@2a02-842a-8180-4601-71cd-634c-6227-daa4.rev.sfr.net) (Ping timeout: 240 seconds) |
| 18:47:38 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) |
| 18:50:45 | → | ubert joins (~Thunderbi@p200300ecdf18b63e823e7c78f801aef9.dip0.t-ipconnect.de) |
| 18:54:51 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 18:55:52 | → | zeenk joins (~zeenk@2a02:2f04:a105:f00::7fe) |
| 18:57:08 | → | freeside joins (~mengwong@103.252.202.151) |
| 19:00:00 | zer0bitz_ | is now known as zer0bitz |
| 19:03:14 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 19:07:17 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 19:15:10 | → | ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de) |
| 19:15:39 | → | freeside joins (~mengwong@103.252.202.151) |
| 19:17:59 | × | ddb quits (~ddb@tilde.club) (Quit: WeeChat 3.6) |
| 19:21:04 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 19:21:46 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 19:24:47 | × | nschoe quits (~q@2a01:e0a:8e:a190:1e90:eaba:66b5:fb61) (Ping timeout: 264 seconds) |
| 19:31:51 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Remote host closed the connection) |
| 19:33:04 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 19:33:35 | → | gurkenglas joins (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) |
| 19:38:09 | → | npmania joins (~Thunderbi@121.128.226.31) |
| 19:43:01 | × | npmania quits (~Thunderbi@121.128.226.31) (Ping timeout: 268 seconds) |
| 19:43:09 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) (Quit: WeeChat 3.8) |
| 19:43:20 | → | npmania joins (~Thunderbi@138.199.21.242) |
| 19:43:25 | → | dsrt^ joins (~dsrt@c-71-204-38-59.hsd1.ga.comcast.net) |
| 19:43:34 | × | eugenrh quits (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) (Ping timeout: 250 seconds) |
| 19:45:18 | → | mechap joins (~mechap@user/mechap) |
| 19:47:56 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) (Remote host closed the connection) |
| 19:48:20 | × | thegeekinside quits (~thegeekin@189.141.107.10) (Remote host closed the connection) |
| 19:49:16 | → | taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) |
| 19:49:51 | × | vandita quits (~vandit@213-197-76-109.pool.digikabel.hu) (Ping timeout: 256 seconds) |
| 19:51:10 | → | vandita joins (~vandit@193-226-233-59.pool.digikabel.hu) |
| 19:52:47 | → | thegeekinside joins (~thegeekin@189.141.107.10) |
| 19:53:23 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) |
| 19:53:55 | <kaol> | Any suggestions where to advertise a Haskell meetup? In Helsinki on 5th of June. https://www.meetup.com/helsinki-haskell-users-group/events/293405023/ |
| 19:54:14 | <geekosaur> | the discourse and maybe /r/haskell |
| 19:54:26 | <geekosaur> | probably haskell-cafe too |
| 19:55:09 | → | Guest61 joins (~Guest61@2a02-a464-bc6c-1-947f-cae5-1f74-1789.fixed6.kpn.net) |
| 19:56:59 | <carter> | Yeah that’s probably the right channels |
| 19:59:04 | <kaol> | Ok, thanks, done to Discourse. We have a reservation for 50 people and still have room for 19. |
| 20:01:30 | → | freeside joins (~mengwong@103.252.202.151) |
| 20:05:28 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 20:06:27 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 20:07:51 | → | quarkyalice joins (~alice@199.sub-97-136-32.myvzw.com) |
| 20:07:51 | × | quarkyalice quits (~alice@199.sub-97-136-32.myvzw.com) (Changing host) |
| 20:07:51 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 20:09:34 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:13:47 | × | tok quits (~user@user/tok) (Remote host closed the connection) |
| 20:17:18 | × | quarkyalice quits (~alice@user/quarkyalice) (Remote host closed the connection) |
| 20:17:44 | → | quarkyalice joins (~alice@199.sub-97-136-32.myvzw.com) |
| 20:17:44 | × | quarkyalice quits (~alice@199.sub-97-136-32.myvzw.com) (Changing host) |
| 20:17:44 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 20:19:20 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 20:21:10 | → | mechap joins (~mechap@user/mechap) |
| 20:30:05 | × | nick_ quits (~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 256 seconds) |
| 20:32:37 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) |
| 20:35:17 | × | oo_miguel quits (~Thunderbi@77.252.47.84) (Ping timeout: 246 seconds) |
| 20:37:01 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Ping timeout: 240 seconds) |
| 20:46:02 | → | pavonia joins (~user@user/siracusa) |
| 20:49:37 | <ghostbuster> | hutton book is here, thank $deity for next-day shipping |
| 20:52:50 | × | Guest61 quits (~Guest61@2a02-a464-bc6c-1-947f-cae5-1f74-1789.fixed6.kpn.net) (Quit: Client closed) |
| 21:00:20 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 21:00:48 | × | takuan_dozo quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:10:36 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) (Remote host closed the connection) |
| 21:10:55 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) |
| 21:14:21 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 21:15:25 | × | gurkenglas quits (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 21:16:06 | <ghostbuster> | so.. this function works, but it has to compute fib n even if it's going to throw away most of the work |
| 21:16:09 | <ghostbuster> | https://termbin.com/jilb |
| 21:16:14 | × | ubert quits (~Thunderbi@p200300ecdf18b63e823e7c78f801aef9.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 21:16:21 | → | ubert1 joins (~Thunderbi@p200300ecdf18b6df36e22024a437cc27.dip0.t-ipconnect.de) |
| 21:17:34 | <jade[m]> | indeed |
| 21:17:41 | <jade[m]> | I'm not sure I understand fibTo |
| 21:18:30 | <ghostbuster> | it's a partial solution to this challenge https://projecteuler.net/problem=2 |
| 21:18:39 | ubert1 | is now known as ubert |
| 21:18:55 | <[exa]> | hm is there any common reason why `cabal haddock` would refuse to generate docs for an executable? |
| 21:19:03 | × | michalz quits (~michalz@185.246.204.89) (Remote host closed the connection) |
| 21:19:27 | <Rembane> | ghostbuster: Would you like a hint? |
| 21:19:48 | <[exa]> | I think I'm forgetting something dumb, but I just wrote `cabal haddock --haddock-executables` and expected it to work, and it apparently works in general because google is silent |
| 21:19:58 | <[exa]> | with -v I end up with: whenReRegister: nothing to register |
| 21:20:51 | <ghostbuster> | Rembane: i'll stare at it a bit longer.. just wanted to confirm that my assumption is correct about why a small value of L does not reduce the long runtime for a large value of N |
| 21:21:38 | <Rembane> | ghostbuster: Cool. What's your assumption? That it has to throw away most of its work? |
| 21:22:06 | <mauke> | fibTo makes no sense. also, why does it compute fib n twice? |
| 21:22:57 | <ghostbuster> | i guess i misunderstood what lazy evaluation means |
| 21:23:43 | <jade[m]> | if needs to evaluate the argument in the condition to see what branch it'll take |
| 21:23:43 | <ghostbuster> | i figured it would cache the result of fib n |
| 21:23:44 | <Rembane> | ghostbuster: All values are still needed which is why they are evaluated. |
| 21:24:05 | <mauke> | Int is "atomic" for our purposes |
| 21:24:06 | <jade[m]> | ghostbuster: only if you bind it like `let result = fib n in ...` |
| 21:24:18 | <[exa]> | ghostbuster: it does, but in a surprising way (it caches each "invocation" of the `fib n` separately) |
| 21:24:29 | <mauke> | fib n < l will not shortcut the computation |
| 21:24:42 | <[exa]> | ghostbuster: which ain't particularly useful but I guess the narrative will develop eventually |
| 21:24:47 | <mauke> | so a large value of n will do exponential work, no matter what l is |
| 21:25:00 | <ghostbuster> | mauke: yeah i've realized that now |
| 21:25:18 | <ghostbuster> | i didn't realize it was exponential |
| 21:25:52 | <mauke> | each call to fib results in two recursive calls to fib |
| 21:25:58 | <mauke> | that's like 2^n runtime |
| 21:26:14 | <mauke> | most of which is duplicated work |
| 21:26:16 | <[exa]> | ghostbuster: otoh if you would write e.g. `myNumber = fib 20 :: Integer ` to the toplevel, that is going to get memoized |
| 21:26:45 | <ghostbuster> | why is it 2^n? |
| 21:27:02 | <ghostbuster> | oh i see, nvm |
| 21:27:14 | <jade[m]> | because each call to fib calls fib twice again |
| 21:27:25 | <jade[m]> | reducing linearly |
| 21:27:30 | <ghostbuster> | yeah i won't ship this to production yet |
| 21:27:37 | <mauke> | 2*2*2*..., n layers deep |
| 21:28:15 | <jade[m]> | this is an interesting next step after solving the inital problem - how can you efficiently represent this computation with a datatype |
| 21:28:40 | <mauke> | heh |
| 21:28:49 | <mauke> | that part is a bit counterintuitive |
| 21:29:12 | <ghostbuster> | i don't think it's possible to solve this challenge with a classic implementation of fib that's called by other functions |
| 21:29:33 | <jade[m]> | oh, it is |
| 21:29:49 | <ghostbuster> | hmm ok |
| 21:29:52 | <mauke> | not if by "classic" you mean the double-recursive one |
| 21:30:02 | <mauke> | because that's a stupid use of recursion |
| 21:30:15 | <ghostbuster> | hmm |
| 21:30:34 | <jade[m]> | even that would be possible if you used a tree that stores intermediate computations |
| 21:30:39 | ghostbuster | goes back to reading his new book |
| 21:30:41 | <[exa]> | (math people still love it!) |
| 21:30:44 | <jade[m]> | but a linear sum is easier |
| 21:30:47 | × | jero98772 quits (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) (Ping timeout: 264 seconds) |
| 21:31:36 | <ghostbuster> | i thought haskell programmers were math people |
| 21:31:46 | <jade[m]> | this is my favorite way to write the fibonacci sequence ||fibs = 0 : 1 : zipWith (+) fibs (tail fibs)|| |
| 21:31:55 | <jade[m]> | ah shit, why did it not spoiler |
| 21:32:05 | <jade[m]> | nevermind |
| 21:32:10 | <mauke> | because this is IRC :-) |
| 21:32:42 | <mauke> | > let fib n = step 1 2 n where { step a _ 0 = a; step a b n = step b (a + b) (n - 1) } in fib 11 |
| 21:32:43 | <lambdabot> | 233 |
| 21:32:55 | <mauke> | that doesn't sound right |
| 21:33:51 | <Rembane> | Is 233 in the sequence at all? |
| 21:33:59 | <Rembane> | > 89 + 144 |
| 21:34:00 | <lambdabot> | 233 |
| 21:34:04 | <Rembane> | It is! |
| 21:34:05 | <mauke> | oh, I see. it's off by 2 |
| 21:34:17 | <Rembane> | Off by one error twice. The good stuff. |
| 21:34:24 | <mauke> | everyone knows the 12th fibonacci number is 12² |
| 21:34:51 | <mauke> | > let fib n = step 0 1 n where { step a _ 0 = a; step a b n = step b (a + b) (n - 1) } in fib 12 |
| 21:34:52 | <lambdabot> | 144 |
| 21:35:26 | <[exa]> | ghostbuster: math people tangled by finitist reality, yeah |
| 21:35:29 | <mauke> | anyway, this is the functional equivalent of a loop that just adds up numbers |
| 21:35:48 | <jade[m]> | > let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in fibs !! 12 |
| 21:35:49 | <lambdabot> | 144 |
| 21:36:14 | <dminuoso> | mauke: I think its not just the "equivalent" of a loop - it is a loop. |
| 21:36:23 | <mauke> | which you can think of as a simulation of walking along the fibonacci sequence from the beginning, generating elements as you go |
| 21:36:29 | <dminuoso> | Unless we call (+) the functional equivalent of adding numbers too. |
| 21:36:50 | <mauke> | it's not a loop because it doesn't use 'while' |
| 21:36:56 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) (Remote host closed the connection) |
| 21:37:12 | <dminuoso> | So `for(;;) { ... }` in C is not a loop either? |
| 21:37:20 | <[exa]> | int-e: quick question, did you manage to find a workaround for https://github.com/haskell/cabal/issues/5890 ? |
| 21:37:58 | <mauke> | oh, in C you get three types of explicit loops: while, for, do/while |
| 21:38:04 | <mauke> | but they're all kind of the same thing |
| 21:38:19 | <dminuoso> | mauke: just like recursion goes into "kind of the same thing". |
| 21:38:27 | <mauke> | plus two ways of implied looping, goto and longjmp |
| 21:38:54 | <dminuoso> | In STG a function call is sort of a goto too. |
| 21:39:08 | <dminuoso> | very much so in fact. |
| 21:39:11 | <ncf> | jade[m]: coinductive fib is based |
| 21:39:23 | <mauke> | that's an implementation detail |
| 21:39:41 | → | TMA joins (tma@twin.jikos.cz) |
| 21:39:44 | <mauke> | just because C is compiled to Haskell doesn't make it a functional language |
| 21:39:47 | <dminuoso> | mauke: so is the "goto" (jnz) inside for loops. |
| 21:39:50 | <dminuoso> | Its a detail. |
| 21:40:32 | <dminuoso> | loops are a form of control flow |
| 21:41:00 | <jade[m]> | it's all just words, they don't mean anything by themselves |
| 21:41:01 | <dminuoso> | And if you insist that control flow to be somehow part of a languages vocabulary, Haskell brings Data.Function.fix |
| 21:41:07 | <jade[m]> | it depends on the context you put them in |
| 21:41:17 | <mauke> | doesn't mean all control flow is loops |
| 21:41:28 | <dminuoso> | Of course not, but recursion is loops. |
| 21:41:44 | <dminuoso> | They are equivalent. |
| 21:41:48 | <jade[m]> | and loops are recursion by the same reasoning |
| 21:41:54 | <jade[m]> | yeah, it doesn't matter |
| 21:41:57 | <jade[m]> | it's just words |
| 21:42:05 | <mauke> | if they were the same, they would have no need to be equivalent |
| 21:42:07 | → | jero98772 joins (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) |
| 21:42:09 | <jade[m]> | they don't mean anything by themselves |
| 21:42:12 | <jade[m]> | context matters |
| 21:42:38 | <dminuoso> | mauke: The only real difference is that of structured programming. |
| 21:43:02 | <dminuoso> | That is, `for/while/etc` is *structured* control flow, whereas recursion is unstructured. |
| 21:43:15 | <dminuoso> | But both are loops just fine. |
| 21:43:18 | <mauke> | recursion isn't even control flow |
| 21:43:34 | <mauke> | it's about pronouns |
| 21:44:10 | <mauke> | > let it = 0 : it in it |
| 21:44:12 | <lambdabot> | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0... |
| 21:45:27 | <mauke> | speaking of loops, do you happen to know an algorithm that can traverse an arbitrary graph in O(1) memory? |
| 21:45:51 | <dminuoso> | mauke: Recursion is as much control flow as it possibly can be. Control flow is literally about the flow of program control. |
| 21:46:01 | <dminuoso> | You can visually draw the flow of control in case of recursion. |
| 21:46:28 | <mauke> | I can (temporarily) mutate the nodes to detect cycles, but the obvious recursive implementation takes O(n) stack |
| 21:47:18 | <mauke> | I can visually draw the flow of control in case of no recursion, too |
| 21:47:45 | <mauke> | > let it = const 42 it in it -- a recursive definition |
| 21:47:46 | <lambdabot> | 42 |
| 21:48:01 | <jade[m]> | the real control flow is the friends we made along the way |
| 21:48:17 | <dminuoso> | That's just introducing ambiguous nomenclature. |
| 21:48:40 | <dminuoso> | Can we agree to define `recursion` to refer to recursive function calls? |
| 21:48:58 | <mauke> | no |
| 21:49:23 | <mauke> | someone once told me that haskell has no function calls |
| 21:50:02 | <dminuoso> | You're just arguing on word plays now. Im going to abondon this conversation. |
| 21:50:06 | → | freeside joins (~mengwong@103.252.202.151) |
| 21:50:19 | <mauke> | I mean, you started it |
| 21:50:30 | <jade[m]> | https://en.m.wikipedia.org/wiki/Semantic_discord |
| 21:51:54 | <mauke> | "Semantic discord is the situation where two parties disagree on the definition of a word" ... "Such discord can lead to a semantic dispute, a disagreement that arises if the parties involved disagree about the definition of a word" |
| 21:51:58 | <mauke> | what |
| 21:52:51 | <jade[m]> | lmao |
| 21:52:56 | <jade[m]> | peak wikipedia |
| 21:53:07 | → | nate2 joins (~nate@98.45.169.16) |
| 21:54:02 | × | vandita quits (~vandit@193-226-233-59.pool.digikabel.hu) (Ping timeout: 265 seconds) |
| 21:54:40 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 21:55:35 | → | vandita joins (~vandit@178-164-206-99.pool.digikabel.hu) |
| 21:57:52 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 22:19:00 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 22:21:18 | × | mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 250 seconds) |
| 22:26:12 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 22:26:52 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:40:26 | × | jero98772 quits (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) (Ping timeout: 265 seconds) |
| 22:45:21 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:46:24 | <EvanR> | scrolls up to see if there was an obligatory reference to "The C language is purely functional" blog post |
| 22:47:56 | <EvanR> | mauke, yes. Take the memory in use by the graph, and incrementally reclaim it as you use it to remember which nodes you already saw xD |
| 22:48:17 | × | acidjnk quits (~acidjnk@p200300d6e7072f19f418e5b952ba8eeb.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 22:49:43 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 22:51:44 | → | jero98772 joins (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) |
| 22:57:53 | × | kaskal quits (~kaskal@089144220013.atnat0029.highway.webapn.at) (Ping timeout: 268 seconds) |
| 22:58:01 | → | kaskal- joins (~kaskal@213-147-167-98.nat.highway.webapn.at) |
| 22:58:43 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:01:11 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds) |
| 23:05:20 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 23:13:10 | × | xameer quits (~xameer@144.48.224.179) (Remote host closed the connection) |
| 23:14:42 | → | xameer joins (~xameer@144.48.225.48) |
| 23:26:34 | → | Pickchea joins (~private@user/pickchea) |
| 23:26:41 | → | mauke_ joins (~mauke@user/mauke) |
| 23:27:29 | × | Pickchea quits (~private@user/pickchea) (Remote host closed the connection) |
| 23:28:43 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 268 seconds) |
| 23:28:43 | mauke_ | is now known as mauke |
| 23:35:45 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 23:36:08 | × | quarkyalice quits (~alice@user/quarkyalice) (Quit: Leaving) |
| 23:36:13 | × | jargon quits (~jargon@184.101.78.160) (Remote host closed the connection) |
| 23:39:28 | → | quarkyalice joins (~alice@199.sub-97-136-32.myvzw.com) |
| 23:39:28 | × | quarkyalice quits (~alice@199.sub-97-136-32.myvzw.com) (Changing host) |
| 23:39:28 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 23:40:01 | × | quarkyalice quits (~alice@user/quarkyalice) (Remote host closed the connection) |
| 23:40:23 | × | thegeekinside quits (~thegeekin@189.141.107.10) (Ping timeout: 240 seconds) |
| 23:44:16 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 23:47:04 | → | quarkyalice joins (~alice@199.sub-97-136-32.myvzw.com) |
| 23:47:04 | × | quarkyalice quits (~alice@199.sub-97-136-32.myvzw.com) (Changing host) |
| 23:47:04 | → | quarkyalice joins (~alice@user/quarkyalice) |
| 23:50:20 | × | npmania quits (~Thunderbi@138.199.21.242) (Remote host closed the connection) |
| 23:55:03 | <maralorn> | So, apparently more and more packages are considering exposing their internals in an -internals package so that the exposed package can follow PvP. This is weird. Is their no better solution for this? How are other languages dealing with this? |
| 23:56:09 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 23:56:22 | <maralorn> | I mean it kinda makes sense if you want to expose internals and version them differently. It makes less sense if you just expose internals for usage in binaries or tests. |
| 23:57:51 | <hpc> | some languages don't have export control, and you just rely on users to stick to the api you want them to use |
| 23:58:12 | <hpc> | sometimes the internals just aren't exposed at all, and a lot of closed-source libraries are that way |
| 23:58:22 | <c_wraith> | I think it's a perfectly good strategy to just treat .Internals modules as covered by the PVP, and update versions accordingly. I don't understand why that approach gets rejected. |
| 23:58:34 | <hpc> | you just get a header file and cat 'good luck' > readme.md |
All times are in UTC on 2023-05-23.