2021-10-29 00:00:32 +0200 | akspecs__ | (~akspecs@user/akspecs) (Read error: Connection reset by peer) |
2021-10-29 00:05:11 +0200 | yrlnry | (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) (Ping timeout: 264 seconds) |
2021-10-29 00:06:14 +0200 | akspecs__ | (~akspecs@136-24-214-166.cab.webpass.net) |
2021-10-29 00:06:14 +0200 | akspecs__ | (~akspecs@136-24-214-166.cab.webpass.net) (Changing host) |
2021-10-29 00:06:14 +0200 | akspecs__ | (~akspecs@user/akspecs) |
2021-10-29 00:11:34 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 00:11:40 +0200 | ubert | (~Thunderbi@178.115.57.1.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-10-29 00:12:24 +0200 | MarsIronPI | (~MarsIronP@166.205.153.209) |
2021-10-29 00:17:10 +0200 | MarsIronPI | (~MarsIronP@166.205.153.209) (Ping timeout: 260 seconds) |
2021-10-29 00:18:43 +0200 | a6a45081-2b83 | (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) |
2021-10-29 00:21:20 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Ping timeout: 260 seconds) |
2021-10-29 00:22:49 +0200 | Xatenev | (~xatenev@user/xatenev) |
2021-10-29 00:23:02 +0200 | Xatenev | (~xatenev@user/xatenev) () |
2021-10-29 00:23:28 +0200 | michalz | (~michalz@185.246.204.109) (Remote host closed the connection) |
2021-10-29 00:24:23 +0200 | fusion86 | (~fusion@2a02-a44c-e6e5-1-2dd3-247f-2e63-c814.fixed6.kpn.net) (Quit: Leaving) |
2021-10-29 00:24:51 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-29 00:27:47 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-29 00:27:48 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-29 00:27:48 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-29 00:30:02 +0200 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-10-29 00:32:46 +0200 | johnjay | (~pi@192.142.100.50) (Quit: WeeChat 2.3) |
2021-10-29 00:34:35 +0200 | jess | (~jess@libera/staff/jess) |
2021-10-29 00:35:12 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-10-29 00:37:12 +0200 | gdd | (~gdd@129.199.146.230) (Ping timeout: 260 seconds) |
2021-10-29 00:38:48 +0200 | johnjay | (~pi@192.142.100.50) |
2021-10-29 00:39:00 +0200 | gdd | (~gdd@129.199.146.230) |
2021-10-29 00:40:45 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-10-29 00:45:16 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-10-29 00:45:32 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection) |
2021-10-29 00:46:04 +0200 | <aegon> | hmm, i'm having my first sequencing problem with laziness. i have this block which calls a 2 handlers in succession within do notation |
2021-10-29 00:46:14 +0200 | <aegon> | and for whatever reason the 2nd statement is happening first even with $! in there |
2021-10-29 00:46:21 +0200 | <aegon> | pastebinning it up |
2021-10-29 00:49:26 +0200 | <aegon> | rcs found" |
2021-10-29 00:49:37 +0200 | <aegon> | https://paste.tomsmeding.com/vLXi3kp7 |
2021-10-29 00:50:52 +0200 | <monochrom> | This leaves open multiple questions. |
2021-10-29 00:50:53 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-10-29 00:51:19 +0200 | <monochrom> | Is "ByteString" from Data.ByteString or is it from Data.ByteString.Lazy? |
2021-10-29 00:51:25 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-29 00:51:55 +0200 | <monochrom> | What's an actual h that does what you observed? |
2021-10-29 00:52:10 +0200 | Skyfire | (~pyon@user/pyon) (Quit: WeeChat 3.3) |
2021-10-29 00:52:27 +0200 | <monochrom> | What actual observation caused you to conclude your conclusion? |
2021-10-29 00:52:42 +0200 | <aegon> | monochrom: i filled that in as a dummy to prevent overcomplicating things, the actually sigs of onSync takes a tuple of a bunch of stuff, and on sequence takes a Seq.Seq of tuples |
2021-10-29 00:52:55 +0200 | <aegon> | both these callbacks mutate an MVar |
2021-10-29 00:53:01 +0200 | <aegon> | i put print statemetns inside the moutation and on either end of it |
2021-10-29 00:53:07 +0200 | <monochrom> | If you use Debug.Trace and insert a few of those traceMfoo thingies, does that still corroborate with your story? |
2021-10-29 00:53:15 +0200 | <aegon> | and when the first statement is called, the 2nd statement is already in the mutex and processed in its handler |
2021-10-29 00:53:45 +0200 | <aegon> | never done, how would iuse traceMfoo stuffs |
2021-10-29 00:53:57 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-29 00:54:12 +0200 | <aegon> | i've been using print which might be further confusing things, but then again the observation of the data in the MVar within the modifyMVar_ corroberates the 2nds happening first |
2021-10-29 00:54:23 +0200 | <aegon> | at least at the mutex taking level |
2021-10-29 00:54:44 +0200 | <aegon> | let me try to get a fuller picture on paste |
2021-10-29 00:55:23 +0200 | brainfreeze | (~brainfree@2a03:1b20:4:f011::20d) |
2021-10-29 00:55:51 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-10-29 00:56:37 +0200 | <aegon> | hmm, trying to simplify stuff down to printing but this happens in different threads so thats not a great source of truth either |
2021-10-29 00:56:37 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 00:57:02 +0200 | <monochrom> | See this is why I am unconvinced until I see an actual h. |
2021-10-29 00:57:11 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 00:57:40 +0200 | brainfreeze | (~brainfree@2a03:1b20:4:f011::20d) (Client Quit) |
2021-10-29 00:57:54 +0200 | <monochrom> | If the onSync field contains a "forkIO", no one should be surprised by "unexpected" order. |
2021-10-29 00:58:51 +0200 | <monochrom> | The ultimate scientific question is how do you know you have ruled out all other explanations. |
2021-10-29 00:58:52 +0200 | <aegon> | well ok so the full picture is a parentThread creates a bunch of handlers and shoves a mutex into them for state accumulation |
2021-10-29 00:59:03 +0200 | <aegon> | it then forkIO's a child, which calls those handlers in a given order |
2021-10-29 00:59:29 +0200 | <aegon> | the parent thread for whatever reason processes the handler calls out of order from what i can tell by observig what data has been put into the state at the time the mutex is aquired by each handler |
2021-10-29 01:00:21 +0200 | <monochrom> | How do you know that your observation is not explained by interleaving two handlers? |
2021-10-29 01:00:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-10-29 01:00:47 +0200 | <aegon> | the flow should be, package handlers -> fork (fork process calles handlerA once then handlerB 3 times and enters its recursive loop) |
2021-10-29 01:01:10 +0200 | <aegon> | i would think that the parent handler A being called from the child thread should finish before handler b is called from the child thread |
2021-10-29 01:01:27 +0200 | <aegon> | given the first thing they both do is grab a mutex to the state wit modifyMVar_ |
2021-10-29 01:01:41 +0200 | <aegon> | but what i'm seeing is that handlerb processes 3 times, then handler a processes |
2021-10-29 01:02:06 +0200 | <aegon> | but the call doesn't return till its completely done with processing, theres no forking within the call |
2021-10-29 01:02:51 +0200 | <aegon> | so even if a child thread calls A, B, B, B, which actually isn't happening between threads afaik now that i'm saying it out load, its invoking those continuations on the child thread |
2021-10-29 01:03:30 +0200 | <aegon> | hmm :\ i'm gonna try to delete a bonch of extra stuff and git a minimum reproducable thing going |
2021-10-29 01:03:55 +0200 | <aegon> | i was hoping someone would see the convention and be like, AH! thats laziness cauing it like this *tadaaa* :P |
2021-10-29 01:04:09 +0200 | <monochrom> | But IO is not lazy. |
2021-10-29 01:04:39 +0200 | jespada | (~jespada@181.28.253.200) |
2021-10-29 01:04:46 +0200 | <monochrom> | If you say so much as "do { print 1; print 2 }" you will never observe out-of-order. |
2021-10-29 01:04:51 +0200 | <aegon> | yeah its wierd, a do block should definitely be sequenced, which is why i came runing here |
2021-10-29 01:05:10 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-29 01:05:11 +0200 | <aegon> | afaik this code is taking do {print 1: print 2} and then at runtime going, print 2; print 1 |
2021-10-29 01:05:51 +0200 | <monochrom> | But if you do "do {forkIO f; forkIO f} where f = do { print 1; print 2}", you may misinterpret an outcome as out-of-order. |
2021-10-29 01:05:51 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 01:06:03 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 01:06:29 +0200 | <monochrom> | For example an outcome could be "1, 2, 1, 2" and then you fixate on the middle "2, 1" and call it out-of-order. |
2021-10-29 01:06:54 +0200 | <aegon> | its \p1 p2 -> forkIO (do {p1; p2) and thats resulting in p2 being called before p1 |
2021-10-29 01:07:15 +0200 | <aegon> | but i'm definite missing somethign because that isn't how that should work |
2021-10-29 01:08:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-29 01:08:13 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-29 01:09:12 +0200 | <sm> | just confirming, the paste looks ok |
2021-10-29 01:09:25 +0200 | <sm> | more realistic paste needed |
2021-10-29 01:10:39 +0200 | <aegon> | more realistic paste in progress, changing the callbacks to incrimenting an int in a MVar and printing it |
2021-10-29 01:11:23 +0200 | <sm> | or, well.. hmm.. does it make a difference if you `print <<=` before each action ? Forcing it to evaluate |
2021-10-29 01:11:50 +0200 | <sm> | no, never mnid |
2021-10-29 01:12:32 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-29 01:13:00 +0200 | <aegon> | hmm, this stuff is all happening pretty deep in this code from the entrypoint, i'm not sure how best to easily whip up an repro outside of the context |
2021-10-29 01:13:13 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 01:13:43 +0200 | <sm> | sharing a repro is hard, maybe just simplifying your code in place is easier |
2021-10-29 01:13:46 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-29 01:14:06 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-29 01:19:21 +0200 | brettgilio | (~brettgili@x-node.gq) (Quit: Leaving...) |
2021-10-29 01:20:29 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-10-29 01:22:06 +0200 | brettgilio | (~brettgili@x-node.gq) |
2021-10-29 01:22:11 +0200 | <aegon> | here's a closer version but i'm worried i missed something in that simplification |
2021-10-29 01:22:14 +0200 | <aegon> | https://paste.tomsmeding.com/S2jOauqM |
2021-10-29 01:22:48 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-29 01:23:42 +0200 | <aegon> | it might need some liberal $ thrown in places to compile but thats the calling order and the mvar behavior |
2021-10-29 01:24:46 +0200 | Skyfire | (~pyon@user/pyon) |
2021-10-29 01:26:03 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat) |
2021-10-29 01:26:10 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-29 01:26:21 +0200 | Inst__ | (~Inst@2601:6c4:4080:3f80:258f:7b54:f932:b719) (Ping timeout: 245 seconds) |
2021-10-29 01:27:36 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-29 01:28:22 +0200 | <Axman6> | what's modyfMVar? |
2021-10-29 01:28:39 +0200 | <aegon> | modifyMVar_ |
2021-10-29 01:29:24 +0200 | <aegon> | typed by hands that are having synchronization issues |
2021-10-29 01:29:48 +0200 | <sm> | I find that not easy to understand. If it's still happening, I'd simplify more (list the actions explicitly in a do sequence) |
2021-10-29 01:29:55 +0200 | <aegon> | and dropping charaters |
2021-10-29 01:30:30 +0200 | <Axman6> | @hoogle modifyMVar_ |
2021-10-29 01:30:31 +0200 | <lambdabot> | Control.Concurrent.MVar modifyMVar_ :: MVar a -> (a -> IO a) -> IO () |
2021-10-29 01:30:31 +0200 | <lambdabot> | GHC.Conc.Sync modifyMVar_ :: MVar a -> (a -> IO a) -> IO () |
2021-10-29 01:30:31 +0200 | <lambdabot> | Control.Concurrent.MVar.Lifted modifyMVar_ :: (MonadBaseControl IO m) => MVar a -> (a -> m a) -> m () |
2021-10-29 01:30:44 +0200 | <Axman6> | so you're missing a lambda there? |
2021-10-29 01:30:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-29 01:31:19 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-10-29 01:33:07 +0200 | <Axman6> | FYI, $! isn't going to change the ordering that things are executed in IO, it jujst forced the IO expression itself, it doesn't have anything to do with evaluation |
2021-10-29 01:33:22 +0200 | <Axman6> | uh, misread, ignore me |
2021-10-29 01:34:11 +0200 | <Axman6> | I'm struggling to follow this because this code doesn't type check |
2021-10-29 01:34:42 +0200 | <Axman6> | but ifyou are getting the behaviour you're claiming, the IO monad is fundamentally broken, and that seem unlikely |
2021-10-29 01:34:49 +0200 | jespada | (~jespada@181.28.253.200) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-29 01:36:13 +0200 | <aegon> | yeah this is really wierd, there must be something else going on here. the only way i can get the intended behavior is to do it twice |
2021-10-29 01:36:28 +0200 | <aegon> | the first call to the first handler always gets evaluated first |
2021-10-29 01:36:32 +0200 | <aegon> | regaurdless of do call order |
2021-10-29 01:36:53 +0200 | <Axman6> | do you have actual code you can share? |
2021-10-29 01:36:59 +0200 | <sm> | my 2c: this is much too complicated, simplify further |
2021-10-29 01:37:32 +0200 | <monochrom> | Ugh Sink vs Sync |
2021-10-29 01:37:45 +0200 | <sm> | at some point it'll stop having the unexpected sequence |
2021-10-29 01:38:10 +0200 | <Axman6> | then copy and paste that code and never question it again, like a true software engineer |
2021-10-29 01:38:30 +0200 | <aegon> | balls, i cant share the whole thing, :| i'm gonna try ripping things out till it sequences as expected, this might be too big of a rabbit hole to pick at, maybe just taking these sequences out of this funciton might change things? don't know i'm going to try nonesense changes till i see different behavior |
2021-10-29 01:39:30 +0200 | <aegon> | if you don't Sync your Sinks and pass your Sources via Sinks before sending via sources, well ... your Sunk |
2021-10-29 01:39:42 +0200 | <aegon> | i see no problems with these names :P |
2021-10-29 01:39:59 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:ece1:b35e:c9b0:1b9e) (Ping timeout: 264 seconds) |
2021-10-29 01:40:27 +0200 | <aegon> | ok, i'll shut up for a while and try stepping along the routes you guys have laid out, hopefully back with some sort of finding in a bit |
2021-10-29 01:40:32 +0200 | <monochrom> | No problem, except it looks like one of them is a typo of the other. |
2021-10-29 01:41:41 +0200 | <Axman6> | IMO, I would add some debug logging... everywhere and see what is actually being executed where |
2021-10-29 01:41:51 +0200 | <aegon> | do be clear, i was being sarcastic, your absolutely right the names are confusing |
2021-10-29 01:42:08 +0200 | <aegon> | Axman6: i'm using print but i don't think print order is garunteed between threads right? is there a better tool for this type of stuff? |
2021-10-29 01:42:13 +0200 | pavonia | (~user@user/siracusa) |
2021-10-29 01:42:33 +0200 | <aegon> | print is just putStrLn . show right? |
2021-10-29 01:42:46 +0200 | <Axman6> | no it's not but that shouldn't be affecting what you're claiming since the calls are coming in the same thread |
2021-10-29 01:42:50 +0200 | <Axman6> | yes |
2021-10-29 01:43:22 +0200 | <monochrom> | This is why I raised the "do {forkIO f; forkIO f} where f = do { print 1; print 2}" "1, 2, 1, 2" example. |
2021-10-29 01:43:50 +0200 | <Axman6> | or 1 1 2 , both are totally ok |
2021-10-29 01:44:03 +0200 | <Axman6> | so, give threads ids so you know which thread printed what |
2021-10-29 01:44:14 +0200 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) |
2021-10-29 01:46:29 +0200 | xsperry | (~xs@user/xsperry) |
2021-10-29 01:47:11 +0200 | Cajun | (~Cajun@user/cajun) |
2021-10-29 01:47:59 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-29 01:47:59 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-29 01:47:59 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-29 01:49:41 +0200 | <aegon> | oh man :X i'm gonna have egg on my face for a while i think |
2021-10-29 01:49:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 01:49:55 +0200 | <sm> | stick trace everywhere |
2021-10-29 01:50:09 +0200 | <sm> | always a good move :) |
2021-10-29 01:50:15 +0200 | <monochrom> | I prefer cake or pie. |
2021-10-29 01:50:21 +0200 | <aegon> | no i found it... :| |
2021-10-29 01:50:32 +0200 | <aegon> | i wasn't following the rest of the thread |
2021-10-29 01:50:40 +0200 | <aegon> | later on theres an erronious extra call to sync |
2021-10-29 01:50:50 +0200 | <aegon> | io is working fine, my eyes aren't |
2021-10-29 01:51:49 +0200 | <aegon> | thanks for taking a look at the examples |
2021-10-29 01:52:12 +0200 | aegon | puts on the dunce cap for the day |
2021-10-29 01:52:50 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-10-29 01:52:56 +0200 | <sm> | sounds like a haskell programmer :) |
2021-10-29 01:53:49 +0200 | mvk | (~mvk@2607:fea8:5cc1:300::d3fb) |
2021-10-29 01:54:12 +0200 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Quit: Ping timeout (120 seconds)) |
2021-10-29 01:54:25 +0200 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
2021-10-29 01:58:38 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) |
2021-10-29 02:00:39 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Quit: Leaving) |
2021-10-29 02:05:05 +0200 | <aegon> | i shouldn't have put any sort of initial set of calls in the same place as creating the other half of the continuations, another tick in my worry bucket about making IO accessable too many places |
2021-10-29 02:06:55 +0200 | terrorjack | (~terrorjac@static.3.200.12.49.clients.your-server.de) (Quit: Ping timeout (120 seconds)) |
2021-10-29 02:07:54 +0200 | terrorjack | (~terrorjac@static.3.200.12.49.clients.your-server.de) |
2021-10-29 02:08:07 +0200 | sprout_ | (~quassel@2a02:a467:ccd6:1:21d2:19c0:e01b:f66c) |
2021-10-29 02:08:22 +0200 | <remexre> | is there a way to get either tuple syntax or list syntax for hlists? |
2021-10-29 02:08:40 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:319c:b1d4:3651:39a5) (Ping timeout: 268 seconds) |
2021-10-29 02:09:03 +0200 | <remexre> | or are hlists "dead" and do people use something else to get generic computations over tuples of unknown length |
2021-10-29 02:10:13 +0200 | <awpr> | you mean make `[5, "hi"]` work as an `HList [Int, String]`? not currently. I've been considering making a GHC plugin that could do that, but it's vaporware and would take substantial work even if I did decide to prioritize it |
2021-10-29 02:10:38 +0200 | <awpr> | I should say, not that I know of |
2021-10-29 02:11:02 +0200 | <remexre> | I guess alternatively-and-isomorphically, is there a good way to get n-ary curried functions? |
2021-10-29 02:11:25 +0200 | dajoer | (~david@user/gvx) |
2021-10-29 02:11:36 +0200 | <remexre> | in this case, where each argument has a certain trait, and the final return is polymorphic (but doesn't depend on the arg types) |
2021-10-29 02:11:41 +0200 | <remexre> | er, typeclass* |
2021-10-29 02:11:41 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 02:11:58 +0200 | <remexre> | I've been writing Rust for the last couple years instead of Haskell :) |
2021-10-29 02:12:01 +0200 | <awpr> | there's the trick used by `printf` where it always returns a `forall r. FormatResult r => r` at each step, or something to that effect |
2021-10-29 02:12:10 +0200 | <awpr> | sounds like it has some hope of being applicable here |
2021-10-29 02:12:23 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 02:12:30 +0200 | <remexre> | I'll take a look at that; is that Text.Printf.printf? |
2021-10-29 02:12:52 +0200 | <awpr> | yeah, s/FormatResult/PrintfType/ |
2021-10-29 02:13:36 +0200 | guniberas | (~guniberas@42.191.188.121) (Ping timeout: 268 seconds) |
2021-10-29 02:13:36 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 02:13:57 +0200 | <remexre> | huh, okay, its approach makes sense, I think |
2021-10-29 02:14:01 +0200 | <remexre> | I'll try that, thanks! |
2021-10-29 02:15:31 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 02:17:27 +0200 | Farzad | (~FarzadBek@185.131.125.100) |
2021-10-29 02:18:59 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-10-29 02:19:17 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
2021-10-29 02:21:47 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-10-29 02:23:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 02:29:16 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds) |
2021-10-29 02:31:00 +0200 | sprout_ | (~quassel@2a02:a467:ccd6:1:21d2:19c0:e01b:f66c) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-10-29 02:31:40 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:21d2:19c0:e01b:f66c) |
2021-10-29 02:32:08 +0200 | <remexre> | oh ugh, breaks when the return type is a monad typeclass |
2021-10-29 02:32:20 +0200 | <remexre> | because (a -> m ()) is a monad too |
2021-10-29 02:32:31 +0200 | <remexre> | er |
2021-10-29 02:33:17 +0200 | <remexre> | because typeclass resolution doesn't figure out that really only one instance matches |
2021-10-29 02:33:54 +0200 | <remexre> | between Func f => Func (a -> f) and (Func f, Monad m, a ~ ()) => Func (m a) |
2021-10-29 02:37:08 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-29 02:37:55 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-29 02:38:10 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 02:38:17 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-29 02:39:59 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 02:40:08 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 02:40:09 +0200 | <remexre> | oh, right, {-# OVERLAPPING #-} exists |
2021-10-29 02:41:33 +0200 | CannabisIndica | (~herb@user/mesaboogie) (Quit: ZNC - https://znc.in) |
2021-10-29 02:48:52 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-10-29 02:50:48 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:eba7:95bb:d099:a7d8) |
2021-10-29 02:51:40 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
2021-10-29 02:54:27 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-29 02:55:11 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-29 02:55:30 +0200 | CannibisIndica | (~herb@user/mesaboogie) |
2021-10-29 02:58:02 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
2021-10-29 02:59:55 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 260 seconds) |
2021-10-29 03:01:54 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-29 03:03:48 +0200 | alx741 | (~alx741@186.178.109.79) (Quit: alx741) |
2021-10-29 03:08:48 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 03:12:35 +0200 | d0ku | (~d0ku@178.43.15.137.ipv4.supernova.orange.pl) (Ping timeout: 246 seconds) |
2021-10-29 03:13:01 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
2021-10-29 03:13:43 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-10-29 03:14:27 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 260 seconds) |
2021-10-29 03:16:50 +0200 | mmhat | (~mmh@55d4b856.access.ecotel.net) (Ping timeout: 260 seconds) |
2021-10-29 03:19:50 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-10-29 03:20:39 +0200 | MoC_ | (~moc@user/moc) |
2021-10-29 03:21:21 +0200 | MoC | (~moc@user/moc) (Ping timeout: 245 seconds) |
2021-10-29 03:23:24 +0200 | a6a45081-2b83 | (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection) |
2021-10-29 03:30:20 +0200 | mmhat | (~mmh@55d4bea4.access.ecotel.net) |
2021-10-29 03:36:45 +0200 | Farzad | (~FarzadBek@185.131.125.100) (Quit: Leaving) |
2021-10-29 03:38:26 +0200 | mmhat | (~mmh@55d4bea4.access.ecotel.net) (Ping timeout: 245 seconds) |
2021-10-29 03:43:08 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-29 03:45:16 +0200 | xff0x | (~xff0x@2001:1a81:525b:da00:1097:4d57:43e2:986f) (Ping timeout: 260 seconds) |
2021-10-29 03:46:26 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 03:47:01 +0200 | xff0x | (~xff0x@2001:1a81:529e:f300:b22f:69e6:aa77:fd2f) |
2021-10-29 03:51:02 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-10-29 03:52:16 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-29 03:55:19 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-29 04:01:18 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-29 04:03:39 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-29 04:17:23 +0200 | abrantesasf | (~abrantesa@187.36.170.211) (Remote host closed the connection) |
2021-10-29 04:18:05 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-10-29 04:20:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 04:24:30 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Ping timeout: 260 seconds) |
2021-10-29 04:25:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-29 04:25:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-29 04:25:49 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-29 04:26:47 +0200 | fizzsegfaultbuzz | (~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 260 seconds) |
2021-10-29 04:28:12 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 04:30:25 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 04:30:52 +0200 | brainfreeze | (~brainfree@2a03:1b20:4:f011::20d) |
2021-10-29 04:38:47 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 264 seconds) |
2021-10-29 04:40:20 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-10-29 04:51:45 +0200 | mbuf | (~Shakthi@171.61.174.60) |
2021-10-29 04:54:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-10-29 04:54:19 +0200 | td_ | (~td@94.134.91.221) (Ping timeout: 260 seconds) |
2021-10-29 04:55:57 +0200 | td_ | (~td@muedsl-82-207-238-132.citykom.de) |
2021-10-29 04:56:00 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
2021-10-29 04:57:53 +0200 | burnsidesLlama | (~burnsides@dhcp168-026.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-10-29 05:12:26 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-10-29 05:17:22 +0200 | Guest3764 | (~fedora@59.98.57.201) |
2021-10-29 05:19:06 +0200 | Guest3764 | (~fedora@59.98.57.201) (Client Quit) |
2021-10-29 05:19:13 +0200 | zzz | onion |
2021-10-29 05:26:29 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2021-10-29 05:26:47 +0200 | mvk | (~mvk@2607:fea8:5cc1:300::d3fb) (Ping timeout: 264 seconds) |
2021-10-29 05:29:52 +0200 | nikshalark | (~nikshalar@c-73-110-102-193.hsd1.in.comcast.net) |
2021-10-29 05:55:32 +0200 | bgamari | (~bgamari@64.223.157.117) |
2021-10-29 05:55:49 +0200 | bgamari_ | (~bgamari@64.223.175.225) (Ping timeout: 252 seconds) |
2021-10-29 05:56:26 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-29 05:58:25 +0200 | bgamari | (~bgamari@64.223.157.117) (Client Quit) |
2021-10-29 06:00:56 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 245 seconds) |
2021-10-29 06:02:20 +0200 | bgamari | (~bgamari@64.223.227.106) |
2021-10-29 06:10:24 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 06:11:02 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 06:21:23 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2021-10-29 06:23:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-29 06:23:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-29 06:23:31 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-29 06:31:44 +0200 | v01d4lph4 | (~v01d4lph4@223.190.95.48) |
2021-10-29 06:31:44 +0200 | v01d4lph4 | (~v01d4lph4@223.190.95.48) (Changing host) |
2021-10-29 06:31:44 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-29 06:35:10 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
2021-10-29 06:38:10 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-29 06:43:15 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-10-29 06:50:23 +0200 | nikshalark | (~nikshalar@c-73-110-102-193.hsd1.in.comcast.net) (Quit: Lost terminal) |
2021-10-29 06:50:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 07:00:20 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 260 seconds) |
2021-10-29 07:01:09 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-29 07:02:09 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-10-29 07:25:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-29 07:26:41 +0200 | idnar | (sid12240@debian/mithrandi) (Read error: Connection reset by peer) |
2021-10-29 07:26:47 +0200 | gonz___ | (sid304396@lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:26:47 +0200 | bw | (sid2730@user/betawaffle) (Ping timeout: 264 seconds) |
2021-10-29 07:26:47 +0200 | bjs | (sid190364@user/bjs) (Ping timeout: 264 seconds) |
2021-10-29 07:26:47 +0200 | scav | (sid309693@helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:26:47 +0200 | tnks | (sid412124@helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:26:49 +0200 | gmc | (sid58314@ilkley.irccloud.com) (Read error: Connection reset by peer) |
2021-10-29 07:26:50 +0200 | idnar | (sid12240@debian/mithrandi) |
2021-10-29 07:26:58 +0200 | gmc | (sid58314@id-58314.ilkley.irccloud.com) |
2021-10-29 07:26:59 +0200 | Guest39 | (~Guest39@103.142.31.135) |
2021-10-29 07:27:06 +0200 | SanchayanMaity | (sid478177@hampstead.irccloud.com) (Read error: Connection reset by peer) |
2021-10-29 07:27:07 +0200 | glowcoil | (sid3405@tinside.irccloud.com) (Read error: Connection reset by peer) |
2021-10-29 07:27:14 +0200 | glowcoil | (sid3405@id-3405.tinside.irccloud.com) |
2021-10-29 07:27:15 +0200 | SanchayanMaity | (sid478177@id-478177.hampstead.irccloud.com) |
2021-10-29 07:27:16 +0200 | scav | (sid309693@id-309693.helmsley.irccloud.com) |
2021-10-29 07:27:18 +0200 | bjs | (sid190364@user/bjs) |
2021-10-29 07:27:23 +0200 | ysh | (sid6017@ilkley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:23 +0200 | rtpg | (sid443069@ilkley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:23 +0200 | taktoa[c] | (sid282096@tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:51 +0200 | <Guest39> | When testing a function with HUnit how do I mock the database connection and the query response |
2021-10-29 07:27:59 +0200 | aarchi | (sid486183@uxbridge.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:59 +0200 | cbarrett | (sid192934@helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:59 +0200 | lightandlight | (sid135476@helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:59 +0200 | systemfault | (sid267009@uxbridge.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:27:59 +0200 | bbhoss | (sid18216@tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:28:16 +0200 | rtpg | (sid443069@id-443069.ilkley.irccloud.com) |
2021-10-29 07:28:22 +0200 | fizzsegfaultbuzz | (~segfaultf@135-180-0-138.static.sonic.net) |
2021-10-29 07:28:35 +0200 | alinab | (sid468903@helmsley.irccloud.com) (Read error: Connection reset by peer) |
2021-10-29 07:28:35 +0200 | edmundnoble | (sid229620@helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:28:35 +0200 | ephemient | (uid407513@lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:28:40 +0200 | bbhoss | (sid18216@id-18216.tinside.irccloud.com) |
2021-10-29 07:28:43 +0200 | alinab | (sid468903@id-468903.helmsley.irccloud.com) |
2021-10-29 07:28:48 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) |
2021-10-29 07:28:49 +0200 | gonz___ | (sid304396@id-304396.lymington.irccloud.com) |
2021-10-29 07:28:51 +0200 | Ferdirand | (~somebody@2001:4c78:2012:5000::2) (Ping timeout: 245 seconds) |
2021-10-29 07:28:59 +0200 | bw | (sid2730@user/betawaffle) |
2021-10-29 07:29:04 +0200 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) |
2021-10-29 07:29:10 +0200 | lightandlight | (sid135476@id-135476.helmsley.irccloud.com) |
2021-10-29 07:29:12 +0200 | ysh | (sid6017@id-6017.ilkley.irccloud.com) |
2021-10-29 07:29:14 +0200 | Ferdirand | (~somebody@2001:4c78:2012:5000::2) |
2021-10-29 07:29:15 +0200 | ephemient | (uid407513@id-407513.lymington.irccloud.com) |
2021-10-29 07:29:15 +0200 | edmundnoble | (sid229620@id-229620.helmsley.irccloud.com) |
2021-10-29 07:29:45 +0200 | tnks | (sid412124@id-412124.helmsley.irccloud.com) |
2021-10-29 07:29:47 +0200 | hamishmack | (sid389057@hampstead.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:29:47 +0200 | awpr | (uid446117@lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:30:02 +0200 | systemfault | (sid267009@id-267009.uxbridge.irccloud.com) |
2021-10-29 07:30:23 +0200 | integral | (sid296274@user/integral) (Ping timeout: 264 seconds) |
2021-10-29 07:30:23 +0200 | Pent | (sid313808@lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:30:44 +0200 | aarchi | (sid486183@id-486183.uxbridge.irccloud.com) |
2021-10-29 07:31:20 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-10-29 07:32:17 +0200 | awpr | (uid446117@id-446117.lymington.irccloud.com) |
2021-10-29 07:32:38 +0200 | <Axman6> | mocking a database cnnection seems difficult. mocking queries to the database seems doable though |
2021-10-29 07:32:59 +0200 | <Guest39> | could you tell me how I can accomplish that |
2021-10-29 07:32:59 +0200 | hamishmack | (sid389057@id-389057.hampstead.irccloud.com) |
2021-10-29 07:33:10 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-10-29 07:33:10 +0200 | <Axman6> | it would very much depend on your codebase |
2021-10-29 07:33:29 +0200 | Pent | (sid313808@id-313808.lymington.irccloud.com) |
2021-10-29 07:33:51 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-10-29 07:33:59 +0200 | jakesyl_ | (sid56879@hampstead.irccloud.com) (Ping timeout: 264 seconds) |
2021-10-29 07:34:59 +0200 | integral | (sid296274@user/integral) |
2021-10-29 07:34:59 +0200 | <Guest39> | well iam just getting started learning so |
2021-10-29 07:35:11 +0200 | <Guest39> | I used postgresql-simple |
2021-10-29 07:36:43 +0200 | obviyus | (sid415299@user/obviyus) (Read error: Connection reset by peer) |
2021-10-29 07:36:50 +0200 | <Axman6> | A common way to do this is to define a type class that contains functions which define the interface you need, and then make instances for that type class against the databse and as a mock instance |
2021-10-29 07:36:52 +0200 | obviyus | (sid415299@user/obviyus) |
2021-10-29 07:38:18 +0200 | <Guest39> | Understood I then create have mock implementation for everything that iam goingto use from the actual library |
2021-10-29 07:38:36 +0200 | jakesyl_ | (sid56879@id-56879.hampstead.irccloud.com) |
2021-10-29 07:38:45 +0200 | <Guest39> | but wont the code still be importing the library functions |
2021-10-29 07:39:00 +0200 | <Guest39> | how do i make it use my mock implementation temporarily |
2021-10-29 07:39:32 +0200 | <Guest39> | I mean only while running the test casess |
2021-10-29 07:45:00 +0200 | zebrag | (~chris@user/zebrag) (Remote host closed the connection) |
2021-10-29 07:47:45 +0200 | <Axman6> | I haven't read the article, but skimming this looks like it may be a good introduction: https://making.pusher.com/unit-testing-io-in-haskell/ |
2021-10-29 07:48:51 +0200 | <Axman6> | maybe this is a better one https://lexi-lambda.github.io/blog/2017/06/29/unit-testing-effectful-haskell-with-monad-mock/ |
2021-10-29 07:49:42 +0200 | <Axman6> | this looks pretty cool actually |
2021-10-29 07:49:50 +0200 | fizzsegfaultbuzz | (~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 260 seconds) |
2021-10-29 07:52:07 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-10-29 07:55:00 +0200 | <Guest39> | thank you |
2021-10-29 07:55:25 +0200 | aegon | (~mike@174.127.249.180) (Remote host closed the connection) |
2021-10-29 07:57:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-29 07:58:46 +0200 | phma | (~phma@host-67-44-208-16.hnremote.net) (Read error: Connection reset by peer) |
2021-10-29 08:02:14 +0200 | _xor | (~xor@72.49.199.147) |
2021-10-29 08:02:45 +0200 | phma | (~phma@host-67-44-208-251.hnremote.net) |
2021-10-29 08:08:05 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) (Remote host closed the connection) |
2021-10-29 08:11:19 +0200 | sagax | (~sagax_nb@user/sagax) |
2021-10-29 08:12:36 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-29 08:16:20 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-10-29 08:19:10 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-10-29 08:19:38 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-10-29 08:19:59 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-10-29 08:29:13 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-29 08:29:13 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-29 08:29:13 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-29 08:33:59 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2021-10-29 08:34:11 +0200 | fendor | (~fendor@178.165.166.121.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-10-29 08:34:16 +0200 | michalz | (~michalz@185.246.204.109) |
2021-10-29 08:36:39 +0200 | fendor | (~fendor@178.165.166.121.wireless.dyn.drei.com) |
2021-10-29 08:37:58 +0200 | brainfreeze | (~brainfree@2a03:1b20:4:f011::20d) (Remote host closed the connection) |
2021-10-29 08:41:18 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-29 08:42:06 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-10-29 08:44:19 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-29 08:48:15 +0200 | Guest39 | (~Guest39@103.142.31.135) (Quit: Client closed) |
2021-10-29 08:49:26 +0200 | lortabac | (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) |
2021-10-29 08:55:33 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 08:55:39 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-10-29 08:57:53 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.22) |
2021-10-29 08:57:53 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.22) (Changing host) |
2021-10-29 08:57:53 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-10-29 08:57:54 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 08:58:32 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 08:58:41 +0200 | comandingo | (~drever@ipb218f985.dynamic.kabel-deutschland.de) |
2021-10-29 08:59:03 +0200 | comandingo | (~drever@ipb218f985.dynamic.kabel-deutschland.de) (Client Quit) |
2021-10-29 09:00:23 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-10-29 09:07:06 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-29 09:08:05 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) |
2021-10-29 09:11:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 09:19:10 +0200 | hololeap | (~hololeap@user/hololeap) |
2021-10-29 09:22:16 +0200 | bontaq` | (~user@ool-45779fe5.dyn.optonline.net) |
2021-10-29 09:25:51 +0200 | MoC_ | (~moc@user/moc) (Quit: Konversation terminated!) |
2021-10-29 09:27:10 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-10-29 09:27:17 +0200 | MoC | (~moc@user/moc) |
2021-10-29 09:29:49 +0200 | hendursaga | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-10-29 09:30:37 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-29 09:30:53 +0200 | chele | (~chele@user/chele) |
2021-10-29 09:31:53 +0200 | gehmehgeh_ | (~user@user/gehmehgeh) |
2021-10-29 09:32:57 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-10-29 09:34:01 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-29 09:35:15 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 09:35:24 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 276 seconds) |
2021-10-29 09:38:04 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-10-29 09:38:19 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d78f12f2b4aa168a17a.dip0.t-ipconnect.de) |
2021-10-29 09:39:41 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-10-29 09:43:14 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 09:47:55 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-10-29 09:51:58 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
2021-10-29 09:58:28 +0200 | ubert | (~Thunderbi@178.165.162.187.wireless.dyn.drei.com) |
2021-10-29 10:00:05 +0200 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-10-29 10:00:45 +0200 | fendor | (~fendor@178.165.166.121.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-10-29 10:06:55 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-10-29 10:08:33 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-29 10:12:30 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-29 10:14:38 +0200 | d0ku | (~d0ku@178.43.150.25.ipv4.supernova.orange.pl) |
2021-10-29 10:16:46 +0200 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-10-29 10:16:54 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
2021-10-29 10:17:38 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-29 10:18:09 +0200 | hololeap | (~hololeap@user/hololeap) |
2021-10-29 10:20:51 +0200 | bontaq` | bontaq |
2021-10-29 10:27:16 +0200 | phma | (~phma@host-67-44-208-251.hnremote.net) (Read error: Connection reset by peer) |
2021-10-29 10:28:32 +0200 | phma | (~phma@host-67-44-208-63.hnremote.net) |
2021-10-29 10:32:37 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-10-29 10:32:58 +0200 | vpan | (~0@212.117.1.172) |
2021-10-29 10:35:18 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-29 10:38:20 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-10-29 10:40:42 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-29 10:40:52 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-10-29 10:42:53 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-29 11:07:01 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-29 11:11:26 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 11:12:07 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) |
2021-10-29 11:12:54 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-29 11:17:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 264 seconds) |
2021-10-29 11:19:15 +0200 | jumper149 | (~jumper149@80.240.31.34) (Ping timeout: 260 seconds) |
2021-10-29 11:19:59 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-10-29 11:21:15 +0200 | mmhat | (~mmh@55d4be4b.access.ecotel.net) |
2021-10-29 11:22:22 +0200 | gehmehgeh_ | gehmehgeh |
2021-10-29 11:23:04 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-10-29 11:25:15 +0200 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
2021-10-29 11:25:16 +0200 | poljar | (~poljar@93-139-113-226.adsl.net.t-com.hr) (Ping timeout: 252 seconds) |
2021-10-29 11:25:57 +0200 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2021-10-29 11:26:05 +0200 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2021-10-29 11:26:57 +0200 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-10-29 11:27:13 +0200 | poljar | (~poljar@78-3-31-140.adsl.net.t-com.hr) |
2021-10-29 11:38:29 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 264 seconds) |
2021-10-29 11:42:33 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 11:44:10 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-10-29 11:45:12 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-29 11:45:32 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-29 11:57:59 +0200 | lortabac | (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Ping timeout: 264 seconds) |
2021-10-29 12:02:11 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 264 seconds) |
2021-10-29 12:11:17 +0200 | lortabac | (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) |
2021-10-29 12:12:08 +0200 | __monty__ | (~toonn@user/toonn) |
2021-10-29 12:12:58 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-10-29 12:16:04 +0200 | wonko | (~wjc@user/wonko) |
2021-10-29 12:17:53 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-29 12:18:42 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-29 12:21:19 +0200 | jjrol | (~jjrol@n122-104-58-147.sun4.vic.optusnet.com.au) |
2021-10-29 12:22:21 +0200 | jjrol | (~jjrol@n122-104-58-147.sun4.vic.optusnet.com.au) () |
2021-10-29 12:24:32 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-10-29 12:35:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 12:36:05 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d78f12f2b4aa168a17a.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-10-29 12:36:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 12:39:36 +0200 | johnjay | (~pi@192.142.100.50) (Ping timeout: 260 seconds) |
2021-10-29 12:42:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 12:42:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 12:45:31 +0200 | dcl^ | (~dcl@wsip-98-188-242-6.mc.at.cox.net) |
2021-10-29 12:46:22 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 258 seconds) |
2021-10-29 12:47:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-29 12:48:01 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 12:48:23 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 264 seconds) |
2021-10-29 12:53:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 12:54:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 12:55:56 +0200 | ubert | (~Thunderbi@178.165.162.187.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-10-29 12:56:25 +0200 | Cajun | (~Cajun@user/cajun) |
2021-10-29 12:57:19 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 13:02:00 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-10-29 13:03:02 +0200 | faultline | (~christian@nat-eduroam-01.scc.kit.edu) (Ping timeout: 246 seconds) |
2021-10-29 13:03:46 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-29 13:03:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-10-29 13:05:09 +0200 | img | (~img@user/img) |
2021-10-29 13:05:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 13:12:48 +0200 | AlexNoo_ | (~AlexNoo@178.34.163.209) |
2021-10-29 13:14:35 +0200 | Alex_test | (~al_test@178.34.150.219) (Ping timeout: 260 seconds) |
2021-10-29 13:15:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-10-29 13:15:32 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-29 13:15:49 +0200 | AlexNoo_ | (~AlexNoo@178.34.163.209) (Client Quit) |
2021-10-29 13:16:00 +0200 | AlexZenon | (~alzenon@178.34.150.219) (Ping timeout: 260 seconds) |
2021-10-29 13:16:03 +0200 | AlexNoo_ | (~AlexNoo@178.34.163.209) |
2021-10-29 13:16:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-10-29 13:16:35 +0200 | AlexNoo | (~AlexNoo@178.34.150.219) (Ping timeout: 264 seconds) |
2021-10-29 13:16:48 +0200 | AlexZenon | (~alzenon@178.34.163.209) |
2021-10-29 13:16:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 13:16:59 +0200 | Alex_test | (~al_test@178.34.163.209) |
2021-10-29 13:17:31 +0200 | ubert | (~Thunderbi@178.165.162.187.wireless.dyn.drei.com) |
2021-10-29 13:17:50 +0200 | AlexNoo_ | AlexNoo |
2021-10-29 13:19:16 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
2021-10-29 13:19:19 +0200 | talismanick | (~talismani@76.78.246.111) |
2021-10-29 13:20:01 +0200 | <talismanick> | Realized I didn't have Haskell yet on my computer, so I curl'd ghcup, ran it, and got... an error? |
2021-10-29 13:20:10 +0200 | <maerwald> | talismanick: which one |
2021-10-29 13:20:51 +0200 | <talismanick> | maerwald: Version of ghcup? Whichever's latest from the website - I didn't pipe directly to sh, but into a script which I then executed |
2021-10-29 13:21:06 +0200 | <maerwald> | which error |
2021-10-29 13:21:25 +0200 | <talismanick> | I looked at config.log in /tmp, and it was calling GCC with flags which don't exist, like -V |
2021-10-29 13:21:58 +0200 | <maerwald> | that's not ghcup, that's the GHC configure script |
2021-10-29 13:22:01 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-10-29 13:22:14 +0200 | <maerwald> | so it failed during installing the bindist? |
2021-10-29 13:22:32 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 13:22:43 +0200 | <talismanick> | yeah |
2021-10-29 13:22:57 +0200 | <maerwald> | can you reproduce the error when running configure? |
2021-10-29 13:23:25 +0200 | <talismanick> | maerwald: Correct. I tried it 2x. |
2021-10-29 13:23:42 +0200 | <maerwald> | what's the exact error then? |
2021-10-29 13:24:01 +0200 | <maerwald> | not all errors in config.log are fatal |
2021-10-29 13:24:48 +0200 | <talismanick> | https://0x0.st/-nTw.log |
2021-10-29 13:25:15 +0200 | <talismanick> | maerwald: Yeah, but it does list 2 errors as "fatal" |
2021-10-29 13:25:46 +0200 | <maerwald> | it's just probing your gcc for cli flags afaik |
2021-10-29 13:26:04 +0200 | <maerwald> | error: cannot run C compiled programs. |
2021-10-29 13:26:07 +0200 | <maerwald> | this looks relevant |
2021-10-29 13:26:59 +0200 | <tomsmeding> | in particular that "permission denied" |
2021-10-29 13:27:13 +0200 | <tomsmeding> | is your /tmp on a partition which does not allow executing executables? |
2021-10-29 13:27:13 +0200 | <talismanick> | I don't remember running it with sudo |
2021-10-29 13:27:26 +0200 | tomsmeding | thinks that's the noexec mount option, but might remember incorrectly |
2021-10-29 13:28:03 +0200 | <talismanick> | tomsmeding: Well, I remember setting tmp with "nosuid" in /etc/fstab not long ago |
2021-10-29 13:28:09 +0200 | <talismanick> | Here's the whole line: tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0 |
2021-10-29 13:28:13 +0200 | <maerwald> | talismanick: run the script with TMPDIR=$HOME/.ghcup-tmp or so set |
2021-10-29 13:28:49 +0200 | <maerwald> | I believe cabal itself will bail out badly too if it can't execute binaries in /tmp |
2021-10-29 13:28:51 +0200 | johnjay | (~pi@192.142.100.50) |
2021-10-29 13:29:08 +0200 | <tomsmeding> | talismanick: try what maerwald suggests; if that does work, 'mount | grep /tmp' and see what flags are there (I have nosuid too, works fine) |
2021-10-29 13:29:15 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-29 13:30:37 +0200 | img | (~img@user/img) |
2021-10-29 13:31:11 +0200 | <talismanick> | tomsmeding: Good call - there is indeed a noexec flag set |
2021-10-29 13:31:18 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-29 13:31:29 +0200 | <tomsmeding> | no idea how that might end up there, but that's probably the issue here |
2021-10-29 13:31:43 +0200 | <maerwald> | it's an odd choice |
2021-10-29 13:31:54 +0200 | <maerwald> | I don't see that improving security |
2021-10-29 13:32:12 +0200 | <talismanick> | tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,noatime,size=6291456k,inode64) |
2021-10-29 13:32:38 +0200 | <talismanick> | I don't remember ever writing that explicitly - could it be that btrfs put it there? |
2021-10-29 13:32:38 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-29 13:32:51 +0200 | dcl^ | (~dcl@wsip-98-188-242-6.mc.at.cox.net) (Remote host closed the connection) |
2021-10-29 13:33:00 +0200 | <maerwald> | at any rate, check out https://www.haskell.org/ghcup/guide/#env-variables |
2021-10-29 13:33:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 13:33:32 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 13:35:06 +0200 | <talismanick> | maerwald: I think I've seen that at some point - I have the XDG option set in ~/.bash_profile already |
2021-10-29 13:35:13 +0200 | <hpc> | it stops a lot of lazy malware - /tmp is one of those places every user needs to write to, so it's a good place to drop the next stage of an attack after you have disk access |
2021-10-29 13:36:14 +0200 | <maerwald> | malware? |
2021-10-29 13:36:20 +0200 | <maerwald> | like ghcup? :D |
2021-10-29 13:36:40 +0200 | <hpc> | like php :D |
2021-10-29 13:36:51 +0200 | <talismanick> | write and compile hello_world.c => "Windows detected malware and deleted it" |
2021-10-29 13:39:44 +0200 | dsrt^ | (~dsrt@wsip-98-188-242-6.mc.at.cox.net) |
2021-10-29 13:40:02 +0200 | rond_ | (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed) |
2021-10-29 13:44:25 +0200 | <bontaq> | lmao |
2021-10-29 13:45:29 +0200 | <talismanick> | Anyways, I remounted /tmp with "exec" in the args, and it works fine now |
2021-10-29 13:46:22 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-29 13:48:46 +0200 | tomsmeding | wonders why a tmpfs has noatime set -- that's for increasing performance due to not performing additional non-sequential writes for each file update, right? But tmpfs is an in-memory file system, so that shouldn't matter much |
2021-10-29 13:49:37 +0200 | <hpc> | atime is access time? |
2021-10-29 13:49:43 +0200 | <hpc> | it probably improves read performance enough to be worth it |
2021-10-29 13:49:46 +0200 | <geekosaur> | tmpfs is more complicated than that iirc. in particular it can use otherwise free swap space |
2021-10-29 13:50:18 +0200 | <tomsmeding> | ah |
2021-10-29 13:50:20 +0200 | <talismanick> | hpc: Don't ask me, I don't know why. I posted the tmpfs line in /etc/fstab, which is roughly what you'd expect |
2021-10-29 13:50:28 +0200 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-10-29 13:50:38 +0200 | <tomsmeding> | talismanick: hpc responded to me I think :p |
2021-10-29 13:50:48 +0200 | <talismanick> | oh, duh |
2021-10-29 13:50:50 +0200 | <talismanick> | tired |
2021-10-29 13:50:56 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 13:51:21 +0200 | oxide | (~lambda@user/oxide) |
2021-10-29 13:53:03 +0200 | <hpc> | :P |
2021-10-29 13:59:20 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-29 13:59:29 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 264 seconds) |
2021-10-29 13:59:35 +0200 | JimL | (~quassel@89-162-2-132.fiber.signal.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-10-29 13:59:54 +0200 | JimL | (~quassel@89-162-2-132.fiber.signal.no) |
2021-10-29 14:00:27 +0200 | JimL | (~quassel@89-162-2-132.fiber.signal.no) (Client Quit) |
2021-10-29 14:00:45 +0200 | JimL | (~quassel@89-162-2-132.fiber.signal.no) |
2021-10-29 14:04:55 +0200 | guniberas | (~guniberas@42.191.188.121) |
2021-10-29 14:06:33 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
2021-10-29 14:19:59 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2021-10-29 14:21:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-29 14:24:41 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 264 seconds) |
2021-10-29 14:27:39 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-10-29 14:31:22 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-29 14:31:27 +0200 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection) |
2021-10-29 14:32:03 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-10-29 14:36:04 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-29 14:37:27 +0200 | img | (~img@user/img) |
2021-10-29 14:38:56 +0200 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-10-29 14:42:45 +0200 | dsrt^ | (~dsrt@wsip-98-188-242-6.mc.at.cox.net) (Remote host closed the connection) |
2021-10-29 14:44:40 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 14:56:41 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-29 14:56:56 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-29 14:57:07 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 14:58:37 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-29 14:58:59 +0200 | Vajb | (~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) |
2021-10-29 15:01:55 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-10-29 15:05:47 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 264 seconds) |
2021-10-29 15:06:58 +0200 | <maerwald> | I can't coerce if the target data constructor is not in scope? |
2021-10-29 15:07:26 +0200 | <merijn> | maerwald: You mean newtype constructor, presumably? And correct |
2021-10-29 15:07:35 +0200 | <maerwald> | yes |
2021-10-29 15:07:39 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 15:08:05 +0200 | <merijn> | Can't coerce without visible constructor (to allow abstract datatypes that can't be coerced) |
2021-10-29 15:08:21 +0200 | <maerwald> | is there a hack to make it work? |
2021-10-29 15:08:27 +0200 | <merijn> | unsafeCoerce? :p |
2021-10-29 15:09:05 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 260 seconds) |
2021-10-29 15:10:53 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2021-10-29 15:11:02 +0200 | kn07_ | (~kn07_@86.121.23.168) |
2021-10-29 15:12:07 +0200 | <maerwald> | well, that was easy |
2021-10-29 15:12:22 +0200 | <maerwald> | packages not exposing internal modules are annoying |
2021-10-29 15:14:42 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-10-29 15:15:33 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-10-29 15:15:39 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-10-29 15:16:01 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-29 15:17:53 +0200 | <Tisoxin> | There aren't any laws for the Alternative type class, are there? |
2021-10-29 15:18:19 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-10-29 15:19:27 +0200 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen) |
2021-10-29 15:20:14 +0200 | yrlnry | (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) |
2021-10-29 15:23:09 +0200 | hendursa1 | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-29 15:23:30 +0200 | <Tisoxin> | nvm |
2021-10-29 15:24:57 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-10-29 15:27:40 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-10-29 15:28:19 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-10-29 15:36:21 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
2021-10-29 15:37:17 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 15:38:29 +0200 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-10-29 15:38:30 +0200 | MQ-17J | (~MQ-17J@8.6.144.203) |
2021-10-29 15:38:44 +0200 | amazigh | (~amirouche@user/amirouche) (WeeChat 2.8) |
2021-10-29 15:39:17 +0200 | fendor | (~fendor@178.115.69.86.wireless.dyn.drei.com) |
2021-10-29 15:39:50 +0200 | <lortabac> | Tisoxin: that's a good question, I would say it should have the same laws as Monoid, but perhaps different laws are also possible and no agreement has been reached |
2021-10-29 15:40:11 +0200 | wonko | (~wjc@user/wonko) (Ping timeout: 246 seconds) |
2021-10-29 15:41:00 +0200 | <lortabac> | it would be interesting to read the discussions that led to the absence of laws in the documentation |
2021-10-29 15:42:16 +0200 | <lortabac> | maybe, given the superclass constraint, the Applicative laws are enough? |
2021-10-29 15:43:40 +0200 | <merijn> | Alternative laws are associativity + identity |
2021-10-29 15:43:42 +0200 | <merijn> | So same as monoid |
2021-10-29 15:43:51 +0200 | <merijn> | That part is uncontroversial, afaik |
2021-10-29 15:44:02 +0200 | <merijn> | The controversy is the relation between Alternative/MonadPlus |
2021-10-29 15:44:08 +0200 | <maerwald> | anyone tried GHC under wine? |
2021-10-29 15:44:28 +0200 | <lortabac> | merijn: but why aren't they mentioned in the documentation? |
2021-10-29 15:44:29 +0200 | <maerwald> | I'm getting tired of coding inside a windows VM |
2021-10-29 15:45:28 +0200 | <merijn> | lortabac: They are? "A monoid on applicative functors." and empty says "The identity of <|>" and <|> says "An associative binary operation" |
2021-10-29 15:45:38 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-29 15:46:07 +0200 | <merijn> | lortabac: The real controversy is mzero/mplus |
2021-10-29 15:46:23 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-29 15:46:33 +0200 | <merijn> | lortabac: Specifically the docs say: "v >> mzero = mzero" but does that mean the effects of 'v' happened or not? |
2021-10-29 15:46:55 +0200 | <lortabac> | merijn: right, I was looking for an explicit list of laws as the other classes |
2021-10-29 15:47:25 +0200 | <merijn> | lortabac: Yeah, I recall that existing in the past (but maybe I imagined it?), should be easy for someone to add that, though |
2021-10-29 15:48:31 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) (Remote host closed the connection) |
2021-10-29 15:49:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: restart) |
2021-10-29 15:50:31 +0200 | <geekosaur> | might check the Typeclassopedia |
2021-10-29 15:51:02 +0200 | <geekosaur> | although if it's there then someone should really add it to the class docs |
2021-10-29 15:51:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 15:52:51 +0200 | <lortabac> | I'm reading the Typeclassopedia, it explains the problem well |
2021-10-29 15:56:29 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 264 seconds) |
2021-10-29 15:58:40 +0200 | ubert | (~Thunderbi@178.165.162.187.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-10-29 16:00:34 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 16:00:59 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-10-29 16:04:00 +0200 | MQ-17J | (~MQ-17J@8.6.144.203) (Ping timeout: 260 seconds) |
2021-10-29 16:07:49 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 16:09:32 +0200 | lortabac | (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Quit: WeeChat 2.8) |
2021-10-29 16:12:16 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d78f12f2b4aa168a17a.dip0.t-ipconnect.de) |
2021-10-29 16:13:08 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-10-29 16:17:28 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-29 16:21:46 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Ping timeout: 245 seconds) |
2021-10-29 16:22:59 +0200 | faultline | (~christian@193.27.14.21) |
2021-10-29 16:24:32 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-29 16:25:16 +0200 | <Tisoxin> | <merijn> "lortabac: Specifically the..." <- i stumpled upon this controvery due to megaparsecs ParsecT: https://hackage.haskell.org/package/megaparsec-9.2.0/docs/Text-Megaparsec.html#t:ParsecT |
2021-10-29 16:27:20 +0200 | <merijn> | Well, it's not a law in the docs, because people can't agree on it :p |
2021-10-29 16:27:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: relog) |
2021-10-29 16:27:57 +0200 | <Tisoxin> | yeah |
2021-10-29 16:30:48 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) |
2021-10-29 16:32:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 16:36:53 +0200 | <adamCS> | maerwald: Thanks again for all the help yesterday! Using the ByteString functions as a Streamly unfold ends up 3 times faster than Text.hGetline. I can see from all your fine tuned inline pragmas that there's some subtlety to inlining well for streamly. Any place you would go to read/learn about that? I'm onto to optimizing another bit that I would like to fuse as nicely as possible... |
2021-10-29 16:37:57 +0200 | <maerwald> | adamCS: https://github.com/composewell/streamly/blob/master/docs/optimizing.md |
2021-10-29 16:38:53 +0200 | <maerwald> | what do you mean with "ByteString functions as Streamly unfold"? Did you use streamly-bytestring with the elemIndex? |
2021-10-29 16:39:21 +0200 | <adamCS> | No. Just used your function to feed Streamly.Unfold.unfoldr |
2021-10-29 16:39:23 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-10-29 16:39:24 +0200 | <adamCS> | more or less |
2021-10-29 16:39:56 +0200 | <maerwald> | https://hackage.haskell.org/package/streamly-0.8.0/docs/Streamly-Prelude.html#v:unfoldr |
2021-10-29 16:39:59 +0200 | <maerwald> | that way? |
2021-10-29 16:40:40 +0200 | <maerwald> | I still feel it's kinda a hack |
2021-10-29 16:40:52 +0200 | <maerwald> | Because we're relying on lazy bytestring |
2021-10-29 16:41:00 +0200 | <adamCS> | https://gist.github.com/adamConnerSax/f115bb26a15e597d1199d42af2645568 |
2021-10-29 16:41:42 +0200 | <adamCS> | Sure. I'm just trying to make a thing faster though, so it's a win. 10 times faster than Pipes using Pipes.Text and feeding Pipes via that same function didn't speed that up much. Which is confusing. |
2021-10-29 16:41:50 +0200 | <maerwald> | yeah, but we're not using streamly to read the file now, which is sad |
2021-10-29 16:42:33 +0200 | <maerwald> | although we could: https://hackage.haskell.org/package/streamly-bytestring-0.1.3/docs/Streamly-External-ByteString-La… |
2021-10-29 16:42:44 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 260 seconds) |
2021-10-29 16:42:48 +0200 | <merijn> | adamCS: I mean, bytestring being faster than Text is kinda obvious, though? You save a lot of effort if you don't bother decoding the data |
2021-10-29 16:42:59 +0200 | <maerwald> | merijn: not necessarily |
2021-10-29 16:42:59 +0200 | Vajb | (~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-10-29 16:43:09 +0200 | <maerwald> | the reason it's faster is only because we use `elemIndex` and nothing else |
2021-10-29 16:43:09 +0200 | <merijn> | maerwald: Not necessarily what? |
2021-10-29 16:43:15 +0200 | <maerwald> | which uses memchr |
2021-10-29 16:43:21 +0200 | <adamCS> | merijn: But I do decode it, after it's broken into lines as ByteString |
2021-10-29 16:43:23 +0200 | <maerwald> | some other bytestring functions don't |
2021-10-29 16:43:47 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-29 16:43:50 +0200 | <maerwald> | in fact, most bytestring functions have their own hot loop with pointer aritmetic |
2021-10-29 16:43:55 +0200 | <maerwald> | which is much slower than memchr |
2021-10-29 16:44:33 +0200 | <maerwald> | abusing elemIndex is also how chris made the fast xml parser: https://chrisdone.com/posts/fast-haskell-c-parsing-xml/ |
2021-10-29 16:44:46 +0200 | <maerwald> | which is faster than most C implementations even |
2021-10-29 16:45:02 +0200 | <maerwald> | now... if we could trick streamly into using elemIndex in our parser |
2021-10-29 16:45:21 +0200 | <maerwald> | that would be really cool... because then we have the speed of the xeno approach, but with an API that doesn't suck |
2021-10-29 16:45:48 +0200 | <maerwald> | (internal API, but still... did you look at the xeno code? ugh.) |
2021-10-29 16:47:21 +0200 | <maerwald> | but I'm susprised that a very simple char-by-char Fold in streamly is faster than attoparsec |
2021-10-29 16:47:30 +0200 | surgeon[m] | (~surge9nma@2001:470:69fc:105::f585) |
2021-10-29 16:47:38 +0200 | max22- | (~maxime@2a01cb08833598004910fadca795f245.ipv6.abo.wanadoo.fr) |
2021-10-29 16:47:51 +0200 | <maerwald> | but it's true this feels more like experimentation than a stable API |
2021-10-29 16:48:41 +0200 | <adamCS> | Yeah. I'm going to be sad if Unfold disappears. Is to be replaced by "Producer" or something else? Just the move from 0.7 to 0.8 was sorta painful. My own fault for using all sorts of "Internal" modules. |
2021-10-29 16:49:20 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 16:49:21 +0200 | <maerwald> | they don't have funding for streamly... this is something HF should address imo |
2021-10-29 16:49:31 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-29 16:49:31 +0200 | <maerwald> | it needs a lot of work |
2021-10-29 16:49:53 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 16:50:58 +0200 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-10-29 16:51:07 +0200 | <adamCS> | And I find the performance good but mysterious. I worked for a bit yesterday to take a thing I do a lot: load from csv to Text lines, turn each text line into a Vinyl record, transform the record into a different record, possibly filtering, so (Record rs -> Maybe (Record rs')) and then load that into Frames in-core AoS representation. |
2021-10-29 16:51:57 +0200 | <adamCS> | Each step is streamly, unfold to Text, scan to process headers and then tokenize and convert the lines, map to do the transformation and then a fold into the AoS structure. |
2021-10-29 16:52:05 +0200 | kn07_ | (~kn07_@86.121.23.168) (Quit: Leaving) |
2021-10-29 16:52:32 +0200 | <adamCS> | But the version that uses separate functions is faster. Which is inexplicable to me unless I have an inlining issue. Which I probably do. |
2021-10-29 16:52:49 +0200 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2021-10-29 16:53:12 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-10-29 16:58:45 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-10-29 17:00:08 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-10-29 17:05:35 +0200 | <maerwald> | adamCS: I still think there's a problem that needs to be solved in streamly. Namely chunked parsing... because you can only say "backtrack an entire element", but you can't say "drop the element, but then prepend this to the input of the next parser" |
2021-10-29 17:06:09 +0200 | <maerwald> | I think this is due to how nested backtracking works |
2021-10-29 17:06:32 +0200 | <maerwald> | I briefly lookd at the code and it doesn't seem there's an easy hack |
2021-10-29 17:06:46 +0200 | <adamCS> | Yes. That seems like it would be useful, that the next element you process should be produced by a function of the current state and the next element in the stream. |
2021-10-29 17:07:42 +0200 | <maerwald> | my suspicion is that using elemIndex within chunk boundaries and then forwarding to the next chunk will be as fast as the same on lazy ByteString |
2021-10-29 17:08:32 +0200 | <maerwald> | also, Folds will get a monadic interface |
2021-10-29 17:08:50 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-10-29 17:08:51 +0200 | <maerwald> | they seem to be generally faster than parsers, probably due to lack of backtracking |
2021-10-29 17:09:11 +0200 | <maerwald> | (even if you don't use the backtracking) |
2021-10-29 17:20:38 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d78f12f2b4aa168a17a.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-10-29 17:24:02 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-29 17:28:24 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-29 17:31:43 +0200 | <Boarders> | is there a way to get around "Unrecognised pragma for {#- HLINT ignore #-} ? |
2021-10-29 17:32:19 +0200 | <merijn> | Not currently |
2021-10-29 17:32:27 +0200 | <merijn> | Besides "don't use the pragma syntax" |
2021-10-29 17:32:50 +0200 | <Boarders> | I'll see if hlint has an option to turn off all checks in a module using yaml |
2021-10-29 17:33:17 +0200 | <Boarders> | I think it does |
2021-10-29 17:33:24 +0200 | fizzsegfaultbuzz | (~segfaultf@135-180-0-138.static.sonic.net) |
2021-10-29 17:34:22 +0200 | <monochrom> | Which program is giving the "Unrecognised pragma" message? GHC? hlint? |
2021-10-29 17:34:32 +0200 | <Boarders> | GHC via ghcid |
2021-10-29 17:35:04 +0200 | <merijn> | GHC |
2021-10-29 17:35:21 +0200 | <geekosaur> | it's a warning, I believe |
2021-10-29 17:35:26 +0200 | <merijn> | Anything using the {-# #-} pragma syntax that GHC doesn't know produces a warning |
2021-10-29 17:36:07 +0200 | <merijn> | There was a big discussion on how to handle tool pragmas like hlint a while (several years, possibly) ago, but not sure what the end conclusion was |
2021-10-29 17:36:59 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 264 seconds) |
2021-10-29 17:37:22 +0200 | <geekosaur> | the battle between the tools folks and the LANGAUGE folks :þ |
2021-10-29 17:37:38 +0200 | <monochrom> | haha |
2021-10-29 17:38:01 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-29 17:38:52 +0200 | <remexre> | am I understanding correctly if it seems like (in the "instance resolution is Prolog" metaphor) every rule has a cut? |
2021-10-29 17:39:09 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) |
2021-10-29 17:39:16 +0200 | <monochrom> | Yes. |
2021-10-29 17:39:17 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) |
2021-10-29 17:39:43 +0200 | <remexre> | is there a way to... not have that? |
2021-10-29 17:39:50 +0200 | <monochrom> | No. |
2021-10-29 17:40:59 +0200 | <remexre> | any suggestings for making a printf-like that "finally" returns an arbitrary MonadIO? Right now I have instances {-# OVERLAPPING #-} (LogFunction func, ToJSON a) => LogFunction (a -> func) and {-# OVERLAPPABLE #-} (MonadIO m, a ~ ()) => LogFunction (m a) |
2021-10-29 17:41:00 +0200 | <monochrom> | Or yes if you reimagine Haskell to defer resolution to link time and therefore you enjoy a CWA therefore backtracking makes sense again. |
2021-10-29 17:41:09 +0200 | <remexre> | CWA? |
2021-10-29 17:41:15 +0200 | <monochrom> | closed-world assumption |
2021-10-29 17:41:25 +0200 | <monochrom> | the anti-thesis to separate compilation |
2021-10-29 17:41:39 +0200 | <monochrom> | You do know Prolog, right? RIGHT? |
2021-10-29 17:41:49 +0200 | <remexre> | yes, but not for AI, for logic :P |
2021-10-29 17:41:59 +0200 | Franciman | (~Franciman@mx1.fracta.dev) (Remote host closed the connection) |
2021-10-29 17:42:12 +0200 | <monochrom> | I learned CWA in the context of "prolog as a logic" too. |
2021-10-29 17:42:42 +0200 | <monochrom> | It is why "negation" "makes" "sense" in Prolog. |
2021-10-29 17:42:45 +0200 | <remexre> | I've heard the term (though idk if it was from Prolog or general AI stuff), but never seen the acronym before, prolog or otherwise... anyway |
2021-10-29 17:42:47 +0200 | Franciman | (~Franciman@mx1.fracta.dev) |
2021-10-29 17:42:54 +0200 | <remexre> | I guess I'd need something to prevent a (MonadIO (r -> a)) instance from being written |
2021-10-29 17:43:06 +0200 | <remexre> | er, (MonadIO ((->) r))) |
2021-10-29 17:45:27 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-10-29 17:45:48 +0200 | <monochrom> | Often we create newtypes to get it going. |
2021-10-29 17:45:56 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 245 seconds) |
2021-10-29 17:47:36 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) (Ping timeout: 260 seconds) |
2021-10-29 17:48:19 +0200 | <remexre> | hm, any way to do that without changing the signature? This works with a concrete IO instead of the MonadIO, but avoiding needing to use liftIO every time is "the point" |
2021-10-29 17:49:26 +0200 | d0ku | (~d0ku@178.43.150.25.ipv4.supernova.orange.pl) (Remote host closed the connection) |
2021-10-29 17:52:28 +0200 | fendor_ | (~fendor@178.115.69.81.wireless.dyn.drei.com) |
2021-10-29 17:54:15 +0200 | <monochrom> | onoes GHC 9.2.1 |
2021-10-29 17:54:20 +0200 | <monochrom> | I mean oyes :) |
2021-10-29 17:54:55 +0200 | <shapr> | oyes! |
2021-10-29 17:54:55 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 17:55:02 +0200 | fendor | (~fendor@178.115.69.86.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2021-10-29 17:55:13 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 17:56:10 +0200 | <monochrom> | Haha GHC2021 in lieu of Haskell2021 |
2021-10-29 17:56:24 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-10-29 17:58:17 +0200 | <monochrom> | Ben ends the message with "happy testing". This is how confident the GHC devs are about this haha. |
2021-10-29 17:59:00 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2021-10-29 17:59:01 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-29 17:59:14 +0200 | <sprout> | I can relate! |
2021-10-29 17:59:28 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-10-29 17:59:36 +0200 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) (Quit: This computer has gone to sleep) |
2021-10-29 18:00:09 +0200 | monadfritz[m] | (~ahdytmatr@2001:470:69fc:105::e1f1) (Quit: You have been kicked for being idle) |
2021-10-29 18:02:06 +0200 | <monochrom> | I am now tempted to end all my emails with "Good luck with that, \n <my name>" |
2021-10-29 18:02:40 +0200 | <monochrom> | Example: |
2021-10-29 18:02:51 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-10-29 18:03:36 +0200 | <monochrom> | A student emails me to ask "is it OK for me to use do-notation on the exam, even though you didn't teach it?" |
2021-10-29 18:03:58 +0200 | <monochrom> | Reply: "Yes you may. \n \n Good luck with that, \n <my name>" |
2021-10-29 18:04:55 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 258 seconds) |
2021-10-29 18:11:04 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-10-29 18:11:05 +0200 | talismanick | (~talismani@76.78.246.111) (Remote host closed the connection) |
2021-10-29 18:12:48 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Quit: WeeChat 3.3) |
2021-10-29 18:15:00 +0200 | igghibu | (~igghibu@37.120.201.125) |
2021-10-29 18:16:55 +0200 | igghibu | (~igghibu@37.120.201.125) () |
2021-10-29 18:20:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 18:20:11 +0200 | <myShoggoth> | "Govern yourself accordingly," |
2021-10-29 18:20:46 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-29 18:21:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 18:23:07 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
2021-10-29 18:27:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-10-29 18:27:24 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 18:32:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-10-29 18:33:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 18:34:09 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (Quit: Ping timeout (120 seconds)) |
2021-10-29 18:34:10 +0200 | chexum_ | (~quassel@gateway/tor-sasl/chexum) |
2021-10-29 18:34:20 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) |
2021-10-29 18:34:32 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 244 seconds) |
2021-10-29 18:34:33 +0200 | mrianbloom | (sid350277@ilkley.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:34:33 +0200 | vito | (sid1962@user/vito) (Ping timeout: 244 seconds) |
2021-10-29 18:34:33 +0200 | supersven | (sid501114@ilkley.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:34:43 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-10-29 18:35:04 +0200 | S11001001 | (sid42510@ilkley.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:35:04 +0200 | JSharp | (sid4580@lymington.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:35:04 +0200 | hendi | (sid489601@lymington.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:35:10 +0200 | orcus | (~orcus@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in) |
2021-10-29 18:35:30 +0200 | orcus | (~orcus@user/brprice) |
2021-10-29 18:35:35 +0200 | sa1 | (sid7690@ilkley.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:35:35 +0200 | bradparker | (sid262931@uxbridge.irccloud.com) (Ping timeout: 244 seconds) |
2021-10-29 18:36:36 +0200 | hendi | (sid489601@id-489601.lymington.irccloud.com) |
2021-10-29 18:36:37 +0200 | vito | (sid1962@user/vito) |
2021-10-29 18:36:44 +0200 | bradparker | (sid262931@id-262931.uxbridge.irccloud.com) |
2021-10-29 18:36:49 +0200 | sa1 | (sid7690@id-7690.ilkley.irccloud.com) |
2021-10-29 18:36:56 +0200 | JSharp | (sid4580@id-4580.lymington.irccloud.com) |
2021-10-29 18:37:42 +0200 | supersven | (sid501114@id-501114.ilkley.irccloud.com) |
2021-10-29 18:37:43 +0200 | mrianbloom | (sid350277@id-350277.ilkley.irccloud.com) |
2021-10-29 18:38:14 +0200 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) |
2021-10-29 18:38:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-10-29 18:39:46 +0200 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 252 seconds) |
2021-10-29 18:40:45 +0200 | ft | (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 244 seconds) |
2021-10-29 18:41:42 +0200 | ft | (~ft@shell.chaostreff-dortmund.de) |
2021-10-29 18:42:20 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2021-10-29 18:42:41 +0200 | aegon | (~mike@174.127.249.180) |
2021-10-29 18:45:36 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 18:49:13 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) |
2021-10-29 18:55:13 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-10-29 18:55:40 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-29 18:56:11 +0200 | fendor_ | fendor |
2021-10-29 18:57:10 +0200 | Bleant | (~Bleant@2804:7f7:d68c:6ec3:f145:b950:2a0e:7ea8) |
2021-10-29 18:58:23 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 18:58:27 +0200 | Bleant | (~Bleant@2804:7f7:d68c:6ec3:f145:b950:2a0e:7ea8) (Remote host closed the connection) |
2021-10-29 18:59:57 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 19:03:23 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-10-29 19:04:12 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-10-29 19:04:59 +0200 | Katarushisu5 | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) |
2021-10-29 19:05:51 +0200 | agander_m_ | (sid407952@id-407952.tinside.irccloud.com) |
2021-10-29 19:05:52 +0200 | meinside_ | (uid24933@id-24933.helmsley.irccloud.com) |
2021-10-29 19:05:52 +0200 | manicennui_ | (uid349235@id-349235.tinside.irccloud.com) |
2021-10-29 19:05:52 +0200 | pepeiborra_ | (sid443799@id-443799.ilkley.irccloud.com) |
2021-10-29 19:05:52 +0200 | aria_ | (sid380617@id-380617.lymington.irccloud.com) |
2021-10-29 19:05:55 +0200 | dpratt__ | (sid193493@id-193493.helmsley.irccloud.com) |
2021-10-29 19:06:15 +0200 | bongobrown | (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Ping timeout: 258 seconds) |
2021-10-29 19:07:15 +0200 | carbolymer_ | (~carbolyme@dropacid.net) |
2021-10-29 19:08:06 +0200 | cross_ | (~cross@spitfire.i.gajendra.net) |
2021-10-29 19:08:20 +0200 | guniberas | (~guniberas@42.191.188.121) (Ping timeout: 260 seconds) |
2021-10-29 19:08:48 +0200 | motherfs1 | (~motherfsc@user/motherfsck) |
2021-10-29 19:10:06 +0200 | Guest6 | (~Guest6@2a01cb0d04e290000a0027fffe32ed70.ipv6.abo.wanadoo.fr) |
2021-10-29 19:11:20 +0200 | peterhil | (~peterhil@mobile-access-5672f1-161.dhcp.inet.fi) (Ping timeout: 265 seconds) |
2021-10-29 19:13:19 +0200 | motherfsck | (~motherfsc@user/motherfsck) (*.net *.split) |
2021-10-29 19:13:19 +0200 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (*.net *.split) |
2021-10-29 19:13:19 +0200 | Ekho | (~Ekho@user/ekho) (*.net *.split) |
2021-10-29 19:13:20 +0200 | carbolymer | (~carbolyme@dropacid.net) (*.net *.split) |
2021-10-29 19:13:20 +0200 | cross | (~cross@spitfire.i.gajendra.net) (*.net *.split) |
2021-10-29 19:13:20 +0200 | pepeiborra | (sid443799@ilkley.irccloud.com) (*.net *.split) |
2021-10-29 19:13:20 +0200 | manicennui | (uid349235@tinside.irccloud.com) (*.net *.split) |
2021-10-29 19:13:20 +0200 | aria | (sid380617@lymington.irccloud.com) (*.net *.split) |
2021-10-29 19:13:20 +0200 | meinside | (uid24933@helmsley.irccloud.com) (*.net *.split) |
2021-10-29 19:13:20 +0200 | agander_m | (sid407952@tinside.irccloud.com) (*.net *.split) |
2021-10-29 19:13:20 +0200 | dpratt_ | (sid193493@helmsley.irccloud.com) (*.net *.split) |
2021-10-29 19:13:20 +0200 | Katarushisu5 | Katarushisu |
2021-10-29 19:13:20 +0200 | dpratt__ | dpratt_ |
2021-10-29 19:13:20 +0200 | pepeiborra_ | pepeiborra |
2021-10-29 19:13:20 +0200 | meinside_ | meinside |
2021-10-29 19:13:20 +0200 | manicennui_ | manicennui |
2021-10-29 19:13:20 +0200 | aria_ | aria |
2021-10-29 19:15:00 +0200 | Ekho- | (~Ekho@user/ekho) |
2021-10-29 19:16:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 19:16:28 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 19:21:00 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Ping timeout: 265 seconds) |
2021-10-29 19:23:11 +0200 | Pickchea | (~private@user/pickchea) |
2021-10-29 19:23:15 +0200 | econo | (uid147250@user/econo) |
2021-10-29 19:23:41 +0200 | Ekho- | Ekho |
2021-10-29 19:31:40 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 19:32:39 +0200 | <lbseale> | can I automatically derive NFData for an arbitrary record type? |
2021-10-29 19:33:03 +0200 | <maerwald> | with Generic |
2021-10-29 19:33:22 +0200 | <lbseale> | nice |
2021-10-29 19:33:58 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:90ed:9a10:88ac:8dca) (Remote host closed the connection) |
2021-10-29 19:34:34 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) |
2021-10-29 19:34:40 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: djvksd) |
2021-10-29 19:35:46 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Ping timeout: 258 seconds) |
2021-10-29 19:39:48 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-29 19:40:00 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 19:40:58 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-29 19:41:11 +0200 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 264 seconds) |
2021-10-29 19:41:46 +0200 | chomwitt | (~chomwitt@2a02:587:dc12:b600:12c3:7bff:fe6d:d374) |
2021-10-29 19:43:14 +0200 | jil | (~user@160.155.45.49) |
2021-10-29 19:43:19 +0200 | <jil> | hello |
2021-10-29 19:44:29 +0200 | <jil> | I'm a begginer, learning haskell and I would like to define a type for different sets of digit. |
2021-10-29 19:46:43 +0200 | <pavonia> | Welcome |
2021-10-29 19:47:57 +0200 | <jil> | I could do `data Digit2 = Zero | One` or `data Digit6 = Zero | One | ... | Five` but I would like a more generic approche using Exiting Int or Char. For exemple `data Digits n` would be '0' | '1' | ... | nth -1 symbol of a predefined sequence |
2021-10-29 19:48:17 +0200 | Guest6 | (~Guest6@2a01cb0d04e290000a0027fffe32ed70.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
2021-10-29 19:49:20 +0200 | <jil> | How do I do that ? and Why can't I do `data Digit2 = 0 | 1` ? I want a Digit2 to be an Int and it's successor . |
2021-10-29 19:49:29 +0200 | <jil> | hello pavonia |
2021-10-29 19:49:58 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 19:50:06 +0200 | <jil> | or Digit2 to be two successive Char |
2021-10-29 19:50:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-10-29 19:51:10 +0200 | <yrlnry> | `Data` defines a new data type. If it let you `data Digit2 = 0 | 1`, then when the Haskell compiler saw a `0` in your code, it wouldn't know whether you meant the Data2 value 0 or the integer value 0. |
2021-10-29 19:52:40 +0200 | <yrlnry> | You can do `Data2 = D0 | D1`. Or you can tell Haskell that `Data2` is an instance of `Num`, and then define a `fromInteger` function for it that says how Haskell should interpret a `0` or a `1` that is being used in a place where it expected a `Digit2`. |
2021-10-29 19:53:16 +0200 | <dsal> | That gets partial if it's not modular, though. Because what does `4 :: Digit2` mean? |
2021-10-29 19:53:35 +0200 | <awpr> | it means "good luck debugging this with no stack trace" :) |
2021-10-29 19:53:54 +0200 | <awpr> | partial Num instances cause unbounded pain |
2021-10-29 19:53:58 +0200 | <yrlnry> | Presumably for this application partial is acceptable, it should complain `4 is not a permitted digit` or something. |
2021-10-29 19:54:41 +0200 | <dsal> | Partial functions are more desirable in the beginning. :) |
2021-10-29 19:54:47 +0200 | <monochrom> | Worse than that. Most Num methods make no sense for the "digit" concept. |
2021-10-29 19:55:14 +0200 | <awpr> | an error sounds okay at first glance, but there's no way to find out where the problem came from without making a profiling build and using the RTS' stack traces |
2021-10-29 19:55:34 +0200 | <yrlnry> | What would be a better approach? |
2021-10-29 19:55:41 +0200 | <awpr> | not having a Num instance |
2021-10-29 19:55:57 +0200 | <monochrom> | Don't make the digit type a Num instance in the first place. |
2021-10-29 19:56:05 +0200 | <jil> | ok |
2021-10-29 19:56:07 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-10-29 19:56:07 +0200 | <dsal> | You can make an e-Num type. That's more high tech anyway. |
2021-10-29 19:56:12 +0200 | <monochrom> | Enum ought to be enough for that. |
2021-10-29 19:56:42 +0200 | <awpr> | I wrote this entire library and GHC plugin fueled by frustration with exactly this problem: https://hackage.haskell.org/package/dependent-literals-plugin |
2021-10-29 19:57:03 +0200 | <yrlnry> | Enum is probably a better idea, thanks. |
2021-10-29 19:57:16 +0200 | <awpr> | to make it possible to make numeric literals work with Fin, without ruining somebody's week whenever someone uses an out-of-range literal |
2021-10-29 19:57:48 +0200 | <monochrom> | Enum is precisely for "my type is just 10 constructors flat". |
2021-10-29 19:57:55 +0200 | <awpr> | (incidentally, `DigitN` is `Fin N`) |
2021-10-29 19:58:25 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Ping timeout: 260 seconds) |
2021-10-29 19:59:00 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-10-29 19:59:03 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) |
2021-10-29 19:59:31 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) |
2021-10-29 20:00:11 +0200 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-10-29 20:00:57 +0200 | <monochrom> | Haha now I understand the e-Num joke. |
2021-10-29 20:02:30 +0200 | hololeap | (~hololeap@user/hololeap) |
2021-10-29 20:03:41 +0200 | <pavonia> | @quote beginner |
2021-10-29 20:03:41 +0200 | <lambdabot> | JohnHughes says: I would guess that the majority if compiler runs for beginners (and perhaps for the rest of us too!) end in a type error |
2021-10-29 20:04:15 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-10-29 20:04:46 +0200 | <pavonia> | Wasn't there a quote about beginners asking an innocent question and being overwhelmed with type theory answers? |
2021-10-29 20:04:55 +0200 | awpr | hides |
2021-10-29 20:06:00 +0200 | yrlnry | (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-10-29 20:07:53 +0200 | max22- | (~maxime@2a01cb08833598004910fadca795f245.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds) |
2021-10-29 20:07:54 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 20:08:20 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 20:08:31 +0200 | Farzad | (~FarzadBek@37.49.150.10) |
2021-10-29 20:08:42 +0200 | <geekosaur> | @quote type.theory |
2021-10-29 20:08:42 +0200 | <lambdabot> | ggVGc says: haskell also has the gotcha of starting to write a program and ending up with a ultra-generic library for some new type theory concepts you just learnt |
2021-10-29 20:08:49 +0200 | <geekosaur> | @quote type.theory |
2021-10-29 20:08:49 +0200 | <lambdabot> | ggVGc says: haskell also has the gotcha of starting to write a program and ending up with a ultra-generic library for some new type theory concepts you just learnt |
2021-10-29 20:08:53 +0200 | <geekosaur> | hm |
2021-10-29 20:09:57 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-29 20:09:58 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 20:10:08 +0200 | <shapr> | @quote first-year |
2021-10-29 20:10:08 +0200 | <lambdabot> | TacticalGrace says: #haskell in action: discussion about first-year teaching turns into an argument about CT and Kan extensions |
2021-10-29 20:10:11 +0200 | <shapr> | that one? |
2021-10-29 20:10:23 +0200 | mbuf | (~Shakthi@171.61.174.60) (Quit: Leaving) |
2021-10-29 20:10:34 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 20:10:57 +0200 | <shapr> | @quote category theory |
2021-10-29 20:10:57 +0200 | <lambdabot> | No quotes for this person. You untyped fool! |
2021-10-29 20:11:00 +0200 | <shapr> | @quote category.theory |
2021-10-29 20:11:00 +0200 | <lambdabot> | mjrosenb says: <3 #haskell; "why doesn't this program typecheck?" ; 5 hours of category theory later, op left 4 hours ago |
2021-10-29 20:11:05 +0200 | <shapr> | @quote category.theory |
2021-10-29 20:11:05 +0200 | <lambdabot> | Botje says: the line between madness and category theory is a fine one indeed. |
2021-10-29 20:11:13 +0200 | <shapr> | too many category theory quotes |
2021-10-29 20:11:32 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-29 20:11:54 +0200 | <earthy> | there's no such thing as to many category theory... is there? :) |
2021-10-29 20:12:30 +0200 | <monochrom> | 2-many 2-category theory |
2021-10-29 20:14:14 +0200 | hololeap | (~hololeap@user/hololeap) (Read error: Connection reset by peer) |
2021-10-29 20:14:17 +0200 | <jil> | awpr it's not clear exactly how to use you librari but I will try. I think It answer my question. |
2021-10-29 20:14:54 +0200 | <pavonia> | shapr: Hhm, maybe it was this first-year quote |
2021-10-29 20:15:08 +0200 | <jil> | I have another innocent beginner question. |
2021-10-29 20:15:13 +0200 | <awpr> | tbh it's probably too complicated for this use case if you're not willing to go to great lengths to get literals working |
2021-10-29 20:15:31 +0200 | <jil> | how do yo know in what package to find a specific function ? |
2021-10-29 20:15:33 +0200 | hololeap | (~hololeap@user/hololeap) |
2021-10-29 20:16:11 +0200 | <geekosaur> | hoogle |
2021-10-29 20:16:17 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-10-29 20:16:17 +0200 | <awpr> | hmm, if I added a `Wrapped Finite` impl, it might actually become easy... |
2021-10-29 20:16:27 +0200 | <jil> | in ghci :doc read will point to readMaybe. If one does not have acess to internet how can he find readMaybe is in Data.Text (from memory) |
2021-10-29 20:17:13 +0200 | <awpr> | `data Digit2 = D0 | D1 deriving Generic deriving Finite via Wrapped Generic Digit2 deriving HasIntLiterals via Wrapped Finite Digit2` isn't too bad. |
2021-10-29 20:17:25 +0200 | <sm> | jil, you can do what you just said, in ghci ? |
2021-10-29 20:17:27 +0200 | <jil> | wouhao ! |
2021-10-29 20:17:33 +0200 | <sm> | you can also set up hoogle to work locally |
2021-10-29 20:18:00 +0200 | <awpr> | but I still think dependent-literals is overkill for this, honestly. I'd probably just use D0 and D1 directly |
2021-10-29 20:18:25 +0200 | <jil> | awpr but what about Fin 16, Fin 32 ect.. |
2021-10-29 20:18:33 +0200 | <jil> | :doc read |
2021-10-29 20:19:00 +0200 | <jil> | points to readMaybe |
2021-10-29 20:19:06 +0200 | <sm> | or you can set up a more fancy local docs tool like `dash` or similar |
2021-10-29 20:19:11 +0200 | <awpr> | yeah, those are a bit more meaningful. if you want a lot of different radixes, I'd maybe find an existing Fin library (e.g. `fin-int` is one I maintain) |
2021-10-29 20:20:06 +0200 | <jil> | sm ok, I need a better IDE setup. any suggestion for a ghci runing in emacs ? |
2021-10-29 20:20:21 +0200 | <sm> | M-x shell, ghci |
2021-10-29 20:20:29 +0200 | <jil> | I'm not familliar with dash. |
2021-10-29 20:20:36 +0200 | <awpr> | that comes with dependent-literals support, but you can also just say `fin 5` if you don't want to deal with the plugin. (and that has a HasCallStack constraint, so if you call it on an out-of-range number, it'll at least tell you where) |
2021-10-29 20:20:37 +0200 | <jil> | sm That's what I use |
2021-10-29 20:20:50 +0200 | <sm> | also don't miss ghcid, it's great |
2021-10-29 20:21:10 +0200 | <jil> | ok sm. Thank you. |
2021-10-29 20:23:20 +0200 | <sm> | jil I also recommend spending a half hour to skim the haddocks for all of base and a few other main libraries (containers, mtl, text, safe, ...) - most of us did not do it and it can save a lot of time |
2021-10-29 20:23:41 +0200 | <sm> | likewise for the GHC user guide |
2021-10-29 20:24:45 +0200 | thblt | (~thblt@user/thblt) |
2021-10-29 20:24:47 +0200 | <jil> | :) ok. |
2021-10-29 20:24:56 +0200 | <sm> | oh and the stack and cabal user guides :) |
2021-10-29 20:25:08 +0200 | <sm> | THEN you'll be fine |
2021-10-29 20:26:30 +0200 | <thblt> | Is there a file manipulation library in Haskell that signals errors with types rather than exceptions? (Eg open :: FilePath -> IO (Either FileError Handle)) |
2021-10-29 20:27:16 +0200 | <monochrom> | You can use Control.Exception's "try". |
2021-10-29 20:27:17 +0200 | <jil> | sm I'm trying to finish Hutton_G_Programming_in_Haskell-Cambridge_University_Press_2018.pdf |
2021-10-29 20:27:39 +0200 | <sm> | good one |
2021-10-29 20:27:59 +0200 | <sm> | he has more recent lessons on youtube also |
2021-10-29 20:28:48 +0200 | <sm> | @where HTAC |
2021-10-29 20:28:48 +0200 | <sm> | is also good |
2021-10-29 20:29:22 +0200 | <sm> | @where HTAC , I say |
2021-10-29 20:29:22 +0200 | <lambdabot> | "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook> |
2021-10-29 20:30:22 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-10-29 20:31:48 +0200 | alx741 | (~alx741@186.178.109.79) |
2021-10-29 20:34:29 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2021-10-29 20:35:16 +0200 | <thblt> | monochrom: thanks |
2021-10-29 20:36:03 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 20:36:24 +0200 | max22- | (~maxime@2a01cb0883359800df57ac14517550fc.ipv6.abo.wanadoo.fr) |
2021-10-29 20:37:40 +0200 | ubert | (~Thunderbi@178.115.53.120.wireless.dyn.drei.com) |
2021-10-29 20:39:47 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) |
2021-10-29 20:44:37 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
2021-10-29 20:45:59 +0200 | motherfs1 | (~motherfsc@user/motherfsck) (Quit: quit) |
2021-10-29 20:47:15 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-10-29 20:49:14 +0200 | ubert1 | (~Thunderbi@178.115.53.120.wireless.dyn.drei.com) |
2021-10-29 20:49:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) (Remote host closed the connection) |
2021-10-29 20:59:06 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 21:01:43 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-10-29 21:01:54 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2021-10-29 21:02:03 +0200 | <maerwald> | whats the conversion from `NominalDiffTime` to `EpochTime`? fromIntegral? |
2021-10-29 21:04:01 +0200 | <monochrom> | I have a feeling that realToFrac is closer. |
2021-10-29 21:04:10 +0200 | <maerwald> | doesn't work |
2021-10-29 21:04:23 +0200 | <maerwald> | No Instance for Fractional Epochtime |
2021-10-29 21:04:35 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 21:04:48 +0200 | <monochrom> | Ah right. But NominalDiffTime is not Integral either. |
2021-10-29 21:07:00 +0200 | <monochrom> | Perhaps truncate or round. NominalDiffTime is sub-seconds, but its integral part means seconds. |
2021-10-29 21:07:06 +0200 | Null_A | (~null_a@2601:645:8700:2290:19ff:7d99:67c6:79e3) |
2021-10-29 21:07:43 +0200 | <maerwald> | that doesn't sound too sure :D |
2021-10-29 21:08:06 +0200 | <maerwald> | there's `nominalDiffTimeToSeconds`, but then I got Pico, wtf |
2021-10-29 21:08:15 +0200 | <monochrom> | Well, in the first place, I am not sure that NominalDiffTime and EpochTime stand for the same idea. |
2021-10-29 21:09:24 +0200 | <monochrom> | One is a duration, the other is an absolute point. |
2021-10-29 21:09:44 +0200 | <monochrom> | Although you could wing it and say "I just mean CTime" |
2021-10-29 21:09:45 +0200 | <maerwald> | well, type POSIXTime = NominalDiffTime |
2021-10-29 21:10:05 +0200 | <maerwald> | I have UTCTime and want EpochTime (which is CTime) |
2021-10-29 21:10:12 +0200 | <maerwald> | so: utcTimeToPOSIXSeconds :: UTCTime -> POSIXTime |
2021-10-29 21:10:18 +0200 | <maerwald> | then I'm stuck with NominalDiffTime |
2021-10-29 21:10:43 +0200 | <maerwald> | CTime is Real and Num |
2021-10-29 21:10:44 +0200 | <monochrom> | Pico is just another Fractional instance that you can use truncate/round on. |
2021-10-29 21:11:38 +0200 | <maerwald> | well, then I have an Integral |
2021-10-29 21:11:40 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-10-29 21:11:50 +0200 | <maerwald> | CTime isn't |
2021-10-29 21:11:52 +0200 | <monochrom> | Well, on all known GHC platforms that have System.Posix, CTime is also just a newtype around Int64. |
2021-10-29 21:12:28 +0200 | <maerwald> | I wish there was a time library that isn't awful |
2021-10-29 21:12:56 +0200 | <monochrom> | Plus, "According to POSIX, it shall be an integer type." from a linux man page about time_t |
2021-10-29 21:13:03 +0200 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-10-29 21:13:04 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 21:13:17 +0200 | <monochrom> | Me, I wish there were no pretended abstractions like this. |
2021-10-29 21:13:32 +0200 | <maerwald> | `fromInteger . floor . nominalDiffTimeToSeconds . utcTimeToPOSIXSeconds` |
2021-10-29 21:13:38 +0200 | <maerwald> | but now I really have no idea what that does |
2021-10-29 21:13:46 +0200 | <monochrom> | "Oh CTime is platform-dependent we can't tell you it's an integer". Platform-dependent my ass. |
2021-10-29 21:14:00 +0200 | <maerwald> | I'm just gonna assume it's correct |
2021-10-29 21:14:17 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) |
2021-10-29 21:14:30 +0200 | hololeap | (~hololeap@user/hololeap) |
2021-10-29 21:14:52 +0200 | yrlnry | (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) |
2021-10-29 21:15:18 +0200 | <maerwald> | this is where I miss javascript |
2021-10-29 21:15:30 +0200 | <maerwald> | don't care, just throw it in, it'll be fine! |
2021-10-29 21:17:36 +0200 | <monochrom> | Pretty sure you don't need nominalDiffTimeToSeconds |
2021-10-29 21:18:01 +0200 | <monochrom> | NomimalDiffTime is just a newtype around Pico. nominalDiffTimeToSeconds just unwraps. |
2021-10-29 21:18:29 +0200 | <monochrom> | This is why whereas Pico is Fractional, so is NominalDiffTime. |
2021-10-29 21:20:28 +0200 | <maerwald> | those are all really interesing things... but why can't we have a simple tables with those conversions, which also clearly indicates if you lose precision etc. |
2021-10-29 21:21:30 +0200 | <monochrom> | FWIW why do you have UTCTime in the first place? If you called getCurrentTime, perhaps replace with epochTime? |
2021-10-29 21:22:11 +0200 | <maerwald> | EpochTime is unix-specific isn't it? |
2021-10-29 21:22:22 +0200 | <maerwald> | I want to be cross-platform |
2021-10-29 21:23:08 +0200 | <monochrom> | OK, you are converting something to EpochTime for cross-platform? |
2021-10-29 21:23:30 +0200 | <maerwald> | yes, that's the unix module |
2021-10-29 21:23:36 +0200 | <maerwald> | but the type must not leak |
2021-10-29 21:23:38 +0200 | <monochrom> | I would think sticking to UTCTime and NominalDiffTime was the cross-platform way. |
2021-10-29 21:23:45 +0200 | <monochrom> | Ah OK. |
2021-10-29 21:24:09 +0200 | burnsidesLlama | (~burnsides@dhcp168-040.wadham.ox.ac.uk) |
2021-10-29 21:24:47 +0200 | <maerwald> | I'm becoming a fan of DList |
2021-10-29 21:24:57 +0200 | <monochrom> | Oh well yeah use rounding and use the "forbidden" knowledge that EpochTime = CTime = newtype of Int32/64/doesn't matter. |
2021-10-29 21:25:19 +0200 | <maerwald> | `fromInteger . floor . utcTimeToPOSIXSeconds` typechecks |
2021-10-29 21:25:38 +0200 | <maerwald> | users will tell me if it does the correct thing after their systems crashed |
2021-10-29 21:27:23 +0200 | emf | (~emf@2620:10d:c090:400::5:5ca4) (Ping timeout: 264 seconds) |
2021-10-29 21:27:23 +0200 | <monochrom> | But yeah a table would be nice. |
2021-10-29 21:27:47 +0200 | <maerwald> | DList.toList is nicely lazy, so you can append in O(1) in your fold and then turn it back almost zero-cost, right? |
2021-10-29 21:28:04 +0200 | <maerwald> | neglecting the memory overhead |
2021-10-29 21:29:05 +0200 | <monochrom> | Yes, to a large extent, all those "ByteString.Builder" "Text.Builder" "Foo.Builder" "Bar.Builder" are DLists. |
2021-10-29 21:29:30 +0200 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2021-10-29 21:29:36 +0200 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Client Quit) |
2021-10-29 21:31:00 +0200 | Farzad | (~FarzadBek@37.49.150.10) (Quit: Leaving) |
2021-10-29 21:34:03 +0200 | <hololeap> | I'm running on Gentoo with the haskell repo and so I have all of my packages installed at a system level (ultimately using cabal packages converted to gentoo packages) |
2021-10-29 21:34:27 +0200 | <hololeap> | I'm experimenting with running hoogle as a systemd service |
2021-10-29 21:35:05 +0200 | <hololeap> | when a package is done installing, I have a hook that runs: /usr/bin/hoogle generate --local -- $n |
2021-10-29 21:35:16 +0200 | <hololeap> | where $n is the name of the cabal package |
2021-10-29 21:35:25 +0200 | <shapr> | hololeap: I'm running hoogle in nix and working my way towards nix-copy-closure to 'deploy' the server. |
2021-10-29 21:36:01 +0200 | <hololeap> | the problem is that hoogle crashes when I try to connect after this and only resumes after doing a full generate |
2021-10-29 21:36:02 +0200 | <shapr> | and yeah, a systemd service for restarting |
2021-10-29 21:36:39 +0200 | <shapr> | hololeap: I switched to nix because stack hoogle things have several layers of broken |
2021-10-29 21:36:42 +0200 | <shapr> | are you using cabal? |
2021-10-29 21:37:11 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds) |
2021-10-29 21:37:20 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 21:37:27 +0200 | <hololeap> | shapr: sort of kind of? gentoo uses Setup.hs behind the scenes to run configure, build, test, etc |
2021-10-29 21:38:36 +0200 | <hololeap> | I'm wondering how hoogle.haskell.org updates when there is a new version/package pushed to hackage |
2021-10-29 21:38:56 +0200 | <hololeap> | because it doesn't seem to like this style of incremental update |
2021-10-29 21:39:02 +0200 | <shapr> | We have 500kloc (excluding whitespace lines) of Haskell in our monorepo, a hoogle server makes it easier to find things. |
2021-10-29 21:39:26 +0200 | <shapr> | oh, your question is whether hoogle supports incremental updates? |
2021-10-29 21:39:31 +0200 | <shapr> | I always have to do a full rebuild. |
2021-10-29 21:39:35 +0200 | <hololeap> | more or less |
2021-10-29 21:39:50 +0200 | <monochrom> | I don't know hoogle, but I would think the safe default thing to do is: kill the server before generate, start the server after. |
2021-10-29 21:40:04 +0200 | <shapr> | I'd bet changing haddocks could be done incrementally, but I don't know about reindexing to build the hoogle db |
2021-10-29 21:41:34 +0200 | <hololeap> | monochrom: the package manager doesn't have permission to do this, I don't think. maybe that could be changed... |
2021-10-29 21:41:34 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-10-29 21:41:59 +0200 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
2021-10-29 21:42:03 +0200 | <hololeap> | *to kill/start the hoogle server running through systemd |
2021-10-29 21:42:44 +0200 | <hololeap> | actually the hook system must be running as root |
2021-10-29 21:43:14 +0200 | <hololeap> | I could try it, but so far it seems like you have to re-index _everything_ after something has been changed |
2021-10-29 21:45:47 +0200 | <monochrom> | I'm thinking of this other Goldberg machine: The hoogle server is watched over by a watchdog, this watchdog waits for DB change and restarts the hoogle server. |
2021-10-29 21:46:12 +0200 | <monochrom> | With some luck, this watchdog can be written in systemd syntax too. |
2021-10-29 21:46:34 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) (Remote host closed the connection) |
2021-10-29 21:46:34 +0200 | <monochrom> | or s/can be written/may be writable/ |
2021-10-29 21:46:51 +0200 | <hololeap> | monochrom: that's kind of how I have it set up now, just because it crashes after I update a single package |
2021-10-29 21:47:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-29 21:48:27 +0200 | <monochrom> | Hrm haha, do you mean that I can skip the step "wait for changes"? >:) |
2021-10-29 21:49:00 +0200 | <hololeap> | pretty much |
2021-10-29 21:49:04 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 21:49:05 +0200 | <monochrom> | "the server crashes" serves as notification for "now is a good time to respawn" |
2021-10-29 21:49:35 +0200 | xff0x | (~xff0x@2001:1a81:529e:f300:b22f:69e6:aa77:fd2f) (Ping timeout: 264 seconds) |
2021-10-29 21:49:43 +0200 | <monochrom> | This is consistent with my policy of "don't work until it's really urgent" >:) |
2021-10-29 21:50:37 +0200 | <hololeap> | https://github.com/gentoo-haskell/gentoo-haskell/blob/bb70927ef3bc753bc899f589b69586b34b90d0f9/dev… |
2021-10-29 21:50:44 +0200 | <hololeap> | https://github.com/gentoo-haskell/gentoo-haskell/blob/bb70927ef3bc753bc899f589b69586b34b90d0f9/dev… |
2021-10-29 21:51:21 +0200 | <hololeap> | since I have Restart=always and Requires=hoogle-generate.service, when hoogle crashes it regenerates the DB and restarts the service |
2021-10-29 21:51:29 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-10-29 21:52:17 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 21:53:35 +0200 | <hololeap> | but this takes longer and longer each time I add a new package to the system |
2021-10-29 21:54:21 +0200 | <hololeap> | I asked in #haskell-infrastructure ... maybe someone in there knows how the main hoogle service operates |
2021-10-29 22:05:11 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 264 seconds) |
2021-10-29 22:07:01 +0200 | juhp | (~juhp@128.106.188.220) |
2021-10-29 22:08:25 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-10-29 22:09:07 +0200 | acidjnk_new | (~acidjnk@p200300d0c7238d89cc95ba723fa3afc9.dip0.t-ipconnect.de) |
2021-10-29 22:14:05 +0200 | xff0x | (~xff0x@2001:1a81:529e:f300:b22f:69e6:aa77:fd2f) |
2021-10-29 22:15:41 +0200 | alx741 | (~alx741@186.178.109.79) (Ping timeout: 264 seconds) |
2021-10-29 22:17:11 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) |
2021-10-29 22:21:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-10-29 22:25:04 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 22:25:35 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 22:25:55 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
2021-10-29 22:27:19 +0200 | fluffyballoon | (~user@131.93.208.196) |
2021-10-29 22:29:10 +0200 | alx741 | (~alx741@181.196.69.253) |
2021-10-29 22:46:11 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) (Remote host closed the connection) |
2021-10-29 22:46:17 +0200 | OscarH | (~OscarH@90.201.86.195) (Ping timeout: 264 seconds) |
2021-10-29 22:46:54 +0200 | <shapr> | hololeap: this is brilliant and sneaky, I love it |
2021-10-29 22:47:22 +0200 | <hololeap> | shapr: it wasn't really intentional, I swear D: |
2021-10-29 22:47:28 +0200 | <dsal> | Is DeriveAnyClass a terrible idea? |
2021-10-29 22:47:56 +0200 | <hololeap> | no, but it can be misused to a certain extent |
2021-10-29 22:48:23 +0200 | <dsal> | I file like it makes thing slightly better in this one case. |
2021-10-29 22:48:39 +0200 | <hololeap> | it's basically the same as `instance Blah T` without the `where` or the following definition block |
2021-10-29 22:49:15 +0200 | <shapr> | hololeap: if only it would crash as soon as you update a package instead of when you next speak to the hoogle server |
2021-10-29 22:49:28 +0200 | <hololeap> | so for some classes, it makes sense... for instance Exception |
2021-10-29 22:50:12 +0200 | <geekosaur> | also for any class that can use a Generic instance in its default implementation, which is IIRC the intended use case |
2021-10-29 22:50:53 +0200 | <hololeap> | ^ beat me to it |
2021-10-29 22:51:00 +0200 | <hpc> | i forsee a https://xkcd.com/1172/ style bug report in hoogle's future |
2021-10-29 22:51:27 +0200 | <dsal> | Well, hlint won't me do it. That's lame. |
2021-10-29 22:52:22 +0200 | Guest17 | (~Guest17@94-255-217-215.cust.bredband2.com) |
2021-10-29 22:52:23 +0200 | <hololeap> | it won't let you? |
2021-10-29 22:53:17 +0200 | <dsal> | Precommit hook with a bunch of predefined decisions. |
2021-10-29 22:54:11 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 260 seconds) |
2021-10-29 22:54:16 +0200 | <hololeap> | hm, bummer. it forbids that extension? |
2021-10-29 22:55:04 +0200 | <dsal> | Yeah. I guess someone did a thing somewhere and it was wrong or something. |
2021-10-29 22:55:30 +0200 | <dsal> | It's unfortunate it covers several syntaxes. I'm using deriving strategies here and I'd think that'd be OK because, you know, I meant to do it. |
2021-10-29 22:55:44 +0200 | <dsal> | I think there's something about newtype vs. any doing something different for aeson or something. |
2021-10-29 22:55:54 +0200 | <hololeap> | I suppose it makes sense, because you can shoot yourself in the foot if you aren't paying attention. if you want to use it, it's a good idea to have DerivingStrategies enabled and use them everywhere |
2021-10-29 22:56:06 +0200 | <dsal> | Yeah, I don't know if we can say that. |
2021-10-29 22:56:38 +0200 | <geekosaur> | yeh, strategies exist because if DeriveAnyClass is enabled it overrides GeneralisedNewtypeDeriving |
2021-10-29 22:56:54 +0200 | <geekosaur> | so you get something other than what you intended for a newtype |
2021-10-29 22:58:54 +0200 | <dsal> | Oh interesting. Yeah, I guess there needed to be a tie breaker. |
2021-10-29 22:59:26 +0200 | Guest17 | (~Guest17@94-255-217-215.cust.bredband2.com) (Quit: Client closed) |
2021-10-29 23:01:12 +0200 | ubert1 | (~Thunderbi@178.115.53.120.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-10-29 23:02:08 +0200 | ubert | (~Thunderbi@178.115.53.120.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2021-10-29 23:04:14 +0200 | proboscis | (~proboscis@115-189-129-117.mobile.spark.co.nz) |
2021-10-29 23:05:24 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-10-29 23:06:57 +0200 | proboscis | (~proboscis@115-189-129-117.mobile.spark.co.nz) (Client Quit) |
2021-10-29 23:08:30 +0200 | proboscis | (~proboscis@115-189-129-117.mobile.spark.co.nz) |
2021-10-29 23:09:25 +0200 | Farzad | (~FarzadBek@37.49.150.10) |
2021-10-29 23:27:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:d4e:dbb8:1851:3894) |
2021-10-29 23:30:35 +0200 | michalz | (~michalz@185.246.204.109) (Remote host closed the connection) |
2021-10-29 23:30:52 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-10-29 23:31:17 +0200 | chomwitt | (~chomwitt@2a02:587:dc12:b600:12c3:7bff:fe6d:d374) (Ping timeout: 246 seconds) |
2021-10-29 23:40:11 +0200 | nehsou^ | (~nehsou@wsip-98-188-242-6.mc.at.cox.net) |
2021-10-29 23:41:56 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 23:44:11 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2021-10-29 23:45:11 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
2021-10-29 23:47:08 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
2021-10-29 23:47:57 +0200 | kn07_ | (~kn07_@86.121.23.168) |
2021-10-29 23:52:32 +0200 | xsperry | (~xs@user/xsperry) (Ping timeout: 260 seconds) |
2021-10-29 23:53:04 +0200 | Farzad | (~FarzadBek@37.49.150.10) (Quit: Leaving) |
2021-10-29 23:53:05 +0200 | shailangsa | (~shailangs@host217-39-45-200.range217-39.btcentralplus.com) (Remote host closed the connection) |
2021-10-29 23:59:44 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection) |