2021-08-08 00:04:53 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-08-08 00:05:40 +0200 | ukari | (~ukari@user/ukari) |
2021-08-08 00:06:04 +0200 | aegon | (~mike@174.127.249.180) |
2021-08-08 00:06:15 +0200 | <int-e> | c_wraith: I'm looking at https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Arr.hs#L175-189 and it's horrible, but not obviously bad from a performance PoV? In any case, superficially it does what you said: create a mutable array, then (unsafe-) freeze it. |
2021-08-08 00:06:34 +0200 | <aegon> | hey all, I'm trying to follow the real world scotty example and adapt it to my use case and I'm getting an error I don't understand why the example does not get |
2021-08-08 00:06:40 +0200 | <aegon> | https://paste.tomsmeding.com/aTqmQD5w |
2021-08-08 00:07:07 +0200 | <aegon> | i get that the Storage r m constraint doesn't necissarily fully define what r must be but my understanding is that that is by design and not needed to be defined at this point |
2021-08-08 00:07:33 +0200 | <int-e> | c_wraith: it may actually be bad if list fusion doesn't kick in. |
2021-08-08 00:07:58 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Ping timeout: 272 seconds) |
2021-08-08 00:10:27 +0200 | <aegon> | oh shoot, do notation messed me up, found it |
2021-08-08 00:10:30 +0200 | exarkun | (~exarkun@user/exarkun) (Ping timeout: 272 seconds) |
2021-08-08 00:11:39 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2) |
2021-08-08 00:14:51 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-08-08 00:16:07 +0200 | cawfee | (~root@2406:3003:2077:2758::babe) |
2021-08-08 00:36:24 +0200 | alx741 | (~alx741@186.178.108.253) |
2021-08-08 00:39:46 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-08-08 00:40:24 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-08-08 00:47:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 00:47:17 +0200 | vysn | (~vysn@user/vysn) (Remote host closed the connection) |
2021-08-08 00:48:33 +0200 | notzmv | (~zmv@user/notzmv) |
2021-08-08 00:53:48 +0200 | aegon | (~mike@174.127.249.180) (Quit: leaving) |
2021-08-08 01:02:08 +0200 | exarkun | (~exarkun@user/exarkun) |
2021-08-08 01:04:25 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 01:08:55 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-08-08 01:12:28 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 01:12:54 +0200 | sander | (~sander@user/sander) (Ping timeout: 250 seconds) |
2021-08-08 01:13:31 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 258 seconds) |
2021-08-08 01:13:57 +0200 | euouae | (~euouae@user/euouae) |
2021-08-08 01:21:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-08-08 01:23:29 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
2021-08-08 01:27:19 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 01:34:20 +0200 | markpythonicbitc | (~markpytho@2601:647:5a00:35:147a:d585:e4cc:401c) |
2021-08-08 01:54:45 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-08 01:59:42 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 245 seconds) |
2021-08-08 02:03:20 +0200 | <koz> | I have 'newtype Foo (a :: Type) = Foo Bar'. I want to via-derive certain instances based on Bar for some specific Foo Baz. Can I write a non-standalone via derivation for this, or do I need a standalone? |
2021-08-08 02:14:33 +0200 | <euouae> | How can I learn how to use Hedgehog to write unit tests? |
2021-08-08 02:14:45 +0200 | Atum_ | (~IRC@user/atum/x-2392232) (Quit: Atum_) |
2021-08-08 02:14:46 +0200 | <euouae> | I don't know where to find the docs, apart from the haddock stuff on package |
2021-08-08 02:14:51 +0200 | hubvu | (sid495858@tinside.irccloud.com) (Ping timeout: 258 seconds) |
2021-08-08 02:14:51 +0200 | <euouae> | hackage* |
2021-08-08 02:14:54 +0200 | <koz> | euouae: Is there something specific you're not sure about? Or do you just not know where to begin as such? |
2021-08-08 02:15:01 +0200 | <euouae> | yeh I don't know where to begin |
2021-08-08 02:15:07 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds) |
2021-08-08 02:15:32 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 02:16:06 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-08 02:16:20 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-08-08 02:17:04 +0200 | <koz> | Is there something specific you want to test? |
2021-08-08 02:17:11 +0200 | hubvu | (sid495858@id-495858.tinside.irccloud.com) |
2021-08-08 02:17:13 +0200 | <koz> | It'll help if we have a specific example to start from. |
2021-08-08 02:17:47 +0200 | <euouae> | I don't have anything specific I just want to understand how Hedgehog is used |
2021-08-08 02:17:57 +0200 | <euouae> | My understanding of it is that it is generating random stuff to test functions with |
2021-08-08 02:18:06 +0200 | <euouae> | and that I need to write properties that functions should have |
2021-08-08 02:18:06 +0200 | <koz> | euouae: That's a _small_ part of what it does. |
2021-08-08 02:18:29 +0200 | <koz> | It does do this, yes, but it also shrinks failing randomly-generated things to try and create a minimal repro case. |
2021-08-08 02:18:57 +0200 | <euouae> | That's great, how did you find out? Just reading the haddock docs? |
2021-08-08 02:19:06 +0200 | <euouae> | Kind of blows my mind that that's how people learn :P |
2021-08-08 02:19:10 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-08 02:19:15 +0200 | <koz> | No - Hedgehog assumes you're at least familiar with QuickCheck and its principles. |
2021-08-08 02:19:21 +0200 | <euouae> | Oh I see |
2021-08-08 02:19:21 +0200 | <dsal> | euouae: You might find learning about QuickCheck to be a useful start. The concept is that you don't "write tests" as much as define properties that will be true for any given set of input. |
2021-08-08 02:19:23 +0200 | <koz> | Hedgehog is QuickCheck + different engineering choices. |
2021-08-08 02:19:50 +0200 | xff0x | (~xff0x@2001:1a81:5329:ea00:e083:f7b4:2cd3:667d) (Ping timeout: 258 seconds) |
2021-08-08 02:19:51 +0200 | <euouae> | strange though that quick heck is not even mentioned once |
2021-08-08 02:20:00 +0200 | <euouae> | quickcheck* in the website or readme or the docs... |
2021-08-08 02:20:01 +0200 | <koz> | euouae: I agree. |
2021-08-08 02:20:03 +0200 | <dsal> | It's "property testing" |
2021-08-08 02:20:12 +0200 | <monochrom> | Me, my POV is it blows my mind that looking for internet hearsay is how millenials learn. |
2021-08-08 02:20:29 +0200 | <euouae> | monochrom: Are you talking about me? :P |
2021-08-08 02:20:41 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 02:20:46 +0200 | xff0x | (~xff0x@2001:1a81:5329:ea00:7c78:a917:7a91:b7c4) |
2021-08-08 02:21:29 +0200 | <dsal> | euouae: what kind of thing are you wanting to test? |
2021-08-08 02:21:51 +0200 | <euouae> | I haven't yet written anything. I figured that once I start writing stuff, I can use Hedgehog to test it |
2021-08-08 02:21:56 +0200 | <euouae> | not because it needs testing. Just to build a habit of it |
2021-08-08 02:22:04 +0200 | <euouae> | Just like how I write docs, it's toy projects |
2021-08-08 02:23:12 +0200 | goepsilongo | (~goepsilon@2603-7000-ab00-62ed-f514-c7d8-9e18-a2d5.res6.spectrum.com) |
2021-08-08 02:24:08 +0200 | <dsal> | Well, the idea is that you make a thing and then you have properties that should be true based on your intention. e.g., if I add two numbers together, the result shouldn't be smaller than either of the two numbers: |
2021-08-08 02:24:09 +0200 | <dsal> | @check \x y -> (x::Int8) + y > x && x + y > y |
2021-08-08 02:24:11 +0200 | <lambdabot> | *** Failed! Falsifiable (after 1 test and 4 shrinks): |
2021-08-08 02:24:11 +0200 | <lambdabot> | -1 -1 |
2021-08-08 02:24:28 +0200 | <dsal> | I didn't think about what the numbers were, but QC shows me a simple scenario. |
2021-08-08 02:24:56 +0200 | <euouae> | Just don't add 0 |
2021-08-08 02:25:47 +0200 | <euouae> | So what are things like Gen.list and Range.linear? |
2021-08-08 02:25:59 +0200 | <dsal> | @check \x y -> let s = (x+y) :: Word8 in s >= x && s >= y |
2021-08-08 02:26:00 +0200 | <lambdabot> | *** Failed! Falsifiable (after 20 tests and 7 shrinks): |
2021-08-08 02:26:00 +0200 | <lambdabot> | 219 248 |
2021-08-08 02:26:25 +0200 | <dsal> | In QC, there's an Arbitrary class that is used to create values. In hedgehog, you do that more explicitly in your test. |
2021-08-08 02:27:00 +0200 | <euouae> | I see, so the engineering choices referred to above are about how you generate the stuff you want to stuff in your testing functions |
2021-08-08 02:27:33 +0200 | <euouae> | But why should the generators involve a Monad? Why a MonadGen? |
2021-08-08 02:28:08 +0200 | <dsal> | Also a lot about shrinking. Shrinking is essential and kind of hard in QC, but mostly built-in in hedgehog. |
2021-08-08 02:28:19 +0200 | <euouae> | Hmmm |
2021-08-08 02:28:23 +0200 | <dsal> | Generators are a monad because they generate arbitrary values based on a random seed. |
2021-08-08 02:28:39 +0200 | <euouae> | The shrinking is achieved how exactly? |
2021-08-08 02:28:44 +0200 | <euouae> | I saw something about trees in the docs |
2021-08-08 02:28:53 +0200 | <dsal> | I'm pretty new to hedgehog. I still find QC easier except when I have complicated shrinks to write. |
2021-08-08 02:29:03 +0200 | <dsal> | These aren't things you have to think about in the short term. :) |
2021-08-08 02:29:18 +0200 | <Axman6> | you might want to watch https://www.youtube.com/watch?v=AIv_9T0xKEo |
2021-08-08 02:29:35 +0200 | <euouae> | Nice, thank you |
2021-08-08 02:29:56 +0200 | <Axman6> | and IIRC https://www.youtube.com/watch?v=boBD1qhCQ94 is also quite good |
2021-08-08 02:31:04 +0200 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat) |
2021-08-08 02:31:56 +0200 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) |
2021-08-08 02:32:13 +0200 | <euouae> | Thank you |
2021-08-08 02:32:26 +0200 | <euouae> | I'm going to watch these later today and try to use Hedgehog on my Hangman game lol |
2021-08-08 02:32:46 +0200 | <Axman6> | Make sure you've got enough rope! |
2021-08-08 02:33:04 +0200 | <euouae> | hehe |
2021-08-08 02:35:35 +0200 | <euouae> | koz: I'm sorry, I didn't mean to steal your spotlight of your question |
2021-08-08 02:35:43 +0200 | <koz> | euouae: There's nothing to apologize for. |
2021-08-08 02:36:00 +0200 | <koz> | > :t showHex |
2021-08-08 02:36:01 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
2021-08-08 02:36:08 +0200 | <koz> | > showHex 20 " " |
2021-08-08 02:36:10 +0200 | <lambdabot> | "14 " |
2021-08-08 02:36:18 +0200 | <koz> | OK, so that _does_ work how I thought it did. |
2021-08-08 02:40:36 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2021-08-08 02:40:50 +0200 | dajoer | (~david@user/gvx) |
2021-08-08 02:42:14 +0200 | <koz> | Is there a way to make showHex output capitals, and always print at least 2 symbols, or is this firmly in 'do it your damned self' territory? |
2021-08-08 02:42:29 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-08-08 02:45:06 +0200 | <geekosaur> | may be in Text.Printf territory |
2021-08-08 02:45:44 +0200 | <geekosaur> | > printf "%02X" 13 |
2021-08-08 02:45:46 +0200 | <lambdabot> | error: |
2021-08-08 02:45:46 +0200 | <lambdabot> | • Ambiguous type variable ‘a0’ arising from a use of ‘show_M628767080926... |
2021-08-08 02:45:46 +0200 | <lambdabot> | prevents the constraint ‘(Show a0)’ from being solved. |
2021-08-08 02:45:55 +0200 | <geekosaur> | > printf "%02X" 13 :: String |
2021-08-08 02:45:56 +0200 | <lambdabot> | "0D" |
2021-08-08 02:46:29 +0200 | <koz> | > printf "| %02X | %02X |" (12 :: Word8) (57 :: Word8) |
2021-08-08 02:46:30 +0200 | <lambdabot> | error: |
2021-08-08 02:46:30 +0200 | <lambdabot> | • Ambiguous type variable ‘a0’ arising from a use of ‘show_M110101264447... |
2021-08-08 02:46:30 +0200 | <lambdabot> | prevents the constraint ‘(Show a0)’ from being solved. |
2021-08-08 02:46:38 +0200 | <koz> | > printf "| %02X | %02X |" (12 :: Word8) (57 :: Word8) :: String |
2021-08-08 02:46:40 +0200 | <lambdabot> | "| 0C | 39 |" |
2021-08-08 02:46:43 +0200 | <koz> | :D |
2021-08-08 02:46:46 +0200 | <koz> | Perfect, thanks! |
2021-08-08 02:51:15 +0200 | enoq | (~enoq@194-208-179-35.lampert.tv) (Quit: enoq) |
2021-08-08 02:51:30 +0200 | pe200012 | (~pe200012@113.105.10.33) (Ping timeout: 240 seconds) |
2021-08-08 02:51:46 +0200 | pe200012 | (~pe200012@218.107.49.28) |
2021-08-08 02:58:47 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 03:00:29 +0200 | xsperry | (~as@user/xsperry) (Remote host closed the connection) |
2021-08-08 03:05:06 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-08-08 03:12:42 +0200 | xff0x | (~xff0x@2001:1a81:5329:ea00:7c78:a917:7a91:b7c4) (Ping timeout: 240 seconds) |
2021-08-08 03:14:47 +0200 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 252 seconds) |
2021-08-08 03:14:58 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:e6ab:58ee:e458:ff3a) |
2021-08-08 03:15:45 +0200 | <dsal> | euouae: Let me know if you want some help conceiving of properties. It's a distinct skill. e.g. your `gameOver` type function signals `Won` forAll cases where all letters have been guessed. There's a library called hedgehog-corpus that is useful for arbitrary string inputs. |
2021-08-08 03:17:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 03:28:04 +0200 | euouae | (~euouae@user/euouae) (Ping timeout: 246 seconds) |
2021-08-08 03:35:37 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 03:39:57 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-08-08 03:46:21 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-08-08 03:46:28 +0200 | goepsilongo | (~goepsilon@2603-7000-ab00-62ed-f514-c7d8-9e18-a2d5.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com) |
2021-08-08 03:52:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-08-08 03:58:47 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-08-08 03:58:56 +0200 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) |
2021-08-08 04:07:54 +0200 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 240 seconds) |
2021-08-08 04:13:37 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 04:13:50 +0200 | byorgey | (~byorgey@155.138.238.211) |
2021-08-08 04:14:37 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:55d2:a8d9:e00b:3a3a) |
2021-08-08 04:15:07 +0200 | pe200012 | (~pe200012@218.107.49.28) (Ping timeout: 245 seconds) |
2021-08-08 04:15:14 +0200 | pe200012_ | (~pe200012@218.107.49.28) |
2021-08-08 04:15:59 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:d1df:9f45:a279:94ce) (Ping timeout: 258 seconds) |
2021-08-08 04:16:02 +0200 | euouae | (~euouae@user/euouae) |
2021-08-08 04:16:09 +0200 | <euouae> | Hello |
2021-08-08 04:16:30 +0200 | <euouae> | I get issues with stack and `stack ghci` related to Paths_* stuff |
2021-08-08 04:16:37 +0200 | <euouae> | In every project I make, what is that error about? |
2021-08-08 04:18:08 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-08-08 04:19:27 +0200 | <dsal> | What error? |
2021-08-08 04:19:36 +0200 | <dsal> | Are you using nix |
2021-08-08 04:19:37 +0200 | <dsal> | ? |
2021-08-08 04:20:24 +0200 | <euouae> | /msg tomsmeding Can you delete this paste please? https://paste.tomsmeding.com/PY3P7tsP I accidentally pasted my full name |
2021-08-08 04:20:27 +0200 | <euouae> | Ah great |
2021-08-08 04:20:28 +0200 | <euouae> | lol |
2021-08-08 04:21:01 +0200 | <dsal> | selfdox |
2021-08-08 04:21:04 +0200 | <koz> | This is a slightly odd one. Is there a conversion between Ordering and 8-bit numbers (signed or unsigned, I don't really mind) such that we can define a branchless equivalent to <> on Orderings on said numbers? |
2021-08-08 04:21:19 +0200 | <euouae> | Anyway deal check that dpaste if you want to see the error I'm getting dsal |
2021-08-08 04:21:38 +0200 | <dsal> | > (subtract 1) . fromEnum $ LT |
2021-08-08 04:21:39 +0200 | <lambdabot> | -1 |
2021-08-08 04:21:47 +0200 | td_ | (~td@94.134.91.140) (Ping timeout: 245 seconds) |
2021-08-08 04:21:48 +0200 | <dsal> | > (subtract 1) . fromEnum <$> [LT .. ] |
2021-08-08 04:21:49 +0200 | <lambdabot> | [-1,0,1] |
2021-08-08 04:21:53 +0200 | <koz> | (meaning that if I take two Orderings x and y, convert them, then do this operation and convert back, it should be the same as x <> y) |
2021-08-08 04:22:52 +0200 | zmt00 | (~zmt00@user/zmt00) |
2021-08-08 04:22:52 +0200 | <dsal> | euouae: Oh. I just ignore those warnings. |
2021-08-08 04:23:02 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-08 04:23:16 +0200 | <euouae> | deal but note that I don't get the symbols |
2021-08-08 04:23:25 +0200 | <euouae> | dsal: For example `:t hiddenWord` like I do |
2021-08-08 04:23:26 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-08 04:23:28 +0200 | <dsal> | There are multiple targets in your project so there's ambiguity. |
2021-08-08 04:23:39 +0200 | <euouae> | the other target being `tests`? |
2021-08-08 04:23:49 +0200 | <dsal> | Are those symbols in Main? |
2021-08-08 04:23:54 +0200 | <euouae> | in Lib |
2021-08-08 04:23:54 +0200 | td_ | (~td@94.134.91.249) |
2021-08-08 04:24:08 +0200 | <dsal> | Are they exported? |
2021-08-08 04:24:12 +0200 | <dsal> | :browse Lib |
2021-08-08 04:24:14 +0200 | <euouae> | Oops |
2021-08-08 04:24:38 +0200 | <euouae> | That was my issue, I thought maybe the warning was the issue |
2021-08-08 04:26:10 +0200 | Melantha | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-08-08 04:30:08 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-08-08 04:30:08 +0200 | FinnElija | Guest19 |
2021-08-08 04:30:08 +0200 | Guest19 | (~finn_elij@user/finn-elija/x-0085643) (Killed (silver.libera.chat (Nickname regained by services))) |
2021-08-08 04:30:08 +0200 | finn_elija | FinnElija |
2021-08-08 04:35:15 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-08-08 04:36:21 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-08-08 04:44:53 +0200 | euouae | (~euouae@user/euouae) (Quit: Ping timeout (120 seconds)) |
2021-08-08 04:46:11 +0200 | euouae | (~euouae@user/euouae) |
2021-08-08 04:51:48 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-08-08 04:52:24 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-08 04:56:30 +0200 | euouae | (~euouae@user/euouae) (Quit: Ping timeout (120 seconds)) |
2021-08-08 04:57:37 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-08-08 05:00:20 +0200 | damxsa | (~damx@2001:16a2:cfd8:e500:40e7:6a69:a396:39e9) |
2021-08-08 05:07:32 +0200 | MQ-17J | (~MQ-17J@8.21.10.94) (Ping timeout: 272 seconds) |
2021-08-08 05:11:15 +0200 | damxsa | (~damx@2001:16a2:cfd8:e500:40e7:6a69:a396:39e9) (Quit: Leaving) |
2021-08-08 05:11:18 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-08-08 05:12:30 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Quit: Leaving) |
2021-08-08 05:15:42 +0200 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) |
2021-08-08 05:17:18 +0200 | euouae | (~euouae@user/euouae) |
2021-08-08 05:18:00 +0200 | <euouae> | Here's my hangman game although I'm not satisfied with this one https://paste.tomsmeding.com/EIfcTeUc |
2021-08-08 05:18:20 +0200 | <euouae> | It is too hack-y, I'd rather have more data instead of functions such as `isWon` |
2021-08-08 05:18:36 +0200 | <euouae> | and all these conditions in the game loop and character guessing function |
2021-08-08 05:20:31 +0200 | PinealGlandOptic | (~PinealGla@37.115.210.35) (Quit: leaving) |
2021-08-08 05:24:05 +0200 | <euouae> | Yeah this is pointless to test too. I should try to write something way more complicated |
2021-08-08 05:27:06 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds) |
2021-08-08 05:28:23 +0200 | alx741 | (~alx741@186.178.108.253) (Quit: alx741) |
2021-08-08 05:28:24 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2021-08-08 05:33:54 +0200 | <jle`> | i love haskell hangman implementations |
2021-08-08 05:34:46 +0200 | <euouae> | I wonder if I can write a hangman implementation using banana |
2021-08-08 05:34:54 +0200 | <euouae> | reactive-banana* |
2021-08-08 05:34:57 +0200 | <jle`> | euouae: one thing you can do is keep a set of letters-to-guess |
2021-08-08 05:35:03 +0200 | <jle`> | and delete items as they are guessed |
2021-08-08 05:35:10 +0200 | <jle`> | then when your letters-to-guess set is empty, the game is won |
2021-08-08 05:35:18 +0200 | <jle`> | basically invert your 'guesses' |
2021-08-08 05:35:53 +0200 | <jle`> | definitely not a necessary change, but i'm guessing this is the sort of thing you are looking for if you want more "data-encoded" logic than function-driven |
2021-08-08 05:36:14 +0200 | <jle`> | where the results are self-evident based on the structure of the data, instead of having to write a function with business logic |
2021-08-08 05:36:25 +0200 | <euouae> | One thing I did in a previous implementation was to keep a "previousState" which encoded what happened at the last iteration |
2021-08-08 05:36:41 +0200 | <euouae> | so a newly-created game would have "New" and if there was a wrong guess, it'd be "WrongGuess", etc |
2021-08-08 05:37:38 +0200 | pe200012_ | (~pe200012@218.107.49.28) (Ping timeout: 258 seconds) |
2021-08-08 05:37:42 +0200 | pe200012 | (~pe200012@113.105.10.33) |
2021-08-08 05:37:45 +0200 | Skyfire | (~pyon@user/pyon) |
2021-08-08 05:37:47 +0200 | <euouae> | so instead of an isWon function, I could just guard on "Won" state |
2021-08-08 05:38:16 +0200 | <jle`> | hm, storing "projectsion" of data i think may be a step in the wrong direction, unless it's for performance reasons |
2021-08-08 05:38:34 +0200 | <jle`> | if you stored `lettersLeftUnguessed` as a set, then that's similar to your new/won sort of thing |
2021-08-08 05:38:41 +0200 | <jle`> | because you can guard S.empty lettersLeftUngessed |
2021-08-08 05:38:53 +0200 | <jle`> | it sort of follows the principal of avoiding boolean blindness, too |
2021-08-08 05:39:33 +0200 | <euouae> | S.empty whatever doesn't translate to Lost/Won, it's not clear. I prefer the type description |
2021-08-08 05:39:57 +0200 | <euouae> | Although the name you chose is descriptive for sure |
2021-08-08 05:40:10 +0200 | <jle`> | right, you need S.empty plus a S.size on wrongGuesses |
2021-08-08 05:41:06 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 272 seconds) |
2021-08-08 05:42:00 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
2021-08-08 05:42:22 +0200 | <euouae> | It's funny that I remember reading the docs of reactive-banana, but I don't remember /what for/... |
2021-08-08 05:42:34 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-08-08 05:43:27 +0200 | <jle`> | i guess the principle here is to move as much business logic as possible into things evident in the structure of your data, instead of extra logic (like 'hiddenWord') |
2021-08-08 05:43:45 +0200 | <jle`> | but honestly your implementation now is great |
2021-08-08 05:44:53 +0200 | <euouae> | Thank you :D |
2021-08-08 05:45:58 +0200 | <euouae> | I'm thinking the `pure game` stuff is not needed |
2021-08-08 05:46:22 +0200 | <euouae> | eh maybe if someone wants the final state |
2021-08-08 05:46:40 +0200 | euouae | goes back to studying |
2021-08-08 05:48:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 05:49:15 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-08-08 05:50:22 +0200 | <Cajun> | are you going for a functionally pure implementation of hangman? ive seen a relatively terse form of hangman that is made of IO functions (from Programming in Haskell) https://paste.tomsmeding.com/fDlIxr1F |
2021-08-08 05:52:32 +0200 | euouae | (~euouae@user/euouae) (Quit: Ping timeout (120 seconds)) |
2021-08-08 05:55:01 +0200 | <Cajun> | though i do like the implementation, very clean in my books |
2021-08-08 06:03:33 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-08-08 06:05:46 +0200 | <jle`> | hangman in particular is really great because there are so many ways to approach it. so it's something you can do multiple times during your haskell learning journey, and see how you do it differently every time :) |
2021-08-08 06:05:54 +0200 | <jle`> | it's one of my favs |
2021-08-08 06:06:42 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds) |
2021-08-08 06:08:43 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-08-08 06:11:15 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-08-08 06:11:58 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 06:13:52 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-08-08 06:16:22 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
2021-08-08 06:17:36 +0200 | sm2n_ | sm2n |
2021-08-08 06:22:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-08-08 06:26:44 +0200 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds) |
2021-08-08 06:27:26 +0200 | shachaf | (~shachaf@user/shachaf) (Quit: Reconnecting) |
2021-08-08 06:27:33 +0200 | shachaf | (~shachaf@user/shachaf) |
2021-08-08 06:39:34 +0200 | <Cajun> | didnt think of it that way, yeah i can see that. if i approached it several months ago i would just use IO everywhere, but i would probably do something like what euouae did if i were to go about it now :) |
2021-08-08 06:48:42 +0200 | mousey | (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds) |
2021-08-08 06:51:39 +0200 | mousey | (~skymouse@gateway/tor-sasl/mousey) |
2021-08-08 06:52:28 +0200 | emliunix | (~emliunix@103.138.75.119) (Remote host closed the connection) |
2021-08-08 06:52:51 +0200 | emliunix | (~emliunix@2a09:bac0:23::815:bca) |
2021-08-08 06:57:06 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 240 seconds) |
2021-08-08 07:00:33 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…) |
2021-08-08 07:14:48 +0200 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) |
2021-08-08 07:16:10 +0200 | <sm> | hangman, cool. I'm going to make that next |
2021-08-08 07:19:27 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-08-08 07:19:28 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-08-08 07:20:04 +0200 | MQ-17J | (~MQ-17J@8.21.10.94) |
2021-08-08 07:23:27 +0200 | tjakway | (~tjakway@154.21.212.27) |
2021-08-08 07:38:04 +0200 | endlesseditions | (~endlessed@205.220.252.162) |
2021-08-08 07:55:58 +0200 | cheater | (~Username@user/cheater) |
2021-08-08 07:56:24 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-08-08 08:06:05 +0200 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
2021-08-08 08:08:15 +0200 | euouae | (~euouae@user/euouae) |
2021-08-08 08:10:54 +0200 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 276 seconds) |
2021-08-08 08:12:51 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 08:12:58 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-08-08 08:13:16 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 258 seconds) |
2021-08-08 08:15:00 +0200 | tjakway | (~tjakway@154.21.212.27) (Quit: WeeChat 1.9.1) |
2021-08-08 08:16:56 +0200 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
2021-08-08 08:17:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
2021-08-08 08:19:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 08:19:07 +0200 | endlesseditions | (~endlessed@205.220.252.162) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2021-08-08 08:20:54 +0200 | <sm> | cool, I already did |
2021-08-08 08:22:47 +0200 | <sm> | and damn, it's hard. Ebionitic ? what ? |
2021-08-08 08:23:17 +0200 | <sm> | "refers to a Jewish Christian sect who were vegetarians, viewed poverty as holy, believed in ritual ablutions, and rejected animal sacrifices" |
2021-08-08 08:24:34 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-08-08 08:25:35 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-08-08 08:27:50 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
2021-08-08 08:27:51 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-08-08 08:28:54 +0200 | sander | (~sander@user/sander) |
2021-08-08 08:30:21 +0200 | <euouae> | a -> b -> c is the same as a -> (b -> c) right? |
2021-08-08 08:32:31 +0200 | <Cajun> | i believe that (->) is right associative by default, so i believe so |
2021-08-08 08:32:58 +0200 | <Cajun> | plus thats just currying in a nutshell |
2021-08-08 08:33:11 +0200 | <euouae> | I am trying to understand the following: `(,) <$> (1+) <*> (2+) 0` |
2021-08-08 08:33:53 +0200 | <euouae> | I missed a parenthesis, `((,) <$> (1+) <*> (2+)) 0` |
2021-08-08 08:34:03 +0200 | <euouae> | But I can't even understand `(,) <$> (1+)` |
2021-08-08 08:34:38 +0200 | <euouae> | Somehow I need to interpret the type of (1+) as F a, which I don't see |
2021-08-08 08:34:43 +0200 | <Cajun> | `<$>` is really the infix of `fmap` but i read to read it as `pure <*>` because that is more in the applicative style\ |
2021-08-08 08:36:01 +0200 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) |
2021-08-08 08:36:46 +0200 | <Cajun> | `(->) a` since `(1+)` is `Num a => a -> a` |
2021-08-08 08:37:08 +0200 | <euouae> | is Num the functor? |
2021-08-08 08:37:13 +0200 | <euouae> | wait, no |
2021-08-08 08:37:21 +0200 | <Cajun> | this may hurt your head but (->) is a functor |
2021-08-08 08:37:29 +0200 | <Cajun> | it has instances for functor, applicative, and monad iirc |
2021-08-08 08:37:37 +0200 | vysn | (~vysn@user/vysn) |
2021-08-08 08:37:46 +0200 | <tomsmeding> | also Monoid :p |
2021-08-08 08:37:52 +0200 | <euouae> | if -> is a functor then what is the type of (1+)? F a |
2021-08-08 08:38:04 +0200 | <tomsmeding> | no, ((->) a) is a functor |
2021-08-08 08:38:12 +0200 | <euouae> | It's `F a` where `F = ((->) a)` ? |
2021-08-08 08:38:15 +0200 | <tomsmeding> | (->) takes two type variables; a functor necessarily takes only one |
2021-08-08 08:38:36 +0200 | <Cajun> | youre `fmap` 'ing `(,)` to the functor (-> a) |
2021-08-08 08:38:43 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-08-08 08:39:38 +0200 | <euouae> | if a function is `a -> b` then it's `F b` right |
2021-08-08 08:39:47 +0200 | <euouae> | For `F` the functor you're describing? |
2021-08-08 08:39:47 +0200 | img | (~img@user/img) |
2021-08-08 08:40:04 +0200 | <euouae> | Or am I going the wrong way? Is it `F a` for `F = ((->) b`? |
2021-08-08 08:40:05 +0200 | <tomsmeding> | yeah, where F = (->) a |
2021-08-08 08:40:11 +0200 | <tomsmeding> | so F b = (->) a b = a -> b |
2021-08-08 08:40:12 +0200 | <euouae> | Alright |
2021-08-08 08:40:21 +0200 | <euouae> | Great, thank you |
2021-08-08 08:41:41 +0200 | <euouae> | am I supposed to be able to think of stuff like (,) <$> f <*> g |
2021-08-08 08:41:49 +0200 | <euouae> | or is it something someone thought once and now it's an idiom? |
2021-08-08 08:42:18 +0200 | <Cajun> | ive found that i like to use applicatives when monads are overkill |
2021-08-08 08:42:26 +0200 | endlesseditions | (~endlessed@205.220.252.162) |
2021-08-08 08:42:30 +0200 | <tomsmeding> | you will be able to think of that, when you've worked with applicatives long enough :) |
2021-08-08 08:42:42 +0200 | <Cajun> | but remember that <$> is just fmap, dont be afraid of the scary symbols :) |
2021-08-08 08:43:29 +0200 | <tomsmeding> | in particular, knowing that ((->) a) is just the Reader monad, helps in figuring out how this works :p |
2021-08-08 08:43:44 +0200 | <euouae> | Yeah I definitely had entirely forgotten about ((->) a) |
2021-08-08 08:43:52 +0200 | <euouae> | which I think I've only heard in passing and not sure where from |
2021-08-08 08:44:31 +0200 | <Cajun> | its strange going from thinking (->) is a language implemented thing to realizing its defined within the language with instances |
2021-08-08 08:45:04 +0200 | <Cajun> | that kinda hurt my head when the exercise of "write the functor, applicative, and monad instances of (->)" came up |
2021-08-08 08:45:41 +0200 | <tomsmeding> | (well, (->) is really still a built-in thing at the end; it's just "methods attached to it" (instances) that are library-defined) |
2021-08-08 08:45:44 +0200 | <tomsmeding> | but yeah |
2021-08-08 08:46:15 +0200 | <tomsmeding> | wait until you learn Agda and start defining mixfix operators |
2021-08-08 08:46:52 +0200 | <Cajun> | ive heard agda lets you go down the rabbit hole of the stuff above kinds... scary |
2021-08-08 08:48:41 +0200 | <euouae> | even trying on paper I still can't understand (,) <$> f |
2021-08-08 08:49:13 +0200 | <euouae> | at least not for a general f :: a -> b |
2021-08-08 08:49:19 +0200 | <euouae> | which I'm not even sure if exists |
2021-08-08 08:49:46 +0200 | <Cajun> | i would say try with something other than (,) as that takes both an `a` and `b` |
2021-08-08 08:50:23 +0200 | <euouae> | no wait a moment |
2021-08-08 08:50:27 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-08-08 08:50:30 +0200 | <euouae> | if we think of the functor as ((->) a) |
2021-08-08 08:50:51 +0200 | <euouae> | then the signature (a -> b) -> F a -> F b of <$> simply says to post-compose F a with (a -> b) |
2021-08-08 08:51:05 +0200 | <euouae> | in other words g <$> f is the same as g(f(x)) |
2021-08-08 08:51:31 +0200 | <tomsmeding> | https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#line-969 |
2021-08-08 08:51:53 +0200 | img | (~img@user/img) |
2021-08-08 08:52:49 +0200 | <euouae> | so in other words, to post-compose f x with (,) giving (f x, ) |
2021-08-08 08:52:51 +0200 | <Cajun> | im not sure thats entirely true euouae . thats implying `f :: f a` |
2021-08-08 08:53:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-08-08 08:53:10 +0200 | <Cajun> | `(<$>) :: Functor f => (a -> b) -> f a -> f b` |
2021-08-08 08:55:15 +0200 | <Cajun> | `g <$> f` is saying youre `fmap` 'ing `g` over `f` |
2021-08-08 08:55:27 +0200 | <Cajun> | or rather `pure g` applied to `f` |
2021-08-08 08:55:56 +0200 | <tomsmeding> | ("applied" in the sense of <*> or ap) |
2021-08-08 08:56:09 +0200 | <euouae> | whereas <*> is composition to the second argument, i.e. if you have `f x y` and `g z` you can write `f <*> g` to mean the map `z, y -> f (g y) z` |
2021-08-08 08:56:49 +0200 | <euouae> | sorry I meant `f y (g z)` |
2021-08-08 08:57:05 +0200 | <tomsmeding> | isn't it `\z -> f z (g z)` |
2021-08-08 08:57:26 +0200 | <tomsmeding> | (<*>) :: (a -> b) -> (z -> a) -> (z -> b) |
2021-08-08 08:57:37 +0200 | <tomsmeding> | um no |
2021-08-08 08:57:38 +0200 | <tomsmeding> | that's fmap |
2021-08-08 08:57:40 +0200 | <euouae> | It's F (a -> b) -> F a -> F b, which means F is consuming 1 argument ((->) c) |
2021-08-08 08:57:47 +0200 | <tomsmeding> | (<*>) :: (z -> a -> b) -> (z -> a) -> (z -> b) |
2021-08-08 08:58:02 +0200 | <tomsmeding> | where of course F = (->) z |
2021-08-08 08:58:27 +0200 | pe200012 | (~pe200012@113.105.10.33) (Quit: Konversation terminated!) |
2021-08-08 08:58:27 +0200 | <Cajun> | it may be better to just not use <$> when learning applicatives, it may be confusing you a bit |
2021-08-08 08:59:46 +0200 | <euouae> | think of F (a -> b) as a function f that takes 2 arguments |
2021-08-08 08:59:58 +0200 | pe200012 | (~pe200012@113.105.10.33) |
2021-08-08 08:59:58 +0200 | <euouae> | and F a as a function g that takes 1 argument |
2021-08-08 09:00:19 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-08-08 09:00:20 +0200 | <euouae> | so f <*> g x === f x (g x) |
2021-08-08 09:00:24 +0200 | <euouae> | Like you said tomsmeding |
2021-08-08 09:00:51 +0200 | <tomsmeding> | note, f <*> g x is not the same as (f <*> g) x |
2021-08-08 09:00:58 +0200 | <tomsmeding> | apart from that, yes :) |
2021-08-08 09:00:58 +0200 | <Drew[m]1> | If just learning applicatives was the goal I wouldn't start with the reader function applicative IMO, unless learning the reader applicative was the specific goal |
2021-08-08 09:01:12 +0200 | <euouae> | My goal is not learning applicative |
2021-08-08 09:01:21 +0200 | <euouae> | I was reading an example from reactive-banana that used this trick |
2021-08-08 09:01:28 +0200 | <euouae> | https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana/doc/examples/SlotM… |
2021-08-08 09:02:22 +0200 | <Cajun> | applicatives are definitely something to pick up |
2021-08-08 09:02:36 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2021-08-08 09:02:50 +0200 | <Cajun> | imo its as important as learning functors and monads as they all share similar aspects |
2021-08-08 09:03:11 +0200 | <euouae> | Do you mean, study the instances of applicative? |
2021-08-08 09:03:21 +0200 | <euouae> | or the interface |
2021-08-08 09:04:04 +0200 | <tomsmeding> | heh that makeSources function could do with a type annotation perhaps |
2021-08-08 09:04:45 +0200 | <Cajun> | i mean in the sense of learning anything in the language. just as you learn functors and monads, applicatives should be picked up too |
2021-08-08 09:04:59 +0200 | <Drew[m]1> | euouae: If the functor wasn't reader and was instead a list, would you get `f <$> x <*> y`? |
2021-08-08 09:04:59 +0200 | <Drew[m]1> | For example `[(+), (*)] <$> [1,2] <*> [1, 10, 100]` |
2021-08-08 09:05:40 +0200 | <tomsmeding> | list bad example, both the normal list applicative instance and ZipList are sensible :p |
2021-08-08 09:05:52 +0200 | <Cajun> | the chapter "functors, applicatives, and monads" in Programming in Haskell would probably get you up to speed, and its also why i say you shouldnt use <$> until youre comfortable with `pure <*>` instead |
2021-08-08 09:05:53 +0200 | <tomsmeding> | but yeah |
2021-08-08 09:05:58 +0200 | endlesseditions | (~endlessed@205.220.252.162) (Quit: Textual IRC Client: www.textualapp.com) |
2021-08-08 09:06:14 +0200 | <Drew[m]1> | Or `Just (+) <$> Just 2 <*> Just 5` |
2021-08-08 09:06:15 +0200 | <euouae> | Drew[m]1: I would need to know the instances of these things for the list and I don't know them and it's not important right now either :P |
2021-08-08 09:07:09 +0200 | <euouae> | tomsmeding: Where is newAddHandler coming from? I don't see it anywhere defined in the source |
2021-08-08 09:07:21 +0200 | <euouae> | It's not imported nor defined |
2021-08-08 09:07:22 +0200 | <Cajun> | applicative instance for list is cartesian product iirc |
2021-08-08 09:07:37 +0200 | <tomsmeding> | euouae: presumably here? https://hackage.haskell.org/package/reactive-banana-1.2.1.0/docs/Control-Event-Handler.html#v:newA… |
2021-08-08 09:07:52 +0200 | <Drew[m]1> | Oops my list example was bad, wasn't it |
2021-08-08 09:07:56 +0200 | <tomsmeding> | Cajun: yeah |
2021-08-08 09:07:59 +0200 | <euouae> | oh Interesting |
2021-08-08 09:08:32 +0200 | <Cajun> | yes it was Drew[m]1 but all you need to do to fix it is change [(+), (*)] to either (+) or (*) |
2021-08-08 09:08:33 +0200 | <tomsmeding> | ( euouae: what I did was go to the hackage page of reactive-banana, type 's', type newAddHandler, press Enter :p ) |
2021-08-08 09:08:39 +0200 | <Drew[m]1> | Should've been `(+) <$> [1,2] <*> [1, 10, 100]` |
2021-08-08 09:08:52 +0200 | <euouae> | tomsmeding: but that module is not imported, how do they use newAddHandler? |
2021-08-08 09:09:38 +0200 | <Cajun> | tomsmeding thats a feature!? how did i never know of this |
2021-08-08 09:10:01 +0200 | <tomsmeding> | euouae: Reactive.Banana.Frameworks re-exports module Control.Event.Handler |
2021-08-08 09:10:12 +0200 | <tomsmeding> | (search for Control.Event.Handler on https://hackage.haskell.org/package/reactive-banana-1.2.1.0/docs/Reactive-Banana-Frameworks.html ) |
2021-08-08 09:10:21 +0200 | <euouae> | Oooh... |
2021-08-08 09:10:26 +0200 | <tomsmeding> | so the applicative here is IO ! |
2021-08-08 09:11:00 +0200 | <euouae> | not the arrow |
2021-08-08 09:11:02 +0200 | <euouae> | ? |
2021-08-08 09:11:21 +0200 | <tomsmeding> | nope |
2021-08-08 09:11:25 +0200 | <tomsmeding> | newAddHandler :: IO something |
2021-08-08 09:11:38 +0200 | <tomsmeding> | so (,) <$> newAddHandler <*> newAddHandler :: IO (something, something) |
2021-08-08 09:11:45 +0200 | <Cajun> | oh thats neat |
2021-08-08 09:11:47 +0200 | <Drew[m]1> | Cajun: Without knowing the keybinds it can be accessed with the "quick jump" button on the module contents page. That's how I found it. |
2021-08-08 09:11:49 +0200 | <tomsmeding> | where something = (AddHandler a, Handler a) |
2021-08-08 09:12:14 +0200 | <Drew[m]1> | package contents page I mean |
2021-08-08 09:12:28 +0200 | <Cajun> | Drew[m]1 if only that werent in size 10 font lol |
2021-08-08 09:12:35 +0200 | <Cajun> | nice to know though |
2021-08-08 09:12:42 +0200 | mattil | (~mattilinn@87-92-149-13.rev.dnainternet.fi) |
2021-08-08 09:13:04 +0200 | <tomsmeding> | and Handler a = a -> IO (), so makeSources :: ((AddHandler a, a -> IO ()), (AddHandler a, a -> IO ())), which happens to match (EventSource a, EventSource a) as defined in SlotMachine.hs, which is the type of the argument of networkDescription that it's put in :) |
2021-08-08 09:13:51 +0200 | <tomsmeding> | of course, without IO because makeSources is bound with <- first |
2021-08-08 09:14:28 +0200 | <euouae> | You're good :P I'm not |
2021-08-08 09:15:10 +0200 | <tomsmeding> | this is just experience with untangling messes of type synonyms more than anything else :p |
2021-08-08 09:15:56 +0200 | <euouae> | I'm still lost as to how one is supposed to learn a module of Haskell |
2021-08-08 09:16:01 +0200 | <Cajun> | there should be a tool for that.. or maybe an implementation of it in ghcide |
2021-08-08 09:16:20 +0200 | <euouae> | reactive-banana for example, I am looking at the docs but I don't get a sense of understanding what to do |
2021-08-08 09:16:28 +0200 | <Cajun> | hope and pray for good documentation :) |
2021-08-08 09:16:51 +0200 | <Cajun> | that pretty much goes for most languages, no documentation and its a real pain to decipher code |
2021-08-08 09:17:35 +0200 | <tomsmeding> | isn't reactive-banana an FRP framework? I've never worked with those, but I believe that's a whole separate paradigm that you might not have seen before yet |
2021-08-08 09:17:40 +0200 | cheater | (~Username@user/cheater) |
2021-08-08 09:18:00 +0200 | <tomsmeding> | so unless you're exceptionally smart, I wouldn't expect being able to learn how to effectively use that from just per-function reference documentation |
2021-08-08 09:18:01 +0200 | <euouae> | yeah it is |
2021-08-08 09:18:17 +0200 | <tomsmeding> | (or unless that reference documentation is exceptionally good) |
2021-08-08 09:18:19 +0200 | <euouae> | Ok what's the first step then? Read a paper on FPR? |
2021-08-08 09:18:26 +0200 | <tomsmeding> | read a tutorial on FRP :p |
2021-08-08 09:18:41 +0200 | <tomsmeding> | or I guess a paper if you're cool |
2021-08-08 09:18:54 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-08 09:19:17 +0200 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
2021-08-08 09:19:27 +0200 | <euouae> | No a tutorial is the right thing. I'll try, thanks |
2021-08-08 09:20:17 +0200 | <Drew[m]1> | reactive-banana also has a link to examples in its entry on the Haskell wiki |
2021-08-08 09:21:57 +0200 | <euouae> | Yeah I tried the simplest example and I'm having a hard time :P |
2021-08-08 09:22:39 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2021-08-08 09:23:14 +0200 | kmein | (~weechat@user/kmein) |
2021-08-08 09:33:11 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 09:34:35 +0200 | sm | pops up from hangman-in-elm rabbit hole |
2021-08-08 09:35:04 +0200 | <Hecate> | hi sm! |
2021-08-08 09:35:12 +0200 | <sm> | hello Hecate |
2021-08-08 09:35:57 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-08-08 09:37:01 +0200 | <euouae> | sm: This one? https://en.wikipedia.org/wiki/Hangman%27s_Elm |
2021-08-08 09:37:57 +0200 | <sm> | heh, no |
2021-08-08 09:38:52 +0200 | <sm> | nice tree, thanks |
2021-08-08 09:39:34 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-08-08 09:39:36 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-08-08 09:46:38 +0200 | euouae | won't leave the office if they don't write a hangman using banana and hedgehog |
2021-08-08 09:47:11 +0200 | MQ-17J | (~MQ-17J@8.21.10.94) (Ping timeout: 258 seconds) |
2021-08-08 09:47:33 +0200 | igghibu | (~igghibu@37.120.201.121) |
2021-08-08 09:48:30 +0200 | <sm> | that's the spirit! |
2021-08-08 09:49:45 +0200 | <sm> | I put in about 1.25h on hangman in elm, it wasn't quite as productive as hoped |
2021-08-08 09:49:47 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) |
2021-08-08 09:50:44 +0200 | <sm> | next time: simply get console version working on the web using twain |
2021-08-08 09:56:32 +0200 | <[exa]> | web needs more console |
2021-08-08 09:58:19 +0200 | <Drew[m]1> | I've personally wasted quite some time bashing my head against the wall trying to understand various FRP libraries before I was ready. IMO Haskell FRP frameworks are something that Haskellers may be quick to hype but pay most dividends to folks who are considerably familiar with Haskell |
2021-08-08 10:01:40 +0200 | MQ-17J | (~MQ-17J@8.6.144.235) |
2021-08-08 10:02:51 +0200 | <euouae> | It's a pyramid scheme |
2021-08-08 10:03:09 +0200 | <euouae> | :P but seriously I'm reading some tutorials and what I can. Let's see if I can understand something |
2021-08-08 10:07:30 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-08-08 10:08:08 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-08-08 10:09:19 +0200 | igghibu | (~igghibu@37.120.201.121) (Quit: Textual IRC Client: www.textualapp.com) |
2021-08-08 10:10:32 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 10:10:43 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-08-08 10:13:27 +0200 | Vajb | (~Vajb@2001:999:251:bada:1067:ceb1:260a:e753) (Ping timeout: 245 seconds) |
2021-08-08 10:13:46 +0200 | Vajb | (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) |
2021-08-08 10:15:08 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-08-08 10:17:27 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-08 10:17:28 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-08 10:17:31 +0200 | allbery_b | geekosaur |
2021-08-08 10:17:56 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-08-08 10:28:33 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-08-08 10:29:59 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
2021-08-08 10:31:55 +0200 | retro_ | (~retro@5ec19a54.skybroadband.com) |
2021-08-08 10:32:12 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-08-08 10:33:13 +0200 | <euouae> | how do I list the targets in cabal? |
2021-08-08 10:34:40 +0200 | <euouae> | Hm, maybe not possible... |
2021-08-08 10:35:06 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 258 seconds) |
2021-08-08 10:35:06 +0200 | retroid_ | (~retro@5ec19a54.skybroadband.com) (Ping timeout: 258 seconds) |
2021-08-08 10:36:12 +0200 | retroid_ | (~retro@5ec19a54.skybroadband.com) |
2021-08-08 10:36:52 +0200 | retro_ | (~retro@5ec19a54.skybroadband.com) (Ping timeout: 272 seconds) |
2021-08-08 10:37:20 +0200 | <euouae> | How can I load the example in reactive-banana in ghci? |
2021-08-08 10:37:53 +0200 | <euouae> | I tried `cabal repl ./doc/examples/Counter.hs` but there's no target including it |
2021-08-08 10:38:18 +0200 | xkuru | (~xkuru@user/xkuru) (Remote host closed the connection) |
2021-08-08 10:42:53 +0200 | <euouae> | I've also tried `cabal repl` at the root directory followed by `:load ./doc/examples/Counter.hs` |
2021-08-08 10:43:00 +0200 | <euouae> | I don't get any errors but there does not seem to be any symbols exported |
2021-08-08 10:43:25 +0200 | <euouae> | I only get: [21 of 21] Compiling Main ( doc/examples/Counter.hs, interpreted ) which I'm not sure what it means |
2021-08-08 10:44:03 +0200 | <euouae> | with `:browse Main` I get `main:Main.main :: IO ()` but :P again not sure what this means |
2021-08-08 10:44:38 +0200 | <Cale> | try executing main? |
2021-08-08 10:45:01 +0200 | <euouae> | Not in scope |
2021-08-08 10:46:18 +0200 | <euouae> | There's this bug about implicit module name handling, https://github.com/haskell/cabal/issues/5665 |
2021-08-08 10:46:31 +0200 | <euouae> | Could it be that I'm encountering this bug? I'm noticing that Counter.hs does not have a module name |
2021-08-08 10:47:02 +0200 | <Cale> | Well, if it's intended to produce an executable, its module name would be Main (implicitly) |
2021-08-08 10:47:33 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 10:49:07 +0200 | <euouae> | I don't know if it is intended or not |
2021-08-08 10:49:12 +0200 | <euouae> | I'm just trying to load the example and run main |
2021-08-08 10:49:21 +0200 | <euouae> | This example, https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana/doc/examples/Count… |
2021-08-08 10:49:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 10:50:48 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
2021-08-08 10:50:58 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-08-08 10:51:50 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-08-08 10:51:53 +0200 | <Cale> | One thing that of course works is just to install the library and then load the thing in ghci |
2021-08-08 10:52:21 +0200 | <euouae> | How do you do that |
2021-08-08 10:52:31 +0200 | <euouae> | I know I can use cabal-install to install the library, but how do I load the thing? |
2021-08-08 10:55:41 +0200 | <Cale> | You'd just give the file as a command line argument to ghci |
2021-08-08 10:55:50 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-08-08 10:58:47 +0200 | <euouae> | `cabal install reactive-banana` can't resolve dependencies |
2021-08-08 11:00:19 +0200 | <Cale> | I don't suppose you have the nix package manager hanging around on your system already? :) |
2021-08-08 11:00:47 +0200 | <maerwald[m]> | beat the problem to death with more complexity :p |
2021-08-08 11:00:50 +0200 | <Cale> | I have a one line script called "ghcWithPackages" in my ~/bin which consists of: |
2021-08-08 11:00:52 +0200 | <Cale> | nix-shell -p "(import <nixpkgs> {}).haskell.packages.ghc865.ghcWithPackages (pkgs: with pkgs; [ $* ])" |
2021-08-08 11:01:10 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-08-08 11:01:12 +0200 | <euouae> | I don't know what you're asking me Cale |
2021-08-08 11:01:17 +0200 | <euouae> | it's a macOS |
2021-08-08 11:01:17 +0200 | <Cale> | er, actually, just changed that to ghc884 but the clipboard was still out of date :) |
2021-08-08 11:01:23 +0200 | <Cale> | aaah |
2021-08-08 11:02:03 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-08-08 11:02:24 +0200 | <Cale> | nix is a package manager that can put you into shells where various dependencies are satisfied |
2021-08-08 11:02:35 +0200 | <maerwald[m]> | you don't need nix |
2021-08-08 11:02:39 +0200 | <maerwald[m]> | `cabal repl -w ghc-8.6.5 --build-depends reactive-banana` should work |
2021-08-08 11:02:58 +0200 | <maerwald[m]> | if you're already struggling with cabal, nix will just be a nightmare |
2021-08-08 11:03:08 +0200 | <Cale> | Of course you don't need it, but it can be handy if cabal's dependency resolution is not working :P |
2021-08-08 11:03:15 +0200 | <maerwald[m]> | it is working |
2021-08-08 11:03:45 +0200 | <euouae> | Cannot find ghc? |
2021-08-08 11:03:55 +0200 | <maerwald[m]> | euouae: yes, install 8.6.5 |
2021-08-08 11:04:02 +0200 | <maerwald[m]> | euouae: how did you install ghc? |
2021-08-08 11:04:14 +0200 | <euouae> | Is there something about that particular version? |
2021-08-08 11:04:20 +0200 | <euouae> | I installed with the script from Haskell.org |
2021-08-08 11:04:31 +0200 | <maerwald[m]> | it has a different base version... base is causing resolution error |
2021-08-08 11:04:36 +0200 | <maerwald[m]> | base is tied to GHC |
2021-08-08 11:04:41 +0200 | <maerwald[m]> | it's the haskell prelude and other stuff |
2021-08-08 11:04:47 +0200 | <euouae> | `cabal install ghc-8.6.5` also fails to resolve dependencies |
2021-08-08 11:05:02 +0200 | <maerwald[m]> | euouae: try `ghcup install ghc 8.6.5` |
2021-08-08 11:05:21 +0200 | <euouae> | Yeah that worked |
2021-08-08 11:05:31 +0200 | <maerwald[m]> | 8.6.5 is a very popular version, although it's a little old |
2021-08-08 11:05:34 +0200 | <euouae> | so basically reactive-banana is using some other version of Base? |
2021-08-08 11:05:47 +0200 | <maerwald[m]> | I haven't checked in detail |
2021-08-08 11:05:56 +0200 | <euouae> | potentially, though? |
2021-08-08 11:06:32 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-08 11:06:58 +0200 | <euouae> | OK I installed with the ghcup command, now what? The -w ghc-8.6.5 still fails |
2021-08-08 11:06:58 +0200 | __monty__ | (~toonn@user/toonn) |
2021-08-08 11:07:03 +0200 | <euouae> | Cant' find 'ghc' |
2021-08-08 11:07:48 +0200 | <maerwald[m]> | euouae: does `ghci-8.6.5` work? |
2021-08-08 11:07:59 +0200 | <euouae> | No |
2021-08-08 11:08:20 +0200 | <maerwald[m]> | euouae: are you sure ghcup installed GHC successfully? |
2021-08-08 11:08:37 +0200 | <maerwald[m]> | can you run: source ~/.ghcup/env |
2021-08-08 11:09:16 +0200 | <euouae> | No such file |
2021-08-08 11:09:23 +0200 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) |
2021-08-08 11:09:52 +0200 | <maerwald[m]> | euouae: export PATH="$HOME/.ghcup/bin:$PATH" |
2021-08-08 11:10:20 +0200 | <euouae> | Yeah that worked as far as invoking ghci |
2021-08-08 11:10:55 +0200 | <euouae> | Was I supposed to run `cabal user-config` or something like that? |
2021-08-08 11:11:31 +0200 | azeem | (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) (Ping timeout: 258 seconds) |
2021-08-08 11:11:35 +0200 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Ping timeout (120 seconds)) |
2021-08-08 11:11:50 +0200 | <euouae> | OK the cabal repl command also worked. Wew. That was a lot |
2021-08-08 11:12:19 +0200 | <maerwald[m]> | so the resolution error is caused by `hashable <1.3`, which further restricts the base version |
2021-08-08 11:12:20 +0200 | azeem | (~azeem@176.200.225.165) |
2021-08-08 11:12:49 +0200 | <maerwald[m]> | you could try: `cabal repl --allow-newer=hashable --build-depends reactive-banana` |
2021-08-08 11:13:02 +0200 | <euouae> | That's a cool trick but I'ma already running it in the older ghc version |
2021-08-08 11:13:21 +0200 | <euouae> | but now I'm noticing that doing `:load ./doc/examples/Counter.hs` still gives me an issue with running `main` |
2021-08-08 11:13:25 +0200 | <euouae> | it's not exported? I don't understand |
2021-08-08 11:13:52 +0200 | <euouae> | I can still see `main:Main.main :: IO ()` if I `:browse Main` but that's about it |
2021-08-08 11:14:26 +0200 | <maerwald[m]> | euouae: the module is missing the first line `module Main where` |
2021-08-08 11:14:34 +0200 | <maerwald[m]> | it's sort of a cabal bug |
2021-08-08 11:15:01 +0200 | <euouae> | OK so it was the cabal bug I mentioned |
2021-08-08 11:15:10 +0200 | <euouae> | sigh ... nothing works today |
2021-08-08 11:15:54 +0200 | <__monty__> | Declaring the module's name is a best practice though. That way you can add export lists. |
2021-08-08 11:17:47 +0200 | <euouae> | Best practice is never getting out of bed |
2021-08-08 11:17:56 +0200 | <euouae> | just stay there where it's safe from bgus |
2021-08-08 11:17:57 +0200 | <euouae> | bugs |
2021-08-08 11:18:07 +0200 | azeem | (~azeem@176.200.225.165) (Read error: Connection reset by peer) |
2021-08-08 11:18:38 +0200 | <tomsmeding> | pretty sure physicians wouldn't advise never getting out of bed ;) |
2021-08-08 11:19:54 +0200 | euouae | gives up on reactive-banana for now and watches the hedgehog videos instead |
2021-08-08 11:20:02 +0200 | <tomsmeding> | rip |
2021-08-08 11:20:03 +0200 | azeem | (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) |
2021-08-08 11:20:16 +0200 | <euouae> | I'm actually going to contact the author of the module to tell them about some of the issues |
2021-08-08 11:20:35 +0200 | <maerwald[m]> | also, I think I found a bug... `cabal repl --allow-newer=base --build-depends reactive-banana` starts a repl, but there's no reactive-banana exposed |
2021-08-08 11:20:51 +0200 | <euouae> | whose bug? |
2021-08-08 11:21:23 +0200 | tomsmeding | wonders what --allow-newer=base is supposed to do |
2021-08-08 11:21:39 +0200 | <maerwald[m]> | fix the resolution error |
2021-08-08 11:21:59 +0200 | <tomsmeding> | oh right I got the constraints the other way around again |
2021-08-08 11:22:51 +0200 | <tomsmeding> | interesting |
2021-08-08 11:22:58 +0200 | <maerwald[m]> | reproducible? |
2021-08-08 11:22:59 +0200 | <tomsmeding> | looks like odd cabal behaviour |
2021-08-08 11:23:00 +0200 | <tomsmeding> | yeah |
2021-08-08 11:23:12 +0200 | <maerwald[m]> | can you file a bug? |
2021-08-08 11:23:13 +0200 | <tomsmeding> | "Warning: no exposed modules" |
2021-08-08 11:23:13 +0200 | <Drew[m]1> | maerwald[m]: yep |
2021-08-08 11:23:23 +0200 | <tomsmeding> | I can try :) |
2021-08-08 11:23:26 +0200 | <Drew[m]1> | Getting the same result here |
2021-08-08 11:23:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-08-08 11:24:17 +0200 | <tomsmeding> | the library in question doesn't matter, `cabal repl -b containers --allow-newer=base` has the same behaviour for me |
2021-08-08 11:25:19 +0200 | euouae | hi-fives maerwald[m] |
2021-08-08 11:26:03 +0200 | <euouae> | not sure if it counts as team effort, maybe more like cheering by the waysides |
2021-08-08 11:26:26 +0200 | <tomsmeding> | okay containers is a bad example apparently because that's loaded even if you don't specify a -b |
2021-08-08 11:26:30 +0200 | <tomsmeding> | parsec does have the same behaviour |
2021-08-08 11:26:37 +0200 | <tomsmeding> | (same = faulty) |
2021-08-08 11:27:00 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-08 11:27:08 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-08-08 11:27:10 +0200 | <tomsmeding> | https://github.com/haskell/cabal/issues/7081 |
2021-08-08 11:27:24 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-08 11:29:30 +0200 | <tomsmeding> | apparently the conclusion by phadej is: this is a result of past hacks that have bitrotted, and properly fixing it is difficult; it may or may not become less difficult after a planned future rewrite of some things |
2021-08-08 11:29:46 +0200 | <tomsmeding> | maerwald[m]: yay comment |
2021-08-08 11:30:53 +0200 | <euouae> | So we went from no module name bug to -b --allow-newer bug |
2021-08-08 11:31:05 +0200 | <euouae> | I'm tired... |
2021-08-08 11:31:37 +0200 | <maerwald[m]> | could try stack, but then you'll probably be editing stack.yaml with random lines until you get a circular dependency error |
2021-08-08 11:31:53 +0200 | <euouae> | hehe |
2021-08-08 11:32:26 +0200 | <euouae> | IS there some normal order of learning Haskell? |
2021-08-08 11:32:49 +0200 | <euouae> | Both reactive-banana and Hedgehog seem hard to learn |
2021-08-08 11:32:49 +0200 | <Drew[m]1> | Would this be an issue if the dependency was specified by a cabal file instead of a `cabal repl` argument? |
2021-08-08 11:33:31 +0200 | <tomsmeding> | no, this is completely a problem with repl + -b |
2021-08-08 11:34:08 +0200 | retro_ | (~retro@5ec19a54.skybroadband.com) |
2021-08-08 11:37:52 +0200 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 256 seconds) |
2021-08-08 11:37:58 +0200 | <Drew[m]1> | <euouae> "IS there some normal order of..." <- There are several well regarded text books and courses with a good order of topics |
2021-08-08 11:37:58 +0200 | retroid_ | (~retro@5ec19a54.skybroadband.com) (Ping timeout: 258 seconds) |
2021-08-08 11:38:28 +0200 | <Drew[m]1> | Maybe check out the progression section here: https://github.com/system-f/fp-course |
2021-08-08 11:38:43 +0200 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2021-08-08 11:39:39 +0200 | <Drew[m]1> | As for well regarded books: |
2021-08-08 11:39:41 +0200 | <Drew[m]1> | https://haskellbook.com/ |
2021-08-08 11:39:44 +0200 | <Drew[m]1> | https://www.manning.com/books/get-programming-with-haskell |
2021-08-08 11:40:28 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 11:42:02 +0200 | <sm> | @where books |
2021-08-08 11:42:03 +0200 | <lambdabot> | https://www.extrema.is/articles/haskell-books, see also @where LYAH, RWH, YAHT, SOE, HR, PIH, TFwH, wikibook, PCPH, HPFFP, HTAC, TwT, FoP, PFAD, WYAH, non-haskell-books |
2021-08-08 11:43:45 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-08-08 11:43:56 +0200 | phma_ | (phma@2001:5b0:210f:5478:d01b:a8f6:5c4b:b741) |
2021-08-08 11:44:17 +0200 | xlei | (znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
2021-08-08 11:45:02 +0200 | tabemann_ | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2021-08-08 11:45:03 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-08-08 11:45:04 +0200 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Read error: Connection reset by peer) |
2021-08-08 11:45:07 +0200 | dfordvm | (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) (Ping timeout: 245 seconds) |
2021-08-08 11:45:14 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-08-08 11:45:32 +0200 | anderson | (~ande@134.209.221.71) (Ping timeout: 245 seconds) |
2021-08-08 11:45:33 +0200 | dfordvm | (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) |
2021-08-08 11:45:48 +0200 | mcfilib | (sid302703@user/mcfilib) (Ping timeout: 256 seconds) |
2021-08-08 11:45:50 +0200 | kaizen | (sid501599@id-501599.brockwell.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:45:56 +0200 | mcfilib | (sid302703@user/mcfilib) |
2021-08-08 11:45:57 +0200 | mattil | (~mattilinn@87-92-149-13.rev.dnainternet.fi) (Read error: Connection reset by peer) |
2021-08-08 11:45:57 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 245 seconds) |
2021-08-08 11:45:57 +0200 | poljar1 | (~poljar@93-139-4-196.adsl.net.t-com.hr) (Read error: Connection reset by peer) |
2021-08-08 11:46:11 +0200 | hook54321 | (sid149355@user/hook54321) (Ping timeout: 252 seconds) |
2021-08-08 11:46:15 +0200 | mattil | (~mattilinn@87-92-149-13.rev.dnainternet.fi) |
2021-08-08 11:46:16 +0200 | poljar1 | (~poljar@93-139-4-196.adsl.net.t-com.hr) |
2021-08-08 11:46:22 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 245 seconds) |
2021-08-08 11:46:22 +0200 | EvanR | (~evan@user/evanr) (Ping timeout: 245 seconds) |
2021-08-08 11:46:22 +0200 | piele_ | (~piele@tbonesteak.creativeserver.net) (Ping timeout: 245 seconds) |
2021-08-08 11:46:24 +0200 | <euouae> | I don't see the Haskel book covering template haskell |
2021-08-08 11:46:25 +0200 | <euouae> | for example |
2021-08-08 11:46:28 +0200 | integral | (sid296274@user/integral) (Ping timeout: 272 seconds) |
2021-08-08 11:46:28 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) (Ping timeout: 272 seconds) |
2021-08-08 11:46:47 +0200 | eco_ | (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (Ping timeout: 245 seconds) |
2021-08-08 11:46:51 +0200 | kaizen | (sid501599@id-501599.brockwell.irccloud.com) |
2021-08-08 11:46:53 +0200 | Pent | (sid313808@id-313808.tooting.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:46:53 +0200 | bjs | (sid190364@user/bjs) (Ping timeout: 250 seconds) |
2021-08-08 11:46:56 +0200 | dajoer | (~david@user/gvx) (Ping timeout: 256 seconds) |
2021-08-08 11:47:12 +0200 | mjrosenb_ | (~mrosenbe@104.225.243.2) (Ping timeout: 245 seconds) |
2021-08-08 11:47:14 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Quit: ZNC 1.7.5 - https://znc.in) |
2021-08-08 11:47:15 +0200 | <sm> | and there's this: https://gist.github.com/graninas/833a9ff306338aefec7e543100c16ea1 |
2021-08-08 11:47:17 +0200 | SethTisue__ | (sid14912@id-14912.charlton.irccloud.com) (Ping timeout: 252 seconds) |
2021-08-08 11:47:17 +0200 | Athas | (athas@sigkill.dk) (Ping timeout: 252 seconds) |
2021-08-08 11:47:18 +0200 | cbarrett | (sid192934@id-192934.brockwell.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:47:19 +0200 | derelict | (~derelict@user/derelict) |
2021-08-08 11:47:30 +0200 | shachaf | (~shachaf@user/shachaf) (Ping timeout: 256 seconds) |
2021-08-08 11:47:30 +0200 | ski | (~ski@remote12.chalmers.se) (Ping timeout: 256 seconds) |
2021-08-08 11:47:30 +0200 | stefan-_ | (~cri@42dots.de) (Ping timeout: 256 seconds) |
2021-08-08 11:47:30 +0200 | elcaro | (~anonymous@45.32.191.75) (Ping timeout: 256 seconds) |
2021-08-08 11:47:37 +0200 | phma | (phma@2001:5b0:210f:5478:d01b:a8f6:5c4b:b741) (Ping timeout: 245 seconds) |
2021-08-08 11:47:37 +0200 | mcglk | (~mcglk@131.191.49.120) (Ping timeout: 245 seconds) |
2021-08-08 11:47:37 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) (Ping timeout: 245 seconds) |
2021-08-08 11:47:44 +0200 | <sm> | and this: https://www.fpcomplete.com/haskell/learn/ |
2021-08-08 11:47:44 +0200 | lightandlight | (sid135476@id-135476.brockwell.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:47:44 +0200 | glowcoil | (sid3405@tinside.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:47:50 +0200 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
2021-08-08 11:47:50 +0200 | tritlo | (sid58727@user/tritlo) (Ping timeout: 252 seconds) |
2021-08-08 11:47:50 +0200 | gonz__ | (sid304396@id-304396.tooting.irccloud.com) (Ping timeout: 252 seconds) |
2021-08-08 11:48:03 +0200 | <sm> | there's no one normal path, there are many. And there's no one reference that links to everything |
2021-08-08 11:48:10 +0200 | grfn | (sid449115@id-449115.brockwell.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:48:16 +0200 | Pent | (sid313808@id-313808.tooting.irccloud.com) |
2021-08-08 11:48:18 +0200 | Athas | (athas@2a01:7c8:aaac:1cf:92c9:1e49:a17c:2d03) |
2021-08-08 11:48:21 +0200 | <sm> | except that books site, which is awesome (for books) |
2021-08-08 11:48:22 +0200 | gaze___ | (sid387101@id-387101.brockwell.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:48:22 +0200 | Adeon | (sid418992@id-418992.tooting.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:48:22 +0200 | sa1 | (sid7690@id-7690.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:48:22 +0200 | totbwf__ | (sid402332@id-402332.highgate.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:48:30 +0200 | eco | (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) |
2021-08-08 11:48:33 +0200 | dajoer | (~david@user/gvx) |
2021-08-08 11:48:38 +0200 | exarkun | (~exarkun@user/exarkun) (Ping timeout: 256 seconds) |
2021-08-08 11:48:40 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) |
2021-08-08 11:48:56 +0200 | lambdap | (~lambdap@static.167.190.119.168.clients.your-server.de) (Ping timeout: 252 seconds) |
2021-08-08 11:49:00 +0200 | supersven | (uid501114@id-501114.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:49:01 +0200 | glowcoil | (sid3405@id-3405.tinside.irccloud.com) |
2021-08-08 11:49:21 +0200 | shachaf | (~shachaf@user/shachaf) |
2021-08-08 11:49:25 +0200 | exarkun | (~exarkun@user/exarkun) |
2021-08-08 11:49:28 +0200 | Firedancer | (sid336191@id-336191.stonehaven.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:49:29 +0200 | bradparker | (sid262931@id-262931.highgate.irccloud.com) (Ping timeout: 252 seconds) |
2021-08-08 11:49:29 +0200 | energizer | (~energizer@user/energizer) (Ping timeout: 252 seconds) |
2021-08-08 11:49:29 +0200 | canta | (~canta@user/canta) (Ping timeout: 252 seconds) |
2021-08-08 11:49:30 +0200 | xlei | (znc@pool-68-129-84-118.nycmny.fios.verizon.net) |
2021-08-08 11:49:37 +0200 | Firedancer | (sid336191@id-336191.stonehaven.irccloud.com) |
2021-08-08 11:49:37 +0200 | SethTisue__ | (sid14912@id-14912.charlton.irccloud.com) |
2021-08-08 11:49:37 +0200 | gaze___ | (sid387101@id-387101.brockwell.irccloud.com) |
2021-08-08 11:49:38 +0200 | tapas | (sid467876@id-467876.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:49:38 +0200 | gmc | (sid58314@id-58314.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:49:39 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2021-08-08 11:49:51 +0200 | teddyc | (theodorc@cassarossa.samfundet.no) (Ping timeout: 258 seconds) |
2021-08-08 11:49:54 +0200 | Adeon | (sid418992@id-418992.tooting.irccloud.com) |
2021-08-08 11:49:55 +0200 | conjunctive | (sid433686@id-433686.brockwell.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:50:03 +0200 | conjunctive | (sid433686@id-433686.brockwell.irccloud.com) |
2021-08-08 11:50:07 +0200 | emergence | (~emergence@vm0.max-p.me) (Ping timeout: 245 seconds) |
2021-08-08 11:50:16 +0200 | kaychaks__ | (sid236345@id-236345.brockwell.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:50:22 +0200 | totbwf__ | (sid402332@id-402332.highgate.irccloud.com) |
2021-08-08 11:50:28 +0200 | bradparker | (sid262931@id-262931.highgate.irccloud.com) |
2021-08-08 11:50:32 +0200 | mrianbloom | (sid350277@id-350277.charlton.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 11:50:34 +0200 | canta | (~canta@user/canta) |
2021-08-08 11:50:35 +0200 | L29Ah | (~L29Ah@user/l29ah) (Ping timeout: 252 seconds) |
2021-08-08 11:50:46 +0200 | dsal | (sid13060@id-13060.tooting.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:50:54 +0200 | obviyus | (sid415299@user/obviyus) (Ping timeout: 272 seconds) |
2021-08-08 11:50:54 +0200 | ephemient | (uid407513@id-407513.tooting.irccloud.com) (Ping timeout: 256 seconds) |
2021-08-08 11:50:57 +0200 | raoul | (~raoul@95.179.203.88) (Ping timeout: 245 seconds) |
2021-08-08 11:51:02 +0200 | bjs | (sid190364@user/bjs) |
2021-08-08 11:51:08 +0200 | tnks | (sid412124@id-412124.brockwell.irccloud.com) (Ping timeout: 252 seconds) |
2021-08-08 11:51:08 +0200 | rubin55_ | (sid175221@id-175221.stonehaven.irccloud.com) (Ping timeout: 252 seconds) |
2021-08-08 11:51:24 +0200 | kaychaks__ | (sid236345@id-236345.brockwell.irccloud.com) |
2021-08-08 11:51:41 +0200 | hrdl | (~hrdl@mail.hrdl.eu) (Ping timeout: 252 seconds) |
2021-08-08 11:52:05 +0200 | PotatoGim | (sid99505@id-99505.tooting.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:52:05 +0200 | idnar | (sid12240@debian/mithrandi) (Ping timeout: 250 seconds) |
2021-08-08 11:52:09 +0200 | <sm> | don't neglect the GHC User Guide, and base's haddocks, also |
2021-08-08 11:52:10 +0200 | feepo | (sid28508@id-28508.brockwell.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:52:10 +0200 | S11001001 | (sid42510@id-42510.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:52:12 +0200 | opqdonut_ | (opqdonut@pseudo.fixme.fi) (Ping timeout: 245 seconds) |
2021-08-08 11:52:14 +0200 | ziman | (~ziman@user/ziman) (Ping timeout: 252 seconds) |
2021-08-08 11:52:14 +0200 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-08-08 11:52:19 +0200 | <euouae> | yeah base has nice haddocks |
2021-08-08 11:52:30 +0200 | edwardk | (sid47016@haskell/developer/edwardk) (Ping timeout: 250 seconds) |
2021-08-08 11:52:36 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Ping timeout: 256 seconds) |
2021-08-08 11:52:48 +0200 | ProofTechnique | (sid79547@id-79547.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:52:56 +0200 | <Drew[m]1> | Nor your build tool user guide! |
2021-08-08 11:52:59 +0200 | <sm> | the Prelude module, anyway |
2021-08-08 11:53:26 +0200 | jonrh | (sid5185@id-5185.charlton.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:53:33 +0200 | <sm> | Drew: agreed |
2021-08-08 11:53:37 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-08-08 11:53:44 +0200 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 256 seconds) |
2021-08-08 11:54:04 +0200 | iphy | (sid67735@id-67735.tooting.irccloud.com) (Ping timeout: 272 seconds) |
2021-08-08 11:54:23 +0200 | <sm> | someone should make a real up to date reading list |
2021-08-08 11:54:26 +0200 | <maerwald[m]> | just don't use `cabal --help`, lol |
2021-08-08 11:54:41 +0200 | <sm> | and then we'd see just how much crap there is to learn :) |
2021-08-08 11:54:42 +0200 | Natch | (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Ping timeout: 245 seconds) |
2021-08-08 11:54:52 +0200 | enemeth79 | (sid309041@id-309041.tooting.irccloud.com) (Ping timeout: 256 seconds) |
2021-08-08 11:55:32 +0200 | cfebs | (~cfebs@user/cfebs) (Ping timeout: 252 seconds) |
2021-08-08 11:55:38 +0200 | <__monty__> | Careful, that sounds like you're inviting mockery along the lines of "Wanted to learn Haskell, got linked this list of 1000+ papers." |
2021-08-08 11:56:15 +0200 | <sm> | well, awareness and admitting we have a problem is the first step :) |
2021-08-08 11:56:19 +0200 | phma_ | phma |
2021-08-08 11:56:42 +0200 | <maerwald[m]> | don't worry, dependent types and linear types are coming to the rescue to make Haskell easier to learn |
2021-08-08 11:56:45 +0200 | sm | is talking about essential reading in order of practicality, not unlimited research topics |
2021-08-08 11:57:16 +0200 | taktoa[c] | (sid282096@tinside.irccloud.com) (Ping timeout: 250 seconds) |
2021-08-08 11:57:44 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Ping timeout: 252 seconds) |
2021-08-08 11:58:12 +0200 | <sm> | perhaps we could persuade Travis Cardwell to expand his books app ? to include other doc types, rating, and sorting ? |
2021-08-08 11:58:16 +0200 | bens | (~bens@www.typius.com) (Ping timeout: 256 seconds) |
2021-08-08 11:58:39 +0200 | <sm> | I think he intends a dedicated site.. he's probably working on it |
2021-08-08 11:58:50 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 256 seconds) |
2021-08-08 11:59:42 +0200 | forell | (~forell@user/forell) (Ping timeout: 245 seconds) |
2021-08-08 12:00:32 +0200 | m1dnight | (~christoph@188.ip-51-91-158.eu) (Ping timeout: 245 seconds) |
2021-08-08 12:00:33 +0200 | lightandlight | (sid135476@id-135476.brockwell.irccloud.com) |
2021-08-08 12:00:41 +0200 | grfn | (sid449115@id-449115.brockwell.irccloud.com) |
2021-08-08 12:00:41 +0200 | ProofTechnique | (sid79547@id-79547.charlton.irccloud.com) |
2021-08-08 12:01:00 +0200 | m1dnight | (~christoph@188.ip-51-91-158.eu) |
2021-08-08 12:01:05 +0200 | obviyus | (sid415299@user/obviyus) |
2021-08-08 12:01:20 +0200 | jonrh | (sid5185@id-5185.charlton.irccloud.com) |
2021-08-08 12:01:24 +0200 | tnks | (sid412124@id-412124.brockwell.irccloud.com) |
2021-08-08 12:01:27 +0200 | enemeth79 | (sid309041@id-309041.tooting.irccloud.com) |
2021-08-08 12:01:29 +0200 | idnar | (sid12240@debian/mithrandi) |
2021-08-08 12:01:33 +0200 | edwardk | (sid47016@haskell/developer/edwardk) |
2021-08-08 12:01:38 +0200 | sa1 | (sid7690@id-7690.charlton.irccloud.com) |
2021-08-08 12:01:42 +0200 | feepo | (sid28508@id-28508.brockwell.irccloud.com) |
2021-08-08 12:01:46 +0200 | iphy | (sid67735@id-67735.tooting.irccloud.com) |
2021-08-08 12:01:47 +0200 | pe200012 | (~pe200012@113.105.10.33) (Ping timeout: 245 seconds) |
2021-08-08 12:01:53 +0200 | pe200012_ | (~pe200012@218.107.49.28) |
2021-08-08 12:01:53 +0200 | S11001001 | (sid42510@id-42510.charlton.irccloud.com) |
2021-08-08 12:01:54 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) |
2021-08-08 12:02:03 +0200 | PotatoGim | (sid99505@id-99505.tooting.irccloud.com) |
2021-08-08 12:02:10 +0200 | integral | (sid296274@user/integral) |
2021-08-08 12:02:14 +0200 | mikolaj | (~mikon@duch.mimuw.edu.pl) (Ping timeout: 256 seconds) |
2021-08-08 12:02:27 +0200 | mikolaj | (~mikon@duch.mimuw.edu.pl) |
2021-08-08 12:02:52 +0200 | ski | (~ski@remote12.chalmers.se) |
2021-08-08 12:04:20 +0200 | rubin55_ | (sid175221@id-175221.stonehaven.irccloud.com) |
2021-08-08 12:04:24 +0200 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2021-08-08 12:04:26 +0200 | emergence | (~emergence@vm0.max-p.me) |
2021-08-08 12:04:38 +0200 | mrianbloom | (sid350277@id-350277.charlton.irccloud.com) |
2021-08-08 12:04:42 +0200 | ptrcmd | (~ptrcmd@user/ptrcmd) (Ping timeout: 245 seconds) |
2021-08-08 12:05:03 +0200 | ziman | (~ziman@c25-5.condornet.sk) |
2021-08-08 12:05:07 +0200 | ft | (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 245 seconds) |
2021-08-08 12:05:09 +0200 | gonz__ | (sid304396@id-304396.tooting.irccloud.com) |
2021-08-08 12:05:11 +0200 | hgolden_ | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Ping timeout: 258 seconds) |
2021-08-08 12:05:20 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) |
2021-08-08 12:05:20 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) (Changing host) |
2021-08-08 12:05:20 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) |
2021-08-08 12:05:32 +0200 | stefan-_ | (~cri@42dots.de) |
2021-08-08 12:05:45 +0200 | <euouae> | heh hedgehog sure is cool though |
2021-08-08 12:05:51 +0200 | tritlo | (sid58727@user/tritlo) |
2021-08-08 12:05:55 +0200 | hrdl | (~hrdl@mail.hrdl.eu) |
2021-08-08 12:05:56 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-08-08 12:06:01 +0200 | <euouae> | I wrote a faulty unit test and it caught it quickly and showed me a minimal example |
2021-08-08 12:06:06 +0200 | forell | (~forell@user/forell) |
2021-08-08 12:06:11 +0200 | <euouae> | (faulty unit test meaning I wrote a property that doesn't actually hold) |
2021-08-08 12:06:14 +0200 | hook54321 | (sid149355@user/hook54321) |
2021-08-08 12:06:21 +0200 | gmc | (sid58314@id-58314.charlton.irccloud.com) |
2021-08-08 12:06:21 +0200 | dsal | (sid13060@id-13060.tooting.irccloud.com) |
2021-08-08 12:06:25 +0200 | supersven | (uid501114@id-501114.charlton.irccloud.com) |
2021-08-08 12:06:28 +0200 | <sm> | \o/ |
2021-08-08 12:06:32 +0200 | <tomsmeding> | that's the promise of property testing :) |
2021-08-08 12:06:47 +0200 | ephemient | (uid407513@id-407513.tooting.irccloud.com) |
2021-08-08 12:07:03 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 12:07:04 +0200 | ft | (~ft@shell.chaostreff-dortmund.de) |
2021-08-08 12:07:36 +0200 | cbarrett | (sid192934@id-192934.brockwell.irccloud.com) |
2021-08-08 12:07:50 +0200 | anderson | (~ande@134.209.221.71) |
2021-08-08 12:08:02 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:08:02 +0200 | johnw | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Ping timeout: 245 seconds) |
2021-08-08 12:08:14 +0200 | cfebs | (~cfebs@user/cfebs) |
2021-08-08 12:08:27 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 245 seconds) |
2021-08-08 12:08:48 +0200 | <euouae> | no wait! It even caught a real bug in my code! |
2021-08-08 12:09:30 +0200 | piele | (~piele@tbonesteak.creativeserver.net) |
2021-08-08 12:10:02 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-08-08 12:10:10 +0200 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 256 seconds) |
2021-08-08 12:10:15 +0200 | <euouae> | the original Hangman I posted had the mistake of not updating the guess-character list with a character if it was a wrong guess |
2021-08-08 12:10:20 +0200 | tapas | (sid467876@charlton.irccloud.com) |
2021-08-08 12:10:32 +0200 | PotatoGim | (sid99505@id-99505.tooting.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:10:37 +0200 | <juri_> | I should add property tests to my code more often. it's a bit difficult when all of your 'success cases' are corner cases. |
2021-08-08 12:10:56 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) |
2021-08-08 12:11:14 +0200 | <euouae> | Oh man what a success story for me this was |
2021-08-08 12:11:32 +0200 | <euouae> | A simple game like Hangman and I managed to slip a bug in there and rudimentary use of Hedgehog caught it |
2021-08-08 12:11:32 +0200 | EvanR | (~evan@mail.evanr.info) |
2021-08-08 12:11:32 +0200 | EvanR | (~evan@mail.evanr.info) (Changing host) |
2021-08-08 12:11:32 +0200 | EvanR | (~evan@user/evanr) |
2021-08-08 12:11:34 +0200 | <sm> | victory out of the jaws of defeat! |
2021-08-08 12:11:41 +0200 | <euouae> | hehe ^_^ |
2021-08-08 12:11:48 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2021-08-08 12:11:48 +0200 | Athas | (athas@2a01:7c8:aaac:1cf:92c9:1e49:a17c:2d03) (Remote host closed the connection) |
2021-08-08 12:12:13 +0200 | elcaro | (~anonymous@45.32.191.75) |
2021-08-08 12:12:30 +0200 | phma | (phma@2001:5b0:210f:5478:d01b:a8f6:5c4b:b741) (Read error: Connection reset by peer) |
2021-08-08 12:12:37 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 245 seconds) |
2021-08-08 12:12:53 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
2021-08-08 12:13:08 +0200 | <euouae> | https://paste.tomsmeding.com/Wln1Rbtd |
2021-08-08 12:13:19 +0200 | <euouae> | Here you go, my Spec.hs that caught the bug, together with the new and old version of Lib.hs (the old version contains the bug) |
2021-08-08 12:13:34 +0200 | <euouae> | the bug was caught by prop_repeat_guess |
2021-08-08 12:13:55 +0200 | mjrosenb | (~mrosenbe@nyc.schrodinger.com) |
2021-08-08 12:14:22 +0200 | Athas | (athas@sigkill.dk) |
2021-08-08 12:14:31 +0200 | Natch | (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) |
2021-08-08 12:14:36 +0200 | PotatoGim | (sid99505@id-99505.tooting.irccloud.com) |
2021-08-08 12:14:42 +0200 | supersven | (uid501114@id-501114.charlton.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:14:42 +0200 | dsal | (sid13060@id-13060.tooting.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:15:36 +0200 | johnw | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) |
2021-08-08 12:16:27 +0200 | teddyc | (theodorc@cassarossa.samfundet.no) |
2021-08-08 12:16:29 +0200 | supersven | (uid501114@id-501114.charlton.irccloud.com) |
2021-08-08 12:16:54 +0200 | dsal | (sid13060@id-13060.tooting.irccloud.com) |
2021-08-08 12:17:32 +0200 | <sm> | euouae: have you still got the test runner output ? |
2021-08-08 12:17:37 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:17:37 +0200 | ProofTechnique | (sid79547@id-79547.charlton.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:17:40 +0200 | <euouae> | Yeah why? |
2021-08-08 12:18:02 +0200 | <sm> | I'm interested to see it |
2021-08-08 12:18:27 +0200 | jonrh | (sid5185@id-5185.charlton.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:18:52 +0200 | sa1 | (sid7690@id-7690.charlton.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:19:03 +0200 | <euouae> | sm: here you go, https://paste.tomsmeding.com/9hKcNTUJ |
2021-08-08 12:19:09 +0200 | energizer | (~energizer@user/energizer) |
2021-08-08 12:19:13 +0200 | <euouae> | Added the output as a fourth file |
2021-08-08 12:19:42 +0200 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) |
2021-08-08 12:19:53 +0200 | <sm> | thanks! that's pretty great |
2021-08-08 12:19:55 +0200 | ProofTechnique | (sid79547@id-79547.charlton.irccloud.com) |
2021-08-08 12:20:37 +0200 | jonrh | (sid5185@id-5185.charlton.irccloud.com) |
2021-08-08 12:20:40 +0200 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
2021-08-08 12:20:41 +0200 | sa1 | (sid7690@id-7690.charlton.irccloud.com) |
2021-08-08 12:20:49 +0200 | <euouae> | yeah I managed to catch what is probably the only bug in the code in less than 10 minutes of writing property tests |
2021-08-08 12:20:50 +0200 | bens | (~bens@www.typius.com) |
2021-08-08 12:21:01 +0200 | <euouae> | I'm now a believer |
2021-08-08 12:21:07 +0200 | <sm> | ha I bet there's more |
2021-08-08 12:21:11 +0200 | <euouae> | :< |
2021-08-08 12:21:34 +0200 | ptrcmd | (~ptrcmd@user/ptrcmd) |
2021-08-08 12:22:44 +0200 | <tomsmeding> | :t \f x -> f `flip` x |
2021-08-08 12:22:45 +0200 | <lambdabot> | (a -> b -> c) -> b -> a -> c |
2021-08-08 12:22:58 +0200 | <tomsmeding> | interesting way of writing that |
2021-08-08 12:23:02 +0200 | PotatoGim | (sid99505@id-99505.tooting.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 12:23:02 +0200 | Igfoo | (~ian@matrix.chaos.earth.li) (Ping timeout: 245 seconds) |
2021-08-08 12:23:12 +0200 | Igfoo | (~ian@matrix.chaos.earth.li) |
2021-08-08 12:23:23 +0200 | <tomsmeding> | an alternative would be (`Lib.guessCharacter` c) |
2021-08-08 12:23:38 +0200 | <tomsmeding> | or, of course, let guessC g = Lib.guessCharacter g c |
2021-08-08 12:23:38 +0200 | <euouae> | oh nice heh |
2021-08-08 12:23:50 +0200 | <tomsmeding> | which is more readable IMO :) |
2021-08-08 12:23:55 +0200 | <euouae> | hmmmm nice |
2021-08-08 12:24:45 +0200 | mei | (~mei@user/mei) |
2021-08-08 12:24:48 +0200 | PotatoGim | (sid99505@id-99505.tooting.irccloud.com) |
2021-08-08 12:26:13 +0200 | <euouae> | I'll take this small victory and go home to sleep |
2021-08-08 12:26:21 +0200 | <euouae> | Have a good one, thanks for all the help! |
2021-08-08 12:26:32 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-08 12:26:34 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-08 12:26:37 +0200 | allbery_b | geekosaur |
2021-08-08 12:26:46 +0200 | euouae | (~euouae@user/euouae) (Quit: Client closed) |
2021-08-08 12:27:27 +0200 | L29Ah | (~L29Ah@user/l29ah) |
2021-08-08 12:34:19 +0200 | sander | (~sander@user/sander) (Ping timeout: 258 seconds) |
2021-08-08 12:36:56 +0200 | sander | (~sander@user/sander) |
2021-08-08 12:38:35 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-08 12:39:35 +0200 | MoC | (~moc@user/moc) |
2021-08-08 12:45:18 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-08-08 12:45:33 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-08 13:00:00 +0200 | agua_pesada | (~agua_pesa@2804:14c:8793:8e2f:48b4:3d09:2f3b:552b) (Ping timeout: 258 seconds) |
2021-08-08 13:12:16 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
2021-08-08 13:20:05 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-08-08 13:20:19 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 13:26:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 13:31:46 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-08-08 13:32:32 +0200 | oxide | (~lambda@user/oxide) |
2021-08-08 13:34:22 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-08-08 13:41:59 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 13:44:33 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Quit: Leaving) |
2021-08-08 13:46:28 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-08-08 13:51:02 +0200 | stefan-_ | (~cri@42dots.de) (Ping timeout: 252 seconds) |
2021-08-08 13:54:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-08-08 13:55:20 +0200 | stefan-_ | (~cri@42dots.de) |
2021-08-08 14:05:15 +0200 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2021-08-08 14:06:54 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 256 seconds) |
2021-08-08 14:07:12 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
2021-08-08 14:09:28 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
2021-08-08 14:10:42 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2021-08-08 14:11:50 +0200 | markpythonicbitc | (~markpytho@2601:647:5a00:35:147a:d585:e4cc:401c) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-08 14:15:46 +0200 | elias__ | (~elias@154.27.37.188.rev.vodafone.pt) (Remote host closed the connection) |
2021-08-08 14:16:31 +0200 | skykanin | (~skykanin@115.81-166-221.customer.lyse.net) |
2021-08-08 14:17:30 +0200 | cheater | (~Username@user/cheater) |
2021-08-08 14:19:29 +0200 | enoq | (~enoq@194-208-179-35.lampert.tv) |
2021-08-08 14:19:39 +0200 | skykanin | (~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2) |
2021-08-08 14:19:48 +0200 | skykanin | (~skykanin@115.81-166-221.customer.lyse.net) |
2021-08-08 14:23:56 +0200 | tommd | (~tommd@cpe-76-179-204-251.maine.res.rr.com) |
2021-08-08 14:31:05 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-08-08 14:32:12 +0200 | Kugge | (~Kugge@82-65-70-62.subs.proxad.net) |
2021-08-08 14:32:19 +0200 | ziman | (~ziman@c25-5.condornet.sk) (Changing host) |
2021-08-08 14:32:19 +0200 | ziman | (~ziman@user/ziman) |
2021-08-08 14:32:34 +0200 | berberman | (~berberman@user/berberman) |
2021-08-08 14:33:44 +0200 | berberman_ | (~berberman@user/berberman) (Ping timeout: 272 seconds) |
2021-08-08 14:33:45 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 276 seconds) |
2021-08-08 14:34:18 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-08-08 14:39:20 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-08-08 14:42:33 +0200 | favonia | (~favonia@user/favonia) |
2021-08-08 14:42:36 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-08 14:43:14 +0200 | tommd | (~tommd@cpe-76-179-204-251.maine.res.rr.com) (Ping timeout: 272 seconds) |
2021-08-08 14:43:28 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-08-08 14:43:52 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
2021-08-08 14:46:37 +0200 | markpythonicbitc | (~markpytho@50.228.44.6) |
2021-08-08 14:48:33 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-08-08 14:48:35 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-08-08 14:48:38 +0200 | allbery_b | geekosaur |
2021-08-08 14:48:43 +0200 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-08-08 14:58:03 +0200 | Kugge | (~Kugge@82-65-70-62.subs.proxad.net) (Quit: Lost terminal) |
2021-08-08 14:58:30 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-08-08 15:00:22 +0200 | MQ-17J | (~MQ-17J@8.6.144.235) (Ping timeout: 258 seconds) |
2021-08-08 15:00:38 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Read error: Connection reset by peer) |
2021-08-08 15:00:56 +0200 | alx741 | (~alx741@186.178.108.253) |
2021-08-08 15:01:18 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 15:05:46 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
2021-08-08 15:14:33 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:e6ab:58ee:e458:ff3a) (Ping timeout: 258 seconds) |
2021-08-08 15:15:19 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:9e0:616e:42de:43f7) |
2021-08-08 15:16:12 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-08-08 15:18:57 +0200 | jakalx | (~jakalx@base.jakalx.net) (Machine is going to sleep) |
2021-08-08 15:21:43 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 15:26:17 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-08-08 15:28:12 +0200 | <lechner> | srid[m]: Hi, I would like to deploy an experimental instance of emanote. Can you please help with compiling it? Thanks! |
2021-08-08 15:28:27 +0200 | jumper149 | (~jumper149@80.240.31.34) (Ping timeout: 245 seconds) |
2021-08-08 15:28:50 +0200 | henninb | (~henninb@63-228-51-113.mpls.qwest.net) |
2021-08-08 15:29:06 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-08-08 15:29:46 +0200 | <lechner> | Hi, is it possible here to use Data.SemVer.parser directly with optparse-applicative? Thanks! https://dpaste.org/cADn#L71 |
2021-08-08 15:30:54 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-08-08 15:33:43 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-08-08 15:39:14 +0200 | oxide | (~lambda@user/oxide) |
2021-08-08 15:43:18 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 15:45:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 15:48:28 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-08-08 15:52:13 +0200 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) |
2021-08-08 15:56:55 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-08-08 16:00:56 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-6-23.prtc.net) |
2021-08-08 16:15:55 +0200 | henninb | (~henninb@63-228-51-113.mpls.qwest.net) (Quit: leaving) |
2021-08-08 16:24:44 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c) |
2021-08-08 16:25:44 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds) |
2021-08-08 16:26:24 +0200 | meltedbrain_y2k | (~tekserf@45.152.183.52) |
2021-08-08 16:28:07 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2021-08-08 16:30:15 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-08-08 16:32:28 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-08-08 16:32:57 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-08 16:35:34 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-6-23.prtc.net) (Ping timeout: 246 seconds) |
2021-08-08 16:36:49 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-08-08 16:36:53 +0200 | son0p | (~ff@181.136.122.143) |
2021-08-08 16:41:07 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 250 seconds) |
2021-08-08 16:41:59 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:55d2:a8d9:e00b:3a3a) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-08-08 16:42:25 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:55d2:a8d9:e00b:3a3a) |
2021-08-08 16:42:56 +0200 | oxide | (~lambda@user/oxide) |
2021-08-08 16:47:03 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-08-08 16:48:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-08-08 16:50:06 +0200 | <tromp> | i posted to Hacker News about my hopefully interesting Haskell project: https://news.ycombinator.com/item?id=28107062 |
2021-08-08 16:53:42 +0200 | mnrmnaugh | philosomnaugh |
2021-08-08 16:54:44 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 16:55:55 +0200 | <lechner> | tromp: being in a Haskell channel I briefly confused the Go game in your text with the Go language. Maybe it would be helpful to others to include the word "game" at the first mention https://github.com/tromp/ChessPositionRanking#chesspositionranking |
2021-08-08 16:58:52 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
2021-08-08 17:00:22 +0200 | <fgaz> | is .stack-work the equivalent of cabal's dist[-newstyle], i.e. does it contain the local project cache among other stuff? |
2021-08-08 17:01:14 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-08-08 17:01:17 +0200 | <fgaz> | docs and search engines aren't helpful and I don't want to install stack just to check that... |
2021-08-08 17:01:49 +0200 | <dsal> | If you have a .stack-work, but no stack, someone did something dumb. :) |
2021-08-08 17:01:58 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-08 17:02:26 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Remote host closed the connection) |
2021-08-08 17:02:44 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-08-08 17:03:02 +0200 | <fgaz> | dsal: oh I don't, it's for a gitignore |
2021-08-08 17:05:30 +0200 | <tomsmeding> | fgaz: not sure precisely, but I _am_ sure that in a git repo for a normal Haskell project, you don't want to commit .stack-work |
2021-08-08 17:05:49 +0200 | <tomsmeding> | the relevant information for stack is contained in stack.yaml and, if using hpack, package.yaml |
2021-08-08 17:06:12 +0200 | <tomsmeding> | (and the cabal file, if not using hpack) |
2021-08-08 17:09:14 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 17:11:35 +0200 | <lechner> | Hi, what are the two types of x in those code samples, please? https://stackoverflow.com/a/55015701 |
2021-08-08 17:12:10 +0200 | <lechner> | never mind. i'm confused |
2021-08-08 17:12:18 +0200 | <dsal> | fgaz: Yeah, it should be there. It's effectively a scratch directory of things that can be recreated, including build artifacts and lots of other junk. |
2021-08-08 17:12:47 +0200 | <fgaz> | tomsmeding dsal: thanks! |
2021-08-08 17:13:17 +0200 | <tomsmeding> | it can get fairly large :p |
2021-08-08 17:13:43 +0200 | <Cajun> | lechner: given the type signature, both are `[String]` . and by convention, anything that ends with _ disregards results and returns `()` (at least as far as im aware) |
2021-08-08 17:14:59 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 17:15:46 +0200 | <lechner> | Cajun: thanks! i was actually confused by the statement "each call to putStrLn returns a unit" but my question did not reflect that very well. What is a unit, please? |
2021-08-08 17:16:00 +0200 | <tromp> | thx, @lechner. changed to "game of Go" |
2021-08-08 17:16:06 +0200 | <Cajun> | "unit" means `()` |
2021-08-08 17:16:37 +0200 | <lechner> | Cajun: thank you! |
2021-08-08 17:16:38 +0200 | <Cajun> | idk how to use lambda bot but `:t ()` === `() :: ()` |
2021-08-08 17:17:03 +0200 | <tomsmeding> | :t () |
2021-08-08 17:17:04 +0200 | <lambdabot> | () |
2021-08-08 17:17:08 +0200 | <Cajun> | and you can see this in mapM_'s type |
2021-08-08 17:17:11 +0200 | <Cajun> | :t mapM_ |
2021-08-08 17:17:12 +0200 | <lambdabot> | (Foldable t, Monad m) => (a -> m b) -> t a -> m () |
2021-08-08 17:17:28 +0200 | <Cajun> | well isnt that simple... :P |
2021-08-08 17:17:54 +0200 | <tomsmeding> | if confused by the Foldable, imagine t = [] so that mapM_ :: Monad m => (a -> m b) -> [a] -> m () |
2021-08-08 17:18:12 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-08-08 17:19:02 +0200 | <Cajun> | and in this instance the monad is IO, so you can replace the m with IO for `(a -> IO b) -> [a] -> IO ()` or even more specifically `(String -> IO b) -> [String] -> IO ()` |
2021-08-08 17:19:22 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-08-08 17:19:27 +0200 | <lechner> | i was confused that anyone would use mapM (without the underscore) but then also do not understand how a list of units is different from a plain unit |
2021-08-08 17:19:54 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 240 seconds) |
2021-08-08 17:20:01 +0200 | <lechner> | it's just about the signature! |
2021-08-08 17:20:03 +0200 | Dumbfoundde4d | (~Dumbfound@li480-24.members.linode.com) |
2021-08-08 17:20:13 +0200 | <Cajun> | sometimes you just want a list of monadic things *shrug* |
2021-08-08 17:20:25 +0200 | <geekosaur> | you don't normally use mapM when you're getting a list of units. but consider something that returns IO String |
2021-08-08 17:20:36 +0200 | <lechner> | right |
2021-08-08 17:21:00 +0200 | <Cajun> | but yeah `mapM` and `mapM_` function identically except with return values |
2021-08-08 17:21:01 +0200 | <tomsmeding> | with an imaginary 'performRequest :: Request -> IO Result', you might have 'mapM performRequests :: [Request] -> IO [Result]' |
2021-08-08 17:21:24 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 250 seconds) |
2021-08-08 17:21:47 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-08-08 17:22:48 +0200 | zmt00 | (~zmt00@user/zmt00) |
2021-08-08 17:23:00 +0200 | <lechner> | so i'm making baby steps here. is there a way to restyle mapM_ putStrLn x into something involving the >>= putStrLn operator? |
2021-08-08 17:23:25 +0200 | philosomnaugh | (~mnrmnaugh@68.162.206.56) (Remote host closed the connection) |
2021-08-08 17:23:39 +0200 | skykanin | Guest4303 |
2021-08-08 17:23:39 +0200 | Guest4303 | (~skykanin@115.81-166-221.customer.lyse.net) (Killed (erbium.libera.chat (Nickname regained by services))) |
2021-08-08 17:23:50 +0200 | <lechner> | or is that a bogus thought |
2021-08-08 17:23:56 +0200 | mnrmnaugh | (~mnrmnaugh@68.162.206.56) |
2021-08-08 17:23:57 +0200 | Guest4303 | (~skykanin@115.81-166-221.customer.lyse.net) |
2021-08-08 17:24:39 +0200 | <Cajun> | yeah, heres a small example `foo = getLine >>= \line -> putStrLn line` although this can be more optimized |
2021-08-08 17:25:28 +0200 | skykanin | (~skykanin@159.84-234-142.customer.lyse.net) |
2021-08-08 17:25:39 +0200 | skykanin | (~skykanin@159.84-234-142.customer.lyse.net) (Client Quit) |
2021-08-08 17:25:40 +0200 | <Cajun> | well hlint doesnt yell at me for the code so its fine lol |
2021-08-08 17:25:49 +0200 | <tomsmeding> | lechner: if you have 'mapM_ putStrLn x', then x is a list of strings. So somehow, you're going to have to loop over the list x |
2021-08-08 17:26:01 +0200 | <tomsmeding> | mapM_ does this for you; you can also do it manually |
2021-08-08 17:26:49 +0200 | <tomsmeding> | :t let loop [] = return () ; loop (x:xs) = putStrLn x >> loop xs in loop |
2021-08-08 17:26:50 +0200 | <lambdabot> | [String] -> IO () |
2021-08-08 17:27:31 +0200 | <tomsmeding> | which you can express using standard functions like foldr in a number of ways :) |
2021-08-08 17:27:51 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-08-08 17:28:00 +0200 | <tomsmeding> | (or traverse, which happens to be the same as mapM) |
2021-08-08 17:28:42 +0200 | <lechner> | i see. thanks! |
2021-08-08 17:28:46 +0200 | <Cajun> | i was thinking of doing something with traverse until i realized `mapM` already puts the monad on the outside of the list :p |
2021-08-08 17:29:26 +0200 | <tomsmeding> | traverse = mapM |
2021-08-08 17:29:49 +0200 | <Cajun> | oh yeah.. i guess it does wind up like that huh |
2021-08-08 17:30:02 +0200 | <tomsmeding> | well, with different typeclass constraints, and technically traverse is implemented using the Applicative combinators whereas mapM uses the monad methods |
2021-08-08 17:30:13 +0200 | <tomsmeding> | but if your instances are lawful, that should be exactly the same :) |
2021-08-08 17:30:45 +0200 | fendor | (~fendor@213162073215.public.t-mobile.at) |
2021-08-08 17:30:46 +0200 | <Cajun> | "but if your instance are lawful" that sounds like it could be a headache and a half lol |
2021-08-08 17:30:49 +0200 | <tomsmeding> | also fmap = liftM |
2021-08-08 17:31:07 +0200 | <Lycurgus> | is there a quicklaw? |
2021-08-08 17:31:34 +0200 | <tomsmeding> | Lycurgus: https://hackage.haskell.org/package/tasty-quickcheck-laws |
2021-08-08 17:31:38 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c) (Quit: WeeChat 3.2) |
2021-08-08 17:31:44 +0200 | <Lycurgus> | tomsmeding, ty! |
2021-08-08 17:37:37 +0200 | deadletter[m] | stoicswe[m] |
2021-08-08 17:39:37 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 17:41:28 +0200 | fendor_ | (~fendor@046125250027.public.t-mobile.at) |
2021-08-08 17:43:52 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
2021-08-08 17:43:52 +0200 | fendor | (~fendor@213162073215.public.t-mobile.at) (Ping timeout: 245 seconds) |
2021-08-08 17:48:35 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-08-08 17:49:24 +0200 | Dumbfoundde4d | (~Dumbfound@li480-24.members.linode.com) (Later) |
2021-08-08 17:50:36 +0200 | marsupilami | (~martin@2a01:e0a:43:72e0:b22a:9a5f:889c:554b) |
2021-08-08 17:52:26 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:9e0:616e:42de:43f7) (Ping timeout: 256 seconds) |
2021-08-08 17:53:08 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:f78f:6771:9432:cc40) |
2021-08-08 17:54:13 +0200 | marsupilami | (~martin@2a01:e0a:43:72e0:b22a:9a5f:889c:554b) (Client Quit) |
2021-08-08 17:55:41 +0200 | ubert | (~Thunderbi@178.115.34.26.wireless.dyn.drei.com) |
2021-08-08 17:58:34 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-08-08 17:59:53 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 17:59:57 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-08-08 18:01:14 +0200 | ubert | (~Thunderbi@178.115.34.26.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-08-08 18:04:17 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
2021-08-08 18:04:20 +0200 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity) |
2021-08-08 18:04:36 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) |
2021-08-08 18:07:21 +0200 | jess | (~jess@libera/staff/jess) () |
2021-08-08 18:14:37 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-08 18:14:56 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-08 18:15:32 +0200 | <dsal> | Oh interesting. I was using checkers for that. |
2021-08-08 18:16:42 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 240 seconds) |
2021-08-08 18:16:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 18:17:38 +0200 | <dsal> | testApplicativeLaws :: (Applicative f, Eq a, Eq b, Eq c, Show a, Show t, Show (f a), Show (f (a -> b)), Show (f (b -> c)), Arbitrary a, Arbitrary b, Arbitrary t, Arbitrary (f a), Arbitrary (f (a -> b)), Arbitrary (f (b -> c)), CoArbitrary a, Typeable f, Typeable a, Typeable b, Typeable c) => Proxy f -> Proxy t -> Proxy a -> Proxy b -> Proxy c -> (forall u. Eq u => t -> f u -> f u -> Bool) -> TestTree |
2021-08-08 18:17:45 +0200 | <dsal> | Well that doesn't look significantly easier to use. |
2021-08-08 18:18:06 +0200 | <dsal> | (not that I ever remember how to use checkers) |
2021-08-08 18:18:59 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-08-08 18:19:57 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-08-08 18:20:08 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 18:22:30 +0200 | azeem | (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) (Ping timeout: 250 seconds) |
2021-08-08 18:22:52 +0200 | azeem | (~azeem@176.201.28.221) |
2021-08-08 18:24:10 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-08-08 18:25:19 +0200 | econo | (uid147250@user/econo) |
2021-08-08 18:27:11 +0200 | azeem | (~azeem@176.201.28.221) (Read error: Connection reset by peer) |
2021-08-08 18:27:23 +0200 | azeem | (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) |
2021-08-08 18:29:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-08-08 18:31:22 +0200 | azeem | (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) (Ping timeout: 240 seconds) |
2021-08-08 18:31:50 +0200 | azeem | (~azeem@176.201.28.221) |
2021-08-08 18:33:39 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 18:34:52 +0200 | fendor_ | (~fendor@046125250027.public.t-mobile.at) (Remote host closed the connection) |
2021-08-08 18:35:17 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 18:40:07 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
2021-08-08 18:40:42 +0200 | azeem | (~azeem@176.201.28.221) (Ping timeout: 240 seconds) |
2021-08-08 18:42:25 +0200 | qbt | (~edun@user/edun) |
2021-08-08 18:42:27 +0200 | qbt | (~edun@user/edun) (Remote host closed the connection) |
2021-08-08 18:42:30 +0200 | edun | (~edun@user/edun) |
2021-08-08 18:42:37 +0200 | azeem | (~azeem@176.201.28.221) |
2021-08-08 18:43:34 +0200 | edun | (~edun@user/edun) (Client Quit) |
2021-08-08 18:43:53 +0200 | qbt | (~edun@user/edun) |
2021-08-08 18:47:40 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection) |
2021-08-08 18:53:54 +0200 | azeem | (~azeem@176.201.28.221) (Ping timeout: 240 seconds) |
2021-08-08 18:55:27 +0200 | azeem | (~azeem@176.201.28.221) |
2021-08-08 18:55:28 +0200 | Vajb | (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer) |
2021-08-08 18:57:33 +0200 | Atum_ | (~IRC@user/atum/x-2392232) |
2021-08-08 18:58:01 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-08 18:59:05 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-08-08 19:02:35 +0200 | oxide | (~lambda@user/oxide) |
2021-08-08 19:02:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 19:07:54 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-08-08 19:07:54 +0200 | azeem | (~azeem@176.201.28.221) (Read error: Connection reset by peer) |
2021-08-08 19:08:18 +0200 | azeem | (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) |
2021-08-08 19:09:26 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-08-08 19:10:48 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-08-08 19:11:59 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-08-08 19:21:30 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:f78f:6771:9432:cc40) (Ping timeout: 240 seconds) |
2021-08-08 19:22:44 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:c767:19bd:28d8:628d) |
2021-08-08 19:25:58 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c) |
2021-08-08 19:26:28 +0200 | <euandreh> | now getting into Haskell, I get the impression that even though there exists Haskell2010 as a language specification, GHC is the de facto implementation |
2021-08-08 19:26:45 +0200 | <euandreh> | as many people add GHC-specific extensions to their code and libraries freely |
2021-08-08 19:27:01 +0200 | <euandreh> | so it feels like Haskell is actually GHC-Haskell most of the time |
2021-08-08 19:27:06 +0200 | <euandreh> | is this correct? |
2021-08-08 19:27:35 +0200 | <opqdonut> | yeah that's pretty much it |
2021-08-08 19:27:55 +0200 | <opqdonut> | some people do write code using the Haskell2010 subset of GHC Haskell |
2021-08-08 19:28:29 +0200 | markpythonicbitc | (~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-08-08 19:28:49 +0200 | <opqdonut> | but in terms of libraries, you're pretty much stuck with GHC. the GHC base doesn't implement the Haskell2010 standard due to some key differences (mostly relating to the type classes Monad and Applicative) |
2021-08-08 19:29:18 +0200 | <euandreh> | that's interesting, I didn't know that |
2021-08-08 19:29:49 +0200 | <davean> | opqdonut: eh, those differences are ones you can be invariant to in a decent bit of code based on it, its just verbose |
2021-08-08 19:29:58 +0200 | <c_wraith> | Pretty sure the removal of Num superclasses still isn't in a Haskell standard either |
2021-08-08 19:30:30 +0200 | <davean> | Like, you have to throw a bunch of constraints on your function explicitely to make it work with either, but you can |
2021-08-08 19:31:18 +0200 | <opqdonut> | davean: nah, you need preprocessor directives if you want to implement a Monad instance |
2021-08-08 19:31:46 +0200 | <opqdonut> | (for both GHC and Haskell2010) |
2021-08-08 19:32:04 +0200 | <c_wraith> | that doesn't sound right. |
2021-08-08 19:32:19 +0200 | <davean> | I don't believe you, its been a bit since I did it but I think you're very wrong |
2021-08-08 19:32:24 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-08-08 19:32:24 +0200 | <opqdonut> | quoth the manual: You cannot write Monad instances that work for GHC and also for a Haskell 2010 implementation that does not define Applicative. |
2021-08-08 19:32:30 +0200 | <opqdonut> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/bugs.html |
2021-08-08 19:32:35 +0200 | <c_wraith> | Right, that's true |
2021-08-08 19:32:35 +0200 | <davean> | *that does not define Applicative* |
2021-08-08 19:32:43 +0200 | <davean> | Thats a conditional |
2021-08-08 19:32:43 +0200 | <opqdonut> | Applicative is not in Haskell2010 |
2021-08-08 19:32:47 +0200 | <c_wraith> | yes it is |
2021-08-08 19:32:54 +0200 | <opqdonut> | hmm |
2021-08-08 19:33:08 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 250 seconds) |
2021-08-08 19:33:26 +0200 | <opqdonut> | can't see it here: https://www.haskell.org/onlinereport/haskell2010/haskellpa2.html#x20-192000II |
2021-08-08 19:33:41 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-08-08 19:34:02 +0200 | <opqdonut> | this is a very minor point, but something that irked me when I realised it: it's impossible to write Haskell2010 code that's useable in the wild |
2021-08-08 19:34:34 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) (Quit: leaving) |
2021-08-08 19:34:37 +0200 | <c_wraith> | Huh, guess it's not there. But still, all that means is you need to import a library that defines it |
2021-08-08 19:34:53 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) |
2021-08-08 19:34:55 +0200 | <davean> | opqdonut: when using Haskell2010 without an Applicative class, you can can just import a package that provides it |
2021-08-08 19:35:13 +0200 | <opqdonut> | davean: yes, which pretty much means preprocessor directives, like I said |
2021-08-08 19:35:29 +0200 | <c_wraith> | well, no. the library can still put it in a module named Control.Applicative |
2021-08-08 19:35:37 +0200 | <davean> | opqdonut: it does not |
2021-08-08 19:35:38 +0200 | <c_wraith> | no need for conditional compilation |
2021-08-08 19:35:46 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) (Client Quit) |
2021-08-08 19:35:56 +0200 | <opqdonut> | ok yeah you can shunt it up to the build system level |
2021-08-08 19:36:19 +0200 | <opqdonut> | but you can't include that Control.Applicative source file when compiling on GHC (AFAIK) |
2021-08-08 19:36:31 +0200 | <davean> | ... yes you can |
2021-08-08 19:36:41 +0200 | <davean> | WTF are you on about |
2021-08-08 19:36:48 +0200 | <davean> | have you ever importated a module in Haskell before? |
2021-08-08 19:37:15 +0200 | <davean> | It'll usually give you a warning when using GHC, but not a problem |
2021-08-08 19:37:25 +0200 | <davean> | if you insist on being warning clean then we've got a few issues here, but thats it |
2021-08-08 19:37:26 +0200 | <c_wraith> | hell, you can name a module Prelude in your own sources. That's actually really useful sometimes. |
2021-08-08 19:37:27 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) |
2021-08-08 19:37:56 +0200 | Vajb | (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) |
2021-08-08 19:37:59 +0200 | <davean> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Applicative.html <-- Its there in GHC |
2021-08-08 19:38:21 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-08-08 19:38:46 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 250 seconds) |
2021-08-08 19:38:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 19:45:02 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 19:48:13 +0200 | tput | (~tim@S0106a84e3fe54613.ed.shawcable.net) (Remote host closed the connection) |
2021-08-08 19:49:04 +0200 | <opqdonut> | interesting |
2021-08-08 19:49:29 +0200 | <opqdonut> | after some testing it seems that GHC indeed prefers my Control/Applicative.hs over the one Control.Applicative in base, I had imagined that would've been an error |
2021-08-08 19:49:49 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-08-08 19:50:26 +0200 | <opqdonut> | however that doesn't help in this case, since I get: Ambiguous occurrence ‘Applicative’ It could refer to either ‘Prelude.Applicative’, ... or ‘Control.Applicative.Applicative’ ... |
2021-08-08 19:50:32 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-08-08 19:51:14 +0200 | <opqdonut> | and even if Applicative weren't in Prelude, I think I'd run into some interop problems when I use a package that uses base's Control.Applicative while my code uses my Control.Applicative |
2021-08-08 19:51:36 +0200 | <opqdonut> | (this is what I mean when I said "you can't include that Control.Applicative source file when compiling on GHC") |
2021-08-08 19:54:19 +0200 | <opqdonut> | of course this is purely hypothetical since there's no Haskell implementation that I'd use other than GHC :) |
2021-08-08 19:54:42 +0200 | Vajb | (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer) |
2021-08-08 19:54:51 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-08-08 19:57:22 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 19:57:22 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit) |
2021-08-08 19:57:39 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-08-08 20:02:39 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-08-08 20:03:39 +0200 | pe200012 | (~pe200012@113.105.10.33) |
2021-08-08 20:03:54 +0200 | pe200012_ | (~pe200012@218.107.49.28) (Ping timeout: 256 seconds) |
2021-08-08 20:07:03 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
2021-08-08 20:09:06 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 250 seconds) |
2021-08-08 20:15:57 +0200 | falsifian | (~falsifian@exoco.falsifian.org) (Quit: Reconnecting) |
2021-08-08 20:16:04 +0200 | falsifian | (~falsifian@exoco.falsifian.org) |
2021-08-08 20:16:16 +0200 | <srid[m]> | lechner: Note that we have a Matrix room for Emanote/neuron - https://app.element.io/#/room/#neuron:matrix.org |
2021-08-08 20:17:23 +0200 | <srid[m]> | "I would like to deploy an experimental instance of emanote. Can you please help with compiling it? Thanks!" -- Nix is the recommended way to install it. Is that what you are trying? Note that I don't check this IRC often (but do check the project chat, and FP slack) |
2021-08-08 20:19:01 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-08-08 20:19:26 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-08-08 20:21:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 20:25:06 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-08-08 20:26:12 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
2021-08-08 20:26:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-08-08 20:29:07 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-08-08 20:32:59 +0200 | Pickchea | (~private@user/pickchea) |
2021-08-08 20:42:26 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-08-08 20:42:56 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-08-08 20:43:47 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-08-08 20:44:26 +0200 | Teohehim[m] | (~teocmatri@2001:470:69fc:105::d327) |
2021-08-08 20:46:47 +0200 | rubin55_ | (sid175221@id-175221.stonehaven.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 20:47:06 +0200 | acertain | (sid470584@id-470584.stonehaven.irccloud.com) (Ping timeout: 240 seconds) |
2021-08-08 20:47:27 +0200 | tritlo | (sid58727@user/tritlo) (Read error: Connection reset by peer) |
2021-08-08 20:47:30 +0200 | joel135 | (sid136450@id-136450.stonehaven.irccloud.com) (Ping timeout: 276 seconds) |
2021-08-08 20:47:37 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Ping timeout: 245 seconds) |
2021-08-08 20:47:37 +0200 | astra` | (sid289983@user/amish) (Read error: Connection reset by peer) |
2021-08-08 20:47:40 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) (Ping timeout: 258 seconds) |
2021-08-08 20:47:54 +0200 | pjlsergeant | (sid143467@id-143467.stonehaven.irccloud.com) (Ping timeout: 240 seconds) |
2021-08-08 20:47:54 +0200 | hamishmack | (sid389057@id-389057.stonehaven.irccloud.com) (Ping timeout: 240 seconds) |
2021-08-08 20:48:03 +0200 | Firedancer | (sid336191@id-336191.stonehaven.irccloud.com) (Ping timeout: 258 seconds) |
2021-08-08 20:48:18 +0200 | amir | (sid22336@user/amir) (Ping timeout: 240 seconds) |
2021-08-08 20:49:30 +0200 | ehamberg | (sid18208@id-18208.stonehaven.irccloud.com) (Ping timeout: 240 seconds) |
2021-08-08 20:49:40 +0200 | <sm> | hi srid, we wondered why you chose nix other than you like it - it seemed there are no non-haskell deps ? |
2021-08-08 20:49:44 +0200 | jakesyl | (sid56879@id-56879.stonehaven.irccloud.com) (Read error: Connection reset by peer) |
2021-08-08 20:49:54 +0200 | SanchayanMaity | (sid478177@id-478177.stonehaven.irccloud.com) (Ping timeout: 240 seconds) |
2021-08-08 20:50:01 +0200 | <sm> | why you make it a requirement for trying out this project, I mean |
2021-08-08 20:51:06 +0200 | dmj` | (sid72307@id-72307.stonehaven.irccloud.com) (Ping timeout: 240 seconds) |
2021-08-08 20:51:22 +0200 | acertain | (sid470584@stonehaven.irccloud.com) |
2021-08-08 20:51:24 +0200 | Firedancer | (sid336191@stonehaven.irccloud.com) |
2021-08-08 20:51:46 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) |
2021-08-08 20:51:54 +0200 | cheater | (~Username@user/cheater) |
2021-08-08 20:51:57 +0200 | ehamberg | (sid18208@stonehaven.irccloud.com) |
2021-08-08 20:51:59 +0200 | SanchayanMaity | (sid478177@id-478177.stonehaven.irccloud.com) |
2021-08-08 20:52:02 +0200 | joel135 | (sid136450@id-136450.stonehaven.irccloud.com) |
2021-08-08 20:52:13 +0200 | rubin55_ | (sid175221@stonehaven.irccloud.com) |
2021-08-08 20:52:24 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-08-08 20:52:25 +0200 | hamishmack | (sid389057@id-389057.stonehaven.irccloud.com) |
2021-08-08 20:52:25 +0200 | dmj` | (sid72307@id-72307.stonehaven.irccloud.com) |
2021-08-08 20:52:37 +0200 | amir | (sid22336@user/amir) |
2021-08-08 20:52:39 +0200 | jakesyl | (sid56879@id-56879.stonehaven.irccloud.com) |
2021-08-08 20:52:40 +0200 | tritlo | (sid58727@user/tritlo) |
2021-08-08 20:52:42 +0200 | pjlsergeant | (sid143467@id-143467.stonehaven.irccloud.com) |
2021-08-08 20:52:45 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 20:52:56 +0200 | astra` | (sid289983@user/amish) |
2021-08-08 21:01:29 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 21:02:00 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-08-08 21:10:00 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-08-08 21:14:22 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-08-08 21:15:04 +0200 | Guest4303 | skykanin |
2021-08-08 21:17:34 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-08-08 21:18:37 +0200 | pavonia | (~user@user/siracusa) |
2021-08-08 21:26:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-08-08 21:32:18 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:c767:19bd:28d8:628d) (Ping timeout: 256 seconds) |
2021-08-08 21:32:56 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
2021-08-08 21:33:09 +0200 | haykam | (~haykam@static.100.2.21.65.clients.your-server.de) |
2021-08-08 21:36:43 +0200 | skykanin | (~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2) |
2021-08-08 21:43:05 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-08-08 21:43:46 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 272 seconds) |
2021-08-08 21:43:52 +0200 | alx741 | (~alx741@186.178.108.253) (Ping timeout: 245 seconds) |
2021-08-08 21:55:04 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-08-08 21:56:47 +0200 | alx741 | (~alx741@181.196.68.21) |
2021-08-08 21:56:48 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-08-08 21:57:59 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
2021-08-08 21:58:20 +0200 | Athas | (athas@sigkill.dk) (Ping timeout: 252 seconds) |
2021-08-08 21:58:56 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-08-08 22:00:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 22:01:41 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-08-08 22:01:50 +0200 | mattil | (~mattilinn@87-92-149-13.rev.dnainternet.fi) (Quit: Leaving) |
2021-08-08 22:04:40 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-08-08 22:05:06 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 240 seconds) |
2021-08-08 22:05:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-08-08 22:06:04 +0200 | notzmv | (~zmv@user/notzmv) |
2021-08-08 22:08:00 +0200 | juhp | (~juhp@128.106.188.220) |
2021-08-08 22:08:27 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 245 seconds) |
2021-08-08 22:09:44 +0200 | hexfive | (~eric@50.35.83.177) |
2021-08-08 22:10:00 +0200 | emliunix | (~emliunix@2a09:bac0:23::815:bca) (Remote host closed the connection) |
2021-08-08 22:10:18 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-08-08 22:10:21 +0200 | emliunix | (~emliunix@103.138.75.119) |
2021-08-08 22:11:11 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 265 seconds) |
2021-08-08 22:13:05 +0200 | xff0x | (~xff0x@2001:1a81:533f:2500:c767:19bd:28d8:628d) |
2021-08-08 22:15:29 +0200 | Shires | (~Shires@user/shires) (Quit: leaving) |
2021-08-08 22:15:43 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-08 22:15:51 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-08-08 22:16:07 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-08 22:16:13 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-08-08 22:17:13 +0200 | xsperry | (~as@user/xsperry) |
2021-08-08 22:17:41 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-08 22:17:46 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-08-08 22:18:01 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-08-08 22:24:16 +0200 | shailangsa | (~shailangs@host86-186-142-59.range86-186.btcentralplus.com) (Ping timeout: 258 seconds) |
2021-08-08 22:24:19 +0200 | kayprish | (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
2021-08-08 22:24:38 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-08-08 22:27:56 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-08-08 22:28:52 +0200 | mei | (~mei@user/mei) (Ping timeout: 245 seconds) |
2021-08-08 22:31:40 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 250 seconds) |
2021-08-08 22:32:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-08-08 22:33:00 +0200 | oxide | (~lambda@user/oxide) |
2021-08-08 22:34:57 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-08-08 22:37:18 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 250 seconds) |
2021-08-08 22:39:10 +0200 | vysn | (~vysn@user/vysn) |
2021-08-08 22:42:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
2021-08-08 22:43:17 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2021-08-08 22:43:44 +0200 | enoq | (~enoq@194-208-179-35.lampert.tv) (Quit: enoq) |
2021-08-08 22:46:42 +0200 | benin03693 | (~benin@183.82.205.178) |
2021-08-08 22:58:45 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
2021-08-08 23:06:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-08-08 23:07:55 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) (Remote host closed the connection) |
2021-08-08 23:10:06 +0200 | <__monty__> | What do you mean? There's a cabal file so you should be able to hack on it without nix? |
2021-08-08 23:16:04 +0200 | jgeerds | (~jgeerds@55d45555.access.ecotel.net) |
2021-08-08 23:16:14 +0200 | <sm> | __monty__: it refers to unreleased packages. Maybe nix is used to get around that |
2021-08-08 23:17:39 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-08-08 23:19:12 +0200 | <davean> | sm: cabal.project does that |
2021-08-08 23:19:39 +0200 | <__monty__> | Yeah, maybe they forgot to check it in? |
2021-08-08 23:19:50 +0200 | <__monty__> | Nothing in the nix files catches my eye. |
2021-08-08 23:19:56 +0200 | <sm> | yes, that or a stack.yaml would make this accessible to a lot more folks |
2021-08-08 23:20:42 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-08-08 23:23:52 +0200 | <__monty__> | Maybe you mean the vendored dependencies in deps/? |
2021-08-08 23:24:30 +0200 | <__monty__> | Because it doesn't look like they're fetching any dependencies from other sources than hackage. |
2021-08-08 23:25:10 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-08-08 23:25:30 +0200 | <__monty__> | *dep/, sorry |
2021-08-08 23:25:38 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-08-08 23:25:48 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-08-08 23:26:12 +0200 | <__monty__> | Would still need a cabal.project though. |
2021-08-08 23:26:32 +0200 | markpythonicbitc | (~markpytho@2601:647:5a00:35:2926:cf7f:9d4d:10a0) |
2021-08-08 23:26:49 +0200 | <__monty__> | If only they were using haskell.nix, then it'd be natural to get it to work with plain cabal first. |
2021-08-08 23:30:17 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-08-08 23:30:29 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
2021-08-08 23:31:02 +0200 | <sm> | __monty__: where are you seeing *dep/ ? |
2021-08-08 23:32:00 +0200 | <__monty__> | sm: https://github.com/srid/neuron/tree/master/dep |
2021-08-08 23:32:24 +0200 | <sm> | oh, I'm talking about https://github.com/srid/emanote |
2021-08-08 23:32:39 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) |
2021-08-08 23:36:17 +0200 | <__monty__> | Ah, apologies. I saw Neuron and assumed. |
2021-08-08 23:36:51 +0200 | <sm> | np |
2021-08-08 23:37:12 +0200 | <__monty__> | I guess they just prefer Nix and haven't yet had an incentive to support plain cabal/stack. |
2021-08-08 23:37:30 +0200 | <sm> | yup |
2021-08-08 23:38:14 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-08-08 23:40:02 +0200 | <sm> | lechner, I got it to build with this stack.yaml: https://termbin.com/tv9i |
2021-08-08 23:40:04 +0200 | vysn | (~vysn@user/vysn) (Remote host closed the connection) |
2021-08-08 23:40:37 +0200 | <sm> | (& srid, in case you're interested) |
2021-08-08 23:40:42 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-08-08 23:41:32 +0200 | mastarija | (~mastarija@78-3-210-70.adsl.net.t-com.hr) |
2021-08-08 23:41:42 +0200 | <sm> | works too :-O |
2021-08-08 23:41:54 +0200 | PinealGlandOptic | (~PinealGla@37.115.210.35) |
2021-08-08 23:44:39 +0200 | phma | (~phma@host-67-44-208-203.hnremote.net) |
2021-08-08 23:47:17 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-08-08 23:48:29 +0200 | shailangsa | (~shailangs@host86-185-58-139.range86-185.btcentralplus.com) |
2021-08-08 23:49:10 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-08-08 23:51:15 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-08-08 23:53:12 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |