2021-01-31 00:00:11 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 00:00:15 +0100 | <ephemient> | more than once I've wanted a enumValues = [minBound..maxBound] :: (Bounded a, Enum a) => [a] |
2021-01-31 00:03:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-31 00:04:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 00:05:53 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 246 seconds) |
2021-01-31 00:06:29 +0100 | <ski> | > replicateM 3 "01" |
2021-01-31 00:06:30 +0100 | <lambdabot> | ["000","001","010","011","100","101","110","111"] |
2021-01-31 00:07:14 +0100 | <ski> | > filterM (const [False,True]) "012" |
2021-01-31 00:07:15 +0100 | <lambdabot> | ["","2","1","12","0","02","01","012"] |
2021-01-31 00:10:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-31 00:10:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 00:11:40 +0100 | <ski> | > sequence ["01","ab","+-"] |
2021-01-31 00:11:41 +0100 | <lambdabot> | ["0a+","0a-","0b+","0b-","1a+","1a-","1b+","1b-"] |
2021-01-31 00:11:56 +0100 | ski | . o O ( `replicateM :: forall (m :: Nat). (n ::) Nat -> a^m -> (a^n)^(m^n)' ) |
2021-01-31 00:12:31 +0100 | ski | . o O ( `sequence :: forall (m :: Nat) (n :: Nat). (a^m)^n -> (a^n)^(m^n)' ) |
2021-01-31 00:13:47 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-31 00:14:58 +0100 | usr25 | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-01-31 00:15:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 00:15:51 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-31 00:16:05 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-01-31 00:16:16 +0100 | <dolio> | monochrom: QED: https://cs.stackexchange.com/q/123763/93254 |
2021-01-31 00:16:22 +0100 | pruiz | (~pruiz@2a01:4b00:8467:2300:c02f:54be:9b7:7ed3) (Quit: WeeChat 2.8) |
2021-01-31 00:16:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 00:16:40 +0100 | <monochrom> | Yikes |
2021-01-31 00:17:36 +0100 | <dolio> | Oh, apparently that was asked much longer ago than I thought. Someone must have bumped it. |
2021-01-31 00:19:09 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-01-31 00:21:05 +0100 | ehigham | (d92c1d84@host217-44-29-132.range217-44.btcentralplus.com) (Ping timeout: 248 seconds) |
2021-01-31 00:21:16 +0100 | <ski> | (bumped ?) |
2021-01-31 00:21:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 00:21:50 +0100 | <dolio> | Did something to put it back in the 'recent questions' list. |
2021-01-31 00:22:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 00:22:26 +0100 | <dolio> | Or, 'hot questions'. |
2021-01-31 00:23:16 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-01-31 00:24:21 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-31 00:24:31 +0100 | dxld | (~dxld@80-109-136-248.cable.dynamic.surfer.at) (Ping timeout: 256 seconds) |
2021-01-31 00:25:04 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 00:25:47 +0100 | albel727 | (~albel727@unaffiliated/albel727) (Ping timeout: 264 seconds) |
2021-01-31 00:29:33 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2021-01-31 00:29:35 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-01-31 00:32:15 +0100 | <frdg> | Is it possible to pattern match with a lambda? For example I want to say something in the realm of `\Just x -> x OR \Nothing -> error`, similar to how I could do it with a named function. |
2021-01-31 00:34:14 +0100 | <ezrakilty> | You can do so with a single case, but not I think with more than one |
2021-01-31 00:34:21 +0100 | <dolio> | LambdaCase is close if you want multiple cases. |
2021-01-31 00:34:22 +0100 | <ezrakilty> | e.g. \(Just x) -> x |
2021-01-31 00:34:34 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 00:35:09 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 00:35:16 +0100 | <frdg> | ok Ill look at LambdaCase. or just name the function. |
2021-01-31 00:35:21 +0100 | <ephemient> | :t fromJust |
2021-01-31 00:35:22 +0100 | <lambdabot> | Maybe a -> a |
2021-01-31 00:35:42 +0100 | <ephemient> | (if you literally want Just x -> x and Nothing -> error) |
2021-01-31 00:36:08 +0100 | <frdg> | unfortuantely that was just an example |
2021-01-31 00:38:39 +0100 | <ephemient> | LambdaCase is fine then. I'm kinda sad it didn't end up making the cut for -XGHC2021 |
2021-01-31 00:41:31 +0100 | forgottenone | (~forgotten@176.42.24.169) (Quit: Konversation terminated!) |
2021-01-31 00:41:46 +0100 | <frdg> | would something that makes the cut for -XGHC2021 be included without needing a pragma? |
2021-01-31 00:42:17 +0100 | fendor_ | (~fendor@178.115.130.239.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-01-31 00:42:51 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-wxwbipkpfyibgvpa) |
2021-01-31 00:44:12 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-31 00:44:12 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) (Remote host closed the connection) |
2021-01-31 00:44:51 +0100 | Guest11447 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds) |
2021-01-31 00:45:05 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 00:46:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-31 00:46:49 +0100 | Guest11447 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-01-31 00:46:49 +0100 | Guest11447 | finn_elija |
2021-01-31 00:49:24 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-01-31 00:49:25 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 00:49:42 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 00:49:59 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1d25:9d82:8276:bb69) (Remote host closed the connection) |
2021-01-31 00:50:34 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-01-31 00:52:09 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.1)") |
2021-01-31 00:52:40 +0100 | son0p | (~son0p@181.136.122.143) (Quit: Lost terminal) |
2021-01-31 00:54:57 +0100 | prlCIql6ruclcri | (~f9jawUfat@2800:810:514:e7:987f:5088:7420:bc98) (Quit: Leaving) |
2021-01-31 00:55:51 +0100 | SwarmCollective | (~joseph@cpe-65-31-18-174.insight.res.rr.com) |
2021-01-31 00:57:32 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 00:58:14 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e724244a7a9812caad6a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-01-31 00:59:53 +0100 | sayola | (~vekto@dslb-002-201-085-014.002.201.pools.vodafone-ip.de) |
2021-01-31 01:01:53 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 246 seconds) |
2021-01-31 01:02:22 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds) |
2021-01-31 01:02:28 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0) |
2021-01-31 01:05:26 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 01:05:40 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 01:06:56 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 01:08:12 +0100 | Tario | (~Tario@200.119.187.22) |
2021-01-31 01:08:25 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-31 01:08:49 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2021-01-31 01:08:56 +0100 | <koz_> | Is there some concise way to spell 'the elements of this Vector are not all the same'? |
2021-01-31 01:09:49 +0100 | <infinisil> | Maybe something like "is not a multiple of the identity" |
2021-01-31 01:10:21 +0100 | <koz_> | infinisil: I don't understand what 'multiple' or 'identity' means in the context of Data.Vector from vector. |
2021-01-31 01:11:27 +0100 | <infinisil> | identity in regards to the dot product of vectors |
2021-01-31 01:11:37 +0100 | <infinisil> | Which is just all 1's |
2021-01-31 01:12:00 +0100 | <infinisil> | Anyways, I guess that's not what you're looking for, but that's a concise way to specify that all elements are the same (or not) |
2021-01-31 01:12:25 +0100 | soft-warm | (4408f588@ip68-8-245-136.sd.sd.cox.net) |
2021-01-31 01:12:32 +0100 | <koz_> | Thanks, but indeed this is not what I'm looking for. |
2021-01-31 01:13:05 +0100 | <infinisil> | (I have no idea what you're looking for then, what's a "way to spell"?) |
2021-01-31 01:13:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 01:13:46 +0100 | <koz_> | infinisil: I have a Vector full of a, such that Eq a. How do I write, in Haskell, the equivalent of 'True if every element is equal to every other element, False otherwise', concisely? |
2021-01-31 01:14:16 +0100 | <infinisil> | Oh, so you're looking for an implementation of a check for that |
2021-01-31 01:15:53 +0100 | bennofs_ | (~quassel@dslb-094-222-050-219.094.222.pools.vodafone-ip.de) |
2021-01-31 01:17:11 +0100 | <Ariakenom> | I like how laziness makes this work \xs -> all (==head xs) xs |
2021-01-31 01:17:12 +0100 | <koz_> | Best I can think of is somethign to the tune of \v -> and [v ! i == v ! j | i <- [0 .. length v - 1], j <- [0 .. length v - 1]] |
2021-01-31 01:17:13 +0100 | <jkaye[m]> | koz_ if list if empty, True, otherwise are all elements equal to the head element. Very simple recursion |
2021-01-31 01:17:38 +0100 | <jkaye[m]> | You don't need to check all elements against each other |
2021-01-31 01:17:45 +0100 | <koz_> | Although jkaye[m]'s suggestion is indeed better, thanks! |
2021-01-31 01:17:56 +0100 | <Ariakenom> | jkaye[m]: and you dont need the first check due to laziness |
2021-01-31 01:18:09 +0100 | <jkaye[m]> | If you use head you need it |
2021-01-31 01:18:34 +0100 | <Ariakenom> | all f [] = True |
2021-01-31 01:18:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 01:18:46 +0100 | <jkaye[m]> | Yep exactly what I meant! |
2021-01-31 01:19:16 +0100 | bennofs__ | (~quassel@dslb-094-222-083-164.094.222.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2021-01-31 01:19:45 +0100 | <Ariakenom> | head on empty list in "f" doesn't matter if f isn't used |
2021-01-31 01:22:00 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-31 01:22:19 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 01:22:29 +0100 | <ski> | @instances-importing Data.Vector Foldable |
2021-01-31 01:22:30 +0100 | <lambdabot> | Alt f, Ap f, Dual, First, Last, Maybe, Product, Sum, Vector, [] |
2021-01-31 01:22:33 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 01:22:56 +0100 | <Ariakenom> | % :t all |
2021-01-31 01:22:57 +0100 | <yahb> | Ariakenom: Foldable t => (a -> Bool) -> t a -> Bool |
2021-01-31 01:23:03 +0100 | <ski> | @type all :: (a -> Bool) -> (Data.Vector.Vector a -> Bool) |
2021-01-31 01:23:04 +0100 | <lambdabot> | (a -> Bool) -> Data.Vector.Vector a -> Bool |
2021-01-31 01:23:13 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2021-01-31 01:23:36 +0100 | conal_ | (~conal@64.71.133.70) |
2021-01-31 01:25:34 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer) |
2021-01-31 01:26:03 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-31 01:26:59 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 264 seconds) |
2021-01-31 01:27:57 +0100 | ski | looks at jkaye[m] |
2021-01-31 01:28:19 +0100 | erisco | (~erisco@104-195-141-253.cpe.teksavvy.com) |
2021-01-31 01:28:56 +0100 | <jkaye[m]> | ski yep. Just gotta get that first `a` there |
2021-01-31 01:29:23 +0100 | <jkaye[m]> | I don't think I'm taking crazy pills |
2021-01-31 01:29:54 +0100 | <ski> | jkaye[m] : something like what Ariakenom suggested doesn't work ? |
2021-01-31 01:30:11 +0100 | <jkaye[m]> | No |
2021-01-31 01:30:15 +0100 | <ski> | why not ? |
2021-01-31 01:30:16 +0100 | <jkaye[m]> | Where does f come from? |
2021-01-31 01:30:23 +0100 | <ski> | which `f' ? |
2021-01-31 01:30:35 +0100 | <jkaye[m]> | The function is `Vec a -> Bool` |
2021-01-31 01:30:43 +0100 | <ski> | yes ? |
2021-01-31 01:30:52 +0100 | <Ariakenom> | \xs -> all (==head xs) xs |
2021-01-31 01:30:54 +0100 | <Ariakenom> | no f |
2021-01-31 01:31:42 +0100 | <jkaye[m]> | Okay, I see what you meab |
2021-01-31 01:31:47 +0100 | <jkaye[m]> | * Okay, I see what you mean |
2021-01-31 01:31:50 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 264 seconds) |
2021-01-31 01:31:52 +0100 | <jkaye[m]> | You're right, that worjs |
2021-01-31 01:31:58 +0100 | <jkaye[m]> | * You're right, that works |
2021-01-31 01:32:52 +0100 | <ski> | you could probably use the aztec trick, as well |
2021-01-31 01:33:04 +0100 | <Ariakenom> | does it work for length 0 and 1? |
2021-01-31 01:33:14 +0100 | <Ariakenom> | [] and [1] |
2021-01-31 01:34:11 +0100 | <ski> | > and ((zipWith (==) `ap` tail) "0000") |
2021-01-31 01:34:13 +0100 | <lambdabot> | True |
2021-01-31 01:34:15 +0100 | <ski> | > and ((zipWith (==) `ap` tail) "0010") |
2021-01-31 01:34:16 +0100 | <lambdabot> | False |
2021-01-31 01:36:11 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-wkqzxzwdoldxjjgk) |
2021-01-31 01:36:52 +0100 | erisco | (~erisco@104-195-141-253.cpe.teksavvy.com) (Quit: Leaving) |
2021-01-31 01:39:53 +0100 | <infinisil> | Hmm, but how about not relying on partial functions |
2021-01-31 01:40:39 +0100 | <ski> | use `drop 1' instead of `tail' |
2021-01-31 01:40:51 +0100 | <jkaye[m]> | Does it really matter if it's guaranteed not to be a problem? |
2021-01-31 01:41:03 +0100 | <jkaye[m]> | Other than intellectually I guess |
2021-01-31 01:41:08 +0100 | <infinisil> | ^^ |
2021-01-31 01:41:27 +0100 | <ski> | perhaps to satisfy some termination checker ? |
2021-01-31 01:42:20 +0100 | <jkaye[m]> | I wonder what liquid haskell would think about it |
2021-01-31 01:43:06 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 01:43:47 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-01-31 01:44:36 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) |
2021-01-31 01:45:21 +0100 | <infinisil> | > allEqual xs = [xs] == group xs |
2021-01-31 01:45:23 +0100 | <lambdabot> | <hint>:1:13: error: <hint>:1:13: error: parse error on input ‘=’ |
2021-01-31 01:45:25 +0100 | <infinisil> | How about that! |
2021-01-31 01:45:58 +0100 | <infinisil> | > (\xs -> [xs] == group xs) (repeat 10 0) |
2021-01-31 01:46:00 +0100 | <lambdabot> | error: |
2021-01-31 01:46:00 +0100 | <lambdabot> | • Couldn't match expected type ‘t0 -> [a0]’ with actual type ‘[a1]’ |
2021-01-31 01:46:00 +0100 | <lambdabot> | • The function ‘repeat’ is applied to two arguments, |
2021-01-31 01:46:13 +0100 | <infinisil> | > (\xs -> [xs] == group xs) (replicate 10 0) |
2021-01-31 01:46:14 +0100 | <lambdabot> | True |
2021-01-31 01:46:25 +0100 | <infinisil> | > (\xs -> [xs] == group xs) (replicate 10 0 ++ [1] ++ replicate 10 0) |
2021-01-31 01:46:26 +0100 | <lambdabot> | False |
2021-01-31 01:47:15 +0100 | conal_ | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-31 01:47:22 +0100 | <ski> | @check \n x -> let xs = replicate n x in [xs] == group xs |
2021-01-31 01:47:23 +0100 | <lambdabot> | *** Failed! Falsifiable (after 1 test): |
2021-01-31 01:47:23 +0100 | <lambdabot> | 0 () |
2021-01-31 01:48:35 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds) |
2021-01-31 01:48:36 +0100 | <MarcelineVQ> | @let allEqual xs = [xs] == group xs |
2021-01-31 01:48:37 +0100 | <lambdabot> | Defined. |
2021-01-31 01:48:42 +0100 | <MarcelineVQ> | > allEqual [] |
2021-01-31 01:48:42 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-01-31 01:48:44 +0100 | <lambdabot> | False |
2021-01-31 01:48:47 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 01:49:06 +0100 | <infinisil> | Damn, group not returning any result should be illegal |
2021-01-31 01:49:12 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) (Ping timeout: 260 seconds) |
2021-01-31 01:49:20 +0100 | <ski> | @type NE.group |
2021-01-31 01:49:21 +0100 | <lambdabot> | (Foldable f, Eq a) => f a -> [NonEmpty a] |
2021-01-31 01:49:25 +0100 | <infinisil> | Yeah just saw that too |
2021-01-31 01:49:32 +0100 | <ski> | `group' returns a list of non-empty lists |
2021-01-31 01:49:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 01:50:52 +0100 | <infinisil> | @let allEqual xs = [xs :| []] == NE.group xs |
2021-01-31 01:50:53 +0100 | <lambdabot> | .L.hs:158:29: error: |
2021-01-31 01:50:53 +0100 | <lambdabot> | • Occurs check: cannot construct the infinite type: a ~ [a] |
2021-01-31 01:50:53 +0100 | <lambdabot> | Expected type: [NonEmpty [a]] |
2021-01-31 01:51:13 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-31 01:51:25 +0100 | mozzarella | (~sam@unaffiliated/sam113101) (Ping timeout: 240 seconds) |
2021-01-31 01:52:04 +0100 | <ski> | @check ((all <$> (==) <*> group) .) . replicate |
2021-01-31 01:52:06 +0100 | <lambdabot> | +++ OK, passed 100 tests. |
2021-01-31 01:52:19 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-31 01:52:39 +0100 | <infinisil> | Heh |
2021-01-31 01:52:42 +0100 | <infinisil> | That feels like cheating |
2021-01-31 01:53:17 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2021-01-31 01:53:40 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 01:53:57 +0100 | <infinisil> | But nice |
2021-01-31 01:54:18 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:67bb:b9ef:e561:ae2:7da2) |
2021-01-31 01:58:34 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-01-31 01:59:03 +0100 | thongpv87 | (~thongpv87@103.6.151.121) (Remote host closed the connection) |
2021-01-31 02:01:01 +0100 | thongpv87 | (~thongpv87@103.6.151.121) |
2021-01-31 02:01:35 +0100 | <koz_> | :t unlines |
2021-01-31 02:01:36 +0100 | <lambdabot> | [String] -> String |
2021-01-31 02:01:50 +0100 | <infinisil> | ski: But heck, how did you manage to make that type check |
2021-01-31 02:01:58 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-01-31 02:02:24 +0100 | <ski> | er, i just hand-pled it ? |
2021-01-31 02:02:57 +0100 | <infinisil> | :t (<$>) |
2021-01-31 02:02:58 +0100 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2021-01-31 02:03:14 +0100 | <infinisil> | :t all |
2021-01-31 02:03:15 +0100 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Bool |
2021-01-31 02:03:18 +0100 | <infinisil> | :t (==) |
2021-01-31 02:03:19 +0100 | <lambdabot> | Eq a => a -> a -> Bool |
2021-01-31 02:03:19 +0100 | <ski> | `all <$> (==) <*> group' is `\xs -> all (xs ==) (group xs)' |
2021-01-31 02:03:31 +0100 | <ski> | and `\x y -> f (g x y)' is `(f .) . g' |
2021-01-31 02:03:31 +0100 | teardown | (~user@gateway/tor-sasl/mrush) (Remote host closed the connection) |
2021-01-31 02:03:52 +0100 | jlamothe | (~jlamothe@198.251.55.207) |
2021-01-31 02:03:53 +0100 | <ski> | that's basically all there is to it |
2021-01-31 02:03:54 +0100 | teardown | (~user@gateway/tor-sasl/mrush) |
2021-01-31 02:03:55 +0100 | <infinisil> | Hmm |
2021-01-31 02:04:19 +0100 | <infinisil> | Ahh, the functor for (->) just applies the same argument to all functions |
2021-01-31 02:04:54 +0100 | <mniip> | what |
2021-01-31 02:05:10 +0100 | <infinisil> | Or the applicative I mean |
2021-01-31 02:05:23 +0100 | <mniip> | that's kinda true yes |
2021-01-31 02:05:36 +0100 | <mniip> | there's an "environment" that's being propagated down |
2021-01-31 02:05:38 +0100 | <ski> | environment distributes the config to all branches, yes |
2021-01-31 02:06:28 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection) |
2021-01-31 02:06:39 +0100 | <infinisil> | Yeah looking at it like that, makes sense :) |
2021-01-31 02:06:40 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-31 02:07:11 +0100 | <infinisil> | @pointfree \xs -> all (xs ==) (group xs) |
2021-01-31 02:07:11 +0100 | <lambdabot> | Unknown command, try @list |
2021-01-31 02:07:19 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) |
2021-01-31 02:07:23 +0100 | <ski> | @pointless \xs -> all (xs ==) (group xs) |
2021-01-31 02:07:23 +0100 | <lambdabot> | liftM2 all (==) group |
2021-01-31 02:07:36 +0100 | <infinisil> | :o |
2021-01-31 02:07:37 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 265 seconds) |
2021-01-31 02:07:42 +0100 | <ski> | (could use `liftA2' .. but it didn't exist, when the plugin was written) |
2021-01-31 02:07:49 +0100 | <infinisil> | > :t liftA2 |
2021-01-31 02:07:51 +0100 | <lambdabot> | <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘:’ |
2021-01-31 02:07:54 +0100 | <infinisil> | :t liftA2 |
2021-01-31 02:07:55 +0100 | <lambdabot> | Applicative f => (a -> b -> c) -> f a -> f b -> f c |
2021-01-31 02:08:14 +0100 | <infinisil> | :t liftA2 all (==) group |
2021-01-31 02:08:15 +0100 | <lambdabot> | Eq a => [a] -> Bool |
2021-01-31 02:08:18 +0100 | <infinisil> | Nice |
2021-01-31 02:09:12 +0100 | <infinisil> | Not as generic as it could be though |
2021-01-31 02:10:08 +0100 | <ski> | @type liftA2 `asTypeIn` \liftA2 -> liftA2 all (==) group |
2021-01-31 02:10:09 +0100 | <lambdabot> | Eq a => (([a] -> Bool) -> [[a]] -> Bool) -> ([a] -> [a] -> Bool) -> ([a] -> [[a]]) -> [a] -> Bool |
2021-01-31 02:10:15 +0100 | <ski> | hm .. somewhat excessive |
2021-01-31 02:10:52 +0100 | <ski> | @type liftA2 `asTypeIn` \liftA2 f g h x -> liftA2 f g h x |
2021-01-31 02:10:53 +0100 | <lambdabot> | (a -> b -> t1) -> (t2 -> a) -> (t2 -> b) -> t2 -> t1 |
2021-01-31 02:10:53 +0100 | jedws | (~jedws@121.209.199.128) |
2021-01-31 02:11:38 +0100 | <ski> | int-e : was missing `asTypeIn' :) |
2021-01-31 02:12:03 +0100 | <ski> | (oh, also `Natural', while we're at it ..) |
2021-01-31 02:13:08 +0100 | <ski> | infinisil : not as generic ? |
2021-01-31 02:14:01 +0100 | <infinisil> | Huh! |
2021-01-31 02:14:03 +0100 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2021-01-31 02:14:04 +0100 | <infinisil> | Wait how would I use that? |
2021-01-31 02:14:36 +0100 | <ski> | use which ? |
2021-01-31 02:16:02 +0100 | <ski> | you mean `asTypeIn' ? |
2021-01-31 02:16:14 +0100 | <ski> | @src asTypeIn |
2021-01-31 02:16:14 +0100 | <lambdabot> | a `asTypeIn` f = a where _ = f a |
2021-01-31 02:16:15 +0100 | <lambdabot> | infixl 0 `asTypeIn` |
2021-01-31 02:16:32 +0100 | <ski> | it's just a glorified `const' (as is `asAppliedTo') |
2021-01-31 02:16:42 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-31 02:16:55 +0100 | <ski> | @src asAppliedTo |
2021-01-31 02:16:55 +0100 | <lambdabot> | f `asAppliedTo` a = f where _ = f a |
2021-01-31 02:16:55 +0100 | <lambdabot> | infixl 0 `asAppliedTo` |
2021-01-31 02:16:56 +0100 | <infinisil> | I'm probably missing something |
2021-01-31 02:17:07 +0100 | <ski> | @type map `asAppliedTo` ord |
2021-01-31 02:17:08 +0100 | <lambdabot> | (Char -> Int) -> [Char] -> [Int] |
2021-01-31 02:17:52 +0100 | <infinisil> | I was wondering if we could find an implementation of `liftA2 all (==) group` that had a more generic type, like with Traversable instead of [] |
2021-01-31 02:18:04 +0100 | <ski> | they are just two lambdabot-defined functions which are sometimes helpful to show a (more) monomorphic type of something |
2021-01-31 02:18:28 +0100 | mozzarella | (~sam@unaffiliated/sam113101) |
2021-01-31 02:18:34 +0100 | <ski> | well, it's `group' that forces `[]' |
2021-01-31 02:18:56 +0100 | <ski> | so .. can you generalize `group', is then the question ? |
2021-01-31 02:19:47 +0100 | <infinisil> | I guess yeah :) |
2021-01-31 02:21:22 +0100 | <infinisil> | Anyways, it's easy to make a generic total function by just pattern matching |
2021-01-31 02:22:07 +0100 | <ski> | on what ? |
2021-01-31 02:22:24 +0100 | <infinisil> | The list |
2021-01-31 02:22:44 +0100 | <infinisil> | If empty, just return True, otherwise `all (== x) xs` |
2021-01-31 02:22:57 +0100 | <infinisil> | Though I guess you need Foldable, Traversable isn't enough |
2021-01-31 02:23:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 02:23:47 +0100 | xelxebar_ | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-31 02:23:54 +0100 | <ski> | every instance of `Traversable' is an instance of `Foldable' (but not vice versa) |
2021-01-31 02:24:45 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds) |
2021-01-31 02:24:57 +0100 | <ski> | well, if you want to generalize from list, then you don't have a list to match on |
2021-01-31 02:25:10 +0100 | <infinisil> | Oh yeah, had those flipped around |
2021-01-31 02:25:40 +0100 | <ski> | (you could get a list using `Foldable. but then you can't get back again ..) |
2021-01-31 02:26:35 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-01-31 02:28:58 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 02:29:44 +0100 | zeta_0 | (~zeta@2601:8c0:1:2630:a6ba:f759:774b:830c) |
2021-01-31 02:30:33 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
2021-01-31 02:30:36 +0100 | tromp_ | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 02:30:51 +0100 | <zeta_0> | I have a miso nix related issue, will any of you be able to help me out? I already asked for help in the #nixos channel, but no one has responded yet! |
2021-01-31 02:30:54 +0100 | <zeta_0> | https://github.com/dmjio/miso#nix |
2021-01-31 02:32:01 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:67bb:b9ef:e561:ae2:7da2) (Quit: Textual IRC Client: www.textualapp.com) |
2021-01-31 02:33:50 +0100 | <zeta_0> | when I follow the miso/nix example, everything works fine, but whenever I try to configure this with my (direnv+nix-diren+emacs-direnv) setup, callCabal2Nix does not work, a bunch of dependency errors are returned? |
2021-01-31 02:34:57 +0100 | <infinisil> | ski: I feel like foldMap could be used with a suitable Monoid, but I don't think such a Monoid exists already |
2021-01-31 02:35:06 +0100 | <infinisil> | :t foldMap |
2021-01-31 02:35:07 +0100 | <lambdabot> | (Foldable t, Monoid m) => (a -> m) -> t a -> m |
2021-01-31 02:35:23 +0100 | tromp_ | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds) |
2021-01-31 02:35:48 +0100 | <ski> | infinisil : aiming at what type ? |
2021-01-31 02:36:37 +0100 | <infinisil> | > :t foldMap Just |
2021-01-31 02:36:38 +0100 | <lambdabot> | <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘:’ |
2021-01-31 02:36:43 +0100 | <infinisil> | :t foldMap Just |
2021-01-31 02:36:44 +0100 | <ski> | @type foldMap Just |
2021-01-31 02:36:44 +0100 | <lambdabot> | (Foldable t, Semigroup a) => t a -> Maybe a |
2021-01-31 02:36:45 +0100 | <lambdabot> | (Foldable t, Semigroup a) => t a -> Maybe a |
2021-01-31 02:36:51 +0100 | <infinisil> | Then isJust! |
2021-01-31 02:37:06 +0100 | <infinisil> | Wait no |
2021-01-31 02:37:39 +0100 | <ski> | are you aiming at `group :: (Foldable t,Eq a) => t a -> [[a]]', or what ? |
2021-01-31 02:39:09 +0100 | <infinisil> | Something like Maybe, but with a Semigroup instance that compares values, and in case both sides are Just, it only returns Just when they are equal |
2021-01-31 02:39:43 +0100 | <infinisil> | Eq a => Semigroup (Maybe a) |
2021-01-31 02:41:57 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:9c13:27da:3792:17be) (Quit: Leaving) |
2021-01-31 02:43:53 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 02:45:11 +0100 | <infinisil> | Would be defined like |
2021-01-31 02:45:18 +0100 | <infinisil> | Just a <> Just b | a == b = Just a |
2021-01-31 02:45:22 +0100 | <infinisil> | _ <> _ = Nothing |
2021-01-31 02:45:57 +0100 | <infinisil> | Then I believe `isJust . foldMap Just` would check whether all elements are equal |
2021-01-31 02:46:26 +0100 | <infinisil> | (but this doesn't work because there's already another Semigroup (Maybe a) instance) |
2021-01-31 02:47:26 +0100 | <zeta_0> | https://github.com/dmjio/miso#nix https://dpaste.org/sTcE https://dpaste.org/e2Wh https://dpaste.org/LJNC |
2021-01-31 02:48:05 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 02:48:48 +0100 | <zeta_0> | if any of you would like to take a look and help me with my miso/nix error, thanks, I got miso to work with my (direnv+nix-direnv+emacs-direnv) setup, but I can't get callCabal2Nix working, it's throwing errors, which I pastebined above. |
2021-01-31 02:49:54 +0100 | metreo | (~Thunderbi@unaffiliated/metreo) (Quit: metreo) |
2021-01-31 02:50:28 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds) |
2021-01-31 02:51:36 +0100 | gluegadget | (sid22336@gateway/web/irccloud.com/x-uqcwrzaflpkghsoy) (Ping timeout: 265 seconds) |
2021-01-31 02:51:37 +0100 | heyj | (sid171370@gateway/web/irccloud.com/x-bflehhffxpswalwj) (Ping timeout: 260 seconds) |
2021-01-31 02:51:37 +0100 | Firedancer | (sid336191@gateway/web/irccloud.com/x-eedluoddpkolzhde) (Ping timeout: 260 seconds) |
2021-01-31 02:51:37 +0100 | simony | (sid226116@gateway/web/irccloud.com/x-wuwbandquivjrcox) (Ping timeout: 260 seconds) |
2021-01-31 02:51:37 +0100 | SanchayanMaity | (sid478177@gateway/web/irccloud.com/x-xfixrnosidhdkmvo) (Ping timeout: 260 seconds) |
2021-01-31 02:51:38 +0100 | mpickering | (sid78412@gateway/web/irccloud.com/x-nlhzowtetdmoksio) (Ping timeout: 264 seconds) |
2021-01-31 02:51:43 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-31 02:52:03 +0100 | acertain | (sid470584@gateway/web/irccloud.com/x-ukmpkghtxinppagh) (Ping timeout: 272 seconds) |
2021-01-31 02:52:12 +0100 | edwinb | (sid69486@gateway/web/irccloud.com/x-mayongskwkdlziau) (Ping timeout: 260 seconds) |
2021-01-31 02:52:14 +0100 | nick_h | (sid319833@gateway/web/irccloud.com/x-ikiutvcdzbiuuesy) (Ping timeout: 264 seconds) |
2021-01-31 02:52:28 +0100 | mpickering | (sid78412@gateway/web/irccloud.com/x-gpnegcmfmjdgvvhd) |
2021-01-31 02:52:32 +0100 | vgtw | (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection) |
2021-01-31 02:52:36 +0100 | nick_h | (sid319833@gateway/web/irccloud.com/x-fmszvbukywibvnjt) |
2021-01-31 02:52:38 +0100 | edwinb | (sid69486@gateway/web/irccloud.com/x-ksiofhqyzwmiecwk) |
2021-01-31 02:52:50 +0100 | affinespaces | (sid327561@gateway/web/irccloud.com/x-bebojrcoufbnwpah) (Ping timeout: 264 seconds) |
2021-01-31 02:52:50 +0100 | vgtw | (~vgtw@gateway/tor-sasl/vgtw) |
2021-01-31 02:53:17 +0100 | SanchayanMaity | (sid478177@gateway/web/irccloud.com/x-rpffknmnzhckxcik) |
2021-01-31 02:53:32 +0100 | Firedancer | (sid336191@gateway/web/irccloud.com/x-ligfkiqpgzdsoowm) |
2021-01-31 02:53:37 +0100 | simony | (sid226116@gateway/web/irccloud.com/x-yvxwbmloxgyrtusv) |
2021-01-31 02:53:40 +0100 | heyj | (sid171370@gateway/web/irccloud.com/x-jlmkaetfreswmuao) |
2021-01-31 02:53:56 +0100 | gluegadget | (sid22336@gateway/web/irccloud.com/x-rxofsnehgcvjxzjy) |
2021-01-31 02:54:06 +0100 | acertain | (sid470584@gateway/web/irccloud.com/x-yywtldtivzbefsrr) |
2021-01-31 02:54:39 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
2021-01-31 02:54:49 +0100 | affinespaces | (sid327561@gateway/web/irccloud.com/x-jflhsfrfrwoamxgm) |
2021-01-31 02:55:01 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2021-01-31 02:57:51 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
2021-01-31 02:59:08 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-01-31 02:59:29 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9) |
2021-01-31 03:00:13 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 03:02:45 +0100 | d3od | (~nickmeno3@78-1-83-60.adsl.net.t-com.hr) (Ping timeout: 240 seconds) |
2021-01-31 03:03:00 +0100 | d3od | (~nickmeno3@78-0-99-153.adsl.net.t-com.hr) |
2021-01-31 03:05:17 +0100 | soft-warm | (4408f588@ip68-8-245-136.sd.sd.cox.net) (Quit: Ping timeout (120 seconds)) |
2021-01-31 03:07:46 +0100 | bgamari | (~bgamari@72.65.102.166) (Ping timeout: 256 seconds) |
2021-01-31 03:09:10 +0100 | bgamari | (~bgamari@72.65.102.164) |
2021-01-31 03:14:06 +0100 | miguel_clean | (~Miguel@89-72-187-203.dynamic.chello.pl) (Quit: Leaving.) |
2021-01-31 03:16:36 +0100 | jedws | (~jedws@121.209.199.128) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-31 03:22:02 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-31 03:22:43 +0100 | <zeta_0> | here's an issue if any of you would like to take a look, thanks in advance: https://github.com/dmjio/miso/issues/641 |
2021-01-31 03:23:57 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
2021-01-31 03:23:57 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
2021-01-31 03:24:30 +0100 | carlomagno | (~cararell@148.87.23.9) (Remote host closed the connection) |
2021-01-31 03:25:11 +0100 | carlomagno | (~cararell@148.87.23.9) |
2021-01-31 03:25:13 +0100 | jedws | (~jedws@121.209.199.128) |
2021-01-31 03:25:32 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-31 03:27:26 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 03:28:05 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 03:28:41 +0100 | dcoutts_ | (~dcoutts@unaffiliated/dcoutts) |
2021-01-31 03:31:05 +0100 | dcoutts__ | (~duncan@51.186.125.91.dyn.plus.net) (Ping timeout: 240 seconds) |
2021-01-31 03:31:06 +0100 | Tario | (~Tario@200.119.187.22) (Read error: Connection reset by peer) |
2021-01-31 03:31:17 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 03:31:35 +0100 | dcoutts__ | (~duncan@85.186.125.91.dyn.plus.net) |
2021-01-31 03:31:45 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
2021-01-31 03:32:05 +0100 | dcoutts | (~dcoutts@unaffiliated/dcoutts) (Ping timeout: 240 seconds) |
2021-01-31 03:32:06 +0100 | soft-warm | (4408f588@ip68-8-245-136.sd.sd.cox.net) |
2021-01-31 03:34:35 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 03:34:41 +0100 | xff0x_ | (~xff0x@2001:1a81:5286:1d00:27bb:49b:c3ad:c098) (Ping timeout: 258 seconds) |
2021-01-31 03:36:23 +0100 | xff0x_ | (~xff0x@2001:1a81:52bf:eb00:e63f:41c2:291d:74fd) |
2021-01-31 03:36:32 +0100 | _Alleria | (~AllahuAkb@2603-7000-3040-0000-749a-5200-2a68-b0ee.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-01-31 03:37:47 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds) |
2021-01-31 03:38:53 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) (Ping timeout: 256 seconds) |
2021-01-31 03:39:27 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
2021-01-31 03:42:27 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) (Remote host closed the connection) |
2021-01-31 03:42:46 +0100 | bgamari_ | (~bgamari@72.65.102.22) |
2021-01-31 03:43:47 +0100 | bgamari | (~bgamari@72.65.102.164) (Ping timeout: 264 seconds) |
2021-01-31 03:43:52 +0100 | shailangsa | (~shailangs@host86-186-177-234.range86-186.btcentralplus.com) (Disconnected by services) |
2021-01-31 03:47:30 +0100 | sh9 | (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8) |
2021-01-31 03:49:02 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) |
2021-01-31 03:50:08 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) |
2021-01-31 03:50:57 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 03:52:25 +0100 | e71_ | (~e71@89.187.165.99) |
2021-01-31 03:54:20 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-31 03:55:16 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2021-01-31 03:55:47 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 03:57:52 +0100 | nineonine | (~nineonine@S0106a0ff7073d5d5.vf.shawcable.net) |
2021-01-31 03:58:42 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) (Read error: Connection reset by peer) |
2021-01-31 03:58:46 +0100 | Alleria_ | (~AllahuAkb@69.202.254.168) |
2021-01-31 03:58:54 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) |
2021-01-31 04:01:05 +0100 | zeta_0 | (~zeta@2601:8c0:1:2630:a6ba:f759:774b:830c) (Quit: rcirc on GNU Emacs 27.1) |
2021-01-31 04:01:47 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 264 seconds) |
2021-01-31 04:01:56 +0100 | nineonine | (~nineonine@S0106a0ff7073d5d5.vf.shawcable.net) (Ping timeout: 240 seconds) |
2021-01-31 04:02:13 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 04:03:53 +0100 | thongpv87 | (~thongpv87@103.6.151.121) (Quit: Lost terminal) |
2021-01-31 04:04:35 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 04:09:25 +0100 | m0rphism1 | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds) |
2021-01-31 04:09:58 +0100 | Shailangsa_ | (~shailangs@host86-186-177-234.range86-186.btcentralplus.com) |
2021-01-31 04:10:04 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
2021-01-31 04:12:44 +0100 | glguy | (x@freenode/staff/haskell.developer.glguy) (Read error: Connection reset by peer) |
2021-01-31 04:13:05 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-01-31 04:13:16 +0100 | glguy | (x@freenode/staff/haskell.developer.glguy) |
2021-01-31 04:13:26 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-31 04:13:56 +0100 | halbGefressen | (~halbGefre@2a02:810d:f40:2a9c:a4fe:2adc:248b:466f) |
2021-01-31 04:14:54 +0100 | <halbGefressen> | Hi guys, I am trying to understand this definition of the faculty function, but I still don't get it: fac = fix \f x -> if x == 1 then 1 else x * f (x-1) |
2021-01-31 04:15:02 +0100 | <halbGefressen> | What is going on here? |
2021-01-31 04:15:07 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 04:16:08 +0100 | ezrakilty | (~ezrakilty@75-172-109-5.tukw.qwest.net) (Remote host closed the connection) |
2021-01-31 04:16:38 +0100 | <halbGefressen> | (the correct syntax is this, sorry:) fac = fix $ \f x -> if x == 1 then 1 else x * f (x-1) |
2021-01-31 04:18:01 +0100 | drbean | (~drbean@TC210-63-209-161.static.apol.com.tw) |
2021-01-31 04:19:30 +0100 | <glguy> | halbGefressen, is the issue that it uses "fix"? |
2021-01-31 04:19:32 +0100 | <mniip> | that's normally called the factorial |
2021-01-31 04:19:51 +0100 | <glguy> | ?src fix |
2021-01-31 04:19:51 +0100 | <lambdabot> | fix f = let x = f x in x |
2021-01-31 04:19:53 +0100 | <halbGefressen> | i forgot how its called in english, I mean that |
2021-01-31 04:20:02 +0100 | <halbGefressen> | yea, I don't get the use of fix here |
2021-01-31 04:20:14 +0100 | <glguy> | Well, let's just inline the definition, then |
2021-01-31 04:20:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 04:20:42 +0100 | <glguy> | fac = let g = (\f x -> if x == 1 then 1 else x * f (x-1)) g in g |
2021-01-31 04:20:53 +0100 | berberman | (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-31 04:20:55 +0100 | <glguy> | I renamed 'x' to 'g' to avoid clashing with your existing x |
2021-01-31 04:20:59 +0100 | <glguy> | Good so far? |
2021-01-31 04:21:17 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-31 04:21:21 +0100 | <halbGefressen> | ohh, I get it now |
2021-01-31 04:21:35 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 04:21:37 +0100 | <halbGefressen> | wait no |
2021-01-31 04:21:44 +0100 | <glguy> | OK, let's keep going then |
2021-01-31 04:21:53 +0100 | <glguy> | we'll apply the lambda expression to g |
2021-01-31 04:22:10 +0100 | <glguy> | fac = let g = (\x -> if x == 1 then 1 else x * g (x-1)) in g |
2021-01-31 04:22:28 +0100 | <glguy> | Are you OK with that? |
2021-01-31 04:22:36 +0100 | <halbGefressen> | that seems to make sense |
2021-01-31 04:22:50 +0100 | <glguy> | OK, and g = (\x -> ... is another way of writing, g x = ... |
2021-01-31 04:22:51 +0100 | <halbGefressen> | wait, now we have a recursive function |
2021-01-31 04:22:59 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 04:23:06 +0100 | <glguy> | fac = let g x = if x == 1 then 1 else x * g (x-1) in g |
2021-01-31 04:23:07 +0100 | <halbGefressen> | or well, we had it all the time, but this time it looks more familiar |
2021-01-31 04:23:24 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
2021-01-31 04:23:59 +0100 | <halbGefressen> | ahhhh thank you, I think I got it |
2021-01-31 04:24:01 +0100 | <halbGefressen> | :D |
2021-01-31 04:24:04 +0100 | <glguy> | :) |
2021-01-31 04:24:41 +0100 | e71_ | e71e71 |
2021-01-31 04:24:47 +0100 | halbGefressen | (~halbGefre@2a02:810d:f40:2a9c:a4fe:2adc:248b:466f) (Quit: halbGefressen) |
2021-01-31 04:25:05 +0100 | theDon | (~td@muedsl-82-207-238-229.citykom.de) (Ping timeout: 240 seconds) |
2021-01-31 04:25:24 +0100 | e71e71 | e71_ |
2021-01-31 04:26:45 +0100 | Codaraxis__ | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds) |
2021-01-31 04:27:11 +0100 | theDon | (~td@94.134.91.199) |
2021-01-31 04:30:50 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
2021-01-31 04:32:10 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-ihpmwhrtqcetefmy) () |
2021-01-31 04:36:30 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-01-31 04:38:23 +0100 | proteusguy | (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th) (Ping timeout: 264 seconds) |
2021-01-31 04:38:52 +0100 | <orzo> | Is it feasible to use multiplicity 0 (context: LinearTypes) as a communication of intention that something be optimized away so that it is present only at compile-time? The Idris2 seems to use it? |
2021-01-31 04:39:09 +0100 | <orzo> | Like Idris2 |
2021-01-31 04:39:12 +0100 | <orzo> | i mean |
2021-01-31 04:39:52 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 04:41:06 +0100 | FinnElija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-01-31 04:41:06 +0100 | finn_elija | Guest41169 |
2021-01-31 04:41:06 +0100 | FinnElija | finn_elija |
2021-01-31 04:41:29 +0100 | xirhtogal | (~lagothrix@unaffiliated/lagothrix) |
2021-01-31 04:41:29 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) (Killed (orwell.freenode.net (Nickname regained by services))) |
2021-01-31 04:41:29 +0100 | xirhtogal | lagothrix |
2021-01-31 04:43:38 +0100 | <mniip> | orzo, currently the compiler makes no optimization decisions at all based on linearity |
2021-01-31 04:43:52 +0100 | <mniip> | it's only additional statically checked restrictions at the moment |
2021-01-31 04:44:43 +0100 | <orzo> | that's surely only because the feature is newish |
2021-01-31 04:44:44 +0100 | Guest41169 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds) |
2021-01-31 04:45:26 +0100 | <mniip> | there's probably plans to change that |
2021-01-31 04:45:30 +0100 | <mniip> | but on a very long scale I expect |
2021-01-31 04:45:39 +0100 | <mniip> | it's no easy feat |
2021-01-31 04:45:48 +0100 | <orzo> | hm |
2021-01-31 04:46:11 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 04:46:36 +0100 | <orzo> | say i want to update one field of a large record and the update is linear, then shouldn't it in-place modify the record instead of copying? |
2021-01-31 04:47:00 +0100 | <koz_> | orzo: Theoretically, linear typing _can_ enable a lot of perf stuff. |
2021-01-31 04:47:07 +0100 | <koz_> | Whether it _does_ or not is a matter for the codegen backend. |
2021-01-31 04:49:05 +0100 | <mniip> | orzo, nope because the original value in the struct might be used elsewhere |
2021-01-31 04:50:26 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-01-31 04:51:13 +0100 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-idtcxnqhmlqxtsid) (Quit: Connection closed for inactivity) |
2021-01-31 04:51:13 +0100 | <mniip> | it's more about how a linear function can take ownership of an object such as an allocation |
2021-01-31 04:51:23 +0100 | proteusguy | (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th) |
2021-01-31 04:51:41 +0100 | <mniip> | removing the necessity for tracking the lifetime of that object with a GC |
2021-01-31 04:51:55 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-wxwbipkpfyibgvpa) (Quit: Connection closed for inactivity) |
2021-01-31 04:53:03 +0100 | <mniip> | the allocation could be mutable yes, which amounts to call by mutable reference |
2021-01-31 04:53:23 +0100 | <orzo> | are you saying a future optimization that enables in-place field update based on lineartypes is not possible or are you saying there's something about the way lineartypes is currently implemented that makes it not possible? |
2021-01-31 04:53:23 +0100 | <mniip> | but that is now a different calling convention, and converting an immutable reference into a mutable one involves copying |
2021-01-31 04:53:33 +0100 | <mniip> | and not all functions would benefit once you take that into account |
2021-01-31 04:53:33 +0100 | catt | (~r@31.124.181.226) (Remote host closed the connection) |
2021-01-31 04:53:39 +0100 | ezrakilty | (~ezrakilty@75-172-109-5.tukw.qwest.net) |
2021-01-31 04:54:23 +0100 | <orzo> | if i thread the record through a bunch of computations and intermediate computations make field-updates, i don't see why the compiler can't be given the information that in-place update is safe using the lineartypes mechanism |
2021-01-31 04:54:28 +0100 | <ski> | orzo : ".. and the update is linear, then shouldn't it in-place modify the record instead of copying?" -- not necessarily |
2021-01-31 04:54:43 +0100 | <ski> | "linear" doesn't mean "unique reference" |
2021-01-31 04:55:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-31 04:55:52 +0100 | <ski> | you can have a linear reference to an object, while there's also other extant references to the same object |
2021-01-31 04:56:16 +0100 | catt | (~r@31.124.181.226) |
2021-01-31 04:56:36 +0100 | <ski> | if you were given a unique reference, and you're going to drop it, *then* an implementation could possibly reuse the memory in the construction of a new object |
2021-01-31 04:56:37 +0100 | <mniip> | very simple example, f :: A -o A; x :: A, (x, f x) |
2021-01-31 04:57:03 +0100 | <mniip> | yup, ownership transfer is actually a different contract than linearity |
2021-01-31 04:57:30 +0100 | <ski> | (especially attractive if most components of the new object are to be the same as the ones in the old one, since then one wouldn't have to write to those sub-locations, even) |
2021-01-31 04:58:07 +0100 | ezrakilty | (~ezrakilty@75-172-109-5.tukw.qwest.net) (Client Quit) |
2021-01-31 04:58:11 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 04:58:25 +0100 | <ski> | "uniqueness" expresses "hasn't been copied/shared in the past". "linearity" expresses "will not be copied/shared in the future" |
2021-01-31 05:01:51 +0100 | <ski> | Clean and Mercury are two languages which incorporates uniqueness |
2021-01-31 05:02:59 +0100 | <ski> | iirc, in the Linear Haskell paper, there was some example of achieving uniqueness, by using linearity and CPS |
2021-01-31 05:03:00 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-31 05:03:09 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
2021-01-31 05:03:22 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-31 05:03:55 +0100 | <orzo> | well, maybe ghc will eventually recognize that use and optimize it the way i'm saying |
2021-01-31 05:04:10 +0100 | <orzo> | the linearity+cps to achieve uniqueness and thus in-place updates |
2021-01-31 05:05:18 +0100 | <ski> | possibly |
2021-01-31 05:07:38 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 05:12:22 +0100 | RusAlex | (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
2021-01-31 05:12:49 +0100 | soft-warm | (4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 248 seconds) |
2021-01-31 05:13:20 +0100 | RusAlex | (~Chel@unaffiliated/rusalex) |
2021-01-31 05:13:48 +0100 | Shailangsa_ | (~shailangs@host86-186-177-234.range86-186.btcentralplus.com) () |
2021-01-31 05:14:39 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 05:18:37 +0100 | RusAlex | (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
2021-01-31 05:19:36 +0100 | RusAlex | (~Chel@unaffiliated/rusalex) |
2021-01-31 05:20:18 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 05:20:38 +0100 | <orzo> | linear-base has a linear monad class with do notation which makes a kind of linear cps convenient |
2021-01-31 05:23:13 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 05:24:25 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 05:27:22 +0100 | sakirious0 | (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2021-01-31 05:27:23 +0100 | sakirious02 | (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) |
2021-01-31 05:30:03 +0100 | <orzo> | would could have record-update sugar over Data.Array.Mutable.Linear |
2021-01-31 05:30:06 +0100 | <orzo> | from linear-base |
2021-01-31 05:30:20 +0100 | <orzo> | give us in-place field update using lineartypes |
2021-01-31 05:30:37 +0100 | <orzo> | jsut not in the naive way of mniip's example |
2021-01-31 05:30:57 +0100 | <mniip> | you still need to freeze |
2021-01-31 05:31:05 +0100 | <mniip> | an expensive operation |
2021-01-31 05:34:08 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 05:35:25 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 05:35:39 +0100 | shailangsa | (~shailangs@host86-186-177-234.range86-186.btcentralplus.com) |
2021-01-31 05:37:18 +0100 | <orzo> | freeze :: Array a -> Ur (Vector a) |
2021-01-31 05:37:28 +0100 | <orzo> | haddock: O(1) Convert an Array to an immutable Vector (from vector package). |
2021-01-31 05:37:51 +0100 | <orzo> | it's documented as inexpensive |
2021-01-31 05:38:43 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds) |
2021-01-31 05:38:50 +0100 | toorevitimirp | (~tooreviti@117.182.181.145) |
2021-01-31 05:40:04 +0100 | <mniip> | then the converse operation is expensive |
2021-01-31 05:40:53 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 05:45:25 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 05:47:16 +0100 | mmohammadi9812 | (~mmohammad@188.210.96.120) (Ping timeout: 240 seconds) |
2021-01-31 05:47:32 +0100 | mmohammadi9812 | (~mmohammad@188.210.122.58) |
2021-01-31 05:48:51 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 05:49:13 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 256 seconds) |
2021-01-31 05:49:34 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 05:49:45 +0100 | jespada | (~jespada@90.254.242.138) (Ping timeout: 240 seconds) |
2021-01-31 05:50:43 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-01-31 05:52:03 +0100 | mmohammadi9812 | (~mmohammad@188.210.122.58) (Ping timeout: 256 seconds) |
2021-01-31 05:52:25 +0100 | jespada | (~jespada@90.254.242.138) |
2021-01-31 05:53:49 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
2021-01-31 05:54:19 +0100 | mmohammadi9812 | (~mmohammad@188.210.122.58) |
2021-01-31 05:54:43 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 05:57:06 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-31 05:59:05 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 06:00:18 +0100 | catt | (~r@31.124.181.226) (Remote host closed the connection) |
2021-01-31 06:02:54 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-102-193.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-31 06:10:33 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 06:10:45 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2021-01-31 06:11:02 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e77020ba0d2c1a7fed29.dip0.t-ipconnect.de) |
2021-01-31 06:13:38 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-01-31 06:14:05 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-01-31 06:14:16 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-01-31 06:17:27 +0100 | brimstone1 | (~brimstone@185.204.1.185) (Remote host closed the connection) |
2021-01-31 06:18:56 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-171.cust.tzulo.com) |
2021-01-31 06:19:09 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-171.cust.tzulo.com) (Client Quit) |
2021-01-31 06:19:45 +0100 | catt | (~r@31.124.181.226) |
2021-01-31 06:21:56 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 06:24:16 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
2021-01-31 06:26:36 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-01-31 06:32:45 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-01-31 06:33:52 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 06:35:16 +0100 | mmohammadi9812 | (~mmohammad@188.210.122.58) (Ping timeout: 240 seconds) |
2021-01-31 06:35:41 +0100 | mmohammadi9812 | (~mmohammad@5.115.1.251) |
2021-01-31 06:37:41 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-31 06:38:05 +0100 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds) |
2021-01-31 06:38:31 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 06:48:15 +0100 | nicecoats | (~textual@h235.145.88.75.dynamic.ip.windstream.net) |
2021-01-31 06:49:03 +0100 | betrion[m] | (betrionmat@gateway/shell/matrix.org/x-kgnrjpfwruxoxiik) |
2021-01-31 06:49:40 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 06:51:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 06:51:40 +0100 | nicecoats | (~textual@h235.145.88.75.dynamic.ip.windstream.net) (Client Quit) |
2021-01-31 06:51:58 +0100 | nicecoats | (~nicecoats@h235.145.88.75.dynamic.ip.windstream.net) |
2021-01-31 06:53:20 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 06:54:35 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 06:56:44 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-31 06:58:17 +0100 | mirrorbird | (~psutcliff@2a00:801:42d:5efa:6585:c362:5f1c:676) |
2021-01-31 06:58:37 +0100 | raym | (~ray@45.64.220.55) (Quit: leaving) |
2021-01-31 06:58:55 +0100 | raym | (~ray@45.64.220.55) |
2021-01-31 06:59:17 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 07:00:22 +0100 | nicecoats | (~nicecoats@h235.145.88.75.dynamic.ip.windstream.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-31 07:00:26 +0100 | raym | (~ray@45.64.220.55) (Client Quit) |
2021-01-31 07:00:45 +0100 | nicecoats | (~nicecoats@h235.145.88.75.dynamic.ip.windstream.net) |
2021-01-31 07:01:57 +0100 | nicecoats | (~nicecoats@h235.145.88.75.dynamic.ip.windstream.net) (Client Quit) |
2021-01-31 07:02:29 +0100 | raym | (~ray@45.64.220.55) |
2021-01-31 07:03:55 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 07:04:53 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-31 07:06:11 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 07:06:23 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 07:08:56 +0100 | slack1256 | (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
2021-01-31 07:15:05 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 07:15:05 +0100 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-01-31 07:17:11 +0100 | Codaraxis__ | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-01-31 07:17:16 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 07:19:26 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 07:20:11 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 07:20:43 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 07:20:59 +0100 | Codaraxis_ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 264 seconds) |
2021-01-31 07:22:20 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 07:24:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 07:25:21 +0100 | desophos | (~desophos@2601:249:1680:a570:6c5d:6065:851c:11c8) (Read error: Connection reset by peer) |
2021-01-31 07:25:33 +0100 | eacameron | (uid256985@gateway/web/irccloud.com/x-aohjgkptcanyniwh) (Quit: Connection closed for inactivity) |
2021-01-31 07:26:44 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds) |
2021-01-31 07:26:54 +0100 | ixaxaar | (~ixaxaar@49.207.210.215) |
2021-01-31 07:30:23 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 07:30:36 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 07:33:36 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
2021-01-31 07:33:56 +0100 | Tario | (~Tario@200.119.186.212) |
2021-01-31 07:41:10 +0100 | Wuzzy | (~Wuzzy@p549c9562.dip0.t-ipconnect.de) (Quit: Wuzzy) |
2021-01-31 07:44:40 +0100 | samik | (67578edb@103.87.142.219) |
2021-01-31 07:50:23 +0100 | Tario | (~Tario@200.119.186.212) (Ping timeout: 264 seconds) |
2021-01-31 07:50:27 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 07:50:58 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 07:51:03 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 07:51:35 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 07:52:50 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 264 seconds) |
2021-01-31 07:53:16 +0100 | danso | (~dan@d67-193-121-2.home3.cgocable.net) |
2021-01-31 07:54:15 +0100 | Nikotiini | (~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com) (Ping timeout: 272 seconds) |
2021-01-31 07:55:20 +0100 | forgottenone | (~forgotten@176.42.24.169) |
2021-01-31 07:55:25 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 07:56:59 +0100 | mmohammadi9812 | (~mmohammad@5.115.1.251) (Ping timeout: 264 seconds) |
2021-01-31 07:57:46 +0100 | samik | (67578edb@103.87.142.219) (Quit: Ping timeout (120 seconds)) |
2021-01-31 07:58:41 +0100 | mmohammadi9812 | (~mmohammad@188.210.122.58) |
2021-01-31 07:59:54 +0100 | Nikotiini | (~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com) |
2021-01-31 08:03:40 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-31 08:03:58 +0100 | samik | (67578edb@103.87.142.219) |
2021-01-31 08:04:25 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
2021-01-31 08:10:36 +0100 | mannin | (mannin@90.221.74.173) (Ping timeout: 240 seconds) |
2021-01-31 08:10:47 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 08:11:08 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 08:15:25 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 08:17:33 +0100 | <samik> | while installing regex-posix with stack I'm getting build error saying there is no file regex.h, this is on Windows. How can I resolve this? |
2021-01-31 08:19:22 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) (Remote host closed the connection) |
2021-01-31 08:19:26 +0100 | Tario | (~Tario@200.119.184.142) |
2021-01-31 08:23:02 +0100 | forgottenone | (~forgotten@176.42.24.169) (Read error: Connection reset by peer) |
2021-01-31 08:23:18 +0100 | forgottenone | (~forgotten@176.42.24.169) |
2021-01-31 08:24:16 +0100 | <samik> | found the solution here https://github.com/haskell-hvr/regex-posix/issues/4#issuecomment-610804288 Had to install that package from mingw |
2021-01-31 08:24:46 +0100 | <samik> | msys* |
2021-01-31 08:26:02 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 08:30:54 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds) |
2021-01-31 08:31:33 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) |
2021-01-31 08:32:35 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-01-31 08:34:23 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 08:38:22 +0100 | Tario | (~Tario@200.119.184.142) (Ping timeout: 264 seconds) |
2021-01-31 08:41:39 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-31 08:42:58 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2021-01-31 08:43:50 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-31 08:49:12 +0100 | fosky | (~fosky@124.181.1.167) |
2021-01-31 08:49:33 +0100 | HarveyPwca | (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving) |
2021-01-31 08:54:16 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds) |
2021-01-31 08:56:44 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) |
2021-01-31 09:04:22 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e77020ba0d2c1a7fed29.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-31 09:05:51 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 09:08:27 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 09:09:49 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 09:10:45 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Read error: Connection reset by peer) |
2021-01-31 09:11:26 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1d25:9d82:8276:bb69) |
2021-01-31 09:12:57 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
2021-01-31 09:14:22 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1d25:9d82:8276:bb69) (Remote host closed the connection) |
2021-01-31 09:14:34 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 09:16:51 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 09:17:31 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 09:18:58 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: Lost terminal) |
2021-01-31 09:19:52 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) |
2021-01-31 09:20:42 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2021-01-31 09:21:25 +0100 | jchia[m] | (jchiamatri@gateway/shell/matrix.org/x-bjjkanbayhvdzkzv) |
2021-01-31 09:21:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 09:21:52 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 260 seconds) |
2021-01-31 09:23:13 +0100 | styledash | (~styledash@157.230.173.136) (Quit: Ping timeout (120 seconds)) |
2021-01-31 09:23:37 +0100 | styledash | (~styledash@157.230.173.136) |
2021-01-31 09:24:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:9f3:d193:94ea:a2fe) (Ping timeout: 264 seconds) |
2021-01-31 09:28:13 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2021-01-31 09:30:33 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e77020ba0d2c1a7fed29.dip0.t-ipconnect.de) |
2021-01-31 09:32:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 09:35:48 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) |
2021-01-31 09:36:33 +0100 | LKoen | (~LKoen@107.173.9.109.rev.sfr.net) |
2021-01-31 09:43:57 +0100 | jedws | (~jedws@121.209.199.128) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-31 09:45:12 +0100 | Franciman | (~francesco@host-95-235-155-82.retail.telecomitalia.it) |
2021-01-31 09:47:24 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-01-31 09:47:26 +0100 | samik | (67578edb@103.87.142.219) () |
2021-01-31 09:48:54 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 09:51:08 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 09:52:33 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 09:53:35 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 09:54:02 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 09:56:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 09:58:02 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 260 seconds) |
2021-01-31 10:01:41 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 10:02:58 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 10:04:00 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 10:06:43 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 10:08:32 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 260 seconds) |
2021-01-31 10:09:52 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-31 10:11:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 10:12:24 +0100 | Maxdamantus | (~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 265 seconds) |
2021-01-31 10:12:52 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 10:13:47 +0100 | Maxdamantus | (~Maxdamant@unaffiliated/maxdamantus) |
2021-01-31 10:14:20 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) |
2021-01-31 10:16:58 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
2021-01-31 10:18:25 +0100 | drbean | (~drbean@TC210-63-209-161.static.apol.com.tw) (Ping timeout: 240 seconds) |
2021-01-31 10:18:47 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 10:21:03 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:5c7e:49cf:6f49:c8ad) |
2021-01-31 10:21:12 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) (Remote host closed the connection) |
2021-01-31 10:23:04 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 10:23:26 +0100 | kini | (~kini@unaffiliated/kini) (Ping timeout: 264 seconds) |
2021-01-31 10:23:26 +0100 | fosky | (~fosky@124.181.1.167) (Quit: Leaving) |
2021-01-31 10:23:36 +0100 | krkini | (~kini@unaffiliated/kini) |
2021-01-31 10:24:17 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 10:24:50 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-01-31 10:25:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:5c7e:49cf:6f49:c8ad) (Ping timeout: 264 seconds) |
2021-01-31 10:28:11 +0100 | xelxebar_ | (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
2021-01-31 10:28:31 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-31 10:28:52 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-01-31 10:29:25 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 272 seconds) |
2021-01-31 10:31:44 +0100 | toorevitimirp | (~tooreviti@117.182.181.145) (Remote host closed the connection) |
2021-01-31 10:32:32 +0100 | Ramoun | (c53b5c74@197.59.92.116) |
2021-01-31 10:32:50 +0100 | Ramoun | (c53b5c74@197.59.92.116) (Client Quit) |
2021-01-31 10:33:11 +0100 | Ramoun | (c53b5c74@197.59.92.116) |
2021-01-31 10:34:53 +0100 | toorevitimirp | (~tooreviti@117.182.181.145) |
2021-01-31 10:35:15 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) |
2021-01-31 10:36:02 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 10:37:50 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 10:38:29 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1d25:9d82:8276:bb69) |
2021-01-31 10:41:16 +0100 | timCF | (~i.tkachuk@m91-129-101-103.cust.tele2.ee) (Ping timeout: 240 seconds) |
2021-01-31 10:41:44 +0100 | Ramoun | (c53b5c74@197.59.92.116) (Quit: Connection closed) |
2021-01-31 10:42:57 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e77020ba0d2c1a7fed29.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-31 10:43:14 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1d25:9d82:8276:bb69) (Ping timeout: 264 seconds) |
2021-01-31 10:44:30 +0100 | fosky | (~fosky@124.181.1.167) |
2021-01-31 10:44:34 +0100 | fosky | (~fosky@124.181.1.167) (Read error: Connection reset by peer) |
2021-01-31 10:45:30 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 10:47:47 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) (Read error: Connection reset by peer) |
2021-01-31 10:48:06 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) |
2021-01-31 10:49:35 +0100 | coot | (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) |
2021-01-31 10:50:07 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 10:52:27 +0100 | m0rphism1 | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2021-01-31 10:54:40 +0100 | fendor_ | (~fendor@178.115.131.1.wireless.dyn.drei.com) |
2021-01-31 10:56:39 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-01-31 10:56:39 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) (Read error: Connection reset by peer) |
2021-01-31 10:57:17 +0100 | fendor | (~fendor@178.115.130.239.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
2021-01-31 10:57:24 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) |
2021-01-31 10:58:14 +0100 | noop_noob | (b816797e@184.22.121.126) |
2021-01-31 11:00:34 +0100 | uehhtnefa^ | (uehhtnefa@ip98-184-89-2.mc.at.cox.net) () |
2021-01-31 11:01:43 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) (Read error: Connection reset by peer) |
2021-01-31 11:01:50 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) (Remote host closed the connection) |
2021-01-31 11:01:58 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 11:02:00 +0100 | Narinas | (~Narinas@189.223.62.254.dsl.dyn.telnor.net) |
2021-01-31 11:05:15 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 11:05:55 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 11:08:58 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-31 11:09:58 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-aeybxknatgemlfic) (Quit: Connection closed for inactivity) |
2021-01-31 11:10:22 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 260 seconds) |
2021-01-31 11:11:58 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-01-31 11:16:21 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 11:21:46 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:5c7e:49cf:6f49:c8ad) |
2021-01-31 11:23:32 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-31 11:25:50 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Ping timeout: 264 seconds) |
2021-01-31 11:26:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:5c7e:49cf:6f49:c8ad) (Ping timeout: 264 seconds) |
2021-01-31 11:26:45 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
2021-01-31 11:26:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 11:27:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 11:27:23 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-01-31 11:27:30 +0100 | miguel_clean | (~Miguel@89-72-187-203.dynamic.chello.pl) |
2021-01-31 11:31:46 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 11:32:21 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
2021-01-31 11:32:36 +0100 | bitmagie | (~Thunderbi@200116b8065856001599e2e0407cbc41.dip.versatel-1u1.de) |
2021-01-31 11:32:42 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 11:32:53 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 11:33:35 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-31 11:35:47 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-31 11:36:56 +0100 | hexagenic | (~mattias@2001:2002:51e0:74c9:5c3d:79a1:6bfe:fd56) |
2021-01-31 11:37:10 +0100 | nhs | (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 11:37:23 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 11:37:28 +0100 | toorevitimirp | (~tooreviti@117.182.181.145) (Remote host closed the connection) |
2021-01-31 11:38:00 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) |
2021-01-31 11:38:07 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) |
2021-01-31 11:38:43 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 11:39:45 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 11:44:26 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 264 seconds) |
2021-01-31 11:44:35 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 11:46:10 +0100 | revtintin | (~revtintin@42.61.242.247) |
2021-01-31 11:46:12 +0100 | <merijn> | "fixed point function" or "fixpoint function" or some other spelling entirely? |
2021-01-31 11:46:57 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-01-31 11:47:48 +0100 | coot | (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-01-31 11:49:25 +0100 | raym | (~ray@45.64.220.55) (Ping timeout: 240 seconds) |
2021-01-31 11:49:42 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-01-31 11:51:25 +0100 | raym | (~ray@45.64.220.55) |
2021-01-31 11:52:25 +0100 | darjeeling_ | (~darjeelin@115.215.41.65) (Ping timeout: 240 seconds) |
2021-01-31 11:52:55 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2021-01-31 11:54:33 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds) |
2021-01-31 11:54:49 +0100 | darjeeling_ | (~darjeelin@115.215.41.65) |
2021-01-31 11:55:13 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) (Remote host closed the connection) |
2021-01-31 11:57:16 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-01-31 11:57:41 +0100 | <wz1000> | any recommendations for a very lightweight extensible sum library? |
2021-01-31 11:58:12 +0100 | <merijn> | "no"? :p |
2021-01-31 11:58:43 +0100 | <merijn> | I've only seen heavyweight ones :p |
2021-01-31 11:59:25 +0100 | <maerwald> | wz1000: https://hackage.haskell.org/package/haskus-utils-variant-3.0/docs/Haskus-Utils-Variant.html |
2021-01-31 11:59:33 +0100 | <maerwald> | and merijn is correct |
2021-01-31 12:01:32 +0100 | bashke | (bashke@90.221.74.173) |
2021-01-31 12:02:25 +0100 | <merijn> | My main take away from "extensible sum" libraries: "If it ever comes to that, just rewrite your shit in Idris or something" :p |
2021-01-31 12:03:36 +0100 | <wz1000> | I just want anonymous sums without `Left (Right (Left (Left foo)))` |
2021-01-31 12:04:02 +0100 | <maerwald> | wz1000: use typescript :p |
2021-01-31 12:04:36 +0100 | <merijn> | wz1000: You're in a better position to fix that in GHC than most, I think ;) |
2021-01-31 12:04:36 +0100 | <wz1000> | I need it for haskell bindings to a typescript api... |
2021-01-31 12:08:14 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-31 12:08:30 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 12:09:19 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-01-31 12:10:39 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-31 12:11:10 +0100 | Xnuk | (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in) |
2021-01-31 12:11:26 +0100 | Xnuk | (~xnuk@45.76.202.58) |
2021-01-31 12:11:52 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-01-31 12:12:13 +0100 | <sshine> | is RecordDotSyntax in GHC 8.10? |
2021-01-31 12:12:28 +0100 | <merijn> | Eh...consult the user guide? :p |
2021-01-31 12:12:49 +0100 | <sshine> | oh, https://gitlab.haskell.org/ghc/ghc/-/issues/18599 |
2021-01-31 12:13:29 +0100 | <sshine> | merijn, thanks :) |
2021-01-31 12:13:56 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-01-31 12:14:23 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 12:15:15 +0100 | <merijn> | I have learned one obvious thing for my own language design |
2021-01-31 12:15:40 +0100 | <merijn> | I will *definitely* be making spaces around operators mandatory in any future language I design |
2021-01-31 12:16:08 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 12:16:11 +0100 | <merijn> | That would have avoid 90% of this nonsense >.> |
2021-01-31 12:16:45 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 12:21:38 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 264 seconds) |
2021-01-31 12:21:45 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds) |
2021-01-31 12:22:23 +0100 | noop_noob | (b816797e@184.22.121.126) (Quit: Connection closed) |
2021-01-31 12:22:30 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:5c7e:49cf:6f49:c8ad) |
2021-01-31 12:24:38 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 12:27:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:5c7e:49cf:6f49:c8ad) (Ping timeout: 264 seconds) |
2021-01-31 12:29:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 12:39:45 +0100 | lotuseater | (~user@2a02:908:fbd1:b0a0:d195:6d09:bec7:c1f9) (Remote host closed the connection) |
2021-01-31 12:40:08 +0100 | <sshine> | haha |
2021-01-31 12:40:49 +0100 | <merijn> | sshine: That's not even a joke, the use of . is already a clusterfuck and RecordDotSyntax just makes it even worse :\ |
2021-01-31 12:41:08 +0100 | <merijn> | > map (Just.even) [1..5] |
2021-01-31 12:41:09 +0100 | <lambdabot> | error: |
2021-01-31 12:41:09 +0100 | <lambdabot> | Not in scope: ‘Just.even’ |
2021-01-31 12:41:09 +0100 | <lambdabot> | No module named ‘Just’ is imported. |
2021-01-31 12:41:11 +0100 | LKoen | (~LKoen@107.173.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.”) |
2021-01-31 12:41:14 +0100 | <merijn> | > map (Just .even) [1..5] |
2021-01-31 12:41:16 +0100 | <lambdabot> | [Just False,Just True,Just False,Just True,Just False] |
2021-01-31 12:41:21 +0100 | <sshine> | merijn, a friend asked me what the status was, and revisiting this, I just had to think "wait, this is probably not that trivial to parse." |
2021-01-31 12:41:22 +0100 | <merijn> | > map (Just. even) [1..5] |
2021-01-31 12:41:24 +0100 | <lambdabot> | [Just False,Just True,Just False,Just True,Just False] |
2021-01-31 12:41:32 +0100 | <merijn> | madness |
2021-01-31 12:42:03 +0100 | <maerwald> | not too bad |
2021-01-31 12:42:05 +0100 | <sshine> | yeah, mandatory spacing would solve some things here :) |
2021-01-31 12:42:08 +0100 | <merijn> | > map (not.even) [1..5] -- but this somehow *is* correct |
2021-01-31 12:42:09 +0100 | <lambdabot> | [True,False,True,False,True] |
2021-01-31 12:42:25 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-01-31 12:42:39 +0100 | <sshine> | I hadn't thought about that. |
2021-01-31 12:42:51 +0100 | <merijn> | maerwald: Yeah, but if we'd just mandated spaces around every operator the entire ambiguity between qualified names and . wouldn't exist |
2021-01-31 12:42:54 +0100 | <maerwald> | if you can come up with an example where removing/adding whitespaces still compiles, but changes semantics of the program... that would be more convincing |
2021-01-31 12:42:58 +0100 | <sshine> | also, I don't pretend to want to solve this type of problem for real-world scenarios like Haskelll |
2021-01-31 12:43:12 +0100 | <maerwald> | and I'm sure that's possible |
2021-01-31 12:43:19 +0100 | <merijn> | maerwald: The problem is that you now need like 6 special case rules to understand the meaning of . |
2021-01-31 12:43:28 +0100 | <sshine> | merijn, yeah but you also have to think of "how many programs do we break by changing this?" |
2021-01-31 12:43:37 +0100 | <merijn> | Which is either "field accessor", "qualified name" or the operator |
2021-01-31 12:43:37 +0100 | <sshine> | merijn, and "how much do we care about that?" |
2021-01-31 12:43:45 +0100 | <merijn> | depending on the exact spacing |
2021-01-31 12:44:05 +0100 | <maerwald> | merijn: i use fmap instead of . |
2021-01-31 12:44:07 +0100 | <maerwald> | xD |
2021-01-31 12:44:19 +0100 | <merijn> | For a new language I don't think "mandatory space around operators" has almost no negative impact |
2021-01-31 12:44:28 +0100 | <merijn> | And this whole category of ambiguity just disappears |
2021-01-31 12:44:47 +0100 | <merijn> | I don't think Haskell can ever change this, though, sadly |
2021-01-31 12:45:01 +0100 | <sshine> | merijn, maybe "enable RecordDotSyntax mandates more spacing" isn't bad either? |
2021-01-31 12:45:18 +0100 | <merijn> | sshine: That makes the parser even more of a clusterfuck, though |
2021-01-31 12:45:20 +0100 | <sshine> | merijn, it just post-pones the problem when RecordDotSyntax should be enabled by default. |
2021-01-31 12:45:26 +0100 | <sshine> | merijn, ah yeah. |
2021-01-31 12:45:29 +0100 | <sshine> | legacy never dies. |
2021-01-31 12:45:47 +0100 | <merijn> | tbh, I think RecordDotSyntax and it's ilk are a bad idea |
2021-01-31 12:46:18 +0100 | <sshine> | I think we should just accept that software breaks and change the syntax every 6 months. |
2021-01-31 12:46:36 +0100 | lotuseater | (~user@ip-176-198-181-127.hsi05.unitymediagroup.de) |
2021-01-31 12:46:40 +0100 | <sshine> | "Is this Haskell 2021-06?" |
2021-01-31 12:46:42 +0100 | <maerwald> | yeah... it'll make haskell vanish from industry |
2021-01-31 12:46:59 +0100 | <merijn> | tbh, I have infinitely more faith in the usefulness of -XNoFieldSelectors |
2021-01-31 12:47:30 +0100 | <merijn> | All these tiny syntactical extensions that basically no one is using just make *everything* more complicated and I'm not convinced by the (supposed) value |
2021-01-31 12:47:33 +0100 | <sshine> | oh... then you can have overlapping field names? |
2021-01-31 12:48:06 +0100 | <sshine> | I think if you don't consider the costs, having dot syntax for accessing records is nice and understandable. |
2021-01-31 12:48:07 +0100 | <merijn> | sshine: You can already do that, by simply, not defining them in the same module |
2021-01-31 12:48:18 +0100 | <maerwald> | I think it should be possible to support multiple syntax flavors and then have some GHC extension require a certain flavor |
2021-01-31 12:48:26 +0100 | <merijn> | sshine: The whole problem is people inventing these syntactical extensions without considering the cost |
2021-01-31 12:48:28 +0100 | <sshine> | merijn, that sounds convenient. |
2021-01-31 12:48:39 +0100 | <merijn> | sshine: tbh, I think NoFieldSelectors has a *much* more useful usecase |
2021-01-31 12:48:49 +0100 | <wz1000> | I wonder if the record dot syntax implementation still lets you write unsafeCoerce like regular record updates |
2021-01-31 12:48:56 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 12:48:56 +0100 | <merijn> | sshine: Because it means you can finally use record syntax for sumtypes |
2021-01-31 12:49:04 +0100 | <sshine> | maerwald, I think there is a future in Unison's approach to syntax. we're just not there yet at all. |
2021-01-31 12:49:32 +0100 | <merijn> | sshine: I mean, you already can, but you get partial field accessors that will crash when used on the wrong constructor |
2021-01-31 12:50:28 +0100 | <merijn> | sshine: With NoFieldSelectors it doesn't generate any selectors at all, you must use record pattern matching, NamedFieldPuns, and/or RecordWildCards for matching or constructing records |
2021-01-31 12:50:36 +0100 | <sshine> | merijn, I buy it. so, you can always generate them *when needed*. kinda like Eq, Ord, Show. |
2021-01-31 12:50:41 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 12:51:13 +0100 | <merijn> | sshine: Something like this: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/model-src/ModelOptions.hs#L63-L97 |
2021-01-31 12:51:14 +0100 | <sshine> | merijn, I pretty often use RecordWildCards anyway. |
2021-01-31 12:51:19 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 12:51:38 +0100 | <merijn> | sshine: Is currently unsafe as hell, but dropping the record selectors would suck |
2021-01-31 12:51:50 +0100 | <sshine> | merijn, right... not having partial record getters is a pretty good argument in itself. :) |
2021-01-31 12:52:15 +0100 | <merijn> | sshine: Plus, that frees up the selector names for lenses/prisms |
2021-01-31 12:52:15 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-31 12:52:31 +0100 | <merijn> | (which was one of the other reasons for it) |
2021-01-31 12:52:31 +0100 | <sshine> | merijn, I guess generating record getters that aren't partial is another strategy that NoFieldSelectors would also open up for? |
2021-01-31 12:52:56 +0100 | <merijn> | All in all that seems like the much more sensible approach to me |
2021-01-31 12:53:15 +0100 | <merijn> | Doesn't require syntactical changes, gets you quite a lot of utility/flexibility |
2021-01-31 12:53:31 +0100 | <sshine> | actually removes stuff |
2021-01-31 12:53:45 +0100 | <maerwald> | and then total record selectors for open sum types |
2021-01-31 12:53:47 +0100 | <merijn> | I think there's like 12 extensions for records or something by now and I don't know *any* of them, because nobody uses them |
2021-01-31 12:53:53 +0100 | sshine | feels more productive when he deletes things at work. :p |
2021-01-31 12:54:22 +0100 | <merijn> | But they all complicate the parser, require people to keep track of if/when they're enabled and lookup whatever it was they did |
2021-01-31 12:54:31 +0100 | <sshine> | merijn, you don't use RecordWildCards? |
2021-01-31 12:54:56 +0100 | <merijn> | sshine: I use NamedFieldPuns/RecordWildCards, but I try and avoid the latter if possible |
2021-01-31 12:55:10 +0100 | <sshine> | why? |
2021-01-31 12:55:23 +0100 | <merijn> | sshine: But we got OverloadedLabels, DuplicateRecordFields, and whatever |
2021-01-31 12:55:34 +0100 | <sshine> | yeah I honestly don't even know what they do. |
2021-01-31 12:55:37 +0100 | <merijn> | sshine: Because recordwildcards requires you to remember wtf you brought in scope |
2021-01-31 12:55:45 +0100 | <sshine> | well, I understand DuplicateRecordFields. |
2021-01-31 12:55:50 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 264 seconds) |
2021-01-31 12:55:53 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 12:56:10 +0100 | <sshine> | it requires you to go and look at the data definition, yeah. |
2021-01-31 12:56:12 +0100 | <merijn> | sshine: And everyone on reddit is always like "yeah! this is amazing" |
2021-01-31 12:56:23 +0100 | <sshine> | merijn, that is a good enough reason to dislike it! |
2021-01-31 12:56:38 +0100 | <merijn> | But I wonder how many of those people circlejerking about record extension number 15 are actually writing Haskell codebases of non-trivial size |
2021-01-31 12:57:11 +0100 | <sshine> | I try to do the opposite of what Reddit says. otherwise I'd be neck-deep in GameStop shares. |
2021-01-31 12:57:21 +0100 | <maerwald> | :D |
2021-01-31 12:57:22 +0100 | <merijn> | I'm using some nested record (only 2-3 levels of nesting, though) in my code without lenses and in terms of *actual* pain it's causing me is about...2-3 out of 10? |
2021-01-31 12:57:28 +0100 | <merijn> | Like, sure, it's annoying |
2021-01-31 12:57:49 +0100 | <merijn> | But man, is it nowhere *near* the level of shit I have to deal with in C++/Python |
2021-01-31 12:58:08 +0100 | <merijn> | Maybe it peaks to 4 sometimes |
2021-01-31 12:59:49 +0100 | <sshine> | merijn, I don't ever have a data model that makes me feel the need to use lenses just for accessing records. but I can't claim that having some stupid, real-world data model doesn't eventually necessitate it, because I haven't tried it. |
2021-01-31 13:00:08 +0100 | <maerwald> | it doesn't |
2021-01-31 13:00:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 13:00:18 +0100 | <maerwald> | it just makes it more convenient... sometimes |
2021-01-31 13:00:23 +0100 | <merijn> | Like, this https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/TrainConfig.hs#L52-L83 is ugly as shit, sure. But you know what, aside from writing it the first time and being an eyesore it's actually pretty maintainabl |
2021-01-31 13:00:39 +0100 | <sshine> | I can only say that if I ever have to deal with this huge 50-100 different data type model in Haskell, as I've experienced working for companies in other languages, I'd still think that it'd be infinitely better just using custom helper getters/setters. :) |
2021-01-31 13:00:58 +0100 | <merijn> | I think a lot of the extension circlejerking is the same bad habit you see in many dynamic languages |
2021-01-31 13:01:05 +0100 | <merijn> | laziness over predictability |
2021-01-31 13:01:21 +0100 | <merijn> | "I wanna do this automagically, writing only 1 single function that magically does what I want" |
2021-01-31 13:01:22 +0100 | <maerwald> | sshine: if you have a typed API with a bazillion data types (common for large servant APIs)... then you want autogenerated accessors |
2021-01-31 13:01:27 +0100 | <merijn> | You see the same in packaging, etc. |
2021-01-31 13:01:37 +0100 | <sshine> | maerwald, I'm sure I do. :) |
2021-01-31 13:01:54 +0100 | <merijn> | Just do it explicitly and directly and if the pattern occurs so often to be annoying you can always abstract it out |
2021-01-31 13:02:00 +0100 | <sshine> | maerwald, when that happens I can join the Reddit circlejerk session about what GHC extensions will provide the best user experience. :-D |
2021-01-31 13:02:59 +0100 | <maerwald> | right and brag about how much investing time in esoteric extensions has boosted programmer ego.. err, i mean boosted productivity |
2021-01-31 13:03:19 +0100 | <merijn> | There's a bunch of tiny syntax extensions that should just be auto-includes in the next report, I'm not against those (NumDecimals, HexFloats, BangPatterns, TupleSections, for example) |
2021-01-31 13:03:25 +0100 | <sshine> | RecordWildCards certainly boosts my ego. I feel so smart when I use it. |
2021-01-31 13:03:31 +0100 | <sshine> | s/smart/lazy/ |
2021-01-31 13:03:57 +0100 | <maerwald> | I use it too and I think it's quite well-defined |
2021-01-31 13:03:58 +0100 | <sshine> | I think if there's any downside to this, it is some cost over time I can't correctly predict. |
2021-01-31 13:06:23 +0100 | <sshine> | question: if I have a data type, data Foo { bar :: Int, baz :: Bool }, and I create it with, Foo 5 True, then if I extend the type, I'll get a type error because of Foo's arity. but if I do, Foo { bar = 5, baz = True }, and I extend the type, it'll just assume I want the new field undefined, right? I don't like this. Foo 5 True is obscure, and Foo { bar = 5, baz = True } is explicit but unsafe. what am I |
2021-01-31 13:06:28 +0100 | <merijn> | sshine: I mean, this is really not so bad: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Query/Train.hs#L42-L58 |
2021-01-31 13:06:29 +0100 | <sshine> | missing? |
2021-01-31 13:06:46 +0100 | <maerwald> | but although I appreciate it I don't think it should be part of the language |
2021-01-31 13:06:57 +0100 | <merijn> | sshine: I believe that's a warning/error by default in -Wall ? |
2021-01-31 13:07:07 +0100 | <merijn> | maerwald: NamedFieldPuns should be, though |
2021-01-31 13:07:26 +0100 | <sshine> | merijn, oh, okay. good. then I just historically forgot to enable -Wall by default. |
2021-01-31 13:07:27 +0100 | fendor | (~fendor@178.115.131.1.wireless.dyn.drei.com) |
2021-01-31 13:08:02 +0100 | <merijn> | sshine: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/using-warnings.html#ghc-flag--Wmiss… |
2021-01-31 13:08:17 +0100 | <sshine> | merijn, thx |
2021-01-31 13:08:37 +0100 | <merijn> | -Werror=missing-fields :p |
2021-01-31 13:11:06 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) |
2021-01-31 13:11:13 +0100 | jonatanb | (~jonatanb@83.24.13.14.ipv4.supernova.orange.pl) (Remote host closed the connection) |
2021-01-31 13:11:38 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 13:11:41 +0100 | <sshine> | right :) I think I've enabled that in my later projects, but I hadn't thought as far as it'd solve this particular problem. :-D |
2021-01-31 13:16:19 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 13:20:28 +0100 | Jamalaka | (~Jamalaka@185.163.110.109) |
2021-01-31 13:22:46 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 13:23:47 +0100 | drbean | (~drbean@TC210-63-209-66.static.apol.com.tw) |
2021-01-31 13:24:10 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-31 13:24:31 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 13:25:09 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 13:25:26 +0100 | Jamalaka | (~Jamalaka@185.163.110.109) (Remote host closed the connection) |
2021-01-31 13:27:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 13:28:18 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 13:28:51 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 13:30:02 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 264 seconds) |
2021-01-31 13:32:46 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 13:33:20 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-01-31 13:34:07 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-01-31 13:34:30 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 13:35:29 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 13:35:58 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 13:36:03 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-lhtbuspbkzjkrfxv) |
2021-01-31 13:39:02 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
2021-01-31 13:39:02 +0100 | ADG1089__ | (~aditya@223.236.190.35) |
2021-01-31 13:40:14 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 264 seconds) |
2021-01-31 13:44:59 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-01-31 13:51:31 +0100 | jespada | (~jespada@90.254.242.138) (Read error: Connection reset by peer) |
2021-01-31 13:52:11 +0100 | jespada | (~jespada@90.254.242.138) |
2021-01-31 13:53:28 +0100 | bitmagie | (~Thunderbi@200116b8065856001599e2e0407cbc41.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-31 13:55:12 +0100 | revtintin | (~revtintin@42.61.242.247) (Quit: WeeChat 1.9.1) |
2021-01-31 13:58:08 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-01-31 13:58:29 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-31 14:03:24 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-31 14:04:18 +0100 | davr0s | (~davrs@host86-185-99-39.range86-185.btcentralplus.com) |
2021-01-31 14:04:23 +0100 | davr0s | (~davrs@host86-185-99-39.range86-185.btcentralplus.com) (Remote host closed the connection) |
2021-01-31 14:05:54 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
2021-01-31 14:07:34 +0100 | sayola | (~vekto@dslb-002-201-085-014.002.201.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-01-31 14:08:22 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 264 seconds) |
2021-01-31 14:11:43 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 14:13:03 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
2021-01-31 14:13:36 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Remote host closed the connection) |
2021-01-31 14:14:16 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) |
2021-01-31 14:18:41 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:1f8:df50:2c38:89fc) (Ping timeout: 258 seconds) |
2021-01-31 14:19:34 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-01-31 14:21:02 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-31 14:23:11 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 14:23:22 +0100 | darjeeling_ | (~darjeelin@115.215.41.65) (Ping timeout: 246 seconds) |
2021-01-31 14:24:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) |
2021-01-31 14:24:12 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit) |
2021-01-31 14:28:27 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 14:28:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) (Ping timeout: 264 seconds) |
2021-01-31 14:31:58 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 14:35:20 +0100 | toorevitimirp | (~tooreviti@117.182.181.145) |
2021-01-31 14:36:02 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Ping timeout: 264 seconds) |
2021-01-31 14:36:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 14:37:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-01-31 14:38:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 14:38:42 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 14:38:57 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 14:44:52 +0100 | darjeeling_ | (~darjeelin@115.215.41.65) |
2021-01-31 14:45:44 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 14:46:10 +0100 | mmohammadi9812 | (~mmohammad@188.210.122.58) (Ping timeout: 264 seconds) |
2021-01-31 14:46:56 +0100 | mmohammadi9812 | (~mmohammad@2.178.164.60) |
2021-01-31 14:47:32 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 14:49:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-01-31 14:49:58 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 14:52:58 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-01-31 14:53:21 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 14:54:05 +0100 | drbean | (~drbean@TC210-63-209-66.static.apol.com.tw) (Ping timeout: 240 seconds) |
2021-01-31 14:56:25 +0100 | mirrorbird_ | (~psutcliff@2a00:801:42d:5efa:6585:c362:5f1c:676) |
2021-01-31 14:56:37 +0100 | mirrorbird | (~psutcliff@2a00:801:42d:5efa:6585:c362:5f1c:676) (Read error: Connection reset by peer) |
2021-01-31 14:57:58 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-01-31 14:58:17 +0100 | hiroaki | (~hiroaki@ip4d167562.dynamic.kabel-deutschland.de) |
2021-01-31 14:59:28 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 15:00:28 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-01-31 15:01:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 15:01:57 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-01-31 15:02:08 +0100 | mirrorbird_ | (~psutcliff@2a00:801:42d:5efa:6585:c362:5f1c:676) (Ping timeout: 265 seconds) |
2021-01-31 15:04:01 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-31 15:04:05 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 15:05:25 +0100 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds) |
2021-01-31 15:06:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 15:06:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 15:06:31 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 15:14:04 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 15:15:15 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-01-31 15:16:42 +0100 | metreo | (~Thunderbi@unaffiliated/metreo) |
2021-01-31 15:17:10 +0100 | mirrorbird_ | (~psutcliff@2a00:801:42d:5efa:6585:c362:5f1c:676) |
2021-01-31 15:18:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 15:19:01 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) |
2021-01-31 15:22:35 +0100 | ArConan | (9de62a69@157.230.42.105) |
2021-01-31 15:23:01 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-01-31 15:23:17 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 15:24:44 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) |
2021-01-31 15:25:08 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 15:29:58 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) (Ping timeout: 260 seconds) |
2021-01-31 15:31:24 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-102-193.w86-212.abo.wanadoo.fr) |
2021-01-31 15:31:40 +0100 | <frdg> | is there a function `m1 (m2 a) -> m1 a` where m1 and m2 are monads? |
2021-01-31 15:32:35 +0100 | <Uniaika> | frdg: two different monads, right? |
2021-01-31 15:32:53 +0100 | sw1nn | (~sw1nn@2a00:23c6:2385:3a00:2674:77a1:134b:dae9) (Ping timeout: 260 seconds) |
2021-01-31 15:32:53 +0100 | <frdg> | yes |
2021-01-31 15:34:31 +0100 | <Uniaika> | hmm |
2021-01-31 15:34:34 +0100 | <merijn> | "Yes" |
2021-01-31 15:34:49 +0100 | <ephemient> | can you lift one monad to the other? |
2021-01-31 15:35:04 +0100 | <merijn> | Except you probably mean "a general function that works for any 2 arbitrary monads" |
2021-01-31 15:35:14 +0100 | <Uniaika> | yeah some kind of lift + pure? |
2021-01-31 15:35:17 +0100 | <merijn> | To which the answer is "not one that makes sense" |
2021-01-31 15:35:25 +0100 | <Uniaika> | +1 |
2021-01-31 15:35:39 +0100 | <frdg> | ok ill try lift and pure |
2021-01-31 15:36:00 +0100 | <ephemient> | :t (>>= lift) |
2021-01-31 15:36:01 +0100 | <lambdabot> | (MonadTrans t, Monad m, Monad (t m)) => t m (m b) -> t m b |
2021-01-31 15:36:05 +0100 | <merijn> | frdg: What *actual* types do you have and why do you need to collapse them like that? |
2021-01-31 15:36:34 +0100 | <ephemient> | in this case, if m1 = t m and m2 = m, that would work |
2021-01-31 15:36:43 +0100 | <ephemient> | otherwise, ¯\_(ツ)_/¯ |
2021-01-31 15:36:57 +0100 | krkini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-01-31 15:36:58 +0100 | <ArConan> | which function's type is `forall a.a->a` in preclude? |
2021-01-31 15:38:16 +0100 | kini | (~kini@unaffiliated/kini) |
2021-01-31 15:38:21 +0100 | <ephemient> | @hoogle :: a -> a |
2021-01-31 15:38:22 +0100 | <lambdabot> | Prelude id :: a -> a |
2021-01-31 15:38:22 +0100 | <lambdabot> | Data.Function id :: a -> a |
2021-01-31 15:38:22 +0100 | <lambdabot> | GHC.Base breakpoint :: a -> a |
2021-01-31 15:38:42 +0100 | <frdg> | merijn: I have a list of parser Results |
2021-01-31 15:39:07 +0100 | <frdg> | [Result a] I should say |
2021-01-31 15:39:34 +0100 | darjeeling_ | (~darjeelin@115.215.41.65) (Ping timeout: 264 seconds) |
2021-01-31 15:39:44 +0100 | berberman | (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-31 15:40:12 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-31 15:40:20 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 15:41:16 +0100 | <maerwald> | frdg: supermonads |
2021-01-31 15:41:29 +0100 | <maerwald> | frdg: https://hackage.haskell.org/package/supermonad-0.2.1.1/docs/Control-Super-Monad.html |
2021-01-31 15:42:05 +0100 | <maerwald> | thank me later (or not at all) |
2021-01-31 15:42:33 +0100 | <merijn> | tbh, I wager he just needs sequence or something like that |
2021-01-31 15:42:40 +0100 | <frdg> | ill look at this |
2021-01-31 15:43:03 +0100 | <ArConan> | @src |
2021-01-31 15:43:03 +0100 | <lambdabot> | src <id>. Display the implementation of a standard function |
2021-01-31 15:43:06 +0100 | <ArConan> | @src id |
2021-01-31 15:43:06 +0100 | <lambdabot> | id x = x |
2021-01-31 15:43:49 +0100 | charlemDick | (~DickensCh@195.242.213.148) |
2021-01-31 15:44:11 +0100 | <ephemient> | sequence would turn [Result a] into Result [a] |
2021-01-31 15:44:34 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds) |
2021-01-31 15:44:39 +0100 | <ephemient> | if `Result a` were a monoid, you could mconcat :: [Result a] -> Result a, but I don't know if that's the case |
2021-01-31 15:44:57 +0100 | <merijn> | ephemient: but the question was "m1 (m2 a) -> m1 a" |
2021-01-31 15:45:03 +0100 | <merijn> | So presumably he wants [a] |
2021-01-31 15:45:04 +0100 | hexagenic | (~mattias@2001:2002:51e0:74c9:5c3d:79a1:6bfe:fd56) (Read error: Connection reset by peer) |
2021-01-31 15:45:13 +0100 | <merijn> | So you'd do sequence + pattern match on result |
2021-01-31 15:45:13 +0100 | <ephemient> | oh right |
2021-01-31 15:45:57 +0100 | sw1nn | (~sw1nn@2a00:23c6:2385:3a00:bc71:9ab4:c3a5:8b4c) |
2021-01-31 15:46:07 +0100 | hexagenic | (~mattias@2001:2002:51e0:74c9:5c3d:79a1:6bfe:fd56) |
2021-01-31 15:46:11 +0100 | <ephemient> | yeah, whatever Result is, you'd need to know more to be able to get rid of it |
2021-01-31 15:49:43 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2021-01-31 15:50:25 +0100 | charlemDick | (~DickensCh@195.242.213.148) (Quit: leaving) |
2021-01-31 15:51:40 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer) |
2021-01-31 15:52:27 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 15:54:34 +0100 | <sshine> | what's a good way to catch 'openFile: does not exist (No such file or directory)' and 'hGetContents: invalid argument (invalid byte sequence)' and deal with them? |
2021-01-31 15:55:23 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 15:55:31 +0100 | <merijn> | The former is an IOException which should be in System.IO (I think) |
2021-01-31 15:55:57 +0100 | <merijn> | The latter I'm not sure which exception it is, but it's almost certainly caused by having a broken environment |
2021-01-31 15:56:14 +0100 | <sshine> | I'm using readFileUtf8 on a non-UTF-8 file. |
2021-01-31 15:56:37 +0100 | <merijn> | sshine: Well, I'm not sure why you'd expect that to work? |
2021-01-31 15:56:53 +0100 | <sshine> | merijn, I don't expect it to work. I'm asking how I handle the exception in a good way. do you use safe-exceptions? |
2021-01-31 15:57:25 +0100 | <maerwald> | sshine: use unix package |
2021-01-31 15:57:30 +0100 | <maerwald> | and not readFile :p |
2021-01-31 15:57:54 +0100 | <merijn> | I don't, but you can just cathc SomeException and print the type of the exception via Data.Typeable if you can't figure out what the exception is |
2021-01-31 15:58:10 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-31 15:58:13 +0100 | <merijn> | sshine: Note that readFileUtf8 is a *deeply* broken idea that nobody should be using |
2021-01-31 15:58:24 +0100 | <sshine> | merijn, oh, haha. okay. :) it's not my code, but good to know. |
2021-01-31 15:59:12 +0100 | <maerwald> | see, that's why programming basically is torture... you have to put up with other ppls madness |
2021-01-31 15:59:29 +0100 | <sshine> | this is https://hackage.haskell.org/package/rio-0.1.20.0/docs/RIO.html#v:readFileUtf8 -- I don't know why it is madness, it doesn't say so in the haddock. |
2021-01-31 15:59:35 +0100 | <merijn> | sshine: All exception are Typeable, you can just use typeOf on whatever is in SomeException to figure out what was thrown |
2021-01-31 15:59:44 +0100 | <sshine> | merijn, thanks! |
2021-01-31 15:59:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 15:59:48 +0100 | <maerwald> | rio, lol |
2021-01-31 16:00:06 +0100 | <merijn> | sshine: Well, if you ever have a user whose system has non-utf8 files then code using readFileUtf8 will always crash |
2021-01-31 16:00:22 +0100 | <__monty__> | merijn: You mean you should rely on the locale's encoding? Because equal amounts of madness lies there. |
2021-01-31 16:00:31 +0100 | <merijn> | sshine: This is generally considered "unhelpful" in terms of UI/UX :p |
2021-01-31 16:00:54 +0100 | <merijn> | __monty__: If you don't know for sure what the encoding is, locale is the only sensible thing you *can* do |
2021-01-31 16:01:07 +0100 | <maerwald> | try to rely on nothing, until the very end (and... for many things, you don't actually need to know the encoding) |
2021-01-31 16:01:12 +0100 | <merijn> | __monty__: And if you *do* know what the encoding is, you can just set it |
2021-01-31 16:01:53 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 16:02:00 +0100 | <__monty__> | I understand and sympathise with the "Just hope everything's UTF-8" approach tbh. |
2021-01-31 16:02:06 +0100 | <sshine> | maerwald, what is the 'unix' package equivalent of readFile? I can only find ByteString-related functions. |
2021-01-31 16:02:12 +0100 | <merijn> | __monty__: I don't... |
2021-01-31 16:02:16 +0100 | <maerwald> | sshine: exactly |
2021-01-31 16:02:29 +0100 | <sshine> | so... roll my own readFileWhateverThisIs? |
2021-01-31 16:02:35 +0100 | <merijn> | __monty__: "oh, let's just break functionality on everyone whose system is properly configured" |
2021-01-31 16:02:58 +0100 | <sshine> | I was hoping for someone smarter than me having solved this with all the peculiarities of this obscure encoding domain :) |
2021-01-31 16:03:07 +0100 | <merijn> | __monty__: Locale's kinda suck, sure, but they're the kinda suck that has been standard for, like, 40 years |
2021-01-31 16:03:13 +0100 | <merijn> | sshine: haha |
2021-01-31 16:03:31 +0100 | <maerwald> | sshine: https://hackage.haskell.org/package/hpath-directory-0.14.0/docs/System-Posix-RawFilePath-Directory… |
2021-01-31 16:03:38 +0100 | <merijn> | sshine: The only solution is the same level of cynicism and depression as me and maerwald :p |
2021-01-31 16:03:41 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 16:03:58 +0100 | <merijn> | sshine: No one smarter has solved it as the problem is fundamentally unsolvable |
2021-01-31 16:04:28 +0100 | <merijn> | You need to know the encoding of a file "out of band" to be able to decode it |
2021-01-31 16:04:43 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 16:04:45 +0100 | <__monty__> | The solution is for people to stop being obstinate and adopt UTF-8 : ) |
2021-01-31 16:04:57 +0100 | <sshine> | merijn, ah :) I guess there is a bridge to be gapped between /usr/bin/file telling me why a file won't decode, and having readFileDerpDerp actually decode it. ;) |
2021-01-31 16:05:13 +0100 | <sm[m]> | sshine is at least on track to catch this error and report something more useful to the user |
2021-01-31 16:05:15 +0100 | <merijn> | __monty__: I mean, linux can't even sensibly *name* files, let alone their contents |
2021-01-31 16:05:27 +0100 | <merijn> | sshine: file is basically just *guessing* |
2021-01-31 16:05:44 +0100 | <sshine> | I'm actually just asking how to catch and report exceptions, not really how to solve fundamental problems of character encoding. :p |
2021-01-31 16:05:45 +0100 | <merijn> | sshine: file is a massive pile of heuristic hacks, which "usually works" |
2021-01-31 16:05:55 +0100 | <sshine> | merijn, hehe yes. |
2021-01-31 16:05:58 +0100 | <merijn> | sshine: #haskell likes to get sidetracked! |
2021-01-31 16:06:06 +0100 | sshine | likes to get sidetracked! |
2021-01-31 16:06:21 +0100 | <merijn> | sshine: catching exceptions is easy, try or catch and done :p |
2021-01-31 16:06:29 +0100 | <merijn> | Now you just gotta know which ones ;) |
2021-01-31 16:07:19 +0100 | <merijn> | sshine: Hacky debugging life-hack: https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Conc.html#v:setUncaughtExceptionHandler |
2021-01-31 16:07:37 +0100 | <merijn> | sshine: Then set a function that uses typeOf to output the type of whatever you're not catching |
2021-01-31 16:07:43 +0100 | <merijn> | > typeOf 'c' |
2021-01-31 16:07:45 +0100 | <lambdabot> | Char |
2021-01-31 16:07:49 +0100 | <merijn> | > typeOf True |
2021-01-31 16:07:50 +0100 | <lambdabot> | Bool |
2021-01-31 16:08:24 +0100 | <merijn> | Something like "\exc -> case exc of SomeException e -> print (typeOf e)" |
2021-01-31 16:08:52 +0100 | <sshine> | cool!! |
2021-01-31 16:09:17 +0100 | <merijn> | sshine: Since Typeable is a required superclass of Exception that always works :p |
2021-01-31 16:09:37 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 260 seconds) |
2021-01-31 16:10:27 +0100 | geekosaur | (ae68c070@cpe-174-104-192-112.neo.res.rr.com) |
2021-01-31 16:12:57 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.1)") |
2021-01-31 16:13:16 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 246 seconds) |
2021-01-31 16:14:00 +0100 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-01-31 16:14:33 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-lhtbuspbkzjkrfxv) (Quit: Connection closed for inactivity) |
2021-01-31 16:14:34 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 16:14:35 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-01-31 16:14:47 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2021-01-31 16:16:14 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 16:16:25 +0100 | reactormonk | (~reactormo@mehl.schokokeks.org) (Quit: WeeChat 2.7.1) |
2021-01-31 16:18:40 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-kotwuyuzikeamtlu) |
2021-01-31 16:20:24 +0100 | conal | (~conal@64.71.133.70) |
2021-01-31 16:20:54 +0100 | <ephemient> | sshine: I've seen `file` get confused with various CJK encodings. similarly, something can easily be legal ISO-8859-X for multiple values of X, and you can't tell without a human in the loop to say that the resulting text makes sense or not |
2021-01-31 16:20:58 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 16:21:43 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer) |
2021-01-31 16:22:19 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 16:24:40 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-kjwsmgprrtjfqajz) |
2021-01-31 16:26:09 +0100 | LKoen | (~LKoen@107.173.9.109.rev.sfr.net) |
2021-01-31 16:31:00 +0100 | soft-warm | (4408f588@ip68-8-245-136.sd.sd.cox.net) |
2021-01-31 16:37:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 16:38:14 +0100 | fradet | (~ubuntu@216.252.75.247) (Read error: Connection reset by peer) |
2021-01-31 16:40:09 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 16:40:22 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Quit: Leaving) |
2021-01-31 16:40:54 +0100 | <sshine> | ephemient, right. I guess a cool variant of /usr/bin/file is one that says "it could be either one of these" :) |
2021-01-31 16:41:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 16:42:00 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 16:42:09 +0100 | Kaivo | (~Kaivo@104-200-86-99.mc.derytele.com) (Quit: WeeChat 3.0) |
2021-01-31 16:42:40 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 16:42:56 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection) |
2021-01-31 16:45:50 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 16:47:21 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 16:47:32 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 260 seconds) |
2021-01-31 16:48:49 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) |
2021-01-31 16:51:23 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-31 16:53:25 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-01-31 16:53:29 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 16:54:04 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 16:54:55 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-31 16:55:40 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection) |
2021-01-31 16:55:50 +0100 | leonardys | (~leonard@118.136.193.138) |
2021-01-31 16:56:07 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:3de8:edd9:c9fe:a9b7) |
2021-01-31 16:56:18 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 16:58:20 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-31 16:58:20 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2021-01-31 16:58:20 +0100 | neiluj | (~jco@unaffiliated/neiluj) |
2021-01-31 16:59:23 +0100 | toorevitimirp | (~tooreviti@117.182.181.145) (Remote host closed the connection) |
2021-01-31 17:00:11 +0100 | Wraul[m] | (wraulmatri@gateway/shell/matrix.org/x-bqjjeeyelwcdlhhc) (Quit: Idle for 30+ days) |
2021-01-31 17:00:11 +0100 | materialfuture[m | (materialfu@gateway/shell/matrix.org/x-upbooxfvqrvklyvd) (Quit: Idle for 30+ days) |
2021-01-31 17:00:12 +0100 | son0p | (~son0p@181.136.122.143) (Ping timeout: 256 seconds) |
2021-01-31 17:00:25 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 17:02:13 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-31 17:05:15 +0100 | chirpsalot | (~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-01-31 17:05:51 +0100 | Chobbes | (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-01-31 17:07:12 +0100 | ArConan | (9de62a69@157.230.42.105) (Quit: Connection closed) |
2021-01-31 17:09:59 +0100 | perdent | (~perdent@101.175.174.67) |
2021-01-31 17:10:09 +0100 | soft-warm | (4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 248 seconds) |
2021-01-31 17:11:32 +0100 | Chobbes | (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net) |
2021-01-31 17:11:32 +0100 | chirpsalot | (~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net) |
2021-01-31 17:13:37 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-01-31 17:14:57 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2021-01-31 17:18:22 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Client Quit) |
2021-01-31 17:19:04 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 17:19:10 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-01-31 17:19:53 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-31 17:20:20 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 17:20:50 +0100 | mirrorbird_ | (~psutcliff@2a00:801:42d:5efa:6585:c362:5f1c:676) (Ping timeout: 265 seconds) |
2021-01-31 17:21:19 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 17:22:31 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 17:23:30 +0100 | berberman | (~berberman@unaffiliated/berberman) (Client Quit) |
2021-01-31 17:23:54 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-31 17:25:45 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 258 seconds) |
2021-01-31 17:26:03 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) |
2021-01-31 17:28:08 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
2021-01-31 17:31:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) (Ping timeout: 264 seconds) |
2021-01-31 17:32:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) |
2021-01-31 17:33:05 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 240 seconds) |
2021-01-31 17:33:53 +0100 | leonardys | (~leonard@118.136.193.138) (Quit: WeeChat 3.0) |
2021-01-31 17:34:45 +0100 | son0p | (~son0p@181.136.122.143) (Ping timeout: 240 seconds) |
2021-01-31 17:34:56 +0100 | <ij> | Does haskell have some extension that enables using _ as the argument of a lambda? (like in scala) e.g. _ { a = 1 } <-> \x -> x { a = 1 } |
2021-01-31 17:35:12 +0100 | <merijn> | ij: No |
2021-01-31 17:38:22 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 17:38:23 +0100 | <ephemient> | `set a 1` with lens, but that requires lens |
2021-01-31 17:38:26 +0100 | <infinisil> | The closest thing would be TupleSections: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#tuple-sections |
2021-01-31 17:39:11 +0100 | <infinisil> | ij: ^ |
2021-01-31 17:39:38 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-31 17:39:43 +0100 | <ij> | using TupleSections and lenses already :) |
2021-01-31 17:42:17 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-31 17:42:37 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 17:42:53 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 17:43:09 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 272 seconds) |
2021-01-31 17:43:34 +0100 | carlomagno | (~cararell@148.87.23.9) (Remote host closed the connection) |
2021-01-31 17:49:30 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 17:52:05 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
2021-01-31 17:52:05 +0100 | DTZUZU_ | (~DTZUZU@207.81.119.43) |
2021-01-31 17:56:05 +0100 | DTZUZU_ | (~DTZUZU@207.81.119.43) (Ping timeout: 240 seconds) |
2021-01-31 17:58:03 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 17:58:55 +0100 | carlomagno | (~cararell@148.87.23.11) |
2021-01-31 17:59:48 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 18:00:25 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 18:01:10 +0100 | Franciman | (~francesco@host-95-235-155-82.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-31 18:02:07 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-31 18:04:54 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) (Remote host closed the connection) |
2021-01-31 18:05:07 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 260 seconds) |
2021-01-31 18:06:25 +0100 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds) |
2021-01-31 18:07:21 +0100 | worc3131 | (~quassel@2a02:c7f:dcc4:6500:217b:6c7a:eac3:3be9) |
2021-01-31 18:09:43 +0100 | pavonia | (~user@unaffiliated/siracusa) |
2021-01-31 18:10:11 +0100 | charlemDick | (~DickensCh@185.156.175.131) |
2021-01-31 18:11:08 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-01-31 18:12:03 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 18:12:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-01-31 18:16:26 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-31 18:16:45 +0100 | LKoen | (~LKoen@107.173.9.109.rev.sfr.net) (Remote host closed the connection) |
2021-01-31 18:16:52 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-01-31 18:17:53 +0100 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-01-31 18:18:05 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds) |
2021-01-31 18:18:18 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
2021-01-31 18:20:58 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 18:22:26 +0100 | conal | (~conal@45.155.40.52) |
2021-01-31 18:22:46 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 246 seconds) |
2021-01-31 18:22:46 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-01-31 18:23:41 +0100 | charlemDick | (~DickensCh@185.156.175.131) (Quit: leaving) |
2021-01-31 18:26:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 18:26:23 +0100 | LKoen | (~LKoen@107.173.9.109.rev.sfr.net) |
2021-01-31 18:27:30 +0100 | Yarrbeard | (~Yarrbeard@2603-7081-6701-2976-d474-9e60-5ce3-9342.res6.spectrum.com) |
2021-01-31 18:27:32 +0100 | conal | (~conal@45.155.40.52) (Ping timeout: 265 seconds) |
2021-01-31 18:29:04 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 18:29:25 +0100 | poscat | (~poscat@114.245.115.216) (Remote host closed the connection) |
2021-01-31 18:30:32 +0100 | worc3131 | (~quassel@2a02:c7f:dcc4:6500:217b:6c7a:eac3:3be9) (Ping timeout: 258 seconds) |
2021-01-31 18:31:10 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 18:32:05 +0100 | Raito_Bezarius | (~Raito@unaffiliated/raito-bezarius/x-8764578) |
2021-01-31 18:32:37 +0100 | poscat1 | (~poscat@111.192.221.197) |
2021-01-31 18:32:47 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 18:34:38 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 18:35:18 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 18:35:24 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 256 seconds) |
2021-01-31 18:35:35 +0100 | poscat1 | (~poscat@111.192.221.197) (Remote host closed the connection) |
2021-01-31 18:36:20 +0100 | poscat | (~poscat@111.192.221.197) |
2021-01-31 18:38:28 +0100 | lassulus_ | (~lassulus@NixOS/user/lassulus) |
2021-01-31 18:39:08 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
2021-01-31 18:39:55 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 260 seconds) |
2021-01-31 18:41:18 +0100 | elliott__ | (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-01-31 18:41:47 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) (Ping timeout: 260 seconds) |
2021-01-31 18:41:48 +0100 | lassulus_ | lassulus |
2021-01-31 18:43:19 +0100 | sim590 | (~sim590@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 272 seconds) |
2021-01-31 18:45:05 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 240 seconds) |
2021-01-31 18:47:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 18:50:31 +0100 | ehigham | (d92c1d84@host217-44-29-132.range217-44.btcentralplus.com) |
2021-01-31 18:51:14 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) |
2021-01-31 18:51:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-01-31 18:52:08 +0100 | d34df00d | (~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net) |
2021-01-31 18:52:14 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
2021-01-31 18:53:50 +0100 | kuribas | (~user@ptr-25vy0i6vfzb2d4iuy7c.18120a2.ip6.access.telenet.be) |
2021-01-31 18:54:02 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 18:54:04 +0100 | zaquest | (~notzaques@5.128.210.178) |
2021-01-31 18:54:29 +0100 | <kuribas> | is there a penalty for using Storable to write low level code, vs writing it in C? |
2021-01-31 18:54:38 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 18:54:50 +0100 | pruiz | (~pruiz@2a01:4b00:8467:2300:c02f:54be:9b7:7ed3) |
2021-01-31 18:55:41 +0100 | e2- | (e2@sponsored.by.bnc4you.xyz) (Quit: Stable ZNC provider ##bnc4you) |
2021-01-31 18:55:54 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-wkqzxzwdoldxjjgk) (Quit: Connection closed for inactivity) |
2021-01-31 18:57:12 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-gxnfoztdlfcipzrw) (Quit: Connection closed for inactivity) |
2021-01-31 18:57:19 +0100 | <Uniaika> | kuribas: I read "death penalty" as first |
2021-01-31 18:57:24 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 18:57:36 +0100 | <kuribas> | Uniaika: I wouldn't go so extreme :) |
2021-01-31 18:57:56 +0100 | <maerwald> | oh man, this got grim real quick... better not write low-level code at all |
2021-01-31 18:58:43 +0100 | lassulus_ | (~lassulus@NixOS/user/lassulus) |
2021-01-31 18:59:00 +0100 | <kuribas> | OTOH C is made for low level programming, and it's probably easier than in haskell... |
2021-01-31 18:59:00 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 18:59:20 +0100 | <kuribas> | I can just cast some struct to a binary blob, where in haskell I have to do pointer arithmetic myself... |
2021-01-31 18:59:43 +0100 | <kuribas> | Or marshall each value to haskell, which is expensive. |
2021-01-31 18:59:59 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 19:01:36 +0100 | lassulus | (~lassulus@NixOS/user/lassulus) (Ping timeout: 240 seconds) |
2021-01-31 19:01:37 +0100 | lassulus_ | lassulus |
2021-01-31 19:02:41 +0100 | <geekosaur> | I think a lot depends on what this low level code is supposed to do |
2021-01-31 19:03:09 +0100 | aidecoe | (~aidecoe@unaffiliated/aidecoe) |
2021-01-31 19:03:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 19:03:46 +0100 | Lycurgus | (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) |
2021-01-31 19:03:58 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-01-31 19:04:50 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 264 seconds) |
2021-01-31 19:04:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 19:05:17 +0100 | knupfer | (~Thunderbi@200116b82c5a6500e5f8b1cf02b0ef53.dip.versatel-1u1.de) |
2021-01-31 19:05:18 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) |
2021-01-31 19:05:53 +0100 | fiQ2 | (~fiQ@mirkk.ninja) (Quit: ZNC - https://znc.in) |
2021-01-31 19:06:51 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 272 seconds) |
2021-01-31 19:07:55 +0100 | fradet | (~ubuntu@216.252.75.247) |
2021-01-31 19:07:57 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
2021-01-31 19:09:34 +0100 | fiQ2 | (~fiQ@mirkk.ninja) |
2021-01-31 19:09:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 19:10:06 +0100 | conal_ | (~conal@66.115.157.67) |
2021-01-31 19:10:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1b8:ce88:1a44:7e32) (Ping timeout: 264 seconds) |
2021-01-31 19:11:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 19:11:48 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 19:11:53 +0100 | <orzo> | before you o any low-level Storable hacks, be familiar with the Data.Primitive stuff which uses a similar-to-Storable class called Prim |
2021-01-31 19:13:22 +0100 | <orzo> | i'm not sure why Storable wasn't used, but there's a bunch of goodies like ST monad support associated |
2021-01-31 19:13:55 +0100 | <geekosaur> | Storable matches C representations; prim matches GHC's |
2021-01-31 19:14:02 +0100 | <orzo> | oh |
2021-01-31 19:14:22 +0100 | <orzo> | what type in particular shows that? |
2021-01-31 19:15:03 +0100 | <geekosaur> | there may not be much of a difference on x86-64 |
2021-01-31 19:15:16 +0100 | <geekosaur> | but there is on some other supported platforms |
2021-01-31 19:17:06 +0100 | <geekosaur> | I couldn't tell you offhand what would differ |
2021-01-31 19:17:46 +0100 | <geekosaur> | also some odd corner cases, like ghc uses 64-bit Int even on i386 whereas C uses 32-bit int |
2021-01-31 19:18:22 +0100 | <orzo> | c uses 32bit int even on x86_64 |
2021-01-31 19:18:24 +0100 | <orzo> | heh |
2021-01-31 19:18:52 +0100 | <sshine> | https://gist.github.com/sshine/0d4d7bd8e480ad44c5ded71ad12978eb -- not sure how to show the IOException (for which the constructor is IOError). is there a trick? |
2021-01-31 19:18:56 +0100 | <orzo> | but you mean ghc is using 64bits for its 32-bit wide ints |
2021-01-31 19:18:57 +0100 | <geekosaur> | then that will differ also. (I thought it did but didn't recall for certain; it's been a while since I touched C) |
2021-01-31 19:19:05 +0100 | atraii | (~atraii@2601:681:8800:3a87:c800:2de4:db0b:9f0) |
2021-01-31 19:19:12 +0100 | <orzo> | eh |
2021-01-31 19:19:13 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 260 seconds) |
2021-01-31 19:19:20 +0100 | <orzo> | Int and CInt are different types |
2021-01-31 19:19:35 +0100 | <geekosaur> | no, I mean a specific decision was made to widen Int to 64 bits on i386 some time ago (back in 6.x) |
2021-01-31 19:19:52 +0100 | thunderrd | (~thunderrd@183.182.115.7) (Remote host closed the connection) |
2021-01-31 19:19:56 +0100 | <orzo> | you mean maxBound will show a 64bit value? |
2021-01-31 19:20:00 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2021-01-31 19:20:04 +0100 | <geekosaur> | yeh |
2021-01-31 19:20:10 +0100 | <orzo> | oh wow |
2021-01-31 19:20:17 +0100 | <orzo> | i missed that |
2021-01-31 19:20:36 +0100 | <orzo> | not 6.x, surely more recent than that |
2021-01-31 19:20:45 +0100 | <orzo> | maybe 8.something ? |
2021-01-31 19:21:06 +0100 | thunderrd | (~thunderrd@183.182.115.7) |
2021-01-31 19:21:09 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-01-31 19:21:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-31 19:21:48 +0100 | <d34df00d> | Alright, I need to parse a big (~200 megs) XML file, which has a nice uniform structure, and convert some part of that structure into a haskell data type. |
2021-01-31 19:21:58 +0100 | <d34df00d> | xml-conduit takes 2.5 gigs just to parse the file. |
2021-01-31 19:21:58 +0100 | knupfer | (~Thunderbi@200116b82c5a6500e5f8b1cf02b0ef53.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-31 19:22:22 +0100 | <d34df00d> | I haven't tried hxt yet because arrows, which I always forget, plus I've heard it's not really optimized for performance (so I'm not sure if it's even worth trying). |
2021-01-31 19:22:26 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 19:22:29 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 19:22:37 +0100 | <d34df00d> | xeno works great, but xeno is sax, and sax kinda sucks for this task. |
2021-01-31 19:22:44 +0100 | <d34df00d> | (or, at least, feels not haskellish) |
2021-01-31 19:22:57 +0100 | <d34df00d> | What should I use? |
2021-01-31 19:23:25 +0100 | <sshine> | d34df00d, I have no personal recommendation, but have you considered 'xml' or 'tagsoup'? |
2021-01-31 19:24:03 +0100 | <d34df00d> | The file looks roughly like a huge list of <event>s, where each event is <event id="..."><param>param1</param><param>param2</param><description>Yay long string</description></event>, and I'd like to obtain a list of Event { params :: [Param], description :: String }, roughly speaking. |
2021-01-31 19:24:30 +0100 | <d34df00d> | sshine: I've considered tagsoup, yes, but, judging from other projects, it seems to be on the slower side. |
2021-01-31 19:24:37 +0100 | <d34df00d> | I'll take a look at xml! |
2021-01-31 19:25:05 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-01-31 19:25:35 +0100 | <merijn> | d34df00d: xml-conduit is fairly decent for dealing with schema-less XML |
2021-01-31 19:26:09 +0100 | <sshine> | d34df00d, I literally just typed in 'xml' into hackage and ordered by DLs! maybe xml-conduit can be tweaked to use less RAM? |
2021-01-31 19:26:45 +0100 | <merijn> | xml-conduit has a streaming mode |
2021-01-31 19:26:54 +0100 | <orzo> | unless WORD_SIZE_IN_BITS is defined to be not 32 on i386, ghc-9.0 branch current source shows Bounded instance for Int to be 32-bit bounds |
2021-01-31 19:27:04 +0100 | <orzo> | you're memory is wrong, geekosaur |
2021-01-31 19:27:24 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 19:27:32 +0100 | <geekosaur> | noted |
2021-01-31 19:28:06 +0100 | <d34df00d> | merijn: does that streaming mode look like your average SAX, or is it something else? I've seen sinkDoc whose type looks promising, but I never really used conduits so I don't know what to expect. |
2021-01-31 19:28:08 +0100 | <orzo> | i think it was more a representation thing somewhere |
2021-01-31 19:28:25 +0100 | <merijn> | d34df00d: I have no idea what SAX is, tbh |
2021-01-31 19:28:36 +0100 | <orzo> | on x86-64, all the number types, like Word16, are actually 64 bits |
2021-01-31 19:28:43 +0100 | conal_ | (~conal@66.115.157.67) (Ping timeout: 265 seconds) |
2021-01-31 19:28:49 +0100 | <orzo> | representation-wise |
2021-01-31 19:29:08 +0100 | <d34df00d> | merijn: basically a bunch of callbacks for each XML event during streaming parsing (like "tag `tagname` opens", "attribute `attr` appears", "tag `tagname` closes", etc). |
2021-01-31 19:29:41 +0100 | <merijn> | d34df00d: It's been over 2 years since I had a used for it, so no idea :p |
2021-01-31 19:30:04 +0100 | <d34df00d> | That's what I get with xeno (which is super fast), but that's not too handy to assemble my data structure from all these events. |
2021-01-31 19:30:34 +0100 | <merijn> | How large is this XML? |
2021-01-31 19:31:04 +0100 | <d34df00d> | About 200 megabytes. |
2021-01-31 19:31:12 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) |
2021-01-31 19:31:22 +0100 | <merijn> | Is that worth bothering with complicated things? |
2021-01-31 19:31:41 +0100 | <merijn> | I mean, that sounds like "fuck it, just read it all into memory" sizes |
2021-01-31 19:31:51 +0100 | <maerwald> | if that's a backend api yeah? |
2021-01-31 19:32:00 +0100 | <d34df00d> | xml-conduit's parseLBS_ takes about 2.5 gigabytes of RAM just to parse that into its Document, and takes more than 30 seconds to do that (xeno does that I think in a couple of seconds). |
2021-01-31 19:32:23 +0100 | <merijn> | d34df00d: What's the problem with xeno? |
2021-01-31 19:32:27 +0100 | <d34df00d> | It's sax. |
2021-01-31 19:32:39 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 19:33:05 +0100 | merijn | still has no idea what SAX is |
2021-01-31 19:33:16 +0100 | <d34df00d> | https://hackage.haskell.org/package/xeno-0.4.2/docs/Xeno-SAX.html |
2021-01-31 19:33:29 +0100 | <d34df00d> | So you basically supply these openF/attrF/etc callbacks. |
2021-01-31 19:33:47 +0100 | <d34df00d> | And fold over the corresponding events occuring when parsing xml. |
2021-01-31 19:33:59 +0100 | <d34df00d> | So if I want to do something complicated, I need to keep non-trivial state, and it gets ugly. |
2021-01-31 19:34:13 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-prvdoscebbvquvnj) |
2021-01-31 19:34:26 +0100 | <d34df00d> | Although I just noted there's Xeno.DOM, lol. |
2021-01-31 19:34:30 +0100 | <d34df00d> | Maybe I should give it a shot too. |
2021-01-31 19:35:05 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-01-31 19:36:02 +0100 | funkyuser99 | (~user@2402:e280:3e00:9cd8:ba86:367b:431b:aadd) |
2021-01-31 19:38:07 +0100 | <d34df00d> | Yea, xeno's dom parser is like infinitely faster than xml-conduit's |
2021-01-31 19:38:16 +0100 | e2 | (e2@sponsored.by.bnc4you.xyz) |
2021-01-31 19:38:16 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-01-31 19:38:20 +0100 | <d34df00d> | 0.6 seconds, 400 megs of RAM. |
2021-01-31 19:38:26 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 264 seconds) |
2021-01-31 19:38:40 +0100 | <maerwald> | nothing can beat pythons lxml |
2021-01-31 19:38:41 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 19:39:06 +0100 | <maerwald> | (yeah, I wrote an xml microservice once to avoid using haskell for xml) |
2021-01-31 19:39:40 +0100 | <d34df00d> | I get this funny ache in my fingers as I just merely think about writing anything in python. |
2021-01-31 19:39:59 +0100 | <d34df00d> | Also I bet python's lxml is actually C. |
2021-01-31 19:40:12 +0100 | <maerwald> | well, I guess half of the data science community will disagree :D |
2021-01-31 19:40:43 +0100 | <maerwald> | but ppl still think python is just for scripting |
2021-01-31 19:41:05 +0100 | <merijn> | Python is for hating yourself and making you wanna die |
2021-01-31 19:41:19 +0100 | <maerwald> | nah, it's just different trade-offts |
2021-01-31 19:41:31 +0100 | <maerwald> | every language makes me wanna die |
2021-01-31 19:41:40 +0100 | <merijn> | Some more than others :p |
2021-01-31 19:41:52 +0100 | <sshine> | merijn, Python is a gateway drug to Haskell. |
2021-01-31 19:42:05 +0100 | <maerwald> | the language just determines the amount of alcohol in my blood |
2021-01-31 19:42:12 +0100 | <d34df00d> | That's one of the reasons I stopped doing data science things. |
2021-01-31 19:42:32 +0100 | <aldum> | alcohol is a gateway drug to python? |
2021-01-31 19:42:41 +0100 | <maerwald> | haha |
2021-01-31 19:42:51 +0100 | <merijn> | aldum: You got that the wrong way around |
2021-01-31 19:43:15 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 19:43:45 +0100 | ehigham | (d92c1d84@host217-44-29-132.range217-44.btcentralplus.com) (Quit: Ping timeout (120 seconds)) |
2021-01-31 19:44:19 +0100 | garFF | (~garff@0x3e2c8761.mobile.telia.dk) |
2021-01-31 19:44:28 +0100 | <kuribas> | d34df00d: I wrote a streaming parser on top of hexpat, that should be pretty fast. |
2021-01-31 19:44:33 +0100 | geekosaur | (ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Quit: Ping timeout (120 seconds)) |
2021-01-31 19:44:59 +0100 | tromp_ | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 19:45:04 +0100 | <d34df00d> | kuribas: that's my fallback! I just wondered if I could avoid writing my logic in streaming style. |
2021-01-31 19:45:10 +0100 | <kuribas> | d34df00d: https://hackage.haskell.org/package/hexpat-streamparser-0.0.1/docs/Text-XML-Expat-StreamParser.html |
2021-01-31 19:45:26 +0100 | <kuribas> | d34df00d: I don't know what you mean with "streaming style", but it's just like standard combinators. |
2021-01-31 19:45:34 +0100 | tanuki | (~quassel@173.168.154.189) |
2021-01-31 19:45:44 +0100 | <kuribas> | d34df00d: only you cannot backtrack, there is a single tag lookahead. |
2021-01-31 19:45:47 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 19:46:02 +0100 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) |
2021-01-31 19:46:23 +0100 | <kuribas> | d34df00d: in fact, one of the reasons I wrote it, is so I could reuse Control.Applicative.Combinators. |
2021-01-31 19:46:30 +0100 | tromp_ | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 19:46:30 +0100 | tromp__ | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 19:46:46 +0100 | <d34df00d> | Oh, this looks interesting! |
2021-01-31 19:47:09 +0100 | <d34df00d> | Looks be much less painful than using some other streaming libs directly. |
2021-01-31 19:47:27 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
2021-01-31 19:50:22 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 264 seconds) |
2021-01-31 19:51:23 +0100 | geekosaur | (ae68c070@cpe-174-104-192-112.neo.res.rr.com) |
2021-01-31 19:51:41 +0100 | bitmagie | (~Thunderbi@200116b8065856001599e2e0407cbc41.dip.versatel-1u1.de) |
2021-01-31 19:52:04 +0100 | bitmagie | (~Thunderbi@200116b8065856001599e2e0407cbc41.dip.versatel-1u1.de) (Client Quit) |
2021-01-31 19:52:26 +0100 | worc3131 | (~quassel@2a02:c7f:dcc4:6500:217b:6c7a:eac3:3be9) |
2021-01-31 19:52:49 +0100 | <kuribas> | it's similar to Text.XML.Stream.Parse from xml-conduit, but it actually returns error locations. |
2021-01-31 19:52:50 +0100 | atraii | (~atraii@2601:681:8800:3a87:c800:2de4:db0b:9f0) (Ping timeout: 264 seconds) |
2021-01-31 19:53:09 +0100 | <kuribas> | and it uses the same parser combinators as Parsec etc.. |
2021-01-31 19:54:22 +0100 | hexagenic | (~mattias@2001:2002:51e0:74c9:5c3d:79a1:6bfe:fd56) (Read error: Connection reset by peer) |
2021-01-31 19:55:20 +0100 | hexagenic | (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815) |
2021-01-31 19:55:54 +0100 | <kuribas> | merijn: a SAX parser basically tokenizes the xml file, than fires different callbacks based on the next token. |
2021-01-31 19:59:04 +0100 | <kuribas> | d34df00d: note that parseXMLFile will force the whole output value. |
2021-01-31 20:01:07 +0100 | Franciman | (~francesco@host-95-235-155-82.retail.telecomitalia.it) |
2021-01-31 20:02:11 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-31 20:02:13 +0100 | atwm | (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
2021-01-31 20:02:35 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-31 20:02:56 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) |
2021-01-31 20:03:21 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-01-31 20:03:28 +0100 | <kuribas> | ah, and xeno cheats by ignoring the XML standard, hexpat fully implements the standard. |
2021-01-31 20:04:00 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
2021-01-31 20:04:10 +0100 | raym | (~ray@45.64.220.55) (Quit: leaving) |
2021-01-31 20:04:22 +0100 | tanuki | (~quassel@173.168.154.189) (Ping timeout: 256 seconds) |
2021-01-31 20:04:31 +0100 | raym | (~ray@45.64.220.55) |
2021-01-31 20:04:50 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2021-01-31 20:05:26 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds) |
2021-01-31 20:05:26 +0100 | funkyuser99 | (~user@2402:e280:3e00:9cd8:ba86:367b:431b:aadd) ("ERC (IRC client for Emacs 26.1)") |
2021-01-31 20:06:02 +0100 | ep1ctetus | (~epictetus@ip184-187-162-163.sb.sd.cox.net) (Read error: Connection reset by peer) |
2021-01-31 20:06:02 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-01-31 20:06:27 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:75dd:a55d:449b:280f) |
2021-01-31 20:10:35 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-31 20:11:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:75dd:a55d:449b:280f) (Ping timeout: 264 seconds) |
2021-01-31 20:13:15 +0100 | worc3131 | (~quassel@2a02:c7f:dcc4:6500:217b:6c7a:eac3:3be9) (Ping timeout: 272 seconds) |
2021-01-31 20:13:40 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:75dd:a55d:449b:280f) |
2021-01-31 20:21:41 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2021-01-31 20:24:23 +0100 | <Uniaika> | uh |
2021-01-31 20:24:31 +0100 | <Uniaika> | I have the hardest time solving this cabal riddle https://paste.tomsmeding.com/vSEJBQ4g |
2021-01-31 20:24:49 +0100 | <Uniaika> | and especially : |
2021-01-31 20:24:50 +0100 | <Uniaika> | [__1] rejecting: base-4.13.0.0/installed-4.13.0.0 (conflict: control-plane => |
2021-01-31 20:24:50 +0100 | <Uniaika> | base^>=4.14.1) |
2021-01-31 20:24:58 +0100 | afwingnut | (~af_wingnu@ip174-79-2-139.mc.at.cox.net) |
2021-01-31 20:25:07 +0100 | <merijn> | Uniaika: Which ghc? |
2021-01-31 20:25:35 +0100 | <maerwald> | 8.8.4? |
2021-01-31 20:25:39 +0100 | <Uniaika> | my cabal.project file contains this stanza |
2021-01-31 20:25:40 +0100 | <Uniaika> | with-compiler: ghc-8.10.3 |
2021-01-31 20:25:57 +0100 | <merijn> | Uniaika: Looks like it's using ghc 8.8, though :p |
2021-01-31 20:26:04 +0100 | <merijn> | because that's what base-4.13 is |
2021-01-31 20:26:16 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds) |
2021-01-31 20:26:26 +0100 | <merijn> | Time to run "ghc-8.10.3 --version" :p |
2021-01-31 20:26:27 +0100 | <Uniaika> | that's what buggers me |
2021-01-31 20:26:34 +0100 | <Uniaika> | damnit hahaha |
2021-01-31 20:26:35 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 20:26:38 +0100 | ehigham | (d92c1d84@host217-44-29-132.range217-44.btcentralplus.com) |
2021-01-31 20:26:42 +0100 | <Uniaika> | ❯ ghc-8.10.3 --version |
2021-01-31 20:26:42 +0100 | <Uniaika> | The Glorious Glasgow Haskell Compilation System, version 8.10.3 |
2021-01-31 20:26:44 +0100 | <Uniaika> | thank god |
2021-01-31 20:26:49 +0100 | <Uniaika> | ghcup does its job well |
2021-01-31 20:26:52 +0100 | <merijn> | And/or use -v3 when running cabal |
2021-01-31 20:26:52 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 20:27:02 +0100 | <Uniaika> | hm. |
2021-01-31 20:27:04 +0100 | <maerwald> | cabal should print the ghc it uses at the beginning |
2021-01-31 20:27:50 +0100 | <Uniaika> | cabal gen-bounds does not do that apparently |
2021-01-31 20:28:11 +0100 | <merijn> | This error is from gen-bounds? |
2021-01-31 20:28:14 +0100 | afwingnut | (~af_wingnu@ip174-79-2-139.mc.at.cox.net) () |
2021-01-31 20:28:20 +0100 | <maerwald> | Uniaika: ghc --version is what? |
2021-01-31 20:28:23 +0100 | Jd007 | (~Jd007@162.156.11.151) |
2021-01-31 20:28:33 +0100 | <Uniaika> | okay so |
2021-01-31 20:28:36 +0100 | <merijn> | What happens if you run "cabal -w ghc-8.10.3 gen-bounds" ? |
2021-01-31 20:28:40 +0100 | <Uniaika> | using cabal build -j works |
2021-01-31 20:28:42 +0100 | <Uniaika> | Build profile: -w ghc-8.10.3 -O1 |
2021-01-31 20:28:51 +0100 | <Uniaika> | oh yeah I could try that, thanks merijn |
2021-01-31 20:29:03 +0100 | <maerwald> | I'm suspecting ghc symlink is 8.8.4 |
2021-01-31 20:29:03 +0100 | <merijn> | Uniaika: Me thinks gen-bounds isn't using cabal.project :p |
2021-01-31 20:29:11 +0100 | <Uniaika> | maerwald: fuck, you're right! |
2021-01-31 20:29:15 +0100 | <merijn> | hah |
2021-01-31 20:29:16 +0100 | <Uniaika> | it's symlinked to 8.8.4 |
2021-01-31 20:29:22 +0100 | <merijn> | Great minds think alike |
2021-01-31 20:29:34 +0100 | <Uniaika> | so yeah, gen-bounds doesn't use cabal.project, this sucks |
2021-01-31 20:29:37 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-kjwsmgprrtjfqajz) (Quit: Connection closed for inactivity) |
2021-01-31 20:29:41 +0100 | <merijn> | Seems a bug to me |
2021-01-31 20:29:52 +0100 | <Uniaika> | now, I need to tell hls to use cabal.project too |
2021-01-31 20:30:02 +0100 | <maerwald> | Uniaika: it already does afaik |
2021-01-31 20:30:32 +0100 | <maerwald> | it literally invokes cabal repl or something similar |
2021-01-31 20:30:35 +0100 | <Uniaika> | maerwald: nope |
2021-01-31 20:30:36 +0100 | <Uniaika> | Tool versions found on the $PATH |
2021-01-31 20:30:36 +0100 | <Uniaika> | cabal: 3.4.0.0 |
2021-01-31 20:30:36 +0100 | <Uniaika> | stack: 2.5.1 |
2021-01-31 20:30:36 +0100 | <Uniaika> | ghc: 8.8.4 |
2021-01-31 20:30:51 +0100 | <Uniaika> | that's when running haskell-language-server-wrapper in the directory |
2021-01-31 20:30:56 +0100 | <maerwald> | Uniaika: yes, for hls to work nicely, you ALSO need to set current ghc to project ghc |
2021-01-31 20:31:06 +0100 | <maerwald> | but it still uses cabal.project |
2021-01-31 20:31:22 +0100 | <Uniaika> | maerwald: this is extremely shitty behaviour since I have different projects that use different GHCs :( |
2021-01-31 20:31:29 +0100 | <maerwald> | yeah |
2021-01-31 20:31:36 +0100 | <Uniaika> | I'm going to bother the appropriate channel |
2021-01-31 20:31:39 +0100 | <Uniaika> | thanks maerwald and merijn :) |
2021-01-31 20:31:43 +0100 | <Uniaika> | maerwald: love your ghcup work <3 |
2021-01-31 20:31:48 +0100 | <maerwald> | per project PATH hackery is another workaround |
2021-01-31 20:32:09 +0100 | <Uniaika> | there's a reason why I live in 2021 and not in 2006 though |
2021-01-31 20:32:26 +0100 | <maerwald> | you can literally tell ghcup to use the current working directory as "base" (that's what I do in CI too) |
2021-01-31 20:32:29 +0100 | Tops2 | (~Tobias@dyndsl-095-033-019-168.ewe-ip-backbone.de) |
2021-01-31 20:32:45 +0100 | <maerwald> | a little overkill, if you ask me, though |
2021-01-31 20:33:05 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-01-31 20:33:26 +0100 | <maerwald> | almost time for nix... but does hls work with nix? |
2021-01-31 20:33:38 +0100 | <Uniaika> | hmm |
2021-01-31 20:33:43 +0100 | <Uniaika> | I could run hls in a nix-shell |
2021-01-31 20:34:05 +0100 | ixaxaar | (~ixaxaar@49.207.210.215) (Ping timeout: 240 seconds) |
2021-01-31 20:34:12 +0100 | <Uniaika> | but no, I'm not looking for workarounds right now, I just want people to stop giving cabal-based projects a bad reputation |
2021-01-31 20:34:15 +0100 | <Uniaika> | and this isn't helping |
2021-01-31 20:35:47 +0100 | darjeeling_ | (~darjeelin@115.215.41.65) |
2021-01-31 20:35:58 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2021-01-31 20:38:51 +0100 | Lycurgus | (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt) |
2021-01-31 20:43:14 +0100 | kuribas | (~user@ptr-25vy0i6vfzb2d4iuy7c.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-01-31 20:43:24 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-31 20:44:07 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-31 20:44:21 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection) |
2021-01-31 20:45:04 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 20:45:07 +0100 | <sm[m]> | cabal has its reputation for a reason |
2021-01-31 20:45:41 +0100 | <Uniaika> | yeah it's not entirely stolen, but if the tooling around it does not behave as well, it's quite problematic |
2021-01-31 20:45:46 +0100 | <sm[m]> | I feel people more often give it a free pass than wrongly give it a bad reputation |
2021-01-31 20:47:58 +0100 | <sm[m]> | Uniaika: just curious, which tooling isn't behaving right, I can't quite tell |
2021-01-31 20:48:46 +0100 | <sm[m]> | hls ? |
2021-01-31 20:48:58 +0100 | Uniaika | invokes fendor |
2021-01-31 20:49:12 +0100 | <Uniaika> | hls is the one that misbehaves but it seems that it might be hie-bios |
2021-01-31 20:49:19 +0100 | <Uniaika> | that is the reason |
2021-01-31 20:49:46 +0100 | <zzz> | > [minBound..maxBound] :: (Enum a,Bounded a) => [a] |
2021-01-31 20:49:47 +0100 | <lambdabot> | [()] |
2021-01-31 20:49:59 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 272 seconds) |
2021-01-31 20:50:00 +0100 | <zzz> | ^ why () ? |
2021-01-31 20:50:15 +0100 | <geekosaur> | ExtendedDefaultRules |
2021-01-31 20:50:34 +0100 | <zzz> | thank you |
2021-01-31 20:51:06 +0100 | <fendor> | yeah, looks like a long-standing hie-bios issue |
2021-01-31 20:51:42 +0100 | tromp__ | (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
2021-01-31 20:52:16 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 20:55:13 +0100 | <maerwald> | sm[m]: don't you bash on cabal now :p |
2021-01-31 20:55:22 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
2021-01-31 20:56:58 +0100 | <maerwald> | but last time i used hls it was via stack (to work around a bug in cabal+hls where it constantly reconfigures itself) |
2021-01-31 20:57:45 +0100 | <maerwald> | so cabal for local build, stack for hls and no problems |
2021-01-31 20:59:54 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) |
2021-01-31 21:01:02 +0100 | <sm[m]> | no bashing here |
2021-01-31 21:02:50 +0100 | <sm[m]> | just mentioning my feeling that we too often give it a free pass, overlooking the issues encountered by users in practice - balanced critical assessment is good |
2021-01-31 21:02:59 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-31 21:03:08 +0100 | <sm[m]> | if that's bashing, I'm sorry and I'll say no more :) |
2021-01-31 21:03:30 +0100 | <juri_> | wait, there was an opportunity to bash cabal, and i missed it? |
2021-01-31 21:03:36 +0100 | <sclv> | in this case it looks like a combination of rough edges in cabal and also it seems just hie integration is very partial |
2021-01-31 21:03:49 +0100 | <sclv> | which is the more general thing -- the stack model is much easier for ides to interop with |
2021-01-31 21:04:07 +0100 | fradet | (~ubuntu@216.252.75.247) (Remote host closed the connection) |
2021-01-31 21:04:43 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 21:04:58 +0100 | <maerwald> | yep, Unix way is always more work |
2021-01-31 21:05:22 +0100 | petersen | (~petersen@redhat/juhp) (Ping timeout: 264 seconds) |
2021-01-31 21:06:18 +0100 | <maerwald> | and not a popular philosophy anymore |
2021-01-31 21:06:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 21:07:34 +0100 | petersen | (~petersen@redhat/juhp) |
2021-01-31 21:08:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:08:19 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 268 seconds) |
2021-01-31 21:09:02 +0100 | TMA | (tma@twin.jikos.cz) (Ping timeout: 264 seconds) |
2021-01-31 21:09:37 +0100 | TMA | (tma@twin.jikos.cz) |
2021-01-31 21:13:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 21:13:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:15:31 +0100 | dragestil | (~quassel@fsf/member/dragestil) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-01-31 21:15:37 +0100 | <fendor> | maerwald, btw, next hie-bios release might fix the reconfigure issue |
2021-01-31 21:18:22 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 21:20:45 +0100 | idhugo | (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-01-31 21:24:32 +0100 | garFF | (~garff@0x3e2c8761.mobile.telia.dk) (Read error: Connection reset by peer) |
2021-01-31 21:24:56 +0100 | fendor | (~fendor@178.115.131.1.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-01-31 21:24:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-01-31 21:25:01 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
2021-01-31 21:25:38 +0100 | garFF | (~garff@0x3e2c8761.mobile.telia.dk) |
2021-01-31 21:25:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:26:21 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-01-31 21:26:24 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 240 seconds) |
2021-01-31 21:26:43 +0100 | dnlkrgr | (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) |
2021-01-31 21:27:42 +0100 | fendor | (~fendor@178.115.131.1.wireless.dyn.drei.com) |
2021-01-31 21:29:04 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Client Quit) |
2021-01-31 21:30:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 21:31:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:32:22 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-31 21:32:45 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-31 21:33:51 +0100 | hexagenic | (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815) (Quit: WeeChat 1.9.1) |
2021-01-31 21:34:25 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-01-31 21:36:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-31 21:36:43 +0100 | xelxebar_ | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-31 21:37:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:37:55 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds) |
2021-01-31 21:42:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 21:43:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:48:12 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-31 21:52:46 +0100 | alx741 | (~alx741@186.178.110.149) |
2021-01-31 21:53:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-31 21:53:42 +0100 | <d34df00d> | What's the right (memory- and time-efficient) way to store a set of Word32's? |
2021-01-31 21:54:08 +0100 | <d34df00d> | I'd convert them to Ints and shove into an IntSet, but Int is twice as big on my machine. |
2021-01-31 21:54:19 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 21:55:08 +0100 | <MarcelineVQ> | store where? |
2021-01-31 21:56:15 +0100 | <d34df00d> | In memory. |
2021-01-31 21:56:33 +0100 | <d34df00d> | I basically need set-like semantics for the specific case of (smaller) Words. |
2021-01-31 21:57:42 +0100 | knupfer | (~Thunderbi@200116b82c5a65007d58e9056fe28ef3.dip.versatel-1u1.de) |
2021-01-31 21:58:46 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-01-31 21:59:02 +0100 | <Franciman> | d34df00d, I'd consider a sequence :P |
2021-01-31 21:59:16 +0100 | <Franciman> | a Data.Seq |
2021-01-31 21:59:23 +0100 | <Franciman> | no wait |
2021-01-31 21:59:25 +0100 | <Franciman> | I mean a finger tree |
2021-01-31 21:59:31 +0100 | <Franciman> | Data.Seq is specialized |
2021-01-31 21:59:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-31 22:00:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:01:10 +0100 | <d34df00d> | That's, well, a sequence? |
2021-01-31 22:01:25 +0100 | <d34df00d> | Wouldn't it have some overhead over a set-like structure that doesn't care about the relative ordering of the elements? |
2021-01-31 22:01:55 +0100 | garFF | (~garff@0x3e2c8761.mobile.telia.dk) (Quit: Leaving) |
2021-01-31 22:02:23 +0100 | <ephemient> | https://hackage.haskell.org/package/unpacked-containers would be an option if you're not using stack |
2021-01-31 22:02:31 +0100 | <d34df00d> | On an unrelated note, I've just did a memory profiling run of my program (with -hc), and the most space-consuming function is "primitive/basicUnsafe..." according to the diagram (and to the .hp file). |
2021-01-31 22:02:40 +0100 | <d34df00d> | Is there a way to know what's hidden behind the ellipsis? |
2021-01-31 22:02:46 +0100 | <d34df00d> | Otherwise "basicUnsafe" isn't too telling. |
2021-01-31 22:03:14 +0100 | <d34df00d> | ephemient: oh, I didn't even know about that package, thank you! |
2021-01-31 22:03:30 +0100 | <mniip> | could make your own radix tree with a large base |
2021-01-31 22:03:46 +0100 | <MarcelineVQ> | iirc you can set a label width somehow to remove some of the ... cutoff |
2021-01-31 22:04:34 +0100 | <ephemient> | the ideal solution will depend on what you types of operations you need, though |
2021-01-31 22:04:55 +0100 | <d34df00d> | ephemient: inserts and membership checks. |
2021-01-31 22:05:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 22:05:26 +0100 | <d34df00d> | MarcelineVQ: well, looks like the name gets cut off before going to the .hp file even. |
2021-01-31 22:05:32 +0100 | d34df00d | looking through ghc docs on profiling now, meh. |
2021-01-31 22:05:33 +0100 | <ephemient> | e.g. write-once read-often: sorted unboxed array would be an option |
2021-01-31 22:05:41 +0100 | <mniip> | d34df00d, you're going to need to balance memory usage vs lookup/insert time |
2021-01-31 22:05:45 +0100 | <MarcelineVQ> | oh, hmm, maybe that was for hp2ps |
2021-01-31 22:05:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:05:53 +0100 | <Franciman> | d34df00d, a Set keeps track of the relative ordering, though |
2021-01-31 22:06:02 +0100 | <Franciman> | at least Data.Set does |
2021-01-31 22:06:13 +0100 | <mniip> | on one hand you have a Set which is gonna be among the most memory efficient |
2021-01-31 22:06:22 +0100 | <mniip> | IntSet slightly faster and less memory efficient |
2021-01-31 22:06:29 +0100 | <mniip> | and then we have a 2^32 bit long bitmask |
2021-01-31 22:06:50 +0100 | <d34df00d> | I thought about maybe I should use a bloom filter as well or something (most checks gonna be negative). |
2021-01-31 22:07:09 +0100 | <d34df00d> | But that's next stage, I need a zero-false-positives structure anyway. |
2021-01-31 22:07:21 +0100 | ehigham | (d92c1d84@host217-44-29-132.range217-44.btcentralplus.com) (Quit: Connection closed) |
2021-01-31 22:07:33 +0100 | <d34df00d> | Also I didn't know IntSet is less memory efficient, that's even a bit contrary to my intuition! |
2021-01-31 22:07:45 +0100 | <MarcelineVQ> | patricia trees are so darn neat |
2021-01-31 22:08:06 +0100 | <geekosaur> | performance and space use are often related like that? |
2021-01-31 22:08:18 +0100 | <MarcelineVQ> | There's a newer versio of that too, trying to remember the link, might be relevant to the convo |
2021-01-31 22:08:34 +0100 | <mniip> | whoops I might be thinking of a different structure |
2021-01-31 22:09:08 +0100 | <mniip> | IntSet looks to be slightly more efficient |
2021-01-31 22:09:09 +0100 | <ephemient> | IntSet should be better than Set Int, the values are split up into bits and inlined into the nodes instead of being boxed |
2021-01-31 22:09:23 +0100 | <d34df00d> | Yep, that's my intuition. |
2021-01-31 22:09:23 +0100 | <mniip> | in that it coalesces some tips into a 32-bit bitmask |
2021-01-31 22:09:30 +0100 | <mniip> | but other than that not that different |
2021-01-31 22:10:28 +0100 | <MarcelineVQ> | blartg, can't find it, it was a patricia tree(ie) with even more collappsing for tips |
2021-01-31 22:10:52 +0100 | <mniip> | I was thinking of some other structure that used 16-long arrays as nodes |
2021-01-31 22:10:55 +0100 | <MarcelineVQ> | and was related to the word size, so thought it could be relevant |
2021-01-31 22:10:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 22:11:12 +0100 | <mniip> | HashMap |
2021-01-31 22:11:14 +0100 | <mniip> | that's the one |
2021-01-31 22:11:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:11:44 +0100 | <ephemient> | hashing ints is a waste of computation though |
2021-01-31 22:11:56 +0100 | <c_wraith> | Eh, that depends on the structure. |
2021-01-31 22:12:06 +0100 | <mniip> | you could take hash = id |
2021-01-31 22:12:09 +0100 | <mniip> | no big deal there |
2021-01-31 22:12:10 +0100 | <c_wraith> | Some hash tables are bad when the hashes are clustered |
2021-01-31 22:12:19 +0100 | <c_wraith> | and ints tend to be clustered |
2021-01-31 22:12:33 +0100 | <mniip> | this is not actually a hashtable |
2021-01-31 22:12:38 +0100 | <mniip> | it's a prefix tree |
2021-01-31 22:13:00 +0100 | <c_wraith> | a prefix tree is kind of bad when the inputs are clustered, too |
2021-01-31 22:13:10 +0100 | <c_wraith> | you have to traverse further to find the branches |
2021-01-31 22:13:15 +0100 | <mniip> | hashtables and immutability/persistence don't click well |
2021-01-31 22:14:07 +0100 | <c_wraith> | though I suppose doing LE traversal breaks up the common clustering cases |
2021-01-31 22:16:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:75dd:a55d:449b:280f) (Remote host closed the connection) |
2021-01-31 22:17:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-01-31 22:17:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:18:10 +0100 | ADG1089__ | (~aditya@223.236.190.35) (Remote host closed the connection) |
2021-01-31 22:19:48 +0100 | geekosaur | (ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Quit: Connection closed) |
2021-01-31 22:22:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 22:23:34 +0100 | fendor__ | (~fendor@91.141.0.151.wireless.dyn.drei.com) |
2021-01-31 22:23:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:24:49 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) |
2021-01-31 22:26:02 +0100 | fendor_ | (~fendor@178.115.131.1.wireless.dyn.drei.com) (Ping timeout: 256 seconds) |
2021-01-31 22:26:22 +0100 | fendor | (~fendor@178.115.131.1.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
2021-01-31 22:26:31 +0100 | fendor | (~fendor@046124067054.public.t-mobile.at) |
2021-01-31 22:28:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 22:29:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:29:26 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 264 seconds) |
2021-01-31 22:29:36 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-31 22:30:11 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-31 22:31:36 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2021-01-31 22:31:45 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-31 22:34:19 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-31 22:34:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 22:34:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 22:35:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:35:36 +0100 | jneira | (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 240 seconds) |
2021-01-31 22:36:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 22:39:56 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 22:40:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-31 22:40:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 22:41:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 22:41:55 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 22:44:16 +0100 | ukari | (~ukari@unaffiliated/ukari) |
2021-01-31 22:45:07 +0100 | knupfer | (~Thunderbi@200116b82c5a65007d58e9056fe28ef3.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2021-01-31 22:45:18 +0100 | arahael2 | arahael |
2021-01-31 22:46:19 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-01-31 22:49:52 +0100 | renzhi | (~renzhi@2607:fa49:6500:6f00::1e43) |
2021-01-31 22:50:00 +0100 | Varis | (~Tadas@unaffiliated/varis) (Read error: Connection reset by peer) |
2021-01-31 22:52:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-31 22:53:15 +0100 | sim590 | (~sim590@modemcable090.207-203-24.mc.videotron.ca) |
2021-01-31 22:53:40 +0100 | alx741 | (~alx741@186.178.110.149) (Quit: alx741) |
2021-01-31 22:59:44 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-01-31 23:14:41 +0100 | nictki | (~nictki@b2b-78-94-64-166.unitymedia.biz) |
2021-01-31 23:15:00 +0100 | nictki | (~nictki@b2b-78-94-64-166.unitymedia.biz) (Client Quit) |
2021-01-31 23:16:47 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-31 23:17:22 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:75dd:a55d:449b:280f) |
2021-01-31 23:19:13 +0100 | lawid | (~quassel@dslb-090-186-099-081.090.186.pools.vodafone-ip.de) (Quit: lawid) |
2021-01-31 23:19:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 23:19:38 +0100 | DavidEichmann | (~david@234.109.45.217.dyn.plus.net) |
2021-01-31 23:20:15 +0100 | <ij> | I wonder why removing IO here made it work faster https://github.com/siers/ppmz/commit/ec38fc399a03d8adbd04ce839f6c658ebd9e7db4#diff-abc40ee5b7b539d… |
2021-01-31 23:20:52 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-31 23:20:56 +0100 | <ij> | Could it be because that allowed "all" to short-circuit without having to complete (what was previously) the IO action? |
2021-01-31 23:21:20 +0100 | lawid | (~quassel@dslb-090-186-099-081.090.186.pools.vodafone-ip.de) |
2021-01-31 23:22:15 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:75dd:a55d:449b:280f) (Ping timeout: 258 seconds) |
2021-01-31 23:23:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-31 23:24:30 +0100 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0) |
2021-01-31 23:25:46 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 264 seconds) |
2021-01-31 23:26:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-31 23:28:16 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-31 23:29:55 +0100 | Franciman | (~francesco@host-95-235-155-82.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-31 23:30:13 +0100 | Tario | (~Tario@200.119.186.23) |
2021-01-31 23:31:07 +0100 | jneira | (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) |
2021-01-31 23:31:33 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 265 seconds) |
2021-01-31 23:31:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-01-31 23:36:39 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-01-31 23:37:17 +0100 | Welkin | (~Welkin@216.243.35.47) |
2021-01-31 23:40:24 +0100 | <ski> | `unsafePerformIO' :( |
2021-01-31 23:40:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-31 23:40:53 +0100 | <ij> | why ":("? |
2021-01-31 23:41:42 +0100 | <ski> | well, i dunno what `mazeRead' is doing |
2021-01-31 23:41:57 +0100 | <ski> | but what you said about `all' could be it |
2021-01-31 23:42:34 +0100 | <ski> | btw, `allM id' looks pretty useless. could you use an `andM' instead ? |
2021-01-31 23:42:59 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
2021-01-31 23:43:32 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-31 23:45:19 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-31 23:45:22 +0100 | <ij> | :) that did feel wrong, but I hadn't bothered thinking about it yet |
2021-01-31 23:46:39 +0100 | <ski> | is `mazeRead' reading from some file ? |
2021-01-31 23:46:55 +0100 | <ij> | Data.Vector.Mutable.unsafeRead |
2021-01-31 23:47:34 +0100 | <ij> | the data is eventually from samples/* or the websocket problem server |
2021-01-31 23:48:02 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-01-31 23:48:04 +0100 | <ij> | there's only a single file, you won't have to run all over the place to find a function :) |
2021-01-31 23:48:13 +0100 | Welkin | (~Welkin@216.243.35.47) () |
2021-01-31 23:48:15 +0100 | <ski> | freeze ? |
2021-01-31 23:49:13 +0100 | <ij> | never called within the hotspots |
2021-01-31 23:50:49 +0100 | <ski> | btw, fwiw, you don't need multiple `let's when they're contiguous, in a `do'-expression |
2021-01-31 23:51:52 +0100 | <ij> | in cursorToContinue? yeah, it looks like I'd forgotten that |
2021-01-31 23:51:58 +0100 | <ij> | btw, there is solve.prof attached :) |
2021-01-31 23:55:43 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection) |
2021-01-31 23:55:44 +0100 | Tario | (~Tario@200.119.186.23) (Read error: Connection reset by peer) |
2021-01-31 23:55:53 +0100 | Tario | (~Tario@201.192.165.173) |