Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 16 17 18 19 20 21 22 23 24 25 26 .. 5022
502,152 events total
2020-09-17 09:27:53 <Taneb> I'm not sure the question is well defined: "lazy" is normally defined as there exist some functions such that f _|_ /= _|_. In a total language, there is no _|_ so we can't decide if the language is lazy or not
2020-09-17 09:28:01 someuser123 joins (59b76050@a89-183-96-80.net-htp.de)
2020-09-17 09:28:25 × ph88^ quits (~ph88@ip5f5af726.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2020-09-17 09:29:03 <lortabac> Taneb: you can still talk about the order of evaluation and sharing, can't you?
2020-09-17 09:29:19 eric joins (~eric@2804:431:c7d4:b75:19f7:ea85:5be8:4c8e)
2020-09-17 09:29:37 <someuser123> is there a conventional name for a function `m a -> a` where `m` is a monad?
2020-09-17 09:30:21 <dminuoso> someuser123: Cokleisli Arrow
2020-09-17 09:30:27 <dminuoso> fsvo of "conventional"
2020-09-17 09:30:28 <merijn> someuser123: "nonexistent" :)
2020-09-17 09:32:00 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
2020-09-17 09:33:26 <dminuoso> Oh wait, heh. Well that only works if m was a comonad. :)
2020-09-17 09:34:02 v0d1ch joins (~v0d1ch@cable-178-148-120-241.dynamic.sbb.rs)
2020-09-17 09:34:16 <maerwald> quiz question: what does `LimitTo` in persistent do if you pass 0?
2020-09-17 09:34:17 <dminuoso> someuser123: Do you mean `m` as some *particular* monad, or just any monad?
2020-09-17 09:35:21 cpressey joins (~cpressey@79-72-201-114.dynamic.dsl.as9105.com)
2020-09-17 09:35:41 × eric quits (~eric@2804:431:c7d4:b75:19f7:ea85:5be8:4c8e) (Ping timeout: 272 seconds)
2020-09-17 09:35:43 <someuser123> I'm thinking of a monad like Maybe that is used to capture computation which can fail
2020-09-17 09:36:23 <edwardk> lortabac: laziness in a total language is the differents between 'terminates' and 'terminates in my lifetime'
2020-09-17 09:36:54 <kuribas> someuser123: Maybe has fromJust which you shouldn't use
2020-09-17 09:37:17 <kuribas> someuser123: use fromMaybe instead
2020-09-17 09:37:27 <someuser123> kuribas: why not?
2020-09-17 09:37:45 <merijn> someuser123: Because it's bad and broken and you will regret it :p
2020-09-17 09:37:47 <kuribas> someuser123: because it will crash on Nothing
2020-09-17 09:37:49 <maerwald> someuser123: it's fine to use in local context or where you don't mind something to crash
2020-09-17 09:38:20 <merijn> maerwald: What local context is it fine in?
2020-09-17 09:38:34 <maerwald> merijn: where you have local proof that it's never Nothing
2020-09-17 09:38:37 <kuribas> it's never fine to crash without meaningful error message
2020-09-17 09:38:40 <kuribas> or stack trace
2020-09-17 09:38:52 <lortabac> edwardk: can you expand? I'm not sure I understand
2020-09-17 09:39:08 <merijn> maerwald: I don't see many case where you have both such a proof and still can't skip the maybe
2020-09-17 09:39:43 <edwardk> termination checking in a fancy total language might take until the sun explodes. its pretty easy to build tings that theoretically terminate, but won't terminate in my lifetime.
2020-09-17 09:40:15 <edwardk> laziness lets you skip some of the evaluation of parts, so while sure those parts will terminate eventually, it might be nice to not do that work at all
2020-09-17 09:40:27 <maerwald> merijn: I'm not sure I follow.
2020-09-17 09:41:45 <merijn> maerwald: I can't really think of any case where I have a proof that it's not Nothing where I can't simple skip going through Maybe (and thus fromJust)
2020-09-17 09:41:47 <maerwald> if you have a regex building function that might return Nothing, but there is no user input and you've verified it compiles at runtime, there's no point going through hoops just to satisfy the totality illusion
2020-09-17 09:42:14 <merijn> maerwald: Then you want
2020-09-17 09:42:20 <merijn> @hackage validated-literals ;)
2020-09-17 09:42:20 <lambdabot> https://hackage.haskell.org/package/validated-literals ;)
2020-09-17 09:42:27 <maerwald> I'm aware of that, this was an example
2020-09-17 09:42:31 <lortabac> edwardk: ok I see, thanks
2020-09-17 09:43:04 <edwardk> as an example, when writing a dependent type checker itself, i wind up having to eval terms to normal form. but those terms often carry around things like unerased type info. _eval_ doesn't care, but maybe they might appear in the final normal form
2020-09-17 09:43:22 <edwardk> but i should lazily skip past crunching those things down in case i don't need to compute those answers
2020-09-17 09:43:49 <edwardk> sure it'd terminate but it'd bloat the memory footprint of the proof process and significantly slow it down
2020-09-17 09:43:58 <kuribas> maerwald: if you have many regexes, change one of those then you don't know which one blew up.
2020-09-17 09:44:30 <maerwald> then don't use it
2020-09-17 09:44:44 <kuribas> maerwald: and if you know which one blew, it doesn't say what's wrong with it.
2020-09-17 09:44:51 Franciman joins (~Franciman@acqua.team)
2020-09-17 09:45:16 rapskalian joins (~user@2601:804:8400:5750:6d07:cb01:64a9:36bb)
2020-09-17 09:46:27 <Unhammer> Upgraded from 8.6.5 to 8.8.4, project compile time went from 3m to 2m30s, compile after changing single (TH) file from 30s to 24s :-) and the windows binary size went from 53MB to 43MB. That's pretty nice :-)
2020-09-17 09:47:15 <merijn> Unhammer: You can probably drastically shrink further
2020-09-17 09:47:26 <merijn> Unhammer: Enable split-sections
2020-09-17 09:47:34 <maerwald> does windows support split-sections?
2020-09-17 09:47:40 <Unhammer> on windows?
2020-09-17 09:47:45 × Lycurgus quits (~niemand@98.4.96.130) (Quit: Exeunt)
2020-09-17 09:47:45 <merijn> hmm, not sure?
2020-09-17 09:47:50 <merijn> Only one way to find out :p
2020-09-17 09:47:55 × da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:37d7:55fb:4d37:ffc2:715b) (Ping timeout: 240 seconds)
2020-09-17 09:48:02 <merijn> Unhammer: Also, don't forget to strip
2020-09-17 09:48:16 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
2020-09-17 09:48:26 <Unhammer> I think stack does that for me
2020-09-17 09:48:28 <Unhammer> on stack install
2020-09-17 09:48:56 <Unhammer> yeah, the one in "dist" is 64M, and the one in "install" doesn't get smaller when stripping
2020-09-17 09:49:04 <merijn> hmmm
2020-09-17 09:49:55 × rapskalian quits (~user@2601:804:8400:5750:6d07:cb01:64a9:36bb) (Ping timeout: 244 seconds)
2020-09-17 09:50:28 hackage Z-Data 0.1.1.0 - array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.1.0 (winterland)
2020-09-17 09:50:46 <Unhammer> oh I need to rebuild all deps to try split-sections … guess I'll wait, need to do some actual work instead of faffing around with compiler versions =P
2020-09-17 09:51:24 <merijn> Unhammer: Yeah, you do
2020-09-17 09:51:35 <merijn> Unhammer: It makes *massive* difference, though
2020-09-17 09:52:07 <merijn> Unhammer: Like, 10x on my executables
2020-09-17 09:52:54 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
2020-09-17 09:54:17 <kuribas> merijn: why doesn't it do this by default?
2020-09-17 09:54:41 × alp_ quits (~alp@2a01:e0a:58b:4920:90ae:a5d:9349:f8d8) (Ping timeout: 272 seconds)
2020-09-17 09:55:24 <merijn> kuribas: Because it's fairly new, doesn't work on all platforms, etc.
2020-09-17 09:55:28 <Unhammer> https://gitlab.haskell.org/ghc/ghc/-/issues/11445
2020-09-17 09:55:48 <merijn> hmm, older than I thought :p
2020-09-17 09:56:15 <Unhammer> does it work to put it in global stack.yaml ?
2020-09-17 09:56:36 <phadej> merijn: IIRC it was broken / not working somewhere somewhat
2020-09-17 09:57:03 <merijn> It doesn't work on macOS
2020-09-17 09:57:11 <maerwald> merijn: you don't need it there
2020-09-17 09:57:23 <merijn> maerwald: I know, but GHC error exited when you specified it
2020-09-17 09:57:29 <maerwald> yep
2020-09-17 09:57:32 <merijn> (now fixed after I whined about it)
2020-09-17 09:57:45 <merijn> Now it's just a warning on macOS
2020-09-17 09:58:42 <phadej> a problem is that GHC doesn't tell whether it's supported
2020-09-17 09:58:53 <phadej> there is ("Object splitting supported","YES") entry, which is about -split-objs
2020-09-17 09:58:57 <phadej> but not for -split-sections
2020-09-17 09:59:46 <phadej> GHC is not very uniform in how it exposes features
2020-09-17 10:00:04 <phadej> (to allow auto-configuration, vs. hardcoding stuff about particular compiler versions into Cabal)
2020-09-17 10:01:22 <phadej> an example
2020-09-17 10:01:24 <phadej> it tells
2020-09-17 10:01:24 <phadej> ,("unlit command","/opt/ghc/8.10.1/lib/ghc-8.10.1/bin/unlit")
2020-09-17 10:01:30 <phadej> but doesn't tell e.g. `ghc-pkg command`
2020-09-17 10:01:37 <phadej> so Cabal have to use heuristics to find one
2020-09-17 10:01:59 <phadej> (where I have no idea what's use case to knowing where is unlit command :P)
2020-09-17 10:02:19 <merijn> phadej: Sounds like we need a ticket about all missing things there and add them to GHC
2020-09-17 10:03:03 <phadej> merijn: one needs a pedantic person looking after that
2020-09-17 10:03:12 × yahb quits (xsbot@haskell/bot/yahb) (Ping timeout: 256 seconds)
2020-09-17 10:03:23 yahb joins (xsbot@178.219.36.155)
2020-09-17 10:03:23 × yahb quits (xsbot@178.219.36.155) (Changing host)
2020-09-17 10:03:23 yahb joins (xsbot@haskell/bot/yahb)
←Prev  Next→
Page 1 .. 16 17 18 19 20 21 22 23 24 25 26 .. 5022

All times are in UTC.