Logs on 2021-09-02 (liberachat/#haskell)
| 00:01:10 | × | SystemFFan quits (~SystemFFa@188.70.6.7) (Ping timeout: 240 seconds) |
| 00:01:44 | <glguy> | Aw, shoot. hledger thinks ==* means something else |
| 00:01:47 | <glguy> | err |
| 00:01:49 | <monochrom> | Hydrazer: If a main is not required, I would try an empty file. If a module declaration is not counted toward code size, I would try "module M where". |
| 00:01:50 | <glguy> | ledger does |
| 00:02:34 | <sm> | [OT] ledger doesn't parse it, yes. If you need that sticking to = is sometimes best |
| 00:02:35 | <glguy> | Hydrazer: main=main |
| 00:03:39 | <glguy> | sm: I want ==* because I want to assert that an event is closed out when I belive that to be the case |
| 00:03:59 | <glguy> | and I have an account tree: Events:<Event Name>:<Person> |
| 00:04:17 | <glguy> | so I'm looking at being able to write: Events:Summer Camp 2021 ==* $0 |
| 00:05:03 | <glguy> | I only really care about ledger compatibility because my spacemaces has ledger-mode |
| 00:05:16 | <glguy> | I should see about getting hledger in its place |
| 00:05:23 | <johnw> | noooo..... |
| 00:05:32 | glguy | hides |
| 00:05:42 | <sm> | doh! act natural! |
| 00:05:55 | <glguy> | oh, hi johnw; I meant my friend might try to do that thing |
| 00:06:01 | <johnw> | :( |
| 00:07:55 | <sm> | howdy john |
| 00:08:05 | × | Hydrazer quits (~Hydrazer@S010684c9b26eee6d.cg.shawcable.net) (Ping timeout: 256 seconds) |
| 00:15:28 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 252 seconds) |
| 00:19:17 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 245 seconds) |
| 00:19:57 | <glguy> | sm: Have I showed this to you before? https://gist.github.com/glguy/e996b1ea2fef5dd5e8a32f39da8a3f78 |
| 00:21:19 | <johnw> | sm: hi! |
| 00:23:28 | <sm> | perhaps not glguy, nice! |
| 00:24:34 | → | VoidNoir0 joins (~VoidNoir0@72.80.203.52) |
| 00:24:50 | × | VoidNoir0 quits (~VoidNoir0@72.80.203.52) (Client Quit) |
| 00:26:26 | → | VoidNoir0 joins (~VoidNoir0@72.80.203.52) |
| 00:27:07 | × | pbrisbin quits (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Ping timeout: 245 seconds) |
| 00:27:28 | × | VoidNoir0 quits (~VoidNoir0@72.80.203.52) (Client Quit) |
| 00:27:43 | → | OscarH joins (~OscarH@2a02:c7f:a0da:ae00:ba27:ebff:fe84:d2f4) |
| 00:29:06 | → | VoidNoir0 joins (~VoidNoir0@72.80.203.52) |
| 00:29:50 | <glguy> | OH, we're not in #plaintextaccounting |
| 00:30:35 | <sm> | right :) but it's quiet |
| 00:30:54 | <glguy> | Well, i was going to share *haskell source code* so still on topic: https://gist.github.com/glguy/fe5ea89e8d447874b704326e889d7f4b |
| 00:31:13 | <sm> | +1 |
| 00:34:28 | <sm> | nice scripts! I'll link em |
| 00:39:01 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 00:40:13 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 00:43:19 | × | lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 00:45:51 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 00:47:15 | × | oxide quits (~lambda@user/oxide) (Quit: oxide) |
| 00:47:54 | × | desantra quits (~skykanin@user/skykanin) (Quit: WeeChat 3.2) |
| 00:50:14 | × | aegon quits (~mike@174.127.249.180) (Quit: leaving) |
| 00:59:23 | → | pzanco joins (~Android@187.104.158.159) |
| 01:02:35 | × | thyriaen quits (~thyriaen@x4db75db3.dyn.telefonica.de) (Remote host closed the connection) |
| 01:05:36 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
| 01:07:09 | × | ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (Ping timeout: 244 seconds) |
| 01:16:07 | → | neurocyte5 joins (~neurocyte@46.243.81.86) |
| 01:16:07 | × | neurocyte5 quits (~neurocyte@46.243.81.86) (Changing host) |
| 01:16:07 | → | neurocyte5 joins (~neurocyte@user/neurocyte) |
| 01:18:10 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 01:18:10 | neurocyte5 | is now known as neurocyte |
| 01:21:39 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:29:14 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 01:30:02 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:30:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:31:55 | × | mei quits (~mei@user/mei) (Ping timeout: 252 seconds) |
| 01:34:07 | × | xff0x quits (~xff0x@2001:1a81:52f2:5d00:a43c:729f:4397:fe8e) (Ping timeout: 252 seconds) |
| 01:36:00 | → | xff0x joins (~xff0x@2001:1a81:5329:9c00:3941:fe2c:440c:b590) |
| 01:36:13 | → | NinjaTrappeur joins (~ninja@user/ninjatrappeur) |
| 01:36:22 | dmj` | peeks in |
| 01:41:43 | → | vysn joins (~vysn@user/vysn) |
| 01:42:16 | × | alx741 quits (~alx741@186.178.109.154) (Quit: alx741) |
| 01:45:10 | × | waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
| 01:46:40 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 01:49:55 | × | pzanco quits (~Android@187.104.158.159) (Quit: -a- IRC for Android 2.1.59) |
| 01:51:10 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 01:59:47 | → | Hydrazer joins (~Hydrazer@S010684c9b26eee6d.cg.shawcable.net) |
| 02:00:28 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 252 seconds) |
| 02:01:48 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 02:03:03 | <Hydrazer> | does anyone know if there is a builtin that does something gets the head and tail of a list as a tuple? something like https://paste.tomsmeding.com/p8J4D5zB |
| 02:03:22 | <Hydrazer> | that gets* |
| 02:04:30 | <Hydrazer> | or maybe as a list [[1], [2, 3][ |
| 02:05:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 02:05:06 | → | wirez joins (~wirez@user/wirez) |
| 02:05:10 | <wirez> | what do you call a program that's a part of a suite and works with the other programs in the suite? |
| 02:05:40 | <Axman6> | This is the weirdest setup for a joke I've heard for a long time... |
| 02:06:01 | <Hydrazer> | lol |
| 02:06:03 | <wirez> | component seems too generic because programs can have components |
| 02:06:22 | <wirez> | Axman6: XD |
| 02:06:28 | → | ArctVaulMarsHMPJ joins (~pjetcetal@128-71-152-79.broadband.corbina.ru) |
| 02:06:32 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
| 02:07:25 | → | sayola joins (~vekto@dslb-088-064-186-138.088.064.pools.vodafone-ip.de) |
| 02:07:46 | → | vicfred joins (~vicfred@user/vicfred) |
| 02:10:06 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
| 02:10:42 | × | dsrt^ quits (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 244 seconds) |
| 02:12:07 | <sayola> | there isnt an option where i dont have to pack this into a newtype to make an instance, or is there? |
| 02:12:07 | <sayola> | newtype Foo a = Foo (Bar (Baz a)) |
| 02:12:07 | <sayola> | instance Functor Foo |
| 02:12:15 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 244 seconds) |
| 02:13:18 | <dsal> | sayola: Can you expand on your question? That is a newtype. |
| 02:13:40 | × | typedfern__ quits (~Typedfern@28.red-83-57-142.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 02:14:18 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:14:59 | <Axman6> | what you have is just Compose Bar Baz |
| 02:15:03 | <sayola> | dsal: i would like to instance `Bar (Baz a)` with `a` as the free variable. |
| 02:15:09 | <Axman6> | which is a Functor if Bar and Baz are Functors |
| 02:16:25 | <sayola> | i meant for any instance that is requiring * -> * kind, when the type variable is not on the topmost level |
| 02:16:43 | × | Hydrazer quits (~Hydrazer@S010684c9b26eee6d.cg.shawcable.net) (Ping timeout: 256 seconds) |
| 02:16:50 | <Axman6> | :t ala |
| 02:16:51 | <lambdabot> | (Functor f, Rewrapped s t, Rewrapped t s) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) |
| 02:17:00 | <Axman6> | :t ala Compose |
| 02:17:01 | <lambdabot> | error: |
| 02:17:02 | <lambdabot> | • Data constructor not in scope: Compose :: Unwrapped s -> s |
| 02:17:02 | <lambdabot> | • Perhaps you meant variable ‘icompose’ (imported from Control.Lens) |
| 02:17:15 | <Axman6> | %:t ala Compose |
| 02:17:27 | <Axman6> | % :t ala Compose |
| 02:17:28 | <yahb> | Axman6: ; <interactive>:1:5: error:; * Data constructor not in scope: Compose :: Unwrapped s -> s; * Perhaps you meant one of these: variable `M.compose' (imported from Data.Map), variable `IM.compose' (imported from Data.IntMap), variable `icompose' (imported from Control.Lens) |
| 02:17:36 | <Axman6> | :( |
| 02:23:02 | <Axman6> | @hoogle Compose |
| 02:23:02 | <lambdabot> | module Data.Functor.Compose |
| 02:23:02 | <lambdabot> | Data.Functor.Compose newtype Compose f g a |
| 02:23:02 | <lambdabot> | Data.Functor.Compose Compose :: f (g a) -> Compose f g a |
| 02:23:04 | × | td_ quits (~td@94.134.91.219) (Ping timeout: 252 seconds) |
| 02:23:11 | <Axman6> | % import Data.Functor.Compose |
| 02:23:12 | <yahb> | Axman6: |
| 02:23:15 | <sayola> | isnt this defeating the point, since its packed inside another newtype? kinda would like to have it blank. or am just not understanding Compose |
| 02:23:18 | <Axman6> | % :t ala Compose |
| 02:23:18 | <yahb> | Axman6: forall {k2} {k3} {k} {k1} {f :: * -> *} {f'1 :: k2 -> *} {g'1 :: k3 -> k2} {a'1 :: k3} {f'2 :: k -> *} {g'2 :: k1 -> k} {a'2 :: k1}. Functor f => ((f'1 (g'1 a'1) -> Compose f'1 g'1 a'1) -> f (Compose f'2 g'2 a'2)) -> f (f'2 (g'2 a'2)) |
| 02:23:53 | <Axman6> | I don't understand the question |
| 02:24:17 | <Axman6> | but my point is that the type Compose Bar Baz a is the same as Foo a, but comes with the Functor instance for free |
| 02:24:28 | <sayola> | ok |
| 02:24:35 | <sayola> | but i dont want Foo |
| 02:24:36 | <Axman6> | assuming Bar and Baz are Functors |
| 02:24:51 | → | td_ joins (~td@muedsl-82-207-238-003.citykom.de) |
| 02:26:01 | <sayola> | Functors is only an example. i mean for instancing anything in general |
| 02:28:10 | <sayola> | take this: |
| 02:28:10 | <sayola> | instance Functor (Bar (Baz a)) |
| 02:28:10 | <sayola> | `a` is supposed to be the free variable for functor. can i possibly write the instance declaration so that it is? and without having to work around with a newtype |
| 02:28:41 | <Axman6> | no |
| 02:28:46 | <sayola> | thank you |
| 02:28:47 | → | typedfern__ joins (~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net) |
| 02:28:49 | <sayola> | all i wanted to know |
| 02:32:13 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 02:32:24 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 244 seconds) |
| 02:38:35 | → | hexfive joins (~eric@50.35.83.177) |
| 02:40:34 | × | VoidNoir0 quits (~VoidNoir0@72.80.203.52) (Quit: Connection closed) |
| 02:42:32 | × | mmalter quits (~mmalter@88.171.43.194) (Remote host closed the connection) |
| 02:43:37 | → | VoidNoir0 joins (~VoidNoir0@72.80.203.52) |
| 02:50:47 | × | hexfive quits (~eric@50.35.83.177) (Quit: WeeChat 3.0.1) |
| 02:51:47 | × | OscarH quits (~OscarH@2a02:c7f:a0da:ae00:ba27:ebff:fe84:d2f4) (Ping timeout: 245 seconds) |
| 02:54:21 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 03:10:02 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds) |
| 03:11:26 | → | bradyt_ joins (~bradyt@user/bradyt) |
| 03:11:28 | × | otto_s quits (~user@p5de2f920.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 03:11:49 | × | bradyt quits (~bradyt@user/bradyt) (Quit: bradyt) |
| 03:13:15 | → | otto_s joins (~user@p5de2f28d.dip0.t-ipconnect.de) |
| 03:18:16 | → | sleblanc joins (~sleblanc@user/sleblanc) |
| 03:21:22 | × | edwtjo quits (~edwtjo@user/edwtjo) (Ping timeout: 240 seconds) |
| 03:22:29 | × | bradyt_ quits (~bradyt@user/bradyt) (Quit: "") |
| 03:23:44 | → | edwtjo joins (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) |
| 03:23:44 | × | edwtjo quits (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host) |
| 03:23:44 | → | edwtjo joins (~edwtjo@user/edwtjo) |
| 03:25:24 | → | OscarH joins (~OscarH@2a02:c7f:a0da:ae00:ba27:ebff:fe84:d2f4) |
| 03:32:40 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
| 03:39:21 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 03:40:35 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
| 03:41:43 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 03:43:48 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 03:47:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:48:01 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 03:49:42 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:51:35 | → | daylily joins (~daylily@104.225.153.233.16clouds.com) |
| 03:51:36 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
| 03:52:10 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 03:52:43 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 03:54:40 | → | bradyt joins (~bradyt@user/bradyt) |
| 03:57:35 | × | bradyt quits (~bradyt@user/bradyt) (Client Quit) |
| 03:58:41 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 04:01:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:02:22 | × | Natch quits (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection) |
| 04:02:51 | × | daylily quits (~daylily@104.225.153.233.16clouds.com) (Quit: Igloo IRC: https://iglooirc.com) |
| 04:03:00 | → | daylily joins (~daylily@104.225.153.233.16clouds.com) |
| 04:03:10 | × | sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
| 04:07:46 | → | Natch joins (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) |
| 04:08:10 | × | daylily quits (~daylily@104.225.153.233.16clouds.com) (Ping timeout: 240 seconds) |
| 04:14:06 | → | Skyfire joins (~pyon@user/pyon) |
| 04:18:07 | <jle`> | sayola: note it doesn't quite kind-check |
| 04:18:09 | <jle`> | :t fmap |
| 04:18:10 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
| 04:18:15 | <jle`> | what would "f" be? |
| 04:18:22 | <jle`> | er, maybe 'unify' is a better word |
| 04:18:52 | <jle`> | the haskell type system doesn't really know about functors or compositions and anything too advance, all it knows how to do is unify type variables |
| 04:19:09 | <jle`> | unification machine go brrr :) |
| 04:22:44 | <Axman6> | jle`: did you have any luck with hls? |
| 04:26:22 | <sayola> | jle`: `f` would be `Bar (Baz a)`, as in `fmap :: (a -> b) -> Bar (Baz a) -> Bar (Baz b)`. not sure if i'm missing something. category theory gives me headache. |
| 04:26:37 | <jle`> | sayola: that doesn't quite make sense for f |
| 04:26:41 | <jle`> | `f a` |
| 04:26:55 | <jle`> | if `f` is `Bar (Baz a)`, then that becomes `(Bar (Baz a)) a)` ? |
| 04:27:05 | <sayola> | yeah, thats kinda the issue |
| 04:27:05 | <jle`> | imagine a search-and-replace |
| 04:27:12 | <jle`> | where you insert 'Bar (Baz a)' for f |
| 04:27:19 | <jle`> | it doesn't quite make sense :) |
| 04:27:33 | <Axman6> | you can't insert Bar (Baz either |
| 04:27:33 | <jle`> | at least, it doesn't really work in haskell's type system |
| 04:27:41 | <Axman6> | but you can insert Compose Bar Baz |
| 04:27:41 | <sayola> | dunno. makes sense to me. dunno if it kills the compiler designer |
| 04:27:52 | <jle`> | sayola: yeah, it makes sense conceptually, but doesn't fit wiht haskell's type system |
| 04:27:59 | <jle`> | which is pretty simplistic |
| 04:28:06 | <jle`> | it isn't aware of any category theory |
| 04:28:07 | <Axman6> | its nothing to do with the compiler, it's how the langiage is defined, which is very consistent |
| 04:28:24 | <jle`> | the haskell system doesn't know any category theory concepts, or what makes sense in the domain you are using it for |
| 04:28:28 | <jle`> | it only knows how to "plug in" type variables |
| 04:28:44 | <jle`> | and if you can't phrase your thing in terms of plugging in type variables, the type system' can't really express it |
| 04:28:59 | <jle`> | Axman6: ah i haven't looked into it yet D: |
| 04:29:28 | <sayola> | ok. lets say that the higher end of type systems give me headache x) |
| 04:29:38 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 04:29:45 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Client Quit) |
| 04:30:01 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 04:30:54 | <Axman6> | D: |
| 04:31:21 | <Axman6> | sayola: this is a very long way from the higher end of the type system, this is simple dealing with brackets, it's primary school maths |
| 04:31:36 | <jle`> | sayola: heh, yeah at least in this case it looks like your intuition on what is tricky in substitution is a good one, since you've run into a wall that's really there :) |
| 04:32:02 | <jle`> | usually if i'm trying to unify something and it doesn't make sense or gives me pain in my soul, it's a sign to take a step back |
| 04:32:07 | <Axman6> | Like, not to be too rude, but this is an extremely simpleidea |
| 04:32:28 | <jle`> | hm, i do think that this is a non-obvious thing; this question does get asked a lot |
| 04:32:38 | <jle`> | unifying higher-kinded types is something that takes getting used to |
| 04:32:47 | <Axman6> | :t let fmapCompose f = getCompose . fmap f . Compose in fmapCompose |
| 04:32:48 | <lambdabot> | error: |
| 04:32:48 | <lambdabot> | Variable not in scope: getCompose :: f0 b1 -> c1 |
| 04:32:48 | <lambdabot> | error: |
| 04:32:55 | <Axman6> | % :t let fmapCompose f = getCompose . fmap f . Compose in fmapCompose |
| 04:32:56 | <yahb> | Axman6: forall {k1} {f :: k1 -> *} {g :: * -> k1} {a1} {a2}. Functor (Compose f g) => (a1 -> a2) -> f (g a1) -> f (g a2) |
| 04:33:28 | <jle`> | asking "what could f be" is the start of many tricky haskell puzzles :) |
| 04:34:37 | × | hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!) |
| 04:35:17 | → | oxide joins (~lambda@user/oxide) |
| 04:35:20 | <Axman6> | % :t let fmapCompose3 f = getCompose . getCompose . fmap f . Compose . Compose in fmapCompose |
| 04:35:21 | <yahb> | Axman6: ; <interactive>:1:78: error:; * Variable not in scope: fmapCompose; * Perhaps you meant `fmapCompose3' (line 1) |
| 04:35:26 | <Axman6> | % :t let fmapCompose3 f = getCompose . getCompose . fmap f . Compose . Compose in fmapCompose3 |
| 04:35:26 | <yahb> | Axman6: forall {k1} {k2} {f :: k1 -> *} {g1 :: k2 -> k1} {g2 :: * -> k2} {a1} {a2}. Functor (Compose (Compose f g1) g2) => (a1 -> a2) -> f (g1 (g2 a1)) -> f (g1 (g2 a2)) |
| 04:35:26 | → | ubert joins (~Thunderbi@77.119.167.244.wireless.dyn.drei.com) |
| 04:35:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 04:37:48 | <sayola> | Axman6: imo its just easy to miss something, considering the dimensions. e.g. am still not sure what the type system can and can not do. not to mention all the extensions that manipulate these options. and then figuring out how to pack the actual code into it. |
| 04:40:30 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 04:40:53 | <sayola> | btw. i just remembered newtype deriving ... probably the solution to the actual problem i have, if i'm not missing something x) |
| 04:44:00 | <jle`> | it depends on what you actually want to do i think; if you just want to map over the 'a' in Bar (Baz a), you can do fmap (fmap f) |
| 04:44:40 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 04:46:25 | <sayola> | assuming that Bar is also a functor |
| 04:46:33 | <jle`> | right |
| 04:47:19 | ← | wirez parts (~wirez@user/wirez) (part) |
| 04:47:43 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
| 04:50:35 | × | oxide quits (~lambda@user/oxide) (Quit: oxide) |
| 04:58:27 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 05:02:48 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:06:44 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Read error: No route to host) |
| 05:07:53 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:08:21 | → | bradyt joins (~bradyt@user/bradyt) |
| 05:09:03 | → | daylily joins (~daylily@104.225.153.233.16clouds.com) |
| 05:12:35 | → | michalz joins (~michalz@185.246.204.61) |
| 05:13:02 | → | mei joins (~mei@user/mei) |
| 05:13:30 | × | mei quits (~mei@user/mei) (Client Quit) |
| 05:14:07 | × | daylily quits (~daylily@104.225.153.233.16clouds.com) (Ping timeout: 252 seconds) |
| 05:14:12 | × | jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
| 05:14:40 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 05:14:40 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 05:16:11 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 244 seconds) |
| 05:16:16 | → | jushur joins (~human@user/jushur) |
| 05:16:28 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 05:19:38 | → | bitmapper joins (uid464869@id-464869.tooting.irccloud.com) |
| 05:20:15 | → | mei joins (~mei@user/mei) |
| 05:25:52 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 245 seconds) |
| 05:31:34 | × | juhp quits (~juhp@128.106.188.220) (Quit: juhp) |
| 05:31:43 | → | juhp joins (~juhp@128.106.188.220) |
| 05:35:34 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 05:37:35 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 05:39:06 | → | zaquest joins (~notzaques@5.128.210.178) |
| 05:44:45 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 05:50:01 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 05:51:33 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 05:51:33 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 05:51:33 | → | wroathe joins (~wroathe@user/wroathe) |
| 05:51:39 | → | max22- joins (~maxime@2a01cb088335980087ef5e22f6c6ad9b.ipv6.abo.wanadoo.fr) |
| 05:52:34 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 05:55:58 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 05:58:00 | lep | is now known as lep- |
| 06:02:37 | → | kuribas joins (~user@ptr-25vy0iagfpe8knotjos.18120a2.ip6.access.telenet.be) |
| 06:05:07 | <kuribas> | What's the beset way to do exhaustive property testing? |
| 06:07:55 | <kuribas> | For example, taking a finit set of dates, and generating all lists with finit length of those dates. |
| 06:07:59 | <kuribas> | Then checking properties. |
| 06:08:20 | <kuribas> | tomsmeding: "potentially more efficient because less (++) ?" |
| 06:08:39 | <kuribas> | tomsmeding: perhaps, but "[a] ++ " isn't that bad... |
| 06:09:07 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 06:09:30 | <kuribas> | also, if I sort first, then fromAscList will be much more efficient. |
| 06:10:10 | <kuribas> | I am thinking just using unit tests, but maybe the interface isn't made for large number of tests? |
| 06:14:31 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 06:16:16 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 06:18:25 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:21:34 | <kuribas> | tomsmeding: oh, and in my option using the reader monad without ReaderT is evil ;-) |
| 06:22:18 | <opqdonut> | kuribas: smallcheck does exhaustive checking |
| 06:22:44 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 06:27:54 | <kuribas> | opqdonut: right, the "generate :: (Depth -> [a]) -> Series m a" function is just what I wanted :) |
| 06:32:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:37:37 | → | Pickchea joins (~private@user/pickchea) |
| 06:42:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 06:44:52 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 06:45:53 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Ping timeout: 256 seconds) |
| 06:48:05 | → | hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 06:54:09 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 06:55:05 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 06:58:23 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 06:58:35 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 07:01:38 | × | Guest372 quits (~xxx@47.245.54.240) (Remote host closed the connection) |
| 07:02:18 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 07:02:22 | → | Gurkenglas joins (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
| 07:02:44 | → | Guest372 joins (~xxx@47.245.54.240) |
| 07:06:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 07:10:51 | lep- | is now known as lep |
| 07:12:57 | × | cheater quits (~Username@user/cheater) (Ping timeout: 244 seconds) |
| 07:15:14 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 07:16:07 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 07:25:28 | → | Morrow_ joins (~Morrow@31.154.96.164) |
| 07:26:19 | → | aman joins (~aman@user/aman) |
| 07:26:39 | → | acidjnk_new joins (~acidjnk@p200300d0c720300659598fb61e40d514.dip0.t-ipconnect.de) |
| 07:26:40 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 252 seconds) |
| 07:27:17 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:27:18 | × | xff0x quits (~xff0x@2001:1a81:5329:9c00:3941:fe2c:440c:b590) (Ping timeout: 256 seconds) |
| 07:28:13 | → | xff0x joins (~xff0x@2001:1a81:5329:9c00:532c:18c2:3151:8d2a) |
| 07:29:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:30:36 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:32:32 | × | Morrow_ quits (~Morrow@31.154.96.164) (Ping timeout: 245 seconds) |
| 07:34:08 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds) |
| 07:34:53 | → | dsrt^ joins (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
| 07:34:56 | <tomsmeding> | kuribas: ah, from your 'reverse' I lazily concluded that new elements would be appended on the end with the expression you posted |
| 07:35:33 | <kuribas> | tomsmeding: in that case I wouldn't need a reverse, no? |
| 07:36:16 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:e4f5:e96c:7308:8daf) |
| 07:37:05 | <tomsmeding> | hmmmm, you're right lol |
| 07:38:17 | <kuribas> | sort could faster though, I'd need to benchmark... |
| 07:38:25 | <kuribas> | I didn't really think about performance. |
| 07:39:41 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 07:41:07 | → | ishutin_ joins (~ishutin@92-249-150-146.static.digikabel.hu) |
| 07:43:01 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:44:33 | × | ishutin quits (~ishutin@178-164-206-57.pool.digikabel.hu) (Ping timeout: 248 seconds) |
| 07:49:27 | <kuribas> | tomsmeding: map basically adds each element at a time. |
| 07:51:38 | × | phma quits (~phma@host-67-44-208-4.hnremote.net) (Read error: Connection reset by peer) |
| 07:52:36 | <tomsmeding> | kuribas: yeah, but that doesn't say whether it adds them on the left or on the right of the accumulated element, or in some other order |
| 07:52:46 | <tomsmeding> | I could have looked at the documentation but I was lazy :p |
| 07:53:31 | <kuribas> | tomsmeding: it's new_key ++ old_key. The documentation is rather bad indeed. |
| 07:54:10 | × | OscarH quits (~OscarH@2a02:c7f:a0da:ae00:ba27:ebff:fe84:d2f4) (Ping timeout: 252 seconds) |
| 07:54:35 | <tomsmeding> | makes sense though, given that fromListWith (++) is probably a common usecase |
| 07:55:30 | → | phma joins (~phma@host-67-44-209-33.hnremote.net) |
| 07:58:51 | × | timCF quits (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
| 08:01:54 | × | V quits (~v@anomalous.eu) (Ping timeout: 250 seconds) |
| 08:03:00 | → | dhruvasagar joins (~dhruvasag@49.207.59.235) |
| 08:03:56 | → | nschoe joins (~quassel@178.251.84.79) |
| 08:04:56 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:07:51 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 08:17:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
| 08:18:11 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 08:19:51 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 08:24:11 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 08:25:53 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 08:27:03 | <dsp> | I am trying to install Cabal 3.6.0.0 to build a project that requires cabal 3.6. I tried installing cabal-install using apt on Ubuntu 21.4 then using `cabal install cabal-install` to get the most recent versionw hich appears to be 3.4. I tried to install Cabal-3.6.0.0 using `cabal install Cabal-3.6.0.0` but i still cannot build the project due to verison mismatch |
| 08:27:13 | <dsp> | any idea how i install Cabal 3.6.0.0 correctly? |
| 08:28:05 | <sclv> | what project could possibly require cabal 3.6? |
| 08:28:09 | <dsp> | hsthrift |
| 08:28:18 | <sclv> | ah |
| 08:28:32 | <dsp> | I am trying to compile glean which requires hsthrift |
| 08:28:34 | <JavierNeira[m]> | wow that is really bleeding edge |
| 08:28:43 | <sclv> | note there’s not yet a cabal install release with that lib yet |
| 08:29:07 | → | cheater joins (~Username@user/cheater) |
| 08:29:25 | <dsp> | https://github.com/facebookincubator/hsthrift/blob/main/lib/thrift-lib.cabal see cabal-version: 3.6 |
| 08:29:25 | × | bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:29:48 | <sclv> | arguably you should pull the cabal 3.6 branch from github |
| 08:30:01 | <dsp> | fair enough. I'll do that |
| 08:30:07 | <sclv> | and build the cabal install binary from that branch |
| 08:30:17 | <dsp> | Ya that's sensible. Appreciate the help sclv. |
| 08:31:19 | <sclv> | alternatively maybe they don’t need that version? like try downgrading the number in that file and see whats the worst that happens :-) |
| 08:31:34 | <dsp> | Talkinga bout help, I have another question (I am fairly new to haskell, so sorry about that). I am using sql quasiquotes from sqlite-simple, but want to have an IN statement. E.g. "SELECT x FROM y WHERE z IN(?)". Now this expansion is not supported, instead you would have to add as many ? as there are elements in e.g. a list you want to query. What's the best appraoch to go about taht |
| 08:31:36 | <merijn> | sclv: But newer is always better! ;) |
| 08:31:40 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds) |
| 08:31:48 | <dsp> | I am thinking about building a new quasi quoter or so for it. I am curious how people solve these |
| 08:32:08 | <merijn> | dsp: You can't really solve those other than "generate the query dynamically" |
| 08:32:26 | <merijn> | Trust me, I tried :p |
| 08:33:03 | <dsp> | merijn: How do people do that usually? I like to write the query in quasiquotes for readability. So maybe just switch to RawText-QQ and parse the query for a placeholder and replace it? |
| 08:34:03 | <merijn> | dsp: The *proper* way to do it is to generate the query with ? placeholders as string, then pass that to query creation then fill in the ? using prepared statement |
| 08:34:07 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Ping timeout: 256 seconds) |
| 08:34:53 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:35:00 | → | teo joins (~teo@137.220.120.222) |
| 08:36:09 | → | jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
| 08:36:20 | <dsp> | merijn: right. So pure string manipulation before passing it to query creation right? I hope i understand it correctly how to do it, I'll give it a shot. |
| 08:36:44 | <dsp> | I am mostly concerned how to retain the readability of quasiquoting + generating the ? dynamically |
| 08:38:38 | <merijn> | I mean, what's the quasi quote really doing? |
| 08:39:02 | <dsp> | basically just allowing me to write nice multi-line queries in the code |
| 08:39:09 | → | Akronymus joins (~Akronymus@85.31.8.180) |
| 08:39:14 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 08:39:23 | <Akronymus> | A few weeks ago I asked about a weird haskell function in here. |
| 08:39:32 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 08:39:36 | <Akronymus> | I think I finally found it: https://wiki.haskell.org/Zygohistomorphic_prepromorphisms |
| 08:46:28 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 244 seconds) |
| 08:46:54 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 08:54:16 | → | MoC joins (~moc@user/moc) |
| 08:54:37 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 08:57:06 | → | ubert1 joins (~Thunderbi@91.141.75.40.wireless.dyn.drei.com) |
| 08:57:58 | × | ubert quits (~Thunderbi@77.119.167.244.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 08:57:58 | ubert1 | is now known as ubert |
| 09:03:26 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-4b6a-72bf-d881-3da7.fixed6.kpn.net) |
| 09:05:00 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 09:08:21 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 09:11:44 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 09:17:48 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
| 09:19:07 | × | charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Read error: Connection reset by peer) |
| 09:19:30 | → | charukiewicz joins (~quassel@irouteince04.i.subnet.rcn.com) |
| 09:22:12 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 245 seconds) |
| 09:28:41 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed) |
| 09:29:40 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
| 09:32:19 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:32:46 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:37:40 | → | __monty__ joins (~toonn@user/toonn) |
| 09:44:57 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 09:45:22 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 09:45:40 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 09:50:33 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72030066952f67dc93adefd.dip0.t-ipconnect.de) |
| 09:52:58 | × | jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 09:54:04 | × | acidjnk_new quits (~acidjnk@p200300d0c720300659598fb61e40d514.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 09:54:44 | → | fendor joins (~fendor@91.141.68.147.wireless.dyn.drei.com) |
| 09:57:21 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 10:04:59 | → | vysn joins (~vysn@user/vysn) |
| 10:06:02 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 10:07:24 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 10:08:24 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 10:11:10 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 10:12:32 | × | xff0x quits (~xff0x@2001:1a81:5329:9c00:532c:18c2:3151:8d2a) (Ping timeout: 245 seconds) |
| 10:13:25 | → | xff0x joins (~xff0x@2001:1a81:5329:9c00:9b27:ac34:a98:1a7c) |
| 10:18:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:21:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:31:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:38:01 | → | merijn joins (~merijn@2001:981:ab73:1:2088:973a:439d:f0e5) |
| 10:38:35 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 10:39:12 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 10:39:29 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 10:41:11 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 10:43:34 | × | merijn quits (~merijn@2001:981:ab73:1:2088:973a:439d:f0e5) (Ping timeout: 252 seconds) |
| 10:43:55 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:45:18 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 244 seconds) |
| 10:45:39 | → | xstill joins (~xstill@fimu/xstill) |
| 10:49:04 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:49:47 | → | comerijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:51:58 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 10:52:01 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 244 seconds) |
| 10:53:44 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:54:05 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 10:54:20 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 10:54:23 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 10:56:12 | → | neo joins (~neo3@cpe-292712.ip.primehome.com) |
| 10:59:48 | × | comerijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 11:00:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:00:59 | → | alx741 joins (~alx741@186.178.109.154) |
| 11:01:04 | → | Topsi joins (~Tobias@dyndsl-095-033-094-080.ewe-ip-backbone.de) |
| 11:05:12 | → | marjinal1st joins (~Thunderbi@185.67.125.128) |
| 11:07:06 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) () |
| 11:09:52 | → | AlexNoo_ joins (~AlexNoo@178.34.151.114) |
| 11:10:29 | → | acidjnk_new joins (~acidjnk@p5487d0ba.dip0.t-ipconnect.de) |
| 11:11:17 | × | Alex_test quits (~al_test@178.34.163.49) (Ping timeout: 245 seconds) |
| 11:12:10 | × | AlexZenon quits (~alzenon@178.34.163.49) (Ping timeout: 244 seconds) |
| 11:12:39 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 11:13:07 | × | AlexNoo quits (~AlexNoo@178.34.163.49) (Ping timeout: 240 seconds) |
| 11:13:53 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72030066952f67dc93adefd.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 11:15:43 | → | Alex_test joins (~al_test@178.34.151.114) |
| 11:16:42 | → | AlexZenon joins (~alzenon@178.34.151.114) |
| 11:17:10 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 11:17:40 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 11:17:51 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 244 seconds) |
| 11:19:11 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
| 11:20:22 | × | jespada quits (~jespada@90.254.245.194) (Ping timeout: 252 seconds) |
| 11:21:21 | → | jespada joins (~jespada@90.254.245.194) |
| 11:22:10 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 11:23:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 240 seconds) |
| 11:24:47 | → | fendor_ joins (~fendor@178.165.178.184.wireless.dyn.drei.com) |
| 11:25:18 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 11:28:11 | × | fendor quits (~fendor@91.141.68.147.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 11:30:33 | → | OscarH joins (~OscarH@054449d6.skybroadband.com) |
| 11:31:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 11:32:23 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
| 11:36:10 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 11:36:31 | → | _xor joins (~xor@74.215.232.67) |
| 11:40:55 | → | erinvanderveen[m joins (~erinvande@2001:470:69fc:105::e8f3) |
| 11:41:02 | <infinisil> | We're considering wrapping a supposedly pure C library doing some crypto verification. Is it a good idea to make this wrapper pure via `unsafePerformIIO`? |
| 11:41:22 | <hpc> | if you're using FFI, you don't need it |
| 11:41:32 | <hpc> | just give your functions the right type when you foreign import them |
| 11:41:53 | <hpc> | (but using unsafePerformIO after the fact is basically the same thing) |
| 11:41:58 | <merijn> | infinisil: You can even do that implicitly when you foreign import them |
| 11:41:59 | → | dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
| 11:42:12 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:42:23 | <merijn> | infinisil: How good of an idea that is depends heavily how sure you are that they're in fact pure ;) |
| 11:42:56 | <infinisil> | I see, guess that makes sense |
| 11:43:34 | <infinisil> | The library is well-tested and does pure things (verifying signatures is what we're interested in), the library is https://github.com/Yubico/libfido2 fyi |
| 11:44:08 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 11:45:19 | <erinvanderveen[m> | Could any problems occur if GHC assumes the functions are pure, when in certain unlikely cases they aren't? |
| 11:45:21 | <erinvanderveen[m> | A malloc failing for example. |
| 11:46:21 | fendor_ | is now known as fendor |
| 11:47:32 | × | JSharp quits (sid4580@id-4580.tooting.irccloud.com) () |
| 11:47:58 | → | JSharp joins (sid4580@id-4580.lymington.irccloud.com) |
| 11:48:00 | <hpc> | erinvanderveen[m: more the question there is, what happens when foreign code has an error |
| 11:48:26 | <hpc> | at a low level (in ghc at least), IO and pure code are the same thing |
| 11:49:02 | <hpc> | when malloc fails it returns a null pointer, so unless that's handled you get a segfault |
| 11:49:27 | <merijn> | erinvanderveen[m: If a function *isn't* pure and you use unsafeX to make GHC think it is, then problems can occur, yes |
| 11:50:18 | <merijn> | erinvanderveen[m: If you give functions a pure type it's equivalent to saying "I'm ok with this running 0, 1, or more times and don't really care in what order" |
| 11:50:40 | × | xff0x quits (~xff0x@2001:1a81:5329:9c00:9b27:ac34:a98:1a7c) (Ping timeout: 252 seconds) |
| 11:51:06 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:554e:b40c:516f:45c1) |
| 11:53:25 | <infinisil> | Alright, so I think it's pretty easy: If the function in C is pure, make it pure in Haskell too. If it isn't, don't |
| 11:53:40 | → | xff0x joins (~xff0x@2001:1a81:5329:9c00:9b27:ac34:a98:1a7c) |
| 11:55:51 | <erinvanderveen[m> | Thank you for your answers. |
| 11:56:10 | → | machinedgod joins (~machinedg@135.23.192.217) |
| 11:56:10 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds) |
| 11:57:11 | <merijn> | In fact, it's not really a matter of "can problems occur" and more "how horribly will they manifest" ;) |
| 11:57:41 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 11:58:01 | <merijn> | infinisil: And make sure you do safe foreign imports unless you're really, *really*, REALLY sure what you're doing |
| 11:58:17 | × | idnar quits (sid12240@debian/mithrandi) () |
| 11:58:32 | → | idnar joins (sid12240@debian/mithrandi) |
| 11:59:19 | × | dsal quits (sid13060@id-13060.tooting.irccloud.com) () |
| 11:59:35 | → | dsal joins (sid13060@id-13060.lymington.irccloud.com) |
| 12:02:34 | × | teehemkay quits (sid14792@id-14792.tooting.irccloud.com) () |
| 12:02:48 | → | teehemkay joins (sid14792@id-14792.lymington.irccloud.com) |
| 12:03:27 | × | max22- quits (~maxime@2a01cb088335980087ef5e22f6c6ad9b.ipv6.abo.wanadoo.fr) (Ping timeout: 245 seconds) |
| 12:03:56 | × | neo quits (~neo3@cpe-292712.ip.primehome.com) (Read error: Connection reset by peer) |
| 12:04:21 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Ping timeout: 256 seconds) |
| 12:06:25 | × | nrr quits (sid20938@tooting.irccloud.com) () |
| 12:06:41 | → | nrr joins (sid20938@id-20938.lymington.irccloud.com) |
| 12:07:26 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 12:07:39 | <tdammers> | I like that wording... not just "will it be horrible", but "how horrible exactly will it get" |
| 12:07:46 | → | sleblanc joins (~sleblanc@user/sleblanc) |
| 12:07:50 | × | NemesisD quits (sid24071@tooting.irccloud.com) () |
| 12:08:05 | → | NemesisD joins (sid24071@id-24071.lymington.irccloud.com) |
| 12:13:27 | <kuribas> | I am looking at the hspec-smallcheck package, but I don't see any way to change the depth? |
| 12:14:02 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 12:14:51 | <sshine_> | kuribas, depth as in implicit size parameter? |
| 12:15:03 | <kuribas> | sshine_: I suppose? |
| 12:15:55 | <kuribas> | sshine_: depth as in what you pass to smallCheck: https://hackage.haskell.org/package/smallcheck-1.2.1/docs/Test-SmallCheck-Drivers.html#v:smallCheck |
| 12:16:03 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:16:10 | <sshine_> | kuribas, ah, `changeDepth`. can't you do 'property $ changeDepth ...'? |
| 12:16:38 | → | lavaman joins (~lavaman@98.38.249.169) |
| 12:16:48 | <Akronymus> | This is such a nice place of sanity. |
| 12:16:53 | <sshine_> | seems like hspec-smallcheck only exposes the 'property' wrapper for embedding into Specs. |
| 12:17:04 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 12:17:10 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 240 seconds) |
| 12:17:41 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 12:17:47 | <sshine_> | Akronymus, as in, you want to change the depth of a property so you do property . changeDepth ...? :D |
| 12:17:53 | → | lavaman joins (~lavaman@98.38.249.169) |
| 12:19:20 | <Akronymus> | sshine_ as in, reading #haskell keeps me somewhat sane. |
| 12:19:37 | <Akronymus> | Currently learning ABL/Progress/OpenEdge for work. |
| 12:19:45 | <kuribas> | sshine_: hmm, maybe I need to use the smallCheck function. |
| 12:19:46 | <Akronymus> | And it makes me wanna gauge my eyes out. |
| 12:20:08 | <kuribas> | sshine_: that instance "Testable IO (IO ())" is a big smell though... |
| 12:20:27 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 12:20:31 | <int-e> | . o O ( Detestable instance ) |
| 12:20:34 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 12:20:48 | <hpc> | that'd be a good package name |
| 12:22:46 | <sshine_> | kuribas, admittedly, hspec-hedgehog has a lot more than 'property'. but I always tend to make a few test helpers of my own anyways. |
| 12:23:08 | <kuribas> | sshine_: a bit of documentation migh have helped too :) |
| 12:23:18 | → | tfeb joins (tfb@gateway/vpn/protonvpn/tfb) |
| 12:23:20 | <sshine_> | kuribas, yep! |
| 12:23:55 | <sshine_> | https://hackage.haskell.org/package/hspec-hedgehog-0.0.1.2/docs/Test-Hspec-Hedgehog.html is a good example of what https://hackage.haskell.org/package/hspec-smallcheck-0.5.2/docs/Test-Hspec-SmallCheck.html could have looked like :P |
| 12:24:18 | <sshine_> | I guess there is some at https://hackage.haskell.org/package/smallcheck-1.1.3.1/docs/Test-SmallCheck.html |
| 12:24:42 | <kuribas> | sshine_: yes, much better! |
| 12:25:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Ping timeout: 256 seconds) |
| 12:26:01 | sshine_ | is now known as sshine |
| 12:27:11 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 12:27:51 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 12:38:31 | → | arjun joins (~Srain@user/arjun) |
| 12:44:38 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 12:44:55 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 12:47:19 | × | sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
| 12:48:07 | → | pbrisbin joins (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) |
| 12:48:28 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 12:48:42 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 12:48:45 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:49:18 | × | tfeb quits (tfb@gateway/vpn/protonvpn/tfb) (Remote host closed the connection) |
| 12:50:10 | × | sclv quits (sid39734@haskell/developer/sclv) () |
| 12:50:25 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 12:55:55 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 12:56:07 | × | marjinal1st quits (~Thunderbi@185.67.125.128) (Ping timeout: 252 seconds) |
| 12:57:12 | → | max22- joins (~maxime@2a01cb0883359800a52ea8a51dfe9c16.ipv6.abo.wanadoo.fr) |
| 13:00:09 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 244 seconds) |
| 13:00:44 | × | iphy quits (sid67735@tooting.irccloud.com) () |
| 13:01:03 | → | iphy joins (sid67735@id-67735.lymington.irccloud.com) |
| 13:03:14 | × | degraafk quits (sid71464@tooting.irccloud.com) () |
| 13:03:30 | → | degraafk joins (sid71464@id-71464.lymington.irccloud.com) |
| 13:03:45 | × | adamse quits (sid72084@user/adamse) () |
| 13:03:55 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 13:04:03 | → | adamse joins (sid72084@user/adamse) |
| 13:04:48 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 13:05:00 | <_bin> | What sort of concurrency mechanism is best for making a lot of network requests at once? |
| 13:05:28 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 13:06:11 | → | favonia joins (~favonia@user/favonia) |
| 13:08:58 | × | christiaanb quits (sid84827@tooting.irccloud.com) () |
| 13:09:13 | → | christiaanb joins (sid84827@id-84827.lymington.irccloud.com) |
| 13:10:08 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds) |
| 13:11:11 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 13:11:16 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 13:12:07 | AlexNoo_ | is now known as AlexNoo |
| 13:14:35 | × | PotatoGim quits (sid99505@id-99505.tooting.irccloud.com) () |
| 13:15:01 | → | PotatoGim joins (sid99505@id-99505.lymington.irccloud.com) |
| 13:15:41 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
| 13:15:42 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:15:55 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 13:16:18 | → | hendursaga joins (~weechat@user/hendursaga) |
| 13:18:47 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 13:19:10 | → | marjinal1st joins (~Thunderbi@178.251.45.235) |
| 13:19:53 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 13:20:26 | × | marjinal1st quits (~Thunderbi@178.251.45.235) (Client Quit) |
| 13:20:34 | → | MQ-17J joins (~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458) |
| 13:20:44 | → | marjinal1st joins (~Thunderbi@178.251.45.235) |
| 13:20:57 | × | marjinal1st quits (~Thunderbi@178.251.45.235) (Client Quit) |
| 13:22:47 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 13:24:58 | <merijn> | How much is a lot? |
| 13:32:52 | <[exa]> | _bin: anything that prevents resource starvation. also see ^ |
| 13:33:13 | <_bin> | Uhh, probably a few thousand. mapConcurrent? |
| 13:33:31 | <_bin> | (I'm reasonably sure that doing this won't get me banned from the API) |
| 13:33:34 | → | benin0369323 joins (~benin@183.82.25.23) |
| 13:33:49 | <merijn> | I mean, a few thousand can probably just be done with 1 thread per thing |
| 13:34:06 | <[exa]> | yeah, standard hs concurrency should handle that reasonably well |
| 13:34:22 | <merijn> | I have a rate-limited parallel map, but that needs an update which I will get to Any Day Now (TM) |
| 13:34:45 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:37:24 | → | Pickchea joins (~private@user/pickchea) |
| 13:39:28 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Remote host closed the connection) |
| 13:40:08 | × | hsiktas quits (sid224847@tooting.irccloud.com) () |
| 13:40:37 | → | hsiktas joins (sid224847@id-224847.lymington.irccloud.com) |
| 13:41:14 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 13:46:10 | <_bin> | What do you mean by standard concurrency? I can just make requests normally and it will automatically parallelize? |
| 13:46:22 | <wz1000> | some services might not like it if you make a few thousand concurrent requests to the same server |
| 13:49:28 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 13:50:15 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
| 13:50:40 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2) |
| 13:51:50 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 13:51:50 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 13:51:50 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:55:26 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 244 seconds) |
| 13:55:30 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 250 seconds) |
| 13:58:01 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 13:59:40 | → | dudek joins (~dudek@185.150.236.103) |
| 13:59:48 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 14:01:07 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
| 14:01:42 | × | max22- quits (~maxime@2a01cb0883359800a52ea8a51dfe9c16.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 14:02:15 | <_bin> | Yeah but honestly this one is so badly written that I don't think there's any rate-limiting |
| 14:02:19 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:02:26 | → | gentauro joins (~gentauro@user/gentauro) |
| 14:02:57 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 14:03:22 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:03:46 | <[exa]> | _bin: haskell RTS contains a pretty powerfull event polling that can organize the green threads with parallel requests really nicely and quickly |
| 14:03:53 | <[exa]> | there's even a benchmark somewhere |
| 14:04:19 | × | MQ-17J quits (~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458) (Ping timeout: 252 seconds) |
| 14:07:36 | <[exa]> | so, in short, yeah- just spawning all the requests with forkIO and waiting until all finish should do nicely (which is afaik what mapConcurrent does) |
| 14:07:53 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 14:12:18 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
| 14:14:24 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 14:14:37 | × | opac quits (~opac@ip-28-56.sn2.clouditalia.com) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 14:14:42 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
| 14:16:27 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 14:17:42 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 14:19:53 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 14:21:47 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Client Quit) |
| 14:22:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 14:24:59 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
| 14:26:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Ping timeout: 240 seconds) |
| 14:27:28 | × | acidjnk_new quits (~acidjnk@p5487d0ba.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 14:27:49 | → | ruifengx joins (~ruifengx@111.43.122.32) |
| 14:27:58 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds) |
| 14:28:19 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 14:28:52 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 14:30:08 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 14:31:49 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Client Quit) |
| 14:32:59 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 14:33:43 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 14:34:01 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 14:37:31 | <ruifengx> | hi everyone, my teacher thinks the name "Prelude" for the Haskell standard library is an acronym for "pre-include", despite the fact that "prelude" already has its own meaning as "any action, event, comment, etc. that precedes something else". I'm not a native English speaker, nor is my teacher. I failed to convince him, so I come here for some clarifications on this: could someone (perhaps a native English speaker) prove me (in)correct? |
| 14:39:22 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 14:39:34 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 14:40:59 | × | integral quits (sid296274@user/integral) () |
| 14:41:09 | <maerwald> | https://www.haskell.org/onlinereport/standard-prelude.html |
| 14:41:17 | → | integral joins (sid296274@user/integral) |
| 14:41:23 | <maerwald> | doesn't contain a definition and doesn't say anything about pre-include |
| 14:41:42 | <maerwald> | so I'm assuming it means the english word 'Prelude' |
| 14:43:04 | × | Topsi quits (~Tobias@dyndsl-095-033-094-080.ewe-ip-backbone.de) (Ping timeout: 256 seconds) |
| 14:44:05 | <maerwald> | also, winning an argument aginst your teacher is a good cause |
| 14:45:05 | <ruifengx> | ok, thanks lol |
| 14:45:20 | <merijn> | ruifengx: I'm fairly sure it's just the standard English meaning, yes |
| 14:46:11 | <merijn> | pre-include seems silly, since there's no "include" notion in Haskell |
| 14:48:15 | <ruifengx> | Yeah, I argued in Haskell we "import" instead of "include", but he seemed not convinced at all :) |
| 14:48:53 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
| 14:49:55 | × | dextaa quits (~DV@user/dextaa) (Ping timeout: 252 seconds) |
| 14:50:00 | <lortabac> | TBH winning an argument against your teacher is not always a good idea |
| 14:50:21 | <lortabac> | sometimes the best thing to do is to say yes and forget about it |
| 14:50:31 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
| 14:50:54 | <gehmehgeh> | lortabac, maerwald: Yes and no. It can be quite glorious if you're right about the Afghan war and get a bad grade in politcs class because of it |
| 14:51:06 | <gehmehgeh> | I agree that this has to be done in good measure |
| 14:51:08 | <gehmehgeh> | :D |
| 14:51:33 | <gehmehgeh> | (I mention Afghanistan because that's what happened to me 20 years ago in class) |
| 14:51:35 | <gehmehgeh> | :D |
| 14:51:45 | <lortabac> | I've seen too many people getting bad grades because they were right |
| 14:51:59 | <gehmehgeh> | ruifengx: He's your teacher in what context? |
| 14:52:06 | × | gonz__ quits (sid304396@tooting.irccloud.com) () |
| 14:52:17 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 14:52:24 | → | gonz__ joins (sid304396@id-304396.lymington.irccloud.com) |
| 14:52:42 | → | dextaa joins (~DV@user/dextaa) |
| 14:52:46 | → | MQ-17J joins (~MQ-17J@2607:fb90:1d86:6272:b64e:2431:9a16:7a5b) |
| 14:53:01 | <ruifengx> | Actually we are working on a textbook, and I think it is a good idea to get things 100% correct for textbooks |
| 14:53:13 | <ruifengx> | I'm the TA for this course |
| 14:54:43 | <kuribas> | that changes things |
| 14:54:56 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed) |
| 14:55:03 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:55:03 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 14:55:03 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:55:13 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 14:56:17 | × | enemeth79 quits (sid309041@tooting.irccloud.com) () |
| 14:56:24 | <kuribas> | prelude in music is a small piece that comes before the main work. |
| 14:56:29 | <kuribas> | Often improvised. |
| 14:56:34 | → | enemeth79 joins (sid309041@id-309041.lymington.irccloud.com) |
| 14:56:44 | <lortabac> | if it can help: https://dictionary.cambridge.org/dictionary/english/prelude |
| 14:57:42 | <lortabac> | that said, only the person who came up with the name "Prelude" has the definitive answer :) |
| 14:57:59 | <merijn> | Well, presumably anyone on the committee has it |
| 14:58:10 | <merijn> | To bad augustss doesn't idle here anymore |
| 14:59:00 | <lortabac> | I've seen them on Reddit recently IIRC |
| 14:59:25 | <merijn> | Yeah, he still lurks there, I blame the bank lawyers for him disappearing from IRC :p |
| 14:59:27 | <maerwald> | I think it's irrelevant what they meant, unless it's in the haskell report |
| 14:59:37 | <maerwald> | but it isn't, so it's the standard english word |
| 15:00:01 | <lortabac> | fair point |
| 15:00:16 | <ruifengx> | We did check the dictionary and found this definition, and we both agreed a prelude for music is a great analogy for the standard library. He was just wondering whether it might come originally from "pre-include", being a pun... |
| 15:00:18 | <kuribas> | if it was a clever acronym, it should be written at least *somewhere*. |
| 15:00:35 | <kuribas> | People often invent clever acronyms, but then are vocal about it. |
| 15:01:07 | <maerwald> | Like schönfinkeln? |
| 15:01:10 | × | Pent quits (sid313808@tooting.irccloud.com) () |
| 15:01:30 | → | Pent joins (sid313808@id-313808.lymington.irccloud.com) |
| 15:02:29 | <kuribas> | ruifengx: so I would ask him where he read that. |
| 15:02:36 | <ruifengx> | Anyway, I sent him a screenshot of this conversation, and he seems convinced now. |
| 15:02:39 | <gehmehgeh> | Also, there's more than one Prelude, isn't it? I mean there's the standard one and then there's also things like RIO... |
| 15:02:46 | <gehmehgeh> | So it can't possible be a "pre-include" |
| 15:03:05 | <gehmehgeh> | (well, ok, it could, but it seems odd) |
| 15:03:11 | <maerwald> | glad we won the argument |
| 15:03:17 | <gehmehgeh> | haha |
| 15:03:19 | <gehmehgeh> | :D |
| 15:03:30 | <maerwald> | btw: https://doc.rust-lang.org/std/prelude/index.html |
| 15:03:55 | <ruifengx> | He came up with this "pre-include" thing by himself, because "prelude" was not in his vocabulary :) |
| 15:04:31 | <maerwald> | in the rust documentation, I think it's even more clear, because prelude is written lowercase |
| 15:04:46 | <maerwald> | in the haskell report it's always uppercase |
| 15:05:01 | <ruifengx> | To be fair, "prelude" is not at all a common word for us, and a "pre-include" was a best guess I think |
| 15:05:36 | × | turlando quits (~turlando@user/turlando) (Read error: Connection reset by peer) |
| 15:05:37 | <ruifengx> | Yes, lowercase prelude is prehaps an evidence |
| 15:05:43 | <maerwald> | :D |
| 15:05:49 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 15:05:49 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 15:05:49 | → | turlando joins (~turlando@user/turlando) |
| 15:05:52 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 15:06:14 | <maerwald> | maybe need the HF board to vote on this issue |
| 15:08:46 | <maerwald> | we could fix it in the next haskell report |
| 15:08:46 | <ruifengx> | thanks again for your help |
| 15:09:43 | <ruifengx> | module names are uppercase in Haskell and lowercase in Rust, so I guess that's where this difference originiate |
| 15:09:52 | <yushyin> | maerwald: next haskell report, how funny you are :P |
| 15:10:25 | <maerwald> | ruifengx: this is getting way to deep :p |
| 15:11:24 | <ruifengx> | Speaking of the next haskell report ... How exactly is Haskell Prime going? |
| 15:12:05 | <merijn> | ruifengx: Funny joke :p |
| 15:12:19 | <ruifengx> | XD |
| 15:12:32 | <maerwald> | Haskell report is a job for the Haskell Foundation imo, but this might *just* be my opinion |
| 15:13:21 | <kuribas> | ruifengx: just out of curiosity, what is your language? |
| 15:13:23 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 15:13:48 | <maerwald> | I'm guessing german... deriving "pre-include" seems german |
| 15:14:04 | <maerwald> | we like to combine words |
| 15:14:09 | <kuribas> | but .. but ... Bach! |
| 15:14:18 | → | aegon joins (~mike@174.127.249.180) |
| 15:14:22 | <kuribas> | how can you be German and not know Bach? |
| 15:14:24 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2) |
| 15:14:56 | → | tfeb joins (~tfb@88.98.95.237) |
| 15:15:12 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 15:15:35 | <ruifengx> | kuribas: Chinese, I'm in mainland China |
| 15:15:45 | <maerwald> | close enough |
| 15:16:22 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
| 15:16:55 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 15:17:14 | × | Akronymus quits (~Akronymus@85.31.8.180) (Quit: Client closed) |
| 15:17:28 | <maerwald> | ruifengx: sjtug? |
| 15:17:28 | → | Akronymus joins (~Akronymus@85.31.8.180) |
| 15:18:17 | <maerwald> | that's the only chinese university I know that does some haskell stuff I think |
| 15:18:40 | <ruifengx> | maerwald: no, I'm at Peking University |
| 15:19:36 | <kuribas> | ruifengx: you speak pretty well english |
| 15:20:11 | <ruifengx> | Prof. Zhenjiang Hu (previously at NII in Japan) came here ~2yrs ago, and he brings back some functional things here |
| 15:20:27 | <maerwald> | cool |
| 15:20:31 | <dmj`> | Peking is a great school |
| 15:20:32 | <kuribas> | nice to hear haskell made it to china :) |
| 15:20:42 | × | aria quits (sid380617@id-380617.tooting.irccloud.com) () |
| 15:20:58 | → | aria joins (sid380617@id-380617.lymington.irccloud.com) |
| 15:21:35 | <ruifengx> | I believe it has always been here, just did not make it into universities |
| 15:21:37 | × | Akronymus quits (~Akronymus@85.31.8.180) (Client Quit) |
| 15:22:26 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 15:22:57 | <maerwald> | ruifengx: sjtug maintains a lot of mirrors for various things (including ghc bindists)... are there issues with accessing hackage or downloads.haskell.org from china? |
| 15:23:23 | → | max22- joins (~maxime@2a01cb0883359800b9a79637bda73194.ipv6.abo.wanadoo.fr) |
| 15:23:24 | <gehmehgeh> | ruifengx: Interesting that you say you're from "mainland China" instead just "China" |
| 15:23:58 | <ruifengx> | "mainland China" for addressing network issues :P |
| 15:24:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 15:25:09 | <ruifengx> | maerwald: sometimes we have trouble fetching files from raw.githubusercontents.com, and that should affect stack |
| 15:25:42 | → | danso joins (~danso@23.233.111.52) |
| 15:26:29 | <ruifengx> | most of the time it is just the speed being intolerably slow, so we have various mirror sites ... |
| 15:27:44 | <ruifengx> | FYI, students in Tsinghua University also maintained a mirror called TUNA: https://mirrors.tuna.tsinghua.edu.cn/ |
| 15:28:39 | <maerwald> | I'm only aware of https://git.io/JEpTW |
| 15:30:19 | × | tfeb quits (~tfb@88.98.95.237) (Quit: died) |
| 15:30:40 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 15:31:33 | <ruifengx> | on TUNA there are mirrors for Hackage and Stackage |
| 15:31:34 | <maerwald> | https://github.com/tuna/issues/issues/587 |
| 15:31:50 | <maerwald> | not sure what that ticket says |
| 15:31:51 | <ruifengx> | BTW git.io is blocked by GFW, a vivid example of *network issues* |
| 15:32:04 | <maerwald> | https://github.com/sjtug/portal/blob/master/content/post/mirror-help/ghcup.md |
| 15:32:38 | <maerwald> | hmm, dramforever is from tuna? |
| 15:32:55 | <maerwald> | wasn't that an IRC regular? |
| 15:33:22 | <ruifengx> | The ticket says the configuration for stack was outdated and needed an update (already fixed now) |
| 15:34:25 | × | micro quits (~micro@user/micro) (Ping timeout: 248 seconds) |
| 15:35:18 | → | micro joins (~micro@user/micro) |
| 15:35:19 | <ruifengx> | yep I guess dramforever is from THU |
| 15:36:26 | × | MQ-17J quits (~MQ-17J@2607:fb90:1d86:6272:b64e:2431:9a16:7a5b) (Read error: Connection reset by peer) |
| 15:36:43 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:37:43 | <turlando> | Is there a way to get a list of directories only inside a given directory using turtle (or stdlib functions)? |
| 15:38:14 | <maerwald> | atomically? |
| 15:38:22 | <maerwald> | I mean, as atomic as it gets |
| 15:38:34 | → | opac joins (~opac@ip-28-56.sn2.clouditalia.com) |
| 15:38:35 | <turlando> | As atomic as the POSIX allows... |
| 15:39:02 | <maerwald> | right, then `directory` won't help you with that |
| 15:39:28 | <turlando> | directory as in System.Directory? |
| 15:39:32 | <maerwald> | yeah |
| 15:40:00 | ← | ruifengx parts (~ruifengx@111.43.122.32) () |
| 15:40:06 | <maerwald> | turlando: https://hackage.haskell.org/package/hpath-posix-0.13.3/docs/System-Posix-RawFilePath-Directory-Traversals.html#v:getDirectoryContents |
| 15:40:08 | <maerwald> | sth like that |
| 15:40:38 | <maerwald> | you just filter on it... that's the same you'd do in a manual loop |
| 15:40:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
| 15:41:06 | <turlando> | Thanks maerwald, I will try that way |
| 15:42:03 | → | bitmapper joins (uid464869@id-464869.tooting.irccloud.com) |
| 15:42:20 | <maerwald> | I mean, readdir syscall doesn't allow flags |
| 15:42:44 | <maerwald> | it will always return both |
| 15:43:07 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:43:10 | <turlando> | I see, that's not a big issue if I can filter files out easily |
| 15:43:27 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 15:43:31 | <maerwald> | yeah, and still better than running `doesDirectoryExist` on the result |
| 15:43:37 | <maerwald> | which is another syscall and non-atomic |
| 15:45:32 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 15:46:19 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-4b6a-72bf-d881-3da7.fixed6.kpn.net) (Quit: Leaving) |
| 15:48:55 | <maerwald> | `filter ((==dtDir) . fst) <$> getDirectoryContents` |
| 15:49:06 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 15:49:06 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 15:49:31 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:49:32 | <maerwald> | or rather `fmap snd . filter ((==dtDir) . fst) <$> getDirectoryContents` |
| 15:52:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:54:41 | <maerwald> | I wonder if it's more efficient if you unsafeInterlaveIO it with `filter`, so the filter fuses with the loop? |
| 15:54:51 | <maerwald> | or unsafePerformIO |
| 15:55:20 | <maerwald> | (and then forcing and evaluating it and putting it back into IO) |
| 15:55:31 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 15:55:49 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
| 15:55:54 | <turlando> | Good question, I have no idea, and for now performance is not a concern |
| 15:56:06 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 15:56:27 | <maerwald> | right, just thinking what would happen in a directory with 10k files and 1 dir... it would probably build the entire list in memory before filtering |
| 15:57:21 | × | max22- quits (~maxime@2a01cb0883359800b9a79637bda73194.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:57:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 15:58:10 | <maerwald> | oh wait |
| 15:58:26 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 15:58:27 | <maerwald> | I forgot that I wrote this: https://hackage.haskell.org/package/streamly-posix-0.1.0.2/docs/Streamly-External-Posix-DirStream.html |
| 15:58:34 | <maerwald> | that's probably better |
| 15:59:09 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 15:59:33 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:e4f5:e96c:7308:8daf) (Quit: WeeChat 2.8) |
| 15:59:37 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 15:59:52 | <maerwald> | (if you're familiar with streamly) |
| 16:00:00 | <turlando> | I'm not unfortunately |
| 16:00:08 | <maerwald> | great way to get started |
| 16:00:25 | <turlando> | :) |
| 16:01:54 | → | lavaman joins (~lavaman@98.38.249.169) |
| 16:05:10 | → | max22- joins (~maxime@2a01cb08833598004d1bbe70867eb08c.ipv6.abo.wanadoo.fr) |
| 16:05:44 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 16:05:58 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 16:08:04 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 256 seconds) |
| 16:09:34 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 16:10:07 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 16:13:36 | → | nschoe joins (~quassel@178.251.84.79) |
| 16:13:40 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 16:15:32 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:15:32 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 16:15:32 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:20:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Remote host closed the connection) |
| 16:20:32 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 16:21:01 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 16:25:38 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 16:25:55 | × | ephemient quits (uid407513@id-407513.tooting.irccloud.com) () |
| 16:26:11 | → | ephemient joins (uid407513@id-407513.lymington.irccloud.com) |
| 16:28:07 | × | Adeon quits (sid418992@tooting.irccloud.com) () |
| 16:28:22 | → | Adeon joins (sid418992@id-418992.lymington.irccloud.com) |
| 16:30:10 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 256 seconds) |
| 16:31:10 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 16:31:28 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:31:31 | × | teo quits (~teo@137.220.120.222) () |
| 16:34:40 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
| 16:36:49 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 16:39:29 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 16:39:46 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 16:41:00 | × | Boarders quits (sid425905@id-425905.tooting.irccloud.com) () |
| 16:41:04 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 16:41:15 | → | Boarders joins (sid425905@id-425905.lymington.irccloud.com) |
| 16:44:56 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection) |
| 16:48:24 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 16:48:33 | × | phma quits (~phma@host-67-44-209-33.hnremote.net) (Read error: Connection reset by peer) |
| 16:49:43 | → | phma joins (~phma@host-67-44-208-129.hnremote.net) |
| 16:57:09 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:57:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 16:57:09 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:59:21 | × | bitmapper quits (uid464869@id-464869.tooting.irccloud.com) () |
| 16:59:36 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 17:00:56 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 17:02:24 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 17:07:40 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 17:09:35 | × | hrnz quits (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
| 17:09:53 | → | hrnz joins (~ulli@irc.plumbing) |
| 17:16:41 | ← | arjun parts (~Srain@user/arjun) (Leave.) |
| 17:20:23 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 17:22:53 | × | alx741 quits (~alx741@186.178.109.154) (Quit: alx741) |
| 17:33:29 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-7-12.prtc.net) |
| 17:34:11 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 17:36:21 | → | econo joins (uid147250@user/econo) |
| 17:37:10 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 17:37:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 17:37:27 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 17:37:46 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 17:38:27 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 17:40:00 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 17:45:48 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2) |
| 17:49:27 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-7-12.prtc.net) (Ping timeout: 256 seconds) |
| 17:50:27 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 17:51:02 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 17:51:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 17:52:04 | → | jacks2 joins (~bc8167eb@217.29.117.252) |
| 17:53:10 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:53:10 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 17:53:10 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:54:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:54:07 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 17:57:36 | → | koolazer joins (~koo@user/koolazer) |
| 17:57:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 18:00:09 | → | Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr) |
| 18:01:23 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 18:05:51 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 18:07:09 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 18:07:10 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds) |
| 18:07:18 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Remote host closed the connection) |
| 18:08:50 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:08:50 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 18:08:50 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:09:37 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 18:09:43 | → | Guest8166 joins (~lordgrenv@31.210.177.64) |
| 18:10:52 | × | Vooch quits (~iovoo@096-038-011-034.biz.spectrum.com) (Quit: Konversation terminated!) |
| 18:13:02 | <jacks2> | I use doesDirectoryExist/doesFileExist to check whether my program needs to create initial config file and directory structure to it. since everyone seem to hate those functions, what would be the proper way to do it? |
| 18:14:34 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 18:16:03 | → | Pickchea joins (~private@user/pickchea) |
| 18:17:40 | × | kuribas quits (~user@ptr-25vy0iagfpe8knotjos.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 18:21:08 | <dmj`> | jacks2: sounds good to me |
| 18:22:16 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 18:22:33 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:23:59 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 18:24:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:26:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 18:26:57 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 18:28:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 18:29:10 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 18:30:58 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:30:58 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 18:30:58 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:31:06 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 18:35:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 18:38:29 | → | chris joins (~chris@81.96.113.213) |
| 18:38:30 | chris | is now known as Guest73 |
| 18:40:14 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 18:40:16 | → | acidjnk_new joins (~acidjnk@p200300d0c720308244f5798d54dcee82.dip0.t-ipconnect.de) |
| 18:40:48 | <maerwald> | jacks2: catching exceptions |
| 18:45:30 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 18:47:32 | <maerwald> | https://hackage.haskell.org/package/directory-1.3.6.2/docs/src/System.Directory.html#createDirectoryIfMissing |
| 18:47:57 | <maerwald> | there directory actually does something right |
| 18:48:12 | → | mastarija joins (~mastarija@31.217.20.102) |
| 18:49:00 | <maerwald> | for reading config file sth like `handle (\e -> if isDoesNotExistError e then pure "initial config" else throw e) $ readFile "config-file"` |
| 18:49:10 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 18:49:40 | <maerwald> | note that on windows you get different exceptions |
| 18:49:56 | × | Guest73 quits (~chris@81.96.113.213) (Ping timeout: 244 seconds) |
| 18:50:44 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 18:51:38 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 18:52:31 | → | chris joins (~chris@81.96.113.213) |
| 18:52:34 | chris | is now known as Guest846 |
| 18:52:59 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 18:53:02 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds) |
| 18:57:12 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 19:05:39 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 19:07:01 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 19:08:44 | × | whez quits (sid470288@id-470288.tooting.irccloud.com) () |
| 19:08:57 | → | whez joins (sid470288@id-470288.lymington.irccloud.com) |
| 19:10:28 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 19:11:33 | × | aman quits (~aman@user/aman) (Quit: aman) |
| 19:12:40 | × | benin0369323 quits (~benin@183.82.25.23) (Remote host closed the connection) |
| 19:12:48 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 19:13:51 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 19:20:36 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 19:21:02 | × | hendi quits (sid489601@id-489601.tooting.irccloud.com) () |
| 19:21:17 | → | hendi joins (sid489601@id-489601.lymington.irccloud.com) |
| 19:22:41 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 19:24:38 | × | Guest846 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 19:25:15 | → | chris joins (~chris@81.96.113.213) |
| 19:25:16 | <ski> | @type handleJust (guard . System.IO.Error.isDoesNotExistError) (\() -> pure "initial config") (readFile "config-file") |
| 19:25:17 | <lambdabot> | IO [Char] |
| 19:25:17 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 19:25:18 | chris | is now known as Guest1692 |
| 19:27:08 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 19:28:00 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 19:29:42 | × | Guest1692 quits (~chris@81.96.113.213) (Ping timeout: 245 seconds) |
| 19:37:11 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
| 19:38:28 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 19:51:09 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 19:52:17 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 19:55:26 | → | nvmd joins (~nvmd@user/nvmd) |
| 19:55:38 | × | nvmd quits (~nvmd@user/nvmd) (Client Quit) |
| 19:55:50 | → | nvmd joins (~nvmd@user/nvmd) |
| 19:56:00 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 19:58:02 | × | adam_ quits (uid515807@id-515807.tooting.irccloud.com) () |
| 19:58:16 | → | adam_ joins (uid515807@id-515807.lymington.irccloud.com) |
| 20:01:58 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:04:56 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 256 seconds) |
| 20:05:31 | → | desantra joins (~skykanin@user/skykanin) |
| 20:07:03 | → | juhp joins (~juhp@128.106.188.220) |
| 20:08:35 | → | burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
| 20:08:42 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 20:09:26 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:09:31 | × | mei quits (~mei@user/mei) (Ping timeout: 252 seconds) |
| 20:10:37 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 20:12:52 | × | burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 20:13:52 | × | hrnz quits (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
| 20:14:11 | → | hrnz joins (~ulli@vegan.im.it) |
| 20:16:10 | <_bin> | How do I debug a `show` call giving `Prelude.read: no parse`? |
| 20:17:59 | <sm> | _bin: in your code ? |
| 20:19:21 | <Hecate> | _bin: spread a HasCallStack in all the functions that may contain `read`, or are the parents of such functions. |
| 20:19:42 | <Hecate> | Then have fun with the callstack functions to show the callstack |
| 20:19:50 | × | mastarija quits (~mastarija@31.217.20.102) (Quit: Leaving) |
| 20:20:02 | <Hecate> | I encourage you to use the version of read that returns a Maybe or an Either |
| 20:20:11 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 20:20:51 | <sm> | why would show give a read error ? |
| 20:21:13 | <sm> | if it's one of your types, check your Show instance |
| 20:24:43 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:28:13 | × | maerwald quits (~maerwald@user/maerwald) (Ping timeout: 250 seconds) |
| 20:29:03 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 20:30:35 | × | Unhammer quits (~Unhammer@user/unhammer) (Quit: WeeChat 1.6) |
| 20:32:23 | → | me_ joins (~me@178.70.139.179) |
| 20:33:10 | × | ubert quits (~Thunderbi@91.141.75.40.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 20:34:23 | → | ubert joins (~Thunderbi@91.141.75.40.wireless.dyn.drei.com) |
| 20:35:03 | → | Topsi joins (~Tobias@dyndsl-095-033-094-080.ewe-ip-backbone.de) |
| 20:37:06 | × | max22- quits (~maxime@2a01cb08833598004d1bbe70867eb08c.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 20:37:18 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 20:38:05 | <tomsmeding> | or the value being shown forces some read somewhere that fails |
| 20:39:28 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 244 seconds) |
| 20:40:42 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 20:44:35 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 20:46:22 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 20:48:41 | → | Everything joins (~Everythin@128-124-169-247.mobile.vf-ua.net) |
| 20:48:55 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 20:49:46 | → | Guest71 joins (~Guest71@adsl-72-50-5-53.prtc.net) |
| 20:50:49 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:51:42 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 20:52:10 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 20:54:17 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:554e:b40c:516f:45c1) (Quit: WeeChat 3.2) |
| 20:54:24 | Lord_of_Life_ | is now known as Lord_of_Life |
| 20:56:11 | <arahael> | How does one deliberately return something like that? Is there a "raise exception from pure code" routine? |
| 20:56:54 | → | vysn joins (~vysn@user/vysn) |
| 20:58:20 | → | __monty__ joins (~toonn@user/toonn) |
| 20:58:30 | × | michalz quits (~michalz@185.246.204.61) (Remote host closed the connection) |
| 20:59:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 21:02:33 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:03:13 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:03:13 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 21:03:13 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:05:18 | × | Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 244 seconds) |
| 21:06:26 | <sm> | tomsmeding++ |
| 21:06:40 | × | dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
| 21:06:46 | <sm> | error, arahael ? |
| 21:07:24 | <arahael> | sm: too obvious! thanks. |
| 21:07:53 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
| 21:08:30 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 21:08:55 | → | Lycurgus joins (~juan@98.4.106.186) |
| 21:11:59 | hays | is now known as h_ |
| 21:12:20 | → | pavonia joins (~user@user/siracusa) |
| 21:13:29 | → | ec__ joins (~ec@gateway/tor-sasl/ec) |
| 21:15:21 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 21:19:25 | × | Guest8166 quits (~lordgrenv@31.210.177.64) (Read error: Connection reset by peer) |
| 21:20:10 | × | machinedgod quits (~machinedg@135.23.192.217) (Ping timeout: 240 seconds) |
| 21:24:01 | → | zebrag joins (~chris@user/zebrag) |
| 21:28:24 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Remote host closed the connection) |
| 21:31:09 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 21:35:32 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 21:36:29 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 21:36:53 | <_bin> | tomsmeding: You're right, that appears to be the cause. Still getting my head around laziness, I guess. |
| 21:38:10 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
| 21:38:24 | × | ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 21:38:29 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 21:40:46 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 21:40:51 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 21:41:00 | ec_ | is now known as ec |
| 21:43:34 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 21:46:14 | → | stampirl joins (~stampirl@195-154-112-77.rev.poneytelecom.eu) |
| 21:46:38 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 21:46:38 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 244 seconds) |
| 21:48:25 | → | hannessteffenhag joins (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
| 21:48:30 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 21:49:21 | × | fendor quits (~fendor@178.165.178.184.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 21:52:50 | × | hannessteffenhag quits (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 21:53:07 | × | Guest71 quits (~Guest71@adsl-72-50-5-53.prtc.net) (Ping timeout: 256 seconds) |
| 21:55:53 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:56:45 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:00:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) (Remote host closed the connection) |
| 22:01:10 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 22:01:17 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 22:02:47 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 22:04:08 | × | Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away) |
| 22:05:45 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 244 seconds) |
| 22:06:40 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 22:07:44 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Remote host closed the connection) |
| 22:08:57 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 22:09:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e4b5:4e5:fb1:9aed) |
| 22:10:47 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 22:11:39 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 22:14:11 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 22:15:35 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 22:17:04 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 22:19:39 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 22:22:53 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:29:19 | × | kawpuh quits (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) (Quit: Client closed) |
| 22:31:51 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 22:32:15 | → | obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 22:35:13 | → | Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 22:35:24 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:35:24 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 22:35:24 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:36:54 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 22:38:06 | × | lechner quits (~lechner@debian/lechner) (Ping timeout: 250 seconds) |
| 22:40:09 | → | lechner joins (~lechner@debian/lechner) |
| 22:41:39 | × | desantra quits (~skykanin@user/skykanin) (Quit: WeeChat 3.2) |
| 22:53:57 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 22:55:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:56:10 | × | Gurkenglas quits (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 22:56:14 | × | dudek quits (~dudek@185.150.236.103) (Quit: Leaving) |
| 22:57:14 | → | hexfive joins (~eric@50.35.83.177) |
| 22:57:28 | → | delYsid joins (~user@84-115-55-45.cable.dynamic.surfer.at) |
| 23:00:45 | × | hexfive quits (~eric@50.35.83.177) (Client Quit) |
| 23:02:37 | × | acidjnk_new quits (~acidjnk@p200300d0c720308244f5798d54dcee82.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 23:05:30 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 23:10:43 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 23:13:07 | → | kawpuh joins (~kawpuh@71-150-122-133.lightspeed.brhmal.sbcglobal.net) |
| 23:13:32 | × | jacks2 quits (~bc8167eb@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 23:13:36 | × | qwedfg quits (~qwedfg@user/qwedfg) (Read error: Connection reset by peer) |
| 23:15:25 | × | Lycurgus quits (~juan@98.4.106.186) (Quit: Exeunt) |
| 23:17:04 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 23:17:33 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 23:19:20 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 252 seconds) |
| 23:20:05 | → | maerwald joins (~maerwald@mail.hasufell.de) |
| 23:21:11 | × | maerwald quits (~maerwald@mail.hasufell.de) (Changing host) |
| 23:21:11 | → | maerwald joins (~maerwald@user/maerwald) |
| 23:23:19 | × | Topsi quits (~Tobias@dyndsl-095-033-094-080.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:27:48 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 23:29:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 23:29:40 | × | kimjetwav quits (~user@2607:fea8:235f:9730:7b24:e3f4:a84d:7dd0) (Ping timeout: 240 seconds) |
| 23:30:52 | → | kimjetwav joins (~user@2607:fea8:235f:9730:eb91:4ced:41eb:8545) |
| 23:33:27 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 23:36:19 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
| 23:37:33 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 23:38:02 | → | waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 23:40:23 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 23:42:47 | → | hseg joins (~gesh@IGLD-84-228-238-9.inter.net.il) |
| 23:43:37 | <hseg> | hi. are there alternative preludes where the IntN types error on overflow? |
| 23:43:54 | <dsal> | I remember this fight recently... |
| 23:44:20 | <hseg> | or that provide overflowing IntN newtypes? |
| 23:45:22 | <hseg> | bc I'm opening a ticket against semirings giving IntN both an OrderedRing instance (which implicitly views IntN as a finite approximation of Integer), and a wrapping Ring instance |
| 23:45:36 | <nitrix> | There are safeint packages that throw exceptions, but that has the usual problem of checking for exceptions. |
| 23:45:57 | <hseg> | especially since the wrapping Ring instance is explicitly described as "modular arithmetic" |
| 23:46:22 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 245 seconds) |
| 23:46:55 | <hseg> | aren't there system signals that can be trapped for? |
| 23:47:05 | <hseg> | iirc that's the terminology |
| 23:47:44 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 23:52:11 | <hpc> | pretty sure setting those traps is a process-global state |
| 23:52:12 | <hseg> | apparently there isn't a hardware trap for this. wtf |
| 23:52:28 | <hseg> | ah, right |
| 23:52:46 | <hseg> | so that's problematic as well |
| 23:52:54 | <hpc> | also look at how rust is handling this, in their quest to kill undefined behavior |
| 23:53:11 | <hpc> | i remember overflow being one of their big sticking points |
| 23:54:24 | → | alx741 joins (~alx741@186.178.109.154) |
| 23:55:48 | × | deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 244 seconds) |
| 23:56:09 | <hseg> | ig I'll just recommend in the ticket that IntN not be given default instances either way, and instead to have Modular and Segment wrappers |
| 23:56:22 | <hseg> | where Modular t has modular arith semantics |
| 23:56:40 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 23:56:55 | <hseg> | and Segment t implies t is a subtype of a larger type that has a valid instance, and that overflows might break semantics |
| 23:57:10 | <hseg> | checking for overflows being up to the user |
| 23:57:33 | <hseg> | not up to me to fix haskell's integer situation, after all |
All times are in UTC on 2021-09-02.