2022-06-11 00:00:16 +0200 | mimmy | (~mimmy@S0106f81d0f5b3c63.vs.shawcable.net) (Ping timeout: 246 seconds) |
2022-06-11 00:06:17 +0200 | <hololeap> | type family Wear t f a where; Wear Bare f a = a; Wear Covered f a = f a |
2022-06-11 00:06:28 +0200 | <hololeap> | from Barbies.Bare |
2022-06-11 00:06:47 +0200 | <hololeap> | anyway, it's the only place I've seen it standardized into a library like that |
2022-06-11 00:06:59 +0200 | <hololeap> | although beam uses it quite a bit |
2022-06-11 00:07:09 +0200 | <hololeap> | they just rolled their own |
2022-06-11 00:09:53 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 00:11:15 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-11 00:11:19 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-11 00:16:49 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-06-11 00:16:56 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b7704a00ff9b0caad64.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-06-11 00:17:49 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 258 seconds) |
2022-06-11 00:18:34 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 00:18:56 +0200 | <Bulby[m]> | i see there are llvm libs but none of them seem actively maintained |
2022-06-11 00:20:37 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 00:23:48 +0200 | <hololeap> | don't you just pass -fllvm to ghc? |
2022-06-11 00:23:50 +0200 | <hololeap> | https://downloads.haskell.org/~ghc/9.0.2/docs/html/users_guide/codegens.html#llvm-code-generator-f… |
2022-06-11 00:25:30 +0200 | <Bulby[m]> | i mean like libs for writing compilers in haskell |
2022-06-11 00:25:49 +0200 | <Bulby[m]> | i was curious as I saw in it a search result for liftM |
2022-06-11 00:27:04 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds) |
2022-06-11 00:29:16 +0200 | <edwardk> | Bulby[m]: i tend to just use hsc2hs and inline-c-cpp and roll what i need as i need it |
2022-06-11 00:29:25 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 00:29:26 +0200 | <hololeap> | in regards to Pointed/Apply and Applicative. I don't see much value in Pointed, but I do see a lot of value in inserting Apply into the Monad typeclass hierarchy, e.g. Functor -> Apply -> Applicative -> Monad |
2022-06-11 00:30:41 +0200 | <edwardk> | hololeap: Pointed mostly becomes useful as a member of the hierarchy if you want to allow for lenses-that-might-fail-but-never-give-back-more-than-one-thing. so "AffineTraversals" want Pointed functors. |
2022-06-11 00:31:17 +0200 | <edwardk> | but if you're adding Apply/Semiapplicative, give me Bind/Semimonad as well |
2022-06-11 00:31:44 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 00:31:49 +0200 | <Bulby[m]> | btw, is there a language that handles law classes well |
2022-06-11 00:31:56 +0200 | <edwardk> | no |
2022-06-11 00:31:57 +0200 | <hololeap> | yeah, fair 'nuff |
2022-06-11 00:32:23 +0200 | <edwardk> | jacques carette at one point had a nice type theory for it, but it was weird and classical |
2022-06-11 00:32:26 +0200 | <hpc> | "monad" already means one, so "semimonad" is a pretty silly-looking word |
2022-06-11 00:33:17 +0200 | <hololeap> | SemigroupoidInCategoryOfEndomorphisms? |
2022-06-11 00:33:28 +0200 | <hpc> | what kind of things have (<*>) but not pure? |
2022-06-11 00:33:35 +0200 | <hololeap> | Map |
2022-06-11 00:33:47 +0200 | <edwardk> | lots of comonads |
2022-06-11 00:34:09 +0200 | <hpc> | ah, that makes sense |
2022-06-11 00:34:13 +0200 | <edwardk> | Map k is my usual example as well |
2022-06-11 00:34:35 +0200 | <Bulby[m]> | why would a map not have pure |
2022-06-11 00:34:42 +0200 | <edwardk> | pure x = ??? |
2022-06-11 00:34:56 +0200 | <edwardk> | what keys do you put in the map? |
2022-06-11 00:35:00 +0200 | <Bulby[m]> | M.singleton ? |
2022-06-11 00:35:09 +0200 | <Bulby[m]> | oh |
2022-06-11 00:35:11 +0200 | <edwardk> | you need a key and a value. what key gets set |
2022-06-11 00:35:20 +0200 | <geekosaur> | singleton doesn't help you conjure up a key |
2022-06-11 00:35:24 +0200 | <edwardk> | the (<*>) is zippy |
2022-06-11 00:35:36 +0200 | <edwardk> | it matches like keys up and applies the operation to the values in them |
2022-06-11 00:35:40 +0200 | <Bulby[m]> | and `k` is polymorphic |
2022-06-11 00:35:46 +0200 | <hpc> | yeah, i can see (<*>) being really useful with Map |
2022-06-11 00:35:48 +0200 | <edwardk> | but there's no 'everything not named gets this value' |
2022-06-11 00:36:21 +0200 | <hpc> | i am always annoyed in other languages when i have to write loop after loop to make tiny adjustments to some json-ish structure |
2022-06-11 00:36:23 +0200 | <edwardk> | and Map is for finite maps of things, so i probably can't enumerate all possible values of k like i can to make ZipList work |
2022-06-11 00:36:37 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-06-11 00:36:54 +0200 | <edwardk> | hpc: that instance is why i wrote the old semigroupoids package |
2022-06-11 00:37:11 +0200 | <Bulby[m]> | oh it's you \o/ |
2022-06-11 00:37:23 +0200 | <edwardk> | similarly you can >>= for Map, but can't return. |
2022-06-11 00:37:30 +0200 | edwardk | waves |
2022-06-11 00:38:11 +0200 | <hololeap> | I ran into a data type where it naturally has two constructors, and neither of them really make sense as the default, so Apply was much more natural than adding an extra "default" constructor, just to satisfy Applicative laws |
2022-06-11 00:38:48 +0200 | <edwardk> | for every (key,value) in the map generate a fresh map using the user supplied function from the value, then just take the matching key and look it up in the generated map, stitching all those answers into a new map. dropping the entry if it isn't present |
2022-06-11 00:40:35 +0200 | <hpc> | and some way of picking which value to keep if there's more than one |
2022-06-11 00:41:01 +0200 | <hpc> | like (>>= \value -> singleton "some constant" value) |
2022-06-11 00:42:03 +0200 | <hpc> | actually, hmm |
2022-06-11 00:42:14 +0200 | <hpc> | would you use (>>=) for semimonad or would you use join? |
2022-06-11 00:42:26 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-06-11 00:42:44 +0200 | <hololeap> | you can define it using either one |
2022-06-11 00:42:51 +0200 | finsternis | (~X@23.226.237.192) |
2022-06-11 00:42:56 +0200 | <edwardk> | hpc: i used (>>-) |
2022-06-11 00:43:04 +0200 | <hpc> | not quite, unless i am mistaken |
2022-06-11 00:43:18 +0200 | <hpc> | you can recover (>>=) from join/fmap but not vice-versa |
2022-06-11 00:43:22 +0200 | <edwardk> | i'm less bullish on join as a member of Monad or whatever due to how badly it interoperates with GND |
2022-06-11 00:44:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 00:44:10 +0200 | <hpc> | oh, i am mistaken |
2022-06-11 00:44:12 +0200 | <hololeap> | join = (>>= id) |
2022-06-11 00:44:15 +0200 | <hpc> | yeah |
2022-06-11 00:44:17 +0200 | <Bulby[m]> | what is GND |
2022-06-11 00:44:22 +0200 | <hpc> | somehow i managed to think join = (>>= pure) |
2022-06-11 00:44:22 +0200 | <edwardk> | generalized newtype deriving |
2022-06-11 00:44:24 +0200 | <jackdk> | GeneralisedNewtypeDeriving |
2022-06-11 00:44:25 +0200 | <jackdk> | snap |
2022-06-11 00:44:27 +0200 | <hpc> | but that's id lol |
2022-06-11 00:44:34 +0200 | <Bulby[m]> | oh |
2022-06-11 00:45:00 +0200 | <Bulby[m]> | fancy id |
2022-06-11 00:45:22 +0200 | <hpc> | the nice thing about type class laws is there's lots of ways to define fancy id |
2022-06-11 00:46:09 +0200 | <edwardk> | lens has a dozen combinators implemented as 'id' |
2022-06-11 00:46:17 +0200 | <edwardk> | at least a dozen |
2022-06-11 00:46:57 +0200 | <hpc> | at one point i considered making an acme package that was all just useful functions that are implemented as unsafeCoerce |
2022-06-11 00:47:02 +0200 | <Bulby[m]> | haha |
2022-06-11 00:47:38 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-06-11 00:47:48 +0200 | <hpc> | isJust = unsafeCoerce -- for example |
2022-06-11 00:47:59 +0200 | <Bulby[m]> | what |
2022-06-11 00:48:09 +0200 | <hpc> | Just and True have the same constructor index |
2022-06-11 00:48:14 +0200 | <hpc> | ditto for Nothing and False |
2022-06-11 00:48:15 +0200 | <geekosaur> | it makes sense if you know how constructor tags work |
2022-06-11 00:48:20 +0200 | <Bulby[m]> | 🤣 |
2022-06-11 00:48:40 +0200 | <geekosaur> | @quote unsafeCoerce.*unsafeCoerce |
2022-06-11 00:48:40 +0200 | <lambdabot> | monochrom says: isTrue = (unsafeCoerce :: Either a b -> Bool) . (unsafeCoerce :: Maybe c -> Either a b) . (unsafeCoerce :: Bool -> Maybe c) |
2022-06-11 00:48:59 +0200 | <c_wraith> | also important there - GC information is not stored in types. It's stored in runtime tags |
2022-06-11 00:49:05 +0200 | <hpc> | in acme-php i managed to shoehorn (isn't unsafeCoerce) into the implementation of sortBy |
2022-06-11 00:49:12 +0200 | <hpc> | i am pretty proud of that one |
2022-06-11 00:50:12 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-06-11 00:51:10 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 00:51:17 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 252 seconds) |
2022-06-11 00:51:49 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
2022-06-11 00:54:14 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 258 seconds) |
2022-06-11 00:54:29 +0200 | alp | (~alp@user/alp) (Ping timeout: 255 seconds) |
2022-06-11 00:55:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 00:55:50 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 255 seconds) |
2022-06-11 00:56:23 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 00:57:03 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 00:59:56 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-06-11 01:00:31 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2022-06-11 01:00:40 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:518c:c264:c8fd:1f6b) (Ping timeout: 248 seconds) |
2022-06-11 01:00:47 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 255 seconds) |
2022-06-11 01:01:49 +0200 | <Bulby[m]> | i can't read the docs for acme-php even |
2022-06-11 01:02:44 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 01:03:16 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 01:03:31 +0200 | <hpc> | what kind of acme package would it be if it had documentation |
2022-06-11 01:03:37 +0200 | <hpc> | even the generated stuff still has spoilers |
2022-06-11 01:04:52 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-06-11 01:09:02 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) (Remote host closed the connection) |
2022-06-11 01:09:12 +0200 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 248 seconds) |
2022-06-11 01:09:34 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-06-11 01:09:39 +0200 | alp | (~alp@user/alp) |
2022-06-11 01:11:49 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-06-11 01:12:41 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 01:13:02 +0200 | <Bulby[m]> | i find it hilarous that the php website with the discus has the code commented that it says to uncomment and edit |
2022-06-11 01:14:13 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 01:14:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 01:14:50 +0200 | bilegeek | (~bilegeek@2600:1008:b006:dc9e:9b3e:98b5:2da3:eff8) |
2022-06-11 01:16:23 +0200 | <Bulby[m]> | wtf why is the website in quirks mode |
2022-06-11 01:18:36 +0200 | <hpc> | haha, i forgot about that page |
2022-06-11 01:18:51 +0200 | <hpc> | turns out if you put html files in the sdist, you can serve them up as regular webpages |
2022-06-11 01:19:25 +0200 | <Bulby[m]> | "storng" |
2022-06-11 01:20:01 +0200 | <jackdk> | hpc: https://hackage.haskell.org/package/acme-dont-1.2/docs/Acme-Dont.html |
2022-06-11 01:22:12 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-11 01:22:12 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 248 seconds) |
2022-06-11 01:24:30 +0200 | <hpc> | yeah, that's a good one too |
2022-06-11 01:25:41 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 01:27:30 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2022-06-11 01:28:07 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-06-11 01:28:24 +0200 | <Bulby[m]> | true or false or file not found |
2022-06-11 01:28:27 +0200 | <Bulby[m]> | amazing |
2022-06-11 01:36:21 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
2022-06-11 01:37:54 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds) |
2022-06-11 01:38:12 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 01:38:27 +0200 | dextaa | (~DV@user/dextaa) (Read error: Connection reset by peer) |
2022-06-11 01:42:38 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-06-11 01:47:00 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-06-11 01:52:53 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-06-11 01:58:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 02:03:11 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-63.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-06-11 02:03:12 +0200 | kaskal | (~kaskal@089144205066.atnat0014.highway.webapn.at) |
2022-06-11 02:03:47 +0200 | kaskal- | (~kaskal@213-225-35-123.nat.highway.a1.net) (Ping timeout: 255 seconds) |
2022-06-11 02:04:33 +0200 | Qudit | (~user@user/Qudit) (Remote host closed the connection) |
2022-06-11 02:05:12 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-06-11 02:06:57 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 02:07:17 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-11 02:08:44 +0200 | sagax | (~sagax_nb@user/sagax) (Ping timeout: 255 seconds) |
2022-06-11 02:09:49 +0200 | Qudit | (~user@user/Qudit) |
2022-06-11 02:14:17 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
2022-06-11 02:18:11 +0200 | Mensan23421 | (~Mensan234@S01069050ca4e3573.cg.shawcable.net) |
2022-06-11 02:18:22 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 244 seconds) |
2022-06-11 02:19:37 +0200 | Mensan23421 | (~Mensan234@S01069050ca4e3573.cg.shawcable.net) (Client Quit) |
2022-06-11 02:19:57 +0200 | Mga | (~Mga@S01069050ca4e3573.cg.shawcable.net) |
2022-06-11 02:20:38 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 02:20:44 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-06-11 02:22:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 02:25:44 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 272 seconds) |
2022-06-11 02:27:03 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 02:29:07 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 02:30:04 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
2022-06-11 02:32:13 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 02:32:36 +0200 | Kaipei | (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
2022-06-11 02:32:50 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2022-06-11 02:32:55 +0200 | Kaipei | (~Kaiepi@156.34.47.253) |
2022-06-11 02:33:26 +0200 | cheater | (~Username@user/cheater) |
2022-06-11 02:33:31 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) () |
2022-06-11 02:33:52 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-06-11 02:38:51 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 02:39:37 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-06-11 02:40:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 02:43:47 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 02:47:04 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 02:47:20 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-06-11 02:49:33 +0200 | k8yun | (~k8yun@user/k8yun) (Quit: Leaving) |
2022-06-11 02:50:00 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds) |
2022-06-11 02:51:18 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-06-11 02:52:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 02:54:17 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 02:54:25 +0200 | <Mga> | my boyfriend is a staffer |
2022-06-11 02:54:29 +0200 | <Mga> | and contributed of haskell |
2022-06-11 02:58:53 +0200 | <Mga> | i enjoy running simulations |
2022-06-11 02:59:07 +0200 | <Mga> | various inputs, etc. haha. |
2022-06-11 03:01:32 +0200 | causal | (~user@50.35.83.177) |
2022-06-11 03:02:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 03:03:56 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 03:10:32 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-06-11 03:14:26 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds) |
2022-06-11 03:16:39 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-06-11 03:19:20 +0200 | mimmy_ | (~mimmy@185.153.179.38) (Ping timeout: 244 seconds) |
2022-06-11 03:23:21 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 258 seconds) |
2022-06-11 03:24:54 +0200 | <dragestil> | does anyone know how to get the hls installed from ghcup have brittany support? |
2022-06-11 03:25:02 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-06-11 03:25:55 +0200 | <dragestil> | or, alternatively, is there a way to disable formatting-on-save by hls? |
2022-06-11 03:26:54 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) |
2022-06-11 03:27:57 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 258 seconds) |
2022-06-11 03:28:17 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-06-11 03:28:56 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds) |
2022-06-11 03:28:58 +0200 | <dragestil> | in hls configuration, there's formattingProvider, but it seems there's no knob to make hls hands off formatter |
2022-06-11 03:30:11 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 244 seconds) |
2022-06-11 03:30:46 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) |
2022-06-11 03:30:46 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 03:39:03 +0200 | yrlnry | (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
2022-06-11 03:39:28 +0200 | simendsj` | (~user@78-72-230-58-no2730.tbcn.telia.com) |
2022-06-11 03:41:06 +0200 | simendsjo | (~user@78-72-230-58-no2730.tbcn.telia.com) (Ping timeout: 272 seconds) |
2022-06-11 03:42:35 +0200 | <Bulby[m]> | I'm starting to write a bytecode emitter now -would the preferred way to get opcodes be deriving `Enum` ? |
2022-06-11 03:45:51 +0200 | ChanServ | +o litharge |
2022-06-11 03:45:52 +0200 | litharge | -bo *!*@151.52.164.1 litharge |
2022-06-11 03:48:45 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 03:52:07 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2022-06-11 03:53:46 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 272 seconds) |
2022-06-11 03:54:02 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 255 seconds) |
2022-06-11 03:54:59 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-06-11 03:55:10 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 03:55:36 +0200 | Haskelytic | (~Haskelyti@37.111.212.211) |
2022-06-11 03:56:36 +0200 | <Haskelytic> | ```isAssociative :: Eq a => (a -> a -> a) -> a -> a -> a -> Bool |
2022-06-11 03:56:37 +0200 | <Haskelytic> | isAssociative (<>) x y z = |
2022-06-11 03:56:37 +0200 | <Haskelytic> | x <> (y <> z) == (x <> y) <> z |
2022-06-11 03:56:38 +0200 | <Haskelytic> | isSemigroup :: (Eq a, Semigroup a) => a -> a -> a -> Bool |
2022-06-11 03:56:38 +0200 | <Haskelytic> | isSemigroup = isAssociative (<>) |
2022-06-11 03:56:39 +0200 | <Haskelytic> | hasLeftIdentity :: (Eq a, Monoid a) => a -> Bool |
2022-06-11 03:56:39 +0200 | <Haskelytic> | hasLeftIdentity m = mempty <> m == m |
2022-06-11 03:56:40 +0200 | <Haskelytic> | hasRightIdentity :: (Eq a, Monoid a) => a -> Bool |
2022-06-11 03:56:40 +0200 | <Haskelytic> | hasRightIdentity m = m <> mempty == m |
2022-06-11 03:56:41 +0200 | <Haskelytic> | isMonoid :: Test.QuickCheck.Property.Property |
2022-06-11 03:56:41 +0200 | <Haskelytic> | isMonoid = isSemigroup .&&. hasLeftIdentity``` |
2022-06-11 03:56:51 +0200 | <Haskelytic> | I'm getting ambiguous type variable for isMonoid |
2022-06-11 03:57:22 +0200 | _xor | (~xor@72.49.198.103) |
2022-06-11 03:57:30 +0200 | <Haskelytic> | Ambiguous type variable ‘a1’ arising from a use of ‘isSemigroup’ |
2022-06-11 03:57:30 +0200 | <Haskelytic> | prevents the constraint ‘(Eq a1)’ from being solved. |
2022-06-11 03:57:31 +0200 | <Haskelytic> | Probable fix: use a type annotation to specify what ‘a1’ should be. |
2022-06-11 03:57:31 +0200 | <Haskelytic> | These potential instances exist: |
2022-06-11 03:57:32 +0200 | <Haskelytic> | ...plus 275 instances involving out-of-scope types |
2022-06-11 03:57:32 +0200 | <Haskelytic> | (use -fprint-potential-instances to see them all) |
2022-06-11 03:57:33 +0200 | <Haskelytic> | • In the first argument of ‘(.&&.)’, namely ‘isSemigroup’ |
2022-06-11 03:57:33 +0200 | <Haskelytic> | In the expression: isSemigroup .&&. hasLeftIdentity |
2022-06-11 03:57:34 +0200 | <Haskelytic> | In an equation for ‘isMonoid’: |
2022-06-11 03:57:34 +0200 | <Haskelytic> | isMonoid = isSemigroup .&&. hasLeftIdentitytypecheck(-Wdeferred-type-errors) |
2022-06-11 03:57:40 +0200 | <dsal> | @where patse |
2022-06-11 03:57:40 +0200 | <lambdabot> | I know nothing about patse. |
2022-06-11 03:57:43 +0200 | <dsal> | @where paste |
2022-06-11 03:57:43 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2022-06-11 03:58:05 +0200 | <Bulby[m]> | @where pasta |
2022-06-11 03:58:05 +0200 | <lambdabot> | I know nothing about pasta. |
2022-06-11 03:58:09 +0200 | <Bulby[m]> | 😔 |
2022-06-11 04:00:08 +0200 | z0k | (~z0k@206.84.143.2) |
2022-06-11 04:00:51 +0200 | <Haskelytic> | https://paste.tomsmeding.com/NslNe9NQ |
2022-06-11 04:00:59 +0200 | kimjetwav | (~user@2607:fea8:2340:da00:ce44:66a9:7fdd:687e) |
2022-06-11 04:01:31 +0200 | <Haskelytic> | I'm trying to write a test for monoid properties by composing test for semigroup AND the left/right identity test |
2022-06-11 04:02:08 +0200 | Kaipei | (~Kaiepi@156.34.47.253) (Ping timeout: 255 seconds) |
2022-06-11 04:02:46 +0200 | <Haskelytic> | this is for use with QuickCheck |
2022-06-11 04:03:28 +0200 | kimjetwav | (~user@2607:fea8:2340:da00:ce44:66a9:7fdd:687e) (Client Quit) |
2022-06-11 04:04:04 +0200 | kimjetwav | (~user@2607:fea8:2340:da00:b28:9278:475e:6fce) |
2022-06-11 04:08:30 +0200 | <dsal> | @hackage checkers |
2022-06-11 04:08:30 +0200 | <lambdabot> | https://hackage.haskell.org/package/checkers |
2022-06-11 04:08:35 +0200 | <dsal> | Haskelytic: Have you seen this? |
2022-06-11 04:13:12 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 248 seconds) |
2022-06-11 04:14:02 +0200 | <dsal> | Haskelytic: It's not really clear to me what you intended `isMonoid` to do. i.e., I agree with the compiler: "what?" |
2022-06-11 04:14:42 +0200 | zebrag | (~chris@user/zebrag) |
2022-06-11 04:14:45 +0200 | <Haskelytic> | dsal: I didn't know about this package |
2022-06-11 04:15:26 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-11 04:15:52 +0200 | td_ | (~td@94.134.91.132) (Ping timeout: 248 seconds) |
2022-06-11 04:15:55 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-11 04:15:55 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-11 04:15:55 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-11 04:17:21 +0200 | <Haskelytic> | dsal: Hmm...tbh I just made a wild guess that since `quickCheck :: Testable prop => prop -> IO ()` and `(.&&.) :: (Testable prop1, Testable prop2) => prop1 -> prop2 -> Property` I could use conjuction (.&&.) to create a prop that is satisfied if both props are |
2022-06-11 04:17:32 +0200 | <Haskelytic> | I must be misunderstanding something |
2022-06-11 04:17:39 +0200 | <dsal> | How would you use it? |
2022-06-11 04:17:44 +0200 | xacktm | (xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
2022-06-11 04:17:52 +0200 | <Haskelytic> | `quickCheck isMonoid` |
2022-06-11 04:17:54 +0200 | td_ | (~td@muedsl-82-207-238-090.citykom.de) |
2022-06-11 04:18:01 +0200 | <dsal> | What would that test? |
2022-06-11 04:18:32 +0200 | <Haskelytic> | I presume it would test both properties and only succeed if both succeed |
2022-06-11 04:18:52 +0200 | <Haskelytic> | by both properties I mean the arguments to the .&&. |
2022-06-11 04:19:22 +0200 | <Haskelytic> | namely, `isSemigroup` and `hasLeftIdentity` |
2022-06-11 04:19:24 +0200 | <dsal> | But the signature doesn't mention any monoids, so it's not clear what you'd expect it to be testing. |
2022-06-11 04:19:42 +0200 | <dsal> | At some point, you need the monoid you intend to test. |
2022-06-11 04:19:57 +0200 | Topsi | (~Topsi@dyndsl-095-033-088-183.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2022-06-11 04:20:22 +0200 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 272 seconds) |
2022-06-11 04:21:38 +0200 | <Haskelytic> | Hmm...wait so when I use conjunction `.&&.`, the types deduced for its args: `isSemigroup` and `hasLeftIdentity` must be something concrete (e.g., `[Int]`) |
2022-06-11 04:21:56 +0200 | even4void | (even4void@came.here.for-some.fun) (Ping timeout: 248 seconds) |
2022-06-11 04:21:56 +0200 | mimmy_ | (~mimmy@23.230.46.220) |
2022-06-11 04:22:53 +0200 | <dsal> | When you call `isSemigroup` at all, you have to have a semigroup. |
2022-06-11 04:23:28 +0200 | <dsal> | It can work on any semigroup, but if the compiler can't figure out which one you mean, it can't do the work. |
2022-06-11 04:23:35 +0200 | <Haskelytic> | Ohhhhh hahahaha I got it now! |
2022-06-11 04:23:52 +0200 | <Haskelytic> | dsal: thanks! |
2022-06-11 04:24:16 +0200 | <dsal> | It's possible to add a type parameter `isMonoid` and pass that along with some language extensions. |
2022-06-11 04:24:30 +0200 | <dsal> | But if you just want to do the work, checkers is OK. It's a bit weird to use, but I use it for exactly this on occasion. |
2022-06-11 04:24:40 +0200 | <Haskelytic> | right |
2022-06-11 04:24:44 +0200 | <Haskelytic> | thanks for the kind pointers |
2022-06-11 04:25:12 +0200 | <dsal> | This uses checkers for similar things: https://github.com/dustin/mqttd/blob/master/test/SubTree.hs |
2022-06-11 04:28:08 +0200 | mimmy_ | (~mimmy@23.230.46.220) (Ping timeout: 248 seconds) |
2022-06-11 04:29:36 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 244 seconds) |
2022-06-11 04:33:05 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2022-06-11 04:33:51 +0200 | julian | (~julian@20.83.116.49) |
2022-06-11 04:34:41 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-06-11 04:38:21 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-06-11 04:39:38 +0200 | z0k | (~z0k@206.84.143.2) (Ping timeout: 258 seconds) |
2022-06-11 04:41:22 +0200 | even4void | (even4void@came.here.for-some.fun) |
2022-06-11 04:41:49 +0200 | ketema | (~ketema@160.sub-174-211-228.myvzw.com) |
2022-06-11 04:42:03 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-06-11 04:42:03 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-06-11 04:42:03 +0200 | finn_elija | FinnElija |
2022-06-11 04:43:08 +0200 | <ketema> | @help |
2022-06-11 04:43:08 +0200 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
2022-06-11 04:43:48 +0200 | <ketema> | @pointful sum (filter divisibleBy3Or5 (unfoldr (\b -> if b == 1000 then Nothing else Just (b, b+1)) 0)) |
2022-06-11 04:43:48 +0200 | <lambdabot> | sum (filter divisibleBy3Or5 (unfoldr (\ b -> if (b == 1000) then Nothing else Just (b, (b + 1))) 0)) |
2022-06-11 04:44:39 +0200 | <ketema> | @pointful filter (<10) (unfoldr (\b -> if b == 1001 then Nothing else Just (b, b+1)) 1) |
2022-06-11 04:44:40 +0200 | <lambdabot> | filter (\ a0 -> a0 < 10) (unfoldr (\ b -> if (b == 1001) then Nothing else Just (b, (b + 1))) 1) |
2022-06-11 04:45:37 +0200 | xacktm | (xacktm@user/xacktm) |
2022-06-11 04:46:49 +0200 | <ketema> | @pl filter (<10) (unfoldr (\b -> if b == 1001 then Nothing else Just (b, b+1)) 1) |
2022-06-11 04:46:49 +0200 | <lambdabot> | filter (< 10) (unfoldr (ap (flip if' Nothing . (1001 ==)) (Just . ap (,) (1 +))) 1) |
2022-06-11 04:47:28 +0200 | <ketema> | @pl sum (filter divisibleBy3Or5 (unfoldr (\b -> if b == 1000 then Nothing else Just (b, b+1)) 0)) |
2022-06-11 04:47:28 +0200 | <lambdabot> | sum (filter divisibleBy3Or5 (unfoldr (ap (flip if' Nothing . (1000 ==)) (Just . ap (,) (1 +))) 0)) |
2022-06-11 04:49:35 +0200 | k8yun | (~k8yun@user/k8yun) |
2022-06-11 04:50:44 +0200 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
2022-06-11 04:57:28 +0200 | alp | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-06-11 04:57:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 04:58:25 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 258 seconds) |
2022-06-11 05:00:02 +0200 | haasn | (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2022-06-11 05:00:07 +0200 | k8yun | (~k8yun@user/k8yun) (Quit: Leaving) |
2022-06-11 05:00:35 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 05:01:23 +0200 | haasn | (~nand@haasn.dev) |
2022-06-11 05:05:17 +0200 | ketema | (~ketema@160.sub-174-211-228.myvzw.com) (Quit: ketema) |
2022-06-11 05:07:43 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 05:08:49 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-06-11 05:12:11 +0200 | Mga52 | (~Mga@S01069050ca4e3573.cg.shawcable.net) |
2022-06-11 05:12:39 +0200 | Mga52 | (~Mga@S01069050ca4e3573.cg.shawcable.net) (Client Quit) |
2022-06-11 05:15:11 +0200 | Mga | (~Mga@S01069050ca4e3573.cg.shawcable.net) (Quit: Client closed) |
2022-06-11 05:18:46 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
2022-06-11 05:28:59 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-06-11 05:42:52 +0200 | simeon | (~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de) (Remote host closed the connection) |
2022-06-11 05:43:00 +0200 | zmt01 | (~zmt00@user/zmt00) (Quit: Leaving) |
2022-06-11 05:44:51 +0200 | zmt00 | (~zmt00@user/zmt00) |
2022-06-11 05:46:59 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Ping timeout: 255 seconds) |
2022-06-11 05:55:36 +0200 | briandaed | (~briandaed@109.95.143.14.r.toneticgroup.pl) (Remote host closed the connection) |
2022-06-11 05:57:24 +0200 | mimmy_ | (~mimmy@23.230.46.221) |
2022-06-11 06:00:10 +0200 | shinjipf | (~shinjipf@vmi826685.contaboserver.net) (Quit: Shinji leaves) |
2022-06-11 06:02:26 +0200 | mimmy | (~mimmy@23.82.193.83) |
2022-06-11 06:03:34 +0200 | mimmy_ | (~mimmy@23.230.46.221) (Ping timeout: 246 seconds) |
2022-06-11 06:03:38 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 244 seconds) |
2022-06-11 06:04:10 +0200 | shinjipf | (~shinjipf@2a02:c207:2082:6685::1) |
2022-06-11 06:20:22 +0200 | mimmy | (~mimmy@23.82.193.83) (Ping timeout: 246 seconds) |
2022-06-11 06:25:08 +0200 | kitty1 | (~kitty@096-039-147-043.res.spectrum.com) (Ping timeout: 272 seconds) |
2022-06-11 06:31:51 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 06:31:55 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 246 seconds) |
2022-06-11 06:32:45 +0200 | coot | (~coot@213.134.190.95) |
2022-06-11 06:35:40 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 244 seconds) |
2022-06-11 06:36:02 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 255 seconds) |
2022-06-11 06:40:34 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-06-11 06:43:36 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
2022-06-11 06:46:17 +0200 | kitty1 | (~kitty@096-039-147-043.res.spectrum.com) |
2022-06-11 06:58:59 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Ping timeout: 255 seconds) |
2022-06-11 06:59:45 +0200 | ubert1 | (~Thunderbi@p200300ecdf14f99dfb6d2023d109ce6e.dip0.t-ipconnect.de) |
2022-06-11 06:59:57 +0200 | ubert | (~Thunderbi@p200300ecdf14f9a1eda1a89be8fd240f.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2022-06-11 06:59:58 +0200 | ubert1 | ubert |
2022-06-11 07:00:07 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
2022-06-11 07:04:52 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 07:17:39 +0200 | Kaipei | (~Kaiepi@156.34.47.253) |
2022-06-11 07:20:19 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-06-11 07:20:29 +0200 | mimmy | (~mimmy@23.82.193.84) |
2022-06-11 07:26:46 +0200 | mimmy | (~mimmy@23.82.193.84) (Ping timeout: 258 seconds) |
2022-06-11 07:33:06 +0200 | frost | (~frost@user/frost) |
2022-06-11 07:34:02 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-06-11 07:36:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 07:37:28 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 248 seconds) |
2022-06-11 07:42:09 +0200 | mimmy | (~mimmy@23.82.193.82) |
2022-06-11 07:42:25 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-06-11 07:42:25 +0200 | mimmy | (~mimmy@23.82.193.82) (Client Quit) |
2022-06-11 07:46:39 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 07:49:35 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 08:00:40 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 08:06:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 08:07:20 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 08:08:25 +0200 | ormaaj | jaamro |
2022-06-11 08:12:07 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 08:12:14 +0200 | Haskelytic | (~Haskelyti@37.111.212.211) (Quit: Client closed) |
2022-06-11 08:19:27 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 08:22:07 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2022-06-11 08:22:21 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-06-11 08:24:17 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) (Ping timeout: 260 seconds) |
2022-06-11 08:24:51 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 08:28:01 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-06-11 08:34:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 08:34:49 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2022-06-11 08:36:37 +0200 | irfan | (~irfan@user/irfan) |
2022-06-11 08:37:43 +0200 | kenran | (~kenran@200116b82bb5a1009ed0e3ac5a3eacc5.dip.versatel-1u1.de) |
2022-06-11 08:44:59 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b02c52aeeb3175c6b9c.dip0.t-ipconnect.de) |
2022-06-11 08:54:27 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 08:58:28 +0200 | irfan | (~irfan@user/irfan) (Quit: leaving) |
2022-06-11 08:59:09 +0200 | alp | (~alp@user/alp) |
2022-06-11 09:00:55 +0200 | alp_ | (~alp@user/alp) |
2022-06-11 09:02:19 +0200 | alp_ | (~alp@user/alp) (Remote host closed the connection) |
2022-06-11 09:02:38 +0200 | alp_ | (~alp@user/alp) |
2022-06-11 09:03:52 +0200 | alp | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-06-11 09:04:23 +0200 | alp__ | (~alp@user/alp) |
2022-06-11 09:06:38 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Remote host closed the connection) |
2022-06-11 09:07:04 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-06-11 09:08:24 +0200 | yw61 | (~yw@2.58.65.178) |
2022-06-11 09:09:07 +0200 | alp__ | (~alp@user/alp) (Ping timeout: 258 seconds) |
2022-06-11 09:14:54 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 09:16:10 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-11 09:16:22 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 09:20:06 +0200 | Teacup | (~teacup@user/teacup) (Client Quit) |
2022-06-11 09:20:58 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
2022-06-11 09:21:04 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2022-06-11 09:21:32 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 09:22:35 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 09:23:41 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-06-11 09:26:48 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 09:29:26 +0200 | <hololeap> | @let divisibleBy3Or5 x = x `rem` 3 == 0 || x `rem` 5 == 0 |
2022-06-11 09:29:27 +0200 | <lambdabot> | Defined. |
2022-06-11 09:31:36 +0200 | <hololeap> | > sum [ x | x <- [0..1000], divisibleBy3Or5 x ] |
2022-06-11 09:31:38 +0200 | <lambdabot> | 234168 |
2022-06-11 09:33:07 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 09:33:18 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 09:33:28 +0200 | kenran | (~kenran@200116b82bb5a1009ed0e3ac5a3eacc5.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2022-06-11 09:34:43 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 09:38:04 +0200 | <hololeap> | why isn't there a MonadWriter instance for Control.Monad.Trans.Writer.CPS |
2022-06-11 09:38:52 +0200 | <hololeap> | is it just a quirk of the libs or does the CPS version work differently somehow |
2022-06-11 09:41:18 +0200 | <hololeap> | also, could someone please point me to a resource that explains in detail why the Strict version of WriterT has memory issues that the CPS version does not have? |
2022-06-11 09:43:10 +0200 | simendsj` | (~user@78-72-230-58-no2730.tbcn.telia.com) (Ping timeout: 240 seconds) |
2022-06-11 09:44:17 +0200 | <jackdk> | hololeap: that instance exists as of mtl-2.3 |
2022-06-11 09:45:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 09:45:39 +0200 | <hololeap> | ok, I'm on 2.2.2 |
2022-06-11 09:48:07 +0200 | <jackdk> | this was in the first page of DDG results for "strict writert": https://stackoverflow.com/questions/14644830/what-is-the-point-of-having-a-lazy-strict-version-of-… |
2022-06-11 09:48:35 +0200 | <jackdk> | I imagine that even the strict version may still build a pile of <> thunks |
2022-06-11 09:49:54 +0200 | <hololeap> | ok, but why doesn't CPS have the same problem? I feel like I'm missing something fundamental here |
2022-06-11 09:51:13 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 09:51:27 +0200 | <hololeap> | actually, I don't really understand how dlist works, either |
2022-06-11 09:52:33 +0200 | <hololeap> | I think they would be related |
2022-06-11 09:53:01 +0200 | <jackdk> | You will have to noodle around with the source of the cps WriterT, but note that its version of `writer` forces the <> to WHNF using `seq` before returning a result. This is probably what's avoiding the thunk buildup : https://hackage.haskell.org/package/transformers-0.6.0.4/docs/src/Control.Monad.Trans.Writer.CPS.h… |
2022-06-11 09:53:56 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-06-11 09:53:59 +0200 | <hololeap> | oh |
2022-06-11 09:56:00 +0200 | <jackdk> | To understand dlist, spend half an hour performing the transformations yourself: step through the evaluation of `((([1, 2, 3] ++ [4, 5, 6]) ++ [7, 8, 9]) ++ [10, 11, 12])` to get a feel for why it must walk the prefix over and over to generate any result, then evaluate `((( ([1, 2, 3] ++) . ([4, 5, 6] ++) ) . ([7, 8, 9] ++) ) . ([10, 11, 12] ++)) []` by hand, stepping through the evaluation of `(.)` to see how it causes right-associated chain of (++) |
2022-06-11 09:56:06 +0200 | <tomsmeding> | hololeap: paper is completely unrelated, but it happens to contain a description of the core idea of dlist: search for "Example 7.1" in https://arxiv.org/pdf/2205.11368.pdf |
2022-06-11 09:56:10 +0200 | zincy | (~zincy@lfbn-bay-1-105-223.w83-193.abo.wanadoo.fr) |
2022-06-11 09:56:17 +0200 | <tomsmeding> | or that :) |
2022-06-11 09:56:20 +0200 | <jackdk> | (the second expression is the first, but transformed into dlist and back) |
2022-06-11 09:56:30 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 09:57:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 09:57:36 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-11 09:58:03 +0200 | Kaipii | (~Kaiepi@156.34.47.253) |
2022-06-11 09:58:37 +0200 | <tomsmeding> | (the example in that PDF spreads over the page break, just to be clear) |
2022-06-11 09:58:52 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-06-11 09:59:35 +0200 | <hololeap> | ok, thanks |
2022-06-11 10:00:07 +0200 | ketema | (~ketema@129.sub-174-212-38.myvzw.com) |
2022-06-11 10:00:36 +0200 | <hololeap> | I understand regular concatenation well enough, but not the dlist version. writing it out seems like a good idea |
2022-06-11 10:01:15 +0200 | Kaipei | (~Kaiepi@156.34.47.253) (Ping timeout: 258 seconds) |
2022-06-11 10:01:52 +0200 | <hololeap> | actually, it makes intuitive sense already, since each sublist only has to be walked once in the dlist version |
2022-06-11 10:02:36 +0200 | <tomsmeding> | the function compositions do cost time, but that time is proportional to the _number_ of concatenations |
2022-06-11 10:06:01 +0200 | energizer_ | energizer |
2022-06-11 10:21:09 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 276 seconds) |
2022-06-11 10:23:38 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-11 10:27:37 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:72bd:2e5c:4221:2d73) |
2022-06-11 10:28:40 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b02c52aeeb3175c6b9c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-06-11 10:30:58 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2022-06-11 10:32:30 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b02e9c770e98d5298a4.dip0.t-ipconnect.de) |
2022-06-11 10:37:44 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b02e9c770e98d5298a4.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-06-11 10:44:53 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 255 seconds) |
2022-06-11 10:47:50 +0200 | gabriel_1 | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 3.5) |
2022-06-11 10:48:31 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) |
2022-06-11 10:48:33 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-06-11 10:55:53 +0200 | vglfr | (~vglfr@88.155.106.79) |
2022-06-11 10:57:07 +0200 | bilegeek | (~bilegeek@2600:1008:b006:dc9e:9b3e:98b5:2da3:eff8) (Quit: Leaving) |
2022-06-11 11:00:31 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-06-11 11:00:37 +0200 | zincy | (~zincy@lfbn-bay-1-105-223.w83-193.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2022-06-11 11:01:38 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-06-11 11:06:27 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:72bd:2e5c:4221:2d73) (Ping timeout: 240 seconds) |
2022-06-11 11:06:59 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
2022-06-11 11:08:39 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 11:16:16 +0200 | yw61 | (~yw@2.58.65.178) (Quit: Client closed) |
2022-06-11 11:19:21 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-63.elisa-laajakaista.fi) |
2022-06-11 11:23:29 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 11:25:03 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 11:29:19 +0200 | Teacup | (~teacup@user/teacup) (Client Quit) |
2022-06-11 11:30:47 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 11:30:49 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 11:31:11 +0200 | ketema | (~ketema@129.sub-174-212-38.myvzw.com) (Quit: ketema) |
2022-06-11 11:34:22 +0200 | Batzy | (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-06-11 11:35:17 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 255 seconds) |
2022-06-11 11:35:37 +0200 | Batzy | (~quassel@user/batzy) |
2022-06-11 11:35:54 +0200 | Kaipii | (~Kaiepi@156.34.47.253) (Ping timeout: 276 seconds) |
2022-06-11 11:36:34 +0200 | littlebo1eep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 11:37:31 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 11:37:49 +0200 | vglfr | (~vglfr@88.155.106.79) (Ping timeout: 246 seconds) |
2022-06-11 11:38:58 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 11:40:25 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-11 11:48:12 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 11:48:52 +0200 | jaamro | ormaaj |
2022-06-11 11:49:34 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 11:51:51 +0200 | frost | (~frost@user/frost) (Quit: Ping timeout (120 seconds)) |
2022-06-11 11:52:48 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) |
2022-06-11 11:54:37 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 12:02:20 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) (Remote host closed the connection) |
2022-06-11 12:09:00 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-06-11 12:13:39 +0200 | coot | (~coot@213.134.190.95) |
2022-06-11 12:19:06 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-06-11 12:21:58 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 12:23:23 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 12:23:25 +0200 | img | (~img@user/img) |
2022-06-11 12:23:51 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-06-11 12:24:31 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-06-11 12:24:35 +0200 | Kaipii | (~Kaiepi@156.34.47.253) |
2022-06-11 12:25:12 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) |
2022-06-11 12:25:23 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection) |
2022-06-11 12:25:46 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2022-06-11 12:26:18 +0200 | coot | (~coot@213.134.190.95) |
2022-06-11 12:26:22 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 12:27:45 +0200 | coot | (~coot@213.134.190.95) (Remote host closed the connection) |
2022-06-11 12:27:54 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-06-11 12:28:49 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 12:29:27 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-06-11 12:31:10 +0200 | vglfr | (~vglfr@88.155.106.79) |
2022-06-11 12:37:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 12:38:23 +0200 | Vajb | (~Vajb@2001:999:580:7ad5:4d80:745:ec1c:305) (Read error: Connection reset by peer) |
2022-06-11 12:39:02 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-06-11 12:40:29 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
2022-06-11 12:41:10 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 246 seconds) |
2022-06-11 12:41:27 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-06-11 12:42:49 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-11 12:45:25 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 12:47:29 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 12:47:30 +0200 | Kaipii | (~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds) |
2022-06-11 12:50:17 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-06-11 12:50:45 +0200 | coot | (~coot@213.134.190.95) |
2022-06-11 12:50:48 +0200 | coot | (~coot@213.134.190.95) (Remote host closed the connection) |
2022-06-11 12:51:45 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
2022-06-11 12:54:14 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:1db:79aa:6ee1:a01a) |
2022-06-11 12:55:53 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-06-11 12:58:16 +0200 | fr-isotope | (uid556229@id-556229.ilkley.irccloud.com) |
2022-06-11 13:02:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 13:07:32 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) (Ping timeout: 255 seconds) |
2022-06-11 13:08:14 +0200 | <dsp> | I have a package that requires a specific base version <4.15. My GHC is 9.0.2 and i am curious how i best go about delivering a lower base, or do i need to downgrade the compiler |
2022-06-11 13:09:43 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) |
2022-06-11 13:14:13 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Leaving) |
2022-06-11 13:14:18 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) |
2022-06-11 13:17:40 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-11 13:18:34 +0200 | <geekosaur> | base is hardwired into the compiler, you must downgrade |
2022-06-11 13:20:53 +0200 | <geekosaur> | https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history shows what versions of things come with which compilers. base, integer-simple/integer-gmp/ghc-bignum, ghc-prim, ghc, and template-haskell are wired in |
2022-06-11 13:22:32 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
2022-06-11 13:25:12 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 13:26:50 +0200 | alp | (~alp@user/alp) |
2022-06-11 13:29:04 +0200 | dsp | (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-06-11 13:33:08 +0200 | <unit73e> | I figured ghcup fixes all my GHC instalation problems |
2022-06-11 13:33:33 +0200 | <[exa]> | ghcup is underrated. |
2022-06-11 13:33:54 +0200 | <tomsmeding> | not by its users :) |
2022-06-11 13:37:15 +0200 | <[exa]> | anyway, re the problem that dsp had before -- is there some kinda switch that would, for a package, just go yolo and ignore the upper bound? (like, this is quite a common source of problems, and the only fix is that all maintainers regularly reupload new dependency bounds) |
2022-06-11 13:38:23 +0200 | <geekosaur[m]> | --allow-newer |
2022-06-11 13:40:51 +0200 | <[exa]> | how come I wasn't able to google this? ._. |
2022-06-11 13:40:55 +0200 | <[exa]> | (thanks a lot! :D ) |
2022-06-11 13:41:02 +0200 | chomwitt | (~chomwitt@2a02:587:dc1f:5600:1db:79aa:6ee1:a01a) (Ping timeout: 260 seconds) |
2022-06-11 13:41:10 +0200 | <geekosaur[m]> | There's also a more constrained version: --allow-newer=package: dependency [,...] |
2022-06-11 13:41:27 +0200 | <tomsmeding> | can also put allow-newer: in a cabal.project, if that's your schtick |
2022-06-11 13:41:42 +0200 | <geekosaur[m]> | Ugh,minus the extra spaces |
2022-06-11 13:42:31 +0200 | <[exa]> | o cool |
2022-06-11 13:43:23 +0200 | <tomsmeding> | [exa]: HLS uses this extensively (this list was far longer when 9.2 was fresher) https://github.com/haskell/haskell-language-server/blob/master/cabal.project#L66 |
2022-06-11 13:46:23 +0200 | Kaipii | (~Kaiepi@156.34.47.253) |
2022-06-11 13:48:35 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 13:49:12 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 248 seconds) |
2022-06-11 13:50:16 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 248 seconds) |
2022-06-11 13:51:33 +0200 | Vajb | (~Vajb@2001:999:580:7ad5:4d80:745:ec1c:305) |
2022-06-11 13:53:17 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 260 seconds) |
2022-06-11 13:57:53 +0200 | kaskal- | (~kaskal@213-147-164-164.nat.highway.webapn.at) |
2022-06-11 13:59:15 +0200 | kaskal | (~kaskal@089144205066.atnat0014.highway.webapn.at) (Ping timeout: 256 seconds) |
2022-06-11 14:04:44 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 14:07:42 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 14:07:45 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds) |
2022-06-11 14:08:56 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) (Ping timeout: 248 seconds) |
2022-06-11 14:09:41 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 14:15:29 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 14:16:59 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 14:17:05 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-06-11 14:17:14 +0200 | gio123 | (~gio123@94.137.173.75) |
2022-06-11 14:19:47 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-11 14:20:53 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 255 seconds) |
2022-06-11 14:22:48 +0200 | alp | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-06-11 14:26:36 +0200 | alp | (~alp@user/alp) |
2022-06-11 14:33:55 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2022-06-11 14:39:40 +0200 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2022-06-11 14:41:17 +0200 | Teacup | (~teacup@user/teacup) |
2022-06-11 14:47:01 +0200 | joo-_ | (~joo-_@fsf/member/joo--) (Quit: leaving) |
2022-06-11 14:47:28 +0200 | benin | (~benin@183.82.179.200) (Quit: The Lounge - https://thelounge.chat) |
2022-06-11 14:47:46 +0200 | Vajb | (~Vajb@2001:999:580:7ad5:4d80:745:ec1c:305) (Ping timeout: 250 seconds) |
2022-06-11 14:52:50 +0200 | vglfr | (~vglfr@88.155.106.79) (Ping timeout: 255 seconds) |
2022-06-11 14:53:24 +0200 | vglfr | (~vglfr@88.155.106.79) |
2022-06-11 14:53:42 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-06-11 14:54:23 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2022-06-11 14:54:24 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-06-11 14:58:24 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-06-11 15:00:34 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-06-11 15:01:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 15:11:52 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 15:13:35 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 15:14:28 +0200 | trisolaran | (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
2022-06-11 15:17:50 +0200 | fr-isotope | (uid556229@id-556229.ilkley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-06-11 15:24:12 +0200 | jlamothe | (~jlamothe@198.251.60.209) |
2022-06-11 15:26:19 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-11 15:28:43 +0200 | Pickchea | (~private@user/pickchea) |
2022-06-11 15:29:04 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2022-06-11 15:32:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-06-11 15:36:06 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
2022-06-11 15:42:54 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 15:47:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 15:47:04 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 15:48:43 +0200 | __monty__ | (~toonn@user/toonn) |
2022-06-11 15:52:41 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 255 seconds) |
2022-06-11 15:56:21 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-11 16:01:35 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 16:05:39 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection) |
2022-06-11 16:06:02 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 16:10:58 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) (Ping timeout: 272 seconds) |
2022-06-11 16:13:49 +0200 | chreekat2 | (~b@152.96.94.198) |
2022-06-11 16:17:03 +0200 | julian | (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian))) |
2022-06-11 16:22:13 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection) |
2022-06-11 16:24:34 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-06-11 16:24:51 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-06-11 16:26:44 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 244 seconds) |
2022-06-11 16:27:40 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-06-11 16:31:50 +0200 | chreekat2 | (~b@152.96.94.198) (Ping timeout: 240 seconds) |
2022-06-11 16:37:18 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-06-11 16:40:53 +0200 | chreekat2 | (~b@2001:620:130:6092:f0a5:94c4:beca:8e7a) |
2022-06-11 16:44:41 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) |
2022-06-11 16:44:55 +0200 | <exarkun> | Why does the definition of `select` use an irrefutable pattern - `~(ts,fs)`? |
2022-06-11 16:45:34 +0200 | <exarkun> | https://hackage.haskell.org/package/base-4.16.1.0/docs/src/Data-OldList.html#select |
2022-06-11 16:46:40 +0200 | <shapr> | I've been fighting laziness and having vaguely related questions, like why is tails strict |
2022-06-11 16:47:03 +0200 | raym | (~raym@user/raym) (Quit: audio problem, rebooting...) |
2022-06-11 16:48:40 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds) |
2022-06-11 16:49:26 +0200 | raym | (~raym@user/raym) |
2022-06-11 16:49:42 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) (Quit: Going elsewhere) |
2022-06-11 16:50:36 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) |
2022-06-11 16:52:31 +0200 | <geekosaur> | mm, I was going to say the Report probably specified the strictness of both, but the Report doesn't have anything outside the basic Prelude |
2022-06-11 16:56:28 +0200 | <geekosaur> | my guess re select is that it causes partition to hold all lists completely in memory instead of lazily consuming the original an item at a time |
2022-06-11 16:58:45 +0200 | <geekosaur> | as for tails, I'm not clear that laziness buys anything since it holds the entire original list (maybe minus its first element) anyway |
2022-06-11 16:59:05 +0200 | <geekosaur> | or is even possible |
2022-06-11 16:59:47 +0200 | <geekosaur> | holds it multiple times, even |
2022-06-11 17:01:47 +0200 | <geekosaur> | mrr, clarify that: lack of ~ would cause it to hold everything in memory |
2022-06-11 17:02:52 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 260 seconds) |
2022-06-11 17:12:04 +0200 | m1dnight | (~christoph@78-22-9-5.access.telenet.be) (Ping timeout: 248 seconds) |
2022-06-11 17:14:12 +0200 | m1dnight | (~christoph@78-22-9-5.access.telenet.be) |
2022-06-11 17:15:26 +0200 | <geekosaur> | yeh, tails does essentially what I would expect, and I don't think it can be made less strict meaningfully because something else would make it strict anyway |
2022-06-11 17:15:29 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 17:17:01 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
2022-06-11 17:17:55 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-11 17:17:55 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-11 17:17:55 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-11 17:18:28 +0200 | emad | (~emad@156.214.109.162) |
2022-06-11 17:18:49 +0200 | emad | (~emad@156.214.109.162) (Remote host closed the connection) |
2022-06-11 17:18:56 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 17:19:11 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-11 17:19:52 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 17:24:05 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 244 seconds) |
2022-06-11 17:29:55 +0200 | vglfr | (~vglfr@88.155.106.79) (Ping timeout: 246 seconds) |
2022-06-11 17:33:04 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 17:39:37 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-06-11 17:41:01 +0200 | bilegeek | (~bilegeek@2600:1008:b014:4c38:487c:f230:6a2b:928b) |
2022-06-11 17:43:04 +0200 | vglfr | (~vglfr@88.155.106.79) |
2022-06-11 17:43:52 +0200 | gmg | (~user@user/gehmehgeh) |
2022-06-11 17:45:18 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-06-11 17:46:27 +0200 | califax | (~califax@user/califx) |
2022-06-11 17:47:16 +0200 | dextaa | (~DV@user/dextaa) |
2022-06-11 17:51:48 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-06-11 17:54:51 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
2022-06-11 18:00:06 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-06-11 18:00:06 +0200 | oak- | (~oakuniver@2001:470:69fc:105::fcd) (Quit: You have been kicked for being idle) |
2022-06-11 18:00:15 +0200 | noiobeforebed | (~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: You have been kicked for being idle) |
2022-06-11 18:01:00 +0200 | doomfume[m] | (~doomfumeh@2001:470:69fc:105::2:2a62) |
2022-06-11 18:06:47 +0200 | TonyStone | (~TonyStone@2603-7080-8607-c36a-2d91-707e-31c1-4661.res6.spectrum.com) (Ping timeout: 255 seconds) |
2022-06-11 18:07:55 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-06-11 18:09:02 +0200 | doomfume[m]1 | (~doomfumem@2001:470:69fc:105::2:2a64) |
2022-06-11 18:09:42 +0200 | kimjetwav | (~user@2607:fea8:2340:da00:b28:9278:475e:6fce) (Quit: time to reboot) |
2022-06-11 18:13:54 +0200 | kimjetwav | (~user@2607:fea8:2340:da00:dee7:1b6:101c:bb2) |
2022-06-11 18:14:12 +0200 | julian | (~julian@20.83.116.49) |
2022-06-11 18:19:34 +0200 | TonyStone | (~TonyStone@2603-7080-8607-c36a-dd76-ba9d-2665-21fb.res6.spectrum.com) |
2022-06-11 18:22:35 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 18:27:37 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-06-11 18:28:05 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-06-11 18:28:24 +0200 | chreekat2 | (~b@2001:620:130:6092:f0a5:94c4:beca:8e7a) (Ping timeout: 272 seconds) |
2022-06-11 18:29:52 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-06-11 18:34:32 +0200 | gmg | (~user@user/gehmehgeh) |
2022-06-11 18:35:35 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 255 seconds) |
2022-06-11 18:35:36 +0200 | econo | (uid147250@user/econo) |
2022-06-11 18:36:04 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 18:36:16 +0200 | user3 | (~user@188.253.237.9) |
2022-06-11 18:38:27 +0200 | user3 | (~user@188.253.237.9) (Client Quit) |
2022-06-11 18:39:42 +0200 | vglfr | (~vglfr@88.155.106.79) (Ping timeout: 276 seconds) |
2022-06-11 18:40:24 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 248 seconds) |
2022-06-11 18:41:24 +0200 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.5) |
2022-06-11 18:46:47 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Remote host closed the connection) |
2022-06-11 18:47:56 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer) |
2022-06-11 18:48:17 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-06-11 19:03:50 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 19:07:23 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-11 19:07:23 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-11 19:07:23 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-11 19:07:31 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-06-11 19:08:08 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 19:08:35 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 19:09:19 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-06-11 19:12:18 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) |
2022-06-11 19:12:56 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) (Ping timeout: 248 seconds) |
2022-06-11 19:13:22 +0200 | Guest10 | (~Guest10@136.56.166.157) |
2022-06-11 19:14:13 +0200 | Guest10 | (~Guest10@136.56.166.157) (Client Quit) |
2022-06-11 19:14:24 +0200 | Guest10 | (~Guest10@136.56.166.157) |
2022-06-11 19:15:47 +0200 | Guest10 | (~Guest10@136.56.166.157) (Client Quit) |
2022-06-11 19:16:59 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-06-11 19:23:39 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-11 19:26:16 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 248 seconds) |
2022-06-11 19:35:06 +0200 | <Bulby[m]> | what do you guys use for binary serialization |
2022-06-11 19:35:27 +0200 | <geekosaur> | binary or cereal are the usual go-tos |
2022-06-11 19:36:09 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2022-06-11 19:36:34 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-06-11 19:36:47 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 19:36:58 +0200 | <Clint> | i used to use cereal, then i switched to binary |
2022-06-11 19:37:41 +0200 | <Bulby[m]> | binary is really old ☹️ |
2022-06-11 19:37:58 +0200 | <Bulby[m]> | i'll use cereal |
2022-06-11 19:38:10 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-63.elisa-laajakaista.fi) (Ping timeout: 258 seconds) |
2022-06-11 19:38:12 +0200 | <geekosaur> | what, does it have to be updated daily to be usable? |
2022-06-11 19:38:18 +0200 | <Rembane> | Maybe binary is done? |
2022-06-11 19:38:56 +0200 | <Bulby[m]> | it depends on base < 4.13 |
2022-06-11 19:39:37 +0200 | <geekosaur> | https://hackage.haskell.org/package/binary says otherwise |
2022-06-11 19:39:49 +0200 | <geekosaur> | >= 4.5.0.0 && < 5 |
2022-06-11 19:40:18 +0200 | <Bulby[m]> | oh |
2022-06-11 19:40:25 +0200 | <geekosaur> | maybe check the upper right of the page to see if you're on the latest version vs. the version google picked due to links |
2022-06-11 19:40:26 +0200 | <Bulby[m]> | what are the .9 and .10 versions |
2022-06-11 19:40:49 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 19:41:15 +0200 | <geekosaur> | red is deprecated |
2022-06-11 19:41:20 +0200 | <geekosaur> | it doesn't say why |
2022-06-11 19:45:08 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:1917:7088:7036:8417) |
2022-06-11 19:47:02 +0200 | gmg | (~user@user/gehmehgeh) |
2022-06-11 19:48:42 +0200 | zer0bitz | (~zer0bitz@2001:2003:f444:8f00:911a:9716:9df3:c391) |
2022-06-11 19:49:15 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 19:51:45 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-173.elisa-laajakaista.fi) |
2022-06-11 19:54:04 +0200 | <monochrom> | I use binary because it comes with GHC. I use parsec because it comes with GHC. I use mtl because it comes with GHC. |
2022-06-11 19:54:19 +0200 | <monochrom> | They are old but so am I. I am old and wise, and so are they. |
2022-06-11 19:54:28 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2022-06-11 19:54:40 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-06-11 19:54:45 +0200 | <monochrom> | But you should have figured. I use IRC, too, an old thing. |
2022-06-11 19:55:01 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-06-11 19:55:42 +0200 | <monochrom> | Whereas newer people chose the subreddit or stackoverflow or the discourse, and will never consider IRC. |
2022-06-11 19:56:02 +0200 | <monochrom> | If you're all about new, perhaps you should bring your questions to them, not us. |
2022-06-11 19:57:32 +0200 | <[exa]> | where do people even get this expectation of old software being worse? |
2022-06-11 19:57:57 +0200 | <Clint> | bitrot |
2022-06-11 19:58:01 +0200 | <monochrom> | I don't blame them. I did that once, too, when I was younger. |
2022-06-11 19:58:10 +0200 | <Bulby[m]> | true, old software is usually better, especially when maintained |
2022-06-11 19:58:23 +0200 | <hpc> | i mean, "old = less good" is true of almost everything |
2022-06-11 19:58:28 +0200 | <Bulby[m]> | by old I mean unmaintained |
2022-06-11 19:58:43 +0200 | <monochrom> | At school, I found out a bug in some software. I emailed the sysadmin and said things like "this software is old". |
2022-06-11 19:59:13 +0200 | <monochrom> | The sysadmins rightfully reply "we acknowledge the bug, but age doesn't always matter". |
2022-06-11 19:59:22 +0200 | <[exa]> | Clint: fair enough |
2022-06-11 19:59:34 +0200 | <geekosaur[m]> | Could you tell us where you got such an old link? |
2022-06-11 20:00:03 +0200 | <davean> | HTTP is old, so we should use Web3 for everything. |
2022-06-11 20:00:21 +0200 | <monochrom> | Please use HTTP 3.14159 :) |
2022-06-11 20:00:28 +0200 | <Bulby[m]> | ok, now on text, encode utf8: it seems it encodes an empty string. does that mean it puts nothing if the text is empty? |
2022-06-11 20:00:48 +0200 | <[exa]> | davean: also computers are like 30+ years now!!11 |
2022-06-11 20:01:27 +0200 | <davean> | [exa]: More than that and we should stop using them |
2022-06-11 20:01:43 +0200 | <[exa]> | Bulby[m]: empty unicode string encoded to utf8 should make an empty byte sequence, yes. |
2022-06-11 20:01:48 +0200 | <darkling> | davean: Some days, I could get on board with that idea. |
2022-06-11 20:01:50 +0200 | <monochrom> | We should switch from tcp/ip to x.24 |
2022-06-11 20:01:50 +0200 | <davean> | [exa]: you're proving their point, computers are horrid |
2022-06-11 20:02:06 +0200 | <hpc> | this is why i never use imported libraries |
2022-06-11 20:02:12 +0200 | <hpc> | they're always older than the code i am writing right now |
2022-06-11 20:02:19 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-06-11 20:02:28 +0200 | <Bulby[m]> | hm... that is an issue. does that mean the string doesn't end with a null byte as well |
2022-06-11 20:02:41 +0200 | <monochrom> | This is why I teach programming rather than write programs. :) |
2022-06-11 20:03:28 +0200 | <monochrom> | What null byte? This is not ##c. |
2022-06-11 20:03:37 +0200 | <davean> | Bulby[m]: Huh? |
2022-06-11 20:03:41 +0200 | <[exa]> | Bulby[m]: the null byte is a C and unix convention, completely irrelevant in all other systems |
2022-06-11 20:03:56 +0200 | <[exa]> | esp these that actually remember the size of their strings |
2022-06-11 20:04:00 +0200 | <monochrom> | Hell, not even always a unix convention. |
2022-06-11 20:04:09 +0200 | <Bulby[m]> | well I'm serialzing to binary |
2022-06-11 20:04:16 +0200 | <davean> | and not even a good convention - it has to be broken a lot, because we need string with null bytes in them |
2022-06-11 20:04:28 +0200 | <Bulby[m]> | so I either a. store the length or b. append a null byte |
2022-06-11 20:04:34 +0200 | <davean> | So length tagged strings are normal even in C and Unix |
2022-06-11 20:04:51 +0200 | <darkling> | Either of those will work, but I'd recomment storing the length. |
2022-06-11 20:04:58 +0200 | <monochrom> | So store the length. |
2022-06-11 20:04:58 +0200 | <[exa]> | Bulby[m]: if you need to place the binary representation to some larger bytestream, I suggest you do one of these, yes. |
2022-06-11 20:05:00 +0200 | <darkling> | Advanced developers will store the length first. ;) |
2022-06-11 20:05:31 +0200 | <[exa]> | and please store the length, the terminating zero is a particular piece of mess in any data exchange |
2022-06-11 20:06:01 +0200 | <Bulby[m]> | I assume length of Text is not length in bytes so I have to manually call up encodeUtf8 |
2022-06-11 20:06:34 +0200 | <monochrom> | You look at basically every binary file format except C strings, they all given lengths up front. |
2022-06-11 20:06:40 +0200 | <[exa]> | Bulby[m]: yes, lengths of encoding vary a lot (accidentally, length of Text is afaik equal to the data length in utf32) |
2022-06-11 20:07:09 +0200 | coot | (~coot@213.134.190.95) |
2022-06-11 20:07:15 +0200 | <Bulby[m]> | i'm getting flashbacks to haxe deserialization 😭 |
2022-06-11 20:07:49 +0200 | <monochrom> | If you don't want length, please use "\end{verbatim}" instead of null byte at the end. :) |
2022-06-11 20:07:55 +0200 | <[exa]> | Bulby[m]: is there Binary instance for ByteString? |
2022-06-11 20:08:10 +0200 | <Bulby[m]> | yes |
2022-06-11 20:08:29 +0200 | <[exa]> | darkling: advanced programmers ride on all paradigms at once and store length at the end |
2022-06-11 20:08:46 +0200 | <monochrom> | store checksum and then length at the end :) |
2022-06-11 20:09:00 +0200 | <Bulby[m]> | https://hackage.haskell.org/package/binary-0.8.9.0/docs/src/Data.Binary.Class.html#line-635 |
2022-06-11 20:09:01 +0200 | <Bulby[m]> | bytestring stores it's length anyway |
2022-06-11 20:09:04 +0200 | <[exa]> | Bulby[m]: and the Binary instance doesn't encode its length? |
2022-06-11 20:09:10 +0200 | <[exa]> | o nice |
2022-06-11 20:09:25 +0200 | <[exa]> | so just encode to ByteString and serialize the bytestring :] |
2022-06-11 20:09:38 +0200 | <Bulby[m]> | so i can just use Text's encoding method which encodes via put |
2022-06-11 20:10:15 +0200 | <Bulby[m]> | btw what's an int? int64? |
2022-06-11 20:10:28 +0200 | <Bulby[m]> | yeah |
2022-06-11 20:10:30 +0200 | <[exa]> | likely. |
2022-06-11 20:11:14 +0200 | <Bulby[m]> | idk why they store it as int. I guess they don't expect a string longer than 2^63 |
2022-06-11 20:11:26 +0200 | img | (~img@user/img) |
2022-06-11 20:12:08 +0200 | <davean> | Packagees like 'bytes' have VarInt instances |
2022-06-11 20:12:32 +0200 | <[exa]> | Bulby[m]: you might want to contemplate on the size of that number |
2022-06-11 20:12:47 +0200 | <Bulby[m]> | yeah |
2022-06-11 20:13:12 +0200 | <Bulby[m]> | that was a joke but apparently it wasn't very funny 🥲 |
2022-06-11 20:13:33 +0200 | tremon | (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
2022-06-11 20:13:54 +0200 | <[exa]> | ah okay. sorry I'm not fun today. :D |
2022-06-11 20:14:21 +0200 | <geekosaur> | encode to ASN.1 |
2022-06-11 20:14:31 +0200 | Clint | twitches. |
2022-06-11 20:15:20 +0200 | gmg | (~user@user/gehmehgeh) |
2022-06-11 20:15:54 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 276 seconds) |
2022-06-11 20:16:36 +0200 | <[exa]> | Bulby[m]: anyway, I'd say `put . encodeUtf8` should just work |
2022-06-11 20:17:02 +0200 | [exa] | finds Data.Text.Binary |
2022-06-11 20:17:03 +0200 | <Bulby[m]> | Text has a binary instance that does exactly that |
2022-06-11 20:17:17 +0200 | <[exa]> | ah |
2022-06-11 20:17:21 +0200 | <[exa]> | all done then |
2022-06-11 20:17:22 +0200 | <tomsmeding> | Bulby[m]: probably no system that bytestring/text supports can handle allocations longer than 2^48 in the first place |
2022-06-11 20:17:22 +0200 | <[exa]> | \o/ |
2022-06-11 20:17:34 +0200 | <tomsmeding> | oh it was a joke |
2022-06-11 20:17:37 +0200 | <tomsmeding> | woooosh |
2022-06-11 20:17:44 +0200 | <Bulby[m]> | I was just unsure if it stored the length |
2022-06-11 20:17:55 +0200 | <[exa]> | tomsmeding: it's triggerish right? :D |
2022-06-11 20:17:59 +0200 | <tomsmeding> | yes |
2022-06-11 20:18:49 +0200 | <[exa]> | these young peeps complaining about a completely nonsential possibility of ever having a string bigger than 640kB |
2022-06-11 20:18:50 +0200 | <davean> | tomsmeding: we don't need to allocate them to define them ... I'll send you the exact base 10 representation of 1/3rd ;) |
2022-06-11 20:18:58 +0200 | <[exa]> | oh i mean 2^63. |
2022-06-11 20:19:09 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-06-11 20:19:18 +0200 | <tomsmeding> | davean: hm, good point, lazy bytestrings could have interesting lengths |
2022-06-11 20:19:51 +0200 | <hpc> | fun related fact i saw the other day, in rust a vector of () has a fixed size |
2022-06-11 20:20:04 +0200 | <hpc> | it doesn't have to reserve space for any of the values, it just keeps track of the size :D |
2022-06-11 20:20:13 +0200 | <Bulby[m]> | haha |
2022-06-11 20:20:17 +0200 | <davean> | tomsmeding: and we can actually store them when we take into account compression. |
2022-06-11 20:20:33 +0200 | <[exa]> | hpc: kinda wondering what c++ will tell me about std::vector<void> |
2022-06-11 20:21:04 +0200 | <[exa]> | that would be the same case I'd say, except c++ is likely picky about void |
2022-06-11 20:21:18 +0200 | <tomsmeding> | luckily haskell can do the same https://hackage.haskell.org/package/base-4.15.1.0/docs/src/Foreign.Storable.html#line-149 |
2022-06-11 20:21:36 +0200 | <hpc> | tomsmeding: haha that's great |
2022-06-11 20:21:50 +0200 | <tomsmeding> | so a Data.Vector.Storable of () will be constant-size :) |
2022-06-11 20:22:27 +0200 | <tomsmeding> | [exa]: void likely won't work, but you could try `struct Unit {}; std::vector<Unit> v;` |
2022-06-11 20:23:11 +0200 | <tomsmeding> | [exa]: sizeof(struct Unit) == 0, so likely it would work |
2022-06-11 20:23:36 +0200 | <tomsmeding> | yay lots of languages getting this right |
2022-06-11 20:24:11 +0200 | <davean> | tomsmeding: in Haskell () isn't information free |
2022-06-11 20:24:20 +0200 | <[exa]> | tomsmeding: haha you sure? |
2022-06-11 20:24:30 +0200 | <tomsmeding> | davean: Vector doesn't care |
2022-06-11 20:24:33 +0200 | <tomsmeding> | [exa]: no |
2022-06-11 20:24:39 +0200 | <[exa]> | I spent quite sime time trying to get a 0-sized struct :D |
2022-06-11 20:24:43 +0200 | <davean> | tomsmeding: *storable* doesn't |
2022-06-11 20:24:58 +0200 | <davean> | tomsmeding: the forcing is critical |
2022-06-11 20:25:01 +0200 | <tomsmeding> | [exa]: as in, that sizeof is correct, but no idea whether that will actually result in constant-size arrays |
2022-06-11 20:25:05 +0200 | <geekosaur> | there's a Vector backed by Storable |
2022-06-11 20:25:17 +0200 | <tomsmeding> | davean: which forcing |
2022-06-11 20:25:28 +0200 | <tomsmeding> | oh, as in, Storable doesn't force but you think it should? |
2022-06-11 20:25:37 +0200 | <[exa]> | maybe it works in C, but in all C++ses I tried the size of empty struct is 1 |
2022-06-11 20:25:57 +0200 | <monochrom> | But C++ allows you to hand-code what vector<Unit> does and sidestep the general template. |
2022-06-11 20:26:06 +0200 | <geekosaur> | strictly speaking that Storable definition is wrong because it never forces the value, so it treats _|_ as defined |
2022-06-11 20:26:19 +0200 | <tomsmeding> | [exa]: WAT |
2022-06-11 20:26:32 +0200 | <tomsmeding> | [exa]: compiling as C++ gives sizeof 1, but compiling as C gives sizeof 0 |
2022-06-11 20:26:36 +0200 | <[exa]> | yes |
2022-06-11 20:26:42 +0200 | <tomsmeding> | this is the weirdest incompatibility between the two that I've seen in a long while |
2022-06-11 20:27:10 +0200 | <tomsmeding> | geekosaur: right, technically. However I think I would prefer the current definition |
2022-06-11 20:27:23 +0200 | <[exa]> | AFAIK it's because of up/downcasting or something weird that requires RTTI |
2022-06-11 20:27:27 +0200 | <davean> | tomsmeding: data A = A {data :: ???, normalized :: () }, A ... (deepseq data `seq` ()) |
2022-06-11 20:27:30 +0200 | <davean> | tomsmeding: etc |
2022-06-11 20:29:32 +0200 | <tomsmeding> | [exa]: that _requires RTTI_? |
2022-06-11 20:29:47 +0200 | <tomsmeding> | oh, as in, there should be some place to store some data |
2022-06-11 20:29:55 +0200 | <tomsmeding> | except you can't store anything useful in 1 byte |
2022-06-11 20:30:09 +0200 | <tomsmeding> | (regarding RTTI -- I know bytes are useful in general lol) |
2022-06-11 20:30:32 +0200 | <[exa]> | tomsmeding: yeah, in case someone would to use this as a field in some structure and blablabla C++std blabla, you can't have 2 things at 1 place ever™ |
2022-06-11 20:30:44 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-06-11 20:30:52 +0200 | <tomsmeding> | oh hm |
2022-06-11 20:31:03 +0200 | <tomsmeding> | sounds fishy though, union{} exists |
2022-06-11 20:31:19 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-06-11 20:31:27 +0200 | <[exa]> | I remember deciding to completely forget about the actual reason as soon as I found it on SA |
2022-06-11 20:31:46 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 20:32:15 +0200 | <davean> | tomsmeding: so its very meaningful that something is or has come from a Data.Vector.Storable |
2022-06-11 20:32:44 +0200 | <tomsmeding> | davean: I'm afraid I'm not completely following |
2022-06-11 20:33:06 +0200 | <davean> | tomsmeding: () in Haskell is a value or a computation\ |
2022-06-11 20:33:08 +0200 | <tomsmeding> | the only information in a value of type () is whether it is a bottom, and if so, what bottom it is (the asynchronous error) |
2022-06-11 20:33:26 +0200 | <tomsmeding> | if you put anything else in it, you better ensure _yourself_ that you evaluate it |
2022-06-11 20:33:29 +0200 | <tomsmeding> | in my opinion |
2022-06-11 20:33:30 +0200 | <davean> | tomsmeding: no, it can also be the information about if something is evaluated |
2022-06-11 20:33:56 +0200 | <tomsmeding> | davean: except querying that information forces the evaluation, right? |
2022-06-11 20:34:04 +0200 | <davean> | The *point* of the data A example is that LOOKING at the () enforces an evaluation property |
2022-06-11 20:34:11 +0200 | <davean> | tomsmeding: Thats The Point(tm) |
2022-06-11 20:34:17 +0200 | <tomsmeding> | yes, looking at the () from the deepseq |
2022-06-11 20:34:18 +0200 | <davean> | It tracks the evaluation |
2022-06-11 20:34:22 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-06-11 20:34:33 +0200 | <davean> | It allows you to - for example - impliment deepseq that doesn't rewalk |
2022-06-11 20:34:39 +0200 | <davean> | Thats a fairly trivial example |
2022-06-11 20:34:43 +0200 | <tomsmeding> | wait what? |
2022-06-11 20:35:00 +0200 | <davean> | () stores if an evaluation *has or has not happened* |
2022-06-11 20:35:00 +0200 | <tomsmeding> | you can't check whether something is a thunk in O(1), right? |
2022-06-11 20:35:11 +0200 | <tomsmeding> | (well, maybe there is some weird ghc internal function for that, but disregarding that) |
2022-06-11 20:35:15 +0200 | <davean> | Don't need that |
2022-06-11 20:35:26 +0200 | <davean> | your deepseq implimentation is "force (normalize A) |
2022-06-11 20:35:40 +0200 | <tomsmeding> | normalize :: A -> A ? |
2022-06-11 20:35:42 +0200 | <davean> | if you've already deepseqed that is O(1) |
2022-06-11 20:35:44 +0200 | <davean> | no |
2022-06-11 20:35:49 +0200 | <davean> | look at my A definition |
2022-06-11 20:36:02 +0200 | <davean> | tomsmeding: data A = A {data :: ???, normalized :: () }, A ... (deepseq data `seq` ()) |
2022-06-11 20:36:03 +0200 | <tomsmeding> | on *normalizeD you meant maybe? |
2022-06-11 20:36:07 +0200 | <tomsmeding> | *oh |
2022-06-11 20:36:12 +0200 | <davean> | yes, sorry |
2022-06-11 20:36:15 +0200 | <tomsmeding> | right |
2022-06-11 20:36:22 +0200 | <davean> | Usually you'll see this particular one with that cell as "rnf" |
2022-06-11 20:36:39 +0200 | <tomsmeding> | with the invariant on A that the () in 'normalized' depends on the evaluation of 'data'? |
2022-06-11 20:36:47 +0200 | <tomsmeding> | OH |
2022-06-11 20:37:05 +0200 | <tomsmeding> | right, you do what I just said, and then you deepseq the unit instead of the data |
2022-06-11 20:37:24 +0200 | <davean> | You don't need to deep seq it, you just force it, or rnf it |
2022-06-11 20:37:31 +0200 | <tomsmeding> | okay, so you still don't get the _information_ about whether it was evaluated, but you _can_ avoid traversing the data twice |
2022-06-11 20:37:39 +0200 | <tomsmeding> | right, deepseq = seq for unit |
2022-06-11 20:37:40 +0200 | <davean> | it evaluates whatever its existence predicates evaluation of |
2022-06-11 20:38:03 +0200 | <davean> | The information is always "Eventually True" |
2022-06-11 20:38:08 +0200 | <davean> | Or bottom |
2022-06-11 20:38:16 +0200 | <davean> | You *do* get the information |
2022-06-11 20:38:34 +0200 | <tomsmeding> | I consider "getting the information" equivalent to "being able to turn that into a Bool -- already evaluated or not already evaluated" |
2022-06-11 20:38:38 +0200 | <davean> | The information should just be trivial, but it is not true when you go to look at it, its is "eventually true" |
2022-06-11 20:39:05 +0200 | <davean> | tomsmeding: Well consider computational tree logic - True is not the same as Eventually True |
2022-06-11 20:39:29 +0200 | <davean> | and here we aren't guarrenteed true |
2022-06-11 20:39:32 +0200 | <davean> | we get either true or bottom |
2022-06-11 20:39:38 +0200 | <davean> | which is a large portion of the point |
2022-06-11 20:40:04 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 248 seconds) |
2022-06-11 20:40:12 +0200 | <tomsmeding> | I'm afraid my mind is too classical still for this :p |
2022-06-11 20:41:01 +0200 | <davean> | tomsmeding: well, if you force all of them to put them in your vector, you might cause issues, and if you don't and claim they're all () you might cause issues |
2022-06-11 20:41:16 +0200 | <davean> | tomsmeding: Its very clear that (computation resulting in ()) is not (is ()) |
2022-06-11 20:41:25 +0200 | <davean> | you very well could get bottom and that very much is important |
2022-06-11 20:41:31 +0200 | <tomsmeding> | only if you put side effects into your computation using unsafePerformIO |
2022-06-11 20:41:37 +0200 | <davean> | Nope |
2022-06-11 20:41:41 +0200 | <davean> | Incorrect |
2022-06-11 20:41:49 +0200 | <tomsmeding> | otherwise the only difference is resource usage |
2022-06-11 20:41:49 +0200 | <Bulby[m]> | what about undefined? |
2022-06-11 20:41:49 +0200 | <davean> | That is true when pure |
2022-06-11 20:41:54 +0200 | <davean> | tomsmeding: incorrect |
2022-06-11 20:41:54 +0200 | <tomsmeding> | yes, () is pure |
2022-06-11 20:42:08 +0200 | <tomsmeding> | IO () is a vastly different world :p |
2022-06-11 20:42:14 +0200 | <davean> | I'm not talking about IO () |
2022-06-11 20:42:18 +0200 | <Bulby[m]> | undefined is pure, and defined as bottom, no? |
2022-06-11 20:42:23 +0200 | <davean> | Bulby[m]: correct |
2022-06-11 20:42:35 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 20:42:39 +0200 | <davean> | computations on infinite lists can also be () and non-terminal |
2022-06-11 20:42:51 +0200 | <davean> | And many pure computatiosn error |
2022-06-11 20:43:05 +0200 | <tomsmeding> | agreed |
2022-06-11 20:43:08 +0200 | <davean> | no unsafePerformIO in sight |
2022-06-11 20:43:34 +0200 | <davean> | The value of () can be at least one of (), non-terminal, pure exception |
2022-06-11 20:43:43 +0200 | <davean> | At the *least*, and that its self is a trit |
2022-06-11 20:43:48 +0200 | <tomsmeding> | very few people care about the non-terminal option |
2022-06-11 20:43:57 +0200 | <tomsmeding> | more people care about a possible exception |
2022-06-11 20:44:48 +0200 | <tomsmeding> | in my opinion, if you care about the specific bottom that a computation produces, you should ensure _yourself_ that you evaluate the thing |
2022-06-11 20:45:05 +0200 | <tomsmeding> | I expect stuff like a Storable Vector of () to not evaluate my stuff |
2022-06-11 20:45:05 +0200 | <davean> | tomsmeding: the point is to *not* evaluate it unless you care about it |
2022-06-11 20:45:20 +0200 | <davean> | tomsmeding: () ensures a *property* if you look at it |
2022-06-11 20:45:48 +0200 | gio123 | (~gio123@94.137.173.75) (Quit: Client closed) |
2022-06-11 20:45:55 +0200 | <davean> | Data.Storable.Vector changes the *semantics* of the code |
2022-06-11 20:46:03 +0200 | <Bulby[m]> | I think `()` usually means side effects and is kinda weird when you are handling it purely |
2022-06-11 20:46:17 +0200 | <tomsmeding> | Data.Vector.Storable changes nothing |
2022-06-11 20:46:26 +0200 | <tomsmeding> | it has an interface, and if you use it, you use the interface |
2022-06-11 20:46:26 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-11 20:46:26 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-11 20:46:26 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-11 20:46:40 +0200 | <tomsmeding> | perhaps it didn't have the semantics you _expected_ |
2022-06-11 20:48:19 +0200 | jafarlihi | (~user@188.253.237.9) |
2022-06-11 20:48:25 +0200 | <davean> | if you want to make that claim, I guess this discussion is going nowhere except a discussion of what the definition of is is |
2022-06-11 20:48:29 +0200 | <davean> | So I'm out |
2022-06-11 20:48:57 +0200 | <tomsmeding> | yes I'm feeling we're talking past each other |
2022-06-11 20:48:59 +0200 | <tomsmeding> | sorry :) |
2022-06-11 20:53:01 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 20:53:58 +0200 | jafarlihi | (~user@188.253.237.9) (Quit: WeeChat 3.5) |
2022-06-11 20:56:38 +0200 | notzmv | (~zmv@user/notzmv) |
2022-06-11 21:03:20 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-06-11 21:04:56 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-06-11 21:07:59 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 21:08:26 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b02e9c770e98d5298a4.dip0.t-ipconnect.de) |
2022-06-11 21:11:13 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Remote host closed the connection) |
2022-06-11 21:11:26 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 21:11:32 +0200 | BusConscious | (~martin@ip5f5acfa2.dynamic.kabel-deutschland.de) |
2022-06-11 21:14:16 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2022-06-11 21:14:32 +0200 | ulvarrefr | (~user@185.24.53.152) (Read error: Connection reset by peer) |
2022-06-11 21:16:17 +0200 | caubert | (~caubert@136.244.111.235) (Quit: WeeChat 3.5) |
2022-06-11 21:16:31 +0200 | caubert | (~caubert@136.244.111.235) |
2022-06-11 21:18:18 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
2022-06-11 21:19:50 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 21:20:42 +0200 | nate3 | (~nate@98.45.169.16) |
2022-06-11 21:22:12 +0200 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 276 seconds) |
2022-06-11 21:22:47 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 240 seconds) |
2022-06-11 21:25:29 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-11 21:25:29 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-11 21:25:29 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-11 21:25:44 +0200 | nate3 | (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
2022-06-11 21:27:39 +0200 | gusbicalho | (~gusbicalh@2804:431:c7f4:8ec4:4ce7:6d2e:9f0c:a377) |
2022-06-11 21:28:11 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-06-11 21:33:54 +0200 | ulvarrefr | (~user@185.24.53.152) |
2022-06-11 21:34:20 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-06-11 21:36:13 +0200 | shapr | (~user@2600:4040:2d31:7100:9163:bb47:6e24:ceed) (Remote host closed the connection) |
2022-06-11 21:36:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 21:48:49 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 21:49:47 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-06-11 21:55:15 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 21:55:28 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:589c:27c2:e36:6e88) (Ping timeout: 250 seconds) |
2022-06-11 21:55:32 +0200 | opow242 | (~opow242@2601:404:c400:e5e:24e1:bf8d:bd12:b91f) |
2022-06-11 21:56:33 +0200 | <Bulby[m]> | to write jump operations, Crafting Intepreters wants me to back patch, which doesn't really make sense in haskell |
2022-06-11 21:57:41 +0200 | shapr | (~user@2600:4040:2d31:7100:bf17:8a01:f76e:e214) |
2022-06-11 21:58:34 +0200 | <Rembane> | Bulby[m]: Why doesn't it make sense? |
2022-06-11 21:58:36 +0200 | <Bulby[m]> | especially with the Put monad |
2022-06-11 21:58:36 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
2022-06-11 21:58:48 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds) |
2022-06-11 21:59:04 +0200 | <Bulby[m]> | you can't back up with the put monad/edit binary already written |
2022-06-11 21:59:45 +0200 | <Rembane> | Is there a way for you to read what has been written? |
2022-06-11 21:59:56 +0200 | alp | (~alp@user/alp) (Ping timeout: 272 seconds) |
2022-06-11 22:00:15 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 22:00:15 +0200 | <Bulby[m]> | not in any sane way |
2022-06-11 22:02:52 +0200 | opow242 | (~opow242@2601:404:c400:e5e:24e1:bf8d:bd12:b91f) (Quit: Client closed) |
2022-06-11 22:03:06 +0200 | <Rembane> | Okay, then that makes it harder. I haven't read Crafting Interpreters so I don't know how they would like this to be solved. |
2022-06-11 22:03:40 +0200 | <geekosaur> | the book provides Java examples iirc |
2022-06-11 22:03:45 +0200 | opow242 | (~opow242@2601:404:c400:e5e:24e1:bf8d:bd12:b91f) |
2022-06-11 22:03:51 +0200 | <geekosaur> | Bulby[m] is translating to Haskell |
2022-06-11 22:03:57 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-06-11 22:04:04 +0200 | <geekosaur> | I think I'd do this in 2 passes rather than try to backtrack |
2022-06-11 22:04:07 +0200 | opow242 | (~opow242@2601:404:c400:e5e:24e1:bf8d:bd12:b91f) (Client Quit) |
2022-06-11 22:04:23 +0200 | opow242 | (~opow242@2601:404:c400:e5e:24e1:bf8d:bd12:b91f) |
2022-06-11 22:04:36 +0200 | machinedgod | (~machinedg@66.244.246.252) |
2022-06-11 22:04:47 +0200 | <Bulby[m]> | how would two passes work? |
2022-06-11 22:05:03 +0200 | opow242 | (~opow242@2601:404:c400:e5e:24e1:bf8d:bd12:b91f) (Client Quit) |
2022-06-11 22:05:10 +0200 | <Rembane> | geekosaur: Oh, that explains quite a bit. |
2022-06-11 22:05:39 +0200 | <geekosaur> | actually I'm not sure because I can't see why they'd want you to backpatch anyway |
2022-06-11 22:06:09 +0200 | <Bulby[m]> | https://craftinginterpreters.com/jumping-back-and-forth.html#if-statements |
2022-06-11 22:06:10 +0200 | <geekosaur> | unless it's adding something like a label / jump landing point, and the point of the first patch would be to precompute those and insert them into whatever you're serializing |
2022-06-11 22:06:14 +0200 | <Bulby[m]> | for jumping |
2022-06-11 22:06:57 +0200 | <Bulby[m]> | then for the first pass, what's the point of serializing to binary? |
2022-06-11 22:07:20 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds) |
2022-06-11 22:07:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 22:07:35 +0200 | <Bulby[m]> | oh, I guess it has mixed types |
2022-06-11 22:07:36 +0200 | <geekosaur> | you don't serialize during that patch except to compute how many bytes are to be skipped |
2022-06-11 22:08:24 +0200 | <geekosaur> | then you insert that into the AST, then you have it when serializing the AST. although this looks like it's generating code during parsing, which, well, this is why you don't do that |
2022-06-11 22:08:47 +0200 | <Bulby[m]> | I am not generating during parsing |
2022-06-11 22:08:48 +0200 | <geekosaur> | (IIRC [exa] described PHP doing this in reearly versions and discovering the hard way why it's a bad move) |
2022-06-11 22:08:58 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: Leaving) |
2022-06-11 22:09:09 +0200 | <Bulby[m]> | I am reusing my AST parser |
2022-06-11 22:09:38 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 22:10:52 +0200 | <geekosaur> | okay, so you're not blindly duplicating their code, which is generating during parsing (and is why they need to backpatch) |
2022-06-11 22:11:13 +0200 | <Bulby[m]> | I'm traversing the AST |
2022-06-11 22:11:18 +0200 | <Bulby[m]> | not "traversing" |
2022-06-11 22:11:24 +0200 | <Bulby[m]> | you know what I mean |
2022-06-11 22:11:48 +0200 | <Rembane> | Compiling? |
2022-06-11 22:12:15 +0200 | <geekosaur> | in a full development system you output a label at the target, output a reference to it at the point it's needed as a relocation entry, and let the linker resolve it |
2022-06-11 22:12:18 +0200 | <Bulby[m]> | yes |
2022-06-11 22:14:10 +0200 | <Bulby[m]> | a fun idea could be just `runPut` what I want to jump over, getting length of bytestring, then directly using `putLazyByteString` (which doesn't emit a length) |
2022-06-11 22:14:47 +0200 | <geekosaur> | right, that's basically my first suggestion |
2022-06-11 22:15:30 +0200 | <Bulby[m]> | ok, i'll do that then. |
2022-06-11 22:15:30 +0200 | <Bulby[m]> | it's probably unoptimized but w/e |
2022-06-11 22:15:34 +0200 | <geekosaur> | needs to be a little more clever than that because it may traverse other such relocations but at that point it doesn't care about them, only their lengths |
2022-06-11 22:15:47 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-06-11 22:15:58 +0200 | Vajb | (~Vajb@2001:999:580:7ad5:4d80:745:ec1c:305) |
2022-06-11 22:16:05 +0200 | <Bulby[m]> | if it traverses them then it will do the same thing |
2022-06-11 22:16:27 +0200 | <Bulby[m]> | because i'd be running a recursive call |
2022-06-11 22:16:29 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 22:16:30 +0200 | <geekosaur> | not the first time since it's not outputting them at that point |
2022-06-11 22:16:54 +0200 | <Bulby[m]> | what? |
2022-06-11 22:16:58 +0200 | <Bulby[m]> | i'm confused |
2022-06-11 22:17:50 +0200 | <geekosaur> | if (expr) { then_part } else { something; if (expr2) { ... } else { ... }; something_else; } -- while generating the size of the else part you don't need to do generation of the contained if/else |
2022-06-11 22:17:51 +0200 | alp | (~alp@user/alp) |
2022-06-11 22:17:58 +0200 | <geekosaur> | you only need that later. |
2022-06-11 22:18:43 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-06-11 22:19:03 +0200 | <Bulby[m]> | why not? it would contain a jump expr as well, and I could manage it in just one pass |
2022-06-11 22:19:09 +0200 | <geekosaur> | because you'll be throwing away the result while getting its length, it's a waste of time doing the whole size/fillin there |
2022-06-11 22:19:13 +0200 | nicbk | (~nicbk@user/nicbk) |
2022-06-11 22:19:34 +0200 | <geekosaur> | unless you provide a way to return all the fillins for nested jumps |
2022-06-11 22:19:36 +0200 | <Bulby[m]> | I am not throwing away the result, I said I would use `putLazyByteString` |
2022-06-11 22:20:08 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
2022-06-11 22:20:24 +0200 | dfg | (~dfg@user/dfg) (Quit: I hate quit messages.) |
2022-06-11 22:21:33 +0200 | dfg | (dfg@dfg.rocks) |
2022-06-11 22:21:33 +0200 | dfg | (dfg@dfg.rocks) (Changing host) |
2022-06-11 22:21:33 +0200 | dfg | (dfg@user/dfg) |
2022-06-11 22:22:03 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-06-11 22:22:03 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-06-11 22:22:03 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-06-11 22:24:15 +0200 | pavonia | (~user@user/siracusa) |
2022-06-11 22:24:33 +0200 | caubert | (~caubert@136.244.111.235) (Changing host) |
2022-06-11 22:24:33 +0200 | caubert | (~caubert@user/caubert) |
2022-06-11 22:28:31 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-06-11 22:35:15 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-06-11 22:45:44 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 248 seconds) |
2022-06-11 22:46:42 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2022-06-11 22:49:14 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Remote host closed the connection) |
2022-06-11 22:50:00 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Ping timeout: 248 seconds) |
2022-06-11 22:50:36 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-06-11 22:54:14 +0200 | <unit73e> | after some hiatus I'll continue my SDL engine/tutorial saga. I think it should be possible to make something completely declarative but I'm being super optimistic about it. |
2022-06-11 22:54:24 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 22:54:28 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Remote host closed the connection) |
2022-06-11 22:55:00 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 22:59:10 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) (Ping timeout: 250 seconds) |
2022-06-11 23:01:28 +0200 | jgeerds | (~jgeerds@55d45f48.access.ecotel.net) |
2022-06-11 23:07:40 +0200 | machinedgod | (~machinedg@66.244.246.252) (Ping timeout: 246 seconds) |
2022-06-11 23:08:36 +0200 | machinedgod | (~machinedg@66.244.246.252) |
2022-06-11 23:13:48 +0200 | gusbicalho | (~gusbicalh@2804:431:c7f4:8ec4:4ce7:6d2e:9f0c:a377) (Quit: Client closed) |
2022-06-11 23:23:19 +0200 | zincy | (~zincy@2a01:cb18:82de:bf00:70cc:2da1:ce4e:63a0) |
2022-06-11 23:33:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-06-11 23:34:58 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
2022-06-11 23:37:14 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-06-11 23:49:00 +0200 | acidjnk_new | (~acidjnk@p200300d0c7068b02e9c770e98d5298a4.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2022-06-11 23:49:21 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-06-11 23:49:59 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-06-11 23:53:00 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-06-11 23:56:45 +0200 | bilegeek | (~bilegeek@2600:1008:b014:4c38:487c:f230:6a2b:928b) (Remote host closed the connection) |
2022-06-11 23:57:11 +0200 | bilegeek | (~bilegeek@2600:1008:b014:4c38:487c:f230:6a2b:928b) |
2022-06-11 23:57:20 +0200 | cyphase | (~cyphase@user/cyphase) |