2022-08-10 00:00:29 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 00:02:10 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.6) |
2022-08-10 00:03:06 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-08-10 00:08:29 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-08-10 00:10:04 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 00:10:48 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 00:14:32 +0200 | coot | (~coot@213.134.176.158) (Quit: coot) |
2022-08-10 00:16:52 +0200 | coot | (~coot@213.134.176.158) |
2022-08-10 00:17:12 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-08-10 00:17:28 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 00:18:01 +0200 | coot | (~coot@213.134.176.158) (Remote host closed the connection) |
2022-08-10 00:18:07 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-08-10 00:18:38 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-08-10 00:19:33 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-08-10 00:19:37 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-08-10 00:22:22 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 268 seconds) |
2022-08-10 00:32:18 +0200 | ystael_ | (~ystael@user/ystael) (Ping timeout: 240 seconds) |
2022-08-10 00:32:44 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-08-10 00:37:55 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 00:38:29 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
2022-08-10 00:53:23 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-08-10 00:58:10 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 268 seconds) |
2022-08-10 01:03:43 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-08-10 01:05:35 +0200 | <phma> | What needs to be in a repo to be ready to upload to Hackage? |
2022-08-10 01:06:53 +0200 | <hpc> | a cabal file, and technically that's pretty much it :P |
2022-08-10 01:07:58 +0200 | <geekosaur> | last I checked cabal insisted on a LICENSE file. cabal check will tell you what you need |
2022-08-10 01:09:22 +0200 | <hpc> | you might want to build docs locally and make sure they look right |
2022-08-10 01:10:36 +0200 | <EvanR> | nah, just yolo upload the package, wait (?) months for docs to build. See they are wrong, and do a fixup |
2022-08-10 01:10:47 +0200 | <EvanR> | which doesn't require a new release |
2022-08-10 01:11:31 +0200 | <phma> | is there a stack check? |
2022-08-10 01:14:51 +0200 | geekosaur | has no idea |
2022-08-10 01:14:57 +0200 | luffy | (~chenqisu1@183.217.201.23) |
2022-08-10 01:18:38 +0200 | <geekosaur> | my guess is that, just as cabal sdist runs a check first, stack sdist does whatever checks are needed first |
2022-08-10 01:20:20 +0200 | slack1256 | (~slack1256@wsip-184-177-0-226.no.no.cox.net) (Ping timeout: 268 seconds) |
2022-08-10 01:29:12 +0200 | acidjnk_new | (~acidjnk@p200300d6e705866691d881defe97b1cb.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-08-10 01:30:22 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
2022-08-10 01:36:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 01:44:23 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds) |
2022-08-10 01:44:25 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 01:50:27 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-08-10 01:50:28 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-08-10 01:50:28 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-08-10 01:55:55 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 02:00:27 +0200 | Kaipei | Kaiepi |
2022-08-10 02:00:49 +0200 | <dsal> | I don't hate hedgehog, but it does feel like it was written by someone who didn't use Haskell all that much. Or at least, did weird things. |
2022-08-10 02:00:55 +0200 | <dsal> | I just used `tripping` which is `tripping :: (MonadTest m, Applicative f, Show b, Show (f a), Eq (f a), HasCallStack) => a -> (a -> b) -> (b -> f a) -> m ()` |
2022-08-10 02:01:11 +0200 | <dsal> | Putting the thing you're testing as the first argument is kind of hostile. |
2022-08-10 02:02:00 +0200 | <DigitalKiwi> | aren't all arguments the first |
2022-08-10 02:02:15 +0200 | <dsal> | heh |
2022-08-10 02:02:34 +0200 | <DigitalKiwi> | unless it's the color of the shed |
2022-08-10 02:02:55 +0200 | <DigitalKiwi> | ...or maybe that argument just never ended |
2022-08-10 02:03:31 +0200 | <dsal> | This is the difference between `forAll genThing >>= \aThing -> tripping aThing printThing parseThing` and `forAll genThing >>= tripping printThing parseThing` |
2022-08-10 02:03:49 +0200 | <EvanR> | no you're right, you put the variable with "highest frequency" last |
2022-08-10 02:04:41 +0200 | <EvanR> | to take advantage of partialing |
2022-08-10 02:05:01 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 02:05:15 +0200 | <EvanR> | sometimes it's a toss up and you're screwed, but it's not as bad as OOP binary operators |
2022-08-10 02:05:21 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-08-10 02:05:35 +0200 | <hpc> | oh man, don't even get me started on python's ','.join(list) |
2022-08-10 02:05:51 +0200 | <dsal> | Yeah. This case is pretty clear. The thing you want to test is the output of the generator and the input of the tester thing. |
2022-08-10 02:06:14 +0200 | <EvanR> | didn't even think of that |
2022-08-10 02:06:23 +0200 | <EvanR> | I mean DUH |
2022-08-10 02:06:37 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
2022-08-10 02:07:10 +0200 | <dsal> | It usually does its job well, but it's just weird to use sometimes. |
2022-08-10 02:08:03 +0200 | <EvanR> | hpc, put anything that accepts a bool somewhere in the signature under the Bool class xD |
2022-08-10 02:08:10 +0200 | <DigitalKiwi> | goodbye hedgehog hello porcupine |
2022-08-10 02:08:54 +0200 | <DigitalKiwi> | oooh moonrat |
2022-08-10 02:09:34 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 02:10:57 +0200 | cyanide3dinner | (~cyanide4d@2402:e280:2149:513:931b:41cb:2a7e:791d) (Remote host closed the connection) |
2022-08-10 02:11:24 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-08-10 02:12:38 +0200 | <DigitalKiwi> | til hedgehog and porcupine aren't even in the same order |
2022-08-10 02:12:43 +0200 | <DigitalKiwi> | but i learned of moonrats |
2022-08-10 02:12:57 +0200 | <EvanR> | sounds like something out of D&D |
2022-08-10 02:13:08 +0200 | <dsal> | See, sometimes complaining yields good results. |
2022-08-10 02:14:22 +0200 | <hpc> | EvanR: like they're the preferred food of owlbears? :D |
2022-08-10 02:14:28 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 02:16:39 +0200 | <DigitalKiwi> | https://en.wikipedia.org/wiki/Gymnure |
2022-08-10 02:18:01 +0200 | <DigitalKiwi> | rats and porcupines are more closely related than porcupines and hedgehogs lol |
2022-08-10 02:19:11 +0200 | <DigitalKiwi> | moonrats look like rodents of unusual size |
2022-08-10 02:20:09 +0200 | <DigitalKiwi> | but are not rodents |
2022-08-10 02:20:19 +0200 | <DigitalKiwi> | this has been a taxonomy lesson i'm on topic you see |
2022-08-10 02:20:45 +0200 | <hpc> | everyone knows haskell talk belongs in -offtopic anyway :D |
2022-08-10 02:20:59 +0200 | <geekosaur> | monochrom's not gate in action 🙂 |
2022-08-10 02:22:39 +0200 | aliosablack | (~chomwitt@2a02:587:dc15:5e00:ea1e:e5c0:de8:53e2) (Ping timeout: 268 seconds) |
2022-08-10 02:23:28 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 02:24:49 +0200 | <DigitalKiwi> | https://github.com/jacobstanley?tab=repositories&q=&type=source&language=&sort= i would say a few of these classify as weird things aye lol |
2022-08-10 02:27:05 +0200 | <DigitalKiwi> | https://github.com/jacobstanley/cthulhu |
2022-08-10 02:28:46 +0200 | <DigitalKiwi> | what's a smart http |
2022-08-10 02:28:47 +0200 | <DigitalKiwi> | https://github.com/jacobstanley/mothership |
2022-08-10 02:32:35 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-08-10 02:33:35 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2022-08-10 02:44:42 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
2022-08-10 02:49:00 +0200 | king_gs | (~Thunderbi@187.201.102.80) |
2022-08-10 02:51:41 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-08-10 02:53:58 +0200 | mmhat | (~mmh@p200300f1c72ee96aee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6) |
2022-08-10 03:00:52 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 03:02:21 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:9f22:be61:9bf8:3a54) (Ping timeout: 255 seconds) |
2022-08-10 03:07:02 +0200 | Colere | (~colere@about/linux/staff/sauvin) (Ping timeout: 268 seconds) |
2022-08-10 03:07:17 +0200 | lsrts^ | (~lsrts@206.85.120.17) |
2022-08-10 03:07:39 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-08-10 03:09:18 +0200 | Colere | (~colere@about/linux/staff/sauvin) |
2022-08-10 03:10:07 +0200 | jargon | (~jargon@184.101.168.117) |
2022-08-10 03:10:21 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 252 seconds) |
2022-08-10 03:11:06 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-08-10 03:11:21 +0200 | king_gs | (~Thunderbi@187.201.102.80) (Ping timeout: 268 seconds) |
2022-08-10 03:14:01 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 03:16:44 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-08-10 03:17:14 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-08-10 03:17:43 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-08-10 03:18:45 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 03:21:10 +0200 | <qrpnxz> | name of the game: get rid of unboxed integers. Enemy numbers one: lifted polymorphism. Solution: chunking? |
2022-08-10 03:21:26 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-08-10 03:21:50 +0200 | lsrts^ | (~lsrts@206.85.120.17) (Ping timeout: 268 seconds) |
2022-08-10 03:22:00 +0200 | <qrpnxz> | rid of boxed integers rather |
2022-08-10 03:22:06 +0200 | <qrpnxz> | ugh |
2022-08-10 03:22:09 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-08-10 03:22:30 +0200 | <qrpnxz> | hard to get the performance i want |
2022-08-10 03:27:58 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 03:31:07 +0200 | king_gs | (~Thunderbi@187.201.102.80) |
2022-08-10 03:31:26 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
2022-08-10 03:32:42 +0200 | <EvanR> | enemy numbers |
2022-08-10 03:33:35 +0200 | <DigitalKiwi> | cope |
2022-08-10 03:34:45 +0200 | <geekosaur> | if integers is `Integer`s then you have bigger problems than boxing |
2022-08-10 03:34:49 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-08-10 03:34:57 +0200 | lsrts^ | (~lsrts@206.85.120.17) |
2022-08-10 03:35:09 +0200 | <zzz> | word |
2022-08-10 03:35:23 +0200 | <DigitalKiwi> | "who're your enemies?" "numbers" "that's a lot" "how many you suppose?" "well, all of them" |
2022-08-10 03:35:36 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-08-10 03:36:01 +0200 | <DigitalKiwi> | imaginary enemies |
2022-08-10 03:36:15 +0200 | <geekosaur> | complex enemies |
2022-08-10 03:36:25 +0200 | <DigitalKiwi> | irrational enemies |
2022-08-10 03:36:27 +0200 | <zzz> | surreal enemies |
2022-08-10 03:36:32 +0200 | lsrts^ | (~lsrts@206.85.120.17) (Remote host closed the connection) |
2022-08-10 03:37:34 +0200 | <DigitalKiwi> | sea enemies |
2022-08-10 03:37:45 +0200 | <DigitalKiwi> | https://en.wikipedia.org/wiki/Sea_anemone :) |
2022-08-10 03:39:05 +0200 | EvanR | (~EvanR@user/evanr) (Quit: Leaving) |
2022-08-10 03:40:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 03:43:13 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-08-10 03:43:54 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-08-10 03:44:41 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-08-10 03:44:42 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-08-10 03:44:42 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-08-10 03:48:21 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-08-10 03:51:38 +0200 | dcoutts_ | (~duncan@host86-167-206-78.range86-167.btcentralplus.com) |
2022-08-10 03:51:44 +0200 | king_gs | (~Thunderbi@187.201.102.80) (Read error: Connection reset by peer) |
2022-08-10 03:52:16 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 03:53:52 +0200 | king_gs | (~Thunderbi@187.201.102.80) |
2022-08-10 03:53:59 +0200 | dcoutts | (~duncan@host86-184-129-193.range86-184.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-08-10 03:56:57 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 03:57:38 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 03:59:18 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-08-10 04:06:16 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-08-10 04:06:27 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2022-08-10 04:06:49 +0200 | JimL | (~quassel@89-162-2-132.fiber.signal.no) (Ping timeout: 252 seconds) |
2022-08-10 04:07:17 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 04:09:23 +0200 | <qrpnxz> | OH YEAH BABY. it's all about that chunking. From dozens of gigabytes of memory and several minutes, to 1.3 seconds and exactly the amount of memory i expect |
2022-08-10 04:10:20 +0200 | <Axman6> | what're you working on? |
2022-08-10 04:12:42 +0200 | king_gs | (~Thunderbi@187.201.102.80) (Read error: Connection reset by peer) |
2022-08-10 04:12:53 +0200 | king_gs1 | (~Thunderbi@2806:103e:29:da31:dbd5:c070:5d09:91ef) |
2022-08-10 04:13:20 +0200 | <qrpnxz> | a project i'm working on needs a library for some protocol, so i'm implementing that, but I wanted a streaming parser, so i went on a side-quest for like weeks investigating streaming in haskell. Honestly still not sure exactly what i'm gonna go for, but at least i'm getting an idea of the general principles needed to not have it be dog crap slow. |
2022-08-10 04:15:11 +0200 | king_gs1 | king_gs |
2022-08-10 04:16:09 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-08-10 04:16:09 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-08-10 04:16:09 +0200 | finn_elija | FinnElija |
2022-08-10 04:17:37 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-08-10 04:19:45 +0200 | GoldsteinQ | (~goldstein@goldstein.rs) |
2022-08-10 04:23:33 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2022-08-10 04:27:03 +0200 | cheater | (~Username@user/cheater) |
2022-08-10 04:28:24 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-08-10 04:28:53 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-08-10 04:33:23 +0200 | td_ | (~td@94.134.91.254) (Ping timeout: 268 seconds) |
2022-08-10 04:34:19 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 252 seconds) |
2022-08-10 04:34:40 +0200 | td_ | (~td@muedsl-82-207-238-185.citykom.de) |
2022-08-10 04:37:16 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 04:46:46 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 04:48:43 +0200 | Guest92 | (~Guest92@2607:fea8:fca0:7efd:6604:7838:c1ec:5a0a) |
2022-08-10 04:49:07 +0200 | <Guest92> | @unmtl MaybeT (State String) a |
2022-08-10 04:49:07 +0200 | <lambdabot> | String -> (Maybe a, String) |
2022-08-10 04:49:20 +0200 | <Guest92> | @unmtl StateT String Maybe a |
2022-08-10 04:49:20 +0200 | <lambdabot> | String -> Maybe (a, String) |
2022-08-10 04:52:17 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 04:52:30 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2022-08-10 04:53:11 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 04:54:15 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 04:54:38 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 04:56:11 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 04:56:46 +0200 | <qrpnxz> | yeah, the fact some transformers actually transform backwards, is eyebrow raising |
2022-08-10 05:01:22 +0200 | Guest92 | (~Guest92@2607:fea8:fca0:7efd:6604:7838:c1ec:5a0a) (Quit: Client closed) |
2022-08-10 05:01:34 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
2022-08-10 05:20:31 +0200 | pgib | (~textual@173.38.117.69) (Ping timeout: 252 seconds) |
2022-08-10 05:21:14 +0200 | EsoAlgo | (~EsoAlgo@129.146.136.145) (Ping timeout: 244 seconds) |
2022-08-10 05:23:05 +0200 | foul_owl | (~kerry@23.82.194.108) (Ping timeout: 252 seconds) |
2022-08-10 05:28:25 +0200 | foul_owl | (~kerry@174-21-65-36.tukw.qwest.net) |
2022-08-10 05:29:30 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
2022-08-10 05:29:58 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-08-10 05:32:02 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.5) |
2022-08-10 05:32:24 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 05:32:35 +0200 | hsw | (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 255 seconds) |
2022-08-10 05:32:41 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
2022-08-10 05:33:13 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-08-10 05:33:13 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-08-10 05:33:13 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-08-10 05:33:15 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds) |
2022-08-10 05:34:49 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-08-10 05:35:19 +0200 | mbuf | (~Shakthi@122.165.55.71) |
2022-08-10 05:36:02 +0200 | hsw | (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) |
2022-08-10 05:36:12 +0200 | hsw | (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection) |
2022-08-10 05:36:17 +0200 | vglfr | (~vglfr@37.73.110.255) (Ping timeout: 252 seconds) |
2022-08-10 05:36:25 +0200 | hsw | (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) |
2022-08-10 05:38:11 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
2022-08-10 05:39:25 +0200 | vglfr | (~vglfr@37.73.110.255) |
2022-08-10 05:40:31 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 05:40:40 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 05:43:02 +0200 | foul_owl | (~kerry@174-21-65-36.tukw.qwest.net) (Ping timeout: 268 seconds) |
2022-08-10 05:43:23 +0200 | Vajb | (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) (Read error: Connection reset by peer) |
2022-08-10 05:44:09 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
2022-08-10 05:44:43 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2022-08-10 05:45:05 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
2022-08-10 05:46:19 +0200 | Lumia | (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) |
2022-08-10 05:49:14 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 05:49:35 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2022-08-10 05:54:08 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 05:55:33 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-08-10 05:55:33 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-08-10 05:55:34 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-08-10 05:56:38 +0200 | foul_owl | (~kerry@23.82.194.107) |
2022-08-10 05:58:26 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 06:00:06 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.5) |
2022-08-10 06:00:22 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 06:00:43 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 06:01:26 +0200 | <Axman6> | I don't think it's accurate to say they transform backwards, there's only really one way most transformers can be defined, and the composition of them gives different monads depending on the order - like above, the former will tell you what the state was when things fail, but the latter won't (IMO the latter is probably more useful, but the former is probably more common) |
2022-08-10 06:02:10 +0200 | <Axman6> | actually, ignore that last bit |
2022-08-10 06:03:40 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:dbd5:c070:5d09:91ef) (Quit: king_gs) |
2022-08-10 06:04:21 +0200 | <texasmynsted> | Anybody have this book? https://mmhaskell.com/ebooks |
2022-08-10 06:06:09 +0200 | <texasmynsted> | "Haskell Data Structures: In Depth" I am curious about what 9 data structures this would have. I am kind of a sucker for good pedagogy... I guess I could just shell out the $10 and find out. |
2022-08-10 06:06:32 +0200 | <Axman6> | Never heard of it. It's a shame it doesn't tell you more about the content |
2022-08-10 06:06:47 +0200 | <texasmynsted> | yeah |
2022-08-10 06:07:16 +0200 | <texasmynsted> | from this source https://mmhaskell.com/ |
2022-08-10 06:07:44 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-08-10 06:10:24 +0200 | <texasmynsted> | I can't even think of 9 haskell data structures. |
2022-08-10 06:10:43 +0200 | <texasmynsted> | Type classes, but not data structures |
2022-08-10 06:11:50 +0200 | <Axman6> | List, Map, HashMap, Seq, DList, Vector, (MVector)... I would expect at least these to be covered |
2022-08-10 06:12:13 +0200 | <Axman6> | I'm assuming Maybe and Either are too trivial to really consider data structures |
2022-08-10 06:12:17 +0200 | <Axman6> | maybe IntMap? |
2022-08-10 06:12:42 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 06:13:04 +0200 | <Axman6> | but the differences between (Hash|Int|)Map are relatively small, mostly relating to asymtotics, and a few unique features of their APIs |
2022-08-10 06:14:12 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-08-10 06:14:22 +0200 | <texasmynsted> | List, Map, Seq, Set, Vector, |
2022-08-10 06:14:29 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-08-10 06:14:39 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 06:15:11 +0200 | Vajb | (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) |
2022-08-10 06:15:22 +0200 | <texasmynsted> | Right HashMap and Map feels like two variations of the same data structure |
2022-08-10 06:15:33 +0200 | <Axman6> | yeah I forgot Set, that's important too |
2022-08-10 06:15:52 +0200 | <Axman6> | eh, not really, they're quite different in implementation and performance |
2022-08-10 06:16:38 +0200 | <texasmynsted> | Trie |
2022-08-10 06:17:36 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
2022-08-10 06:17:46 +0200 | <Axman6> | I wrote a ternary trie package years ago, stuck it on hackage, then forgot about it - then one day I saw it referenced in a paper comparing tree like data strucutres, and mine ended up being the fastest for many operations. One of the closest things to having a proper academic reference |
2022-08-10 06:18:55 +0200 | <Axman6> | I came up with a neat encoding scheme for the Binary instance which represented whether a sub tree was a leaf or not in the tag byte. It did a good job compressing dictionaries of words |
2022-08-10 06:18:56 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 06:20:02 +0200 | <texasmynsted> | Nice! |
2022-08-10 06:20:28 +0200 | <texasmynsted> | Okay, I gave in and got the book. |
2022-08-10 06:20:49 +0200 | <Axman6> | what're the structures? If the book's any good I'd considering giving them come money too |
2022-08-10 06:21:17 +0200 | <dsal> | https://mmhaskell.com/blog/2022/8/1/data-structures-heap |
2022-08-10 06:21:22 +0200 | <dsal> | I've been following the blog. |
2022-08-10 06:21:23 +0200 | <texasmynsted> | List, Set, Map, Hash Set, Hash Map, Array, Vector, Sequence, Heap |
2022-08-10 06:22:10 +0200 | <texasmynsted> | well, I should have read through the site/blog. Heh |
2022-08-10 06:22:42 +0200 | <Axman6> | heh - oh well, it's nice to have it contained |
2022-08-10 06:22:50 +0200 | <dsal> | In a container of some sort. |
2022-08-10 06:23:01 +0200 | <Axman6> | and it's good to support people in the community |
2022-08-10 06:23:55 +0200 | <dsal> | Yeah. I've just used all of these things. The Hash ones are a bit weird and I've not used them on purpose. |
2022-08-10 06:24:01 +0200 | <dsal> | Actually, I don't think I've used Heap for anything. |
2022-08-10 06:24:11 +0200 | <dsal> | But "how to write a functional queue" is a fun exercise. |
2022-08-10 06:24:19 +0200 | <Axman6> | HashMap is probably the one I've used most, after list |
2022-08-10 06:24:28 +0200 | <dsal> | Really? Why HashMap? |
2022-08-10 06:24:39 +0200 | <dsal> | That's significantly more characters than Map. |
2022-08-10 06:24:56 +0200 | <Axman6> | faster and more space efficient than Map |
2022-08-10 06:25:28 +0200 | <dsal> | Hmm... I guess that's not mattered to me. It might be helpful in my mqtt broker. |
2022-08-10 06:25:48 +0200 | <texasmynsted> | I would say this is worth the $10. |
2022-08-10 06:28:38 +0200 | <Axman6> | Generally if I'm just inserting and looking things up by key, I'll opt for HashMap, but sometimes you want to get things out in a consistent/predictable order, and then Data.Map is more useful |
2022-08-10 06:28:43 +0200 | luffy | (~chenqisu1@183.217.201.23) (Ping timeout: 252 seconds) |
2022-08-10 06:29:16 +0200 | <dsal> | Map seems more "out of the box" |
2022-08-10 06:32:49 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 06:36:01 +0200 | <jackdk> | I pretty much always use Map, because you can do elegant constructions my mconcatting singleton maps and HashMap does not like that one bit |
2022-08-10 06:38:09 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 06:42:53 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 06:45:32 +0200 | Lumia | (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) (Quit: ,-) |
2022-08-10 06:46:19 +0200 | <texasmynsted> | I would have liked to see structural recursion, structural induction, etc described in the book but it is very short. |
2022-08-10 06:48:16 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 06:51:26 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:e286:1b8a:479f:b023) |
2022-08-10 06:52:30 +0200 | titibandit | (~titibandi@xdsl-212-8-147-38.nc.de) |
2022-08-10 06:53:22 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
2022-08-10 06:53:58 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-08-10 06:55:43 +0200 | kazaf | (~kazaf@94.180.63.53) |
2022-08-10 07:00:40 +0200 | kazaf | (~kazaf@94.180.63.53) (Ping timeout: 252 seconds) |
2022-08-10 07:03:49 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 268 seconds) |
2022-08-10 07:04:46 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 07:05:05 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 07:05:27 +0200 | vglfr | (~vglfr@37.73.110.255) (Read error: Connection reset by peer) |
2022-08-10 07:05:39 +0200 | vglfr | (~vglfr@37.73.110.255) |
2022-08-10 07:05:43 +0200 | tvandinther | (~tvandinth@2406:e002:6ca2:2b01:e95b:28f0:b5e8:ed97) |
2022-08-10 07:07:51 +0200 | <tvandinther> | Hey everyone, quick question. A common pattern I get in code is checking that several conditions are met. I know about using `all` or `any` but I'm struggling to apply things in the right way to simplify an expression such as: |
2022-08-10 07:07:52 +0200 | <tvandinther> | `a `cond1` b && a `cond2` b` |
2022-08-10 07:07:52 +0200 | <tvandinther> | How would you simplify this so that the conditions can be sequenced? |
2022-08-10 07:08:54 +0200 | <Axman6> | all (\p -> p a b) [cond1, cond2]? |
2022-08-10 07:09:13 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 244 seconds) |
2022-08-10 07:09:23 +0200 | <Axman6> | @pl all (\p -> p a b) -- don't do this, I'm just curious |
2022-08-10 07:09:23 +0200 | <lambdabot> | all (flip ($ a) b) |
2022-08-10 07:10:19 +0200 | <Axman6> | though generally I find that using boolean functions is almost always a code smell - generally you're gating access to something, and for that, Maybe or Either are substantially better options |
2022-08-10 07:10:40 +0200 | <tvandinther> | oh right, the use of the lambda makes that obvious. I was trying to use `$` |
2022-08-10 07:10:50 +0200 | <Axman6> | This feels lrelated to the "parse, don't validate" mantra: https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/ |
2022-08-10 07:10:50 +0200 | <tvandinther> | the lambda is certainly the clearer option |
2022-08-10 07:11:26 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 07:11:28 +0200 | <tvandinther> | The use case is checking that a tuple has both values >= |
2022-08-10 07:11:33 +0200 | <Axman6> | I'd highly recommend you read that article if you haven't seen it |
2022-08-10 07:11:38 +0200 | <tvandinther> | come to think of it, theres probably a cleaner way to write that |
2022-08-10 07:12:12 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 07:12:44 +0200 | <tvandinther> | Thanks, I'll give that article a read too |
2022-08-10 07:15:34 +0200 | vglfr | (~vglfr@37.73.110.255) (Ping timeout: 268 seconds) |
2022-08-10 07:16:32 +0200 | Lumia | (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) |
2022-08-10 07:17:16 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 07:17:30 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 07:17:53 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 07:19:39 +0200 | <tvandinther> | Is there a built-in which maps values of 2 zipped pairs? |
2022-08-10 07:19:51 +0200 | <tvandinther> | Or even to zip 2 pairs? |
2022-08-10 07:22:24 +0200 | <Axman6> | possibly in some of the arrow combinators |
2022-08-10 07:22:31 +0200 | <Axman6> | :t (&&&) |
2022-08-10 07:22:32 +0200 | <lambdabot> | Arrow a => a b c -> a b c' -> a b (c, c') |
2022-08-10 07:22:34 +0200 | <Axman6> | :t (***) |
2022-08-10 07:22:36 +0200 | <lambdabot> | Arrow a => a b c -> a b' c' -> a (b, b') (c, c') |
2022-08-10 07:22:46 +0200 | <Axman6> | not quite |
2022-08-10 07:23:29 +0200 | <Axman6> | writing the function of type (a -> b -> c) -> (a,a) -> (b,b) -> (c,c) is pretty trivial though |
2022-08-10 07:23:36 +0200 | <Axman6> | @djinn (a -> b -> c) -> (a,a) -> (b,b) -> (c,c) |
2022-08-10 07:23:36 +0200 | <lambdabot> | f a (b, _) (c, _) = (a b c, a b c) |
2022-08-10 07:23:57 +0200 | Axman6 | glares at djinn |
2022-08-10 07:25:10 +0200 | <Axman6> | there's only like 8 implementation of functions with that type, not sure why djinn decided on that one, I thought it preferred to opt for using all inputs if possible |
2022-08-10 07:29:20 +0200 | <tvandinther> | Where does it search? I tried that signature in hoogle and found nothing |
2022-08-10 07:31:11 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
2022-08-10 07:31:31 +0200 | <Axman6> | it doesn't search, djinn writes functions for you |
2022-08-10 07:31:38 +0200 | <Axman6> | @hoogle (a -> b -> c) -> (a,a) -> (b,b) -> (c,c) |
2022-08-10 07:31:39 +0200 | <lambdabot> | No results found |
2022-08-10 07:31:44 +0200 | <tvandinther> | ah I see |
2022-08-10 07:36:04 +0200 | Lumia | (~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) (Quit: ,-) |
2022-08-10 07:36:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 07:39:11 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:e286:1b8a:479f:b023) (Ping timeout: 244 seconds) |
2022-08-10 07:39:42 +0200 | <tvandinther> | I keep going around in circles due to my lack of understanding. Main question is, would you simplify this expression, and if so how would you do it? |
2022-08-10 07:39:43 +0200 | <tvandinther> | `snd p1 >= snd p2 && fst p1 <= fst p2` |
2022-08-10 07:41:05 +0200 | <Axman6> | (\(x1,y1) (x2,y2) -> y1 >= y2 && x1 <= x2) p1 p2? |
2022-08-10 07:41:09 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 07:41:15 +0200 | <Axman6> | on can be useful here too |
2022-08-10 07:41:30 +0200 | <Axman6> | :t (<=) `on` snd |
2022-08-10 07:41:32 +0200 | <lambdabot> | Ord a1 => (a2, a1) -> (a2, a1) -> Bool |
2022-08-10 07:41:45 +0200 | <chreekat> | tvandinther: I probably wouldn't, it's pretty damn simple 😃 |
2022-08-10 07:41:49 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 07:42:21 +0200 | <Axman6> | if you know you're going to use both fst and snd, then just use a pattern match and name the elements |
2022-08-10 07:44:18 +0200 | <Clinton[m]> | This is a bit of a mix of a Haskell/Nix/VScode question, but does anyone know how to get VSCode to automagically run `nix-develop` on `flake.nix` whenever I load a project and have that as my environment. I know I can manually run `nix-develop` and then `code` inside that shell but I was hoping for a way to VSCode to just detect that. |
2022-08-10 07:44:54 +0200 | coot | (~coot@213.134.176.158) |
2022-08-10 07:46:10 +0200 | <tvandinther> | True, pattern matching or just not simplifying seem to be the answers here. Thank you. |
2022-08-10 07:46:20 +0200 | coot | (~coot@213.134.176.158) (Client Quit) |
2022-08-10 07:46:47 +0200 | abraham | (~abraham@159.89.183.132) |
2022-08-10 07:47:01 +0200 | nilradical | (~nilradica@user/naso) (Ping timeout: 268 seconds) |
2022-08-10 07:47:59 +0200 | coot | (~coot@213.134.176.158) |
2022-08-10 07:48:09 +0200 | <Axman6> | Clinton[m]: I don't know much about nix develop, but I assume it sets up the nix environment, including things like env vars? if so, it would be pretty hard from nix develop run from within VSCode to affect the environment of vs code; I think the cd foo; nix develop; code . options is probably the simplest |
2022-08-10 07:50:32 +0200 | <Lears> | You could also use an alias or a wrapper script which looks for a flake.nix and does this for you. |
2022-08-10 07:51:30 +0200 | bilegeek | (~bilegeek@2600:1008:b029:dafd:1c14:3295:e11b:5339) |
2022-08-10 07:52:16 +0200 | ubert | (~Thunderbi@77.119.164.0.wireless.dyn.drei.com) |
2022-08-10 07:52:22 +0200 | <Axman6> | alias code!="cd $1; nix develop; code ." |
2022-08-10 07:56:52 +0200 | king_gs | (~Thunderbi@187.201.102.80) |
2022-08-10 08:04:10 +0200 | abraham | (~abraham@159.89.183.132) (Quit: Textual IRC Client: www.textualapp.com) |
2022-08-10 08:04:26 +0200 | <jackdk> | I think there's a plugin that does that but I don't use vscode |
2022-08-10 08:04:47 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-08-10 08:04:58 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 08:05:14 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2022-08-10 08:05:23 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 08:05:30 +0200 | <Axman6> | Nix Environment Selector: Allows switch environment for Visual Studio Code and extensions based on Nix config file." does that sound right? |
2022-08-10 08:06:08 +0200 | merijn | (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-08-10 08:06:23 +0200 | <Axman6> | actually, the Haskell example in the docs for that look pretty neat. |
2022-08-10 08:07:10 +0200 | <Axman6> | I was just reading Tweag's post on how they'd like to improve Nix, and the linked thread about marketing the system (which was a surprising dumpster fire of a discussion intially) |
2022-08-10 08:09:09 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 244 seconds) |
2022-08-10 08:10:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 08:12:39 +0200 | poscat0x04 | (~poscat@114.245.109.158) (Quit: Bye) |
2022-08-10 08:13:44 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-08-10 08:14:58 +0200 | poscat | (~poscat@2408:8206:4822:7201:ea07:2224:d420:ae5c) |
2022-08-10 08:20:41 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 08:22:07 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 08:25:13 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
2022-08-10 08:28:36 +0200 | MajorBiscuit | (~MajorBisc@c-001-013-051.client.tudelft.eduvpn.nl) |
2022-08-10 08:28:59 +0200 | <chreekat> | Axman6: link? |
2022-08-10 08:29:47 +0200 | <Axman6> | https://www.tweag.io/blog/2022-08-04-tweag-and-nix-future/ |
2022-08-10 08:30:43 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-08-10 08:31:06 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-08-10 08:31:23 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds) |
2022-08-10 08:32:47 +0200 | `2jt | (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) |
2022-08-10 08:34:04 +0200 | gdown | (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
2022-08-10 08:34:13 +0200 | michalz | (~michalz@185.246.204.90) |
2022-08-10 08:35:37 +0200 | king_gs | (~Thunderbi@187.201.102.80) (Read error: Connection reset by peer) |
2022-08-10 08:37:14 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-08-10 08:38:31 +0200 | king_gs | (~Thunderbi@187.201.102.80) |
2022-08-10 08:46:52 +0200 | gff | (~gff@user/gff) (Ping timeout: 268 seconds) |
2022-08-10 08:48:37 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-08-10 08:48:46 +0200 | gff | (~gff@user/gff) |
2022-08-10 08:49:06 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-08-10 08:50:33 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-08-10 08:52:43 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 08:57:56 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 08:57:56 +0200 | king_gs | (~Thunderbi@187.201.102.80) (Read error: Connection reset by peer) |
2022-08-10 08:57:57 +0200 | king_gs1 | (~Thunderbi@2806:103e:29:da31:a193:85fc:208c:eefb) |
2022-08-10 08:58:14 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9857:ce5d:2e2a:a7ef) |
2022-08-10 08:59:41 +0200 | gmg | (~user@user/gehmehgeh) |
2022-08-10 09:00:16 +0200 | king_gs1 | king_gs |
2022-08-10 09:04:39 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:b695:8801:9ef8:8462) |
2022-08-10 09:06:17 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
2022-08-10 09:06:58 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Quit: zxx7529) |
2022-08-10 09:09:00 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-08-10 09:10:28 +0200 | mmhat | (~mmh@p200300f1c706f70aee086bfffe095315.dip0.t-ipconnect.de) |
2022-08-10 09:13:52 +0200 | son0p | (~ff@181.136.122.143) |
2022-08-10 09:16:48 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-08-10 09:18:00 +0200 | chele | (~chele@user/chele) |
2022-08-10 09:19:21 +0200 | chimp_ | (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) |
2022-08-10 09:20:41 +0200 | Psybur | (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 252 seconds) |
2022-08-10 09:23:26 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) |
2022-08-10 09:25:05 +0200 | frost | (~frost@user/frost) |
2022-08-10 09:26:08 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 244 seconds) |
2022-08-10 09:26:30 +0200 | tristanC | (~tristanC@user/tristanc) (Ping timeout: 264 seconds) |
2022-08-10 09:27:02 +0200 | totte | (~totte@h-82-196-112-155.A166.priv.bahnhof.se) (Ping timeout: 268 seconds) |
2022-08-10 09:31:39 +0200 | aliosablack | (~chomwitt@2a02:587:dc15:5e00:d0f9:9fe4:8717:f94d) |
2022-08-10 09:34:53 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-08-10 09:35:21 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
2022-08-10 09:37:27 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-08-10 09:39:34 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:a193:85fc:208c:eefb) (Ping timeout: 244 seconds) |
2022-08-10 09:40:46 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 09:43:09 +0200 | acidjnk_new | (~acidjnk@p200300d6e70586140960cfbfc54cf807.dip0.t-ipconnect.de) |
2022-08-10 09:43:45 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-08-10 09:47:57 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-08-10 09:48:40 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) |
2022-08-10 09:53:30 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 09:54:57 +0200 | cheater | (~Username@user/cheater) |
2022-08-10 09:56:31 +0200 | titibandit | (~titibandi@xdsl-212-8-147-38.nc.de) (Remote host closed the connection) |
2022-08-10 09:58:22 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
2022-08-10 09:59:31 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) |
2022-08-10 10:05:18 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
2022-08-10 10:07:00 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2022-08-10 10:07:17 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
2022-08-10 10:07:56 +0200 | yahb2 | (~yahb2@static.56.27.47.78.clients.your-server.de) |
2022-08-10 10:09:40 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 10:12:51 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-08-10 10:13:20 +0200 | tristanC | (~tristanC@user/tristanc) |
2022-08-10 10:14:13 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2022-08-10 10:15:31 +0200 | kraftwerk28_ | (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-08-10 10:16:34 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) |
2022-08-10 10:18:55 +0200 | ccntrq | (~Thunderbi@172.209.94.92.rev.sfr.net) |
2022-08-10 10:29:49 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9857:ce5d:2e2a:a7ef) (Ping timeout: 268 seconds) |
2022-08-10 10:30:26 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:298e:42c7:d203:46f0) |
2022-08-10 10:33:35 +0200 | AlexNoo_ | (~AlexNoo@178.34.151.166) |
2022-08-10 10:33:46 +0200 | AlexNoo | (~AlexNoo@178.34.151.166) (Read error: Connection reset by peer) |
2022-08-10 10:36:20 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 10:37:03 +0200 | ubert1 | (~Thunderbi@178.165.202.57.wireless.dyn.drei.com) |
2022-08-10 10:38:03 +0200 | ubert | (~Thunderbi@77.119.164.0.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2022-08-10 10:38:03 +0200 | ubert1 | ubert |
2022-08-10 10:42:18 +0200 | pmarg_ | (~pmarg@138.199.6.238) |
2022-08-10 10:44:47 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-08-10 10:45:14 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:b695:8801:9ef8:8462) (Ping timeout: 268 seconds) |
2022-08-10 10:45:17 +0200 | pmarg_ | pmarg |
2022-08-10 10:48:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 10:52:27 +0200 | ardell | (~ardell@user/ardell) |
2022-08-10 10:56:30 +0200 | irfan | (~irfan@user/irfan) |
2022-08-10 10:58:31 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-08-10 10:58:50 +0200 | mmhat | (~mmh@p200300f1c706f70aee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-08-10 11:00:09 +0200 | disco-dave[m] | (~disco-dav@2001:470:69fc:105::2:1892) (Quit: You have been kicked for being idle) |
2022-08-10 11:00:54 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-08-10 11:06:12 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds) |
2022-08-10 11:07:16 +0200 | tvandinther | (~tvandinth@2406:e002:6ca2:2b01:e95b:28f0:b5e8:ed97) (Quit: Client closed) |
2022-08-10 11:10:29 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) |
2022-08-10 11:11:20 +0200 | luffy | (~chenqisu1@183.217.201.23) |
2022-08-10 11:13:56 +0200 | luffy | (~chenqisu1@183.217.201.23) (Max SendQ exceeded) |
2022-08-10 11:14:25 +0200 | luffy | (~chenqisu1@183.217.201.23) |
2022-08-10 11:16:16 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-08-10 11:16:23 +0200 | coot | (~coot@213.134.176.158) (Quit: coot) |
2022-08-10 11:18:18 +0200 | luffy | (~chenqisu1@183.217.201.23) (Client Quit) |
2022-08-10 11:18:38 +0200 | acidjnk_new | (~acidjnk@p200300d6e70586140960cfbfc54cf807.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-08-10 11:18:38 +0200 | luffy | (~chenqisu1@183.217.201.23) |
2022-08-10 11:19:26 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-08-10 11:23:28 +0200 | alternateved | (~user@staticline-31-183-149-36.toya.net.pl) |
2022-08-10 11:29:33 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-08-10 11:44:39 +0200 | alp_ | (~alp@user/alp) |
2022-08-10 11:45:18 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.5) |
2022-08-10 11:45:35 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 11:50:17 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
2022-08-10 11:50:36 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 268 seconds) |
2022-08-10 11:50:40 +0200 | vglfr | (~vglfr@88.155.13.114) |
2022-08-10 11:53:54 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 11:55:09 +0200 | monadplus[m]1 | (~arnauabel@2001:470:69fc:105::2:6085) |
2022-08-10 11:57:09 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 12:01:39 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Ping timeout: 244 seconds) |
2022-08-10 12:03:29 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection) |
2022-08-10 12:05:11 +0200 | BanUtama | (~blake.rai@user/BanUtama) |
2022-08-10 12:05:41 +0200 | marquis_1ndras | (~marquis_a@124-150-76-210.tpgi.com.au) (Ping timeout: 252 seconds) |
2022-08-10 12:06:27 +0200 | acidjnk_new | (~acidjnk@p200300d6e705861481a7f77b2ce6d239.dip0.t-ipconnect.de) |
2022-08-10 12:07:37 +0200 | coot | (~coot@213.134.176.158) |
2022-08-10 12:07:58 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 12:11:30 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 12:11:50 +0200 | bilegeek | (~bilegeek@2600:1008:b029:dafd:1c14:3295:e11b:5339) (Quit: Leaving) |
2022-08-10 12:12:25 +0200 | marquis_andras | (~marquis_a@27-32-245-27.tpgi.com.au) |
2022-08-10 12:12:58 +0200 | luffy | (~chenqisu1@183.217.201.23) (Quit: Leaving) |
2022-08-10 12:15:24 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
2022-08-10 12:15:57 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2022-08-10 12:16:36 +0200 | notzmv | (~zmv@user/notzmv) |
2022-08-10 12:18:31 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) |
2022-08-10 12:19:14 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 12:19:16 +0200 | luffy | (~chenqisu1@183.217.201.23) |
2022-08-10 12:20:12 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Ping timeout: 268 seconds) |
2022-08-10 12:20:47 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2022-08-10 12:25:59 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-08-10 12:27:38 +0200 | ph88 | (~ph88@tmo-116-33.customers.d1-online.com) |
2022-08-10 12:29:16 +0200 | <kuribas> | How rare is it to see rigor in companies? I hear the claim over and over that real world data is not rigorous, but most of the time it looks to me that it's just sloppy coding or modelling. |
2022-08-10 12:30:15 +0200 | <kuribas> | Even when dealing with unexpected data, you need to apply rigor to get predidtable results. |
2022-08-10 12:35:31 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-08-10 12:35:33 +0200 | coot | (~coot@213.134.176.158) (Quit: coot) |
2022-08-10 12:38:22 +0200 | <chreekat> | kuribas : Depends wildly on industry. I don't know what it means for data to be rigorous. I suppose you mean rigorous about ensuring data quality? In the context of transforming data coming from external sources? |
2022-08-10 12:38:35 +0200 | img | (~img@user/img) |
2022-08-10 12:38:42 +0200 | <kritzefitz> | kuribas: I think one relevant aspect, is that a lot of practice-oriented code has to adapt to requirements that change over time. Making changes to a code base in a sloppy way is often cheaper in the short term than rigorously redefining your models to fit the new requirements. |
2022-08-10 12:41:48 +0200 | <chreekat> | Or put another way, the model of any real world problem is time dependent, and also depends and past and future versions of itself, and modeling all that rigorously is a development I would watch with much interest |
2022-08-10 12:45:02 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection) |
2022-08-10 12:47:38 +0200 | darchitect1 | (~darchitec@2a00:23c6:3584:df01:7ab:2377:4825:f9a) (Ping timeout: 244 seconds) |
2022-08-10 12:49:07 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.5) |
2022-08-10 12:49:22 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 12:51:27 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) |
2022-08-10 12:52:13 +0200 | vysn | (~vysn@user/vysn) (Client Quit) |
2022-08-10 12:52:39 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 12:52:48 +0200 | geranim0 | (~geranim0@modemcable062.79-202-24.mc.videotron.ca) |
2022-08-10 12:53:00 +0200 | bob | (~geranim0@modemcable062.79-202-24.mc.videotron.ca) |
2022-08-10 12:54:13 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 12:54:29 +0200 | BanUtama | (~blake.rai@user/BanUtama) (Quit: leaving) |
2022-08-10 12:55:19 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 268 seconds) |
2022-08-10 12:58:24 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
2022-08-10 12:59:40 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 13:00:50 +0200 | CiaoSen | (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-08-10 13:00:51 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 255 seconds) |
2022-08-10 13:00:51 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-08-10 13:01:02 +0200 | CiaoSen | (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Client Quit) |
2022-08-10 13:01:28 +0200 | kenran | (~kenran@ip-037-024-119-190.um08.pools.vodafone-ip.de) |
2022-08-10 13:01:31 +0200 | glguy | (x@libera/staff/glguy) (Read error: Connection reset by peer) |
2022-08-10 13:02:35 +0200 | glguy | (x@libera/staff/glguy) |
2022-08-10 13:03:43 +0200 | <maerwald[m]> | Rigor? Who's that |
2022-08-10 13:04:55 +0200 | <maerwald[m]> | Think he died in a car accident. Hit by a Bus. |
2022-08-10 13:06:11 +0200 | <tdammers> | I'm pretty sure all this is coming from clojure apologists |
2022-08-10 13:06:36 +0200 | <tdammers> | real-world code is never 100% rigorous, but that doesn't mean rigor should go out the window entirely |
2022-08-10 13:07:59 +0200 | <absentia> | who needs rigor |
2022-08-10 13:08:14 +0200 | <absentia> | ship the code, get a raise, promotion, change of title |
2022-08-10 13:08:15 +0200 | <tdammers> | there's a difference between making conscious and informed choices about where to be rigorous and where not, and just winging it and writing code in a reactive, ad-hoc fashion |
2022-08-10 13:08:27 +0200 | <absentia> | leave the firm for another pay bump and title inflation |
2022-08-10 13:08:40 +0200 | <absentia> | and let the next guy figure out the edge cases |
2022-08-10 13:08:53 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 268 seconds) |
2022-08-10 13:09:03 +0200 | <tdammers> | ^ that's also extremely common, and an almost inevitable consequence of the "paid labor" situation |
2022-08-10 13:09:46 +0200 | <tdammers> | as with anything, once you start paying people for doing it, the quality goes from "giving it your very best" to "enough, and not a bit more" |
2022-08-10 13:09:53 +0200 | <maerwald[m]> | I think most of industry issues come from those "star programmers". They get the company up and running and then leave. And nevnr receive any feedback about their decisions. So they stay in their bubble |
2022-08-10 13:10:09 +0200 | <tdammers> | nah |
2022-08-10 13:10:14 +0200 | <absentia> | yeah |
2022-08-10 13:10:32 +0200 | <maerwald[m]> | It's not poor coders |
2022-08-10 13:10:43 +0200 | <tdammers> | I mean, that happens, but most of the industry is not companies that have just outgrown their early startup phase |
2022-08-10 13:10:45 +0200 | alternateved | (~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection) |
2022-08-10 13:11:04 +0200 | <tdammers> | you are right that it's not usually the coders though |
2022-08-10 13:11:08 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 13:11:09 +0200 | <tdammers> | or at least, not all of them |
2022-08-10 13:11:55 +0200 | <tdammers> | but it's really really easy to mess up a team of perfectly fine developers without any rockstars, and it happens all the time |
2022-08-10 13:13:28 +0200 | <tdammers> | give them overly specific tasks, but withhold key information about the operation; set unrealistic deadlines; change course and redefine the domain terminology every week; fill the backlog with vaguely-defined "issues" that are really more like a layman's fever dream; bury them in meetings and memos and "urgent" tickets |
2022-08-10 13:13:31 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-08-10 13:13:40 +0200 | <tdammers> | and, if in doubt, raise the pressure |
2022-08-10 13:14:13 +0200 | <tdammers> | sooner or later, they will start taking shortcuts, check in code that they know isn't right, and once the technical debt starts piling up, it tends to get worse and worse |
2022-08-10 13:15:21 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-08-10 13:15:23 +0200 | <maerwald[m]> | Never worked anywhere, where sloppy code was the problem. It was always design decisions early in the startup phase, that were impossible to revert |
2022-08-10 13:15:38 +0200 | <maerwald[m]> | And those are always the rockstars |
2022-08-10 13:16:19 +0200 | <tdammers> | IME, it's more often unreasonable managers than rockstar devs who come up with those decisions |
2022-08-10 13:16:20 +0200 | gmg | (~user@user/gehmehgeh) |
2022-08-10 13:17:01 +0200 | <maerwald[m]> | Yeah sure, whoever makes the decisions |
2022-08-10 13:17:17 +0200 | alternateved | (~user@staticline-31-183-149-36.toya.net.pl) |
2022-08-10 13:17:20 +0200 | <maerwald[m]> | The problem is how to get feedback for those |
2022-08-10 13:17:30 +0200 | <maerwald[m]> | Many of them manifest after years, when the original decision makers are long gone |
2022-08-10 13:17:56 +0200 | <tdammers> | and those decisions wouldn't be so bad if the code were kept in a state where they can be undone / changed |
2022-08-10 13:18:00 +0200 | <tdammers> | but that never happens |
2022-08-10 13:18:24 +0200 | <tdammers> | it's not outright *sloppy* code, it's just that nobody goes the extra mile to make the code truly orthogonal and refactorable |
2022-08-10 13:19:29 +0200 | <tdammers> | another problem is that about 80% of the developer population, and 99.99% of the management population, are stuck in a "make it work" mindset, where code is considered "done" when it has been shown to produce the desired results at least once, in very specific circumstances. |
2022-08-10 13:19:40 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2022-08-10 13:19:56 +0200 | <maerwald[m]> | Hehe |
2022-08-10 13:21:04 +0200 | <maerwald[m]> | It's only done when it was used during s moon landing :p |
2022-08-10 13:21:05 +0200 | <maerwald[m]> | Liko curl |
2022-08-10 13:21:34 +0200 | <tdammers> | didn't one of the Apollo computer systems fail during the first Moon landing? |
2022-08-10 13:23:34 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 13:23:49 +0200 | <maerwald[m]> | That's why it's better to quit programming and just... dunno, open a pub |
2022-08-10 13:23:54 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:7393:ed71:26f2:b383) |
2022-08-10 13:24:33 +0200 | darchitect1 | (~darchitec@2a00:23c6:3584:df01:9f23:d492:30c1:6303) |
2022-08-10 13:25:33 +0200 | <arahael> | tdammers: Absolutely correct. |
2022-08-10 13:26:29 +0200 | <maerwald[m]> | "It's only done when it was used during a successful moon landing" ;) |
2022-08-10 13:28:15 +0200 | <arahael> | maerwald[m]: I was thinking this morning that maybe I should run a cafe. :) |
2022-08-10 13:28:27 +0200 | <arahael> | Cafe dude looked happy./ |
2022-08-10 13:28:58 +0200 | <tdammers> | the landing was still a success, despite the failure |
2022-08-10 13:29:19 +0200 | <tdammers> | and of course the failure wasn't a programming error, but an oversight in the overall system design |
2022-08-10 13:29:42 +0200 | <maerwald[m]> | arahael: if you provide decaffeinated matcha, then sure |
2022-08-10 13:30:25 +0200 | <arahael> | maerwald[m]: No, I'd provide espresso. And only espresso. :) |
2022-08-10 13:30:38 +0200 | <maerwald[m]> | tdammers: who knows, maybe the landing was a success because of the crash :p |
2022-08-10 13:32:03 +0200 | poscat | (~poscat@2408:8206:4822:7201:ea07:2224:d420:ae5c) (Quit: Bye) |
2022-08-10 13:33:33 +0200 | raym | (~raym@user/raym) (Remote host closed the connection) |
2022-08-10 13:34:12 +0200 | <jackdk> | The star programmers I'm most in awe of are the ones who pull theory out of a hat to achieve seemingly-impossible things |
2022-08-10 13:37:06 +0200 | <maerwald[m]> | They provide a lot of value by being explorers, but I'd never want them to build the system for my startup that decides whether my tech stack is gonna be well thought through for the future |
2022-08-10 13:37:31 +0200 | raym | (~raym@user/raym) |
2022-08-10 13:38:07 +0200 | CiaoSen | (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-08-10 13:38:59 +0200 | <maerwald[m]> | Would rather hire a 60 years old java programmer who has looked into the abyss many times |
2022-08-10 13:39:48 +0200 | Batzy | (~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.) |
2022-08-10 13:41:13 +0200 | Batzy | (~quassel@user/batzy) |
2022-08-10 13:42:11 +0200 | pmarg | (~pmarg@138.199.6.238) (Ping timeout: 268 seconds) |
2022-08-10 13:44:46 +0200 | aliosablack | (~chomwitt@2a02:587:dc15:5e00:d0f9:9fe4:8717:f94d) (Quit: Leaving) |
2022-08-10 13:51:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-08-10 13:52:04 +0200 | chomwitt | (~chomwitt@2a02:587:dc15:5e00:d0f9:9fe4:8717:f94d) |
2022-08-10 13:55:01 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
2022-08-10 13:55:20 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) |
2022-08-10 13:57:53 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-08-10 13:57:58 +0200 | ubert | (~Thunderbi@178.165.202.57.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2022-08-10 13:58:02 +0200 | coot | (~coot@213.134.176.158) |
2022-08-10 13:58:08 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-08-10 13:58:18 +0200 | ubert | (~Thunderbi@178.165.202.57.wireless.dyn.drei.com) |
2022-08-10 13:58:46 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-08-10 14:02:43 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
2022-08-10 14:04:44 +0200 | <kuribas> | tdammers: "it's not outright *sloppy* code, it's just that nobody goes the extra mile to make the code truly orthogonal and refactorable" => this |
2022-08-10 14:06:34 +0200 | <kuribas> | tdammers: and write documentation about tricky bits, important domain specific issues. |
2022-08-10 14:07:40 +0200 | elkcl_ | (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
2022-08-10 14:09:21 +0200 | elkcl | (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 268 seconds) |
2022-08-10 14:09:22 +0200 | elkcl_ | elkcl |
2022-08-10 14:11:00 +0200 | <kuribas> | tdammers: algorithms, architecture |
2022-08-10 14:12:32 +0200 | <maerwald> | documentation is harder than coding |
2022-08-10 14:12:44 +0200 | <kuribas> | but more important |
2022-08-10 14:12:46 +0200 | <maerwald> | it requires you to actually understand something |
2022-08-10 14:13:47 +0200 | <lortabac> | in my experience most problems arise because people underestimate complexity |
2022-08-10 14:14:11 +0200 | <maerwald> | lortabac: of the domain or of their decisions? ;) |
2022-08-10 14:14:17 +0200 | <lortabac> | the human brain is bad at understanding measures that grow exponentially |
2022-08-10 14:14:18 +0200 | <maerwald> | IME, usually the latter |
2022-08-10 14:14:44 +0200 | <lortabac> | we tend to sum the complexity of the various features, instead of multiplying |
2022-08-10 14:15:37 +0200 | <merijn> | maerwald: Yes |
2022-08-10 14:15:42 +0200 | <maerwald> | you're making a good argument against composition ;p |
2022-08-10 14:16:29 +0200 | <maerwald> | everything comes back to unix principles... even functional programming (which didn't exist back then) |
2022-08-10 14:17:01 +0200 | <maerwald> | composition is unmanagable if you don't follow those principles |
2022-08-10 14:17:53 +0200 | <lortabac> | composition is bad, composability is good :) |
2022-08-10 14:19:38 +0200 | <carbolymer> | lortabac: what's bad about composition? |
2022-08-10 14:20:27 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-08-10 14:21:26 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-08-10 14:22:28 +0200 | <lortabac> | in the context of what we were discussing... the composition of multiple features increases the overall complexity |
2022-08-10 14:23:12 +0200 | <lortabac> | but the composability of the individual components allows you to reason on a single component at a time |
2022-08-10 14:23:39 +0200 | koz_ | (~koz@121.99.240.58) (Ping timeout: 268 seconds) |
2022-08-10 14:26:09 +0200 | <carbolymer> | lortabac: you should abstract complexity away while composing, so you can make composition good again |
2022-08-10 14:27:13 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 252 seconds) |
2022-08-10 14:27:43 +0200 | koz | (~koz@121.99.240.58) |
2022-08-10 14:29:19 +0200 | ph88^ | (~ph88@tmo-116-33.customers.d1-online.com) |
2022-08-10 14:30:17 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 14:30:56 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-08-10 14:31:28 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 14:33:05 +0200 | ph88 | (~ph88@tmo-116-33.customers.d1-online.com) (Ping timeout: 252 seconds) |
2022-08-10 14:35:37 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 14:35:39 +0200 | vglfr | (~vglfr@88.155.13.114) (Ping timeout: 252 seconds) |
2022-08-10 14:37:05 +0200 | poscat | (~poscat@2408:8206:4820:6423:32a0:bd91:4668:caff) |
2022-08-10 14:37:43 +0200 | nilradical | (~nilradica@user/naso) (Ping timeout: 268 seconds) |
2022-08-10 14:42:26 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-08-10 14:43:23 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 14:45:05 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-08-10 14:45:48 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-08-10 14:50:57 +0200 | stef204 | (~stef204@user/stef204) |
2022-08-10 14:52:01 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
2022-08-10 14:56:57 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-08-10 14:57:01 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-08-10 14:57:29 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 14:58:25 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-08-10 14:58:59 +0200 | vglfr | (~vglfr@88.155.13.114) |
2022-08-10 14:59:21 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 15:07:26 +0200 | bliminse | (~bliminse@user/bliminse) (Ping timeout: 268 seconds) |
2022-08-10 15:08:33 +0200 | luffy | (~chenqisu1@183.217.201.23) (Ping timeout: 268 seconds) |
2022-08-10 15:08:58 +0200 | <tdammers> | what's even harder than writing documentation is writing code that doesn't need documentation |
2022-08-10 15:09:01 +0200 | bliminse | (~bliminse@user/bliminse) |
2022-08-10 15:09:14 +0200 | <tdammers> | in part because a lot of code that we think is self-explanatory is, in fact, not |
2022-08-10 15:13:16 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 15:14:34 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 15:15:43 +0200 | poscat | (~poscat@2408:8206:4820:6423:32a0:bd91:4668:caff) (Quit: Bye) |
2022-08-10 15:17:22 +0200 | biberu\ | (~biberu@user/biberu) |
2022-08-10 15:18:23 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 15:19:01 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds) |
2022-08-10 15:20:51 +0200 | biberu | (~biberu@user/biberu) (Ping timeout: 268 seconds) |
2022-08-10 15:20:52 +0200 | biberu\ | biberu |
2022-08-10 15:21:43 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 15:22:10 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
2022-08-10 15:22:16 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
2022-08-10 15:23:52 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 15:25:07 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-08-10 15:27:33 +0200 | ccntrq | (~Thunderbi@172.209.94.92.rev.sfr.net) (Remote host closed the connection) |
2022-08-10 15:28:17 +0200 | nilradical | (~nilradica@user/naso) (Ping timeout: 268 seconds) |
2022-08-10 15:28:53 +0200 | poscat | (~poscat@2408:8206:4820:6705:6404:b732:d928:1540) |
2022-08-10 15:29:42 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-08-10 15:30:52 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-08-10 15:31:15 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-08-10 15:35:06 +0200 | alternateved | (~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection) |
2022-08-10 15:36:59 +0200 | acidjnk_new | (~acidjnk@p200300d6e705861481a7f77b2ce6d239.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-08-10 15:38:03 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-08-10 15:40:17 +0200 | jespada | (~jespada@186.158.236.52) |
2022-08-10 15:44:57 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-08-10 15:45:07 +0200 | mikoto-chan | (~mikoto-ch@85-76-34-254-nat.elisa-mobile.fi) |
2022-08-10 15:46:07 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 15:47:46 +0200 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 3.6) |
2022-08-10 15:49:59 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2022-08-10 15:50:07 +0200 | ystael | (~ystael@user/ystael) |
2022-08-10 15:53:16 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-08-10 15:53:16 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-08-10 15:53:17 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-08-10 15:53:28 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 15:54:45 +0200 | nattiestnate | (~nate@180.243.14.16) |
2022-08-10 15:56:58 +0200 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
2022-08-10 15:57:44 +0200 | stef204 | (~stef204@user/stef204) |
2022-08-10 15:58:05 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 255 seconds) |
2022-08-10 15:59:05 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-08-10 15:59:53 +0200 | ardell | (~ardell@user/ardell) (Quit: Leaving) |
2022-08-10 16:01:36 +0200 | <carbolymer> | tdammers: It happened to me quite often, when I'm on the interview ( as a interviewee) and I ask the team, "are you writing documentation?" the answer is "we're writing self-documenting code HEHE" |
2022-08-10 16:02:44 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-08-10 16:04:03 +0200 | nattiestnate | (~nate@180.243.14.16) (Quit: WeeChat 3.6) |
2022-08-10 16:07:45 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-08-10 16:09:16 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
2022-08-10 16:10:26 +0200 | `2jt | (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Quit: Leaving) |
2022-08-10 16:11:02 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-08-10 16:11:26 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
2022-08-10 16:13:53 +0200 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
2022-08-10 16:15:16 +0200 | vglfr | (~vglfr@88.155.13.114) (Ping timeout: 268 seconds) |
2022-08-10 16:15:36 +0200 | vglfr | (~vglfr@88.155.13.114) |
2022-08-10 16:18:35 +0200 | coot | (~coot@213.134.176.158) (Quit: coot) |
2022-08-10 16:20:07 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-08-10 16:26:07 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 16:26:21 +0200 | nilradical | (~nilradica@user/naso) (Client Quit) |
2022-08-10 16:27:19 +0200 | kenran | (~kenran@ip-037-024-119-190.um08.pools.vodafone-ip.de) (Quit: WeeChat info:version) |
2022-08-10 16:28:47 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-08-10 16:30:08 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-08-10 16:32:37 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-08-10 16:32:43 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-08-10 16:36:07 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2022-08-10 16:37:58 +0200 | CiaoSen | (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-08-10 16:37:59 +0200 | Vajb | (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) (Read error: Connection reset by peer) |
2022-08-10 16:38:17 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
2022-08-10 16:39:29 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds) |
2022-08-10 16:41:27 +0200 | slack1256 | (~slack1256@wsip-184-177-0-226.no.no.cox.net) |
2022-08-10 16:46:00 +0200 | <maerwald[m]> | Even if code is self explanatory, that doesn't make documentation unnecessary |
2022-08-10 16:46:39 +0200 | <maerwald[m]> | Because now you're telling me to read the whole function body instead of reading rendered haddock comments? |
2022-08-10 16:46:47 +0200 | <maerwald[m]> | Nah, I'll use another library, thanks |
2022-08-10 16:47:17 +0200 | ph88^ | (~ph88@tmo-116-33.customers.d1-online.com) (Ping timeout: 252 seconds) |
2022-08-10 16:47:50 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-08-10 16:48:16 +0200 | Vajb | (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) |
2022-08-10 16:48:58 +0200 | <kuribas> | carbolymer: that response annoys me so much |
2022-08-10 16:49:24 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 16:49:28 +0200 | <maerwald[m]> | The problem is really you can't write good documentation without a reviewer |
2022-08-10 16:50:20 +0200 | <kuribas> | carbolymer: that comment implies two things, the code is so good you don't need documentation (it likely isn't), if you cannot understand the code from looking at it, you probably are not smart enough, or don't put enough effort (also false). |
2022-08-10 16:50:39 +0200 | ph88^ | (~ph88@2a01:598:b005:8de0:a1cd:2b13:e4bf:7905) |
2022-08-10 16:50:52 +0200 | <carbolymer> | kuribas: yeah, red flag right there |
2022-08-10 16:50:59 +0200 | <maerwald[m]> | Red flag, find another company, unless they pay really well |
2022-08-10 16:51:23 +0200 | <carbolymer> | maerwald[m]: life is about compromises ;) |
2022-08-10 16:51:38 +0200 | <kuribas> | good luck finding a company which documents everything. |
2022-08-10 16:51:43 +0200 | <maerwald[m]> | I'll ignore 2 red flags when the bucks are right |
2022-08-10 16:52:08 +0200 | <carbolymer> | kuribas: ^ |
2022-08-10 16:52:13 +0200 | <maerwald[m]> | Except toxic culture |
2022-08-10 16:52:30 +0200 | <carbolymer> | maerwald[m]: too bad that the toxic culture shows only after you're few months in |
2022-08-10 16:52:32 +0200 | <maerwald[m]> | But that's hard to figure out in an interview |
2022-08-10 16:52:39 +0200 | <maerwald[m]> | Yeah |
2022-08-10 16:53:04 +0200 | <maerwald[m]> | And sometimes the coding itself is really nice |
2022-08-10 16:54:21 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-08-10 16:54:49 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 16:56:12 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-08-10 16:56:35 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 16:56:35 +0200 | ph88^ | (~ph88@2a01:598:b005:8de0:a1cd:2b13:e4bf:7905) (Ping timeout: 268 seconds) |
2022-08-10 16:56:56 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-08-10 16:56:59 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 16:59:47 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-08-10 17:00:21 +0200 | tomku | (~tomku@user/tomku) (Read error: Connection reset by peer) |
2022-08-10 17:00:23 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:298e:42c7:d203:46f0) (Quit: WeeChat 2.8) |
2022-08-10 17:01:58 +0200 | <tdammers> | "Documentation" is kind of an umbrella term, too. |
2022-08-10 17:01:59 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 17:01:59 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Ping timeout: 268 seconds) |
2022-08-10 17:03:16 +0200 | <tdammers> | what you do and do not need depends on the use case - you want your elevator pitch / executive summary, a 'getting started' guide, an explanation of key concepts, a set of 'how do I...' guides, a reference guide, and inline explanations that tell the reader why things are the way they are, and what else they need to read in order to make sense of the source code. |
2022-08-10 17:03:21 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-08-10 17:03:25 +0200 | tomku | (~tomku@user/tomku) |
2022-08-10 17:03:53 +0200 | <tdammers> | we call all these "documentation", and that often leads to people mixing them up, and writing "getting started" guides in the source code, or moving the "why" explanations to external media like a wiki |
2022-08-10 17:04:39 +0200 | lsrts^ | (~lsrts@206.85.120.17) |
2022-08-10 17:11:35 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-08-10 17:13:23 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 17:13:41 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-08-10 17:13:48 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 17:15:19 +0200 | jespada | (~jespada@186.158.236.52) (Read error: Connection reset by peer) |
2022-08-10 17:16:01 +0200 | jespada | (~jespada@2803:9800:9842:8ca9:c034:74:da3:46b7) |
2022-08-10 17:17:21 +0200 | AlexZenon | (~alzenon@178.34.151.166) (Ping timeout: 252 seconds) |
2022-08-10 17:17:21 +0200 | Alex_test | (~al_test@178.34.151.166) (Ping timeout: 252 seconds) |
2022-08-10 17:17:50 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-08-10 17:18:11 +0200 | califax | (~califax@user/califx) |
2022-08-10 17:18:33 +0200 | Alex_test | (~al_test@178.34.151.166) |
2022-08-10 17:19:15 +0200 | AlexZenon | (~alzenon@178.34.151.166) |
2022-08-10 17:19:24 +0200 | notzmv | (~zmv@user/notzmv) |
2022-08-10 17:20:36 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-08-10 17:22:09 +0200 | <[exa]> | tdammers: tldr: transferring ideas is hard |
2022-08-10 17:25:40 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-08-10 17:29:03 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds) |
2022-08-10 17:33:00 +0200 | krjt | (~krjst@2604:a880:800:c1::16b:8001) (Quit: bye) |
2022-08-10 17:34:07 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-08-10 17:34:25 +0200 | krjst | (~krjst@2604:a880:800:c1::16b:8001) |
2022-08-10 17:35:08 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-08-10 17:36:27 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6) |
2022-08-10 17:41:15 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-08-10 17:42:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-08-10 17:42:10 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 17:46:16 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 17:46:19 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-08-10 17:47:13 +0200 | <merijn> | Transferring ideas is easy |
2022-08-10 17:47:23 +0200 | <merijn> | as long as my medium gets to be "ad hoc rants" |
2022-08-10 17:47:48 +0200 | <merijn> | It's the writing down of ideas that's tricky :p |
2022-08-10 17:48:17 +0200 | <carbolymer> | yeah, those random turds in the middle of meeting are very effective |
2022-08-10 17:51:51 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-08-10 17:52:16 +0200 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.6) |
2022-08-10 17:53:49 +0200 | vglfr | (~vglfr@88.155.13.114) (Ping timeout: 268 seconds) |
2022-08-10 17:57:17 +0200 | nilradical | (~nilradica@user/naso) |
2022-08-10 17:58:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-08-10 17:59:19 +0200 | <nilradical> | in my code i have a common pattern: `Set.fromList [ f x y | x <- Set.toList s, y <- Set.toList s]` . i think with set-monad (https://hackage.haskell.org/package/set-monad) i can simplify this to `[ f x y | x <- y, s <- s]` , but does this have package incur a significant performance impact? |
2022-08-10 17:59:44 +0200 | <nilradical> | `[ f x y | x <- s, y <- s]` |
2022-08-10 17:59:56 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:00:13 +0200 | darchitect1 | (~darchitec@2a00:23c6:3584:df01:9f23:d492:30c1:6303) (Ping timeout: 244 seconds) |
2022-08-10 18:03:51 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 18:04:16 +0200 | <merijn> | nilradical: I mean, the monad's gonna have exactly the same performance, so it shouldn't |
2022-08-10 18:04:20 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 18:04:40 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Quit: zxx7529) |
2022-08-10 18:06:22 +0200 | <nilradical> | i remember reading somewhere that it had bad performance but didn't udnerstand the reason and when it applies |
2022-08-10 18:06:58 +0200 | <merijn> | nilradical: The bad performance is basically "you have to deserialise to lists, do the operation, then rebuild a set |
2022-08-10 18:07:01 +0200 | <merijn> | " |
2022-08-10 18:07:04 +0200 | <merijn> | So it's not super efficient |
2022-08-10 18:07:35 +0200 | mikoto-chan | (~mikoto-ch@85-76-34-254-nat.elisa-mobile.fi) (Ping timeout: 252 seconds) |
2022-08-10 18:07:38 +0200 | <nilradical> | ok, but since i'm doing that anyway it should make no difference for me. cool thanks |
2022-08-10 18:07:41 +0200 | <merijn> | nilradical: otoh, you could wrap the original "ugly" list comprehension into a function and just use that and avoid the dependency? |
2022-08-10 18:08:13 +0200 | <nilradical> | in general the arity of `f` is unknown |
2022-08-10 18:08:19 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2022-08-10 18:09:32 +0200 | <nilradical> | and the values will not be drawn from the same set. e.g. it could be [ f x y z | x <- a, y <- b, z <- c ] . would it still be possible ? |
2022-08-10 18:09:52 +0200 | kazaf | (~kazaf@94.180.63.53) |
2022-08-10 18:10:24 +0200 | <nilradical> | in other words, just general set comprehensions |
2022-08-10 18:10:37 +0200 | <nilradical> | i think set-monad is good for me as long as it is compatible with relude |
2022-08-10 18:12:48 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-08-10 18:13:32 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 18:13:43 +0200 | noteness | (~noteness@user/noteness) |
2022-08-10 18:14:40 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-08-10 18:14:40 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-08-10 18:15:09 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-08-10 18:15:31 +0200 | noteness | (~noteness@user/noteness) |
2022-08-10 18:15:43 +0200 | mbuf | (~Shakthi@122.165.55.71) (Quit: Leaving) |
2022-08-10 18:20:04 +0200 | mcglk_ | (~mcglk@131.191.49.120) (Quit: (zzz)) |
2022-08-10 18:22:04 +0200 | kazaf | (~kazaf@94.180.63.53) (Remote host closed the connection) |
2022-08-10 18:22:12 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 18:22:24 +0200 | kazaf | (~kazaf@94.180.63.53) |
2022-08-10 18:25:00 +0200 | econo | (uid147250@user/econo) |
2022-08-10 18:25:25 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:26:21 +0200 | ph88 | (~ph88@sonicwall.snp-ag.com) |
2022-08-10 18:26:48 +0200 | mcglk | (~mcglk@131.191.49.120) |
2022-08-10 18:26:58 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:27:46 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:27:48 +0200 | kazaf | (~kazaf@94.180.63.53) (Ping timeout: 252 seconds) |
2022-08-10 18:28:33 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 18:28:36 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:28:40 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:29:20 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:29:50 +0200 | <Guillaum[m]> | I'm having a difficult time deriving "Data" instance for a GADT, see here: https://gist.github.com/guibou/84333621ff0e6f9374b8c46eb5f14345. Is that something fundamentaly impossible or is there a solution? |
2022-08-10 18:29:59 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:30:26 +0200 | mcglk | (~mcglk@131.191.49.120) (Client Quit) |
2022-08-10 18:30:40 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:31:12 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-08-10 18:31:18 +0200 | ph88 | (~ph88@sonicwall.snp-ag.com) (Ping timeout: 264 seconds) |
2022-08-10 18:32:15 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-08-10 18:33:12 +0200 | ph88^ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:33:41 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-08-10 18:33:42 +0200 | ph88^ | (~ph88@sonicwall.snp-ag.com) |
2022-08-10 18:36:10 +0200 | ph88_ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:38:13 +0200 | ph88_ | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:40:04 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:40:39 +0200 | ph88^ | (~ph88@sonicwall.snp-ag.com) (Ping timeout: 268 seconds) |
2022-08-10 18:41:08 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:41:55 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:41:59 +0200 | nilradical | (~nilradica@user/naso) () |
2022-08-10 18:42:01 +0200 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2022-08-10 18:42:03 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:43:25 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:43:41 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:45:28 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:46:05 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-08-10 18:46:48 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:47:19 +0200 | <lyxia> | You might be able to write an instance by hand but that depends on what you are trying to do. That doesn't look like something GHC can derive for you. |
2022-08-10 18:47:35 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2022-08-10 18:48:05 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) |
2022-08-10 18:48:59 +0200 | acidjnk_new | (~acidjnk@p200300d6e705861494ef1a886018f36c.dip0.t-ipconnect.de) |
2022-08-10 18:49:31 +0200 | ph88 | (~ph88@2a01:598:8987:f87d:9d56:f9d0:e0c4:26f3) (Read error: Connection reset by peer) |
2022-08-10 18:49:56 +0200 | bender | (~bender@105.235.135.236) |
2022-08-10 18:50:05 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-08-10 18:50:37 +0200 | ph88 | (~ph88@sonicwall.snp-ag.com) |
2022-08-10 18:52:01 +0200 | ph88^ | (~ph88@sonicwall.snp-ag.com) |
2022-08-10 18:54:09 +0200 | bender | (~bender@105.235.135.236) (Ping timeout: 252 seconds) |
2022-08-10 18:54:27 +0200 | <Guillaum[m]> | lyxia: Thank you. I'm trying to write the instance by hand, but I'm stuck in the middle of the gunfold implementation and I'm having a similar issue. I'm a bit lost with the type signature of the function of the Data class ;) If by chance you know a good resource which may explain that, I'll be more than happy. Otherwise, I'm continuing my experimentation. |
2022-08-10 18:54:53 +0200 | ph88 | (~ph88@sonicwall.snp-ag.com) (Ping timeout: 252 seconds) |
2022-08-10 18:56:15 +0200 | bender | (~bender@105.235.135.236) |
2022-08-10 18:57:20 +0200 | ph88^ | (~ph88@sonicwall.snp-ag.com) (Ping timeout: 268 seconds) |
2022-08-10 19:00:50 +0200 | bender | (~bender@105.235.135.236) (Ping timeout: 255 seconds) |
2022-08-10 19:01:32 +0200 | bender | (~bender@105.235.135.236) |
2022-08-10 19:02:50 +0200 | vglfr | (~vglfr@88.155.13.114) |
2022-08-10 19:03:19 +0200 | bender | (~bender@105.235.135.236) (Read error: Connection reset by peer) |
2022-08-10 19:05:51 +0200 | vglfr | (~vglfr@88.155.13.114) (Read error: Connection reset by peer) |
2022-08-10 19:06:02 +0200 | bender | (~bender@105.235.135.236) |
2022-08-10 19:10:04 +0200 | <lyxia> | Guillaum[m]: one idea is to first use the Typeable constraint to pattern-match on the index, and then each branch behaves as if the type is a single-constructor type, and you can get the code for that by copy-pasting the output of -ddump-deriv when deriving Data for a normal single-constructor type |
2022-08-10 19:10:32 +0200 | vglfr | (~vglfr@88.155.13.114) |
2022-08-10 19:10:54 +0200 | bender | (~bender@105.235.135.236) (Ping timeout: 268 seconds) |
2022-08-10 19:11:09 +0200 | <Guillaum[m]> | lyxia: THANK you ;) I actually incrementally comes to similar conclusion and I was able to write an working instance, except for the implementation of gunfold, but I won't need it. So my instance is not "complete", but it's enough for my needs. |
2022-08-10 19:12:04 +0200 | <Guillaum[m]> | If someone is interested, for reference: https://gist.github.com/guibou/84333621ff0e6f9374b8c46eb5f14345#file-gadtsdatamanual-hs-L17-L25 Thank you. |
2022-08-10 19:12:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-08-10 19:13:13 +0200 | <lyxia> | hah |
2022-08-10 19:13:54 +0200 | <lyxia> | yeah it's easier if you're only consuming the GADT |
2022-08-10 19:15:13 +0200 | vglfr | (~vglfr@88.155.13.114) (Ping timeout: 268 seconds) |
2022-08-10 19:15:20 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
2022-08-10 19:17:13 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 19:18:19 +0200 | Jade1 | (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) |
2022-08-10 19:19:14 +0200 | vglfr | (~vglfr@88.155.13.114) |
2022-08-10 19:23:53 +0200 | vglfr | (~vglfr@88.155.13.114) (Read error: Connection reset by peer) |
2022-08-10 19:24:06 +0200 | seriously | (~seriously@2001:1c06:1b1d:6f00:efd2:b7b6:20af:5f73) |
2022-08-10 19:26:34 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 19:26:38 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2022-08-10 19:27:13 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
2022-08-10 19:31:24 +0200 | <seriously> | its me from last night/morning... still on the same problem. https://paste.tomsmeding.com/UrdyEmSb. |
2022-08-10 19:32:23 +0200 | <seriously> | going to retry reframing my question... how does one add 2 functions that take a map and return an integer |
2022-08-10 19:32:48 +0200 | <seriously> | if there is no map given |
2022-08-10 19:33:26 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2022-08-10 19:33:38 +0200 | Alex_test | (~al_test@178.34.151.166) (Ping timeout: 255 seconds) |
2022-08-10 19:34:10 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) |
2022-08-10 19:34:31 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
2022-08-10 19:34:42 +0200 | <seriously> | my instincts are telling me to pattern match on the functions ... so something like: add (\x -> y) (\z -> t) = .... |
2022-08-10 19:34:45 +0200 | <tomsmeding> | seriously: but there is a map given, right? |
2022-08-10 19:34:49 +0200 | <tomsmeding> | you cannot pattern match on functions |
2022-08-10 19:34:57 +0200 | AlexZenon | (~alzenon@178.34.151.166) (Ping timeout: 268 seconds) |
2022-08-10 19:35:01 +0200 | f-a | (f2a@f2a.jujube.ircnow.org) |
2022-08-10 19:35:35 +0200 | <f-a> | simple question: I got a very deeply nested error and want to know the callstack. I solved by sprinkling `trace` but I guess that is the dumb way |
2022-08-10 19:37:10 +0200 | <tomsmeding> | f-a: if all the functions on the way have a HasCallStack constraint, then you get a stack trace on `error` |
2022-08-10 19:37:17 +0200 | <tomsmeding> | downside is that _all_ functions on the way need to have that constreaint |
2022-08-10 19:37:44 +0200 | Alex_test | (~al_test@178.34.151.166) |
2022-08-10 19:37:57 +0200 | <seriously> | add :: (M.Map String Integer -> Maybe Integer) -> (M.Map String Integer -> Maybe Integer) -> (M.Map String Integer -> Maybe Integer) |
2022-08-10 19:38:16 +0200 | <tomsmeding> | seriously: that function takes three arguments; what are their types? |
2022-08-10 19:38:30 +0200 | <f-a> | tomsmeding: iirc there was a +RTS option to auto add those (with --enble-profiling)? |
2022-08-10 19:38:55 +0200 | AlexZenon | (~alzenon@178.34.151.166) |
2022-08-10 19:38:56 +0200 | <tomsmeding> | f-a: ah yes, if you `cabal run --enable-profiling -- +RTS -p` |
2022-08-10 19:39:04 +0200 | <seriously> | there types are a function that takes a map and returns a Maybe Integer |
2022-08-10 19:39:07 +0200 | <tomsmeding> | maybe +RTS -xc, I don't remember |
2022-08-10 19:39:23 +0200 | <geekosaur> | it's not quite the same thing as HasCallstack |
2022-08-10 19:39:29 +0200 | <tomsmeding> | seriously: that's the first two arguments, what about the third one? |
2022-08-10 19:39:43 +0200 | <geekosaur> | but it does use profiling information to provide a call stack on exception |
2022-08-10 19:40:03 +0200 | <f-a> | -p or -xc? Well I’ll try both |
2022-08-10 19:40:11 +0200 | <seriously> | The same thing no? a function that takes a map and returns maybe integer? |
2022-08-10 19:40:50 +0200 | <seriously> | its straight forward if the type is Bool or Integer or String |
2022-08-10 19:40:58 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 19:41:05 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 268 seconds) |
2022-08-10 19:41:13 +0200 | <tomsmeding> | seriously: a -> (b -> (c -> (d -> e))) means exactly the same as a -> b -> c -> d -> e |
2022-08-10 19:41:29 +0200 | <tomsmeding> | returning a function is the same as taking another argument |
2022-08-10 19:41:31 +0200 | <geekosaur> | +RTS -xc prints a backtrace on exception if the program is compiled with profiling |
2022-08-10 19:42:01 +0200 | <geekosaur> | (it does not require you to enable profiling at runtime, just that the profiling information be there to build a backtrace from) |
2022-08-10 19:43:18 +0200 | Jade1 | (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed) |
2022-08-10 19:44:26 +0200 | <f-a> | geekosaur: may I upload a .tar.gz, because *not* all calls are afaics present |
2022-08-10 19:44:29 +0200 | son0p | (~ff@181.136.122.143) |
2022-08-10 19:45:24 +0200 | <geekosaur> | hm. the profiling-based stack trace does differ from the one you get with HasCallStack |
2022-08-10 19:45:53 +0200 | <f-a> | http://www.ariis.it/link/t/prova-0.1.0.0.tar.gz in this simple two file project, I do not see functions being called in main if I cabal run prova --enable-profiling -- +RTS -xc |
2022-08-10 19:45:57 +0200 | <f-a> | so maybe I am doing something wrong |
2022-08-10 19:46:04 +0200 | <geekosaur> | in particular I think the profiling one goes by what forces evaluation while HasCallStack records the actual evaluation trace |
2022-08-10 19:46:21 +0200 | seriously | (~seriously@2001:1c06:1b1d:6f00:efd2:b7b6:20af:5f73) (Quit: Client closed) |
2022-08-10 19:46:31 +0200 | <geekosaur> | but requires that alll functions in the trace be annotated to work since it's actually an implicit variable |
2022-08-10 19:46:31 +0200 | seriously | (~seriously@2001:1c06:1b1d:6f00:efd2:b7b6:20af:5f73) |
2022-08-10 19:46:41 +0200 | vglfr | (~vglfr@88.155.13.82) (Ping timeout: 255 seconds) |
2022-08-10 19:46:55 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 19:47:09 +0200 | <f-a> | argh, so say I were working on ghc, I would have to annotate a large portion of the codebase just to diagnose how I reached some specific error? |
2022-08-10 19:47:15 +0200 | <f-a> | depressing :P |
2022-08-10 19:47:16 +0200 | <geekosaur> | yep |
2022-08-10 19:47:29 +0200 | <geekosaur> | we're still kinda in the stone age wrt debugging |
2022-08-10 19:47:58 +0200 | <geekosaur> | it's commonly requested that there be a way to have ghc annotate all functions itself |
2022-08-10 19:48:04 +0200 | <f-a> | well, so +RTS -xc is our best bet for now? |
2022-08-10 19:48:06 +0200 | <geekosaur> | no idea if it's been formally proposed yet |
2022-08-10 19:48:10 +0200 | <geekosaur> | yes |
2022-08-10 19:48:17 +0200 | <f-a> | (also, -xc or -xc -p?) |
2022-08-10 19:48:31 +0200 | <geekosaur> | hm, there's also a third way to get a backtrace that has its own shortcomings and abilities |
2022-08-10 19:48:46 +0200 | <geekosaur> | -p is unnecessary unless you also want to profile |
2022-08-10 19:49:27 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2022-08-10 19:50:31 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
2022-08-10 19:50:54 +0200 | <geekosaur> | ah, right, dwarf support provides another backtrace mechanism but it can't be used with exceptions unless you set a breakpoint in whatever mangled name `error` becomes |
2022-08-10 19:51:15 +0200 | <seriously> | so add :: M.Map String Integer -> (Maybe Integer -> (M.Map ..... tomsmeding |
2022-08-10 19:51:20 +0200 | <geekosaur> | and has to be enabled within the ghc build, which iirc it is not in currently released versions |
2022-08-10 19:52:01 +0200 | neceve | (~quassel@2.26.93.14) |
2022-08-10 19:52:02 +0200 | <f-a> | thanks geekosaur , still marginally better than what I did today (putting putStrLn and pray) |
2022-08-10 19:52:05 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-08-10 19:52:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-08-10 19:53:06 +0200 | vglfr | (~vglfr@88.155.13.82) (Read error: Connection reset by peer) |
2022-08-10 19:53:11 +0200 | vysn | (~vysn@user/vysn) |
2022-08-10 19:53:12 +0200 | <seriously> | so using, "add f" would give me access to the first map tomsmeding |
2022-08-10 19:53:14 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 19:54:02 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 268 seconds) |
2022-08-10 19:54:34 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 19:56:11 +0200 | <monochrom> | I use Debug.Trace. More importantly, I think in terms of a "work backwards" model, unlike most people. Working backwards work great for imperative eager languages too, I once solved a mystery in someone else's C program that way. |
2022-08-10 19:56:20 +0200 | <tomsmeding> | seriously: note, (a -> b) -> c is _not_ the same as a -> b -> c |
2022-08-10 19:56:24 +0200 | <tomsmeding> | (->) is right-associative |
2022-08-10 19:57:18 +0200 | zebrag | (~chris@user/zebrag) |
2022-08-10 19:59:08 +0200 | <monochrom> | (Lest you cite that there are great debuggers for C: No, I merely used printf.) |
2022-08-10 19:59:15 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-08-10 20:00:26 +0200 | <seriously> | let me know if my head is in the right place... your suggesting that due to currying and partial function application, theres a way to extract the Map from add :: (M.Map String Integer -> Maybe Integer) -> (M.Map String Integer -> Maybe Integer) -> (M.Map String Integer -> Maybe Integer) |
2022-08-10 20:00:38 +0200 | <seriously> | tomsmeding |
2022-08-10 20:01:04 +0200 | <seriously> | you said earlier that this function takes 3 arguments |
2022-08-10 20:01:43 +0200 | <seriously> | im not following that |
2022-08-10 20:02:05 +0200 | MajorBiscuit | (~MajorBisc@c-001-013-051.client.tudelft.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-08-10 20:02:17 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) |
2022-08-10 20:02:34 +0200 | <tomsmeding> | seriously: let's look at a simpler example first |
2022-08-10 20:02:35 +0200 | <tomsmeding> | :t const |
2022-08-10 20:02:36 +0200 | <lambdabot> | a -> b -> a |
2022-08-10 20:02:47 +0200 | <tomsmeding> | :t const 3 |
2022-08-10 20:02:49 +0200 | <lambdabot> | Num a => b -> a |
2022-08-10 20:02:53 +0200 | AlexNoo_ | AlexNoo |
2022-08-10 20:03:12 +0200 | <tomsmeding> | so when applied to one argument of type 'a', 'const' gets type 'b -> a' |
2022-08-10 20:03:19 +0200 | <tomsmeding> | so clearly, const :: a -> (b -> a), right? |
2022-08-10 20:03:20 +0200 | vglfr | (~vglfr@88.155.13.82) (Read error: Connection reset by peer) |
2022-08-10 20:03:26 +0200 | <tomsmeding> | :t const :: a -> (b -> a) |
2022-08-10 20:03:27 +0200 | <lambdabot> | a -> b -> a |
2022-08-10 20:03:28 +0200 | <seriously> | right |
2022-08-10 20:03:39 +0200 | <tomsmeding> | a -> (b -> a) and a -> b -> a are the same thing |
2022-08-10 20:03:45 +0200 | <seriously> | right |
2022-08-10 20:03:56 +0200 | <tomsmeding> | just like (a - b) - c and a - b - c are the same thing |
2022-08-10 20:04:02 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 20:04:04 +0200 | <tomsmeding> | but a - (b - c) is something completely different |
2022-08-10 20:04:12 +0200 | <tomsmeding> | (-) is left-associative |
2022-08-10 20:04:25 +0200 | <tomsmeding> | (->) is right-associative: you have the same parenthesisation behaviour, but the other way around |
2022-08-10 20:04:26 +0200 | vglfr | (~vglfr@88.155.13.82) (Read error: Connection reset by peer) |
2022-08-10 20:04:35 +0200 | titibandit | (~titibandi@xdsl-212-8-147-38.nc.de) |
2022-08-10 20:04:37 +0200 | <tomsmeding> | a -> b -> c is the same as a -> (b -> c); this is currying |
2022-08-10 20:04:38 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 20:04:52 +0200 | <tomsmeding> | but (a -> b) -> c is something different: this is a function that takes an argument of type (a -> b) |
2022-08-10 20:05:05 +0200 | <tomsmeding> | does that makes sense? |
2022-08-10 20:05:06 +0200 | vglfr | (~vglfr@88.155.13.82) (Read error: Connection reset by peer) |
2022-08-10 20:05:15 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 20:06:10 +0200 | <seriously> | yeah makes sense ... I dont have the intuition for it but it makes sense in the sense of (-) (*) (`div`) |
2022-08-10 20:06:25 +0200 | <tomsmeding> | for (-) it makes sense? good |
2022-08-10 20:06:36 +0200 | vglfr | (~vglfr@88.155.13.82) (Read error: Connection reset by peer) |
2022-08-10 20:06:38 +0200 | <tomsmeding> | the intuition for (->) should come from the fact that partial application is a thing |
2022-08-10 20:07:02 +0200 | <tomsmeding> | in haskell, a function that takes three arguments is precisely the same as a function that takes one argument (the first one), and returns a _function_ that takes the remaining two arguments |
2022-08-10 20:07:23 +0200 | <tomsmeding> | add :: (map -> mint) -> (map -> mint) -> (map -> mint) -- I shortened the types a bit |
2022-08-10 20:07:25 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 20:07:36 +0200 | <tomsmeding> | this type has one set of redundant parentheses -- which one? |
2022-08-10 20:08:35 +0200 | <seriously> | the last one... so (map -> mint) -> (map -> mint) -> map -> mint |
2022-08-10 20:08:47 +0200 | <tomsmeding> | indeed! |
2022-08-10 20:08:54 +0200 | <tomsmeding> | so how many arguments does add take? |
2022-08-10 20:08:55 +0200 | titibandit | (~titibandi@xdsl-212-8-147-38.nc.de) (Client Quit) |
2022-08-10 20:09:17 +0200 | <seriously> | 3 so... add f g map |
2022-08-10 20:09:21 +0200 | <tomsmeding> | yep! |
2022-08-10 20:09:28 +0200 | <tomsmeding> | now it's your turn again :) |
2022-08-10 20:09:31 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-08-10 20:09:43 +0200 | <seriously> | =D =D (y) |
2022-08-10 20:09:47 +0200 | <seriously> | thanks!!! |
2022-08-10 20:10:18 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.6) |
2022-08-10 20:10:25 +0200 | <tomsmeding> | seriously: by the way, there is a "normal" arithmetic operator that is also right-associative, just like (->): exponentiation (^) |
2022-08-10 20:10:42 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
2022-08-10 20:10:47 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-08-10 20:10:51 +0200 | <tomsmeding> | a ^ b ^ c is the same as a ^ (b ^ c), and is different from (a ^ b) ^ c, which is a ^ (b * c) |
2022-08-10 20:11:04 +0200 | <tomsmeding> | but +-*/ are left-associative |
2022-08-10 20:11:35 +0200 | <seriously> | even + ? |
2022-08-10 20:11:52 +0200 | <tomsmeding> | well for (+) and (*) it doesn't matter really :p |
2022-08-10 20:11:56 +0200 | <seriously> | isnt 3 + (1 + 2) the same as (3 +1) + 2 |
2022-08-10 20:11:58 +0200 | <tomsmeding> | yeah |
2022-08-10 20:12:00 +0200 | <seriously> | ok ok sorry |
2022-08-10 20:12:14 +0200 | <tomsmeding> | well, I mean, it _is_ left-associative |
2022-08-10 20:12:20 +0200 | <tomsmeding> | it's just _also_ right-associative :D |
2022-08-10 20:12:24 +0200 | <seriously> | i think doing some pemdas training might help me |
2022-08-10 20:12:27 +0200 | <tomsmeding> | (we say: (+) is _associative_) |
2022-08-10 20:12:34 +0200 | <seriously> | havent done it inover 15 years |
2022-08-10 20:12:38 +0200 | <tomsmeding> | (it's also _commutative_: a + b == b + a) |
2022-08-10 20:12:51 +0200 | <seriously> | ok i see |
2022-08-10 20:13:01 +0200 | <tomsmeding> | (->) is definitely _not_ commutative though :p |
2022-08-10 20:13:14 +0200 | <tomsmeding> | if it were, we'd have an interesting situation on our hands |
2022-08-10 20:15:15 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-08-10 20:15:29 +0200 | slack1256 | (~slack1256@wsip-184-177-0-226.no.no.cox.net) (Ping timeout: 255 seconds) |
2022-08-10 20:15:37 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6) |
2022-08-10 20:16:12 +0200 | califax | (~califax@user/califx) |
2022-08-10 20:18:26 +0200 | <monochrom> | Nooooo! If (->) were commutative, everything would be trivialized! |
2022-08-10 20:19:03 +0200 | <monochrom> | Right? https://xkcd.com/816/ applies. :) |
2022-08-10 20:20:05 +0200 | <dolio> | That's why you need ⅋. |
2022-08-10 20:20:28 +0200 | <darkling> | Ah, but does that proof use the axiom of choice? :) |
2022-08-10 20:22:26 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-08-10 20:28:09 +0200 | notzmv | (~zmv@user/notzmv) |
2022-08-10 20:32:53 +0200 | vglfr | (~vglfr@88.155.13.82) (Ping timeout: 268 seconds) |
2022-08-10 20:33:08 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) |
2022-08-10 20:35:30 +0200 | Inst | (~Inst@2601:6c4:4080:3f80:9130:6712:37bc:57ff) |
2022-08-10 20:36:52 +0200 | seriously | (~seriously@2001:1c06:1b1d:6f00:efd2:b7b6:20af:5f73) (Ping timeout: 252 seconds) |
2022-08-10 20:38:36 +0200 | irfan | (~irfan@user/irfan) (Quit: leaving) |
2022-08-10 20:44:48 +0200 | pavonia | (~user@user/siracusa) |
2022-08-10 20:48:57 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-08-10 20:52:59 +0200 | phma_ | (~phma@host-67-44-208-154.hnremote.net) |
2022-08-10 20:54:24 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:7fc4:b440:75b4:b884) |
2022-08-10 20:54:26 +0200 | doelie | (~tom@c-73-17-195-134.hsd1.me.comcast.net) (Remote host closed the connection) |
2022-08-10 20:54:29 +0200 | phma | (~phma@host-67-44-208-1.hnremote.net) (Read error: Connection reset by peer) |
2022-08-10 20:54:37 +0200 | alternateved | (~user@staticline-31-183-149-36.toya.net.pl) |
2022-08-10 20:56:10 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) |
2022-08-10 20:56:53 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 20:57:15 +0200 | king_gs1 | (~Thunderbi@2806:103e:29:da31:6295:18ed:9b2f:858f) |
2022-08-10 20:57:30 +0200 | phma_ | phma |
2022-08-10 20:58:39 +0200 | nate4 | (~nate@98.45.169.16) |
2022-08-10 20:58:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 20:59:33 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:7fc4:b440:75b4:b884) (Ping timeout: 268 seconds) |
2022-08-10 20:59:33 +0200 | king_gs1 | king_gs |
2022-08-10 20:59:48 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 21:00:07 +0200 | cyanide3dinner | (~cyanide4d@2402:e280:2149:513:931b:41cb:2a7e:791d) |
2022-08-10 21:00:38 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-08-10 21:00:39 +0200 | Vajb | (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) (Read error: Connection reset by peer) |
2022-08-10 21:00:54 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-08-10 21:01:00 +0200 | coot | (~coot@213.134.176.158) |
2022-08-10 21:01:18 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
2022-08-10 21:02:18 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-08-10 21:02:56 +0200 | Vajb | (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) |
2022-08-10 21:03:11 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 21:03:43 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-08-10 21:04:02 +0200 | vglfr | (~vglfr@88.155.13.82) |
2022-08-10 21:05:38 +0200 | the_ironic_curta | (~Thunderbi@94.140.9.171) |
2022-08-10 21:06:37 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-08-10 21:07:06 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-08-10 21:08:37 +0200 | joo-_ | (~joo-_@fsf/member/joo--) (Remote host closed the connection) |
2022-08-10 21:15:06 +0200 | alternateved | (~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection) |
2022-08-10 21:19:02 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-08-10 21:19:15 +0200 | <seydar> | I'm trying to get ruby and haskell to talk to each other using unix sockets: https://paste.tomsmeding.com/62Qx9jev |
2022-08-10 21:19:56 +0200 | <seydar> | unfortunately, they both just... hang. and then when I ^C the haskell client, the ruby server then prints everything and complains of a broken pipe when it tries to write back. |
2022-08-10 21:20:02 +0200 | <seydar> | are unix sockets secretly only one-way? |
2022-08-10 21:20:19 +0200 | <Bulby[m]> | lazyness? |
2022-08-10 21:20:20 +0200 | <seydar> | also, unix sockets are *in-memory*, right? |
2022-08-10 21:20:31 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 21:21:17 +0200 | <geekosaur> | yes |
2022-08-10 21:21:25 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) |
2022-08-10 21:21:40 +0200 | <Bulby[m]> | if something doesn't work until you ^C the haskell client perhaps it's lazyness |
2022-08-10 21:21:42 +0200 | jgeerds | (~jgeerds@55d46bad.access.ecotel.net) (Remote host closed the connection) |
2022-08-10 21:21:53 +0200 | <geekosaur> | or buffering? |
2022-08-10 21:21:59 +0200 | <Bulby[m]> | yes |
2022-08-10 21:22:00 +0200 | <Bulby[m]> | more likely |
2022-08-10 21:22:09 +0200 | <darkling> | If it were pipes, my money would defintely be on buffering. |
2022-08-10 21:22:29 +0200 | <darkling> | Sockets, I'm not so sure about. I haven't played with them so much. |
2022-08-10 21:22:54 +0200 | <geekosaur> | (note that buffering is language agnostic, so you may also have to check buffering on the Ruby side) |
2022-08-10 21:23:01 +0200 | <Bulby[m]> | sorry i haven't written haskell in a while |
2022-08-10 21:24:03 +0200 | <geekosaur> | the haskell side is using raw socket operations so buffering shouldn't matter. but neither will lines, or "packet" boundaries since it's a stream socket |
2022-08-10 21:24:31 +0200 | <seydar> | okay, so this is definitely the right medium i'm looking to explore |
2022-08-10 21:24:36 +0200 | <seydar> | but why does it hate me |
2022-08-10 21:24:43 +0200 | <darkling> | I'd be much more inclined to believe there are buffering issues if it's a stream socket than a datagram socket. |
2022-08-10 21:25:04 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2022-08-10 21:25:10 +0200 | <geekosaur> | actually both sides appear to be using raw send and recv operations |
2022-08-10 21:25:23 +0200 | <geekosaur> | so no buffering unless it's the printing the result part |
2022-08-10 21:26:26 +0200 | <seydar> | i'm willing to bet monopoly money that it's waiting until the write side is closed before reading |
2022-08-10 21:26:39 +0200 | <seydar> | because if i close the ruby server first, then the haskell program does its read |
2022-08-10 21:27:40 +0200 | <seydar> | although that's pipe logic, not socket logic |
2022-08-10 21:27:52 +0200 | <geekosaur> | `recv sock 1024` will actually wait for 1024 bytes, because it's a stream |
2022-08-10 21:27:55 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2022-08-10 21:28:17 +0200 | <geekosaur> | you probably want to make it a Handle and use hGetSome or similar |
2022-08-10 21:28:55 +0200 | <seydar> | ooooh, so if i just do recv 4 bytes, i might see my program complete |
2022-08-10 21:29:18 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-08-10 21:29:42 +0200 | <geekosaur> | yes |
2022-08-10 21:29:56 +0200 | <seydar> | welp. that didn't quite do it either. |
2022-08-10 21:30:07 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2022-08-10 21:31:43 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Quit: leaving) |
2022-08-10 21:32:11 +0200 | kmein | (~weechat@user/kmein) |
2022-08-10 21:33:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-08-10 21:33:07 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
2022-08-10 21:33:26 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) |
2022-08-10 21:35:46 +0200 | <geekosaur[m]> | What did it do? |
2022-08-10 21:41:14 +0200 | bliminse | (~bliminse@user/bliminse) |
2022-08-10 21:42:50 +0200 | dd1 | (~ddellacos@86.106.121.209) |
2022-08-10 21:46:54 +0200 | <dd1> | anyone know what this is about? Am I missing something? https://paste.tomsmeding.com/YuI3ZqA5 |
2022-08-10 21:48:00 +0200 | f-a | (f2a@f2a.jujube.ircnow.org) () |
2022-08-10 21:48:07 +0200 | <geekosaur> | :set NoStarIsType |
2022-08-10 21:48:10 +0200 | <geekosaur> | I think |
2022-08-10 21:48:11 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2022-08-10 21:49:23 +0200 | neceve | (~quassel@2.26.93.14) (Ping timeout: 268 seconds) |
2022-08-10 21:50:26 +0200 | <dd1> | geekosaur: yes that was it! So I guess a name collision in some sense? I'm just learning about TypeLits so this is all new to me... |
2022-08-10 21:50:33 +0200 | <geekosaur> | yes |
2022-08-10 21:50:45 +0200 | <geekosaur> | * meaning Type (that is, a concrete type) is historical |
2022-08-10 21:50:52 +0200 | <geekosaur> | :k <aybe |
2022-08-10 21:50:53 +0200 | <lambdabot> | error: Operator applied to too few arguments: < |
2022-08-10 21:50:54 +0200 | <geekosaur> | er |
2022-08-10 21:50:55 +0200 | dd1 | ddellacosta |
2022-08-10 21:50:58 +0200 | <geekosaur> | :k Maybe |
2022-08-10 21:50:59 +0200 | <lambdabot> | * -> * |
2022-08-10 21:51:10 +0200 | <geekosaur> | that's the use of * it's expecting |
2022-08-10 21:51:25 +0200 | <geekosaur> | if you set NoStarIsType then * is freed to be a type operator |
2022-08-10 21:51:54 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds) |
2022-08-10 21:52:15 +0200 | <ddellacosta> | geekosaur: gotcha, makes sense--thanks |
2022-08-10 21:53:33 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-08-10 21:54:21 +0200 | cyanide3dinner | (~cyanide4d@2402:e280:2149:513:931b:41cb:2a7e:791d) (Remote host closed the connection) |
2022-08-10 21:57:13 +0200 | noteness | (~noteness@user/noteness) (Excess Flood) |
2022-08-10 21:57:25 +0200 | the_ironic_curta | (~Thunderbi@94.140.9.171) (Remote host closed the connection) |
2022-08-10 21:58:15 +0200 | noteness | (~noteness@user/noteness) |
2022-08-10 22:00:25 +0200 | ubert | (~Thunderbi@178.165.202.57.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2022-08-10 22:02:00 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-08-10 22:06:28 +0200 | slack1256 | (~slack1256@wsip-184-177-0-226.no.no.cox.net) |
2022-08-10 22:16:01 +0200 | hpc | (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 268 seconds) |
2022-08-10 22:17:45 +0200 | hpc | (~juzz@ip98-169-32-242.dc.dc.cox.net) |
2022-08-10 22:18:09 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-08-10 22:19:04 +0200 | dos__^^ | (~user@user/dos/x-1723657) (Ping timeout: 244 seconds) |
2022-08-10 22:22:39 +0200 | hpc | (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 268 seconds) |
2022-08-10 22:24:55 +0200 | jese | (~nikola@109-93-165-248.dynamic.isp.telekom.rs) |
2022-08-10 22:25:14 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-08-10 22:25:48 +0200 | ddellacosta | (~ddellacos@86.106.121.209) (Ping timeout: 268 seconds) |
2022-08-10 22:25:50 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-08-10 22:26:41 +0200 | biberu | (~biberu@user/biberu) |
2022-08-10 22:27:15 +0200 | yvan-sraka | (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
2022-08-10 22:28:40 +0200 | <Bulby[m]> | binary isn't giving me a good call stack |
2022-08-10 22:28:42 +0200 | <Bulby[m]> | it just says out of bytes |
2022-08-10 22:28:43 +0200 | hpc | (~juzz@ip98-169-32-242.dc.dc.cox.net) |
2022-08-10 22:28:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-08-10 22:29:57 +0200 | d34df00d | (~d34df00d@2600:1700:8c60:3a10::46) |
2022-08-10 22:30:37 +0200 | <d34df00d> | Hi! |
2022-08-10 22:30:49 +0200 | <d34df00d> | I want to make something in Haskell that'd run in a browser and, moreover, render some graphs. I never did either of that, so what are some good libraries/toolchains/etc? |
2022-08-10 22:35:36 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 22:37:08 +0200 | <dmj`> | d34df00d: https://github.com/dmjio/miso |
2022-08-10 22:37:19 +0200 | jese | (~nikola@109-93-165-248.dynamic.isp.telekom.rs) (Quit: leaving) |
2022-08-10 22:37:32 +0200 | <d34df00d> | Yay thanks! |
2022-08-10 22:37:55 +0200 | <d34df00d> | dmj: is dmjio the same as dmj the you? |
2022-08-10 22:38:24 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-08-10 22:38:45 +0200 | <dmj`> | d34df00d: yea, sorry, shameless plug |
2022-08-10 22:39:14 +0200 | <d34df00d> | Nah, on the contrary, that's good! More sense in asking questions here :] |
2022-08-10 22:39:33 +0200 | <dmj`> | in that case, check this out: https://2048.haskell-miso.org/ |
2022-08-10 22:39:49 +0200 | alp_ | (~alp@user/alp) |
2022-08-10 22:41:27 +0200 | <tomsmeding> | having never before seen ghcjs output code, https://2048.haskell-miso.org/all.js is a wild ride for the curious |
2022-08-10 22:42:49 +0200 | <d34df00d> | dmj: looks pretty neat! |
2022-08-10 22:43:24 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 22:43:39 +0200 | <d34df00d> | tomsmeding: I've seen a benchmark of some languages compiling to js, and ghcjs was, well… this explains that. Idris was on top tho. |
2022-08-10 22:43:48 +0200 | <d34df00d> | although Idris has way less libraries :( |
2022-08-10 22:44:35 +0200 | <tomsmeding> | I'm not surprised; V8 is unlikely to optimise for the code patterns that result when you try to compile a _lazy_ language to JS |
2022-08-10 22:45:27 +0200 | <dmj`> | yea, well the STG machine (along with all the primops and RTS functionality) implemented in JS, is gonna be pretty hefty. But at least the JS output is optimized for the google closure compiler |
2022-08-10 22:45:52 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6) |
2022-08-10 22:48:14 +0200 | <merijn> | tomsmeding: LLVM all over again xD |
2022-08-10 22:48:40 +0200 | <merijn> | d34df00d: Keep in mind that ghcjs is *A LOT* more than "compiling haskell to JS" |
2022-08-10 22:48:54 +0200 | <merijn> | d34df00d: ghcjs was a full port of GHC *plus it's RTS* to JS |
2022-08-10 22:49:00 +0200 | <dmj`> | If we inlined the eval function, defunctionalized the STG, and did some whole program analysis passes we could ameliorate almost all overhead from laziness and have very small js payloads. |
2022-08-10 22:49:12 +0200 | <merijn> | d34df00d: Which means it implements lightweight threading, complex timers, etc. |
2022-08-10 22:49:20 +0200 | <d34df00d> | Oh. |
2022-08-10 22:49:29 +0200 | <d34df00d> | green threads is something I haven't thought about as a consequence of compiling to js. |
2022-08-10 22:49:33 +0200 | <d34df00d> | for one |
2022-08-10 22:49:44 +0200 | <merijn> | d34df00d: Literally anything, except C FFI (and even some of that...) *everything* of GHC worked |
2022-08-10 22:49:48 +0200 | <Rembane_> | d34df00d: Have you checked out Purescript? |
2022-08-10 22:50:03 +0200 | <merijn> | d34df00d: If you are willing to drop a bunch of stuff like that, then you can get MUCH faster code |
2022-08-10 22:50:04 +0200 | <darkling> | Still waiting for someone to produce a BEAM runtime in a browser. :) |
2022-08-10 22:50:09 +0200 | <d34df00d> | Rembane_: tbh I don't want to learn a new language rn. I wanted to switch away from agda and get something |
2022-08-10 22:50:14 +0200 | <d34df00d> | actually done that'd actually run. |
2022-08-10 22:50:46 +0200 | <d34df00d> | Although from what I've see purescript looks pretty cool! |
2022-08-10 22:50:52 +0200 | <d34df00d> | Native row polymorphism and all that. |
2022-08-10 22:51:26 +0200 | <darkling> | I kind of sidled in here from Elm... |
2022-08-10 22:51:36 +0200 | <Rembane_> | d34df00d: Fair enough. |
2022-08-10 22:54:03 +0200 | king_gs | (~Thunderbi@2806:103e:29:da31:6295:18ed:9b2f:858f) (Quit: king_gs) |
2022-08-10 23:02:05 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) |
2022-08-10 23:04:08 +0200 | <dmj`> | d34df00d: ghcjs gives you all of hackage too :) |
2022-08-10 23:04:11 +0200 | <dmj`> | "all" |
2022-08-10 23:09:47 +0200 | <walt> | purescript is a way more reasonable choice if the goal is to run stuff in the browser, imo |
2022-08-10 23:10:14 +0200 | walt | ggVGc |
2022-08-10 23:10:17 +0200 | <geekosaur> | unless you actually need the power of ghc |
2022-08-10 23:10:32 +0200 | <geekosaur> | (but how often do you actually need that?) |
2022-08-10 23:14:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-08-10 23:15:17 +0200 | mikoto-chan | (~mikoto-ch@85-76-19-206-nat.elisa-mobile.fi) |
2022-08-10 23:15:55 +0200 | mmhat | (~mmh@p200300f1c706f7beee086bfffe095315.dip0.t-ipconnect.de) |
2022-08-10 23:16:29 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-08-10 23:19:33 +0200 | <dmj`> | rescript looks cool, could use that |
2022-08-10 23:20:55 +0200 | absentia | (~absentia@user/absentia) (K-Lined) |
2022-08-10 23:22:57 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-08-10 23:23:22 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-08-10 23:23:28 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-08-10 23:23:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-08-10 23:29:05 +0200 | ph88 | (~ph88@ltea-178-013-121-150.pools.arcor-ip.net) |
2022-08-10 23:30:30 +0200 | pgib | (~textual@173.38.117.83) |
2022-08-10 23:31:26 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) |
2022-08-10 23:31:45 +0200 | acidjnk_new | (~acidjnk@p200300d6e705861494ef1a886018f36c.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-08-10 23:36:18 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-08-10 23:40:27 +0200 | michalz | (~michalz@185.246.204.90) (Remote host closed the connection) |
2022-08-10 23:42:11 +0200 | moonsheep | (~user@user/moonsheep) |
2022-08-10 23:42:42 +0200 | acidjnk_new | (~acidjnk@p200300d6e7058614083d03ca0d10755f.dip0.t-ipconnect.de) |
2022-08-10 23:46:21 +0200 | <zzz> | what's the reasoning behind doing stuff like this?: https://hackage.haskell.org/package/gloss-1.7.5.2/docs/src/Graphics-Gloss-Data-Picture.html#pictures |
2022-08-10 23:46:59 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-08-10 23:47:42 +0200 | <zzz> | functiom = Constructor |
2022-08-10 23:48:46 +0200 | <dmj`> | zzz: smart constructor |
2022-08-10 23:48:57 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-08-10 23:50:13 +0200 | mikoto-chan | (~mikoto-ch@85-76-19-206-nat.elisa-mobile.fi) (Ping timeout: 268 seconds) |
2022-08-10 23:50:42 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-08-10 23:51:01 +0200 | <[exa]> | zzz: if you only export the function, you 1] make sure the user isn't tempted to patternmatch 2] you can change the data representation in later versions without breaking it for everyone |
2022-08-10 23:52:45 +0200 | <zzz> | hmm... gloss not only exports it but also doesn't perform any "smart" checks |
2022-08-10 23:55:10 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-08-10 23:58:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |