Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.