Logs: liberachat/#haskell
| 2021-07-13 21:59:51 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 2021-07-13 21:59:57 | <hseg> | so eg first unification unifies (α -> β) -> (φ α -> φ β) and (a -> b) |
| 2021-07-13 22:00:19 | <hseg> | for this to happen, we must have a ~ (α -> β), b ~ (φ α -> φ β) |
| 2021-07-13 22:00:31 | <hseg> | ( ~ is type equality) |
| 2021-07-13 22:01:20 | × | hgolden quits (uid507415@id-507415.highgate.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-13 22:01:38 | <hseg> | I then make a couple of bookkeeping renamings, to avoid having α, β, φ in the resulting type |
| 2021-07-13 22:01:51 | <hseg> | (so read {} from left to right) |
| 2021-07-13 22:02:43 | <hseg> | the multiline {} decompose the desired equality more and more, producing assignments for some of the variables |
| 2021-07-13 22:05:14 | <mariohesles> | Say I want to implement a library for defining social relationships, so a function in this library might be something like getPaternalGrandfather :: Person -> Person; I want to have references to each `Person`s children and parents within a given value. What would be a "Haskell-y" way of doing this? I'm thinking of doing something like the following `data Person = P UID Name Sex Parents Children deriving (Eq, Show)`, where `type UID = |
| 2021-07-13 22:05:14 | <mariohesles> | Int`, `type Name = String`, `data Sex = Female | Male deriving (Eq, Show), `type Parents = [UID]` and `type Children = [UID]`, but it feels wrong. I would have to have a database of all Persons and would have to refer to this database to do anything interesting. Is this bad? |
| 2021-07-13 22:05:42 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:146a:5c4b:109:2ce4) |
| 2021-07-13 22:08:38 | <hololeap> | is what bad? having a database or needing it to do anything interesting? |
| 2021-07-13 22:08:51 | <hololeap> | those both sound like pretty reasonable things to me |
| 2021-07-13 22:09:11 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-07-13 22:09:45 | <hololeap> | it's a pretty simple schema that would fit well inside an SQL database, so it's not going to need the full expressiveness of haskell. there's nothing wrong with that. |
| 2021-07-13 22:09:59 | <hseg> | mariohesles: you mean you feel the encoding should be closer to the relationship graph? |
| 2021-07-13 22:10:30 | <hseg> | otoh, being closer to the graph is nicer conceptually, but as hololeap points out, it'll be harder to serialize |
| 2021-07-13 22:10:57 | <hseg> | and grippingly, it can potentially entail retaining huge objects in memory |
| 2021-07-13 22:12:47 | <FixedPointDude> | yeah the graphiest thing that jumps out to me is: an Ancestry is a tree of Person, and every Person contains an Ancestry |
| 2021-07-13 22:13:03 | <FixedPointDude> | data Person = Person Ancestry |
| 2021-07-13 22:13:04 | <FixedPointDude> | data Ancestry = Empty | Tree [Person] |
| 2021-07-13 22:13:35 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:146a:5c4b:109:2ce4) (Quit: Leaving) |
| 2021-07-13 22:13:47 | <FixedPointDude> | well the Empty is redundant |
| 2021-07-13 22:15:57 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
| 2021-07-13 22:16:05 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-07-13 22:16:38 | × | Guest6135 quits (~Guest61@2001:ac8:27:20::a01e) (Quit: Client closed) |
| 2021-07-13 22:16:58 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-07-13 22:19:47 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-13 22:21:48 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2021-07-13 22:23:22 | → | vk3wtf joins (~doc@124.168.198.139) |
| 2021-07-13 22:23:45 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-07-13 22:31:18 | → | Guest6176 joins (~Guest61@2001:ac8:27:20::a01e) |
| 2021-07-13 22:31:29 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-07-13 22:34:10 | × | neceve quits (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 246 seconds) |
| 2021-07-13 22:35:12 | <dsal> | mariohesles: modeling this is going to be ridiculously hard. Are you sure every person is only either Male or Female and only has one paternal grandfather? |
| 2021-07-13 22:36:33 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-13 22:39:24 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 272 seconds) |
| 2021-07-13 22:39:24 | × | sm2n quits (~sm2n@user/sm2n) (Ping timeout: 272 seconds) |
| 2021-07-13 22:39:38 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 2021-07-13 22:39:45 | × | rostero quits (uid236576@id-236576.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-13 22:40:01 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-07-13 22:43:12 | × | dextaa quits (~DV@aftr-37-201-214-197.unity-media.net) (Ping timeout: 255 seconds) |
| 2021-07-13 22:43:16 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 246 seconds) |
| 2021-07-13 22:44:11 | → | Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-07-13 22:45:10 | → | warnz joins (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) |
| 2021-07-13 22:45:19 | → | dextaa joins (~DV@37.201.214.197) |
| 2021-07-13 22:46:34 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 2021-07-13 22:46:53 | → | pavonia_ joins (~user@user/siracusa) |
| 2021-07-13 22:48:16 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 272 seconds) |
| 2021-07-13 22:48:19 | pavonia_ | is now known as pavonia |
| 2021-07-13 22:50:07 | × | shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 245 seconds) |
| 2021-07-13 22:50:24 | × | Gurkenglas_ quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 255 seconds) |
| 2021-07-13 22:50:25 | <mariohesles> | dsal for the purpose of the library, yes, assume that there are only two sexes and everyone has exactly two real parents |
| 2021-07-13 22:50:49 | <davean> | mariohesles: haha, I worked with genetics lab data, parents are complicated. |
| 2021-07-13 22:51:18 | <mariohesles> | hseg yes I do feel the encoding could be closer to the graph itself |
| 2021-07-13 22:52:20 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 2021-07-13 22:52:36 | <dsal> | A person may have multiple arbitrary relationships with multiple people. It's going to be easiest to just do a plain graph and perhaps have common named edges, but there are people for whom their father and grandfather are the same person, or have multiple fathers to traverse for grandparents. |
| 2021-07-13 22:52:47 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 2021-07-13 22:57:45 | → | drd joins (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 2021-07-13 22:58:35 | × | fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 252 seconds) |
| 2021-07-13 22:59:18 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 2021-07-13 23:03:08 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-07-13 23:03:41 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 2021-07-13 23:04:16 | × | acidjnk quits (~acidjnk@p200300d0c72b9557fc98475d99842c11.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2021-07-13 23:04:28 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 2021-07-13 23:05:20 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:b510:a429:9a65:bf36) |
| 2021-07-13 23:07:20 | → | derelict joins (~derelict@user/derelict) |
| 2021-07-13 23:07:25 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:b510:a429:9a65:bf36) (Client Quit) |
| 2021-07-13 23:13:22 | × | juhp quits (~juhp@128.106.188.66) (Quit: juhp) |
| 2021-07-13 23:13:35 | → | juhp joins (~juhp@128.106.188.66) |
| 2021-07-13 23:20:09 | × | warnz quits (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) (Remote host closed the connection) |
| 2021-07-13 23:22:56 | × | o1lo01ol_ quits (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection) |
| 2021-07-13 23:28:51 | ← | drd parts (~drd@93-39-151-19.ip76.fastwebnet.it) (ERC (IRC client for Emacs 28.0.50)) |
| 2021-07-13 23:31:37 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 2021-07-13 23:32:23 | → | warnz joins (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) |
| 2021-07-13 23:32:29 | × | warnz quits (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) (Remote host closed the connection) |
| 2021-07-13 23:34:34 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2021-07-13 23:34:40 | → | warnz joins (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) |
| 2021-07-13 23:35:09 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 2021-07-13 23:39:25 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 2021-07-13 23:40:17 | × | warnz quits (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) (Remote host closed the connection) |
| 2021-07-13 23:41:24 | × | zebrag quits (~chris@user/zebrag) (Ping timeout: 256 seconds) |
| 2021-07-13 23:42:20 | → | zebrag joins (~chris@user/zebrag) |
| 2021-07-13 23:44:35 | × | jess quits (~jess@libera/staff/jess) () |
| 2021-07-13 23:46:01 | × | smtnet3 quits (~asdfasdfa@202.36.244.25) (Quit: Leaving) |
| 2021-07-13 23:46:38 | → | dajoer joins (~david@user/gvx) |
| 2021-07-13 23:47:58 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-13 23:51:41 | × | dre quits (~dre@2001:8003:c932:c301:b299:b352:c4c4:74a1) (Quit: Leaving) |
| 2021-07-13 23:52:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-13 23:52:59 | → | cjb joins (~cjb@user/cjb) |
| 2021-07-13 23:55:45 | × | Atum__ quits (IRC@user/atum/x-2392232) (Quit: Atum__) |
| 2021-07-14 00:00:42 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 272 seconds) |
| 2021-07-14 00:03:43 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 2021-07-14 00:04:27 | → | gentauro joins (~gentauro@user/gentauro) |
| 2021-07-14 00:04:40 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 2021-07-14 00:05:15 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 2021-07-14 00:08:03 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 2021-07-14 00:08:13 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
| 2021-07-14 00:09:47 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-14 00:12:45 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 255 seconds) |
All times are in UTC.