2020-12-04 00:01:08 +0100 | <iqubic> | I see. Is it possible to use this for other things like as the argument to typed? https://hackage.haskell.org/package/generic-lens-2.0.0.0/docs/Data-Generics-Product-Typed.html#t:H… |
2020-12-04 00:01:11 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
2020-12-04 00:01:12 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-12-04 00:01:36 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
2020-12-04 00:02:08 +0100 | <iqubic> | Or would I still need to use type applications? |
2020-12-04 00:02:29 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
2020-12-04 00:02:31 +0100 | rdivacky | (~rdivacky@212.96.173.4) (Read error: Connection reset by peer) |
2020-12-04 00:02:45 +0100 | alp | (~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) (Ping timeout: 272 seconds) |
2020-12-04 00:03:34 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-04 00:03:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 00:04:28 +0100 | <dminuoso> | That doesn't make much sense.. |
2020-12-04 00:05:50 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2020-12-04 00:07:47 +0100 | rdivacky | (~rdivacky@212.96.173.4) |
2020-12-04 00:08:08 +0100 | <sondr3> | I have a weird problem doing lookups in a Map: https://gist.github.com/sondr3/c76dd36778cef870daff78b32051e228. It's a `Map Text Bool` and looking up "*" fails but "/" and any other texts work |
2020-12-04 00:08:12 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 00:10:13 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving) |
2020-12-04 00:11:54 +0100 | <dminuoso> | % m = M.fromAscList [("+", True),("-",False),("/",True),("*",True)]; m :: M.Map String Boo |
2020-12-04 00:11:54 +0100 | <yahb> | dminuoso: ; <interactive>:49:86: error:; Not in scope: type constructor or class `Boo'; Perhaps you meant `Bool' (imported from Prelude) |
2020-12-04 00:11:56 +0100 | <dminuoso> | % m = M.fromAscList [("+", True),("-",False),("/",True),("*",True)]; m :: M.Map String Bool |
2020-12-04 00:11:56 +0100 | <yahb> | dminuoso: |
2020-12-04 00:12:04 +0100 | <dminuoso> | % M.lookup "*" m |
2020-12-04 00:12:04 +0100 | <yahb> | dminuoso: Nothing |
2020-12-04 00:12:15 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
2020-12-04 00:12:24 +0100 | <dminuoso> | % print m |
2020-12-04 00:12:24 +0100 | <yahb> | dminuoso: fromList [("+",True),("-",False),("/",True),("*",True)] |
2020-12-04 00:12:25 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
2020-12-04 00:12:33 +0100 | <dminuoso> | % lookup "*" (M.toList m) |
2020-12-04 00:12:34 +0100 | <yahb> | dminuoso: Just True |
2020-12-04 00:12:37 +0100 | <dminuoso> | huh |
2020-12-04 00:15:24 +0100 | <sondr3> | At least it's not just me |
2020-12-04 00:15:25 +0100 | <dminuoso> | Oh |
2020-12-04 00:15:28 +0100 | <dminuoso> | M.fromAscList |
2020-12-04 00:15:43 +0100 | <dminuoso> | You're probably violating the precondition that the keys are ascending |
2020-12-04 00:15:55 +0100 | <dminuoso> | % "*" > "/" |
2020-12-04 00:15:56 +0100 | <yahb> | dminuoso: False |
2020-12-04 00:15:59 +0100 | <dminuoso> | There you go. |
2020-12-04 00:16:04 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-04 00:16:09 +0100 | <dminuoso> | (It will not check) |
2020-12-04 00:16:16 +0100 | <sondr3> | Oh, I had no idea that was a thing |
2020-12-04 00:16:20 +0100 | <dminuoso> | "O(n). Build a map from an ascending list in linear time. The precondition (input list is ascending) is not checked." |
2020-12-04 00:16:24 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 240 seconds) |
2020-12-04 00:16:52 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-04 00:17:04 +0100 | <sondr3> | Oh lord, yeah, I have no idea why I chose that over just M.fromList |
2020-12-04 00:17:20 +0100 | <sondr3> | That's a brainfart |
2020-12-04 00:17:31 +0100 | <sondr3> | Thanks dminuoso |
2020-12-04 00:19:27 +0100 | fendor | (~fendor@91.141.2.63.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-04 00:19:44 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 00:20:06 +0100 | ph88 | (~ph88@95.90.246.205) (Ping timeout: 256 seconds) |
2020-12-04 00:21:57 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 00:22:24 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 00:22:33 +0100 | isovector1 | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) ("Leaving") |
2020-12-04 00:23:03 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
2020-12-04 00:23:34 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2020-12-04 00:25:48 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 00:26:25 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-04 00:27:37 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
2020-12-04 00:32:58 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
2020-12-04 00:33:19 +0100 | <koz_> | :t intercalate |
2020-12-04 00:33:22 +0100 | <lambdabot> | [a] -> [[a]] -> [a] |
2020-12-04 00:33:27 +0100 | <koz_> | :t intersperse |
2020-12-04 00:33:29 +0100 | <lambdabot> | a -> [a] -> [a] |
2020-12-04 00:34:09 +0100 | urek__ | (~urek@2804:7f1:e10a:9644:2492:fd7b:c739:6641) |
2020-12-04 00:35:41 +0100 | urek | (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Ping timeout: 272 seconds) |
2020-12-04 00:37:23 +0100 | <koz_> | @hoogle intersperse |
2020-12-04 00:37:23 +0100 | <lambdabot> | Data.List intersperse :: a -> [a] -> [a] |
2020-12-04 00:37:23 +0100 | <lambdabot> | Data.List.NonEmpty intersperse :: a -> NonEmpty a -> NonEmpty a |
2020-12-04 00:37:23 +0100 | <lambdabot> | GHC.OldList intersperse :: a -> [a] -> [a] |
2020-12-04 00:37:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-04 00:37:50 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
2020-12-04 00:38:43 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 00:40:52 +0100 | ces | (~ces@52d3c113.dynamic-ip.k-net.dk) (Ping timeout: 272 seconds) |
2020-12-04 00:41:04 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
2020-12-04 00:44:06 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
2020-12-04 00:46:25 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-04 00:46:26 +0100 | kupi | (uid212005@gateway/web/irccloud.com/x-jthauiwdetxrewvw) |
2020-12-04 00:48:23 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-04 00:50:57 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 00:51:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 00:52:21 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 00:52:54 +0100 | dhil | (~dhil@195.213.192.34) (Ping timeout: 272 seconds) |
2020-12-04 00:54:10 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-12-04 00:56:02 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
2020-12-04 00:56:03 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-12-04 00:56:06 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
2020-12-04 00:59:05 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection) |
2020-12-04 01:01:45 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-12-04 01:02:08 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 01:03:51 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 01:04:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 01:05:40 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-04 01:08:11 +0100 | hackage | language-dickinson 1.4.1.2 - A language for generative literature https://hackage.haskell.org/package/language-dickinson-1.4.1.2 (vmchale) |
2020-12-04 01:08:40 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 01:09:01 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-12-04 01:09:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2020-12-04 01:10:20 +0100 | _linker_ | (~linker@2a02:a31a:a041:9a80:2cd0:74ec:fa0:a975) (Remote host closed the connection) |
2020-12-04 01:11:48 +0100 | p8m_ | (p8m@gateway/vpn/protonvpn/p8m) |
2020-12-04 01:11:55 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 01:12:02 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a1c2:b119:a4c8:3942:7eb) |
2020-12-04 01:15:42 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds) |
2020-12-04 01:16:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-12-04 01:19:20 +0100 | <texasmynsted> | is there a way to derive a Show instance for a type from an included module? Example: https://jaspervdj.be/hakyll/reference/src/Hakyll-Web-Template-Context.html |
2020-12-04 01:19:28 +0100 | <texasmynsted> | I want to show Context |
2020-12-04 01:20:19 +0100 | <hpc> | turn on orphan instances, and you need its data constructors in scope |
2020-12-04 01:21:01 +0100 | p8m_ | p8m |
2020-12-04 01:21:07 +0100 | <hpc> | you won't be able to show Context values though, there's no Show instance for functions |
2020-12-04 01:21:35 +0100 | <hpc> | if you did write one, the best you could get is show = const "Context <function>" or something along those lines |
2020-12-04 01:22:33 +0100 | sondr3 | (~sondr3@cm-84.211.56.132.getinternet.no) (Quit: Leaving) |
2020-12-04 01:23:09 +0100 | <texasmynsted> | Isn't Context just a newtype wrapper to provide a monoid? |
2020-12-04 01:23:44 +0100 | <texasmynsted> | hmm. I just want to see all the fields in the Context. |
2020-12-04 01:24:22 +0100 | <hpc> | newtype Context a = Context {unContext :: String -> [String] -> Item a -> Compiler ContextField} |
2020-12-04 01:24:39 +0100 | <hpc> | it has one field, unContext |
2020-12-04 01:24:45 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
2020-12-04 01:24:46 +0100 | <hpc> | which is a function that takes etc etc |
2020-12-04 01:24:58 +0100 | <hpc> | you can't show what parameters the function takes because it hasn't been given any yet |
2020-12-04 01:25:22 +0100 | <texasmynsted> | right okay |
2020-12-04 01:26:48 +0100 | tessier | (~treed@98.171.210.130) |
2020-12-04 01:26:48 +0100 | tessier | (~treed@98.171.210.130) (Changing host) |
2020-12-04 01:26:48 +0100 | tessier | (~treed@kernel-panic/copilotco) |
2020-12-04 01:28:41 +0100 | jespada | (~jespada@90.254.245.49) |
2020-12-04 01:34:01 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
2020-12-04 01:36:15 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2020-12-04 01:38:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 01:38:40 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 01:38:48 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 01:39:10 +0100 | Tops2 | (~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2020-12-04 01:42:30 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 256 seconds) |
2020-12-04 01:42:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 01:48:41 +0100 | nkatte | (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) |
2020-12-04 01:54:06 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-04 01:55:47 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 01:56:12 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 01:57:54 +0100 | pent | (sid313808@gateway/web/irccloud.com/x-xqrqvlzrksrgsiqc) (Ping timeout: 244 seconds) |
2020-12-04 01:57:59 +0100 | dmj` | (sid72307@gateway/web/irccloud.com/x-zlqjhjlnfrbzhlnn) (Ping timeout: 244 seconds) |
2020-12-04 01:57:59 +0100 | rann | (sid175221@gateway/web/irccloud.com/x-hjffvubjrurprbtl) (Ping timeout: 244 seconds) |
2020-12-04 01:57:59 +0100 | PatrickRobotham_ | (sid18270@gateway/web/irccloud.com/x-dijdrdskgiequney) (Ping timeout: 244 seconds) |
2020-12-04 01:57:59 +0100 | stylewarning | (stylewarni@gateway/web/irccloud.com/x-kgzvevvekhekeqvf) (Ping timeout: 244 seconds) |
2020-12-04 01:58:38 +0100 | PatrickRobotham_ | (sid18270@gateway/web/irccloud.com/x-aeyrfpqtngtucpch) |
2020-12-04 01:58:40 +0100 | pent | (sid313808@gateway/web/irccloud.com/x-myformzqndtngank) |
2020-12-04 01:58:49 +0100 | stylewarning | (stylewarni@gateway/web/irccloud.com/x-qyrbdxfrgqvtmbve) |
2020-12-04 01:59:32 +0100 | dmj` | (sid72307@gateway/web/irccloud.com/x-bxoewkcbisfzckva) |
2020-12-04 01:59:38 +0100 | rann | (sid175221@gateway/web/irccloud.com/x-alttaaqufafgtfty) |
2020-12-04 02:02:43 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
2020-12-04 02:03:12 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 272 seconds) |
2020-12-04 02:04:52 +0100 | nisstyre | (~wes@python-zero/conduct-committee/nisstyre) (Quit: WeeChat 2.9) |
2020-12-04 02:06:25 +0100 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) (Ping timeout: 240 seconds) |
2020-12-04 02:06:38 +0100 | nisstyre | (~wes@python-zero/conduct-committee/nisstyre) |
2020-12-04 02:09:05 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 02:11:10 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-04 02:11:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 02:13:02 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds) |
2020-12-04 02:13:18 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2020-12-04 02:13:40 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
2020-12-04 02:16:43 +0100 | bcasiello | (~brian@071-088-110-201.res.spectrum.com) |
2020-12-04 02:16:52 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2020-12-04 02:20:47 +0100 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) |
2020-12-04 02:30:06 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 256 seconds) |
2020-12-04 02:30:40 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 256 seconds) |
2020-12-04 02:33:16 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 02:40:53 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
2020-12-04 02:43:54 +0100 | Lord_of_Life_ | (~Lord@46.217.221.156) |
2020-12-04 02:44:18 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds) |
2020-12-04 02:45:44 +0100 | Lord_of_Life_ | Lord_of_Life |
2020-12-04 02:48:13 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 260 seconds) |
2020-12-04 02:49:15 +0100 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2020-12-04 02:50:02 +0100 | Alleria_ | (~AllahuAkb@2604:2000:1484:26:5ce:3f03:877d:a85e) |
2020-12-04 02:51:53 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-04 02:52:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 02:55:02 +0100 | darjeeling_ | (~darjeelin@122.245.218.196) (Ping timeout: 260 seconds) |
2020-12-04 02:55:11 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) |
2020-12-04 02:58:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2020-12-04 02:59:12 +0100 | <Feuermagier> | is there a function like "init" but for the first element of a list? |
2020-12-04 02:59:41 +0100 | <Feuermagier> | oh, wait |
2020-12-04 02:59:43 +0100 | <jle`> | Feuermagier: what would it return for [1,2,3] ? |
2020-12-04 02:59:44 +0100 | <Feuermagier> | thats just tail |
2020-12-04 02:59:50 +0100 | <Feuermagier> | lol |
2020-12-04 03:00:24 +0100 | <jle`> | iqubic: just import https://hackage.haskell.org/package/generic-lens-2.0.0.0/docs/Data-Generics-Labels.html |
2020-12-04 03:06:53 +0100 | <iqubic> | jle`: And then all the lenses I need will be automatically created when I |
2020-12-04 03:07:06 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-12-04 03:07:14 +0100 | <iqubic> | When I use "#foo" as the lens name? |
2020-12-04 03:08:41 +0100 | hackage | kempe 0.1.0.1 - Kempe compiler https://hackage.haskell.org/package/kempe-0.1.0.1 (vmchale) |
2020-12-04 03:09:25 +0100 | jmchael | (~Chi1thang@87.112.60.168) (Ping timeout: 240 seconds) |
2020-12-04 03:09:30 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 260 seconds) |
2020-12-04 03:09:57 +0100 | <siraben> | Has anyone got https://github.com/mathandley/AutoBench to build via Nix? |
2020-12-04 03:10:51 +0100 | Amras | (~Amras@unaffiliated/amras) (Ping timeout: 272 seconds) |
2020-12-04 03:11:00 +0100 | <jle`> | iqubic: you'd need a Generic instance for your data type |
2020-12-04 03:11:15 +0100 | <iqubic> | Oh. But can't I derive that for free? |
2020-12-04 03:11:34 +0100 | <jle`> | yeah, you can derive it with GHC |
2020-12-04 03:11:39 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-04 03:11:47 +0100 | argent0 | (~argent0@168.227.97.34) |
2020-12-04 03:12:28 +0100 | <iqubic> | Yeah. I was thinking I could derive that for free like I can with Eq and Show and Ord and such. |
2020-12-04 03:12:55 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 03:13:52 +0100 | st8less | (~st8less@2603:a060:11fd:0:3c0a:a808:d920:6dc7) (Ping timeout: 260 seconds) |
2020-12-04 03:14:08 +0100 | <exarkun> | I never noticed stack.yaml.lock files before. What do I do with these? Check them into vcs? Ignore them? |
2020-12-04 03:14:39 +0100 | st8less | (~st8less@2603:a060:11fd:0:ed90:283:d17e:16d7) |
2020-12-04 03:15:40 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:a1c2:b119:a4c8:3942:7eb) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 03:17:18 +0100 | solonarv | (~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr) (Ping timeout: 272 seconds) |
2020-12-04 03:17:32 +0100 | benoitj | (~benoitj@bras-base-mtrlpq3708w-grc-25-76-65-84-134.dsl.bell.ca) |
2020-12-04 03:17:34 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@171.5.167.167) |
2020-12-04 03:17:41 +0100 | <int-e> | $SEARCHENGINE suggests https://docs.haskellstack.org/en/stable/lock_files/ |
2020-12-04 03:18:21 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) |
2020-12-04 03:19:42 +0100 | <exarkun> | How prosaic. |
2020-12-04 03:19:45 +0100 | <exarkun> | Thanks. |
2020-12-04 03:20:36 +0100 | <int-e> | (not sure what the best practice is. my gut feeling would be to ignore them unless build plans are actually fragile) |
2020-12-04 03:20:59 +0100 | andi- | (~andi-@NixOS/user/andi-) (Ping timeout: 272 seconds) |
2020-12-04 03:21:18 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:1d8:e345:7859:18b9) |
2020-12-04 03:21:44 +0100 | int-e | is not a stack user though |
2020-12-04 03:22:03 +0100 | benjamingr__ | (uid23465@gateway/web/irccloud.com/x-jvjqyyvaxiprykpx) (Quit: Connection closed for inactivity) |
2020-12-04 03:22:35 +0100 | guest124 | (~user@49.5.6.87) |
2020-12-04 03:22:39 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) |
2020-12-04 03:23:38 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 272 seconds) |
2020-12-04 03:24:25 +0100 | xff0x | (~fox@port-92-193-204-144.dynamic.as20676.net) (Ping timeout: 246 seconds) |
2020-12-04 03:25:16 +0100 | sleblanc | (~sleblanc@unaffiliated/sebleblanc) |
2020-12-04 03:25:53 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2020-12-04 03:27:19 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 03:28:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 03:28:33 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-04 03:29:37 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-088-072-167-020.088.072.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2020-12-04 03:31:30 +0100 | conal_ | (~conal@64.71.133.70) |
2020-12-04 03:32:02 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
2020-12-04 03:33:00 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2020-12-04 03:33:01 +0100 | borne | (~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2020-12-04 03:33:24 +0100 | FreeBirdLjj | (~freebirdl@101.228.42.108) |
2020-12-04 03:34:10 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) |
2020-12-04 03:34:20 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) (Remote host closed the connection) |
2020-12-04 03:34:34 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) |
2020-12-04 03:36:10 +0100 | andi- | (~andi-@NixOS/user/andi-) |
2020-12-04 03:41:52 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-04 03:41:59 +0100 | darjeeling_ | (~darjeelin@112.16.171.8) |
2020-12-04 03:42:39 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-04 03:43:53 +0100 | Gigabitten | (~Somn@098-127-002-172.res.spectrum.com) |
2020-12-04 03:44:19 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-002-203-233-025.002.203.pools.vodafone-ip.de) |
2020-12-04 03:47:02 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 03:47:44 +0100 | FreeBirdLjj | (~freebirdl@101.228.42.108) (Remote host closed the connection) |
2020-12-04 03:48:20 +0100 | FreeBirdLjj | (~freebirdl@101.228.42.108) |
2020-12-04 03:50:05 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-04 03:51:37 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-04 03:52:50 +0100 | FreeBirdLjj | (~freebirdl@101.228.42.108) (Ping timeout: 256 seconds) |
2020-12-04 03:58:12 +0100 | hackage | taffybar 3.2.3 - A desktop bar similar to xmobar, but with more GUI https://hackage.haskell.org/package/taffybar-3.2.3 (eyevanmalicesun) |
2020-12-04 04:01:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-04 04:02:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2020-12-04 04:04:03 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 04:05:13 +0100 | shatriff | (~vitaliish@176.52.219.10) (Ping timeout: 260 seconds) |
2020-12-04 04:05:45 +0100 | kupi | (uid212005@gateway/web/irccloud.com/x-jthauiwdetxrewvw) (Quit: Connection closed for inactivity) |
2020-12-04 04:06:00 +0100 | conal_ | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 04:07:40 +0100 | nkatte | (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Quit: nkatte) |
2020-12-04 04:08:53 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 04:09:59 +0100 | drbean | (~drbean@TC210-63-209-76.static.apol.com.tw) |
2020-12-04 04:10:52 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
2020-12-04 04:14:31 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-04 04:15:06 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Read error: Connection reset by peer) |
2020-12-04 04:15:12 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-04 04:16:07 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-12-04 04:17:44 +0100 | st8less | (~st8less@2603:a060:11fd:0:ed90:283:d17e:16d7) (Ping timeout: 240 seconds) |
2020-12-04 04:19:53 +0100 | st8less | (~st8less@inet-167-224-197-181.isp.ozarksgo.net) |
2020-12-04 04:20:00 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-04 04:20:16 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-04 04:21:16 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2020-12-04 04:26:19 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 04:26:43 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 04:28:40 +0100 | keviv_ | (~keviv@35.142.17.117) (Quit: Leaving) |
2020-12-04 04:29:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 04:29:48 +0100 | catchme | (uid355354@gateway/web/irccloud.com/x-tmcodhvuaxunpqgn) (Quit: Connection closed for inactivity) |
2020-12-04 04:30:08 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-04 04:31:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-04 04:31:23 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-04 04:33:50 +0100 | lagothrix | Guest9998 |
2020-12-04 04:33:50 +0100 | Guest9998 | (~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services))) |
2020-12-04 04:33:56 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-12-04 04:34:01 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-12-04 04:34:12 +0100 | nolrai | (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) |
2020-12-04 04:34:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-12-04 04:35:34 +0100 | <nolrai> | So I want to get the file and line number like what an assert gets you but in my own error handler..is there an easier then throwing an assert then catching it? |
2020-12-04 04:35:37 +0100 | theDon | (~td@muedsl-82-207-238-021.citykom.de) (Ping timeout: 264 seconds) |
2020-12-04 04:36:32 +0100 | <nolrai> | I could swear I've read an article on how to do this, but it was a while ago. |
2020-12-04 04:37:08 +0100 | theDon | (~td@94.134.91.27) |
2020-12-04 04:40:01 +0100 | <nolrai> | Man its quiet in here, I used to there being some weird conversation here at all times. Or is my memory playing tricks on me? |
2020-12-04 04:45:04 +0100 | haroldwu_ | (uid13653@gateway/web/irccloud.com/x-byqcdnfpqmwwdvpe) |
2020-12-04 04:47:50 +0100 | <Vulfe> | hey, anyone seen any good deals on left kan extensions recently? |
2020-12-04 04:52:54 +0100 | <jle`> | fresh outta left, only got rights now |
2020-12-04 04:53:16 +0100 | <Axman6> | bloody typical |
2020-12-04 04:53:25 +0100 | <Axman6> | no one needs rights |
2020-12-04 04:53:53 +0100 | <int-e> | with that attitude, you have no leg to stand on |
2020-12-04 04:54:13 +0100 | BlackCapCoder | (~blackcap@48.80-203-23.nextgentel.com) (Ping timeout: 264 seconds) |
2020-12-04 04:54:22 +0100 | <int-e> | (anything to get away from c**egory the**y) |
2020-12-04 04:54:56 +0100 | darjeeling_ | (~darjeelin@112.16.171.8) (Ping timeout: 240 seconds) |
2020-12-04 04:55:56 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
2020-12-04 04:56:22 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2020-12-04 04:57:55 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-04 04:59:36 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) (Quit: TooDifficult) |
2020-12-04 05:00:01 +0100 | alexelcu_ | (~alexelcu@142.93.180.198) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-04 05:00:04 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) |
2020-12-04 05:00:30 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 05:00:54 +0100 | alexelcu | (~alexelcu@142.93.180.198) |
2020-12-04 05:03:21 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
2020-12-04 05:05:35 +0100 | alp | (~alp@2a01:e0a:58b:4920:a8f4:c286:6432:c306) |
2020-12-04 05:08:39 +0100 | urek__ | (~urek@2804:7f1:e10a:9644:2492:fd7b:c739:6641) (Ping timeout: 272 seconds) |
2020-12-04 05:08:50 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-12-04 05:08:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 05:10:28 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-12-04 05:13:18 +0100 | contiver | (~contiver@84-115-64-26.wifi.dynamic.surfer.at) |
2020-12-04 05:13:28 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 05:14:17 +0100 | contiver | (~contiver@84-115-64-26.wifi.dynamic.surfer.at) (Remote host closed the connection) |
2020-12-04 05:14:34 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) (Ping timeout: 260 seconds) |
2020-12-04 05:15:02 +0100 | contiver | (~contiver@84-115-64-26.wifi.dynamic.surfer.at) |
2020-12-04 05:15:14 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) (Quit: TooDifficult) |
2020-12-04 05:15:42 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) |
2020-12-04 05:15:46 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) (Remote host closed the connection) |
2020-12-04 05:16:13 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) |
2020-12-04 05:16:15 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 05:16:39 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 05:17:51 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 244 seconds) |
2020-12-04 05:19:14 +0100 | contiver | (~contiver@84-115-64-26.wifi.dynamic.surfer.at) (Remote host closed the connection) |
2020-12-04 05:19:57 +0100 | contiver | (~contiver@84-115-64-26.wifi.dynamic.surfer.at) |
2020-12-04 05:21:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
2020-12-04 05:21:22 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) (Quit: TooDifficult) |
2020-12-04 05:22:19 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) |
2020-12-04 05:22:50 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 05:23:05 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2020-12-04 05:23:05 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 05:23:25 +0100 | darjeeling_ | (~darjeelin@112.16.171.8) |
2020-12-04 05:25:16 +0100 | contiver | (~contiver@84-115-64-26.wifi.dynamic.surfer.at) (Read error: Connection reset by peer) |
2020-12-04 05:26:18 +0100 | Wuzzy | (~Wuzzy@p549c9976.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-12-04 05:27:28 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-04 05:32:53 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 05:33:03 +0100 | mounty | (~mounty@210.1.196.133) |
2020-12-04 05:34:26 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-04 05:37:24 +0100 | TooDifficult | (~TooDiffic@139.59.59.230) (Quit: TooDifficult) |
2020-12-04 05:38:23 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ) |
2020-12-04 05:38:55 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-04 05:40:16 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
2020-12-04 05:41:15 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-04 05:42:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-04 05:43:01 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 05:43:26 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 05:43:48 +0100 | christo | (~chris@81.96.113.213) |
2020-12-04 05:43:48 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-04 05:44:12 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-04 05:44:15 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) |
2020-12-04 05:45:57 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
2020-12-04 05:47:49 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 05:47:55 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
2020-12-04 05:47:56 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
2020-12-04 05:48:37 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) (Ping timeout: 246 seconds) |
2020-12-04 05:54:48 +0100 | sagax | (~sagax_nb@213.138.71.146) |
2020-12-04 05:55:07 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 05:56:42 +0100 | xcmw | (~textual@2607:f388:1080:2::c2) |
2020-12-04 05:56:45 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 05:57:10 +0100 | BlackCapCoder | (~blackcap@48.80-203-23.nextgentel.com) |
2020-12-04 05:57:32 +0100 | crestfallen | (~jvw@192-184-135-144.fiber.dynamic.sonic.net) |
2020-12-04 05:57:44 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 05:57:52 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 06:00:09 +0100 | <crestfallen> | hi how do I write something like this is a parser do block? : guard $ notElem (x:xs) keywords ( I saw this in a question on SO re: parsing variable names, but I'm not sure if it's riddled with errors or deprecated ) thanks |
2020-12-04 06:00:41 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 06:00:42 +0100 | lpy | (~nyd@unaffiliated/elysian) (Ping timeout: 272 seconds) |
2020-12-04 06:01:01 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 06:01:13 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:5edc:6c03:7218:210e) (Ping timeout: 272 seconds) |
2020-12-04 06:01:37 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 06:01:49 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 06:02:24 +0100 | texasmynsted | (~texasmyns@212.102.45.103) (Remote host closed the connection) |
2020-12-04 06:02:49 +0100 | <crestfallen> | (I've never used the 'guard' keyword? or if it even exists .. and the OP was just guessing at a solution) |
2020-12-04 06:03:14 +0100 | <crestfallen> | correction "or whether the OP was just guessing..." |
2020-12-04 06:04:00 +0100 | shadowdaemon | (~user@unaffiliated/shadowdaemon) (Read error: Connection reset by peer) |
2020-12-04 06:05:22 +0100 | shadowdaemon | (~user@unaffiliated/shadowdaemon) |
2020-12-04 06:08:01 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 06:08:21 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@171.5.167.167) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 06:10:46 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 06:12:05 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
2020-12-04 06:12:18 +0100 | <crestfallen> | i.e. is there a keyword called "keywords". I cannot find that in the docs |
2020-12-04 06:12:39 +0100 | <arahael> | How do I install sqlite-simple using cabal? I'm trying `cabal install sqlite-simple`, but it doesn't work. (apparently it doesn't contain any executables) |
2020-12-04 06:13:44 +0100 | <arahael> | Adding it to the cabal file of the current project and building *that*, however, does bring it in, but I'm a bit confused because the documentation for sqlite-simple says I can install it with that command... |
2020-12-04 06:13:49 +0100 | <arahael> | https://github.com/nurpax/sqlite-simple |
2020-12-04 06:14:42 +0100 | xcmw | (~textual@2607:f388:1080:2::c2) (Ping timeout: 260 seconds) |
2020-12-04 06:15:28 +0100 | <crestfallen> | this is what I was trying to do on the 3rd line of the do block: http://ix.io/2Grk |
2020-12-04 06:15:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 264 seconds) |
2020-12-04 06:16:36 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2020-12-04 06:16:39 +0100 | Gigabitten | (~Somn@098-127-002-172.res.spectrum.com) (Quit: Leaving) |
2020-12-04 06:17:27 +0100 | davidfg41 | (~davidfg4@185.204.1.185) (Remote host closed the connection) |
2020-12-04 06:17:29 +0100 | Nahra | (~Nahra@unaffiliated/nahra) |
2020-12-04 06:17:34 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-12-04 06:17:39 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-04 06:18:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 06:19:27 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-wyoujgmfddjrgmqq) () |
2020-12-04 06:20:18 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 06:20:27 +0100 | <MarcelineVQ> | keywords is the name of some list defined elsewhere in the code, I assume it's a list of the keywords of the language you're parsing |
2020-12-04 06:21:10 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 06:21:24 +0100 | <MarcelineVQ> | you can tell it's a list because it's the second argument to notElem |
2020-12-04 06:21:45 +0100 | iqubic | (~user@c-67-171-38-72.hsd1.wa.comcast.net) (Ping timeout: 240 seconds) |
2020-12-04 06:22:45 +0100 | honigkuchen | (~honigkuch@ip5b42981b.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-12-04 06:23:16 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 240 seconds) |
2020-12-04 06:23:26 +0100 | texasmynsted | (~texasmyns@212.102.45.103) |
2020-12-04 06:23:53 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) |
2020-12-04 06:23:58 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-12-04 06:24:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 06:24:42 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) (Ping timeout: 256 seconds) |
2020-12-04 06:24:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-04 06:25:24 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 240 seconds) |
2020-12-04 06:26:23 +0100 | <crestfallen> | MarcelineVQ: excellent *thanks* I see. I'll give it a shot. |
2020-12-04 06:26:23 +0100 | sdx231 | (~sdx23@84.39.117.57) |
2020-12-04 06:27:56 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 272 seconds) |
2020-12-04 06:28:25 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) (Ping timeout: 264 seconds) |
2020-12-04 06:29:04 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-04 06:31:20 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 06:31:28 +0100 | texasmynsted | (~texasmyns@212.102.45.103) (Remote host closed the connection) |
2020-12-04 06:33:00 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-04 06:36:02 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 264 seconds) |
2020-12-04 06:39:44 +0100 | sleblanc | (~sleblanc@unaffiliated/sebleblanc) (Ping timeout: 265 seconds) |
2020-12-04 06:40:22 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) |
2020-12-04 06:43:31 +0100 | benjamin-l | (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) (Remote host closed the connection) |
2020-12-04 06:45:17 +0100 | benjamin-l | (~benjamin@c-67-189-59-76.hsd1.or.comcast.net) |
2020-12-04 06:48:23 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
2020-12-04 06:50:15 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) |
2020-12-04 06:50:29 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-12-04 06:51:29 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 06:53:49 +0100 | iqubic | (~user@2601:602:9500:4870:4afa:d1c4:5c89:10e9) |
2020-12-04 06:54:34 +0100 | haroldwu_ | (uid13653@gateway/web/irccloud.com/x-byqcdnfpqmwwdvpe) (Quit: Connection closed for inactivity) |
2020-12-04 06:55:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 06:55:12 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-04 06:55:22 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-04 06:55:44 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 240 seconds) |
2020-12-04 06:58:24 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 07:01:48 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 07:03:24 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds) |
2020-12-04 07:04:27 +0100 | sdx231 | (~sdx23@84.39.117.57) (Remote host closed the connection) |
2020-12-04 07:06:22 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 260 seconds) |
2020-12-04 07:08:53 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) |
2020-12-04 07:12:00 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) |
2020-12-04 07:15:22 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) |
2020-12-04 07:15:51 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-12-04 07:16:50 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cc36:a878:d9e6:6223) (Ping timeout: 264 seconds) |
2020-12-04 07:20:34 +0100 | darjeeling_ | (~darjeelin@112.16.171.8) (Ping timeout: 256 seconds) |
2020-12-04 07:22:41 +0100 | chrisdotcode | (~chrisdotc@unaffiliated/chrisdotcode) |
2020-12-04 07:24:59 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 07:26:05 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:1d8:e345:7859:18b9) (Ping timeout: 272 seconds) |
2020-12-04 07:26:16 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) |
2020-12-04 07:26:29 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:de9e:116:c7cb:bd55) |
2020-12-04 07:27:58 +0100 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
2020-12-04 07:28:39 +0100 | chrisdotcode | (~chrisdotc@unaffiliated/chrisdotcode) (Quit: Leaving) |
2020-12-04 07:29:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-12-04 07:30:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-12-04 07:31:13 +0100 | popey1 | (~popey@185.163.110.125) |
2020-12-04 07:31:21 +0100 | <boxscape> | Hm, am I seeing it correctly that "digit" exists in Parsec but not Megaparsec? |
2020-12-04 07:31:37 +0100 | crestfallen | (~jvw@192-184-135-144.fiber.dynamic.sonic.net) (Quit: leaving) |
2020-12-04 07:31:49 +0100 | <boxscape> | ah, nevermind |
2020-12-04 07:31:51 +0100 | <boxscape> | digitChar exists |
2020-12-04 07:34:43 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-12-04 07:35:38 +0100 | johnw | (~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in) |
2020-12-04 07:35:44 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 240 seconds) |
2020-12-04 07:36:44 +0100 | flyingpotatoman | (~seiless@103.205.80.22) |
2020-12-04 07:36:58 +0100 | flyingpotatoman | (~seiless@103.205.80.22) (Client Quit) |
2020-12-04 07:39:13 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2020-12-04 07:40:45 +0100 | gioyik | (~gioyik@186.112.99.244) (Quit: WeeChat 3.0) |
2020-12-04 07:42:41 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed) |
2020-12-04 07:42:45 +0100 | danso | (~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9) |
2020-12-04 07:42:53 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) |
2020-12-04 07:42:59 +0100 | monochrom | (trebla@216.138.220.146) |
2020-12-04 07:44:51 +0100 | flyingpo3atoman | (~seiless@103.205.80.22) |
2020-12-04 07:44:58 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:b9c9:ead4:edeb:2d57) |
2020-12-04 07:45:13 +0100 | benjamin-l | (~benjamin@c-67-189-59-76.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2020-12-04 07:47:00 +0100 | flyingpo3atoman | (~seiless@103.205.80.22) () |
2020-12-04 07:50:26 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@171.5.167.167) |
2020-12-04 07:51:25 +0100 | alp | (~alp@2a01:e0a:58b:4920:a8f4:c286:6432:c306) (Ping timeout: 272 seconds) |
2020-12-04 07:56:36 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2020-12-04 07:58:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 08:00:10 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-04 08:01:55 +0100 | argent0 | (~argent0@168.227.97.34) (Quit: leaving) |
2020-12-04 08:03:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-04 08:03:51 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-04 08:05:07 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) |
2020-12-04 08:05:08 +0100 | dax | (dax@bitbot/dax) |
2020-12-04 08:08:34 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2020-12-04 08:08:44 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-12-04 08:08:56 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 08:09:16 +0100 | Rudd0 | (~Rudd0@185.189.115.98) (Ping timeout: 240 seconds) |
2020-12-04 08:09:35 +0100 | christo | (~chris@81.96.113.213) |
2020-12-04 08:10:52 +0100 | jonatanb_ | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 08:11:03 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:de9e:116:c7cb:bd55) (Ping timeout: 272 seconds) |
2020-12-04 08:11:43 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:ad0c:4930:14ea:7f52) |
2020-12-04 08:12:52 +0100 | alp | (~alp@2a01:e0a:58b:4920:a4e7:54a4:ebae:9da0) |
2020-12-04 08:13:16 +0100 | <boxscape> | is there a way to make a megaparsec parser for a sum type like `data A = A | B | C` automatically? I.e. basically what deriving Read does? |
2020-12-04 08:13:30 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
2020-12-04 08:14:21 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:43fe:8354:1780:830b) |
2020-12-04 08:15:12 +0100 | jonatanb_ | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
2020-12-04 08:15:25 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-04 08:16:13 +0100 | <pavonia> | With Template Haskell it should be quite straight-forward |
2020-12-04 08:16:27 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-04 08:16:29 +0100 | <boxscape> | hm, yeah I suppose you're right |
2020-12-04 08:19:09 +0100 | <pavonia> | Maybe even the Data.Data functions are enough for this |
2020-12-04 08:19:24 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
2020-12-04 08:20:09 +0100 | <boxscape> | I'll take a look, thanks |
2020-12-04 08:20:56 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-04 08:20:57 +0100 | <dminuoso> | boxscape: Or.. just Generic? |
2020-12-04 08:21:08 +0100 | <boxscape> | Oh, yeah, I suppose that exists, too |
2020-12-04 08:21:13 +0100 | <dminuoso> | Seems really like a straight forward few lines of code |
2020-12-04 08:21:32 +0100 | <boxscape> | haven't used Generics much but yeah it seems like it shouldn't be hard |
2020-12-04 08:21:34 +0100 | <dminuoso> | Out of all the options Generics has probably least effort, and will optimize nicely |
2020-12-04 08:21:39 +0100 | christo | (~chris@81.96.113.213) |
2020-12-04 08:21:40 +0100 | <boxscape> | okay, thanks |
2020-12-04 08:22:11 +0100 | <dminuoso> | In my case I tend to write a `thruRead` combinator though |
2020-12-04 08:22:13 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b1f1:a8b7:f9f9:80e3) |
2020-12-04 08:22:28 +0100 | <dminuoso> | Which is a few lines of code that I then copy and paste whenever I want to go through Read. |
2020-12-04 08:22:42 +0100 | <boxscape> | I see |
2020-12-04 08:22:46 +0100 | <boxscape> | that sounds reasonable |
2020-12-04 08:23:05 +0100 | <dminuoso> | Both are an option, with Generics you can address non-trivial variants of it |
2020-12-04 08:23:08 +0100 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
2020-12-04 08:23:15 +0100 | <boxscape> | right, makes sense |
2020-12-04 08:23:45 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-12-04 08:24:48 +0100 | <dminuoso> | boxscape: Is this strictly a nullary data type? |
2020-12-04 08:24:54 +0100 | <boxscape> | yess |
2020-12-04 08:24:55 +0100 | <dminuoso> | Or do you have non-nullary constructors? |
2020-12-04 08:24:57 +0100 | <boxscape> | nope |
2020-12-04 08:24:57 +0100 | <dminuoso> | Mkay |
2020-12-04 08:25:12 +0100 | hackage | http-conduit 2.3.7.4 - HTTP client package with conduit interface and HTTPS support. https://hackage.haskell.org/package/http-conduit-2.3.7.4 (MichaelSnoyman) |
2020-12-04 08:25:36 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:b9c9:ead4:edeb:2d57) (Quit: Leaving) |
2020-12-04 08:25:55 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
2020-12-04 08:26:07 +0100 | <dminuoso> | boxscape: Also consider generics-sop if you want to explore the generics route |
2020-12-04 08:26:17 +0100 | <boxscape> | ok, I will |
2020-12-04 08:27:02 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b1f1:a8b7:f9f9:80e3) (Ping timeout: 264 seconds) |
2020-12-04 08:27:31 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) |
2020-12-04 08:30:31 +0100 | nolrai | (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Remote host closed the connection) |
2020-12-04 08:32:12 +0100 | benjamin-l | (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) |
2020-12-04 08:36:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 08:38:24 +0100 | benjamin-l | (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) (Ping timeout: 240 seconds) |
2020-12-04 08:40:45 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-12-04 08:46:45 +0100 | lpy | (~nyd@unaffiliated/elysian) |
2020-12-04 08:50:37 +0100 | jchia | (~jchia@58.32.35.67) (Ping timeout: 246 seconds) |
2020-12-04 08:50:44 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-04 08:51:15 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2020-12-04 08:51:16 +0100 | drbean | (~drbean@TC210-63-209-76.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-12-04 08:51:39 +0100 | drbean | (~drbean@TC210-63-209-15.static.apol.com.tw) |
2020-12-04 08:51:54 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-04 08:52:05 +0100 | marinelli | (~marinelli@gateway/tor-sasl/marinelli) |
2020-12-04 08:54:43 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Quit: nineonine) |
2020-12-04 08:56:21 +0100 | <carbolymer> | I'm writing parsec combinator for today's aoc, and how can I parse fields without enforcing order in my parser? |
2020-12-04 08:59:10 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 08:59:25 +0100 | <hc> | carbolymer: use a many . any [ ... ] combinator? |
2020-12-04 09:00:11 +0100 | hackage | replace-megaparsec 1.4.4.0 - Find, replace, and split string patterns with Megaparsec parsers (instead of regex) https://hackage.haskell.org/package/replace-megaparsec-1.4.4.0 (JamesBrock) |
2020-12-04 09:01:16 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-04 09:01:22 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2020-12-04 09:01:58 +0100 | johnw | (~johnw@haskell/developer/johnw) |
2020-12-04 09:02:18 +0100 | <carbolymer> | hc, which any? |
2020-12-04 09:02:33 +0100 | knupfer | (~Thunderbi@200116b82c9bc00018616dfffee3b6e0.dip.versatel-1u1.de) |
2020-12-04 09:02:34 +0100 | knupfer | (~Thunderbi@200116b82c9bc00018616dfffee3b6e0.dip.versatel-1u1.de) (Client Quit) |
2020-12-04 09:02:49 +0100 | knupfer | (~Thunderbi@87.123.206.78) |
2020-12-04 09:03:06 +0100 | knupfer | (~Thunderbi@87.123.206.78) (Client Quit) |
2020-12-04 09:03:17 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:ad0c:4930:14ea:7f52) (Ping timeout: 260 seconds) |
2020-12-04 09:03:32 +0100 | knupfer | (~Thunderbi@200116b82c9bc00029d7617336584c50.dip.versatel-1u1.de) |
2020-12-04 09:03:36 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-04 09:03:41 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:accf:77cf:75b2:3ca3) |
2020-12-04 09:04:19 +0100 | jchia | (~jchia@58.32.35.91) |
2020-12-04 09:06:25 +0100 | Lord_of_Life | (~Lord@46.217.221.156) (Changing host) |
2020-12-04 09:06:25 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2020-12-04 09:07:00 +0100 | <dminuoso> | carbolymer: https://hackage.haskell.org/package/parser-combinators-1.2.1/docs/Control-Applicative-Permutations… |
2020-12-04 09:07:10 +0100 | <dminuoso> | https://hackage.haskell.org/package/parsers-0.12.10/docs/Text-Parser-Permutation.html |
2020-12-04 09:07:25 +0100 | <dminuoso> | Either will work. Chances are you will have one of them in your dependencies when writing non-trivial parsers anyway |
2020-12-04 09:07:26 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) |
2020-12-04 09:08:10 +0100 | knupfer | (~Thunderbi@200116b82c9bc00029d7617336584c50.dip.versatel-1u1.de) (Client Quit) |
2020-12-04 09:08:18 +0100 | knupfer | (~Thunderbi@200116b82c9bc00029d7617336584c50.dip.versatel-1u1.de) |
2020-12-04 09:08:18 +0100 | <carbolymer> | dminuoso, thx |
2020-12-04 09:08:41 +0100 | <idnar> | @hoogle (a -> b) -> (a -> c) -> (a -> d) -> a -> (b, c, d) |
2020-12-04 09:08:42 +0100 | <lambdabot> | No results found |
2020-12-04 09:08:58 +0100 | marinelli | (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli) |
2020-12-04 09:10:16 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Ping timeout: 240 seconds) |
2020-12-04 09:10:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-12-04 09:12:09 +0100 | <dminuoso> | idnar: (&&&) or Strong profunctors give yo uthat |
2020-12-04 09:12:45 +0100 | LKoen | (~LKoen@105.175.9.109.rev.sfr.net) |
2020-12-04 09:13:11 +0100 | <idnar> | (&&&) only does (,), but tell me more about the profunctors |
2020-12-04 09:13:58 +0100 | <dminuoso> | idnar: well, ((a,b),c) ~~~ (a,(b,c)) |
2020-12-04 09:14:11 +0100 | <dminuoso> | so if you (&&&) twice that's just it |
2020-12-04 09:14:26 +0100 | <idnar> | I guess |
2020-12-04 09:14:27 +0100 | <int-e> | :t liftA3 (,,) |
2020-12-04 09:14:29 +0100 | <lambdabot> | Applicative f => f a -> f b -> f c -> f (a, b, c) |
2020-12-04 09:14:57 +0100 | <int-e> | liftA3 (,,) succ show (:[]) 1 |
2020-12-04 09:15:00 +0100 | <int-e> | > liftA3 (,,) succ show (:[]) 1 |
2020-12-04 09:15:04 +0100 | <lambdabot> | (2,"1",[1]) |
2020-12-04 09:15:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-04 09:15:20 +0100 | <dminuoso> | cunning |
2020-12-04 09:15:30 +0100 | <int-e> | literate |
2020-12-04 09:15:53 +0100 | <int-e> | (accomplished Reader) |
2020-12-04 09:15:55 +0100 | <idnar> | hmm, I tried (,,) <$> f <*> g <*> h |
2020-12-04 09:16:05 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2020-12-04 09:16:27 +0100 | <dminuoso> | % ((,,) <$> map toUpper <*> map toLower <*> tail) "fooBar" |
2020-12-04 09:16:27 +0100 | <yahb> | dminuoso: ("FOOBAR","foobar","ooBar") |
2020-12-04 09:16:29 +0100 | <int-e> | idnar: that's the same as liftA3 (,,) f g h |
2020-12-04 09:16:37 +0100 | <idnar> | oh damnit |
2020-12-04 09:16:55 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-pvpfqehhiksirdcj) |
2020-12-04 09:17:03 +0100 | <idnar> | (-1) is not a section :D |
2020-12-04 09:17:12 +0100 | <int-e> | > (-1+) 2 |
2020-12-04 09:17:14 +0100 | <lambdabot> | 1 |
2020-12-04 09:17:16 +0100 | <int-e> | > subtract 1 2 |
2020-12-04 09:17:16 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-12-04 09:17:19 +0100 | <lambdabot> | 1 |
2020-12-04 09:17:37 +0100 | <dminuoso> | Negating numbers is just odd in Haskell. :( |
2020-12-04 09:17:39 +0100 | <int-e> | the former is nasty. |
2020-12-04 09:17:54 +0100 | <dminuoso> | % :t (+1-) |
2020-12-04 09:17:54 +0100 | <yahb> | dminuoso: ; <interactive>:1:5: error: parse error on input `)' |
2020-12-04 09:17:58 +0100 | <dminuoso> | % :t (-1+) |
2020-12-04 09:17:58 +0100 | <yahb> | dminuoso: Num a => a -> a |
2020-12-04 09:18:04 +0100 | <dminuoso> | What lovely symmetry. |
2020-12-04 09:18:16 +0100 | <int-e> | :t (+ -1) -- wait till you see this |
2020-12-04 09:18:17 +0100 | <lambdabot> | error: |
2020-12-04 09:18:17 +0100 | <lambdabot> | The operator ‘+’ [infixl 6] of a section |
2020-12-04 09:18:17 +0100 | <lambdabot> | must have lower precedence than that of the operand, |
2020-12-04 09:18:50 +0100 | <dminuoso> | Mmm, and what's the precedence of the operand? |
2020-12-04 09:18:56 +0100 | <dminuoso> | :t ($ -1) |
2020-12-04 09:18:58 +0100 | <lambdabot> | Num a => (a -> b) -> b |
2020-12-04 09:18:58 +0100 | <dminuoso> | % :t ($ -1) |
2020-12-04 09:18:58 +0100 | <yahb> | dminuoso: Num a => (a -> b) -> b |
2020-12-04 09:19:05 +0100 | <dminuoso> | So between 1 and 6 I guess |
2020-12-04 09:20:17 +0100 | benjamin-l | (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) |
2020-12-04 09:20:27 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus_) |
2020-12-04 09:20:28 +0100 | <dsal> | > Just (odd (-1)) |
2020-12-04 09:20:30 +0100 | <lambdabot> | Just True |
2020-12-04 09:20:56 +0100 | <dsal> | > let numbers = [1..10] in negate <$> numbers |
2020-12-04 09:20:58 +0100 | <lambdabot> | [-1,-2,-3,-4,-5,-6,-7,-8,-9,-10] |
2020-12-04 09:21:31 +0100 | <dsal> | I think there's a language extension that lets naked negative numbers work. |
2020-12-04 09:21:40 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 09:23:42 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-12-04 09:23:49 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@171.5.167.167) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 09:24:32 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) |
2020-12-04 09:24:42 +0100 | drbean | (~drbean@TC210-63-209-15.static.apol.com.tw) (Ping timeout: 260 seconds) |
2020-12-04 09:24:48 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-12-04 09:29:27 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-12-04 09:30:43 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) |
2020-12-04 09:32:36 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-04 09:32:54 +0100 | <hekkaidekapus> | % :set -XNegativeLiterals |
2020-12-04 09:32:54 +0100 | <yahb> | hekkaidekapus: |
2020-12-04 09:33:13 +0100 | <hekkaidekapus> | % map (0 -) [-10 .. -1] |
2020-12-04 09:33:13 +0100 | <yahb> | hekkaidekapus: [10,9,8,7,6,5,4,3,2,1] |
2020-12-04 09:33:19 +0100 | <boxscape> | % 3 * -10 |
2020-12-04 09:33:19 +0100 | <yahb> | boxscape: -30 |
2020-12-04 09:33:21 +0100 | <hekkaidekapus> | % :q |
2020-12-04 09:33:22 +0100 | <yahb> | hekkaidekapus: |
2020-12-04 09:34:44 +0100 | <boxscape> | kind of unfortunate that (- 10) is still not a section with -XNegativeLiterals |
2020-12-04 09:35:08 +0100 | <hekkaidekapus> | It will be, soon. |
2020-12-04 09:35:16 +0100 | <boxscape> | oh, nice |
2020-12-04 09:35:50 +0100 | <hekkaidekapus> | I don’t remember the exact proposal but it is already accepted, IIRC. |
2020-12-04 09:35:57 +0100 | <boxscape> | goodd |
2020-12-04 09:36:01 +0100 | <boxscape> | s/dd/d |
2020-12-04 09:36:42 +0100 | christo | (~chris@81.96.113.213) |
2020-12-04 09:36:45 +0100 | <hekkaidekapus> | And Vladimir, its author, tend to swiftly implement parser-related proposals. |
2020-12-04 09:36:47 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2020-12-04 09:36:54 +0100 | <hekkaidekapus> | *tends |
2020-12-04 09:36:56 +0100 | <boxscape> | I suppose https://github.com/ghc-proposals/ghc-proposals/pull/344 |
2020-12-04 09:37:16 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-04 09:37:26 +0100 | <boxscape> | yeah it already has a closed merge request |
2020-12-04 09:37:40 +0100 | <boxscape> | but not a merged merge request I think |
2020-12-04 09:37:40 +0100 | <hekkaidekapus> | o/ |
2020-12-04 09:38:00 +0100 | <boxscape> | never mind |
2020-12-04 09:38:08 +0100 | <boxscape> | gitlab merge requests are just confusing is all |
2020-12-04 09:38:26 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0) |
2020-12-04 09:39:07 +0100 | raichoo | (~raichoo@213.240.178.58) |
2020-12-04 09:41:17 +0100 | urek__ | (~urek@2804:7f1:e10a:9644:2492:fd7b:c739:6641) |
2020-12-04 09:42:30 +0100 | christo | (~chris@81.96.113.213) |
2020-12-04 09:44:42 +0100 | <hekkaidekapus> | boxscape: <https://paste.tomsmeding.com/tW4JoIo9> |
2020-12-04 09:44:56 +0100 | <boxscape> | very cool |
2020-12-04 09:45:26 +0100 | Yumasi | (~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69) |
2020-12-04 09:47:01 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
2020-12-04 09:48:40 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:55f1:c3a3:cdbe:bf52) (Quit: See You Space Cowboy..) |
2020-12-04 09:49:00 +0100 | urek__ | urek |
2020-12-04 09:49:04 +0100 | vilpan | (~0@212.117.1.172) |
2020-12-04 09:51:42 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) |
2020-12-04 09:53:56 +0100 | Seiless | (~jeremy@45.248.143.26) |
2020-12-04 09:55:16 +0100 | BlackCapCoder | (~blackcap@48.80-203-23.nextgentel.com) (Ping timeout: 240 seconds) |
2020-12-04 09:57:12 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 09:59:45 +0100 | <merijn> | meh, just use subtract instead of relying on an extension >.> |
2020-12-04 10:00:49 +0100 | <boxscape> | no >:( |
2020-12-04 10:01:05 +0100 | <merijn> | This whole "lets pile on 30 syntactical extensions to fix minor warts" thing is a terrible idea |
2020-12-04 10:01:10 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) |
2020-12-04 10:01:31 +0100 | <dminuoso> | If you think of a syntactical extension as just a candidate for a future Haskell report, I dont think extensions are that bad. |
2020-12-04 10:01:42 +0100 | <merijn> | We end up with 2^n distinct lexical grammar that need to be supported in all tools |
2020-12-04 10:01:51 +0100 | Seiless | (~jeremy@45.248.143.26) (Read error: Connection reset by peer) |
2020-12-04 10:01:55 +0100 | <merijn> | dminuoso: ha |
2020-12-04 10:01:59 +0100 | <dminuoso> | merijn: That's why you use ghc-lib-parser. |
2020-12-04 10:02:01 +0100 | <dminuoso> | ;) |
2020-12-04 10:02:04 +0100 | <merijn> | Like a future Haskell Report will ever happen |
2020-12-04 10:02:12 +0100 | <dminuoso> | It might, nothings off the board |
2020-12-04 10:02:27 +0100 | <merijn> | Sure! |
2020-12-04 10:02:43 +0100 | <merijn> | And I might someday become a millionaire! |
2020-12-04 10:02:50 +0100 | <merijn> | But I wouldn't count on it... |
2020-12-04 10:03:08 +0100 | <dminuoso> | My point is just, I dont think extensions are necessarily bad. |
2020-12-04 10:03:10 +0100 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection) |
2020-12-04 10:03:14 +0100 | <boxscape> | we'll get -XGHC20XX flags at least |
2020-12-04 10:03:22 +0100 | <merijn> | I don't think extensions are necessarily bad either |
2020-12-04 10:03:29 +0100 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
2020-12-04 10:03:30 +0100 | <merijn> | I think *trivial syntactic extensions* are bad |
2020-12-04 10:03:56 +0100 | <dminuoso> | I think trivial syntactic extensions are much better than wide ranging syntactic extensions. |
2020-12-04 10:04:03 +0100 | <merijn> | ok |
2020-12-04 10:04:07 +0100 | <merijn> | lemme rephrase |
2020-12-04 10:04:17 +0100 | <merijn> | *all* syntactic extensions are trivial *and* bad |
2020-12-04 10:04:34 +0100 | <carbolymer> | is there any function in parsec (or related libraries) to parse input with parser of a to get [Either Parser a]? |
2020-12-04 10:04:45 +0100 | <merijn> | And the handful that aren't trivial (I'm looking at you, ArrowNotation) are double bad |
2020-12-04 10:04:46 +0100 | <carbolymer> | [Either ParserError a] |
2020-12-04 10:05:35 +0100 | <dminuoso> | carbolymer: What should that list represent? |
2020-12-04 10:06:26 +0100 | <carbolymer> | dminuoso, a result of multiple parsings; I want to extract from input multiple 'a's separated by separator; but I want to retain all parserrors |
2020-12-04 10:06:36 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (Ping timeout: 256 seconds) |
2020-12-04 10:06:56 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-12-04 10:07:11 +0100 | benjamin-l | (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) (Ping timeout: 244 seconds) |
2020-12-04 10:07:12 +0100 | <[exa]> | carbolymer: you will have to reliably extract the parts as strings and run the parser normally on the contents (e.g. runParser). |
2020-12-04 10:07:42 +0100 | <[exa]> | carbolymer: the "direct" method involves the (problematic) error recovery |
2020-12-04 10:07:52 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
2020-12-04 10:07:57 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2020-12-04 10:08:03 +0100 | <carbolymer> | [exa], yeah, I wanted to avoid splitting strings and use big parser for the list of 'a's |
2020-12-04 10:08:59 +0100 | <[exa]> | I'm gonna double check megaparsec docs, I remember there was some error recovery but not sure where (or if in megaparsec) |
2020-12-04 10:09:01 +0100 | <boxscape> | huh, is the LANGUAGE pragma redundant and replaceable by OPTIONS_GHC? |
2020-12-04 10:09:10 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 10:09:34 +0100 | <merijn> | boxscape: If you pretend there is only GHC, sure |
2020-12-04 10:09:40 +0100 | <boxscape> | ah, fair |
2020-12-04 10:10:02 +0100 | <merijn> | Especially considering UHC implements a number of GHC extensions too |
2020-12-04 10:10:32 +0100 | <eedgit> | I'm having trouble getting Haskell-chart to work, I'm getting a PATH error - but I've ensured my path is on both basic and zshrc -> https://dpaste.org/0JCw |
2020-12-04 10:11:32 +0100 | Amras | (~Amras@unaffiliated/amras) |
2020-12-04 10:12:35 +0100 | <[exa]> | eedgit: and there's even more than one! :] Are you sure stack isn't changing the $PATH ? |
2020-12-04 10:13:26 +0100 | <[exa]> | anyway, it looks just like a warning so it could work |
2020-12-04 10:15:09 +0100 | <[exa]> | carbolymer: actually they have this https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec.html#v:withRecovery |
2020-12-04 10:16:13 +0100 | <[exa]> | carbolymer: for you it should work with something simple like `manytill ','` |
2020-12-04 10:17:09 +0100 | <carbolymer> | [exa], hmm, thanks, will look into that! |
2020-12-04 10:18:21 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:accf:77cf:75b2:3ca3) (Ping timeout: 272 seconds) |
2020-12-04 10:18:56 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:a57d:2d36:c4ed:73cf) |
2020-12-04 10:18:56 +0100 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Quit: Leaving) |
2020-12-04 10:20:17 +0100 | joaoh82_ | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 10:24:41 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 10:25:55 +0100 | fendor | (~fendor@91.141.2.63.wireless.dyn.drei.com) |
2020-12-04 10:25:58 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
2020-12-04 10:27:04 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 10:28:38 +0100 | <dminuoso> | Note that withRecovery requires care wrt to backtracking |
2020-12-04 10:30:20 +0100 | <dminuoso> | carbolymer: Can you perhaps elaborate on your larger goal? |
2020-12-04 10:31:46 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2020-12-04 10:32:13 +0100 | watt313 | (~watt313@124.123.105.225) |
2020-12-04 10:32:23 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2020-12-04 10:33:09 +0100 | <[exa]> | I guess that megaparsec in general requires care wrt backtracking.. :] |
2020-12-04 10:33:26 +0100 | <[exa]> | but yeah this can be ugly, esp. the error message masking |
2020-12-04 10:34:11 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-braorqjpjuqmensd) (Quit: Connection closed for inactivity) |
2020-12-04 10:34:16 +0100 | plutoniix | (~q@ppp-27-55-72-38.revip3.asianet.co.th) |
2020-12-04 10:35:16 +0100 | <dminuoso> | It's moments like this where maybe parser combinators are just too powerful for your own good. |
2020-12-04 10:35:22 +0100 | <dminuoso> | :p |
2020-12-04 10:36:34 +0100 | watt313 | (~watt313@124.123.105.225) (Ping timeout: 265 seconds) |
2020-12-04 10:38:05 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 10:38:27 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-oyiccouvdvnehmhe) (Quit: Connection closed for inactivity) |
2020-12-04 10:39:23 +0100 | <eedgit> | [exa] Not sure about stack changing the path, is there anyway to check? Doesn't want to build without fixing it, it seems `gtk2hs-buildtools needed, but the stack configuration has no specified version (latest matching version is 0.13.8.0)` |
2020-12-04 10:40:15 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) |
2020-12-04 10:40:48 +0100 | Sigyn | (sigyn@freenode/utility-bot/sigyn) (Remote host closed the connection) |
2020-12-04 10:41:22 +0100 | Sigyn | (sigyn@freenode/utility-bot/sigyn) |
2020-12-04 10:41:22 +0100 | ChanServ | +o Sigyn |
2020-12-04 10:41:31 +0100 | <eedgit> | Oh, `export PATH=~/.local/bin:$PATH echo $PATH` before running the stack install command worked |
2020-12-04 10:45:33 +0100 | kuribas | (~user@ptr-25vy0i8rcepunzqy0n7.18120a2.ip6.access.telenet.be) |
2020-12-04 10:51:37 +0100 | son0p | (~son0p@181.58.39.182) |
2020-12-04 10:52:01 +0100 | alp | (~alp@2a01:e0a:58b:4920:a4e7:54a4:ebae:9da0) (Remote host closed the connection) |
2020-12-04 10:52:22 +0100 | alp | (~alp@2a01:e0a:58b:4920:39c3:c410:f47e:16f5) |
2020-12-04 10:54:34 +0100 | datajerk | (~datajerk@sense.net) (Ping timeout: 272 seconds) |
2020-12-04 10:54:36 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) (Quit: cya) |
2020-12-04 10:54:54 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) |
2020-12-04 10:55:45 +0100 | <typetetris> | How can I get the gc stop the world pause times? Which stat in ekg would that be? Or here https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Stats.html ? |
2020-12-04 10:56:22 +0100 | <typetetris> | Is it the elapsed_ns |
2020-12-04 10:56:39 +0100 | enikar | (~enikar@2001:41d0:2:8673::42) (Quit: WeeChat 2.8) |
2020-12-04 10:57:11 +0100 | hackage | circular 0.3.0 - Circular fixed-sized mutable vectors https://hackage.haskell.org/package/circular-0.3.0 (dschrempf) |
2020-12-04 10:57:12 +0100 | enikar | (~enikar@2001:41d0:2:8673::42) |
2020-12-04 10:57:34 +0100 | Sigyn | (sigyn@freenode/utility-bot/sigyn) (Quit: i've seen things you people wouldn't believe. spam bots on fire off the shoulder of sigyn. i watched k-line beams glitter in the dark near the Tannhäuser Gate. all these moments will be lost in time, like tears in rain. time to /die) |
2020-12-04 10:57:34 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 10:57:59 +0100 | Sigyn | (sigyn@freenode/utility-bot/sigyn) |
2020-12-04 10:57:59 +0100 | ChanServ | +o Sigyn |
2020-12-04 10:58:14 +0100 | hexfive | (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
2020-12-04 11:00:08 +0100 | <eedgit> | Still no joy though, should I have both a `stack.yaml` and a `package.yaml` ? https://gist.github.com/glasgowm148/0b5d7834c322100692317d6b6be0c898 |
2020-12-04 11:00:17 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 11:00:24 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-12-04 11:00:30 +0100 | datajerk | (~datajerk@sense.net) |
2020-12-04 11:00:38 +0100 | Axma88579 | (~Axman6@pdpc/supporter/student/Axman6) |
2020-12-04 11:02:25 +0100 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) (Ping timeout: 240 seconds) |
2020-12-04 11:02:45 +0100 | vilpan | (~0@212.117.1.172) (Ping timeout: 240 seconds) |
2020-12-04 11:02:57 +0100 | <merijn> | eedgit: Define "should" :) |
2020-12-04 11:03:44 +0100 | <merijn> | stack.yaml specifies your stack configuration. package.yaml is an hpack thing (stack just happens to automatically call hpack), and I would generally define hpack as *bad* :p |
2020-12-04 11:03:51 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-12-04 11:03:55 +0100 | <merijn> | See also: https://gist.github.com/merijn/8152d561fb8b011f9313c48d876ceb07 |
2020-12-04 11:04:58 +0100 | knupfer | (~Thunderbi@200116b82c9bc00029d7617336584c50.dip.versatel-1u1.de) (Remote host closed the connection) |
2020-12-04 11:05:07 +0100 | knupfer | (~Thunderbi@200116b82c9bc000c8b7568bc99cc3b4.dip.versatel-1u1.de) |
2020-12-04 11:05:09 +0100 | <eedgit> | oh ok thanks, thought maybe it was mixing them up somehow |
2020-12-04 11:05:20 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds) |
2020-12-04 11:05:50 +0100 | vilpan | (~0@212.117.1.172) |
2020-12-04 11:06:01 +0100 | <eedgit> | Adding it to the stack.yaml appears to make it look in the current directory for a folder with that name, but the package doesn't install a folder with that name anywhere as far as I can see |
2020-12-04 11:08:16 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 11:08:19 +0100 | <merijn> | (I don't actually use stack, so I can't help with the details :p) |
2020-12-04 11:09:46 +0100 | guest124 | (~user@49.5.6.87) (Remote host closed the connection) |
2020-12-04 11:10:54 +0100 | borne | (~fritjof@200116b864198500f60f2508b10af3d6.dip.versatel-1u1.de) |
2020-12-04 11:13:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 264 seconds) |
2020-12-04 11:14:21 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2020-12-04 11:14:45 +0100 | BlackCapCoder | (~blackcap@48.80-203-23.nextgentel.com) |
2020-12-04 11:15:57 +0100 | ubert | (~Thunderbi@p200300ecdf1e53c9e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-12-04 11:16:33 +0100 | <eedgit> | no worries, got a bit further 'From lts-13.11 and above gtk2hs-buildtools is not available in stackage, so you need to add it as an extra-dep.' > https://stackoverflow.com/questions/58690982/getting-error-while-using-gtk2hs-buildtool-library-in… |
2020-12-04 11:20:20 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-04 11:20:26 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2020-12-04 11:20:37 +0100 | lxsameer | (~lxsameer@unaffiliated/lxsameer) (Ping timeout: 264 seconds) |
2020-12-04 11:20:44 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) (Read error: Connection reset by peer) |
2020-12-04 11:21:02 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) |
2020-12-04 11:23:45 +0100 | AndreasK | (uid320732@gateway/web/irccloud.com/x-mmzfigialnrtkzrf) |
2020-12-04 11:23:46 +0100 | jess | (jess@freenode/staff/jess) (Quit: Leaving) |
2020-12-04 11:28:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 11:29:05 +0100 | borne | (~fritjof@200116b864198500f60f2508b10af3d6.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
2020-12-04 11:30:06 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 11:32:11 +0100 | zyklotomic1 | (~ethan@210.13.104.210) |
2020-12-04 11:32:35 +0100 | zyklotomic1 | chocopuff |
2020-12-04 11:32:36 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-12-04 11:32:42 +0100 | chocopuff | (~ethan@210.13.104.210) (Changing host) |
2020-12-04 11:32:42 +0100 | chocopuff | (~ethan@unaffiliated/chocopuff) |
2020-12-04 11:33:01 +0100 | chocopuff | (~ethan@unaffiliated/chocopuff) (Client Quit) |
2020-12-04 11:33:53 +0100 | lxsameer | (lxsameer@gateway/vpn/protonvpn/lxsameer) |
2020-12-04 11:34:17 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
2020-12-04 11:35:19 +0100 | zyklotomic | (~ethan@unaffiliated/chocopuff) |
2020-12-04 11:35:35 +0100 | <zyklotomic> | dminuoso: i'm back if you're still here and happen to have that example |
2020-12-04 11:36:07 +0100 | <zyklotomic> | I did read up on Conduit too, but I have another slightly tangential question, then when is it "acceptable" tm, to use State? |
2020-12-04 11:37:28 +0100 | <zyklotomic> | my original rationale was it may be easier to write the slightly complex control block of if-else-then for-loop in terms of State, I knew you could probably do it with a fold, but it still seemed a lot harder to write / bad readability |
2020-12-04 11:38:04 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-04 11:39:04 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
2020-12-04 11:43:04 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) |
2020-12-04 11:46:25 +0100 | zyklotomic | (~ethan@unaffiliated/chocopuff) (Ping timeout: 256 seconds) |
2020-12-04 11:48:01 +0100 | jedws | (~jedws@pa49-195-30-73.pa.nsw.optusnet.com.au) |
2020-12-04 11:49:09 +0100 | zyklotomic | (~ethan@210.13.104.210) |
2020-12-04 11:49:21 +0100 | <dminuoso> | zyklotomic: Hiya. https://gist.github.com/dminuoso/1dae6372dc8df57e780899759f9156ed |
2020-12-04 11:50:31 +0100 | <dminuoso> | So this with a single "mutable" buffer encoded as a function argument to go |
2020-12-04 11:51:12 +0100 | <dminuoso> | This is a bit more constrained than State. Also this streams |
2020-12-04 11:51:22 +0100 | <dminuoso> | So it works on an infinite input list |
2020-12-04 11:51:50 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b1f1:a8b7:f9f9:80e3) |
2020-12-04 11:52:12 +0100 | lxsameer | (lxsameer@gateway/vpn/protonvpn/lxsameer) (Ping timeout: 272 seconds) |
2020-12-04 11:52:38 +0100 | zyklotomic | (~ethan@210.13.104.210) (Remote host closed the connection) |
2020-12-04 11:53:06 +0100 | zyklotomic | (~ethan@210.13.104.210) |
2020-12-04 11:53:48 +0100 | jedws | (~jedws@pa49-195-30-73.pa.nsw.optusnet.com.au) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 11:54:12 +0100 | <dminuoso> | What Conduit buys you, is being able to talk about streaming together with IO in constant space and in a composable fashion |
2020-12-04 11:54:33 +0100 | <dminuoso> | I suggested conduit based on some quick skimming of your code |
2020-12-04 11:54:58 +0100 | <dminuoso> | The code seemed to call into ffi for linguistic things |
2020-12-04 11:56:04 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b1f1:a8b7:f9f9:80e3) (Ping timeout: 240 seconds) |
2020-12-04 11:57:47 +0100 | <dminuoso> | And with conduit you can write this streaming in a semi-imperative style, since you can "await" for input and "yield" |
2020-12-04 11:58:03 +0100 | <dminuoso> | (It doesnt have to be conduit, there's a large wealth of libraries in this design space) |
2020-12-04 11:59:13 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 11:59:49 +0100 | joaoh82 | (~joaoh82@157-131-134-210.dedicated.static.sonic.net) |
2020-12-04 12:00:35 +0100 | <merijn> | bleh, containers really needs a better story for "constructing a map while checking for duplicate keys" |
2020-12-04 12:02:56 +0100 | <zyklotomic> | i see, that makes sense |
2020-12-04 12:04:15 +0100 | ClaudiusMaximus | (~claude@223.153.198.146.dyn.plus.net) |
2020-12-04 12:04:15 +0100 | ClaudiusMaximus | (~claude@223.153.198.146.dyn.plus.net) (Changing host) |
2020-12-04 12:04:15 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2020-12-04 12:04:57 +0100 | <kuribas> | conduit seems the easiest to us... |
2020-12-04 12:06:41 +0100 | hackage | circular 0.3.1 - Circular fixed-sized mutable vectors https://hackage.haskell.org/package/circular-0.3.1 (dschrempf) |
2020-12-04 12:07:07 +0100 | lxsameer | (~lxsameer@unaffiliated/lxsameer) |
2020-12-04 12:08:00 +0100 | darjeeling_ | (~darjeelin@122.245.218.196) |
2020-12-04 12:08:29 +0100 | <Taneb> | merijn: if something like "insertOrFail :: k -> a -> Map k a -> Maybe (Map k a)" that failed on duplicate keys existed it'd carry a lot of weight there... |
2020-12-04 12:08:53 +0100 | <merijn> | Taneb: tbh, I was thinking more some general Applicative |
2020-12-04 12:09:14 +0100 | Jonkimi727406120 | (~Jonkimi@119.123.242.216) (Ping timeout: 256 seconds) |
2020-12-04 12:09:29 +0100 | <merijn> | "fromListWithKey :: (Ord k, Applicative f) => (k -> a -> a -> f a) -> f (Map k a)" |
2020-12-04 12:09:32 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 12:09:32 +0100 | <merijn> | eh |
2020-12-04 12:09:39 +0100 | <merijn> | Add a missing [(k, v)] there |
2020-12-04 12:10:00 +0100 | <merijn> | Taneb: That way you could even easily do fancy things like "report all duplicates via Validation" |
2020-12-04 12:11:01 +0100 | <maerwald> | kuribas: what? :D |
2020-12-04 12:11:20 +0100 | <kuribas> | to use I mean |
2020-12-04 12:11:41 +0100 | hackage | hriemann 0.3.3.4 - A Riemann Client for Haskell https://hackage.haskell.org/package/hriemann-0.3.3.4 (shmish111) |
2020-12-04 12:11:43 +0100 | <kuribas> | it's most like unix pipes |
2020-12-04 12:12:56 +0100 | zyklotomic | (~ethan@210.13.104.210) (Ping timeout: 240 seconds) |
2020-12-04 12:14:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 264 seconds) |
2020-12-04 12:14:47 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-04 12:15:52 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
2020-12-04 12:15:56 +0100 | <maerwald> | I think it's not really idiomatic, because you're not really using standard operators (like monadic bind) |
2020-12-04 12:16:36 +0100 | raichoo | (~raichoo@213.240.178.58) (Quit: Lost terminal) |
2020-12-04 12:16:49 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2020-12-04 12:16:55 +0100 | <hekkaidekapus> | merijn: There is a Set version of your apllicative in the repo and D.F. would very probably merge a Map version of it. See <https://github.com/haskell/containers/issues/680> |
2020-12-04 12:17:25 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:43fe:8354:1780:830b) (Ping timeout: 272 seconds) |
2020-12-04 12:17:37 +0100 | christo | (~chris@94.119.64.34) |
2020-12-04 12:17:45 +0100 | zyklotomic | (~ethan@210.13.104.210) |
2020-12-04 12:18:50 +0100 | <dminuoso> | Taneb: Well you can quickly cook it up with alterF |
2020-12-04 12:19:06 +0100 | <merijn> | dminuoso: I'm talking about fromListWith |
2020-12-04 12:19:44 +0100 | <dminuoso> | Ah, I guess a fold over alterF would be rather expensive |
2020-12-04 12:19:49 +0100 | <dminuoso> | In comparison |
2020-12-04 12:20:17 +0100 | <merijn> | dminuoso: The fact that the default, most convenient construction mechanism is unsafe (i.e. clobbers keys) and there is no sensible way to detect that is a farce |
2020-12-04 12:21:33 +0100 | <merijn> | you can roll your own via fromListWith and sequence, but it's tedious |
2020-12-04 12:21:39 +0100 | <hekkaidekapus> | From that discussion, it more of something waiting for a proposed patch than a farce. |
2020-12-04 12:22:27 +0100 | hekkaidekapus | gets that merijn is mostly venting… |
2020-12-04 12:22:32 +0100 | carlomagno1 | (~cararell@148.87.23.11) |
2020-12-04 12:24:30 +0100 | zyklotomic | (~ethan@210.13.104.210) (Ping timeout: 272 seconds) |
2020-12-04 12:24:49 +0100 | Guest81223 | (~AllahuAkb@mskresolve-a.mskcc.org) (Ping timeout: 246 seconds) |
2020-12-04 12:25:24 +0100 | christo | (~chris@94.119.64.34) (Remote host closed the connection) |
2020-12-04 12:25:40 +0100 | carlomagno | (~cararell@148.87.23.12) (Ping timeout: 256 seconds) |
2020-12-04 12:26:00 +0100 | LKoen | (~LKoen@105.175.9.109.rev.sfr.net) (Remote host closed the connection) |
2020-12-04 12:29:16 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:2a4b:4c53:e4dc:e61e) |
2020-12-04 12:29:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 12:29:28 +0100 | borne | (~fritjof@2001:638:708:30da:53d7:a324:c504:633) |
2020-12-04 12:32:50 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-12-04 12:33:03 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Quit: WeeChat 2.9) |
2020-12-04 12:33:36 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
2020-12-04 12:33:58 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) |
2020-12-04 12:34:00 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-12-04 12:35:59 +0100 | britva | (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) |
2020-12-04 12:37:25 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-12-04 12:38:04 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 12:39:18 +0100 | revprez_1nzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-12-04 12:40:29 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-12-04 12:41:16 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 246 seconds) |
2020-12-04 12:42:05 +0100 | dhil | (~dhil@195.213.192.34) |
2020-12-04 12:42:45 +0100 | alp | (~alp@2a01:e0a:58b:4920:39c3:c410:f47e:16f5) (Ping timeout: 272 seconds) |
2020-12-04 12:44:16 +0100 | revprez_1nzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-12-04 12:44:17 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-12-04 12:46:46 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2020-12-04 12:51:07 +0100 | borne | (~fritjof@2001:638:708:30da:53d7:a324:c504:633) (Ping timeout: 260 seconds) |
2020-12-04 12:56:15 +0100 | ggole | (~ggole@2001:8003:8119:7200:1065:53ac:b0e7:6308) |
2020-12-04 12:57:13 +0100 | seveg | (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Quit: WeeChat 3.0) |
2020-12-04 12:59:16 +0100 | vilpan | (~0@212.117.1.172) () |
2020-12-04 13:05:48 +0100 | <dminuoso> | cosmos :: Plated a => Fold a a |
2020-12-04 13:05:50 +0100 | <dminuoso> | The word plays. |
2020-12-04 13:06:06 +0100 | <Taneb> | :t universe |
2020-12-04 13:06:08 +0100 | <lambdabot> | Plated a => a -> [a] |
2020-12-04 13:06:48 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-12-04 13:07:17 +0100 | <dminuoso> | Taneb: Is there any meaning inside those, or are they just to denote the "all of it"? |
2020-12-04 13:08:44 +0100 | jess | (jess@freenode/staff/jess) |
2020-12-04 13:09:38 +0100 | alp | (~alp@2a01:e0a:58b:4920:39c3:c410:f47e:16f5) |
2020-12-04 13:11:12 +0100 | coeus | (~coeus@p200300d027453600d114986072cc2eb8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-04 13:11:56 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-115-108.w86-198.abo.wanadoo.fr) |
2020-12-04 13:12:24 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-12-04 13:13:01 +0100 | e | demiurge |
2020-12-04 13:13:25 +0100 | xiinotulp | (~q@ppp-27-55-74-75.revip3.asianet.co.th) |
2020-12-04 13:13:40 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 13:14:08 +0100 | inkbottle | (~inkbottle@aaubervilliers-654-1-81-2.w86-212.abo.wanadoo.fr) (Ping timeout: 265 seconds) |
2020-12-04 13:14:32 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 13:15:01 +0100 | plutoniix | (~q@ppp-27-55-72-38.revip3.asianet.co.th) (Read error: Connection reset by peer) |
2020-12-04 13:17:31 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-12-04 13:17:47 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) |
2020-12-04 13:18:01 +0100 | <Taneb> | dminuoso: I think the terminology predates lens here, universe comes from at least universe and cosmos is just a near-synonym of that |
2020-12-04 13:18:15 +0100 | <Taneb> | So I think it's just "all of it" |
2020-12-04 13:18:46 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-12-04 13:18:46 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-12-04 13:19:36 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Ping timeout: 240 seconds) |
2020-12-04 13:20:51 +0100 | whatisRT | (~whatisRT@2002:5b41:6a33:0:856b:b027:50b:2bc3) |
2020-12-04 13:20:55 +0100 | Entertainment | (~entertain@104.246.132.210) |
2020-12-04 13:22:08 +0100 | xiinotulp | (~q@ppp-27-55-74-75.revip3.asianet.co.th) (Quit: Leaving) |
2020-12-04 13:25:11 +0100 | Wuzzy | (~Wuzzy@p549c9976.dip0.t-ipconnect.de) |
2020-12-04 13:25:27 +0100 | popey1 | (~popey@185.163.110.125) (Remote host closed the connection) |
2020-12-04 13:26:53 +0100 | <merijn> | hekkaidekapus: "Me needing to write a patch decades after something should've been added" is a farce >.> |
2020-12-04 13:27:08 +0100 | coeus | (~coeus@p200300d0271c3b00114a6166d66724be.dip0.t-ipconnect.de) |
2020-12-04 13:28:04 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-12-04 13:28:25 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-04 13:28:35 +0100 | jchia__ | (~jchia@58.32.37.146) |
2020-12-04 13:29:50 +0100 | darkspadez|lapto | (~darkspade@217.146.82.202) |
2020-12-04 13:30:12 +0100 | whatisRT | (~whatisRT@2002:5b41:6a33:0:856b:b027:50b:2bc3) (Ping timeout: 260 seconds) |
2020-12-04 13:34:41 +0100 | loller_ | (uid358106@gateway/web/irccloud.com/x-ystjmforbrvlleet) (Quit: Connection closed for inactivity) |
2020-12-04 13:35:51 +0100 | <hekkaidekapus> | merijn: Gotcha! In all honesty, even a seemingly non-contentious patch could later be stalled due to performance tuning knobs in containers. PR!340 is an emblematic example: a ~7kLOC+ & ~5kLOC- patch ending in a “cute but not fast” state gives pause. |
2020-12-04 13:38:20 +0100 | LKoen | (~LKoen@105.175.9.109.rev.sfr.net) |
2020-12-04 13:38:43 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-04 13:40:03 +0100 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:a913:5438:3a24:3de8) (Ping timeout: 244 seconds) |
2020-12-04 13:40:30 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-12-04 13:41:13 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b1f1:a8b7:f9f9:80e3) |
2020-12-04 13:42:36 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
2020-12-04 13:43:59 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-12-04 13:44:50 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-12-04 13:45:27 +0100 | jespada | (~jespada@90.254.245.49) |
2020-12-04 13:45:57 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b1f1:a8b7:f9f9:80e3) (Ping timeout: 260 seconds) |
2020-12-04 13:46:17 +0100 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:a913:5438:3a24:3de8) |
2020-12-04 13:48:30 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
2020-12-04 13:49:04 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
2020-12-04 13:57:42 +0100 | raichoo | (~raichoo@213.240.178.58) |
2020-12-04 13:58:05 +0100 | iqubic` | (~user@2601:602:9500:4870:55f6:de24:d001:bc51) |
2020-12-04 13:58:10 +0100 | iqubic` | (~user@2601:602:9500:4870:55f6:de24:d001:bc51) (Remote host closed the connection) |
2020-12-04 13:58:44 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2020-12-04 13:59:17 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-04 14:01:12 +0100 | drbean | (~drbean@TC210-63-209-212.static.apol.com.tw) |
2020-12-04 14:01:30 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
2020-12-04 14:02:17 +0100 | iqubic | (~user@2601:602:9500:4870:4afa:d1c4:5c89:10e9) (Ping timeout: 260 seconds) |
2020-12-04 14:02:27 +0100 | sleblanc | (~sleblanc@unaffiliated/sebleblanc) |
2020-12-04 14:02:40 +0100 | texasmynsted | (~texasmyns@212.102.44.36) |
2020-12-04 14:02:57 +0100 | drbean_ | (~drbean@TC210-63-209-150.static.apol.com.tw) |
2020-12-04 14:03:42 +0100 | benoitj | (~benoitj@bras-base-mtrlpq3708w-grc-25-76-65-84-134.dsl.bell.ca) (Ping timeout: 256 seconds) |
2020-12-04 14:04:00 +0100 | jmchael | (~Chi1thang@87.112.60.168) |
2020-12-04 14:05:33 +0100 | fendor_ | (~fendor@178.115.130.110.wireless.dyn.drei.com) |
2020-12-04 14:05:35 +0100 | benoitj | (~benoitj@bras-base-mtrlpq3708w-grc-25-76-65-84-134.dsl.bell.ca) |
2020-12-04 14:06:13 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 264 seconds) |
2020-12-04 14:06:18 +0100 | drbean | (~drbean@TC210-63-209-212.static.apol.com.tw) (Ping timeout: 256 seconds) |
2020-12-04 14:08:04 +0100 | fendor | (~fendor@91.141.2.63.wireless.dyn.drei.com) (Ping timeout: 256 seconds) |
2020-12-04 14:08:58 +0100 | dmdias | (59108cd7@89.16.140.215) |
2020-12-04 14:09:04 +0100 | son0p | (~son0p@181.58.39.182) (Quit: leaving) |
2020-12-04 14:09:10 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
2020-12-04 14:10:05 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:a57d:2d36:c4ed:73cf) (Ping timeout: 246 seconds) |
2020-12-04 14:10:18 +0100 | joaoh82 | (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Remote host closed the connection) |
2020-12-04 14:10:46 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 14:11:04 +0100 | dmdias | (59108cd7@89.16.140.215) (Remote host closed the connection) |
2020-12-04 14:11:11 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:8f93:fd62:22df:b06f) |
2020-12-04 14:11:34 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-04 14:14:20 +0100 | sondr3 | (~sondr3@cm-84.211.56.132.getinternet.no) |
2020-12-04 14:15:04 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 240 seconds) |
2020-12-04 14:16:17 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-12-04 14:17:06 +0100 | sm2n | (~sm2n@bras-base-hmtnon1497w-grc-44-69-156-5-58.dsl.bell.ca) |
2020-12-04 14:19:30 +0100 | <carbolymer> | https://bpa.st/TISA - what's wrong with my parser? |
2020-12-04 14:20:09 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 14:21:02 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 256 seconds) |
2020-12-04 14:22:09 +0100 | jil | (~user@45.86.162.6) ("ERC (IRC client for Emacs 26.1)") |
2020-12-04 14:22:28 +0100 | <carbolymer> | choice is supposed to test everything and fail when nothing matches |
2020-12-04 14:24:05 +0100 | <carbolymer> | or w8, is string consuming input letter by letter thus preventing next case to be evaulated? |
2020-12-04 14:24:19 +0100 | <lambda> | I have a `data T = A Int | B String | C` and a `[T]` and want to check if it contains of one of each `A`, `B` and `C` (without having to write them down again separately). Am I just overthinking this or does this need some special magic? |
2020-12-04 14:24:40 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2020-12-04 14:25:10 +0100 | <carbolymer> | oh fuck, right, that's exactly what's happening, I should use `try . string` |
2020-12-04 14:25:29 +0100 | <Rembane> | carbolymer: Exactly! More about that here: https://stackoverflow.com/questions/33057481/why-does-it-seem-that-the-parsec-choice-operator-depe… |
2020-12-04 14:26:00 +0100 | <carbolymer> | Rembane, thx |
2020-12-04 14:26:50 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 14:27:00 +0100 | <merijn> | heh |
2020-12-04 14:27:13 +0100 | <Rembane> | carbolymer: np! |
2020-12-04 14:27:13 +0100 | <merijn> | Did I just get lucky with my AoC input? :p |
2020-12-04 14:27:23 +0100 | <xerox_> | how? |
2020-12-04 14:27:24 +0100 | <merijn> | because I just use asum without problems :p |
2020-12-04 14:27:45 +0100 | <cheater> | xerox_: what is the (ri -> n) syntax in your code in pattern matches? |
2020-12-04 14:28:06 +0100 | <xerox_> | asum is nice |
2020-12-04 14:28:19 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-12-04 14:28:27 +0100 | <merijn> | Well, I didn't bother with try around string and my parser still works :p |
2020-12-04 14:29:05 +0100 | <xerox_> | some people did it all in the parser! |
2020-12-04 14:29:11 +0100 | <hekkaidekapus> | carbolymer: I get that some people prefer parsec because of its boot lib status, but you could also use almost the same code with megaparsec and you wouldn’t have to worry about backtracking for chunk (string) parsers. |
2020-12-04 14:29:31 +0100 | <geekosaur> | cheater, looks like a view pattern to me |
2020-12-04 14:29:36 +0100 | <cheater> | thanks |
2020-12-04 14:29:44 +0100 | <merijn> | hekkaidekapus: tbh, I'm starting to prefer parsec (again) because the megaparsec haddocks are a mess |
2020-12-04 14:30:06 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 14:30:12 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-04 14:30:12 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
2020-12-04 14:30:27 +0100 | darkspadez|lapto | (~darkspade@217.146.82.202) (Remote host closed the connection) |
2020-12-04 14:30:28 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 14:30:28 +0100 | <hekkaidekapus> | merijn: Some of the haddocks were copied verbatim from parsec and don’t match the lib’s implementation. |
2020-12-04 14:30:32 +0100 | <merijn> | I dunno when they started degrading, but the haddocks are borderline useless to me (an experienced user of like 6 different parser combinators) as there seems to be almost no care in how combinators and modules are grouped |
2020-12-04 14:30:32 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-04 14:30:42 +0100 | <merijn> | hekkaidekapus: My problem isn't even the description |
2020-12-04 14:31:10 +0100 | jrm | (~jrm@freebsd/developer/jrm) (Ping timeout: 272 seconds) |
2020-12-04 14:31:11 +0100 | <merijn> | hekkaidekapus: It's that it's impossible to find things I *know* exist. How can beginners possibly find something when they don't even have years of parser combinator experience |
2020-12-04 14:31:36 +0100 | <hekkaidekapus> | Ah, that. |
2020-12-04 14:31:50 +0100 | <merijn> | The fact that it, for example, re-exports "Control.Monad.Combinators" without the docs for the re-export is *terrible* for example |
2020-12-04 14:32:17 +0100 | jrm | (~jrm@freebsd/developer/jrm) |
2020-12-04 14:32:52 +0100 | <hekkaidekapus> | But the split to parser-combinators was a good decision, IMO. |
2020-12-04 14:32:55 +0100 | <merijn> | Now, I know it's unfortunate that haddock doesn't (yet) support nice re-exports for whole module, but that can be solved by explicitly naming each re-export. Yes, explicitly listing all of Control.Monad.Combinators is an awkward tedious job, but for something as polished as megaparsec it's a shame it doesn't |
2020-12-04 14:33:19 +0100 | <merijn> | hekkaidekapus: Irrelevanat, they could still list the re-exports and thereby get inline haddocks for them in the Text.Megaparsec module |
2020-12-04 14:33:30 +0100 | <merijn> | Instantly improving the usability for both beginners *and* experts |
2020-12-04 14:34:11 +0100 | forcer1 | (~forcer@185.204.1.185) |
2020-12-04 14:34:20 +0100 | <hekkaidekapus> | No argument there, docs improvements are always welcome. |
2020-12-04 14:34:56 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-12-04 14:35:01 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
2020-12-04 14:35:28 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-12-04 14:36:42 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 14:36:57 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-12-04 14:37:02 +0100 | <hekkaidekapus> | carbolymer: More to the point, `let eclP = choice (chunk <$> yourList); runParser eclP "" "brn"` will work like a charm with megaparsec. |
2020-12-04 14:38:33 +0100 | seveg | (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
2020-12-04 14:39:34 +0100 | <hekkaidekapus> | merijn: Guess what? “Control.Monad.Combinators documentation should be reexported.” <https://github.com/mrkkrp/megaparsec/issues/417> |
2020-12-04 14:39:36 +0100 | drbean_ | (~drbean@TC210-63-209-150.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-12-04 14:40:17 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-04 14:40:17 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer) |
2020-12-04 14:40:27 +0100 | drbean | (~drbean@TC210-63-209-157.static.apol.com.tw) |
2020-12-04 14:40:58 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) |
2020-12-04 14:41:33 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-04 14:41:39 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-12-04 14:41:42 +0100 | <hekkaidekapus> | Paging lyxia… |
2020-12-04 14:41:49 +0100 | <hekkaidekapus> | lyxia: Are you there? |
2020-12-04 14:43:38 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
2020-12-04 14:43:47 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:cce9:14da:222:dd1d) |
2020-12-04 14:44:02 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (Ping timeout: 265 seconds) |
2020-12-04 14:45:13 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 14:45:29 +0100 | drbean | (~drbean@TC210-63-209-157.static.apol.com.tw) (Ping timeout: 265 seconds) |
2020-12-04 14:45:33 +0100 | danso | (~dan@69-165-210-185.cable.teksavvy.com) |
2020-12-04 14:45:35 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2020-12-04 14:48:09 +0100 | <cheater> | geekosaur: thanks. are implicit view functions implemented in ghc? |
2020-12-04 14:48:14 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-04 14:48:21 +0100 | <cheater> | the foo (-> 4) stuff |
2020-12-04 14:48:39 +0100 | <hekkaidekapus> | {-# language ViewPatterns #-} |
2020-12-04 14:49:22 +0100 | <merijn> | hekkaidekapus: tbh, I'd argue that implicit re-exports of modules from another package are a misfeature anyway, as there's no way to do that and stay PVP compliant unless you maintain strict upperbounds |
2020-12-04 14:49:56 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 256 seconds) |
2020-12-04 14:50:42 +0100 | <hekkaidekapus> | It could be configurable as lyxia proposed. |
2020-12-04 14:50:47 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-12-04 14:50:56 +0100 | <maerwald> | someone said "upper bounds"? :p |
2020-12-04 14:51:06 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-04 14:51:18 +0100 | <hekkaidekapus> | haha… |
2020-12-04 14:51:30 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 14:52:00 +0100 | <merijn> | maerwald: hmm? |
2020-12-04 14:52:01 +0100 | <hekkaidekapus> | maerwald says: “CI and tooling are better.” :p |
2020-12-04 14:52:31 +0100 | <merijn> | maerwald: https://i.kym-cdn.com/entries/icons/facebook/000/006/759/both.jpg |
2020-12-04 14:52:55 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 14:53:07 +0100 | <merijn> | CI is nice for detecting breakage, but doesn't help you get non-broken buildplans |
2020-12-04 14:53:40 +0100 | <maerwald> | If I'd have time I'd make a study about why software is so crappy these days. I think there are two main reasons: git and semver. It allows to move fast and break stuff as much as you like. |
2020-12-04 14:54:26 +0100 | <maerwald> | And I'm not saying I blame git or semver, but I think those are observable effects. |
2020-12-04 14:54:36 +0100 | <maerwald> | But we can argue about causality |
2020-12-04 14:55:36 +0100 | sleblanc | (~sleblanc@unaffiliated/sebleblanc) (Quit: Leaving) |
2020-12-04 14:55:59 +0100 | <hekkaidekapus> | We could also adopt a solution available right now: follow the PVP and write down those bounds. |
2020-12-04 14:57:21 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-12-04 14:58:04 +0100 | <maerwald> | hekkaidekapus: did anyone think of the security implications of that approach? :) I think it's a safe bet that bugfixes are never backporeted to major previous versions |
2020-12-04 14:58:30 +0100 | <merijn> | maerwald: That's an entirely different issue |
2020-12-04 14:58:34 +0100 | <maerwald> | doing semver properly is really hight maintenance load |
2020-12-04 14:58:37 +0100 | <maerwald> | and ppl are lazy af |
2020-12-04 14:58:52 +0100 | <merijn> | "Should you develop against the latest version as much as possible?" 'yes' |
2020-12-04 14:58:59 +0100 | <hekkaidekapus> | Devops is also high maintenance. |
2020-12-04 14:59:13 +0100 | <merijn> | Should you *package* versions so that they have less chance of breaking retro-actively (i.e. add upperbounds)? Also yes |
2020-12-04 14:59:42 +0100 | <merijn> | maerwald: I work a lot with scientific code. Security is a non-issue, but the ability to reasonably reive 10 year old code is a big deal |
2020-12-04 15:00:24 +0100 | <merijn> | Do upperbounds help you avoid security issues and what not? No. Do they help ensure that a package that builds correctly *now* has a non-zero chance of building as-is ten years from now? Yes. |
2020-12-04 15:00:30 +0100 | <maerwald> | I don't mind semver if 1. I get build time warnings saying "this major version is going EOL in 1 year", so I can prepare and assign tickets to interns, 2. major versions are maintained for at least a couple of years |
2020-12-04 15:00:51 +0100 | <merijn> | maerwald: That's an entirely separate concern, though |
2020-12-04 15:01:18 +0100 | <merijn> | maerwald: You care about "how long/well will this be supported?" which is a valid concern, but no one is pretending upperbounds address that at all |
2020-12-04 15:02:11 +0100 | <exarkun> | I see a lot of socket types on hoogle. is Network.Socket the correct answer? |
2020-12-04 15:02:16 +0100 | <merijn> | Upperbounds address a single (trivial from a distribution/operations perspective, but important nonetheless) issue of "if it builds now, it should build 10 years from now using the compiler from 10 years ago" |
2020-12-04 15:02:36 +0100 | <maerwald> | merijn: they don't even address that well |
2020-12-04 15:02:54 +0100 | <maerwald> | freeze files, stack and nix address that |
2020-12-04 15:02:54 +0100 | <merijn> | maerwald: Sure, but do you have a *better* solution? |
2020-12-04 15:03:05 +0100 | <hekkaidekapus> | What amazes me is a subset of people rallying against upper-bounds, but happily writing down Nix expressions to lock down deps up to exact commits (not maerwald, obviously. :p) |
2020-12-04 15:03:25 +0100 | <maerwald> | if I want to build something in 10 years, an upper bound isn't enough for me, I want to reproduce the environment |
2020-12-04 15:03:35 +0100 | <merijn> | hekkaidekapus: "oh, but I don't wanna write upperbounds, because it's tedious :(((" |
2020-12-04 15:03:42 +0100 | <maerwald> | hekkaidekapus: yeah, nix is a nightmare if you care about security |
2020-12-04 15:03:59 +0100 | <merijn> | hekkaidekapus: 5 minutes later "why am I stuck in cabal hell and nothing's building when I try to use this 6 year old package?!?!?" |
2020-12-04 15:04:10 +0100 | <hekkaidekapus> | lol |
2020-12-04 15:04:23 +0100 | <merijn> | Man...fuck those people >.> |
2020-12-04 15:04:51 +0100 | <hekkaidekapus> | That escalated quickly. >.> |
2020-12-04 15:04:56 +0100 | <maerwald> | lolo |
2020-12-04 15:05:16 +0100 | <maerwald> | merijn: take a sip of Laphroaig |
2020-12-04 15:05:24 +0100 | <maerwald> | good for your blood pressure |
2020-12-04 15:05:24 +0100 | <merijn> | maerwald: It's only 3 PM >.> |
2020-12-04 15:05:37 +0100 | <hekkaidekapus> | Friday PM is ok. |
2020-12-04 15:05:56 +0100 | <maerwald> | No one will mind |
2020-12-04 15:06:01 +0100 | <merijn> | hekkaidekapus: See, the great thing of hypothetical strawmen is that you can rage against them without anyone getting upset! |
2020-12-04 15:06:16 +0100 | <merijn> | (Well, if you keep your rage to a somehwat acceptable level) |
2020-12-04 15:07:00 +0100 | <hekkaidekapus> | In before maerwald talks about blood pressure and insurance costs induced by upper bounds… |
2020-12-04 15:07:05 +0100 | <merijn> | maerwald: I'm writing C++ right now, my bloodpressure can't be saved |
2020-12-04 15:08:41 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-12-04 15:08:46 +0100 | <maerwald> | C++ is like weed... if you're already paranoid, it will CRACK you |
2020-12-04 15:09:04 +0100 | <kuribas> | merijn: I cannot imagine what clojure would do to you :) |
2020-12-04 15:09:15 +0100 | <maerwald> | ok, yes, clojure is worse |
2020-12-04 15:09:55 +0100 | <maerwald> | You can randomly delete lines and it still compiles, but instead of showing a web page with account information, will start to compute mandelbrots and send them over a blockchain |
2020-12-04 15:10:57 +0100 | <kuribas> | clojure is way to lenient |
2020-12-04 15:11:04 +0100 | <kuribas> | even more than common lisp. |
2020-12-04 15:11:16 +0100 | <kuribas> | Anyway, that's offtopic... |
2020-12-04 15:11:19 +0100 | <geekosaur> | @remember maerwald ok, yes, clojure is worse. You can randomly delete lines and it still compiles, but instead of showing a web page with account information, will start to compute mandelbrots and send them over a blockchain |
2020-12-04 15:11:19 +0100 | <lambdabot> | Good to know. |
2020-12-04 15:11:38 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 15:12:48 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) |
2020-12-04 15:16:00 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Disconnected by services) |
2020-12-04 15:16:00 +0100 | hyperisco_ | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-12-04 15:17:13 +0100 | carlomagno | (~cararell@148.87.23.11) |
2020-12-04 15:18:08 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) |
2020-12-04 15:18:44 +0100 | ubert | (~Thunderbi@p200300ecdf1e53c9e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-12-04 15:19:18 +0100 | carlomagno1 | (~cararell@148.87.23.11) (Ping timeout: 272 seconds) |
2020-12-04 15:20:12 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 256 seconds) |
2020-12-04 15:26:07 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 246 seconds) |
2020-12-04 15:27:34 +0100 | jasperr | (~gazso@91-82-250-42.pool.digikabel.hu) (Remote host closed the connection) |
2020-12-04 15:27:43 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
2020-12-04 15:29:17 +0100 | knupfer | (~Thunderbi@200116b82c9bc000c8b7568bc99cc3b4.dip.versatel-1u1.de) (Quit: knupfer) |
2020-12-04 15:29:27 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2020-12-04 15:29:29 +0100 | knupfer | (~Thunderbi@200116b82c9bc000a8fd43d85d8a07f6.dip.versatel-1u1.de) |
2020-12-04 15:29:47 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-04 15:31:46 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 15:34:42 +0100 | <lyxia> | hekkaidekapus: did you ping me |
2020-12-04 15:34:47 +0100 | knupfer | (~Thunderbi@200116b82c9bc000a8fd43d85d8a07f6.dip.versatel-1u1.de) (Quit: knupfer) |
2020-12-04 15:34:58 +0100 | knupfer | (~Thunderbi@200116b82c9bc000adff544b4545b020.dip.versatel-1u1.de) |
2020-12-04 15:36:25 +0100 | qwfpluykh | (2e050550@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) |
2020-12-04 15:36:28 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-12-04 15:40:13 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-12-04 15:43:32 +0100 | <tdammers> | maerwald: well, duh, just don't delete those lines then XD |
2020-12-04 15:43:41 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-12-04 15:43:49 +0100 | mimagic | (~mimagic@201.82.37.29) |
2020-12-04 15:44:16 +0100 | <maerwald> | :D |
2020-12-04 15:44:36 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 15:44:53 +0100 | mimagic | (~mimagic@201.82.37.29) (Remote host closed the connection) |
2020-12-04 15:45:09 +0100 | mimagic | (~mimagic@201.82.37.29) |
2020-12-04 15:46:55 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-12-04 15:47:12 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 15:48:10 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 15:49:40 +0100 | mimagic | (~mimagic@201.82.37.29) (Ping timeout: 256 seconds) |
2020-12-04 15:52:30 +0100 | son0p | (~son0p@181.136.122.143) |
2020-12-04 15:52:50 +0100 | <typetetris> | Sorry for asking again: Which metric in ekg indicates gc pause times? Which metric in `GHC.Stats`? |
2020-12-04 15:52:59 +0100 | <typetetris> | Or can they only be seen with an eventlog? |
2020-12-04 15:53:22 +0100 | knupfer | (~Thunderbi@200116b82c9bc000adff544b4545b020.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-12-04 15:53:35 +0100 | knupfer | (~Thunderbi@200116b82c9bc0005da51f6efb192e42.dip.versatel-1u1.de) |
2020-12-04 15:54:20 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9) |
2020-12-04 15:55:55 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:8f93:fd62:22df:b06f) (Ping timeout: 272 seconds) |
2020-12-04 15:55:56 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 240 seconds) |
2020-12-04 15:56:29 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:e925:a6a8:c96:2dfe) |
2020-12-04 15:57:56 +0100 | drincruz_ | (~adriancru@ool-44c748be.dyn.optonline.net) |
2020-12-04 15:58:09 +0100 | stree | (~stree@50-108-78-9.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
2020-12-04 15:58:41 +0100 | hackage | rhbzquery 0.1.1 - Bugzilla query tool https://hackage.haskell.org/package/rhbzquery-0.1.1 (JensPetersen) |
2020-12-04 16:05:32 +0100 | <merijn> | hmm |
2020-12-04 16:06:05 +0100 | <merijn> | Is there a convenient way to run a number of megaparsec parsers in non-deterministic order? |
2020-12-04 16:07:04 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-04 16:07:44 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds) |
2020-12-04 16:07:56 +0100 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2020-12-04 16:08:10 +0100 | <sm[m]> | choice $ map try $ randomizeList [p1,p2,p3] ? |
2020-12-04 16:08:33 +0100 | <merijn> | sm[m]: That still only parses one |
2020-12-04 16:08:44 +0100 | <merijn> | I mean "I need to parse N things in an unknown order" |
2020-12-04 16:08:44 +0100 | <Mrbuck> | hi some I think haskell a good choice for distributed systems? Any serious known project related to that domain |
2020-12-04 16:09:17 +0100 | <merijn> | sm[m]: So "try to parse p1-p3, check which succeeds, then continue with the remaining two" |
2020-12-04 16:09:31 +0100 | <sm[m]> | merijn: oh.. yes there is something in megaparsec for that. "permute" ? |
2020-12-04 16:09:53 +0100 | <merijn> | Not permute at least :p |
2020-12-04 16:10:31 +0100 | <merijn> | sm[m]: Text.Megaparsec.Perm used to exist, but got nuked, apparently |
2020-12-04 16:10:53 +0100 | bcasiello_ | (~brian@071-088-110-201.res.spectrum.com) |
2020-12-04 16:11:23 +0100 | <merijn> | ah, it's in parser-combinators now |
2020-12-04 16:11:31 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 16:12:39 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 16:13:11 +0100 | <sm[m]> | yup runPermutation |
2020-12-04 16:13:37 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2020-12-04 16:14:02 +0100 | bcasiello | (~brian@071-088-110-201.res.spectrum.com) (Ping timeout: 256 seconds) |
2020-12-04 16:16:44 +0100 | <exarkun> | Okay, nobody gonna warn me away from Network.Socket? |
2020-12-04 16:17:37 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 260 seconds) |
2020-12-04 16:17:49 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) |
2020-12-04 16:18:38 +0100 | <Philonous> | exarkun, If you need to work with sockets, then network's Network.Socket is the way to go. |
2020-12-04 16:19:06 +0100 | bitmagie | (~Thunderbi@200116b80685200000259323389592bf.dip.versatel-1u1.de) (Client Quit) |
2020-12-04 16:19:07 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-04 16:19:16 +0100 | Ranhir | (~Ranhir@157.97.53.139) (Remote host closed the connection) |
2020-12-04 16:19:22 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-04 16:19:36 +0100 | shapr | hugs exarkun |
2020-12-04 16:20:32 +0100 | <exarkun> | Heya shapr |
2020-12-04 16:20:37 +0100 | alp | (~alp@2a01:e0a:58b:4920:39c3:c410:f47e:16f5) (Ping timeout: 272 seconds) |
2020-12-04 16:21:21 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-12-04 16:23:08 +0100 | <Philonous> | I have a series of requests and each requests carries a nonce and a time stamp, so I want to check if I have seen that nonce before. To limit the amount of space I need I want to only store a sliding window of them, and now I'm wondering which data structure to use. If I use a »Map UTCTime Nonce« I can drop old entries using dropWhileAntitone or split on O(log(n)) , but looking for the nonce is O(n). If I use a »Map Nonce UTCTime« I |
2020-12-04 16:23:09 +0100 | <Philonous> | can find the nonce in O(log(n)), but dropping old entries is O(n) |
2020-12-04 16:23:30 +0100 | <Philonous> | Is there a clever data structure that has insert, drop-old and lookup, all in log(n) ? |
2020-12-04 16:25:15 +0100 | catchme | (uid355354@gateway/web/irccloud.com/x-efeidyvsbqvqtcow) |
2020-12-04 16:26:04 +0100 | Ranhir | (~Ranhir@157.97.53.139) |
2020-12-04 16:26:51 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) |
2020-12-04 16:27:34 +0100 | <__monty__> | Is there a workaround to use ghcid in a multi-package project? Running it for a single project at a time would be fine but `ghcid -c 'cabal repl Project:exe:Myexe'` doesn't work, it doesn't report any syntax errors I introduce in my sources. |
2020-12-04 16:27:41 +0100 | hackage | proteaaudio 0.9.0 - Simple audio library for Windows, Linux, OSX. https://hackage.haskell.org/package/proteaaudio-0.9.0 (CsabaHruska) |
2020-12-04 16:29:12 +0100 | hackage | stack-all 0.1.1 - CLI tool for building across Stackage major versions https://hackage.haskell.org/package/stack-all-0.1.1 (JensPetersen) |
2020-12-04 16:29:22 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) (Quit: WeeChat 2.9) |
2020-12-04 16:29:44 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) |
2020-12-04 16:29:46 +0100 | <sm[m]> | monty: yes, pass additional -iDIR arguments |
2020-12-04 16:30:14 +0100 | lightwave | (~chris@bras-vprn-nwmkon8540w-lp130-10-142-112-210-136.dsl.bell.ca) |
2020-12-04 16:30:42 +0100 | hackage | proteaaudio-sdl 0.9.0 - Simple audio library for SDL. https://hackage.haskell.org/package/proteaaudio-sdl-0.9.0 (CsabaHruska) |
2020-12-04 16:31:06 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 16:31:36 +0100 | <lightwave> | I'm hitting a wall on my Haskell journey when I'm reading the "Haskell Programing from first principal" book. |
2020-12-04 16:32:04 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 16:32:13 +0100 | <sm[m]> | "make ghcid" in hledger's Makefile is an example. Also I think one of the tools, probably stack, allows "stack ghci all" or some such |
2020-12-04 16:33:20 +0100 | <lightwave> | While reading about Maybe and Either in chapter 12, I ran into this paragraph about Lifted and Unlifted types. '''Lifted and unlifted types To be precise, kind * is the kind of all standard lifted types, while types that have the kind # are unlifted. A lifted type, which includes any datatype you could define yourself, is any that can be inhabited by bottom. Lifted types are represented by a pointer and include |
2020-12-04 16:33:21 +0100 | <lightwave> | we’ve seen and most that you’re likely to encounter and use. Unlifted types are any types that cannot be inhabited by bottom. Types of kind # are often native machine types and raw pointers. Newtypes are a special case in that they are kind *, but they are unlifted, because their representation is identical to that of the type they contain, so a newtype itself is not creating any new pointer beyond that of t |
2020-12-04 16:33:21 +0100 | <lightwave> | fact means that the newtype itself cannot be inhabited by bottom—only the thing it contains can be—so newtypes are unlifted. The default kind of concrete, fully-applied datatypes in GHC is kind *.''' |
2020-12-04 16:33:37 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:e925:a6a8:c96:2dfe) (Ping timeout: 260 seconds) |
2020-12-04 16:33:43 +0100 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
2020-12-04 16:33:56 +0100 | <sm[m]> | lightwave: phew |
2020-12-04 16:34:19 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:34e2:7dfe:e47a:7867) |
2020-12-04 16:34:50 +0100 | <lightwave> | What is a lifted/unlifted type? I am thoroughly confused. My apology for pasting the paragraph.... didn't look that big ono the PDF. LOL |
2020-12-04 16:34:55 +0100 | <sm[m]> | and this is the book we send beginners to :) |
2020-12-04 16:35:34 +0100 | <merijn> | sm[m]: Pretty sure that's an aside :) |
2020-12-04 16:35:37 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Ping timeout: 264 seconds) |
2020-12-04 16:36:00 +0100 | <merijn> | lightwave: it's not really that important right now, just a mental note for "later" |
2020-12-04 16:36:15 +0100 | <merijn> | lightwave: Incidentally, do you happen to know Java or C#? |
2020-12-04 16:36:38 +0100 | <lightwave> | I used to write Java. :-) |
2020-12-04 16:36:44 +0100 | <xerox_> | this is just a proposal or is it implemented somewhere? https://gitlab.haskell.org/ghc/ghc/-/wikis/view-patterns#implicit-view-functions |
2020-12-04 16:36:52 +0100 | <boxscape> | hmmm I wish I could use `compare `on` fst` to compare (String, String) with (String, String -> Bool) |
2020-12-04 16:37:52 +0100 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2020-12-04 16:37:55 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-04 16:38:03 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2020-12-04 16:38:54 +0100 | <lightwave> | merijn: It's not shown as an aside in the book. In this book, I'm hitting a lot of these "aside" things in the middle of learning the basics. hahaha |
2020-12-04 16:38:55 +0100 | jollygood2 | (~bc8165ab@217.29.117.252) |
2020-12-04 16:39:16 +0100 | dxld | (~dxld@80-109-136-248.cable.dynamic.surfer.at) (Remote host closed the connection) |
2020-12-04 16:39:18 +0100 | <merijn> | lightwave: Right, so do you have a sense of the difference between "int" and "Integer"? |
2020-12-04 16:39:23 +0100 | <xerox_> | boxscape: maybe there's a way passing through Arg |
2020-12-04 16:39:26 +0100 | <boxscape> | Seems like that section from a book is a little outdated as well, since kinds of Unlifted types now have different names |
2020-12-04 16:39:51 +0100 | <xerox_> | boxscape: scratch that, the types wouldn't match anyway |
2020-12-04 16:40:07 +0100 | <lightwave> | merijn: Yes, int is a primitive while Integer is a boxed int. |
2020-12-04 16:40:20 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-04 16:40:23 +0100 | <lightwave> | merijn: kind of like the newtype thingy in haskell? |
2020-12-04 16:40:44 +0100 | <merijn> | lightwave: "lifted" = boxed (roughly) "unlifted" = unboxed/primitive (roughly) |
2020-12-04 16:41:57 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-12-04 16:42:11 +0100 | <merijn> | lightwave: GHC actually has a slightly more nuanced distinction of types, but that's close enough |
2020-12-04 16:42:12 +0100 | z0k | (~user@101.50.127.33) (Read error: Connection reset by peer) |
2020-12-04 16:42:12 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2020-12-04 16:42:30 +0100 | dxld | (~dxld@rush.pub.dxld.at) |
2020-12-04 16:42:43 +0100 | <merijn> | lightwave: Boxing exists for the same reason too, to accommodate parametric polymorphism (aka Java's generics) |
2020-12-04 16:42:52 +0100 | <lightwave> | merijn: What does "A lifted type is any that can be inhabited by bottom." mean? Bottom (in the british sense) vs. a?? in the american sense? LOL |
2020-12-04 16:43:25 +0100 | <merijn> | lightwave: Bottom in type theory terms is "non-terminating computation" |
2020-12-04 16:43:40 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@mx-ll-171.5.167-167.dynamic.3bb.co.th) (Read error: Connection reset by peer) |
2020-12-04 16:44:52 +0100 | <merijn> | lightwave: Since Haskell is turing complete it's possible to write infinite computations for any possible type. "bottom" is the term used to describe any "non-terminating computation" and any "normal type" can (via laziness) harbor such a non-terminating computation inside |
2020-12-04 16:45:31 +0100 | <merijn> | lightwave: otoh, a machine integer isn't lazy. It's just a machine integer, and thus cannot secretly be infinite |
2020-12-04 16:45:54 +0100 | <merijn> | lightwave: It's a bit weird that it's going into that, because this is some fairly nuanced GHC implementation details stuff :p |
2020-12-04 16:46:49 +0100 | <lightwave> | merijn: I see... so if bottom is in the set for the type, the type is a lifted type? |
2020-12-04 16:46:57 +0100 | <__monty__> | sm[m]: Hmm, I think this might not work for me because I'm making use of cabal's generated data-files modules and ghci can't find those. So I think I need cabal repl. I also don't think -i solves my problem, I don't have deps in other directories. |
2020-12-04 16:47:11 +0100 | <merijn> | lightwave: If you have "x :: Int" then (due to laziness) you can't tell whether you have 1) an actual number or 2) a lazy computation returning a number |
2020-12-04 16:47:27 +0100 | britva | (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep) |
2020-12-04 16:47:39 +0100 | <merijn> | lightwave: Whereas with "x :: Int#" (the unlifted integer type, thinkg Java's "int") you *know* you have a number |
2020-12-04 16:47:39 +0100 | <lightwave> | What's the best intuitive way to wrap my head around "lift" or "lifted" type...? English is not my language.... |
2020-12-04 16:48:00 +0100 | z0k | (~user@101.50.127.33) |
2020-12-04 16:48:17 +0100 | <merijn> | lightwave: tbh, mentally replacing "lifted"/"unlifted" with Java's "boxed"/"unboxed" (or primitive) is cloe enough |
2020-12-04 16:48:59 +0100 | <merijn> | It's not 100% accurate, but it's, say, ~95% accurate which is more than good enough for beginners :p |
2020-12-04 16:49:30 +0100 | <lightwave> | Knowing less is more in my Haskell journey... LOL |
2020-12-04 16:50:22 +0100 | <merijn> | lightwave: tbh, for a long time "boxed" was also used in GHC/papers talking about GHC, so it's not that weird to use |
2020-12-04 16:50:42 +0100 | hyperisco_ | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Quit: Curry, you fools!) |
2020-12-04 16:50:53 +0100 | <lightwave> | I'm 466 pages into this book and I'm still no where near writing any "fun" program to sratch my itch. |
2020-12-04 16:51:04 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-12-04 16:51:26 +0100 | <merijn> | It's...not a "quickly start hacking book", no. There are other, shorter books, though :) |
2020-12-04 16:51:27 +0100 | <lightwave> | Still 800 pages to go. LOL |
2020-12-04 16:51:28 +0100 | jonathanx_ | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-12-04 16:51:31 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Read error: Connection reset by peer) |
2020-12-04 16:52:23 +0100 | Franciman | (~franko@host-212-171-88-43.retail.telecomitalia.it) |
2020-12-04 16:52:50 +0100 | <Franciman> | Hi, what is stackage made of? |
2020-12-04 16:52:56 +0100 | <lightwave> | I told my wife I'm not going to buy a Nintendo Switch until I finish this book by end of year. Bad decision... |
2020-12-04 16:53:10 +0100 | <Franciman> | is there any file representing a stackage snapshot? |
2020-12-04 16:53:37 +0100 | <sm[m]> | big mistake ! :) |
2020-12-04 16:54:14 +0100 | <hyperisco> | https://hackage.haskell.org/package/foldl-1.4.10/docs/Control-Foldl.html#t:EndoM is there another formulation or source of this? |
2020-12-04 16:54:18 +0100 | <merijn> | lightwave: That said, you don't have to stop yourself from writing stuff until you finish the book :p |
2020-12-04 16:54:21 +0100 | <hyperisco> | particularly for folding |
2020-12-04 16:54:29 +0100 | <hyperisco> | Foldable f => f (a -> m a) -> a -> m a |
2020-12-04 16:55:24 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-04 16:56:05 +0100 | <sm[m]> | Franciman: build-constraints.yaml in the stackage repo |
2020-12-04 16:56:48 +0100 | <lightwave> | merijn: My brain is constantly distracting me with ideas on how to "rewrite" an existing system with Haskell. Kind of like day-dreaming about the utopia of 100% Haskell & PureScript code base. :-) |
2020-12-04 16:57:12 +0100 | <Franciman> | sm[m], thank shon |
2020-12-04 16:57:18 +0100 | <lightwave> | I'm sure that happens to lots of beginners... |
2020-12-04 16:57:52 +0100 | <sm[m]> | yup |
2020-12-04 16:58:08 +0100 | <monochrom> | IMO it is the fault of HFFP to bring up unlifted types this early. (Yes, 400 pages into is still too early.) |
2020-12-04 16:58:16 +0100 | <merijn> | monochrom: I agree |
2020-12-04 16:58:25 +0100 | <merijn> | I don't recall them being in there, let alone that early |
2020-12-04 16:58:27 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-12-04 16:58:36 +0100 | <merijn> | I'm sure my girlfriend would've been confused and asked me... |
2020-12-04 16:58:37 +0100 | <monochrom> | In fact for most practical purposes you don't even need to know for your entire life. |
2020-12-04 16:58:49 +0100 | <merijn> | lightwave: ^^^ that |
2020-12-04 16:59:01 +0100 | <lightwave> | I'm beginning to see why Haskell is harder to learn for seasoned programmer. |
2020-12-04 16:59:14 +0100 | <jollygood2> | hi. I need to compare images of different size for similarity. what haskell package or packages do you recommend? |
2020-12-04 16:59:23 +0100 | <sm[m]> | HFFFP is the book #haskell would write given unlimited time :) |
2020-12-04 16:59:28 +0100 | <merijn> | lightwave: Naah, this is just poor pedagogical timing |
2020-12-04 16:59:38 +0100 | <merijn> | lightwave: (of the book) |
2020-12-04 16:59:48 +0100 | <monochrom> | When do you need to know: you read asm code generated by GHC, or you want to write the next generation vector library, or you contribute to GHC... low-level stuff. |
2020-12-04 16:59:53 +0100 | alp | (~alp@88.126.45.36) |
2020-12-04 17:00:05 +0100 | <sm[m]> | lightwave: there are other books that move along faster |
2020-12-04 17:00:18 +0100 | <merijn> | lightwave: unlifted types are interesting if you wanna, say, write super high performance code/etc. not for "I wanna write a simple application" |
2020-12-04 17:00:27 +0100 | <Taneb> | I've been writing Haskell for like a decade now and I don't think I've ever really needed to know about unlifted types |
2020-12-04 17:00:47 +0100 | <Taneb> | Except for when I was trying to a write a program that would go faster than the one my friend wrote in C++ or something |
2020-12-04 17:01:08 +0100 | <monochrom> | Well, I avoided the magic trigger word "performance" because everyone goes overboard with "performance". |
2020-12-04 17:01:21 +0100 | <lightwave> | sm[m]: I was reading PureScript by Example and then found it to be too sparse in details. |
2020-12-04 17:01:25 +0100 | <merijn> | monochrom: Also true |
2020-12-04 17:02:10 +0100 | <merijn> | monochrom: That's because most programmers don't understand shit about performance :) |
2020-12-04 17:02:11 +0100 | <lightwave> | monochrom: hear hear |
2020-12-04 17:02:13 +0100 | <sm[m]> | lightwave: it's good to have a place to turn when you want more details, maybe LHFFP is that |
2020-12-04 17:02:48 +0100 | <lightwave> | sm[m]: What's LHFFP? |
2020-12-04 17:03:04 +0100 | <Franciman> | sm[m], wait, but in the build-constraints I see no constraints :) |
2020-12-04 17:03:23 +0100 | <sm[m]> | I'm trying to remember the acronym for the book you're talking about, and probably failing. Even that is too long for me :) |
2020-12-04 17:03:49 +0100 | <Franciman> | Learning Haskell for Future Proof |
2020-12-04 17:03:51 +0100 | <Franciman> | ? |
2020-12-04 17:04:05 +0100 | benjamingr__ | (uid23465@gateway/web/irccloud.com/x-jwefvpayxcoyisfw) |
2020-12-04 17:04:15 +0100 | <sm[m]> | Franciman: they're implied somehow, I forget the details but read me should say |
2020-12-04 17:04:23 +0100 | <Franciman> | oh great, thanks |
2020-12-04 17:04:43 +0100 | <lightwave> | Oh the book I'm reading is "Haskell Programming from first principal" |
2020-12-04 17:05:04 +0100 | <sm[m]> | HPFFP. Thank you |
2020-12-04 17:05:44 +0100 | <sm[m]> | very unmemorable alas |
2020-12-04 17:06:48 +0100 | <lightwave> | The book "Real World Haskell" is more appealing but perhaps a bit dated? |
2020-12-04 17:06:58 +0100 | <boxscape> | sm[m] I just think of it as haskellbook |
2020-12-04 17:07:02 +0100 | <boxscape> | @where haskellbook |
2020-12-04 17:07:02 +0100 | <lambdabot> | http://haskellbook.com |
2020-12-04 17:07:19 +0100 | ubert | (~Thunderbi@p200300ecdf1e53c9e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-12-04 17:07:27 +0100 | <sm[m]> | lightwave: yes. One I like is |
2020-12-04 17:07:27 +0100 | <sm[m]> | @where HTAC |
2020-12-04 17:07:27 +0100 | <lambdabot> | "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook> |
2020-12-04 17:07:28 +0100 | <boxscape> | lightwave definitely dated |
2020-12-04 17:07:33 +0100 | <ski> | @where HPFFP |
2020-12-04 17:07:33 +0100 | <lambdabot> | "Haskell Programming: from first principles - Pure functional programming without fear or frustration" by Chistopher Allen (bitemyapp),Julie Moronuki at <http://haskellbook.com/>,#haskell-beginners |
2020-12-04 17:07:47 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 17:08:00 +0100 | ski | isn't really fond of the name "haskellbook" |
2020-12-04 17:08:28 +0100 | <sm[m]> | yup, we have more than one |
2020-12-04 17:09:27 +0100 | <int-e> | ski: quick, register thehaskellbook.com |
2020-12-04 17:11:18 +0100 | <int-e> | https://haskellbooks.com/ haha |
2020-12-04 17:11:26 +0100 | <int-e> | (fair enough) |
2020-12-04 17:11:50 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 17:12:21 +0100 | <int-e> | (and in fact the existence of that domain makes haskellbook.com slightly more questionable to my mind) |
2020-12-04 17:12:39 +0100 | <maerwald> | boxscape: have the lawsuits around that book settled? >:) |
2020-12-04 17:12:45 +0100 | <boxscape> | no clue |
2020-12-04 17:12:58 +0100 | <merijn> | I thought they were settled out of court? |
2020-12-04 17:13:01 +0100 | <Franciman> | oh I found out about jenga, such a great project |
2020-12-04 17:13:13 +0100 | <Franciman> | soon stack will be useless, except for being hipster |
2020-12-04 17:13:52 +0100 | <maerwald> | there's also stack2cabal |
2020-12-04 17:14:09 +0100 | <maerwald> | and jenga is deprecated |
2020-12-04 17:14:14 +0100 | <Franciman> | oh :< |
2020-12-04 17:14:15 +0100 | <Franciman> | why |
2020-12-04 17:14:19 +0100 | <sm[m]> | ha I'd take that bet |
2020-12-04 17:14:22 +0100 | <maerwald> | because it says so on hackage |
2020-12-04 17:14:24 +0100 | <sm[m]> | damn too late |
2020-12-04 17:14:25 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 17:15:01 +0100 | <merijn> | Readme of that still mentions sandboxes :p |
2020-12-04 17:15:02 +0100 | <Franciman> | why don't we create our own version of stackage that doesn't rely on amazon? |
2020-12-04 17:15:11 +0100 | <Franciman> | ah, because we are poor |
2020-12-04 17:15:16 +0100 | <merijn> | Franciman: So..."hackage"? :p |
2020-12-04 17:15:25 +0100 | <Franciman> | merijn, does hackage provide snapshots? |
2020-12-04 17:15:33 +0100 | <Franciman> | of working together packages? |
2020-12-04 17:15:36 +0100 | <Franciman> | like a distro |
2020-12-04 17:15:46 +0100 | <maerwald> | Franciman: yes, it's called stackages snapshots :D |
2020-12-04 17:15:52 +0100 | <Franciman> | lolz |
2020-12-04 17:15:53 +0100 | <maerwald> | those are just version infos |
2020-12-04 17:15:59 +0100 | <maerwald> | so you just use that |
2020-12-04 17:16:01 +0100 | <merijn> | Franciman: Sure, just make a freeze file :p |
2020-12-04 17:16:09 +0100 | <lightwave> | What? Stackage will be gone? Why? |
2020-12-04 17:16:15 +0100 | <Franciman> | no it won't |
2020-12-04 17:16:26 +0100 | <merijn> | lightwave: That was wishful thinking by some people :) |
2020-12-04 17:16:31 +0100 | <Franciman> | merijn, if I can translate stackage files fo cabal freezes |
2020-12-04 17:16:38 +0100 | <Franciman> | it'd be great |
2020-12-04 17:16:48 +0100 | <maerwald> | well, stack has a saner file format than Cabal, that you can actually use and parse yourself |
2020-12-04 17:17:03 +0100 | <sm[m]> | Franciman: I think stackage provides that somewhere |
2020-12-04 17:17:21 +0100 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2020-12-04 17:17:27 +0100 | <maerwald> | so I wouldn't want it to die, just so I can still abuse stack2cabal to generate my cabal.project files for me |
2020-12-04 17:17:36 +0100 | <lightwave> | Any haskeller here using PureScript to build the front-end? |
2020-12-04 17:17:41 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 17:18:09 +0100 | <Franciman> | sm[m], it's a bit obscure where |
2020-12-04 17:18:10 +0100 | <Franciman> | yeah |
2020-12-04 17:18:16 +0100 | <merijn> | maerwald: Hard disagree on any implication that YAML is sane >.> |
2020-12-04 17:18:16 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2020-12-04 17:18:38 +0100 | <maerwald> | merijn: don't tell me cabal file format is sane :o |
2020-12-04 17:18:53 +0100 | <Franciman> | what would be a cool format? |
2020-12-04 17:18:58 +0100 | <maerwald> | and there are zero tools that can deal with it other than a huge 300module monolith |
2020-12-04 17:19:00 +0100 | <merijn> | maerwald: I didn't say so, but at least that one is improving, unlike YAML |
2020-12-04 17:19:03 +0100 | <Franciman> | let's write a compiler |
2020-12-04 17:19:16 +0100 | <Franciman> | I like TOML |
2020-12-04 17:19:17 +0100 | <Franciman> | topkek |
2020-12-04 17:19:29 +0100 | <maerwald> | yes, toml, yaml, anything is better than cabal format |
2020-12-04 17:19:44 +0100 | <merijn> | maerwald: Tools can only "deal" with yaml in the sense that it can turn your file into a nested dictionary |
2020-12-04 17:19:53 +0100 | <maerwald> | yes, that's already a huge win |
2020-12-04 17:19:57 +0100 | <merijn> | maerwald: If you wanna actually parse it you still gotta write a parser on top of that |
2020-12-04 17:20:21 +0100 | <maerwald> | so tools like stack2cabal don't really need to interface or depend on stack, they can just easily parse the yaml themselves |
2020-12-04 17:20:25 +0100 | <Franciman> | I agree with maerwald about cabal being an arcane format only supported by a huge lib |
2020-12-04 17:20:35 +0100 | <maerwald> | with cabal, you have to depend on Cabal the library and that's no fun :) |
2020-12-04 17:20:38 +0100 | <merijn> | maerwald: The latest CABAL spec is already more parseable. Splitting of a seperate parser lib is feasible, but someone would have to actually do it |
2020-12-04 17:21:54 +0100 | <maerwald> | custom file formats are always a bad idea for things that will be used by a large number of ppl |
2020-12-04 17:22:06 +0100 | <Franciman> | agree |
2020-12-04 17:22:48 +0100 | <operand> | Hi, I'm trying to use Megaparsec's Lexer components, but I feel like I'm misunderstanding something. |
2020-12-04 17:23:05 +0100 | <merijn> | YAML doesn't eliminate any of the customness. It just means parsing dictionaries instead of text |
2020-12-04 17:23:36 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-12-04 17:23:41 +0100 | <operand> | Is the 'lexeme' function (when supplied with a space consumer) not supposed to strip trailing whitespace and then run the parser on the result? |
2020-12-04 17:23:47 +0100 | <operand> | Is it the other way around, perhaps? |
2020-12-04 17:23:54 +0100 | <dcoutts_> | yaml was not a popular format when the original Cabal spec was written |
2020-12-04 17:23:58 +0100 | dcoutts_ | dcoutts |
2020-12-04 17:24:18 +0100 | <merijn> | XML was popular when Cabal was written :p |
2020-12-04 17:24:25 +0100 | <dcoutts> | yeah, exactly |
2020-12-04 17:24:29 +0100 | <Franciman> | still better than cabal, imho |
2020-12-04 17:24:32 +0100 | <merijn> | So be happy you don't have Maven's insanity |
2020-12-04 17:24:45 +0100 | <merijn> | Franciman: What, specifically, is so bad about the format? |
2020-12-04 17:24:51 +0100 | <maerwald> | I have PTSD from XML, no thanks |
2020-12-04 17:24:54 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
2020-12-04 17:25:01 +0100 | <Franciman> | the fact that you don't have a simple library for parsing it |
2020-12-04 17:25:03 +0100 | <merijn> | Sure, the fact that *currently* the only parser is embedded in Cabal itself is unfortunate |
2020-12-04 17:25:07 +0100 | <Franciman> | is a huge downside |
2020-12-04 17:25:08 +0100 | Axma88579 | (~Axman6@pdpc/supporter/student/Axman6) (Read error: Connection reset by peer) |
2020-12-04 17:25:10 +0100 | <lightwave> | maerwald: I still have to suffer from XML torture... |
2020-12-04 17:25:14 +0100 | <merijn> | Franciman: *that* is not a complaint about the format |
2020-12-04 17:25:24 +0100 | Axman6 | (~Axman6@pdpc/supporter/student/Axman6) |
2020-12-04 17:25:26 +0100 | <Franciman> | well it is a complain about the choices made |
2020-12-04 17:25:29 +0100 | <maerwald> | merijn: it is, because common formats already have all the tools |
2020-12-04 17:25:36 +0100 | <merijn> | Franciman: That's a complaint about the lack of an external parser. Which is valid, but different |
2020-12-04 17:25:40 +0100 | <merijn> | maerwald: Which tools? |
2020-12-04 17:25:48 +0100 | <maerwald> | parsers, formatters, anything |
2020-12-04 17:25:53 +0100 | <dcoutts> | but you don't just want a parser, but all the types for representing the contents |
2020-12-04 17:25:56 +0100 | <merijn> | Franciman: There was no "choice made" to not have an external parser |
2020-12-04 17:26:01 +0100 | <int-e> | merijn: the real complaint I have is about the awkwardness of multi-line text fields (synopsis) |
2020-12-04 17:26:12 +0100 | <merijn> | Franciman: No one has implemented one, therefore there is none |
2020-12-04 17:26:12 +0100 | <maerwald> | schemas, validators |
2020-12-04 17:26:27 +0100 | <merijn> | maerwald: There is a schema and validator it's just in Cabal. |
2020-12-04 17:26:44 +0100 | <Franciman> | fair point, but still |
2020-12-04 17:26:49 +0100 | <merijn> | I'll be the first to say that splitting up Cabal is probably a wise decisions |
2020-12-04 17:27:21 +0100 | <Franciman> | also using a non custom format, implies more support |
2020-12-04 17:27:23 +0100 | <merijn> | But given that all of Cabal and cabal-install is maintained by like 1.5 people, I suggest that if you want things to be better, you start coding this better world |
2020-12-04 17:27:55 +0100 | <int-e> | And I'm really glad that it's not XML. |
2020-12-04 17:28:08 +0100 | <merijn> | tbh, phadej is already performing minor miracles as it is |
2020-12-04 17:28:25 +0100 | <merijn> | Complaining is easy |
2020-12-04 17:28:44 +0100 | <Franciman> | merijn, I'm not complaining, though, I'm discussing |
2020-12-04 17:28:48 +0100 | <Franciman> | not saying cabal sucks |
2020-12-04 17:28:52 +0100 | <Franciman> | or else |
2020-12-04 17:29:04 +0100 | <Franciman> | I said that not using a custom format, could have been easier |
2020-12-04 17:29:11 +0100 | <maerwald> | merijn: cabal development is pretty closed doors afais, for some historical reasons. I'd say that may be one of the reasons it doesn't attract many contributors (apart from the complexity) |
2020-12-04 17:29:19 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 246 seconds) |
2020-12-04 17:29:23 +0100 | <merijn> | Franciman: Easy to say, 16 (?) years later |
2020-12-04 17:29:36 +0100 | <Franciman> | yes, that's why I'm saying it :P |
2020-12-04 17:29:47 +0100 | <merijn> | maerwald: How so? You get contributor access by simply opening a PR, pretty much >.> |
2020-12-04 17:30:11 +0100 | <Franciman> | I think maerwald means that it is hard to get started at understanding what is going on both now and in the future directions |
2020-12-04 17:30:15 +0100 | <Franciman> | at least that's what I felt |
2020-12-04 17:30:45 +0100 | <int-e> | Franciman: IIRC the state of the art at the time were 1) key=value config files with [sections] and no nesting and 2) XML. |
2020-12-04 17:30:48 +0100 | <maerwald> | merijn: Well, there are some plans about upcoming cabal features, which I was told about *in private* :) |
2020-12-04 17:31:02 +0100 | <maerwald> | And I did not leak them |
2020-12-04 17:31:07 +0100 | <merijn> | Franciman: Development is pretty "I need this driven" |
2020-12-04 17:31:21 +0100 | <int-e> | XML is godawful for writing by hand, and lack of nesting ruled out config files |
2020-12-04 17:31:29 +0100 | <maerwald> | so it seems sharing visions and directions is done behind closed doors in private meetings and conversations |
2020-12-04 17:31:33 +0100 | <lightwave> | More like "I need this yesterday" |
2020-12-04 17:32:08 +0100 | <merijn> | maerwald: Most of the discussions is on IRC in #hackage and/or github issues, tbh |
2020-12-04 17:32:18 +0100 | <maerwald> | merijn: and I think the historical reason is that nix-style builds was in fact *planned* prior to stack, but stack then implemented it first |
2020-12-04 17:32:37 +0100 | <maerwald> | (announced even) |
2020-12-04 17:32:42 +0100 | <merijn> | maerwald: v2 implementation started prior to stack |
2020-12-04 17:32:48 +0100 | <merijn> | (not just planning) |
2020-12-04 17:32:50 +0100 | <maerwald> | yeah |
2020-12-04 17:32:56 +0100 | <Franciman> | int-e, ok right |
2020-12-04 17:33:04 +0100 | <Franciman> | then it seems a forced decision |
2020-12-04 17:33:17 +0100 | <merijn> | maerwald: There's no real "behind closed doors", tbh |
2020-12-04 17:33:53 +0100 | <merijn> | maerwald: It's more "there's no real venue for design discussions at all, and most of the vision is spread by osmosis", I think :p |
2020-12-04 17:34:29 +0100 | <maerwald> | sure, I'm just speculating... hard to verify either theory |
2020-12-04 17:34:40 +0100 | <sm[m]> | Franciman: later hpack came along and made it easy to write cabal files in yaml. Stack integrated this as an option but cabal-install didn't (yet!) |
2020-12-04 17:34:49 +0100 | boxscape | (54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Ping timeout (120 seconds)) |
2020-12-04 17:35:01 +0100 | <merijn> | maerwald: Well, I like to think I'm keep a close track of cabal development and the occasional patch and *I* don't know of any such venue :p |
2020-12-04 17:35:03 +0100 | <maerwald> | hpack was a good idea, but ppl used it wrong |
2020-12-04 17:35:12 +0100 | <merijn> | sm[m]: It's not happening |
2020-12-04 17:35:21 +0100 | Yumasi | (~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69) (Ping timeout: 272 seconds) |
2020-12-04 17:35:24 +0100 | <dolio> | YAML only helps get you a concrete parse tree, so the hypothetical wider 'support' would probably be a bunch of buggy tools that each implement their own incorrect version of the actual cabal file format. |
2020-12-04 17:35:45 +0100 | <maerwald> | dolio: that's web scale |
2020-12-04 17:35:51 +0100 | <merijn> | dolio: Sure, but no one wants to admit that harsh truth |
2020-12-04 17:36:01 +0100 | <sm[m]> | Re closed doors, it takes extra time and energy to lead things in an open transparent manner, stack has had a bit more of that kind of leadership |
2020-12-04 17:36:03 +0100 | <merijn> | dolio: Everything's just strings! |
2020-12-04 17:36:19 +0100 | zaquest | (~notzaques@5.128.210.178) |
2020-12-04 17:36:20 +0100 | <int-e> | merijn: let's hack something in perl with regular expressions |
2020-12-04 17:36:20 +0100 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2020-12-04 17:36:30 +0100 | <int-e> | (is that redundant?) |
2020-12-04 17:37:02 +0100 | <merijn> | sm[m]: hpack is basically an anti-feature and one of these days I'll get around to writing a bunch of blogs on why >.> |
2020-12-04 17:37:09 +0100 | <dcoutts> | maerwald: what makes you think it's closed world. It's all there on github. Same as everything else. We'd really like more contributors. The problem is the lack of contributors. |
2020-12-04 17:37:46 +0100 | <merijn> | dcoutts: Well, one problem is that there is, afaik, no high level overview of what is roughly where in the codebase |
2020-12-04 17:37:53 +0100 | <maerwald> | dcoutts: open source alone doesn't imply "open development". I make a distinction of those |
2020-12-04 17:38:04 +0100 | <maerwald> | And this is without any judgement |
2020-12-04 17:38:06 +0100 | <merijn> | dcoutts: So every time I do something I spend ages delving through code and bugging phadej if he knows |
2020-12-04 17:38:32 +0100 | <maerwald> | open development can also crash a project (the SVN devs talked about that once) |
2020-12-04 17:38:50 +0100 | <merijn> | dcoutts: Especially the inversion of cabal-install calling into Cabal messes me up every single time |
2020-12-04 17:40:21 +0100 | <maerwald> | (e.g. I consider NixOS too much of open development) |
2020-12-04 17:40:51 +0100 | Guest_68 | (48307fac@72.48.127.172) |
2020-12-04 17:40:58 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2020-12-04 17:41:49 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 17:42:23 +0100 | <dcoutts> | merijn: would something like this be useful, if it were more comprehensive? https://github.com/haskell/cabal/wiki/Source-Guide |
2020-12-04 17:43:25 +0100 | <dcoutts> | merijn: what do you mean by inversion? Confusing that cabal calls into the Cabal lib, or that is runs the Setup.hs exe, or both or? |
2020-12-04 17:44:13 +0100 | <maerwald> | dcoutts: well, one other way I could think of is that big companies allow employees to spend some time on e.g. cabal and get paid for that as well. It happens with GHC, why is cabal a 2nd class citizen here? |
2020-12-04 17:44:13 +0100 | alx741 | (~alx741@186.178.110.235) (Ping timeout: 260 seconds) |
2020-12-04 17:45:07 +0100 | Guest_68 | (48307fac@72.48.127.172) (Remote host closed the connection) |
2020-12-04 17:45:35 +0100 | <dcoutts> | maerwald: do you realise that IOHK does pay for 0.5 FTE on cabal? |
2020-12-04 17:45:45 +0100 | <maerwald> | :o |
2020-12-04 17:47:52 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 246 seconds) |
2020-12-04 17:47:58 +0100 | <sm[m]> | I did not. Thanks IOHK! |
2020-12-04 17:48:18 +0100 | <maerwald> | Yeah, where's the banner in the README :) |
2020-12-04 17:48:33 +0100 | <sm[m]> | where is that time being spent I wonder. The ghc work has some great monthly reporting |
2020-12-04 17:48:39 +0100 | urek | (~urek@2804:7f1:e10a:9644:2492:fd7b:c739:6641) (Ping timeout: 272 seconds) |
2020-12-04 17:50:21 +0100 | <maerwald> | sm[m]: you just look up the commit history of phadej :p |
2020-12-04 17:50:27 +0100 | <maerwald> | there's no other metric |
2020-12-04 17:51:11 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 17:51:58 +0100 | <sm[m]> | phadej seemed a bit conflicted about working on cabal last time we chatted |
2020-12-04 17:52:21 +0100 | ubert1 | (~Thunderbi@p200300ecdf1e53cfe6b318fffe838f33.dip0.t-ipconnect.de) |
2020-12-04 17:52:22 +0100 | <merijn> | dcoutts: cabal-install parsing everything, then serialising back into strings to pass to Cabal |
2020-12-04 17:52:22 +0100 | ubert | (~Thunderbi@p200300ecdf1e53c9e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-04 17:52:23 +0100 | ubert1 | ubert |
2020-12-04 17:52:32 +0100 | <sm[m]> | maybe 1.0 FTE would make a big difference, dunno |
2020-12-04 17:52:48 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
2020-12-04 17:52:59 +0100 | <Uniaika> | merijn: sweet hell |
2020-12-04 17:52:59 +0100 | <merijn> | dcoutts: Ah, I think that was missing when I last hacked on it |
2020-12-04 17:53:01 +0100 | <sm[m]> | Like (I assume) bgamari is a FTE for ghc |
2020-12-04 17:53:09 +0100 | <merijn> | Uniaika: hmm? |
2020-12-04 17:53:40 +0100 | <merijn> | dcoutts: tbh, mostly it's Cabal's option parser that is confusing as fuck |
2020-12-04 17:53:47 +0100 | zaquest | (~notzaques@5.128.210.178) |
2020-12-04 17:54:02 +0100 | <Uniaika> | merijn: the string serialisation between the cli tool and the lib |
2020-12-04 17:54:03 +0100 | <dcoutts> | merijn: cli parser you mean? |
2020-12-04 17:54:03 +0100 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2020-12-04 17:54:07 +0100 | <merijn> | dcoutts: Yeah |
2020-12-04 17:54:19 +0100 | sm[m] | thinks what real world cli parser isn't |
2020-12-04 17:54:23 +0100 | <merijn> | dcoutts: Like, it took me 5+ days to add an option to a command |
2020-12-04 17:54:32 +0100 | <merijn> | sm[m]: Clearly you have not looked at Cabal's |
2020-12-04 17:55:08 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) |
2020-12-04 17:55:37 +0100 | <dcoutts> | merijn: to get rid of the serialsing back to strings, we'd have to eliminate the build-type Custom, and stop invoking Setup.hs scripts as external processes. |
2020-12-04 17:55:58 +0100 | <merijn> | I can't even explain why it's so confusing because my understanding is insufficient to describe it well enough to point it out |
2020-12-04 17:56:08 +0100 | <merijn> | dcoutts: I know *why* it exists |
2020-12-04 17:56:20 +0100 | <merijn> | dcoutts: But tht doesn't make it any easier to work on :p |
2020-12-04 17:56:36 +0100 | <dcoutts> | eliminating build-type custom would make a lot of things easier, but also break a lot of packages |
2020-12-04 17:56:40 +0100 | <dcoutts> | it's quite awkward |
2020-12-04 17:56:55 +0100 | alx741 | (~alx741@186.178.110.235) |
2020-12-04 17:57:00 +0100 | <merijn> | dcoutts: And really, the serialising to strings wouldn't be so bad if Cabal's CLI was understandable by mere mortals without losing their mind like a Lovecraft protagonist ;) |
2020-12-04 17:58:27 +0100 | mimagic | (~mimagic@201.82.37.29) |
2020-12-04 17:58:31 +0100 | Ariakenom | (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) |
2020-12-04 18:01:28 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-npckdfwtcapekmuw) |
2020-12-04 18:04:33 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
2020-12-04 18:05:18 +0100 | jonatanb | (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
2020-12-04 18:06:00 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-12-04 18:08:04 +0100 | knupfer | (~Thunderbi@200116b82c9bc0005da51f6efb192e42.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
2020-12-04 18:08:31 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 246 seconds) |
2020-12-04 18:09:31 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-12-04 18:10:11 +0100 | hackage | time-compat 1.9.5 - Compatibility package for time https://hackage.haskell.org/package/time-compat-1.9.5 (phadej) |
2020-12-04 18:10:17 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-04 18:10:31 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-04 18:11:18 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) |
2020-12-04 18:14:32 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-04 18:16:29 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 18:16:53 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 18:17:31 +0100 | kuribas | (~user@ptr-25vy0i8rcepunzqy0n7.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2020-12-04 18:18:22 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-04 18:18:49 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-04 18:22:31 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2020-12-04 18:23:08 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-04 18:23:34 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-04 18:23:59 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) |
2020-12-04 18:24:01 +0100 | urek | (~urek@191.32.138.229) |
2020-12-04 18:24:28 +0100 | falafel_ | (~falafel@pool-71-182-130-97.pitbpa.fios.verizon.net) (Remote host closed the connection) |
2020-12-04 18:25:32 +0100 | urek | (~urek@191.32.138.229) (Remote host closed the connection) |
2020-12-04 18:25:38 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:34e2:7dfe:e47a:7867) (Ping timeout: 260 seconds) |
2020-12-04 18:25:59 +0100 | urek | (~urek@2804:7f1:e10a:a8d:f425:3992:76ae:78b0) |
2020-12-04 18:26:16 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:fbfe:51a:3f37:b15) |
2020-12-04 18:27:44 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
2020-12-04 18:28:09 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2020-12-04 18:28:36 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-04 18:31:34 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-04 18:31:35 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2020-12-04 18:31:44 +0100 | chkno | (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
2020-12-04 18:32:17 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) |
2020-12-04 18:32:38 +0100 | <koz_> | :t (*>) |
2020-12-04 18:32:39 +0100 | <lambdabot> | Applicative f => f a -> f b -> f b |
2020-12-04 18:35:33 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 18:35:55 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 18:36:04 +0100 | ubert | (~Thunderbi@p200300ecdf1e53cfe6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-12-04 18:37:19 +0100 | <koz_> | :t (>>) |
2020-12-04 18:37:20 +0100 | <lambdabot> | Monad m => m a -> m b -> m b |
2020-12-04 18:37:24 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 18:37:25 +0100 | <koz_> | Today I realized. |
2020-12-04 18:38:55 +0100 | gioyik | (~gioyik@186.112.99.244) |
2020-12-04 18:39:02 +0100 | <merijn> | :p |
2020-12-04 18:40:07 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) (Remote host closed the connection) |
2020-12-04 18:42:40 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-12-04 18:43:32 +0100 | <dsal> | I think >> is in monad of no return |
2020-12-04 18:43:56 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-12-04 18:46:48 +0100 | alp | (~alp@88.126.45.36) (Ping timeout: 256 seconds) |
2020-12-04 18:47:05 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2020-12-04 18:47:27 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 18:47:29 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 18:48:14 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-04 18:51:03 +0100 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
2020-12-04 18:53:49 +0100 | pokid | (~pokid@unaffiliated/pokid) |
2020-12-04 18:54:50 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-12-04 18:56:25 +0100 | urek | (~urek@2804:7f1:e10a:a8d:f425:3992:76ae:78b0) (Ping timeout: 272 seconds) |
2020-12-04 18:58:34 +0100 | urek | (~urek@179.187.114.53.dynamic.adsl.gvt.net.br) |
2020-12-04 18:59:04 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
2020-12-04 19:00:32 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-12-04 19:02:14 +0100 | jneira | (5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228) (Ping timeout: 272 seconds) |
2020-12-04 19:02:25 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 19:05:23 +0100 | raichoo | (~raichoo@213.240.178.58) (Quit: Lost terminal) |
2020-12-04 19:06:52 +0100 | <ezzieyguywuf> | glguy: why is the arguement order in Config.Schema.Spec.reqSection' as it is, rather than "reqSection' :: Text -> Text -> ValueSpec a -> SectionSpec a"? it'd seem that flipping the last two would make it easier to describe nested specs in-line |
2020-12-04 19:07:44 +0100 | <glguy> | ezzieyguywuf: because I expected the documentation string to be long and probably on a separate line |
2020-12-04 19:08:12 +0100 | <ezzieyguywuf> | hrm, I see |
2020-12-04 19:08:41 +0100 | <glguy> | ezzieyguywuf: and I try to name the nested things, I haven't built very complicated things to use locally with reqSection |
2020-12-04 19:08:58 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-12-04 19:09:28 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-12-04 19:09:44 +0100 | <ezzieyguywuf> | glguy: yea, I was just thinking that naming them probably makes the most sense anyway |
2020-12-04 19:10:52 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 19:11:01 +0100 | jneira | (02896aa1@gateway/web/cgi-irc/kiwiirc.com/ip.2.137.106.161) |
2020-12-04 19:11:06 +0100 | <Franciman> | Hi, do you prefer github or gitlab for contributing to haskell and/or ghc? |
2020-12-04 19:11:21 +0100 | <Franciman> | haskell projects* |
2020-12-04 19:13:08 +0100 | <sm[m]> | ghc uses gitlab, most others use github |
2020-12-04 19:14:13 +0100 | gioyik | (~gioyik@186.112.99.244) (Ping timeout: 265 seconds) |
2020-12-04 19:14:58 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 19:15:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 19:17:57 +0100 | <Franciman> | yes I mean what would be your personal preference? |
2020-12-04 19:18:23 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2020-12-04 19:19:45 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-04 19:19:46 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-12-04 19:20:15 +0100 | <jle`> | it will probably depend on what haskell project you want to contribute to |
2020-12-04 19:20:27 +0100 | <jle`> | unless you are asking, if you could decide for other people |
2020-12-04 19:21:06 +0100 | pavonia | (~user@unaffiliated/siracusa) |
2020-12-04 19:22:36 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-12-04 19:22:51 +0100 | <maerwald> | Franciman: I self-host and use github as an availability mirror |
2020-12-04 19:22:53 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-12-04 19:23:27 +0100 | <Franciman> | jle`, if you could decide, yes |
2020-12-04 19:24:30 +0100 | <merijn> | Ideally neither, since those both involve using git ;) |
2020-12-04 19:24:42 +0100 | <Franciman> | :') |
2020-12-04 19:24:49 +0100 | <Franciman> | are you a pijul user? |
2020-12-04 19:25:02 +0100 | <merijn> | It's on my list to play with Soon (TM) |
2020-12-04 19:25:02 +0100 | <Franciman> | or you like exponential merge problems? |
2020-12-04 19:25:11 +0100 | <merijn> | But I wanted to wait until it's out of alpha |
2020-12-04 19:25:22 +0100 | <merijn> | Franciman: I mostly use Mercurial :p |
2020-12-04 19:25:27 +0100 | <Franciman> | i learnt there is some project for darcs 3, can't wait |
2020-12-04 19:25:33 +0100 | <Franciman> | merijn, rly? I found it really hard |
2020-12-04 19:25:42 +0100 | <maerwald> | branches are weird in mercurial |
2020-12-04 19:25:49 +0100 | <merijn> | Franciman: What? It's soo much simpler than git |
2020-12-04 19:26:00 +0100 | <maerwald> | you can't force push your development branch |
2020-12-04 19:26:03 +0100 | <Franciman> | ehe I don't know, I couldn't learn it, but maybe I'll give it another go |
2020-12-04 19:26:11 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:fbfe:51a:3f37:b15) (Ping timeout: 272 seconds) |
2020-12-04 19:26:12 +0100 | <merijn> | maerwald: no they're not, you just gotta realised that "named branched" /= "git branches" |
2020-12-04 19:26:29 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:8188:2e86:d7e3:d195) |
2020-12-04 19:26:38 +0100 | <merijn> | maerwald: Also, you can force push if you're pushing to a "non-publishing" repo |
2020-12-04 19:26:50 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 19:26:57 +0100 | <merijn> | In fact, the phase distinction and evolve are major reasons why I think mercurial is better than git |
2020-12-04 19:27:01 +0100 | <maerwald> | yeah, I created a PR and wanted to update it... but I couldn't |
2020-12-04 19:27:04 +0100 | <maerwald> | great |
2020-12-04 19:27:23 +0100 | <merijn> | (although I'm currently using Mercurial as user-friendly UI for git) |
2020-12-04 19:27:51 +0100 | <maerwald> | git rebases are awful, but the concept of everything is state is probably easier for most ppl |
2020-12-04 19:28:06 +0100 | <merijn> | Easier than what? |
2020-12-04 19:28:12 +0100 | <maerwald> | everything is a patch |
2020-12-04 19:28:13 +0100 | <Franciman> | i rly like darcs, honestly, but too scared of the exponential merge problem |
2020-12-04 19:28:34 +0100 | <dolio> | Saying something about exponential merges is how you know someone's knowledge about darcs is like 10 years old. |
2020-12-04 19:28:47 +0100 | <Franciman> | dolio, PLZ EXPLAIN SAR |
2020-12-04 19:28:49 +0100 | <Franciman> | are they solved? |
2020-12-04 19:28:53 +0100 | <Franciman> | I mean always |
2020-12-04 19:28:58 +0100 | <Franciman> | can't they happen anymore? |
2020-12-04 19:29:48 +0100 | <Franciman> | I'd read with darcs 2, it got harder to get into exp merges, but they still can happen |
2020-12-04 19:29:51 +0100 | <Franciman> | I'm scared AF |
2020-12-04 19:30:12 +0100 | <dolio> | Did you know Hindley-Milner is double-exponential? |
2020-12-04 19:30:18 +0100 | <Franciman> | I do |
2020-12-04 19:30:20 +0100 | <Franciman> | so what |
2020-12-04 19:30:30 +0100 | <Franciman> | pijul doesn't have exp merges |
2020-12-04 19:30:57 +0100 | <dolio> | Because what matters is whether cases where it happens actually come up. |
2020-12-04 19:31:07 +0100 | <Franciman> | not from the theoretical standpoint |
2020-12-04 19:31:18 +0100 | <Franciman> | it's interesting if you can solve it |
2020-12-04 19:32:00 +0100 | <tomsmeding> | I thought I'd heard that HM is only exponential if the inferred type is also exponentially-sized, but perhaps that's a misunderstanding on my side? |
2020-12-04 19:32:30 +0100 | <dolio> | I think it is unknown whether the only cases are 'large types', but those are the obvious ones. |
2020-12-04 19:33:10 +0100 | <tomsmeding> | because for type checking I think having reasonable complexity in inputsize+outputsize is fine, even if that means it's exponential in just inputsize |
2020-12-04 19:33:36 +0100 | <dolio> | Anyhow, the original statement wasn't that it is 'theoretically interesting' to fix all possible merge problems. It was that you are "scared" of using a tool for practical purposes. |
2020-12-04 19:33:54 +0100 | <tomsmeding> | but ah, if it's unknown then TIL :) |
2020-12-04 19:34:07 +0100 | <Franciman> | dolio, no, I don't use darcs |
2020-12-04 19:34:08 +0100 | plakband | (~plakband@softbank126074182017.bbtec.net) |
2020-12-04 19:34:09 +0100 | <Franciman> | I'm scared of it |
2020-12-04 19:34:19 +0100 | texasmynsted | (~texasmyns@212.102.44.36) () |
2020-12-04 19:34:24 +0100 | texasmynsted | (~texasmyns@212.102.44.36) |
2020-12-04 19:34:34 +0100 | <Franciman> | because its theory still contemplates the possibility of exp merges |
2020-12-04 19:34:51 +0100 | texasmynsted | (~texasmyns@212.102.44.36) () |
2020-12-04 19:34:55 +0100 | <tomsmeding> | hence dolio's point, do you also not use HM because you're scared of it? |
2020-12-04 19:34:57 +0100 | <Franciman> | I meant from the theoretical point of view |
2020-12-04 19:35:21 +0100 | texasmynsted | (~texasmyns@212.102.44.36) |
2020-12-04 19:35:35 +0100 | <Franciman> | if there were a better solution, yes I would be scared of it |
2020-12-04 19:36:00 +0100 | <geekosaur> | you're not making a whole lot of sense right now |
2020-12-04 19:36:07 +0100 | <Franciman> | why? |
2020-12-04 19:36:59 +0100 | <merijn> | Because, presumably, you *are* using Haskell, despite the type checking being (theoretically) exponential |
2020-12-04 19:37:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-04 19:37:20 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Quit: thc202) |
2020-12-04 19:37:37 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 19:37:50 +0100 | <Franciman> | now that I know, I won't anymore |
2020-12-04 19:37:52 +0100 | <Franciman> | eaz |
2020-12-04 19:38:08 +0100 | <Franciman> | but the question is, is there a better typechecking algorithm? |
2020-12-04 19:38:23 +0100 | <Franciman> | if yes, I shall use it, if not, I shall use Haskell |
2020-12-04 19:38:29 +0100 | <Franciman> | eaz |
2020-12-04 19:38:40 +0100 | <Franciman> | that's the whole point. I see no problem |
2020-12-04 19:38:42 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-ngjtmooaohvreyum) |
2020-12-04 19:38:45 +0100 | <Franciman> | where am I being blind to you? |
2020-12-04 19:41:32 +0100 | <merijn> | The fact that no real Haskell program hits the exponential case |
2020-12-04 19:41:52 +0100 | <merijn> | And similarly, the darcs exponential case only mattters if it occurs during real use, rather than merely hypothetically |
2020-12-04 19:42:00 +0100 | <Franciman> | wait |
2020-12-04 19:42:19 +0100 | <Franciman> | are you saying I should use haskell's typechecker even if there was a better solution? |
2020-12-04 19:42:26 +0100 | <Franciman> | in this case, pijul |
2020-12-04 19:42:34 +0100 | <Franciman> | having a better solution than darcs |
2020-12-04 19:42:35 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
2020-12-04 19:43:08 +0100 | gioyik | (~gioyik@186.112.99.244) |
2020-12-04 19:43:23 +0100 | <geekosaur> | also ghc doesn't use H-M, it uses System Fc… which if you take one limit off of it is Turing-complete and therefore can be worse than exponential. is this something to be scared of, and if so how do you ever use any programming language? |
2020-12-04 19:44:02 +0100 | <Franciman> | geekosaur, so, if you have a polynomial algorithm for SAT, you'd still use the combinatorial approach |
2020-12-04 19:44:09 +0100 | <Franciman> | because for your problems in practice, it's good enough? |
2020-12-04 19:44:52 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
2020-12-04 19:44:54 +0100 | <merijn> | If it's easier, yes |
2020-12-04 19:45:10 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 19:45:15 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) (Remote host closed the connection) |
2020-12-04 19:45:30 +0100 | <Franciman> | I find this cringeworthy |
2020-12-04 19:45:38 +0100 | <Franciman> | I want to always use the fastest solution |
2020-12-04 19:46:18 +0100 | <Franciman> | but ok I can understand |
2020-12-04 19:46:22 +0100 | <Franciman> | it's engineering after all |
2020-12-04 19:46:35 +0100 | <Franciman> | bridges aren't the best solution, but they work |
2020-12-04 19:46:43 +0100 | <Franciman> | capitalism is not the best, but it works |
2020-12-04 19:46:45 +0100 | <sm[m]> | I think your reaction to darcs exponential merge is reasonable since it is always brought up and darcs hasn't really laid the issue to rest.. but just FYI, darcs users don't experience it / have learned usage patterns that avoid it |
2020-12-04 19:48:09 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 19:48:30 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) |
2020-12-04 19:48:49 +0100 | toorevitimirp | (~tooreviti@117.182.181.85) (Remote host closed the connection) |
2020-12-04 19:49:02 +0100 | <sm[m]> | what's better than a bridge btw ? :) |
2020-12-04 19:49:40 +0100 | borne | (~fritjof@200116b864198500f60f2508b10af3d6.dip.versatel-1u1.de) |
2020-12-04 19:50:42 +0100 | <tomsmeding> | 19:45:38 Franciman | I want to always use the fastest solution |
2020-12-04 19:50:49 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
2020-12-04 19:50:51 +0100 | <tomsmeding> | the fastest solution in practice is not always the one with the lowest complexity |
2020-12-04 19:51:07 +0100 | <tomsmeding> | see simplex vs interior point method for linear programming |
2020-12-04 19:51:41 +0100 | <tomsmeding> | also naive/strassen vs the insane theoretical algorithms with n^2.4 complexity or so for matrix multiplication |
2020-12-04 19:51:57 +0100 | <Franciman> | sm[m], I don't know :P |
2020-12-04 19:52:01 +0100 | <Franciman> | I'm not making much sense tonight |
2020-12-04 19:52:03 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 19:52:14 +0100 | <tomsmeding> | you're battling against pragmatists at the moment :p |
2020-12-04 19:52:19 +0100 | <tomsmeding> | well "battling" |
2020-12-04 19:52:24 +0100 | <tomsmeding> | speaking |
2020-12-04 19:52:29 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 19:52:30 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 19:52:30 +0100 | <sm[m]> | transporter beams, isn't it :) |
2020-12-04 19:53:39 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-04 19:54:07 +0100 | alp | (~alp@2a01:e0a:58b:4920:282f:2d06:cff3:827d) |
2020-12-04 19:54:34 +0100 | <monochrom> | The fallacy is in assuming there is one single "fastest" for all cases. |
2020-12-04 19:54:46 +0100 | <monochrom> | Well, actually, there is, but it is not what you think. |
2020-12-04 19:54:50 +0100 | <Franciman> | eheheheheheheheheheh |
2020-12-04 19:55:02 +0100 | <typetetris> | Why does persistent needs the types in a database schema to be PathPieces, ToHttpApiData, and {From,To}JSON ? |
2020-12-04 19:55:13 +0100 | <tomsmeding> | (correction: ellipsoid method, not interior point method) |
2020-12-04 19:55:19 +0100 | <monochrom> | For example, sorting. Oh let's even confine to comparison-based sorting, none of those radix sort tricks. |
2020-12-04 19:55:25 +0100 | <Franciman> | monochrom, the fallacy is that you don't know what your users are gonna do |
2020-12-04 19:55:30 +0100 | geekosaur | was also going to raise the question of e.g. access vs. modify complexity/time |
2020-12-04 19:55:44 +0100 | <monochrom> | For input sizes below 10 or so, use a handcoded decision tree. |
2020-12-04 19:55:48 +0100 | <Franciman> | perfect solutions don't exist |
2020-12-04 19:55:48 +0100 | <Franciman> | ok |
2020-12-04 19:55:52 +0100 | <geekosaur> | re "always want the fastest" — so, fastest for what? |
2020-12-04 19:55:53 +0100 | <Franciman> | I'll acknowledge |
2020-12-04 19:56:00 +0100 | <Franciman> | I was answering to SAT problems |
2020-12-04 19:56:03 +0100 | <Franciman> | it was a particular case |
2020-12-04 19:56:22 +0100 | <Franciman> | but heh, I unerstand you like Unix more than plan9 because it works fine |
2020-12-04 19:56:31 +0100 | Shadorain_ | (uid453914@gateway/web/irccloud.com/x-zacharxypgsnvrfo) |
2020-12-04 19:56:33 +0100 | <Franciman> | am I right? Are you pursuing that case? |
2020-12-04 19:56:39 +0100 | LKoen | (~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-12-04 19:56:43 +0100 | <merijn> | no |
2020-12-04 19:56:55 +0100 | <monochrom> | For input sizes between 10 and 1000 or something, use mergesort. For input sizes above 1000 or something, use some variant of quicksort. Or something. |
2020-12-04 19:57:04 +0100 | <merijn> | He's pursuing the case that all live is a complicated multi-objective optimisation with no single "best" solution |
2020-12-04 19:57:21 +0100 | <monochrom> | Generally, do a case analaysis on the input size, then switch to an algorithm optimized for that size range. |
2020-12-04 19:57:30 +0100 | <merijn> | It's trade-offs all the way down, one of which is "how much of my life do I waste on researching this?" |
2020-12-04 19:57:35 +0100 | <Franciman> | not sure I buy it, it just that we are stupid as humankind |
2020-12-04 19:58:03 +0100 | <monochrom> | So, it is not true that "one single algorithm" is the fastest. But it is true that if you switch algorithms based on input size, you can do it. |
2020-12-04 19:58:13 +0100 | <sm[m]> | Franciman: getting back to your q, I think you know but: if contributing to a project I'll use their vcs. If starting a project and I want contributors I'll pick a vcs and hub they'll use. In the past that was darcs for haskell projects but for now it's git and github. If starting a project and only concerned about my convenience it's still git because tools integrate best with it |
2020-12-04 19:58:13 +0100 | <Franciman> | I mean people thought there didn't exist continuous function that are not differentiable, but they exist, in abundance even :P |
2020-12-04 19:58:15 +0100 | <merijn> | Franciman: Here you go: https://homepages.uc.edu/~martinj/Philosophy%20and%20Religion/Arguments%20for%20the%20Existence%20… |
2020-12-04 19:58:16 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
2020-12-04 19:58:24 +0100 | <monochrom> | But this is never in the minds of people who claim "I want the fastest". |
2020-12-04 19:58:35 +0100 | <merijn> | monochrom: No, even that doesn't work in general |
2020-12-04 19:58:46 +0100 | <Franciman> | I see sm[m], thanks |
2020-12-04 19:58:48 +0100 | <merijn> | monochrom: There are algorithms where implementation choice depends on things other than size |
2020-12-04 19:58:58 +0100 | <monochrom> | Yeah see, that too. |
2020-12-04 19:59:05 +0100 | <Franciman> | lol frameworks |
2020-12-04 19:59:15 +0100 | <Franciman> | merijn, is it from analytic philosophers? |
2020-12-04 19:59:15 +0100 | <monochrom> | IIRC GMP actually does this for multiplication. |
2020-12-04 19:59:47 +0100 | danso | (~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9) |
2020-12-04 19:59:47 +0100 | <tomsmeding> | it does, it has limits for switching between algorithms that you can tune for your machine if you compile it yourself |
2020-12-04 19:59:50 +0100 | <monochrom> | Below a certain threshold, it doesn't use the FFT algorithm. Because doesn't win there. |
2020-12-04 20:00:14 +0100 | <Franciman> | ok I think I get your point |
2020-12-04 20:00:30 +0100 | <Franciman> | you are right |
2020-12-04 20:00:46 +0100 | <Franciman> | but still, can I say I'd prefer a theory which avoid exponential merges? |
2020-12-04 20:00:59 +0100 | <Franciman> | it's not a problem of darcs or what else |
2020-12-04 20:01:04 +0100 | <Franciman> | but I'd find it neater |
2020-12-04 20:01:10 +0100 | <merijn> | Franciman: Depends, what if the theory that avoid exponential merges is 10x slower for "normal" operations? |
2020-12-04 20:01:12 +0100 | <Franciman> | ok I'm gonna use darcs from now on |
2020-12-04 20:01:27 +0100 | <merijn> | Franciman: Are you willing to accept 10x slowdown on all operations if it guarantees no exponential case? |
2020-12-04 20:01:30 +0100 | <monochrom> | And all this time we have been leaving out: What about programmer's time? Isn't it much more expensive than computer time? |
2020-12-04 20:01:43 +0100 | <Franciman> | merijn, I'd say it dependes, as you have taught me |
2020-12-04 20:01:48 +0100 | <Franciman> | but let me be more precise |
2020-12-04 20:01:54 +0100 | <Franciman> | I prefer pijul's theory to darcs, now |
2020-12-04 20:01:55 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds) |
2020-12-04 20:02:01 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds) |
2020-12-04 20:02:03 +0100 | <Franciman> | since it's at least as fast, and avoid exponential merges |
2020-12-04 20:02:39 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) (Remote host closed the connection) |
2020-12-04 20:02:55 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds) |
2020-12-04 20:03:25 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-04 20:03:31 +0100 | iqubic | (~user@2601:602:9500:4870:55f6:de24:d001:bc51) |
2020-12-04 20:04:48 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2020-12-04 20:06:33 +0100 | <sm[m]> | Franciman: we're a bit off topic here, but have you used pijul much ? I wonder which operations are still slow with it |
2020-12-04 20:06:44 +0100 | phaul | (~phaul@ruby/staff/phaul) (Remote host closed the connection) |
2020-12-04 20:06:46 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-12-04 20:08:32 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 20:08:38 +0100 | <Xnuk> | :t (>>>) >>> (>>>) fmap |
2020-12-04 20:08:40 +0100 | <lambdabot> | Functor f => (a1 -> f a2) -> (a2 -> b) -> a1 -> f b |
2020-12-04 20:08:51 +0100 | <Xnuk> | :t let f = (>>>) >>> (>>>) in f fmap |
2020-12-04 20:08:53 +0100 | <lambdabot> | Functor f => (((a -> b) -> c1) -> c2) -> ((f a -> f b) -> c1) -> c2 |
2020-12-04 20:10:05 +0100 | Shadorain_ | Shadorain |
2020-12-04 20:10:37 +0100 | <Franciman> | sm[m], i tried it |
2020-12-04 20:10:40 +0100 | <Franciman> | it looked ok |
2020-12-04 20:10:51 +0100 | <Franciman> | but i'm mostly basing my judgement on the docs |
2020-12-04 20:11:21 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-04 20:12:35 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
2020-12-04 20:12:42 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2020-12-04 20:12:56 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Ping timeout: 256 seconds) |
2020-12-04 20:14:28 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2020-12-04 20:15:16 +0100 | <sm[m]> | #darcs is a good place to discuss deeper, if you didn't know |
2020-12-04 20:17:07 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-12-04 20:17:19 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2020-12-04 20:17:45 +0100 | coot | (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) |
2020-12-04 20:18:38 +0100 | jespada | (~jespada@90.254.245.49) (Quit: Leaving) |
2020-12-04 20:19:29 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
2020-12-04 20:20:49 +0100 | asthasr | (~asthasr@162.210.29.120) (Quit: asthasr) |
2020-12-04 20:21:01 +0100 | <typetetris> | Shouldn't ` [mkPersist (sqlSettings {mpsEntityJSON = Nothing})]` prevent persistent from trying to generate `FromJSON` und `ToJSON` instances? Doesn't seem to work for me. |
2020-12-04 20:22:29 +0100 | phaul | (~phaul@ruby/staff/phaul) (Remote host closed the connection) |
2020-12-04 20:23:03 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 20:26:05 +0100 | son0p | (~son0p@181.136.122.143) (Quit: Lost terminal) |
2020-12-04 20:26:21 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 20:26:37 +0100 | macrover | (~macrover@2600:8801:1100:2f14:20e6:98ee:438:fb7c) |
2020-12-04 20:27:42 +0100 | hackage | kubernetes-client 0.3.2.0 - Client library for Kubernetes https://hackage.haskell.org/package/kubernetes-client-0.3.2.0 (axeman) |
2020-12-04 20:29:06 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
2020-12-04 20:31:03 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 20:31:32 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-12-04 20:38:03 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2020-12-04 20:40:22 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 256 seconds) |
2020-12-04 20:40:41 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 20:40:44 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-12-04 20:41:27 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2020-12-04 20:42:46 +0100 | <ezzieyguywuf> | neat, coc is pretty nice. |
2020-12-04 20:42:54 +0100 | <ezzieyguywuf> | but so far all the diagnostics it's giving me I also already get from ghcid |
2020-12-04 20:43:05 +0100 | <ezzieyguywuf> | ghcid = life |
2020-12-04 20:43:09 +0100 | joaoh82 | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
2020-12-04 20:43:27 +0100 | alp | (~alp@2a01:e0a:58b:4920:282f:2d06:cff3:827d) (Ping timeout: 272 seconds) |
2020-12-04 20:43:42 +0100 | joaoh82 | (~joaoh82@157-131-134-210.dedicated.static.sonic.net) |
2020-12-04 20:45:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 20:50:18 +0100 | pokid | (~pokid@unaffiliated/pokid) () |
2020-12-04 20:50:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-12-04 20:51:34 +0100 | softwarm | (4408f588@ip68-8-245-136.sd.sd.cox.net) |
2020-12-04 20:51:53 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 20:52:34 +0100 | hexfive | (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) |
2020-12-04 20:54:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit) |
2020-12-04 20:57:02 +0100 | softwarm | (4408f588@ip68-8-245-136.sd.sd.cox.net) (Remote host closed the connection) |
2020-12-04 20:58:07 +0100 | knupfer | (~Thunderbi@200116b82c9bc000e4e06ffffe2f9d0e.dip.versatel-1u1.de) |
2020-12-04 20:58:07 +0100 | knupfer | (~Thunderbi@200116b82c9bc000e4e06ffffe2f9d0e.dip.versatel-1u1.de) (Client Quit) |
2020-12-04 20:58:16 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 256 seconds) |
2020-12-04 20:58:24 +0100 | knupfer | (~Thunderbi@87.123.206.78) |
2020-12-04 20:58:48 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 21:00:30 +0100 | Deide | (~Deide@217.155.19.23) |
2020-12-04 21:00:54 +0100 | alp | (~alp@2a01:e0a:58b:4920:c8c1:4453:2d45:c47f) |
2020-12-04 21:03:03 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 21:03:33 +0100 | conal_ | (~conal@64.71.133.70) |
2020-12-04 21:06:08 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-04 21:08:21 +0100 | BenSima[m] | (bensimatim@gateway/shell/matrix.org/x-uoybmhbnttuhdmnm) |
2020-12-04 21:08:24 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) (Ping timeout: 240 seconds) |
2020-12-04 21:09:19 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 21:10:31 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 21:14:05 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-12-04 21:16:32 +0100 | solonarv | (~solonarv@astrasbourg-552-1-28-212.w90-13.abo.wanadoo.fr) |
2020-12-04 21:24:09 +0100 | abhixec | (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2020-12-04 21:29:09 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
2020-12-04 21:29:36 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-12-04 21:32:23 +0100 | ggole | (~ggole@2001:8003:8119:7200:1065:53ac:b0e7:6308) (Quit: Leaving) |
2020-12-04 21:33:09 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2020-12-04 21:36:07 +0100 | conal_ | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 21:38:11 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) (Remote host closed the connection) |
2020-12-04 21:38:36 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 21:41:11 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-04 21:42:01 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
2020-12-04 21:43:01 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 21:47:25 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
2020-12-04 21:47:42 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 21:48:04 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ) |
2020-12-04 21:50:00 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-04 21:52:25 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-12-04 21:53:53 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 21:57:33 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2020-12-04 21:58:57 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 21:59:15 +0100 | jollygood2 | (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
2020-12-04 22:02:19 +0100 | bcasiello_ | (~brian@071-088-110-201.res.spectrum.com) (Quit: Leaving) |
2020-12-04 22:02:53 +0100 | bcasiello | (~brian@071-088-110-201.res.spectrum.com) |
2020-12-04 22:04:12 +0100 | mimagic | (~mimagic@201.82.37.29) (Remote host closed the connection) |
2020-12-04 22:04:19 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 22:04:32 +0100 | mimagic | (~mimagic@201.82.37.29) |
2020-12-04 22:04:46 +0100 | plakband | (~plakband@softbank126074182017.bbtec.net) (Quit: WeeChat 2.9) |
2020-12-04 22:06:35 +0100 | okfinesangy | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Read error: Connection reset by peer) |
2020-12-04 22:07:09 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2020-12-04 22:08:15 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2020-12-04 22:08:37 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds) |
2020-12-04 22:08:46 +0100 | mimagic | (~mimagic@201.82.37.29) (Ping timeout: 256 seconds) |
2020-12-04 22:09:09 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2020-12-04 22:09:55 +0100 | phaul | (~phaul@ruby/staff/phaul) |
2020-12-04 22:10:16 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2020-12-04 22:13:24 +0100 | forcer1 | (~forcer@185.204.1.185) (Remote host closed the connection) |
2020-12-04 22:14:25 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
2020-12-04 22:15:11 +0100 | hackage | derive-storable-plugin 0.2.3.2 - GHC core plugin supporting the derive-storable package. https://hackage.haskell.org/package/derive-storable-plugin-0.2.3.2 (mkloczko) |
2020-12-04 22:15:24 +0100 | alx741 | (~alx741@186.178.110.235) (Ping timeout: 272 seconds) |
2020-12-04 22:15:24 +0100 | urek | (~urek@179.187.114.53.dynamic.adsl.gvt.net.br) (Ping timeout: 256 seconds) |
2020-12-04 22:16:10 +0100 | Shadorain | (uid453914@gateway/web/irccloud.com/x-zacharxypgsnvrfo) (Quit: Connection closed for inactivity) |
2020-12-04 22:16:58 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 22:18:25 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-04 22:20:10 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2020-12-04 22:21:16 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2020-12-04 22:22:10 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2020-12-04 22:23:05 +0100 | Tops2 | (~Tobias@dyndsl-095-033-016-243.ewe-ip-backbone.de) |
2020-12-04 22:23:17 +0100 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2020-12-04 22:23:32 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-04 22:24:13 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 264 seconds) |
2020-12-04 22:25:12 +0100 | knupfer | (~Thunderbi@87.123.206.78) (Ping timeout: 256 seconds) |
2020-12-04 22:26:43 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 22:27:26 +0100 | <shinobi_> | How is the List.Sort method only defined for ordinal members? If I have a list of Foos and Foo is not part of the Ord typeclass is the method hidden? |
2020-12-04 22:27:50 +0100 | alx741 | (~alx741@186.178.110.235) |
2020-12-04 22:28:05 +0100 | <geekosaur> | it won't typecheck |
2020-12-04 22:28:18 +0100 | <geekosaur> | if you apply it to a list of Foos |
2020-12-04 22:28:37 +0100 | <glguy> | % data Foos = Foos |
2020-12-04 22:28:37 +0100 | <yahb> | glguy: |
2020-12-04 22:28:42 +0100 | benoitj | (~benoitj@bras-base-mtrlpq3708w-grc-25-76-65-84-134.dsl.bell.ca) (Quit: leaving) |
2020-12-04 22:28:47 +0100 | <glguy> | % :t sort ([] :: [Foos]) |
2020-12-04 22:28:48 +0100 | <yahb> | glguy: ; <interactive>:1:1: error:; * No instance for (Ord Foos) arising from a use of `sort'; * In the expression: sort ([] :: [Foos]) |
2020-12-04 22:29:56 +0100 | <shinobi_> | geekosaur, Understood but the implementation of the List object must state that the sort method can only be used on Ords |
2020-12-04 22:30:06 +0100 | <geekosaur> | :t sort |
2020-12-04 22:30:09 +0100 | <lambdabot> | Ord a => [a] -> [a] |
2020-12-04 22:30:19 +0100 | <solonarv> | the terms you're using indicate some confusion |
2020-12-04 22:30:23 +0100 | <dolio> | What's a list object? |
2020-12-04 22:30:24 +0100 | <geekosaur> | and you sound like you're thinking in terms of OO. stop now, this can only get you in trouble |
2020-12-04 22:30:44 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 22:30:54 +0100 | <shinobi_> | geekosaur: I'm trying :) |
2020-12-04 22:31:17 +0100 | <geekosaur> | anyway Ord is not intrinsic to lists, as I showed above with the type of "sort". |
2020-12-04 22:31:26 +0100 | <solonarv> | there is no great big complicated "implementation of the List object", there is simply data List a = Empty | Cons a (List a) (syntax sugar aside) |
2020-12-04 22:31:27 +0100 | <merijn> | shinobi_: "sort" isn't part of "the List object" |
2020-12-04 22:31:53 +0100 | <merijn> | shinobi_: There's no list object, just a list type and the sort function happens to accept inputs that are lists |
2020-12-04 22:31:56 +0100 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
2020-12-04 22:32:03 +0100 | <shinobi_> | ok. 1st. If it's not a class then what would you call it in Haskell? |
2020-12-04 22:32:04 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 22:32:06 +0100 | <dsal> | :t sort |
2020-12-04 22:32:08 +0100 | <lambdabot> | Ord a => [a] -> [a] |
2020-12-04 22:32:11 +0100 | <shinobi_> | ok |
2020-12-04 22:32:13 +0100 | <dsal> | It's just a function. |
2020-12-04 22:32:16 +0100 | <merijn> | shinobi_: A type or datatype |
2020-12-04 22:32:29 +0100 | <merijn> | And sort is just a function, it's not part of anything |
2020-12-04 22:32:43 +0100 | <geekosaur> | sort is a function that happens to make use of the Ord typeclass. lists are just a data type |
2020-12-04 22:32:53 +0100 | Harekiet1 | (~Harekiet@84.39.117.57) |
2020-12-04 22:33:33 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 22:33:39 +0100 | <geekosaur> | Ord is the typeclass for things that can be compared; it requires the Eq typeclass, and provides `compare` and the usual comparison operators aside from `==` and `/=` which come from Eq |
2020-12-04 22:34:01 +0100 | <shinobi_> | ok, so I'm still a little unclear. The list datatype defines a sort function and the typeclass defintion for that function enforces that it is only for Ords? |
2020-12-04 22:34:21 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-04 22:34:23 +0100 | <jle`> | hm, i wouldn't say that the list datatype defines a sort function |
2020-12-04 22:34:24 +0100 | <iqubic> | No. The list datatype does not define a sort function. |
2020-12-04 22:34:29 +0100 | <merijn> | shinobi_: "the list datatype defines a sort function" <- no |
2020-12-04 22:34:31 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 22:34:39 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-12-04 22:34:40 +0100 | <jle`> | functions are just there...they have no owner |
2020-12-04 22:34:46 +0100 | <jle`> | they are 'top-level' things |
2020-12-04 22:34:47 +0100 | <merijn> | Functions aren't tied to types |
2020-12-04 22:35:29 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 22:35:32 +0100 | <jle`> | sort is a polymorphic function, meaning that you can pick what type you want to use for the 'a' |
2020-12-04 22:35:36 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-12-04 22:35:37 +0100 | <jle`> | kind of like head :: [a] -> a |
2020-12-04 22:35:46 +0100 | <jle`> | so if you pick a for Int, you get head :: [Int] -> Int |
2020-12-04 22:35:57 +0100 | <jle`> | if you pick Bool, you get head :: [Bool] -> Bool, etc. |
2020-12-04 22:36:09 +0100 | <jle`> | a typeclass constraint restricts the types you are allowed to pick for 'a' |
2020-12-04 22:36:22 +0100 | <jle`> | so sort :: Ord a => [a] -> [a], you could pick a is Int and get sort :: [Int] -> [Int] |
2020-12-04 22:36:41 +0100 | <jle`> | but you can't pick a as Foo and get sort :: [Foo] -> [Foo], if Foo doesn't have an Ord instance |
2020-12-04 22:37:25 +0100 | <shinobi_> | I see |
2020-12-04 22:37:52 +0100 | <jle`> | and you can write a function to do something similar, not attached to any data type |
2020-12-04 22:38:07 +0100 | <jle`> | % let myFunc x y = x * y + 3 |
2020-12-04 22:38:07 +0100 | <yahb> | jle`: |
2020-12-04 22:38:10 +0100 | <jle`> | % :t myFunc |
2020-12-04 22:38:10 +0100 | <yahb> | jle`: Num a => a -> a -> a |
2020-12-04 22:38:24 +0100 | <jle`> | myFunc is a polymorphic function so you can pick which 'a' you want to use it with |
2020-12-04 22:38:32 +0100 | <jle`> | i could set a to Int and get myFunc :: Int -> Int -> Int |
2020-12-04 22:38:50 +0100 | <jle`> | but Num a restricts the allowed 'a'; i can't, for instance, use Bool, since Bool has no Num instance |
2020-12-04 22:38:54 +0100 | <jle`> | % myFunc True False |
2020-12-04 22:38:54 +0100 | <yahb> | jle`: ; <interactive>:6:1: error:; * No instance for (Num Bool) arising from a use of `myFunc'; * In the expression: myFunc True False; In an equation for `it': it = myFunc True False |
2020-12-04 22:39:19 +0100 | <jle`> | maybe i used a poor choice of words in saying "for instance", heh |
2020-12-04 22:39:40 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-04 22:39:49 +0100 | <jle`> | note that it isn't true that "the num datatype defines a myFunc function" |
2020-12-04 22:39:58 +0100 | <jle`> | Num didn't do anything... (it's not even a datatype). i did it :) |
2020-12-04 22:40:34 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 260 seconds) |
2020-12-04 22:42:00 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
2020-12-04 22:43:26 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-12-04 22:43:51 +0100 | <shinobi_> | So would the methods that get imported with import Data.List are "top level" i.e. independent of the List datatype? |
2020-12-04 22:44:44 +0100 | <jle`> | yup |
2020-12-04 22:45:21 +0100 | <jle`> | well, methods has a slightly different meaning in haskell that actually sort of has an interesting twist in this discussion |
2020-12-04 22:45:34 +0100 | <jle`> | sort is not a method, it's just a normal function here |
2020-12-04 22:45:57 +0100 | <jle`> | and Data.List exports functions, but no methods |
2020-12-04 22:46:27 +0100 | <jle`> | one of those functions being 'sort' |
2020-12-04 22:47:45 +0100 | <shinobi_> | Yes, I used the wrong term here. I should have said function. I've not learned about Haskell methods yet. |
2020-12-04 22:47:57 +0100 | <shinobi_> | Thanks |
2020-12-04 22:47:59 +0100 | <merijn> | Because they don't exist :) |
2020-12-04 22:48:16 +0100 | <shinobi_> | scratch that off my list. :) |
2020-12-04 22:48:17 +0100 | <jle`> | haskell has methods, but they mean a little bit different than they do in OOP languages D: |
2020-12-04 22:48:28 +0100 | <jle`> | at least, the word means something different |
2020-12-04 22:48:31 +0100 | <merijn> | jle`: Eh, how so? |
2020-12-04 22:48:33 +0100 | <jle`> | definitions are weird |
2020-12-04 22:48:49 +0100 | <merijn> | You mean typeclasses? I've not heard those described as methods before |
2020-12-04 22:48:52 +0100 | <jle`> | methods things like (==), compare, show |
2020-12-04 22:48:56 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:cce9:14da:222:dd1d) (Remote host closed the connection) |
2020-12-04 22:49:04 +0100 | <monochrom> | (==) is a method of Eq. This is the wording in the Haskell Report. |
2020-12-04 22:49:41 +0100 | <jle`> | so there is sort of a wonky analogy between the OOP usage of method and the haskell usage |
2020-12-04 22:49:45 +0100 | <monochrom> | And BTW you also never saw the spelling "type class" because it is in the Haskell Report. |
2020-12-04 22:50:12 +0100 | <jle`> | "typeclasses" contain "methods" which have "instances" (types) |
2020-12-04 22:50:13 +0100 | <merijn> | monochrom: That assumes all of us have *only* read the report :p |
2020-12-04 22:50:15 +0100 | <monochrom> | Basically everything the Haskell Report says, no one has ever seen. |
2020-12-04 22:50:27 +0100 | <merijn> | oh, the reverse |
2020-12-04 22:50:32 +0100 | <merijn> | Reading is hard |
2020-12-04 22:50:33 +0100 | <jle`> | in java, "classes" contain "methods" which have "instances" ('values') |
2020-12-04 22:50:51 +0100 | <jle`> | but i don't think the connection is particularly useful heh |
2020-12-04 22:50:51 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cce9:14da:222:dd1d) |
2020-12-04 22:51:19 +0100 | <monochrom> | I really have no idea where "typeclass" came from, apart from one day accidentally a German made that typo and everyone thought it was official. |
2020-12-04 22:51:22 +0100 | <jle`> | er, the typeclasses have instances, not the methods |
2020-12-04 22:51:44 +0100 | <jle`> | saves invisible ink :) |
2020-12-04 22:52:44 +0100 | <dsal> | typoclass |
2020-12-04 22:53:17 +0100 | nf | (~n@monade.li) (Quit: Fairfarren.) |
2020-12-04 22:53:30 +0100 | <monochrom> | Here is another one for you. The Haskell Report has wordings like "the Maybe type", "the IO type". |
2020-12-04 22:53:44 +0100 | <glguy> | why is that surprising? |
2020-12-04 22:54:04 +0100 | <monochrom> | In my mind that settles the question "since Maybe :: * -> *, not *, is it still a type?" |
2020-12-04 22:54:05 +0100 | <jle`> | slightly confusing because there is a distinction between 'type' and 'Type' |
2020-12-04 22:54:20 +0100 | urek | (~urek@2804:7f1:e10a:a8d:9d56:f4b3:72da:42fc) |
2020-12-04 22:54:27 +0100 | nf | (~n@monade.li) |
2020-12-04 22:54:36 +0100 | <jle`> | yeah, i feel like it shooouuld be a unanimous thing in haskell that Maybe is considered a type, in the way that True is a value |
2020-12-04 22:54:39 +0100 | <jle`> | er, Just is a value |
2020-12-04 22:54:51 +0100 | <jle`> | but people still argue with me so idk |
2020-12-04 22:54:53 +0100 | <monochrom> | glguy, I don't know about surprising, but I swear to you a lot of people swear that it's wrong. |
2020-12-04 22:54:58 +0100 | <merijn> | monochrom: Was anyone disagreeing with that? Besides people who are wrong >.< |
2020-12-04 22:54:59 +0100 | <jle`> | ^ |
2020-12-04 22:55:42 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:cce9:14da:222:dd1d) (Ping timeout: 260 seconds) |
2020-12-04 22:55:43 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) |
2020-12-04 22:55:52 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 246 seconds) |
2020-12-04 22:56:36 +0100 | <jle`> | back in the day i feel like i got in an argument about this every few weeks |
2020-12-04 22:58:03 +0100 | christo | (~chris@81.96.113.213) |
2020-12-04 22:58:59 +0100 | pfurla | (~pfurla@227.15.195.173.client.static.strong-in52.as13926.net) |
2020-12-04 22:59:39 +0100 | <monochrom> | Well, I guess ever since DataKinds and dependent Haskell, the liberal people have won, i.e., if something has a kind, then it is a type, oh the kind is a little funny, that's OK. |
2020-12-04 23:00:28 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) (Remote host closed the connection) |
2020-12-04 23:00:38 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) (Ping timeout: 264 seconds) |
2020-12-04 23:01:01 +0100 | <monochrom> | But really, before that, in the old days, the conservative people were very vocal and influential in "Maybe is a type constructor, not a type" or "a type function, not a type". |
2020-12-04 23:01:09 +0100 | <merijn> | monochrom: I will acknowledge the existence of TypeInType over my dead body >.< |
2020-12-04 23:01:17 +0100 | <merijn> | Madness, madness, I say! |
2020-12-04 23:01:32 +0100 | <monochrom> | Fortunately the "type constructor" camp and the "type function" camp also had much in-fighting. That's good for the rest of us. |
2020-12-04 23:01:41 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2020-12-04 23:02:04 +0100 | britva | (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) |
2020-12-04 23:02:09 +0100 | <merijn> | monochrom: Well it is a type constructor, however that doesn't mean it isn't also a type. That's like saying "id" is a function, sure, but it's also a value |
2020-12-04 23:03:30 +0100 | Franciman | (~franko@host-212-171-88-43.retail.telecomitalia.it) (Ping timeout: 256 seconds) |
2020-12-04 23:04:07 +0100 | <monochrom> | I have a cunning plan! I never liked the name "Type". What do you think of "Valuable"? Integer :: Valuable. |
2020-12-04 23:04:22 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:b861:e4c1:4a1a:c272) |
2020-12-04 23:04:33 +0100 | <jle`> | M.lookup monochomArgument |
2020-12-04 23:04:39 +0100 | <jle`> | => "What about Void?" |
2020-12-04 23:04:57 +0100 | <jle`> | * M.lookup monochromArgument pedanticNonsense |
2020-12-04 23:05:07 +0100 | Franciman | (~franko@host-212-171-88-43.retail.telecomitalia.it) |
2020-12-04 23:05:25 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2020-12-04 23:05:36 +0100 | <monochrom> | We accept bottom as a value. That covers Void. The thing is non-Type types don't even have bottom. |
2020-12-04 23:05:45 +0100 | <jle`> | to be clear the idea is that "What about Void" is the pedantic nonsense in response to your valid idea :) |
2020-12-04 23:06:11 +0100 | <jle`> | ah yeah, haskell's bottom |
2020-12-04 23:06:47 +0100 | <jle`> | how about type * = FullySaturatedTypeConstructor |
2020-12-04 23:06:55 +0100 | <dolio> | How about: who gives a shit? |
2020-12-04 23:07:23 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-04 23:07:23 +0100 | <jle`> | clearly it is our favorite thing to be talking about on a friday night :) |
2020-12-04 23:07:29 +0100 | delYsid | (~user@vra-173-158.tugraz.at) |
2020-12-04 23:09:02 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Client Quit) |
2020-12-04 23:12:26 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-04 23:13:38 +0100 | britva | (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep) |
2020-12-04 23:14:37 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt) |
2020-12-04 23:15:27 +0100 | alp | (~alp@2a01:e0a:58b:4920:c8c1:4453:2d45:c47f) (Ping timeout: 272 seconds) |
2020-12-04 23:15:41 +0100 | britva | (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) |
2020-12-04 23:15:50 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
2020-12-04 23:19:53 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-12-04 23:21:08 +0100 | alp | (~alp@88.126.45.36) |
2020-12-04 23:22:08 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) |
2020-12-04 23:23:36 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-12-04 23:24:00 +0100 | nf | (~n@monade.li) (Quit: Fairfarren.) |
2020-12-04 23:25:16 +0100 | nf | (~n@monade.li) |
2020-12-04 23:26:17 +0100 | joaoh82_ | (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
2020-12-04 23:27:33 +0100 | <texasmynsted> | I am sure I used an online repl for haskell where I could turn on vim key bindings. Can't find it. |
2020-12-04 23:27:56 +0100 | pfurla | (~pfurla@227.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 240 seconds) |
2020-12-04 23:28:01 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Quit: leaving) |
2020-12-04 23:28:27 +0100 | <texasmynsted> | anybody recall this? |
2020-12-04 23:28:32 +0100 | <monochrom> | repl.it |
2020-12-04 23:28:52 +0100 | <monochrom> | I don't know about vim key bindings. |
2020-12-04 23:28:53 +0100 | z0 | (~z0@188.251.84.254) |
2020-12-04 23:29:03 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-04 23:29:17 +0100 | z0 | Guest41303 |
2020-12-04 23:29:47 +0100 | <Guest41303> | what's the syntax for binary literals? ghci is giving me an error on 0b10 |
2020-12-04 23:29:57 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) (Remote host closed the connection) |
2020-12-04 23:30:46 +0100 | joaoh82 | (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 272 seconds) |
2020-12-04 23:30:58 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-12-04 23:31:06 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) |
2020-12-04 23:31:16 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) (Remote host closed the connection) |
2020-12-04 23:31:37 +0100 | timCF | (~i.tkachuk@m91-129-106-3.cust.tele2.ee) |
2020-12-04 23:31:38 +0100 | <monochrom> | You need to turn on the relevant extension. |
2020-12-04 23:31:40 +0100 | conal | (~conal@64.71.133.70) |
2020-12-04 23:31:47 +0100 | <monochrom> | It's all in the GHC user's guide. What does it say? |
2020-12-04 23:31:54 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) |
2020-12-04 23:32:41 +0100 | <timCF> | Hello guys! Can anybody help me with small example of Haskell code? https://gist.github.com/tim2CF/221616992d89d9ef458df8080bfa4a28 |
2020-12-04 23:34:03 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-04 23:34:06 +0100 | zzz | (~zzz@46.101.134.251) (Ping timeout: 256 seconds) |
2020-12-04 23:34:30 +0100 | zzz | (~zzz@2a03:b0c0:3:d0::3095:3001) |
2020-12-04 23:34:40 +0100 | qwfpluykh | (2e050550@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 245 seconds) |
2020-12-04 23:34:42 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2020-12-04 23:35:22 +0100 | <monochrom> | timCF, my advice is don't bother constraining b, at least for now. |
2020-12-04 23:35:33 +0100 | <monochrom> | Premature design constraint or something. |
2020-12-04 23:36:14 +0100 | <monochrom> | After you have fleshed out some actual operations on Money, then maybe it will become clear how much you need to constrain b, and by what mechanism. |
2020-12-04 23:36:59 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) (Ping timeout: 272 seconds) |
2020-12-04 23:37:06 +0100 | <monochrom> | If you only have a type, no operations, basically the type is meaningless. The real meaning is always in the functions that operate on that type. Programmers keep forgetting this. |
2020-12-04 23:38:15 +0100 | <timCF> | monochrom: Well, it's just simple example :) In real life these types are implementing a bunch of classes |
2020-12-04 23:39:24 +0100 | Franciman | (~franko@host-212-171-88-43.retail.telecomitalia.it) (Quit: Leaving) |
2020-12-04 23:39:39 +0100 | <timCF> | I just simplified it to understand is it possible in principle to do such type constraints - not just `b` but only some of given types |
2020-12-04 23:41:12 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:8188:2e86:d7e3:d195) (Ping timeout: 260 seconds) |
2020-12-04 23:41:48 +0100 | xff0x_ | (~fox@2001:1a81:53bd:d700:a2a1:7119:15d0:7c3f) |
2020-12-04 23:41:56 +0100 | <monochrom> | I'll tell you a story. In this story, I was on the receiving end of the advice I give you today. |
2020-12-04 23:42:42 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) |
2020-12-04 23:42:42 +0100 | <monochrom> | I had a function, I only intended to allow the user to use it on Integer, it's f :: Integer -> [Integer], f x = [x, x, x]. Or something like that. |
2020-12-04 23:42:48 +0100 | rprije | (~rprije@14-201-170-17.tpgi.com.au) |
2020-12-04 23:43:03 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) (Remote host closed the connection) |
2020-12-04 23:43:08 +0100 | <monochrom> | An expert saw that and pointed out why not a -> [a]. |
2020-12-04 23:43:10 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2542:c60f:3a80:283) |
2020-12-04 23:43:29 +0100 | <monochrom> | I replied I wanted to restrict its use case, the user should only use it on Integer. |
2020-12-04 23:43:40 +0100 | <monochrom> | The expert pointed out a greater lesson. |
2020-12-04 23:44:24 +0100 | <monochrom> | The type a->[a] gives the user a much stronger assurance than the type Integer->[Integer]. Equivalently and flipsidely, it gives me much fewer room for bugs. |
2020-12-04 23:44:59 +0100 | <monochrom> | If my intention is "I turn one number ot a list of numbers, but all those numbers are the same, in fact the same as the input number" |
2020-12-04 23:45:23 +0100 | <monochrom> | a->[a] assures that. Integer->[Integer] doesn't. |
2020-12-04 23:45:46 +0100 | <monochrom> | By leaving b unconstrained, you may actually be doing yourself and your users a great service. |
2020-12-04 23:45:46 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2020-12-04 23:46:46 +0100 | <hpc> | for optimally bug-free code, use the type signature a -> b |
2020-12-04 23:46:54 +0100 | <monochrom> | haha |
2020-12-04 23:47:01 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 264 seconds) |
2020-12-04 23:47:12 +0100 | <monochrom> | that probably is also liveness-free |
2020-12-04 23:47:30 +0100 | <timCF> | input -> output |
2020-12-04 23:47:52 +0100 | <timCF> | but thanks for advice |
2020-12-04 23:48:07 +0100 | <texasmynsted> | hmm maybe not repl.it unless I get different results if I create an account |
2020-12-04 23:49:08 +0100 | <monochrom> | ah, maybe code world? |
2020-12-04 23:49:25 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-12-04 23:49:28 +0100 | <monochrom> | nah, code world uses its own language, not exactly Haskell |
2020-12-04 23:49:31 +0100 | <texasmynsted> | Is there a nice tutorial for converting String based code to Text? Example: https://gist.github.com/mmynsted/7831dbd552c1f874143c0e0d5807a4c8 |
2020-12-04 23:50:24 +0100 | <monochrom> | No. It's just conceptually easy, time consuming chore. E.g., change "take" to "T.take" |
2020-12-04 23:50:42 +0100 | <texasmynsted> | I did and ... splode with errors |
2020-12-04 23:51:01 +0100 | <hpc> | easy, just fix the errors :D |
2020-12-04 23:51:28 +0100 | <sm[m]> | texasmynsted: change one small piece at a time |
2020-12-04 23:52:06 +0100 | <sm[m]> | sprinkle T.[un]pack as needed |
2020-12-04 23:52:11 +0100 | <hpc> | usuallly that means you've just missed some places |
2020-12-04 23:52:41 +0100 | hackage | postgresql-tx 0.2.0.0 - A safe transaction monad for use with various PostgreSQL Haskell libraries. https://hackage.haskell.org/package/postgresql-tx-0.2.0.0 (carymrobbins) |
2020-12-04 23:53:46 +0100 | <monochrom> | OK, I misread, you have [Text], you're doing take on that, that's still []'s take. |
2020-12-04 23:54:07 +0100 | <monochrom> | This one you're just missing Data.Text.IO.putStrLn |
2020-12-04 23:54:11 +0100 | hackage | postgresql-tx-monad-logger 0.2.0.0 - postgresql-tx interfacing for use with monad-logger. https://hackage.haskell.org/package/postgresql-tx-monad-logger-0.2.0.0 (carymrobbins) |
2020-12-04 23:54:39 +0100 | fendor_ | (~fendor@178.115.130.110.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-04 23:54:57 +0100 | <monochrom> | Oh, and f::Int->Text |
2020-12-04 23:55:44 +0100 | borne | (~fritjof@200116b864198500f60f2508b10af3d6.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
2020-12-04 23:57:00 +0100 | <monochrom> | left my comment (really code) on that. |
2020-12-04 23:57:58 +0100 | borne | (~fritjof@200116b864198500f60f2508b10af3d6.dip.versatel-1u1.de) |
2020-12-04 23:58:00 +0100 | <monochrom> | Doesn't my avatar look monochrome? :) |
2020-12-04 23:58:04 +0100 | mimagic | (~mimagic@201.82.37.29) |
2020-12-04 23:58:06 +0100 | <texasmynsted> | okay |
2020-12-04 23:58:43 +0100 | <texasmynsted> | I really did miss a bunch of stuff by not just fixing one thing at a time |
2020-12-04 23:58:44 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-04 23:59:17 +0100 | <texasmynsted> | I did not see the fact that I should be using the take from list. I think that will help |
2020-12-04 23:59:23 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-04 23:59:45 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |