Logs on 2022-06-16 (liberachat/#haskell)
| 00:01:28 | → | pleo joins (~pleo@user/pleo) |
| 00:01:28 | × | Tuplanolla quits (~Tuplanoll@91-159-69-173.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:07:42 | → | dzdcnfzd joins (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net) |
| 00:07:53 | → | aegon joins (~mike@174.127.249.180) |
| 00:08:45 | <aegon> | hey all, i'm trying to optimize some docker containers for size using stack... the starting container is ~2 gigs, after a (stack build && stack install && rm -Rf ./.stack-work && rm -Rf ~/.stack) |
| 00:08:50 | <aegon> | it balloons to almost 10 gigs |
| 00:09:16 | <aegon> | any idea where all those gigs are coming from? are there artifacts placed elsewhere than ~/.stack or ./.stack-work |
| 00:11:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 00:13:51 | → | son0p joins (~ff@181.136.122.143) |
| 00:15:07 | × | werneta quits (~werneta@137.79.230.15) (Ping timeout: 260 seconds) |
| 00:16:27 | <DigitalKiwi> | is not using stack an option |
| 00:16:50 | <aegon> | not one without a high cost |
| 00:16:52 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 00:17:45 | <aegon> | i'm just kinda curous, would be open to moving away from it but wher else would these gigs be going? i thought in docker at least, everything with an && was treated as one delta so removing .stack / .stack-work should be the majority of the excess |
| 00:18:03 | <aegon> | but removing those folders only saved me ~ 800 megs or so in final image size |
| 00:20:28 | <aegon> | i guess at the end of the day storage is dirt cheap, 10 gigs seems excessive though |
| 00:21:10 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 00:21:54 | → | werneta joins (~werneta@137.79.230.15) |
| 00:22:27 | <jackdk> | I use nix these days, but I understand that's a massive jump. But 2MB static binaries built against musl are tasty |
| 00:22:56 | <dragestil> | kinda related but i find haskell binaries rather big |
| 00:23:16 | <geekosaur> | 10GB big seems unlikely though |
| 00:23:20 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 248 seconds) |
| 00:23:52 | <geekosaur> | (haskell binaries are linked statically to most things, which bloats them considerably. but dynamic linking poses a bunch of other problems) |
| 00:24:17 | <geekosaur> | (as Arch likes to demonstrate regularly, since they force dynamic linking) |
| 00:25:40 | × | dzdcnfzd quits (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net) (Quit: Client closed) |
| 00:26:25 | <dragestil> | i see |
| 00:26:38 | × | stackdroid18 quits (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!) |
| 00:26:41 | <aegon> | yeah, i'm doing a test build to see how big the bin is, but the wholse .stack-work foldier after a build is ~5 gigs |
| 00:26:59 | <dragestil> | I wonder why dynamic linking is a problem with haskell, but not some other langs |
| 00:27:14 | <aegon> | i should bite the nix bullet, i just got comfy with kubernetes |
| 00:27:15 | <geekosaur> | because the dependencies are *really* tight |
| 00:27:48 | <aegon> | i'm pretty sure my exe is dynamically linked with libzmq but it might be be static i'll check that too |
| 00:27:54 | <geekosaur> | ghc exposes module internals for cross-module optimization, which means the ABI is much larger than you would expect, and must match precisely or you get runtime crashes |
| 00:28:30 | <geekosaur> | so you can't for example simply replace a shared object with a new one, you have to recompile everything using it because the ABI may have changed |
| 00:28:41 | × | xff0x quits (~xff0x@2405:6580:b080:900:22c7:1522:c1f2:cdfc) (Ping timeout: 258 seconds) |
| 00:28:42 | <dragestil> | ok |
| 00:29:07 | <aegon> | i'm updating zeromq4-haskell bindings with some of the more recent draft apis it looks like the maintainer hasn't done anything with the project in 3 years, whats the etiquette for republishing to hackage :? |
| 00:29:56 | <geekosaur> | try to contact the maintainer to be added as a co-maintainer. if you get no response in ~3 months you can request a package takeover on the libraries list |
| 00:31:08 | <dragestil> | btw i've been playing with haddock code. it uses the TTG pattern (a new type instance for the HsSyn ast param thingie) but does not offer Data instance so is a pain to try to look into it |
| 00:31:26 | <aegon> | kk I'll reach out now then. Related, these drafts require linking to functions only valid if the library was built with a preprocessor define, afaik theres no artifact left around to determing if the symbols will be present. Is there a way to offer a cabal or stack flag so i can conditionally bind in the .hsc file? |
| 00:32:21 | <dragestil> | e.g. I can't use showAstData / pprTrace to print out the ast |
| 00:32:28 | <aegon> | hmm.. that would also have ramifications to non .hsc modules |
| 00:32:48 | <geekosaur> | no. in fact that sitation is supposed to not happen and is a violation of the Cabal (not cabal/stack but the package system) standard, precisely because there's no good way to test for it |
| 00:33:32 | <geekosaur> | dragestil, talk to Hecate, maybe one can be added |
| 00:34:22 | <dragestil> | geekosaur: ok thanks for the pointer |
| 00:35:46 | <aegon> | geekosaur: darn, so maybe this is why the origonal maintainer didn't bother with them |
| 00:36:13 | <jackdk> | aegon: you can wire cabal into a configure script if things get dire. Set `build-type: Configure`, make `Setup.hs` contain `main = defaultMainWithHooks autoconfUserHooks` and write a configure script (using autoconf and autoheader to generate a `config.h` might go?) |
| 00:36:15 | <jackdk> | https://cabal.readthedocs.io/en/3.4/cabal-package.html#system-dependent-parameters |
| 00:37:18 | <jackdk> | I speak fluent autoconf and wrote something that used zmq many years ago, so maybe I can help if you get stuck |
| 00:38:42 | <aegon> | jackdk: thanks! :) sounds promising i'll readthedocs to start, likely wont be tackling it till july but will start picking away at it |
| 00:42:12 | × | feliix42 quits (~felix@gibbs.uberspace.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 00:42:47 | → | feliix42 joins (~felix@gibbs.uberspace.de) |
| 00:43:34 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 00:44:01 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 00:48:04 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 248 seconds) |
| 00:50:43 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 00:52:23 | × | lottaquestions quits (~nick@2607:fa49:5041:a200:e93:cdbf:1805:a1c8) (Ping timeout: 255 seconds) |
| 00:53:30 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 00:55:30 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
| 00:58:17 | × | alp quits (~alp@user/alp) (Ping timeout: 260 seconds) |
| 00:59:49 | <Axman6> | aegon: I assume this docker image is for building using stack, and not deploying? |
| 00:59:54 | <aegon> | welp, that was dumb, i was adding the src directory into the container that already had .stack-work files in it, went from adding ~8gigs to adding ~ 30 megs |
| 01:00:14 | <Axman6> | yeah... don't include the host's .stack-work :P |
| 01:00:22 | × | benin quits (~benin@183.82.27.33) (Ping timeout: 246 seconds) |
| 01:01:22 | <aegon> | :X yeah, my bad. thats a suprising amount of artifacts but i think this stack work had artifacts from 2 ghc 8.x builds and ghc 9.x |
| 01:01:30 | <Axman6> | when it comes to deployment images, it is possible to make very small images with static linking - I had a web service that ended up with an 8MB image (can't remember how though) |
| 01:01:38 | × | jargon quits (~jargon@184.101.186.108) (Remote host closed the connection) |
| 01:01:59 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:02:43 | → | benin joins (~benin@183.82.204.191) |
| 01:03:41 | × | mixfix41 quits (~sdenynine@user/mixfix41) (Ping timeout: 256 seconds) |
| 01:07:56 | → | lainon joins (~lainon@2601:7c0:c500:4d20:758f:bedd:f48d:1829) |
| 01:11:44 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 01:12:42 | × | raym quits (~raym@user/raym) (Quit: leaving) |
| 01:13:21 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:14:56 | <aegon> | Axman6: that woudl be super cool to know if you remember :) |
| 01:15:53 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 01:17:51 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:57 | × | Alleria quits (~textual@user/alleria) (Read error: Connection reset by peer) |
| 01:30:53 | × | lainon quits (~lainon@2601:7c0:c500:4d20:758f:bedd:f48d:1829) (Quit: Textual IRC Client: www.textualapp.com) |
| 01:38:49 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds) |
| 01:42:50 | → | king_gs joins (~Thunderbi@187.201.173.69) |
| 01:42:53 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:45:03 | × | YoungFrog quits (~youngfrog@2a02:a03f:c21b:f900:4407:6901:d62:3299) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 01:45:23 | → | YoungFrog joins (~youngfrog@2a02:a03f:c21b:f900:9057:83fb:8876:5481) |
| 01:48:20 | × | king_gs quits (~Thunderbi@187.201.173.69) (Quit: king_gs) |
| 01:50:56 | → | frost joins (~frost@user/frost) |
| 02:03:54 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 02:10:33 | × | td_ quits (~td@muedsl-82-207-238-033.citykom.de) (Ping timeout: 256 seconds) |
| 02:12:32 | → | td_ joins (~td@muedsl-82-207-238-107.citykom.de) |
| 02:20:19 | → | nate4 joins (~nate@98.45.169.16) |
| 02:25:17 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
| 02:25:40 | × | hughjfch1 quits (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8) |
| 02:27:59 | × | frost quits (~frost@user/frost) (Quit: Ping timeout (120 seconds)) |
| 02:29:34 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 02:30:28 | → | frost joins (~frost@user/frost) |
| 02:30:37 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:30:41 | × | benin quits (~benin@183.82.204.191) (Ping timeout: 246 seconds) |
| 02:36:57 | × | mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
| 02:37:44 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:37:44 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:37:44 | finn_elija | is now known as FinnElija |
| 02:38:00 | → | mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001) |
| 02:42:11 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds) |
| 02:42:16 | → | lottaquestions joins (~nick@2607:fa49:5041:a200:617:f64b:a96:e051) |
| 02:49:04 | × | jinsun__ quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 02:52:11 | → | jinsun joins (~jinsun@user/jinsun) |
| 02:54:31 | <shapr> | wait, why doesn't hpc work on internal libraries?! |
| 02:58:45 | <Axman6> | yeah hpc, why you gotta be like that? |
| 02:59:51 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:05:39 | <shapr> | :-P |
| 03:07:54 | <shapr> | @paste |
| 03:07:54 | <lambdabot> | A pastebin: https://paste.debian.net/ |
| 03:08:19 | <shapr> | Axman6: I mean https://paste.debian.net/1244258/ |
| 03:09:23 | <shapr> | I wrote a minimum viable prototype for a feedback loop between quickcheck and hpc ( https://wiki.haskell.org/Haskell_program_coverage ) and now hpc doesn't work for internal libraries? |
| 03:13:47 | <Axman6> | hmm, sounds like a good #ghc question |
| 03:14:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 03:15:37 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 03:17:03 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:21:55 | <shapr> | yeah, gotta finish reading the cabal docs on internal libraries first. I have to ask an informed question! |
| 03:22:19 | <shapr> | specifically: https://cabal.readthedocs.io/en/3.6/cabal-package.html#sublibs |
| 03:23:52 | × | slack1256 quits (~slack1256@186.11.82.227) (Ping timeout: 258 seconds) |
| 03:24:04 | × | whosthis quits (~whosthis@97-122-203-212.hlrn.qwest.net) (Read error: Connection reset by peer) |
| 03:42:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 03:47:30 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 03:53:10 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 240 seconds) |
| 03:55:04 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 04:01:14 | → | yauhsien_ joins (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) |
| 04:01:15 | × | yauhsien quits (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
| 04:02:10 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 04:02:54 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 04:04:12 | → | slack1256 joins (~slack1256@181.43.227.13) |
| 04:07:58 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::4588) |
| 04:09:58 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 04:15:42 | × | noteness quits (~noteness@user/noteness) (Remote host closed the connection) |
| 04:16:04 | → | noteness joins (~noteness@user/noteness) |
| 04:17:23 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:17:27 | → | bilegeek joins (~bilegeek@2600:1008:b004:f8a7:1da1:2f77:e7e0:d631) |
| 04:18:07 | → | Vajb joins (~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) |
| 04:18:45 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 04:24:56 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 04:27:33 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 04:27:46 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 04:32:54 | → | takuan joins (~takuan@178.116.218.225) |
| 04:46:24 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 04:57:40 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 246 seconds) |
| 05:16:04 | × | yauhsien_ quits (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 05:16:13 | → | Pickchea joins (~private@user/pickchea) |
| 05:27:09 | → | yauhsien joins (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) |
| 05:31:00 | → | coot joins (~coot@213.134.190.95) |
| 05:33:59 | → | littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 05:34:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 05:36:24 | → | k8yun joins (~k8yun@user/k8yun) |
| 05:37:48 | → | mattil joins (~mattil@helsinki.portalify.com) |
| 05:42:35 | ← | coot parts (~coot@213.134.190.95) () |
| 05:42:48 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 248 seconds) |
| 05:43:31 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 05:44:10 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 05:46:04 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 05:49:07 | → | stefan-_ joins (~cri@42dots.de) |
| 05:50:32 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 246 seconds) |
| 05:53:06 | → | acidjnk joins (~acidjnk@p200300d0c7068b45256a07aefaa7dce4.dip0.t-ipconnect.de) |
| 06:02:12 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 06:02:41 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 06:09:04 | × | littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 06:09:07 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 06:15:18 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 06:15:54 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 06:17:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 06:18:06 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 06:18:13 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:18:27 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:18:28 | → | img joins (~img@user/img) |
| 06:18:45 | <dragestil> | Is there a way to invoke haddock without cabal, that builds haddock for a package? I'm guessing no because haddock has no idea about where to find build-depends |
| 06:19:46 | × | img quits (~img@user/img) (Client Quit) |
| 06:21:10 | → | img joins (~img@user/img) |
| 06:21:51 | → | nate4 joins (~nate@98.45.169.16) |
| 06:26:34 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 06:29:36 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection) |
| 06:29:36 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer) |
| 06:29:36 | × | winny quits (~weechat@user/winny) (Remote host closed the connection) |
| 06:29:36 | × | noteness quits (~noteness@user/noteness) (Remote host closed the connection) |
| 06:29:37 | → | Neuromancer joins (~Neuromanc@user/neuromancer) |
| 06:29:59 | → | noteness joins (~noteness@user/noteness) |
| 06:30:13 | → | winny joins (~weechat@user/winny) |
| 06:30:40 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 06:37:03 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:38:21 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:40:19 | → | cony_mony[m] joins (~conymonym@2001:470:69fc:105::2:2ea2) |
| 06:45:20 | <Hecate> | dragestil: you would basically have to replicate the haddock invocation that cabal does, just without cabal |
| 06:46:01 | <DigitalKiwi> | o/ Hecate |
| 06:46:05 | <dragestil> | Hecate: ok, how do I find the invocation? |
| 06:47:29 | <Hecate> | heya DigitalKiwi |
| 06:47:45 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 06:47:58 | <Hecate> | dragestil: I'd say check your computer's processes when `cabal haddock` is launched |
| 06:48:01 | <Hecate> | with htop or something |
| 06:48:24 | <dragestil> | ok thanks |
| 06:49:02 | <DigitalKiwi> | use a slow computer for better results! |
| 06:52:08 | [exa] | nostalgically smashes the turbo button |
| 06:53:05 | <DigitalKiwi> | https://xkcd.com/1172/ |
| 06:54:00 | <DigitalKiwi> | is tomsmeding here |
| 06:59:07 | → | kenran joins (~kenran@200116b82bfe7600e70c06a9d9c609b8.dip.versatel-1u1.de) |
| 06:59:28 | → | ccntrq joins (~Thunderbi@172.209.94.92.rev.sfr.net) |
| 07:00:03 | × | kenran quits (~kenran@200116b82bfe7600e70c06a9d9c609b8.dip.versatel-1u1.de) (Client Quit) |
| 07:01:21 | <tomsmeding> | DigitalKiwi: now I am |
| 07:01:26 | × | bilegeek quits (~bilegeek@2600:1008:b004:f8a7:1da1:2f77:e7e0:d631) (Quit: Leaving) |
| 07:08:32 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 07:10:00 | <tomsmeding> | DigitalKiwi: what was the question :p |
| 07:10:05 | → | zaquest joins (~notzaques@5.130.79.72) |
| 07:10:33 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-11.mrsn.at) |
| 07:11:24 | → | MajorBiscuit joins (~MajorBisc@c-001-020-042.client.tudelft.eduvpn.nl) |
| 07:17:59 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 07:20:19 | → | alp joins (~alp@user/alp) |
| 07:20:42 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:24:06 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:24:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Remote host closed the connection) |
| 07:34:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 07:49:18 | → | zeenk joins (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) |
| 07:53:22 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 07:58:45 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:59:48 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 08:00:11 | → | img joins (~img@user/img) |
| 08:01:12 | → | AlexNoo joins (~AlexNoo@178.34.150.200) |
| 08:02:18 | → | Alex_test joins (~al_test@178.34.150.200) |
| 08:03:02 | → | AlexZenon joins (~alzenon@178.34.150.200) |
| 08:04:26 | <merijn> | dragestil: "probably", but it's a pain |
| 08:04:50 | <merijn> | dragestil: Why do you wanna do it without cabal, though? |
| 08:05:43 | <slack1256> | Do anyone know what Edward Z Yang uses for his slides? Example: http://ezyang.com/slides/ezyang15-cnf-slides.pdf |
| 08:05:57 | <slack1256> | Is that just a wacom output made slides? |
| 08:05:58 | <dragestil> | merijn: oh i'm hacking on haddock code, and it would be easier to test and iterate if I don't have to invoke cabal to call my modified haddock |
| 08:06:28 | → | coot joins (~coot@213.134.190.95) |
| 08:06:38 | <merijn> | ah, wouldn't the haddock tests be a better example to check? |
| 08:07:05 | <dragestil> | yeah, I found an abundance of test cases there. I will try those first |
| 08:08:02 | <dragestil> | i hope that is sufficient |
| 08:08:25 | → | benin joins (~benin@183.82.28.222) |
| 08:09:10 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:09:49 | × | yauhsien quits (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 08:10:24 | → | yauhsien joins (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) |
| 08:11:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 08:12:02 | → | slac79071 joins (~slack1256@186.11.47.77) |
| 08:14:21 | × | slack1256 quits (~slack1256@181.43.227.13) (Ping timeout: 256 seconds) |
| 08:15:01 | <tomsmeding> | slac79071: looks very much like that yes |
| 08:15:08 | <tomsmeding> | oh sorry wrong ping |
| 08:18:16 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 08:19:34 | <Tisoxin> | Is it possible to collect all top level functions in a module in a list with template haskell? |
| 08:21:03 | → | mixfix41 joins (~sdenynine@user/mixfix41) |
| 08:22:51 | <merijn> | Tisoxin: "It Depends (TM)" |
| 08:23:06 | <merijn> | Most crucially on "where is said TH code" |
| 08:23:08 | <tomsmeding> | Tisoxin: judging by QuickCheck's implementation of the same, no https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/src/Test.QuickCheck.All.html#line-143 |
| 08:23:55 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 08:23:59 | <tomsmeding> | but maybe if you're in a different module you can request the functions exported by a module? |
| 08:24:44 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 08:25:24 | → | moonsheep joins (~user@user/moonsheep) |
| 08:27:18 | slac79071 | is now known as slack1256 |
| 08:28:47 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Ping timeout: 240 seconds) |
| 08:29:19 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 08:29:43 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 08:32:34 | × | moonsheep quits (~user@user/moonsheep) (Ping timeout: 246 seconds) |
| 08:33:47 | × | slack1256 quits (~slack1256@186.11.47.77) (Remote host closed the connection) |
| 08:40:36 | × | aegon quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 08:58:51 | → | judeka[m] joins (~judekamat@2001:470:69fc:105::1:559c) |
| 09:00:20 | × | TitusTzeng[m] quits (~titusjgrm@2001:470:69fc:105::2:1140) (Quit: You have been kicked for being idle) |
| 09:01:14 | ← | judeka[m] parts (~judekamat@2001:470:69fc:105::1:559c) () |
| 09:03:03 | × | kimjetwav quits (~user@2607:fea8:2340:da00:592f:dda3:fea6:1b4c) (Remote host closed the connection) |
| 09:04:44 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:c1f3:6a1d:d03:af39) (Remote host closed the connection) |
| 09:05:50 | → | kimjetwav joins (~user@2607:fea8:2340:da00:592f:dda3:fea6:1b4c) |
| 09:08:43 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:09:05 | → | tungki joins (~tungki@182.253.45.237) |
| 09:10:45 | → | Pickchea joins (~private@user/pickchea) |
| 09:11:08 | → | ccntrq1 joins (~Thunderbi@87.139.187.64) |
| 09:11:39 | × | bliminse quits (~bliminse@host86-164-164-134.range86-164.btcentralplus.com) (Quit: leaving) |
| 09:12:15 | → | gdd joins (~gdd@2001:470:1f13:187:c211:ee4c:6eca:b634) |
| 09:12:43 | × | ccntrq quits (~Thunderbi@172.209.94.92.rev.sfr.net) (Ping timeout: 256 seconds) |
| 09:12:44 | ccntrq1 | is now known as ccntrq |
| 09:13:29 | → | bliminse joins (~bliminse@host86-164-164-134.range86-164.btcentralplus.com) |
| 09:15:08 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 09:15:15 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Remote host closed the connection) |
| 09:15:46 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:6683:c4a9:3b6d:6651) |
| 09:15:52 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:18:24 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds) |
| 09:20:41 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 09:21:07 | → | heinz9 joins (~trace@user/trace) |
| 09:21:20 | <heinz9> | how do I execute haskell programs on arm |
| 09:24:35 | <heinz9> | okay forget my question |
| 09:26:59 | → | gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
| 09:27:04 | <heinz9> | can haskell programs be converted to something, so all haskell programs can be executed on arm64 ? |
| 09:27:27 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 09:31:06 | <jackdk> | Yeah, ghc has an arm64 target these days I think' |
| 09:32:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 09:37:04 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 09:40:19 | <merijn> | Depends which exact arm you're talking about |
| 09:40:45 | <merijn> | heinz9: https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms |
| 09:41:06 | <merijn> | I think that page is a little out of date |
| 09:41:30 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-11.mrsn.at) (Quit: WeeChat 3.5) |
| 09:42:27 | <heinz9> | merijn, what is newer known about haskell on arm |
| 09:43:55 | <merijn> | heinz9: Might wanna ask in #ghc for more detailed info on the status of ARM support |
| 09:43:58 | <heinz9> | what does the Native Code Generator (NCG) do ? |
| 09:44:12 | <merijn> | It, eh, generates native code? :D |
| 09:44:25 | <heinz9> | what is native code |
| 09:44:32 | <merijn> | As in "executable binary" |
| 09:44:38 | <heinz9> | oh |
| 09:44:50 | <heinz9> | the page you suggested, haskell cannot do this on arm |
| 09:45:11 | → | chele joins (~chele@user/chele) |
| 09:45:17 | <merijn> | It's a bit out of date, because (at least) NCG support for the Apple M1 should be in 9.4(?) |
| 09:45:36 | <merijn> | heinz9: But better off asking in #ghc, because the people who know hang out there |
| 09:46:46 | <heinz9> | and GHCi does not create native code? |
| 09:49:01 | <heinz9> | ah |
| 09:49:05 | <heinz9> | this seems to be an interpreter |
| 09:49:08 | <tomsmeding> | by default, it does not; you can tell it to compile to native code with the -fobject-code flag, I think |
| 09:49:09 | <tomsmeding> | yes |
| 09:49:15 | <merijn> | By default ghci creates bytecode that gets interpreted |
| 09:49:31 | <heinz9> | so on arm it gets interpreted |
| 09:49:58 | <tomsmeding> | ghci interprets code, yes; however, you cannot load more than one package into ghci at the same time |
| 09:50:28 | <merijn> | tomsmeding: Pedantic nitpick: Not more than one component |
| 09:50:34 | <tomsmeding> | good point |
| 09:50:36 | <merijn> | Even if in the same package |
| 09:50:58 | <tomsmeding> | but in any case, if you can get ghci to work on a platform, you can probably also get the whole GHC situation orking on that platform |
| 09:51:09 | <tomsmeding> | so the fact that ghci doesn't compile to native code doesn't buy you much |
| 09:55:46 | × | yauhsien quits (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 09:56:51 | × | shriekingnoise quits (~shrieking@201.212.175.181) (Quit: Quit) |
| 10:09:16 | <heinz9> | I tried to compile ghc on arm64, but ./boot does not create a ./configure file |
| 10:12:47 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds) |
| 10:19:49 | <heinz9> | Can every or most haskell programs be cross-compiled to arm64? |
| 10:20:13 | <maerwald[m]> | heinz9: there are binsists |
| 10:20:27 | <maerwald[m]> | Install via GHCup |
| 10:23:20 | → | nate4 joins (~nate@98.45.169.16) |
| 10:23:21 | → | yauhsien joins (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) |
| 10:26:55 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 10:28:05 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 10:31:17 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Ping timeout: 258 seconds) |
| 10:38:17 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 10:40:34 | <tomsmeding> | (a "bindist" is a "binary distribution", i.e. a GHC that is already compiled and can be downloaded and run just like that) |
| 10:43:24 | → | Midjak joins (~Midjak@82.66.147.146) |
| 10:44:16 | × | glguy quits (x@libera/staff/glguy) (Read error: Connection reset by peer) |
| 10:44:44 | → | glguy joins (x@libera/staff/glguy) |
| 10:48:50 | → | gmg joins (~user@user/gehmehgeh) |
| 10:48:59 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 10:50:11 | <heinz9> | maerwald[m], google can not find them |
| 10:52:19 | <tomsmeding> | heinz9: use ghcup https://www.haskell.org/ghcup/ |
| 10:54:15 | <tomsmeding> | heinz9: alternatively, if you like to do stuff manually, they are here https://downloads.haskell.org/~ghc/ |
| 10:54:48 | <tomsmeding> | (the newest stable is 9.2.3) |
| 10:55:42 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 10:56:02 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 10:57:07 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:57:52 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Client Quit) |
| 11:00:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 11:01:20 | × | MajorBiscuit quits (~MajorBisc@c-001-020-042.client.tudelft.eduvpn.nl) (Ping timeout: 272 seconds) |
| 11:03:34 | → | MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) |
| 11:04:10 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 11:04:38 | → | geraldus joins (~geraldus@139.45.240.5) |
| 11:05:56 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:06:00 | <geraldus> | Hello everybody! Looking for a way to write TH function which will return module name at use site. Can someone give some clues? |
| 11:08:40 | → | chele_ joins (~chele@user/chele) |
| 11:08:51 | × | chele quits (~chele@user/chele) (Ping timeout: 258 seconds) |
| 11:09:01 | chele_ | is now known as chele |
| 11:10:26 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 11:13:17 | × | geraldus quits (~geraldus@139.45.240.5) (Quit: Ping timeout (120 seconds)) |
| 11:14:59 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::4588) (Ping timeout: 258 seconds) |
| 11:16:02 | → | kenran joins (~kenran@200116b82bfe76009675698051763dd9.dip.versatel-1u1.de) |
| 11:20:17 | → | lyle joins (~lyle@104.246.145.85) |
| 11:21:01 | × | kenran quits (~kenran@200116b82bfe76009675698051763dd9.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 11:24:43 | xstill_7 | is now known as xstill_ |
| 11:25:39 | → | leeb joins (~leeb@KD106155004098.au-net.ne.jp) |
| 11:26:35 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 11:30:08 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:33:48 | → | geraldus joins (~geraldus@139.45.240.5) |
| 11:33:58 | × | geraldus quits (~geraldus@139.45.240.5) (Client Quit) |
| 11:35:00 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 11:39:14 | <tomsmeding> | (Language.Haskell.TH.thisModule, but they're gone) |
| 11:40:06 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 12:03:48 | × | MajorBiscuit quits (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 248 seconds) |
| 12:05:49 | → | MajorBiscuit joins (~MajorBisc@c-001-030-042.client.tudelft.eduvpn.nl) |
| 12:05:53 | → | chele_ joins (~chele@user/chele) |
| 12:07:15 | × | chele quits (~chele@user/chele) (Ping timeout: 256 seconds) |
| 12:07:18 | × | benin quits (~benin@183.82.28.222) (Quit: The Lounge - https://thelounge.chat) |
| 12:11:04 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 12:11:05 | × | yauhsien quits (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 12:12:26 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 12:13:03 | → | gaff joins (~gaff@49.207.216.96) |
| 12:13:10 | × | gaff quits (~gaff@49.207.216.96) (Client Quit) |
| 12:14:59 | → | xff0x joins (~xff0x@2405:6580:b080:900:f5db:151e:7d9e:c4bc) |
| 12:16:01 | → | yauhsien joins (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) |
| 12:16:30 | sshine_ | is now known as sshine |
| 12:23:02 | → | pleo joins (~pleo@user/pleo) |
| 12:23:02 | × | EsoAlgo quits (~EsoAlgo@129.146.136.145) (Quit: Ping timeout (120 seconds)) |
| 12:23:28 | → | EsoAlgo joins (~EsoAlgo@129.146.136.145) |
| 12:24:05 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:24:10 | × | jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 12:24:18 | → | dschrempf joins (~dominik@mobiledyn-62-240-134-11.mrsn.at) |
| 12:24:23 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 12:25:04 | × | siers69 quits (~ij@user/ij) (Ping timeout: 244 seconds) |
| 12:25:05 | → | siers joins (~ij@user/ij) |
| 12:25:50 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving) |
| 12:27:35 | → | jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
| 12:28:36 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 12:32:56 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
| 12:39:05 | × | mixfix41 quits (~sdenynine@user/mixfix41) (Ping timeout: 252 seconds) |
| 12:45:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:47:34 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 12:50:07 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 12:52:09 | <byorgey> | @tell geraldus Language.Haskell.TH.thisModule |
| 12:52:10 | <lambdabot> | Consider it noted. |
| 12:53:14 | → | kenran joins (~kenran@200116b82bfe76009675698051763dd9.dip.versatel-1u1.de) |
| 13:01:24 | × | mattil quits (~mattil@helsinki.portalify.com) (Remote host closed the connection) |
| 13:14:47 | <cdsmith> | Anyone know a clean way to make a build fail if a type class instance doesn't exist? I have defined a type class called ValidSchema that performs some checks on fairly complex type synonym that defines a data schema. I'd like the build to fail in the module where I define the schema if it's not an instance of ValidSchema. |
| 13:16:31 | <merijn> | cdsmith: Put a ValidSchema constraint on it? :p |
| 13:17:09 | <cdsmith> | merijn: On what? I can't put a context on a type synonym... |
| 13:17:20 | <merijn> | Or do like: "validSchema :: ValidSchema a => a -> a; validSchema = id" |
| 13:17:22 | <tomsmeding> | cdsmith: no, apart from defining an unused top level definition that has the constraint on it |
| 13:17:26 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:17:28 | <merijn> | and call validSchema on your thing |
| 13:17:45 | <tomsmeding> | oh right, unused top-level def doesn't even work, ignore please |
| 13:18:09 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 13:18:11 | <cdsmith> | merijn: Here's an example of the module that I would like to fail to build if a ValidSchema instance doesn't exist: https://github.com/cdsmith/ourmud/blob/main/app/Model.hs |
| 13:18:15 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 13:18:27 | × | acidjnk quits (~acidjnk@p200300d0c7068b45256a07aefaa7dce4.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 13:19:00 | <merijn> | Thanks, I hate it :) |
| 13:19:42 | <tomsmeding> | unused :: () ; unused = validSchema (Proxy @MUDSchema) where validSchema :: ValidSchema a -> Proxy a -> () ; validSchema _ _ = () |
| 13:19:53 | <geekosaur> | cdsmith, I think the open world assumption makes what you want impossible? |
| 13:19:56 | <tomsmeding> | not sure if it satisfies the requirement for "clean" :D |
| 13:20:09 | <merijn> | geekosaur: It does not |
| 13:20:14 | <tomsmeding> | oh the first -> should be a => |
| 13:21:08 | <cdsmith> | I guess I could define a dummy type class like `class ValidSchema schema => SchemaValidator schema`, and then write `instance SchemaValidator MySchema` to do the validation. That's probably the way |
| 13:23:13 | <tomsmeding> | cdsmith: data Dict c a where { Dict :: c a => Dict c a } ; witness :: Dict ValidSchema MUDSchema ; witness = Dict |
| 13:23:31 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 13:23:53 | <tomsmeding> | ConstraintKinds, GADTs; the extensions aren't necessary if you're willing to specialise the Dict type to this particular case |
| 13:24:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 13:26:42 | <tomsmeding> | (another name for Dict is Has) |
| 13:33:03 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 13:34:58 | × | briandaed quits (~briandaed@109.95.143.14.r.toneticgroup.pl) (Ping timeout: 246 seconds) |
| 13:36:32 | → | ccntrq1 joins (~Thunderbi@172.209.94.92.rev.sfr.net) |
| 13:37:58 | × | ccntrq quits (~Thunderbi@87.139.187.64) (Ping timeout: 256 seconds) |
| 13:37:58 | ccntrq1 | is now known as ccntrq |
| 13:40:46 | <exarkun> | I'm having trouble converting from `nullIsError :: a -> IO (Ptr a) -> ExceptT b IO a` from `nullIsError' :: a -> Ptr a -> ExceptT b IO a`. I can use the former like `nullIsError SomeErr someIO :: ExceptT b IO a` and I would expect to be able to use the latter like `someIO >>= nullIsError'` |
| 13:41:17 | <exarkun> | Somehow the latter ends up as `IO a` instead of `ExceptT b IO a`? I don't see how though. |
| 13:43:07 | <merijn> | exarkun: eh, nullIsError takes 2 arguments and your example passes it to >>= which expects a one argument function? |
| 13:43:42 | <exarkun> | oops, quite :/ What if I fix that dumb mistake like this: `someIO >>= nullIsError' SomeErr` |
| 13:43:52 | <merijn> | exarkun: actually, the more I look at your example it's obvious why? |
| 13:44:11 | <merijn> | exarkun: if someIO is a valid second argument to nullIsError, then "someIO :: IO (Ptr a)" |
| 13:44:28 | <merijn> | exarkun: So "someIO >>= " is obviously gonna expect some IO |
| 13:44:33 | <merijn> | :t (>>=) |
| 13:44:35 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 13:44:45 | <merijn> | Note the same 'm' on both sides |
| 13:45:02 | <exarkun> | Arg. Right. This is a persistent hole in my understand... |
| 13:45:15 | <exarkun> | Or, wait is it |
| 13:45:21 | <exarkun> | am I just missing liftIO |
| 13:45:25 | <merijn> | exarkun: You probably want "liftIO someIO >>=" :) |
| 13:45:26 | <merijn> | Yeah |
| 13:45:41 | <exarkun> | right ok, thank you |
| 13:45:48 | <merijn> | Although, nullIsError feels like a "withX" wrapper |
| 13:46:07 | <merijn> | Actually, then it still won't work |
| 13:46:27 | <merijn> | Because you'll be passing "Ptr a" to nullIsError, which expects "IO (Ptr a)" |
| 13:47:16 | <exarkun> | nullIsError doesn't really need to be in IO, hence my attempt at nullIsError' |
| 13:47:34 | × | Haskelytic quits (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds) |
| 13:48:08 | <exarkun> | (big picture is I am doing a lot of FFI and any null result along the way aborts the computation, I just want to annotate the result with which step failed) |
| 13:48:26 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 13:52:39 | → | catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 13:52:50 | <dragestil> | oh man, it seems to me the haddock markup type (DocH see also markup) does not distinguish between block and inline elements. so one can append an inline element to a block element? |
| 13:54:02 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 13:54:50 | <catern> | i'm not familiar with Haskell development, if I want a nice development shell for https://github.com/sweirich/pi-forall/tree/2022/version1 using just Nix to manage dependencies (i.e. using packages from Nix rather than using Stack), is there a known best way to do that? |
| 13:54:51 | <dragestil> | but the htmls are all generated correctly, interesting |
| 13:56:51 | <merijn> | The best way to do that is "get someone else to fix all the Nix stuff for you" :p |
| 13:57:35 | <dragestil> | i'm guessing the comment documentation syntax + the parsing somehow guarantee no bad mix of inline and block |
| 13:57:56 | → | emad joins (~emad@156.214.76.207) |
| 13:59:32 | <exarkun> | catern: What is the goal of getting them from nixpkgs instead of stackage? |
| 13:59:58 | → | thewaves joins (~thewaves@2001:470:69fc:105::2:2eef) |
| 14:00:01 | <catern> | exarkun: just makes my life easier to not have to deal with other package managers |
| 14:00:28 | <exarkun> | catern: If upstream doesn't manage their dependencies that way then as far as I know it's very annoying for you to get them that way. |
| 14:00:50 | <exarkun> | catern: Another way to not deal with another package manager (ie, stack) is to let haskell.nix deal with it for you. |
| 14:01:07 | <exarkun> | catern: haskell.nix will read stack or cabal files so you don't have to |
| 14:01:32 | <exarkun> | Of course if upstream isn't using haskell.nix then you have to maintain that part yourself. |
| 14:03:12 | <exarkun> | Here's my Haskell project that uses it, for a sense of what's involved, https://github.com/PrivateStorageio/PaymentServer/tree/main/nix |
| 14:03:19 | <catern> | I see |
| 14:03:21 | <exarkun> | (pre-flakes, so ...) |
| 14:03:32 | <catern> | what about cabal2nix? I can't see much comparison of the two |
| 14:03:56 | <exarkun> | I haven't used that one much so I'm not sure if I can help with a comparison. |
| 14:04:33 | <exarkun> | I _think_ that with either cabal2nix or haskell.nix, you're still not taking Haskell packages from nixpkgs, but it sounds like that isn't your primary concern anyway. |
| 14:08:36 | <catern> | I think that's true for haskell.nix but not for cabal2nix, it uses Haskell packages from nixpkgs |
| 14:11:52 | <geekosaur> | hm? cabal2nix converts a cabal file into a nix derivation |
| 14:12:29 | <geekosaur> | using other dependencies fron mix (sometimes annoyingly: last I heard it removed the version ranges, leaving that solely to nix) |
| 14:12:41 | <geekosaur> | s/mix/nix/ |
| 14:12:58 | <catern> | https://haskell4nix.readthedocs.io/index.html aha here this is perfect I think |
| 14:14:27 | <exarkun> | So now I have my careful null pointer checks factored somewhat more nicely ... I don't suppose there's a pointer type for representing only non-null pointers? |
| 14:14:41 | <geekosaur> | nope |
| 14:15:01 | <geekosaur> | the sole reason Haskell has a Ptr type is the FFI, which in general makes no such guarantee |
| 14:16:22 | <geekosaur> | of course if you check your raw Ptrs carefully enough you can then designate a Ptr ThisWillNeverBeNull or some such; that's completely up to you |
| 14:16:44 | <catern> | any thoughts about why I'd be getting "Preprocessing test suite 'test-pi-forall' for pi-forall-0.2..\n Setup: can't find source for Main in dist/build/test-pi-forall/test-pi-forall-tmp, test"? is this a bug in the .cabal file, because there's no test/Main.hs that I see https://github.com/sweirich/pi-forall/blob/2022/version1/pi-forall.cabal#L84 |
| 14:18:09 | × | gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
| 14:18:35 | × | causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5) |
| 14:21:54 | → | coot joins (~coot@213.134.190.95) |
| 14:24:36 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 14:24:51 | → | nate4 joins (~nate@98.45.169.16) |
| 14:26:22 | → | shriekingnoise joins (~shrieking@201.212.175.181) |
| 14:27:13 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 14:27:22 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 260 seconds) |
| 14:29:12 | <tomsmeding> | catern: yeah that looks broken, seems that version doesn't have a test/ |
| 14:29:27 | <tomsmeding> | version3 does have a test/ |
| 14:29:44 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 14:29:56 | <catern> | tomsmeding: thanks for confirming, I just sent a PR about it https://github.com/sweirich/pi-forall/pull/17 |
| 14:31:21 | <tomsmeding> | catern: "the build is broken" is relative; the haskell build tools generally don't build test suites that you don't explicitly specify (because they may have additional dependencies) |
| 14:31:32 | <tomsmeding> | but it's still a (minor) issue |
| 14:31:37 | <catern> | ah, well, okay, shrug |
| 14:31:51 | <tomsmeding> | same holds for version2 apparently |
| 14:32:06 | <cdsmith> | Grr... that works, but triggers warnings for orphan instances... |
| 14:32:17 | × | dschrempf quits (~dominik@mobiledyn-62-240-134-11.mrsn.at) (Quit: WeeChat 3.5) |
| 14:32:43 | <tomsmeding> | cdsmith: I've always found it unfortunate that there isn't a pragma for saying "yes this specific instance is an orphan, don't complain" |
| 14:32:50 | <catern> | i noticed it only because cabal2nix builds the test suite by default |
| 14:33:01 | <tomsmeding> | cdsmith: because clearly in this case the instance is fine, because you're not even exporting the class |
| 14:35:07 | × | emad quits (~emad@156.214.76.207) (Quit: Leaving) |
| 14:37:30 | <merijn> | tomsmeding: I proposed one |
| 14:37:56 | <merijn> | tomsmeding: It was shot down as too limited and "we should just have a generic pragma that lets you selectively disable warnings for pieces of code" |
| 14:38:17 | <merijn> | Of course, the generic solution is too vague to have a concrete plan and is thus still waiting to be implemented |
| 14:38:18 | <tomsmeding> | merijn: as in, -Wno-orphans? |
| 14:38:32 | <tomsmeding> | oh, as in disabling warnings for a particular chunk of code in a file |
| 14:38:40 | <cdsmith> | Okay, I settled on writing `data SchemaValidator schema where ValidateSchema :: ValidSchema schema => SchemaValidator schema`, and then when the schema is defined, `_ = ValidateSchema @MySchema` |
| 14:38:42 | <tomsmeding> | yeah that's a design mess |
| 14:38:42 | <merijn> | tomsmeding: No, I argued for an "{-# ADOPT #-}" macro, because I'm a funny guy :D |
| 14:38:47 | <tomsmeding> | lol |
| 14:38:52 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:38:59 | <merijn> | I was so proud of thinking of that too... |
| 14:39:03 | <tomsmeding> | merijn: name is funny but not really appropriate for the cases where you write an orphan instance though |
| 14:39:07 | <merijn> | Damn you, GHCHQ! Damn you! |
| 14:39:08 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 14:39:30 | <tomsmeding> | cdsmith: that's another option :p |
| 14:40:31 | <catern> | would it be sane to have the pragma also *require* that the annotated thing is an orphan, rather than just disable warnings? |
| 14:40:42 | × | heinz9 quits (~trace@user/trace) (Remote host closed the connection) |
| 14:41:22 | <tomsmeding> | catern: something ceases to be an orphan if 1. the class definition is moved into the same file, or 2. the data type that the instance is of, is moved into the same file |
| 14:41:38 | <catern> | yes |
| 14:42:06 | <catern> | i'm saying this as a response to the response that merijn got, that a generic warning-disabler is better than something specific to orphans |
| 14:42:08 | <tomsmeding> | neither is a thing that usually happens in practice, and in neither case do the things that you'd usually use {-# ADOPT #-} for fail in those cases |
| 14:44:49 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 14:46:12 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 14:47:30 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 14:49:08 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 14:49:57 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 14:55:14 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 14:56:01 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 14:57:07 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 14:57:07 | × | Vajb quits (~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) (Read error: Connection reset by peer) |
| 14:57:31 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:57:57 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 14:59:06 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 15:00:14 | → | alexhandy2 joins (~trace@user/trace) |
| 15:01:53 | <alexhandy2> | how certainly is haskell going to become much better for aarch64 and arm? |
| 15:02:49 | <geekosaur> | better than what? |
| 15:03:04 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds) |
| 15:03:13 | <alexhandy2> | that it is not only the interpreter but the compiler that translates to arm |
| 15:03:23 | <geekosaur> | 8.10.7 requires the llvm backend, but as of 9.2.3 aarch64 native support is up to the same level as native x86 |
| 15:03:49 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 15:03:55 | → | Cupcakus joins (~Cupcakus@c-73-205-77-141.hsd1.fl.comcast.net) |
| 15:03:57 | <alexhandy2> | compiled or interpreted? |
| 15:04:01 | <geekosaur> | both |
| 15:04:04 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 15:04:22 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 15:04:22 | <alexhandy2> | great, so the doc is out of date |
| 15:04:34 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
| 15:04:34 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 15:04:45 | → | califax_ joins (~califax@user/califx) |
| 15:04:54 | <alexhandy2> | because it displays only the interpreter is going to work on aarch64 |
| 15:05:12 | <geekosaur> | o.O iirc it was the opposite, compiling worked but the interpreter had problems |
| 15:05:23 | <geekosaur> | because the interpreter's linker didn't work right on arm |
| 15:05:30 | <geekosaur> | that's been fixed |
| 15:05:46 | <alexhandy2> | I tried to compile ghc |
| 15:05:49 | → | dextaa joins (~DV@user/dextaa) |
| 15:05:54 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 15:06:08 | <alexhandy2> | but there are only .configure files in subdirectories |
| 15:06:20 | califax_ | is now known as califax |
| 15:06:25 | <alexhandy2> | and I could not finish one of them |
| 15:06:32 | <geekosaur> | building ghc from scratch is quite difficult |
| 15:06:35 | <alexhandy2> | .boot worked so fat |
| 15:06:38 | <alexhandy2> | far |
| 15:06:43 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 15:06:45 | <alexhandy2> | okay 👌 |
| 15:07:18 | <geekosaur> | you need a bootstrap ghc, and you need to run boot to generate most of the actual configure files, plus you need to do git submodule update --init --recursive |
| 15:07:38 | <geekosaur> | usually it's better to find an existing binary distribution than to try to build it yourself, even on intel |
| 15:08:03 | <alexhandy2> | so, probably will support haskell some day later for aarch64? |
| 15:08:31 | <alexhandy2> | so, probably distributions will support haskell some day later for aarch64? |
| 15:08:46 | <geekosaur> | https://downloads.haskell.org/~ghc/9.2.3/ |
| 15:09:00 | <geekosaur> | I see aarch 64 for both darwin/m1 and debian |
| 15:09:11 | <alexhandy2> | as manjaro and gentoo have no aarch64 or arm packages |
| 15:09:29 | <alexhandy2> | for haskell |
| 15:09:34 | <geekosaur> | linux distributions will probably take longer, mostly because their haskell maintainers all seem to be ditching traditional distributions for nix |
| 15:09:41 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 15:10:10 | <geekosaur> | (we've been waiting almost a year for distributions to pick up the latest xmonad…) |
| 15:10:30 | <catern> | geekosaur: really?? i hadn't heard that heh, that's good news for me, a nix zealot... |
| 15:10:55 | <geekosaur> | that's the report from both arch and debian, at least |
| 15:10:59 | <telser> | FWIW there is an aarch64 package of ghc for FreeBSD, so at least _some_ OSes are up on this. |
| 15:11:06 | <geekosaur> | there seem to still be maintainers on fedora |
| 15:11:07 | <exarkun> | I was just playing with `nix bundle` which can now produce a Docker image, an RPM, or a deb for a more-or-less arbitrary nix derivation... |
| 15:11:18 | <exarkun> | So there is some consolation for users of other distros ;) |
| 15:11:51 | → | dextaa joins (~DV@user/dextaa) |
| 15:12:39 | → | ArthurS joins (~arthur@163.5.10.3) |
| 15:12:49 | <alexhandy2> | so chosing haskell as lang for arm / aarch64 is a good move? |
| 15:13:11 | <geekosaur> | should be, you'll just have to use ghcup or a bindist from the link I posted |
| 15:13:21 | <geekosaur> | we recommend ghcup anyway |
| 15:14:35 | <geekosaur> | the ghc ecosystem moves pretty fast (you'll note a 9.4.1 prerelease is also present at the link), so waiting for distros to catch up is usually a bad move anyway |
| 15:14:55 | <geekosaur> | even rolling release distros usually need some time to sort out new releases |
| 15:15:12 | <maerwald[m]> | I think the latest GHCs are missing armv7 bindists though |
| 15:15:31 | <maerwald[m]> | https://downloads.haskell.org/~ghc/9.2.3/ |
| 15:15:39 | <maerwald[m]> | Seems so |
| 15:15:49 | <telser> | I think that depends on your use case. I know some industry users are on 8.6.5 currently and no rush to update. |
| 15:15:56 | × | Haskelytic quits (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds) |
| 15:16:05 | <geekosaur> | sure, and much of the ecosystem is still sticking to 8.10.7 |
| 15:16:35 | → | zebrag joins (~chris@user/zebrag) |
| 15:16:35 | <geekosaur> | there's some discussion going on about having ghc lts releases for folks who don't like rollercoasters |
| 15:17:51 | <alexhandy2> | is anything known about haskell for riscv? |
| 15:18:02 | <geekosaur> | main problem being we'd need lts maintainers because the ghc dev crew's overworked enough already |
| 15:18:04 | × | alexhandy2 quits (~trace@user/trace) (Read error: Connection reset by peer) |
| 15:18:23 | → | alexhandy joins (~trace@user/trace) |
| 15:19:37 | <telser> | I suspect llvm backend probably is at least minimally usable. Seem to recall seeing an issue on ghc tracker around that. |
| 15:20:07 | × | chele_ quits (~chele@user/chele) (Remote host closed the connection) |
| 15:20:22 | <geekosaur> | I just checked the issue tracker and someone is definitelyt working on risc-v support |
| 15:20:41 | <geekosaur> | https://gitlab.haskell.org/groups/ghc/-/issues/?search=risc-v&sort=created_date&state=opened |
| 15:20:45 | → | coot joins (~coot@213.134.190.95) |
| 15:22:23 | ArthurS | is now known as arthur |
| 15:23:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 15:23:55 | <alexhandy> | geekosaur, sounds great |
| 15:25:57 | <catern> | hmm, annoying, if I run haskell-language-server and internally when it runs hie-bios that fails to run cabal, it doesn't print any error messages, it just assumes empty flags will suffice to compile the project |
| 15:26:06 | <catern> | that's not very safe lol |
| 15:27:15 | <alexhandy> | there is literature about learning haskell, but is there literature about typical functional code? |
| 15:27:46 | <alexhandy> | in imperative code you are used to typical code programming ways |
| 15:27:59 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 15:29:06 | × | arthur quits (~arthur@163.5.10.3) (Quit: arthur) |
| 15:29:12 | → | arthur joins (~arthur@163.5.10.3) |
| 15:30:16 | <alexhandy> | I just do not want to learn long time to get used to functional paradigm |
| 15:30:38 | <alexhandy> | so I think it should be best to read existing code |
| 15:30:57 | <alexhandy> | right? yes! |
| 15:31:03 | <telser> | Style varies quite a bit both with Haskell and other languages |
| 15:31:23 | <alexhandy> | I just normally write imperative |
| 15:31:31 | <alexhandy> | for decades |
| 15:32:26 | <alexhandy> | I always found the haskell way fun, but never did much with haskell |
| 15:33:23 | × | yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
| 15:34:30 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 258 seconds) |
| 15:35:13 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Remote host closed the connection) |
| 15:39:34 | → | acidjnk joins (~acidjnk@p200300d0c7068b45256a07aefaa7dce4.dip0.t-ipconnect.de) |
| 15:44:10 | × | arthur quits (~arthur@163.5.10.3) (Ping timeout: 240 seconds) |
| 15:47:34 | × | kenran quits (~kenran@200116b82bfe76009675698051763dd9.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 15:58:09 | × | zeenk quits (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) (Quit: Konversation terminated!) |
| 16:01:07 | → | vicfred joins (~vicfred@user/vicfred) |
| 16:01:07 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:6683:c4a9:3b6d:6651) (Remote host closed the connection) |
| 16:02:10 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::4588) |
| 16:02:30 | → | pleo joins (~pleo@user/pleo) |
| 16:09:47 | × | jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Read error: Connection reset by peer) |
| 16:10:19 | → | jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
| 16:10:32 | × | acidjnk quits (~acidjnk@p200300d0c7068b45256a07aefaa7dce4.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 16:11:05 | → | yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
| 16:14:26 | → | stackdroid18 joins (14094@user/stackdroid) |
| 16:14:56 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 16:16:01 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 256 seconds) |
| 16:17:37 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 16:19:58 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 16:21:00 | → | raym joins (~raym@user/raym) |
| 16:25:31 | × | tungki quits (~tungki@182.253.45.237) (Remote host closed the connection) |
| 16:27:30 | × | alexhandy quits (~trace@user/trace) (Ping timeout: 240 seconds) |
| 16:34:54 | × | MajorBiscuit quits (~MajorBisc@c-001-030-042.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.5) |
| 16:35:42 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:39:11 | → | k8yun joins (~k8yun@user/k8yun) |
| 16:40:18 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds) |
| 16:41:12 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 16:43:36 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 248 seconds) |
| 16:48:57 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 16:52:45 | → | pleo joins (~pleo@user/pleo) |
| 16:54:54 | → | neoatnebula joins (~neoatnebu@2409:4071:4d8f:ce27:ead8:44cb:83ba:d42f) |
| 16:55:22 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 272 seconds) |
| 16:55:26 | × | neoatnebula quits (~neoatnebu@2409:4071:4d8f:ce27:ead8:44cb:83ba:d42f) (Client Quit) |
| 16:56:05 | → | neoatnebula joins (~neoatnebu@2409:4071:4d8f:ce27:ead8:44cb:83ba:d42f) |
| 16:57:57 | × | leeb quits (~leeb@KD106155004098.au-net.ne.jp) (Ping timeout: 256 seconds) |
| 17:07:35 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 17:09:55 | → | econo joins (uid147250@user/econo) |
| 17:12:24 | → | arthur joins (~arthur@78.196.67.166) |
| 17:13:41 | × | arthur quits (~arthur@78.196.67.166) (Client Quit) |
| 17:13:52 | → | coot joins (~coot@213.134.190.95) |
| 17:16:48 | → | xcmw joins (~textual@c-73-79-213-46.hsd1.pa.comcast.net) |
| 17:17:49 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:20:46 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 17:22:29 | → | gmg joins (~user@user/gehmehgeh) |
| 17:22:37 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:24:47 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 17:27:22 | × | neoatnebula quits (~neoatnebu@2409:4071:4d8f:ce27:ead8:44cb:83ba:d42f) (Quit: Client closed) |
| 17:28:25 | × | jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:31:47 | → | z joins (~wu000168@host-187-23.ilchtbc.chicago.il.us.clients.pavlovmedia.net) |
| 17:35:06 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 17:36:15 | × | yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
| 17:36:56 | × | z quits (~wu000168@host-187-23.ilchtbc.chicago.il.us.clients.pavlovmedia.net) (Killed (NickServ (GHOST command used by Kirjava!~cake@user/kirjava))) |
| 17:37:15 | → | z joins (~wu000168@host-187-23.ilchtbc.chicago.il.us.clients.pavlovmedia.net) |
| 17:38:02 | → | jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
| 17:38:07 | × | z quits (~wu000168@host-187-23.ilchtbc.chicago.il.us.clients.pavlovmedia.net) (Killed (NickServ (GHOST command used by Kirjava!~cake@user/kirjava))) |
| 17:39:12 | → | z joins (~wu000168@host-187-23.ilchtbc.chicago.il.us.clients.pavlovmedia.net) |
| 17:40:12 | → | Tuplanolla joins (~Tuplanoll@91-159-68-181.elisa-laajakaista.fi) |
| 17:43:10 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 17:46:41 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 17:48:19 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 17:49:32 | × | m1dnight quits (~christoph@78-22-9-5.access.telenet.be) (Ping timeout: 244 seconds) |
| 17:49:57 | × | Cupcakus quits (~Cupcakus@c-73-205-77-141.hsd1.fl.comcast.net) (Ping timeout: 276 seconds) |
| 17:51:14 | → | m1dnight joins (~christoph@78-22-9-5.access.telenet.be) |
| 17:53:02 | × | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:56:53 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 17:57:55 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:02:33 | → | tenniscp25 joins (~tenniscp2@2001:fb1:fd:64d5:7839:1037:411f:b650) |
| 18:03:32 | × | tenniscp25 quits (~tenniscp2@2001:fb1:fd:64d5:7839:1037:411f:b650) (Client Quit) |
| 18:04:12 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 18:13:44 | × | cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer) |
| 18:19:47 | → | liz joins (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) |
| 18:20:06 | <unclechu> | Hey, a question about servant-client. How could I see the built Request (e.g. to log it) of a client before evaluating it using runClientM? |
| 18:21:11 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 18:22:35 | × | xcmw quits (~textual@c-73-79-213-46.hsd1.pa.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:26:10 | → | cosimone joins (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) |
| 18:26:22 | → | nate4 joins (~nate@98.45.169.16) |
| 18:30:52 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 244 seconds) |
| 18:36:18 | → | Timely_Ratio9567 joins (~Timely_Ra@2409:4050:db6:aa85:c7d7:c00d:7cf4:8f91) |
| 18:40:49 | × | liz quits (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) (Quit: Lost terminal) |
| 18:42:16 | × | Timely_Ratio9567 quits (~Timely_Ra@2409:4050:db6:aa85:c7d7:c00d:7cf4:8f91) (Quit: Leaving) |
| 18:42:55 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:44:19 | → | liz joins (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) |
| 18:46:01 | × | cosimone quits (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Remote host closed the connection) |
| 18:46:29 | <tomsmeding> | > fix (join (.) (1:) . join ((. tail) . zipWith (+))) |
| 18:46:31 | <lambdabot> | [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17... |
| 18:46:53 | → | cosimone joins (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) |
| 18:50:44 | → | tomekgrzesiak joins (~tomekgrze@109.206.198.75) |
| 18:50:52 | × | tomekgrzesiak quits (~tomekgrze@109.206.198.75) (Client Quit) |
| 18:53:19 | <tomsmeding> | > fix (zipWith (+) >>= ((id =<< (.)) (1:) .) . (. tail)) |
| 18:53:21 | <lambdabot> | [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17... |
| 18:56:38 | → | acidjnk joins (~acidjnk@p200300d0c7068b450c914120f4f505ee.dip0.t-ipconnect.de) |
| 18:58:23 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 18:59:42 | → | yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
| 19:02:56 | → | Cupcakus joins (~Cupcakus@c-73-205-77-141.hsd1.fl.comcast.net) |
| 19:03:52 | × | kuribas quits (~user@ptr-17d51eors28p6gwk9l6.18120a2.ip6.access.telenet.be) (Ping timeout: 260 seconds) |
| 19:06:25 | → | glguy_ joins (x@libera/staff/glguy) |
| 19:07:10 | × | glguy quits (x@libera/staff/glguy) (Read error: Connection reset by peer) |
| 19:07:17 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:08:36 | × | brettgilio quits (~brettgili@virtlab.gq) (Ping timeout: 276 seconds) |
| 19:10:35 | <[Leary]> | > fix (\l a b -> a:l b (a+b)) 0 1 |
| 19:10:37 | <lambdabot> | [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,... |
| 19:11:14 | <[Leary]> | Much cuter, imo. |
| 19:17:35 | <int-e> | > fix ((0:) . scanl (+) 1) |
| 19:17:38 | <lambdabot> | [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,... |
| 19:19:52 | <int-e> | @tell geekosaur A PR would probably be best because I won't get to it before next week in any case; as for admin commands... they should probably be a separate section (they aren't secret but most users won't be able to use them) |
| 19:19:52 | <lambdabot> | Consider it noted. |
| 19:20:14 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 19:20:40 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 258 seconds) |
| 19:21:13 | <geekosaur> | they're already in a separate section, but I could see some reason to hide them given that I can think of ways to try to masquerade as an admin without some care |
| 19:21:23 | <geekosaur> | not that I know who is an admin |
| 19:22:48 | → | Feuermagier_ joins (~Feuermagi@84.17.49.10) |
| 19:22:58 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:23:03 | × | Feuermagier_ quits (~Feuermagi@84.17.49.10) (Remote host closed the connection) |
| 19:25:11 | × | stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
| 19:25:27 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds) |
| 19:27:27 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 19:28:59 | → | Feuermagier_ joins (~Feuermagi@84.17.49.10) |
| 19:29:06 | × | Feuermagier_ quits (~Feuermagi@84.17.49.10) (Remote host closed the connection) |
| 19:29:51 | → | kuribas joins (~user@ptr-17d51eocoqvs7v5fptz.18120a2.ip6.access.telenet.be) |
| 19:31:13 | → | michalz joins (~michalz@185.246.204.105) |
| 19:32:39 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 276 seconds) |
| 19:33:11 | → | Guest27 joins (~Guest27@2601:281:d47f:1590::2df) |
| 19:37:09 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 19:41:03 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:41:22 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 19:42:15 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Remote host closed the connection) |
| 19:42:27 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 19:43:35 | → | Topsi joins (~Topsi@dyndsl-095-033-088-230.ewe-ip-backbone.de) |
| 19:45:31 | → | machinedgod joins (~machinedg@S0106ac17c8c1d72e.cg.shawcable.net) |
| 19:45:41 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 19:49:45 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Quit: Off to see the wizard.) |
| 19:51:43 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 19:54:21 | → | pleo joins (~pleo@user/pleo) |
| 19:55:09 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:57:40 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:58:28 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 19:58:43 | glguy_ | is now known as glguy |
| 19:59:10 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 20:01:01 | × | aeka quits (~aeka@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:01:18 | → | aeka joins (~aeka@user/hiruji) |
| 20:01:33 | × | gdd quits (~gdd@2001:470:1f13:187:c211:ee4c:6eca:b634) (Remote host closed the connection) |
| 20:07:47 | → | Haskelytic joins (~Haskelyti@118.179.211.17) |
| 20:12:13 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 20:14:24 | × | lyle quits (~lyle@104.246.145.85) (Quit: WeeChat 3.5) |
| 20:16:31 | cjay- | is now known as cjay |
| 20:21:11 | × | yauhsien quits (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 20:21:44 | → | yauhsien joins (~yauhsien@61-231-59-135.dynamic-ip.hinet.net) |
| 20:23:46 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:24:01 | × | alp quits (~alp@user/alp) (Ping timeout: 244 seconds) |
| 20:26:52 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:27:20 | → | zeenk joins (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) |
| 20:28:37 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 20:32:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 20:32:13 | × | takuan quits (~takuan@178.116.218.225) (Remote host closed the connection) |
| 20:32:22 | → | pavonia joins (~user@user/siracusa) |
| 20:33:22 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 20:38:40 | → | littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 20:40:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 20:42:39 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 20:43:47 | × | Guest27 quits (~Guest27@2601:281:d47f:1590::2df) (Quit: Client closed) |
| 20:45:10 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 20:45:25 | → | nate4 joins (~nate@98.45.169.16) |
| 20:47:48 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Ping timeout: 272 seconds) |
| 20:48:12 | → | alp joins (~alp@user/alp) |
| 20:48:50 | × | jinsun quits (~jinsun@user/jinsun) (Ping timeout: 258 seconds) |
| 20:52:34 | × | littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 20:52:35 | × | jinsun__ quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 20:53:16 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:56:39 | → | jinsun joins (~jinsun@user/jinsun) |
| 20:59:03 | × | vicfred quits (~vicfred@user/vicfred) (Remote host closed the connection) |
| 20:59:22 | → | vicfred joins (~vicfred@user/vicfred) |
| 21:00:07 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 21:01:56 | × | arahael quits (~arahael@203.220.147.161) (Ping timeout: 246 seconds) |
| 21:05:08 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:05:10 | × | Cupcakus quits (~Cupcakus@c-73-205-77-141.hsd1.fl.comcast.net) (Ping timeout: 240 seconds) |
| 21:05:48 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 21:06:16 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:06:23 | × | michalz quits (~michalz@185.246.204.105) (Remote host closed the connection) |
| 21:07:55 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 21:08:52 | → | adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan) |
| 21:09:34 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds) |
| 21:10:26 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 21:10:44 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 21:12:12 | × | machinedgod quits (~machinedg@S0106ac17c8c1d72e.cg.shawcable.net) (Ping timeout: 260 seconds) |
| 21:15:17 | → | arahael joins (~arahael@203.213.84.157) |
| 21:16:49 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 258 seconds) |
| 21:16:54 | → | pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 21:29:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:29:38 | × | arahael quits (~arahael@203.213.84.157) (Ping timeout: 244 seconds) |
| 21:32:14 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 21:33:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 21:34:15 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 21:35:14 | → | Feuermagier_ joins (~Feuermagi@213.149.82.60) |
| 21:35:55 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 21:36:27 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 21:37:15 | × | Feuermagier_ quits (~Feuermagi@213.149.82.60) (Client Quit) |
| 21:38:00 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 248 seconds) |
| 21:42:53 | × | tomgus1 quits (~tomgus1@90.218.25.145) (Ping timeout: 246 seconds) |
| 21:44:16 | → | arahael joins (~arahael@121-44-19-180.tpgi.com.au) |
| 21:44:36 | → | tomgus1 joins (~tomgus1@2a02:c7e:4229:d900:dea6:32ff:fe3d:d1a3) |
| 21:46:09 | → | gdd joins (~gdd@2001:470:1f13:187:49b9:231c:6a88:73db) |
| 21:47:12 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 21:49:09 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 21:55:42 | → | Guest27 joins (~Guest27@2601:281:d47f:1590::2df) |
| 21:59:30 | → | arthur joins (~arthur@78.196.67.166) |
| 21:59:54 | → | Feuermagier_ joins (~Feuermagi@84.17.49.10) |
| 22:00:34 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
| 22:02:04 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 22:02:56 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 22:03:56 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 22:04:23 | × | Feuermagier_ quits (~Feuermagi@84.17.49.10) (Read error: Connection reset by peer) |
| 22:04:50 | × | Alex_test quits (~al_test@178.34.150.200) (Quit: ;-) |
| 22:05:02 | × | Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed) |
| 22:05:18 | × | AlexZenon quits (~alzenon@178.34.150.200) (Quit: ;-) |
| 22:05:29 | × | AlexNoo quits (~AlexNoo@178.34.150.200) (Quit: Leaving) |
| 22:09:34 | × | adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds) |
| 22:09:36 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:09:51 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Remote host closed the connection) |
| 22:09:53 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 22:11:30 | × | arahael quits (~arahael@121-44-19-180.tpgi.com.au) (Ping timeout: 240 seconds) |
| 22:16:11 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 22:18:44 | × | lottaquestions quits (~nick@2607:fa49:5041:a200:617:f64b:a96:e051) (Ping timeout: 248 seconds) |
| 22:19:16 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 22:20:08 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 22:20:19 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 22:23:42 | × | arthur quits (~arthur@78.196.67.166) (Remote host closed the connection) |
| 22:24:21 | → | arahael joins (~arahael@118.211.187.178) |
| 22:26:36 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:28:39 | → | slack1256 joins (~slack1256@191.125.99.209) |
| 22:30:12 | → | quarkyalice joins (~textual@user/quarkyalice) |
| 22:30:34 | × | noteness quits (~noteness@user/noteness) (Ping timeout: 240 seconds) |
| 22:30:37 | × | Guest27 quits (~Guest27@2601:281:d47f:1590::2df) (Quit: Client closed) |
| 22:31:27 | → | noteness joins (~noteness@user/noteness) |
| 22:31:30 | → | alexhandy joins (~trace@user/trace) |
| 22:32:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 22:32:09 | <alexhandy> | how is it, to rewrite an imperative program to haskell |
| 22:32:24 | <alexhandy> | is this a good idea |
| 22:32:56 | × | acidjnk quits (~acidjnk@p200300d0c7068b450c914120f4f505ee.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 22:33:55 | <n3t> | alexhandy: it depends on what is your goal. What is your goal? |
| 22:38:46 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 22:39:38 | × | quarkyalice quits (~textual@user/quarkyalice) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 22:42:01 | × | ashln quits (~ashln@98.38.236.123) (Ping timeout: 246 seconds) |
| 22:43:11 | → | ashln joins (~ashln@98.38.236.123) |
| 22:46:23 | → | Cupcakus joins (~Cupcakus@c-73-205-77-141.hsd1.fl.comcast.net) |
| 22:48:51 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 22:54:30 | × | jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 22:54:57 | × | liz quits (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) (Ping timeout: 256 seconds) |
| 22:57:09 | <geekosaur> | alexhandy, certainly it's possible. you can even write it in an imperative manner. writing it in a more functional style depends to some extent on the language (there's typically a big difference between functional code in Haskell vs., say, Lisp) and to a great extent on exactly what you're doing |
| 22:57:12 | × | alp quits (~alp@user/alp) (Ping timeout: 260 seconds) |
| 22:58:03 | × | kimjetwav quits (~user@2607:fea8:2340:da00:592f:dda3:fea6:1b4c) (Remote host closed the connection) |
| 22:58:24 | → | jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
| 23:02:21 | × | Tuplanolla quits (~Tuplanoll@91-159-68-181.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:10:12 | → | liz joins (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) |
| 23:12:15 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:17:57 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 258 seconds) |
| 23:18:50 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 23:18:59 | × | zeenk quits (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) (Quit: Konversation terminated!) |
| 23:21:12 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 23:24:43 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 246 seconds) |
| 23:25:22 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 244 seconds) |
| 23:27:13 | <exarkun> | The imperative program is almost certainly contorted into some unpleasant shape as a result of its focus on encoding the correct sequence of state mutations. |
| 23:39:58 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) (Remote host closed the connection) |
| 23:46:39 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection) |
| 23:46:47 | → | Alleria joins (~AllahuAkb@DN2lk43bh.stanford.edu) |
| 23:49:43 | → | turlando joins (~turlando@93.51.40.51) |
| 23:49:43 | × | turlando quits (~turlando@93.51.40.51) (Changing host) |
| 23:49:43 | → | turlando joins (~turlando@user/turlando) |
| 23:51:08 | → | alexhandy2 joins (~trace@user/trace) |
| 23:52:50 | × | alexhandy quits (~trace@user/trace) (Ping timeout: 240 seconds) |
| 23:52:58 | × | pretty_d1 quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 23:53:39 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1834:2996:45d4:5368) |
| 23:59:39 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
All times are in UTC on 2022-06-16.