2022-06-08 00:00:54 +0200 | <Bulby[m]> | stack/heap together with an auxilary closure heap has the effect of no recurse definitions |
2022-06-08 00:03:46 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-06-08 00:05:35 +0200 | urdh | (~urdh@user/urdh) (Ping timeout: 260 seconds) |
2022-06-08 00:06:33 +0200 | sebastiandb_ | (~sebastian@pool-108-18-101-17.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2022-06-08 00:09:07 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-08 00:10:23 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b7038b60eba3c0a34f2.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2022-06-08 00:16:12 +0200 | vicfred_ | (~vicfred@user/vicfred) |
2022-06-08 00:17:03 +0200 | etra0 | (~quassel@186-78-135-23.baf.movistar.cl) |
2022-06-08 00:18:56 +0200 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 255 seconds) |
2022-06-08 00:19:11 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-06-08 00:20:28 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-08 00:22:07 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 00:24:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 00:25:40 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:c2b2:8e31:c818:61b1) (Ping timeout: 248 seconds) |
2022-06-08 00:30:30 +0200 | vicfred_ | (~vicfred@user/vicfred) (Ping timeout: 272 seconds) |
2022-06-08 00:32:05 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 244 seconds) |
2022-06-08 00:34:34 +0200 | noteness | (~noteness@user/noteness) (Ping timeout: 240 seconds) |
2022-06-08 00:35:11 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
2022-06-08 00:35:33 +0200 | noteness | (~noteness@user/noteness) |
2022-06-08 00:35:43 +0200 | cheater | (~Username@user/cheater) |
2022-06-08 00:36:34 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 00:38:37 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-08 00:40:33 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-06-08 00:45:31 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
2022-06-08 00:46:01 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-08 00:49:17 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-06-08 00:50:58 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Client Quit) |
2022-06-08 00:51:19 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
2022-06-08 00:51:20 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-06-08 00:54:22 +0200 | alp | (~alp@user/alp) (Remote host closed the connection) |
2022-06-08 00:54:41 +0200 | alp | (~alp@user/alp) |
2022-06-08 00:54:42 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 00:55:19 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Client Quit) |
2022-06-08 00:55:26 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 252 seconds) |
2022-06-08 00:55:34 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-06-08 00:57:25 +0200 | alp | (~alp@user/alp) (Remote host closed the connection) |
2022-06-08 00:57:45 +0200 | alp | (~alp@user/alp) |
2022-06-08 01:00:45 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-06-08 01:04:27 +0200 | cyanide4dinner | (~cyanide4d@171.48.43.17) |
2022-06-08 01:04:52 +0200 | alp | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-06-08 01:10:20 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Remote host closed the connection) |
2022-06-08 01:11:02 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) |
2022-06-08 01:20:18 +0200 | mestre | (~mestre@191.177.181.194) (Quit: Lost terminal) |
2022-06-08 01:27:09 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-06-08 01:32:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 01:33:24 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds) |
2022-06-08 01:35:29 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-06-08 01:38:18 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 01:40:01 +0200 | calleum_ | (~calleum@user/calleum) |
2022-06-08 01:42:31 +0200 | etra0 | (~quassel@186-78-135-23.baf.movistar.cl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-06-08 01:44:15 +0200 | cyanide4dinner | (~cyanide4d@171.48.43.17) (Quit: cyanide4dinner) |
2022-06-08 01:52:12 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 272 seconds) |
2022-06-08 01:53:16 +0200 | calleum_ | (~calleum@user/calleum) (Ping timeout: 246 seconds) |
2022-06-08 01:54:48 +0200 | urdh | (~urdh@user/urdh) |
2022-06-08 01:57:41 +0200 | <Bulby[m]> | that rewrite was much more painless than I expected |
2022-06-08 01:58:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 02:01:47 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 02:03:29 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-06-08 02:04:22 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-08 02:05:18 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-06-08 02:06:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 02:06:44 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 02:07:29 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-1.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-06-08 02:12:34 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-08 02:15:30 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.5) |
2022-06-08 02:24:53 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-06-08 02:25:59 +0200 | calleum_ | (~calleum@user/calleum) |
2022-06-08 02:31:44 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2022-06-08 02:32:52 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-06-08 02:41:33 +0200 | liz_ | liz |
2022-06-08 02:47:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 02:48:03 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2022-06-08 02:50:03 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-06-08 02:51:34 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:e92a:ff3d:d8c7:63da) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-06-08 02:52:37 +0200 | <dragestil> | does anyone know how to build ghc-9.2.2 obtained from `cabal unpack ghc`? I did `cabal new-build` and got problems like `fatal error: primop-vector-uniques.hs-incl: No such file or directory` |
2022-06-08 02:53:22 +0200 | <geekosaur> | it's only on hackage for the documentation; it can only be built as part of ghc proper |
2022-06-08 02:53:35 +0200 | <geekosaur> | (it's the public API to ghc internals) |
2022-06-08 02:54:13 +0200 | <dragestil> | geekosaur: ok, but I was able to build ghc-8.6.5 with `cabal configure -f integer-gmp && cabal new-build` |
2022-06-08 02:54:39 +0200 | <dragestil> | so something changed with the building method from 8.6.5 to 9.2.2 |
2022-06-08 02:54:52 +0200 | <geekosaur> | the switch to hadrian, maybe |
2022-06-08 02:55:28 +0200 | <dragestil> | i see. I do want to build just the GHC API though |
2022-06-08 02:55:30 +0200 | <geekosaur> | but I'd be surprised if that build actually got you something, if it's actually the ghc package from hackage which is *not* the full ghc source |
2022-06-08 02:56:03 +0200 | <geekosaur> | I think you need to ask in #ghc, but don't be surprised if the answer is "you can't" |
2022-06-08 02:56:27 +0200 | <dragestil> | yeah it got what I wanted, the built API in some form |
2022-06-08 02:56:31 +0200 | <dragestil> | ok thanks |
2022-06-08 02:56:43 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 02:57:56 +0200 | <geekosaur> | also I hope you're doing this with the same version of ghc that it's versioned for; there is very little chance of it working at all right with a different version |
2022-06-08 02:58:36 +0200 | <dragestil> | yeah, i built 8.6.5 using 8.6.5 and am trying to build 9.2.2 using 9.2.2 |
2022-06-08 02:58:41 +0200 | <geekosaur> | the internals change constantly, and in particular got redesigned again for 9.x (although the intent of that one was to stabilize the API so things might fare better with future versions) |
2022-06-08 03:00:40 +0200 | <dragestil> | ha, looks like I can cabal build ghc-lib-9.2.2, at least it's not giving me any errors |
2022-06-08 03:00:45 +0200 | <dragestil> | for now |
2022-06-08 03:02:00 +0200 | <dragestil> | geekosaur: yeah I know, I just ported an app heavy on ghc api use from 8.x.x to 9.2.2 |
2022-06-08 03:02:56 +0200 | <dragestil> | I'm guessing the ghc-lib build is as good as a ghc build for my use case |
2022-06-08 03:03:38 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds) |
2022-06-08 03:03:46 +0200 | <dragestil> | maybe I should just ditch ghc in favour of ghc-lib when using the ghc api |
2022-06-08 03:03:55 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2022-06-08 03:03:59 +0200 | ashln | (~ashln@98.38.236.123) (Ping timeout: 244 seconds) |
2022-06-08 03:04:13 +0200 | Alleria_ | (~AllahuAkb@68.65.161.35) |
2022-06-08 03:05:27 +0200 | Alleria_ | (~AllahuAkb@68.65.161.35) (Client Quit) |
2022-06-08 03:10:00 +0200 | ashln | (~ashln@98.38.236.123) |
2022-06-08 03:10:24 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-06-08 03:10:34 +0200 | <Bulby[m]> | How would I lift this to applicative where the function is `Applicative f => (a -> Bool) -> Map k a -> f (Map k a)` |
2022-06-08 03:10:34 +0200 | <Bulby[m]> | https://hackage.haskell.org/package/containers-0.6.5.1/docs/Data-Map-Strict.html#v:filter |
2022-06-08 03:14:50 +0200 | <EvanR> | erm, if you put together a Map filtering function of type Map k a -> Map k a, then you lift it to applicative with pure |
2022-06-08 03:15:40 +0200 | <Bulby[m]> | oops, I missed something in that type sig |
2022-06-08 03:15:49 +0200 | <Bulby[m]> | `Applicative f => (a -> f Bool) -> Map k a -> f (Map k a)` |
2022-06-08 03:16:32 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-06-08 03:16:51 +0200 | <EvanR> | :t asum |
2022-06-08 03:16:52 +0200 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
2022-06-08 03:17:35 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds) |
2022-06-08 03:17:43 +0200 | <EvanR> | I couldn't sworn that was not Alternative |
2022-06-08 03:20:17 +0200 | <EvanR> | what is the type you're looking for |
2022-06-08 03:20:42 +0200 | <Bulby[m]> | I gave you the type |
2022-06-08 03:20:43 +0200 | <Bulby[m]> | `Applicative f => (a -> f Bool) -> Map k a -> f (Map k a)` |
2022-06-08 03:22:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-06-08 03:25:07 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2022-06-08 03:28:31 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-06-08 03:28:33 +0200 | <EvanR> | it's funny that looks very similar to |
2022-06-08 03:28:49 +0200 | <EvanR> | no... |
2022-06-08 03:28:51 +0200 | <EvanR> | :t traverse |
2022-06-08 03:28:53 +0200 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
2022-06-08 03:29:04 +0200 | <Bulby[m]> | it's always traverse 😭 |
2022-06-08 03:29:06 +0200 | Guest5815 | (~Guest58@modemcable048.16-160-184.mc.videotron.ca) |
2022-06-08 03:29:16 +0200 | <EvanR> | it's not, b's don't match |
2022-06-08 03:29:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection) |
2022-06-08 03:29:28 +0200 | Guest5815 | (~Guest58@modemcable048.16-160-184.mc.videotron.ca) (Client Quit) |
2022-06-08 03:29:39 +0200 | Guest58452222224 | (~Guest5845@modemcable048.16-160-184.mc.videotron.ca) |
2022-06-08 03:34:54 +0200 | <Bulby[m]> | witherable basically the function I want, but at this point is it worth it |
2022-06-08 03:36:58 +0200 | <c_wraith> | :t M.traverseMaybeWithKey |
2022-06-08 03:36:59 +0200 | <lambdabot> | Applicative f => (k -> a -> f (Maybe b)) -> M.Map k a -> f (M.Map k b) |
2022-06-08 03:37:20 +0200 | <c_wraith> | it's a bit more general than what you asked for, but it's what does what you want |
2022-06-08 03:37:21 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2022-06-08 03:37:34 +0200 | <c_wraith> | *it does |
2022-06-08 03:38:15 +0200 | <c_wraith> | (also, the increased generality nicely sidesteps boolean blindness) |
2022-06-08 03:43:06 +0200 | gentauro | (~gentauro@user/gentauro) |
2022-06-08 03:43:45 +0200 | xff0x | (~xff0x@s5.HtokyoFL1.vectant.ne.jp) |
2022-06-08 03:45:17 +0200 | <c_wraith> | :t \f -> M.traverseMaybeWithKey (\_ x -> bool (Just x) Nothing <$> f x) -- Bulby[m]: Like so |
2022-06-08 03:45:18 +0200 | <lambdabot> | Applicative f => (b -> f Bool) -> M.Map k b -> f (M.Map k b) |
2022-06-08 03:45:21 +0200 | sebastiandb_ | (~sebastian@pool-108-18-101-17.washdc.fios.verizon.net) |
2022-06-08 03:45:32 +0200 | <Bulby[m]> | \o/ |
2022-06-08 03:45:32 +0200 | andrey_ | (~andrey@p200300dbcf0a1200fc5b10ce87df1c2d.dip0.t-ipconnect.de) |
2022-06-08 03:46:23 +0200 | <c_wraith> | Oh. except probably reverse the args to bool |
2022-06-08 03:46:35 +0200 | <c_wraith> | (that boolean blindness strikes again) |
2022-06-08 03:47:47 +0200 | andrey__ | (~andrey@p200300dbcf1e5100509bf59e4ea7342a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-06-08 03:50:39 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-06-08 03:56:18 +0200 | BusConscious | (~martin@ip5f5acfd5.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2022-06-08 03:56:47 +0200 | <Bulby[m]> | yay my baby GC is working |
2022-06-08 03:58:12 +0200 | gdown | (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
2022-06-08 03:58:38 +0200 | <Bulby[m]> | one issue with the current system is that even with heap clearing, the counter keeps incrementing |
2022-06-08 03:59:34 +0200 | <Bulby[m]> | which means if more than `maxBound :: Int` vars are assigned then oopsies it crashes |
2022-06-08 04:02:20 +0200 | Guest68 | (~Guest68@186.66.48.125) |
2022-06-08 04:02:58 +0200 | <Guest68> | Hey qq… best way to use Ghci on a mobile device for studying abroad with no computer? |
2022-06-08 04:07:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 04:07:13 +0200 | Guest68 | (~Guest68@186.66.48.125) (Quit: Client closed) |
2022-06-08 04:09:44 +0200 | gdown | (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) |
2022-06-08 04:11:42 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 04:13:43 +0200 | <EvanR> | Bulby[m], do you actually want to solve that one |
2022-06-08 04:18:45 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-06-08 04:19:17 +0200 | td_ | (~td@muedsl-82-207-238-064.citykom.de) (Ping timeout: 256 seconds) |
2022-06-08 04:19:29 +0200 | <DigitalKiwi> | i use ghci in nix-on-droid https://github.com/t184256/nix-on-droid |
2022-06-08 04:20:49 +0200 | td_ | (~td@muedsl-82-207-238-024.citykom.de) |
2022-06-08 04:20:58 +0200 | darkling | (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (Ping timeout: 244 seconds) |
2022-06-08 04:23:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 04:23:45 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 04:26:59 +0200 | frost | (~frost@user/frost) |
2022-06-08 04:39:47 +0200 | liz | (~liz@host86-159-158-175.range86-159.btcentralplus.com) (Quit: Lost terminal) |
2022-06-08 04:44:24 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-06-08 04:44:24 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-06-08 04:47:00 +0200 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) |
2022-06-08 04:47:48 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-08 04:48:49 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-06-08 04:51:04 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-08 04:52:30 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2022-06-08 04:53:05 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-08 04:53:05 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-08 04:53:05 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-08 05:05:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection) |
2022-06-08 05:06:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 05:09:11 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 05:09:37 +0200 | calleum_ | (~calleum@user/calleum) (Ping timeout: 246 seconds) |
2022-06-08 05:09:51 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 05:10:08 +0200 | califax | (~califax@user/califx) |
2022-06-08 05:19:04 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds) |
2022-06-08 05:22:04 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 05:24:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 05:41:36 +0200 | Me-me | (~me-me@user/me-me) (Remote host closed the connection) |
2022-06-08 05:42:15 +0200 | money | (~Gambino@user/polo) |
2022-06-08 05:44:04 +0200 | Me-me | (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
2022-06-08 05:44:17 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-06-08 05:44:40 +0200 | sebastiandb_ | (~sebastian@pool-108-18-101-17.washdc.fios.verizon.net) (Ping timeout: 244 seconds) |
2022-06-08 05:47:04 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 05:49:53 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-06-08 05:50:06 +0200 | king_gs | (~Thunderbi@2806:103e:29:8d08:4e22:df26:be6a:6f94) |
2022-06-08 05:56:05 +0200 | z0k | (~z0k@206.84.141.105) |
2022-06-08 05:57:04 +0200 | money | (~Gambino@user/polo) (Quit: money) |
2022-06-08 05:57:25 +0200 | king_gs | (~Thunderbi@2806:103e:29:8d08:4e22:df26:be6a:6f94) (Quit: king_gs) |
2022-06-08 05:57:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 06:01:08 +0200 | Polo | (~Gambino@user/polo) |
2022-06-08 06:04:31 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2022-06-08 06:06:20 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-06-08 06:07:06 +0200 | Polo | (~Gambino@user/polo) (Ping timeout: 276 seconds) |
2022-06-08 06:09:40 +0200 | Vajb | (~Vajb@n5ar9yynwxqg80e32-2.v6.elisa-mobile.fi) |
2022-06-08 06:11:20 +0200 | Polo | (~Gambino@user/polo) |
2022-06-08 06:12:52 +0200 | slac74904 | (~slack1256@186.11.84.227) (Ping timeout: 260 seconds) |
2022-06-08 06:18:56 +0200 | Guest58452222224 | (~Guest5845@modemcable048.16-160-184.mc.videotron.ca) (Ping timeout: 252 seconds) |
2022-06-08 06:21:01 +0200 | Polo | (~Gambino@user/polo) (Ping timeout: 246 seconds) |
2022-06-08 06:24:14 +0200 | Polo | (~Gambino@user/polo) |
2022-06-08 06:25:01 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:2847:a97b:34b7:6321) |
2022-06-08 06:28:27 +0200 | Furor | (~colere@about/linux/staff/sauvin) |
2022-06-08 06:28:50 +0200 | Polo | (~Gambino@user/polo) (Ping timeout: 240 seconds) |
2022-06-08 06:31:01 +0200 | Colere | (~sauvin@about/linux/staff/sauvin) (Ping timeout: 258 seconds) |
2022-06-08 06:38:16 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-06-08 06:38:17 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2022-06-08 06:44:30 +0200 | shapr | (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2022-06-08 06:46:00 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2022-06-08 06:46:06 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-06-08 06:48:24 +0200 | z0k | (~z0k@206.84.141.105) (Quit: WeeChat 3.5) |
2022-06-08 06:50:39 +0200 | coot | (~coot@213.134.190.95) |
2022-06-08 06:51:10 +0200 | Polo | (~Gambino@user/polo) |
2022-06-08 06:52:38 +0200 | coot | (~coot@213.134.190.95) (Client Quit) |
2022-06-08 06:54:33 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-06-08 06:56:22 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 246 seconds) |
2022-06-08 06:59:16 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-06-08 07:00:30 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-06-08 07:00:38 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-06-08 07:01:29 +0200 | noteness | (~noteness@user/noteness) |
2022-06-08 07:04:52 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:2847:a97b:34b7:6321) (Quit: Client closed) |
2022-06-08 07:11:04 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2022-06-08 07:16:40 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-06-08 07:17:57 +0200 | bgamari | (~bgamari@68.238.49.109) (Ping timeout: 276 seconds) |
2022-06-08 07:21:59 +0200 | Polo | (~Gambino@user/polo) (Quit: Polo) |
2022-06-08 07:25:37 +0200 | Polo | (~Gambino@user/polo) |
2022-06-08 07:26:46 +0200 | yosef`` | (~user@2409:8955:61c:4510:bc38:4f13:2f21:ed8c) |
2022-06-08 07:27:41 +0200 | yosef`` | (~user@2409:8955:61c:4510:bc38:4f13:2f21:ed8c) (Client Quit) |
2022-06-08 07:28:33 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-06-08 07:29:01 +0200 | yosef` | (~user@user/yosef/x-2947716) |
2022-06-08 07:31:35 +0200 | bgamari | (~bgamari@70.16.100.231) |
2022-06-08 07:32:11 +0200 | _xor | (~xor@72.49.198.103) (Quit: bbiab) |
2022-06-08 07:34:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 07:40:03 +0200 | bgamari | (~bgamari@70.16.100.231) (Ping timeout: 276 seconds) |
2022-06-08 07:40:08 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:d683:3d28:fc15:22d4) |
2022-06-08 07:41:20 +0200 | odnes | (~odnes@5-203-158-63.pat.nym.cosmote.net) |
2022-06-08 07:42:14 +0200 | Polo | (~Gambino@user/polo) (Read error: Connection reset by peer) |
2022-06-08 07:43:35 +0200 | Polo | (~Gambino@user/polo) |
2022-06-08 07:44:13 +0200 | noteness | (~noteness@user/noteness) (Quit: bye) |
2022-06-08 07:44:38 +0200 | noteness | (~noteness@user/noteness) |
2022-06-08 07:46:28 +0200 | incertia | (~incertia@d47-69-133-171.try.wideopenwest.com) (Quit: ZNC 1.7.5 - https://znc.in) |
2022-06-08 07:46:53 +0200 | incertia | (~incertia@d47-69-133-171.try.wideopenwest.com) |
2022-06-08 07:48:32 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 07:52:06 +0200 | bgamari | (~bgamari@70.16.104.230) |
2022-06-08 07:53:03 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-06-08 08:04:34 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b36d8e1b90c13cd8a15.dip0.t-ipconnect.de) |
2022-06-08 08:07:48 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 08:09:36 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-06-08 08:10:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 08:14:13 +0200 | gdown | (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
2022-06-08 08:17:39 +0200 | tomjaguarpaw | (~tom@li367-225.members.linode.com) (Remote host closed the connection) |
2022-06-08 08:17:47 +0200 | tomjaguarpaw | (~tom@li367-225.members.linode.com) |
2022-06-08 08:20:42 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 244 seconds) |
2022-06-08 08:20:58 +0200 | P1RATEZ | (piratez@user/p1ratez) (Remote host closed the connection) |
2022-06-08 08:21:09 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2022-06-08 08:21:41 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-06-08 08:23:01 +0200 | Guest3304 | (~mike@2406:d501::79ae:5f3e) (Quit: WeeChat 3.1) |
2022-06-08 08:23:10 +0200 | feetwind | (~mike@user/feetwind) |
2022-06-08 08:26:05 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 08:29:34 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 08:34:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 08:34:41 +0200 | alp | (~alp@user/alp) |
2022-06-08 08:35:10 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 08:35:33 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-06-08 08:37:06 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 08:38:41 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-08 08:39:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 08:42:15 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-06-08 08:45:03 +0200 | Furor | (~colere@about/linux/staff/sauvin) (Ping timeout: 256 seconds) |
2022-06-08 08:50:09 +0200 | Zemyla | (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (Ping timeout: 256 seconds) |
2022-06-08 08:50:24 +0200 | Zemyla | (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) |
2022-06-08 08:51:02 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 255 seconds) |
2022-06-08 08:51:11 +0200 | Guest727 | (Guest72@2600:3c00::f03c:93ff:fee9:e8e2) |
2022-06-08 08:57:04 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 08:58:09 +0200 | Colere | (~colere@about/linux/staff/sauvin) |
2022-06-08 08:59:00 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-06-08 09:04:12 +0200 | lottaquestions_ | (~nick@104.221.94.126) |
2022-06-08 09:04:24 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 09:05:12 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-06-08 09:06:30 +0200 | lottaquestions | (~nick@104.221.94.126) (Ping timeout: 240 seconds) |
2022-06-08 09:07:11 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2022-06-08 09:08:29 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-035.client.tudelft.eduvpn.nl) |
2022-06-08 09:08:29 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-035.client.tudelft.eduvpn.nl) (Client Quit) |
2022-06-08 09:08:57 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-035.client.tudelft.eduvpn.nl) |
2022-06-08 09:12:36 +0200 | dextaa | (~DV@user/dextaa) (Read error: Connection reset by peer) |
2022-06-08 09:12:59 +0200 | Infinite | (~Infinite@49.39.122.221) |
2022-06-08 09:15:22 +0200 | dextaa | (~DV@user/dextaa) |
2022-06-08 09:18:13 +0200 | <sloorush> | Hello, is the link to the prelude documentation in the wiki(https://wiki.haskell.org/Prelude) supposed to be https://hackage.haskell.org/package/base-4.16.1.0/docs/Prelude.html instead of http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html in the documentation section? |
2022-06-08 09:19:17 +0200 | <Axman6> | it should probably be https://hackage.haskell.org/package/base-4.16.1.0/docs/Prelude.html if it has any chance of remaining up to date |
2022-06-08 09:19:19 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:c365:1120:4914:7262) |
2022-06-08 09:19:35 +0200 | chele | (~chele@user/chele) |
2022-06-08 09:26:21 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-06-08 09:27:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 09:28:13 +0200 | <Axman6> | damn, now I'm reading prelude source code and wondering why countLeadingZeros for Bool isn't countLeadingZeros b = Int# (1# - dataToTag# b) |
2022-06-08 09:28:56 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-06-08 09:29:55 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-035.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.5) |
2022-06-08 09:30:13 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-035.client.tudelft.eduvpn.nl) |
2022-06-08 09:32:23 +0200 | darkling | (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) |
2022-06-08 09:33:39 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-06-08 09:36:00 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 09:36:17 +0200 | niko | (niko@libera/staff/niko) (Read error: Connection reset by peer) |
2022-06-08 09:37:57 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-06-08 09:38:02 +0200 | <dragestil> | I just tried again, the `all` target does not include test suites. I also took a look at ~/.cabal/config and don't see how I can include it. does anyone know how to invoke `cabal new-build` build absolutely every components of a project? |
2022-06-08 09:38:55 +0200 | <dcoutts> | dragestil: it includes test suites if you enable test suites by default for that package. |
2022-06-08 09:39:22 +0200 | <dcoutts> | same for benchmarks |
2022-06-08 09:39:47 +0200 | <dcoutts> | you can enable them on a per-package basis, or for all packages in the project |
2022-06-08 09:40:19 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-06-08 09:40:55 +0200 | <dragestil> | dcoutts: is it possible to override the setting in .cabal files for the projects? I'd like to run a script that run cabal build on a set of projects after cd into the project dirs |
2022-06-08 09:41:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 09:41:19 +0200 | <dcoutts> | You can set it in the project file. |
2022-06-08 09:41:48 +0200 | <dcoutts> | It's a "builder role" setting, not an "author role" setting, so it's set in the project file, not the package .cabal files. |
2022-06-08 09:42:38 +0200 | <dcoutts> | But most such things can also be set on the cabal build command line too. iirc it's just --enable-testsuites --enable-benchmarks |
2022-06-08 09:42:51 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b36d8e1b90c13cd8a15.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2022-06-08 09:42:58 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 09:43:13 +0200 | <dcoutts> | It's usually better to put them in the cabal.project (or cabal.project.local) file, so it's not ephemeral |
2022-06-08 09:43:22 +0200 | <dcoutts> | but ephemeral is doable too] |
2022-06-08 09:44:23 +0200 | <dragestil> | dcoutts: I see, thanks. --enable-testsuites --enable-benchmarks sounds good as my use case is to run a script to `cabal unpack` a bunch of packages, cd into them, and then `cabal build` |
2022-06-08 09:45:24 +0200 | <dragestil> | oh but I can't do cabal new-build --enable-testsuites --enable-benchmarks |
2022-06-08 09:45:39 +0200 | <dcoutts> | oh, use it with cabal configure |
2022-06-08 09:45:41 +0200 | <merijn> | Also, still calling it "new-build" is a bit dated, considering it's been the default for 3 (soon 4) releases ;) |
2022-06-08 09:46:33 +0200 | <dcoutts> | dragestil: cabal configure --enable-testsuites --enable-benchmarks will make a cabal.project.local with those two settings, so that a subsequent cabal build all will do what you expect |
2022-06-08 09:47:00 +0200 | <dcoutts> | (some of these flags also work on build directly, but I was clearly forgetting which ones) |
2022-06-08 09:47:27 +0200 | <dragestil> | dcoutts: i see, thanks |
2022-06-08 09:47:41 +0200 | <dragestil> | merijn: ok |
2022-06-08 09:47:41 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-06-08 09:48:45 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Ping timeout: 276 seconds) |
2022-06-08 09:49:46 +0200 | chreekat2 | (~b@dys-fmydgp1rbq8l5qb7t-3.rev.dnainternet.fi) |
2022-06-08 09:49:52 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-06-08 09:54:10 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 272 seconds) |
2022-06-08 09:58:03 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-06-08 09:58:12 +0200 | <tomsmeding> | Bulby[m]: that's a lot of allocations, 2^63 :p |
2022-06-08 09:59:39 +0200 | <tomsmeding> | > 2 ^ 63 / 10 ^ 9 / 3600 / 24 / 365 |
2022-06-08 09:59:41 +0200 | <lambdabot> | 292.471208677536 |
2022-06-08 10:00:05 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 10:00:24 +0200 | <tomsmeding> | Bulby[m]: will take you >292 years to overflow that counter if you manage to increment it once per clock cycle on a 5GHz cpu (you won't, unless you do `lab: inc rax ; jmp lab` maybe) |
2022-06-08 10:00:52 +0200 | <tomsmeding> | > 2 ^ 63 / (5 * 10 ^ 9) / 3600 / 24 / 365 |
2022-06-08 10:00:53 +0200 | <lambdabot> | 58.4942417355072 |
2022-06-08 10:00:57 +0200 | <tomsmeding> | sorry, 58 years |
2022-06-08 10:01:42 +0200 | <tomsmeding> | this is what Natural in Numeric.Natural is for though :p |
2022-06-08 10:07:49 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:545d:42c6:141c:ed13) |
2022-06-08 10:12:07 +0200 | mbuf | (~Shakthi@122.174.45.107) |
2022-06-08 10:14:09 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-06-08 10:14:18 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-06-08 10:14:43 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-06-08 10:15:31 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection) |
2022-06-08 10:20:04 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-06-08 10:22:15 +0200 | Guest727 | (Guest72@2600:3c00::f03c:93ff:fee9:e8e2) (Quit: Client closed) |
2022-06-08 10:22:40 +0200 | Guest7240 | (~Guest72@240e:341:3834:600:f841:5677:841d:bc80) |
2022-06-08 10:22:56 +0200 | Guest7240 | (~Guest72@240e:341:3834:600:f841:5677:841d:bc80) (Client Quit) |
2022-06-08 10:31:17 +0200 | alp | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-06-08 10:33:33 +0200 | w1gz_ | w1gz |
2022-06-08 10:35:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 10:43:23 +0200 | Polo | (~Gambino@user/polo) (Quit: Polo) |
2022-06-08 10:46:31 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:545d:42c6:141c:ed13) (Remote host closed the connection) |
2022-06-08 10:49:09 +0200 | coot | (~coot@213.134.190.95) |
2022-06-08 10:49:44 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-06-08 10:50:01 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-06-08 10:50:29 +0200 | noteness | (~noteness@user/noteness) |
2022-06-08 10:55:57 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2022-06-08 11:04:34 +0200 | alp | (~alp@user/alp) |
2022-06-08 11:05:04 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) |
2022-06-08 11:06:13 +0200 | BusConscious | (~martin@ip5f5acfd5.dynamic.kabel-deutschland.de) |
2022-06-08 11:07:02 +0200 | Colere | (~colere@about/linux/staff/sauvin) (Remote host closed the connection) |
2022-06-08 11:07:20 +0200 | Colere | (~colere@about/linux/staff/sauvin) |
2022-06-08 11:07:26 +0200 | natechan | (~nate@98.45.169.16) |
2022-06-08 11:07:31 +0200 | nahcetan | (~nate@98.45.169.16) (Read error: Connection reset by peer) |
2022-06-08 11:08:18 +0200 | zeenk | (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) |
2022-06-08 11:08:24 +0200 | <BusConscious> | hello everyone I have a Q re forkProcess. When I do forkProcess it executes the IO action provided as argument, but then it lingers around as defunct process even after calling exitImmediately? |
2022-06-08 11:08:36 +0200 | yosef`` | (~user@223.73.113.211) |
2022-06-08 11:08:55 +0200 | <BusConscious> | What's up with that? How do I properly exit my child process? |
2022-06-08 11:09:46 +0200 | <BusConscious> | oh it must have something to do with my pipe nevermind |
2022-06-08 11:10:28 +0200 | yosef` | (~user@user/yosef/x-2947716) (Ping timeout: 258 seconds) |
2022-06-08 11:10:31 +0200 | vgtw_ | vgtw |
2022-06-08 11:15:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 11:20:07 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Ping timeout: 240 seconds) |
2022-06-08 11:21:10 +0200 | <merijn> | BusConscious: forkProcess from the unix package? |
2022-06-08 11:23:03 +0200 | <merijn> | Gonna go ahead and queue my usual spiel that the correct answer to any of your questions past/future should be: do *not* use forkProcess, it is *wildly* unsafe and it's existence is borderline negligent |
2022-06-08 11:23:31 +0200 | <merijn> | (although, more concretely, your problem is that terminated child processes will remain zombie processes until the parent wait()'s on them) |
2022-06-08 11:24:01 +0200 | <BusConscious> | Try programming a unix shell with no unix forks :) |
2022-06-08 11:24:36 +0200 | ubert | (~Thunderbi@2a02:8109:abc0:6434:a6ac:910b:92e7:63a8) |
2022-06-08 11:24:48 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 11:25:07 +0200 | <merijn> | Easy |
2022-06-08 11:25:15 +0200 | <merijn> | fork has been deprecated for near 2 decades |
2022-06-08 11:25:26 +0200 | <merijn> | You should use posix_spawn, even for programming shells |
2022-06-08 11:26:15 +0200 | <merijn> | fork in single-threaded C code is merely hard to use correctly. fork in multi-threaded processes is borderline (if not literally) impossible to use safely and all Haskell programs (well, those compiled by GHC) are inherently multi-threaded |
2022-06-08 11:26:34 +0200 | <maerwald> | there's no api for posix_spawn |
2022-06-08 11:26:45 +0200 | <merijn> | maerwald: Yes, I know. That does not make fork safer, though |
2022-06-08 11:26:58 +0200 | <maerwald> | that makes your suggestion unrealistic though |
2022-06-08 11:27:16 +0200 | <maerwald> | forkProcess works fine for me, but I don't use exitImmediately |
2022-06-08 11:27:26 +0200 | <merijn> | maerwald: Only because you have religious objection to using the process library, which does in fact use posix_spawn internally |
2022-06-08 11:27:35 +0200 | <BusConscious> | I could try to link to posix_spawn, but is not even half as flexible as traditional forks. I want to clone my Shell environment |
2022-06-08 11:27:41 +0200 | <maerwald> | merijn: I use the process library on windows and it's a mess |
2022-06-08 11:27:46 +0200 | <merijn> | maerwald: exitImmediatley is a red herring, you always need to wait on child process to terminate the zombie |
2022-06-08 11:28:08 +0200 | <maerwald> | posix_spawn is complicated api |
2022-06-08 11:28:11 +0200 | <BusConscious> | * link to C |
2022-06-08 11:28:22 +0200 | <merijn> | BusConscious: realistically you want the process library |
2022-06-08 11:28:26 +0200 | <merijn> | @hackage process |
2022-06-08 11:28:26 +0200 | <lambdabot> | https://hackage.haskell.org/package/process |
2022-06-08 11:28:31 +0200 | <merijn> | For spawning sub processes |
2022-06-08 11:28:40 +0200 | <merijn> | Which simplifies setting up pipes, etc. too |
2022-06-08 11:28:48 +0200 | <BusConscious> | I will look into that though thanks |
2022-06-08 11:28:49 +0200 | <maerwald> | weelll.... that depends |
2022-06-08 11:29:20 +0200 | <maerwald> | https://hackage.haskell.org/package/process-1.6.14.0/docs/System-Process.html#v:readCreateProcessW… |
2022-06-08 11:29:26 +0200 | <maerwald> | returns Strings for the handles... |
2022-06-08 11:29:28 +0200 | <maerwald> | great |
2022-06-08 11:29:31 +0200 | GascOwn | (~gasc_own@151.16.46.77) |
2022-06-08 11:29:32 +0200 | Infinite | (~Infinite@49.39.122.221) (Quit: Client closed) |
2022-06-08 11:29:36 +0200 | <merijn> | I would not use the readCreate* stuff at all |
2022-06-08 11:29:39 +0200 | <maerwald> | now your stuff is garbled with encoding issues |
2022-06-08 11:29:44 +0200 | <merijn> | but manual CreateProcess and handles |
2022-06-08 11:29:50 +0200 | <maerwald> | right, I would not use most of process |
2022-06-08 11:29:53 +0200 | <merijn> | maerwald: Not if your system doesn't have a broken setup |
2022-06-08 11:29:56 +0200 | <maerwald> | so just don't |
2022-06-08 11:30:05 +0200 | <maerwald> | merijn: huh? |
2022-06-08 11:30:37 +0200 | <merijn> | maerwald: If your system is configured correctly, the encoding is set correctly. If you don't want String you should be using the Handle API anyway |
2022-06-08 11:30:39 +0200 | <maerwald> | conversion to string from CString is not total |
2022-06-08 11:30:59 +0200 | <maerwald> | even if your encoding is set up correctly |
2022-06-08 11:31:01 +0200 | <maerwald> | doesn't matter |
2022-06-08 11:31:02 +0200 | <merijn> | maerwald: Sure, if your subprocess is producing binary data, don't use the String stuff |
2022-06-08 11:31:11 +0200 | <maerwald> | yeah, shitty api |
2022-06-08 11:31:18 +0200 | <GascOwn> | join #haskell-web |
2022-06-08 11:31:44 +0200 | <merijn> | I would support deprecating and/or deleting all of the read* functions from process |
2022-06-08 11:32:23 +0200 | <merijn> | Or, at least, moving them to separate System.Process.String, System.Process.ByteString, System.Process.Text submodules with similar/identical APIs for read calls |
2022-06-08 11:32:44 +0200 | bliminse | (~bliminse@host86-132-158-77.range86-132.btcentralplus.com) (Quit: leaving) |
2022-06-08 11:32:54 +0200 | <merijn> | maerwald: Would that make you happier? Probably not, because that'd change the API and you don't approve of changing APIs on version bumps either :) |
2022-06-08 11:33:23 +0200 | <maerwald> | if you need windows support, just use Win32 package... then you don't need to wait for the windows IO manager to become default anyway |
2022-06-08 11:33:34 +0200 | <maerwald> | process by default shoves all windows stuff to this odd posix compat layer |
2022-06-08 11:33:36 +0200 | <maerwald> | ugh. |
2022-06-08 11:36:17 +0200 | <merijn> | Anyway, this doesn't affect BusConscious's use case anyway, for a unix shell-like thing he'll want createProcess and/or withCreateProcess which (with appropriate passing of CreatePipe/Inherit/UseHandle) will get back a bunch of handles for the subprocess to do shell-y things with |
2022-06-08 11:37:25 +0200 | CiaoSen | (~Jura@p200300c95738d2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-06-08 11:37:26 +0200 | <maerwald> | BusConscious: using unix package is fine |
2022-06-08 11:37:36 +0200 | alp | (~alp@user/alp) (Remote host closed the connection) |
2022-06-08 11:39:08 +0200 | <maerwald> | to wait for child process, you use getProcessStatus |
2022-06-08 11:40:58 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-06-08 11:42:04 +0200 | <maerwald> | merijn: feel free to create a PR https://github.com/haskell/unix/issues/196 |
2022-06-08 11:42:45 +0200 | <sm> | nice discussion! (of Haskell) |
2022-06-08 11:42:46 +0200 | <sm> | https://news.ycombinator.com/item?id=31658638 |
2022-06-08 11:44:52 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-06-08 11:45:38 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2022-06-08 11:46:06 +0200 | cheater | (~Username@user/cheater) |
2022-06-08 11:47:02 +0200 | alp | (~alp@user/alp) |
2022-06-08 11:48:46 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:e92a:ff3d:d8c7:63da) |
2022-06-08 11:54:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 11:56:23 +0200 | Infinite | (~Infinite@49.39.122.221) |
2022-06-08 12:01:09 +0200 | bliminse | (~bliminse@host86-132-158-77.range86-132.btcentralplus.com) |
2022-06-08 12:01:18 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 12:05:58 +0200 | <maerwald[m]> | sm: nix being implemented in Haskell is always a strong sign they don't know what they are talking about :p |
2022-06-08 12:07:37 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-06-08 12:08:33 +0200 | <merijn> | I mean, "HN commenters not knowing what they are talking about" is a pretty safe heuristic in general |
2022-06-08 12:10:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 12:13:03 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds) |
2022-06-08 12:14:28 +0200 | <maerwald[m]> | But I do think the language extension gold rush and GHC being used as an academic playground field are factors |
2022-06-08 12:14:45 +0200 | coot | (~coot@213.134.190.95) |
2022-06-08 12:19:05 +0200 | <kuribas> | ugh, people complaining about extensions, yet every languages has them, they just aren't called that. |
2022-06-08 12:19:12 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
2022-06-08 12:19:12 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-06-08 12:19:34 +0200 | <kuribas> | At least being "extensions" you can turn them off. |
2022-06-08 12:21:04 +0200 | <kuribas> | Every language accumulates features. |
2022-06-08 12:22:19 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-06-08 12:23:33 +0200 | <maerwald[m]> | kuribas: Go has extensions? |
2022-06-08 12:23:47 +0200 | <kuribas> | I don't know? |
2022-06-08 12:23:53 +0200 | xff0x | (~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 255 seconds) |
2022-06-08 12:23:53 +0200 | <kuribas> | I don't know go. |
2022-06-08 12:24:33 +0200 | <maerwald[m]> | Pretty sure it doesn't and it also doesn't accumulate features |
2022-06-08 12:25:26 +0200 | <kuribas> | didn't it acquire generics recently? |
2022-06-08 12:25:35 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 12:25:58 +0200 | <maerwald[m]> | I think that's discussed for Go2, which is a different language |
2022-06-08 12:30:06 +0200 | <yushyin> | go1.18 has generics support |
2022-06-08 12:30:29 +0200 | <yushyin> | 'Go release, version 1.18, is a significant release, including changes to the language' |
2022-06-08 12:31:00 +0200 | <maerwald[m]> | Ah right, I mixed it up with the union types |
2022-06-08 12:32:12 +0200 | <kuribas> | maerwald[m]: I didn't say those changes don't come with a version bump, which is a sensible thing to do. |
2022-06-08 12:32:21 +0200 | <yushyin> | but it's optional/retrofitted, old code should just continue to work without changes |
2022-06-08 12:34:40 +0200 | <maerwald[m]> | At any rate, no, not all languages randomly add features |
2022-06-08 12:35:36 +0200 | <maerwald[m]> | Even rust develops at a much slower pace |
2022-06-08 12:36:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 12:38:08 +0200 | <Benzi-Junior> | I'm trying to write a function that takes an input and depending on case either reads or writes to a TChan, the issue that I'm havingi is that writeTChan has type STM (), what is the right way to change it to STM a, as I don't actually want it to return |
2022-06-08 12:38:31 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds) |
2022-06-08 12:48:09 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2022-06-08 12:49:16 +0200 | <tomsmeding> | Benzi-Junior: what do you want to do with the read value? |
2022-06-08 12:49:28 +0200 | <maerwald[m]> | Benzi-Junior: Either () a |
2022-06-08 12:49:47 +0200 | <maerwald[m]> | Or Maybe |
2022-06-08 12:51:30 +0200 | caubert_ | (~caubert@136.244.111.235) (Quit: WeeChat 3.4) |
2022-06-08 12:51:42 +0200 | caubert | (~caubert@136.244.111.235) |
2022-06-08 12:56:39 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-06-08 13:04:28 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) |
2022-06-08 13:11:48 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-06-08 13:13:25 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-06-08 13:13:57 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-06-08 13:15:36 +0200 | yosef`` | (~user@223.73.113.211) (Read error: Connection reset by peer) |
2022-06-08 13:15:53 +0200 | yosef`` | (~user@223.73.113.211) |
2022-06-08 13:16:59 +0200 | lyle | (~lyle@104.246.145.85) |
2022-06-08 13:17:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 13:18:58 +0200 | <Benzi-Junior> | tomsmeding, just dump it to console |
2022-06-08 13:19:23 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-06-08 13:19:32 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-06-08 13:19:48 +0200 | <Benzi-Junior> | so it's a "Show a => STM a" |
2022-06-08 13:21:38 +0200 | <tomsmeding> | Benzi-Junior: \x -> case x of { ... -> atomically (writeTVar var ...) ; ... -> do { value <- atomically (readTVar var); print value } } |
2022-06-08 13:21:38 +0200 | <tomsmeding> | ? |
2022-06-08 13:21:52 +0200 | <tomsmeding> | with newlines instead of { ; } |
2022-06-08 13:22:19 +0200 | <tomsmeding> | or should the whole case live in STM |
2022-06-08 13:22:23 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Ping timeout: 255 seconds) |
2022-06-08 13:25:07 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 13:26:10 +0200 | yosef`` | (~user@223.73.113.211) (Ping timeout: 258 seconds) |
2022-06-08 13:29:24 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-06-08 13:30:47 +0200 | ph88 | (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
2022-06-08 13:40:29 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 252 seconds) |
2022-06-08 13:41:17 +0200 | pottsy | (~pottsy@129.227.183.244) |
2022-06-08 13:44:49 +0200 | odnes | (~odnes@5-203-158-63.pat.nym.cosmote.net) (Ping timeout: 246 seconds) |
2022-06-08 13:45:05 +0200 | __monty__ | (~toonn@user/toonn) |
2022-06-08 13:46:11 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 13:46:28 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-08 13:50:14 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 13:51:48 +0200 | <kuribas> | IMO a lot of language extensions take like 1 minute to learn. |
2022-06-08 13:51:49 +0200 | GascOwn | (~gasc_own@151.16.46.77) (Ping timeout: 246 seconds) |
2022-06-08 13:52:08 +0200 | <kuribas> | For example lambda case, pattern guards, ... |
2022-06-08 13:53:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 13:55:54 +0200 | <sm> | I think people land on a lot of weak reasons to justify not studying haskell a bit |
2022-06-08 13:56:28 +0200 | <sm> | I don't really blame them, but there are better reasons |
2022-06-08 13:57:07 +0200 | <geekosaur> | nobody ever wants to admit they're scared of something… |
2022-06-08 13:57:47 +0200 | odnes | (~odnes@5-203-251-36.pat.nym.cosmote.net) |
2022-06-08 13:57:53 +0200 | <sm> | k I'll say it, I'm Simon and I'm scared of nix[os] |
2022-06-08 14:00:04 +0200 | <sm> | actually I should make a list, that'd probably be a useful exercise |
2022-06-08 14:00:11 +0200 | <lortabac> | I think there is a subjective factor in these discussions that is never going to be solved |
2022-06-08 14:00:12 +0200 | <maerwald[m]> | kuribas: uh, DataKinds qnd TypeFamilies 1 minute? xR |
2022-06-08 14:00:47 +0200 | <lortabac> | just as I find Nix crazy and a waste of time, some people have the same opinion about Haskell |
2022-06-08 14:00:54 +0200 | <lortabac> | that's fair |
2022-06-08 14:01:07 +0200 | <lortabac> | nobody is right or wrong |
2022-06-08 14:01:23 +0200 | <maerwald[m]> | I think it's objectively false claiming that most extensions take 1m to learn |
2022-06-08 14:01:53 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 14:02:04 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 14:02:35 +0200 | <sm> | discussions generally aren't "solvable", but I'm enjoying this one and glad when I see bits of illumination getting out there |
2022-06-08 14:02:45 +0200 | <geekosaur> | I like the *idea* of Nix. applying it to a different OS/distro strikes me as asking for trouble, but I don't quite have time to learn how NixOS is configured |
2022-06-08 14:03:01 +0200 | <sm> | and getting in here too, of course! |
2022-06-08 14:03:32 +0200 | <geekosaur> | I also don't like what I hear about conflicting package configurations, but it also doesn't surprise nme |
2022-06-08 14:04:32 +0200 | califax | (~califax@user/califx) |
2022-06-08 14:07:31 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 14:07:48 +0200 | <maerwald[m]> | Took the Haskell community many years to recognize there's a problem with API breaking churn, constantly changing surface language and compiler stability. |
2022-06-08 14:08:35 +0200 | <maerwald[m]> | And still, many people still believe the way to increase adoption is to push more esoteric features |
2022-06-08 14:09:15 +0200 | <sm> | it's because of our history and evolutionary path. That creates a huge inertia |
2022-06-08 14:09:35 +0200 | <hpc> | alternatively, keep pushing the state of the art as much as possible, until someday javascript developers don't realize they're secretly writing haskell98 with funny syntax |
2022-06-08 14:09:36 +0200 | <sm> | takes time and money to shift |
2022-06-08 14:10:02 +0200 | CiaoSen | (~Jura@p200300c95738d2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-06-08 14:10:08 +0200 | califax | (~califax@user/califx) |
2022-06-08 14:10:25 +0200 | <maerwald[m]> | sm: yep, tunnel view |
2022-06-08 14:10:36 +0200 | <sm> | the Haskell community is much more diverse than mainstream languages I think |
2022-06-08 14:11:31 +0200 | <sm> | it's interesting to more kinds of people |
2022-06-08 14:12:02 +0200 | <maerwald[m]> | sm: I'm not sure |
2022-06-08 14:12:46 +0200 | <maerwald[m]> | Java has a lot of engaged researchers too |
2022-06-08 14:15:41 +0200 | <sm> | perhaps not Java then. But it had the industry focus from the start |
2022-06-08 14:15:59 +0200 | <sm> | but more than say javascript, go, or python |
2022-06-08 14:16:19 +0200 | <maerwald[m]> | I'm not really sure how you come to that conclusion honestly |
2022-06-08 14:16:57 +0200 | <sm> | perhaps I'm being unclear - I mean js/go/python have less in them to interest CS researchers, for example |
2022-06-08 14:17:11 +0200 | <kuribas> | maerwald: DataKinds is pretty easy if you know what a "kind" is. |
2022-06-08 14:17:38 +0200 | <sm> | or to interest engineers needing high assurance |
2022-06-08 14:17:49 +0200 | <maerwald[m]> | JavaScript got TypeScript and Flow. Two huge research projects |
2022-06-08 14:18:33 +0200 | <maerwald[m]> | And react, revolutionizing the frontend framework space |
2022-06-08 14:18:41 +0200 | <sm> | huge indeed, but aren't those coming from industry primarily. The diversity isn't quite as extreme |
2022-06-08 14:19:27 +0200 | <sm> | the academic camp isn't as strong. I could be wrong. |
2022-06-08 14:19:53 +0200 | <kuribas> | maerwald: and I found type families much less daunting then I expected. |
2022-06-08 14:20:38 +0200 | <maerwald[m]> | sm: I think that's simply because you're more familiar with the haskell community |
2022-06-08 14:21:03 +0200 | zincy | (~zincy@213.205.194.63) |
2022-06-08 14:21:32 +0200 | <maerwald[m]> | Also, a lot of research does come from industry |
2022-06-08 14:21:57 +0200 | <sm> | I mean obviously everything in js world is much bigger than in haskell world, but if you imagine js at same size and stage of growth as haskell is now, I feel haskell has more diverse interests pulling it in different directions. Primarily the academic vs engineering interests. Just my 2c |
2022-06-08 14:22:27 +0200 | <geekosaur[m]> | I'm not sure Tweag counts as industry |
2022-06-08 14:22:51 +0200 | <maerwald[m]> | geekosaur: they have industry clients |
2022-06-08 14:23:56 +0200 | <lortabac> | kuribas: type families are incredibily tricky, I've used them for years and I'm still surprised from time to time |
2022-06-08 14:24:50 +0200 | <lortabac> | among other things: they are not parametric, they have different variants and they imply MonoLocalBinds |
2022-06-08 14:24:57 +0200 | <maerwald[m]> | I think kuribas is dramatically oversimplifying |
2022-06-08 14:26:23 +0200 | <maerwald[m]> | We can't solve issues of we don't recognize them |
2022-06-08 14:26:48 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b36d8e1b90c13cd8a15.dip0.t-ipconnect.de) |
2022-06-08 14:27:28 +0200 | Topsi | (~Topsi@dyndsl-095-033-021-202.ewe-ip-backbone.de) |
2022-06-08 14:28:42 +0200 | <yrlnry> | Is there a tool that will dump out the contents of a `.hie` file in a human-readable form? |
2022-06-08 14:29:08 +0200 | <sm> | maerwald++ |
2022-06-08 14:29:16 +0200 | koz | (~koz@121.99.240.58) (Ping timeout: 246 seconds) |
2022-06-08 14:29:34 +0200 | <maerwald[m]> | The mixture of stockholm syndrome and "maybe you're not smart enough" sentiment is probably one of the reasons the entry barrier to haskell is still so high. Rust has a lot of very complicated features too, but they make a better job at making it accessible |
2022-06-08 14:30:18 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-08 14:30:45 +0200 | <sm> | that has always been a high priority for them, it's not such a widely shared priority for us |
2022-06-08 14:31:19 +0200 | <maerwald[m]> | "Just learn type families in one minute" |
2022-06-08 14:31:21 +0200 | <sm> | many (not all) of us say we want it, but it doesn't usually come first |
2022-06-08 14:31:44 +0200 | zincy | (~zincy@213.205.194.63) (Remote host closed the connection) |
2022-06-08 14:31:52 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-06-08 14:32:02 +0200 | koz | (~koz@121.99.240.58) |
2022-06-08 14:33:46 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-06-08 14:36:26 +0200 | <geekosaur> | yrlnry, possibly `ghc --show-iface` |
2022-06-08 14:36:41 +0200 | <yrlnry> | I'll look at that, thanks. |
2022-06-08 14:37:32 +0200 | <geekosaur> | not sure it'll work with a .hie file and older ghcs, "fat .hi files" are still kinda new |
2022-06-08 14:39:40 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-06-08 14:44:02 +0200 | <yrlnry> | `--show-iface` is interesting, but for `.hi` files, seems not to work on `.hie`. There's a `hiedb` program which looks like it might be useful. |
2022-06-08 14:46:12 +0200 | Topsi1 | (~Topsi@dyndsl-095-033-021-202.ewe-ip-backbone.de) |
2022-06-08 14:46:21 +0200 | <geekosaur> | yeh, that was what I was afraid of. there's at least two "hie" file types, one the extended .hi file and one the hie db |
2022-06-08 14:46:37 +0200 | <geekosaur> | since then the extended hi file was simply merged with normal ones |
2022-06-08 14:46:53 +0200 | <geekosaur> | don't know how to use hiedb though |
2022-06-08 14:47:06 +0200 | <geekosaur> | at this point #haskell-language-server might be more helpful |
2022-06-08 14:49:03 +0200 | Topsi | (~Topsi@dyndsl-095-033-021-202.ewe-ip-backbone.de) (Ping timeout: 276 seconds) |
2022-06-08 14:51:06 +0200 | yosef` | (~user@user/yosef/x-2947716) |
2022-06-08 14:58:01 +0200 | yosef` | (~user@user/yosef/x-2947716) (Ping timeout: 244 seconds) |
2022-06-08 14:58:24 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 14:58:50 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) |
2022-06-08 15:00:43 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 15:03:42 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-06-08 15:03:59 +0200 | califax | (~califax@user/califx) |
2022-06-08 15:06:21 +0200 | <BusConscious> | ok so I made some progress. I was not looking for getProcessStatus directly. Instead I am forking my progress duplicating the writing end of the pipe to stdout in the child process and using hGetContents to read from the reading end in the parent |
2022-06-08 15:06:26 +0200 | <BusConscious> | so far so good |
2022-06-08 15:06:58 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-06-08 15:07:01 +0200 | <BusConscious> | issue is after reading from the pipe I need to kill my child process, but I am not allowed to kill it before that |
2022-06-08 15:07:56 +0200 | <BusConscious> | because otherwise my pipe is broken |
2022-06-08 15:08:07 +0200 | <geekosaur> | the problem there is you don't know when it's done writing |
2022-06-08 15:08:28 +0200 | <geekosaur> | unless you have some kind of protocol with an end/done packet |
2022-06-08 15:09:39 +0200 | <maerwald> | BusConscious: https://hackage.haskell.org/package/unix-2.7.2.2/docs/System-Posix-IO-ByteString.html#v:fdRead |
2022-06-08 15:09:44 +0200 | <maerwald> | are you looking for that? |
2022-06-08 15:09:53 +0200 | <maerwald> | it throws an exception on EOF |
2022-06-08 15:10:11 +0200 | <geekosaur> | but you won't get eof from it until the process exits |
2022-06-08 15:10:18 +0200 | <BusConscious> | geekosaur that may very well be the problem, but when I don't kill the child after reading or exit the child it appears to be working |
2022-06-08 15:10:32 +0200 | <BusConscious> | except i'm no leaking processes |
2022-06-08 15:10:40 +0200 | <geekosaur> | and if the process exits you need waitForProcess to reap the zombie |
2022-06-08 15:11:15 +0200 | <maerwald> | BusConscious: you want the parent to get the child stdout/stderr? |
2022-06-08 15:11:29 +0200 | <BusConscious> | the parent to get the child stdout |
2022-06-08 15:11:36 +0200 | <maerwald> | yeah |
2022-06-08 15:11:41 +0200 | <geekosaur> | there's a potential race condition here, you may need to read output in a separate thread |
2022-06-08 15:11:44 +0200 | <BusConscious> | and then afterwards the child should terminate |
2022-06-08 15:11:51 +0200 | <maerwald> | BusConscious: I have an implementation here: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/lib/GHCup/Prelude/Process/Posix.hs#L74-317 |
2022-06-08 15:11:54 +0200 | <geekosaur> | sinceif you're waiting on the child you're not reading |
2022-06-08 15:12:56 +0200 | shapr | (~user@2600:4040:2d31:7100:9163:bb47:6e24:ceed) |
2022-06-08 15:12:59 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 15:13:05 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 255 seconds) |
2022-06-08 15:13:05 +0200 | <maerwald> | probably going through captureOutStreams is enough |
2022-06-08 15:14:07 +0200 | raym | (~raym@user/raym) (Ping timeout: 240 seconds) |
2022-06-08 15:14:16 +0200 | califax | (~califax@user/califx) |
2022-06-08 15:14:17 +0200 | <BusConscious> | I don't really wait for the child I just read from the pipe using hGetContents which should read until EOF is found, but you're probably right, that I should not rely on the child being faster than the parent |
2022-06-08 15:14:31 +0200 | <BusConscious> | because most likely it will be the other way around |
2022-06-08 15:14:38 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-06-08 15:15:08 +0200 | raym | (~raym@user/raym) |
2022-06-08 15:15:29 +0200 | <BusConscious> | ok thank you now it works |
2022-06-08 15:16:11 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Ping timeout: 258 seconds) |
2022-06-08 15:16:26 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-06-08 15:17:43 +0200 | infinity0 | (~infinity0@185.112.146.113) (Ping timeout: 258 seconds) |
2022-06-08 15:17:46 +0200 | <BusConscious> | I really need getProcessStatus |
2022-06-08 15:18:02 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 255 seconds) |
2022-06-08 15:19:33 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 15:20:05 +0200 | infinity0 | (~infinity0@185.112.146.113) |
2022-06-08 15:22:34 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-06-08 15:23:30 +0200 | gnyeki | (~gnyeki@user/gnyeki) (Quit: leaving) |
2022-06-08 15:23:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Ping timeout: 255 seconds) |
2022-06-08 15:24:19 +0200 | zincy | (~zincy@lfbn-bay-1-105-223.w83-193.abo.wanadoo.fr) |
2022-06-08 15:26:20 +0200 | zincy | (~zincy@lfbn-bay-1-105-223.w83-193.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2022-06-08 15:26:32 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) |
2022-06-08 15:26:35 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 255 seconds) |
2022-06-08 15:28:30 +0200 | ashln | (~ashln@98.38.236.123) (Ping timeout: 244 seconds) |
2022-06-08 15:29:51 +0200 | acowley | (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Quit: ZNC - http://znc.in) |
2022-06-08 15:35:15 +0200 | <BusConscious> | Why does fork(2) in unistd.h fork the calling thread, but forkProcess in Haskell not? |
2022-06-08 15:35:28 +0200 | <BusConscious> | I somewhat stumbled upon that earlier today |
2022-06-08 15:35:38 +0200 | gnyeki | (~gnyeki@user/gnyeki) |
2022-06-08 15:37:01 +0200 | <geekosaur> | forkProcess shuts down the Haskell runtime (including its manager threads, notwithstanding what merijn said earlier) before forking. I think this has to be done in the main thread |
2022-06-08 15:38:42 +0200 | <geekosaur> | it's best not to rely on thread behavior around fork() anyway; as merijn said, all guarantees go out the window in a threaded program |
2022-06-08 15:39:07 +0200 | <geekosaur> | because you have no idea what state any other thread is in and threads are *not* copied into the new process |
2022-06-08 15:39:56 +0200 | <geekosaur> | (nor would othose other threads know they'd been copied, if they were, so things would quickly go awry) |
2022-06-08 15:40:37 +0200 | <BusConscious> | I don't need multithreading in my shell interpreter .. I think? |
2022-06-08 15:41:14 +0200 | <geekosaur> | you don't |
2022-06-08 15:41:17 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 15:41:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-08 15:41:48 +0200 | <geekosaur> | shell interpreters are designed and intended to manage processes, not threads |
2022-06-08 15:44:08 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
2022-06-08 15:44:10 +0200 | odnes | (~odnes@5-203-251-36.pat.nym.cosmote.net) (Ping timeout: 240 seconds) |
2022-06-08 15:44:16 +0200 | ashln | (~ashln@98.38.236.123) |
2022-06-08 15:44:34 +0200 | califax | (~califax@user/califx) |
2022-06-08 15:44:50 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-06-08 15:47:22 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
2022-06-08 15:48:19 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-08 15:48:19 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-08 15:48:19 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-08 15:57:50 +0200 | infinity0 | (~infinity0@185.112.146.113) (Remote host closed the connection) |
2022-06-08 15:59:04 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 15:59:53 +0200 | infinity0 | (~infinity0@185.112.146.113) |
2022-06-08 16:01:46 +0200 | califax | (~califax@user/califx) |
2022-06-08 16:01:55 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2022-06-08 16:02:18 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-08 16:15:30 +0200 | <Benzi-Junior> | is there a "sleep" function available in base or the STM package, I'm just not finding anything |
2022-06-08 16:16:43 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-06-08 16:16:43 +0200 | Vajb | (~Vajb@n5ar9yynwxqg80e32-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2022-06-08 16:16:44 +0200 | <geekosaur> | Control.Concurrent.threadDelay |
2022-06-08 16:17:14 +0200 | <Benzi-Junior> | ye, that's what I thought |
2022-06-08 16:18:03 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-06-08 16:18:46 +0200 | <geekosaur> | pausing the whole process á la C's sleep() would break the I/O manager, so isn't a thing |
2022-06-08 16:20:25 +0200 | <Benzi-Junior> | geekosaur, interesting, I was just looking to avoid having to import additional libraries to solve the task I've been set |
2022-06-08 16:20:34 +0200 | <geekosaur> | be warned that threadDelay is in microseconds |
2022-06-08 16:20:45 +0200 | <Benzi-Junior> | ye I already discovered that |
2022-06-08 16:21:14 +0200 | <geekosaur> | afaik Control.Concurrent is in base |
2022-06-08 16:21:34 +0200 | <Benzi-Junior> | question, why is Control.Concurrent.threadDelay available in ghci without importing it? |
2022-06-08 16:21:52 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-06-08 16:21:58 +0200 | <Benzi-Junior> | geekosaur, well that's what I thought after discovering ^ and that hoogle said so |
2022-06-08 16:22:02 +0200 | <geekosaur> | ghci is magic, if you use a fully qualified name it implicitly imports it |
2022-06-08 16:22:38 +0200 | <geekosaur> | runghc does the same, but ghc doesn't |
2022-06-08 16:23:30 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-06-08 16:25:31 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 16:26:24 +0200 | <mrianbloom> | tomsmeding: My solution to that problem was to use an injective open type family. https://replit.com/@IanBloom/TestTypeFamilyGADT#Main.hs |
2022-06-08 16:28:59 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 16:31:27 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-06-08 16:31:27 +0200 | califax | (~califax@user/califx) |
2022-06-08 16:33:54 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5) |
2022-06-08 16:39:08 +0200 | GascOwn | (~gasc_own@151.16.46.77) |
2022-06-08 16:43:19 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-06-08 16:43:42 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-06-08 16:47:06 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 16:48:09 +0200 | califax | (~califax@user/califx) |
2022-06-08 16:49:31 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-06-08 16:49:31 +0200 | <sm> | wow, I didn't know that about ghci |
2022-06-08 16:51:53 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds) |
2022-06-08 16:52:34 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8) |
2022-06-08 16:55:06 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-06-08 16:57:26 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-08 16:58:25 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-06-08 17:00:36 +0200 | Alleria | (~textual@user/alleria) (Read error: Connection reset by peer) |
2022-06-08 17:06:50 +0200 | Infinite | (~Infinite@49.39.122.221) (Ping timeout: 252 seconds) |
2022-06-08 17:07:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-06-08 17:07:40 +0200 | ubert | (~Thunderbi@2a02:8109:abc0:6434:a6ac:910b:92e7:63a8) (Remote host closed the connection) |
2022-06-08 17:09:43 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:c365:1120:4914:7262) (Quit: WeeChat 2.8) |
2022-06-08 17:09:47 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds) |
2022-06-08 17:10:33 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
2022-06-08 17:11:09 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 17:15:10 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Ping timeout: 240 seconds) |
2022-06-08 17:16:29 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-1.elisa-laajakaista.fi) |
2022-06-08 17:19:12 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:65fe:5bd2:205c:e7f2) |
2022-06-08 17:19:34 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-06-08 17:21:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 17:21:20 +0200 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
2022-06-08 17:25:26 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Ping timeout: 252 seconds) |
2022-06-08 17:29:54 +0200 | GascOwn | (~gasc_own@151.16.46.77) (Read error: Connection reset by peer) |
2022-06-08 17:33:50 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 17:34:34 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-06-08 17:34:49 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-06-08 17:36:48 +0200 | califax | (~califax@user/califx) |
2022-06-08 17:38:36 +0200 | KCombinator | (~KCombinat@118.179.211.17) |
2022-06-08 17:39:19 +0200 | Infinite | (~Infinite@49.39.115.183) |
2022-06-08 17:39:27 +0200 | <KCombinator> | hello folks |
2022-06-08 17:39:44 +0200 | <KCombinator> | this is an opinion question |
2022-06-08 17:40:07 +0200 | <KCombinator> | I have been learning haskell on/off for a while now and I feel pretty confident in the basics |
2022-06-08 17:40:25 +0200 | <KCombinator> | but then I tried to reinforce that understanding by teaching others |
2022-06-08 17:40:40 +0200 | <KCombinator> | and before that teaching begins, I usually need to sell Haskell |
2022-06-08 17:40:52 +0200 | <KCombinator> | since usually they're like, "I can just use Python bro" |
2022-06-08 17:41:25 +0200 | <tdammers> | some wisdom from my own experience: |
2022-06-08 17:41:28 +0200 | <KCombinator> | which is fine and dandy, but I find that Haskell is in a unique position where the mental framework you need to understand its value is developed while you learn it |
2022-06-08 17:41:33 +0200 | <tdammers> | - you cannot convince someone against their will |
2022-06-08 17:41:41 +0200 | <tdammers> | - meditate on the problem-solution ordering |
2022-06-08 17:42:04 +0200 | <KCombinator> | "- meditate on the problem-solution ordering" |
2022-06-08 17:42:08 +0200 | <c_wraith> | I don't think I'd try any stronger sell than "learning new stuff is fun, and Haskell is great for learning new stuff." |
2022-06-08 17:42:09 +0200 | <KCombinator> | could you elaborate on this? |
2022-06-08 17:42:16 +0200 | <tdammers> | - don't advocate for Haskell on the job until you're way past the beginner stage, because when something doesn't work, you will have to be able to fix it |
2022-06-08 17:42:29 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 17:42:36 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds) |
2022-06-08 17:42:59 +0200 | <maerwald> | I think I've never sold Haskell to someone. Why would you even do that |
2022-06-08 17:43:05 +0200 | <tdammers> | the problem-solution ordering is a teaching concept, about 100 years old or so, and slowly gaining traction in today's education. the core idea is that you should always present the problem before the solution |
2022-06-08 17:44:03 +0200 | <KCombinator> | c_wraith: sadly, not everyone is motivated by fun, hence the need for a down-to-earth pitch that goes like "hey you've got a broken tool; here's a better one" |
2022-06-08 17:44:22 +0200 | <tdammers> | maerwald: for the monies, of course. like the shady guy on Sesame Street: "psst, hey you, wanna buy a haskell?" |
2022-06-08 17:44:36 +0200 | <Rembane> | MONEY! |
2022-06-08 17:44:42 +0200 | <maerwald> | if they don't wanna learn Haskell, I wouldn't teach them |
2022-06-08 17:44:58 +0200 | <tdammers> | anyway, selling people in Blub Valley on a "better" programming language is extremely difficult and usually ends in frustration |
2022-06-08 17:45:49 +0200 | <tdammers> | I've tried it with PHP folks, Python folks, Clojure folks, Java folks, and the result is always the same - someone who doesn't consider their current situation painful enough will simply not see any benefits |
2022-06-08 17:45:57 +0200 | <Rembane> | KCombinator: Out of pure curiosity on my part, why do you want to teach Haskell? |
2022-06-08 17:46:04 +0200 | <KCombinator> | tdammers: ah i see. that makes sense. the question i pose is basically, "what is the problem that haskell solves better than others and how?" |
2022-06-08 17:46:31 +0200 | <KCombinator> | tdammers: i wouldn't mind standing by the dark alleys at night and dealing some ol' haskpills ;) |
2022-06-08 17:46:57 +0200 | <tdammers> | the problem Haskell solves better is "most of programming", but explaining the "how" requires quite a lot of elaboration |
2022-06-08 17:46:57 +0200 | <KCombinator> | Rembane: it's a strategy that's worked for me when I want to make sure I really understand something. I teach it. |
2022-06-08 17:47:23 +0200 | <tdammers> | what Haskell brings to the table doesn't pay off until your project is reasonably large, complex, and has undergone a fair amount of organic growth |
2022-06-08 17:48:09 +0200 | <KCombinator> | tdammers: yep, that's the exact trouble I have because with programming-in-the-small it's easy to point to a neat trick in your lang and go, "look ma! no hands" |
2022-06-08 17:48:20 +0200 | <tdammers> | staying on top of that complexity through compiler-supported certainty is where Haskell shines. Haskell makes it easier to write code that is "obviously bug-free", easy and safe to refactor, easy to read, etc. |
2022-06-08 17:48:28 +0200 | <Rembane> | KCombinator: That's cool. My hypothesis is that there are people out there who want to learn because they like programming languages, if you find any of those people it should be easier to learn Haskell by teaching them. |
2022-06-08 17:48:30 +0200 | <KCombinator> | kind of hard to replicate that wow factor with Haskell since small programs just look like an exercise in sadomasochism |
2022-06-08 17:48:55 +0200 | <Rembane> | I think the area where Haskell shines regardless of size of program is in interpreters and compilers. |
2022-06-08 17:48:59 +0200 | <KCombinator> | Rembane: hmm..point taken |
2022-06-08 17:49:08 +0200 | <geekosaur> | <--one of them |
2022-06-08 17:49:15 +0200 | <tdammers> | indeed. Haskell in the small is not that much greater than most mainstream languages, and coming from an imperative language, you have to make quite a few sacrifices in order to reap the benefits |
2022-06-08 17:49:18 +0200 | <KCombinator> | @geekos |
2022-06-08 17:49:18 +0200 | <lambdabot> | Unknown command, try @list |
2022-06-08 17:49:35 +0200 | <KCombinator> | geekosaur: could you wipe your brain so i can teach you haskell XD |
2022-06-08 17:50:16 +0200 | <tdammers> | and yeah, compilers, interpreters, transformation tools, DSLs - to the extent that a Haskeller's first instinct with any given problem domain is "let's build a little EDSL that captures the problem domain, and then we'll simply write the solution in that" |
2022-06-08 17:50:35 +0200 | <geekosaur> | wouldn't help much, I'm also strongly into self-learning |
2022-06-08 17:50:51 +0200 | <KCombinator> | geekosaur: damn it :/ |
2022-06-08 17:51:35 +0200 | <KCombinator> | tdammers: hmm...while we are on that topic, I think that makes for a pretty strong case for Haskell |
2022-06-08 17:51:42 +0200 | <KCombinator> | the DSLs |
2022-06-08 17:52:18 +0200 | <KCombinator> | the way I see it, all programming APIs are basically DSLs |
2022-06-08 17:52:28 +0200 | <KCombinator> | but Haskell makes writing DSLs fun |
2022-06-08 17:52:33 +0200 | <KCombinator> | as well as using them |
2022-06-08 17:52:40 +0200 | <KCombinator> | okay maybe the last part not so much lol |
2022-06-08 17:52:45 +0200 | <tdammers> | API and DSL are really just two ways of looking at the same thing |
2022-06-08 17:52:53 +0200 | <KCombinator> | I shudder from the type errors I see sometimes :s |
2022-06-08 17:53:00 +0200 | <tdammers> | but the "DSL" lens tends to be more useful as a user programmer |
2022-06-08 17:53:18 +0200 | cosimone` | (~user@93-44-186-171.ip98.fastwebnet.it) |
2022-06-08 17:53:23 +0200 | <KCombinator> | tdammers: right |
2022-06-08 17:53:56 +0200 | <geekosaur> | Haskell encourages thinking through a problem first and designing a proper solution up front, plus enforcing discipline that is useful in other languages (even untyped ones) |
2022-06-08 17:54:10 +0200 | <Rembane> | KCombinator: Have you taken a look at Purescript btw? |
2022-06-08 17:54:12 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Ping timeout: 244 seconds) |
2022-06-08 17:54:31 +0200 | <maerwald> | geekosaur: that's a bit far fetched imo |
2022-06-08 17:55:39 +0200 | <KCombinator> | Rembane: nope, but i have heard of it |
2022-06-08 17:57:48 +0200 | <Rembane> | KCombinator: Purescript is Haskell but for frontend web development and with strict semantics. This means that frontend web development can be done in Purescript and might be a smaller jump. |
2022-06-08 17:58:09 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2022-06-08 17:59:06 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 258 seconds) |
2022-06-08 17:59:17 +0200 | <KCombinator> | Rembane wow i feel like i was living under a rock lol |
2022-06-08 17:59:44 +0200 | <maerwald> | Haskell won't make a better engineer per se. It might (for some) cause them to think more precisely about effects, data etc. |
2022-06-08 18:00:00 +0200 | <tdammers> | geekosaur: IME, Haskell doesn't enforce "upfront design" at all - on the contrary, I find that Haskell makes it much easier to just start typing code and then progressively refining it to approach the correct solution |
2022-06-08 18:00:07 +0200 | yoggurt[m] | (~yoggurtma@2001:470:69fc:105::2:ba5) (Quit: You have been kicked for being idle) |
2022-06-08 18:00:19 +0200 | <KCombinator> | Rembane thanks for that. this is actually a good in for me |
2022-06-08 18:00:20 +0200 | <tdammers> | mainly because refactoring is so ridiculously safe and straightforward |
2022-06-08 18:00:55 +0200 | <Rembane> | KCombinator: There are many good rocks to live under. :) |
2022-06-08 18:00:57 +0200 | <Rembane> | KCombinator: No worries! |
2022-06-08 18:01:00 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-06-08 18:01:05 +0200 | <KCombinator> | tdammers i agree. i always feel overwhelmed when using APIs in say, python |
2022-06-08 18:01:08 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-08 18:01:08 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-08 18:01:08 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-08 18:01:15 +0200 | <KCombinator> | too much stuff to keep in your head |
2022-06-08 18:01:25 +0200 | <KCombinator> | Haskell feels idiot proof |
2022-06-08 18:01:34 +0200 | <maerwald> | python is easy... you just have to remember that your unit tests always have to be 10x the size of your implementation |
2022-06-08 18:01:44 +0200 | <Rembane> | Haskell makes a worse engineer when I'm not coding in Haskell. I'm like: "I'll just change this little thing here, the typeche... the test suite will catch any regressions!" |
2022-06-08 18:01:45 +0200 | <KCombinator> | maerwald lol |
2022-06-08 18:01:53 +0200 | <maerwald> | no... that's what I actually do in python |
2022-06-08 18:01:56 +0200 | <maerwald> | and it works well then |
2022-06-08 18:02:00 +0200 | Vajb | (~Vajb@n5ar9yynwxqg80e32-2.v6.elisa-mobile.fi) |
2022-06-08 18:02:31 +0200 | <KCombinator> | sadly unit tests are pretty rare at my work |
2022-06-08 18:02:57 +0200 | <tdammers> | I have never gotten to the point where unit tests can guide refactorings the way types do in Haskell |
2022-06-08 18:03:39 +0200 | <maerwald> | if you've a shitton of them... they do. It's just... well, a shitton of work |
2022-06-08 18:03:58 +0200 | <KCombinator> | tdammers haha yeah i agree. i feel like unit tests often implement a duct-tape type system |
2022-06-08 18:04:47 +0200 | <maerwald> | but if someone pays you for that nonsense, why not |
2022-06-08 18:04:47 +0200 | <KCombinator> | i subscribe to the ethos of "dont work if the computer can do it" |
2022-06-08 18:05:00 +0200 | <KCombinator> | but well, then you meet reality haha |
2022-06-08 18:05:20 +0200 | econo | (uid147250@user/econo) |
2022-06-08 18:05:47 +0200 | <KCombinator> | i wonder if in the 23rd century our tools will be so advanced that unit tests will look like ancient hieroglyphics level tech |
2022-06-08 18:06:33 +0200 | <maerwald> | I don't think there's anything that can replace unit tests. QuickCheck certainly can't, unless you're abusing it in ways it wasn't meant for |
2022-06-08 18:06:33 +0200 | <KCombinator> | we have only been programming since like the 70s or so right so we're pretty much in a neophyte class discipline |
2022-06-08 18:06:41 +0200 | <geekosaur> | may be there by the 22nd. ask someone born in the early 1900s |
2022-06-08 18:07:10 +0200 | <maerwald> | but hey... unit tests test for expected regressions, so don't expect anything else |
2022-06-08 18:07:51 +0200 | <maerwald> | the times they uncover logic bugs is probably zero |
2022-06-08 18:09:11 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5) |
2022-06-08 18:09:27 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b36d8e1b90c13cd8a15.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-06-08 18:09:42 +0200 | Infinite | (~Infinite@49.39.115.183) (Quit: Client closed) |
2022-06-08 18:11:27 +0200 | Infinite | (~Infinite@49.39.115.183) |
2022-06-08 18:20:11 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 258 seconds) |
2022-06-08 18:34:12 +0200 | razetime | (~quassel@49.207.193.240) |
2022-06-08 18:40:21 +0200 | gdown | (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) |
2022-06-08 18:42:17 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) (Remote host closed the connection) |
2022-06-08 18:42:18 +0200 | Vajb | (~Vajb@n5ar9yynwxqg80e32-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2022-06-08 18:43:00 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) |
2022-06-08 18:43:05 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-06-08 18:44:55 +0200 | wonko- | (~wjc@user/wonko) |
2022-06-08 18:45:19 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-06-08 18:46:00 +0200 | <tdammers> | unit tests do serve a purpose, but out in the wild, I'd wager that 90% of unit tests would be better rewritten as property checks or types |
2022-06-08 18:46:31 +0200 | <tdammers> | biggest problem with unit tests is that, unlike types, the don't automatically propagate |
2022-06-08 18:47:23 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) (Ping timeout: 252 seconds) |
2022-06-08 18:47:47 +0200 | <KCombinator> | tdammers do you think the new hype around gradual typing provides a nice ramp to transition from only-tests to tests-and-types? |
2022-06-08 18:50:10 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2022-06-08 18:50:30 +0200 | <KCombinator> | I'm kind of late to that party. Only started to look into it because I kept seeing it in the pytorch docs (e.g., Union[String, Tensor] in Python for a Haskell Either) |
2022-06-08 18:51:14 +0200 | <KCombinator> | Basically you need to use these annotations and a separate tool (mypy) to enforce types |
2022-06-08 18:51:19 +0200 | <KCombinator> | kind of like typescript I guess |
2022-06-08 18:52:22 +0200 | <KCombinator> | I gotta say though, my understanding of type systems is very rudimentary so the academic research wasn't very easy to get into |
2022-06-08 18:52:44 +0200 | <tdammers> | I thought the 'gradual typing' hype had already died again |
2022-06-08 18:52:55 +0200 | <tdammers> | python is just late to the party |
2022-06-08 18:53:22 +0200 | <tdammers> | but anyway, I think "gradual typing" is kind of misguided and nowhere near as useful as it may seem |
2022-06-08 18:54:01 +0200 | <tdammers> | the big big win with typed code is that you gain certainty - but that only works if *everything* is typed, or at least, if you can have clear enforced boundaries around the untyped stuff |
2022-06-08 18:54:18 +0200 | <tdammers> | but if your starting point is "everything is untyped, and now we add some type annotations", you're unlikely to achieve that |
2022-06-08 18:54:28 +0200 | <tdammers> | in short, type systems should be opt-out, not opt-in |
2022-06-08 18:56:41 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 18:56:56 +0200 | ashln | (~ashln@98.38.236.123) (Ping timeout: 272 seconds) |
2022-06-08 18:57:09 +0200 | ashln | (~ashln@98.38.236.123) |
2022-06-08 18:58:01 +0200 | <sm> | https://www.extrema.is/articles/haskell-books/learn-haskell-blog-generator looks nice |
2022-06-08 19:01:15 +0200 | razetime | (~quassel@49.207.193.240) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-06-08 19:01:35 +0200 | <maerwald> | tdammers: IME, there's only a very small intersection of property tests and unit tests. It's just that people usually understand neither concept |
2022-06-08 19:02:21 +0200 | <maerwald> | yes, you can always shove custom data into your arbitrary instance |
2022-06-08 19:02:43 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) |
2022-06-08 19:02:44 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-035.client.tudelft.eduvpn.nl) (Ping timeout: 258 seconds) |
2022-06-08 19:03:12 +0200 | <maerwald> | but I'd rather not rely on an arbitrary instance to create (for example) very specific filepaths such as: \\?\C:foo/bar |
2022-06-08 19:05:31 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-06-08 19:06:11 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-06-08 19:06:56 +0200 | <maerwald> | and if you have very complex data, it's almost impossible to come up with a good generator that will emit a set with very specific properties |
2022-06-08 19:07:29 +0200 | <Benzi-Junior> | Hey, if I have a "Monad m => m a" and a function "a -> b -> c" what is the appropriate way to use the output from the monad as the first argument for the function ? |
2022-06-08 19:08:24 +0200 | <maerwald> | as in: Test.QuickCheck.elements can be abused as unit tests, yeah |
2022-06-08 19:09:06 +0200 | <maerwald> | but it's a failure, because you have low variance |
2022-06-08 19:10:36 +0200 | <dminuoso> | Is there a way to share some build-depends constraints between two or more cabal files? |
2022-06-08 19:10:59 +0200 | <maerwald> | custom templating |
2022-06-08 19:11:05 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-06-08 19:11:56 +0200 | geekosaur | wonders if 3.8's "import" works with files or only urls |
2022-06-08 19:12:18 +0200 | <dminuoso> | geekosaur: They are not necessarily mutually exclusive |
2022-06-08 19:12:26 +0200 | <dminuoso> | Given file:/// or the likes |
2022-06-08 19:12:33 +0200 | <geekosaur> | true |
2022-06-08 19:12:41 +0200 | <geekosaur> | unless it doesn't handle file: |
2022-06-08 19:13:06 +0200 | <geekosaur> | rc1's out, so it's relatively easy to test |
2022-06-08 19:13:22 +0200 | <maerwald> | dminuoso: that's for project files |
2022-06-08 19:13:25 +0200 | <maerwald> | not cabal files |
2022-06-08 19:13:43 +0200 | <dminuoso> | Ah I see |
2022-06-08 19:14:17 +0200 | werneta | (~werneta@137.79.206.133) |
2022-06-08 19:14:22 +0200 | <maerwald> | that would be a disaster if cabal files would allow imports |
2022-06-08 19:14:29 +0200 | <Rembane> | Benzi-Junior: They aren't really connected, are the a's related in some way? |
2022-06-08 19:15:22 +0200 | <Benzi-Junior> | Rembane, same a |
2022-06-08 19:15:31 +0200 | <geekosaur> | maerwald, it was added specifically to support fetching cabal.freeze files from stackage.org corresponding to various resolvers |
2022-06-08 19:15:38 +0200 | <geekosaur> | so it may have other limitations |
2022-06-08 19:15:44 +0200 | <maerwald> | geekosaur: I know |
2022-06-08 19:16:41 +0200 | <sclv> | geekosaur: it handles both files and urls just fine |
2022-06-08 19:17:03 +0200 | <Benzi-Junior> | I thought it should be >>= but I was wrong |
2022-06-08 19:17:07 +0200 | <maerwald> | I don't see how that relates to your question though |
2022-06-08 19:17:20 +0200 | <sclv> | or rather filesystem urls and http urls |
2022-06-08 19:17:22 +0200 | <Rembane> | :t (>>=) -- Benzi-Junior |
2022-06-08 19:17:24 +0200 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2022-06-08 19:17:30 +0200 | <Rembane> | :t fmap -- Benzi-Junior |
2022-06-08 19:17:32 +0200 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2022-06-08 19:17:41 +0200 | <geekosaur> | Benzi-Junior, the monads have to match so you can't just switch to ((->) e) mid-stream |
2022-06-08 19:18:09 +0200 | <sclv> | but yeah there's absolutely no way to share build-depends constraints between different cabal files. one option would be merging the two cabal files into a single file with more targets, if the different things are that coupled |
2022-06-08 19:18:45 +0200 | <maerwald> | I'd probably use dhall or something to generate the cabal files |
2022-06-08 19:19:06 +0200 | <dminuoso> | I guess that can actually work for us. There's a bunch of executable targets, but we wont publish this on hackage anyway |
2022-06-08 19:19:12 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) (Ping timeout: 260 seconds) |
2022-06-08 19:19:42 +0200 | mbuf | (~Shakthi@122.174.45.107) (Quit: Leaving) |
2022-06-08 19:20:26 +0200 | <dminuoso> | sclv: I guess an added benefit is that a single cabal file tends to behave nicer in HLS as well. |
2022-06-08 19:21:14 +0200 | <dminuoso> | (If one package A depends on another B, and you modify files from package B, at least on my machine HLS doesnt automatically pick up these changes when switching back to A without restarting the lsp workspace) |
2022-06-08 19:24:45 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 19:26:54 +0200 | Infinite | (~Infinite@49.39.115.183) (Ping timeout: 252 seconds) |
2022-06-08 19:27:29 +0200 | califax | (~califax@user/califx) |
2022-06-08 19:29:28 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-08 19:29:34 +0200 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2022-06-08 19:30:06 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 19:30:36 +0200 | califax | (~califax@user/califx) |
2022-06-08 19:33:32 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 19:39:01 +0200 | Simon15 | (~Simon@2001:4ca0:0:f237:ec6d:7c65:e03a:7bef) |
2022-06-08 19:39:04 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.5) |
2022-06-08 19:40:12 +0200 | sebastiandb_ | (~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) |
2022-06-08 19:40:55 +0200 | califax | (~califax@user/califx) |
2022-06-08 19:44:32 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-06-08 19:44:41 +0200 | KCombinator | (~KCombinat@118.179.211.17) (Quit: Client closed) |
2022-06-08 19:45:08 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-06-08 19:46:08 +0200 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
2022-06-08 19:46:34 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-08 19:48:50 +0200 | werneta | (~werneta@137.79.206.133) (Ping timeout: 240 seconds) |
2022-06-08 19:49:01 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) |
2022-06-08 19:52:22 +0200 | Simon15 | (~Simon@2001:4ca0:0:f237:ec6d:7c65:e03a:7bef) (Quit: Client closed) |
2022-06-08 19:53:08 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) (Remote host closed the connection) |
2022-06-08 19:53:21 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) |
2022-06-08 19:53:58 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-06-08 19:54:58 +0200 | <Benzi-Junior> | http://ix.io/3ZHO < at the bottom, is my implementation of the helper function a sensible way to deal with a single agent ? |
2022-06-08 19:57:47 +0200 | <Benzi-Junior> | and does anyone know of a way to do the "Delay" case without importing Control.Concurrent ? |
2022-06-08 19:57:59 +0200 | <dminuoso> | What's wrong with importing Control.Concurrent? |
2022-06-08 19:59:47 +0200 | <dminuoso> | Your atoms function is missing the Pure case, |
2022-06-08 19:59:50 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-06-08 20:00:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-08 20:01:09 +0200 | <dminuoso> | Also you're not using the msg in the Receive case |
2022-06-08 20:06:53 +0200 | ph88 | (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving) |
2022-06-08 20:07:33 +0200 | odnes | (~odnes@5-203-131-121.pat.nym.cosmote.net) |
2022-06-08 20:08:18 +0200 | jrm | (~jrm@user/jrm) (Quit: ciao) |
2022-06-08 20:08:22 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2022-06-08 20:09:14 +0200 | pottsy | (~pottsy@129.227.183.244) (Ping timeout: 265 seconds) |
2022-06-08 20:10:01 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-06-08 20:10:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection) |
2022-06-08 20:10:41 +0200 | <Benzi-Junior> | dminuoso, well so far I hadn't had to add additional libs and was wondering if I was missing something in Control.Concurrent.STM |
2022-06-08 20:11:16 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-08 20:11:17 +0200 | <geekosaur[m]> | It's in base |
2022-06-08 20:11:30 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 240 seconds) |
2022-06-08 20:11:40 +0200 | <dminuoso> | Benzi-Junior: These are not separate libraries, they are just modules. |
2022-06-08 20:15:53 +0200 | werneta | (~werneta@137.78.30.207) |
2022-06-08 20:16:16 +0200 | odnes | (~odnes@5-203-131-121.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-06-08 20:16:33 +0200 | odnes | (~odnes@5-203-131-121.pat.nym.cosmote.net) |
2022-06-08 20:18:34 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
2022-06-08 20:21:42 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-06-08 20:23:12 +0200 | jrm | (~jrm@user/jrm) |
2022-06-08 20:26:13 +0200 | zeenk | (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) (Quit: Konversation terminated!) |
2022-06-08 20:26:18 +0200 | alp | (~alp@user/alp) (Ping timeout: 258 seconds) |
2022-06-08 20:26:53 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-08 20:28:48 +0200 | alp | (~alp@user/alp) |
2022-06-08 20:30:22 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-06-08 20:30:55 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-06-08 20:34:42 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-06-08 20:38:12 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 20:44:19 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-08 20:46:31 +0200 | gehmehgeh_ | (~user@user/gehmehgeh) |
2022-06-08 20:46:45 +0200 | jespada | (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-06-08 20:48:04 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
2022-06-08 20:48:06 +0200 | jespada | (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
2022-06-08 20:49:11 +0200 | odnes | (~odnes@5-203-131-121.pat.nym.cosmote.net) (Quit: Leaving) |
2022-06-08 20:49:15 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
2022-06-08 20:51:20 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:65fe:5bd2:205c:e7f2) (Quit: Client closed) |
2022-06-08 20:55:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection) |
2022-06-08 20:57:55 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
2022-06-08 20:58:08 +0200 | sebastiandb_ | (~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) (Ping timeout: 244 seconds) |
2022-06-08 20:58:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 20:58:26 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-06-08 20:59:05 +0200 | ulvarrefr | (~user@185.24.53.152) |
2022-06-08 21:00:51 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:65fe:5bd2:205c:e7f2) |
2022-06-08 21:02:17 +0200 | <ashln> | What's the (!) function in blaze-html? I believe it's operating over monoids (or semigroups?). |
2022-06-08 21:03:54 +0200 | coot | (~coot@213.134.190.95) |
2022-06-08 21:04:33 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-06-08 21:04:35 +0200 | <geekosaur> | https://hackage.haskell.org/package/blaze-markup-0.8.2.3/docs/Text-Blaze.html#v:-33- |
2022-06-08 21:05:11 +0200 | <ashln> | oh huh, hoogle failed me there - thanks :) |
2022-06-08 21:07:49 +0200 | slack1256 | (~slack1256@186.11.84.227) |
2022-06-08 21:08:20 +0200 | <slack1256> | I recall there was a tool to generate flame-graphs on memory usage per cost-centre, but I cannot remember the name. Anyone can help me out? |
2022-06-08 21:09:14 +0200 | <dminuoso> | ghc-prof-flamegraph ? |
2022-06-08 21:09:55 +0200 | <slack1256> | That probably is! |
2022-06-08 21:09:56 +0200 | chreekat2 | (~b@dys-fmydgp1rbq8l5qb7t-3.rev.dnainternet.fi) (Ping timeout: 248 seconds) |
2022-06-08 21:10:46 +0200 | <slack1256> | There was another, saboteur? it was french named. It was like a frontend to this one. |
2022-06-08 21:12:00 +0200 | <slack1256> | It was profiteur! |
2022-06-08 21:12:01 +0200 | <maerwald> | baguette? |
2022-06-08 21:12:03 +0200 | <maerwald> | oh |
2022-06-08 21:13:43 +0200 | roboguy | (~roboguy@user/roboguy) |
2022-06-08 21:14:50 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:65fe:5bd2:205c:e7f2) (Quit: Client closed) |
2022-06-08 21:15:14 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 21:17:14 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:d683:3d28:fc15:22d4) (Quit: Leaving) |
2022-06-08 21:17:37 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:d683:3d28:fc15:22d4) |
2022-06-08 21:19:18 +0200 | <slack1256> | ghc-prof-flamegraph and profiteur are excelent tools to extend the value we get from .prof files (or their JSON equiv). But that info is only printed at the end of the program. If I want to know the memory usage of my program /while it is running/, I have to rely on manipulating the .hp files as told on here https://downloads.haskell.org/ghc/latest/docs/html/users_guide/profiling.html#manipulating-the-hp-… . Is there a newer alternative to that? may |
2022-06-08 21:19:18 +0200 | <slack1256> | be using the eventlog or some other tool? |
2022-06-08 21:27:12 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-06-08 21:28:43 +0200 | Guest27 | (~Guest27@2601:281:d47f:1590::59a2) |
2022-06-08 21:31:48 +0200 | sebastiandb_ | (~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) |
2022-06-08 21:33:09 +0200 | <geekosaur> | I think you can run the eventlog to a socket and use that, but iirc ghc-eventlog-socket isn't too stable as yet (it's a hack) |
2022-06-08 21:34:16 +0200 | ashln | (~ashln@98.38.236.123) (Quit: Lost terminal) |
2022-06-08 21:34:29 +0200 | slac16641 | (~slack1256@191.125.99.201) |
2022-06-08 21:35:49 +0200 | gehmehgeh_ | gehmehgeh |
2022-06-08 21:36:22 +0200 | slack1256 | (~slack1256@186.11.84.227) (Ping timeout: 244 seconds) |
2022-06-08 21:37:00 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b36d8e1b90c13cd8a15.dip0.t-ipconnect.de) |
2022-06-08 21:39:01 +0200 | <dminuoso> | Where can I find the documentation on the Paths_ api? |
2022-06-08 21:39:46 +0200 | money | (~Gambino@user/polo) |
2022-06-08 21:40:37 +0200 | money | (~Gambino@user/polo) (Client Quit) |
2022-06-08 21:40:46 +0200 | pavonia | (~user@user/siracusa) |
2022-06-08 21:40:57 +0200 | <geekosaur> | https://cabal.readthedocs.io/en/3.6/cabal-package.html#accessing-data-files-from-package-code is the best there is currently, I think |
2022-06-08 21:41:27 +0200 | <dminuoso> | Thanks! How did you even find that? That full text search refused to yield fruitful results with `Paths_`? |
2022-06-08 21:42:08 +0200 | <geekosaur> | I remembered that it wss part of the "Package description" chapter |
2022-06-08 21:44:18 +0200 | <geekosaur> | right. Paths_ doesn't work but Paths_pkgname does |
2022-06-08 21:44:26 +0200 | <geekosaur> | kinda not helpful |
2022-06-08 21:45:06 +0200 | <__monty__> | It's like how GitHub's search wordsplits on _ and makes the code search useless if the search term is common words separated by _'s. |
2022-06-08 21:45:13 +0200 | <dminuoso> | Im sure writing a full text search that is both accurate enough when you want it to be, but fuzzy enough when you dont know what you're looking for, is a very complicated business. |
2022-06-08 21:45:29 +0200 | <dminuoso> | But still frustrating. |
2022-06-08 21:45:48 +0200 | <dminuoso> | __monty__: That's okay, source code is not github's strength. |
2022-06-08 21:46:25 +0200 | <dminuoso> | Im being almost serious even, the product does not revolve around code, but all the coordination ardount i |
2022-06-08 21:48:26 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-06-08 21:48:52 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:65fe:5bd2:205c:e7f2) |
2022-06-08 21:48:58 +0200 | <Guest27> | Also feeding all of it to copilot :P |
2022-06-08 21:51:25 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-06-08 21:53:28 +0200 | Feuermagier_ | (~Feuermagi@84.17.49.18) (Remote host closed the connection) |
2022-06-08 21:54:07 +0200 | ashln | (~ashln@98.38.236.123) |
2022-06-08 21:54:59 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 256 seconds) |
2022-06-08 21:55:38 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-06-08 22:00:52 +0200 | Guest27 | (~Guest27@2601:281:d47f:1590::59a2) (Quit: Client closed) |
2022-06-08 22:02:02 +0200 | Guest27 | (~Guest27@2601:281:d47f:1590::59a2) |
2022-06-08 22:03:02 +0200 | jespada | (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-06-08 22:03:43 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-06-08 22:05:20 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
2022-06-08 22:06:15 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:7c30:ae5d:9b9b:c61d) (Remote host closed the connection) |
2022-06-08 22:07:23 +0200 | ashln | (~ashln@98.38.236.123) (Quit: Lost terminal) |
2022-06-08 22:07:34 +0200 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection) |
2022-06-08 22:08:14 +0200 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
2022-06-08 22:09:52 +0200 | slac16641 | slack1256 |
2022-06-08 22:11:41 +0200 | kjak | (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) |
2022-06-08 22:12:22 +0200 | ashln | (~ashln@98.38.236.123) |
2022-06-08 22:18:25 +0200 | <slack1256> | Is there an eventlog alternative to .hp files? |
2022-06-08 22:18:51 +0200 | <slack1256> | Some tools to generate diagrams from it would be great |
2022-06-08 22:21:37 +0200 | lyle | (~lyle@104.246.145.85) (Quit: WeeChat 3.5) |
2022-06-08 22:22:04 +0200 | dcoutts__ | (~duncan@host86-144-78-203.range86-144.btcentralplus.com) |
2022-06-08 22:23:21 +0200 | <geekosaur> | I think you'll have to ask in #ghc. eventlogs are still evolving and, while my understanding is that they're supposed to replace the other stuff at some point, I don't know how far along they are |
2022-06-08 22:24:24 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5) |
2022-06-08 22:24:25 +0200 | dcoutts_ | (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-06-08 22:24:25 +0200 | dcoutts | (~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-06-08 22:25:14 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-06-08 22:25:29 +0200 | dcoutts | (~duncan@host86-144-78-203.range86-144.btcentralplus.com) |
2022-06-08 22:29:12 +0200 | jespada | (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
2022-06-08 22:30:31 +0200 | jespada | (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Client Quit) |
2022-06-08 22:35:10 +0200 | haskl | (~haskl@user/haskl) (Ping timeout: 240 seconds) |
2022-06-08 22:35:10 +0200 | haskl[error] | (~haskl@user/haskl) |
2022-06-08 22:36:47 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 255 seconds) |
2022-06-08 22:38:53 +0200 | fjmorazan | (~quassel@user/fjmorazan) (Quit: fjmorazan) |
2022-06-08 22:38:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) (Remote host closed the connection) |
2022-06-08 22:39:29 +0200 | fjmorazan | (~quassel@user/fjmorazan) |
2022-06-08 22:41:11 +0200 | zeenk | (~zeenk@2a02:2f04:a013:9000:e45d:7fb3:ec71:e806) |
2022-06-08 22:42:36 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-08 22:43:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5bc:25b:5256:1595) |
2022-06-08 22:45:45 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-08 22:46:09 +0200 | sebastiandb_ | (~sebastian@pool-108-31-128-56.washdc.fios.verizon.net) (Ping timeout: 276 seconds) |
2022-06-08 22:47:34 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-06-08 22:49:07 +0200 | trillp | (~trillp@69.233.98.238) |
2022-06-08 22:50:42 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2022-06-08 22:50:42 +0200 | slack1256 | (~slack1256@191.125.99.201) (Read error: Connection reset by peer) |
2022-06-08 22:51:11 +0200 | slack1256 | (~slack1256@186.11.84.227) |
2022-06-08 22:51:39 +0200 | _73 | (~user@pool-173-76-102-248.bstnma.fios.verizon.net) (Remote host closed the connection) |
2022-06-08 22:57:38 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-06-08 22:59:55 +0200 | califax | (~califax@user/califx) |
2022-06-08 23:08:07 +0200 | agumonkey | (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 240 seconds) |
2022-06-08 23:08:11 +0200 | <Bulby[m]> | I know for a fact that my toy lang will crash if it _makes_ more than `maxBound :: Int` variables. not has at one time, makes. |
2022-06-08 23:08:26 +0200 | <Bulby[m]> | would there be a way to free up unused ids as a resource? |
2022-06-08 23:08:59 +0200 | <geekosaur[m]> | you are now looking at garbage collection and possibly a free list |
2022-06-08 23:09:26 +0200 | <Bulby[m]> | I sort of garbage collect already when exiting blocks and functions, but that doesn't free the ids because of my Counter effect |
2022-06-08 23:09:58 +0200 | <geekosaur[m]> | right, that's where the free list comes in |
2022-06-08 23:10:44 +0200 | <geekosaur[m]> | your `Counter` would become more complex because you'd have to feed ids or ranges back to it and it would allocate from those first before generating a new id |
2022-06-08 23:11:15 +0200 | <Bulby[m]> | that means it couldn't run as an Input anymore... and would require a lot of work on it |
2022-06-08 23:11:21 +0200 | <Bulby[m]> | https://github.com/TheDrawingCoder-Gamer/lox-hs/blob/rewrite/src/Polysemy/Counter.hs |
2022-06-08 23:11:29 +0200 | <tomsmeding> | Bulby[m]: use Natural? |
2022-06-08 23:11:38 +0200 | <Bulby[m]> | the general idea of my Counter effect rn |
2022-06-08 23:11:45 +0200 | <tomsmeding> | https://hackage.haskell.org/package/base-4.16.0.0/docs/Numeric-Natural.html#t:Natural |
2022-06-08 23:11:58 +0200 | <tomsmeding> | all nonnegative integers |
2022-06-08 23:12:44 +0200 | <tomsmeding> | slightly less efficient than Int, but solves all problems |
2022-06-08 23:12:47 +0200 | <Bulby[m]> | that still feels wasteful - wouldn't that mean as time goes on, the size of the id gets bigger and bigger? |
2022-06-08 23:12:57 +0200 | <tomsmeding> | I mean, yes, but suuuuuper slowly |
2022-06-08 23:13:11 +0200 | ashln | (~ashln@98.38.236.123) (Quit: Lost terminal) |
2022-06-08 23:13:20 +0200 | <monochrom> | Is that not better than crashing? |
2022-06-08 23:13:24 +0200 | <tomsmeding> | sure, after 40-odd years you can run out of Int if you allocate like crazy, but you aren't going to run out of twice 64-bits |
2022-06-08 23:13:33 +0200 | <monochrom> | Good, fast, cheap --- pick two. |
2022-06-08 23:13:36 +0200 | <geekosaur[m]> | yes, it'd be wasteful over time but garbage collecting Ints is the only other approach |
2022-06-08 23:13:36 +0200 | <Bulby[m]> | yes 😄 |
2022-06-08 23:13:45 +0200 | <tomsmeding> | > 2 ^ 64 * 40 -- years |
2022-06-08 23:13:46 +0200 | trillp | (~trillp@69.233.98.238) (Leaving) |
2022-06-08 23:13:46 +0200 | <lambdabot> | 737869762948382064640 |
2022-06-08 23:13:55 +0200 | <tomsmeding> | I think humanity doesn't exist anymore at that point |
2022-06-08 23:14:11 +0200 | <tomsmeding> | and after that many years you start having a counter that is _three_ machine words long! |
2022-06-08 23:14:13 +0200 | <Bulby[m]> | 40-odd years with Int? |
2022-06-08 23:14:34 +0200 | matijja | (~matijja@193.77.181.201) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-06-08 23:14:45 +0200 | <tomsmeding> | yesterday I computed that if you generate 1 new ID per CPU clock cycle, on a 5GHz processor, then it takes something like 45 years to overflow Int |
2022-06-08 23:14:50 +0200 | matijja | (~matijja@193.77.181.201) |
2022-06-08 23:14:55 +0200 | <geekosaur[m]> | tomsmeding is suggesting a 128-bit integer |
2022-06-08 23:15:05 +0200 | <geekosaur[m]> | I think |
2022-06-08 23:15:17 +0200 | <Bulby[m]> | ... does a toy program need to be running for 45 years |
2022-06-08 23:15:18 +0200 | <tomsmeding> | > 2 ^ 63 / (5 * 10 ^ 9) / 3600 / 24 / 365 |
2022-06-08 23:15:20 +0200 | <lambdabot> | 58.4942417355072 |
2022-06-08 23:15:25 +0200 | <tomsmeding> | ah, 58 years |
2022-06-08 23:15:33 +0200 | <tomsmeding> | geekosaur[m]: no, I'm suggesting Natural |
2022-06-08 23:15:49 +0200 | <tomsmeding> | and disproving that these IDs will get large that way |
2022-06-08 23:16:08 +0200 | <monochrom> | Let's spread some myth. |
2022-06-08 23:16:09 +0200 | <Bulby[m]> | if it takes that long I think it will be a non issue |
2022-06-08 23:16:13 +0200 | <tomsmeding> | Bulby[m]: even if you want it to run for 58 years, you're not going to allocate one ID per clock cycle |
2022-06-08 23:16:27 +0200 | <monochrom> | Natural is wasteful because each Natural allocates infinite memory. |
2022-06-08 23:16:32 +0200 | matijja | (~matijja@193.77.181.201) (Client Quit) |
2022-06-08 23:16:40 +0200 | <Bulby[m]> | be quiet |
2022-06-08 23:17:19 +0200 | matijja | (~matijja@193.77.181.201) |
2022-06-08 23:17:19 +0200 | <tomsmeding> | just https://downloadmoreram.com/ |
2022-06-08 23:17:33 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-08 23:18:38 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-08 23:18:51 +0200 | <tomsmeding> | monochrom: does Integer then allocate twice infinite memory? |
2022-06-08 23:18:54 +0200 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) |
2022-06-08 23:19:10 +0200 | <Bulby[m]> | 😱 |
2022-06-08 23:19:16 +0200 | <tomsmeding> | we need a Turing machine with a bidirectional tape then! |
2022-06-08 23:19:16 +0200 | <monochrom> | This is where Hilbert's Hotel fits in. |
2022-06-08 23:20:11 +0200 | jespada | (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
2022-06-08 23:20:29 +0200 | <Bulby[m]> | is haskell even capable of running my vardecl stmt in one clock cycle |
2022-06-08 23:20:50 +0200 | <monochrom> | This is where Hugs fits in. |
2022-06-08 23:20:57 +0200 | <Bulby[m]> | WHAT |
2022-06-08 23:20:59 +0200 | <tomsmeding> | Bulby[m]: no |
2022-06-08 23:21:07 +0200 | <DigitalKiwi> | in 58 years they're going to come back and yell at us |
2022-06-08 23:21:08 +0200 | <monochrom> | Hugs runs slower. |
2022-06-08 23:21:20 +0200 | <monochrom> | If you can run Haskell quickly, you can run Haskell slowly! |
2022-06-08 23:21:29 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 258 seconds) |
2022-06-08 23:21:51 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) |
2022-06-08 23:22:09 +0200 | <tomsmeding> | Bulby[m]: https://ircbrowse.tomsmeding.com/day/lchaskell/2022/06/08?id=579269#trid579269 |
2022-06-08 23:22:27 +0200 | <tomsmeding> | not even yesterday, this morning! |
2022-06-08 23:25:11 +0200 | <int-e> | @time tomsmeding |
2022-06-08 23:25:11 +0200 | <lambdabot> | Local time for tomsmeding is Wed, 08 Jun 2022 23:25:11 +0200 |
2022-06-08 23:25:21 +0200 | Guest27 | (~Guest27@2601:281:d47f:1590::59a2) (Quit: Client closed) |
2022-06-08 23:25:35 +0200 | <tomsmeding> | where do you think ircbrowse's timezone comes from lol |
2022-06-08 23:25:40 +0200 | <tomsmeding> | but @time is cool |
2022-06-08 23:26:03 +0200 | <int-e> | though it relies on your client to be truthful... |
2022-06-08 23:26:18 +0200 | <monochrom> | I actually set my client to lie. :) |
2022-06-08 23:26:35 +0200 | <int-e> | tomsmeding: I don't know. I have this server set to UTC and a timezone configured for just this user. |
2022-06-08 23:26:42 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-08 23:27:02 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-06-08 23:27:21 +0200 | <tomsmeding> | int-e: I should probably change ircbrowse to serve logs in a consistent timezone as well. Currently it takes the system timezone of my server, which happens to be my own. :) |
2022-06-08 23:27:31 +0200 | <int-e> | eh. the real thing is, I didn't look closely at the timestamps in ircbrowse |
2022-06-08 23:28:17 +0200 | <geekosaur> | my client lies as well, since I run it in utc so logs etc. are more useful given that others are in different timezones |
2022-06-08 23:33:56 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-1.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-06-08 23:34:29 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
2022-06-08 23:35:17 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b36d8e1b90c13cd8a15.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2022-06-08 23:35:58 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-08 23:39:46 +0200 | roboguy | (~roboguy@user/roboguy) () |
2022-06-08 23:45:53 +0200 | Guest77 | (~Guest77@2600:1700:6438:2810:65fe:5bd2:205c:e7f2) (Quit: Client closed) |
2022-06-08 23:47:02 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-06-08 23:49:12 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 276 seconds) |
2022-06-08 23:50:31 +0200 | <EvanR> | Bulby[m], for your purposes pretending Int is unlimited might be practical. One data point here is sqlite's ROW_IDs. If they ever reach maxInt, then it will try some number of random Ints to try to find one that's not used |
2022-06-08 23:50:39 +0200 | <EvanR> | if that doesn't work "soon" it crashes |
2022-06-08 23:51:25 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-06-08 23:52:04 +0200 | <EvanR> | I find it hard to believe this has ever happened without intentionally skipping most of the Intspace |
2022-06-08 23:54:47 +0200 | <EvanR> | if you think about it, it sounds hard to get that strategy to actually crash. You'd need to have a LOT of IDs in use |
2022-06-08 23:55:31 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) |
2022-06-08 23:55:51 +0200 | <monochrom> | But we are talking about s/in use/was used/ |
2022-06-08 23:56:14 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Read error: Connection reset by peer) |
2022-06-08 23:56:18 +0200 | <geekosaur> | test 1: forcibly set max id, test "random id" |
2022-06-08 23:56:21 +0200 | <EvanR> | Bulby[m] has a garbage collection algorithm to clear the heap of unused objects, which I assume means clearing the key |
2022-06-08 23:56:39 +0200 | <geekosaur> | test 2: write a db with every ID in use (presumably the table contains only a rowid) |
2022-06-08 23:56:42 +0200 | <monochrom> | No, the key is not cleared. |
2022-06-08 23:56:49 +0200 | <EvanR> | why not... |
2022-06-08 23:57:02 +0200 | <monochrom> | I don't know. |
2022-06-08 23:57:03 +0200 | <Bulby[m]> | it doesn't clear the key... the counter counts up oblivious to what is happening in the heap |
2022-06-08 23:57:07 +0200 | BusConscious | (~martin@ip5f5acfd5.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2022-06-08 23:57:14 +0200 | <EvanR> | what bearing does this have on the strategy xD |
2022-06-08 23:57:18 +0200 | <Bulby[m]> | because polysemy effects 🙂 |
2022-06-08 23:57:20 +0200 | <monochrom> | "I respect your decision." |
2022-06-08 23:58:00 +0200 | <EvanR> | anyway, this is similar to storing the runtime timer in a double... how many angels can dance at maxInt |
2022-06-08 23:59:05 +0200 | <Bulby[m]> | https://github.com/TheDrawingCoder-Gamer/lox-hs/blob/rewrite/src/Polysemy/Counter.hs it counts up til maxInt |
2022-06-08 23:59:27 +0200 | <EvanR> | geekosaur do you think it will crash, maybe because of birthday issues |
2022-06-08 23:59:30 +0200 | <Bulby[m]> | iirc [0..] implicitly adds upper bound if it is an instance of Bounded also |
2022-06-08 23:59:57 +0200 | <EvanR> | wat |