Logs: liberachat/#haskell
| 2025-10-15 18:20:40 | <monochrom> | Misusing existential types, and/or taking it as the go-to technique. |
| 2025-10-15 18:20:44 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-10-15 18:21:02 | <EvanR> | the haddock for catches just say you need to use the Handler type, and shows an example, but does not mention the existential or what that means, just assumes you know how to use it |
| 2025-10-15 18:21:24 | <EvanR> | and now I only just noticed xD |
| 2025-10-15 18:21:41 | <tomsmeding> | yeah the haddocks for catches is pretty good |
| 2025-10-15 18:24:19 | <monochrom> | SomeException also assumes you know existential types. |
| 2025-10-15 18:24:32 | <EvanR> | eh? |
| 2025-10-15 18:24:56 | spew | is now known as stew |
| 2025-10-15 18:25:01 | <monochrom> | SomeException is an existential type. |
| 2025-10-15 18:25:16 | <EvanR> | fromException and toException are how you convert the exceptions, how they work isn't really required knowledge |
| 2025-10-15 18:25:38 | <EvanR> | but if you try to construct the example for catches you run into extentions needing to be enabled |
| 2025-10-15 18:25:58 | → | n0um3n4 joins (~n0um3n4@104.28.199.134) |
| 2025-10-15 18:26:17 | stew | is now known as veggie_stew |
| 2025-10-15 18:26:22 | <EvanR> | and perhaps still not working if you customize it wrong, and violate some rules of existential types |
| 2025-10-15 18:26:45 | <EvanR> | like the my brain exploded escaped skolem or something |
| 2025-10-15 18:27:02 | × | irfan quits (~irfan@user/irfan) (Quit: WeeChat 4.7.1) |
| 2025-10-15 18:34:35 | × | n0um3n4 quits (~n0um3n4@104.28.199.134) (Remote host closed the connection) |
| 2025-10-15 18:37:43 | → | n0um3n4 joins (~n0um3n4@104.28.199.134) |
| 2025-10-15 18:38:15 | × | peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 245 seconds) |
| 2025-10-15 18:38:41 | → | GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano) |
| 2025-10-15 18:44:21 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.5.2) |
| 2025-10-15 18:45:39 | × | EvanR quits (~EvanR@2600:1700:ba69:10:be2c:cd26:af1e:7b4a) (Quit: Leaving) |
| 2025-10-15 18:46:18 | → | EvanR joins (~EvanR@user/evanr) |
| 2025-10-15 18:47:04 | → | GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano) |
| 2025-10-15 18:48:28 | × | trickard_ quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-10-15 18:48:40 | → | trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au) |
| 2025-10-15 18:55:28 | → | satler joins (~satler@user/satler) |
| 2025-10-15 18:59:59 | <tomsmeding> | monochrom: one can see SomeException as an existential type, but in a programmer's brain, it's more a dynamic type |
| 2025-10-15 19:00:01 | × | caconym7478798 quits (~caconym@user/caconym) (Quit: bye) |
| 2025-10-15 19:00:28 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 2025-10-15 19:00:34 | <tomsmeding> | a dynamic type is a statically untyped thing that you interact with using functions that may fail if the dynamic type is wrong |
| 2025-10-15 19:00:41 | <tomsmeding> | it may be _implemented_ using an existential |
| 2025-10-15 19:00:43 | → | caconym7478798 joins (~caconym@user/caconym) |
| 2025-10-15 19:01:01 | <tomsmeding> | existentials, on the other hand, introduce skolem type variables into your type system |
| 2025-10-15 19:01:14 | <tomsmeding> | from a suitably abstract perspective they're the same, but in practice they're not :p |
| 2025-10-15 19:02:53 | <EvanR> | a sufficiently abstract perspective is indistinguishable from magic |
| 2025-10-15 19:05:29 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 2025-10-15 19:05:45 | <EvanR> | an existential type used wrong breaks at compile time |
| 2025-10-15 19:05:51 | <EvanR> | a dynamic type used wrong breaks at runtime |
| 2025-10-15 19:06:10 | <EvanR> | don't try to convince me otherwise |
| 2025-10-15 19:07:09 | → | califax joins (~califax@user/califx) |
| 2025-10-15 19:08:33 | × | inline quits (~inline@2a02:8071:57a1:1260:810a:b569:d13b:c6fe) (Quit: Leaving) |
| 2025-10-15 19:08:34 | <monochrom> | Interpreters unify compile time with runtime. |
| 2025-10-15 19:10:26 | × | satler quits (~satler@user/satler) (Remote host closed the connection) |
| 2025-10-15 19:11:04 | <EvanR> | moving the time posts |
| 2025-10-15 19:11:15 | <monochrom> | :) |
| 2025-10-15 19:12:16 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 2025-10-15 19:12:41 | <EvanR> | dynamic languages have been positing a set theory theory of types, where they have the set of all possible values upfront |
| 2025-10-15 19:13:10 | <EvanR> | not sure what polymorphism or existentials would mean there |
| 2025-10-15 19:14:38 | <EvanR> | (the set of all possible values probably includes some wilds stuff like javascript's ability for arrays to contain themselves in non trivial ways) |
| 2025-10-15 19:14:39 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 2025-10-15 19:17:32 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds) |
| 2025-10-15 19:20:48 | × | califax quits (~califax@user/califx) (Ping timeout: 272 seconds) |
| 2025-10-15 19:22:09 | × | SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:09 | × | ProofTechnique_ quits (sid79547@id-79547.ilkley.irccloud.com) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:09 | × | bw quits (sid2730@user/betawaffle) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:09 | × | op_4 quits (~tslil@2a01:4f8:c0c:7952::1) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:09 | × | TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:09 | × | sefidel quits (~sefidel@user/sefidel) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:10 | → | arthurvl joins (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) |
| 2025-10-15 19:22:19 | → | bggd joins (~bgg@2a01:e0a:819:1510:a422:7a58:5231:4299) |
| 2025-10-15 19:22:28 | → | b0o_ joins (0e4a0bf4c9@2a03:6000:1812:100::1bf) |
| 2025-10-15 19:22:40 | × | Hobbyboy quits (Hobbyboy@hobbyboy.co.uk) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:40 | × | lortabac quits (~lortabac@mx1.fracta.dev) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:40 | × | uint64_t quits (ec7b9bb9f3@2a03:6000:1812:100::139b) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:40 | × | yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Ping timeout: 244 seconds) |
| 2025-10-15 19:22:40 | × | alethkit quits (23bd17ddc6@sourcehut/user/alethkit) (Ping timeout: 244 seconds) |
| 2025-10-15 19:23:00 | → | rubin55_ joins (sid666180@id-666180.ilkley.irccloud.com) |
| 2025-10-15 19:23:01 | → | Hobbyboy joins (Hobbyboy@hobbyboy.co.uk) |
| 2025-10-15 19:23:02 | → | TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667) |
| 2025-10-15 19:23:03 | → | kaskal- joins (~kaskal@84-115-235-223.cable.dynamic.surfer.at) |
| 2025-10-15 19:23:04 | → | nshepperd21 joins (~nshepperd@2a01:4f9:3b:4cc9::2) |
| 2025-10-15 19:23:36 | → | SrPx joins (sid108780@id-108780.uxbridge.irccloud.com) |
| 2025-10-15 19:23:37 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Read error: Connection reset by peer) |
| 2025-10-15 19:23:37 | → | fn_lumi_ joins (3d621153a5@2a03:6000:1812:100::df7) |
| 2025-10-15 19:23:37 | → | alethkit joins (23bd17ddc6@sourcehut/user/alethkit) |
| 2025-10-15 19:23:38 | → | uint64_t joins (ec7b9bb9f3@2a03:6000:1812:100::139b) |
| 2025-10-15 19:23:46 | → | sefidel joins (~sefidel@user/sefidel) |
| 2025-10-15 19:23:47 | → | lortabac joins (~lortabac@mx1.fracta.dev) |
| 2025-10-15 19:23:48 | → | dyniec_ joins (~dyniec@dybiec.info) |
| 2025-10-15 19:23:48 | × | dyniec quits (~dyniec@dybiec.info) (Killed (osmium.libera.chat (Nickname regained by services))) |
| 2025-10-15 19:23:48 | dyniec_ | is now known as dyniec |
| 2025-10-15 19:24:15 | → | ladyfriday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
| 2025-10-15 19:24:19 | → | bw joins (sid2730@user/betawaffle) |
| 2025-10-15 19:25:13 | → | comonad1 joins (~comonad@p200300d02711d0004b6eb519787385cb.dip0.t-ipconnect.de) |
| 2025-10-15 19:25:14 | → | _ouilemur joins (~jgmerritt@user/ouilemur) |
| 2025-10-15 19:25:36 | → | cheater- joins (~fuck@84-115-208-145.cable.dynamic.surfer.at) |
| 2025-10-15 19:25:55 | → | GdeVolpi1 joins (~GdeVolpia@user/GdeVolpiano) |
| 2025-10-15 19:26:19 | → | pmk_ joins (6afe4476a1@2a03:6000:1812:100::26d) |
| 2025-10-15 19:26:19 | → | ggb_ joins (a62ffbaf4f@2a03:6000:1812:100::3ac) |
| 2025-10-15 19:27:05 | → | mal1 joins (~mal@ns2.wyrd.be) |
| 2025-10-15 19:27:19 | → | geekosaur_ joins (sid609282@xmonad/geekosaur) |
| 2025-10-15 19:28:27 | → | califax joins (~califax@user/califx) |
| 2025-10-15 19:28:58 | × | rubin55 quits (sid666180@id-666180.ilkley.irccloud.com) (Ping timeout: 244 seconds) |
| 2025-10-15 19:28:58 | × | comonad quits (~comonad@p200300d02711d0004b6eb519787385cb.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2025-10-15 19:28:58 | × | ouilemur quits (~jgmerritt@user/ouilemur) (Ping timeout: 244 seconds) |
| 2025-10-15 19:28:58 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 244 seconds) |
| 2025-10-15 19:28:58 | × | kaskal quits (~kaskal@2a02:8388:1a8b:7d00:7ab8:bbe9:1c71:85ea) (Ping timeout: 244 seconds) |
| 2025-10-15 19:28:58 | × | ggb quits (a62ffbaf4f@2a03:6000:1812:100::3ac) (Ping timeout: 244 seconds) |
| 2025-10-15 19:28:58 | × | mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Ping timeout: 244 seconds) |
All times are in UTC.