| 2021-07-08 00:08:45 +0000 | <Axman6> | Do we actually have a good resource for starting a new haskell project? I was asking the other day about something for scaffolding options, without particularly satisfying answers |
| 2021-07-08 00:09:21 +0000 | vish | (~igloo@24.130.32.174) |
| 2021-07-08 00:09:24 +0000 | <Axman6> | stack new isn't terrible, but the docs say it's been labled as up for replacement for a long time, and I'm preferring cabal these days |
| 2021-07-08 00:10:07 +0000 | <monochrom> | The cabal user guide may have a section on this. I haven't checked. |
| 2021-07-08 00:10:31 +0000 | <geekosaur> | cabal init creates very barebones projects |
| 2021-07-08 00:10:40 +0000 | <monochrom> | A lot of bloggers would have very opinionated ones. I avoid knowing them. |
| 2021-07-08 00:10:54 +0000 | vish | (~igloo@24.130.32.174) (Remote host closed the connection) |
| 2021-07-08 00:12:36 +0000 | <monochrom> | Some haskell books have a short chapter for this too. |
| 2021-07-08 00:14:41 +0000 | <monochrom> | Me, I learned by taking a look at the cabal user guide (and a much older, terser, more incomplete edition at that), and taking a look at some package sources. |
| 2021-07-08 00:15:43 +0000 | <monochrom> | and playing a bit with cabal init (now cabal init -i and answering "I want to answer a lot of questions") |
| 2021-07-08 00:15:53 +0000 | <AWizzArd> | Servant: type API = "foo" :> QueryParam "bar" String :> Get '[JSON] Baz |
| 2021-07-08 00:16:03 +0000 | <AWizzArd> | How can I explain that "bar" is required? |
| 2021-07-08 00:16:28 +0000 | <AWizzArd> | Can I do QueryParam' [Required] "bar" or something like that? |
| 2021-07-08 00:16:41 +0000 | <monochrom> | BTW I am still baffled that after I have taken the trouble to say "-i" they feel like making me repeat myself. |
| 2021-07-08 00:18:23 +0000 | <monochrom> | Every type parameter is required, at least as long as you want to end up with the desired kind. What is there to explain? The String there is also required. The Baz there is also required. |
| 2021-07-08 00:18:32 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 00:19:29 +0000 | <AWizzArd> | monochrom: what I mean is: my handler would get a Maybe String but I want it without the Maybe. |
| 2021-07-08 00:19:48 +0000 | <AWizzArd> | If the user does not supply the query parameter then my handler wouldn’t get called at all. |
| 2021-07-08 00:20:33 +0000 | trufas | (~trufas@177.240.218.218) (Ping timeout: 265 seconds) |
| 2021-07-08 00:20:46 +0000 | trufas | (~trufas@177.240.218.218) |
| 2021-07-08 00:21:08 +0000 | <AWizzArd> | type QueryParam = QueryParam' '[Optional, Strict] |
| 2021-07-08 00:21:24 +0000 | Atum__ | (~IRC@user/atum/x-2392232) (Quit: Atum__) |
| 2021-07-08 00:22:47 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 252 seconds) |
| 2021-07-08 00:24:34 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 00:26:12 +0000 | Deide | (~Deide@user/deide) (Quit: Seeee yaaaa) |
| 2021-07-08 00:28:11 +0000 | mud | (~mud@user/kadoban) |
| 2021-07-08 00:28:58 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2021-07-08 00:31:49 +0000 | andreabedini | (~andreabed@8s8kj6nms09jvtyb2xjc.ip6.superloop.com) |
| 2021-07-08 00:31:53 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 00:33:14 +0000 | derelict | (~derelict@user/derelict) (Ping timeout: 252 seconds) |
| 2021-07-08 00:34:28 +0000 | <Axman6> | you can replace Optional with Required right? |
| 2021-07-08 00:34:54 +0000 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
| 2021-07-08 00:36:00 +0000 | spruit11 | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) (Ping timeout: 252 seconds) |
| 2021-07-08 00:36:11 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-08 00:36:33 +0000 | spruit11 | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) |
| 2021-07-08 00:38:40 +0000 | spruit11_ | (~quassel@86-82-44-193.fixed.kpn.net) |
| 2021-07-08 00:39:47 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 00:41:03 +0000 | spruit11 | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) (Ping timeout: 252 seconds) |
| 2021-07-08 00:41:42 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-08 00:44:58 +0000 | derelict | (~derelict@user/derelict) |
| 2021-07-08 00:45:48 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 00:48:39 +0000 | haykam1 | (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
| 2021-07-08 00:48:42 +0000 | haykam2 | (~haykam@static.100.2.21.65.clients.your-server.de) |
| 2021-07-08 00:54:35 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 2021-07-08 00:58:18 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-08 01:04:42 +0000 | mud | (~mud@user/kadoban) (Ping timeout: 252 seconds) |
| 2021-07-08 01:06:37 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-07-08 01:07:49 +0000 | <AWizzArd> | Axman6: yeah |
| 2021-07-08 01:08:07 +0000 | <AWizzArd> | Axman6: But do you know hat the difference between Strict and Required is? |
| 2021-07-08 01:08:20 +0000 | <AWizzArd> | And how can a parameter be optional but strict at the same time? |
| 2021-07-08 01:09:00 +0000 | <AWizzArd> | Axman6: we can do this for example: QueryParam' '[Required] "bar" Text |
| 2021-07-08 01:10:18 +0000 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:ec10:cbf7:f7cc:3882) |
| 2021-07-08 01:12:22 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 2021-07-08 01:15:03 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-08 01:16:57 +0000 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 258 seconds) |
| 2021-07-08 01:17:09 +0000 | <qrpnxz> | i saw a pretty cool talk about lifting types into kinds, is it possible to list, say, Int into a kind right now? |
| 2021-07-08 01:17:59 +0000 | mud | (~mud@user/kadoban) |
| 2021-07-08 01:18:28 +0000 | <geekosaur> | DataKinds extension |
| 2021-07-08 01:18:44 +0000 | <geekosaur> | Int might cause confusion with type-level naturals though |
| 2021-07-08 01:19:30 +0000 | <geekosaur> | although I guess you could use a tick to distinguish '1 :: 'Int from 1 the typenat |
| 2021-07-08 01:21:02 +0000 | <qrpnxz> | nice |
| 2021-07-08 01:21:02 +0000 | <qrpnxz> | the talk was using like peano numbers which was cool but totally impractical. If you can just use real numbers that super nice |
| 2021-07-08 01:21:58 +0000 | <c_wraith> | unfortunately, Nat is all there is for numbers at the type level now |
| 2021-07-08 01:23:41 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
| 2021-07-08 01:26:08 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
| 2021-07-08 01:35:23 +0000 | xff0x | (~xff0x@2001:1a81:539d:3600:dd23:6975:e62a:a95) (Ping timeout: 252 seconds) |
| 2021-07-08 01:37:08 +0000 | xff0x | (~xff0x@2001:1a81:53dc:b800:8c77:48f3:1e3:3060) |
| 2021-07-08 01:37:53 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 01:41:08 +0000 | notzmv | (~zmv@user/notzmv) |
| 2021-07-08 01:43:42 +0000 | neurocyte404 | (~neurocyte@45.93.108.182) |
| 2021-07-08 01:43:42 +0000 | neurocyte404 | (~neurocyte@45.93.108.182) (Changing host) |
| 2021-07-08 01:43:42 +0000 | neurocyte404 | (~neurocyte@user/neurocyte) |
| 2021-07-08 01:45:31 +0000 | tlaxkit | (~hexchat@170.253.37.3) |
| 2021-07-08 01:46:21 +0000 | <Axman6> | just implement Rational using Nat and then you've got pretty much everything you could need... >_> |
| 2021-07-08 01:47:36 +0000 | neurocyte40 | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 2021-07-08 01:47:36 +0000 | neurocyte404 | neurocyte40 |
| 2021-07-08 01:48:09 +0000 | mud | (~mud@user/kadoban) (Ping timeout: 252 seconds) |
| 2021-07-08 01:48:44 +0000 | mud | (~mud@user/kadoban) |
| 2021-07-08 01:51:32 +0000 | tlaxkit | (~hexchat@170.253.37.3) (Quit: Leaving) |
| 2021-07-08 01:51:37 +0000 | <Axman6> | I wonder if you could implement fixed point type level numbers too |
| 2021-07-08 01:54:36 +0000 | finsternis | (~X@23.226.237.192) |
| 2021-07-08 01:56:33 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 02:00:40 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 246 seconds) |
| 2021-07-08 02:04:04 +0000 | alx741 | (~alx741@181.196.69.147) (Quit: alx741) |
| 2021-07-08 02:07:19 +0000 | dextaa | (~DV@aftr-37-201-214-197.unity-media.net) (Ping timeout: 246 seconds) |
| 2021-07-08 02:08:05 +0000 | dextaa | (~DV@aftr-37-201-214-197.unity-media.net) |
| 2021-07-08 02:08:52 +0000 | leah2 | (~leah@vuxu.org) (Read error: Connection reset by peer) |
| 2021-07-08 02:11:52 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-07-08 02:12:11 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 02:12:13 +0000 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds) |
| 2021-07-08 02:17:38 +0000 | zebrag | (~chris@user/zebrag) (Remote host closed the connection) |
| 2021-07-08 02:23:25 +0000 | td_ | (~td@94.134.91.101) (Ping timeout: 246 seconds) |
| 2021-07-08 02:23:57 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2021-07-08 02:23:58 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (sodium.libera.chat (Nickname regained by services))) |
| 2021-07-08 02:23:58 +0000 | finn_elija | FinnElija |
| 2021-07-08 02:24:19 +0000 | <lechner> | Hi, i have ByteString confusion. Would somone please explain to me where the 'toStrict' has to go? Thanks! https://paste.debian.net/1203748/ |
| 2021-07-08 02:25:19 +0000 | td_ | (~td@94.134.91.165) |
| 2021-07-08 02:29:05 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-07-08 02:29:44 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-07-08 02:34:34 +0000 | kadobanana | (~mud@user/kadoban) |
| 2021-07-08 02:34:34 +0000 | mud | (~mud@user/kadoban) (Read error: Connection reset by peer) |
| 2021-07-08 02:40:18 +0000 | <oak-> | <AWizzArd "Axman6: But do you know hat the "> Strict only means if the parsing fails, then the servant throws error. The other option is Lenient, then you get Either Text a, and if the parsing fails then you get the Left which contains the error text |
| 2021-07-08 02:44:35 +0000 | eight | (~eight@user/eight) (Ping timeout: 265 seconds) |
| 2021-07-08 02:45:35 +0000 | wei2912 | (~wei2912@112.199.250.21) |
| 2021-07-08 02:48:39 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-08 02:50:01 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 2021-07-08 02:50:25 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-07-08 02:50:28 +0000 | <oak-> | lechner: you have various choices here :) you could also use the unpack from ByteString.Lazy library, then you don't need to convert it to strict ByteString first, or use Data.ByteString.Lazy.Char8.putStrLn to print the lazy bytestring directly |
| 2021-07-08 02:51:07 +0000 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 2021-07-08 02:51:21 +0000 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
| 2021-07-08 02:51:21 +0000 | <oak-> | but strict answer to your question :) GZip.decompress returns Lazy Bytestrings, so you would need to pass the output from GZip.decompress to toStrict function |
| 2021-07-08 02:52:34 +0000 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 2021-07-08 02:55:55 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 2021-07-08 02:56:08 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 02:56:34 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2021-07-08 02:58:20 +0000 | Reyu[M] | (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection) |
| 2021-07-08 02:58:53 +0000 | Reyu[M] | (~reyureyuz@matrix.reyuzenfold.com) |
| 2021-07-08 02:58:53 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 03:02:59 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-08 03:10:03 +0000 | eggplant_ | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-08 03:10:06 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 2021-07-08 03:10:19 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 246 seconds) |
| 2021-07-08 03:16:56 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-08 03:22:18 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
| 2021-07-08 03:28:08 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 2021-07-08 03:28:43 +0000 | cheater | (~Username@user/cheater) |
| 2021-07-08 03:30:30 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-07-08 03:32:00 +0000 | <lechner> | oak-: thanks! |
| 2021-07-08 03:32:06 +0000 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) |
| 2021-07-08 03:37:03 +0000 | notzmv | (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 2021-07-08 03:43:07 +0000 | tubogram | (~tubogram@user/tubogram) |
| 2021-07-08 03:45:45 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 03:46:51 +0000 | <janus> | > maybe (pure Nothing) (pure . Just . (+ 1)) (Just 5) |
| 2021-07-08 03:46:52 +0000 | <lambdabot> | error: |
| 2021-07-08 03:46:52 +0000 | <lambdabot> | • Ambiguous type variable ‘f0’ arising from a use of ‘show_M809825357370... |
| 2021-07-08 03:46:53 +0000 | <lambdabot> | prevents the constraint ‘(Show |
| 2021-07-08 03:47:18 +0000 | <janus> | join <$> traverse (pure . Just . (+ 1)) (Just 5) |
| 2021-07-08 03:47:25 +0000 | <janus> | wither (pure . Just . (+ 1)) (Just 5) |
| 2021-07-08 03:48:08 +0000 | <janus> | which one is clearer? i want to like 'wither' but i feel like it is pretty unknown... |
| 2021-07-08 03:48:53 +0000 | Izem | (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) (Good Bye) |
| 2021-07-08 03:50:26 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 2021-07-08 03:55:36 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-08 03:57:42 +0000 | chase | (~chase@89.45.224.218) |
| 2021-07-08 03:58:04 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 03:58:54 +0000 | <monochrom> | fmap (+ 1) |
| 2021-07-08 04:02:16 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) |
| 2021-07-08 04:05:58 +0000 | <janus> | right, i was thinking i'd get that answer :P but the point is that the composed function can be effectful... in practise it will be doing network IO |
| 2021-07-08 04:06:26 +0000 | dunkeln | (~dunkeln@188.70.10.207) |
| 2021-07-08 04:07:51 +0000 | <janus> | i guess i am really thinking in the abstraction level that 'wither' operates in, but when writing haskell it seems so difficult to decide whether the abstraction level you wanna work with, which is sometimes too powerful, is worth its weight... |
| 2021-07-08 04:08:24 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 252 seconds) |
| 2021-07-08 04:08:29 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 04:10:49 +0000 | <janus> | i just have to accept the fact that there is no one way to do it, and embrace politics :( |
| 2021-07-08 04:12:07 +0000 | arjun | (~Srain@user/arjun) |
| 2021-07-08 04:16:33 +0000 | hexreel | (~hr@69.233.98.238) |
| 2021-07-08 04:19:16 +0000 | oxide | (~lambda@user/oxide) |
| 2021-07-08 04:36:02 +0000 | chase | (~chase@89.45.224.218) (Ping timeout: 272 seconds) |
| 2021-07-08 04:37:26 +0000 | <lechner> | Hi, how can I print the value in line 20 and also save it in a file, please? I'm stuck inside the monad. Thanks! https://paste.debian.net/1203754/ |
| 2021-07-08 04:42:22 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-07-08 04:45:13 +0000 | a6a45081-2b83 | (~aditya@106.214.66.197) |
| 2021-07-08 04:46:26 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 04:50:46 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
| 2021-07-08 04:51:30 +0000 | <oxytocat> | instead of using pointfree style, you can name the result and then use it more than once |
| 2021-07-08 04:51:48 +0000 | <lechner> | with <- ? |
| 2021-07-08 04:51:57 +0000 | <oxytocat> | yeah |
| 2021-07-08 04:52:25 +0000 | <oxytocat> | instead of `receive responder >>=` you can do `msg <- receive responder` |
| 2021-07-08 04:52:33 +0000 | <lechner> | i tried that |
| 2021-07-08 04:52:45 +0000 | <lechner> | how do i use the result, please? |
| 2021-07-08 04:53:44 +0000 | <lechner> | i tried to feed it in with >>= but that did not work |
| 2021-07-08 04:53:44 +0000 | <oxytocat> | the line that starts with `liftIO` is a chain of function composition, `>>=` passes the result from `receive responder` to the other section |
| 2021-07-08 04:54:19 +0000 | <oxytocat> | you can wrap the whole expression in parenthesis and pass `msg` to it, like this: |
| 2021-07-08 04:54:30 +0000 | <oxytocat> | `(liftIO . printf "Received request: [%s]\n" . unpack . GZip.decompress . fromStrict) msg` |
| 2021-07-08 04:54:38 +0000 | <oxytocat> | or alternatively: |
| 2021-07-08 04:54:44 +0000 | <oxytocat> | `liftIO . printf "Received request: [%s]\n" . unpack . GZip.decompress . fromStrict $ msg` |
| 2021-07-08 04:54:48 +0000 | <oxytocat> | or alternatively: |
| 2021-07-08 04:55:11 +0000 | <oxytocat> | `liftIO (printf "Received request: [%s]\n" (unpack (GZip.decompress (fromStrict msg))))` |
| 2021-07-08 04:55:52 +0000 | <oxytocat> | note that `liftIO ...` and `msg <- ...` need to have the same indentation width |
| 2021-07-08 04:56:21 +0000 | <lechner> | thatks! i understand all of that, except perhaps the entire purpose of LiftIO |
| 2021-07-08 04:56:42 +0000 | <dsal> | :t liftIO |
| 2021-07-08 04:56:43 +0000 | <lambdabot> | MonadIO m => IO a -> m a |
| 2021-07-08 04:57:09 +0000 | <dsal> | If you have an mtl stack with IO at the bottom and need to run something in IO, liftIO gets you there. |
| 2021-07-08 04:57:55 +0000 | <oxytocat> | the runZMQ has some capabilities beyond IO so it has a different type |
| 2021-07-08 04:57:56 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b9526e1b6d7c282fb2b66.dip0.t-ipconnect.de) |
| 2021-07-08 04:58:05 +0000 | <lechner> | what is mtl please? |
| 2021-07-08 04:59:18 +0000 | <oxytocat> | check out https://github.com/soupi/haskell-study-plan#monad-transformers |
| 2021-07-08 04:59:20 +0000 | <lechner> | what does the LiftIO do in this line, please? liftIO (printf "Received request: [%s]\n" (unpack (GZip.decompress (fromStrict msg)))) |
| 2021-07-08 04:59:32 +0000 | <dsal> | :t liftIO -- it does that |
| 2021-07-08 04:59:33 +0000 | <lambdabot> | MonadIO m => IO a -> m a |
| 2021-07-08 04:59:50 +0000 | <lechner> | to me that is different from the other two |
| 2021-07-08 04:59:56 +0000 | <dsal> | You're using runZMQ which is: runZMQ :: MonadIO m => (forall z. ZMQ z a) -> m a |
| 2021-07-08 05:00:28 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 05:01:10 +0000 | <oxytocat> | the type for regular IO actions is `IO <something>` - this is a description (or recipe) for a computation that may run some IO actions and return a value of type <something> |
| 2021-07-08 05:01:43 +0000 | <lechner> | yeah that part i understand |
| 2021-07-08 05:02:03 +0000 | <oxytocat> | ZMQ has a different type than that, it wants to be able to describe actions that can do ZMQ stuff as well as regular IO actions |
| 2021-07-08 05:02:32 +0000 | <oxytocat> | so it needs a different type than IO |
| 2021-07-08 05:03:05 +0000 | <dsal> | Instead of directly specifying IO, it just specifies that it needs something monadic that knows how to get to IO. |
| 2021-07-08 05:03:08 +0000 | <lechner> | so the LiftIO is specimic to System.ZMQ4.Monadic ? |
| 2021-07-08 05:03:15 +0000 | <lechner> | specific |
| 2021-07-08 05:03:30 +0000 | <dsal> | No, it's a method of MonadIO |
| 2021-07-08 05:03:58 +0000 | <oxytocat> | liftIO is a function that many other types like ZMQ implement, so that users can run arbitrary IO actions while working in ZMQ type |
| 2021-07-08 05:04:06 +0000 | <oxytocat> | or their respective types, actually |
| 2021-07-08 05:04:28 +0000 | <dsal> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Monad-IO-Class.html |
| 2021-07-08 05:04:53 +0000 | <lechner> | why is it needed to evaluate this expression? liftIO (printf "Received request: [%s]\n" (unpack (GZip.decompress (fromStrict msg)))) |
| 2021-07-08 05:04:59 +0000 | <oxytocat> | for example ActionM from the scotty package that is used to describe web requests processing also implements that function |
| 2021-07-08 05:05:10 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds) |
| 2021-07-08 05:05:13 +0000 | <lechner> | it comes after the print? |
| 2021-07-08 05:05:23 +0000 | <oxytocat> | :t liftIO |
| 2021-07-08 05:05:25 +0000 | <lambdabot> | MonadIO m => IO a -> m a |
| 2021-07-08 05:05:55 +0000 | <oxytocat> | the whole expression to the right of liftIO |
| 2021-07-08 05:06:02 +0000 | <oxytocat> | has the type `IO ()` |
| 2021-07-08 05:06:26 +0000 | <oxytocat> | but anything running in ZMQ has a different type that relates to ZMQ |
| 2021-07-08 05:07:15 +0000 | <oxytocat> | so liftIO takes the `IO ()` and transforms it to work within `m ()` |
| 2021-07-08 05:07:21 +0000 | <lechner> | i see |
| 2021-07-08 05:07:23 +0000 | <oxytocat> | where `m` is the relevant ZMQ type |
| 2021-07-08 05:07:51 +0000 | <lechner> | but m is not named? |
| 2021-07-08 05:07:59 +0000 | <oxytocat> | I'm not sure what it is because it is not specified here and the docs for zeromq-haskell are missing from hackage |
| 2021-07-08 05:08:16 +0000 | <lechner> | yeah they did not generate |
| 2021-07-08 05:08:24 +0000 | <oxytocat> | `liftIO` is a bit general, think like `print :: Show a => a -> String` |
| 2021-07-08 05:08:52 +0000 | <oxytocat> | we know that print will work for any type that implements the `Show` interface |
| 2021-07-08 05:09:12 +0000 | <oxytocat> | with liftIO we know that it will work for any `m` that implements the `MonadIO` interface |
| 2021-07-08 05:09:20 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b9526e1b6d7c282fb2b66.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-07-08 05:09:47 +0000 | <dsal> | lechner: You can use any m as long as it has a MonadIO instance. It's a constraint, not a type. |
| 2021-07-08 05:09:52 +0000 | <lechner> | it's about the caller though rather than the argument, right? |
| 2021-07-08 05:10:08 +0000 | <oxytocat> | sorry print is actually `print :: Show a => a -> IO ()`, my mistake |
| 2021-07-08 05:10:22 +0000 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 246 seconds) |
| 2021-07-08 05:10:25 +0000 | <oxytocat> | yes, it's what the caller supplies generally |
| 2021-07-08 05:10:44 +0000 | <dsal> | % liftIO . print $ (1,2,3) |
| 2021-07-08 05:10:44 +0000 | <yahb> | dsal: (1,2,3) |
| 2021-07-08 05:10:56 +0000 | <lechner> | what is the likely type of msg above please? |
| 2021-07-08 05:12:01 +0000 | <oxytocat> | I expect it is ZMQ |
| 2021-07-08 05:12:13 +0000 | <oxytocat> | oh, of msg? sorry |
| 2021-07-08 05:12:14 +0000 | <oxytocat> | let's check |
| 2021-07-08 05:12:38 +0000 | <lechner> | so with LiftIO, both the code to the right and to the left is effectful, yes |
| 2021-07-08 05:13:27 +0000 | <oxytocat> | https://gitlab.com/twittner/zeromq-haskell/-/blob/develop/src/System/ZMQ4/Monadic.hs#L351 |
| 2021-07-08 05:13:29 +0000 | <dsal> | liftIO just digs out the the IO and runs the supplied IO action. |
| 2021-07-08 05:13:40 +0000 | <oxytocat> | this indicates that it is `ByteString` |
| 2021-07-08 05:14:17 +0000 | <lechner> | dsal: like 'do'? |
| 2021-07-08 05:14:45 +0000 | <dsal> | What do you mean? `do` doesn't, um, `do` anything. |
| 2021-07-08 05:15:37 +0000 | <lechner> | sorry it's my second run at haskell. i thought do can print |
| 2021-07-08 05:15:47 +0000 | <oxytocat> | `do` is just alternative syntax for `>>=` and `>>` |
| 2021-07-08 05:15:48 +0000 | <dsal> | do is just syntax sugar. |
| 2021-07-08 05:15:59 +0000 | <dsal> | @undo do { print "x" } |
| 2021-07-08 05:15:59 +0000 | <lambdabot> | print "x" |
| 2021-07-08 05:16:43 +0000 | <oxytocat> | check out this section, let me know if it makes it clearer: https://github.com/soupi/haskell-study-plan#do-notation |
| 2021-07-08 05:16:53 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
| 2021-07-08 05:17:14 +0000 | <dsal> | > do { a <- Just 1; b <- Just 2; pure (a + b) } |
| 2021-07-08 05:17:16 +0000 | <lambdabot> | Just 3 |
| 2021-07-08 05:17:20 +0000 | <dsal> | @undo do { a <- Just 1; b <- Just 2; pure (a + b) } |
| 2021-07-08 05:17:20 +0000 | <lambdabot> | Just 1 >>= \ a -> Just 2 >>= \ b -> pure (a + b) |
| 2021-07-08 05:17:32 +0000 | <dsal> | It works with any monad, not just IO |
| 2021-07-08 05:17:47 +0000 | <dsal> | In fact, because liftIO is required here, you can tell that it's not requiring IO. :) |
| 2021-07-08 05:18:09 +0000 | <lechner> | which part isn't? |
| 2021-07-08 05:19:01 +0000 | <dsal> | Which part isn't what? |
| 2021-07-08 05:19:01 +0000 | <lechner> | which part isn't requiring IO? |
| 2021-07-08 05:20:05 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 2021-07-08 05:20:47 +0000 | <oxytocat> | the code in your snippet, lines 16 to 23, run in ZMQ, not IO. we can tell because this code is passed to the function `runZMQ` as an argument |
| 2021-07-08 05:21:02 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Client Quit) |
| 2021-07-08 05:21:19 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-07-08 05:21:43 +0000 | <dsal> | All the things in the `do` block in your `runZMQ` call. It requires some `m` such that `m` has a `MonadIO` instance, but it's not using `IO` directly. You have to explicitly `liftIO` to get to `IO` there. |
| 2021-07-08 05:21:43 +0000 | <dsal> | It's a rather subtle detail, but if `do` were just for `IO`, you could `print` without lifting anything. |
| 2021-07-08 05:21:50 +0000 | <dsal> | > let s = [1..5] in do { a <- s; b <- s; pure (a,b) } |
| 2021-07-08 05:21:52 +0000 | <lambdabot> | [(1,1),(1,2),(1,3),(1,4),(1,5),(2,1),(2,2),(2,3),(2,4),(2,5),(3,1),(3,2),(3,... |
| 2021-07-08 05:22:12 +0000 | <dsal> | @undo do { a <- s; b <- s; pure (a,b) } |
| 2021-07-08 05:22:12 +0000 | <lambdabot> | s >>= \ a -> s >>= \ b -> pure (a, b) |
| 2021-07-08 05:22:14 +0000 | sidv | (~sidv@23.252.50.92) |
| 2021-07-08 05:22:15 +0000 | <dsal> | (undo is kind of boring) |
| 2021-07-08 05:22:39 +0000 | oxide | (~lambda@user/oxide) (Ping timeout: 252 seconds) |
| 2021-07-08 05:22:43 +0000 | <sidv> | Hey! Is this the right place to ask a question about haskell.nix? |
| 2021-07-08 05:22:52 +0000 | <dsal> | It's pretty close. heh |
| 2021-07-08 05:23:12 +0000 | <oxytocat> | right, do notation is just alternative syntax for `>>=`, and the type of `>>=` is: |
| 2021-07-08 05:23:16 +0000 | <oxytocat> | :t (>>=) |
| 2021-07-08 05:23:17 +0000 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 2021-07-08 05:24:14 +0000 | <oxytocat> | so it works for any type that implements `Monad`. Such as `IO`, `Maybe`, `Either`, `ZMQ z`, and many more |
| 2021-07-08 05:24:44 +0000 | <oxytocat> | so `do` will also work for these types, because it just translates the syntax to use `>>=` |
| 2021-07-08 05:24:48 +0000 | <sidv> | I was trying to install haskell-language-server by putting it in tools in shellFor. However, this does not install haskell-language-server-wrapper. Without that, it seems like hls is not picking up all warnings/errors. Is there a way to also install the wrapper? |
| 2021-07-08 05:27:21 +0000 | <arjun> | sidv: try ghcup? |
| 2021-07-08 05:28:01 +0000 | <dsal> | ghcup sounds a bit like the opposite of haskell.nix |
| 2021-07-08 05:28:04 +0000 | <sidv> | I'd ideally like to install it locally within the project :) |
| 2021-07-08 05:29:05 +0000 | <dsal> | I only do the most basic stuff with haskell.nix, though and I've not tried HLS in a long time. |
| 2021-07-08 05:30:43 +0000 | <sidv> | The problem might also be that I have to generate a hie.yaml |
| 2021-07-08 05:31:24 +0000 | <sidv> | I guess my main problem is that I don't see all the warnings that I do when running cabal build |
| 2021-07-08 05:33:20 +0000 | <sidv> | Hm it seems like hie.yaml is the main culprit |
| 2021-07-08 05:33:39 +0000 | stefan-_ | (~cri@42dots.de) (Ping timeout: 252 seconds) |
| 2021-07-08 05:34:53 +0000 | <lechner> | oxytocat dsal: thanks for your help earlier. too late here now, but i'll be ack tomorrow. thanks! |
| 2021-07-08 05:37:33 +0000 | notzmv | (~zmv@user/notzmv) |
| 2021-07-08 05:37:40 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 2021-07-08 05:37:59 +0000 | stefan-_ | (~cri@42dots.de) |
| 2021-07-08 05:43:37 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 246 seconds) |
| 2021-07-08 05:46:35 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-07-08 05:47:19 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 05:48:35 +0000 | kenran | (~kenran@200116b82bdcfa0070f86b22d449a64a.dip.versatel-1u1.de) |
| 2021-07-08 05:51:22 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2021-07-08 05:52:30 +0000 | sheepduck | (~sheepduck@user/sheepduck) (Ping timeout: 252 seconds) |
| 2021-07-08 05:52:37 +0000 | sidv | (~sidv@23.252.50.92) (Ping timeout: 246 seconds) |
| 2021-07-08 05:53:53 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-08 05:57:27 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 2021-07-08 05:57:45 +0000 | Obo | (~roberto@94.191.137.122.mobile.tre.se) |
| 2021-07-08 05:58:40 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 2021-07-08 05:58:50 +0000 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
| 2021-07-08 06:02:36 +0000 | son0p | (~ff@181.136.122.143) (Ping timeout: 256 seconds) |
| 2021-07-08 06:07:27 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 06:09:12 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Remote host closed the connection) |
| 2021-07-08 06:09:22 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
| 2021-07-08 06:09:46 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 240 seconds) |
| 2021-07-08 06:11:21 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2021-07-08 06:11:40 +0000 | Obo | (~roberto@94.191.137.122.mobile.tre.se) (Ping timeout: 272 seconds) |
| 2021-07-08 06:11:49 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-07-08 06:12:10 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 06:13:04 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) |
| 2021-07-08 06:14:21 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 2021-07-08 06:14:57 +0000 | keutoi | (~keutoi@157.48.222.234) |
| 2021-07-08 06:16:20 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
| 2021-07-08 06:17:18 +0000 | fef | (~thedawn@user/thedawn) |
| 2021-07-08 06:17:47 +0000 | hexreel | (~hr@69.233.98.238) (Quit: WeeChat 3.2) |
| 2021-07-08 06:18:12 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
| 2021-07-08 06:19:40 +0000 | _________ | (~nobody@user/noodly) (Ping timeout: 265 seconds) |
| 2021-07-08 06:21:56 +0000 | arjun | (~Srain@user/arjun) (Ping timeout: 252 seconds) |
| 2021-07-08 06:22:40 +0000 | arjun | (~Srain@user/arjun) |
| 2021-07-08 06:23:36 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-07-08 06:30:10 +0000 | dextaa | (~DV@aftr-37-201-214-197.unity-media.net) (Ping timeout: 246 seconds) |
| 2021-07-08 06:30:23 +0000 | andreabedini | (~andreabed@8s8kj6nms09jvtyb2xjc.ip6.superloop.com) (Quit: WeeChat 2.8) |
| 2021-07-08 06:30:33 +0000 | _________ | (~nobody@user/noodly) |
| 2021-07-08 06:30:43 +0000 | dextaa | (~DV@aftr-37-201-214-197.unity-media.net) |
| 2021-07-08 06:31:29 +0000 | dminuoso | (~dminuoso@user/dminuoso) (Quit: ZNC 1.7.5 - https://znc.in) |
| 2021-07-08 06:31:47 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 06:35:53 +0000 | dminuoso | (~dminuoso@static.88-198-218-68.clients.your-server.de) |
| 2021-07-08 06:36:58 +0000 | eight | (~eight@user/eight) |
| 2021-07-08 06:37:00 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
| 2021-07-08 06:37:56 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2021-07-08 06:39:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 06:41:18 +0000 | andreabedini | (~andreabed@8s8kj6nms09jvtyb2xjc.ip6.superloop.com) |
| 2021-07-08 06:41:40 +0000 | unyu | (~pyon@user/pyon) |
| 2021-07-08 06:41:40 +0000 | unyu | isekaijin |
| 2021-07-08 06:42:24 +0000 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
| 2021-07-08 06:46:46 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-07-08 06:48:53 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 06:48:53 +0000 | dunkeln_ | (~dunkeln@188.70.10.207) |
| 2021-07-08 06:50:49 +0000 | keutoi | (~keutoi@157.48.222.234) (Remote host closed the connection) |
| 2021-07-08 06:52:55 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
| 2021-07-08 06:56:11 +0000 | a6a45081-2b83 | (~aditya@106.214.66.197) (Remote host closed the connection) |
| 2021-07-08 06:57:33 +0000 | fendor | (~fendor@91.141.49.3.wireless.dyn.drei.com) |
| 2021-07-08 06:58:15 +0000 | jneira_ | (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) (Quit: Ping timeout (120 seconds)) |
| 2021-07-08 07:03:01 +0000 | sagax | (~sagax@213.138.71.146) (Excess Flood) |
| 2021-07-08 07:03:11 +0000 | dunkeln_ | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
| 2021-07-08 07:03:44 +0000 | dunkeln_ | (~dunkeln@188.70.10.207) |
| 2021-07-08 07:04:07 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
| 2021-07-08 07:06:34 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2021-07-08 07:14:16 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-07-08 07:15:31 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
| 2021-07-08 07:17:42 +0000 | andreabedini | (~andreabed@8s8kj6nms09jvtyb2xjc.ip6.superloop.com) (Quit: WeeChat 2.8) |
| 2021-07-08 07:19:43 +0000 | oxide | (~lambda@user/oxide) |
| 2021-07-08 07:20:46 +0000 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) |
| 2021-07-08 07:21:46 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 240 seconds) |
| 2021-07-08 07:22:32 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-07-08 07:28:10 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 2021-07-08 07:29:38 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 07:29:55 +0000 | eggplant_ | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) (Remote host closed the connection) |
| 2021-07-08 07:30:10 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 07:32:09 +0000 | maf654321 | (~maf654321@user/maf654321) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-07-08 07:33:27 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
| 2021-07-08 07:33:37 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-08 07:34:22 +0000 | Pickchea | (~private@185.31.55.18.dyn.kraftcom.at) |
| 2021-07-08 07:35:41 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 258 seconds) |
| 2021-07-08 07:36:47 +0000 | Pickchea | (~private@185.31.55.18.dyn.kraftcom.at) (Changing host) |
| 2021-07-08 07:36:47 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 07:36:59 +0000 | nschoe | (~quassel@178.251.84.79) |
| 2021-07-08 07:37:00 +0000 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50) |
| 2021-07-08 07:37:22 +0000 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 2021-07-08 07:40:32 +0000 | CoolerX | (~CoolerX@user/coolerx) |
| 2021-07-08 07:40:32 +0000 | <CoolerX> | Hi |
| 2021-07-08 07:40:32 +0000 | <CoolerX> | Is there a way to embed Haskell in other languages? |
| 2021-07-08 07:40:33 +0000 | <Axman6> | G'day |
| 2021-07-08 07:40:34 +0000 | <CoolerX> | Would like to embed Haskell in a Golang project |
| 2021-07-08 07:40:36 +0000 | <CoolerX> | Since Haskell is compiled I am not entirely sure if this is even possible |
| 2021-07-08 07:40:36 +0000 | <Axman6> | Yo can cal Haskell from other languages that are able to call C functions |
| 2021-07-08 07:40:37 +0000 | <Axman6> | You can call* |
| 2021-07-08 07:40:44 +0000 | <CoolerX> | right |
| 2021-07-08 07:40:51 +0000 | <CoolerX> | through the foreign function interface of C |
| 2021-07-08 07:40:58 +0000 | _________ | (~nobody@user/noodly) (Ping timeout: 272 seconds) |
| 2021-07-08 07:41:17 +0000 | <CoolerX> | and C++, Golang |
| 2021-07-08 07:42:42 +0000 | <CoolerX> | well ok, th |
| 2021-07-08 07:42:42 +0000 | <CoolerX> | Thanks |
| 2021-07-08 07:42:42 +0000 | CoolerX | (~CoolerX@user/coolerx) (Client Quit) |
| 2021-07-08 07:45:43 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-08 07:46:18 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-08 07:47:34 +0000 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.1) |
| 2021-07-08 07:48:57 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 252 seconds) |
| 2021-07-08 07:49:22 +0000 | euandreh | (~euandreh@2804:14c:33:9fe5:af84:7945:9a52:2fce) (Ping timeout: 240 seconds) |
| 2021-07-08 07:49:25 +0000 | azeem | (~azeem@176.200.224.11) |
| 2021-07-08 07:50:36 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-07-08 07:50:45 +0000 | euandreh | (~euandreh@2804:14c:33:9fe5:547e:4393:1b6c:3477) |
| 2021-07-08 07:51:17 +0000 | _________ | (~nobody@user/noodly) |
| 2021-07-08 07:53:27 +0000 | MidAutumnMoon9 | (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
| 2021-07-08 07:53:27 +0000 | MidAutumnMoon9 | (~MidAutumn@user/midautumnmoon) |
| 2021-07-08 07:55:48 +0000 | chele | (~chele@user/chele) |
| 2021-07-08 07:57:26 +0000 | synthmeat | (~synthmeat@user/synthmeat) (Quit: WeeChat 3.2) |
| 2021-07-08 07:58:55 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 2021-07-08 08:00:55 +0000 | zyklotomic | (~ethan@2604:a880:800:10::79f:8001) |
| 2021-07-08 08:02:59 +0000 | sidv | (~sidv@23.252.50.92) |
| 2021-07-08 08:03:01 +0000 | <zyklotomic> | is foldl (+) 0 [1::Int .. 100] not susceptible to space leaks because GHC optimizes it? |
| 2021-07-08 08:04:20 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) (Ping timeout: 240 seconds) |
| 2021-07-08 08:04:23 +0000 | <merijn> | zyklotomic: yeah |
| 2021-07-08 08:06:05 +0000 | <zyklotomic> | is it because of a special case of Int# being unlifted |
| 2021-07-08 08:06:21 +0000 | Obo | (~roberto@94.191.137.180.mobile.tre.se) |
| 2021-07-08 08:06:28 +0000 | hendursaga | (~weechat@user/hendursaga) |
| 2021-07-08 08:07:03 +0000 | <zyklotomic> | and I was trying to force a leak lol |
| 2021-07-08 08:08:25 +0000 | <merijn> | zyklotomic: GHC has a strictness analyzer that tries to detect cases like this where making a computation strict improves performance |
| 2021-07-08 08:09:15 +0000 | hendursa1 | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 2021-07-08 08:09:25 +0000 | <merijn> | zyklotomic: Hence the pedantic correction that Haskell is "non-strict" and not lazy |
| 2021-07-08 08:09:27 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) |
| 2021-07-08 08:09:27 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2021-07-08 08:09:49 +0000 | <zyklotomic> | shouldn't a warning be triggered in those cases, just wondering |
| 2021-07-08 08:10:39 +0000 | <zyklotomic> | merijn: or GHC Haskell? i'm not sure how true that is |
| 2021-07-08 08:11:04 +0000 | <merijn> | zyklotomic: The Haskell report specifies haskell as "non-strict" |
| 2021-07-08 08:11:44 +0000 | <merijn> | zyklotomic: So making code strict is not an error as long as the semantics don't change compared to lazy eval |
| 2021-07-08 08:13:46 +0000 | <zyklotomic> | GHC is defacto |
| 2021-07-08 08:13:47 +0000 | jippiedoe | (~david@2a02-a44c-e14e-1-2789-7e8e-a3b3-3994.fixed6.kpn.net) |
| 2021-07-08 08:13:47 +0000 | <zyklotomic> | ah gotcha |
| 2021-07-08 08:13:48 +0000 | <zyklotomic> | merijn: can you give me an example of how to create a partial application leak on purpose |
| 2021-07-08 08:13:48 +0000 | <zyklotomic> | like what I was trying to do with the fold |
| 2021-07-08 08:13:48 +0000 | <zyklotomic> | not partial application i think, that might be wrong way to describe it |
| 2021-07-08 08:13:48 +0000 | <zyklotomic> | but unevaluated thunks |
| 2021-07-08 08:13:48 +0000 | synthmeat | (~synthmeat@user/synthmeat) |
| 2021-07-08 08:14:26 +0000 | <merijn> | zyklotomic: The reason to specify Haskell as "non-strict" is exactly to make it legal for compilers to generate strict code |
| 2021-07-08 08:15:10 +0000 | sshine | (~simon@hubris.eta.solutions) (Ping timeout: 272 seconds) |
| 2021-07-08 08:16:51 +0000 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) |
| 2021-07-08 08:17:18 +0000 | <janiczek> | @pl \x -> f x 2 |
| 2021-07-08 08:17:18 +0000 | <lambdabot> | flip f 2 |
| 2021-07-08 08:17:36 +0000 | sshine | (~simon@hubris.eta.solutions) |
| 2021-07-08 08:17:36 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-07-08 08:17:36 +0000 | viluon | (uid453725@id-453725.brockwell.irccloud.com) |
| 2021-07-08 08:19:02 +0000 | <zyklotomic> | merijn: and -O0 should turn that off right |
| 2021-07-08 08:19:02 +0000 | <zyklotomic> | i'm reading https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/using-optimisation.html |
| 2021-07-08 08:19:03 +0000 | <zyklotomic> | trying to force thunks to happen |
| 2021-07-08 08:19:03 +0000 | <zyklotomic> | *turn off the strictness analyzer |
| 2021-07-08 08:19:09 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-07-08 08:19:40 +0000 | leah2 | (~leah@vuxu.org) |
| 2021-07-08 08:21:48 +0000 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Quit: WeeChat 3.2) |
| 2021-07-08 08:24:55 +0000 | jippiedoe | (~david@2a02-a44c-e14e-1-2789-7e8e-a3b3-3994.fixed6.kpn.net) (Remote host closed the connection) |
| 2021-07-08 08:25:00 +0000 | jippiedoe | (~david@2a02-a44c-e14e-1-a11c-6737-273e-abfe.fixed6.kpn.net) |
| 2021-07-08 08:25:22 +0000 | michalz | (~michalz@185.246.204.121) |
| 2021-07-08 08:25:22 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 2021-07-08 08:25:22 +0000 | Obo | (~roberto@94.191.137.180.mobile.tre.se) (Ping timeout: 265 seconds) |
| 2021-07-08 08:25:22 +0000 | <sidv> | I'm trying to do precise time calculations down to the millisecond, does UTCTime from the time package support this level of precision? |
| 2021-07-08 08:25:22 +0000 | arjun | (~Srain@user/arjun) (Ping timeout: 246 seconds) |
| 2021-07-08 08:25:23 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
| 2021-07-08 08:25:39 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 08:25:39 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2021-07-08 08:25:51 +0000 | <merijn> | Depends on your machine? :p |
| 2021-07-08 08:26:00 +0000 | <merijn> | What sorta precise time calculations? |
| 2021-07-08 08:26:05 +0000 | <merijn> | Like benchmark timings? |
| 2021-07-08 08:26:45 +0000 | azeem | (~azeem@176.200.224.11) (Read error: Connection reset by peer) |
| 2021-07-08 08:26:46 +0000 | <sidv> | I'm dealing with APIs that give timestamps in milliseconds |
| 2021-07-08 08:26:48 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) |
| 2021-07-08 08:27:01 +0000 | <sidv> | I'm trying to write a scraper for time series data |
| 2021-07-08 08:27:13 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
| 2021-07-08 08:27:57 +0000 | <sidv> | Is it better to keep things as UTCTime or just store the timestamp as an Int64 or something |
| 2021-07-08 08:28:04 +0000 | <merijn> | sidv: https://hackage.haskell.org/package/time-1.12/docs/Data-Time-Clock.html#t:DiffTime |
| 2021-07-08 08:28:11 +0000 | <merijn> | sidv: Docs says it has picosecond resolution |
| 2021-07-08 08:28:39 +0000 | <merijn> | Since UTCTime is just a Day and a DiffTime |
| 2021-07-08 08:30:26 +0000 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 2021-07-08 08:30:43 +0000 | <sidv> | oh that's perfect |
| 2021-07-08 08:30:43 +0000 | <sidv> | thanks merijn |
| 2021-07-08 08:30:43 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-08 08:30:43 +0000 | MidAutumnMoon9 | (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge) |
| 2021-07-08 08:31:38 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
| 2021-07-08 08:32:39 +0000 | <viluon> | hi, is there a GHC.Generics -based alternative to SYB? I'm looking for something with similarly high-level traversals/schemes which would generalise type-specific cases to type-agnostic ones, but with the additional structure of a sum-of-products representation |
| 2021-07-08 08:35:40 +0000 | polux | (~polux@51.15.169.172) (Quit: The Lounge - https://thelounge.github.io) |
| 2021-07-08 08:35:44 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) (Ping timeout: 252 seconds) |
| 2021-07-08 08:35:45 +0000 | polux | (~polux@51.15.169.172) |
| 2021-07-08 08:36:51 +0000 | MidAutumnMoon9 | (~MidAutumn@user/midautumnmoon) |
| 2021-07-08 08:39:31 +0000 | hmmmas | (~chenqisu1@183.217.200.144) |
| 2021-07-08 08:40:42 +0000 | Arahael | (~arahael@60-240-135-223.tpgi.com.au) (Ping timeout: 256 seconds) |
| 2021-07-08 08:47:22 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 258 seconds) |
| 2021-07-08 08:50:47 +0000 | zaquest | (~notzaques@5.128.210.178) |
| 2021-07-08 08:50:48 +0000 | arahael | (~arahael@118.211.182.212) |
| 2021-07-08 08:50:48 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
| 2021-07-08 08:50:48 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-07-08 08:50:49 +0000 | arjun | (~Srain@user/arjun) |
| 2021-07-08 08:50:49 +0000 | dunj3 | (~dunj3@2001:16b8:3066:7300:d4d1:5d56:be5f:cf84) |
| 2021-07-08 08:55:21 +0000 | m4lvin | (~m4lvin@w4eg.de) (Quit: m4lvin) |
| 2021-07-08 08:56:51 +0000 | <dminuoso> | viluon: You mean like generics-sop? |
| 2021-07-08 08:57:10 +0000 | derelict | (~derelict@user/derelict) (Ping timeout: 246 seconds) |
| 2021-07-08 08:57:12 +0000 | MoC | (~moc@user/moc) |
| 2021-07-08 08:58:01 +0000 | <dminuoso> | (or sop-core, I guess) |
| 2021-07-08 08:58:31 +0000 | <dminuoso> | Well. Both together. :) |
| 2021-07-08 09:01:25 +0000 | mpt | (~tom@2a02:908:1862:49e0::8) |
| 2021-07-08 09:01:53 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 09:02:34 +0000 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
| 2021-07-08 09:06:16 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 246 seconds) |
| 2021-07-08 09:06:38 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 09:10:03 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 09:11:10 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 246 seconds) |
| 2021-07-08 09:17:23 +0000 | arjun | (~Srain@user/arjun) (Ping timeout: 252 seconds) |
| 2021-07-08 09:20:41 +0000 | APic | (apic@apic.name) (Ping timeout: 252 seconds) |
| 2021-07-08 09:23:46 +0000 | mpt | (~tom@2a02:908:1862:49e0::8) (Ping timeout: 246 seconds) |
| 2021-07-08 09:24:12 +0000 | Guest29 | (~Guest29@2a02:a03f:8dbe:300:f1f1:39aa:3c9b:ab9c) |
| 2021-07-08 09:25:50 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-07-08 09:26:25 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-07-08 09:26:32 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
| 2021-07-08 09:26:49 +0000 | sidv | (~sidv@23.252.50.92) (Ping timeout: 246 seconds) |
| 2021-07-08 09:29:17 +0000 | <viluon> | dminuoso: oh, generics-sop has that kind of functionality? is there a variant of the paradise benchmark implemented with it? |
| 2021-07-08 09:30:16 +0000 | <Profpatsch> | viluon: what’s the paradise benchmark? |
| 2021-07-08 09:31:09 +0000 | <Profpatsch> | I can only find heaven benchmark |
| 2021-07-08 09:31:30 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-08 09:31:38 +0000 | <viluon> | Profpatsch: it's an old but at the time seemingly popular exercise in generic programming, see e.g. http://web.archive.org/web/20080622204226/http://www.cs.vu.nl/boilerplate/#paradise |
| 2021-07-08 09:33:41 +0000 | <Profpatsch> | Oh god, one letter constructor names, this must be the same people that made SYB |
| 2021-07-08 09:35:19 +0000 | <Profpatsch> | I would like a second helping of one letter names that don’t correspond to any mnemonics please |
| 2021-07-08 09:35:50 +0000 | ubert | (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) |
| 2021-07-08 09:35:55 +0000 | <Profpatsch> | Also how is it paradise if there’s XML and +1 Company employee salaries in the example |
| 2021-07-08 09:35:59 +0000 | <int-e> | Why do you call it SYB instead of Scrap Your Boilerplate ;-) |
| 2021-07-08 09:36:45 +0000 | <Profpatsch> | Cause bad naming means your framework’s name is so long and unwieldy that you have to resort to bad abbreviations |
| 2021-07-08 09:36:58 +0000 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 240 seconds) |
| 2021-07-08 09:37:12 +0000 | <Profpatsch> | sorry being snarky, but the main problem with Generics is not that they are not powerful, but their awful naming. |
| 2021-07-08 09:37:26 +0000 | ubert1 | (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) |
| 2021-07-08 09:37:50 +0000 | <int-e> | Heh, you don't need to apologize for being snarky in reply to a snark. |
| 2021-07-08 09:37:51 +0000 | <Profpatsch> | I haven’t looked at generics-sop yet, I hope it doesn’t fall into the same trap |
| 2021-07-08 09:38:00 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 2021-07-08 09:38:18 +0000 | <absence> | in ghc 9, template haskell was changed so liftTyped returns Quote m => Code m a instead of Q (TExp a). this breaks the code "either fail liftTyped something" because Code doesn't have a MonadFail instance. what's the recommended way to deal with this? manually wrap the result of fail in Code, i.e. "either (Code . fail) liftTyped something", or does that have other consequences? |
| 2021-07-08 09:39:53 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-08 09:40:14 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-08 09:40:41 +0000 | <int-e> | > let b = 1; 𝐛 = 2; 𝑏 = 3; 𝒃 = 4; 𝒷 = 5; 𝓫 = 6; 𝔟 = 7; 𝕓 = 8; 𝖇 = 9; 𝘣 = 10; 𝙗 = 11; 𝚋 = 12 in b+𝐛+𝑏+𝒃+𝒷+𝓫+𝔟+𝕓+𝖇+𝘣+𝙗+𝚋 |
| 2021-07-08 09:40:43 +0000 | <lambdabot> | 78 |
| 2021-07-08 09:40:45 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 09:41:22 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 09:41:30 +0000 | <dminuoso> | int-e: Is this Agda code? |
| 2021-07-08 09:41:32 +0000 | <dminuoso> | :> |
| 2021-07-08 09:41:43 +0000 | <int-e> | dminuoso: lambdabot doesn't do Agda |
| 2021-07-08 09:41:56 +0000 | <int-e> | But, heh. |
| 2021-07-08 09:43:09 +0000 | hmmmas | (~chenqisu1@183.217.200.144) (Quit: Leaving.) |
| 2021-07-08 09:45:06 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 2021-07-08 09:46:01 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-08 09:46:39 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 09:47:11 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-07-08 09:47:49 +0000 | Guest29 | (~Guest29@2a02:a03f:8dbe:300:f1f1:39aa:3c9b:ab9c) (Ping timeout: 246 seconds) |
| 2021-07-08 09:49:43 +0000 | Guest29 | (~Guest29@2a02:a03f:8dbe:300:c46e:da5f:3e3c:1d44) |
| 2021-07-08 09:51:27 +0000 | <Guest29> | Does RIO provide a way to set environment variables? RIO.Process.envVarsL only allows getting values |
| 2021-07-08 09:52:09 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-08 09:52:42 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 272 seconds) |
| 2021-07-08 09:52:51 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 09:54:26 +0000 | <Taneb> | Guest29: it's not possible to set environment variables like that, with or without RIO |
| 2021-07-08 09:57:52 +0000 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
| 2021-07-08 09:58:04 +0000 | jippiedoe | (~david@2a02-a44c-e14e-1-a11c-6737-273e-abfe.fixed6.kpn.net) (Ping timeout: 246 seconds) |
| 2021-07-08 09:58:17 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-08 09:58:33 +0000 | fef | (~thedawn@user/thedawn) |
| 2021-07-08 09:59:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 09:59:32 +0000 | <Guest29> | oh ok. thx |
| 2021-07-08 10:00:23 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
| 2021-07-08 10:02:02 +0000 | myShoggoth | (~myShoggot@75.164.51.64) (Read error: Connection reset by peer) |
| 2021-07-08 10:02:02 +0000 | Obo | (~roberto@94.191.137.180.mobile.tre.se) |
| 2021-07-08 10:04:48 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-07-08 10:04:54 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-07-08 10:05:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:07:06 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 10:10:42 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-07-08 10:11:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:11:50 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 252 seconds) |
| 2021-07-08 10:13:46 +0000 | darklambda | (~whateverg@111.65.56.40) (Quit: leaving) |
| 2021-07-08 10:15:09 +0000 | solaire | (~solaire@pool-108-31-85-19.washdc.fios.verizon.net) |
| 2021-07-08 10:16:20 +0000 | solaire | (~solaire@pool-108-31-85-19.washdc.fios.verizon.net) (Client Quit) |
| 2021-07-08 10:16:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-07-08 10:16:48 +0000 | darklambda | (~whateverg@111.65.56.40) |
| 2021-07-08 10:17:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:18:22 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-08 10:19:28 +0000 | Guest29 | (~Guest29@2a02:a03f:8dbe:300:c46e:da5f:3e3c:1d44) (Quit: Client closed) |
| 2021-07-08 10:20:43 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
| 2021-07-08 10:22:09 +0000 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 2021-07-08 10:22:17 +0000 | Atum_ | (~IRC@user/atum/x-2392232) |
| 2021-07-08 10:22:34 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 2021-07-08 10:23:43 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
| 2021-07-08 10:24:17 +0000 | <boxscape> | > "b+𝐛+𝑏+𝒃+𝒷+𝓫+𝔟+𝕓+𝖇+𝘣+𝙗+𝚋" |
| 2021-07-08 10:24:19 +0000 | <lambdabot> | "b+\119835+\119887+\119939+\119991+\120043+\120095+\120147+\120199+\120355+\... |
| 2021-07-08 10:25:51 +0000 | zcombinator | (~zcombinat@5.180.62.223) |
| 2021-07-08 10:26:33 +0000 | <kuribas> | wouldn't it be nice if you could write TH like mustache templates? |
| 2021-07-08 10:27:32 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-07-08 10:27:44 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 10:27:50 +0000 | <kuribas> | or something else textual |
| 2021-07-08 10:28:07 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 10:29:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:29:55 +0000 | <Rembane> | Sounds intriguing, can it be done as a hack using the preprocessor? |
| 2021-07-08 10:30:31 +0000 | <Rembane> | ...just to get a feel for it |
| 2021-07-08 10:32:36 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
| 2021-07-08 10:33:39 +0000 | <boxscape> | if <*> is "ap", how do you pronounce <**>? |
| 2021-07-08 10:34:23 +0000 | <boxscape> | I was thinking maybe "flap", portmanteau of flip and ap |
| 2021-07-08 10:34:34 +0000 | <boxscape> | but I don't know if there's a semi-established name |
| 2021-07-08 10:34:47 +0000 | <Atum_> | stack compilation on windows is super slow, wow |
| 2021-07-08 10:35:09 +0000 | <Atum_> | installed wsl, and now it is like, 10x faster |
| 2021-07-08 10:35:13 +0000 | <boxscape> | compiling stack or compiling a program with stack? |
| 2021-07-08 10:35:23 +0000 | <Atum_> | compiling a program with stack |
| 2021-07-08 10:35:25 +0000 | <Atum_> | using the default template |
| 2021-07-08 10:35:28 +0000 | <boxscape> | I see, weird |
| 2021-07-08 10:37:15 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan) |
| 2021-07-08 10:37:30 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-07-08 10:39:34 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-07-08 10:40:49 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:42:33 +0000 | zcombinator | (~zcombinat@5.180.62.223) (Quit: WeeChat 3.2) |
| 2021-07-08 10:46:32 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-07-08 10:46:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:47:19 +0000 | zcombinator | (~zcombinat@host-87-7-58-35.retail.telecomitalia.it) |
| 2021-07-08 10:48:28 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
| 2021-07-08 10:49:54 +0000 | kayprish | (~kayprish@46.240.143.86) (Ping timeout: 252 seconds) |
| 2021-07-08 10:51:57 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-08 10:52:42 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:58:05 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-08 10:58:56 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 10:59:55 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2021-07-08 11:00:25 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 11:03:49 +0000 | kenran | (~kenran@200116b82bdcfa0070f86b22d449a64a.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 2021-07-08 11:04:13 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-07-08 11:04:36 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 11:05:18 +0000 | <dminuoso> | kuribas: Nothing keeps you from using mustache on haskell files! :D |
| 2021-07-08 11:08:03 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2021-07-08 11:09:49 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-07-08 11:10:33 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 11:10:54 +0000 | zcombinator | (~zcombinat@host-87-7-58-35.retail.telecomitalia.it) (Quit: WeeChat 3.2) |
| 2021-07-08 11:11:02 +0000 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 2021-07-08 11:11:55 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-07-08 11:13:36 +0000 | Kirat | (~Gill@157.39.157.217) |
| 2021-07-08 11:13:49 +0000 | Kirat | (~Gill@157.39.157.217) (Client Quit) |
| 2021-07-08 11:15:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-07-08 11:16:48 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 11:19:07 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2021-07-08 11:25:08 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 265 seconds) |
| 2021-07-08 11:26:34 +0000 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 240 seconds) |
| 2021-07-08 11:28:06 +0000 | chris-the-slurpa | (~chris@81.96.113.213) |
| 2021-07-08 11:35:21 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 268 seconds) |
| 2021-07-08 11:40:25 +0000 | <viluon> | dminuoso: sorry to ping you again, would you happen to know about places I could learn generics-sop by example? |
| 2021-07-08 11:40:28 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 2021-07-08 11:41:29 +0000 | chris-the-slurpa | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-08 11:42:00 +0000 | chris-the-slurpa | (~chris@81.96.113.213) |
| 2021-07-08 11:43:33 +0000 | chris-th_ | (~chris@81.96.113.213) |
| 2021-07-08 11:43:33 +0000 | chris-the-slurpa | (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 2021-07-08 11:44:00 +0000 | sander | (~sander@user/sander) (Quit: So long! :)) |
| 2021-07-08 11:44:12 +0000 | sander | (~sander@user/sander) |
| 2021-07-08 11:44:36 +0000 | Obo | (~roberto@94.191.137.180.mobile.tre.se) (Read error: Connection reset by peer) |
| 2021-07-08 11:47:39 +0000 | dunkeln_ | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
| 2021-07-08 11:50:06 +0000 | favonia | (~favonia@user/favonia) |
| 2021-07-08 11:50:21 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) |
| 2021-07-08 11:57:59 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 2021-07-08 12:00:24 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
| 2021-07-08 12:00:26 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 12:03:00 +0000 | jippiedoe | (~david@2a02-a44c-e14e-1-bdc4-1e8f-afa7-3bad.fixed6.kpn.net) |
| 2021-07-08 12:03:04 +0000 | zcombinator | (~zcombinat@host-87-7-58-35.retail.telecomitalia.it) |
| 2021-07-08 12:03:38 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 258 seconds) |
| 2021-07-08 12:05:53 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 2021-07-08 12:06:26 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 12:06:40 +0000 | isekaijin | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
| 2021-07-08 12:08:00 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 252 seconds) |
| 2021-07-08 12:10:34 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2021-07-08 12:12:24 +0000 | <lechner> | Hi, how can I run these two IO statements inside the ZMQ monad, please? https://dpaste.org/cPWe#L47,48 |
| 2021-07-08 12:13:01 +0000 | <merijn> | liftIO, probably |
| 2021-07-08 12:13:28 +0000 | Guest2492 | (~Martin@cpe-188-129-56-84.dynamic.amis.hr) |
| 2021-07-08 12:13:38 +0000 | <lechner> | i know, but do i use point-free style? |
| 2021-07-08 12:15:37 +0000 | lortabac | (~lortabac@95.138.56.124) |
| 2021-07-08 12:16:47 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 2021-07-08 12:16:51 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 12:19:31 +0000 | Guest2492 | (~Martin@cpe-188-129-56-84.dynamic.amis.hr) (Remote host closed the connection) |
| 2021-07-08 12:19:59 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 12:20:18 +0000 | hiruji | (~hiruji@user/hiruji) |
| 2021-07-08 12:20:29 +0000 | APic | (apic@apic.name) |
| 2021-07-08 12:22:25 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 258 seconds) |
| 2021-07-08 12:22:59 +0000 | hatz_ | (~user@2a05:f480:1400:f44:5400:3ff:fe6d:f349) |
| 2021-07-08 12:23:29 +0000 | <bryan[m]> | It's not required, no. Are you asking how to combine the two statements? You don't need to do so, although it's possible |
| 2021-07-08 12:23:46 +0000 | <bryan[m]> | I assume you're talking about the two commented lines |
| 2021-07-08 12:23:50 +0000 | Martinsos | (~Martinsos@cpe-188-129-56-84.dynamic.amis.hr) |
| 2021-07-08 12:24:08 +0000 | <lechner> | i'd prefer not to, because it would teach me something about variables too |
| 2021-07-08 12:24:15 +0000 | <lechner> | yes |
| 2021-07-08 12:24:28 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 12:26:03 +0000 | toms | cow-orker |
| 2021-07-08 12:26:03 +0000 | <exarkun> | What is telling me `Setup: The pkg-config package 'libchallenge_bypass_ristretto_ffi' is required but it could not be found.` and what does it mean I'm missing? |
| 2021-07-08 12:26:11 +0000 | <bryan[m]> | Then yeah, you need to add liftIO to both lines in the right place |
| 2021-07-08 12:26:19 +0000 | cow-orker | toms |
| 2021-07-08 12:26:25 +0000 | acidjnk | (~acidjnk@p200300d0c72b9563c9e402731a025c7c.dip0.t-ipconnect.de) |
| 2021-07-08 12:27:01 +0000 | SoF | (~skius@user/skius) (Quit: Ping timeout (120 seconds)) |
| 2021-07-08 12:27:19 +0000 | SoF | (~skius@user/skius) |
| 2021-07-08 12:27:56 +0000 | <bryan[m]> | exarkun: the cabal package must list pkg-config dependencies (pkg-config is a cross-distribution tool used to find system libraries). Your system is presumably missing that system package |
| 2021-07-08 12:28:41 +0000 | <bryan[m]> | So it's cabal that's telling you the message |
| 2021-07-08 12:28:42 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 240 seconds) |
| 2021-07-08 12:30:42 +0000 | acidjnk | (~acidjnk@p200300d0c72b9563c9e402731a025c7c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2021-07-08 12:30:47 +0000 | <exarkun> | Okay. I have `pkgconfig-depends: libchallenge_bypass_ristretto_ffi` in my .cabal file. So cabal is now asking `pkg-config` some question about `libchallenge_bypass_ristretto_ffi`? Like maybe `pkg-config --exists libchallenge_bypass_ristretto_ffi` or some such? And `pkg-config` doesn't know anything about it it... |
| 2021-07-08 12:32:19 +0000 | <exarkun> | Does this also come from Cabal? "error: The pkg-conf packages does not contain the package: libchallenge_bypass_ristretto_ffi (pkg-conf dependency)." |
| 2021-07-08 12:33:25 +0000 | <merijn> | exarkun: It means cabal asked pkg-config about it, but your pkg-config install didn't know about it |
| 2021-07-08 12:34:19 +0000 | <exarkun> | merijn: The first one or the second one? |
| 2021-07-08 12:35:11 +0000 | <merijn> | For sure the first one is that, the 2nd probably too? |
| 2021-07-08 12:35:27 +0000 | <merijn> | exarkun: I think the 2nd one is just cabal forwarding the output of pkg-config? |
| 2021-07-08 12:39:39 +0000 | <lechner> | Hi, why does the last line here give "Couldn't match type ‘[]’ with ‘ZMQ z’ Expected type: ZMQ z Char Actual type: String please, while the assignment in the line above it worked just fine? https://dpaste.org/DzEH#L31 |
| 2021-07-08 12:40:06 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
| 2021-07-08 12:40:43 +0000 | nsilv | (~nsilv@212.103.198.210) |
| 2021-07-08 12:43:10 +0000 | <mniip> | what does "constraint from maximum version of Cabal used by Setup.hs requires <3.4" |
| 2021-07-08 12:43:12 +0000 | <mniip> | mean |
| 2021-07-08 12:43:38 +0000 | <mniip> | I don't see such constraint anywhere in the cabal file |
| 2021-07-08 12:45:28 +0000 | <exarkun> | I suspect that the `pkg-conf` error comes from something else... haskell.nix, I guess. It appears when I remove the nixpkgs overlay that defines libchallenge_bypass_ristretto_ffi. |
| 2021-07-08 12:46:33 +0000 | <merijn> | mniip: You have a custom Setup.hs? |
| 2021-07-08 12:46:38 +0000 | <mniip> | yes |
| 2021-07-08 12:46:46 +0000 | <merijn> | mniip: Do you have setup-depends? |
| 2021-07-08 12:46:49 +0000 | <mniip> | yes |
| 2021-07-08 12:47:02 +0000 | <mniip> | really I'm trying to install ghc-paths into GHC HEAD inplace package db |
| 2021-07-08 12:47:04 +0000 | <merijn> | hmm |
| 2021-07-08 12:47:41 +0000 | <merijn> | Which Cabal version do you have installed? |
| 2021-07-08 12:47:51 +0000 | <merijn> | Is it maybe using one too old for your GHC? |
| 2021-07-08 12:48:13 +0000 | <mniip> | cabal-install ver 3.2.0.0 |
| 2021-07-08 12:48:28 +0000 | <merijn> | Pretty sure that doesn't work with GHC HEAD |
| 2021-07-08 12:48:30 +0000 | <mniip> | oh |
| 2021-07-08 12:48:39 +0000 | <merijn> | Doesn't 9.0 or 9.2 require 3.4? |
| 2021-07-08 12:48:43 +0000 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
| 2021-07-08 12:48:50 +0000 | <merijn> | So presumably HEAD requires something newer too |
| 2021-07-08 12:48:51 +0000 | <mniip> | does 3.4 |
| 2021-07-08 12:49:04 +0000 | <mniip> | let's try that |
| 2021-07-08 12:49:26 +0000 | <merijn> | Cabal doesn't guarantee forward compat, only backwards |
| 2021-07-08 12:49:40 +0000 | <mniip> | understandable |
| 2021-07-08 12:49:59 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2021-07-08 12:50:52 +0000 | andreabedini | (~andreabed@8s8kj6nl13s474s8p7bh.ip6.superloop.com) |
| 2021-07-08 12:51:10 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 265 seconds) |
| 2021-07-08 12:51:47 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 12:51:50 +0000 | scrazen | (~scrazen@user/scrazen) |
| 2021-07-08 12:53:15 +0000 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 2021-07-08 12:56:04 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-07-08 12:56:08 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2021-07-08 12:57:00 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
| 2021-07-08 13:01:11 +0000 | alx741 | (~alx741@181.196.69.147) |
| 2021-07-08 13:02:07 +0000 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
| 2021-07-08 13:02:48 +0000 | <bryan[m]> | lechner: `<-` means to unwrap a monadic value, but your last line doesn't have one. (Well, technically it does, but it's the wrong kind of monad. Pretend I didn't just tell you that.) If you want to create a new name for a non-monadic value inside of a do-block, use let. `let configPath = head args` |
| 2021-07-08 13:03:23 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-07-08 13:03:40 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 13:04:34 +0000 | chris-th_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-08 13:05:16 +0000 | chris-the-slurpa | (~chris@81.96.113.213) |
| 2021-07-08 13:08:14 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-08 13:08:23 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 13:09:17 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-07-08 13:09:29 +0000 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 2021-07-08 13:11:57 +0000 | <merijn> | mniip: Did that resolve things? |
| 2021-07-08 13:12:05 +0000 | <mniip> | compiling :P |
| 2021-07-08 13:12:15 +0000 | <merijn> | That's further than it got before, no? :p |
| 2021-07-08 13:12:23 +0000 | <mniip> | compiling cabal-install |
| 2021-07-08 13:12:26 +0000 | <merijn> | ah |
| 2021-07-08 13:12:40 +0000 | <lechner> | bryan[m]: thanks! |
| 2021-07-08 13:18:55 +0000 | <mniip> | it worked in the end |
| 2021-07-08 13:22:51 +0000 | <merijn> | mniip: \o/ |
| 2021-07-08 13:29:37 +0000 | <viluon> | hi, I'm trying to understand generics-sop, going through the pretty-sop example (https://github.com/well-typed/pretty-sop/blob/master/src/Generics/SOP/PrettyVal.hs#L33). It looks like gprettyVal' requires the `All SListI xss` constraint (equivalent to `SListI2 xss`, right?) which from what I can tell ensures that the code of the datatype (represented by the `xss` parameter) has to have exactly one field in every product. |
| 2021-07-08 13:29:38 +0000 | <viluon> | That's obviously not true, as the README example shows (and also such a constraint doesn't follow from those of `gprettyVal`, `gprettyVal'`'s caller). Where am I going wrong? |
| 2021-07-08 13:31:19 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 13:32:12 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2021-07-08 13:37:06 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Remote host closed the connection) |
| 2021-07-08 13:37:18 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 13:38:08 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 13:43:37 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
| 2021-07-08 13:44:42 +0000 | Martinsos | (~Martinsos@cpe-188-129-56-84.dynamic.amis.hr) (Remote host closed the connection) |
| 2021-07-08 13:45:38 +0000 | ray | (~ray@user/re) |
| 2021-07-08 13:47:48 +0000 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 2021-07-08 13:47:55 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Remote host closed the connection) |
| 2021-07-08 13:49:17 +0000 | chris-the-slurpa | (~chris@81.96.113.213) |
| 2021-07-08 13:50:07 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 13:51:17 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-07-08 13:51:20 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 13:53:02 +0000 | dunkeln | (~dunkeln@94.129.65.28) |
| 2021-07-08 13:58:09 +0000 | Kirat | (~Gill@157.39.129.34) |
| 2021-07-08 13:58:21 +0000 | Kirat | (~Gill@157.39.129.34) (Client Quit) |
| 2021-07-08 14:00:16 +0000 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) |
| 2021-07-08 14:03:10 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
| 2021-07-08 14:08:34 +0000 | xff0x | (~xff0x@2001:1a81:53dc:b800:8c77:48f3:1e3:3060) (Ping timeout: 240 seconds) |
| 2021-07-08 14:09:18 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2021-07-08 14:09:32 +0000 | zyklotomic | (~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8) |
| 2021-07-08 14:10:12 +0000 | hexreel | (~hr@69.233.98.238) |
| 2021-07-08 14:11:19 +0000 | shredder | (~user@user/shredder) (Quit: quitting) |
| 2021-07-08 14:13:09 +0000 | shredder | (~user@user/shredder) |
| 2021-07-08 14:13:21 +0000 | xff0x | (~xff0x@2001:1a81:53dc:b800:8c77:48f3:1e3:3060) |
| 2021-07-08 14:13:24 +0000 | dunkeln | (~dunkeln@94.129.65.28) (Quit: leaving) |
| 2021-07-08 14:18:43 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) |
| 2021-07-08 14:27:22 +0000 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 2021-07-08 14:27:57 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 14:29:15 +0000 | nsilv | (~nsilv@212.103.198.210) (Ping timeout: 268 seconds) |
| 2021-07-08 14:30:16 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-07-08 14:31:00 +0000 | nsilv | (~nsilv@212.103.198.210) |
| 2021-07-08 14:32:57 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
| 2021-07-08 14:34:15 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2021-07-08 14:35:11 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-08 14:39:22 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) (Ping timeout: 240 seconds) |
| 2021-07-08 14:40:52 +0000 | chase | (~chase@89.45.224.218) |
| 2021-07-08 14:41:01 +0000 | chase | (~chase@89.45.224.218) (Client Quit) |
| 2021-07-08 14:42:08 +0000 | ubert1 | (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2021-07-08 14:48:28 +0000 | euandreh | (~euandreh@2804:14c:33:9fe5:547e:4393:1b6c:3477) (Ping timeout: 256 seconds) |
| 2021-07-08 14:49:18 +0000 | derelict | (~derelict@user/derelict) |
| 2021-07-08 14:49:21 +0000 | euandreh | (~euandreh@2804:14c:33:9fe5:3720:61ec:ee32:2ddc) |
| 2021-07-08 14:51:19 +0000 | MrVulcan | (~MrVulcan@101.175.88.138) |
| 2021-07-08 14:51:50 +0000 | andreabedini | (~andreabed@8s8kj6nl13s474s8p7bh.ip6.superloop.com) (Quit: WeeChat 3.2) |
| 2021-07-08 14:56:34 +0000 | michalz | (~michalz@185.246.204.121) (Remote host closed the connection) |
| 2021-07-08 14:57:27 +0000 | hatz_ | (~user@2a05:f480:1400:f44:5400:3ff:fe6d:f349) (Quit: hatz_) |
| 2021-07-08 14:57:51 +0000 | <lechner> | Hi, if 'a $ b c' is the same as 'a (b c)' why, please, does this give an error bind responder ("tcp://*:" ++ show $ port config) while this does not bind responder ("tcp://*:" ++ show (port config)) |
| 2021-07-08 14:59:46 +0000 | dut | (~dut@user/dut) |
| 2021-07-08 15:01:21 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-07-08 15:01:36 +0000 | <geekosaur> | because `a $ b c` is only half the story |
| 2021-07-08 15:01:51 +0000 | <geekosaur> | a b $ c d is the same as (a b) (c d) |
| 2021-07-08 15:02:18 +0000 | <geekosaur> | so yoiu're trying to append the function `show` to a string |
| 2021-07-08 15:02:31 +0000 | <lechner> | ah |
| 2021-07-08 15:02:38 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
| 2021-07-08 15:02:40 +0000 | dut | (~dut@user/dut) (Client Quit) |
| 2021-07-08 15:03:04 +0000 | <lechner> | so (show $ port config) is perhaps a better way to write that |
| 2021-07-08 15:03:19 +0000 | <geekosaur> | yes |
| 2021-07-08 15:03:52 +0000 | hatz_ | (~user@2a05:f480:1400:f44:5400:3ff:fe6d:f349) |
| 2021-07-08 15:04:02 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 15:05:06 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-08 15:05:22 +0000 | ray | (~ray@user/re) (Quit: WeeChat 3.2) |
| 2021-07-08 15:05:42 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-08 15:06:02 +0000 | ray | (~ray@user/re) |
| 2021-07-08 15:09:46 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 240 seconds) |
| 2021-07-08 15:11:25 +0000 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
| 2021-07-08 15:12:44 +0000 | azeem | (~azeem@176.200.191.45) |
| 2021-07-08 15:12:54 +0000 | niko | o |
| 2021-07-08 15:13:14 +0000 | MrVulcan | (~MrVulcan@101.175.88.138) (Ping timeout: 252 seconds) |
| 2021-07-08 15:14:16 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-07-08 15:15:19 +0000 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-07-08 15:16:19 +0000 | neurocyte40 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 2021-07-08 15:17:47 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-08 15:18:17 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 15:18:45 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) (Quit: WeeChat 2.8) |
| 2021-07-08 15:19:06 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 240 seconds) |
| 2021-07-08 15:19:24 +0000 | azeem | (~azeem@176.200.191.45) (Ping timeout: 252 seconds) |
| 2021-07-08 15:20:52 +0000 | azeem | (~azeem@176.201.8.194) |
| 2021-07-08 15:20:54 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) |
| 2021-07-08 15:22:07 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-07-08 15:23:14 +0000 | neurocyte40 | (~neurocyte@45.93.108.182) |
| 2021-07-08 15:23:14 +0000 | neurocyte40 | (~neurocyte@45.93.108.182) (Changing host) |
| 2021-07-08 15:23:14 +0000 | neurocyte40 | (~neurocyte@user/neurocyte) |
| 2021-07-08 15:23:28 +0000 | <monochrom> | ("tcp://*:" ++ show (port config)) |
| 2021-07-08 15:24:03 +0000 | <monochrom> | Since the cause of "I hate parentheses" is lost anyway, why keep $ around? |
| 2021-07-08 15:24:14 +0000 | rostero | (uid236576@id-236576.tooting.irccloud.com) |
| 2021-07-08 15:25:17 +0000 | <lechner> | the other set or parentheses corresponds to %s in the formatting string |
| 2021-07-08 15:25:49 +0000 | <lechner> | that could help when there are more than one |
| 2021-07-08 15:26:16 +0000 | <monochrom> | But there is no %s. |
| 2021-07-08 15:26:33 +0000 | lortabac | (~lortabac@95.138.56.124) (Quit: WeeChat 2.8) |
| 2021-07-08 15:26:38 +0000 | <monochrom> | printf "%s" (show whatever) I would agree. |
| 2021-07-08 15:27:06 +0000 | <monochrom> | You have an infix operator ++ instead. |
| 2021-07-08 15:27:18 +0000 | <lechner> | you are right! i was thinking two lines down in my code |
| 2021-07-08 15:28:38 +0000 | <lechner> | i am starting to like this haskelling |
| 2021-07-08 15:30:11 +0000 | spruit11_ | (~quassel@86-82-44-193.fixed.kpn.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2021-07-08 15:30:37 +0000 | spruit11 | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) |
| 2021-07-08 15:32:14 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
| 2021-07-08 15:35:38 +0000 | azeem | (~azeem@176.201.8.194) (Read error: Connection reset by peer) |
| 2021-07-08 15:36:30 +0000 | <wroathe> | What would you call a function that does something like [a -> b] -> a -> b |
| 2021-07-08 15:36:51 +0000 | <wroathe> | well, actually it's [a -> ()] -> a -> () |
| 2021-07-08 15:37:01 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
| 2021-07-08 15:37:15 +0000 | <wroathe> | Just takes a list of functions and calls them in sequence by applying a to each and ignoring the result |
| 2021-07-08 15:38:11 +0000 | <monochrom> | head |
| 2021-07-08 15:39:39 +0000 | <monochrom> | const () (map ($ your_a) your_list) |
| 2021-07-08 15:39:59 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 15:40:40 +0000 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Remote host closed the connection) |
| 2021-07-08 15:40:45 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) |
| 2021-07-08 15:41:05 +0000 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-07-08 15:43:09 +0000 | <dsal> | :t map (const ()) |
| 2021-07-08 15:43:10 +0000 | <lambdabot> | error: |
| 2021-07-08 15:43:10 +0000 | <lambdabot> | Ambiguous occurrence ‘map’ |
| 2021-07-08 15:43:10 +0000 | <lambdabot> | It could refer to |
| 2021-07-08 15:43:27 +0000 | <monochrom> | That's strange. |
| 2021-07-08 15:43:30 +0000 | <monochrom> | @undefine |
| 2021-07-08 15:43:31 +0000 | <lambdabot> | Undefined. |
| 2021-07-08 15:43:36 +0000 | <monochrom> | :t map |
| 2021-07-08 15:43:37 +0000 | <lambdabot> | (a -> b) -> [a] -> [b] |
| 2021-07-08 15:43:40 +0000 | <monochrom> | better |
| 2021-07-08 15:44:16 +0000 | <dsal> | :t (const.const) () |
| 2021-07-08 15:44:17 +0000 | <lambdabot> | b1 -> b2 -> () |
| 2021-07-08 15:44:23 +0000 | <wroathe> | monochrom: Why head? |
| 2021-07-08 15:44:24 +0000 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) |
| 2021-07-08 15:44:39 +0000 | <monochrom> | [t] -> t with t = a->b |
| 2021-07-08 15:44:49 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 258 seconds) |
| 2021-07-08 15:45:02 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) |
| 2021-07-08 15:45:21 +0000 | <dsal> | wroathe: if you don't want the results of a function, bit calling it is the restaurant l easiest way to avoid it |
| 2021-07-08 15:45:40 +0000 | <dsal> | Phone language... |
| 2021-07-08 15:45:50 +0000 | <dsal> | Just don't call the function. |
| 2021-07-08 15:46:01 +0000 | <wroathe> | Ah. The scenario is that I'm actually doing this in Javascript, and I was using function composition but the object each routine is operating on is a reference type, and so for the sake of sanity I'm not going to require the user to return the object that's being operated on, and instead this routine is just going to call each function in a sequence with the object |
| 2021-07-08 15:46:35 +0000 | <dsal> | :t traverse_ |
| 2021-07-08 15:46:36 +0000 | <monochrom> | Translate our mapM_ to javascript. |
| 2021-07-08 15:46:36 +0000 | <lambdabot> | (Foldable t, Applicative f) => (a -> f b) -> t a -> f () |
| 2021-07-08 15:46:58 +0000 | <wroathe> | Ah. That's exactly what I was looking for. |
| 2021-07-08 15:47:00 +0000 | <wroathe> | Thanks. |
| 2021-07-08 15:47:22 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 246 seconds) |
| 2021-07-08 15:47:44 +0000 | <monochrom> | X -> IO Y vs X -> Y |
| 2021-07-08 15:48:03 +0000 | <wroathe> | monochrom: Yeah, that makes way more sense. |
| 2021-07-08 15:48:48 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 15:48:52 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 2021-07-08 16:03:05 +0000 | Obo | (~roberto@122.red-83-38-248.dynamicip.rima-tde.net) (Quit: WeeChat 2.8) |
| 2021-07-08 16:11:06 +0000 | jippiedoe | (~david@2a02-a44c-e14e-1-bdc4-1e8f-afa7-3bad.fixed6.kpn.net) (Ping timeout: 252 seconds) |
| 2021-07-08 16:11:36 +0000 | smarton | (~smarton@121407.xyz) (Changing host) |
| 2021-07-08 16:11:36 +0000 | smarton | (~smarton@gnu/webmaster/smarton) |
| 2021-07-08 16:12:11 +0000 | nsilv | (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1) |
| 2021-07-08 16:13:30 +0000 | <Las[m]> | Does anyone here know how I'd parse only the first YAML document in a string? I'm trying to parse the YAML metadata blocks used with pandoc, but I'm assuming there's some clever way of doing it without me having to search for the `...` and stripping away everything after that. |
| 2021-07-08 16:13:57 +0000 | <Las[m]> | Both HsYAML and yaml just give me an error just after the `...`, which is where the Markdown starts of course |
| 2021-07-08 16:16:34 +0000 | alphabeta | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2021-07-08 16:18:05 +0000 | xerxes | (~xerxes@117.222.64.149) |
| 2021-07-08 16:18:16 +0000 | <sm[m]> | parseYaml $ unlines $ takeWhile (/= "..." $ lines s ? |
| 2021-07-08 16:19:38 +0000 | <sm[m]> | * parseYaml $ unlines $ takeWhile (/= "...") $ lines s ? |
| 2021-07-08 16:20:13 +0000 | <kosmikus> | viluon: is your question about generics-sop still open? I'm not sure if I understand your comment correctly. the constraint `All SListI xss` does not say very much. In principle, all that it states is that all elements of `xss` must themselves be lists. This is in principle already clear by their kind, but the `SListI` gives inductive access to the list structure. |
| 2021-07-08 16:20:35 +0000 | <viluon> | kosmikus: hi! yes! |
| 2021-07-08 16:21:00 +0000 | <Las[m]> | sm: Yeah, I could do that, it just seems ugly since it parses it 2 times. |
| 2021-07-08 16:21:01 +0000 | <viluon> | kosmikus: thanks for the clarification, the documentation however states that `SListI xs` ensures `xs` is a *singleton* list |
| 2021-07-08 16:21:02 +0000 | dajoer | (~david@user/gvx) (Quit: leaving) |
| 2021-07-08 16:22:29 +0000 | <kosmikus> | viluon: oh, I see. this phrasing is unfortunate. |
| 2021-07-08 16:22:36 +0000 | <sm[m]> | Las: if you also want the markdown part, use break and friends |
| 2021-07-08 16:22:45 +0000 | <kosmikus> | viluon: I should probably improve it. there's a concept in type-level programming of "singleton types". |
| 2021-07-08 16:22:53 +0000 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
| 2021-07-08 16:23:18 +0000 | <viluon> | kosmikus: oh, what are singleton types? Types of a single value? |
| 2021-07-08 16:23:24 +0000 | <kosmikus> | viluon: a singleton type is essentially a type that establishes a one-to-one correspondence between term-level entities and type-level entities of a particular kind. |
| 2021-07-08 16:23:58 +0000 | <kosmikus> | viluon: and you can use a singleton type as a proxy to perform induction / case distinctions on types of a kind. |
| 2021-07-08 16:24:06 +0000 | alx741 | (~alx741@181.196.69.147) (Ping timeout: 272 seconds) |
| 2021-07-08 16:24:24 +0000 | cuz | (~user@38.140.58.234) |
| 2021-07-08 16:24:41 +0000 | <kosmikus> | viluon: so what this comment is trying to say is that the `SListI xs` constraint provides such a singleton type for the kind of type-level lists. |
| 2021-07-08 16:24:55 +0000 | <kosmikus> | viluon: it does *not* mean to say that the list must somehow have exactly one element. |
| 2021-07-08 16:25:12 +0000 | <kosmikus> | viluon: but I can see how the current text might give that incorrect impression. |
| 2021-07-08 16:26:13 +0000 | <kosmikus> | viluon: btw, with any current version of generics-sop, explicitly stating this `All SListI xss` constraint on `gPrettyVal'` and `gPrettyVal''` is not actually required. it's already implied by the `All2 PrettyVal xss`. |
| 2021-07-08 16:28:01 +0000 | <kosmikus> | viluon: a simple example of a singleton type would be the GADT `data SBool (b :: Bool) where SFalse :: SBool False; STrue :: SBool True`. |
| 2021-07-08 16:28:01 +0000 | cuz | (~user@38.140.58.234) (Remote host closed the connection) |
| 2021-07-08 16:28:28 +0000 | cuz | (~user@38.140.58.234) |
| 2021-07-08 16:28:29 +0000 | <kosmikus> | viluon: now there's exactly one value `SFalse` corresponding to the type `False`, and one value `STrue` corresponding to the type `True`. |
| 2021-07-08 16:29:01 +0000 | <kosmikus> | viluon: if you want to define something by induction on the kind `Bool`, you can add a parameter of type `SBool b` to it and perform pattern matching on that GADT. |
| 2021-07-08 16:29:35 +0000 | <kosmikus> | viluon: there are a number of variations on this technique, including providing the value of type `SBool` implicitly by means of a type class. |
| 2021-07-08 16:29:41 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 2021-07-08 16:29:51 +0000 | <kosmikus> | viluon: `All SListI xs` does essentially that for the kind of type-level lists. |
| 2021-07-08 16:31:20 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 2021-07-08 16:31:35 +0000 | cheater | (~Username@user/cheater) |
| 2021-07-08 16:37:59 +0000 | alx741 | (~alx741@181.196.68.47) |
| 2021-07-08 16:39:10 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 246 seconds) |
| 2021-07-08 16:39:18 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-07-08 16:39:58 +0000 | <viluon> | kosmikus: thanks for the thorough explanation! |
| 2021-07-08 16:40:58 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 2021-07-08 16:41:31 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 16:46:09 +0000 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 268 seconds) |
| 2021-07-08 16:46:38 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-08 16:47:57 +0000 | jneira[m] | (~jneira@47.red-176-83-116.dynamicip.rima-tde.net) |
| 2021-07-08 16:48:16 +0000 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) (Ping timeout: 246 seconds) |
| 2021-07-08 16:55:05 +0000 | mekeor | (~user@2001:a61:3430:c01:f86:cca7:c1fe:e2b4) |
| 2021-07-08 16:55:47 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 16:57:35 +0000 | <viluon> | kosmikus: so.. with `SListI xs` you can "map" the typelevel `xs` list to a term - a list - which you can perform induction on? But you still don't know anything about its elements? |
| 2021-07-08 16:57:59 +0000 | <viluon> | kosmikus: if so, how's that different to just saying `[x]`? |
| 2021-07-08 16:58:13 +0000 | <viluon> | or `'[x]` |
| 2021-07-08 17:00:20 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 258 seconds) |
| 2021-07-08 17:01:21 +0000 | Deide | (~Deide@217.155.19.23) |
| 2021-07-08 17:01:21 +0000 | Deide | (~Deide@217.155.19.23) (Changing host) |
| 2021-07-08 17:01:21 +0000 | Deide | (~Deide@user/deide) |
| 2021-07-08 17:04:04 +0000 | <kosmikus> | viluon: let's say you want to create something like an `NP (K ()) xs`. |
| 2021-07-08 17:04:33 +0000 | <kosmikus> | viluon: conceptually, it's easy. you just have to repeat `K ()` as often as the type-level list `xs` dictates. but how do you actually do this? |
| 2021-07-08 17:04:57 +0000 | jneira[m] | (~jneira@47.red-176-83-116.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 2021-07-08 17:05:16 +0000 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 268 seconds) |
| 2021-07-08 17:05:18 +0000 | <viluon> | kosmikus: oh, so the constraint part is trivial, the length-preserving mapping is what counts? |
| 2021-07-08 17:05:21 +0000 | <kosmikus> | viluon: if you define `makeNP :: NP (K ()) xs`, you have no inputs whatsoever. nothing you can perform induction on. you cannot look whether `xs` is expected to be empty or not. |
| 2021-07-08 17:05:51 +0000 | <kosmikus> | viluon: that's why you need something extra that'll give you access to the structure of `xs`. |
| 2021-07-08 17:06:58 +0000 | georg | (~georg@84-112-37-146.cable.dynamic.surfer.at) |
| 2021-07-08 17:07:39 +0000 | <kosmikus> | viluon: and that's what the `SListI xs` constraint provides you with. |
| 2021-07-08 17:08:29 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Remote host closed the connection) |
| 2021-07-08 17:08:36 +0000 | <kosmikus> | viluon: (I'm not sure what you mean by length-preserving mapping.) |
| 2021-07-08 17:09:07 +0000 | georg | (~georg@84-112-37-146.cable.dynamic.surfer.at) (Client Quit) |
| 2021-07-08 17:13:47 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 17:18:05 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-08 17:19:25 +0000 | pavonia | (~user@user/siracusa) |
| 2021-07-08 17:25:35 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 17:25:51 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 2021-07-08 17:26:04 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 17:26:35 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) (Ping timeout: 255 seconds) |
| 2021-07-08 17:30:11 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
| 2021-07-08 17:33:40 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
| 2021-07-08 17:36:29 +0000 | cuz | (~user@38.140.58.234) (Ping timeout: 255 seconds) |
| 2021-07-08 17:38:59 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 17:42:51 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 17:42:57 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-07-08 17:43:41 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 255 seconds) |
| 2021-07-08 17:44:39 +0000 | hegstal | (~hegstal@2a02:c7f:7604:8a00:5056:66c0:d6e:186f) |
| 2021-07-08 17:45:21 +0000 | xerxes | (~xerxes@117.222.64.149) (Quit: leaving) |
| 2021-07-08 17:47:17 +0000 | mekeor | (~user@2001:a61:3430:c01:f86:cca7:c1fe:e2b4) (Ping timeout: 255 seconds) |
| 2021-07-08 17:47:42 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 2021-07-08 17:48:59 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 17:55:44 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 17:55:47 +0000 | slep | (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) |
| 2021-07-08 17:59:28 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-07-08 18:00:00 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 252 seconds) |
| 2021-07-08 18:02:26 +0000 | ray | (~ray@user/re) (Ping timeout: 265 seconds) |
| 2021-07-08 18:02:35 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 255 seconds) |
| 2021-07-08 18:03:20 +0000 | ray | (~ray@user/re) |
| 2021-07-08 18:03:32 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 18:06:44 +0000 | cuz | (~user@38.140.58.234) |
| 2021-07-08 18:07:56 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 2021-07-08 18:09:56 +0000 | notzmv | (~zmv@user/notzmv) |
| 2021-07-08 18:11:54 +0000 | cuz | (~user@38.140.58.234) (Ping timeout: 256 seconds) |
| 2021-07-08 18:15:10 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-08 18:15:10 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-07-08 18:17:24 +0000 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) |
| 2021-07-08 18:22:40 +0000 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
| 2021-07-08 18:23:06 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-07-08 18:24:13 +0000 | exilepilot | (~exile8338@host86-164-249-163.range86-164.btcentralplus.com) |
| 2021-07-08 18:24:35 +0000 | zcombinator | (~zcombinat@host-87-7-58-35.retail.telecomitalia.it) (Ping timeout: 240 seconds) |
| 2021-07-08 18:27:53 +0000 | mikail | (~mikail@90.152.14.81) |
| 2021-07-08 18:27:54 +0000 | cuz | (~user@38.140.58.234) |
| 2021-07-08 18:28:26 +0000 | econo | (uid147250@user/econo) |
| 2021-07-08 18:28:57 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
| 2021-07-08 18:29:40 +0000 | hammond_ | (~abner@user/hammond2) (Ping timeout: 252 seconds) |
| 2021-07-08 18:31:03 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-07-08 18:33:57 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 18:35:19 +0000 | flipchan | (~yumman@user/flipchan) |
| 2021-07-08 18:35:40 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-07-08 18:37:55 +0000 | phma | (phma@2001:5b0:210b:a0c8:76df:2981:6329:1c09) (Read error: Connection reset by peer) |
| 2021-07-08 18:39:55 +0000 | phma | (phma@2001:5b0:2172:8bb8:fe9a:4d29:923:26f0) |
| 2021-07-08 18:40:14 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2021-07-08 18:41:49 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-08 18:45:08 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2021-07-08 18:45:39 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 18:47:00 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2021-07-08 18:47:46 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 18:49:31 +0000 | Pickchea | (~private@user/pickchea) |
| 2021-07-08 18:50:24 +0000 | phma | (phma@2001:5b0:2172:8bb8:fe9a:4d29:923:26f0) (Read error: Connection reset by peer) |
| 2021-07-08 18:50:31 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
| 2021-07-08 18:50:39 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 18:51:54 +0000 | xff0x | (~xff0x@2001:1a81:53dc:b800:8c77:48f3:1e3:3060) (Ping timeout: 240 seconds) |
| 2021-07-08 18:52:55 +0000 | xff0x | (~xff0x@2001:1a81:53dc:b800:d9eb:91ca:317b:6253) |
| 2021-07-08 18:52:56 +0000 | <amesgen[m]> | tiny ANN: there does not seem to be a library providing a transformer for `Quote` of template-haskell since 9.0, so I published https://hackage.haskell.org/package/quotet/docs/Control-Monad-Quote.html |
| 2021-07-08 18:53:47 +0000 | phma | (phma@2001:5b0:211c:858:db7c:9aeb:2bd8:1b08) |
| 2021-07-08 18:54:51 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
| 2021-07-08 18:59:52 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 19:01:15 +0000 | <sm[m]> | I upvote the concept of Tiny ANN: :) |
| 2021-07-08 19:01:29 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2021-07-08 19:03:02 +0000 | <amesgen[m]> | Ü |
| 2021-07-08 19:04:47 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-08 19:09:25 +0000 | sonat_suer | (~sonat_sue@24.133.69.243) |
| 2021-07-08 19:12:04 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 252 seconds) |
| 2021-07-08 19:13:57 +0000 | sonat_suer | (~sonat_sue@24.133.69.243) (Client Quit) |
| 2021-07-08 19:15:14 +0000 | ray | (~ray@user/re) (Quit: WeeChat 3.2) |
| 2021-07-08 19:20:11 +0000 | <juri_> | so, how do i get from a Set to NonEmpty in a reasonable fashion (EG: not using fromList $ elems ? ) |
| 2021-07-08 19:20:34 +0000 | <juri_> | quite disappointed that NESet is so old. |
| 2021-07-08 19:22:55 +0000 | <flipchan> | if anyone is interested in haskell work contracts: https://haskell.careers |
| 2021-07-08 19:23:22 +0000 | <lyxia> | juri_: why is that not reasonable |
| 2021-07-08 19:23:51 +0000 | <juri_> | lyxia: stan yells at me for using fromList, since elems MAY be empty. |
| 2021-07-08 19:24:05 +0000 | <amesgen[m]> | juri_: are you looking for this: https://hackage.haskell.org/package/nonempty-containers-0.3.4.1/docs/Data-Set-NonEmpty.html#v:toList |
| 2021-07-08 19:24:26 +0000 | <dminuoso> | juri_: Dont be a slave to your static analyzer tool? |
| 2021-07-08 19:24:38 +0000 | <juri_> | nope. same problem. |
| 2021-07-08 19:24:53 +0000 | <juri_> | dminuoso: I'm trying to get my project to 0 warnings. :P |
| 2021-07-08 19:24:56 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-08 19:25:00 +0000 | <dminuoso> | That sounds like a weird goal. |
| 2021-07-08 19:25:18 +0000 | <dminuoso> | Warnings should tell you about things you care about. Tools like stan are just someone elses opinion. |
| 2021-07-08 19:25:33 +0000 | <juri_> | I've gone from 500 to <50. |
| 2021-07-08 19:26:16 +0000 | <dminuoso> | Linters are not absolute truth. They are a reflection of someone elses opinionated coding style. |
| 2021-07-08 19:26:28 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 19:26:37 +0000 | <dminuoso> | If you insist on stan, tune it to not warn for this instance then. |
| 2021-07-08 19:27:23 +0000 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 2021-07-08 19:30:09 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 19:30:40 +0000 | <s_> | juri_, presumably at some point you check that elems is not empty and handle it appropriately. At that point, you need to convert it to NonEmpty and pass everywhere instead of elems. Depending on the distance between the check and fromList, this may require a big refactoring. |
| 2021-07-08 19:30:58 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2021-07-08 19:31:16 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
| 2021-07-08 19:32:51 +0000 | <juri_> | s_: fair, and an easy opportunity. thanks. |
| 2021-07-08 19:33:48 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-08 19:36:04 +0000 | fendor | (~fendor@91.141.49.3.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-07-08 19:37:19 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2021-07-08 19:39:31 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
| 2021-07-08 19:44:28 +0000 | <dsal> | I'd never tried this stan thing. It seems really angry that I don't `!` all my fields. Also, I use `length` sometimes. |
| 2021-07-08 19:44:59 +0000 | <davean> | dsal: wait, its angry you don't ! your fields? But ... thats not a valid thing to do in general ... |
| 2021-07-08 19:45:01 +0000 | <juri_> | it's pretty angry in general. applying it has made my code a lot cleaner, tho. |
| 2021-07-08 19:45:10 +0000 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 2021-07-08 19:45:18 +0000 | <dsal> | davean: Yeah, because then they're lazy and it might space leak. |
| 2021-07-08 19:45:40 +0000 | <dsal> | I feel like banging a TVar isn't going to do a lot. |
| 2021-07-08 19:45:46 +0000 | <davean> | dsal: I mean, but then they're strict and might cause your program to diverge ... |
| 2021-07-08 19:46:08 +0000 | <dsal> | What do you mean diverge? |
| 2021-07-08 19:46:25 +0000 | <davean> | I mean that a field being strict can cause your program to run forever making no progress |
| 2021-07-08 19:46:57 +0000 | <dsal> | Ah. |
| 2021-07-08 19:47:10 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 2021-07-08 19:50:43 +0000 | <dsal> | Removing that one gives me a few reasonable complaints. Nothing I'm actually going to do anything about, though. |
| 2021-07-08 19:51:30 +0000 | hatz_ | (~user@2a05:f480:1400:f44:5400:3ff:fe6d:f349) () |
| 2021-07-08 19:52:35 +0000 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) |
| 2021-07-08 19:52:49 +0000 | <dsal> | I like tools like this in theory... |
| 2021-07-08 19:53:23 +0000 | <sm[m]> | angry tools ? |
| 2021-07-08 19:53:47 +0000 | <juri_> | I find that when i throw my code at a tool like that, and bend the code, it gets better. i'm not too sure it matters on the tool. |
| 2021-07-08 19:54:59 +0000 | <sm[m]> | I like the tools that are really quite angry but cover it well with a layer of helpful advice :) |
| 2021-07-08 19:55:24 +0000 | <dsal> | I've learned useful stuff from hlint |
| 2021-07-08 19:56:13 +0000 | <davean> | juri_: I mean thats great up to a point, and that point certainly isn't where its flat out wrong |
| 2021-07-08 19:56:13 +0000 | <sm[m]> | +1 and shellcheck! |
| 2021-07-08 19:57:21 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) (Quit: Client closed) |
| 2021-07-08 19:57:37 +0000 | <lyxia> | juri_: ah, there's the total version: https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-List-NonEmpty.html#v:nonEmpty |
| 2021-07-08 19:57:45 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) |
| 2021-07-08 19:57:52 +0000 | <juri_> | lyxia: yep. that's what i used. |
| 2021-07-08 19:58:26 +0000 | alex3 | (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 265 seconds) |
| 2021-07-08 19:58:27 +0000 | guest61 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-07-08 19:59:03 +0000 | <juri_> | my haskell is pretty bad, so i tend to hit it with all of the tools, to try and make it make sense to others. |
| 2021-07-08 19:59:23 +0000 | alex3 | (~alex3@BSN-77-82-41.static.siol.net) |
| 2021-07-08 19:59:31 +0000 | <juri_> | I've written a projective geometric library... and am trying to use it to help get others into haskell. |
| 2021-07-08 19:59:33 +0000 | guest61 | (~xxx@47.245.54.240) |
| 2021-07-08 20:00:23 +0000 | sheepduck | (~sheepduck@user/sheepduck) |
| 2021-07-08 20:00:49 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-07-08 20:01:56 +0000 | jespada | (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-07-08 20:02:50 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) (Quit: Client closed) |
| 2021-07-08 20:03:18 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) |
| 2021-07-08 20:04:35 +0000 | hexreel | (~hr@69.233.98.238) (Quit: WeeChat 3.2) |
| 2021-07-08 20:05:02 +0000 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:ec10:cbf7:f7cc:3882) (Quit: Client closed) |
| 2021-07-08 20:05:19 +0000 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 246 seconds) |
| 2021-07-08 20:05:46 +0000 | juhp | (~juhp@128.106.188.66) (Ping timeout: 272 seconds) |
| 2021-07-08 20:07:10 +0000 | juhp | (~juhp@128.106.188.66) |
| 2021-07-08 20:10:40 +0000 | derelict | (~derelict@user/derelict) (Quit: WeeChat 3.2) |
| 2021-07-08 20:12:38 +0000 | mikail | (~mikail@90.152.14.81) (Ping timeout: 255 seconds) |
| 2021-07-08 20:15:32 +0000 | exilepilot | (~exile8338@host86-164-249-163.range86-164.btcentralplus.com) (Read error: Connection reset by peer) |
| 2021-07-08 20:18:24 +0000 | sm | sm[i] |
| 2021-07-08 20:19:38 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 20:21:22 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2021-07-08 20:22:16 +0000 | sm[i] | (~user@plaintextaccounting/sm) (Quit: ERC (IRC client for Emacs 27.0.50)) |
| 2021-07-08 20:23:39 +0000 | oxide | (~lambda@user/oxide) (Quit: oxide) |
| 2021-07-08 20:23:55 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2021-07-08 20:24:04 +0000 | sm[i] | (~user@plaintextaccounting/sm) |
| 2021-07-08 20:25:46 +0000 | DNH | (~DNH@2a02:8108:1100:16d8:99cf:ff96:88:4a77) |
| 2021-07-08 20:26:21 +0000 | fendor | (~fendor@91.141.49.3.wireless.dyn.drei.com) |
| 2021-07-08 20:27:13 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c72b956384793fd2325b5113.dip0.t-ipconnect.de) |
| 2021-07-08 20:28:50 +0000 | sm[m] | (~sm@plaintextaccounting/sm) (Quit: Reconnecting) |
| 2021-07-08 20:31:03 +0000 | acidjnk | (~acidjnk@p200300d0c72b956384793fd2325b5113.dip0.t-ipconnect.de) |
| 2021-07-08 20:31:12 +0000 | ray | (~ray@user/re) |
| 2021-07-08 20:31:22 +0000 | Trattue | (~Trattue@p200300cfb7002662d870a2e06eb7728b.dip0.t-ipconnect.de) |
| 2021-07-08 20:31:48 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c72b956384793fd2325b5113.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-07-08 20:33:52 +0000 | Trattue | (~Trattue@p200300cfb7002662d870a2e06eb7728b.dip0.t-ipconnect.de) (Client Quit) |
| 2021-07-08 20:44:04 +0000 | maf654321 | (~maf654321@user/maf654321) |
| 2021-07-08 20:44:21 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
| 2021-07-08 20:46:35 +0000 | <lechner> | Hi, is it possible to parse JSON content with optional fields when deriving a generic instance of FromJSON as described here https://www.schoolofhaskell.com/school/starting-with-haskell/libraries-and-frameworks/text-manipul… |
| 2021-07-08 20:49:05 +0000 | maf654321 | (~maf654321@user/maf654321) (Ping timeout: 255 seconds) |
| 2021-07-08 20:53:35 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 2021-07-08 20:55:13 +0000 | maf654321 | (~maf654321@user/maf654321) |
| 2021-07-08 20:56:10 +0000 | <janus> | lechner: if they are Maybe they will be optional afaik |
| 2021-07-08 20:56:28 +0000 | <lechner> | janus: thank you! |
| 2021-07-08 20:58:18 +0000 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Ping timeout: 240 seconds) |
| 2021-07-08 20:58:45 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-07-08 20:59:26 +0000 | ukari | (~ukari@user/ukari) |
| 2021-07-08 20:59:35 +0000 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
| 2021-07-08 21:01:30 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 21:02:44 +0000 | Atum_ | (~IRC@user/atum/x-2392232) (Read error: Connection reset by peer) |
| 2021-07-08 21:04:30 +0000 | sm[m] | (~sm@plaintextaccounting/sm) |
| 2021-07-08 21:04:53 +0000 | sm[m] | (~sm@plaintextaccounting/sm) (Client Quit) |
| 2021-07-08 21:05:10 +0000 | kayprish | (~kayprish@46.240.143.86) |
| 2021-07-08 21:05:21 +0000 | dunj3 | (~dunj3@2001:16b8:3066:7300:d4d1:5d56:be5f:cf84) (Remote host closed the connection) |
| 2021-07-08 21:05:54 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-08 21:07:06 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) (Remote host closed the connection) |
| 2021-07-08 21:07:20 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-08 21:10:11 +0000 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 252 seconds) |
| 2021-07-08 21:11:37 +0000 | dminuoso | (~dminuoso@static.88-198-218-68.clients.your-server.de) (Changing host) |
| 2021-07-08 21:11:37 +0000 | dminuoso | (~dminuoso@user/dminuoso) |
| 2021-07-08 21:12:09 +0000 | rostero | (uid236576@id-236576.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-08 21:13:08 +0000 | viluon | (uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-08 21:15:26 +0000 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds) |
| 2021-07-08 21:15:38 +0000 | Megant_ | (megant@user/megant) (Ping timeout: 258 seconds) |
| 2021-07-08 21:18:20 +0000 | MQ-17J | (~MQ-17J@8.21.10.15) |
| 2021-07-08 21:19:26 +0000 | isekaijin | (~pyon@user/pyon) |
| 2021-07-08 21:21:26 +0000 | jespada | (~jespada@90.254.247.46) |
| 2021-07-08 21:22:20 +0000 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
| 2021-07-08 21:23:54 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-08 21:24:27 +0000 | son0p | (~ff@181.136.122.143) |
| 2021-07-08 21:27:21 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 21:29:55 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-07-08 21:30:11 +0000 | kayprish | (~kayprish@46.240.143.86) (Remote host closed the connection) |
| 2021-07-08 21:32:11 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
| 2021-07-08 21:33:24 +0000 | Megant | (megant@user/megant) |
| 2021-07-08 21:36:05 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Remote host closed the connection) |
| 2021-07-08 21:36:47 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Ping timeout: 255 seconds) |
| 2021-07-08 21:37:30 +0000 | derelict | (~derelict@user/derelict) |
| 2021-07-08 21:40:08 +0000 | trattue | (~trattue@152.70.182.158) |
| 2021-07-08 21:45:09 +0000 | stefan-_ | (~cri@42dots.de) (Ping timeout: 258 seconds) |
| 2021-07-08 21:46:15 +0000 | veverak | (~veverak@ip-89-102-98-161.net.upcbroadband.cz) (Read error: Connection reset by peer) |
| 2021-07-08 21:47:01 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-07-08 21:47:11 +0000 | cuz | (~user@38.140.58.234) (Ping timeout: 246 seconds) |
| 2021-07-08 21:47:44 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-07-08 21:49:46 +0000 | stefan-_ | (~cri@42dots.de) |
| 2021-07-08 21:51:05 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-07-08 21:55:59 +0000 | maf654321 | maf |
| 2021-07-08 21:56:11 +0000 | maf | maf654321` |
| 2021-07-08 21:56:13 +0000 | maf654321` | maf654321 |
| 2021-07-08 21:57:29 +0000 | acidjnk | (~acidjnk@p200300d0c72b956384793fd2325b5113.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2021-07-08 21:57:55 +0000 | maf654321 | (~maf654321@user/maf654321) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-07-08 22:02:03 +0000 | jespada | (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-07-08 22:02:17 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 22:02:44 +0000 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 2021-07-08 22:02:57 +0000 | <koz> | If I want to test whether something _compiles_ (say, if I'm trying to TH stuff up) in an automated way, what's a good thing to use? |
| 2021-07-08 22:02:57 +0000 | sm | (~sm@plaintextaccounting/sm) |
| 2021-07-08 22:03:03 +0000 | jespada | (~jespada@90.254.247.46) |
| 2021-07-08 22:03:18 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) (Quit: Client closed) |
| 2021-07-08 22:03:28 +0000 | <geekosaur> | ghc -fno-code ? |
| 2021-07-08 22:03:41 +0000 | fluffyballoon | (~fluffybal@199.204.58.62) |
| 2021-07-08 22:03:43 +0000 | <koz> | I mean, something similar to unit tests. |
| 2021-07-08 22:03:57 +0000 | <koz> | So I can like, run it as part of a test suite and have it fail if compilation fails. |
| 2021-07-08 22:05:40 +0000 | dminuoso | would also add -O0 to geekosaur's suggestion |
| 2021-07-08 22:05:44 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 252 seconds) |
| 2021-07-08 22:05:52 +0000 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-07-08 22:06:34 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
| 2021-07-08 22:07:26 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
| 2021-07-08 22:10:59 +0000 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Ping timeout: 255 seconds) |
| 2021-07-08 22:13:53 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
| 2021-07-08 22:14:36 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2021-07-08 22:17:21 +0000 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Client Quit) |
| 2021-07-08 22:20:22 +0000 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) |
| 2021-07-08 22:21:40 +0000 | trattue | (~trattue@152.70.182.158) (Quit: bye) |
| 2021-07-08 22:21:47 +0000 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 2021-07-08 22:22:11 +0000 | cheater | (~Username@user/cheater) |
| 2021-07-08 22:29:22 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
| 2021-07-08 22:29:36 +0000 | aerona | (~aerona@2600:6c54:4600:f300:c99c:8727:19f:ba14) |
| 2021-07-08 22:29:56 +0000 | acidjnk | (~acidjnk@p200300d0c72b956384793fd2325b5113.dip0.t-ipconnect.de) |
| 2021-07-08 22:30:09 +0000 | slep | (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Quit: No Ping reply in 180 seconds.) |
| 2021-07-08 22:30:13 +0000 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Ping timeout: 246 seconds) |
| 2021-07-08 22:30:13 +0000 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 246 seconds) |
| 2021-07-08 22:30:22 +0000 | slep | (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) |
| 2021-07-08 22:30:43 +0000 | fendor | (~fendor@91.141.49.3.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 2021-07-08 22:33:01 +0000 | chris-the-slurpa | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-08 22:33:43 +0000 | chris-the-slurpa | (~chris@81.96.113.213) |
| 2021-07-08 22:37:59 +0000 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 255 seconds) |
| 2021-07-08 22:38:53 +0000 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 255 seconds) |
| 2021-07-08 22:42:29 +0000 | acowley | (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
| 2021-07-08 22:50:13 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-08 22:51:10 +0000 | acowley | (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) |
| 2021-07-08 22:52:11 +0000 | kilolympus | (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Read error: Connection reset by peer) |
| 2021-07-08 22:53:53 +0000 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-08 22:53:53 +0000 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 265 seconds) |
| 2021-07-08 22:58:07 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2021-07-08 22:59:19 +0000 | Atum_ | (~IRC@user/atum/x-2392232) |
| 2021-07-08 23:03:10 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-08 23:06:00 +0000 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
| 2021-07-08 23:07:45 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-08 23:07:52 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-08 23:08:10 +0000 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 2021-07-08 23:12:33 +0000 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
| 2021-07-08 23:12:53 +0000 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-07-08 23:13:55 +0000 | ukari | (~ukari@user/ukari) |
| 2021-07-08 23:19:40 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-08 23:24:20 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 2021-07-08 23:25:41 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2021-07-08 23:25:44 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds) |
| 2021-07-08 23:34:14 +0000 | alx741 | (~alx741@181.196.68.47) (Ping timeout: 255 seconds) |
| 2021-07-08 23:38:56 +0000 | <oak-> | I've been doing my first project where I'm writing Haskell code into production system and being paid doing the work, and I must say that I'm amazed how quick I can advance on the project even though I think I'm still quite beginner with Haskell |
| 2021-07-08 23:39:12 +0000 | <oak-> | The client said I can use any programming language I want, so I naturally chose Haskell :D |
| 2021-07-08 23:39:23 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b95631d5780c7e55edf21.dip0.t-ipconnect.de) |
| 2021-07-08 23:40:03 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c72b9563e5efeb4dbf0edadc.dip0.t-ipconnect.de) |
| 2021-07-08 23:40:45 +0000 | <oak-> | The solution is already working quite well, but I think I should probably learn either MTL or Tagless Final to make the code cleaner and more readable |
| 2021-07-08 23:40:45 +0000 | <orzo> | sounds nice |
| 2021-07-08 23:41:00 +0000 | jol | (~jol@jol.dev) |
| 2021-07-08 23:43:08 +0000 | <oak-> | The downside is there won't be not so many hours to bill :D |
| 2021-07-08 23:43:12 +0000 | acidjnk | (~acidjnk@p200300d0c72b956384793fd2325b5113.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-07-08 23:43:43 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-08 23:44:04 +0000 | <orzo> | last time i used haskell in production, i was bitten by the poor cross support |
| 2021-07-08 23:44:11 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b95631d5780c7e55edf21.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-07-08 23:44:16 +0000 | <orzo> | it was a long time ago |
| 2021-07-08 23:44:35 +0000 | <orzo> | but ghc still isn't well known for being a great cross compiler |
| 2021-07-08 23:45:42 +0000 | <orzo> | it's surely better now than then though |
| 2021-07-08 23:46:02 +0000 | <orzo> | still, i wished it "just worked" |
| 2021-07-08 23:46:05 +0000 | <oak-> | I'm doing development on Mac and then using virtual machine with Ubuntu (because the target system is using Ubuntu) to build the code and package it to .deb package, and then just deploy the .deb package to target system |
| 2021-07-08 23:46:05 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 2021-07-08 23:46:21 +0000 | <oak-> | At least on Mac Os and Linux it runs, I haven't tried Windows :P |
| 2021-07-08 23:46:37 +0000 | <orzo> | i was on mac too |
| 2021-07-08 23:46:44 +0000 | <orzo> | years ago |
| 2021-07-08 23:46:47 +0000 | <orzo> | say 2008 |
| 2021-07-08 23:46:50 +0000 | justache | (~justache@user/justache) (Read error: Connection reset by peer) |
| 2021-07-08 23:47:10 +0000 | <orzo> | it sounds like you got a nice dev enviro setup |
| 2021-07-08 23:47:44 +0000 | justache | (~justache@user/justache) |
| 2021-07-08 23:47:50 +0000 | <orzo> | it's annoying how everything takes tons of resources to build nowadays |
| 2021-07-08 23:48:01 +0000 | <orzo> | i'm using an old laptop as my main computer |
| 2021-07-08 23:48:09 +0000 | <orzo> | that i do all my dev on |
| 2021-07-08 23:48:31 +0000 | <orzo> | there's no reason why projects can't build on this machine |
| 2021-07-08 23:48:49 +0000 | <orzo> | i'm particularly annoyed with the latest android tools |
| 2021-07-08 23:48:52 +0000 | <orzo> | not haskell related |
| 2021-07-08 23:49:19 +0000 | <oak-> | I have also done Android development in the past in various companies |
| 2021-07-08 23:49:29 +0000 | <orzo> | i wish i could write android in haskell and use only ghc to make an apk file |
| 2021-07-08 23:49:39 +0000 | <oak-> | Like at the operating system level, built the whole Android image from the source |
| 2021-07-08 23:49:49 +0000 | <orzo> | oh right |
| 2021-07-08 23:49:53 +0000 | <orzo> | that's what i wish i could avoid |
| 2021-07-08 23:50:12 +0000 | <orzo> | but just using the sdk/studio seems to be almost as much resources as the whole os |
| 2021-07-08 23:50:15 +0000 | <oak-> | Even with the latest hardware the clean build seems to take ~1 hour |
| 2021-07-08 23:50:44 +0000 | <oak-> | Last Android I was building was the 8.1 or something, I haven't tried to build the latest 11 version |
| 2021-07-08 23:51:47 +0000 | <oak-> | There's just massive amounts of Java code on the Android operating system, especially in the frameworks/base |
| 2021-07-08 23:51:59 +0000 | <oak-> | Yeah, isn't the Android Studio based on IntelliJ IDEA or something |
| 2021-07-08 23:52:19 +0000 | <orzo> | i'd like a way to just build apk files from java source and resources using gnu make or something |
| 2021-07-08 23:52:22 +0000 | <koz> | oak-: Yep, I believe so. |
| 2021-07-08 23:52:38 +0000 | <orzo> | we shouldn't need a huge sdk |
| 2021-07-08 23:52:46 +0000 | <orzo> | android is just a linux distro ultimately |
| 2021-07-08 23:54:33 +0000 | <oak-> | Last time I did Android App development I just used NeoVim from the shell and built with Gradle from the shell |
| 2021-07-08 23:54:39 +0000 | <oak-> | It still uses quite much resources though |
| 2021-07-08 23:55:47 +0000 | <orzo> | is there some reason why community people cant maintain an alternate build system for android? |
| 2021-07-08 23:56:10 +0000 | <orzo> | it seems simple in principle, just pack .dex files and .res files into an .apk zip |
| 2021-07-08 23:56:37 +0000 | <orzo> | gradle would be an improvement over the studio maybe, but i'm currently annoyed with it too |
| 2021-07-08 23:57:18 +0000 | <orzo> | i think letting google maintain all the dev tools for android is not working out |
| 2021-07-08 23:57:21 +0000 | <oak-> | Doesn't Studio use Gradle in the background? |
| 2021-07-08 23:57:24 +0000 | <orzo> | yes |
| 2021-07-08 23:57:31 +0000 | <orzo> | but i don't know how to use gradle |
| 2021-07-08 23:57:41 +0000 | <orzo> | i'm coming back to android after a long hiatus |
| 2021-07-08 23:57:41 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-08 23:57:48 +0000 | <orzo> | back in my day it was eclipse and ant |
| 2021-07-08 23:58:41 +0000 | <oak-> | Gradle seems fine as long at it works :D |
| 2021-07-08 23:58:46 +0000 | <orzo> | i have good makefile skills, so its a little annoying to have to work with these super ambitious build systems that ultimately just disable incremental builds |
| 2021-07-08 23:59:47 +0000 | <oak-> | I tried Eta (compiler which compiles Haskell to Java bytecode) a year ago, and it was pain to work around all the tooling |