2021-10-06 00:00:01 +0200 | <Franciman> | i wonder, is there a way to mix strictness with this added modularity |
2021-10-06 00:00:36 +0200 | <Franciman> | lol awpr |
2021-10-06 00:01:10 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
2021-10-06 00:03:38 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-06 00:04:19 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-06 00:06:04 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds) |
2021-10-06 00:07:25 +0200 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection) |
2021-10-06 00:07:49 +0200 | ubert | (~Thunderbi@178.115.35.209.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2021-10-06 00:10:08 +0200 | rekahsoft | (~rekahsoft@2605:8d80:6e1:e79b:d89:2184:8ba7:bd43) (Ping timeout: 250 seconds) |
2021-10-06 00:17:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f81d:7133:81c9:b91d) |
2021-10-06 00:19:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-10-06 00:26:53 +0200 | acidjnk_new | (~acidjnk@p200300d0c703cb83c18eec9e6894a9d9.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-10-06 00:30:18 +0200 | emf | (~emf@2620:10d:c090:400::5:5481) (Ping timeout: 260 seconds) |
2021-10-06 00:30:52 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 00:30:52 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 00:30:52 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 00:35:19 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-06 00:38:39 +0200 | <cdsmith> | You ought to be able to derive Bounded for an ADT with all Bounded fields. GHC says it has to be an enumeration type or have only one constructor. Is there a reason I'm missing? |
2021-10-06 00:39:13 +0200 | <awpr> | https://hackage.haskell.org/package/finite-table `deriving Finite via Wrapped Generic MyADT` |
2021-10-06 00:39:14 +0200 | <geekosaur> | just because it's easier, I think |
2021-10-06 00:39:59 +0200 | <geekosaur> | but also possibly because you could argue about traversal order |
2021-10-06 00:40:42 +0200 | <cdsmith> | Bounded doesn't need a traversal order, does it?. Only a min and max bound. |
2021-10-06 00:41:46 +0200 | <cdsmith> | Well, I'm just being grumpy. I can write an instance. |
2021-10-06 00:42:14 +0200 | <geekosaur> | with only one field, that field specifies the order. with two, you can choose which order to increment the fields in |
2021-10-06 00:42:19 +0200 | <awpr> | ah yeah, that does seem to make sense even independently of a conversion to/from integers. for some reason I was thinking Bounded had an Enum superclass |
2021-10-06 00:42:39 +0200 | <geekosaur> | no, it just has some special behavior when combined with Enum |
2021-10-06 00:43:00 +0200 | <geekosaur> | (which is kinda sad as it should be split out, not just "special behavior") |
2021-10-06 00:43:03 +0200 | <cdsmith> | But two fields is fine if you have only one constructor? Or not? (I didn't try) |
2021-10-06 00:43:30 +0200 | <cdsmith> | > data Foo = Foo Int Int deriving (Bounded) |
2021-10-06 00:43:31 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘data’ |
2021-10-06 00:43:40 +0200 | <cdsmith> | Too bad |
2021-10-06 00:43:41 +0200 | <geekosaur> | use yahb (% prefix) |
2021-10-06 00:43:54 +0200 | <cdsmith> | % data Foo = Foo Int Int deriving (Bounded) |
2021-10-06 00:43:55 +0200 | <yahb> | cdsmith: |
2021-10-06 00:44:02 +0200 | <monochrom> | Hrm, the Haskell 2010 exact wording (section 11.3) may be thought of as leaving it open. It has prescribed what happens to an enumeration, and what happens to a single-ctor type. But it interestingly lacks wording for either "nothing else allowed" or "what other scenerios are allowed". |
2021-10-06 00:44:03 +0200 | <awpr> | so Finite would be useful if it should also be Enum, but it doesn't do anything for e.g. `data Thing = Thing Float Bool` |
2021-10-06 00:44:41 +0200 | <monochrom> | My conjecture is that the committee could not reach a consensus so they just agreed to say nothing. :) |
2021-10-06 00:44:43 +0200 | <cdsmith> | % data Bar = Bar1 Int | Bar2 Int deriving (Bounded) |
2021-10-06 00:44:43 +0200 | <yahb> | cdsmith: ; <interactive>:2:42: error:; * Can't make a derived instance of `Bounded Bar':; `Bar' must be an enumeration type (an enumeration consists of one or more nullary, non-GADT constructors); or; `Bar' must have precisely one constructor; * In the data declaration for `Bar' |
2021-10-06 00:44:46 +0200 | <awpr> | if I don't have an `instance Bounded (Wrapped Finite a)` I definitely should |
2021-10-06 00:45:02 +0200 | <cdsmith> | % data Baz = Baz1 | Baz2 |
2021-10-06 00:45:02 +0200 | <yahb> | cdsmith: |
2021-10-06 00:45:05 +0200 | CiaoSen | (~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-10-06 00:45:14 +0200 | <cdsmith> | % data Baz = Baz1 | Baz2 deriving (Bounded) |
2021-10-06 00:45:14 +0200 | <yahb> | cdsmith: |
2021-10-06 00:45:44 +0200 | <cdsmith> | Yep, time to get out the ghc-proposal writing pen, I guess. Except that's a lot of work... |
2021-10-06 00:46:16 +0200 | <awpr> | could just write a Generic instance, e.g. cribbing from `wrapped-generic-default` |
2021-10-06 00:46:45 +0200 | <cdsmith> | It's three lines of code to write a normal instance, though. Like I said, I'm being grumpy. :) |
2021-10-06 00:47:07 +0200 | <monochrom> | This one should be not too bad. "For multi-ctors, minBound = 1stctor minBound's, maxBound = lastctor maxBound's" is on par with the quality of writing of Haskell 2010. :) |
2021-10-06 00:47:09 +0200 | <awpr> | it's 300 lines of code to write 100 normal instances :) |
2021-10-06 00:47:15 +0200 | <cdsmith> | I mostly wondered if there was some good reason I was missing |
2021-10-06 00:47:48 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-10-06 00:48:22 +0200 | <monochrom> | I think something is fishy here. Because 11.2 Enum for example, there is wording explicitly saying "derivable for only such-and-such". |
2021-10-06 00:48:36 +0200 | <monochrom> | But no such wording for Bounded. |
2021-10-06 00:49:23 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 00:49:23 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 00:49:23 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 00:49:54 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-10-06 00:51:49 +0200 | yielduck | (~yielduck@176.120.238.10) (Remote host closed the connection) |
2021-10-06 00:52:06 +0200 | yielduck | (~yielduck@176.120.238.10) |
2021-10-06 00:53:37 +0200 | <cdsmith> | monochrom: I guess you could argue that the report just leaves the behavior unspecified. But it clearly doesn't specify a behavior, so I'm happier assuming the report makes it illegal than allowing undefined behavior so easily. |
2021-10-06 00:54:12 +0200 | hiruji | (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
2021-10-06 00:54:41 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-10-06 00:58:04 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-10-06 00:59:31 +0200 | <monochrom> | The other annoying part of Haskell 2010 is that even "data/newtype X = MkX Bool" is not eligible for deriving Enum. |
2021-10-06 01:00:16 +0200 | <cdsmith> | Yeah, makes sense for more than one field, but could be allowed for one field. |
2021-10-06 01:00:28 +0200 | <monochrom> | The stated condition is "only possible for enumerations". They didn't even kindly add "or single-ctor single-field where the field type has Enum". |
2021-10-06 01:01:17 +0200 | <monochrom> | Overall I sense that the committee was being very, very paranoid about this. |
2021-10-06 01:04:55 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-06 01:09:04 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 01:11:11 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 01:11:37 +0200 | <Cajun> | well what was the paranoia founded in? there must have been *some* reasoning, right? |
2021-10-06 01:12:31 +0200 | <geekosaur> | sadly I think the documentation about why the language committee made its decisions is long gone |
2021-10-06 01:12:55 +0200 | <geekosaur> | (and the 2010 docs would not help, this was copied straight from the H98 report) |
2021-10-06 01:18:14 +0200 | mestre | (~mestre@191.177.175.57) |
2021-10-06 01:21:34 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) (Remote host closed the connection) |
2021-10-06 01:21:50 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) |
2021-10-06 01:24:17 +0200 | max22- | (~maxime@2a01cb088335980036d4a1972afb126b.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-10-06 01:29:34 +0200 | hiruji | (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-10-06 01:30:24 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-10-06 01:30:58 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:d1f8:65da:debb:16ba) (Quit: Textual IRC Client: www.textualapp.com) |
2021-10-06 01:31:29 +0200 | theproffesor | (~theproffe@2601:282:847f:8010::c471) |
2021-10-06 01:31:29 +0200 | theproffesor | (~theproffe@2601:282:847f:8010::c471) (Changing host) |
2021-10-06 01:31:29 +0200 | theproffesor | (~theproffe@user/theproffesor) |
2021-10-06 01:32:59 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) (Remote host closed the connection) |
2021-10-06 01:33:39 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) |
2021-10-06 01:36:38 +0200 | theproffesor | (~theproffe@user/theproffesor) (Leaving) |
2021-10-06 01:40:51 +0200 | goepsilongo | (~chacho@2603-7000-ab00-62ed-e8e0-40c9-c788-8ef8.res6.spectrum.com) (Quit: Konversation terminated!) |
2021-10-06 01:41:08 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 250 seconds) |
2021-10-06 01:51:30 +0200 | srk | (~sorki@user/srk) (Ping timeout: 260 seconds) |
2021-10-06 01:52:33 +0200 | srk | (~sorki@user/srk) |
2021-10-06 01:59:30 +0200 | lbseale_ | lbseale |
2021-10-06 02:00:25 +0200 | <lbseale> | I am trying to read an input from stdin using Data.Text.IO, why would using `putStr` not show my prompt, but `putStrLn` show it? |
2021-10-06 02:00:35 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Remote host closed the connection) |
2021-10-06 02:00:44 +0200 | <lbseale> | When I use `putStr`, it only prints after the program is finished |
2021-10-06 02:01:40 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-06 02:02:18 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Client Quit) |
2021-10-06 02:02:21 +0200 | <lbseale> | And I only have this problem after I compile it with GHC, it does not occur if I run it with `runhaskell` |
2021-10-06 02:02:33 +0200 | <monochrom> | Buffering. |
2021-10-06 02:02:35 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-06 02:02:54 +0200 | <monochrom> | Use "hFlush stdout". (import System.IO) |
2021-10-06 02:03:49 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) (Read error: Connection reset by peer) |
2021-10-06 02:04:00 +0200 | <monochrom> | Or look under System.IO for "hSetBuffering". |
2021-10-06 02:04:04 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) |
2021-10-06 02:04:12 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-10-06 02:04:59 +0200 | <monochrom> | In a Unix-and-C course I pose a related puzzle to my students. |
2021-10-06 02:05:21 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 02:05:37 +0200 | <monochrom> | have a printf("hello"), then fork, then printf(" there\n"). Why do you see two hello's, not just one? |
2021-10-06 02:08:31 +0200 | <lbseale> | thank you very much! I used `hSetBuffering` and it did just what I wanted |
2021-10-06 02:09:35 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-10-06 02:13:20 +0200 | jespada | (~jespada@2803:9800:9842:7a62:2d4b:7b80:ce15:fc84) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-06 02:15:19 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-06 02:16:21 +0200 | jlamothe | (~jlamothe@104.158.48.100) |
2021-10-06 02:17:50 +0200 | <geekosaur> | and the reason it works with runhaskell (and ghci) is that those automatically turn off buffering |
2021-10-06 02:18:09 +0200 | <lbseale> | ah thanks geekosaur , I was wondering |
2021-10-06 02:21:47 +0200 | notzmv | (~zmv@user/notzmv) |
2021-10-06 02:22:23 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-06 02:23:58 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-10-06 02:26:37 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) (Remote host closed the connection) |
2021-10-06 02:49:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-06 02:51:26 +0200 | <zzz> | quick question: what's the function we use to turn a list into a list of same sized chunks? |
2021-10-06 02:51:45 +0200 | <geekosaur> | @index chunksOf |
2021-10-06 02:51:45 +0200 | <lambdabot> | bzzt |
2021-10-06 02:51:48 +0200 | <geekosaur> | bah |
2021-10-06 02:51:51 +0200 | <geekosaur> | :t chunksOf |
2021-10-06 02:51:53 +0200 | <lambdabot> | Int -> [e] -> [[e]] |
2021-10-06 02:52:19 +0200 | <geekosaur> | in Data.List.Split from the split package. also look there for other kinds of list splitters |
2021-10-06 02:52:22 +0200 | <zzz> | is that from Data.List? |
2021-10-06 02:52:26 +0200 | <zzz> | ah... ok |
2021-10-06 02:52:28 +0200 | <zzz> | Split |
2021-10-06 02:52:40 +0200 | <zzz> | that's what i was forgetting |
2021-10-06 02:55:28 +0200 | pgib | (~textual@173.38.117.88) (Ping timeout: 252 seconds) |
2021-10-06 03:05:25 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
2021-10-06 03:10:08 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-10-06 03:10:20 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2021-10-06 03:12:05 +0200 | xff0x | (~xff0x@2001:1a81:52e7:9700:89ea:128b:cbad:e425) (Ping timeout: 246 seconds) |
2021-10-06 03:13:24 +0200 | sleblanc | (~sleblanc@user/sleblanc) |
2021-10-06 03:14:01 +0200 | xff0x | (~xff0x@2001:1a81:5322:8500:eff4:1133:1236:ed4a) |
2021-10-06 03:16:47 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-06 03:21:07 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:733c:b68b:7b22:df97) |
2021-10-06 03:21:30 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 03:26:09 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-06 03:27:14 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 03:27:14 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 03:27:14 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 03:34:40 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2021-10-06 03:36:10 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
2021-10-06 03:38:12 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 03:38:12 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 03:38:12 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 03:38:37 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-10-06 03:38:47 +0200 | abrantesasf | (~abrantesa@187.36.170.211) (Remote host closed the connection) |
2021-10-06 03:42:52 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-10-06 03:44:02 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 03:56:22 +0200 | xiongxin | (~quassel@119.123.102.49) |
2021-10-06 04:06:28 +0200 | benin0369323016 | (~benin@183.82.205.238) (Ping timeout: 252 seconds) |
2021-10-06 04:07:32 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-10-06 04:10:18 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-10-06 04:11:25 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds) |
2021-10-06 04:11:50 +0200 | benin0369323016 | (~benin@183.82.176.241) |
2021-10-06 04:12:24 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-06 04:12:27 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-06 04:13:26 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 04:20:52 +0200 | ahappydeath_ | (~ahappydea@dsl-74-83-53-157.fuse.net) |
2021-10-06 04:25:48 +0200 | ahappydeath_ | (~ahappydea@dsl-74-83-53-157.fuse.net) (Ping timeout: 250 seconds) |
2021-10-06 04:29:44 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:7da6:2d3:65ff:ac76) (Ping timeout: 268 seconds) |
2021-10-06 04:34:32 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 04:34:32 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 04:34:32 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 04:38:30 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) |
2021-10-06 04:40:43 +0200 | yinghua | (~yinghua@181.228.40.183) (Quit: Leaving) |
2021-10-06 04:42:02 +0200 | terrorjack | (~terrorjac@static.3.200.12.49.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat) |
2021-10-06 04:43:17 +0200 | Null_A | (~null_a@2601:645:8700:2290:e8ac:2b75:e714:d893) (Ping timeout: 264 seconds) |
2021-10-06 04:47:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-06 04:53:13 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-10-06 04:54:04 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-06 04:56:09 +0200 | td_ | (~td@muedsl-82-207-238-165.citykom.de) (Ping timeout: 245 seconds) |
2021-10-06 04:58:10 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds) |
2021-10-06 04:58:10 +0200 | td_ | (~td@94.134.91.91) |
2021-10-06 04:59:07 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:3914:a7b1:2a0f:e9d8) |
2021-10-06 04:59:49 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-10-06 04:59:58 +0200 | cheater | (~Username@user/cheater) |
2021-10-06 05:03:35 +0200 | rkrishnan | (~user@2402:e280:215c:2cd:6d16:f9a5:49d8:1fa5) |
2021-10-06 05:08:38 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 05:08:38 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 05:08:38 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 05:14:38 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection) |
2021-10-06 05:14:54 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-06 05:15:08 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 05:15:22 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) |
2021-10-06 05:15:23 +0200 | _0x47 | (sid508683@id-508683.tinside.irccloud.com) (Read error: Connection reset by peer) |
2021-10-06 05:15:32 +0200 | _0x47 | (sid508683@id-508683.tinside.irccloud.com) |
2021-10-06 05:15:52 +0200 | kristjansson_ | (sid126207@id-126207.tinside.irccloud.com) (Read error: Connection reset by peer) |
2021-10-06 05:15:52 +0200 | agander_m | (sid407952@id-407952.tinside.irccloud.com) (Read error: Connection reset by peer) |
2021-10-06 05:15:54 +0200 | angerman | (sid209936@id-209936.ilkley.irccloud.com) (Read error: Connection reset by peer) |
2021-10-06 05:16:01 +0200 | agander_m | (sid407952@id-407952.tinside.irccloud.com) |
2021-10-06 05:16:03 +0200 | angerman | (sid209936@id-209936.ilkley.irccloud.com) |
2021-10-06 05:16:09 +0200 | kristjansson_ | (sid126207@id-126207.tinside.irccloud.com) |
2021-10-06 05:16:14 +0200 | codedmart | (codedmart@2600:3c01::f03c:92ff:fefe:8511) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2021-10-06 05:16:15 +0200 | astra` | (sid289983@user/amish) (Read error: Connection reset by peer) |
2021-10-06 05:16:17 +0200 | ProofTechnique | (sid79547@id-79547.ilkley.irccloud.com) (Read error: Connection reset by peer) |
2021-10-06 05:16:19 +0200 | nrr | (sid20938@id-20938.lymington.irccloud.com) (Read error: Connection reset by peer) |
2021-10-06 05:16:26 +0200 | ProofTechnique | (sid79547@id-79547.ilkley.irccloud.com) |
2021-10-06 05:16:27 +0200 | astra` | (sid289983@user/amish) |
2021-10-06 05:16:28 +0200 | nrr | (sid20938@id-20938.lymington.irccloud.com) |
2021-10-06 05:16:30 +0200 | codedmart | (codedmart@2600:3c01::f03c:92ff:fefe:8511) |
2021-10-06 05:18:08 +0200 | fendor[m] | (~fendormat@2001:470:69fc:105::fcbd) (Ping timeout: 265 seconds) |
2021-10-06 05:18:08 +0200 | YoungChiefBTW | (~youngchie@user/youngchiefbtw) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | Topik[m] | (~topikmatr@2001:470:69fc:105::a082) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | lwe[m] | (~dendrumat@2001:470:69fc:105::2f9b) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | ericson23141 | (~ericson23@2001:470:69fc:105::70c) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | rosariopulella[m | (~rosariopu@2001:470:69fc:105::a57) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | alexfmpe[m] | (~alexfmpem@2001:470:69fc:105::38ba) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 265 seconds) |
2021-10-06 05:18:37 +0200 | MatrixTravelerb4 | (~voyagert2@2001:470:69fc:105::22) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | maerwald[m] | (~maerwaldm@user/maerwald) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | dualinverter[m] | (~dualinver@2001:470:69fc:105::16a7) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | Drew[m] | (~drewefenw@2001:470:69fc:105::c8c4) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | psydroid | (~psydroid@user/psydroid) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | lieven | (~mal@ns2.wyrd.be) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | greenbourne277 | (~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | mstruebing | (~maex@2001:41d0:8:93c7::1) (Ping timeout: 265 seconds) |
2021-10-06 05:18:38 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) (Ping timeout: 265 seconds) |
2021-10-06 05:19:03 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) |
2021-10-06 05:19:06 +0200 | carmysilna | (~brightly-@2001:470:69fc:105::2190) (Ping timeout: 265 seconds) |
2021-10-06 05:19:06 +0200 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 265 seconds) |
2021-10-06 05:19:07 +0200 | hjulle[m] | (~hjullemat@2001:470:69fc:105::1dd) (Ping timeout: 265 seconds) |
2021-10-06 05:19:07 +0200 | hsiktas[m] | (~hsiktasma@2001:470:69fc:105::30d4) (Ping timeout: 265 seconds) |
2021-10-06 05:19:07 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) (Ping timeout: 265 seconds) |
2021-10-06 05:19:07 +0200 | jophish | (~jophish@2001:470:69fc:105::670) (Ping timeout: 265 seconds) |
2021-10-06 05:19:07 +0200 | lieven | (~mal@ns2.wyrd.be) |
2021-10-06 05:19:11 +0200 | mstruebing | (~maex@2001:41d0:8:93c7::1) |
2021-10-06 05:20:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-10-06 05:20:26 +0200 | alx741 | (~alx741@186.178.109.65) (Quit: alx741) |
2021-10-06 05:21:38 +0200 | YoungChiefBTW | (~youngchie@2001:470:69fc:105::214c) |
2021-10-06 05:21:59 +0200 | hsiktas[m] | (~hsiktasma@2001:470:69fc:105::30d4) |
2021-10-06 05:22:09 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
2021-10-06 05:22:30 +0200 | rosariopulella[m | (~rosariopu@2001:470:69fc:105::a57) |
2021-10-06 05:22:32 +0200 | lwe[m] | (~dendrumat@2001:470:69fc:105::2f9b) |
2021-10-06 05:23:15 +0200 | psydroid | (~psydroid@user/psydroid) |
2021-10-06 05:24:18 +0200 | MatrixTravelerb4 | (~voyagert2@2001:470:69fc:105::22) |
2021-10-06 05:25:40 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
2021-10-06 05:25:57 +0200 | mbuf | (~Shakthi@223.178.119.120) |
2021-10-06 05:27:46 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
2021-10-06 05:30:47 +0200 | greenbourne277 | (~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0) |
2021-10-06 05:32:13 +0200 | fendor[m] | (~fendormat@2001:470:69fc:105::fcbd) |
2021-10-06 05:32:39 +0200 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) |
2021-10-06 05:33:03 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) |
2021-10-06 05:33:08 +0200 | Drew[m] | (~drewefenw@2001:470:69fc:105::c8c4) |
2021-10-06 05:34:26 +0200 | alexfmpe[m] | (~alexfmpem@2001:470:69fc:105::38ba) |
2021-10-06 05:35:41 +0200 | Topik[m] | (~topikmatr@2001:470:69fc:105::a082) |
2021-10-06 05:36:15 +0200 | ericson23141 | (~ericson23@2001:470:69fc:105::70c) |
2021-10-06 05:36:30 +0200 | dualinverter[m] | (~dualinver@2001:470:69fc:105::16a7) |
2021-10-06 05:38:07 +0200 | carmysilna | (~brightly-@2001:470:69fc:105::2190) |
2021-10-06 05:38:10 +0200 | hjulle[m] | (~hjullemat@2001:470:69fc:105::1dd) |
2021-10-06 05:38:58 +0200 | jophish | (~jophish@2001:470:69fc:105::670) |
2021-10-06 05:39:29 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-10-06 05:40:19 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) |
2021-10-06 05:41:20 +0200 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) |
2021-10-06 05:46:50 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 250 seconds) |
2021-10-06 05:48:13 +0200 | sleblanc | (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
2021-10-06 05:52:09 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-10-06 05:52:18 +0200 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-10-06 05:52:34 +0200 | YoungChiefBTW | (~youngchie@2001:470:69fc:105::214c) (Changing host) |
2021-10-06 05:52:34 +0200 | YoungChiefBTW | (~youngchie@user/youngchiefbtw) |
2021-10-06 05:54:33 +0200 | Psybur | (~Psybur@mobile-166-170-32-197.mycingular.net) (Remote host closed the connection) |
2021-10-06 05:58:14 +0200 | xiongxin | (~quassel@119.123.102.49) (Ping timeout: 245 seconds) |
2021-10-06 05:59:13 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 252 seconds) |
2021-10-06 06:09:32 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds) |
2021-10-06 06:09:34 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 06:12:36 +0200 | emf | (~emf@2620:10d:c090:400::5:b405) |
2021-10-06 06:17:39 +0200 | shriekingnoise | (~shrieking@186.137.144.80) (Ping timeout: 268 seconds) |
2021-10-06 06:23:06 +0200 | emf | (~emf@2620:10d:c090:400::5:b405) (Ping timeout: 260 seconds) |
2021-10-06 06:26:39 +0200 | ByronJohnson | (~bairyn@mail.digitalkingdom.org) (Remote host closed the connection) |
2021-10-06 06:29:54 +0200 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-10-06 06:31:40 +0200 | dajoer | (~david@user/gvx) |
2021-10-06 06:42:28 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-06 06:58:30 +0200 | ByronJohnson | (~bairyn@mail.digitalkingdom.org) |
2021-10-06 07:04:25 +0200 | Guest41 | (~Guest41@l37-195-64-169.novotelecom.ru) |
2021-10-06 07:09:20 +0200 | Guest41 | vins |
2021-10-06 07:12:31 +0200 | turlando | (~turlando@user/turlando) (Read error: Connection reset by peer) |
2021-10-06 07:13:47 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-10-06 07:16:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-06 07:17:05 +0200 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
2021-10-06 07:17:05 +0200 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
2021-10-06 07:17:05 +0200 | turlando | (~turlando@user/turlando) |
2021-10-06 07:22:59 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-10-06 07:24:41 +0200 | Heisen | (~Heisen@77.240.67.20) |
2021-10-06 07:26:11 +0200 | chomwitt | (~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) |
2021-10-06 07:28:51 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-06 07:29:55 +0200 | vins | (~Guest41@l37-195-64-169.novotelecom.ru) (Quit: Client closed) |
2021-10-06 07:30:09 +0200 | jtomas | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
2021-10-06 07:31:35 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-10-06 07:33:18 +0200 | phma | (~phma@host-67-44-208-158.hnremote.net) (Read error: Connection reset by peer) |
2021-10-06 07:33:55 +0200 | Guest20 | (~Guest20@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds) |
2021-10-06 07:34:26 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-10-06 07:34:28 +0200 | phma | (~phma@host-67-44-208-228.hnremote.net) |
2021-10-06 07:39:50 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-10-06 07:42:32 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
2021-10-06 07:47:00 +0200 | Heisen | (~Heisen@77.240.67.20) (Quit: Client closed) |
2021-10-06 07:49:18 +0200 | fef | (~thedawn@user/thedawn) |
2021-10-06 07:50:14 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
2021-10-06 07:50:29 +0200 | ubert | (~Thunderbi@77.119.164.97.wireless.dyn.drei.com) |
2021-10-06 07:50:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-06 07:57:37 +0200 | mei | (~mei@user/mei) |
2021-10-06 08:02:29 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2021-10-06 08:03:05 +0200 | xiongxin | (~quassel@119.123.102.49) |
2021-10-06 08:08:08 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-10-06 08:10:41 +0200 | Guest82 | (~Guest82@l37-195-64-169.novotelecom.ru) |
2021-10-06 08:17:08 +0200 | vinstre | (~vinstre@l37-195-64-169.novotelecom.ru) |
2021-10-06 08:21:46 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-10-06 08:23:08 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-10-06 08:25:09 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:285c:5722:2a44:fb76) |
2021-10-06 08:28:14 +0200 | <vinstre> | !cloakme |
2021-10-06 08:29:17 +0200 | sshine | gives vinstre a cloak and wizard hat |
2021-10-06 08:29:40 +0200 | <sshine> | you've been initiated! |
2021-10-06 08:30:40 +0200 | <tomsmeding> | monochrom: okay yeah, that point of how untyped lambda calculus gives you power by essentially allowing you to unify a and a->a is kind of compelling |
2021-10-06 08:31:29 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-06 08:32:32 +0200 | Axman6 | runs over and wraps vinstre in his wizard cloak - "You are safe now, they won't find you here" |
2021-10-06 08:32:45 +0200 | <tomsmeding> | still, that's within a functional world. If you go claiming that even in the non-functional world, you need self-reference to do anything (which I guess is true for the right definition of self-reference, with the labels discussed earlier), you don't even need this functional argument anymore: your FPL interpreter runs on a very imperative processor :p |
2021-10-06 08:33:13 +0200 | vysn | (~vysn@user/vysn) |
2021-10-06 08:35:21 +0200 | vinstre | (~vinstre@l37-195-64-169.novotelecom.ru) () |
2021-10-06 08:35:37 +0200 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) |
2021-10-06 08:35:56 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-10-06 08:36:18 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-10-06 08:41:46 +0200 | libertyprime | (~libertypr@118.149.75.34) |
2021-10-06 08:43:08 +0200 | <libertyprime> | Hey guys. need some help figuring out why I am getting "Could not find module ‘Data.Aeson’". Here is my code: http://github.com/semiosis/ilambda/blob/master/hs-stack/app/Main.hs |
2021-10-06 08:43:23 +0200 | <libertyprime> | I have tried running hlint through stack, and that checks out fine with no errors. |
2021-10-06 08:43:37 +0200 | yielduck | (~yielduck@176.120.238.10) (Ping timeout: 256 seconds) |
2021-10-06 08:44:02 +0200 | xiongxin | (~quassel@119.123.102.49) (Ping timeout: 265 seconds) |
2021-10-06 08:44:08 +0200 | <libertyprime> | However I am using hie which is providing the error through my LSP client |
2021-10-06 08:44:44 +0200 | <libertyprime> | I have tried creating both cabal and stack projects, the stack project which defers to cabal anyway for the adding of the dependency |
2021-10-06 08:44:58 +0200 | <jneira[m]> | i hope it will be haskell-language-server(hls) and not hie :-) |
2021-10-06 08:45:31 +0200 | <libertyprime> | Oh, sorry, you're right. I'm using hls |
2021-10-06 08:45:52 +0200 | <jneira[m]> | hie was the predecessor of hls, still is mentioning in some docs and config files though |
2021-10-06 08:47:11 +0200 | chomwitt | (~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
2021-10-06 08:47:12 +0200 | <jneira[m]> | ok, i think maybe you are hitting https://github.com/haskell/haskell-language-server/issues/366 |
2021-10-06 08:47:48 +0200 | <jneira[m]> | so you need to succesfully build the package with `stack clean && stack build`, before opening it in the editor |
2021-10-06 08:48:26 +0200 | Guest82 | (~Guest82@l37-195-64-169.novotelecom.ru) (Quit: Client closed) |
2021-10-06 08:48:53 +0200 | <jneira[m]> | if the lib was not built or contain compile errors when opening the editor, tests and executables cant be loaded |
2021-10-06 08:49:10 +0200 | <jneira[m]> | 😥 |
2021-10-06 08:50:43 +0200 | <jneira[m]> | it should work for cabal, but to make hls picks cabal to load the project you have to delete/rename stack.yaml or create a explicit `hie.yaml` config file telling hls using cabal |
2021-10-06 08:53:26 +0200 | <libertyprime> | jneira[m]: thank you very much for this info. extremely helpful. i will try again for cabal exclusively. i have a bit of my own legacy scripts. wondering now if i can avoid all of this by using nix |
2021-10-06 08:54:04 +0200 | <jneira[m]> | well you will avoid some issues and will have some new ones :-D |
2021-10-06 08:55:07 +0200 | <jneira[m]> | but that is the fate of programming i suppose, at least the new ones could be more interesting :-P |
2021-10-06 08:56:28 +0200 | <libertyprime> | ah hell. yeah. upon beginning working on my project as you can see with haskell, and an otherwise sexy emacs setup, i have realised getting over this hill is sooooo worth it. i had a glimpse at basically using this hacky as project with my shell interop working inside haskell. ill give my setup some more work tonight. just want hls to be g. |
2021-10-06 08:58:32 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-10-06 09:00:35 +0200 | <libertyprime> | jneira[m]: how important is the linting to the workings of hls? if i ignore the issue will hls function normally areas? or is the linter coupled with other things such as code actions? |
2021-10-06 09:00:39 +0200 | <libertyprime> | https://asciinema.org/a/v6HGLeIDtQju4qQIBsurRRnsh |
2021-10-06 09:01:31 +0200 | <jneira[m]> | it is totally optional and you can disable it via configuration |
2021-10-06 09:02:35 +0200 | <libertyprime> | oh, perfect. :) i have something that works well enough then |
2021-10-06 09:02:39 +0200 | <jneira[m]> | https://haskell-language-server.readthedocs.io/en/latest/configuration.html#generic-plugin-configu… |
2021-10-06 09:02:42 +0200 | <libertyprime> | thanks. not going to test fate |
2021-10-06 09:03:04 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) |
2021-10-06 09:03:04 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 09:03:04 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) |
2021-10-06 09:03:13 +0200 | <libertyprime> | do you want to see some haskell pick up lines? |
2021-10-06 09:03:15 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 09:03:40 +0200 | <jneira[m]> | so `haskell.plugin.hlint.globalOn: false`should make it be silenced |
2021-10-06 09:04:25 +0200 | <jneira[m]> | not sure how to set it in emacs, lsp-haskell plugin docs might help you |
2021-10-06 09:07:22 +0200 | michalz | (~michalz@185.246.204.94) |
2021-10-06 09:13:41 +0200 | azeem | (~azeem@2a00:801:23d:c203:2f8f:c97c:ce0f:f54f) (Read error: Connection reset by peer) |
2021-10-06 09:13:47 +0200 | kuribas | (~user@ptr-25vy0i833ltdcqizn0k.18120a2.ip6.access.telenet.be) |
2021-10-06 09:14:06 +0200 | azeem | (~azeem@2a00:801:23d:c203:2f8f:c97c:ce0f:f54f) |
2021-10-06 09:17:08 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-10-06 09:19:04 +0200 | arahael | (~arahael@118.211.178.62) (Quit: WeeChat 2.7.1) |
2021-10-06 09:20:05 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-10-06 09:21:14 +0200 | chomwitt | (~chomwitt@94.66.61.137) |
2021-10-06 09:22:32 +0200 | tremon | (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
2021-10-06 09:22:39 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-10-06 09:22:44 +0200 | azeem | (~azeem@2a00:801:23d:c203:2f8f:c97c:ce0f:f54f) (Read error: Connection reset by peer) |
2021-10-06 09:23:27 +0200 | slavaqq | (~slavaqq@sdmail.sdserver.cz) |
2021-10-06 09:24:03 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) |
2021-10-06 09:30:51 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-06 09:37:32 +0200 | ubert | (~Thunderbi@77.119.164.97.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
2021-10-06 09:37:32 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 09:39:51 +0200 | ub | ubert |
2021-10-06 09:42:27 +0200 | dextaa | (~DV@user/dextaa) (Ping timeout: 240 seconds) |
2021-10-06 09:47:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-06 09:49:37 +0200 | chele | (~chele@user/chele) |
2021-10-06 09:52:36 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-10-06 09:55:34 +0200 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-10-06 09:55:35 +0200 | Heisen | (~Heisen@77.240.67.20) |
2021-10-06 09:56:40 +0200 | jtomas | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Remote host closed the connection) |
2021-10-06 09:58:16 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2021-10-06 09:59:04 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) |
2021-10-06 09:59:05 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 09:59:05 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) |
2021-10-06 10:01:32 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-10-06 10:02:08 +0200 | Guest20 | (~Guest20@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-10-06 10:04:38 +0200 | <Guest20> | How would I take an input list in HSpec and compare it to an output list while also describing what each comparison means (through a list of descriptions) ? |
2021-10-06 10:05:14 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2021-10-06 10:05:15 +0200 | <Guest20> | I guess I could just compare the lists but that would waste a lot of the information |
2021-10-06 10:05:57 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-10-06 10:06:01 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) |
2021-10-06 10:06:01 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 10:06:01 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) |
2021-10-06 10:08:02 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2021-10-06 10:08:39 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) |
2021-10-06 10:08:39 +0200 | neurocyte013288 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 10:08:39 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) |
2021-10-06 10:09:06 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-06 10:10:48 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.207) |
2021-10-06 10:10:49 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 10:10:49 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-10-06 10:12:22 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2021-10-06 10:13:18 +0200 | neurocyte013288 | (~neurocyte@user/neurocyte) (Ping timeout: 265 seconds) |
2021-10-06 10:13:38 +0200 | notzmv | (~zmv@user/notzmv) |
2021-10-06 10:14:14 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-06 10:15:10 +0200 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-10-06 10:18:46 +0200 | wonko | (~wjc@62.115.229.50) |
2021-10-06 10:19:19 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.207) |
2021-10-06 10:19:19 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 10:19:19 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-10-06 10:19:37 +0200 | xiongxin | (~quassel@119.123.102.49) |
2021-10-06 10:20:59 +0200 | acidjnk_new | (~acidjnk@p200300d0c703cb14e484f2ea659578d3.dip0.t-ipconnect.de) |
2021-10-06 10:23:03 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2021-10-06 10:23:20 +0200 | Heisen | (~Heisen@77.240.67.20) (Quit: Client closed) |
2021-10-06 10:31:27 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-10-06 10:34:41 +0200 | phma | (~phma@host-67-44-208-228.hnremote.net) (Read error: Connection reset by peer) |
2021-10-06 10:35:34 +0200 | phma | (~phma@host-67-44-209-33.hnremote.net) |
2021-10-06 10:52:29 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-10-06 10:59:47 +0200 | Guest55 | (~Guest55@l37-195-64-169.novotelecom.ru) |
2021-10-06 11:00:07 +0200 | vinstre | (~vinstre@l37-195-64-169.novotelecom.ru) |
2021-10-06 11:00:21 +0200 | ubert1 | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 11:02:31 +0200 | <Guest20> | I _almost_ figured it out. now I just need a way to run a [IO ()] |
2021-10-06 11:02:36 +0200 | ubert | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
2021-10-06 11:02:37 +0200 | ubert1 | ubert |
2021-10-06 11:02:49 +0200 | <Guest20> | this sounds like I'm writing garbage haskell (and I probably am) |
2021-10-06 11:03:49 +0200 | <merijn> | Guest20: Sounds like you want sequence/sequence_ |
2021-10-06 11:04:01 +0200 | <merijn> | Guest20: Or, more likely: mapM_ |
2021-10-06 11:04:04 +0200 | <merijn> | :t sequence |
2021-10-06 11:04:05 +0200 | <lambdabot> | (Traversable t, Monad m) => t (m a) -> m (t a) |
2021-10-06 11:04:06 +0200 | <merijn> | :t sequence_ |
2021-10-06 11:04:07 +0200 | <lambdabot> | (Foldable t, Monad m) => t (m a) -> m () |
2021-10-06 11:04:11 +0200 | <merijn> | :t mapM_ |
2021-10-06 11:04:12 +0200 | <lambdabot> | (Foldable t, Monad m) => (a -> m b) -> t a -> m () |
2021-10-06 11:04:31 +0200 | <kuribas> | merijn: traverse_ |
2021-10-06 11:04:54 +0200 | <Guest20> | :t traverse_ |
2021-10-06 11:04:55 +0200 | <lambdabot> | (Foldable t, Applicative f) => (a -> f b) -> t a -> f () |
2021-10-06 11:05:22 +0200 | <Guest20> | ok so sequence_ it is |
2021-10-06 11:05:51 +0200 | <Guest20> | what doc do I need to read to be aware of this? x) |
2021-10-06 11:06:25 +0200 | <kuribas> | Guest20: base :) |
2021-10-06 11:06:46 +0200 | <kuribas> | https://hackage.haskell.org/package/base |
2021-10-06 11:07:18 +0200 | <kuribas> | Guest20: if it's monadic, it'll be probably in Control.Monad or Control.Applicative. |
2021-10-06 11:07:50 +0200 | <kuribas> | well traverse_ is in Data.Foldable. |
2021-10-06 11:08:02 +0200 | <kuribas> | maybe just ask here :) |
2021-10-06 11:08:05 +0200 | <merijn> | Guest20: Foldable/Traversable are important enough that you usually encounter them fairly quickly |
2021-10-06 11:08:25 +0200 | <Guest20> | kuribas: thank you that means a lot :) |
2021-10-06 11:08:35 +0200 | <merijn> | Guest20: In general, skimming the module list of "base" and skimming some random modules in it every few weeks is a good way to discover a lot of neat stuff :) |
2021-10-06 11:08:35 +0200 | vinstre | (~vinstre@l37-195-64-169.novotelecom.ru) () |
2021-10-06 11:09:05 +0200 | <kuribas> | When I started learning haskell I went over every function in the prelude. |
2021-10-06 11:09:30 +0200 | vinstre | (~vinstre@l37-195-64-169.novotelecom.ru) |
2021-10-06 11:09:31 +0200 | qwedfg_ | (~qwedfg@user/qwedfg) (Remote host closed the connection) |
2021-10-06 11:10:54 +0200 | qwedfg | (~qwedfg@user/qwedfg) |
2021-10-06 11:12:14 +0200 | <kuribas> | but you don't need to memorise base, just skimming as merijn said, so you know what is there, and can come back later to look it up. |
2021-10-06 11:12:41 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) |
2021-10-06 11:13:07 +0200 | vinstre | (~vinstre@l37-195-64-169.novotelecom.ru) () |
2021-10-06 11:14:14 +0200 | vinstre | (~vinstre@user/vinstre) |
2021-10-06 11:14:23 +0200 | arahael | (~arahael@118.211.178.62) |
2021-10-06 11:14:27 +0200 | <arahael> | join #haskell-offtopic |
2021-10-06 11:14:42 +0200 | Guest55 | (~Guest55@l37-195-64-169.novotelecom.ru) (Quit: Client closed) |
2021-10-06 11:14:47 +0200 | <arahael> | Uh... Yes.... I'm advertising a channel, sorry guys! |
2021-10-06 11:15:01 +0200 | arahael | types it correctly, this time. |
2021-10-06 11:15:02 +0200 | <kuribas> | free monads! |
2021-10-06 11:16:58 +0200 | <Guest20> | TIL I can't do IO inside an HSpec describe block |
2021-10-06 11:17:27 +0200 | <Guest20> | the docs say I just use before_ |
2021-10-06 11:18:16 +0200 | <Guest20> | but I'm not just trying to flush a database somewhere, I want to read a file and test with it |
2021-10-06 11:20:54 +0200 | <dminuoso> | Of course you can |
2021-10-06 11:21:43 +0200 | <dminuoso> | describe :: HasCallStack => String -> SpecWith a -> SpecWith a |
2021-10-06 11:21:46 +0200 | <dminuoso> | type SpecWith a = SpecM a () |
2021-10-06 11:21:55 +0200 | <dminuoso> | runIO :: IO r -> SpecM a r |
2021-10-06 11:23:09 +0200 | <Guest20> | but ghc complains that it couldn't match type IO with SpecWith o_o |
2021-10-06 11:23:29 +0200 | <Guest20> | https://paste.tomsmeding.com/YgN1ODrh |
2021-10-06 11:24:30 +0200 | <Guest20> | I only get it on getDirectoryContents |
2021-10-06 11:24:44 +0200 | <dminuoso> | Guest20: Use `runIO` |
2021-10-06 11:26:06 +0200 | <merijn> | I find hspec's types entirely undecipherable |
2021-10-06 11:26:19 +0200 | <dminuoso> | Well they are clearly not undecipherable. |
2021-10-06 11:26:24 +0200 | <dminuoso> | You probably meant annoying to decipher. |
2021-10-06 11:26:45 +0200 | <dminuoso> | Normally I wouldn't care, but I expect more language precision from you, merijn. |
2021-10-06 11:27:54 +0200 | <merijn> | They are undecipherable to me, because by the 2nd indirection of clicking through things I run out of motivation/care and give up |
2021-10-06 11:30:06 +0200 | <arahael> | merijn: We need more people like you here. :) |
2021-10-06 11:32:49 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 11:33:41 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 265 seconds) |
2021-10-06 11:34:00 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-06 11:34:38 +0200 | slavaqq | (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed) |
2021-10-06 11:34:56 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 11:35:04 +0200 | <kuribas> | haskellers have a tendency to overcomplicate things. |
2021-10-06 11:35:17 +0200 | <kuribas> | where it's the opposite in clojure, they oversimplify things. |
2021-10-06 11:35:44 +0200 | <arahael> | One can't overly-simplify. |
2021-10-06 11:35:46 +0200 | oxide | (~lambda@user/oxide) |
2021-10-06 11:35:51 +0200 | cfricke | (~cfricke@user/cfricke) (Client Quit) |
2021-10-06 11:36:04 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-06 11:36:47 +0200 | <kuribas> | yes, one can. By pushing complexity around. |
2021-10-06 11:36:55 +0200 | sm2n_ | sm2n |
2021-10-06 11:38:26 +0200 | <kuribas> | then you get a seemingly very simple solution, only you have to deal later with the consequences. |
2021-10-06 11:38:32 +0200 | <merijn> | I mean it seems weird to demand "more precise" natural language about subjective statements |
2021-10-06 11:39:04 +0200 | <kuribas> | Like in clojure requiring a huge testsuite if you want to get some degree of robustness. |
2021-10-06 11:39:37 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-10-06 11:40:46 +0200 | <kuribas> | or like using nil everywhere, look we got rid of those pesky Maybe's! |
2021-10-06 11:44:49 +0200 | <dminuoso> | I think a major issue is that programmers in general have a misconception about what abstraction is, and when to use it. |
2021-10-06 11:44:56 +0200 | <dminuoso> | To quote Dijkstra "The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise" |
2021-10-06 11:45:07 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-06 11:45:32 +0200 | <dminuoso> | More often than not, programmers make vague things and label it "an abstraction" for an increase in perceived professionality |
2021-10-06 11:45:44 +0200 | benin03693230163 | (~benin@183.82.176.241) |
2021-10-06 11:46:25 +0200 | <kuribas> | OO design patterns... |
2021-10-06 11:47:24 +0200 | benin0369323016 | (~benin@183.82.176.241) (Ping timeout: 245 seconds) |
2021-10-06 11:47:25 +0200 | benin03693230163 | benin0369323016 |
2021-10-06 11:47:41 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-10-06 11:48:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-10-06 11:49:36 +0200 | libertyprime | (~libertypr@118.149.75.34) (Quit: leaving) |
2021-10-06 11:49:58 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-10-06 11:50:56 +0200 | chomwitt | (~chomwitt@94.66.61.137) (Ping timeout: 265 seconds) |
2021-10-06 11:53:07 +0200 | robosexual | (~spaceoyst@88.85.216.62) |
2021-10-06 11:54:48 +0200 | koishi_ | (~user@2001:da8:d800:611:95e1:c9a3:1a48:f791) |
2021-10-06 11:55:12 +0200 | <koishi_> | Is it possible to enable 'RebindableSyntax' locally? |
2021-10-06 11:57:29 +0200 | <koishi_> | Hmm, I have to move some functions into a separate module anyways due to 'import'... |
2021-10-06 11:58:02 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-10-06 11:58:31 +0200 | koishi_ | koishi` |
2021-10-06 11:59:00 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-06 11:59:18 +0200 | koishi` | (~user@2001:da8:d800:611:95e1:c9a3:1a48:f791) () |
2021-10-06 12:00:41 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-06 12:00:50 +0200 | <Guest20> | Is it normal for https://hackage.haskell.org/package/megaparsec-9.2.0/docs/Text-Megaparsec-Char-Lexer.html#v:charLi… |
2021-10-06 12:00:53 +0200 | ormaaj | (~ormaaj@user/ormaaj) |
2021-10-06 12:01:02 +0200 | <Guest20> | to error out on parsing "\/" ? |
2021-10-06 12:01:12 +0200 | <Guest20> | lexical error in string/character literal at character '/' |
2021-10-06 12:01:46 +0200 | <Guest20> | there are no issues with other escape chars like \n, \t ... |
2021-10-06 12:02:21 +0200 | <Guest20> | is there something specific about haskell conventions that makes this possible? |
2021-10-06 12:05:10 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-06 12:13:17 +0200 | xff0x | (~xff0x@2001:1a81:5322:8500:eff4:1133:1236:ed4a) (Ping timeout: 264 seconds) |
2021-10-06 12:13:51 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) (Ping timeout: 245 seconds) |
2021-10-06 12:16:37 +0200 | jtomas | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) |
2021-10-06 12:17:45 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 12:19:16 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 12:19:56 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 12:20:57 +0200 | <dminuoso> | Guest20: I dont quite understand the problem. |
2021-10-06 12:21:04 +0200 | <dminuoso> | Can you provide the input and the code you're using? |
2021-10-06 12:21:40 +0200 | <Guest20> | the code is simply `parseTest charLiteral "\/"` |
2021-10-06 12:21:46 +0200 | <Guest20> | on ghci |
2021-10-06 12:21:59 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2021-10-06 12:22:39 +0200 | azeem | (~azeem@2a00:801:238:7b15:4e2a:7c39:18f9:6354) |
2021-10-06 12:23:02 +0200 | azeem | (~azeem@2a00:801:238:7b15:4e2a:7c39:18f9:6354) (Read error: Connection reset by peer) |
2021-10-06 12:23:38 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) |
2021-10-06 12:23:47 +0200 | <Guest20> | dminuoso: trying `parseTest charLiteral "\n" doesn't throw a parse error |
2021-10-06 12:23:59 +0200 | <Guest20> | (this is Megaparsec) |
2021-10-06 12:25:13 +0200 | <dminuoso> | % import Data.Char |
2021-10-06 12:25:13 +0200 | <yahb> | dminuoso: |
2021-10-06 12:25:30 +0200 | <dminuoso> | % readLitChar "\/" |
2021-10-06 12:25:30 +0200 | <yahb> | dminuoso: ; <interactive>:6:15: error: lexical error in string/character literal at character '/' |
2021-10-06 12:25:51 +0200 | <dminuoso> | Guest20: So yeah, megaparsec ends up using readLitChar as per note: |
2021-10-06 12:26:09 +0200 | <dminuoso> | "The literal character is parsed according to the grammar rules defined in the Haskell report." |
2021-10-06 12:26:52 +0200 | <dminuoso> | What this essentially means is: |
2021-10-06 12:26:58 +0200 | <dminuoso> | "\/" is not a valid haskell string. |
2021-10-06 12:27:34 +0200 | <dminuoso> | Because \/ is not considered a valid character according to the grammar rules defined in the Haskell report. |
2021-10-06 12:27:48 +0200 | <dminuoso> | More to the point: |
2021-10-06 12:27:58 +0200 | <dminuoso> | % '\/' -- is not a valid haskell character |
2021-10-06 12:27:59 +0200 | <yahb> | dminuoso: ; <interactive>:9:3: error: lexical error in string/character literal at character '/' |
2021-10-06 12:28:03 +0200 | <dminuoso> | Guest20: Does this make sense? |
2021-10-06 12:28:37 +0200 | olibiera | (~olibiera@194.117.40.220) |
2021-10-06 12:28:40 +0200 | <Guest20> | is makes perfect sense but the implications scare me |
2021-10-06 12:28:53 +0200 | <Guest20> | how would replace readLitCHar |
2021-10-06 12:29:08 +0200 | <Guest20> | s/would/would I |
2021-10-06 12:29:35 +0200 | <dminuoso> | Well you have to define what this would even mean to you. |
2021-10-06 12:29:47 +0200 | <dminuoso> | But really, you can simply do this yourself. |
2021-10-06 12:29:49 +0200 | <dminuoso> | Use lookahead |
2021-10-06 12:30:13 +0200 | <dminuoso> | *lookAhead |
2021-10-06 12:30:22 +0200 | <Guest20> | Alright I have some reading to do |
2021-10-06 12:30:42 +0200 | <olibiera> | is there any function that takes a list and divides it? for example [1,2,3,4,5,6] turns into ([1,2,3],[4,5,6]) |
2021-10-06 12:31:23 +0200 | <dminuoso> | olibiera: You mean something like https://hackage.haskell.org/package/split-0.2.3.4/docs/Data-List-Split.html#v:chunksOf ? |
2021-10-06 12:31:37 +0200 | <dminuoso> | You can find variations of it on hackage, or you can just roll it yourself. |
2021-10-06 12:31:44 +0200 | <dminuoso> | It's a relatively straight forward 4-5 liner |
2021-10-06 12:32:05 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-06 12:32:54 +0200 | <olibiera> | not really i needed it in tuple |
2021-10-06 12:33:11 +0200 | Guest20 | (~Guest20@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
2021-10-06 12:34:28 +0200 | chomwitt | (~chomwitt@94.66.61.137) |
2021-10-06 12:35:56 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 245 seconds) |
2021-10-06 12:38:32 +0200 | rosariopulella[m | Rosuavio[m] |
2021-10-06 12:38:49 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-06 12:39:46 +0200 | edro | edr |
2021-10-06 12:53:24 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-06 12:54:12 +0200 | xff0x | (~xff0x@2001:1a81:5322:8500:eff4:1133:1236:ed4a) |
2021-10-06 12:55:19 +0200 | darkstardevx | (~darkstard@c-24-21-53-33.hsd1.or.comcast.net) (Ping timeout: 245 seconds) |
2021-10-06 12:55:33 +0200 | <kuribas> | olibiera: span? |
2021-10-06 12:55:35 +0200 | <kuribas> | or splitAt? |
2021-10-06 12:55:37 +0200 | <kuribas> | :t span |
2021-10-06 12:55:38 +0200 | <lambdabot> | (a -> Bool) -> [a] -> ([a], [a]) |
2021-10-06 12:55:41 +0200 | <kuribas> | :t splitAt |
2021-10-06 12:55:42 +0200 | <lambdabot> | Int -> [a] -> ([a], [a]) |
2021-10-06 12:55:49 +0200 | darkstardevx | (~darkstard@c-24-21-53-33.hsd1.or.comcast.net) |
2021-10-06 12:57:43 +0200 | <kuribas> | > splitAt 3 [1..6] |
2021-10-06 12:57:45 +0200 | <lambdabot> | ([1,2,3],[4,5,6]) |
2021-10-06 12:57:54 +0200 | <kuribas> | > span (< 4) [1..6] |
2021-10-06 12:57:56 +0200 | <lambdabot> | ([1,2,3],[4,5,6]) |
2021-10-06 12:58:05 +0200 | <olibiera> | ty! |
2021-10-06 12:59:09 +0200 | olibiera | (~olibiera@194.117.40.220) (Quit: Client closed) |
2021-10-06 12:59:34 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) (Ping timeout: 265 seconds) |
2021-10-06 12:59:56 +0200 | azeem | (~azeem@2a00:801:238:7b15:4e2a:7c39:18f9:6354) |
2021-10-06 13:00:52 +0200 | alx741 | (~alx741@186.178.109.65) |
2021-10-06 13:02:27 +0200 | azeem | (~azeem@2a00:801:238:7b15:4e2a:7c39:18f9:6354) (Read error: Connection reset by peer) |
2021-10-06 13:02:44 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) |
2021-10-06 13:04:43 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) (Read error: Connection reset by peer) |
2021-10-06 13:05:05 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-06 13:05:13 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) |
2021-10-06 13:12:16 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-06 13:12:18 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 13:14:42 +0200 | acidjnk_new | (~acidjnk@p200300d0c703cb14e484f2ea659578d3.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2021-10-06 13:18:36 +0200 | hiruji | (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
2021-10-06 13:18:50 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-10-06 13:20:00 +0200 | int-e | (~noone@int-e.eu) (Remote host closed the connection) |
2021-10-06 13:20:43 +0200 | int-e | (~noone@int-e.eu) |
2021-10-06 13:22:18 +0200 | vinstre | (~vinstre@user/vinstre) (Remote host closed the connection) |
2021-10-06 13:22:50 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Quit: ...) |
2021-10-06 13:23:23 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) |
2021-10-06 13:23:23 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) (Changing host) |
2021-10-06 13:23:23 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) |
2021-10-06 13:26:38 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) |
2021-10-06 13:27:44 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
2021-10-06 13:27:59 +0200 | ftzm[m] | (~ftzmmatri@2001:470:69fc:105::1:dfc) |
2021-10-06 13:33:39 +0200 | mestre | (~mestre@191.177.175.57) (Quit: Lost terminal) |
2021-10-06 13:34:46 +0200 | Amras | (~Amras@user/Amras) |
2021-10-06 13:36:14 +0200 | CiaoSen | (~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-10-06 13:36:42 +0200 | aidy | (~aidy@2001:470:69fc:105::c7b4) (Quit: Reconnecting) |
2021-10-06 13:36:42 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-10-06 13:36:56 +0200 | aidy | (~aidy@2001:470:69fc:105::c7b4) |
2021-10-06 13:39:53 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-06 13:41:46 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2021-10-06 13:42:16 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-06 13:42:53 +0200 | Everything | (~Everythin@37.115.210.35) (Ping timeout: 268 seconds) |
2021-10-06 13:44:22 +0200 | Everything | (~Everythin@37.115.210.35) |
2021-10-06 13:46:42 +0200 | vjoki | (~vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...) |
2021-10-06 13:46:52 +0200 | acidjnk_new | (~acidjnk@p200300d0c703cb14e484f2ea659578d3.dip0.t-ipconnect.de) |
2021-10-06 13:46:56 +0200 | vjoki | (~vjoki@2a00:d880:3:1::fea1:9ae) |
2021-10-06 13:47:22 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) |
2021-10-06 13:49:54 +0200 | mmhat | (~mmh@55d43024.access.ecotel.net) |
2021-10-06 13:54:34 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-10-06 13:59:35 +0200 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
2021-10-06 13:59:59 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-10-06 14:02:00 +0200 | jespada | (~jespada@2803:9800:9842:7a62:2d4b:7b80:ce15:fc84) |
2021-10-06 14:04:04 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 245 seconds) |
2021-10-06 14:12:37 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-06 14:13:08 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-10-06 14:13:31 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-10-06 14:14:51 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 14:19:45 +0200 | fendor | (~fendor@91.141.79.91.wireless.dyn.drei.com) |
2021-10-06 14:27:19 +0200 | Guest87 | (~Guest87@194.117.40.220) |
2021-10-06 14:27:26 +0200 | <Guest87> | halve :: [a] -> ([a],[a]) |
2021-10-06 14:27:27 +0200 | <Guest87> | halve [] = ([],[]) |
2021-10-06 14:27:27 +0200 | <Guest87> | halve [x] = ([x],[]) |
2021-10-06 14:27:28 +0200 | <Guest87> | halve xs = ([x | x <- take (length xs `div` 2) xs], [y | y <- ys]) |
2021-10-06 14:27:28 +0200 | <Guest87> | where ys = if (length xs `div` 2 /= 0) |
2021-10-06 14:27:29 +0200 | <Guest87> | then drop (length xs `div` 2) + 1 |
2021-10-06 14:27:29 +0200 | <Guest87> | else drop (length xs `div` 2) |
2021-10-06 14:27:41 +0200 | <Guest87> | can someone tell me what is wrong with this code? |
2021-10-06 14:28:52 +0200 | Guest8747 | (~Guest87@194.117.40.220) |
2021-10-06 14:29:21 +0200 | <merijn> | Aside from the list comprehensions being redundant and the repeat length calls being super slow? |
2021-10-06 14:29:42 +0200 | <merijn> | "[ y | y <- ys]" <- why not just write "ys"? |
2021-10-06 14:30:08 +0200 | <Guest8747> | right |
2021-10-06 14:30:17 +0200 | <merijn> | Same for "[x | x <- take (length xs `div` 2) xs]", that's just "take (length xs `div` 2) xs" with extra steps... |
2021-10-06 14:31:11 +0200 | <hpc> | you might also consider using mod, instead of that if |
2021-10-06 14:31:14 +0200 | <merijn> | Oh |
2021-10-06 14:31:14 +0200 | <hpc> | > 5 `mod` 2 |
2021-10-06 14:31:16 +0200 | <lambdabot> | 1 |
2021-10-06 14:31:27 +0200 | <merijn> | I have questions about your if condition |
2021-10-06 14:31:39 +0200 | <merijn> | Ah, no, I guess that if it typechecks it's fine |
2021-10-06 14:31:57 +0200 | <merijn> | But also, it's useless because that branch is only taken if xs has at least 2 elements, so it's always true |
2021-10-06 14:32:41 +0200 | Guest87 | (~Guest87@194.117.40.220) (Ping timeout: 256 seconds) |
2021-10-06 14:32:54 +0200 | <Guest8747> | halve :: [a] -> ([a],[a]) |
2021-10-06 14:32:54 +0200 | <Guest8747> | halve [] = ([],[]) |
2021-10-06 14:32:55 +0200 | <Guest8747> | halve [x] = ([x],[]) |
2021-10-06 14:32:55 +0200 | <Guest8747> | halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:32:56 +0200 | <Guest8747> | where ys = if (length xs `div` 2 /= 0) |
2021-10-06 14:32:56 +0200 | <Guest8747> | then drop (length xs `div` 2) + 1 |
2021-10-06 14:32:57 +0200 | <Guest8747> | else drop (length xs `div` 2) |
2021-10-06 14:33:13 +0200 | <Guest8747> | it still doesnt compile |
2021-10-06 14:33:37 +0200 | <merijn> | because: 1) the "then" case isn't correctly parenthesised |
2021-10-06 14:33:46 +0200 | <merijn> | 2) you forgot to give a list argument to drop |
2021-10-06 14:34:03 +0200 | <merijn> | "drop ((length xs `div` 2) + 1)" |
2021-10-06 14:34:23 +0200 | <merijn> | Your current version parses as "(drop (length xs `div` 2)) + 1" |
2021-10-06 14:35:30 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2021-10-06 14:35:32 +0200 | <maerwald> | @hoogle (k -> a -> m Bool) -> Map k a -> Map k a |
2021-10-06 14:35:34 +0200 | <lambdabot> | No results found |
2021-10-06 14:35:34 +0200 | <maerwald> | srsly... |
2021-10-06 14:35:38 +0200 | <maerwald> | oops |
2021-10-06 14:35:42 +0200 | <Guest8747> | can u explain 2)? |
2021-10-06 14:35:50 +0200 | <maerwald> | @hoogle (k -> a -> m Bool) -> Map k a -> m (Map k a) |
2021-10-06 14:35:51 +0200 | <lambdabot> | No results found |
2021-10-06 14:35:53 +0200 | <maerwald> | ... |
2021-10-06 14:36:08 +0200 | <Guest8747> | are u saying it should be where ys xs... |
2021-10-06 14:36:09 +0200 | <Guest8747> | ? |
2021-10-06 14:36:22 +0200 | <merijn> | Guest8747: "drop f list" |
2021-10-06 14:36:35 +0200 | <merijn> | Guest8747: In your code "ys" is a function |
2021-10-06 14:36:39 +0200 | <merijn> | i.e. partially applied drop |
2021-10-06 14:39:06 +0200 | <Guest8747> | halve :: [a] -> ([a],[a]) |
2021-10-06 14:39:06 +0200 | <Guest8747> | halve [] = ([],[]) |
2021-10-06 14:39:07 +0200 | <Guest8747> | halve [x] = ([x],[]) |
2021-10-06 14:39:07 +0200 | <Guest8747> | halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:39:08 +0200 | <Guest8747> | where ys xs = if (length xs `div` 2 /= 0) |
2021-10-06 14:39:08 +0200 | <Guest8747> | then drop ((length xs `div` 2) + 1) |
2021-10-06 14:39:09 +0200 | <Guest8747> | else drop (length xs `div` 2) |
2021-10-06 14:39:13 +0200 | <Guest8747> | so what do i change here? |
2021-10-06 14:39:24 +0200 | <Guest8747> | merijn |
2021-10-06 14:39:46 +0200 | <sshine> | > let halve xs = splitAt (length xs `quot` 2) xs in halve [1,2,3] -- it rounds the wrong way, but other than that...? |
2021-10-06 14:39:47 +0200 | <lambdabot> | ([1],[2,3]) |
2021-10-06 14:40:22 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-10-06 14:40:36 +0200 | <merijn> | Change it to "drop (length xs `div` 2) xs" |
2021-10-06 14:40:43 +0200 | <sshine> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Prelude.html#v:splitAt |
2021-10-06 14:41:08 +0200 | <merijn> | splitAt and length is still inefficient! |
2021-10-06 14:41:30 +0200 | <merijn> | Clearly the way to go: https://gist.github.com/merijn/c163cc106fd245d1cf2e :p |
2021-10-06 14:41:45 +0200 | <Guest8747> | merijn but if the list has an odd number of elements? |
2021-10-06 14:42:12 +0200 | <merijn> | Guest8747: You need to add "xs" to both calls to drop |
2021-10-06 14:42:24 +0200 | <merijn> | Guest8747: Also, your currentl logic doesn't check for odd number of elements |
2021-10-06 14:42:31 +0200 | <merijn> | Guest8747: It checks for "less than 2" elements |
2021-10-06 14:42:41 +0200 | <merijn> | > 3 `div` 2 |
2021-10-06 14:42:43 +0200 | <lambdabot> | 1 |
2021-10-06 14:44:12 +0200 | <Guest8747> | it was that thx! |
2021-10-06 14:45:12 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-06 14:46:42 +0200 | lbseale_ | (~lbseale@user/ep1ctetus) |
2021-10-06 14:46:59 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 245 seconds) |
2021-10-06 14:49:07 +0200 | oxide | (~lambda@user/oxide) |
2021-10-06 14:49:16 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 245 seconds) |
2021-10-06 14:49:29 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
2021-10-06 14:49:54 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Ping timeout: 245 seconds) |
2021-10-06 14:50:47 +0200 | hexfive | (~eric@50.35.83.177) |
2021-10-06 14:51:35 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-10-06 14:51:35 +0200 | sleblanc | (~sleblanc@user/sleblanc) |
2021-10-06 14:54:36 +0200 | <Guest8747> | > let halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:54:37 +0200 | <Guest8747> | then drop ((length xs `div` 2) + 1) xs |
2021-10-06 14:54:37 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-10-06 14:54:37 +0200 | <Guest8747> | else drop (length xs `div` 2) xs |
2021-10-06 14:54:37 +0200 | <lambdabot> | <no location info>: error: |
2021-10-06 14:54:37 +0200 | <lambdabot> | not an expression: ‘let halve xs = (take (length xs `div` 2) xs, ys)’ |
2021-10-06 14:55:05 +0200 | <merijn> | You can't do multiline code in lambdabot |
2021-10-06 14:55:22 +0200 | <Guest8747> | halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:55:23 +0200 | <Guest8747> | where ys = if (length xs `mod` 2 /= 0) then drop ((length xs `div` 2) + 1) xs else drop (length xs `div` 2) xs |
2021-10-06 14:55:34 +0200 | <Guest8747> | > halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:55:35 +0200 | <Guest8747> | where ys = if (length xs `mod` 2 /= 0) then drop ((length xs `div` 2) + 1) xs else drop (length xs `div` 2) xs |
2021-10-06 14:55:36 +0200 | <lambdabot> | <hint>:1:10: error: parse error on input ‘=’ |
2021-10-06 14:56:02 +0200 | Psybur | (~Psybur@mobile-166-170-32-197.mycingular.net) |
2021-10-06 14:56:19 +0200 | <Guest8747> | > let halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:56:19 +0200 | <Guest8747> | where ys = if (length xs `mod` 2 /= 0) then drop ((length xs `div` 2) + 1) xs else drop (length xs `div` 2) xs |
2021-10-06 14:56:21 +0200 | <lambdabot> | <no location info>: error: |
2021-10-06 14:56:21 +0200 | <lambdabot> | not an expression: ‘let halve xs = (take (length xs `div` 2) xs, ys)’ |
2021-10-06 14:56:27 +0200 | <Guest8747> | nvm |
2021-10-06 14:57:34 +0200 | <Guest8747> | i want [1,2,3,4] to turn in ([1,2],[3,4]) for exemple |
2021-10-06 14:57:43 +0200 | <Guest8747> | halve :: [a] -> ([a],[a]) |
2021-10-06 14:57:44 +0200 | <Guest8747> | halve [] = ([],[]) |
2021-10-06 14:57:44 +0200 | <Guest8747> | halve [x] = ([x],[]) |
2021-10-06 14:57:45 +0200 | <Guest8747> | halve xs = (take (length xs `div` 2) xs, ys) |
2021-10-06 14:57:45 +0200 | <Guest8747> | where ys = if (length xs `mod` 2 /= 0) |
2021-10-06 14:57:46 +0200 | <Guest8747> | then drop ((length xs `div` 2) + 1) xs |
2021-10-06 14:57:46 +0200 | <Guest8747> | else drop (length xs `div` 2) xs |
2021-10-06 14:57:51 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 14:58:36 +0200 | <Guest8747> | like this it turns in ([1,2],[4]) |
2021-10-06 14:58:48 +0200 | <Guest8747> | cant tell why |
2021-10-06 15:00:09 +0200 | <Guest8747> | its working nvm |
2021-10-06 15:00:31 +0200 | <robosexual> | try this instead of reinventing splitting algorithm: https://hackage.haskell.org/package/base-4.15.0.0/docs/src/GHC-List.html#splitAt |
2021-10-06 15:01:19 +0200 | <merijn> | Nothing wrong with reinventing algorithms |
2021-10-06 15:01:24 +0200 | Alex_test | (~al_test@94.233.240.2) (Quit: ;-) |
2021-10-06 15:01:34 +0200 | <merijn> | The problem is that, as I said before, your code *always* picks the true branch |
2021-10-06 15:01:37 +0200 | AlexZenon | (~alzenon@94.233.240.2) (Quit: ;-) |
2021-10-06 15:01:44 +0200 | <merijn> | And thus drops 3 items, not 2 |
2021-10-06 15:01:45 +0200 | AlexNoo | (~AlexNoo@94.233.240.2) (Quit: Leaving) |
2021-10-06 15:02:44 +0200 | <tdammers> | (technically this isn't even reinventing an algorithm, just reimplementing it) |
2021-10-06 15:03:03 +0200 | <merijn> | tdammers: Nothing wrong with that either :p |
2021-10-06 15:03:13 +0200 | <tdammers> | indeed |
2021-10-06 15:03:21 +0200 | <tdammers> | just need to be aware of the pros and cons |
2021-10-06 15:03:24 +0200 | <Guest8747> | halve [1,2,3,4,5] is returning ([1,2],[4,5]) for some reason :( |
2021-10-06 15:03:32 +0200 | <merijn> | Guest8747: Same as my previous answer |
2021-10-06 15:03:39 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-10-06 15:03:48 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Quit: ub) |
2021-10-06 15:03:50 +0200 | <Guest8747> | instead of ([1,2],[3,4,5]) |
2021-10-06 15:04:10 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 15:04:16 +0200 | <Hecate> | :9 |
2021-10-06 15:04:55 +0200 | <Guest8747> | merijn can u tell why? |
2021-10-06 15:05:04 +0200 | <Guest8747> | i thought adding +1 would solve it |
2021-10-06 15:05:20 +0200 | <merijn> | What is the if/else supposed to do? |
2021-10-06 15:06:29 +0200 | <Guest8747> | if the length is an odd number it would drop length/2 + 1 |
2021-10-06 15:06:38 +0200 | <merijn> | Well, it doesn't do that |
2021-10-06 15:06:42 +0200 | <Guest8747> | if its even just the other half |
2021-10-06 15:06:50 +0200 | <merijn> | Because, as stated before, you're not checking if the length is odd |
2021-10-06 15:07:02 +0200 | <merijn> | You're checking if the length is less than 2 |
2021-10-06 15:07:44 +0200 | <Guest8747> | if (length xs `mod` 2 /= 0) |
2021-10-06 15:08:20 +0200 | <Guest8747> | how isnt this checking the length being odd |
2021-10-06 15:08:21 +0200 | <Guest8747> | ? |
2021-10-06 15:09:02 +0200 | <merijn> | oh, wait, it's mod now, in one of the original version it was div >.> |
2021-10-06 15:09:13 +0200 | <merijn> | Anyway, you drop 1 more |
2021-10-06 15:09:19 +0200 | yinghua | (~yinghua@2800:2121:1400:900:9813:e2cc:52c1:9b50) |
2021-10-06 15:09:20 +0200 | <merijn> | But you don't take 1 more when that happens |
2021-10-06 15:09:36 +0200 | <merijn> | So if it's true, you drop 1 extra, but don't take 1 more |
2021-10-06 15:09:46 +0200 | rkrishnan | (~user@2402:e280:215c:2cd:6d16:f9a5:49d8:1fa5) (Ping timeout: 252 seconds) |
2021-10-06 15:11:13 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-10-06 15:11:14 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-10-06 15:11:40 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-10-06 15:12:02 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-10-06 15:12:19 +0200 | <Guest8747> | ohhh i was looking at drop the wrong way! |
2021-10-06 15:12:23 +0200 | <Guest8747> | ty |
2021-10-06 15:15:26 +0200 | zebrag | (~chris@user/zebrag) |
2021-10-06 15:20:47 +0200 | AlexZenon | (~alzenon@94.233.240.2) |
2021-10-06 15:20:56 +0200 | Guest8747 | (~Guest87@194.117.40.220) (Quit: Client closed) |
2021-10-06 15:21:04 +0200 | AlexNoo | (~AlexNoo@94.233.240.2) |
2021-10-06 15:21:41 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-10-06 15:22:18 +0200 | Alex_test | (~al_test@94.233.240.2) |
2021-10-06 15:23:01 +0200 | lbseale_ | lbseale |
2021-10-06 15:23:26 +0200 | CiaoSen | (~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2021-10-06 15:25:11 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) |
2021-10-06 15:26:37 +0200 | fendor_ | (~fendor@178.115.78.172.wireless.dyn.drei.com) |
2021-10-06 15:27:34 +0200 | <sneedsfeed> | can this be written as a pure composition? sndMapAccumL a b c = snd $ mapAccumL a b c |
2021-10-06 15:28:11 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 15:28:14 +0200 | <Franciman> | sneedsfeed: you mean like |
2021-10-06 15:28:20 +0200 | <Franciman> | sndMapAccumL a b = snd . mapAccumL a b |
2021-10-06 15:28:23 +0200 | <Franciman> | ? |
2021-10-06 15:28:27 +0200 | <Franciman> | sorry I can't do better :< |
2021-10-06 15:28:49 +0200 | <sneedsfeed> | Well I couldnt even figure that out! |
2021-10-06 15:29:11 +0200 | <Franciman> | when you have multivalued functions |
2021-10-06 15:29:18 +0200 | <sneedsfeed> | but yea it does beg the question still now how better. |
2021-10-06 15:29:19 +0200 | <Franciman> | :t (.) |
2021-10-06 15:29:20 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2021-10-06 15:29:24 +0200 | fendor | (~fendor@91.141.79.91.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
2021-10-06 15:29:33 +0200 | <Franciman> | if you have multiparam functions |
2021-10-06 15:29:36 +0200 | <Franciman> | in this case |
2021-10-06 15:29:38 +0200 | <Franciman> | :t mapAccumL |
2021-10-06 15:29:39 +0200 | <lambdabot> | Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) |
2021-10-06 15:29:48 +0200 | <Franciman> | the b in there becomes |
2021-10-06 15:29:49 +0200 | <byorgey> | anything can always be written in "point-free" style, with no parameters, though it's often not worth it. |
2021-10-06 15:30:00 +0200 | <Franciman> | a -> t b -> (a, t c) |
2021-10-06 15:30:20 +0200 | <Franciman> | wait so you can do |
2021-10-06 15:30:26 +0200 | <Franciman> | no nothing |
2021-10-06 15:30:54 +0200 | <byorgey> | :t ((.).(.).(.)) snd mapAccumL |
2021-10-06 15:30:56 +0200 | <lambdabot> | Traversable t => (a -> b -> (a, c)) -> a -> t b -> t c |
2021-10-06 15:31:10 +0200 | <Franciman> | byorgey: you blowed my mind |
2021-10-06 15:32:15 +0200 | <sneedsfeed> | byorgey yea but... and i'm a noob I know... but i've always been operating under the assumption that these "not worth it" cases are not situations where the parameter applications come at the end of the function in the same order. its weird to me to have sndMapAccumL a b = snd . mapAccumL a b... why cant I just take off the a and the b??? |
2021-10-06 15:33:14 +0200 | <sneedsfeed> | and yea i know just type :t and the answer is always right there in the type signature... but i'm not smart enough to just figure everything out like that... |
2021-10-06 15:33:32 +0200 | <merijn> | sneedsfeed: Because "snd . mapAccumL a b" is "snd . (mapAccumL a b)" |
2021-10-06 15:33:34 +0200 | <byorgey> | sneedsfeed: yeah, if they are not in the same order then that is even worse, then you need some applications of 'flip' in there |
2021-10-06 15:33:42 +0200 | <Franciman> | sneedsfeed: i think you can get a tast of what's happening by looking at this: |
2021-10-06 15:33:44 +0200 | <Franciman> | :t (.) |
2021-10-06 15:33:45 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2021-10-06 15:33:48 +0200 | <Franciman> | :t (.).(.) |
2021-10-06 15:33:49 +0200 | <lambdabot> | (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c |
2021-10-06 15:33:52 +0200 | <merijn> | sneedsfeed: If you remove a b you make it "(snd . mapAccumL) a b" |
2021-10-06 15:33:56 +0200 | <byorgey> | sneedsfeed: it's a good question, but yeah, snd . mapAccumL a b is not the same as (snd . mapAccumL) a b |
2021-10-06 15:34:45 +0200 | <byorgey> | (f . g x) y = f (g x y), but ((f . g) x) y = (f . g) x y = f (g x) y |
2021-10-06 15:35:34 +0200 | <byorgey> | sneedsfeed: you are smart enough, you just don't have enough experience. Big difference. =) |
2021-10-06 15:35:47 +0200 | <sneedsfeed> | "snd . mapAccumL a b is not the same as (snd . mapAccumL) a b o" okay that makes sense |
2021-10-06 15:36:02 +0200 | <sneedsfeed> | byorgey would that I were 23 coming into this and not 33 :D |
2021-10-06 15:36:52 +0200 | <byorgey> | hah, well, we work with what we've got |
2021-10-06 15:37:49 +0200 | <merijn> | sneedsfeed: The key insight is that (.) and ($) aren't magical "braces-away" notation, but simply function that take two arguments and what those two arguments are, matters. |
2021-10-06 15:38:01 +0200 | <byorgey> | sneedsfeed: you still probably have at least another 40 years of productive Haskell use ahead of you =D |
2021-10-06 15:38:11 +0200 | <Franciman> | will my language ever be better than haskell? Surely no, because I am not as smart as people here. Will I have lots of fun doing it? HELL YEAH, sneedsfeed |
2021-10-06 15:38:14 +0200 | <Franciman> | so don't worry |
2021-10-06 15:38:17 +0200 | <Franciman> | just have fun |
2021-10-06 15:40:14 +0200 | <shapr> | I joined a small Haskell chat group, we meet weekly. This week we're going to wander through this new game swarm |
2021-10-06 15:41:41 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-06 15:42:17 +0200 | <shapr> | byorgey: glad you published swarm, the source code is fun to read! |
2021-10-06 15:42:20 +0200 | <byorgey> | =D |
2021-10-06 15:43:02 +0200 | <shapr> | I haven't played it yet, but I joined a text user interface group that's planning to host a whole bunch of TUI games, it might end up on there. |
2021-10-06 15:43:11 +0200 | <shapr> | specifically https://bluebird.sh/ |
2021-10-06 15:44:35 +0200 | hrdl | (~hrdl@mail.hrdl.eu) (Remote host closed the connection) |
2021-10-06 15:44:36 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-10-06 15:44:36 +0200 | <byorgey> | shapr: cool! |
2021-10-06 15:45:58 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-10-06 15:46:17 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-06 15:46:17 +0200 | <byorgey> | shapr: I mean maybe wait a bit until it is more feature-complete, but it'll get there |
2021-10-06 15:47:01 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-10-06 15:52:59 +0200 | hrdl | (~hrdl@mail.hrdl.eu) |
2021-10-06 15:56:08 +0200 | acidjnk_new | (~acidjnk@p200300d0c703cb14e484f2ea659578d3.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2021-10-06 15:58:06 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-06 16:01:38 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:3914:a7b1:2a0f:e9d8) (Ping timeout: 268 seconds) |
2021-10-06 16:05:15 +0200 | max22- | (~maxime@2a01cb08833598007fcfb2955ee7c812.ipv6.abo.wanadoo.fr) |
2021-10-06 16:06:29 +0200 | xsperry | (~xs@user/xsperry) (Remote host closed the connection) |
2021-10-06 16:06:58 +0200 | xsperry | (~xs@user/xsperry) |
2021-10-06 16:06:59 +0200 | xsperry | (~xs@user/xsperry) (Excess Flood) |
2021-10-06 16:08:35 +0200 | fendor_ | fendor |
2021-10-06 16:10:30 +0200 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-10-06 16:10:54 +0200 | concrete-houses | (~g@209.6.150.53) |
2021-10-06 16:11:05 +0200 | <concrete-houses> | anyone here try happstack.com? |
2021-10-06 16:11:18 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2021-10-06 16:12:00 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-10-06 16:12:48 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-10-06 16:13:06 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-10-06 16:14:10 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-10-06 16:15:58 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:aca2:ad7b:536b:eb53) |
2021-10-06 16:17:44 +0200 | sleblanc | (~sleblanc@user/sleblanc) (Ping timeout: 265 seconds) |
2021-10-06 16:20:31 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:aca2:ad7b:536b:eb53) (Ping timeout: 245 seconds) |
2021-10-06 16:26:55 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
2021-10-06 16:27:53 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-10-06 16:31:38 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:aca2:ad7b:536b:eb53) |
2021-10-06 16:33:14 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-10-06 16:45:17 +0200 | Lord_of_Life | (~Lord@46.217.216.227) |
2021-10-06 16:45:18 +0200 | Lord_of_Life | (~Lord@46.217.216.227) (Changing host) |
2021-10-06 16:45:18 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-06 16:45:46 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-10-06 16:47:50 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 16:48:27 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-10-06 16:49:42 +0200 | <kuribas> | Franciman: it's possible to make a language better than haskell. It's not easy to make people use it :) |
2021-10-06 16:50:24 +0200 | <dminuoso> | Is it easy to make a *performant* better version of Haskell? That's going to be extremely tricky now. |
2021-10-06 16:50:37 +0200 | <kuribas> | dminuoso: maybe using GRIN + LLVM? |
2021-10-06 16:50:46 +0200 | <kuribas> | though GRIN is still lacking optimizations. |
2021-10-06 16:50:47 +0200 | <dminuoso> | Just tossing GRIN or LLVM at it will not make it magically go fast. |
2021-10-06 16:51:08 +0200 | <kuribas> | dminuoso: it helps :) |
2021-10-06 16:51:23 +0200 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) |
2021-10-06 16:51:32 +0200 | <Franciman> | kuribas: not for me :P |
2021-10-06 16:51:45 +0200 | <kuribas> | Franciman: what are you doing then? |
2021-10-06 16:51:52 +0200 | <Franciman> | I just enjoy writing things |
2021-10-06 16:51:53 +0200 | <kuribas> | what kind of language is it? |
2021-10-06 16:52:01 +0200 | <Franciman> | now I copied an idea from a langjam winner |
2021-10-06 16:52:06 +0200 | <Franciman> | Debug.trace in comments |
2021-10-06 16:52:06 +0200 | <kuribas> | Franciman: in that case you don't care about going fast. |
2021-10-06 16:52:08 +0200 | <Franciman> | i love the idea |
2021-10-06 16:52:13 +0200 | <dminuoso> | kuribas: And LLVM is very incompatible with the type of code that GHC produces, for instance. |
2021-10-06 16:52:19 +0200 | <dminuoso> | Which is why the LLVM is regularly slower |
2021-10-06 16:52:22 +0200 | <dminuoso> | Which is why the LLVM backend is regularly slower |
2021-10-06 16:52:24 +0200 | <Franciman> | kuribas: it's a strict functional language with System F types |
2021-10-06 16:52:26 +0200 | <kuribas> | dminuoso: yeah, that's the usecase of GRIN. |
2021-10-06 16:52:53 +0200 | <Franciman> | I wanted to add: a more ML like module system, that would help in whishful thinking, i.e. you declar eyour module as wishful |
2021-10-06 16:53:03 +0200 | <kuribas> | dminuoso: it's true that GRIN is lacking useful optimizations. |
2021-10-06 16:53:05 +0200 | <Franciman> | so you don't have to provide implementations and the compiler can only go as far as typechecking |
2021-10-06 16:53:11 +0200 | <Franciman> | then I want to add codata |
2021-10-06 16:53:17 +0200 | <Franciman> | as an explicit construction |
2021-10-06 16:53:20 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-10-06 16:53:20 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-10-06 16:53:22 +0200 | <Franciman> | later linear logic, when I learn about it |
2021-10-06 16:53:24 +0200 | allbery_b | geekosaur |
2021-10-06 16:53:39 +0200 | <kuribas> | wishful? |
2021-10-06 16:53:52 +0200 | <Franciman> | wishful module Vector where |
2021-10-06 16:54:01 +0200 | <Franciman> | and you only define its interface, without implementing it |
2021-10-06 16:54:07 +0200 | <kuribas> | you mean putting holes for functions? |
2021-10-06 16:54:10 +0200 | <Franciman> | in haskell I usually do it by writing functionName = undefined |
2021-10-06 16:54:11 +0200 | <dminuoso> | kuribas: My experience with GRIN is fairly limited, so I cant speak much about it. |
2021-10-06 16:54:12 +0200 | <Franciman> | yep |
2021-10-06 16:54:48 +0200 | <kuribas> | dminuoso: it doesn't do extensive inlining or specialization (yet). But it removes higher order functions and lazyness. |
2021-10-06 16:54:59 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
2021-10-06 16:55:01 +0200 | <kuribas> | dminuoso: so it can be better compiled by a lower level backend, like LLVM. |
2021-10-06 16:55:35 +0200 | <dminuoso> | kuribas: Is it comparably fast to the GHC core>simpl>cmm pipeline? |
2021-10-06 16:55:49 +0200 | <kuribas> | dminuoso: I have no idea... |
2021-10-06 16:55:52 +0200 | <dminuoso> | (not in terms of produced code, but its own execution time) |
2021-10-06 16:56:16 +0200 | <kuribas> | fast as in compilation times, or as in runtime performance? |
2021-10-06 16:56:23 +0200 | <Franciman> | can you use grinn for an interpreter too? or does it only do compilation? |
2021-10-06 16:56:26 +0200 | <dminuoso> | Did someone try to bolt GRIN onto GHC already? |
2021-10-06 16:56:37 +0200 | <Franciman> | dminuoso: there is JHC using GRIN iiuc |
2021-10-06 16:56:47 +0200 | <dminuoso> | https://github.com/grin-compiler/ghc-grin |
2021-10-06 16:56:49 +0200 | <dminuoso> | Interesting |
2021-10-06 16:57:09 +0200 | <merijn> | dminuoso: There's a guy working on it |
2021-10-06 16:57:18 +0200 | <merijn> | Franciman: Use typed holes! |
2021-10-06 16:57:25 +0200 | <merijn> | Franciman: Undefined is strictly inferior |
2021-10-06 16:57:51 +0200 | <dminuoso> | GRIN seems like a really cool idea then. :) |
2021-10-06 16:57:54 +0200 | <merijn> | "functionName = _" |
2021-10-06 16:58:00 +0200 | <Franciman> | merijn: oh cool |
2021-10-06 16:58:14 +0200 | <Franciman> | do I have to put some extension on? |
2021-10-06 16:58:17 +0200 | <merijn> | No |
2021-10-06 16:58:24 +0200 | <Franciman> | n-nice, thank you! |
2021-10-06 16:58:26 +0200 | <Franciman> | TIL |
2021-10-06 16:58:34 +0200 | <dminuoso> | GRIN kind of reminds me of the Truffle Language Implementation framework. |
2021-10-06 16:58:45 +0200 | <merijn> | Franciman: Typed holes produce an error saying "found typed hole of type: Type that should go there" |
2021-10-06 16:59:11 +0200 | <Franciman> | this may be better than my wishful moduels |
2021-10-06 16:59:14 +0200 | <Franciman> | nice! |
2021-10-06 16:59:15 +0200 | <merijn> | Franciman: There's -fdefer-typed-holes" which turns the error into a warning, which means you can run the code (like you could with undefined) |
2021-10-06 16:59:35 +0200 | <Franciman> | I see |
2021-10-06 16:59:36 +0200 | <Franciman> | useful |
2021-10-06 16:59:44 +0200 | <merijn> | But unlike "undefined" you can delete -fdefer-typed-holes from your GHC flags and get a compile error if you forgot any :p |
2021-10-06 16:59:57 +0200 | <Franciman> | yaaap! it's really nice, thanks merijn |
2021-10-06 17:00:02 +0200 | <merijn> | With undefined you gotta hope you remember to implement all them :p |
2021-10-06 17:00:10 +0200 | <tomsmeding> | merijn: HLS feedback seems to take a little longer to appear in my editor whenever there's a typed hole in the file. It feels like GHC proceeds until a later stage of compilation than normal or something, due to which it takes longer, but this is just a feeling, not based on anything. Do you have any idea why this happens? |
2021-10-06 17:00:11 +0200 | <lortabac> | Franciman: similarly, there is also an extension to enable partial type signatures, when you want to put holes in types |
2021-10-06 17:00:40 +0200 | <merijn> | tomsmeding: longer than compared to what? |
2021-10-06 17:00:45 +0200 | <lortabac> | PartialTypeSignatures |
2021-10-06 17:01:00 +0200 | <tomsmeding> | compared to if there are no typed holes, but only other type errors |
2021-10-06 17:01:06 +0200 | <Franciman> | ty lortabac |
2021-10-06 17:01:19 +0200 | <tomsmeding> | it's not a problem or anything, just seems weird to me |
2021-10-06 17:02:01 +0200 | <tomsmeding> | hm can't really reproduce it now, but it was certainly there earlier (on a slower machine, maybe that's the reason) |
2021-10-06 17:02:17 +0200 | <lortabac> | tomsmeding: I guess it takes time because it looks for possible matches |
2021-10-06 17:02:24 +0200 | <tomsmeding> | oooooooo yes |
2021-10-06 17:02:29 +0200 | <tomsmeding> | that makes total sense |
2021-10-06 17:02:30 +0200 | <merijn> | tomsmeding: I'm not up to date on the current implementation :) |
2021-10-06 17:02:38 +0200 | <tomsmeding> | lortabac++ |
2021-10-06 17:02:38 +0200 | <merijn> | oh, you can disable the possible matches |
2021-10-06 17:03:22 +0200 | <merijn> | I'm just shilling typed holes, because I don't want my effort to get -fdefer-typed-holes to go to waste :p |
2021-10-06 17:03:26 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2021-10-06 17:03:39 +0200 | <tomsmeding> | I know :p |
2021-10-06 17:04:00 +0200 | <tomsmeding> | but that makes you the typed holes man for me in this channel |
2021-10-06 17:04:33 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-10-06 17:04:53 +0200 | <shapr> | tritlo wrote some nice papers on typed holes |
2021-10-06 17:05:11 +0200 | <shapr> | at least, I think that's the right person |
2021-10-06 17:05:27 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2021-10-06 17:06:33 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-10-06 17:07:15 +0200 | cigsender | (~mbrown@74.124.58.162) |
2021-10-06 17:14:26 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-10-06 17:18:14 +0200 | alx741 | (~alx741@186.178.109.65) (Ping timeout: 245 seconds) |
2021-10-06 17:19:07 +0200 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 265 seconds) |
2021-10-06 17:21:40 +0200 | zmt00 | (~zmt00@user/zmt00) |
2021-10-06 17:21:47 +0200 | vysn | (~vysn@user/vysn) |
2021-10-06 17:28:15 +0200 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) |
2021-10-06 17:29:39 +0200 | <zzz> | what's the default fixity for infix data constructors? |
2021-10-06 17:30:14 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Ping timeout: 265 seconds) |
2021-10-06 17:30:17 +0200 | <merijn> | infixl 9 |
2021-10-06 17:30:27 +0200 | <merijn> | Or rather, that's the default fixity, period :p |
2021-10-06 17:30:30 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-10-06 17:30:33 +0200 | <cigsender> | pretty sure everything defaults to infixl 9, like merijn said |
2021-10-06 17:30:48 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-10-06 17:30:56 +0200 | alx741 | (~alx741@181.196.69.122) |
2021-10-06 17:31:07 +0200 | <zzz> | ok just checking |
2021-10-06 17:31:14 +0200 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-10-06 17:31:24 +0200 | alzgh | (~alzgh@user/alzgh) |
2021-10-06 17:32:45 +0200 | xsperry | (~xs@user/xsperry) |
2021-10-06 17:33:03 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-10-06 17:39:24 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:285c:5722:2a44:fb76) (Quit: WeeChat 2.8) |
2021-10-06 17:40:06 +0200 | Guest3130 | (~Guest31@45.148.198.128) |
2021-10-06 17:40:30 +0200 | <tomsmeding> | in an error message stating that a particular constraint 'C a' cannot be satisfied, if applicable, ghc says that one could fix the error by adding that constraint in the GADT that you're matching, or somewhere else. But this type variable 'a' is derived from some random type signature somewhere, which is sometimes a completely different one than it tells you to put the constraint on |
2021-10-06 17:40:39 +0200 | Guest3130 | (~Guest31@45.148.198.128) (Client Quit) |
2021-10-06 17:41:03 +0200 | <tomsmeding> | so you have like 'data T b where Constr :: Bool -> T Int', and it tells you to add 'C a' to the context of Constr |
2021-10-06 17:41:08 +0200 | <tomsmeding> | like, that ain't going to work, ghc :p |
2021-10-06 17:41:20 +0200 | <geekosaur> | ghc's suggestions are usually lousy in my experience |
2021-10-06 17:41:29 +0200 | <tomsmeding> | in general ghc seems to confuse type variable names in error messages all over the place |
2021-10-06 17:41:55 +0200 | <geekosaur> | like it will tell you to enable some extension iunstead of fixing the realproblem |
2021-10-06 17:41:57 +0200 | <tomsmeding> | in fact the suggestion is completely valid in this case, and even what I wanted to do, but for the incorrect variable name :p |
2021-10-06 17:42:27 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) (Read error: Connection reset by peer) |
2021-10-06 17:42:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-06 17:42:47 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-10-06 17:42:49 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) |
2021-10-06 17:44:12 +0200 | econo | (uid147250@user/econo) |
2021-10-06 17:44:24 +0200 | <zzz> | it ain't easy being ghc |
2021-10-06 17:44:28 +0200 | <monochrom> | I too confuse type variables between parametric polymorphism, GADTs, and type families. :) |
2021-10-06 17:45:37 +0200 | <tomsmeding> | it definitely ain't easy being ghc |
2021-10-06 17:47:27 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f81d:7133:81c9:b91d) (Remote host closed the connection) |
2021-10-06 17:49:13 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-10-06 17:49:16 +0200 | wonko | (~wjc@62.115.229.50) (Ping timeout: 245 seconds) |
2021-10-06 17:49:34 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
2021-10-06 17:50:03 +0200 | azeem | (~azeem@emp-183-4.eduroam.uu.se) (Ping timeout: 265 seconds) |
2021-10-06 17:50:14 +0200 | azeem | (~azeem@2a00:801:2d6:ef11:512b:756c:612a:d872) |
2021-10-06 17:53:52 +0200 | azeem | (~azeem@2a00:801:2d6:ef11:512b:756c:612a:d872) (Read error: Connection reset by peer) |
2021-10-06 17:54:36 +0200 | azeem | (~azeem@2a00:801:2d6:ef11:512b:756c:612a:d872) |
2021-10-06 17:54:37 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-10-06 17:56:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f81d:7133:81c9:b91d) |
2021-10-06 17:56:54 +0200 | <ggVGc> | I think we might be due a GHC fork with an extension purge |
2021-10-06 17:57:05 +0200 | <ggVGc> | and get rid of all the ones that turned out not super great ideas |
2021-10-06 17:57:21 +0200 | Null_A | (~null_a@2601:645:8700:2290:99d8:b393:f0ac:dbda) |
2021-10-06 17:58:29 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-10-06 17:58:57 +0200 | <ProofTechnique> | Also with Alexis King's delimited continuations work so I can finally use `eff` 🥺 |
2021-10-06 18:00:02 +0200 | <monochrom> | Which extensions actually turned out to be not super great ideas? |
2021-10-06 18:00:10 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-10-06 18:00:23 +0200 | <c_wraith> | PolymorphicComponents. :P |
2021-10-06 18:00:45 +0200 | <monochrom> | Yeah that's superseded by RankNTypes, no? |
2021-10-06 18:01:12 +0200 | <c_wraith> | yeah. They're just different names for the same thing now |
2021-10-06 18:01:24 +0200 | <monochrom> | I am going for "all of them are already obsoleted or replaced". |
2021-10-06 18:02:42 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-10-06 18:02:55 +0200 | <ggVGc> | I don't have concrete suggestions right now... But, I'm sure I've read quite a lot about some extensions not working well with others, and we have some tackling quite similar issues from different angles, right? |
2021-10-06 18:03:06 +0200 | <monochrom> | i.e., a cry for "fork GHC to purge them" is basically vacuous. |
2021-10-06 18:03:25 +0200 | <ggVGc> | I wasn't being entirely serious :) |
2021-10-06 18:06:58 +0200 | xiongxin | (~quassel@119.123.102.49) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-10-06 18:11:29 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-10-06 18:11:34 +0200 | __monty__ | (~toonn@user/toonn) |
2021-10-06 18:13:26 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-10-06 18:16:54 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Quit: ub) |
2021-10-06 18:17:11 +0200 | <dolio> | PolymorphicComponents came after RankNTypes, I think, as a way to have certain data types without turning on the whole extended type system. |
2021-10-06 18:17:12 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 18:17:15 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 18:18:08 +0200 | <geekosaur> | iirc it came after Rank2Types; RankNTypes came later and subsumed Rank2Types |
2021-10-06 18:18:31 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 18:18:36 +0200 | <geekosaur> | and PolymorphicComponents |
2021-10-06 18:18:50 +0200 | <c_wraith> | but these days Rank2Types and PolymorphicComponents both just enable RankNTypes |
2021-10-06 18:19:01 +0200 | <geekosaur> | right |
2021-10-06 18:19:14 +0200 | <dolio> | Ah. |
2021-10-06 18:19:31 +0200 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) |
2021-10-06 18:19:32 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds) |
2021-10-06 18:20:11 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.207) |
2021-10-06 18:20:12 +0200 | neurocyte0132889 | (~neurocyte@46.243.81.207) (Changing host) |
2021-10-06 18:20:12 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-10-06 18:20:13 +0200 | <dolio> | It seems kind of pointless to just remove another name for the same extension. It will just break programs. |
2021-10-06 18:23:02 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-10-06 18:23:40 +0200 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2021-10-06 18:23:41 +0200 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2021-10-06 18:23:41 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2021-10-06 18:25:19 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 18:26:33 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 18:27:00 +0200 | hendursa1 | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-10-06 18:35:29 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-06 18:37:08 +0200 | Hanicef | (~gustaf@81-229-9-108-no92.tbcn.telia.com) |
2021-10-06 18:39:08 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-10-06 18:41:34 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 245 seconds) |
2021-10-06 18:43:41 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-06 18:48:10 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-10-06 18:48:27 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 18:52:05 +0200 | robosexual | (~spaceoyst@88.85.216.62) (Quit: Konversation terminated!) |
2021-10-06 18:57:36 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-10-06 18:58:03 +0200 | mbuf | (~Shakthi@223.178.119.120) (Quit: Leaving) |
2021-10-06 18:58:38 +0200 | Null_A | (~null_a@2601:645:8700:2290:99d8:b393:f0ac:dbda) () |
2021-10-06 18:58:41 +0200 | yinghua | (~yinghua@2800:2121:1400:900:9813:e2cc:52c1:9b50) (Read error: Connection reset by peer) |
2021-10-06 18:59:00 +0200 | yinghua | (~yinghua@2800:2121:1400:900:550d:5356:b600:ab96) |
2021-10-06 19:00:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-06 19:02:04 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-10-06 19:02:24 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 19:05:58 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-10-06 19:06:14 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) |
2021-10-06 19:06:16 +0200 | pavonia | (~user@user/siracusa) |
2021-10-06 19:08:01 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-10-06 19:09:26 +0200 | <kuribas> | is using the `Ap` Monoid fancy haskell? |
2021-10-06 19:09:49 +0200 | <vaibhavsagar[m]> | fancy haskell is whatever i don't know |
2021-10-06 19:09:51 +0200 | <vaibhavsagar[m]> | so yes |
2021-10-06 19:10:03 +0200 | <kuribas> | I have "Validation (ann, Text) (DeviceTables ann -> DeviceTables ann)" |
2021-10-06 19:10:26 +0200 | <kuribas> | if I use Endo and Ap, I can more easily compose them. |
2021-10-06 19:10:41 +0200 | <vaibhavsagar[m]> | I was being facetious |
2021-10-06 19:10:57 +0200 | <vaibhavsagar[m]> | there is no definition of "fancy haskell" that makes sense |
2021-10-06 19:11:15 +0200 | <vaibhavsagar[m]> | if it makes your code better then it's probably good |
2021-10-06 19:11:24 +0200 | <vaibhavsagar[m]> | it it makes your code worse then it's probably bad |
2021-10-06 19:11:36 +0200 | <kuribas> | it makes it better if you know what Ap and Endo do... |
2021-10-06 19:11:56 +0200 | <vaibhavsagar[m]> | I looked it up just now, seems reasonable to me |
2021-10-06 19:12:03 +0200 | <kuribas> | ok, thanks :) |
2021-10-06 19:12:36 +0200 | Hanicef | (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving) |
2021-10-06 19:12:52 +0200 | <vaibhavsagar[m]> | IME when people talk about "fancy haskell" it involves type-level programming, lens, etc |
2021-10-06 19:13:04 +0200 | <vaibhavsagar[m]> | but again, there is no consistent definition |
2021-10-06 19:13:10 +0200 | <kuribas> | lens also :-( |
2021-10-06 19:13:20 +0200 | <kuribas> | I think basic lenses should be ok. |
2021-10-06 19:13:35 +0200 | <vaibhavsagar[m]> | but that's the thing, sometimes lenses are simpler than the alternative |
2021-10-06 19:13:38 +0200 | <awpr> | hmm, I need to delete my own reimplementation of `Ap`. didn't know that existed in `base` |
2021-10-06 19:13:39 +0200 | <kuribas> | like view, set, over |
2021-10-06 19:13:53 +0200 | <vaibhavsagar[m]> | I wrote some code to update JSON without lenses that is incredibly ugly |
2021-10-06 19:13:53 +0200 | <monochrom> | :) |
2021-10-06 19:14:24 +0200 | <vaibhavsagar[m]> | so it might actually be an improvement to rewrite that |
2021-10-06 19:14:31 +0200 | <kuribas> | I've found the more fancy lenses are easy to avoid. |
2021-10-06 19:15:13 +0200 | <kuribas> | For example (view (#field % to f)) => (f . view #field) |
2021-10-06 19:15:16 +0200 | cheater | (~Username@user/cheater) |
2021-10-06 19:16:25 +0200 | <vaibhavsagar[m]> | I don't have a good grasp of lenses but I believe you |
2021-10-06 19:16:32 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 19:16:54 +0200 | <awpr> | this is at least vaguely on-topic: I don't think you need to lose (.) composition to have a sensible OverloadedLabels instance for optics |
2021-10-06 19:17:34 +0200 | <awpr> | the instance head can just be `OpticWrapper p f a b -> OpticWrapper p f s t` |
2021-10-06 19:17:41 +0200 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
2021-10-06 19:18:09 +0200 | <kuribas> | awpr: for optics the composition operator is `%` |
2021-10-06 19:18:16 +0200 | <awpr> | that's what I was responding to |
2021-10-06 19:18:29 +0200 | <kuribas> | You don't loose it, it's just a different operator |
2021-10-06 19:18:38 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) |
2021-10-06 19:18:45 +0200 | <awpr> | "(.) composition" is different from "any form of composition" |
2021-10-06 19:18:56 +0200 | <awpr> | I mean literally the ability to use (.) for composition |
2021-10-06 19:19:07 +0200 | <kuribas> | awpr: are you refering to Control.Category? |
2021-10-06 19:19:17 +0200 | <awpr> | no, literally (Prelude..) |
2021-10-06 19:19:32 +0200 | <kuribas> | in that case, not using (.) is a good thing. |
2021-10-06 19:19:42 +0200 | <awpr> | I don't agree with that |
2021-10-06 19:20:00 +0200 | <kuribas> | because Optics are a concept, a function is an implementation detail. |
2021-10-06 19:20:12 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 19:20:13 +0200 | <kuribas> | you don't want to leak implementation into your API. |
2021-10-06 19:20:35 +0200 | <kuribas> | (.) for lenses is quite confusing. |
2021-10-06 19:21:07 +0200 | <dminuoso> | awpr: The point of using % rather than . has nothing to do with not being able to. |
2021-10-06 19:21:11 +0200 | <awpr> | *shrug* it doesn't confuse me. it's not objectively confusing |
2021-10-06 19:21:19 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:aca2:ad7b:536b:eb53) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-10-06 19:22:00 +0200 | <dminuoso> | awpr: It's about being able to generate legible diagnostics at composition time, rather than deferring illegible diagnostics to consumption time. |
2021-10-06 19:22:20 +0200 | <dminuoso> | (%) :: forall k l m is js ks s t u v a b . (JoinKinds k l m, AppendIndices is js ks) => Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b |
2021-10-06 19:22:31 +0200 | <dminuoso> | So the magic juice is JoinKinds and AppendIndices |
2021-10-06 19:23:07 +0200 | <awpr> | yeah, I guess that makes sense. I still prefer `.` and error messages relating to what's actually going on, myself |
2021-10-06 19:24:26 +0200 | <dminuoso> | Me personally I prefer if GHC produces a type error that says "A Getter cannot be composed with a Setter", rather than being able to satisfy some cryptic constraints. |
2021-10-06 19:24:40 +0200 | <dminuoso> | I dont need to understand what profunctor typeclasses are used |
2021-10-06 19:24:57 +0200 | <awpr> | yeah, I'm the opposite. different libraries for different preferences, I guess |
2021-10-06 19:25:01 +0200 | <dminuoso> | Absolutely. :) |
2021-10-06 19:26:13 +0200 | <dminuoso> | It's also quite possibly relating to the fact that if you're already familiar with the involved constraints, you might not care much. |
2021-10-06 19:26:27 +0200 | <dminuoso> | For a new user who really doesn't care about the implementation, it might be different. |
2021-10-06 19:27:04 +0200 | <dminuoso> | I know some do think that being forced to understand the inner workings is preferrable, but as long as the optics involved have clear semantics, is that really necessary? |
2021-10-06 19:27:11 +0200 | <dminuoso> | But this is definitely personal preference |
2021-10-06 19:27:14 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-06 19:27:22 +0200 | <awpr> | yeah, definitely curated error messages are more newcomer-friendly |
2021-10-06 19:27:29 +0200 | <monochrom> | I haven't used lens and optics, but I have a related philosophy comparing C++ operator overloading and Haskell type classes. |
2021-10-06 19:28:31 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection) |
2021-10-06 19:28:38 +0200 | <awpr> | part of the downside to me though is that it turns the internally-consistent mechanism into what looks like an ad-hoc set of specific rules |
2021-10-06 19:28:57 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) |
2021-10-06 19:28:59 +0200 | <dminuoso> | awpr: these ad-hoc rules are formalized though. |
2021-10-06 19:29:22 +0200 | <dminuoso> | awpr: In lens you simply have https://i.imgur.com/ALlbPRa.png |
2021-10-06 19:29:24 +0200 | <awpr> | and for me it's easier to internalize the profunctor workings than to memorize the table of composition rules |
2021-10-06 19:29:41 +0200 | <dminuoso> | So (%) isnt some adhoc nonsense, it's just an implementation of that very hierarchy. :) |
2021-10-06 19:29:49 +0200 | <dminuoso> | (or equivalent for profunctors) |
2021-10-06 19:29:51 +0200 | <monochrom> | If you make the mistake of using a polymorphic function that needs (+) on a type, say T, that doesn't support (+), ... |
2021-10-06 19:29:58 +0200 | <sshine> | as long as they provide an ergonomic, internally-consistent DSL, I don't mind that some parts are opaque. in fact, I prefer it, until I suddenly find that I don't. I guess you always reach a point where you wanna knock down a wall. |
2021-10-06 19:30:18 +0200 | <awpr> | right, I'm not saying it _is_ ad-hoc, just that if you're approaching from a new learner perspective, it looks ad-hoc and nobody ever lets you see the underlying principle |
2021-10-06 19:30:23 +0200 | <dminuoso> | awpr: Perhabs the ideal library would be backpack driven, such that you could pick your flavour. |
2021-10-06 19:30:33 +0200 | <monochrom> | C++ be like "at line 1023 in the polymorphic function, it uses (+), which is not supported" |
2021-10-06 19:30:42 +0200 | <dminuoso> | Assuming we had a working and documented backpack. |
2021-10-06 19:30:46 +0200 | <monochrom> | Haskell be like "T is not an instance of Num". |
2021-10-06 19:31:08 +0200 | <dminuoso> | Such that some users could use say `optics` in the raw profunctor style, and others could use it in the newtype style. |
2021-10-06 19:31:17 +0200 | <monochrom> | I prefer the Haskell way. It's clearly more modular. Why do I need to know that it's line 1023 in the function I'm calling. |
2021-10-06 19:31:55 +0200 | <awpr> | that would be pretty nice. I prefer the profunctor-only presentation over the weird hybrid van laarhoven + profunctors thing of `lens`, so I think a "veil-lifted" `optics` might be my ideal choice |
2021-10-06 19:33:14 +0200 | <awpr> | C++ concepts have been around for ... *looks at standardization progress* ...oh. |
2021-10-06 19:33:15 +0200 | <dminuoso> | awpr: Out of curiosity, what do you find to be "in the way" or "annoying" with the newtype style? |
2021-10-06 19:33:35 +0200 | <monochrom> | C++ concept is very recent. |
2021-10-06 19:33:43 +0200 | <dminuoso> | So far I haven't found anything that was arbitrarily constrained by it, everything that seems legal is also supported/allowed by optics. |
2021-10-06 19:34:01 +0200 | <dminuoso> | With some minor bits like being unable to view through a traversal (which lens supports), that I absolutely loathe. |
2021-10-06 19:34:16 +0200 | <dminuoso> | Oh that was poorly phrased. I absolutely loathe that lens does this. |
2021-10-06 19:34:18 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3) |
2021-10-06 19:34:22 +0200 | <dminuoso> | but that too is personal opinion |
2021-10-06 19:34:22 +0200 | <awpr> | I don't have any actual experience with `optics`, it's just a philosophical preference |
2021-10-06 19:34:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-10-06 19:34:32 +0200 | <awpr> | I'm sure it works great in practice |
2021-10-06 19:35:14 +0200 | <dminuoso> | awpr: If that's even a philosophical preference, shouldn't we just abandon data and newtype entirely? |
2021-10-06 19:35:32 +0200 | <dminuoso> | Or is there a limit to that philosophy? |
2021-10-06 19:36:28 +0200 | <dminuoso> | In my experience, hiding implementation details behind a veil that you cant accidentally pierce is generally a good thing. |
2021-10-06 19:36:47 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-10-06 19:36:51 +0200 | <awpr> | it's specific to optics: IMO there isn't a need for that to be a protected abstraction, because as far as I'm concerned the underlying mechanism is a clean enough thing to merit having a library for |
2021-10-06 19:37:34 +0200 | <dminuoso> | Yeah, I guess I can sympathize with that. |
2021-10-06 19:37:59 +0200 | <dminuoso> | profunctor optics is incredibly interesting, it has a certain mathematical beauty and it arises just naturally |
2021-10-06 19:38:14 +0200 | <awpr> | I guess the laws for the various optic types contradict that position, though. I've often wanted to export "a thing that has the type of a lens but isn't a lens", which doesn't fit into the un-newtyped view very well |
2021-10-06 19:38:39 +0200 | fef | (~thedawn@user/thedawn) |
2021-10-06 19:38:43 +0200 | <awpr> | like, it is a bit weird that `lens` imposes laws on types that exist independently of the `lens` package |
2021-10-06 19:38:52 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection) |
2021-10-06 19:38:55 +0200 | <awpr> | (modulo type aliases) |
2021-10-06 19:39:16 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) |
2021-10-06 19:39:33 +0200 | <c_wraith> | optics lets you create unlawful lenses |
2021-10-06 19:39:56 +0200 | ThatsWhatIDo | (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) |
2021-10-06 19:40:24 +0200 | <awpr> | hmm, I suppose that's a pragmatic choice. but it doesn't really change the situation |
2021-10-06 19:40:42 +0200 | <dminuoso> | Yeah I think this is a bit orthogonal, c_wraith. |
2021-10-06 19:40:45 +0200 | <awpr> | it's not that it's /possible/ to break the laws, it's that breaking the laws is a no-op |
2021-10-06 19:41:41 +0200 | <awpr> | as far as `lens` and GHC's type checker are concerned, my `forall f. Functor f => (a -> f b) -> s -> f t` that doesn't claim to uphold the lens laws /is/ a `Lens`, even though I didn't say it was |
2021-10-06 19:42:00 +0200 | <dminuoso> | awpr: I just dont see what real value you gain by having these details exposed. In my experience, it does somewhat frequently (depending your level of expertise and complexity of code) generate horrible to decipher diagnostics. |
2021-10-06 19:42:34 +0200 | <c_wraith> | well, trivially, you gain the ability to do things the library authors did not divine that you'd need |
2021-10-06 19:42:41 +0200 | <dminuoso> | About the only thing I can think of is that (.) is visually less annoying than (%), but emacs + font locking can address that if its a real issue... |
2021-10-06 19:43:16 +0200 | <dminuoso> | c_wraith: But that's not true. The Optic data constructor is exported. |
2021-10-06 19:43:29 +0200 | <dminuoso> | So you can break optics open or repackage them to construct anything of your chosing. |
2021-10-06 19:43:43 +0200 | <dminuoso> | The entire set of possible compositions is already built |
2021-10-06 19:43:56 +0200 | <awpr> | `view` being polymorphic over `Traversal`s would be one example of that. it's a fair point that it's error-prone, but I prefer less hand-holding over more |
2021-10-06 19:44:19 +0200 | <c_wraith> | I don't see any way to use optics combinators with new things that aren't already in the library |
2021-10-06 19:44:24 +0200 | <dminuoso> | awpr: you can still use foldOf mmm. |
2021-10-06 19:44:37 +0200 | <awpr> | I'm not trying to convince anyone to ditch `optics`, just explaining my personal preference |
2021-10-06 19:44:48 +0200 | emf | (~emf@2620:10d:c090:400::5:ad58) |
2021-10-06 19:44:52 +0200 | <dminuoso> | You just have to be explicit here, with `view` the behavior is completely hidden and relies on you ambiently knowing what a given composition even is |
2021-10-06 19:44:56 +0200 | <dminuoso> | Absolutely! |
2021-10-06 19:45:09 +0200 | <dminuoso> | Im not convincing you anyway, I really want to understand your position. |
2021-10-06 19:45:20 +0200 | <awpr> | totally valid to prefer `optics`, too, and perhaps even a truly better choice for codebases that frequently get newcomers |
2021-10-06 19:45:34 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
2021-10-06 19:45:39 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 19:46:25 +0200 | <maerwald> | I don't think this is about newcomers |
2021-10-06 19:46:57 +0200 | <awpr> | I feel the same way as with `instance Foldable ((,) a)`: it's a perfectly valid thing to have and use, and removing it is only desirable inasmuch as you want the compiler to second-guess you when you might have unintentionally used it |
2021-10-06 19:47:24 +0200 | <dminuoso> | awpr: The difference with that instance though, is that it's very easy to see that the argument to some fold happens to be a tuple., |
2021-10-06 19:47:31 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-10-06 19:47:35 +0200 | <awpr> | okay, s/newcomers/non-ivory-tower-elitists/ :) |
2021-10-06 19:47:44 +0200 | <dminuoso> | awpr: but realizing that your composition is suddenly no longer a lens but an (affine) traversal because there's a prism you didnt quite see... that's very hard |
2021-10-06 19:47:51 +0200 | <dminuoso> | because as long as there's a monoid instance, it will just work |
2021-10-06 19:47:54 +0200 | <maerwald> | awpr: I still don't understand |
2021-10-06 19:48:46 +0200 | <maerwald> | optics isn't a watered down version of lens for newcomers or noobs |
2021-10-06 19:48:52 +0200 | <dminuoso> | awpr: So with `view` you dont readily know whether this will fold a traversal, or view a singular point. That's my take on it. |
2021-10-06 19:48:55 +0200 | <maerwald> | it's a drop-in replacement |
2021-10-06 19:49:12 +0200 | <dminuoso> | maerwald: I dont think its their position that optics is for newcomers. |
2021-10-06 19:49:12 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection) |
2021-10-06 19:49:22 +0200 | <awpr> | no, but it adds complexity for the sake of better error messages, and I don't find that necessary for my own preferences |
2021-10-06 19:49:34 +0200 | <maerwald> | sure |
2021-10-06 19:49:37 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) |
2021-10-06 19:49:50 +0200 | <awpr> | so, if it's just me working on something, I'd rather have an un-newtyped form |
2021-10-06 19:49:54 +0200 | <maerwald> | but your preferences have little to do with newcomers |
2021-10-06 19:50:06 +0200 | <dminuoso> | awpr: to be fair, optics does have its problems. at times the type machinery for the diagnostics fails, and I get *truly* cryptic errors involving the helper typefamilies that are designed to help me. |
2021-10-06 19:50:19 +0200 | <dminuoso> | So yeah, rarely diagnostics get tons worse |
2021-10-06 19:50:48 +0200 | <maerwald> | the main reason I use optics is because `view` is stricter and the lens Monoid constraint caused a pretty bad production bug for me |
2021-10-06 19:51:05 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 19:51:16 +0200 | <awpr> | must just be an issue of poor wording. I just meant to acknowledge that for codebases with multiple contributors who aren't me or who don't share my admittedly eccentric preference, it's probably better to just use `optics` |
2021-10-06 19:51:17 +0200 | <dminuoso> | maerwald: My thought of, you can easily just use foldOf, and make the monoid folding an explicit choice! |
2021-10-06 19:52:14 +0200 | <dminuoso> | awpr: But perhaps you've already hilighted the core essence of what Im trying to understand. |
2021-10-06 19:52:19 +0200 | <awpr> | hmm. "this caused a real bug" is usually a convincing argument for me |
2021-10-06 19:52:27 +0200 | <dminuoso> | Your preference is based on a personal philosophical view |
2021-10-06 19:52:45 +0200 | <maerwald> | my coding preferences are mainly shaped by PTSD experiences |
2021-10-06 19:53:05 +0200 | <awpr> | er, "multiple contributors who aren't me" <- not to suggest there are multiple of me |
2021-10-06 19:53:47 +0200 | <awpr> | notwithstanding any Champaign meteorologist, UK storm photographer, or former UK drug lord who might share my name |
2021-10-06 19:53:50 +0200 | <dminuoso> | My personal story behind optics is, I never used lens becaue I could never translate these magical constraint compositions into what type of optic they were. And I like putting things like optics into bindings, but that conflicted with my other rule of annotating almost every binding. |
2021-10-06 19:54:08 +0200 | <dminuoso> | And `optics` allowed me to do this, so `optics` is when I started using this DSL. :P |
2021-10-06 19:55:43 +0200 | <maerwald> | I still haven't found a real use case for optics... it's more like convenience, being cool or having too much time on your hands. If you don't use them a lot, the intelectual complexity penalty isn't worth it most of the time |
2021-10-06 19:55:53 +0200 | <maerwald> | because I can't understand then lens code I wrote a couple months ago |
2021-10-06 19:56:03 +0200 | <dminuoso> | maerwald: yeah, we only use them extensively in one project |
2021-10-06 19:56:08 +0200 | <geekosaur> | same here |
2021-10-06 19:56:09 +0200 | <dminuoso> | but we really go bold with optics in that one. :) |
2021-10-06 19:56:35 +0200 | <geekosaur> | every so often I look lens/optics over again and decide I don't really have a use for them yet |
2021-10-06 19:56:54 +0200 | <awpr> | for me the only highly compelling use case is compositions of traversals, especially over things that don't fit the kind signature of `Traversable` |
2021-10-06 19:57:05 +0200 | <c_wraith> | Man, optics really doesn't support most of the things I do with lenses. (trivial data access is boring. concise expression of complex data access is where it's at) |
2021-10-06 19:57:16 +0200 | <c_wraith> | optics doesn't even have universeOf. :( |
2021-10-06 19:58:10 +0200 | <c_wraith> | err. cosmosOf is the one I was thinking of. But optics doesn't have that, either |
2021-10-06 19:59:00 +0200 | <dminuoso> | Mmm, why was I thinking optics had Plated |
2021-10-06 20:00:11 +0200 | <ProofTechnique> | My main use of optics lately has been dealing with responses from really terribly designed GraphQL schemas. Nested optional data is _gross_ |
2021-10-06 20:00:32 +0200 | <dminuoso> | c_wraith: In some way this actually hilights how lenses/optics are sometimes used really well. You have this particular usage pattern you can best describe with this style. |
2021-10-06 20:00:38 +0200 | <dminuoso> | And nothing else comes close. |
2021-10-06 20:00:51 +0200 | <c_wraith> | yeah, that's true |
2021-10-06 20:03:15 +0200 | <dminuoso> | https://gist.github.com/dminuoso/38033cec207a51cf191fad8976e69a40 |
2021-10-06 20:03:27 +0200 | <dminuoso> | This is the kind of pattern we use in our sdn compiler very often |
2021-10-06 20:08:17 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-10-06 20:09:34 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 20:11:22 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection) |
2021-10-06 20:11:46 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) |
2021-10-06 20:12:44 +0200 | ThatsWhatIDo | (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) (Quit: Leaving) |
2021-10-06 20:12:58 +0200 | ubert | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-10-06 20:12:59 +0200 | ub | ubert |
2021-10-06 20:13:26 +0200 | emf | (~emf@2620:10d:c090:400::5:ad58) (Ping timeout: 245 seconds) |
2021-10-06 20:13:53 +0200 | mortemeur | (~mortemeur@pool-173-76-107-201.bstnma.fios.verizon.net) |
2021-10-06 20:17:52 +0200 | emf | (~emf@163.114.132.5) |
2021-10-06 20:20:06 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 20:20:23 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 20:21:42 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection) |
2021-10-06 20:22:07 +0200 | Null_A | (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) |
2021-10-06 20:27:07 +0200 | kuribas | (~user@ptr-25vy0i833ltdcqizn0k.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2021-10-06 20:27:20 +0200 | kaol | (~kaol@178.62.241.234) (Remote host closed the connection) |
2021-10-06 20:27:50 +0200 | ThatsWhatIDo | (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) |
2021-10-06 20:27:54 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 20:30:59 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:733c:b68b:7b22:df97) (Remote host closed the connection) |
2021-10-06 20:31:27 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f81d:7133:81c9:b91d) (Remote host closed the connection) |
2021-10-06 20:37:46 +0200 | ThatsWhatIDo | (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) (Quit: Leaving) |
2021-10-06 20:38:24 +0200 | emf_ | (~emf@2620:10d:c090:400::5:ad58) |
2021-10-06 20:40:14 +0200 | wonko | (~wjc@62.115.229.50) |
2021-10-06 20:40:31 +0200 | emf | (~emf@163.114.132.5) (Ping timeout: 245 seconds) |
2021-10-06 20:41:18 +0200 | ub | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 20:41:59 +0200 | ubert | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2021-10-06 20:42:00 +0200 | ub | ubert |
2021-10-06 20:42:11 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 20:43:01 +0200 | emf_ | (~emf@2620:10d:c090:400::5:ad58) (Ping timeout: 245 seconds) |
2021-10-06 20:44:59 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 20:45:07 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 20:45:29 +0200 | jespada | (~jespada@2803:9800:9842:7a62:2d4b:7b80:ce15:fc84) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-10-06 20:46:06 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2021-10-06 20:47:00 +0200 | emf | (~emf@2620:10d:c090:400::5:9760) |
2021-10-06 20:48:18 +0200 | mmohammadi9812 | (~Mohammad@188.210.104.46) |
2021-10-06 20:55:16 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Ping timeout: 252 seconds) |
2021-10-06 20:56:11 +0200 | yinghua | (~yinghua@2800:2121:1400:900:550d:5356:b600:ab96) (Remote host closed the connection) |
2021-10-06 20:56:34 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) |
2021-10-06 20:57:44 +0200 | yinghua | (~yinghua@2800:2121:1400:900:9813:e2cc:52c1:9b50) |
2021-10-06 21:03:07 +0200 | sneedsfeed | (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) (Ping timeout: 256 seconds) |
2021-10-06 21:03:14 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 21:04:02 +0200 | Pickchea | (~private@user/pickchea) |
2021-10-06 21:07:01 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-10-06 21:07:34 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-10-06 21:07:56 +0200 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
2021-10-06 21:09:48 +0200 | ubert | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Quit: ubert) |
2021-10-06 21:09:49 +0200 | jespada | (~jespada@2803:9800:9842:7a62:24b8:8bfb:be5c:585b) |
2021-10-06 21:09:57 +0200 | raoul | (~raoul@95.179.203.88) (Quit: Ping timeout (120 seconds)) |
2021-10-06 21:12:20 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection) |
2021-10-06 21:13:39 +0200 | unmanbearpig | (~unmanbear@user/unmanbearpig) (Ping timeout: 245 seconds) |
2021-10-06 21:14:06 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 21:14:07 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 21:14:07 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 21:15:28 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
2021-10-06 21:16:03 +0200 | ubert | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) |
2021-10-06 21:16:32 +0200 | kawpuh | (~kawpuh@66.42.81.80) (Quit: Ping timeout (120 seconds)) |
2021-10-06 21:16:48 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) |
2021-10-06 21:18:22 +0200 | CiaoSen | (~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-10-06 21:19:04 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Remote host closed the connection) |
2021-10-06 21:23:58 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-10-06 21:29:13 +0200 | elcaro | (~anonymous@45.32.191.75) (Ping timeout: 252 seconds) |
2021-10-06 21:30:02 +0200 | Andrew | (~andrew@user/andrewyu) (Remote host closed the connection) |
2021-10-06 21:30:27 +0200 | ubert | (~Thunderbi@178.115.45.189.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
2021-10-06 21:30:57 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 21:31:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-10-06 21:34:08 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 21:34:28 +0200 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection) |
2021-10-06 21:34:46 +0200 | byorgey | (~byorgey@155.138.238.211) (Ping timeout: 252 seconds) |
2021-10-06 21:35:38 +0200 | tfeb | (~tfb@88.98.95.237) |
2021-10-06 21:36:26 +0200 | byorgey | (~byorgey@155.138.238.211) |
2021-10-06 21:37:38 +0200 | raoul | (~raoul@95.179.203.88) |
2021-10-06 21:40:30 +0200 | AndrewYu | (~andrew@user/andrewyu) |
2021-10-06 21:40:48 +0200 | elcaro | (~anonymous@45.32.191.75) |
2021-10-06 21:41:14 +0200 | kawpuh | (~kawpuh@66.42.81.80) |
2021-10-06 21:41:22 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-10-06 21:46:04 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 21:47:22 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Ping timeout: 265 seconds) |
2021-10-06 21:47:25 +0200 | unmanbearpig | (~unmanbear@user/unmanbearpig) |
2021-10-06 21:47:38 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-10-06 21:50:45 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-10-06 21:53:39 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-10-06 21:55:10 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2021-10-06 21:55:11 +0200 | hendursaga | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-10-06 21:55:28 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-10-06 21:55:34 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-10-06 21:58:51 +0200 | cigsender | (~mbrown@74.124.58.162) (Quit: leaving) |
2021-10-06 22:00:47 +0200 | mmohammadi9812 | (~Mohammad@188.210.104.46) (Remote host closed the connection) |
2021-10-06 22:01:10 +0200 | acidjnk_new | (~acidjnk@p200300d0c703cb14e484f2ea659578d3.dip0.t-ipconnect.de) |
2021-10-06 22:04:47 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-10-06 22:05:02 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 246 seconds) |
2021-10-06 22:05:31 +0200 | yinghua | (~yinghua@2800:2121:1400:900:9813:e2cc:52c1:9b50) (Ping timeout: 245 seconds) |
2021-10-06 22:06:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-10-06 22:06:37 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-10-06 22:07:24 +0200 | juhp | (~juhp@128.106.188.220) |
2021-10-06 22:09:26 +0200 | tfeb | (~tfb@88.98.95.237) (Quit: died) |
2021-10-06 22:11:43 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 22:15:09 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 22:16:50 +0200 | yinghua | (~yinghua@2800:2121:1400:900:9813:e2cc:52c1:9b50) |
2021-10-06 22:18:18 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 22:19:28 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) |
2021-10-06 22:21:21 +0200 | wonko | (~wjc@62.115.229.50) (Ping timeout: 245 seconds) |
2021-10-06 22:23:11 +0200 | cigsender | (~cigsender@74.124.58.162) |
2021-10-06 22:23:13 +0200 | terrorjack | (~terrorjac@static.3.200.12.49.clients.your-server.de) |
2021-10-06 22:23:51 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Ping timeout: 245 seconds) |
2021-10-06 22:24:35 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
2021-10-06 22:26:32 +0200 | mei | (~mei@user/mei) (Read error: Connection reset by peer) |
2021-10-06 22:27:06 +0200 | mei | (~mei@user/mei) |
2021-10-06 22:27:24 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 245 seconds) |
2021-10-06 22:27:38 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2021-10-06 22:33:14 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
2021-10-06 22:34:18 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 22:39:05 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-10-06 22:41:44 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-10-06 22:42:27 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 22:44:29 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-10-06 22:47:24 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 22:49:14 +0200 | jtomas | (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 265 seconds) |
2021-10-06 22:49:25 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-10-06 22:53:16 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-06 22:53:57 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer) |
2021-10-06 22:54:47 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-10-06 23:09:30 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-10-06 23:09:30 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-10-06 23:09:30 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-10-06 23:09:36 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-10-06 23:11:00 +0200 | jjhoo | (~jahakala@user/jjhoo) (Ping timeout: 260 seconds) |
2021-10-06 23:14:22 +0200 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 265 seconds) |
2021-10-06 23:14:51 +0200 | mei | (~mei@user/mei) (Ping timeout: 265 seconds) |
2021-10-06 23:15:49 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) |
2021-10-06 23:17:42 +0200 | ru0mad | (~ru0mad@82-64-17-144.subs.proxad.net) |
2021-10-06 23:18:50 +0200 | ru0mad | (~ru0mad@82-64-17-144.subs.proxad.net) () |
2021-10-06 23:19:27 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-10-06 23:19:54 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2021-10-06 23:22:12 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-10-06 23:23:28 +0200 | Cajun | (~Cajun@user/cajun) |
2021-10-06 23:23:45 +0200 | bdaed | (~bdaed@185.234.208.208.r.toneticgroup.pl) |
2021-10-06 23:24:16 +0200 | chomwitt | (~chomwitt@94.66.61.137) (Ping timeout: 245 seconds) |
2021-10-06 23:24:43 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-10-06 23:25:21 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 23:25:28 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-10-06 23:28:38 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-10-06 23:33:48 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-10-06 23:34:49 +0200 | fendor | (~fendor@178.115.78.172.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-10-06 23:37:59 +0200 | brainfreeze | (~brainfree@2a03:1b20:4:f011::20d) |
2021-10-06 23:38:51 +0200 | bdaed | (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds) |
2021-10-06 23:43:41 +0200 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-10-06 23:45:41 +0200 | yinghua | (~yinghua@2800:2121:1400:900:9813:e2cc:52c1:9b50) (Remote host closed the connection) |
2021-10-06 23:45:58 +0200 | yinghua | (~yinghua@2800:2121:1400:900:550d:5356:b600:ab96) |
2021-10-06 23:50:46 +0200 | dermato | (~dermatobr@cpe-70-114-219-76.austin.res.rr.com) |
2021-10-06 23:53:36 +0200 | max22- | (~maxime@2a01cb08833598007fcfb2955ee7c812.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-10-06 23:54:24 +0200 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |