Logs on 2020-11-06 (freenode/#haskell)
| 00:00:00 | hackage | poke 0.0.0.1 - Discord verification bot https://hackage.haskell.org/package/poke-0.0.0.1 (HughSipiere) |
| 00:00:01 | × | mathepauker quits (~mathepauk@s91904426.blix.com) () |
| 00:00:04 | <neobit> | when working with Servant, this compiles: type Routes = FooRoute :<|> BarRoute :<|> BazRoute :<|> QuxRoute |
| 00:00:07 | <neobit> | but this does not: type Routes = FooRoute :<|> (BarRoute :<|> BazRoute) :<|> QuxRoute |
| 00:00:10 | <neobit> | why is that? |
| 00:02:42 | <Uniaika> | neobit: (the #servant channel exists for this library) |
| 00:03:23 | <Axman6> | neobit: it'll be because there's a type class instance which expects :<|> to basically be used as a type level list |
| 00:06:08 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
| 00:08:02 | × | mdunnio quits (~mdunnio@208.59.170.5) (Remote host closed the connection) |
| 00:08:48 | × | moistoreos quits (~moist_ore@99-160-143-51.lightspeed.nsvltn.sbcglobal.net) (Ping timeout: 256 seconds) |
| 00:10:13 | × | conal quits (~conal@107.181.166.217) (Quit: Computer has gone to sleep.) |
| 00:13:20 | × | obihann quits (~jhann@156.34.160.69) (Ping timeout: 265 seconds) |
| 00:14:43 | → | obihann joins (~jhann@156.34.160.69) |
| 00:14:53 | × | denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Remote host closed the connection) |
| 00:16:40 | → | denisse joins (~spaceCat@gateway/tor-sasl/alephzer0) |
| 00:18:00 | × | jbox quits (~atlas@unaffiliated/jbox) (Read error: Connection reset by peer) |
| 00:18:43 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:18:48 | → | jbox joins (~atlas@unaffiliated/jbox) |
| 00:19:49 | → | conal joins (~conal@107.181.166.217) |
| 00:20:50 | → | hekkaidekapus{ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 00:22:28 | → | mbomba joins (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
| 00:22:51 | <Squarism> | Im trying to grasp how Traversals / Lenses work here. An unapplied lens has signature : Control.Monad.Reader.Class.MonadReader Foo m => m (Maybe Int) |
| 00:23:00 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 00:23:23 | × | hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 00:23:55 | <Axman6> | Squarism: first thing to remember about MonadReader is that there is an instance for m = ((->) r), and this is one of the most common uses, so you get r -> Maybe Int |
| 00:23:57 | <Squarism> | I remember theres some magic with (->) and MonadReader. Does the above signature imply its equivalent to : Foo -> Maybe Int ? |
| 00:24:11 | <Axman6> | exactly |
| 00:24:51 | <Squarism> | thanks. Finally i get this wierdness =D |
| 00:27:11 | × | Entertainment quits (~entertain@104.246.132.210) (Quit: Leaving.) |
| 00:27:14 | × | conal quits (~conal@107.181.166.217) (Quit: Computer has gone to sleep.) |
| 00:28:23 | → | conal joins (~conal@107.181.166.217) |
| 00:31:13 | × | jbox quits (~atlas@unaffiliated/jbox) (Ping timeout: 260 seconds) |
| 00:33:11 | × | conal quits (~conal@107.181.166.217) (Quit: Computer has gone to sleep.) |
| 00:35:21 | → | bennofs1 joins (~benno@dslb-094-222-063-208.094.222.pools.vodafone-ip.de) |
| 00:36:36 | → | luke joins (~luke@bitnomial/staff/luke) |
| 00:37:37 | → | conal joins (~conal@107.181.166.217) |
| 00:43:02 | × | codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer) |
| 00:44:02 | → | codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net) |
| 00:45:45 | × | conal quits (~conal@107.181.166.217) (Ping timeout: 240 seconds) |
| 00:46:18 | × | jakob_ quits (~textual@p200300f49f162200657391ee70880d24.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
| 00:47:41 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 00:47:47 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 00:50:02 | → | conal joins (~conal@107.181.166.217) |
| 00:50:07 | × | conal quits (~conal@107.181.166.217) (Client Quit) |
| 00:51:48 | <Axman6> | Squarism: figuring out how you ncan make use of this inside a monad with a MonadReader context s quite fun, you basically get a DSL for accessing your app's configuration for free |
| 00:52:25 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
| 00:53:34 | <Squarism> | Axman6, i have used a bunch of monadreader for passing on context. But I find the ((->) a) construct a bit confusing. |
| 00:53:41 | → | jtk joins (~jtk@178.239.168.171) |
| 00:54:00 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 00:54:00 | hackage | commonmark 0.1.1.2 - Pure Haskell commonmark parser. https://hackage.haskell.org/package/commonmark-0.1.1.2 (JohnMacFarlane) |
| 00:54:06 | <Squarism> | Its not a type but a kind right? |
| 00:54:40 | <Axman6> | it's a type which isn't fully applied, it has kind * -> * |
| 00:57:06 | → | conal joins (~conal@107.181.166.217) |
| 00:57:11 | <Squarism> | oh, i see it has a data declaration. |
| 00:58:10 | <Squarism> | But i cannot write ":t ((->) 1)" in ghci |
| 00:58:40 | × | Chi1thangoo quits (~Chi1thang@87.112.60.168) (Ping timeout: 256 seconds) |
| 00:58:55 | → | renzhi joins (~renzhi@2607:fa49:655f:e600::28da) |
| 00:59:01 | hackage | commonmark-extensions 0.2.0.4 - Pure Haskell commonmark parser. https://hackage.haskell.org/package/commonmark-extensions-0.2.0.4 (JohnMacFarlane) |
| 00:59:04 | × | conal quits (~conal@107.181.166.217) (Client Quit) |
| 00:59:19 | <Squarism> | I its definition : data (->) (a :: TYPE q) (b :: TYPE r) |
| 00:59:59 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:7cc2:21a2:16c3:f6f6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:00:22 | <Axman6> | no, only data has types, and (->) isn't data, it's a type, so it has a kind |
| 01:00:30 | <Axman6> | @kind (->) |
| 01:00:32 | <lambdabot> | * -> * -> * |
| 01:00:40 | <Squarism> | "I see" correction |
| 01:03:06 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:7cc2:21a2:16c3:f6f6) |
| 01:04:50 | × | joaj quits (~joaj@2001:818:e326:8200:5273:55b7:3a86:e6ca) (Ping timeout: 264 seconds) |
| 01:05:27 | → | joaj joins (~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771) |
| 01:05:37 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds) |
| 01:08:53 | → | Mela joins (3eb2acf9@62-178-172-249.cable.dynamic.surfer.at) |
| 01:09:08 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds) |
| 01:09:38 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 01:10:24 | <Mela> | hello |
| 01:11:46 | <Mela> | I'm a beginner learning Haskell and I have an acute question. Am I in the right place here to ask? |
| 01:12:02 | <lyxia> | yes |
| 01:12:17 | <lyxia> | we also take cute questions. |
| 01:12:18 | × | turq quits (~electro@138.197.8.173) (Changing host) |
| 01:12:18 | → | turq joins (~electro@unaffiliated/turq) |
| 01:12:27 | <Axman6> | we prefer obtuse question though |
| 01:12:41 | <Axman6> | like "Why is Haskell so bad?" |
| 01:13:07 | <Mela> | you may judge whether it's cute |
| 01:14:14 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 01:14:26 | <Mela> | so I want to have my own data type to represent an interval of numbers. I define it as "data Interval = Interval (lb, ub) | Empty | Invalid" |
| 01:14:26 | <jcowan> | "Acute" as in acute suffering, or as in acute intelligence? |
| 01:14:33 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:14:44 | → | guest116 joins (~user@49.5.6.87) |
| 01:14:55 | <jcowan> | Both, I guess |
| 01:15:04 | <aldum> | acute angle |
| 01:15:24 | <Mela> | now I wanted to make it so that Interval(lb,ub) redirects to Empty, when ub > lb |
| 01:15:30 | → | Entertainment joins (~entertain@104.246.132.210) |
| 01:15:35 | <Axman6> | Mela: what should the type of lb and ub be? there doesn't seem to be any need for a tuple in there either |
| 01:15:44 | <monochrom> | I think we saw the same interval question several hours ago as an assignment question. Perhaps show us the whole assignment? |
| 01:15:51 | → | kish joins (~oracle@unaffiliated/oracle) |
| 01:15:55 | <Mela> | oh :p |
| 01:16:04 | <Mela> | yeah, it's indeed a uni assignment |
| 01:16:06 | <Axman6> | your lecturer is probably in here by the way |
| 01:16:11 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 01:16:28 | <aldum> | lol |
| 01:16:29 | × | alp quits (~alp@2a01:e0a:58b:4920:b090:7fae:5afc:83b5) (Ping timeout: 272 seconds) |
| 01:16:42 | <Mela> | thing is in another language though, so I thought I'd translate it |
| 01:16:43 | <monochrom> | I'm OK with homework questions. I'm just not OK with incomplete butchered misrepresented information. |
| 01:17:14 | <Axman6> | so be very careful what you ask, and make sure you don't use any code anyone provides to you. We are happy to help you come up with answers, but we don't do your homework for you. |
| 01:17:15 | <monochrom> | And last time the other student only showed two lines of code every 5 minutes. |
| 01:17:35 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@68.235.43.94) |
| 01:17:42 | <Axman6> | Mela: so what have you tried so far, and what ideas have you had? |
| 01:17:53 | <Axman6> | (I'm also curious what the other language is) |
| 01:18:09 | <Mela> | gotcha |
| 01:18:16 | <Mela> | (how do I properly post code in here?) |
| 01:18:22 | <Axman6> | @where paste |
| 01:18:22 | <lambdabot> | Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com |
| 01:18:30 | <monochrom> | I don't get it. If you don't tell people that you aren't telepathic, people simply assume you're telepathic. "Hi I got an error, here is the error message but I'm not going to show you my code". What kind of logic is that. |
| 01:19:23 | × | son0p quits (~son0p@181.136.122.143) (Remote host closed the connection) |
| 01:19:45 | <aldum> | they don't assume telepathy, just have a frame of mind which is very focused on the problem, and don't take the effort to imagine what implicit knowledge they have that you don't |
| 01:19:54 | <aldum> | I know because I do this a lot |
| 01:20:31 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 01:24:01 | × | davl quits (~davl@207.154.228.18) (Read error: Connection reset by peer) |
| 01:24:01 | × | dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Read error: Connection reset by peer) |
| 01:24:15 | → | dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net) |
| 01:24:23 | → | davl joins (~davl@207.154.228.18) |
| 01:24:44 | × | Mela quits (3eb2acf9@62-178-172-249.cable.dynamic.surfer.at) (Remote host closed the connection) |
| 01:24:52 | → | Lord_of_Life_ joins (~Lord@46.217.217.128) |
| 01:25:21 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds) |
| 01:27:12 | → | Mela joins (3eb2acf9@62-178-172-249.cable.dynamic.surfer.at) |
| 01:27:24 | → | twopoint718 joins (~cjw@fsf/member/twopoint718) |
| 01:29:03 | <Mela> | hi again |
| 01:29:49 | <Mela> | I wrote my question in more detail here now (https://paste.tomsmeding.com/kCD7VKFq). I hope this is understandable. |
| 01:30:24 | <Mela> | https://paste.tomsmeding.com/kCD7VKFq sorry for breaking the link above |
| 01:30:55 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 01:31:31 | <monochrom> | cannot be done |
| 01:32:28 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds) |
| 01:32:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:33:03 | <Mela> | wow, not at all? |
| 01:33:24 | × | xff0x quits (~fox@2001:1a81:522f:7b00:1cd6:2f35:f89:eebf) (Ping timeout: 244 seconds) |
| 01:33:24 | <Axman6> | well, it of course can be done, using functions |
| 01:33:49 | <monochrom> | That's different from the stated question. |
| 01:33:59 | __xor | is now known as _xor |
| 01:34:11 | <Axman6> | it can also be made to look like a constructor by using pattern synonyms |
| 01:34:14 | × | joaj quits (~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771) (Ping timeout: 264 seconds) |
| 01:34:23 | → | xff0x joins (~fox@2001:1a81:522f:7b00:9577:da4f:61ac:7ef2) |
| 01:34:29 | <monochrom> | I'm pretty sure the course is not at a point ready for pattern synonyms. |
| 01:34:31 | <Axman6> | but that's definitely way outside the skope of your course |
| 01:34:38 | <monochrom> | So why bring it up? |
| 01:34:58 | <Axman6> | you said it can't be done, but it can |
| 01:36:12 | <Mela> | right, so what motivates the question is that right now I have a lot of functions where each of them makes this kind of "if m > n, then replace with Empty" check |
| 01:36:26 | <Mela> | I'm looking for a way to achieve that in one place, since it's repetitive |
| 01:37:14 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 01:37:17 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 01:37:46 | <monochrom> | Write a function f such that f (IV (5,3)) = Empty, f xxx = xxx for other cases. |
| 01:37:57 | <monochrom> | Then you can reuse f everywhere. |
| 01:38:18 | <monochrom> | This is not the same as making i1 and i2 equivalent. |
| 01:39:11 | <JohnnyL> | What platforms would be supported by SDL2 and Haskell? |
| 01:40:45 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 01:42:31 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 256 seconds) |
| 01:44:42 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 01:46:18 | <texasmyn_> | is it possible to alter the pandoc table of contents with a filter? I can't tell from the docs in Hackage but I do not know the Pandoc module well. |
| 01:47:06 | × | twopoint718 quits (~cjw@fsf/member/twopoint718) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:47:23 | texasmyn_ | is now known as texasmynsted |
| 01:48:58 | <Mela> | I'm not sure that I understand. Here's the implementation of 'show' as an example - https://paste.tomsmeding.com/BQhdNEnr |
| 01:49:56 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 01:50:25 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 01:51:22 | × | stonebrige quits (~stonebrig@4e69b241.skybroadband.com) (Ping timeout: 256 seconds) |
| 01:52:10 | <monochrom> | Do you mind writing an ordinary function showIntervalDumb outside "instance Show Intervel". |
| 01:52:31 | <monochrom> | showIntervalDumb :: Interval -> String. |
| 01:53:18 | <Mela> | what would be the advantage? |
| 01:53:18 | <monochrom> | It doesn't do anything smart. It always converts IV(m,n) to "<" ++ (show m) ++ "," ++ (show n) ++ ">" |
| 01:53:38 | × | darjeeling_ quits (~darjeelin@115.215.43.51) (Ping timeout: 256 seconds) |
| 01:53:41 | <monochrom> | Then your instance goes "show i = showIntervalDumb (f i)" |
| 01:54:22 | <monochrom> | Since f already does the smart normalization, showIntervalDumb has nothing to worry about. |
| 01:54:33 | <monochrom> | And f can also be reused elsewhere |
| 01:55:00 | → | stonebridge joins (~stonebrig@4e69b241.skybroadband.com) |
| 01:55:24 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 01:56:00 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 01:56:01 | <Mela> | oh, I see |
| 01:56:17 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 265 seconds) |
| 01:57:15 | <Mela> | Do I need an extra function? Couldn't I just write show i = show (f i) as the top priority definition? then after that define show as I usually would? |
| 01:57:45 | <monochrom> | That's an infinite loop. |
| 01:58:56 | <Mela> | oh |
| 01:59:36 | <Mela> | I guess I could not define anything for the case of m > n and put show i = show (f i) as least priority to catch it? |
| 01:59:53 | × | solonarv quits (~solonarv@astrasbourg-653-1-263-62.w92-161.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
| 02:02:27 | <Mela> | alright, but I think using this sort of wrapper function to normalize the intervals is a nice enough solution :D thanks for helping! |
| 02:05:12 | → | Stanley|00 joins (~stanley00@unaffiliated/stanley00) |
| 02:05:38 | <Mela> | I still wonder why my original idea doesn't work in Haskell though. a value constructor ("IV" here) is just another function (that results in a type "Interval" here), no? So why can't I pattern match and put up a rule for a specific case, as long as I assign the proper type (and Empty is an Interval type here)? |
| 02:05:39 | × | luke quits (~luke@bitnomial/staff/luke) (Quit: sleep) |
| 02:06:45 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds) |
| 02:06:50 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 02:08:00 | <monochrom> | You are confusing "a function I can write and rewrite" with "a function that the computer auto-generates for me". |
| 02:08:36 | <monochrom> | IV can play the role of a function, but that function came from the computer, not you. It's coding is already done, you cannot change it. |
| 02:08:49 | <monochrom> | s/It's/Its/ |
| 02:11:21 | <JohnnyL> | monochrom: didn't you used to hang in #lisp? |
| 02:11:33 | <monochrom> | No. |
| 02:11:52 | → | slack1256 joins (~slack1256@191.126.150.2) |
| 02:12:34 | <Mela> | yes, that's indeed a new concept to me. I thought I could just add to any function that exists |
| 02:13:09 | <Mela> | thanks for clarifying! |
| 02:13:33 | × | catchme quits (uid355354@gateway/web/irccloud.com/x-wmqwbwgtbuzhjsjg) (Quit: Connection closed for inactivity) |
| 02:14:49 | × | stonebridge quits (~stonebrig@4e69b241.skybroadband.com) (Ping timeout: 256 seconds) |
| 02:15:41 | × | Mela quits (3eb2acf9@62-178-172-249.cable.dynamic.surfer.at) (Remote host closed the connection) |
| 02:20:50 | × | slack1256 quits (~slack1256@191.126.150.2) (Ping timeout: 256 seconds) |
| 02:21:18 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
| 02:21:27 | → | slack1256 joins (~slack1256@191.126.150.2) |
| 02:21:58 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 02:23:07 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-pkptafzrpfqhbpar) (Quit: Connection closed for inactivity) |
| 02:23:23 | <JohnnyL> | What platforms does Hackage support? |
| 02:28:05 | × | slack1256 quits (~slack1256@191.126.150.2) (Ping timeout: 240 seconds) |
| 02:29:27 | × | Entertainment quits (~entertain@104.246.132.210) (Quit: Leaving.) |
| 02:29:59 | → | conal joins (~conal@107.181.166.217) |
| 02:32:58 | <sm[m]> | JohnnyL: all platforms you can install cabal on |
| 02:32:59 | <sm[m]> | but if you're on Windows, you need to check package dependencies for certain packages that won't build easily there (like "unix") |
| 02:34:06 | × | adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (Ping timeout: 256 seconds) |
| 02:34:17 | → | Black joins (~Benett@unaffiliated/benett) |
| 02:34:18 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 260 seconds) |
| 02:34:24 | → | adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
| 02:34:40 | × | fre quits (~freusque@104.238.190.229) (Ping timeout: 256 seconds) |
| 02:34:40 | × | dredozubov quits (~dredozubo@37.139.21.214) (Ping timeout: 256 seconds) |
| 02:34:40 | × | feuerbach quits (~feuerbach@unaffiliated/feuerbach) (Ping timeout: 256 seconds) |
| 02:34:40 | × | mr_yogurt quits (~mr_yogurt@5.61.211.35.bc.googleusercontent.com) (Ping timeout: 256 seconds) |
| 02:35:14 | × | NieDzejkob quits (~quassel@188.123.215.55) (Ping timeout: 256 seconds) |
| 02:35:14 | × | hongminhee quits (~dahlia@207.148.91.209) (Ping timeout: 256 seconds) |
| 02:35:14 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Ping timeout: 256 seconds) |
| 02:35:14 | × | hive-mind quits (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (Ping timeout: 256 seconds) |
| 02:35:14 | × | AWizzArd quits (~code@unaffiliated/awizzard) (Ping timeout: 256 seconds) |
| 02:35:14 | × | laxask quits (~lax@unaffiliated/laxask) (Ping timeout: 256 seconds) |
| 02:35:14 | × | Benett quits (~Benett@unaffiliated/benett) (Ping timeout: 256 seconds) |
| 02:35:14 | × | freeside quits (~ubuntu@ec2-52-58-69-57.eu-central-1.compute.amazonaws.com) (Ping timeout: 256 seconds) |
| 02:35:14 | × | Cheery quits (~cheery@7-239-179-185.static.tentacle.fi) (Ping timeout: 256 seconds) |
| 02:35:14 | × | tureba quits (~tureba@tureba.org) (Ping timeout: 256 seconds) |
| 02:35:14 | × | cynick quits (~worm@ec2-52-206-86-1.compute-1.amazonaws.com) (Ping timeout: 256 seconds) |
| 02:35:21 | → | hongminhee joins (~dahlia@207.148.91.209) |
| 02:35:28 | → | fre joins (~freusque@104.238.190.229) |
| 02:35:34 | → | feuerbach joins (~feuerbach@unaffiliated/feuerbach) |
| 02:35:38 | → | NieDzejkob joins (~quassel@188.123.215.55) |
| 02:35:42 | → | obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 02:35:47 | × | bob_twinkles quits (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds) |
| 02:36:33 | → | Cheery joins (~cheery@7-239-179-185.static.tentacle.fi) |
| 02:36:47 | → | bob_twinkles joins (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) |
| 02:36:49 | → | freeside joins (~ubuntu@ec2-52-58-69-57.eu-central-1.compute.amazonaws.com) |
| 02:36:58 | → | cynick joins (~worm@ec2-52-206-86-1.compute-1.amazonaws.com) |
| 02:36:59 | → | hive-mind joins (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) |
| 02:37:13 | → | laxask joins (~lax@unaffiliated/laxask) |
| 02:37:16 | × | lucasb quits (uid333435@gateway/web/irccloud.com/x-sdppmllrnolsxyhi) (Quit: Connection closed for inactivity) |
| 02:38:02 | Black | is now known as Benett |
| 02:38:13 | → | mr_yogurt joins (~mr_yogurt@5.61.211.35.bc.googleusercontent.com) |
| 02:38:20 | × | conal quits (~conal@107.181.166.217) (Ping timeout: 265 seconds) |
| 02:39:28 | → | conal_ joins (~conal@64.71.133.70) |
| 02:39:44 | → | dredozubov joins (~dredozubo@37.139.21.214) |
| 02:40:10 | → | tureba joins (~tureba@tureba.org) |
| 02:40:58 | <JohnnyL> | sm[m]: ok |
| 02:42:32 | <JohnnyL> | It seems linux heavy. I think I'll just write my game in Rust. |
| 02:42:44 | → | darjeeling_ joins (~darjeelin@112.16.171.8) |
| 02:43:38 | <DigitalKiwi> | there are a few haskell game engines |
| 02:43:56 | <DigitalKiwi> | https://wiki.haskell.org/Game_Development |
| 02:44:05 | → | AWizzArd joins (~code@gehrels.uberspace.de) |
| 02:48:49 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
| 02:48:50 | × | codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer) |
| 02:48:54 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 02:49:29 | → | codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net) |
| 02:50:05 | × | bjobjo quits (~bjobjo@2a01:79c:cebf:d688::9e6) (Ping timeout: 268 seconds) |
| 02:50:22 | <JohnnyL> | broken links and thesises is no real surprise in that link. |
| 02:51:06 | × | stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 2.9) |
| 02:51:45 | → | bjobjo joins (~bjobjo@2a01:79c:cebf:d688::9e6) |
| 02:53:25 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
| 02:54:02 | × | xff0x quits (~fox@2001:1a81:522f:7b00:9577:da4f:61ac:7ef2) (Ping timeout: 264 seconds) |
| 02:54:23 | × | xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
| 02:55:46 | → | xff0x joins (~fox@2001:1a81:526d:d800:5758:3aa9:2010:fe62) |
| 02:55:56 | × | texasmynsted quits (~texasmyns@64.44.55.84) (Remote host closed the connection) |
| 02:56:02 | → | xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar) |
| 02:56:24 | → | texasmynsted joins (~texasmyns@64.44.55.84) |
| 02:56:29 | × | texasmynsted quits (~texasmyns@64.44.55.84) (Remote host closed the connection) |
| 02:57:08 | → | texasmynsted joins (~texasmyns@64.44.55.84) |
| 02:58:38 | × | mimi1vx quits (~mimi@tulipan.habr.nat.praha12.net) (Ping timeout: 260 seconds) |
| 03:00:01 | × | jtk quits (~jtk@178.239.168.171) () |
| 03:01:16 | → | toorevitimirp joins (~tooreviti@117.182.183.132) |
| 03:01:37 | × | texasmynsted quits (~texasmyns@64.44.55.84) (Ping timeout: 272 seconds) |
| 03:02:36 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 03:03:36 | <sm[m]> | see also #haskell-game. Haskell game devs are undercover but keen! |
| 03:03:54 | <sm[m]> | ah, you found it |
| 03:06:26 | × | lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Killed (adams.freenode.net (Nickname regained by services))) |
| 03:06:31 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 03:07:30 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds) |
| 03:09:20 | × | theDon quits (~td@94.134.91.129) (Ping timeout: 272 seconds) |
| 03:10:57 | → | theDon joins (~td@94.134.91.182) |
| 03:11:37 | <MarcelineVQ> | maybe the real haskell game was the demos we made along the way |
| 03:11:42 | × | Stanley|00 quits (~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer) |
| 03:12:20 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 03:13:31 | hackage | reflex-gadt-api 0.2.0.0 - Interact with a GADT API in your reflex-dom application. https://hackage.haskell.org/package/reflex-gadt-api-0.2.0.0 (abrar) |
| 03:15:18 | × | JohnnyL quits (~john@unaffiliated/johnnyl) (Quit: leaving) |
| 03:15:39 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
| 03:15:59 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 03:17:18 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 03:20:01 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds) |
| 03:20:12 | <bqv> | I'm using UndecidableInstances |
| 03:20:21 | bqv | runs |
| 03:21:02 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 03:22:53 | → | pfurla joins (~pfurla@195.15.195.173.client.static.strong-in52.as13926.net) |
| 03:23:01 | hackage | reflex-gadt-api 0.2.0.1 - Interact with a GADT API in your reflex-dom application. https://hackage.haskell.org/package/reflex-gadt-api-0.2.0.1 (abrar) |
| 03:24:20 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
| 03:24:29 | DigitalKiwi | shuns bqv |
| 03:24:45 | → | mimi1vx joins (~mimi@2a01:490:16:1026:2934:3235:6ae3:65f4) |
| 03:24:56 | → | drbean joins (~drbean@TC210-63-209-41.static.apol.com.tw) |
| 03:25:48 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 03:26:05 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 03:27:40 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 03:29:30 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 03:30:13 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 246 seconds) |
| 03:31:57 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 03:32:27 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds) |
| 03:33:18 | → | CodeAlways joins (uid272474@gateway/web/irccloud.com/x-mliviwyoymdgahbo) |
| 03:34:49 | × | mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 2.9) |
| 03:39:17 | → | irc_user joins (uid423822@gateway/web/irccloud.com/x-gyxrtaghwqegnmdw) |
| 03:47:28 | × | Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Quit: Ping timeout (120 seconds)) |
| 03:47:49 | → | Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
| 03:51:44 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 03:54:07 | → | madwoota1 joins (~madwoota@84.39.116.180) |
| 03:58:21 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 03:58:31 | hackage | dependent-sum-aeson-orphans 0.3.0.0 - JSON instances for DSum, DMap, and Some https://hackage.haskell.org/package/dependent-sum-aeson-orphans-0.3.0.0 (abrar) |
| 03:59:17 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 03:59:26 | × | mimi1vx quits (~mimi@2a01:490:16:1026:2934:3235:6ae3:65f4) (Ping timeout: 264 seconds) |
| 04:00:20 | × | erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (Read error: Connection reset by peer) |
| 04:01:26 | × | xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
| 04:01:52 | → | xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar) |
| 04:03:23 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:05:18 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 244 seconds) |
| 04:06:55 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 04:06:58 | → | coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
| 04:11:20 | × | pfurla quits (~pfurla@195.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 256 seconds) |
| 04:11:58 | × | darjeeling_ quits (~darjeelin@112.16.171.8) (Ping timeout: 256 seconds) |
| 04:13:20 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 04:14:03 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 04:18:02 | → | Stanley|00 joins (~stanley00@unaffiliated/stanley00) |
| 04:21:14 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 260 seconds) |
| 04:24:13 | <bqv> | refactoring haskell code is honestly the most fun part of haskell |
| 04:24:59 | → | christo joins (~chris@81.96.113.213) |
| 04:26:46 | → | da39a3ee5e6b4b0d joins (~textual@cm-171-98-73-201.revip7.asianet.co.th) |
| 04:29:34 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:32:04 | × | conal_ quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 04:32:31 | → | mbomba joins (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
| 04:34:10 | → | conal joins (~conal@64.71.133.70) |
| 04:35:39 | → | watt326 joins (~watt326@124.123.105.19) |
| 04:36:05 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds) |
| 04:37:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 04:39:08 | × | guest116 quits (~user@49.5.6.87) (Ping timeout: 260 seconds) |
| 04:40:08 | × | drbean quits (~drbean@TC210-63-209-41.static.apol.com.tw) (Read error: Connection reset by peer) |
| 04:42:41 | × | watt326 quits (~watt326@124.123.105.19) (Remote host closed the connection) |
| 04:43:03 | → | watt766 joins (~watt766@124.123.105.19) |
| 04:44:34 | → | jedws joins (~jedws@101.184.150.81) |
| 04:44:41 | × | Gurkenglas__ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 258 seconds) |
| 04:47:40 | × | L29Ah quits (~L29Ah@unaffiliated/l29ah) (Ping timeout: 256 seconds) |
| 04:52:13 | → | L29Ah joins (~L29Ah@unaffiliated/l29ah) |
| 04:53:52 | × | borne quits (~fritjof@200116b8643b36005d0cb1433c5d4cbb.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 04:55:12 | × | watt766 quits (~watt766@124.123.105.19) (Remote host closed the connection) |
| 04:55:31 | → | watt517 joins (~watt517@124.123.105.19) |
| 04:56:24 | × | watt517 quits (~watt517@124.123.105.19) (Read error: Connection reset by peer) |
| 04:56:31 | hackage | update-nix-fetchgit 0.2.3 - A program to update fetchgit values in Nix expressions https://hackage.haskell.org/package/update-nix-fetchgit-0.2.3 (jophish) |
| 04:56:36 | → | watt584 joins (~watt584@124.123.105.19) |
| 04:57:22 | × | nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Ping timeout: 246 seconds) |
| 05:00:25 | → | guest116 joins (~user@49.5.6.87) |
| 05:01:23 | → | alp joins (~alp@2a01:e0a:58b:4920:74d7:d69b:369a:35c3) |
| 05:02:41 | × | Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 05:02:56 | → | guest116` joins (~user@49.5.6.87) |
| 05:03:02 | × | guest116 quits (~user@49.5.6.87) (Read error: Connection reset by peer) |
| 05:07:00 | → | borne joins (~fritjof@200116b8643b36005d0cb1433c5d4cbb.dip.versatel-1u1.de) |
| 05:09:18 | × | obihann quits (~jhann@156.34.160.69) (Ping timeout: 260 seconds) |
| 05:09:42 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 05:10:26 | → | obihann joins (~jhann@156.34.160.69) |
| 05:11:27 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 05:14:06 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 05:14:26 | × | borne quits (~fritjof@200116b8643b36005d0cb1433c5d4cbb.dip.versatel-1u1.de) (Ping timeout: 264 seconds) |
| 05:15:53 | → | mimi1vx joins (~mimi@2a01:490:16:1026:2934:3235:6ae3:65f4) |
| 05:16:00 | hackage | citeproc 0.1.1.1 - Generates citations and bibliography from CSL styles. https://hackage.haskell.org/package/citeproc-0.1.1.1 (JohnMacFarlane) |
| 05:16:48 | → | Sanchayan joins (~Sanchayan@223.226.118.59) |
| 05:18:48 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 260 seconds) |
| 05:20:19 | × | alp quits (~alp@2a01:e0a:58b:4920:74d7:d69b:369a:35c3) (Ping timeout: 272 seconds) |
| 05:21:06 | × | bennofs1 quits (~benno@dslb-094-222-063-208.094.222.pools.vodafone-ip.de) (Quit: WeeChat 2.9) |
| 05:21:49 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@68.235.43.94) (Quit: Leaving) |
| 05:22:17 | → | Collateral joins (~Collatera@4e69b241.skybroadband.com) |
| 05:26:06 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:28:21 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 05:28:31 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 05:30:53 | × | Rudd0 quits (~Rudd0@185.189.115.98) (Ping timeout: 265 seconds) |
| 05:34:37 | × | bqv quits (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 2.9) |
| 05:35:22 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:7cc2:21a2:16c3:f6f6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:37:45 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
| 05:39:28 | → | day_ joins (~Unknown@unaffiliated/day) |
| 05:40:31 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 05:40:45 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 05:41:17 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 05:41:30 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 05:42:03 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 05:42:22 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 05:42:52 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 05:42:57 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 258 seconds) |
| 05:42:57 | day_ | is now known as day |
| 05:43:10 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 05:43:40 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 05:44:58 | → | Rudd0 joins (~Rudd0@185.189.115.98) |
| 05:45:13 | × | jassob quits (~jassob@korrob.vth.sgsnet.se) (Ping timeout: 264 seconds) |
| 05:45:40 | → | jassob joins (~jassob@korrob.vth.sgsnet.se) |
| 05:46:26 | → | ddellacosta joins (dd@gateway/vpn/mullvad/ddellacosta) |
| 05:46:50 | × | machinedgod quits (~machinedg@207.253.244.210) (Ping timeout: 265 seconds) |
| 05:47:10 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 05:49:01 | × | watt584 quits (~watt584@124.123.105.19) (Remote host closed the connection) |
| 05:49:24 | → | watt749 joins (~watt749@124.123.105.19) |
| 05:50:11 | × | mimi1vx quits (~mimi@2a01:490:16:1026:2934:3235:6ae3:65f4) (Ping timeout: 244 seconds) |
| 05:51:44 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 05:51:44 | × | acidjnk_new2 quits (~acidjnk@p200300d0c718f6890d36626cfb994f1d.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 05:53:35 | → | ddellaco1 joins (dd@gateway/vpn/mullvad/ddellacosta) |
| 05:54:04 | → | ggole joins (~ggole@2001:8003:8119:7200:657b:f270:233e:7a88) |
| 05:54:05 | × | ddellacosta quits (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
| 05:55:52 | × | thunderrd quits (~thunderrd@183.182.115.112) (Remote host closed the connection) |
| 05:58:58 | × | renzhi quits (~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 244 seconds) |
| 06:00:01 | × | madwoota1 quits (~madwoota@84.39.116.180) () |
| 06:00:22 | × | ddellaco1 quits (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
| 06:03:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
| 06:07:22 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-yoxguegrcaybrryj) (Quit: Connection closed for inactivity) |
| 06:08:34 | → | bqv joins (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 06:09:39 | → | pyx joins (~pyx@unaffiliated/pyx) |
| 06:09:53 | × | pyx quits (~pyx@unaffiliated/pyx) (Client Quit) |
| 06:10:20 | × | xff0x quits (~fox@2001:1a81:526d:d800:5758:3aa9:2010:fe62) (Ping timeout: 244 seconds) |
| 06:11:05 | → | xff0x joins (~fox@2001:1a81:526d:d800:f1b2:b680:1506:93c6) |
| 06:18:45 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds) |
| 06:21:45 | → | corelax1 joins (~corelax@185.163.110.116) |
| 06:25:09 | → | drbean joins (~drbean@TC210-63-209-217.static.apol.com.tw) |
| 06:25:50 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 06:27:59 | → | invaser1 joins (~Thunderbi@178-133-201-88.mobile.vf-ua.net) |
| 06:28:01 | × | bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 246 seconds) |
| 06:29:00 | → | bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
| 06:30:29 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 258 seconds) |
| 06:30:29 | invaser1 | is now known as invaser |
| 06:33:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:35:43 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 246 seconds) |
| 06:36:38 | → | revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 06:42:01 | × | codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Remote host closed the connection) |
| 06:42:40 | → | codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net) |
| 06:43:45 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 06:46:00 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 06:46:51 | × | invaser quits (~Thunderbi@178-133-201-88.mobile.vf-ua.net) (Read error: Connection reset by peer) |
| 06:46:55 | → | invaser1 joins (~Thunderbi@31.148.23.125) |
| 06:48:11 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 06:48:17 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 06:49:14 | invaser1 | is now known as invaser |
| 06:52:50 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 06:52:54 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 06:57:05 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 06:59:13 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 07:00:20 | → | mimi1vx joins (~mimi@2a01:490:16:1026:2934:3235:6ae3:65f4) |
| 07:02:00 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 07:05:24 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 07:05:51 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 07:06:54 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 260 seconds) |
| 07:08:12 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 07:08:21 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 07:09:38 | × | xff0x quits (~fox@2001:1a81:526d:d800:f1b2:b680:1506:93c6) (Ping timeout: 264 seconds) |
| 07:10:17 | → | xff0x joins (~fox@2001:1a81:526d:d800:33bd:cfa:492c:ea35) |
| 07:10:20 | × | cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection) |
| 07:10:37 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 07:11:20 | → | britva joins (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) |
| 07:12:51 | → | cantstanya joins (~chatting@gateway/tor-sasl/cantstanya) |
| 07:16:19 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 07:16:58 | → | chaosmasttter joins (~chaosmast@p200300c4a70b9f013c660c983e9b467a.dip0.t-ipconnect.de) |
| 07:19:33 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 07:21:00 | → | sagax joins (~sagax_nb@213.138.71.146) |
| 07:21:20 | → | knupfer joins (~Thunderbi@200116b82c0fb10018cf41fffe5b4f4b.dip.versatel-1u1.de) |
| 07:21:21 | × | knupfer quits (~Thunderbi@200116b82c0fb10018cf41fffe5b4f4b.dip.versatel-1u1.de) (Client Quit) |
| 07:21:38 | → | knupfer joins (~Thunderbi@mue-88-130-61-134.dsl.tropolys.de) |
| 07:21:50 | × | guest116` quits (~user@49.5.6.87) (Ping timeout: 260 seconds) |
| 07:22:08 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 07:23:05 | → | pera joins (~pera@unaffiliated/pera) |
| 07:23:32 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 07:24:30 | → | thunderrd joins (~thunderrd@183.182.111.177) |
| 07:28:55 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 07:30:28 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 07:30:56 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 07:34:02 | → | loximann joins (~loximann_@2001:999:91:a2:a80c:634a:b1db:5) |
| 07:34:41 | × | thunderrd quits (~thunderrd@183.182.111.177) (Remote host closed the connection) |
| 07:35:35 | <loximann> | Hi! I need some help... I am using Fedora 33. When I run ghci, all the packages installed via the operating system are hidden. Can anyone give me a hand? |
| 07:36:45 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 240 seconds) |
| 07:36:53 | → | pera joins (pera@gateway/vpn/mullvad/pera) |
| 07:39:30 | × | britva quits (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Quit: This computer has gone to sleep) |
| 07:41:33 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:42:00 | → | thunderrd joins (~thunderrd@183.182.111.177) |
| 07:42:55 | × | otulp quits (~otulp@ti0187q162-5696.bb.online.no) (Ping timeout: 246 seconds) |
| 07:43:25 | → | chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
| 07:44:33 | → | christo joins (~chris@81.96.113.213) |
| 07:45:04 | → | dhouthoo joins (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) |
| 07:46:00 | <loximann> | Uhm, is this channel active at all? |
| 07:46:29 | <Uniaika> | yep but it's still the morning for many europeans :) |
| 07:46:41 | <Uniaika> | and night for americans |
| 07:46:50 | <loximann> | True :-D |
| 07:47:10 | <Uniaika> | loximann: I am also a fedora user, btw |
| 07:47:16 | <loximann> | Uniaika certainly :-D (I am located in Helsinki ;-) ) |
| 07:47:31 | <loximann> | So much in common :-D |
| 07:47:41 | → | falafel joins (~falafel@2601:247:c400:1390:744c:5d49:cbc1:a27a) |
| 07:48:03 | <Uniaika> | ei, I'm not Finnish :P |
| 07:48:07 | <Uniaika> | so |
| 07:48:14 | <Uniaika> | don't install haskell packages with dnf |
| 07:48:16 | <Uniaika> | just don't |
| 07:48:32 | <Uniaika> | you install them with cabal, stack, nix, watever |
| 07:48:33 | × | emmanuel_erc quits (~user@2604:2000:1382:ce03:de4:8c90:4e56:e115) (Ping timeout: 268 seconds) |
| 07:48:40 | <loximann> | OK? But it has worked fine. And in two other systems it has been fine |
| 07:49:31 | <Uniaika> | Debian is 5 years late compared to everybody and Arch has decided to do nonsensical policies with dynamic linking :P |
| 07:49:40 | <Uniaika> | This is not a reliable way to install libraries |
| 07:50:03 | <loximann> | OK, thanks |
| 07:50:23 | <loximann> | Still, it would be good to know why it works in a couple of my systems and it doesn't on this one |
| 07:50:25 | × | mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 2.9) |
| 07:50:33 | <Uniaika> | it's not that it *doesn't work* |
| 07:50:40 | <Uniaika> | it's just that it won't *reliably* |
| 07:51:04 | <Uniaika> | on the long term you're better off with a cabal store, even a cabal project! |
| 07:51:34 | <Uniaika> | with stack, you can invoque a REPL with arbitrary packages, for instance |
| 07:51:38 | <Uniaika> | a bit like nix |
| 07:53:04 | <loximann> | I don't know, I have been fine for a long long time with my old-fashioned way, so far I have been happy with ghc and ghci for my needs... I would prefer not to change that workflow |
| 07:53:35 | → | guest116` joins (~user@49.5.6.87) |
| 07:53:54 | <loximann> | I understand the rationale for using cabal/nix/whatnot, but for me coming where I am coming from, I feel more comfortable with more minimalistic tools |
| 07:55:29 | <sclv> | cabal _is_ the most minimalistic tool |
| 07:55:39 | <sclv> | using system packaging is way more fragile and complex |
| 07:55:56 | <Uniaika> | loximann: yes but here you are, with a broken setup :) |
| 07:56:36 | <sclv> | in any case your question is rather vaguee |
| 07:56:50 | × | irc_user quits (uid423822@gateway/web/irccloud.com/x-gyxrtaghwqegnmdw) (Quit: Connection closed for inactivity) |
| 07:56:52 | <loximann> | OK, I can formulate it more properly :-) |
| 07:56:58 | <sclv> | do the packages show up unhidden in `ghc-pkg list`? |
| 07:57:12 | <loximann> | Yeah, I mean not in parentheses |
| 07:57:28 | <sclv> | ok and how do you launch ghci? |
| 07:57:41 | <loximann> | Just type ghci on the console |
| 07:58:12 | <sclv> | that's strange |
| 07:58:19 | <sclv> | have you tried `ghc-pkg check`? |
| 07:58:44 | <loximann> | No, I run it without arguments now and nothing happened? |
| 07:58:47 | <sclv> | my one guess is you accidentally have a ghc environment file somewheree |
| 07:59:24 | <sclv> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html |
| 07:59:40 | <sclv> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-environments rather |
| 07:59:50 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 07:59:56 | <loximann> | Indeed renaming ~/.ghc as ~/.ghc_hide fixed that! |
| 08:00:00 | hackage | morloc 0.33.0 - A multi-lingual, typed, workflow language https://hackage.haskell.org/package/morloc-0.33.0 (arendsee) |
| 08:00:04 | × | pera quits (pera@gateway/vpn/mullvad/pera) (Ping timeout: 246 seconds) |
| 08:00:34 | <sclv> | w00t |
| 08:01:11 | → | alp joins (~alp@2a01:e0a:58b:4920:2d40:19c5:99d8:c050) |
| 08:01:47 | <loximann> | I guess the environment file .ghc_hide/x86_64-linux-8.8.4/environments/default was broken somehow |
| 08:01:53 | <loximann> | I'll look into that. Thanks :-) |
| 08:02:12 | <sclv> | cabal can write to it depending on the version and configuration |
| 08:02:14 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 08:02:19 | × | codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer) |
| 08:02:27 | → | codygman joins (codygman@gateway/vpn/privateinternetaccess/codygman) |
| 08:02:56 | → | pera joins (~pera@unaffiliated/pera) |
| 08:03:30 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 08:04:20 | <loximann> | Weird. All the packages seem to be listed in the environment file |
| 08:05:02 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:06:34 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 08:06:37 | → | pthariensflame joins (~pthariens@068-189-075-144.res.spectrum.com) |
| 08:06:51 | × | pthariensflame quits (~pthariens@068-189-075-144.res.spectrum.com) (Client Quit) |
| 08:07:11 | → | christo joins (~chris@81.96.113.213) |
| 08:07:57 | <loximann> | Alright, apparently there was a left over cache lock? I removed .ghc/x86_64-linux-8.8.4/package.conf.d/package.cache.lock and it all seems to work |
| 08:08:26 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 08:10:50 | <loximann> | Thanks a lot for your help! :-D |
| 08:12:57 | → | jedws joins (~jedws@101.184.150.81) |
| 08:14:01 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 08:14:49 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 08:14:54 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:15:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:16:14 | <Uniaika> | have a nice one, loximann :) |
| 08:16:18 | → | todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr) |
| 08:17:21 | → | christo joins (~chris@81.96.113.213) |
| 08:18:37 | → | m0rphism joins (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) |
| 08:18:45 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
| 08:19:27 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 08:20:54 | → | jbox joins (~atlas@unaffiliated/jbox) |
| 08:22:01 | hackage | yesod-auth 1.6.10.1 - Authentication for Yesod. https://hackage.haskell.org/package/yesod-auth-1.6.10.1 (MichaelSnoyman) |
| 08:22:10 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:23:54 | <jchia> | Without using temp files or writing to another file, how can I remove lines with a certain prefix from a UTF-8 text file using only memory that scales with the size of the prefix or at most the size of the longest line? I know the idea but want to know how to express it elegantly in Haskell. |
| 08:24:37 | <jchia> | i can even simplify the problem and say the file encoding is latin-1. |
| 08:25:11 | <pjb> | read line, write line or not, repeat. |
| 08:25:15 | <jophish> | sed '/^prefix/d' |
| 08:25:43 | <jchia> | jophish: I know sed can do it. I just want to do it simply in Haskell |
| 08:25:46 | <pjb> | The trick is that either you open the file twice, or you just between the read position and the write position. |
| 08:25:55 | <jchia> | pjb: If I write to the file while reading, will I get data corruption? |
| 08:26:00 | <pjb> | Nope. |
| 08:26:09 | <pjb> | Because you are only _removing_ lines. |
| 08:26:23 | <jchia> | pjb: open with two handles, one for read one for write? |
| 08:26:48 | <pjb> | Well, you have to be careful, because if you remove a small line, while copying a big following lines, indeed you would have an overlap. |
| 08:27:00 | <pjb> | Better to use fixed buffers. |
| 08:28:04 | <pjb> | The simpliest is to use a temporary file. |
| 08:28:55 | → | jff joins (~Thunderbi@a109-49-149-2.cpe.netcabo.pt) |
| 08:29:08 | <jchia> | I'll just do it the naive way. It's not a real problem I have to solve as the file is not that big. Just wondering if there is an elegant way to do it with a low memory footprint. |
| 08:29:34 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:29:41 | <pjb> | If the file can be read entirely in RAM, then indeed, read, split, delete, write. |
| 08:29:59 | <pjb> | In that case you may use a single file, if you have access to a truncate(2) syscall. |
| 08:30:01 | hackage | yesod-persistent 1.6.0.5 - Some helpers for using Persistent from Yesod. https://hackage.haskell.org/package/yesod-persistent-1.6.0.5 (MichaelSnoyman) |
| 08:30:18 | <pjb> | It's not in POSIX, but in BSD and Linux. |
| 08:32:13 | × | watt749 quits (~watt749@124.123.105.19) (Remote host closed the connection) |
| 08:32:36 | → | watt540 joins (~watt540@124.123.105.19) |
| 08:32:44 | <merijn> | pjb: Why even bother "removing lines"? |
| 08:32:47 | → | borne joins (~fritjof@200116b864a45200fbd62cc7430251a2.dip.versatel-1u1.de) |
| 08:32:51 | → | christo joins (~chris@81.96.113.213) |
| 08:33:12 | <pjb> | fixed-size record files are easier to work with. |
| 08:33:17 | <merijn> | You just gotta keep track of the end of the last "keep" line and copy the next "keep" line after there |
| 08:33:28 | <merijn> | You can never overlap data you care about that way |
| 08:33:40 | <merijn> | Since you only ever copy data "forward" |
| 08:34:17 | <merijn> | jchia: It can be done, whether it's worth the effort is the real question |
| 08:35:30 | × | hive-mind quits (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (Ping timeout: 272 seconds) |
| 08:38:32 | → | hive-mind joins (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) |
| 08:38:57 | <tomsmeding> | can be a nice learning task I guess, it's not too hard to do it this way |
| 08:39:11 | × | watt540 quits (~watt540@124.123.105.19) (Remote host closed the connection) |
| 08:39:14 | <tomjaguarpaw> | Is there a simple and well-maintained CI setup for Haskell packages that people recommend these days? |
| 08:39:22 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:39:23 | <tomjaguarpaw> | I have been using Travis, but the writing is on the wall. |
| 08:39:30 | hackage | yesod-auth-oauth 1.6.0.2 - OAuth Authentication for Yesod. https://hackage.haskell.org/package/yesod-auth-oauth-1.6.0.2 (MichaelSnoyman) |
| 08:40:15 | → | watt001 joins (~watt001@124.123.105.19) |
| 08:42:59 | × | codygman quits (codygman@gateway/vpn/privateinternetaccess/codygman) (Ping timeout: 256 seconds) |
| 08:43:12 | → | codygman joins (codygman@gateway/vpn/privateinternetaccess/codygman) |
| 08:43:46 | <merijn> | Github Actions? :p |
| 08:44:28 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 256 seconds) |
| 08:45:13 | × | Sanchayan quits (~Sanchayan@223.226.118.59) (Ping timeout: 246 seconds) |
| 08:46:14 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 08:49:05 | → | mimi_vx joins (~mimi@tulipan.habr.nat.praha12.net) |
| 08:50:10 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 08:50:26 | <Uniaika> | tomjaguarpaw: GitHub Actions |
| 08:51:37 | → | jedws joins (~jedws@101.184.150.81) |
| 08:51:54 | <tomjaguarpaw> | I mean is there simple and well-maintained Haskell code to use the CI service :D |
| 08:52:14 | × | mimi1vx quits (~mimi@2a01:490:16:1026:2934:3235:6ae3:65f4) (Ping timeout: 264 seconds) |
| 08:53:12 | × | alexelcu quits (~alexelcu@142.93.180.198) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:53:22 | <dminuoso> | tomjaguarpaw: gitlab-ci+gitlab-runner |
| 08:53:31 | <dminuoso> | Jenkins |
| 08:53:39 | <dminuoso> | Anything that can run a single `cabal build` works for 95% of hackage. |
| 08:53:47 | <dminuoso> | (Or stack equivalent) |
| 08:54:01 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 08:54:02 | → | alexelcu joins (~alexelcu@142.93.180.198) |
| 08:54:33 | × | jedws quits (~jedws@101.184.150.81) (Client Quit) |
| 08:54:40 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 246 seconds) |
| 08:54:51 | <dminuoso> | Fundamentally, my gitlab ci jobs do nothing more than `cabal build ...; cp $(cabal-plan list-bin ...) ...` |
| 08:55:14 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 264 seconds) |
| 08:56:18 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 08:56:54 | → | jespada joins (~jespada@90.254.245.49) |
| 08:57:27 | → | Sanchayan joins (~Sanchayan@223.226.118.59) |
| 08:57:30 | × | Sanchayan quits (~Sanchayan@223.226.118.59) (Read error: Connection reset by peer) |
| 08:57:49 | → | Sanchayan joins (~Sanchayan@223.226.118.59) |
| 09:00:01 | × | corelax1 quits (~corelax@185.163.110.116) () |
| 09:00:05 | × | mmynsted[m] quits (mmynstedtc@gateway/shell/matrix.org/x-nsloajvwzkribhpr) (Quit: Idle for 30+ days) |
| 09:00:27 | → | watt213 joins (~watt213@124.123.105.19) |
| 09:00:49 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 09:04:30 | <jophish> | tomjaguarpaw: https://github.com/expipiplus1/exact-real/blob/master/.github/workflows/ci.yml#L6-L49 |
| 09:04:41 | <jophish> | seems to work well enough for me |
| 09:04:55 | <jophish> | or were you asking about a CI service API in haskell? |
| 09:05:08 | × | watt213 quits (~watt213@124.123.105.19) (Ping timeout: 260 seconds) |
| 09:05:11 | <merijn> | tomjaguarpaw: Or update Haskell-CI with a Github actions backend :p |
| 09:05:43 | <merijn> | dminuoso: The Haskell-CI travis tests are more in depth than simply checking if "cabal build" works, though |
| 09:05:55 | <merijn> | dminuoso: they also test sdist, different confiurations, etc. |
| 09:06:14 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 09:06:25 | <dminuoso> | merijn: all easily written into a shell script. |
| 09:06:32 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 09:06:50 | <jophish> | I've been working on a couple of scripts which allow me to comment "/bump major" on a PR and have a bot push a commit updating the changelog and version number, https://github.com/expipiplus1/update-nix-fetchgit/pull/46 |
| 09:06:57 | <merijn> | Right, but the point of haskell-ci was to not have to rewrite that shell script every time ;) |
| 09:07:06 | <dminuoso> | Write it once, share it across projects |
| 09:07:10 | <jophish> | and another script which watches master for changes to the version, and pushes a tag |
| 09:07:14 | <dminuoso> | Chances are, your CI needs need custom tailoring *anyhow* |
| 09:07:22 | <jophish> | and another script which watches tags and makes a release when a new tag comes along |
| 09:07:27 | <dminuoso> | The idea that there's this "general CI setup that works for all" is a bit silly |
| 09:07:33 | <merijn> | dminuoso: that's what haskell-ci *is* and probably why he asked for something like that for "not travis" :p |
| 09:07:38 | → | supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
| 09:07:42 | × | drbean quits (~drbean@TC210-63-209-217.static.apol.com.tw) (Ping timeout: 256 seconds) |
| 09:07:42 | <dminuoso> | ah.. |
| 09:07:46 | <jophish> | https://github.com/expipiplus1/action-automation |
| 09:07:53 | <dminuoso> | I stick to my point. Just write it yourself, its not that hard... |
| 09:07:55 | <dminuoso> | :p |
| 09:08:37 | × | loximann quits (~loximann_@2001:999:91:a2:a80c:634a:b1db:5) (Quit: Leaving) |
| 09:08:41 | <merijn> | dminuoso: Writing a github actions version is on my (continuously growing) "post-thesis" todo list already :p |
| 09:08:51 | <jophish> | Is travis really going anywhere, I mean I certainly wouldn't use it for anything new over something integrated with gitlab or github, but surely it's got some life left? |
| 09:09:19 | × | denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Quit: ZNC 1.7.5 - https://znc.in) |
| 09:09:44 | <Taneb> | jophish: I'd heard they're removing free support for open source |
| 09:09:47 | → | denisse joins (~spaceCat@gateway/tor-sasl/alephzer0) |
| 09:09:52 | <jophish> | seriously? |
| 09:09:54 | <jophish> | wow |
| 09:10:01 | <jophish> | How's things, Taneb ? |
| 09:10:13 | <dminuoso> | jophish: you dont read news, do you? |
| 09:10:39 | <Taneb> | dminuoso: it's not exactly the kind of thing that makes it into newspapers |
| 09:10:53 | <dminuoso> | travis CI was bought off by a company that has made a habit of "buy company, fire all senior staff, and milk the cashcow for as long as you can" |
| 09:11:06 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
| 09:11:08 | <dminuoso> | and as it turned out, a week later most of the senior staff was laid off.. |
| 09:11:28 | <jophish> | dminuoso: I can't read, sorry |
| 09:11:47 | <dminuoso> | Taneb: oh I meant tech news I guess :) |
| 09:12:21 | <jophish> | I get all my news from /r/copypasta |
| 09:12:48 | <dminuoso> | There is such a sub? |
| 09:14:40 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 09:14:40 | <jophish> | To be fair, it was the first news outlet to call the race for Biden |
| 09:16:57 | → | DavidEichmann joins (~david@43.240.198.146.dyn.plus.net) |
| 09:20:19 | <int-e> | jophish: how would you know if it's the only one you read |
| 09:20:37 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 09:21:13 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 09:21:38 | <int-e> | (also, the name suggests that it'll at best be second, if they're quick enough to copy and paste) |
| 09:22:39 | × | bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 256 seconds) |
| 09:23:00 | × | CodeAlways quits (uid272474@gateway/web/irccloud.com/x-mliviwyoymdgahbo) (Quit: Connection closed for inactivity) |
| 09:23:16 | × | Stanley|00 quits (~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer) |
| 09:23:26 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-rydgrdgzszjcykfa) |
| 09:23:31 | → | bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
| 09:23:48 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 09:24:02 | × | falafel quits (~falafel@2601:247:c400:1390:744c:5d49:cbc1:a27a) (Ping timeout: 264 seconds) |
| 09:25:16 | → | Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
| 09:26:16 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 09:26:46 | <merijn> | dminuoso: Man, there's subs for everything :p |
| 09:26:54 | → | kuribastard joins (~user@ptr-25vy0i8gjp0q1mdagcc.18120a2.ip6.access.telenet.be) |
| 09:27:53 | <kuribastard> | applicative do looks nice for pararallelizing stuff. It should be enough to have a parallel (<*>) method, and let the desugaring handle the paralellism, right? |
| 09:28:05 | ← | kmwyard parts (uid471732@gateway/web/irccloud.com/x-tmjuaykfgmfaiqvc) () |
| 09:28:09 | × | watt001 quits (~watt001@124.123.105.19) (Remote host closed the connection) |
| 09:28:23 | <kuribastard> | For example batching queries to a database. |
| 09:28:33 | <merijn> | kuribastard: Congratulations you have reinvented Facebook's Haxl :p |
| 09:29:08 | × | jbox quits (~atlas@unaffiliated/jbox) (Quit: WeeChat 2.9) |
| 09:29:21 | <merijn> | kuribastard: http://events.techcast.com/bigtechday10/Garmisch-1345/?q=Garmisch-1345 |
| 09:29:33 | <kuribastard> | merijn: ah cool, I could use that :) |
| 09:29:48 | <kuribastard> | merijn: so simply relying on the desugaring isn't enough? |
| 09:30:32 | <merijn> | It depends on how far you wanna go |
| 09:30:34 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 09:30:39 | <merijn> | And what you mean by "desugaring" |
| 09:31:00 | <merijn> | But Simon's talk there is mostly about batching database queries, so... :p |
| 09:31:23 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 09:31:50 | <kuribastard> | nice, that could be pretty helpful |
| 09:33:19 | × | bqv quits (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 2.9) |
| 09:34:02 | <kuribastard> | merijn: that slides is pretty nice :) |
| 09:36:25 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 09:36:39 | → | bqv joins (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 09:37:30 | <kuribastard> | it syncronises the slide with the video |
| 09:37:39 | <kuribastard> | I haven't seen that before |
| 09:38:17 | × | bqv quits (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Client Quit) |
| 09:40:14 | → | ubert joins (~Thunderbi@p200300ecdf1e53aae6b318fffe838f33.dip0.t-ipconnect.de) |
| 09:41:08 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 09:43:31 | hackage | ukrainian-phonetics-basic 0.1.10.0 - A library to work with the basic Ukrainian phonetics and syllable segmentation. https://hackage.haskell.org/package/ukrainian-phonetics-basic-0.1.10.0 (OleksandrZhabenko) |
| 09:44:11 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 09:44:11 | → | emmanuel_erc joins (~user@2604:2000:1382:ce03:496b:5584:4342:f627) |
| 09:44:22 | <jchia> | Is anyone experiencing Haskell Language Server taking >= 30GB RSS (resident set size) when editing a few files that are a few hundred lines in total long? I have a beefy machine but I wonder whether people with less RAM regularly encounter OOM problems when running HLS. |
| 09:44:42 | <jchia> | The RAM usage does not start up that big, but it grows. |
| 09:44:51 | <merijn> | Might be a leak? |
| 09:45:03 | <merijn> | Which version of hls? I know there were some leaks in earlier versions |
| 09:45:38 | <merijn> | ooh! |
| 09:45:46 | <merijn> | Pijul 1.0 release! |
| 09:46:02 | <jchia> | I'm running hls that I built from a Sep 10 commit. |
| 09:46:05 | <merijn> | (although, I guess they rebranded?) |
| 09:46:35 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 09:47:43 | × | Sanchayan quits (~Sanchayan@223.226.118.59) (Ping timeout: 260 seconds) |
| 09:48:38 | × | emmanuel_erc quits (~user@2604:2000:1382:ce03:496b:5584:4342:f627) (Ping timeout: 264 seconds) |
| 09:51:20 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 09:51:41 | → | geek00l joins (~geek00l@184.75.221.203) |
| 09:53:18 | → | Sanchayan joins (~Sanchayan@223.226.118.59) |
| 09:56:26 | → | watt570 joins (~watt570@124.123.105.19) |
| 09:56:45 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 09:59:01 | hackage | cobot-io 0.1.3.10 - Biological data file formats and IO https://hackage.haskell.org/package/cobot-io-0.1.3.10 (ozzzzz) |
| 10:00:56 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Quit: WeeChat 2.7.1) |
| 10:01:46 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 10:02:26 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 10:03:37 | × | Collateral quits (~Collatera@4e69b241.skybroadband.com) (Ping timeout: 246 seconds) |
| 10:04:43 | × | denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds) |
| 10:05:51 | → | denisse joins (~spaceCat@gateway/tor-sasl/alephzer0) |
| 10:06:52 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 10:07:30 | → | Collateral joins (~Collatera@4e69b241.skybroadband.com) |
| 10:07:42 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer) |
| 10:08:31 | → | darjeeling_ joins (~darjeelin@115.215.43.51) |
| 10:11:28 | <tomjaguarpaw> | jophish: Thanks. I will respond to your email soon. |
| 10:12:00 | → | ClaudiusMaximus joins (~claude@198.123.199.146.dyn.plus.net) |
| 10:12:13 | × | ClaudiusMaximus quits (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
| 10:12:13 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 10:12:31 | hackage | phonetic-languages-properties 0.1.1.0 - A generalization of the uniqueness-periods-vector-properties package. https://hackage.haskell.org/package/phonetic-languages-properties-0.1.1.0 (OleksandrZhabenko) |
| 10:13:12 | → | akegalj joins (~akegalj@93-136-206-107.adsl.net.t-com.hr) |
| 10:13:30 | × | codygman quits (codygman@gateway/vpn/privateinternetaccess/codygman) (Ping timeout: 256 seconds) |
| 10:16:24 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 10:17:24 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 10:17:28 | → | codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net) |
| 10:19:36 | → | acidjnk_new2 joins (~acidjnk@p200300d0c718f650b06a22fed16a11d3.dip0.t-ipconnect.de) |
| 10:20:15 | → | sh9 joins (~sh9@softbank060116136158.bbtec.net) |
| 10:20:39 | → | mikevdg joins (73bd507b@115-189-80-123.mobile.spark.co.nz) |
| 10:22:20 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds) |
| 10:24:35 | <mikevdg> | Where is the "do" notation processed? Is it something the compiler knows specially about and is built in to the grammar of Haskell, or is it done using some funky function definition foo? |
| 10:24:37 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 10:25:32 | × | totte quits (~totte@chakra/totte) (Quit: ZNC - http://znc.in) |
| 10:25:40 | <merijn> | mikevdg: It's syntactic sugar, so part of the syntax/grammar, yes |
| 10:26:13 | <merijn> | mikevdg: The desugaring is pretty straightforward: https://en.wikibooks.org/wiki/Haskell/do_notation |
| 10:26:39 | <mikevdg> | Does Haskell have a mechanism for letting you define your own syntactic sugar, or would that involve breaking ghc open and modifying it? |
| 10:27:00 | hackage | phonetic-languages-examples 0.1.1.0 - A generalization of the uniqueness-periods-vector-examples functionality. https://hackage.haskell.org/package/phonetic-languages-examples-0.1.1.0 (OleksandrZhabenko) |
| 10:27:17 | <merijn> | mikevdg: You can either break open GHC, or you can use QuasiQuotes |
| 10:28:52 | <mikevdg> | Hey thanks |
| 10:28:57 | × | mikevdg quits (73bd507b@115-189-80-123.mobile.spark.co.nz) (Quit: mikevdg) |
| 10:29:37 | → | totte joins (~totte@chakra/totte) |
| 10:29:42 | <jophish> | int-e: ! hahah |
| 10:29:49 | <jophish> | you're quite right |
| 10:30:16 | <jophish> | micahsovereign[m: consider looking at -XRebindableSyntax too |
| 10:31:03 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-yyqyliwcbydyqmwb) (Quit: Connection closed for inactivity) |
| 10:31:51 | → | pera joins (~pera@unaffiliated/pera) |
| 10:33:29 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 10:34:40 | × | geek00l quits (~geek00l@184.75.221.203) (Ping timeout: 258 seconds) |
| 10:36:36 | × | guest116` quits (~user@49.5.6.87) (Read error: Connection reset by peer) |
| 10:45:12 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 10:45:54 | <Cheery> | when I define type family Trim a where Trim ... |
| 10:46:08 | <Cheery> | is it possible to associate functions to the items? |
| 10:46:12 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 10:46:42 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 10:46:50 | <dminuoso> | Cheery: use a typeclass with an associated type |
| 10:47:49 | <Cheery> | so I had this problem while days ago and it got back. |
| 10:47:55 | <merijn> | dminuoso: How does do that? |
| 10:48:01 | <jophish> | n |
| 10:48:20 | <Cheery> | https://www.reddit.com/r/haskell/comments/jmzg57/is_it_possible_to_trim_unit_types_away_from_a_type/ |
| 10:48:23 | <kuribastard> | merijn: yes, haxl is exactly the functionality I wanted to implement. That'll save me a lot of work :) |
| 10:48:26 | <merijn> | associated types aren't really any different from regular type families, tbh |
| 10:49:41 | <kuribastard> | merijn: I already was designing a complicated system for doing dependency analysis, before it occured to me that applicative does that exactly, but for free. |
| 10:50:01 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 10:50:46 | × | rprije quits (~rprije@124.148.131.132) (Ping timeout: 258 seconds) |
| 10:51:00 | → | falafel joins (~falafel@2601:247:c400:1390:744c:5d49:cbc1:a27a) |
| 10:51:03 | <Cheery> | merijn: what do you mean? does this thing I have desugar into something else? |
| 10:51:56 | <merijn> | Cheery: I was refering to dminuoso's suggestion, which afaict can't actually fix your problem |
| 10:52:40 | <merijn> | Cheery: oh, those functions in that reddit post aren't possible |
| 10:53:05 | <merijn> | Cheery: Because the implementation depends on their input type which only works if you have either a typeclass or some kinda witness, like a GADT |
| 10:53:35 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
| 10:54:55 | → | Leo_Verto1 joins (~Leo_Verto@178.239.168.171) |
| 10:58:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: relog) |
| 10:58:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:59:19 | <Cheery> | merijn: well is there some other way to remove units from a type? |
| 10:59:43 | <merijn> | eh "a function"? |
| 11:00:33 | <Cheery> | I get a type, and I'd like it to drop units deep in that type. |
| 11:00:43 | → | trafaret1 joins (~user@178.207.230.169) |
| 11:01:10 | <merijn> | There's no (sane) way of doing that in general |
| 11:01:23 | ← | trafaret1 parts (~user@178.207.230.169) () |
| 11:02:45 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit) |
| 11:02:50 | <Cheery> | I accept datakinds |
| 11:03:02 | × | yinfeng quits (~yinfeng@58.212.52.57) (Ping timeout: 260 seconds) |
| 11:03:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:03:26 | <Cheery> | merijn: I accept datakinds, it's ok if it's not entirely sane |
| 11:03:44 | <merijn> | I don't know how to do it the insane way either |
| 11:03:54 | <merijn> | It's probably possible, but you're on your own |
| 11:04:28 | <Cheery> | yeah.. well I try figure out. I think it can be done. |
| 11:04:40 | <merijn> | I'd recommend either: 1) "well don't return stuff you don't want/need then", or 2) accepting life |
| 11:04:50 | × | falafel quits (~falafel@2601:247:c400:1390:744c:5d49:cbc1:a27a) (Ping timeout: 264 seconds) |
| 11:05:38 | <Cheery> | https://github.com/cheery/haskell-rady |
| 11:06:33 | <Cheery> | for example: the aa(b|c) corresponds to ((),((),Either () ())) |
| 11:06:47 | <Cheery> | trim it, you get Either () () |
| 11:08:07 | <Cheery> | well I'll try those datakinds. |
| 11:08:57 | <Cheery> | merijn: the point is, there's a good usecase |
| 11:11:45 | → | falafel joins (~falafel@2601:247:c400:1390:744c:5d49:cbc1:a27a) |
| 11:12:00 | ski | . o O ( `Either (Either Void ()) (Either (Either Void Void,Either () ()) (Either () ((),()),Either () (Either () Void)))' ) |
| 11:13:23 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 11:13:37 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 11:14:52 | → | solonarv joins (~solonarv@astrasbourg-653-1-263-62.w92-161.abo.wanadoo.fr) |
| 11:16:58 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:16:59 | <kuribastard> | Cheery: the real question is, why do you want this? |
| 11:17:10 | <kuribastard> | Cheery: it sounds like an XY problem |
| 11:18:22 | → | jollygood2 joins (~bc8165ab@217.29.117.252) |
| 11:19:10 | <jollygood2> | hi. what library do you recommend using for displaying graphs on a webpage? |
| 11:20:26 | × | falafel quits (~falafel@2601:247:c400:1390:744c:5d49:cbc1:a27a) (Ping timeout: 264 seconds) |
| 11:20:53 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 11:21:38 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 11:21:56 | <tomsmeding> | merijn: pijul 1.0 where? also what rebrand? |
| 11:22:09 | <Uniaika> | it's anu.dev now, tomsmeding |
| 11:22:29 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 11:22:38 | <tomsmeding> | oh wow |
| 11:25:37 | → | Tops2 joins (~Tobias@dyndsl-095-033-022-214.ewe-ip-backbone.de) |
| 11:27:28 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 11:29:27 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 11:30:34 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 11:31:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 11:32:58 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 11:33:21 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:33:42 | → | christo joins (~chris@81.96.113.213) |
| 11:38:13 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 11:38:44 | × | sh9 quits (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8) |
| 11:39:38 | × | dxld quits (~dxld@80-109-136-248.cable.dynamic.surfer.at) (Quit: Bye) |
| 11:42:18 | → | dxld joins (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) |
| 11:43:43 | × | roconnor quits (~roconnor@host-192.252-162-14.dyn.295.ca) (Ping timeout: 246 seconds) |
| 11:46:10 | × | chaosmasttter quits (~chaosmast@p200300c4a70b9f013c660c983e9b467a.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 11:48:29 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 11:50:33 | → | carlomagno1 joins (~cararell@148.87.23.10) |
| 11:51:25 | × | carlomagno quits (~cararell@148.87.23.5) (Ping timeout: 240 seconds) |
| 11:56:16 | × | brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 272 seconds) |
| 11:57:55 | → | Tops21 joins (~Tobias@dyndsl-095-033-022-214.ewe-ip-backbone.de) |
| 11:57:57 | × | akegalj quits (~akegalj@93-136-206-107.adsl.net.t-com.hr) (Quit: leaving) |
| 11:58:41 | × | dmiles quits (dmiles@c-73-67-179-188.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
| 11:59:33 | → | Tops22 joins (~Tobias@dyndsl-095-033-022-214.ewe-ip-backbone.de) |
| 12:00:01 | × | Leo_Verto1 quits (~Leo_Verto@178.239.168.171) () |
| 12:00:18 | → | dmiles joins (dmiles@c-73-67-179-188.hsd1.wa.comcast.net) |
| 12:01:44 | × | Tops2 quits (~Tobias@dyndsl-095-033-022-214.ewe-ip-backbone.de) (Ping timeout: 256 seconds) |
| 12:03:14 | × | Tops21 quits (~Tobias@dyndsl-095-033-022-214.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
| 12:04:46 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 12:06:18 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 12:07:51 | → | Entertainment joins (~entertain@104.246.132.210) |
| 12:08:17 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 12:08:54 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 12:11:40 | <Cheery> | kuribastard: if you have structures defined with a regex, it's nice to take the actual regex, then form a type from it. |
| 12:12:05 | <Cheery> | kuribastard: however, the type will have units because all parts of a regex do not carry information on match. |
| 12:12:36 | <Cheery> | Tool to trim all the units away from the type would be convenient. |
| 12:12:37 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
| 12:12:45 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
| 12:13:53 | × | alp quits (~alp@2a01:e0a:58b:4920:2d40:19c5:99d8:c050) (Ping timeout: 272 seconds) |
| 12:14:50 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:15:57 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 12:16:31 | hackage | reflex 0.7.2.0 - Higher-order Functional Reactive Programming https://hackage.haskell.org/package/reflex-0.7.2.0 (abrar) |
| 12:19:41 | → | CodeAlways joins (uid272474@gateway/web/irccloud.com/x-urtbqxrwhpvhyukz) |
| 12:20:19 | → | joaj joins (~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) |
| 12:20:28 | → | chaosmasttter joins (~chaosmast@p200300c4a70b9f013c660c983e9b467a.dip0.t-ipconnect.de) |
| 12:21:40 | → | drbean joins (~drbean@TC210-63-209-142.static.apol.com.tw) |
| 12:23:38 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 12:24:00 | → | texasmynsted joins (~texasmyns@64.44.55.116) |
| 12:24:14 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 12:26:43 | × | knupfer quits (~Thunderbi@mue-88-130-61-134.dsl.tropolys.de) (Quit: knupfer) |
| 12:28:34 | × | texasmynsted quits (~texasmyns@64.44.55.116) (Ping timeout: 272 seconds) |
| 12:30:16 | <lortabac> | Cheery: there is a trick to avoid the problem of overlapping instances |
| 12:30:19 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:30:30 | hackage | http2-client 0.10.0.0 - A native HTTP2 client library. https://hackage.haskell.org/package/http2-client-0.10.0.0 (LucasDiCioccio) |
| 12:30:39 | <lortabac> | it is verbose, but it should work, I have used it on more than one occasion |
| 12:30:45 | → | avdb joins (~avdb@ip-83-134-202-202.dsl.scarlet.be) |
| 12:30:50 | → | ubert1 joins (~Thunderbi@p200300ecdf1e53aae6b318fffe838f33.dip0.t-ipconnect.de) |
| 12:30:55 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 12:31:20 | <Cheery> | lortabac: what is that trick? |
| 12:31:31 | hackage | cachix-api 0.5.0 - Servant HTTP API specification for https://cachix.org https://hackage.haskell.org/package/cachix-api-0.5.0 (domenkozar) |
| 12:31:32 | <lortabac> | Cheery: you define an auxiliary data type, where each constructor corresponds to one equation in the Trim type family |
| 12:31:38 | × | ubert quits (~Thunderbi@p200300ecdf1e53aae6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 12:31:38 | ubert1 | is now known as ubert |
| 12:32:14 | <lortabac> | then you define an auxiliary type family that maps from the input of Trim to this auxiliary data type |
| 12:32:51 | <lortabac> | and a type class with one instance for each of the constructors |
| 12:33:44 | <merijn> | tomsmeding: The new nest seems to be buckling under the load, though xD |
| 12:33:51 | <Cheery> | in this case the problem is the ((),a) etc. |
| 12:33:55 | <tomsmeding> | r.i.p. |
| 12:34:27 | <tomsmeding> | when I checked it an hour ago it was still pretty quick |
| 12:34:48 | <tomsmeding> | I guess populatity is a good thing :) |
| 12:34:49 | <Cheery> | lortabac: ok, I'm not sure if I figured what you mean, but I'll try this. |
| 12:35:15 | × | joaj quits (~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) (Ping timeout: 244 seconds) |
| 12:35:21 | <merijn> | Cheery: The solution is to not build ((),a) in the first place if 'a' is what you want |
| 12:35:24 | <kuribastard> | Cheery: I don't get why you would need types for this. |
| 12:35:39 | <kuribastard> | Cheery: If I need something more typed and complicated, I would use parsec. |
| 12:37:32 | → | joaj joins (~joaj@2001:690:2100:110:cceb:227c:edbc:592c) |
| 12:38:26 | <lortabac> | Cheery: if you need help you can ping me |
| 12:38:40 | <kuribastard> | Cheery: and if the interface provided by the regex library is not convenient, you just create your wrapper on top of it. |
| 12:39:36 | <lortabac> | Cheery: TBH I don't know whether this is a good idea or not, I just wanted to say that it's technically possible |
| 12:40:09 | → | christo joins (~chris@81.96.113.213) |
| 12:41:05 | <Cheery> | lortabac: well it may be easier to see that once done.. I want to try this. Ok. I start. |
| 12:41:56 | <Cheery> | Ok, so lets take a simpler version of Trim that produces the problem. I think it's enough to take the pair. |
| 12:42:30 | hackage | cachix 0.5.0 - Command line client for Nix binary cache hosting https://cachix.org https://hackage.haskell.org/package/cachix-0.5.0 (domenkozar) |
| 12:43:43 | → | alp joins (~alp@2a01:e0a:58b:4920:9450:d534:53a8:2e84) |
| 12:43:50 | → | grimgnr joins (~user@94.19.246.43) |
| 12:45:17 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:45:53 | → | texasmynsted joins (~texasmyns@097-085-244-180.biz.spectrum.com) |
| 12:46:00 | hackage | compdoc-dhall-decoder 0.2.0.0 - Allows you to write FromDhall instances for Compdoc https://hackage.haskell.org/package/compdoc-dhall-decoder-0.2.0.0 (locallycompact) |
| 12:46:04 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 12:47:47 | → | argent0 joins (~argent0@168.227.98.82) |
| 12:48:52 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 12:49:10 | <Cheery> | lortabac: now I have data Aux = DropLeft | DropRight | KeepBoth | Keep, and type family TrimAux a that maps inputs of Trim to Aux |
| 12:50:33 | <lortabac> | Cheery: I think you need to include the arguments as well |
| 12:50:50 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 260 seconds) |
| 12:51:05 | <Cheery> | you mean it needs to be a GADT? |
| 12:51:16 | <lortabac> | something like data Aux a b = Dropleft a | DropRight a etc. |
| 12:51:20 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 12:51:35 | <lortabac> | otherwise you would lose information |
| 12:51:42 | → | christo joins (~chris@81.96.113.213) |
| 12:52:23 | → | pera joins (~pera@unaffiliated/pera) |
| 12:52:54 | → | bqv joins (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 12:53:37 | <lortabac> | TrimAux is identical to Trim on the LHS, but returns an Aux on the RHS |
| 12:53:46 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 12:53:51 | <merijn> | Cheery: Basically you can't pick "what function implementation to use" based on the type, so having a type family compute the right type doesn't let you magically specify the right logic to implement said function |
| 12:54:14 | <merijn> | (well, you can pick implementation based on types...when you use a typeclass) |
| 12:55:09 | × | watt570 quits (~watt570@124.123.105.19) (Ping timeout: 256 seconds) |
| 12:55:30 | hackage | HsOpenSSL 0.11.5.1 - Partial OpenSSL binding for Haskell https://hackage.haskell.org/package/HsOpenSSL-0.11.5.1 (VladimirShabanov) |
| 12:56:01 | <lortabac> | then each class instance matches one of Aux's constructors and mimic Trim's behavior at value level |
| 12:56:07 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 258 seconds) |
| 12:56:08 | <merijn> | Is there a way to make executables (of Haskell dependencies) available at runtime? |
| 12:56:10 | <Cheery> | lortabac: how about the typeclass? class Foo (a::Aux) |
| 12:56:29 | <Cheery> | hmm.. |
| 12:56:32 | → | cinimod_ joins (uid93893@gateway/web/irccloud.com/x-iwnddlwwokzrvwhq) |
| 12:57:14 | → | brisbin joins (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
| 12:57:53 | × | Sanchayan quits (~Sanchayan@223.226.118.59) (Ping timeout: 260 seconds) |
| 12:58:39 | <lortabac> | in general you need a very good reason to go through all this painful contorsion, I have only every needed this trick when implementing Servant extensions |
| 12:59:15 | × | cinimod_ quits (uid93893@gateway/web/irccloud.com/x-iwnddlwwokzrvwhq) (Client Quit) |
| 12:59:43 | → | cinimod_ joins (uid93893@gateway/web/irccloud.com/x-ohfubecfiwfffiip) |
| 13:00:51 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 13:01:24 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 13:01:45 | × | brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds) |
| 13:02:08 | <tomsmeding> | Cheery: not sure if it's relevant for you, but I was reading a paper and saw a reference, and recalled how you'd been talking here today about typed regular expressions |
| 13:02:12 | <tomsmeding> | https://github.com/sweirich/dth/tree/master/regexp exists |
| 13:02:44 | <tomsmeding> | note also the popl17 talk apparently |
| 13:04:04 | → | raichoo joins (~raichoo@213.240.178.58) |
| 13:04:26 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 13:05:12 | × | bqv quits (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 2.9) |
| 13:05:18 | <Cheery> | tomsmeding: thanks. I will look in. |
| 13:05:26 | <kuribastard> | merijn: does haxl support mutating queries? |
| 13:06:13 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 13:06:26 | <Cheery> | lortabac: is there a text I can read about this one? I mean, it's data in a typeclass. |
| 13:06:48 | <Cheery> | Foo Nil, Foo (Cons x y) etc... |
| 13:06:55 | <lortabac> | the GHC user guide -- DataKinds chapter |
| 13:09:22 | → | bqv joins (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 13:09:25 | <jophish> | merijn: using Nix? |
| 13:10:37 | <bqv> | ^ |
| 13:10:57 | → | Sanchayan joins (~Sanchayan@223.226.118.59) |
| 13:11:05 | × | Rudd0 quits (~Rudd0@185.189.115.98) (Ping timeout: 240 seconds) |
| 13:11:30 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 13:11:54 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 13:12:37 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 13:12:46 | <Cheery> | lortabac: once I have what you proposed me to make, how would I use it? |
| 13:13:00 | hackage | discord-register 0.0.1 - Discord verification bot https://hackage.haskell.org/package/discord-register-0.0.1 (HughSipiere) |
| 13:13:03 | × | wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds) |
| 13:13:07 | <Cheery> | to implement trim :: a -> Trim a, and fill :: Trim a -> a. |
| 13:13:17 | → | christo joins (~chris@81.96.113.213) |
| 13:14:24 | <jophish> | Cheery: I haven't been paying attention, but is Trim a bijection? |
| 13:14:49 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 13:14:53 | → | wwwww joins (~wwwww@unaffiliated/wwwww) |
| 13:15:50 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 13:15:52 | → | AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 13:16:18 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 13:16:28 | <Cheery> | jophish: nope. The idea is to take a type built from algebraic elements, and produce a corresponding type with no units in it. |
| 13:16:42 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 13:16:42 | <lortabac> | I don't know what 'fill' is supposed to do, but 'trim' should become a method of the class |
| 13:17:07 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 13:17:09 | <Cheery> | ok, lets forget about 'fill' for a moment then, and look at the trim. |
| 13:17:12 | <jophish> | Cheery: ok, so would fill be :: a -> ((), a) or :: a -> (a, ()) |
| 13:17:18 | <jophish> | (or any other of the infinity options) |
| 13:17:36 | <Cheery> | jophish: yup. |
| 13:17:38 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 13:17:39 | <lortabac> | instance Trim ('DropLeft a) where trim ((), a) = a |
| 13:17:44 | <lortabac> | etc. |
| 13:17:53 | <jophish> | Ah I see |
| 13:18:13 | <lortabac> | maybe I got some details wrong, but I hope you get the idea |
| 13:18:21 | <jophish> | Yeah, I get the gist of it |
| 13:18:28 | <merijn> | jophish: No, not using Nix, because the goal is have this be usable by actual mortals :) |
| 13:18:43 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 13:20:20 | <jophish> | merijn: perhaps then you could do some custom setup stuff to call cabal install to put the dependency binaries in some install location? |
| 13:20:23 | <lortabac> | Cheery: upon reflection, the arguments in Aux's constructors are probably useless, because 'trim' behaves the same whatever the type |
| 13:20:55 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 13:21:10 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 13:21:15 | → | knupfer joins (~Thunderbi@200116b82c0fb10034b9f47ce3eda41d.dip.versatel-1u1.de) |
| 13:22:31 | hackage | patch 0.0.3.2 - Data structures for describing changes to other data structures. https://hackage.haskell.org/package/patch-0.0.3.2 (abrar) |
| 13:22:56 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 13:23:08 | <lortabac> | Cheery: which means you'll probably need AllowAmbiguousTypes and TypeApplications |
| 13:23:16 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 13:23:33 | <lortabac> | as I said, it requires a lot of boilerplate |
| 13:23:44 | → | fendor joins (~fendor@77.119.129.239.wireless.dyn.drei.com) |
| 13:24:21 | → | unfo- joins (~unfo-@162.219.176.3) |
| 13:24:28 | × | fendor quits (~fendor@77.119.129.239.wireless.dyn.drei.com) (Remote host closed the connection) |
| 13:24:37 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 13:25:03 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 13:25:50 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 13:26:00 | <Cheery> | this looks fun. |
| 13:26:38 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 13:27:41 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:7cc2:21a2:16c3:f6f6) |
| 13:27:43 | → | fendor joins (~fendor@77.119.129.239.wireless.dyn.drei.com) |
| 13:27:45 | × | darjeeling_ quits (~darjeelin@115.215.43.51) (Ping timeout: 240 seconds) |
| 13:27:52 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 13:27:56 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds) |
| 13:29:14 | × | texasmynsted quits (~texasmyns@097-085-244-180.biz.spectrum.com) (Remote host closed the connection) |
| 13:29:17 | → | darjeeling_ joins (~darjeelin@115.215.43.51) |
| 13:30:12 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 13:30:36 | <Cheery> | Right now it says that it can't deduce (x::Aux) from the method declaration |
| 13:31:08 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 13:31:32 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 13:31:59 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 13:32:27 | × | unfo- quits (~unfo-@162.219.176.3) (Remote host closed the connection) |
| 13:32:58 | <Cheery> | adding a "proxy" helped. :) |
| 13:33:10 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds) |
| 13:33:26 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 13:34:54 | <lortabac> | yes, if you use proxies you don't need AllowAmbiguousTypes and TypeApplications |
| 13:40:47 | <jollygood2> | I need line graph on a web page, ideally the kind that lets you see arbitrary points by hovering a mouse over it. any recommendations? |
| 13:41:19 | <Cheery> | that kind of thing, I still didn't get it through, but I continue later: https://bpa.st/TYMQ |
| 13:42:01 | <Cheery> | lortabac: thanks for help, there's bit more tools to try. I think I understand the problem in the "simple" way to do this though. |
| 13:42:19 | × | todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Remote host closed the connection) |
| 13:42:44 | → | todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr) |
| 13:42:51 | <Cheery> | when I try to create the instance (F a, F b) => F (a,b), it's unable to figure out whether to use this instance on ((),b) or not. |
| 13:43:54 | <ski> | they overlap |
| 13:44:16 | <Cheery> | the closed type family does not "figure" it out, but it waits until Trim (a,b) resolves either a or b |
| 13:44:50 | <ski> | try using only the former, but see if you can check if `Trim a' or `Trim b' is `()', and if so, then `Trim (a,b)' should be the other one |
| 13:45:27 | <ski> | hm |
| 13:45:27 | × | LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 13:45:34 | → | FreeBirdLjj joins (~freebirdl@101.228.42.108) |
| 13:47:00 | × | obihann quits (~jhann@156.34.160.69) (Remote host closed the connection) |
| 13:47:03 | → | texasmynsted joins (~texasmyns@097-085-244-180.biz.spectrum.com) |
| 13:47:21 | <lortabac> | Cheery: if you use my workaround, the instances are only selected on Aux, where they never overlap |
| 13:47:38 | <lortabac> | there are no instances (a, b) etc. |
| 13:47:44 | → | FreeBird_ joins (~freebirdl@101.228.42.108) |
| 13:48:00 | <lortabac> | in fact that's the whole point of this trick |
| 13:48:02 | × | drbean quits (~drbean@TC210-63-209-142.static.apol.com.tw) (Ping timeout: 264 seconds) |
| 13:48:16 | → | LKoen joins (~LKoen@53.253.88.92.rev.sfr.net) |
| 13:48:27 | → | Tario joins (~Tario@201.192.165.173) |
| 13:49:22 | → | machinedgod joins (~machinedg@207.253.244.210) |
| 13:49:58 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Ping timeout: 256 seconds) |
| 13:50:23 | → | brisbin joins (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
| 13:50:35 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:7cc2:21a2:16c3:f6f6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:53:25 | × | mmohammadi9812 quits (~mmohammad@188.210.99.150) (Ping timeout: 240 seconds) |
| 13:54:30 | × | todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Quit: Konversation terminated!) |
| 13:54:45 | → | todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr) |
| 13:55:32 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 13:55:47 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
| 13:56:24 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 14:02:25 | → | mmohammadi9812 joins (~mmohammad@188.210.99.150) |
| 14:02:50 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 14:03:41 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:09:00 | hackage | bytebuild 0.3.7.0 - Serialize to a small byte arrays https://hackage.haskell.org/package/bytebuild-0.3.7.0 (andrewthad) |
| 14:09:01 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 14:09:27 | → | wkane__ joins (~wkane@host-80-180-11-39.pool80180.interbusiness.it) |
| 14:09:50 | × | coot quits (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
| 14:11:10 | → | coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
| 14:12:11 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 14:12:57 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 14:13:50 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 14:16:05 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 14:17:26 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:2d48:c414:1e60:fe62) |
| 14:19:40 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:24:13 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 14:24:17 | × | argent0 quits (~argent0@168.227.98.82) (Ping timeout: 258 seconds) |
| 14:27:02 | → | argent0 joins (~argent0@168.227.98.82) |
| 14:30:07 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 14:30:30 | hackage | reflex-vty 0.1.4.1 - Reflex FRP host and widgets for VTY applications https://hackage.haskell.org/package/reflex-vty-0.1.4.1 (abrar) |
| 14:31:14 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 14:31:40 | <merijn> | oooh, that sounds cool |
| 14:32:36 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit) |
| 14:35:18 | × | avdb quits (~avdb@ip-83-134-202-202.dsl.scarlet.be) (Ping timeout: 260 seconds) |
| 14:36:04 | → | christo joins (~chris@81.96.113.213) |
| 14:37:05 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 14:37:21 | → | avdb joins (~avdb@ip-83-134-202-202.dsl.scarlet.be) |
| 14:37:36 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 14:39:48 | → | st8less joins (~st8less@2603:a060:11fd:0:eda9:20b2:c735:3ae0) |
| 14:40:23 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
| 14:40:42 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 14:41:09 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 14:41:12 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 14:41:34 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 14:41:44 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 14:41:55 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 14:42:00 | hackage | miv 0.4.4 - Vim plugin manager written in Haskell https://hackage.haskell.org/package/miv-0.4.4 (itchyny) |
| 14:42:30 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 14:42:41 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 14:42:55 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
| 14:43:10 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 14:43:28 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 14:44:18 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 265 seconds) |
| 14:46:00 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit) |
| 14:46:04 | × | mmohammadi9812 quits (~mmohammad@188.210.99.150) (Ping timeout: 246 seconds) |
| 14:47:31 | × | chaosmasttter quits (~chaosmast@p200300c4a70b9f013c660c983e9b467a.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 14:48:29 | → | Gurkenglas__ joins (~Gurkengla@unaffiliated/gurkenglas) |
| 14:49:22 | → | jonatanb joins (~jonatanb@83.24.9.26.ipv4.supernova.orange.pl) |
| 14:49:41 | × | phaazon quits (~phaazon@2001:41d0:a:fe76::1) (Ping timeout: 272 seconds) |
| 14:50:57 | → | mmohammadi9812 joins (~mmohammad@188.210.99.150) |
| 14:51:14 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 260 seconds) |
| 14:51:20 | → | phaazon joins (~phaazon@ns378376.ip-5-196-95.eu) |
| 14:52:06 | → | britva joins (~britva@2a02:aa13:7240:2980:80a0:64f3:77d6:a0d0) |
| 14:52:14 | × | alx741 quits (~alx741@181.196.69.190) (Ping timeout: 256 seconds) |
| 14:52:17 | → | Wojciech_K joins (~wojciechk@2001:41d0:a:5be4::449) |
| 14:53:07 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 14:54:29 | × | marble_visions quits (~user@68.183.79.8) (Quit: bye) |
| 14:55:05 | × | mmohammadi9812 quits (~mmohammad@188.210.99.150) (Ping timeout: 240 seconds) |
| 14:55:21 | → | marble_visions joins (~user@68.183.79.8) |
| 14:56:54 | → | kritzefitz_ joins (~kritzefit@212.86.56.80) |
| 14:59:39 | × | kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
| 15:00:01 | × | avdb quits (~avdb@ip-83-134-202-202.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 15:00:23 | → | avdb joins (~avdb@ip-83-134-202-202.dsl.scarlet.be) |
| 15:02:18 | → | mmohammadi9812 joins (~mmohammad@188.210.99.150) |
| 15:02:54 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 15:03:52 | × | britva quits (~britva@2a02:aa13:7240:2980:80a0:64f3:77d6:a0d0) (Quit: This computer has gone to sleep) |
| 15:03:58 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Client Quit) |
| 15:04:29 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 15:05:15 | → | alx741 joins (~alx741@186.178.110.222) |
| 15:05:27 | → | isBEKaml joins (~isBEKaml@unaffiliated/isbekaml) |
| 15:05:31 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 15:05:38 | × | bqv quits (~bqv@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 2.9) |
| 15:05:57 | <isBEKaml> | Hello, I was looking for ghcup and was a little surprised to _not_ see it listed among the Downloads on haskell.org |
| 15:06:00 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 15:06:05 | <isBEKaml> | Is that not officially supported anymore? |
| 15:06:22 | <isBEKaml> | https://www.haskell.org/downloads/ |
| 15:06:34 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 15:07:12 | → | aldessa joins (~hugh@host-92-21-7-179.as13285.net) |
| 15:07:12 | <merijn> | Define officially supported |
| 15:07:33 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 15:07:35 | <merijn> | I'm not sure it ever was on there? |
| 15:07:40 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 15:07:55 | <merijn> | https://www.haskell.org/ghcup/ |
| 15:08:01 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 15:08:01 | <isBEKaml> | merijn: if it's listed on https://www.haskell.org/ghcup/ under the domain haskell.org - it is :-) |
| 15:08:04 | <merijn> | Probably someone should updat ethe downloads page |
| 15:08:46 | × | todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Remote host closed the connection) |
| 15:09:11 | → | todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr) |
| 15:09:39 | <aldessa> | Hi, when programming FPGAs in Clash what would be the best way to formally verify properties of the thing you compile? |
| 15:10:02 | <merijn> | aldessa: Whiskey and crying are my favourite methods :> |
| 15:10:14 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 15:10:22 | × | gilbertw1_ quits (~gilbertw1@ec2-52-91-154-1.compute-1.amazonaws.com) (Ping timeout: 256 seconds) |
| 15:10:34 | <aldessa> | merijn, lockdown is hitting hard I see |
| 15:10:41 | <isBEKaml> | also, ghcup pollutes my home dir. It doesn't respect XDG_HOME_DIR :-( |
| 15:10:51 | <merijn> | aldessa: You might wanna try #clash-lang |
| 15:11:03 | <aldessa> | thanks merijn |
| 15:11:03 | <int-e> | merijn: 90% proof spirit? |
| 15:11:25 | <merijn> | isBEKaml: If you are super pedantic about how you organise your environment you can just grab the GHC bin dists and cabal yourself and leave them wherever you want |
| 15:11:26 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
| 15:11:46 | <merijn> | isBEKaml: https://www.haskell.org/ghc/download_ghc_8_10_2.html#binaries |
| 15:11:55 | <aldessa> | ghcup auto installs haskell language server which is pretty great |
| 15:12:54 | <merijn> | isBEKaml: Both GHC and cabal are "good citizens" in terms of multiple versions playing nicely together |
| 15:13:38 | <merijn> | isBEKaml: Personally I just manually install multiple GHC bin dists in $HOME myself, because I'm a grumpy curmudgeon who dislikes tools dictating my environment :p |
| 15:14:30 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 258 seconds) |
| 15:14:41 | × | toorevitimirp quits (~tooreviti@117.182.183.132) (Remote host closed the connection) |
| 15:14:43 | <isBEKaml> | merijn: I install compiled tools into ~/bin myself and don't want to go searching for tools where I don't look in |
| 15:15:52 | <aldessa> | why not .bin? |
| 15:16:01 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 15:16:55 | × | alp quits (~alp@2a01:e0a:58b:4920:9450:d534:53a8:2e84) (Ping timeout: 272 seconds) |
| 15:16:59 | <isBEKaml> | just my preference |
| 15:18:41 | → | Gunni1 joins (~Gunni@154.13.1.56) |
| 15:18:53 | × | FreeBird_ quits (~freebirdl@101.228.42.108) (Remote host closed the connection) |
| 15:19:21 | <aldessa> | that's fair |
| 15:20:07 | → | Bergle_2 joins (~Bergle_4@101.165.90.119) |
| 15:20:30 | → | conal joins (~conal@64.71.133.70) |
| 15:22:05 | × | Bergle_3 quits (~Bergle_4@101.165.90.119) (Ping timeout: 240 seconds) |
| 15:22:31 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 15:22:32 | → | twopoint718 joins (~cjw@fsf/member/twopoint718) |
| 15:22:59 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 15:23:02 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 15:23:42 | <merijn> | You'd at least need a corresponding /lib directory too |
| 15:23:49 | <merijn> | GHC isn't just an exectuable |
| 15:24:29 | <isBEKaml> | I dump everything into a separate pkgs directory and symlink the bins into ~/bin |
| 15:24:50 | <isBEKaml> | so pkgs/ghc/bin/ghc gets symlinked into ~/bin/ghc |
| 15:25:05 | <isBEKaml> | no more fudging with paths |
| 15:25:39 | → | oioi6912730 joins (~raz1828@8afbda67.st-andrews.ac.uk) |
| 15:29:02 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 15:29:25 | × | da39a3ee5e6b4b0d quits (~textual@cm-171-98-73-201.revip7.asianet.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:30:07 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 15:31:10 | × | avdb quits (~avdb@ip-83-134-202-202.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 15:31:26 | × | oioi6912730 quits (~raz1828@8afbda67.st-andrews.ac.uk) (Quit: Leaving) |
| 15:31:29 | × | joaj quits (~joaj@2001:690:2100:110:cceb:227c:edbc:592c) (Ping timeout: 272 seconds) |
| 15:31:57 | → | nados joins (~dan@69-165-210-185.cable.teksavvy.com) |
| 15:33:15 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Remote host closed the connection) |
| 15:33:22 | → | joaj joins (~joaj@2001:690:2100:110:cceb:227c:edbc:592c) |
| 15:34:27 | → | obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 15:35:26 | × | Kaivo quits (~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) (Ping timeout: 264 seconds) |
| 15:36:24 | × | zariuq quits (~zar@fw1.ciirc.cvut.cz) (Quit: Leaving) |
| 15:36:51 | <merijn> | Anyone know if the hackage matrix builder has an RSS feed somewhere? I suspect not? |
| 15:37:59 | → | Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com) |
| 15:38:37 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 15:38:51 | → | oioi6912730 joins (~raz@8afbda67.st-andrews.ac.uk) |
| 15:38:55 | × | Sanchayan quits (~Sanchayan@223.226.118.59) (Quit: leaving) |
| 15:39:43 | ← | jcowan parts (sid325434@gateway/web/irccloud.com/x-evadozowlzlhtjmy) () |
| 15:39:50 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 15:40:30 | hackage | reflex 0.8.0.0 - Higher-order Functional Reactive Programming https://hackage.haskell.org/package/reflex-0.8.0.0 (abrar) |
| 15:40:34 | vevercak | is now known as veverak |
| 15:43:04 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 15:43:33 | <oioi6912730> | hi! small qn about mail libraries |
| 15:44:04 | <oioi6912730> | would anybody know of any libs to fetch with IMAP and/or interact with maildir folders |
| 15:44:45 | <oioi6912730> | I haven't been able to find anything still maintained for IMAP from google/hackage |
| 15:45:06 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 15:46:15 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 15:46:23 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 15:46:28 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-ixbzhzypphotnxrx) |
| 15:48:04 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds) |
| 15:48:14 | × | argent0 quits (~argent0@168.227.98.82) (Ping timeout: 258 seconds) |
| 15:52:10 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 15:52:15 | → | vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
| 15:52:29 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 15:53:28 | <absence> | i have some code that compiles until i enable TypeFamilies. anyone knows what's wrong, and what i have to change to make it work? https://repl.it/repls/SickConstantComputergraphics |
| 15:54:03 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Quit: All your buffer are belong to us!) |
| 15:54:04 | → | argent0 joins (~argent0@168.227.98.82) |
| 15:54:06 | → | conal joins (~conal@64.71.133.70) |
| 15:54:11 | <merijn> | Well, what's the error? |
| 15:55:34 | <merijn> | Unrelatedly: also note that you can never do anything useful with SomeRecord's contents |
| 15:56:01 | <absence> | merijn: click the run button |
| 15:56:03 | <dolio> | It's because TypeFamilies turns on MonoLocalBinds, I think. |
| 15:56:19 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 265 seconds) |
| 15:56:31 | <dolio> | So 'test' must be monomorphic, but nothing determines its type. |
| 15:56:34 | <absence> | merijn: also this code is just some garbage i threw together to reproduce the error :) |
| 15:56:47 | <absence> | dolio: oh! |
| 15:57:13 | × | todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Remote host closed the connection) |
| 15:57:23 | <absence> | dolio: i think i've been bitten by that before... |
| 15:57:30 | → | alp joins (~alp@2a01:e0a:58b:4920:3118:5dff:6f5a:9656) |
| 15:57:39 | → | todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr) |
| 15:58:30 | → | avdb joins (~avdb@ip-83-134-202-202.dsl.scarlet.be) |
| 15:58:34 | <dolio> | That's not exactly what the error says, but if I put NoMonoLocalBinds in the language pragma, it works. |
| 15:58:52 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 246 seconds) |
| 15:59:28 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 15:59:33 | <absence> | dolio: is there a good reason why it enables MonoLocalBinds? i.e. should i just disable it, or change the code to work when it's enabled? |
| 16:00:00 | × | joaj quits (~joaj@2001:690:2100:110:cceb:227c:edbc:592c) (Remote host closed the connection) |
| 16:00:02 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 16:00:23 | → | joaj joins (~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) |
| 16:00:24 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 16:00:27 | <dolio> | I think it makes inference more feasible for type family related stuff. |
| 16:00:28 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:00:28 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 16:00:33 | → | conal joins (~conal@198.8.81.71) |
| 16:03:58 | → | ddellaco1 joins (dd@gateway/vpn/mullvad/ddellacosta) |
| 16:04:12 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 16:04:39 | × | isBEKaml quits (~isBEKaml@unaffiliated/isbekaml) (Quit: leaving) |
| 16:05:08 | → | vilpan joins (~0@212.117.1.172) |
| 16:06:09 | → | Chi1thangoo joins (~Chi1thang@87.112.60.168) |
| 16:06:57 | <absence> | dolio: i see, thanks! |
| 16:07:06 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 16:07:21 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 16:07:25 | × | Kaivo quits (~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 264 seconds) |
| 16:08:48 | × | avdb quits (~avdb@ip-83-134-202-202.dsl.scarlet.be) (Ping timeout: 256 seconds) |
| 16:09:42 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 16:09:45 | → | Kaivo joins (~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) |
| 16:09:50 | → | bennofs1 joins (~benno@dslb-094-222-063-208.094.222.pools.vodafone-ip.de) |
| 16:10:17 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 16:10:29 | Lord_of_Life_ | is now known as Lord_of_Life |
| 16:14:40 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds) |
| 16:15:17 | × | vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
| 16:15:33 | → | vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
| 16:15:54 | → | scasc joins (~szabi@213142096120.public.telering.at) |
| 16:17:00 | hackage | reflex-fsnotify 0.2.1.2 - Reflex FRP interface for watching files https://hackage.haskell.org/package/reflex-fsnotify-0.2.1.2 (abrar) |
| 16:18:35 | → | slack1256 joins (~slack1256@191.126.150.2) |
| 16:19:48 | × | vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
| 16:19:53 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 16:20:02 | → | vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
| 16:21:26 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 16:21:46 | × | argent0 quits (~argent0@168.227.98.82) (Ping timeout: 256 seconds) |
| 16:22:51 | × | tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
| 16:23:37 | → | tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64) |
| 16:24:07 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 16:24:13 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 16:24:31 | hackage | reflex-process 0.3.1.0 - Reflex FRP interface for running system processes https://hackage.haskell.org/package/reflex-process-0.3.1.0 (abrar) |
| 16:25:34 | → | toorevitimirp joins (~tooreviti@117.182.183.132) |
| 16:25:41 | × | acidjnk_new2 quits (~acidjnk@p200300d0c718f650b06a22fed16a11d3.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 16:25:57 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 16:26:12 | × | slack1256 quits (~slack1256@191.126.150.2) (Ping timeout: 244 seconds) |
| 16:26:12 | × | scasc quits (~szabi@213142096120.public.telering.at) (Ping timeout: 244 seconds) |
| 16:29:14 | × | bennofs1 quits (~benno@dslb-094-222-063-208.094.222.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
| 16:29:21 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 16:32:04 | → | scasc joins (~szabi@213142096120.public.telering.at) |
| 16:32:28 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection) |
| 16:32:55 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 16:33:05 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-mmieyeuehrtlbhkm) |
| 16:34:10 | → | pera joins (~pera@unaffiliated/pera) |
| 16:36:30 | hackage | persistent-test 2.0.3.5 - Tests for Persistent https://hackage.haskell.org/package/persistent-test-2.0.3.5 (parsonsmatt) |
| 16:37:30 | hackage | reflex-dom-core 0.6.1.0 - Functional Reactive Web Apps with Reflex https://hackage.haskell.org/package/reflex-dom-core-0.6.1.0 (abrar) |
| 16:37:48 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 16:38:37 | × | alp quits (~alp@2a01:e0a:58b:4920:3118:5dff:6f5a:9656) (Ping timeout: 272 seconds) |
| 16:38:51 | → | alp joins (~alp@2a01:e0a:58b:4920:3c79:643f:783c:9d58) |
| 16:39:37 | × | toorevitimirp quits (~tooreviti@117.182.183.132) (Remote host closed the connection) |
| 16:40:31 | hackage | reflex-ghci 0.1.5.1 - A GHCi widget library for use in reflex applications https://hackage.haskell.org/package/reflex-ghci-0.1.5.1 (abrar) |
| 16:41:04 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 16:42:10 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 16:42:47 | → | Ariakenom joins (~Ariakenom@h-82-196-111-76.NA.cust.bahnhof.se) |
| 16:43:03 | × | jonatanb quits (~jonatanb@83.24.9.26.ipv4.supernova.orange.pl) (Quit: Leaving...) |
| 16:43:30 | hackage | reflex-dom 0.6.1.0 - Functional Reactive Web Apps with Reflex https://hackage.haskell.org/package/reflex-dom-0.6.1.0 (abrar) |
| 16:44:08 | × | twopoint718 quits (~cjw@fsf/member/twopoint718) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:44:33 | <maerwald> | merijn: next time someone asks about xdg: https://gitlab.haskell.org/haskell/ghcup-hs#xdg-support :p |
| 16:45:17 | × | vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
| 16:45:34 | → | vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
| 16:45:39 | × | vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
| 16:46:51 | → | Black joins (~Benett@unaffiliated/benett) |
| 16:47:37 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 16:48:55 | × | Benett quits (~Benett@unaffiliated/benett) (Ping timeout: 240 seconds) |
| 16:49:57 | × | kuribastard quits (~user@ptr-25vy0i8gjp0q1mdagcc.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 16:50:24 | Black | is now known as Benett |
| 16:51:49 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 16:51:52 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 16:54:35 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 16:58:27 | → | aarvar joins (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
| 17:01:05 | → | christo joins (~chris@81.96.113.213) |
| 17:01:05 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:03:21 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:06:16 | → | christo joins (~chris@81.96.113.213) |
| 17:06:23 | × | aldessa quits (~hugh@host-92-21-7-179.as13285.net) (Remote host closed the connection) |
| 17:07:06 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 17:10:17 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 17:10:44 | × | wkane__ quits (~wkane@host-80-180-11-39.pool80180.interbusiness.it) (Quit: Konversation terminated!) |
| 17:10:46 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
| 17:11:09 | × | evanjs quits (~evanjs@075-129-188-019.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:11:27 | → | twopoint718 joins (~cjw@fsf/member/twopoint718) |
| 17:11:37 | × | scasc quits (~szabi@213142096120.public.telering.at) (Ping timeout: 264 seconds) |
| 17:12:21 | → | evanjs joins (~evanjs@075-129-188-019.res.spectrum.com) |
| 17:15:50 | × | twopoint718 quits (~cjw@fsf/member/twopoint718) (Ping timeout: 256 seconds) |
| 17:16:23 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 17:17:44 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 17:20:18 | → | gattytto joins (b33e397e@179.62.57.126) |
| 17:20:23 | <gattytto> | hello :D |
| 17:21:27 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-rydgrdgzszjcykfa) (Quit: Connection closed for inactivity) |
| 17:23:55 | × | chele quits (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
| 17:24:41 | <gattytto> | I'm having issues trying to build the test suite for github/haskell-servant/example-servant-minimal because of some errors in the test/AppSpec.hs file. https://gist.github.com/gattytto/a43c8ca49936c86a6f9ed68380118bf3 |
| 17:25:00 | <gattytto> | can I get some help? I have already changed ServantError for ClientError as noted in the servant lib docs |
| 17:25:06 | → | twopoint718 joins (~cjw@fsf/member/twopoint718) |
| 17:25:54 | → | conal joins (~conal@198.8.81.71) |
| 17:28:00 | × | dmwit quits (~dmwit@pool-108-28-166-212.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 17:28:18 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 17:30:54 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 17:31:27 | × | ubert quits (~Thunderbi@p200300ecdf1e53aae6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 17:31:48 | → | ubert joins (~Thunderbi@p200300ecdf1e5337e6b318fffe838f33.dip0.t-ipconnect.de) |
| 17:32:27 | × | joaj quits (~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) (Ping timeout: 272 seconds) |
| 17:33:38 | <glguy> | gattytto: https://hackage.haskell.org/package/servant-client-core-0.18.1/docs/Servant-Client-Core-ClientError.html#t:ClientError says FailureResponses has two fields; you have only one in your error message snippet |
| 17:33:49 | <glguy> | FailureResponse (RequestF () (BaseUrl, ByteString)) Response |
| 17:33:53 | × | borne quits (~fritjof@200116b864a45200fbd62cc7430251a2.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 17:35:11 | <gattytto> | I'm trying to build the test suite that comes with the example project so I get those errors, does this mean the lib changed? |
| 17:36:13 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 17:36:23 | <gattytto> | this is the file https://gist.github.com/gattytto/5ae5f997d107d051a6a0e9875e654c82 |
| 17:37:51 | <glguy> | gattytto: If it doesn't build then yeah the API changed and no one ran the example test suite since then |
| 17:38:32 | → | jakob_ joins (~textual@p57b0eae0.dip0.t-ipconnect.de) |
| 17:39:08 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 17:40:01 | → | Deide joins (~Deide@217.155.19.23) |
| 17:40:47 | → | avdb joins (~avdb@ip-62-235-12-157.dsl.scarlet.be) |
| 17:41:38 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 17:42:26 | <monochrom> | Nice maerwald |
| 17:42:29 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-zskrebdnslnraypo) |
| 17:42:31 | → | thir joins (~thir@pd9e1bd8a.dip0.t-ipconnect.de) |
| 17:44:21 | → | dmwit joins (~dmwit@pool-108-28-166-212.washdc.fios.verizon.net) |
| 17:47:13 | × | thir quits (~thir@pd9e1bd8a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 17:47:36 | → | logo4poop joins (~logo4poop@leagueh.xyz) |
| 17:47:45 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 17:50:19 | <gattytto> | glguy: could you hint me on how to solve this? I'm very new to haskell so this is quite (very) advanced for me |
| 17:50:50 | <glguy> | afaik, servant is a pretty rough place to start if you're new to Haskell |
| 17:51:13 | <maerwald> | use scotty |
| 17:51:58 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 17:52:03 | <gattytto> | I'm trying to fix the test suite to include this project as a "demo" project for the inclusion of haskell to the Eclipse CHE web IDE |
| 17:53:23 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 17:53:52 | <gattytto> | for my personal learning curve I'm still reading books about haskell, not yet even tried writing any code outside of ghci prompt |
| 17:54:16 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 17:55:40 | <monochrom> | IMO servant is not for very new to Haskell. |
| 17:56:15 | <monochrom> | Hell, most of the web programming libraries, therefore web programming itself altogether, is not for very new to Haskell. |
| 17:57:37 | <gattytto> | yeah, I'm not trying to learn from it (I mean yeah but with no success), but I'm trying to add the project as a general over-look of haskell because not only newcommers to haskell will want to use this eclipse CHE ide so I thought it would be un-sufficient to add a hello world example to the ide |
| 17:58:10 | <gattytto> | this is the demo project you get to when you click on a "example stack" for haskell in the IDE home screen |
| 17:58:35 | hekkaidekapus{ | is now known as hekkaidekapus |
| 17:58:53 | × | darjeeling_ quits (~darjeelin@115.215.43.51) (Ping timeout: 256 seconds) |
| 17:59:21 | <geekosaur> | you might do better to ask the servant folks to update their demo, telling them why |
| 17:59:26 | <hekkaidekapus> | gattytto: Could you provide a link to that IDE you’re talking about? |
| 18:00:01 | × | Gunni1 quits (~Gunni@154.13.1.56) () |
| 18:00:02 | <gattytto> | I have made an issue in their repo but it's been idling for more than a week so I thought to come here and maybe advanced users find it easier to fix the test suit |
| 18:00:10 | <gattytto> | hekkaidekapus yes che.openshift.io |
| 18:00:14 | × | nurupo quits (~nurupo.ga@unaffiliated/nurupo) (Quit: nurupo.ga) |
| 18:00:25 | → | nurupo joins (~nurupo.ga@unaffiliated/nurupo) |
| 18:00:39 | × | _xor quits (~xor@74.215.46.133) (Quit: WeeChat 2.9) |
| 18:00:48 | <gattytto> | you can make a free acount and get 7gb of ram and 2gb of disk to create projects, I'll share here now a devfile spec to get to the current workspace I'm working with |
| 18:00:48 | <hekkaidekapus> | Thanks. And another one for the issue report? |
| 18:00:55 | → | darjeeling_ joins (~darjeelin@115.215.43.51) |
| 18:00:58 | <gattytto> | https://github.com/haskell-servant/example-servant-minimal/issues/11 |
| 18:00:59 | <monochrom> | IMO a short console application is sufficient. |
| 18:01:33 | <monochrom> | The purpose is to show how Haskell fits into Eclispe, not show off Haskell. |
| 18:02:35 | <monochrom> | If it needs to also show how to do dependencies on libraries on hackage, consider simply pulling in random and printing a few random numbers. |
| 18:02:40 | <gattytto> | actually my attempt is to provide a demo that uses all of the available functions that I included in the commit, like the debugging extension, code hints, peek definition and so on |
| 18:04:46 | <monochrom> | Printing a few random numbers can do that, too. |
| 18:05:08 | <gattytto> | hekkaidekapus if you create an account in che.openshift.io then you can go to this link che.openshift.io/f?url=https://raw.githubusercontent.com/gattytto/example-servant-minimal/8.8.4/devfile.yaml you get to the project |
| 18:05:12 | <monochrom> | Or do random permutation of a list if you need it longer and harder to debug. |
| 18:05:41 | <monochrom> | (and recursive) |
| 18:06:06 | <hekkaidekapus> | gattytto: You should follow the advice glguy and monochrom gave you. By the way, that CHE URL redirects to a login page and I gave up at that point. Also, there is a Haskell IDE community wherein people cooridnate their work at <https://github.com/haskell/haskell-language-server>. |
| 18:06:58 | <monochrom> | How long does it take to download servant (and its transitive dependency closure) and compile them all? |
| 18:07:00 | <gattytto> | yes hekkaidekaups it requires to have an account which is free |
| 18:07:09 | <monochrom> | I don't imagine it is any less than 30 seconds. |
| 18:07:14 | <gattytto> | well.. a couple minutes in openshift |
| 18:07:31 | <gattytto> | because the extensions work with docker image sidecars |
| 18:07:43 | <monochrom> | If I were to open up Eclipse for the first time and watch its Haskell demo, I am not going to wait 30 seconds for merely compiling. |
| 18:07:47 | <gattytto> | and I have built ghcide from source in the sidecar build process so it has the sources, it just builds them |
| 18:08:09 | <hekkaidekapus> | gattytto: Yeah, and I’m not going to create that account. Are you a CHE developer? |
| 18:09:02 | <gattytto> | che is a project of the eclipse fundation, it's an open sourced project. I'm only a committer memeber since recently. Openshift is a free (and offers paid service of course) tier provided by redhat |
| 18:10:29 | → | mirrorbird joins (~psutcliff@176.227.54.4) |
| 18:10:38 | <gattytto> | the sidecar includes both haskell-language-server and ghcide built from source, and the environment is included in 3 versions: 8.8.4, 8.10.1 and 8.10.2 and all the components are build from source for their respective version |
| 18:10:44 | → | irc_user joins (uid423822@gateway/web/irccloud.com/x-epbzivxsuvgflifa) |
| 18:11:31 | <hekkaidekapus> | gattytto: That sounds fantastic. So, why don’t you change the demo to something simpler? |
| 18:13:30 | <hekkaidekapus> | The demo should maybe just focus on explaining the setup. Servant is just another Haskell project. Once folks have a working setup, they will figure out how to use it with any projects of their liking. |
| 18:13:31 | <gattytto> | I wanted to include a more realistic demo than just hello world because I think haskell deserves it after I saw all the work made in the extensions for the linting and debugging |
| 18:13:56 | <gattytto> | and having a web api demo using servant worked except for the test suite |
| 18:14:12 | <monochrom> | So suppress the test suite. |
| 18:14:25 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 18:14:46 | <monochrom> | Also I am one of those conservative old-geezers who disagree with realistic=web |
| 18:14:56 | <gattytto> | I thought it could damage the purpose of the demo author, since I'm not the author of that code I thought it would be disrespectful to just cut off a part of it |
| 18:16:09 | × | alp quits (~alp@2a01:e0a:58b:4920:3c79:643f:783c:9d58) (Ping timeout: 272 seconds) |
| 18:16:23 | × | jespada quits (~jespada@90.254.245.49) (Quit: Leaving) |
| 18:16:38 | <monochrom> | It's called "workaround". It means a temporary limitation you put in now but will remove when you figure out how. |
| 18:17:23 | <monochrom> | An ironically in this the context of "realistic" and "debugging". |
| 18:18:03 | <gattytto> | that too I wanted to include debug configurations for the test suite too |
| 18:18:08 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 18:19:53 | → | jdsharp joins (~jdsharp@185.204.1.185) |
| 18:20:26 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 18:21:54 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Read error: Connection reset by peer) |
| 18:22:48 | × | ubert quits (~Thunderbi@p200300ecdf1e5337e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 18:23:30 | <hekkaidekapus> | Another thing slightly unrelated: <https://github.com/haskell-servant/example-servant-minimal> does not commit the .cabal file. I’m aware of stack2cabal (kudos maerwald) and hpack, but a missing .cabal is already a blocker for further sleuthing. |
| 18:23:30 | → | chaosmasttter joins (~chaosmast@p200300c4a70b9f013c660c983e9b467a.dip0.t-ipconnect.de) |
| 18:25:02 | <monochrom> | Oh, that's a crime. :) |
| 18:25:07 | <gattytto> | yes I noticed, but doing "stack build" creates the .cabal by itself |
| 18:25:34 | <koz_> | gattytto: Yeah, because stack magics in hpack as well. |
| 18:25:38 | <gattytto> | I have added the build tasks for those packages in the sidecar Dockerfile so it's invisible to the users |
| 18:25:39 | <texasmynsted> | How do I import the styles from the pandoc module --> https://hackage.haskell.org/package/pandoc-2.11.1/docs/Text-Pandoc-Highlighting.html#t:Style |
| 18:25:57 | <koz_> | And yes, every time you don't include .cabal files, god kills a kitten, and Snoyman vociferously disagrees with you. |
| 18:26:05 | <texasmynsted> | oh wait |
| 18:26:20 | → | conal joins (~conal@198.8.81.71) |
| 18:26:20 | × | conal quits (~conal@198.8.81.71) (Remote host closed the connection) |
| 18:26:43 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:27:09 | → | conal joins (~conal@198.8.81.71) |
| 18:27:19 | <gattytto> | I hope to get some PR that fixes the test suite soon for this project, it's the only missing piece to add the demo stack to the IDE |
| 18:27:29 | <texasmynsted> | nm |
| 18:27:35 | texasmynsted | facepalm |
| 18:27:46 | <texasmynsted> | one of those days |
| 18:28:01 | <gattytto> | meanwhile I'll keep reading my haskell books for dummies so I get some idea of what's going wrong |
| 18:28:16 | <geekosaur> | it'll take more than that |
| 18:28:17 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 18:28:25 | <hekkaidekapus> | gattytto: Good luck! |
| 18:28:29 | <geekosaur> | but both errors are the same problem from two different directions |
| 18:29:12 | <gattytto> | geekosaur thank you for the hint |
| 18:29:18 | × | vilpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 18:29:35 | <geekosaur> | one thing has too many parameters, the other too few |
| 18:31:51 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 18:32:34 | → | conal joins (~conal@198.8.81.71) |
| 18:33:27 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 18:34:16 | × | conal quits (~conal@198.8.81.71) (Client Quit) |
| 18:34:59 | → | conal joins (~conal@198.8.81.71) |
| 18:38:30 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 18:43:57 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 18:44:46 | × | raichoo quits (~raichoo@213.240.178.58) (Quit: Lost terminal) |
| 18:45:29 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 18:45:59 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 18:46:22 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 18:47:27 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 18:47:59 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 18:48:27 | → | comerijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:48:49 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 18:49:19 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 244 seconds) |
| 18:49:19 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
| 18:49:53 | <comerijn> | hekkaidekapus: At least nowadays we can point out that even Snoyman doesn't support "not committing .cabal files" anymore ;) |
| 18:50:23 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 18:50:55 | <hekkaidekapus> | koz_: heh… That’s what koz_ was talking about. And god bless kittens :) |
| 18:51:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 18:51:07 | <koz_> | hekkaidekapus: Yep, this is me doing my daily jibe. :P |
| 18:51:27 | comerijn | is now known as merijn |
| 18:51:38 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 18:52:33 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 260 seconds) |
| 18:53:29 | → | conal joins (~conal@198.8.81.71) |
| 18:54:07 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 18:54:29 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 18:55:25 | × | jollygood2 quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 18:56:00 | × | twopoint718 quits (~cjw@fsf/member/twopoint718) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:58:21 | × | verement quits (~anonymous@cpe-76-167-229-223.san.res.rr.com) (Quit: verement) |
| 18:58:56 | → | mirrorbird_ joins (~psutcliff@141.98.255.147) |
| 18:59:02 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 19:01:25 | × | mirrorbird quits (~psutcliff@176.227.54.4) (Ping timeout: 240 seconds) |
| 19:02:09 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
| 19:03:01 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds) |
| 19:03:25 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 19:04:22 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 19:09:38 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 19:09:55 | → | mirrorb2rd joins (psutcliffe@gateway/vpn/mullvad/psutcliffe) |
| 19:10:18 | × | mirrorbird_ quits (~psutcliff@141.98.255.147) (Ping timeout: 256 seconds) |
| 19:10:37 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 19:13:28 | × | avdb quits (~avdb@ip-62-235-12-157.dsl.scarlet.be) (Ping timeout: 256 seconds) |
| 19:14:28 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 19:14:33 | → | avdb joins (~avdb@ip-62-235-189-16.dsl.scarlet.be) |
| 19:16:42 | × | Lord_of_Life quits (~Lord@46.217.217.128) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 19:18:13 | × | bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 256 seconds) |
| 19:18:57 | → | bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
| 19:19:08 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 19:19:39 | → | u0_a298 joins (~user@47.206.148.226) |
| 19:19:56 | × | jakob_ quits (~textual@p57b0eae0.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
| 19:20:24 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 19:20:35 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 19:20:42 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 19:21:11 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 19:21:14 | → | twopoint718 joins (~cjw@fsf/member/twopoint718) |
| 19:21:29 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 19:21:54 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 19:22:15 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 19:22:17 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 19:22:51 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 19:23:04 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 19:23:33 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 19:23:52 | × | jakob_ quits (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) (Client Quit) |
| 19:24:01 | hackage | type-of-html 1.6.0.0 - High performance type driven html generation. https://hackage.haskell.org/package/type-of-html-1.6.0.0 (knupfer) |
| 19:24:25 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 19:24:39 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 19:25:34 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 19:29:20 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 19:31:26 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 19:31:50 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 19:31:58 | → | u0_a298 joins (~user@47.206.148.226) |
| 19:34:00 | → | Lord_of_Life joins (~Lord@46.217.217.128) |
| 19:34:00 | × | Lord_of_Life quits (~Lord@46.217.217.128) (Changing host) |
| 19:34:00 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 19:34:00 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 19:34:15 | → | u0_a298 joins (~user@47.206.148.226) |
| 19:34:45 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 19:36:29 | → | acidjnk_new2 joins (~acidjnk@p200300d0c718f650b06a22fed16a11d3.dip0.t-ipconnect.de) |
| 19:39:46 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
| 19:39:55 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:43:26 | → | borne joins (~fritjof@200116b864a45200fbd62cc7430251a2.dip.versatel-1u1.de) |
| 19:45:16 | × | hiroaki_ quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 19:46:10 | × | DavidEichmann quits (~david@43.240.198.146.dyn.plus.net) (Ping timeout: 260 seconds) |
| 19:50:51 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 19:53:56 | → | verement joins (~anonymous@cpe-76-167-229-223.san.res.rr.com) |
| 19:55:41 | × | gattytto quits (b33e397e@179.62.57.126) (Remote host closed the connection) |
| 19:56:43 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 19:58:03 | → | _xor joins (~xor@74.215.46.133) |
| 19:58:35 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 20:01:22 | → | hiroaki joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
| 20:02:18 | → | systemhalted joins (~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) |
| 20:03:12 | <Cheery> | ok. My approach was borked. |
| 20:03:43 | × | knupfer quits (~Thunderbi@200116b82c0fb10034b9f47ce3eda41d.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 20:05:50 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:06:14 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:07:09 | → | iqubic joins (~user@2601:602:9500:4870:a732:8bdd:eaee:5c26) |
| 20:07:12 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 20:07:39 | × | systemhalted quits (~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Ping timeout: 265 seconds) |
| 20:08:00 | hackage | ukrainian-phonetics-basic 0.1.11.0 - A library to work with the basic Ukrainian phonetics and syllable segmentation. https://hackage.haskell.org/package/ukrainian-phonetics-basic-0.1.11.0 (OleksandrZhabenko) |
| 20:10:53 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 20:12:12 | → | Lord_of_Life joins (~Lord@46.217.217.128) |
| 20:12:12 | × | Lord_of_Life quits (~Lord@46.217.217.128) (Changing host) |
| 20:12:12 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 20:12:24 | × | hiroaki quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 20:14:25 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:14:55 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:14:58 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 20:15:01 | → | hiroaki joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
| 20:15:57 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 20:16:49 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 20:16:50 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 20:18:55 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:19:08 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 272 seconds) |
| 20:19:18 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:20:19 | × | irc_user quits (uid423822@gateway/web/irccloud.com/x-epbzivxsuvgflifa) (Quit: Connection closed for inactivity) |
| 20:20:26 | → | Ariakenom_ joins (~Ariakenom@h-82-196-111-76.NA.cust.bahnhof.se) |
| 20:21:41 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds) |
| 20:22:09 | × | hiroaki quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
| 20:22:43 | × | Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
| 20:23:57 | × | Ariakenom quits (~Ariakenom@h-82-196-111-76.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
| 20:24:00 | hackage | phonetic-languages-properties 0.1.2.0 - A generalization of the uniqueness-periods-vector-properties package. https://hackage.haskell.org/package/phonetic-languages-properties-0.1.2.0 (OleksandrZhabenko) |
| 20:24:03 | → | hiroaki joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
| 20:24:35 | <dminuoso> | merijn: cant we just get rid of hpack once and for all? :< |
| 20:24:48 | → | alp joins (~alp@2a01:e0a:58b:4920:45f3:99a0:fb7b:f79f) |
| 20:24:48 | × | averell quits (~averell@unaffiliated/averell) (Quit: .) |
| 20:26:45 | <merijn> | I wish |
| 20:27:33 | <Cheery> | if it can't decide (Foo k0) yet I intended it to be Foo (F x) |
| 20:27:45 | <Cheery> | is there a way I can give it that thing? |
| 20:27:59 | <Cheery> | Foo being a constraint there |
| 20:28:34 | <Cheery> | say.. foo :: (Foo k x) => x |
| 20:28:55 | → | o1lo01ol1o joins (~o1lo01ol1@46.50.92.11) |
| 20:29:46 | × | hiroaki quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
| 20:31:00 | → | averell joins (~averell@unaffiliated/averell) |
| 20:33:36 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:34:03 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:34:44 | × | mirrorb2rd quits (psutcliffe@gateway/vpn/mullvad/psutcliffe) (Ping timeout: 256 seconds) |
| 20:36:59 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:37:13 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:37:57 | × | dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9) |
| 20:40:07 | × | u0_a298 quits (~user@47.206.148.226) (Remote host closed the connection) |
| 20:40:33 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:42:40 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:43:03 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:43:25 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 20:43:46 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 20:44:59 | × | alp quits (~alp@2a01:e0a:58b:4920:45f3:99a0:fb7b:f79f) (Ping timeout: 272 seconds) |
| 20:45:14 | → | hiroaki joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
| 20:45:30 | hackage | phonetic-languages-examples 0.1.2.0 - A generalization of the uniqueness-periods-vector-examples functionality. https://hackage.haskell.org/package/phonetic-languages-examples-0.1.2.0 (OleksandrZhabenko) |
| 20:47:09 | → | DavidEichmann joins (~david@43.240.198.146.dyn.plus.net) |
| 20:48:49 | <nut> | Do people need to perform charset conversion in Haskell? Something similar to g_convert from glib? |
| 20:51:10 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 20:51:11 | × | o1lo01ol1o quits (~o1lo01ol1@46.50.92.11) (Remote host closed the connection) |
| 20:51:11 | × | mupf quits (~micha@v22017094964653601.ultrasrv.de) (Quit: WeeChat 2.9) |
| 20:51:38 | → | u0_a298 joins (~user@47.206.148.226) |
| 20:52:02 | → | mupf joins (~micha@v22017094964653601.ultrasrv.de) |
| 20:52:03 | <geekosaur> | generally we go from or to unicode, so we use the text-icu ibrary |
| 20:52:32 | <Cheery> | oh no :D I did it and it's horrible |
| 20:53:13 | ← | iqubic parts (~user@2601:602:9500:4870:a732:8bdd:eaee:5c26) ("ERC (IRC client for Emacs 28.0.50)") |
| 20:53:22 | × | supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Ping timeout: 260 seconds) |
| 20:53:37 | → | alp joins (~alp@2a01:e0a:58b:4920:7cc6:32d7:a280:df74) |
| 20:53:57 | × | twopoint718 quits (~cjw@fsf/member/twopoint718) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:55:18 | → | justsomeguy joins (~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b) |
| 20:55:18 | × | justsomeguy quits (~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b) (Changing host) |
| 20:55:18 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 20:56:22 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 20:57:31 | hackage | libarchive 3.0.1.1 - Haskell interface to libarchive https://hackage.haskell.org/package/libarchive-3.0.1.1 (vmchale) |
| 20:58:06 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 20:59:41 | → | twopoint718 joins (~cjw@fsf/member/twopoint718) |
| 21:00:01 | × | jdsharp quits (~jdsharp@185.204.1.185) () |
| 21:00:49 | × | Collateral quits (~Collatera@4e69b241.skybroadband.com) (Ping timeout: 265 seconds) |
| 21:02:29 | × | avdb quits (~avdb@ip-62-235-189-16.dsl.scarlet.be) (Ping timeout: 256 seconds) |
| 21:02:45 | <nut> | When I run ghci, why do I need to add -package somepackage in order to be able to load it? |
| 21:03:02 | × | xff0x quits (~fox@2001:1a81:526d:d800:33bd:cfa:492c:ea35) (Ping timeout: 264 seconds) |
| 21:03:04 | <nut> | I just installed text-icu with cabal install text-icu |
| 21:03:30 | → | xff0x joins (~fox@2001:1a81:526d:d800:e0c1:ba75:a0ef:2a5b) |
| 21:03:35 | <nut> | and if I run ghci, and import Data.Text.ICU, it says hidden package |
| 21:04:20 | <nut> | Is it because when I cabal install, i didn't use --lib flag? |
| 21:04:22 | <geekosaur> | with new-style install it's stored in an environment, not just generally available, because that makes messes when multiple versions of packages are around |
| 21:04:28 | → | Collateral joins (~Collatera@4e69b241.skybroadband.com) |
| 21:04:38 | <nut> | ok |
| 21:04:43 | <geekosaur> | --lib would make it generally available and then get you in trouble if you install a different version with --lib later |
| 21:05:15 | <nut> | Ok so generally speaking, --lib is not recommended |
| 21:05:30 | <geekosaur> | in general you want to work in terms of a specific package or environment so cabal can keep straight what versions of what libraries should be visible |
| 21:05:31 | <nut> | cabal keeps warning me about it |
| 21:06:28 | <solonarv> | if you want a ghci with a specific package (or set thereof) you can run 'cabal repl -b text-icu' |
| 21:07:04 | <nut> | solonarv: even if i'm not in any cabal package? |
| 21:07:22 | <nut> | solonarv: I often use ghci outside of any package |
| 21:08:03 | <nut> | Is there any sanity checks for cabal to see if i've messed up the environment? |
| 21:08:37 | <Uniaika> | nut: yep it seems to run well outside of a cabal project |
| 21:09:27 | <geekosaur> | cabal itself will sanity check if you use cabal repl instead of ghci directly. there's little that can be done if you go around cabal though |
| 21:09:34 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 21:12:44 | <geekosaur> | ghc will grab anything it thinks it can and possibly confuse itself in the process, which is why we have tools like cabal and stack that each try to keep ghc in check in different ways |
| 21:12:45 | × | Kaivo quits (~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) (Ping timeout: 240 seconds) |
| 21:13:01 | → | Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
| 21:14:04 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 258 seconds) |
| 21:15:00 | × | ggole quits (~ggole@2001:8003:8119:7200:657b:f270:233e:7a88) (Quit: Leaving) |
| 21:15:32 | → | Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com) |
| 21:20:37 | × | darjeeling_ quits (~darjeelin@115.215.43.51) (Ping timeout: 256 seconds) |
| 21:21:04 | → | darjeeling_ joins (~darjeelin@115.215.43.51) |
| 21:22:19 | × | u0_a298 quits (~user@47.206.148.226) (Ping timeout: 256 seconds) |
| 21:26:28 | <nut> | i see. so better use cabal repl |
| 21:27:59 | → | StoneToad joins (~StoneToad@199-167-119-174.ppp.storm.ca) |
| 21:31:07 | ← | Entertainment parts (~entertain@104.246.132.210) () |
| 21:31:10 | × | StoneToad_ quits (~StoneToad@199-167-119-149.ppp.storm.ca) (Ping timeout: 256 seconds) |
| 21:35:22 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 21:35:50 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 21:36:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 21:40:13 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 21:41:34 | × | chaosmasttter quits (~chaosmast@p200300c4a70b9f013c660c983e9b467a.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
| 21:41:54 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 21:43:53 | × | borne quits (~fritjof@200116b864a45200fbd62cc7430251a2.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
| 21:44:03 | → | conal joins (~conal@198.8.81.71) |
| 21:45:58 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 21:47:15 | → | borne joins (~fritjof@200116b864a45200fbd62cc7430251a2.dip.versatel-1u1.de) |
| 21:52:22 | → | feedoo1 joins (~feedoo@178.239.168.171) |
| 21:53:29 | → | knupfer joins (~Thunderbi@mue-88-130-61-134.dsl.tropolys.de) |
| 21:57:49 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 264 seconds) |
| 21:58:03 | <cohn> | how do you destructure a list containing a type? |
| 21:58:40 | <cohn> | so e.g. a list like: [(Foo Int String), (Foo Int String)] |
| 21:58:55 | → | joaj joins (~joaj@2001:818:e326:8200:5273:55b7:3a86:e6ca) |
| 21:59:07 | <cohn> | where foo is defined like: data Foo = Foo Int String |
| 22:03:47 | × | kritzefitz_ quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 22:05:26 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 22:07:31 | <ski> | cohn : match on the data constructor |
| 22:07:32 | → | conal joins (~conal@198.8.81.71) |
| 22:07:59 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:08:16 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-115-234.w86-198.abo.wanadoo.fr) |
| 22:08:38 | × | inkbottle quits (~inkbottle@aaubervilliers-654-1-110-84.w86-212.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 22:08:49 | <ski> | cohn : is the list of known length ? |
| 22:08:57 | <cohn> | no |
| 22:09:12 | <ski> | so, you're doing recursion, walking the list ? |
| 22:10:20 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:10:44 | <cohn> | yes |
| 22:11:00 | <cohn> | I solved it using 2 functions but I have to imagine it could be simplified |
| 22:11:09 | <ski> | so, if you had something like `data Foo = MkFoo Int String', then you'd probably go something like |
| 22:11:21 | <ski> | processFoos :: [Foo] -> ... |
| 22:11:39 | <ski> | processFoos [ ] = ... |
| 22:11:42 | → | o1lo01ol1o joins (~o1lo01ol1@46.50.92.11) |
| 22:12:00 | <ski> | processFoos (MkFoo n s:foos) = ..n..s..(processFoos foos).. |
| 22:12:18 | <ski> | (`Foo' here is the type (constructor), `MkFoo' is the data constructor) |
| 22:12:49 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 22:13:10 | <ski> | but yea, depending on what you're doing to the `Foo's in the list, there may be a simpler ior clearer way to do it |
| 22:13:34 | <cohn> | I tried something similar to that pattern matching but got errors. |
| 22:13:41 | <ski> | type errors ? |
| 22:13:42 | <cohn> | I'll keep trying. Thanks ski! |
| 22:14:00 | <ski> | any code you'd like to show ? |
| 22:14:01 | <cohn> | actually no, it was a parsing error. |
| 22:14:20 | <cohn> | I've already overwritten it. : ( |
| 22:14:23 | <ski> | okay |
| 22:14:25 | <cohn> | I can try to recreate it |
| 22:14:27 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
| 22:15:02 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 264 seconds) |
| 22:15:19 | <ski> | if you want to, i could take a look at your two functions. and the other version too, if you feel like trying to revive it |
| 22:15:56 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds) |
| 22:16:08 | × | fendor quits (~fendor@77.119.129.239.wireless.dyn.drei.com) (Remote host closed the connection) |
| 22:17:50 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:18:01 | <cohn> | ski: oh!!! I see exactly what you did above. The pattern (MkFoo n s:foos) matches the head of the list, then assigns the tail to "foos" |
| 22:18:01 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 22:18:08 | <cohn> | man, I didn't know you could do that |
| 22:19:42 | <cohn> | ok, that worked perfectly. Thanks so much! |
| 22:20:43 | <cohn> | that makes me question a lot of other code I wrote that I could probably simplify... lol |
| 22:21:40 | × | o1lo01ol1o quits (~o1lo01ol1@46.50.92.11) (Remote host closed the connection) |
| 22:22:22 | <ski> | cohn : not "assigns", but "binds". but, yes. you can nest patterns inside each other |
| 22:22:28 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 246 seconds) |
| 22:22:53 | → | _deepfire joins (~user@80.92.100.69) |
| 22:23:08 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 22:23:10 | <cohn> | wow, that's *really* powerful. |
| 22:23:17 | <cohn> | not sure why I never saw that before |
| 22:23:18 | <ski> | (assignment usually implies overwriting the current value in a location with some (possibly) different value. there is no overwriting here) |
| 22:23:23 | cohn | shrugs |
| 22:23:43 | <ski> | if you had had `data Foo = SimpleFoo String | ComplexFoo Int String', then you could have done |
| 22:23:52 | <ski> | processFoos :: [Foo] -> ... |
| 22:24:12 | <ski> | processFoos [ ] = ... |
| 22:24:39 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 22:24:52 | <ski> | processFoos (SimpleFoo s:foos) = ..s..(processFoos foos).. |
| 22:24:53 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 22:25:03 | <ski> | processFoos (ComplexFoo n s:foos) = ..n..s..(processFoos foos).. |
| 22:25:28 | <ski> | so, two non-empty list cases, depending on whether the current/first element is simple or complex |
| 22:25:48 | <cohn> | ya, that makes sense. really cool stuff |
| 22:25:49 | × | ddellaco1 quits (dd@gateway/vpn/mullvad/ddellacosta) (Read error: Connection reset by peer) |
| 22:26:37 | <ski> | this is the kind of thing that makes pattern-matching a breeze to work with, as contrasted with a gnarly maze of nested `if'-`then'-`else's (and possibly also `let'-`in's) |
| 22:26:47 | <cohn> | exactly! |
| 22:26:58 | <cohn> | ditto for the `case` statement |
| 22:27:06 | → | jedws joins (~jedws@101.184.150.81) |
| 22:27:11 | <ski> | yea, but you can also nest patterns with `case' |
| 22:27:12 | → | o1lo01ol1o joins (~o1lo01ol1@46.50.92.11) |
| 22:27:24 | <ski> | processFoos foos0 = case foos0 of |
| 22:27:32 | <ski> | [ ] -> ... |
| 22:27:45 | <ski> | SimpleFoo s : foos -> ..s..(processFoos foos).. |
| 22:27:47 | → | pfurla joins (~pfurla@129.15.195.173.client.static.strong-in52.as13926.net) |
| 22:27:54 | <ski> | ComplexFoo n s : foos -> ..n..s..(processFoos foos).. |
| 22:28:00 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:28:25 | <cohn> | that does come in handy |
| 22:28:41 | <ski> | (and that `case' could be nested inside some other expression, if you wanted to. and you could have some other expression (other scrutinee) between the `case' and the `of', than just the direct formal parameter `foos0') |
| 22:29:25 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 22:29:27 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 22:30:00 | <cohn> | oh nice! that's good to know |
| 22:30:27 | <cohn> | fwiw, I'm coming from a Python world so having to get used to types plus FP patterns like this. |
| 22:30:40 | <cohn> | sorry if I sometimes ask dumb/obvious questions. |
| 22:30:42 | <cohn> | :D |
| 22:31:13 | <ski> | algebraic data types (also called sum types, variant types, discriminated/disjoint union types, variant record types), with pattern-matching, are really great |
| 22:31:23 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 22:31:24 | <ski> | no worry :) |
| 22:32:37 | <ski> | it's too bad that only few languages supports them. imho, you really need both them, and record types (aka product types, object types, "class types"). sometimes one is more appropriate, sometimes the other. it depends on what you're doing |
| 22:32:59 | <ski> | (in a formal sense, they are "duals" of each other. "opposites" in a sense) |
| 22:33:02 | <cohn> | ya |
| 22:33:18 | <cohn> | duals... man that brings back memories of linear programming |
| 22:33:24 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds) |
| 22:33:34 | <cohn> | or maybe nightmares... ; ) |
| 22:33:39 | <ski> | (but i've heard rumors that more languages will be gaining them. e.g. C#, and hopefully more) |
| 22:33:57 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 22:34:37 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:2d48:c414:1e60:fe62) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:34:38 | <ski> | heh, okay :) |
| 22:36:38 | <ski> | (unfortunately, it's common in OO (which is all about record/product/object types), to claim that `switch' is bad. (pattern-matching can be viewed as `switch' on steroids.) it's not bad, it's just that sometimes product types are more appropriate. and sometimes, sum types are more appropriate) |
| 22:36:51 | → | rprije joins (~rprije@124.148.131.132) |
| 22:37:43 | → | conal joins (~conal@198.8.81.71) |
| 22:37:47 | <cohn> | agreed. |
| 22:38:12 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:38:29 | × | o1lo01ol1o quits (~o1lo01ol1@46.50.92.11) (Remote host closed the connection) |
| 22:38:46 | × | dbmikus__ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Read error: Connection reset by peer) |
| 22:38:50 | × | knupfer quits (~Thunderbi@mue-88-130-61-134.dsl.tropolys.de) (Ping timeout: 260 seconds) |
| 22:38:55 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer) |
| 22:39:04 | <ski> | (.. and then, when you really need sum types in OO languages, you're often left with only clumsy ways of simulating them. like either using `switch' with downcasts, or `if'-`else's with downcasts. or (more blessed), the VisitorPattern (which is basically a Continuation-Passing / Church Style encoding of sum types)) |
| 22:39:22 | → | dbmikus__ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 22:40:12 | <ski> | let's say you want to have some type. and you want to be able to construct values of this type, of some number of different alternative forms. and you also want to be able to query values of this type for "properties" |
| 22:41:08 | <ski> | if the alternatives that you want to support are relatively fixed, but the properties are likely to be modified, or get extended with new ones, then you probably want sum types |
| 22:41:44 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 22:41:45 | <ski> | if the properties are relatively fixed, but the alternatives you want to support are likely to be modified, or extended, then you probably want product types |
| 22:42:31 | <ski> | for each alternative, you need to implement the property (the "method") on that alternative. so, you can draw a table, where the rows are different alternatives, and the columns are different properties |
| 22:42:45 | × | borne quits (~fritjof@200116b864a45200fbd62cc7430251a2.dip.versatel-1u1.de) (Quit: WeeChat 2.9) |
| 22:42:55 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:43:15 | <ski> | and each cell contains the implementation of the property of that column, for the alternative that is the row |
| 22:44:31 | <ski> | then, if you slice this table into rows, you're grouping all the property implementations, for a single alternative, together. this is the product type road. such an alternative is called a "class", in the OO world, and the properties are called "methods" (or "member functions" or perhaps some other term as well) |
| 22:45:58 | <ski> | so, to add another alternative, you just define a new class, defining all the methods/properties for it. but, to add a new property, you need to add a method to all the existing alternatives/classes (all the classes/alternatives implement the same interface. or maybe they inherit from a common base class, which is likely often abstract) |
| 22:46:40 | <ski> | so, adding a new property is harder, more error-prone, since you need to modify existing code, and possibly take into account interactions with that code |
| 22:47:28 | <ski> | on the other hand .. if you instead slice the table into separate columns, then each column is the implementation of a single property, for all the different alternatives. this is called a "pattern-matching function" |
| 22:47:31 | <cohn> | gonna take me a minute to digest all of that... :D |
| 22:48:10 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 22:48:15 | <ski> | now, adding a new property is simple, you just add a new pattern-matching function, handling all the data constructors (the alternatives) in separate defining equations of the function |
| 22:48:57 | <ski> | however, adding (or modifying) a new alternative is more involved, since now you need to go and change all existing pattern-matching functions that takes an input of data type |
| 22:49:24 | <ski> | so .. it is a trade-off. neither is fundamentally better than the other. it depends on what you expect |
| 22:49:52 | <ski> | also, then there's issues like recursion in your type that complicates this picture. but the above is the basic summary of the difference |
| 22:51:33 | <ski> | cohn : as an example : define a type `Shape', meant to describe a simple geometric shape. and say you want to support rectangles (with width,height) and circles (with radius) as possible alternatives. as properties, you want to support circumference and area |
| 22:51:38 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 264 seconds) |
| 22:51:55 | <cohn> | right |
| 22:52:55 | × | pfurla quits (~pfurla@129.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 246 seconds) |
| 22:52:56 | <ski> | exercise for you : define `Shape' as a product/record type, with circumference and area as fields/methods. and define functions ("constructors"/"classes" in OO terminology) `rectangle' and `circle', taking width & height, respectively radius, and giving you back a `Shape' |
| 22:53:13 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:53:33 | <cohn> | ok |
| 22:54:33 | <ski> | then, define `Shape' again, but this time as a sum/variant type (algebraic data type), having `Rectangle' (with width & height arguments/components) and `Circle' (with radius component) as alternatives (data constructors), and then define the properties `circumference' and `area' as pattern-matching functions on `Shape' |
| 22:54:53 | <cohn> | afk for a sec. |
| 22:55:10 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 22:55:32 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 22:56:34 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 22:57:49 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
| 22:57:49 | × | codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Ping timeout: 246 seconds) |
| 22:58:40 | <ski> | the observe how the four implementations of circumference/area for rectangle/circle are distributed differently in these two different implementations. then you could try maybe adding a new alternative, maybe triangle (say you give the three side lengths. use Heron's formula for area), as well as adding a new property. hm, maybe the radius of the largest circle you could inscribe inside it (or of the |
| 22:58:46 | <ski> | smallest circle you could circumscribe around it). you'd have to think a little about how to do it for the triangle, i guess |
| 22:59:33 | → | codygman joins (~codygman@2600:380:f952:a05a:195d:2af8:616e:ca86) |
| 23:00:15 | <ski> | anyway, this is just a suggestion. you don't have to do it, if it sounds too involved. perhaps you can think of some other interesting alternative or property. one cool property would be a method to actually render the shape on some graphical canvas or something. but then you'd have to dive into some graphical library |
| 23:00:21 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds) |
| 23:00:37 | × | jff quits (~Thunderbi@a109-49-149-2.cpe.netcabo.pt) (Quit: jff) |
| 23:00:49 | → | jff joins (~Thunderbi@a109-49-149-2.cpe.netcabo.pt) |
| 23:04:08 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 23:04:18 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:2d48:c414:1e60:fe62) |
| 23:04:45 | × | jff quits (~Thunderbi@a109-49-149-2.cpe.netcabo.pt) (Ping timeout: 240 seconds) |
| 23:05:17 | <ski> | btw, the trade-off i expressed, between product/record types, and sum/variant types, is quite similar to the notion of shallow vs. deep embedding of an embedded domain-specific language (EDSL) |
| 23:05:24 | <ski> | @wiki Embedded domain specific language |
| 23:05:24 | <lambdabot> | https://wiki.haskell.org/Embedded_domain_specific_language |
| 23:07:21 | → | Tario joins (~Tario@201.192.165.173) |
| 23:10:20 | <ski> | (however, often the "shallow" embedding is just expressed as implementing the type of your EDSL expressions as the "main interpretation". for a parser, this might be a function of type `String -> Maybe (a,String)' (where `a' is the parse result of the parser). however, sometimes one also want to compute other "properties" or "alternative interpretations", which would then be other |
| 23:10:26 | <ski> | fields/methods/slots/components, alongside the main one, in a product/record type. e.g., for a parser, you might want (for optimization purposes) a (`nullable') `Bool' to express whether a parser can succeed, while consuming no input, and a (`first') `[Char]', to express what the initial character could possibly be, if the parser is to have any chance of succeeding) |
| 23:11:35 | × | conal quits (~conal@198.8.81.71) (Quit: Computer has gone to sleep.) |
| 23:11:44 | × | Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
| 23:11:57 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 23:13:28 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 23:14:30 | hackage | sexp-grammar 2.3.0 - Invertible grammar combinators for S-expressions https://hackage.haskell.org/package/sexp-grammar-2.3.0 (EugeneSmolanka) |
| 23:16:30 | hackage | persistent-documentation 0.1.0.2 - Documentation DSL for persistent entities https://hackage.haskell.org/package/persistent-documentation-0.1.0.2 (parsonsmatt) |
| 23:16:38 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 23:18:50 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 23:21:12 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 23:24:14 | → | conal joins (~conal@198.8.81.71) |
| 23:25:22 | → | jakob_ joins (~textual@p200300f49f162200ecd950d27480ddce.dip0.t-ipconnect.de) |
| 23:28:07 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
| 23:28:35 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 23:32:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:32:51 | <cohn> | ski: ok, product type implementation: https://dpaste.org/M7vG |
| 23:33:14 | <cohn> | working on the sum type. |
| 23:34:26 | <ski> | > pi |
| 23:34:28 | <lambdabot> | 3.141592653589793 |
| 23:35:07 | <ski> | (seems to me the rectangular circumference, and the circular area, isn't quite right) |
| 23:35:17 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 23:35:19 | × | twopoint718 quits (~cjw@fsf/member/twopoint718) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:36:22 | → | falafel joins (~falafel@2601:247:c400:1390:7811:313f:d0f3:f9f4) |
| 23:36:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 23:37:17 | <cohn> | yep, easy fix |
| 23:38:04 | <ski> | btw, note that `rectangle' is corresponding to an OO class (it contains the implementations of the methods `circumference' and `area'), and also corresponds to its class constructor (it takes the parameters `width',`height', which acts like (private) instance variables) |
| 23:38:22 | <ski> | (and similarly for `circle' with its `radius' parameter) |
| 23:40:32 | → | whatisRT joins (~whatisRT@2002:5b41:6a33:0:dea6:32ff:fe5b:d45f) |
| 23:40:38 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 23:41:07 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:2d48:c414:1e60:fe62) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:41:09 | <ski> | (and if you think you want mutable state in your objects, it's quite easy to have the "class constructor" (the function producing your object) to allocate some mutable cell(s), with `IO', and have some methods (with `IO Something' as return type) read from and write into it -- at least once you're a bit familiar with how `IO' works, and can figure out how to use `IORef' (or `IOArray', if you prefer)) |
| 23:43:08 | <ski> | i think it's good to explicitly point out how one can "do OO", at least to some extent, in Haskell. of course, if you want implementation inheritance, possibly even with open recursion, then it'll be a little bit more involved (but quite possible) to get that. but simple OO coding, like this, is not that hard |
| 23:43:19 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 23:43:43 | <cohn> | fixed: https://dpaste.org/cSsn |
| 23:43:47 | → | da39a3ee5e6b4b0d joins (~textual@cm-171-98-70-75.revip7.asianet.co.th) |
| 23:44:05 | × | dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 240 seconds) |
| 23:44:06 | <ski> | that looks fine :) |
| 23:44:33 | <cohn> | yea, I've briefly messed with UArray and STUArray |
| 23:44:34 | <ski> | (fwiw, i think most of your round brackets are redundant) |
| 23:44:39 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 23:44:41 | ski | nods |
| 23:44:56 | <cohn> | probably are but OCD is what it is. heh |
| 23:45:40 | <ski> | (the only ones that aren't are the ones around `width+height') |
| 23:45:45 | <cohn> | ya |
| 23:45:57 | <ski> | any luck on the sum type version ? |
| 23:46:10 | <cohn> | working on it now. |
| 23:46:10 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 23:46:17 | <ski> | take your time |
| 23:50:38 | <ski> | (btw, perhaps it's obvious, but if you wanted a method to take any additional parameters, you'd simply stuff a function into the corresponding field in the record) |
| 23:51:32 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 23:52:04 | × | mdunnio quits (~mdunnio@208.59.170.5) (Remote host closed the connection) |
| 23:52:11 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 23:54:16 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 23:54:18 | <cohn> | ok, sum type version: https://dpaste.org/5Fvz |
| 23:54:31 | <cohn> | brb. |
| 23:54:32 | → | lawr3nce joins (~lawr3nce@gateway/tor-sasl/lawr3nce) |
| 23:55:02 | <cohn> | I added the `2` suffix since both types are defined in the same file. |
| 23:56:20 | <ski> | yea, i figured |
| 23:56:27 | <ski> | looks great ! :) |
| 23:57:18 | × | dxld quits (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) (Quit: Bye) |
| 23:57:39 | <ski> | now note how the "table" of the four alternative-property implementations ({circumference,area} * {circle,rectangle}) are distributed differently, in these two implementations |
| 23:57:54 | → | argent0 joins (~argent0@168.227.98.85) |
| 23:58:48 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 23:58:51 | <ski> | with the "alternative rows" `rectangle' and `circle' in the product (OO) version, and the "property columns" `circumference' and `area' in the sum ("FP") version |
| 23:59:17 | <ski> | (and if you feel like it, you could try adding some new alternative, ior some new property) |
| 23:59:24 | × | CodeAlways quits (uid272474@gateway/web/irccloud.com/x-urtbqxrwhpvhyukz) (Quit: Connection closed for inactivity) |
| 23:59:30 | → | dxld joins (~dxld@80-109-136-248.cable.dynamic.surfer.at) |
| 23:59:55 | <ski> | but, anyway, hopefully this small exercise gives you at least a somewhat better feel and understanding for the difference, the trade-off, i was mentioning above |
All times are in UTC on 2020-11-06.