Logs: freenode/#haskell
| 2021-03-22 13:42:30 | <unholy_star> | Jesus, what a trash! Why are here no replies? |
| 2021-03-22 13:42:33 | × | LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Ping timeout: 256 seconds) |
| 2021-03-22 13:43:18 | <maerwald> | :) |
| 2021-03-22 13:43:25 | → | _flow_ joins (~none@salem.informatik.uni-erlangen.de) |
| 2021-03-22 13:43:51 | → | ph88^ joins (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) |
| 2021-03-22 13:44:01 | × | unholy_star quits (d4706453@212.112.100.83) (Client Quit) |
| 2021-03-22 13:44:26 | × | drbean quits (~drbean@TC210-63-209-208.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 2021-03-22 13:45:29 | → | frozenErebus joins (~frozenEre@94.128.81.87) |
| 2021-03-22 13:45:33 | × | geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed) |
| 2021-03-22 13:47:51 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:f4a3:f661:850c:269d) (Ping timeout: 265 seconds) |
| 2021-03-22 13:48:38 | → | Wuzzy joins (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) |
| 2021-03-22 13:49:05 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving) |
| 2021-03-22 13:49:05 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
| 2021-03-22 13:49:49 | → | cabpa joins (~cabpa@180.190.165.139) |
| 2021-03-22 13:50:33 | × | frozenErebus quits (~frozenEre@94.128.81.87) (Ping timeout: 265 seconds) |
| 2021-03-22 13:51:33 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 2021-03-22 13:54:29 | × | motherfsck quits (~motherfsc@unaffiliated/motherfsck) (Quit: quit) |
| 2021-03-22 13:55:20 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds) |
| 2021-03-22 13:57:10 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 2021-03-22 13:58:25 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 2021-03-22 13:58:46 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 2021-03-22 14:00:35 | × | lisq quits (~quassel@lis.moe) (Quit: lisq) |
| 2021-03-22 14:00:45 | → | lisq joins (~quassel@lis.moe) |
| 2021-03-22 14:01:24 | → | mananamenos joins (~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) |
| 2021-03-22 14:02:01 | → | Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) |
| 2021-03-22 14:04:13 | × | xlei quits (znc@unaffiliated/xlei) (Quit: ZNC - https://znc.in) |
| 2021-03-22 14:05:52 | <SoF> | lol |
| 2021-03-22 14:06:08 | × | Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 2021-03-22 14:06:42 | → | xlei joins (znc@unaffiliated/xlei) |
| 2021-03-22 14:08:52 | <pjb> | Sorry unholy_star, I was at the loo! |
| 2021-03-22 14:14:28 | × | Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 260 seconds) |
| 2021-03-22 14:15:37 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds) |
| 2021-03-22 14:16:01 | → | Deide joins (~Deide@217.155.19.23) |
| 2021-03-22 14:16:17 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) |
| 2021-03-22 14:16:44 | × | son0p quits (~son0p@181.136.122.143) (Remote host closed the connection) |
| 2021-03-22 14:16:49 | → | supercoven joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
| 2021-03-22 14:20:53 | × | carldd quits (~carldd@90-224-49-113-no56.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 2021-03-22 14:21:27 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) (Ping timeout: 260 seconds) |
| 2021-03-22 14:23:31 | → | roconnor joins (~roconnor@host-45-58-230-226.dyn.295.ca) |
| 2021-03-22 14:25:19 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) |
| 2021-03-22 14:27:04 | → | encod3 joins (~encod3@45-154-157-94.ftth.glasoperator.nl) |
| 2021-03-22 14:27:12 | → | TheCommieDuck joins (~mark@79-68-31-106.dynamic.dsl.as9105.com) |
| 2021-03-22 14:28:01 | → | jacks2 joins (~bc8134e3@217.29.117.252) |
| 2021-03-22 14:28:03 | → | stree joins (~stree@68.36.8.116) |
| 2021-03-22 14:28:31 | × | encod3 quits (~encod3@45-154-157-94.ftth.glasoperator.nl) (Client Quit) |
| 2021-03-22 14:28:35 | <jacks2> | hi. how can I get ip of the connected client in scotty? |
| 2021-03-22 14:28:40 | <TheCommieDuck> | Hey. Can I mimic a type/class hierarchy somehow without fields? I could do it with a Map (i.e. DAG) + Strings, but it doesn't protect me from typos/invalid types, so I wasn't sure if empty types and some sort of type family version would be possible? |
| 2021-03-22 14:29:03 | × | LKoen_ quits (~LKoen@194.250.88.92.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-03-22 14:29:13 | × | roconnor quits (~roconnor@host-45-58-230-226.dyn.295.ca) (Ping timeout: 265 seconds) |
| 2021-03-22 14:29:19 | <dminuoso> | TheCommieDuck: Can you rephrase the question? I don't follow. |
| 2021-03-22 14:29:51 | → | geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr) |
| 2021-03-22 14:30:00 | <TheCommieDuck> | usage being data SomeRecordType { someType :: String }; isType :: SomeRecordType -> String -> Bool |
| 2021-03-22 14:30:21 | <merijn> | TheCommieDuck: You mean like "how can I guarantee a key has an associated value in a map"? |
| 2021-03-22 14:31:33 | → | roconnor joins (~roconnor@host-45-58-230-226.dyn.295.ca) |
| 2021-03-22 14:31:35 | <TheCommieDuck> | let the type universe be {Animal, Cat, Dog, CatDog} and the subtyping relation :>. Then Cat :> animal, Dog :> animal, Catdog :> cat, dog etc...if my 'types' are strings and my 'subtyping' is just lookups in a map, it's fine. |
| 2021-03-22 14:32:40 | <TheCommieDuck> | but then function calls like "cat" isType "anmial" (sic) are possible. I was wondering if a variant where I could have data Cat; data Dog; etc would be possible. No inheritance, polymorphism, etc. Some kind of promoted strings? |
| 2021-03-22 14:33:05 | <merijn> | TheCommieDuck: Oh, at the type level? |
| 2021-03-22 14:33:37 | <TheCommieDuck> | I...guess? Maybe? It's sort of "open sum type, but without any data attached to any of the constructors" |
| 2021-03-22 14:33:38 | <merijn> | That's sounds too masochistic for me :p |
| 2021-03-22 14:36:33 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2021-03-22 14:37:45 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) |
| 2021-03-22 14:39:58 | × | vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
| 2021-03-22 14:39:59 | <dminuoso> | TheCommieDuck: You could use empty typeclasses I guess? |
| 2021-03-22 14:41:23 | → | vicfred joins (vicfred@gateway/vpn/mullvad/vicfred) |
| 2021-03-22 14:42:38 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) (Ping timeout: 264 seconds) |
| 2021-03-22 14:43:45 | × | geowiesnot_bis quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 2021-03-22 14:44:25 | <TheCommieDuck> | https://gist.github.com/PPKFS/45626a1a7642afaf1817853d3b55819a hopefully this is deciperable |
| 2021-03-22 14:46:00 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 2021-03-22 14:46:11 | × | malumore quits (~malumore@151.62.119.219) (Remote host closed the connection) |
| 2021-03-22 14:47:44 | → | carldd joins (~carldd@90-224-49-113-no56.tbcn.telia.com) |
| 2021-03-22 14:47:55 | → | malumore joins (~malumore@151.62.119.219) |
| 2021-03-22 14:49:37 | × | jonatanb quits (~jonatanb@83.24.3.77.ipv4.supernova.orange.pl) (Quit: Leaving...) |
| 2021-03-22 14:50:38 | → | vsokolov joins (~vsokolov@p200300e55f220ebf84b74e4b49cfaa6f.dip0.t-ipconnect.de) |
| 2021-03-22 14:50:50 | × | forgottenone quits (~forgotten@176.42.30.186) (Remote host closed the connection) |
| 2021-03-22 14:51:22 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 276 seconds) |
| 2021-03-22 14:52:25 | × | vsokolov quits (~vsokolov@p200300e55f220ebf84b74e4b49cfaa6f.dip0.t-ipconnect.de) (Client Quit) |
| 2021-03-22 14:52:50 | → | forgottenone joins (~forgotten@176.42.30.186) |
| 2021-03-22 14:54:32 | <ski> | TheCommieDuck : what is it you want to prevent ? |
| 2021-03-22 14:54:43 | <TheCommieDuck> | ski: typos, basically. |
| 2021-03-22 14:55:01 | <ski> | would `data Class = Animal | CatDog | Cat | Dog' help ? |
| 2021-03-22 14:55:19 | <TheCommieDuck> | sadly, it's then closed |
| 2021-03-22 14:55:36 | <TheCommieDuck> | thus "open sum type, but without any data attached to any of the constructors" |
| 2021-03-22 14:56:00 | <ski> | maybe `Animal' &c. could be classes |
| 2021-03-22 14:56:01 | × | carldd quits (~carldd@90-224-49-113-no56.tbcn.telia.com) (Read error: Connection reset by peer) |
| 2021-03-22 14:56:06 | <TheCommieDuck> | (the last bit being why I figured it /might/ have a solution somewhere since it avoids the expression problem) |
| 2021-03-22 14:56:22 | <ski> | (perhaps that's what the "empty typeclasses" suggestion had in mind) |
| 2021-03-22 14:56:51 | → | son0p joins (~son0p@181.136.122.143) |
| 2021-03-22 14:57:02 | → | carldd joins (~carldd@90-224-49-113-no56.tbcn.telia.com) |
| 2021-03-22 14:58:58 | → | addem[m] joins (addemmatri@gateway/shell/matrix.org/x-dsozjjkkjhpfifoj) |
| 2021-03-22 15:00:47 | <TheCommieDuck> | but surely with empty typeclasses, I'd be needing some weird "isInstanceOfTypeclass" function which, AFAIK, I can't do |
| 2021-03-22 15:01:13 | <ski> | i'm not sure how it could work |
| 2021-03-22 15:02:16 | <TheCommieDuck> | I could just do the string method but replace string with Types |
| 2021-03-22 15:03:18 | <TheCommieDuck> | I just figured maybe what I wanted was some form of type family |
| 2021-03-22 15:03:51 | <ski> | (i'm still a bit unclear on what the problem statement is, what kind of things you want to avoid, or what kind of things you want to achieve or model, fwiw) |
| 2021-03-22 15:04:04 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1) |
| 2021-03-22 15:04:08 | <ski> | (dunno where type families would fit into it) |
| 2021-03-22 15:04:33 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 2021-03-22 15:05:21 | <TheCommieDuck> | the problem statement is "if I need an [open] |
| 2021-03-22 15:05:44 | <TheCommieDuck> | subset of strings, can I somehow use empty data types to avoid typos" |
| 2021-03-22 15:07:19 | <ski> | where would empty data types enter the picture ? |
All times are in UTC.