Logs on 2023-03-11 (liberachat/#haskell)
| 00:05:00 | → | MacSlow joins (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de) |
| 00:05:07 | <MacSlow> | Greetings everybody! |
| 00:07:02 | <geekosaur> | hello |
| 00:09:23 | <MacSlow> | Is there a Haskell-equivalent to C/C++'s modf()? I want to split a Float into its integral and fractional part without loosing the Float type. |
| 00:10:19 | <MacSlow> | x - (floor x) does not do the trick, since floor implicitly converts the Float to Integral. |
| 00:10:28 | <geekosaur> | https://downloads.haskell.org/ghc/9.2.5/docs/html/libraries/base-4.16.4.0/Data-Fixed.html#v:mod-39- (which, bizarrely, is in Data.Fixed) |
| 00:11:26 | <MacSlow> | Data.Fixed ... hm ok... looking thx |
| 00:12:32 | <geekosaur> | (they needed to generalize it to work with Fixed types, so they went the whole way and made it work with any Real type) |
| 00:16:24 | × | Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: ZZZzzz…) |
| 00:16:56 | <c_wraith> | Just for fun, I went and wrote a module that allows working interactively with monads other than IO in ghci. This feels familiar. Does it already exist somewhere on hackage? |
| 00:17:16 | <MacSlow> | geekosaur: hm... modf 'splits' the input into two floats... this mod from Data.Fixed does only deal with Integral types |
| 00:17:37 | <geekosaur> | @instances Real |
| 00:17:39 | <lambdabot> | Double, Float, Int, Integer, Word |
| 00:17:42 | <MacSlow> | geekosaur: it seems more to be like C/C++'s % |
| 00:18:22 | <geekosaur> | looks to me like it takes any Real instance (see list of instances above, from base) |
| 00:18:40 | <geekosaur> | @instances-importing Data.Fixed Real |
| 00:18:41 | <lambdabot> | Double, Fixed a, Float, Int, Integer, Word |
| 00:19:13 | <geekosaur> | @let import Data.Fixed |
| 00:19:14 | <lambdabot> | Defined. |
| 00:19:18 | <geekosaur> | :t mod' |
| 00:19:19 | <lambdabot> | Real a => a -> a -> a |
| 00:19:27 | <geekosaur> | note that the prime is part of the name |
| 00:20:03 | <c_wraith> | > 3.6 `mod'` 1.2 |
| 00:20:05 | <lambdabot> | 4.440892098500626e-16 |
| 00:20:17 | <c_wraith> | sure, that looks floating-point correct |
| 00:20:32 | <c_wraith> | > 3.6 `mod'` 1.5 |
| 00:20:34 | <lambdabot> | 0.6000000000000001 |
| 00:20:51 | <MacSlow> | geekosaur: geee ... :) minimal notation... *sigh* mathematicians ;) |
| 00:21:29 | <MacSlow> | I need a blunt modf... ' I easily overread :) |
| 00:21:38 | <MacSlow> | thx working now with mod' |
| 00:24:29 | → | Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) |
| 00:24:58 | <MacSlow> | mod' myFloat $ fromIntegral $ floor myFloat |
| 00:25:25 | <MacSlow> | that works... but looks unusual verbose... is that the most compact form for this? |
| 00:25:26 | × | Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Client Quit) |
| 00:25:30 | → | freeside joins (~mengwong@103.252.202.85) |
| 00:25:52 | <MacSlow> | I mean I can live with that... just wondering. |
| 00:27:30 | <[Leary]> | :t snd . properFraction |
| 00:27:31 | <lambdabot> | RealFrac c => c -> c |
| 00:27:49 | <[Leary]> | I don't think you need `mod'` here. |
| 00:27:55 | → | Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) |
| 00:28:57 | × | Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Client Quit) |
| 00:29:42 | <MacSlow> | oh... interesting... snd $ properFraction myFloat works |
| 00:30:01 | <MacSlow> | the . (function composition?!) give me an error |
| 00:30:12 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds) |
| 00:30:31 | → | zmt01 joins (~zmt00@user/zmt00) |
| 00:30:44 | <MacSlow> | ah... sorted it out... have to define this as a function |
| 00:31:46 | <[Leary]> | If you've written `f . g x`, that means `f . (g x)`. You want `(f . g) x` or `f . g $ x`. |
| 00:32:44 | <MacSlow> | yeah... I do not yet instinctively think in these ways |
| 00:33:14 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
| 00:33:34 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
| 00:33:46 | <[Leary]> | It's just precedence rules; function application binds tighter than any operator. |
| 00:33:48 | <MacSlow> | space has the highest binding priority, right |
| 00:33:54 | → | Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) |
| 00:33:55 | <MacSlow> | yea |
| 00:34:36 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds) |
| 00:34:56 | × | Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Client Quit) |
| 00:35:30 | → | Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) |
| 00:40:43 | × | gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 00:40:43 | × | gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 00:41:54 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 00:45:15 | × | Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: ZZZzzz…) |
| 00:47:57 | → | Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) |
| 00:59:54 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 01:00:19 | → | mauke_ joins (~mauke@user/mauke) |
| 01:02:09 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 255 seconds) |
| 01:02:10 | mauke_ | is now known as mauke |
| 01:05:53 | × | Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: bb) |
| 01:11:08 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:16:00 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
| 01:16:28 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 01:16:28 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 01:16:28 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:17:17 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:28 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:22:24 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 01:27:31 | × | vglfr quits (~vglfr@209.198.138.7) (Ping timeout: 276 seconds) |
| 01:32:11 | × | Lumia quits (~Lumia@user/Lumia) (Ping timeout: 255 seconds) |
| 01:34:28 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:34:46 | → | califax joins (~califax@user/califx) |
| 01:36:23 | <MacSlow> | bbl |
| 01:36:25 | × | MacSlow quits (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de) (Quit: leaving) |
| 01:41:51 | → | vglfr joins (~vglfr@209.198.138.7) |
| 01:48:43 | → | freeside joins (~mengwong@103.252.202.85) |
| 01:53:31 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 01:55:18 | → | slack1256 joins (~slack1256@186.11.17.85) |
| 02:00:31 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 02:02:17 | → | razetime joins (~Thunderbi@117.193.5.173) |
| 02:08:02 | → | freeside joins (~mengwong@103.252.202.85) |
| 02:12:39 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 02:13:01 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 02:15:54 | × | razetime quits (~Thunderbi@117.193.5.173) (Quit: See You Space Cowboy) |
| 02:25:15 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds) |
| 02:26:19 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 02:26:45 | <tusko> | u wont |
| 02:39:38 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 02:39:48 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
| 02:45:05 | → | Lumia joins (~Lumia@user/Lumia) |
| 02:48:44 | → | freeside joins (~mengwong@103.252.202.85) |
| 02:50:23 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 02:53:17 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 02:53:58 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 02:57:49 | ← | roconnor parts (~quassel@coq/roconnor) () |
| 02:59:11 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 02:59:11 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 02:59:11 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:02:09 | → | freeside joins (~mengwong@103.252.202.85) |
| 03:02:32 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:02:32 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:02:32 | finn_elija | is now known as FinnElija |
| 03:06:48 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds) |
| 03:15:20 | → | gastus_ joins (~gastus@5.83.191.21) |
| 03:15:23 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
| 03:16:59 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:17:23 | → | talismanick joins (~talismani@2601:200:c000:f7a0::5321) |
| 03:18:30 | × | gastus quits (~gastus@5.83.191.20) (Ping timeout: 255 seconds) |
| 03:18:59 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 03:19:14 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 03:25:16 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 03:26:39 | × | td_ quits (~td@i53870929.versanet.de) (Ping timeout: 268 seconds) |
| 03:27:58 | → | td_ joins (~td@i53870936.versanet.de) |
| 03:31:51 | × | _xor quits (~xor@74.215.46.17) (Quit: bbiab) |
| 03:35:09 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds) |
| 03:35:20 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 03:35:33 | → | xff0x joins (~xff0x@178.255.149.135) |
| 03:38:17 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 03:41:38 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat) |
| 03:41:54 | × | xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 255 seconds) |
| 03:42:43 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:4e8c::) |
| 03:43:46 | → | xff0x joins (~xff0x@2405:6580:b080:900:7d0a:21b:da04:25b8) |
| 03:51:25 | → | cassiopea joins (~cassiopea@user/cassiopea) |
| 03:51:57 | × | johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 03:51:57 | × | jwiegley quits (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 03:52:42 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 04:00:34 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 04:00:34 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 04:00:34 | finn_elija | is now known as FinnElija |
| 04:00:34 | × | bramhaag quits (~bramhaag@134.195.121.39) (Read error: Connection reset by peer) |
| 04:00:49 | → | bramhaag joins (~bramhaag@134.195.121.39) |
| 04:01:15 | × | xff0x quits (~xff0x@2405:6580:b080:900:7d0a:21b:da04:25b8) (Ping timeout: 248 seconds) |
| 04:01:39 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 04:12:46 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 04:20:06 | → | freeside joins (~mengwong@103.252.202.85) |
| 04:21:43 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 276 seconds) |
| 04:23:39 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 04:23:57 | × | irrgit__ quits (~irrgit@176.113.74.138) (Remote host closed the connection) |
| 04:24:39 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds) |
| 04:27:32 | → | irrgit__ joins (~irrgit@89.47.234.74) |
| 04:27:44 | × | polyphem_ quits (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Ping timeout: 248 seconds) |
| 04:38:00 | × | Lumia quits (~Lumia@user/Lumia) (Ping timeout: 260 seconds) |
| 04:44:04 | → | freeside joins (~mengwong@103.252.202.85) |
| 04:46:01 | → | Lumia joins (~Lumia@user/Lumia) |
| 04:51:37 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 05:18:03 | × | thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 248 seconds) |
| 05:22:24 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 05:30:12 | × | Lumia quits (~Lumia@user/Lumia) (Quit: ,-) |
| 05:37:21 | <Inst__> | is there any research |
| 05:37:35 | Inst__ | is now known as Inst |
| 05:37:40 | <Inst> | on streaming types with more than one nope? |
| 05:37:53 | <Inst> | node? |
| 05:37:58 | <Inst> | i.e, infinite binary tree? |
| 05:38:36 | <dsal> | I don't think I understand what you mean. What would an streaming infinite binary tree look like? |
| 05:39:08 | <davean> | ah I have no idea what you mean |
| 05:39:08 | <Inst> | data LineStream a = LineStream a (LineStream a) (LineStream a) |
| 05:39:26 | <davean> | what is LineStream? |
| 05:39:26 | <Inst> | not node, but more than one connection |
| 05:39:44 | <Inst> | result of mild fever and playing around with multi-dimensional arrays |
| 05:39:45 | <davean> | it looks like a tree, I se nothing streaming about it |
| 05:39:57 | <Inst> | i guess it needs some functors etc for that |
| 05:40:18 | <dsal> | The functor is obvious, but how you'd traverse it as an infinite stream isn't. |
| 05:40:22 | <Inst> | the definition of stream i'm working on is from https://hackage.haskell.org/package/Stream-0.4.7.2/docs/src/Data.Stream.html#Stream |
| 05:40:42 | <dsal> | Yeah, that's what I'd expect. There's a thing, and then there's more stuff. |
| 05:41:52 | <Inst> | yeah, i'm aware, but say, an infinite or cyclic tree of arity greater than 1 isn't really interesting, is it? |
| 05:43:05 | <dsal> | To consume the tree, you'd basically have to flatten it one way or another. Just walking down one path forever is flattening it. |
| 05:44:35 | <Inst> | i guess i need to learn how to do useful things with just plain cyclic data structures to begin with |
| 05:45:28 | <Inst> | the consumer, as opposed to a linear stream, at least gets to choose which path to go through, in the case of a cyclic data structure |
| 05:46:17 | <Inst> | if you payload IO a you might get an abstraction of control flow |
| 05:47:00 | <davean> | I mean yes, there is choice |
| 05:48:45 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 05:50:24 | <Inst> | i guess it's not very fun or interesting |
| 05:54:44 | <Inst> | it's probably just a graph |
| 05:54:57 | <Inst> | data RoseStream a = RoseStream a [RoseStream a] |
| 05:55:33 | <EvanR> | to stream an infinite binary tree all you have to do is split into two universes at each step |
| 05:55:53 | <EvanR> | with infinite resources it would work |
| 05:56:30 | <Inst> | could do it concurrently |
| 05:56:38 | <Inst> | trade time for space |
| 05:56:41 | <EvanR> | yeah |
| 05:56:53 | <Inst> | not sure, is this at all interesting? Or is this a boring investigation? |
| 05:58:10 | <dsal> | Your design above would split at every step forever. |
| 06:00:05 | <dsal> | Other way around, though, how and when would you use this? That can help you figure out what might be interesting. |
| 06:00:18 | <Inst> | one way i'm thinking about it might be to model state |
| 06:00:27 | <Inst> | or is the term a state machine? |
| 06:00:51 | <Inst> | you build a cyclic data structure, and a function that can use both data within the cyclic data structure and data it holds through other means |
| 06:00:53 | <Inst> | to choose which way to go |
| 06:01:49 | <Inst> | since it's cyclic, you can easily constrain the number of possible distinct states |
| 06:02:59 | × | raym quits (~ray@user/raym) (Quit: kernel update, rebooting...) |
| 06:03:12 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 06:03:31 | <Inst> | the only positive i have about it is that while you guys don't find it that interesting, you haven't posted a paper yet where someone else is discussing it |
| 06:05:18 | → | vernorvintage joins (~maxsu@wsip-24-120-138-106.lv.lv.cox.net) |
| 06:06:17 | <dsal> | A stream that expands infinitely in multiple dimensions may not have a lot of practical uses. |
| 06:07:11 | <Inst> | it's just a cyclic graph, i guess |
| 06:13:52 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 248 seconds) |
| 06:23:55 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 06:38:03 | → | trev joins (~trev@user/trev) |
| 06:39:35 | × | manwithluck quits (~manwithlu@hoeven.dossingday.ml) (Quit: ZNC - https://znc.in) |
| 06:39:50 | → | manwithluck joins (manwithluc@hoeven.dossingday.ml) |
| 06:40:29 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 06:54:15 | → | cheater_ joins (~Username@user/cheater) |
| 06:54:49 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:56:05 | → | cheater__ joins (~Username@user/cheater) |
| 06:57:33 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 06:57:40 | cheater__ | is now known as cheater |
| 06:58:13 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 06:59:27 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 07:00:08 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:44:06 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 07:44:09 | → | Axma26687 joins (~Axman6@user/axman6) |
| 07:44:30 | Bocaneri | is now known as Guest3094 |
| 07:45:36 | × | Sauvin quits (~sauvin@user/Sauvin) (Read error: Connection reset by peer) |
| 07:45:48 | → | theproffesor joins (~theproffe@user/theproffesor) |
| 07:46:03 | × | Axman6 quits (~Axman6@user/axman6) (Ping timeout: 240 seconds) |
| 07:51:36 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 07:52:26 | × | slack1256 quits (~slack1256@186.11.17.85) (Ping timeout: 268 seconds) |
| 07:53:43 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 08:00:02 | × | rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:01:43 | → | gurkenglas joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) |
| 08:01:45 | → | gurkengl1s joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) |
| 08:02:13 | → | rembo10 joins (~rembo10@main.remulis.com) |
| 08:06:00 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:08:33 | → | NiceBird joins (~NiceBird@185.133.111.196) |
| 08:13:01 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:15:03 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 08:19:36 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:20:05 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 08:20:24 | → | califax joins (~califax@user/califx) |
| 08:23:55 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:24:11 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 08:26:48 | → | img joins (~img@user/img) |
| 08:27:44 | → | Midjak joins (~Midjak@82.66.147.146) |
| 08:33:02 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 08:33:24 | → | califax joins (~califax@user/califx) |
| 08:50:46 | → | acidjnk_new joins (~acidjnk@p200300d6e715c48418cb99816a46cc8f.dip0.t-ipconnect.de) |
| 08:56:03 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:57:22 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 09:00:11 | × | ajf___[m] quits (~ajfmatrix@2001:470:69fc:105::2:5be3) (Quit: You have been kicked for being idle) |
| 09:02:39 | → | biberu joins (~biberu@user/biberu) |
| 09:06:22 | × | mei quits (~mei@user/mei) (Quit: mei) |
| 09:07:06 | → | sus0 joins (zero@user/zeromomentum) |
| 09:17:19 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 09:20:35 | → | mei joins (~mei@user/mei) |
| 09:24:38 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:31:26 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 09:31:49 | → | jrm joins (~jrm@user/jrm) |
| 09:39:16 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:43:28 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 09:45:11 | × | Axma26687 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 09:51:43 | → | Axman6 joins (~Axman6@user/axman6) |
| 09:59:28 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 09:59:40 | → | razetime joins (~Thunderbi@117.193.6.165) |
| 10:01:28 | <razetime> | i'd like some help from people familiar with the haskell language server. I want to know the areas in the server which check for unused functions. |
| 10:23:42 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 10:26:14 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:38:22 | × | razetime quits (~Thunderbi@117.193.6.165) (Remote host closed the connection) |
| 10:39:11 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 10:41:23 | → | freeside joins (~mengwong@122.11.212.91) |
| 10:44:31 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:605c:57fb:61f1:1248) |
| 10:44:38 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 10:47:34 | → | Guest7045 joins (~Guest70@176.221.171.242) |
| 10:47:46 | ← | Guest7045 parts (~Guest70@176.221.171.242) () |
| 10:49:00 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:605c:57fb:61f1:1248) (Ping timeout: 260 seconds) |
| 10:50:23 | <Unicorn_Princess> | psa: stick a (setq lsp-haskell-plugin-ghcide-completions-config-auto-extend-on nil) somewhere in your init.el or equivalent to keep the haskell lsp from adding imports when you tab-complete something that's missing an import |
| 10:51:17 | <Unicorn_Princess> | i don't know what psychopath thinks silent non-local changes are acceptable, but i had to stop the c++ lsp from adding #imports on its own too, so here we are |
| 10:51:41 | <Unicorn_Princess> | *acceptable as default-enabled |
| 10:54:01 | <c_wraith> | Well this is sad. I had to replace a traverse_ over a maybe with an explicit case to get rid of a space leak. |
| 10:54:29 | <c_wraith> | ... in ghci. It's probable compiling would have done the same job, but I don't want to rely on the compiler... |
| 10:57:57 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds) |
| 10:59:56 | → | xff0x joins (~xff0x@178.255.149.135) |
| 11:01:17 | × | freeside quits (~mengwong@122.11.212.91) (Read error: Connection reset by peer) |
| 11:04:09 | → | mechap joins (~mechap@user/mechap) |
| 11:11:04 | → | mastarija joins (~mastarija@188.252.199.128) |
| 11:25:05 | <DigitalKiwi> | why use haskell if you don't want to rely on the compiler |
| 11:25:22 | <c_wraith> | I specifically don't want to rely on the compiler to make my memory use correct. |
| 11:25:35 | <c_wraith> | That's how you write code that springs "surprise" space use problems. |
| 11:26:04 | <c_wraith> | The code was always wrong, but the compiler papered over it for you until you overwhelmed it. |
| 11:29:35 | <DigitalKiwi> | i for one want an unreliable interpreter |
| 11:29:49 | <DigitalKiwi> | cpython <3 |
| 11:32:46 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:36:39 | <Unicorn_Princess> | c and python.. even separately, they are abominations |
| 11:36:58 | <Unicorn_Princess> | i shudder to think what their union birthed |
| 11:37:06 | × | xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 255 seconds) |
| 11:38:48 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 11:40:30 | → | chomwitt joins (~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1) |
| 11:41:31 | × | acidjnk_new quits (~acidjnk@p200300d6e715c48418cb99816a46cc8f.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 11:41:44 | × | mastarija quits (~mastarija@188.252.199.128) (Quit: WeeChat 3.7.1) |
| 11:42:00 | <DigitalKiwi> | pypy |
| 11:45:43 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 11:45:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) |
| 11:47:39 | → | mechap joins (~mechap@user/mechap) |
| 11:47:46 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 11:50:02 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) (Ping timeout: 255 seconds) |
| 11:51:33 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 11:53:03 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 11:53:59 | → | Joao003 joins (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd) |
| 11:55:59 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 11:59:06 | × | gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 11:59:19 | × | gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 12:10:17 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 12:15:28 | → | mastarija joins (~mastarija@188.252.199.128) |
| 12:17:44 | → | gurkenglas joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) |
| 12:18:09 | → | cheater_ joins (~Username@user/cheater) |
| 12:20:27 | × | cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 12:20:35 | cheater_ | is now known as cheater |
| 12:22:46 | → | gurkengl1s joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) |
| 12:22:51 | → | freeside joins (~mengwong@122.11.214.10) |
| 12:23:02 | × | mastarija quits (~mastarija@188.252.199.128) (Quit: WeeChat 3.7.1) |
| 12:26:28 | <ph88> | did anyone here try this package ? https://github.com/NorfairKing/sydtest |
| 12:27:39 | × | tubogram44 quits (~tubogram@user/tubogram) (Quit: See ya later!) |
| 12:28:15 | × | freeside quits (~mengwong@122.11.214.10) (Read error: Connection reset by peer) |
| 12:29:31 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 12:30:46 | → | tubogram44 joins (~tubogram@user/tubogram) |
| 12:33:41 | → | cheater_ joins (~Username@user/cheater) |
| 12:33:47 | <Hecate> | never |
| 12:34:51 | → | qy joins (~ix@213.205.241.172) |
| 12:35:40 | × | qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer) |
| 12:37:04 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 12:37:07 | cheater_ | is now known as cheater |
| 12:37:57 | × | Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 12:38:14 | → | Axman6 joins (~Axman6@user/axman6) |
| 12:38:18 | × | gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 12:38:58 | × | gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 12:40:16 | → | gurkenglas joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) |
| 12:40:17 | → | gurkengl1s joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) |
| 12:41:05 | → | qy joins (~ix@213.205.241.172) |
| 12:43:23 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:e507:6b15:fde6:a01) |
| 12:44:18 | × | tubogram44 quits (~tubogram@user/tubogram) (Quit: See ya later!) |
| 12:46:07 | × | qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer) |
| 12:46:39 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 12:52:17 | → | qy joins (~ix@213.205.241.172) |
| 12:57:24 | × | qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer) |
| 12:58:18 | × | gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 12:58:18 | × | gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 12:58:45 | → | tubogram44 joins (~tubogram@user/tubogram) |
| 12:59:44 | → | gurkenglas joins (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) |
| 12:59:48 | → | gurkengl1s joins (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) |
| 13:03:43 | → | qy joins (~ix@213.205.241.172) |
| 13:05:47 | × | qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer) |
| 13:08:22 | <DigitalKiwi> | it has all of the features to exist (ever) except one Optional standard output and standard error suppression [2]! https://github.com/NorfairKing/sydtest#features--comparison-to-similar-projects |
| 13:09:43 | <DigitalKiwi> | turns out nobody can figure out how to do that |
| 13:11:10 | <mauke> | >/dev/null 2>&1 |
| 13:12:10 | → | qy joins (~ix@213.205.241.172) |
| 13:12:10 | <DigitalKiwi> | i should start making a list of every positive quality about me and then judging everyone only by whether or not they have that quality too |
| 13:14:04 | <DigitalKiwi> | i'll soon conclude that digitalkiwi > everyone. nobody else will ever match up to me! |
| 13:15:32 | <DigitalKiwi> | https://mostlyabsurd.com/about/#robert-djubek heheh |
| 13:26:25 | × | qy quits (~ix@213.205.241.172) (Ping timeout: 276 seconds) |
| 13:29:59 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) |
| 13:30:03 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Client Quit) |
| 13:30:33 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) |
| 13:34:34 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 13:44:43 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Ping timeout: 252 seconds) |
| 13:46:10 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) |
| 13:51:02 | × | vglfr quits (~vglfr@209.198.138.7) (Read error: Connection reset by peer) |
| 13:52:31 | → | vglfr joins (~vglfr@209.198.138.7) |
| 13:52:31 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Ping timeout: 248 seconds) |
| 13:57:58 | × | NiceBird quits (~NiceBird@185.133.111.196) (Quit: Leaving) |
| 14:06:05 | → | polyphem_ joins (~rod@2a02:810d:840:8754:3ca7:d087:3205:3c69) |
| 14:07:32 | → | __monty__ joins (~toonn@user/toonn) |
| 14:08:18 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 14:14:49 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 14:16:37 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 268 seconds) |
| 14:39:42 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 14:43:18 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:45:37 | × | vglfr quits (~vglfr@209.198.138.7) (Read error: Connection reset by peer) |
| 14:46:16 | → | vglfr joins (~vglfr@209.198.138.7) |
| 14:51:14 | → | acidjnk_new joins (~acidjnk@p200300d6e715c4844872eb3a15c09e4f.dip0.t-ipconnect.de) |
| 14:52:47 | → | euandreh1 joins (~Thunderbi@189.6.18.7) |
| 14:53:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:54:51 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 268 seconds) |
| 14:54:52 | euandreh1 | is now known as euandreh |
| 14:55:30 | × | ddellacosta quits (~ddellacos@146.70.165.157) (Quit: WeeChat 3.8) |
| 14:56:43 | → | ddellacosta joins (~ddellacos@146.70.165.157) |
| 14:57:08 | × | Joao003 quits (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd) (Quit: Leaving) |
| 15:00:25 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 15:00:25 | × | bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection) |
| 15:00:38 | → | bramhaag joins (~bramhaag@134.195.121.39) |
| 15:01:30 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 15:02:55 | → | msavoritias joins (cb716af6b3@irc.cheogram.com) |
| 15:03:50 | → | mechap joins (~mechap@user/mechap) |
| 15:06:22 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 15:08:55 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit) |
| 15:09:22 | <ph88> | does someone know of a tool to automatically remove unused imports ? |
| 15:09:48 | <Axman6> | hls |
| 15:09:50 | <geekosaur> | no independent tool but hls marks and there's a code action to remove them |
| 15:10:12 | <geekosaur> | that is, I don't know of such a tool. someone probably has one somewhere |
| 15:13:50 | <ph88> | cool i'll check hls |
| 15:15:12 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 15:15:36 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 15:19:23 | <hammond> | im interested in coding something in haskell |
| 15:19:31 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 276 seconds) |
| 15:19:53 | <hammond> | whats a workspace for it. |
| 15:19:59 | <hammond> | im not good at vim |
| 15:20:14 | <ph88> | hammond, what do you mean workspace ? |
| 15:20:23 | <hammond> | like an ide |
| 15:20:35 | <ph88> | hammond, i use ubuntu, stack and vscode and it works well |
| 15:20:51 | <hammond> | well |
| 15:21:06 | <hammond> | sad to say, but im on windowze for now. |
| 15:21:20 | <ph88> | then use windows, stack and vscode which also works well |
| 15:21:35 | <hammond> | oh lemmi look into it |
| 15:21:47 | <sm> | https://www.haskell.org/get-started |
| 15:22:14 | <ph88> | you can also use windows subsystem for linux WSL2, which i think is better than using a virtual machine |
| 15:22:35 | <ph88> | https://docs.haskellstack.org/en/stable/install_and_upgrade/ |
| 15:22:59 | <ph88> | in vscode you should be able to go to marketplace and search for haskell language server (i don't use it myself but i guess it's good) |
| 15:23:08 | → | joes joins (~joes@hardfought/member/joes) |
| 15:23:31 | <hammond> | i know this is not the chan for it, but i was thinking i could have one server for the code, like on a ssh, and have the ide of diff computers login into that and code from anywhere |
| 15:25:00 | <sm> | there are tools like that from microsoft, github, gitpod.. |
| 15:25:12 | <hammond> | https://code.visualstudio.com/docs/remote/remote-overview |
| 15:25:17 | <hammond> | yeah |
| 15:25:59 | <ph88> | hammond, there are such solutions like https://github.com/coder/code-server but i don't recommend it because then you have no offline support while you are travelling. I think it's better to have a git server to keep your code up to date and then share through that from different machines |
| 15:26:23 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 15:26:51 | → | maroloccio joins (~marolocci@90.167.243.161) |
| 15:26:54 | sm | uses both |
| 15:27:28 | <ph88> | only when your machine is extremely weak or low battery i guess you could do the compiling somewhere else .. but tbh buy a better machine then |
| 15:28:20 | → | Nosrep joins (~Nosrep@user/nosrep) |
| 15:28:20 | <hammond> | well sometimes i code with dbs, and do tests, it's annoying setting that up on diff computers. |
| 15:28:27 | <sm> | in fairness compiling haskell is slow and costly on most machines |
| 15:28:27 | <hammond> | idk |
| 15:28:55 | <ph88> | dbs databases ? |
| 15:29:00 | <hammond> | yes |
| 15:29:06 | <sm> | Remote Develop extension works briliiantly, can recommend |
| 15:29:12 | <hammond> | the database is not remote. |
| 15:29:32 | <hammond> | ok |
| 15:29:59 | <ph88> | hammond, perhaps also look into putting DB into a docker container for testing and development |
| 15:30:36 | <sm> | ..but I haven't used Remote Develop for haskell work, don't know how HLS works with it |
| 15:33:46 | <hammond> | thx guize |
| 15:34:59 | gehmehgeh | is now known as gmg |
| 15:35:32 | → | freeside joins (~mengwong@103.252.202.85) |
| 15:48:43 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) |
| 15:49:39 | → | trev joins (~trev@user/trev) |
| 15:49:41 | × | maroloccio quits (~marolocci@90.167.243.161) (Quit: WeeChat 3.7.1) |
| 15:50:55 | × | gurkengl1s quits (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 15:50:56 | × | gurkenglas quits (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 15:51:34 | × | vernorvintage quits (~maxsu@wsip-24-120-138-106.lv.lv.cox.net) (Read error: Connection reset by peer) |
| 15:52:43 | → | gurkenglas joins (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) |
| 15:53:01 | → | gurkengl1s joins (~gurkengla@89.15.236.16) |
| 15:53:30 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) (Ping timeout: 260 seconds) |
| 15:59:05 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 16:00:30 | × | bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection) |
| 16:00:42 | → | bramhaag joins (~bramhaag@134.195.121.39) |
| 16:01:43 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 16:04:20 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:05:04 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:05:31 | × | polyphem_ quits (~rod@2a02:810d:840:8754:3ca7:d087:3205:3c69) (Ping timeout: 252 seconds) |
| 16:06:35 | → | polyphem_ joins (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) |
| 16:08:40 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 16:09:35 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:10:44 | <Nosrep> | can i get profiling to be more fine grained or ignore something |
| 16:10:59 | → | trev joins (~trev@user/trev) |
| 16:11:14 | <Nosrep> | i'm trying to profile something that gets overshadowed by another function that is required but i don't really care about so the thing i actually do care about has 0.0 on everything |
| 16:12:23 | <sm> | yes you can annotate specific functions and profile only those but... why do you care about a 0.0 thing |
| 16:14:02 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 16:16:32 | → | cheater joins (~Username@user/cheater) |
| 16:18:22 | <Nosrep> | the big thing only runs once |
| 16:18:29 | <Nosrep> | (in normal execution of the program) |
| 16:18:50 | <Nosrep> | and im trying to profile one function call thats actually used a ton normally but i only run it one time here so its pretty fast |
| 16:19:16 | → | cheater_ joins (~Username@user/cheater) |
| 16:19:29 | <Nosrep> | i tried to use -fno-prof-auto (stack adds -fprof-auto automatically i think) but the big thing still shows up i think because the little thing depends on the big thing |
| 16:19:49 | <Nosrep> | maybe i run the little thing in a loop to get the numbers up? |
| 16:20:38 | → | cheater__ joins (~Username@user/cheater) |
| 16:22:42 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 16:22:44 | cheater__ | is now known as cheater |
| 16:23:59 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 16:27:28 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 16:27:47 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 16:28:25 | <ph88> | Nosrep, i would say either go for the scenario where it is actually "used a ton" instead of once. Or maybe better you can create the inputs of the function and then factor that out in a test or a benchmark and profile that |
| 16:28:57 | <ph88> | https://bpa.st/S6CKU i'm trying to test code with sandwich can anyone help me with these type errors ? |
| 16:30:51 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 16:33:39 | × | Nosrep quits (~Nosrep@user/nosrep) (Ping timeout: 255 seconds) |
| 16:34:40 | → | Nosrep joins (~Nosrep@user/nosrep) |
| 16:39:30 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 16:47:33 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 16:53:33 | → | gentauro joins (~gentauro@user/gentauro) |
| 16:56:30 | → | mastarija joins (~mastarija@188.252.199.128) |
| 16:59:35 | <mastarija> | Is there a good beginner friendly explanation of `IndexedTraversal`? I'm trying to understand how to implement one for my custom tree-like structure. |
| 16:59:51 | × | hugo quits (znc@verdigris.lysator.liu.se) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:00:07 | <mastarija> | From what I understand, `IndexedTraversal` allows me to have access to index of each data contained in my structure while traversing. |
| 17:00:53 | <mastarija> | Something like `fmap (\ (ix, d) -> ...) $ zip [1..] myData` |
| 17:01:22 | → | Joao003 joins (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd) |
| 17:01:23 | <mastarija> | Ok, maybe not the `fmap` but you get my point |
| 17:02:33 | <mastarija> | And if I undertand this correctly, I can use `IndexedTraversal` to implement `Traversal` and `Ixed` class, right? |
| 17:02:53 | <mastarija> | Because it's more powerful in a way. |
| 17:07:21 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 17:10:44 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer) |
| 17:11:09 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 17:21:25 | <c_wraith> | mastarija: I'd just implement all the classes by hand. And while implementing Traversal in terms of IndexedTraversal seems mostly fine, implemented Ixed in terms of IndexedTraversal seems like a huge performance issue |
| 17:22:34 | <c_wraith> | the latter implies Ixed would walk the entire data structure to find the one thing it cares about. Most of the time having an index available should allow you to navigate more directly to your target element |
| 17:22:40 | <mastarija> | c_wraith: yes, I was just talking from the more theoretical point to check if I understood `IndexedTraversal` properly. |
| 17:23:39 | <mastarija> | c_wraith: do you maybe know of an article explaining the `IndexedTraversal`? I'm not really sure how to implement it because I don't quite understand its underlying type. |
| 17:24:45 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:24:49 | <c_wraith> | oh. Implement TraversableWithIndex and let itraversed do the hard work. |
| 17:25:56 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer) |
| 17:26:24 | <mastarija> | Hm... problem is, I have this structure, and I want to have an interface for traversing several different things inside of it. |
| 17:26:38 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 17:26:39 | <mastarija> | It's not as clean as a `Map` |
| 17:27:16 | <mastarija> | It's kind of like a collection of points / directed graph. So I want to be able to travere each point individually, and also each edge between the points. |
| 17:28:59 | <c_wraith> | well. If you really want to look at an IndexedTraversal directly, the underlying type is the same as a Traversal, except the function argument is abstracted a bit such that it supports providing an index or not. |
| 17:29:00 | <mastarija> | I guess I could use `newtype` and then hide that with some aux functions... |
| 17:29:10 | <c_wraith> | But yes, that's also a workable solution |
| 17:29:49 | <c_wraith> | You could also look at the definition of itraversed: https://hackage.haskell.org/package/lens-5.2.1/docs/src/Control.Lens.Indexed.html#itraversed |
| 17:29:49 | <mastarija> | Ok, tbh. I haven't even figured out `Traversal`, i've went directly from lenses to `IndexedTraversal` xD |
| 17:30:04 | <c_wraith> | oh, then that doesn't help. :P |
| 17:30:19 | <mastarija> | :) |
| 17:30:20 | <c_wraith> | Uh. Traversal is not directly part of lens. |
| 17:30:34 | <mastarija> | Yes, I've noticed that |
| 17:30:53 | <c_wraith> | Or rather, the lens library is based on a generalization of the ideas of Traversable. |
| 17:31:15 | <mastarija> | More like, I haven't figured out how all of that works together with the lens ecosystem |
| 17:31:25 | <c_wraith> | Ed Kmett once described the paper talking that introduced Traversable as "the old testament of lens" |
| 17:31:35 | <mastarija> | xD |
| 17:32:07 | <mastarija> | I mean, the type matches that of the lenses, and I can combine then easily, so yeah... |
| 17:32:20 | <mastarija> | It was cool when I've noticed it. |
| 17:32:41 | → | slack1256 joins (~slack1256@186.11.17.85) |
| 17:33:13 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 17:33:48 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:33:51 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 17:34:01 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 17:34:37 | <c_wraith> | It look like if you want to write an IndexedTraversal by hand, the easiest way to do it is to write a normal Traversal and then one specialized to work with indices, then use conjoined to combine them so that instance resolution picks the correct one when needed. |
| 17:34:38 | → | NiceBird joins (~NiceBird@185.133.111.196) |
| 17:35:24 | <c_wraith> | Uh, not instance resolution. Type inference in general. |
| 17:36:05 | <c_wraith> | :t conjoined |
| 17:36:06 | <lambdabot> | Conjoined p => ((p ~ (->)) => q (a -> b) r) -> q (p a b) r -> q (p a b) r |
| 17:36:26 | <c_wraith> | that's a very funny type, don't worry about it. :) |
| 17:37:39 | <c_wraith> | as I understand it, the Conjoined class is not theoretically important. rather, it's all the implementation details stuffed together into one big unhappy class. |
| 17:37:58 | × | slack1256 quits (~slack1256@186.11.17.85) (Ping timeout: 276 seconds) |
| 17:41:56 | → | econo joins (uid147250@user/econo) |
| 17:43:46 | <mastarija> | huh... |
| 17:45:16 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:52:22 | → | pareto-optimal-d joins (~pareto-op@2001:470:69fc:105::1:b61f) |
| 17:55:11 | Guest3094 | is now known as Sauvin |
| 18:00:50 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 18:00:50 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 18:00:50 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:04:49 | <tomsmeding> | that is one big set of superclasses |
| 18:06:23 | <c_wraith> | all that's really important about Conjoined is that (->) and (Indexed i) are instances, and they're basically going to be the only two instances ever. |
| 18:11:56 | → | cheater_ joins (~Username@user/cheater) |
| 18:12:01 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 18:12:19 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 18:13:32 | → | cheater__ joins (~Username@user/cheater) |
| 18:14:29 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) |
| 18:14:32 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 18:14:38 | cheater__ | is now known as cheater |
| 18:15:21 | <c_wraith> | Anyone know if there's an existing package on hackage for working with monads other than IO interactively in ghci? |
| 18:16:37 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 18:17:03 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 18:19:27 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 18:20:25 | <geekosaur> | do you need a package? I thought it worked with any MonadIO |
| 18:20:43 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 18:21:06 | <c_wraith> | Oh. Other way around. Like to work with a StateT s IO environment interactively |
| 18:21:40 | <c_wraith> | Or at least, that's the test case I've been using. More practically, things like amazonka |
| 18:22:53 | <c_wraith> | But the important part is that you can run one action at a time and preserve the environment for the next action you might decide to run |
| 18:23:13 | → | cheater joins (~Username@user/cheater) |
| 18:24:10 | × | talismanick quits (~talismani@2601:200:c000:f7a0::5321) (Remote host closed the connection) |
| 18:25:02 | → | talismanick joins (~talismani@2601:200:c000:f7a0::5321) |
| 18:26:26 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 18:26:43 | → | cheater_ joins (~Username@user/cheater) |
| 18:26:47 | × | Joao003 quits (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd) (Read error: Connection reset by peer) |
| 18:28:24 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 18:28:30 | cheater_ | is now known as cheater |
| 18:29:09 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 18:29:11 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:34:26 | → | cheater_ joins (~Username@user/cheater) |
| 18:35:40 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:36:03 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 18:36:35 | → | cheater joins (~Username@user/cheater) |
| 18:37:07 | × | joes quits (~joes@hardfought/member/joes) (Ping timeout: 276 seconds) |
| 18:39:28 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 18:40:32 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 18:43:11 | × | cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 18:44:04 | → | cheater joins (~Username@user/cheater) |
| 18:50:07 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
| 18:51:43 | <Jade[m]1> | Is there a haskell WASM compiler? |
| 18:53:52 | <geekosaur> | there's a release candidate for one |
| 18:54:01 | <geekosaur> | and it'[s still considered a tech preview |
| 18:54:39 | <Jade[m]1> | cool, thanks |
| 18:54:50 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 18:56:28 | <geekosaur> | doesn't look like they have any downloads for one with the wasm backend; you'd have to build ghc from source |
| 18:59:59 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:02:12 | → | qy joins (~ix@213.205.241.172) |
| 19:06:15 | → | cheater_ joins (~Username@user/cheater) |
| 19:08:36 | → | ac joins (~aloiscoch@2001:470:69fc:105::65) |
| 19:09:32 | × | cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 19:09:33 | cheater_ | is now known as cheater |
| 19:14:19 | × | qy quits (~ix@213.205.241.172) (Ping timeout: 248 seconds) |
| 19:17:09 | → | qy joins (~ix@213.205.241.172) |
| 19:21:58 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
| 19:22:11 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 19:22:11 | × | qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer) |
| 19:24:34 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 276 seconds) |
| 19:25:19 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 19:26:30 | <tomsmeding> | c_wraith: if your M is MonadIO, spin up a thread (forkIO) that accepts 'M a' values on a Chan, runs them in the monad, and sends back the 'a' results over a second Chan; then write 'r :: M a -> IO a' that uses the Chans to get a result, then prefix your input with r$ |
| 19:26:52 | <c_wraith> | tomsmeding: it's a lot more complicated than that, which I know because I've done it. |
| 19:27:00 | <tomsmeding> | I haven't :p |
| 19:27:12 | <c_wraith> | The question is whether I'm duplicating effort or not |
| 19:27:25 | <tomsmeding> | in two words, what's more complicated? |
| 19:27:41 | <c_wraith> | exceptions; garbagecollection |
| 19:27:52 | <tomsmeding> | I see |
| 19:28:22 | → | qy joins (~ix@213.205.241.172) |
| 19:29:53 | → | sadmax joins (~user@64.130.91.66) |
| 19:32:35 | <c_wraith> | It was a bizarre amount of work to figure out how to stop the background thread when the function sending stuff to it goes out of scope. |
| 19:34:32 | <c_wraith> | err. becomes unreachable. that's more precise and actually more relevant |
| 19:42:42 | → | caryhartline joins (~caryhartl@072-180-197-087.res.spectrum.com) |
| 19:44:03 | → | son0p joins (~ff@181.136.122.143) |
| 19:51:23 | × | sadmax quits (~user@64.130.91.66) (Remote host closed the connection) |
| 19:53:30 | → | sadmax joins (~user@64.130.91.66) |
| 20:07:09 | → | ikervagyok[m] joins (~ikervagyo@2001:470:69fc:105::2:f119) |
| 20:12:06 | <carter> | finalizers are fun |
| 20:12:10 | <carter> | weak references party! |
| 20:19:18 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 20:21:14 | → | wroathe joins (~wroathe@50.205.197.50) |
| 20:21:14 | × | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 20:21:14 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:26:06 | → | wroathe_ joins (~wroathe@50.205.197.50) |
| 20:27:07 | × | wroathe_ quits (~wroathe@50.205.197.50) (Client Quit) |
| 20:27:35 | <c_wraith> | carter: I'm not actually touching the weak reference. It isn't necessary to keep around. The big issue is that finalizers can run prematurely if attached to regular data types, and that's really bad in this case. |
| 20:27:46 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:27:57 | <carter> | ohhcause worker wrapper stuff? |
| 20:28:01 | <c_wraith> | yep |
| 20:28:29 | <c_wraith> | So I need to insert a reference type in there pecifically to hook the finalizer to. It's weird, but I did check that it works! |
| 20:28:35 | <c_wraith> | *specifically |
| 20:31:25 | <carter> | theres other ways like "touch" or the "with" combinator |
| 20:31:28 | <carter> | but yeah |
| 20:35:59 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) |
| 20:36:38 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:37:41 | → | trev joins (~trev@user/trev) |
| 20:41:01 | <c_wraith> | I suppose there's a good chance touch# would do what I need, but I worry that it appears completely undocumented. |
| 20:41:08 | → | mniip_ joins (mniip@libera/staff/mniip) |
| 20:41:19 | → | ub joins (~Thunderbi@p200300ecdf0c576826ee66118dae3d0d.dip0.t-ipconnect.de) |
| 20:41:23 | × | trev quits (~trev@user/trev) (*.net *.split) |
| 20:41:23 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) (*.net *.split) |
| 20:41:23 | × | cheater quits (~Username@user/cheater) (*.net *.split) |
| 20:41:23 | × | vglfr quits (~vglfr@209.198.138.7) (*.net *.split) |
| 20:41:23 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (*.net *.split) |
| 20:41:23 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:e507:6b15:fde6:a01) (*.net *.split) |
| 20:41:23 | × | img quits (~img@user/img) (*.net *.split) |
| 20:41:23 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split) |
| 20:41:23 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (*.net *.split) |
| 20:41:23 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (*.net *.split) |
| 20:41:23 | × | Inst quits (~Inst@2601:6c4:4081:54f0:7095:1969:fc0c:ba25) (*.net *.split) |
| 20:41:23 | × | lottaquestions quits (~nick@2607:fa49:503e:7100:dbe0:8110:91f3:4f25) (*.net *.split) |
| 20:41:23 | × | farn__ quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
| 20:41:23 | × | stilgart_ quits (~Christoph@chezlefab.net) (*.net *.split) |
| 20:41:23 | × | lieven quits (~mal@ns2.wyrd.be) (*.net *.split) |
| 20:41:23 | × | juri_ quits (~juri@84-19-175-179.pool.ovpn.com) (*.net *.split) |
| 20:41:23 | × | finsternis quits (~X@23.226.237.192) (*.net *.split) |
| 20:41:23 | × | TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split) |
| 20:41:23 | × | xelxebar quits (~xelxebar@wilsonb.com) (*.net *.split) |
| 20:41:23 | × | ggranberry quits (sid267884@id-267884.uxbridge.irccloud.com) (*.net *.split) |
| 20:41:23 | × | yaroot quits (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (*.net *.split) |
| 20:41:24 | × | mixfix41 quits (~sdenynine@user/mixfix41) (*.net *.split) |
| 20:41:24 | × | ubert quits (~Thunderbi@p548c84ba.dip0.t-ipconnect.de) (*.net *.split) |
| 20:41:24 | × | dminuoso quits (~dminuoso@user/dminuoso) (*.net *.split) |
| 20:41:24 | × | micro quits (~micro@user/micro) (*.net *.split) |
| 20:41:24 | × | auri quits (~auri@fsf/member/auri) (*.net *.split) |
| 20:41:24 | × | Guest975 quits (~m-mzmz6l@vmi833741.contaboserver.net) (*.net *.split) |
| 20:41:24 | × | nek0 quits (~nek0@2a01:4f8:222:2b41::12) (*.net *.split) |
| 20:41:24 | × | Luj quits (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (*.net *.split) |
| 20:41:24 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (*.net *.split) |
| 20:41:24 | × | stefan-_ quits (~cri@42dots.de) (*.net *.split) |
| 20:41:24 | × | mniip quits (mniip@libera/staff/mniip) (*.net *.split) |
| 20:41:24 | × | Zemyla quits (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (*.net *.split) |
| 20:41:24 | × | gawen quits (~gawen@user/gawen) (*.net *.split) |
| 20:41:24 | × | bjobjo quits (~bjobjo@user/bjobjo) (*.net *.split) |
| 20:41:24 | × | voidzero quits (~voidzero@user/voidzero) (*.net *.split) |
| 20:41:24 | × | shinjipf quits (~shinjipf@2a01:4f8:1c1c:c1be::1) (*.net *.split) |
| 20:41:24 | × | lisq quits (~quassel@lis.moe) (*.net *.split) |
| 20:41:24 | × | nshepperd2 quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (*.net *.split) |
| 20:41:24 | × | Unhammer quits (~Unhammer@user/unhammer) (*.net *.split) |
| 20:41:24 | × | Typedfern quits (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (*.net *.split) |
| 20:41:24 | × | chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (*.net *.split) |
| 20:41:24 | × | anderson quits (~ande@user/anderson) (*.net *.split) |
| 20:41:24 | × | [Ristovski] quits (~Ristovski@hellomouse/perf/ristovski) (*.net *.split) |
| 20:41:24 | × | bollu quits (~bollu@159.65.151.13) (*.net *.split) |
| 20:41:24 | × | mjacob quits (~mjacob@adrastea.uberspace.de) (*.net *.split) |
| 20:41:24 | × | ddb quits (~ddb@tilde.club) (*.net *.split) |
| 20:41:24 | × | JoelMcCracken quits (5ea8252fbb@2604:bf00:561:2000::10e3) (*.net *.split) |
| 20:41:24 | × | Teacup quits (~teacup@user/teacup) (*.net *.split) |
| 20:41:24 | × | cln quits (cln@wtf.cx) (*.net *.split) |
| 20:41:24 | × | pierrot quits (~pi@user/pierrot) (*.net *.split) |
| 20:41:24 | × | kawen quits (~quassel@static.208.191.216.95.clients.your-server.de) (*.net *.split) |
| 20:41:24 | × | bwe quits (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split) |
| 20:41:24 | × | darkling quits (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (*.net *.split) |
| 20:41:24 | × | absence quits (torgeihe@hildring.pvv.ntnu.no) (*.net *.split) |
| 20:41:24 | × | madnight quits (~madnight@static.59.103.201.195.clients.your-server.de) (*.net *.split) |
| 20:41:24 | × | Aleksejs quits (~Aleksejs@107.170.21.106) (*.net *.split) |
| 20:41:24 | × | davean quits (~davean@davean.sciesnet.net) (*.net *.split) |
| 20:41:24 | × | _________ quits (~nobody@user/noodly) (*.net *.split) |
| 20:41:24 | × | sm2n quits (ae95cb1267@user/sm2n) (*.net *.split) |
| 20:41:24 | × | welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
| 20:41:24 | × | n1essa quits (3d621153a5@2604:bf00:561:2000::df7) (*.net *.split) |
| 20:41:25 | × | ymherklotz quits (cb2c9cfbdd@2604:bf00:561:2000::29a) (*.net *.split) |
| 20:41:25 | × | fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (*.net *.split) |
| 20:41:25 | × | henrytill quits (e0180937c3@2604:bf00:561:2000::e8c) (*.net *.split) |
| 20:41:25 | × | jkoshy quits (99b9359beb@user/jkoshy) (*.net *.split) |
| 20:41:25 | × | probie quits (cc0b34050a@user/probie) (*.net *.split) |
| 20:41:25 | × | MonsoonSecrecy quits (f78c86e960@2604:bf00:561:2000::f99) (*.net *.split) |
| 20:41:25 | × | arcadewise quits (52968ed80d@2604:bf00:561:2000::3df) (*.net *.split) |
| 20:41:25 | × | shreyasminocha quits (51fdc93eda@user/shreyasminocha) (*.net *.split) |
| 20:41:25 | × | jakzale quits (6291399afa@user/jakzale) (*.net *.split) |
| 20:41:25 | × | ggb quits (a62ffbaf4f@2604:bf00:561:2000::3ac) (*.net *.split) |
| 20:41:25 | × | lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (*.net *.split) |
| 20:41:25 | × | whereiseveryone quits (206ba86c98@2604:bf00:561:2000::2e4) (*.net *.split) |
| 20:41:25 | × | filwisher quits (2e6936c793@2604:bf00:561:2000::170) (*.net *.split) |
| 20:41:25 | ub | is now known as ubert |
| 20:41:33 | → | lisq joins (~quassel@lis.moe) |
| 20:41:35 | → | TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667) |
| 20:41:35 | → | darkling joins (~darkling@savella.carfax.org.uk) |
| 20:41:37 | → | juri_ joins (~juri@84-19-175-179.pool.ovpn.com) |
| 20:41:39 | → | nek0 joins (~nek0@2a01:4f8:222:2b41::12) |
| 20:41:41 | → | voidzero joins (~voidzero@backspace.undo.it) |
| 20:41:41 | × | voidzero quits (~voidzero@backspace.undo.it) (Changing host) |
| 20:41:41 | → | voidzero joins (~voidzero@user/voidzero) |
| 20:41:42 | → | stilgart joins (~Christoph@chezlefab.net) |
| 20:41:43 | → | bjobjo joins (~bjobjo@user/bjobjo) |
| 20:41:43 | → | shinjipf joins (~shinjipf@2a01:4f8:1c1c:c1be::1) |
| 20:41:43 | → | root__ joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 20:41:45 | → | absence joins (torgeihe@hildring.pvv.ntnu.no) |
| 20:41:46 | → | ggranberry joins (sid267884@id-267884.uxbridge.irccloud.com) |
| 20:41:47 | → | Typedfern joins (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
| 20:41:55 | → | lieven joins (~mal@ns2.wyrd.be) |
| 20:41:55 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:e507:6b15:fde6:a01) |
| 20:41:57 | → | farn__ joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
| 20:41:58 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 20:42:01 | → | ddb joins (~ddb@tilde.club) |
| 20:42:01 | → | cln joins (~cln@wtf.cx) |
| 20:42:03 | → | pierrot joins (~pi@user/pierrot) |
| 20:42:09 | → | [Ristovski] joins (~Ristovski@hellomouse/perf/ristovski) |
| 20:42:09 | → | bollu joins (~bollu@159.65.151.13) |
| 20:42:13 | → | trev joins (~trev@109.252.35.99) |
| 20:42:19 | → | welterde joins (welterde@thinkbase.srv.welterde.de) |
| 20:42:20 | × | trev quits (~trev@109.252.35.99) (Changing host) |
| 20:42:20 | → | trev joins (~trev@user/trev) |
| 20:42:27 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 20:42:33 | → | cheater joins (~Username@user/cheater) |
| 20:42:41 | → | stefan-_ joins (~cri@42dots.de) |
| 20:42:44 | → | xelxebar joins (~xelxebar@wilsonb.com) |
| 20:42:44 | → | img joins (~img@user/img) |
| 20:42:47 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 20:42:48 | → | kawen joins (~quassel@static.208.191.216.95.clients.your-server.de) |
| 20:42:49 | → | auri joins (~auri@fsf/member/auri) |
| 20:42:49 | → | Teacup joins (~teacup@user/teacup) |
| 20:42:57 | → | chaitlatte0 joins (ea29c0bb16@user/chaitlatte0) |
| 20:42:58 | → | arcadewise joins (52968ed80d@2604:bf00:561:2000::3df) |
| 20:42:58 | → | lottaquestions joins (~nick@2607:fa49:503e:7100:df4b:8386:5d62:a084) |
| 20:43:08 | → | madnight joins (~madnight@static.59.103.201.195.clients.your-server.de) |
| 20:43:11 | → | yaroot joins (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) |
| 20:43:11 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 20:43:39 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 20:43:44 | → | Aleksejs joins (~Aleksejs@107.170.21.106) |
| 20:43:44 | → | gawen joins (~gawen@user/gawen) |
| 20:43:50 | → | filwisher joins (2e6936c793@2604:bf00:561:2000::170) |
| 20:43:51 | → | ggb joins (a62ffbaf4f@2604:bf00:561:2000::3ac) |
| 20:43:51 | → | lukec joins (9dfd4d094e@2604:bf00:561:2000::10e) |
| 20:43:55 | → | shreyasminocha joins (51fdc93eda@user/shreyasminocha) |
| 20:44:03 | → | JoelMcCracken joins (5ea8252fbb@2604:bf00:561:2000::10e3) |
| 20:44:03 | → | henrytill joins (e0180937c3@2604:bf00:561:2000::e8c) |
| 20:44:03 | → | fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2) |
| 20:44:03 | → | ymherklotz joins (cb2c9cfbdd@2604:bf00:561:2000::29a) |
| 20:44:03 | → | probie joins (cc0b34050a@user/probie) |
| 20:44:09 | → | whereiseveryone joins (206ba86c98@2604:bf00:561:2000::2e4) |
| 20:44:09 | → | jakzale joins (6291399afa@user/jakzale) |
| 20:44:10 | → | anderson joins (~ande@user/anderson) |
| 20:44:17 | → | vglfr joins (~vglfr@209.198.138.7) |
| 20:44:19 | → | nshepperd2 joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
| 20:44:20 | → | Luj joins (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) |
| 20:44:20 | → | davean joins (~davean@davean.sciesnet.net) |
| 20:44:21 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 20:44:45 | → | dminuoso joins (~dminuoso@user/dminuoso) |
| 20:45:02 | → | bwe joins (~bwe@2a01:4f8:1c1c:4878::2) |
| 20:45:02 | → | _________ joins (~nobody@user/noodly) |
| 20:45:09 | → | sm2n joins (ae95cb1267@user/sm2n) |
| 20:45:34 | → | MonsoonSecrecy joins (f78c86e960@2604:bf00:561:2000::f99) |
| 20:45:51 | → | jkoshy joins (99b9359beb@user/jkoshy) |
| 20:46:31 | → | micro joins (micro@user/micro) |
| 20:46:33 | → | mjacob joins (~mjacob@adrastea.uberspace.de) |
| 20:46:41 | → | Zemyla joins (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) |
| 20:46:46 | <carter> | touch and with just are "THIS ISNT DEAD YET" |
| 20:46:49 | → | finsternis joins (~X@23.226.237.192) |
| 20:47:09 | <carter> | bugs with them would be like "P1 mayday" |
| 20:47:17 | <carter> | not quite "we mix up registers when we shouldn't" |
| 20:47:18 | <carter> | but up there |
| 20:47:36 | <c_wraith> | I don't see those outside of ForeignPtr-specific stuff |
| 20:47:45 | <c_wraith> | And that primop which is undocumented |
| 20:47:58 | <carter> | foreign ptrs are just ptrs paired witha finalizier |
| 20:48:17 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 20:48:18 | <c_wraith> | well. a list of finalizers. |
| 20:48:20 | → | pavonia joins (~user@user/siracusa) |
| 20:49:38 | <c_wraith> | also, apparently it's not great to use and I should be looking at keepAlive# instead? https://www.haskell.org/ghc/blog/20210607-the-keepAlive-story.html |
| 20:49:45 | <carter> | yes |
| 20:49:48 | <carter> | thats the new one |
| 20:49:51 | <carter> | i meant when i said with |
| 20:49:55 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Quit: WeeChat 3.6) |
| 20:50:47 | <carter> | theres a long and storied history of primops need state token passing to not get moved around :) |
| 20:54:05 | × | EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection) |
| 20:54:24 | <c_wraith> | oh. that section on where touch# fails is very well-written. A good example showing how two things that seem obviously correct are obviously not correct when combined together |
| 20:56:06 | → | EsoAlgo8 joins (~EsoAlgo@129.146.136.145) |
| 20:56:16 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 20:56:36 | root__ | is now known as root |
| 20:57:06 | root | is now known as Guest2579 |
| 20:57:33 | × | NiceBird quits (~NiceBird@185.133.111.196) (Quit: Leaving) |
| 20:57:53 | → | n1essa joins (3d621153a5@2604:bf00:561:2000::df7) |
| 20:59:21 | → | slack1256 joins (~slack1256@191.125.99.77) |
| 21:00:26 | × | bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection) |
| 21:00:40 | → | bramhaag joins (~bramhaag@134.195.121.39) |
| 21:01:14 | <talismanick> | On a scale of 1 to 10, how janky is xmonad-style hotswapping for Haskell? |
| 21:01:36 | × | welterde quits (welterde@thinkbase.srv.welterde.de) (Quit: WeeChat 3.0.1) |
| 21:01:48 | → | welterde joins (welterde@thinkbase.srv.welterde.de) |
| 21:03:13 | <ac> | talismanick: what do you mean by hotswapping? |
| 21:03:25 | <talismanick> | or Lambdabot for that matter - the 2005 paper I just read was about Lambdabot and the Yi editor |
| 21:03:45 | <talismanick> | ac: injecting new code into a running application |
| 21:03:54 | <c_wraith> | lambdabot and xmonad work a lot differently |
| 21:04:08 | <talismanick> | Oh? |
| 21:04:09 | <geekosaur> | xmonad doesn't actually do that, it re-`exec()`s itself |
| 21:04:10 | <c_wraith> | xmonad recompiles itself, quits, and restarts |
| 21:04:14 | <ac> | talismanick: could you please share a link to that paper? curious to look at it |
| 21:04:28 | <talismanick> | "Dynamic Applications From the Ground Up" |
| 21:04:30 | <c_wraith> | lambdabot runs an external process that interprets the code |
| 21:04:41 | <talismanick> | 2005, Stewart & Chakravarty |
| 21:04:42 | <ac> | talismanick: ty |
| 21:05:28 | <c_wraith> | admittedly, what that external process does is roughly what you'd do for dynamic code execution at run time. |
| 21:05:29 | <talismanick> | Claiming a hotswappable Haskell editor outstrips Emacs in dynamicity is... a bold thesis, to say the least |
| 21:07:16 | <ac> | talismanick: what aspect of dynamicity do you have in mind here? that sounds like a reasonable approach to build a dynamic editor |
| 21:08:26 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 21:08:27 | <c_wraith> | Hmm. My code is in the neighborhood that touch# can fail in. As I don't want to commit to GHC 9+ yet, I'm sticking with using a reference to attach the finalizer to. |
| 21:08:56 | → | jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 21:10:16 | <talismanick> | ac: so, they claim on pg1 that they've outdone Emacs in dynamicity because the core of Emacs is C for basic editing notions (buffers management, Emacs Lisp interpretation, etc) but their style of application building defines the minimum because it's only the "stub" needed to load the rest |
| 21:10:24 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 21:11:37 | <talismanick> | Although, I've always thought of one of Emacs's strengths as deriving from a very Lisp property: that the notation for code and data are the same, so your config file is a(nother) Lisp program itself |
| 21:11:59 | <mauke> | that's true for all programming languages |
| 21:12:06 | <mauke> | every source file is data |
| 21:12:22 | <talismanick> | In the sense of stringly-typed data, perhaps... |
| 21:12:58 | <ac> | talismanick: in my opinion, the main issue to achieve such dynamicity is the lack of an efficient just in time VM for language with non-strict evaluation |
| 21:13:00 | → | slac78761 joins (~slack1256@186.11.43.38) |
| 21:13:38 | <talismanick> | Online partial evaluation then, maybe? |
| 21:13:38 | <ac> | talismanick: without that, I agree it's an overstatement to say that such approach does cover the full range of dynamicity offered by lisp and its family |
| 21:15:10 | × | slack1256 quits (~slack1256@191.125.99.77) (Ping timeout: 252 seconds) |
| 21:16:26 | <ac> | talismanick: I did not know about such evalutation strategy, but after checking the abstract and the basic algebra of "Tutorial on Online Partial Evaluation" by William R. Cook and Ralf Lämmel... yeah I think you are spot on. |
| 21:16:43 | × | EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection) |
| 21:18:13 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 21:18:24 | slac78761 | is now known as slack1256 |
| 21:18:43 | → | EsoAlgo8 joins (~EsoAlgo@129.146.136.145) |
| 21:18:57 | <ac> | that's a neat trick, thanks for sharing talismanick |
| 21:22:17 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 21:23:45 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 21:24:04 | <talismanick> | :) |
| 21:24:49 | × | cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds) |
| 21:25:01 | → | cheater joins (~Username@user/cheater) |
| 21:27:12 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 21:30:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
| 21:32:54 | → | wroathe joins (~wroathe@50.205.197.50) |
| 21:32:54 | × | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 21:32:54 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:46:47 | × | qy quits (~ix@213.205.241.172) (Ping timeout: 268 seconds) |
| 21:52:27 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 21:54:10 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 22:00:34 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
| 22:00:34 | × | bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection) |
| 22:00:46 | → | bramhaag joins (~bramhaag@134.195.121.39) |
| 22:04:08 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:06:13 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 22:06:19 | × | EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection) |
| 22:07:26 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8) |
| 22:08:18 | → | EsoAlgo8 joins (~EsoAlgo@129.146.136.145) |
| 22:10:01 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:10:04 | × | caryhartline quits (~caryhartl@072-180-197-087.res.spectrum.com) (Quit: caryhartline) |
| 22:10:50 | → | qy joins (~ix@213.205.241.172) |
| 22:15:23 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:16:40 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 22:19:09 | × | EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection) |
| 22:21:10 | → | EsoAlgo8 joins (~EsoAlgo@129.146.136.145) |
| 22:26:27 | × | polyphem_ quits (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Quit: WeeChat 3.7.1) |
| 22:38:35 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 248 seconds) |
| 22:40:36 | → | mechap joins (~mechap@user/mechap) |
| 22:44:13 | × | johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 22:44:13 | × | jwiegley quits (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 22:45:51 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 22:53:04 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:54:03 | × | qy quits (~ix@213.205.241.172) (Ping timeout: 250 seconds) |
| 22:54:04 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 22:54:04 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 22:54:04 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:56:22 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:06:39 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:06:57 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:16:40 | × | EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection) |
| 23:19:58 | × | mastarija quits (~mastarija@188.252.199.128) (Quit: WeeChat 3.7.1) |
| 23:26:18 | × | gurkenglas quits (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 23:27:01 | × | gurkengl1s quits (~gurkengla@89.15.236.16) (Ping timeout: 276 seconds) |
| 23:27:09 | × | chomwitt quits (~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds) |
| 23:29:43 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 23:34:53 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 23:37:11 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 23:41:17 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds) |
| 23:42:15 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: Leaving) |
| 23:43:55 | → | Midjak joins (~Midjak@82.66.147.146) |
| 23:45:11 | × | hiredman quits (~hiredman@frontier1.downey.family) (Remote host closed the connection) |
| 23:54:13 | × | slack1256 quits (~slack1256@186.11.43.38) (Ping timeout: 265 seconds) |
| 23:56:52 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) |
| 23:59:53 | × | sadmax quits (~user@64.130.91.66) (Remote host closed the connection) |
All times are in UTC on 2023-03-11.