Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-04-26 09:58:39 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-26 10:00:38 × Stanley|00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-04-26 10:02:49 Stanley00 joins (~stanley00@unaffiliated/stanley00)
2021-04-26 10:03:34 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-26 10:04:21 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-26 10:05:09 zmijunkie1 joins (~Adium@109.90.32.89)
2021-04-26 10:05:40 nineonine joins (~nineonine@2604:3d08:7785:9600:d9d9:f067:f388:4d71)
2021-04-26 10:05:57 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
2021-04-26 10:06:06 × zmijunkie quits (~Adium@87.123.51.242) (Ping timeout: 240 seconds)
2021-04-26 10:06:40 <invaser> Hi guys! I'm trying to implement my own version of lambda-calculus in Haskell, and I have the following problem:
2021-04-26 10:06:40 <invaser> I used to have such function: evalStep :: Context -> Term -> Maybe Term, basically it does reductions until it's possible
2021-04-26 10:07:26 sord937 joins (~sord937@gateway/tor-sasl/sord937)
2021-04-26 10:08:23 <invaser> Buth then I wanted to see intermediate steps, and since evalStep is recursive, I can't just unfoldr it and see the results
2021-04-26 10:08:31 × malumore quits (~malumore@151.62.121.252) (Ping timeout: 260 seconds)
2021-04-26 10:09:04 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-04-26 10:09:57 <invaser> Because sometimes intermediate steps occur inside this recursive function, and I really don't see a good way to rewrite it, so I changed the function signature to Context -> Term -> [Term], and now function returns all completed steps, and another function like eval can take the last element of the list and pass it to evalStep again
2021-04-26 10:10:05 × nineonine quits (~nineonine@2604:3d08:7785:9600:d9d9:f067:f388:4d71) (Ping timeout: 250 seconds)
2021-04-26 10:10:48 × boogsbunny quits (1769ab38@23.105.171.56) (Quit: Connection closed)
2021-04-26 10:11:07 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-26 10:11:18 <invaser> So what I wanted to ask is maybe someone sees a way to refactor it using some smarter abstraction? I've thought about Writer [Term] (Maybe Term), which would log all the steps and tell us if the computation is complete or not
2021-04-26 10:11:36 <invaser> But I'm not sure if it's an appropriate use of Writer
2021-04-26 10:12:21 Varis joins (~Tadas@78-62-133-232.static.zebra.lt)
2021-04-26 10:12:21 × Varis quits (~Tadas@78-62-133-232.static.zebra.lt) (Changing host)
2021-04-26 10:12:21 Varis joins (~Tadas@unaffiliated/varis)
2021-04-26 10:14:09 × Enrico63 quits (520efe97@cpc92708-cmbg20-2-0-cust150.5-4.cable.virginm.net) (Quit: Connection closed)
2021-04-26 10:16:13 × mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 252 seconds)
2021-04-26 10:17:47 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
2021-04-26 10:18:15 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-04-26 10:19:01 × plast1k_ quits (~plast1k_@41.186.25.253) (Ping timeout: 260 seconds)
2021-04-26 10:19:28 × unyu quits (~pyon@unaffiliated/pyon) (Quit: brb)
2021-04-26 10:21:54 mrchampion joins (~mrchampio@38.18.109.23)
2021-04-26 10:24:23 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:9e02:7bf3:beb9:eefe) (Ping timeout: 250 seconds)
2021-04-26 10:26:09 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-26 10:26:22 HannaM joins (~quassel@p54849510.dip0.t-ipconnect.de)
2021-04-26 10:28:21 × vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-04-26 10:28:41 × xsperry quits (~as@unaffiliated/xsperry) (Ping timeout: 240 seconds)
2021-04-26 10:29:40 malumore joins (~malumore@151.62.121.252)
2021-04-26 10:30:46 stree joins (~stree@68.36.8.116)
2021-04-26 10:35:17 nullifidian joins (~nullifidi@unaffiliated/nullifidian)
2021-04-26 10:37:47 ericsagn1 joins (~ericsagne@2405:6580:0:5100:f023:81fa:fbf5:ef93)
2021-04-26 10:39:29 × Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 252 seconds)
2021-04-26 10:39:34 × mmfood_2 quits (~mmfood@185.176.246.69) (Quit: Leaving)
2021-04-26 10:42:28 Enrico63 joins (520efe97@cpc92708-cmbg20-2-0-cust150.5-4.cable.virginm.net)
2021-04-26 10:44:54 nineonine joins (~nineonine@2604:3d08:7785:9600:bde3:c459:7b57:e4c8)
2021-04-26 10:46:48 × Guest14500 quits (~textual@2603-7000-3040-0000-116a-d416-07d6-69e7.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-26 10:47:27 × Enrico63 quits (520efe97@cpc92708-cmbg20-2-0-cust150.5-4.cable.virginm.net) (Quit: Connection closed)
2021-04-26 10:47:32 puke joins (~vroom@217.138.252.196)
2021-04-26 10:49:09 × nineonine quits (~nineonine@2604:3d08:7785:9600:bde3:c459:7b57:e4c8) (Ping timeout: 245 seconds)
2021-04-26 10:50:29 thblt parts (~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 28.0.50)")
2021-04-26 10:54:38 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-04-26 10:54:52 <tomsmeding> invaser: why does the function apply multiple evaluation steps in one invocation?
2021-04-26 10:55:12 <tomsmeding> it's probably more efficient this way, but I don't know if that matters for you
2021-04-26 10:56:46 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 240 seconds)
2021-04-26 10:57:51 × bitmagie quits (~Thunderbi@200116b80653e900704c8745b360bdd2.dip.versatel-1u1.de) (Quit: bitmagie)
2021-04-26 11:01:20 turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-04-26 11:01:29 Alleria joins (~textual@mskresolve-a.mskcc.org)
2021-04-26 11:01:54 Alleria is now known as Guest8109
2021-04-26 11:02:01 xsperry joins (~as@unaffiliated/xsperry)
2021-04-26 11:02:15 <turlando> Hello. I'm trying to configure haskell completion in Emacs. According to haskell-mode I should just install it and it should work OOTB, but it doesn't seem like that to me. I also have company-mode installed. What should I do?
2021-04-26 11:02:52 × Wamanuz quits (~wamanuz@78-70-34-81-no84.tbcn.telia.com) (Remote host closed the connection)
2021-04-26 11:03:22 Wamanuz joins (~wamanuz@78-70-34-81-no84.tbcn.telia.com)
2021-04-26 11:03:33 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-04-26 11:04:13 ukari joins (~ukari@unaffiliated/ukari)
2021-04-26 11:06:13 <invaser> tomsmeding: a term usually consists of other subterms, and it just calls this function recursively on them (I guess that otherwise it would be hard to preserve the evaluation strategy order). I've tried to figure out a way to refactor it nicely, and it seems that it's not possible.
2021-04-26 11:06:54 DavidEichmann joins (~david@147.136.46.217.dyn.plus.net)
2021-04-26 11:07:03 × idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-04-26 11:09:14 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-26 11:09:59 × nullifidian quits (~nullifidi@unaffiliated/nullifidian) (Quit: Leaving)
2021-04-26 11:10:26 Franciman joins (~francesco@host-79-32-159-157.retail.telecomitalia.it)
2021-04-26 11:10:33 <Franciman> Hi, can I ask questions about liquid haskell?
2021-04-26 11:12:01 <hpc> yes, but you can't ask questions about asking questions about liquid haskell :P
2021-04-26 11:12:31 <Franciman> lol
2021-04-26 11:12:54 <Franciman> I have this function: isNotNull :: [a] -> Bool
2021-04-26 11:13:01 <Franciman> isNotNull a = not (null a)
2021-04-26 11:13:04 <Franciman> I want to check this:
2021-04-26 11:13:29 <Franciman> isNotNull :: l:[a] -> { v:Bool | v <=> not (len a == 0) }
2021-04-26 11:13:31 <Franciman> it does not work
2021-04-26 11:13:32 <Franciman> lol
2021-04-26 11:13:34 <Franciman> the error is
2021-04-26 11:13:50 <Franciman> https://bpa.st/AI4Q
2021-04-26 11:13:58 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-26 11:14:20 ces joins (~ces@fsf/member/ces)
2021-04-26 11:14:33 × ces quits (~ces@fsf/member/ces) (Client Quit)
2021-04-26 11:14:41 <Franciman> ehm sorry
2021-04-26 11:14:53 <Franciman> I think I used different letters
2021-04-26 11:15:00 <Franciman> what i want to check is
2021-04-26 11:15:06 <Franciman> isNotNull :: z:[a] -> { v:Bool | v <=> not (len z == 0) }
2021-04-26 11:15:22 Guest6509 joins (~laudiacay@45.162.228.190)
2021-04-26 11:15:43 Pickchea joins (~private@unaffiliated/pickchea)
2021-04-26 11:17:23 nicholasbulka joins (~nicholasb@2601:900:4301:da0:58e6:3a0a:96a:ca2c)
2021-04-26 11:20:06 × Guest6509 quits (~laudiacay@45.162.228.190) (Ping timeout: 265 seconds)
2021-04-26 11:20:10 Enrico63 joins (520efe97@cpc92708-cmbg20-2-0-cust150.5-4.cable.virginm.net)
2021-04-26 11:20:13 nineonine joins (~nineonine@2604:3d08:7785:9600:bde3:c459:7b57:e4c8)
2021-04-26 11:20:26 × LKoen quits (~LKoen@22.249.88.92.rev.sfr.net) (Remote host closed the connection)
2021-04-26 11:22:27 × hypercube quits (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 250 seconds)
2021-04-26 11:22:27 <tomsmeding> invaser: what does it mean if evalStep returns Nothing? Does it mean that no evaluation steps could be applied in that subterm? If that's true, then perhaps you can use that information to choose whether to simplify further subterms or not, in order to ensure that you only do one evaluation step on the whole term
2021-04-26 11:22:49 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-26 11:24:02 <tomsmeding> Franciman: isn't 'v' a special name in liquidhaskell or something?
2021-04-26 11:24:43 <Franciman> uhm
2021-04-26 11:24:51 <Franciman> I don't think so, but hey let us try

All times are in UTC.