Logs: freenode/#haskell
| 2020-09-19 04:10:50 | → | jneira_ joins (~jneira@80.30.101.206) |
| 2020-09-19 04:11:42 | × | heavengin7 quits (~lovely@49.145.200.126) (Quit: Hi. If you wanna buy selected item on Amazonian pls click here > http://amazonian2.000webhostapp.com/) |
| 2020-09-19 04:11:45 | × | ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 240 seconds) |
| 2020-09-19 04:12:13 | × | eric quits (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27) (Remote host closed the connection) |
| 2020-09-19 04:13:20 | → | stiell joins (~stian@fsf/member/stiell) |
| 2020-09-19 04:14:00 | → | eric joins (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27) |
| 2020-09-19 04:14:38 | → | day_ joins (~Unknown@unaffiliated/day) |
| 2020-09-19 04:15:28 | × | jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 260 seconds) |
| 2020-09-19 04:17:37 | → | mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) |
| 2020-09-19 04:18:16 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 272 seconds) |
| 2020-09-19 04:18:16 | day_ | is now known as day |
| 2020-09-19 04:18:47 | × | eric quits (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27) (Ping timeout: 272 seconds) |
| 2020-09-19 04:19:56 | → | jneira_ joins (~jneira@38.red-193-152-116.dynamicip.rima-tde.net) |
| 2020-09-19 04:21:45 | × | Franciman quits (~Franciman@acqua.team) (Ping timeout: 240 seconds) |
| 2020-09-19 04:21:45 | × | jneira_ quits (~jneira@38.red-193-152-116.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
| 2020-09-19 04:21:51 | × | mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 246 seconds) |
| 2020-09-19 04:22:43 | → | jneira_ joins (~jneira@80.30.101.206) |
| 2020-09-19 04:24:18 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 2020-09-19 04:28:45 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-zdarqnpcqwthpiik) (Quit: Connection closed for inactivity) |
| 2020-09-19 04:31:12 | × | TooDifficult quits (~TooDiffic@139.59.59.230) (Quit: TooDifficult) |
| 2020-09-19 04:31:40 | → | TooDifficult joins (~TooDiffic@139.59.59.230) |
| 2020-09-19 04:32:34 | → | Saukk joins (~Saukk@2001:998:dc:4a67:1c59:9bb5:b94c:4) |
| 2020-09-19 04:36:56 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 2020-09-19 04:37:07 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-09-19 04:40:59 | × | TooDifficult quits (~TooDiffic@139.59.59.230) (Quit: TooDifficult) |
| 2020-09-19 04:41:05 | × | wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2020-09-19 04:41:43 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2020-09-19 04:42:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-09-19 04:44:43 | → | wagle joins (~wagle@quassel.wagle.io) |
| 2020-09-19 04:45:47 | → | nineonine joins (~nineonine@216-19-190-182.dyn.novuscom.net) |
| 2020-09-19 04:46:12 | → | asan joins (~yan4138@124.78.18.192) |
| 2020-09-19 04:49:18 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 272 seconds) |
| 2020-09-19 04:51:43 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 2020-09-19 04:52:59 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
| 2020-09-19 04:55:35 | → | shafox joins (~shafox@106.51.234.111) |
| 2020-09-19 04:58:28 | → | Sanchayan joins (~Sanchayan@106.200.239.146) |
| 2020-09-19 05:00:05 | × | perdent quits (~k4fr@91.132.136.84) (Ping timeout: 240 seconds) |
| 2020-09-19 05:00:47 | × | asan quits (~yan4138@124.78.18.192) (Ping timeout: 246 seconds) |
| 2020-09-19 05:01:16 | → | gtr joins (75635aa4@117.99.90.164) |
| 2020-09-19 05:01:42 | × | russruss8 quits (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat) |
| 2020-09-19 05:02:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 2020-09-19 05:04:21 | → | russruss8 joins (~russruss@my.russellmcc.com) |
| 2020-09-19 05:04:43 | → | aeth joins (~Michael@wesnoth/umc-dev/developer/aethaeryn) |
| 2020-09-19 05:06:06 | × | gtr quits (75635aa4@117.99.90.164) (Remote host closed the connection) |
| 2020-09-19 05:06:12 | × | falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds) |
| 2020-09-19 05:06:41 | × | booppoob quits (uid425746@gateway/web/irccloud.com/x-zxeyoiczknyxztoh) (Quit: Connection closed for inactivity) |
| 2020-09-19 05:07:02 | × | nan` quits (~nan`@unaffiliated/nan/x-5405850) (Quit: leaving) |
| 2020-09-19 05:07:40 | × | stiell quits (~stian@fsf/member/stiell) (Ping timeout: 272 seconds) |
| 2020-09-19 05:07:43 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 2020-09-19 05:10:26 | × | tsrt^ quits (~hph@ip98-184-89-2.mc.at.cox.net) () |
| 2020-09-19 05:11:35 | → | booppoob joins (uid425746@gateway/web/irccloud.com/x-tkeigqqpbyoktbzy) |
| 2020-09-19 05:11:47 | → | mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) |
| 2020-09-19 05:12:08 | → | ntwoaaci^ joins (ntwoaaci@ip98-184-89-2.mc.at.cox.net) |
| 2020-09-19 05:12:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-09-19 05:12:30 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 2020-09-19 05:14:00 | × | mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Remote host closed the connection) |
| 2020-09-19 05:14:00 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds) |
| 2020-09-19 05:14:00 | Lord_of_Life_ | is now known as Lord_of_Life |
| 2020-09-19 05:14:06 | → | mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) |
| 2020-09-19 05:15:02 | → | platypine joins (~joshie@c-73-249-162-185.hsd1.ct.comcast.net) |
| 2020-09-19 05:17:45 | → | jedws joins (~jedws@121.209.139.222) |
| 2020-09-19 05:18:55 | × | remexre quits (~nathan@207-153-38-50.fttp.usinternet.com) (Remote host closed the connection) |
| 2020-09-19 05:18:56 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 2020-09-19 05:19:46 | → | perdent joins (~k4fr@101.175.168.104) |
| 2020-09-19 05:21:02 | <siraben> | edwardk: Just finished reading your article on the bound library, it sounds very useful. |
| 2020-09-19 05:21:21 | <siraben> | Have you seen https://github.com/jozefg/cooked-pi/blob/master/src/LambdaPi/Bound.hs ? |
| 2020-09-19 05:21:35 | <sim590> | I have a `A a` data type with its own constructors. Now, I'm making a `newtype B b = A b`. Is it possible for me to use A's constructors to map them against variables of type `B` ? Otherwise, what's the prefered approach? |
| 2020-09-19 05:22:52 | <siraben> | sim590: when you write `newtype B b = A b`, you're creating a constructor `A :: b → B b` by the way |
| 2020-09-19 05:23:07 | <siraben> | I think what you want is `newtype B b = B (A b)` |
| 2020-09-19 05:23:45 | × | gmt quits (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net) (Ping timeout: 240 seconds) |
| 2020-09-19 05:24:27 | → | remexre joins (~nathan@207-153-38-50.fttp.usinternet.com) |
| 2020-09-19 05:24:45 | <siraben> | sim590: You're saying that you want implicit coercion from `A a` to `B a`? |
| 2020-09-19 05:25:22 | <sim590> | Here's what I want to do: http://sprunge.us/MSk4Mo. See the function `toto` which yields an error "Couldn't match expected type ‘LBSTree a’ with actual type ‘BSTree a0’". |
| 2020-09-19 05:25:53 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-09-19 05:27:37 | <sim590> | Because my LBSTree is an extension of BSTree, so I would have liked to simply use its constructors. I think that "implicit coercion" is correctly capturing what I want to do, but I'm not sure about the semantic of the word. |
| 2020-09-19 05:28:32 | <sim590> | There are functions defined for BSTree already and I would have liked to use them on LBSTree also if that's possible. But what I'm really looking for is the most standard way of achieving this extension. |
| 2020-09-19 05:28:37 | <siraben> | sim590: Yes, the type error occurs because BEmpty has type BSTree a |
| 2020-09-19 05:29:09 | <siraben> | What you need to change is `newtype LBSTree a = BSTree (LBSNode a)` to `newtype LBSTree a = LBSTree (BSTree (LBSNode a))` |
| 2020-09-19 05:29:43 | <siraben> | Then the first case of the pattern match, `toto BEmpty = undefined` to `toto (LBSTree BEmpty) = undefined` |
| 2020-09-19 05:29:48 | <sim590> | OK, so I really need to define another constructor. |
| 2020-09-19 05:30:01 | <siraben> | If you don't want having to write the constructor `LBSTree`, I'd say write this |
| 2020-09-19 05:30:12 | <siraben> | `type LBSTree a = BSTree (LBSNode a)` |
| 2020-09-19 05:30:21 | × | mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds) |
| 2020-09-19 05:30:22 | <siraben> | s/having/to have |
| 2020-09-19 05:30:38 | <siraben> | Then you can keep the type signature of `toto` |
| 2020-09-19 05:31:06 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 2020-09-19 05:31:20 | <sim590> | Oh. Yes! So type will just substitute LBSTree a to BSTree (LBSNode a). |
| 2020-09-19 05:31:28 | × | p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 258 seconds) |
| 2020-09-19 05:31:45 | → | mmohammadi98126 joins (~mmohammad@5.115.231.155) |
| 2020-09-19 05:31:46 | <siraben> | Using `type` in Haskell is a lot like `typedef` in C, it's a type alias. `newtype` OTOH creates a wrapper (to make things opaque), but while still having the same runtime representation |
| 2020-09-19 05:31:49 | <siraben> | Right. |
| 2020-09-19 05:32:47 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 2020-09-19 05:32:49 | → | xpika joins (~alan@2001:8003:5d32:1f00:2a:bc61:ce8c:6d8) |
| 2020-09-19 05:33:46 | → | p8m joins (p8m@gateway/vpn/protonvpn/p8m) |
| 2020-09-19 05:33:55 | <sim590> | Does it always work in every cases? I do have other cases such as this signature: `append :: HasCallStack => LBSPComputer a -> a -> LBSTree a -> Chronicle Messages (LBSTree a)` and I'm getting an error "Occurs check: cannot construct the infinite type: a ~ LBSNode a" |
| 2020-09-19 05:34:53 | <sim590> | Oh No. I understand |
| 2020-09-19 05:35:06 | <sim590> | It's fine |
| 2020-09-19 05:35:09 | <sim590> | Thanks! |
| 2020-09-19 05:35:10 | <siraben> | How did the HasCallStack constraint appear here? |
| 2020-09-19 05:36:07 | <siraben> | No problem |
All times are in UTC.