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