Logs: freenode/#haskell
| 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.