Home liberachat/#haskell: Logs Calendar

Logs on 2025-09-09 (liberachat/#haskell)

00:06:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:07:05 × xff0x quits (~xff0x@2405:6580:b080:900:f298:c20:d961:98c7) (Ping timeout: 265 seconds)
00:11:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:11:14 × vulpine quits (xfnw@user/meow/xfnw) (Quit: Connection reset by purr)
00:12:32 vulpine joins (xfnw@user/meow/xfnw)
00:13:37 arandombit joins (~arandombi@2603:7000:4600:ffbe:4ce:2be:bee:6d35)
00:13:37 × arandombit quits (~arandombi@2603:7000:4600:ffbe:4ce:2be:bee:6d35) (Changing host)
00:13:37 arandombit joins (~arandombi@user/arandombit)
00:14:34 mange joins (~mange@user/mange)
00:18:32 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
00:20:07 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
00:21:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:22:41 × otto_s quits (~user@p5de2f137.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
00:24:27 otto_s joins (~user@p4ff27081.dip0.t-ipconnect.de)
00:26:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
00:28:55 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 250 seconds)
00:32:01 × OftenFaded78 quits (~OftenFade@user/tisktisk) (Ping timeout: 250 seconds)
00:32:51 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:33:05 craunts7 joins (~craunts@152.32.99.194)
00:34:23 califax joins (~califax@user/califx)
00:37:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:42:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:50:07 poscat0x04 joins (~poscat@user/poscat)
00:51:40 × poscat quits (~poscat@user/poscat) (Ping timeout: 256 seconds)
00:53:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:56:59 × Pozyomka_ quits (~pyon@user/pyon) (Quit: brb)
00:57:23 Pozyomka joins (~pyon@user/pyon)
00:58:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
01:03:43 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
01:05:21 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:08:38 davidlbowman joins (~dlb@user/davidlbowman)
01:09:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:13:30 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 256 seconds)
01:13:40 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 258 seconds)
01:14:37 CamiKase joins (~CamiKase@186.22.162.212)
01:14:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
01:15:43 × vetkat quits (~vetkat@user/vetkat) (Ping timeout: 250 seconds)
01:16:48 vetkat joins (~vetkat@user/vetkat)
01:18:57 arandombit joins (~arandombi@2603:7000:4600:ffbe:bdb4:38ba:1c1a:508b)
01:18:57 × arandombit quits (~arandombi@2603:7000:4600:ffbe:bdb4:38ba:1c1a:508b) (Changing host)
01:18:57 arandombit joins (~arandombi@user/arandombit)
01:25:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:28:56 × jespada quits (~jespada@2800:a4:22cd:2900:5991:e5fd:66d0:ba7f) (Ping timeout: 248 seconds)
01:30:50 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:31:04 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
01:31:18 jespada joins (~jespada@2800:a4:22ba:8000:cca7:ce4f:edb:52ec)
01:32:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
01:33:19 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 256 seconds)
01:43:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:47:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
01:50:54 × davidlbowman quits (~dlb@user/davidlbowman) (Ping timeout: 256 seconds)
01:56:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:57:27 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:57:33 LainIwakura joins (~LainIwaku@user/LainIwakura)
02:02:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:04:45 × LainIwakura quits (~LainIwaku@user/LainIwakura) (Ping timeout: 250 seconds)
02:10:00 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
02:11:04 EvanR joins (~EvanR@user/evanr)
02:12:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:13:43 × EvanR quits (~EvanR@user/evanr) (Client Quit)
02:15:17 LainIwakura joins (~LainIwaku@user/LainIwakura)
02:17:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:21:37 × tinjamin477 quits (~tinjamin@banshee.h4x0r.space) (Quit: The Lounge - https://thelounge.chat)
02:26:25 × CamiKase quits (~CamiKase@186.22.162.212) (Quit: WeeChat 4.7.1)
02:28:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:33:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:44:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:45:55 × nschoe quits (~nschoe@2a01:e0a:8e:a190:2d9f:6fd3:18e3:7800) (Quit: ZNC 1.8.2 - https://znc.in)
02:46:13 nschoe joins (~nschoe@2a01:e0a:8e:a190:eb80:e362:f8e1:aa2f)
02:49:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
02:57:27 EvanR joins (~EvanR@user/evanr)
03:00:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:01:31 × LainIwakura quits (~LainIwaku@user/LainIwakura) (Ping timeout: 250 seconds)
03:07:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
03:09:07 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
03:09:12 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
03:18:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:19:12 aforemny_ joins (~aforemny@2001:9e8:6cc2:7500:64be:24c3:6006:d7a3)
03:20:17 × aforemny quits (~aforemny@2001:9e8:6ce5:b600:26b8:ba8a:bff5:bad) (Ping timeout: 248 seconds)
03:23:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:24:55 trickard_ is now known as trickard
03:26:01 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
03:28:43 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
03:33:40 × gorignak quits (~gorignak@user/gorignak) (Ping timeout: 245 seconds)
03:34:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:36:30 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
03:37:47 img joins (~img@user/img)
03:39:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:44:34 EvanR joins (~EvanR@user/evanr)
03:45:53 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 248 seconds)
03:50:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:51:19 × dutchie quits (~dutchie@user/dutchie) (Remote host closed the connection)
03:53:19 dutchie joins (~dutchie@user/dutchie)
03:55:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:05:32 sp1ff joins (~user@c-73-157-159-244.hsd1.wa.comcast.net)
04:07:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:11:31 Googulator51 joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
04:12:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:15:11 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Ping timeout: 250 seconds)
04:17:45 user0 joins (~user0@user/plague)
04:22:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:27:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
04:30:38 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
04:33:18 michalz joins (~michalz@185.246.207.200)
04:38:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:39:41 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
04:45:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
04:46:34 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 256 seconds)
04:56:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:01:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
05:04:55 × Square2 quits (~Square@user/square) (Ping timeout: 245 seconds)
05:05:52 Square3 joins (~Square4@user/square)
05:12:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:17:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
05:20:25 Lycurgus joins (~juan@user/Lycurgus)
05:26:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:31:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:41:47 × user0 quits (~user0@user/plague) (Ping timeout: 250 seconds)
05:41:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:44:57 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
05:45:20 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
05:46:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
05:51:35 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
05:57:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:58:58 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
05:58:59 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
06:01:59 × jathan quits (~jathan@69.61.93.38) (Quit: WeeChat 2.3)
06:02:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
06:13:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:15:22 mari-estel joins (~mari-este@user/mari-estel)
06:20:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
06:24:01 ubert1 joins (~Thunderbi@178.165.161.196.wireless.dyn.drei.com)
06:30:16 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 256 seconds)
06:36:41 × alinab quits (sid468903@id-468903.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
06:44:14 × duckworld quits (~duckworld@user/duckworld) (Read error: Connection reset by peer)
06:44:36 duckworld joins (~duckworld@user/duckworld)
06:44:56 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
06:45:20 ljdarj joins (~Thunderbi@user/ljdarj)
06:47:52 × [exa] quits (~exa@2001:15e8:110:7d00::117) (Remote host closed the connection)
06:52:02 mari85725 joins (~mari-este@user/mari-estel)
06:53:08 × jreicher quits (~user@user/jreicher) (Quit: Out and about)
06:54:11 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
06:54:32 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 265 seconds)
06:56:20 [exa] joins (~exa@user/exa/x-3587197)
07:00:00 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
07:00:02 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:00:41 caconym747 joins (~caconym@user/caconym)
07:02:08 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:05:16 merijn joins (~merijn@77.242.116.146)
07:05:51 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds)
07:07:24 acidjnk joins (~acidjnk@p200300d6e7171905303ea6658b591e68.dip0.t-ipconnect.de)
07:08:51 × Googulator51 quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
07:09:04 Googulator51 joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
07:12:30 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
07:13:35 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
07:21:39 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
07:23:03 × plitter_ quits (~plitter@user/plitter) (Ping timeout: 265 seconds)
07:23:21 sshine_ is now known as xxhine
07:24:55 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
07:26:12 img joins (~img@user/img)
07:28:36 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:31:38 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
07:33:42 haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
07:33:42 × haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
07:33:42 haritz joins (~hrtz@user/haritz)
07:34:14 merijn joins (~merijn@77.242.116.146)
07:46:51 ZLima12_ joins (~zlima12@user/meow/ZLima12)
07:49:54 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
08:00:47 mari-estel joins (~mari-este@user/mari-estel)
08:03:12 × mari85725 quits (~mari-este@user/mari-estel) (Ping timeout: 256 seconds)
08:03:20 × craunts7 quits (~craunts@152.32.99.194) (Quit: The Lounge - https://thelounge.chat)
08:13:45 <ggVGc> We have a book club at work, and our main development languages are Scala and TS. The others don't have that much experience in general with strong typing and powerful type systems, and only me and one other person really knows Scala "well". I would like propose a book which tackles type system things and basic type theory, without being too hardcore for the book club. Any advice?
08:14:26 <ggVGc> Haskell based book would be fine, as long as it doesn't start with "let's discuss a monad"
08:15:02 <ggVGc> I'm thinking something like SICP but for type systems, I guess
08:16:04 <sm> maybe one of these: https://www.extrema.is/articles/haskell-books > design ?
08:17:39 <merijn> ggVGc: How hardcore do you wanna go?
08:19:00 <sm> tcard__ it's confusing having Author: Travis Cardwell on every book page, right above the book's published date, additional to the actual book authors on the left
08:20:08 <merijn> oh, wait, you wanted "not to hardcore"
08:20:44 <sm> (and/or one of these: https://www.extrema.is/articles/haskell-books > implementation)
08:21:33 chele joins (~chele@user/chele)
08:25:19 <sm> pretty good reviews for this one: https://www.goodreads.com/book/show/112252.Types_and_Programming_Languages
08:28:41 <merijn> I was gonna say TaPL, but I would call that rather hardcore :p
08:40:48 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
08:47:13 × Googulator51 quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
08:47:20 <[exa]> ggVGc: /me votes for girard
08:47:35 Googulator51 joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
08:50:35 <ggVGc> merijn: yeah, as not-hardcore as possible basically, while still being not-crap :)
08:50:39 <ggVGc> thanks for the suggestions!
08:53:28 × mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection)
09:05:25 <ski> hm, there's one "Thinking with Types: Type-Level Programming Haskell" by Sandy Maguire in 2019-01-10 at <https://thinkingwithtypes.com/>,<https://leanpub.com/thinking-with-types/>
09:05:46 <ski> (i haven't read it)
09:07:27 <haskellbridge> <sm> https://www.extrema.is/articles/haskell-books/thinking-with-types - maybe that one should have the design tag tcard__ ?
09:09:05 xxhine is now known as sshine
09:09:24 ljdarj joins (~Thunderbi@user/ljdarj)
09:11:25 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
09:12:16 <ski> ggVGc : "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~amoeller/mis/typeinf.pdf> might be worth checking out (not a book, though, just a paper (intended to be more introductory/tutorial). with some exercises)
09:12:48 <ski> there's also "On Understanding Types, Data Abstraction, and Polymorphism" by Luca Cardelli,Peter Wegner in 1985-12 at <http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf>, and "On Understanding Data Abstraction, Revisited" by William R. Cook in 2009-10 at <https://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf>
09:13:20 <merijn> ggVGc: Also, Scala 2 or 3?
09:15:29 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
09:18:49 <ggVGc> merijn: 3, fortunately, but unfortunately the existing code uses Akka without really undrstanding/liking actors, so it's basically just used as a http router
09:19:08 <ggVGc> while other concurrency stuff is done in good ol java way, but in scala
09:19:17 <ggVGc> with locking queues etc
09:19:27 <Franciman> [exa]: i'm studying automated deduction for ontologies. which book by girard?
09:19:34 <Franciman> (two unrelated things)
09:20:01 <ggVGc> Franciman: so.... rdf?
09:20:12 <Franciman> rdf and OWL
09:20:27 ZLima12 joins (~zlima12@user/meow/ZLima12)
09:20:27 <ggVGc> sounds a lot like my job :)
09:21:24 <Franciman> what's your job?
09:22:39 × ZLima12_ quits (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
09:23:30 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:23:36 <ski> i wonder about "The Little Typer" by Daniel P. Friedman,David Thrane Christiansen in 2018 at <https://thelittletyper.com/>,<https://www.amazon.com/Little-Typer-MIT-Press/dp/0262536439>,<https://mitpress.mit.edu/9780262536431/the-little-typer/>,<https://felleisen.org/matthias/BTypist-index.html>
09:24:28 <ggVGc> Franciman: Basically building this, https://data.icos-cp.eu/portal/. I started fairly recently (dec last year), and have been on parental leave since May, and am back on 20% since last month, so have not been part of much of what's there yet. But, there's a lot of work to be done :) https://github.com/ICOS-Carbon-Portal/meta
09:24:50 <ggVGc> Franciman: my main goal right now is to replace out RDF datastore with SQL+Ontop, actually.
09:25:26 <ggVGc> because right now we have a custom index, and custom SPQRQL query rewriting, and it's a bit of a mess imo, and seems to currently also have consistency issues.
09:25:35 <ski> Franciman : perhaps "Proofs and Types" by Jean-Yves Girard (Translated and with appendices by Paul Taylor,Yves Lafont) in 1989,1990,2003 at <https://www.paultaylor.eu/stable/prot.pdf>
09:25:50 <tcard__> sm: Regarding the author confusion, thanks for the feedback. I am making a note. I implemented that Haskell books content using my articles system, but it is indeed not a great match. I hope to improve it in the future.
09:26:33 <ggVGc> ski: you bring up a good idea of suggesting to the book club that we can sometimes read shorter papers and discuss them. Will try to see if that flies
09:26:47 <ggVGc> I would almost prefer a "paper group" rather than a book club, I think
09:27:02 <ggVGc> smaller investment, covering more ground
09:27:03 <ski> ggVGc : i'd think the Schwartzbach paper, at least, would be worth looking into
09:27:40 <ski> it includes some info that most papers on type systems assumes, but does not state outright
09:28:13 <merijn> ggVGc: At least 3 has rank2 types :>
09:28:29 <ggVGc> haha, oh man, I'd heard about The little typer, but starting to talk about dependent types seems a bit too soon for this group
09:28:35 <ggVGc> I may want to read it personally though...
09:28:47 <ski> yea, i haven't seen "The Little Typer", either
09:28:48 <ggVGc> But I have 4mo old twins now, so maybe in... 10 years?
09:30:31 <ski> but that series (see <https://felleisen.org/matthias/BTLS-index.html>. also apparently <https://www.thelittlelearner.com/>) has an interesting didactive approach, with examples and exercises
09:30:52 <ggVGc> merijn: yeah, but it also has this, https://docs.scala-lang.org/scala3/reference/other-new-features/indentation.html. So, you know, win some lose some.
09:31:27 <ski> if the "Thinking with Types" is not too advanced (not sure), might be useful as well
09:31:47 <ggVGc> I know that is a controversial statement in #haskell (about significant indentation). But, I think it works very poorly in Scala.
09:31:50 <ggVGc> being added on like that
09:31:55 <ski> merijn : but not higher rank ?
09:32:30 <ggVGc> actually not a huge fan of significant whitespace in Haskell either, but it works out alright most of the time
09:32:41 <ggVGc> without the type system it would be a disaster
09:33:06 <merijn> ski: I'm not sure if it supports higher rank, I'm still in the business of migrating us from 2 to 3 :)
09:33:17 <merijn> And I've only needed/wanted rank2 so far
09:33:55 <ski> mm, looks like it introduces layout block, more generally, than just after a few keywords (as in Haskell) ?
09:34:01 ski nods
09:34:04 <Franciman> ggVGc: can I pm you?
09:34:05 <ggVGc> yeah
09:34:08 <ggVGc> Franciman: sure
09:34:21 <ski> ggVGc : hm, i'm not seeing how the types are related to layout ?
09:34:30 <ggVGc> ski: I definitely do not like it, but the person who wrote most of the code I'm currently working on does like it.
09:34:55 <ski> i guess, if you don't get the nesting structure you intend, you're more likely to get a type (or scope) error ?
09:35:28 <ggVGc> ski: yo umean about my statement regarding haskell? I mean that, with a powerful language like Haskell where you can write very terse code, if you don't also have the type system helping you out, things subtle indentation errors can become major difficulties
09:35:40 <ski> ggVGc : it kinda reminds me of the various SRFIs for indentation-based nesting syntax, for Scheme (which, afaik, none has really caught on much at all)
09:36:00 <ski> ggVGc : "without the type system it would be a disaster" specifically
09:36:02 <arahael> merijn: Hey, I am curious about the code in posix-pty, why is it not possible to get the pty's Fd?
09:36:15 <arahael> merijn: (It's not important, I'm just curious)
09:37:11 <ggVGc> ski: well, I've had situations in Haskell where I get a type error I find super odd and can't easily see why it's happening, and then I realise it's because I've messed up an application of something, sometimes because of messed up indentation
09:37:25 <merijn> arahael: because it's code I wrote in 2013 when I barely new Haskell and never gotten around to actually using it for what I wrote it :p
09:37:27 <ggVGc> and if I didn't have the type system, I'd get some strange runtime error instead
09:37:29 <ggVGc> which would be a lot worse
09:37:34 <arahael> merijn: Heh, fair enough!
09:37:35 <ggVGc> could*
09:37:47 <merijn> arahael: So there wasn't much specific thought going into it
09:38:06 <arahael> merijn: Nice, so you were probably trying to do data/implementation hiding and all that good stuff.
09:38:08 <merijn> arahael: I think it's mostly to prevent construction of Pty from random Fd
09:38:14 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:38:24 <merijn> But I didn't think to need to project the Fd
09:38:28 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
09:38:38 <arahael> Ah, and I was trying to get the Fd from the Pty, so that I could ask it to see if there was data without blocking on it.
09:38:43 <ggVGc> ski: but, what I very much dislike about the Scala3 significant indentation is that 'foo:\n\t123' means foo(123).
09:38:46 <ggVGc> that is horrible
09:38:52 <arahael> As it turns out there was another way to do it so no biggie.
09:39:15 <arahael> (The other way being to spawn a thread anyway. And I've been learning about threads in Haskell as a consequence!)
09:39:31 <merijn> arahael: If you make a PR that provides `Pty -> Fd` I'd make a new release
09:39:56 <arahael> merijn: One day. One day. :)
09:40:23 <arahael> It turns out it's not actually required, and it's probably better to block on it anyway.
09:40:31 <merijn> ggVGc: The thing I hate is that for yield makes me write "_ <-" in front of every line whose return I don't care about
09:40:48 <merijn> please god, lemme just write code without _ <- like in Haskell :(
09:42:30 ZLima12_ joins (~zlima12@user/meow/ZLima12)
09:45:46 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 256 seconds)
09:54:08 <tomsmeding> merijn: make a keyboard macro that inserts '_ <- '
09:54:20 Googulator51 is now known as Googulator
09:54:34 <merijn> tomsmeding: That still makes it ugly to read
09:54:35 <tomsmeding> for a while I was using a programmable keyboard (moved away again for unrelated reasons) and I had keys for -> <- => <=
09:54:48 <tomsmeding> it was nice :p
09:54:52 <tomsmeding> that's true
09:55:17 <tomsmeding> merijn: are there so many functions that return useless results then?
09:55:37 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
09:55:40 <tomsmeding> in Haskell, I find that usually if there is a non-() return value, you want to use it -- not always, but often enough that '_ <-' is not _too_ common
09:56:12 <merijn> tomsmeding: you have to write _ <- for unit returns too
09:56:18 <tomsmeding> oh lol
09:56:25 <tomsmeding> that's stupid
09:56:58 <ski> ggVGc : "what I very much dislike .. " -- yea. i hear ya. that's because it's a retro-fit, so no layout-introducing keywords
09:58:21 <merijn> tomsmeding: Exactly!
09:59:28 <tomsmeding> use your units
10:00:15 ski . o O ( `(void)printf("...",...);' )
10:00:21 <ggVGc> merijn: oh yeah, that one sucks arse
10:00:36 <tomsmeding> imagine you actually have to use all your units too, combining them with (<>) to build your own unit return
10:00:54 <ggVGc> merijn: Also, Option.foreach makes me vomit a bit each time.
10:02:06 <tomsmeding> % for (Just 42) print
10:02:07 <yahb2> 42 ; Just ()
10:02:19 <merijn> ggVGc: I never use that
10:02:29 <merijn> ggVGc: We're using ZIO almost everywhere
10:05:50 tremon joins (~tremon@83.80.159.219)
10:13:33 sindu joins (~sindu@176.75.108.200)
10:18:03 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
10:20:11 <ski> SML has
10:20:21 <ski> val ignore : unit -> 'a
10:20:45 <ski> imho, that would be a better name for
10:20:50 <ski> void :: Functor f => f a -> f ()
10:21:17 <ski> er .. mixed up domain and codomain of the `ignore' ..
10:29:09 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
10:34:43 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 250 seconds)
10:35:20 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
10:36:01 gmg joins (~user@user/gehmehgeh)
10:37:16 __monty__ joins (~toonn@user/toonn)
10:37:53 <kqr> I'm trying to cabal build --enable-profiling my project, and I get an error that "Could not find module ‘Control.Seq’. Perhaps you haven't installed the profiling libraries for package ‘parallel-3.2.2.0’?" This was not a problem when I compiled without profiling. I'm not explicitly depending on parallel (it c is pulled in by the lens build). What am I doing wrong?
10:39:56 sprotte24 joins (~sprotte24@p200300d16f36070054d9a83b6a36a30e.dip0.t-ipconnect.de)
10:40:21 <haskellbridge> <sm> To build with profiling, unfortunately you have to have every transitive dependency also built with profiling. Often this isn't done by default so you have to force a reinstall of all of them
10:40:39 fp1 joins (~Thunderbi@wireless-86-50-141-202.open.aalto.fi)
10:41:13 merijn joins (~merijn@77.242.116.146)
10:41:16 <haskellbridge> <sm> I'm surprised if cabal build --enable-profiling doesn't recognise that, like stack build --profile
10:46:05 forell joins (~forell@user/forell)
10:46:58 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
10:48:02 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:48:16 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
10:49:05 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
10:52:04 × sprotte24 quits (~sprotte24@p200300d16f36070054d9a83b6a36a30e.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
10:58:30 <kqr> I see. Can I give cabal a flag to reinstall it or am I hunting them down individually and trying to install globally or what is the best solution there?
11:00:05 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
11:00:21 merijn joins (~merijn@77.242.116.146)
11:02:05 caconym747 joins (~caconym@user/caconym)
11:02:19 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds)
11:04:57 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
11:05:55 × kaotika quits (~user@user/d4q) (Ping timeout: 255 seconds)
11:06:21 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:06:34 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
11:07:54 kaotika joins (~user@user/d4q)
11:09:59 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:11:33 × glguy quits (glguy@libera/staff/glguy) (Quit: Quit)
11:11:38 glguy joins (glguy@libera/staff/glguy)
11:11:44 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:12:19 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
11:14:20 kaotika joins (~user@user/d4q)
11:15:55 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
11:16:34 merijn joins (~merijn@77.242.116.146)
11:17:03 <kaol> I suppose there's no way to make Proxy to show its type?
11:17:23 <dminuoso> kaol: What do you mean by "make it show its type"?
11:18:29 <kaol> show (Proxy :: Proxy String) == "Proxy" is less than satisfying if I want to know that it's being used on a String.
11:19:00 <dminuoso> kaol: You can do something like `showProxy :: Typeable a => Proxy a -> String`
11:19:34 <dminuoso> Not quite sure what your goal is
11:20:23 <kaol> Debug a piece of code that uses type classes and I have no idea where the execution goes since I don't know what type the particular Proxy is.
11:20:57 <dminuoso> So the best you can do is constraint it to Typeable and do something like `show . typeOf`
11:21:30 <dminuoso> Or well, `show . typeRep` rather
11:21:59 <dminuoso> Debugging constraint resolving is tough
11:22:23 kaotika joins (~user@user/d4q)
11:23:04 <mauke> this is why hls integration
11:23:37 <dminuoso> Right, or use GHCi to a similar effect
11:23:42 <dminuoso> :k is a thing
11:23:43 <lambdabot> error:
11:23:43 <lambdabot> Not in scope: type variable ‘is’
11:23:43 <lambdabot> Perhaps you meant type constructor or class ‘As’ (imported from Control.Lens)
11:23:49 <dminuoso> Thanks.
11:24:24 <kaol> show . typeRep and adding a few Typeable constraints got me what I was looking for. Thanks.
11:26:28 <haskellbridge> <sm> kqr I don't know, I would ask in #hackage
11:28:32 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
11:29:15 <kaol> Interesting. servant-client-core is somehow trying to decode latin1. My server is sending utf8.
11:29:54 xff0x joins (~xff0x@2405:6580:b080:900:263:a30e:567c:e7aa)
11:29:57 <dminuoso> kaol: It respects Content-Type.
11:30:10 <dminuoso> The actual encoding is irrelevant, there's no heuristics.
11:30:10 <kaol> Well it has a bug. Content-Type is correct.
11:30:30 <dminuoso> Mmm. That sounds surprising.
11:30:30 <merijn> How can you even tell? Pretty sure latin-1 is a subset of utf-8, no?
11:31:09 <merijn> ah, no only for the first 127 values, which makes sense I suppose
11:31:16 <kaol> I'm using servant-jsaddle which is little used, I guess. At least the offending decode happens on servant-client-core's side.
11:31:56 <mauke> it's when you send €, but you get â�¬
11:32:10 <kaol> I specifically have "ö" in my test body which is in latin1 and I unpacked the body just to see the digits and it is there indeed as single byte latin1.
11:33:12 <dminuoso> kaol: can you share you API specification here?
11:35:12 <kaol> I started with servant-client-js instead of servant-jsaddle and it didn't have encoding problems but it was incapable of handling basic authentication which made me switch. I'm starting to think that returning back and just improving its error handling is an easier path.
11:35:24 <dminuoso> kaol: So the servant code itself does not do any latin1 decoding.
11:35:34 <dminuoso> Im fairly sure its outside of servant.
11:35:51 davidlbowman joins (~dlb@user/davidlbowman)
11:36:50 × kaotika quits (~user@user/d4q) (Ping timeout: 256 seconds)
11:36:58 <ski> kaol : you could make it show `Proxy :: Proxy <type>'
11:37:01 <kaol> I know someone's calling this decodeAs with Proxy :: Proxy JSON with latin1.
11:37:11 <ski> or `Proxy @<type>'
11:37:47 <kaol> I found out the type already.
11:37:56 <ski> merijn : depends on encoding
11:38:42 kaotika joins (~user@user/d4q)
11:38:55 <dminuoso> kaol: Well whereever the mojibake happens, servant has no code path through which it even could decode latin1.
11:39:00 <kqr> sm: Cheers, will do!
11:39:18 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
11:39:33 Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
11:39:48 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
11:40:03 <dminuoso> kaol: c.f. https://hackage-content.haskell.org/package/servant-0.20.3.0/docs/Servant-API.html#t:MimeUnrender
11:41:36 kaotika joins (~user@user/d4q)
11:41:40 <dminuoso> Now of course maybe there's an additional type tag with a MimeUnrender instance that uses latin1 in your dependency closure.
11:41:50 <dminuoso> But it would outside of any of the official servant packages.
11:42:56 <kaol> I suspect there's something wrong with servant-jsaddle since servant-client-js doesn't come up with latin1. And servant-jsaddle is an official servant package.
11:43:32 <dminuoso> fsvo "official servant package"
11:44:03 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
11:44:12 <dminuoso> But jsaddle has no custom MimeUnrender instances either.
11:44:21 <dminuoso> Like I said, it would be easiest if you just shared your API specification
11:44:32 ttybitnik joins (~ttybitnik@user/wolper)
11:45:40 kaotika joins (~user@user/d4q)
11:46:38 <kaol> I'll make a small example something out of this.
11:47:00 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
11:49:38 kaotika joins (~user@user/d4q)
11:50:57 × kaotika quits (~user@user/d4q) (Max SendQ exceeded)
11:51:39 kaotika joins (~user@user/d4q)
11:52:47 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
11:59:05 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
12:00:53 Lycurgus joins (~juan@user/Lycurgus)
12:02:25 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 248 seconds)
12:03:19 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:07:00 × kaotika quits (~user@user/d4q) (Ping timeout: 245 seconds)
12:08:18 kaotika joins (~user@user/d4q)
12:11:07 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
12:12:25 merijn joins (~merijn@77.242.116.146)
12:12:38 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
12:13:44 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:19:45 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
12:25:00 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 256 seconds)
12:25:17 jreicher joins (~user@user/jreicher)
12:25:32 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:29:41 × inline quits (~inline@ip-005-146-196-246.um05.pools.vodafone-ip.de) (Quit: Leaving)
12:33:26 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
12:33:44 ljdarj joins (~Thunderbi@user/ljdarj)
12:39:09 × kaotika quits (~user@user/d4q) (Ping timeout: 265 seconds)
12:41:54 kaotika joins (~user@user/d4q)
12:49:59 × pabs3 quits (~pabs3@user/pabs3) (Read error: Connection reset by peer)
12:50:26 pabs3 joins (~pabs3@user/pabs3)
12:50:42 × mange quits (~mange@user/mange) (Quit: Zzz...)
12:51:13 L29Ah joins (~L29Ah@wikipedia/L29Ah)
12:51:24 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
13:00:38 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
13:03:22 poscat joins (~poscat@user/poscat)
13:03:48 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
13:09:09 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
13:09:22 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
13:10:51 × kaotika quits (~user@user/d4q) (Ping timeout: 252 seconds)
13:11:52 kaotika joins (~user@user/d4q)
13:13:45 qqe joins (~qqq@185.54.23.136)
13:16:43 <kaol> dminuoso: I can show the complete example program if you like but I verified that I can get the decoding bug with just this API: type API = "asdfasdf.json" :> Get '[JSON] Text
13:17:07 <kaol> I didn't expect anything other from doing this really.
13:17:47 <kaol> I guess WASM is bleeding edge and I get both pieces if it breaks.
13:18:02 Guest89 joins (~Guest89@37.111.214.210)
13:19:49 jespada_ joins (~jespada@2800:a4:22ba:8000:cca7:ce4f:edb:52ec)
13:21:23 <Guest89> Can you give me some help. I was born in 1992, studied Computer Science from 2012 to 2019, and currently studying english BA at university. I have 3 more years to graduate. I was wondering what path I could take and how so I can get myself admitted to a Computer Science PhD by 2028. I love haskell, but wondering if it would help to build hobby
13:21:24 <Guest89> softwares like text based games, or scrapers or compilers with haskell. Most realistically I am lost and looking for remote opportunities from this platform.
13:21:49 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
13:22:39 × jespada quits (~jespada@2800:a4:22ba:8000:cca7:ce4f:edb:52ec) (Ping timeout: 265 seconds)
13:25:06 <tomsmeding> Guest89: I feel like that depends on what kind of PhD you want to get into. What kind of research do you enjoy?
13:25:21 <Guest89> Computer Engineering, Electronics
13:26:00 <tomsmeding> "electronics" sounds more like electrical engineering than computer science. I'm not sure what you mean with "computer engineering"
13:27:35 <tomsmeding> Especially once you get to PhD level, every field that seems from the outset to be mostly coherent ("computer science", for example), fragments in a very broad spectrum of little topics and interests
13:27:37 <Guest89> Yeah basically Electronics. But I need to study it on my own now. I took Digital Logic class as part of CS degree.
13:28:05 <tomsmeding> do you aspire being a CPU designer at some point?
13:28:06 <Guest89> Embedded device programming, SDK Development are nice
13:28:16 <Guest89> How, in such short time? I am 33 now
13:28:17 <tomsmeding> or more embedded programming?
13:28:35 <tomsmeding> I'm trying to probe what your interests are
13:28:37 <Guest89> I have no clue about CPU Designing
13:28:48 <merijn> Also, why do you wanna do a phd? :p
13:28:54 × kaotika quits (~user@user/d4q) (Ping timeout: 258 seconds)
13:28:58 <tomsmeding> because already "electronics" is outside of "copmuter science", despite you saying you wanted to get admitted to a CS PhD
13:28:58 <merijn> That's perhaps the most important question :p
13:29:01 <tomsmeding> also
13:29:50 <Guest89> I thought I would get in to a multidisciplinary project of some kind
13:29:56 <merijn> You gotta ask yourself whether you're stupid enough to do a PhD xD
13:30:04 <tomsmeding> a PhD means (details depending on the country) 3-5 years of struggling, learning very much about a very tiny part of science, as well as getting to know yourself
13:30:09 kaotika joins (~user@user/d4q)
13:30:09 <tomsmeding> for comparatively little pay
13:30:09 <Guest89> Why would it be stupid?
13:30:38 <Guest89> OK. I guess I'll do a masters instead.
13:30:38 <merijn> Most people like their mental health :p
13:30:42 Lycurgus joins (~juan@user/Lycurgus)
13:30:47 <tomsmeding> if you're lucky (or select well), you have an advisor to guide you through the process; if you're unlucky, you're mostly on your own in navigating that
13:30:50 <Guest89> Lol, mental health :D
13:31:11 <tomsmeding> Guest89: given what you're saying, it indeed sounds to me like what you should explore is doing an Electrical Engineering masters degree, and then finding a job with that
13:31:38 <Guest89> OK
13:31:43 <tomsmeding> a PhD can be very enriching too, for yoruself, but it's something that you should really want :p
13:31:44 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
13:32:01 Guest31 joins (~Guest89@37.111.214.210)
13:32:52 <tomsmeding> and about haskell: learning haskell (if you don't know it yet) is a good way (but an expensive way, time-wise) to strengthen your programming skills by expanding the toolbox you have for solving problems in programming and CS
13:33:06 <Guest31> OK
13:33:17 <tomsmeding> I'm not sure those skills are the most important ones if you want to pursue electrical engineering
13:33:35 <tomsmeding> if you want to do embedded programming, maybe -- but I'd focus on playing with cute hardware instead
13:33:39 <Guest31> Cool, I guess I'll prioritise learning C++ so I can get an embedded device programming job
13:33:49 <tomsmeding> getting an arduino to do fancy things, for example
13:34:03 <tomsmeding> (I know ~nothing about embedded programming :D)
13:34:33 <tomsmeding> merijn: thanks for asking the appropriate question, lol
13:34:51 <merijn> friends don't let friends do phds :p
13:35:54 <tomsmeding> some people grow by doing a phd
13:35:55 × Guest89 quits (~Guest89@37.111.214.210) (Ping timeout: 250 seconds)
13:35:56 <tomsmeding> _some_
13:36:29 <tomsmeding> I did (am still doing -- 6 months to go), but it did also cost :p
13:38:13 <Guest31> Basically wanted a research job after a phd
13:39:18 × jespada_ quits (~jespada@2800:a4:22ba:8000:cca7:ce4f:edb:52ec) (Ping timeout: 260 seconds)
13:40:29 <tomsmeding> "research job" means: 1. teaching courses and supervising student theses; 2. applying for grants to be able to do more research; 3. finding and solving hard problems, by yourself or with collaborators; 4. writing your results up in the form of a paper with a strict page limit, having that rejected, trying again, maybe this time getting a published paper, and as a reward present your paper at a
13:40:31 <tomsmeding> conference in a 25min talk, of which 5min are questions
13:40:47 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 258 seconds)
13:40:47 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:40:47 <tomsmeding> the research can be super fun, but do not forget the rest
13:41:02 <tomsmeding> if you find research fun enough it can compensate for some of the other things
13:41:12 <tomsmeding> but if you _only_ find (3.) interesting, then perhaps it's not such a good idea
13:41:43 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
13:41:50 <darkling> That was my mistake. :)
13:42:02 chromoblob joins (~chromoblo@user/chromob1ot1c)
13:42:05 <darkling> Although 1 was quite interesting, too.
13:42:06 <tomsmeding> if you'd like to spend your time building a product that people actually use, then skip academia and apply for a software development job (of some kind)
13:42:25 <tomsmeding> darkling: I'm not saying that all of these are bad! I like 1 too.
13:42:44 <tomsmeding> Still in my PhD so not much experience with 2, but I already know I'll hate it; 4 is so-so
13:42:49 jespada joins (~jespada@2800:a4:2242:f900:40dc:52e2:5b75:c25d)
13:43:35 <Guest31> Actually that sounds heavenly. Not unlike how I am governing my life now as an undergrad.
13:44:16 merijn joins (~merijn@77.242.116.146)
13:44:19 <tomsmeding> do you have people in your personal circle who are doing PhDs, preferably in some kind of computer-y discipline?
13:45:23 <Guest31> I studied in UCL for a while, then Dhaka for 5 years and then in Chittagong where I am doing my undergrad. No one in my circle is doing PhD but PhD inspiration comes from some members of the extended family
13:45:24 <tomsmeding> also: like in any other job, academia has grumpy people who are not enjoyable to be with
13:46:15 <darkling> And the usual shysters, chancers, fraudsters and climbers of the greasy pole.
13:47:36 <tomsmeding> well, in any case: my point about haskell stands; choosing a career path is a complicated thing that depends very much on what you want to do, what you are good at, what is achievable given where you currently are
13:49:00 <tomsmeding> if you have only a BSc in computer science, and you aren't very confident in your CS skills already, I'd recommend getting an MSc in CS or EE (electrical engineering) before trying to land a PhD
13:49:57 <tomsmeding> mind that research usually has a fairly theoretical slant to things, so not only on-the-ground coding skills matter, but also your skills for grappling with abstractions, theory behind systems and languages, algorithms and algorithm design, etc.
13:50:38 <tomsmeding> there is also experimental research, but that's typically still informed by theory
13:50:43 <merijn> You forgot management/planning skills :p
13:50:54 × tabaqui quits (~tabaqui@167.71.80.236) (Quit: WeeChat 4.6.3)
13:51:03 <tomsmeding> right -- that depends on how much time your advisor has for you
13:51:15 <tomsmeding> if your advisor has lots of time for you, you can learn that on the job, I think
13:51:21 <tomsmeding> (at the cost of your mental energy)
13:51:36 <tomsmeding> (I got lucky with my advisor)
13:53:49 <tomsmeding> Guest31: hope that gave you some context; perhaps it somehow helps in finding/navigating a career path. I have to go now, good luck :)
13:54:44 <Guest31> thank you, it helps a lot, i shall focus on c++ projects now I guess
13:57:05 Everything joins (~Everythin@5.248.97.251)
13:58:53 vpan joins (~vpan@212.117.1.172)
13:59:12 vpan is now known as Guest3155
13:59:20 Guest3155 is now known as vpan
13:59:47 × Guest31 quits (~Guest89@37.111.214.210) (Quit: Client closed)
14:01:40 user0 joins (~user0@67.161.181.189)
14:06:58 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
14:07:05 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 272 seconds)
14:07:27 sord937 joins (~sord937@gateway/tor-sasl/sord937)
14:11:21 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
14:15:01 plitter joins (~plitter@user/plitter)
14:16:24 <kaol> I think the real bug is somewhere in ghcjs-dom. Browsers use UTF-16 internally and it was an incidental result that the least significant byte of my "ö" test matched with latin1. When I tried it with unicode snowman instead, I got 0x03 instead which matches with UTF-16 unicode snowman's least significant byte. It's the browsers, every time. getResponseText is not up to the task apparently.
14:24:26 <kaol> This is getting rather too involved for me. I'm not quite sure where I should even open an issue about this.
14:25:12 Square2 joins (~Square@user/square)
14:26:47 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
14:27:06 Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
14:27:58 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
14:29:29 × Square3 quits (~Square4@user/square) (Ping timeout: 260 seconds)
14:36:07 <tomsmeding> kaol: I don't have context but if you're passing a string from JS to haskell and getting only the least-significant bytes of codepoints, that sounds like a problem on the haskell side
14:36:09 traxex joins (traxex@user/traxex)
14:37:06 × kaotika quits (~user@user/d4q) (Quit: WeeChat 3.8)
14:37:38 kaotica joins (~user@user/d4q)
14:38:57 <tomsmeding> kaol: 𝅘𝅥𝅮 (U+1D161; https://tomsmeding.com/unicode#U+1D161 ) doesn't fit in two bytes
14:39:15 <tomsmeding> you may try that to see if you're getting the least-significant byte of the _codepoint_ or of the UTF-16 pairs
14:39:15 × kaotica quits (~user@user/d4q) (Max SendQ exceeded)
14:39:52 kaotica joins (~user@user/d4q)
14:39:57 × user0 quits (~user0@67.161.181.189) (Changing host)
14:39:57 user0 joins (~user0@user/plague)
14:41:03 × kaotica quits (~user@user/d4q) (Max SendQ exceeded)
14:41:23 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:41:41 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
14:45:57 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
14:46:18 kaotica joins (~user@user/d4q)
14:50:14 <kaol> tomsmeding: https://github.com/haskell-servant/servant-jsaddle/issues/9
14:58:15 <EvanR> utf-16 strikes again
14:59:23 <EvanR> oh, that issue would screw up utf-8 as well
15:00:41 polykernel joins (~polykerne@user/polykernel)
15:02:54 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
15:04:13 <kaol> tomsmeding: I got "a", that is 0x61, when I tried that one.
15:05:11 <EvanR> it's truncating each code unit
15:05:21 <EvanR> will screw things up way before the astral plane
15:05:48 <kaol> These are the moments when I regret my career choices.
15:06:03 mari-estel joins (~mari-este@user/mari-estel)
15:06:16 <EvanR> it simply needs to do a utf-16 decode which is available in many haskell libraries
15:07:25 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
15:08:40 <EvanR> like Data.Text.Encoding
15:12:33 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
15:13:19 <kaol> It apparently goes through something like JSSstring and I don't think it ever hits a ByteString representation at all. And there's a coerce. I don't know if getting a ByteString to give to a regular Haskell side decoding function is an option.
15:13:47 <kaol> Browsers be like.
15:14:47 <EvanR> there's unpack :: JSString -> String
15:15:59 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:16:00 <EvanR> which effectively decodes it, but going through String = [Char] might cost
15:16:32 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
15:16:43 <EvanR> I don't know what you're actually trying to do so nvm
15:17:20 <kaol> Decode JSON in WASM in browsers, with non-ASCII content.
15:17:45 <kaol> And use servant-client to get it.
15:17:54 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
15:18:14 <kaol> And preferrably not be stuck with a fork of some lower level library in pepretuity.
15:19:13 <EvanR> if it gives you a JSString, is that not enough
15:19:41 <kaol> That's hidden below so many layers that it's not even funny if I want to just use servant-client.
15:20:00 <EvanR> :(
15:24:11 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
15:25:03 × fp1 quits (~Thunderbi@wireless-86-50-141-202.open.aalto.fi) (Ping timeout: 258 seconds)
15:29:59 <kaol> It may be this thing: https://github.com/ghcjs/jsaddle/issues/144 Open for over a year with no fix.
15:30:47 <mari-estel> huh is ghcjs still a thing?
15:31:40 <kaol> Yes, though I'm using ghc wasm myself.
15:32:12 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
15:32:19 <EvanR> WebSockets.hs lines 103
15:32:20 <kaol> Or rather, I think it's merged in GHC project already but it needs to be compiled separately. No support for alternate backends like that in the same binary.
15:33:13 inline joins (~inline@ip-005-146-196-246.um05.pools.vodafone-ip.de)
15:33:31 <EvanR> a file that doesn't seem to be there
15:37:03 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
15:39:55 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 265 seconds)
15:40:19 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
15:40:51 chromoblob joins (~chromoblo@user/chromob1ot1c)
15:46:48 × Square2 quits (~Square@user/square) (Ping timeout: 260 seconds)
15:46:54 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
15:50:59 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
15:55:29 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
15:55:31 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:56:51 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
15:56:59 weary-traveler joins (~user@user/user363627)
15:57:05 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
15:57:50 × sindu quits (~sindu@176.75.108.200) (Ping timeout: 245 seconds)
15:58:39 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
15:59:35 × weary-traveler quits (~user@user/user363627) (Client Quit)
15:59:53 weary-traveler joins (~user@user/user363627)
16:01:40 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
16:06:12 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
16:06:33 chromoblob joins (~chromoblo@user/chromob1ot1c)
16:07:44 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
16:08:20 × arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection)
16:10:46 × vpan quits (~vpan@212.117.1.172) (Quit: Leaving.)
16:13:39 sindu joins (~sindu@176.75.108.200)
16:14:24 wootehfoot joins (~wootehfoo@user/wootehfoot)
16:14:43 mari36827 joins (~mari-este@user/mari-estel)
16:16:23 × mari-estel quits (~mari-este@user/mari-estel) (Read error: Connection reset by peer)
16:20:40 × hakutaku quits (~textual@chen.yukari.eu.org) (Remote host closed the connection)
16:21:07 hakutaku joins (~textual@chen.yukari.eu.org)
16:25:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:29:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
16:33:29 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:38:43 trickard_ is now known as trickard
16:40:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:42:08 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
16:42:21 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
16:43:05 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
16:46:03 × mari36827 quits (~mari-este@user/mari-estel) (Remote host closed the connection)
16:46:31 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds)
16:47:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
16:50:09 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
16:54:20 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
16:56:50 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
16:57:43 ljdarj joins (~Thunderbi@user/ljdarj)
16:57:44 × kaotica quits (~user@user/d4q) (Ping timeout: 265 seconds)
16:58:24 kaotica joins (~user@user/d4q)
16:59:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:59:44 × kaotica quits (~user@user/d4q) (Max SendQ exceeded)
17:00:24 kaotica joins (~user@user/d4q)
17:03:04 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
17:03:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
17:08:09 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
17:08:16 <haskellbridge> <sm> kaol: that's not far off by the sound of things
17:09:28 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
17:14:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:19:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
17:19:55 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 245 seconds)
17:20:08 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
17:22:21 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
17:26:28 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
17:28:45 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:30:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:31:25 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
17:32:01 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 250 seconds)
17:32:23 sayola joins (~sayola@ipservice-092-208-226-093.092.208.pools.vodafone-ip.de)
17:33:00 ljdarj joins (~Thunderbi@user/ljdarj)
17:33:15 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
17:33:33 × user0 quits (~user0@user/plague) (Ping timeout: 256 seconds)
17:35:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
17:37:41 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
17:37:59 Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
17:38:19 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:39:17 Lycurgus joins (~juan@user/Lycurgus)
17:46:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:49:42 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
17:51:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
18:02:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:02:30 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
18:07:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
18:08:06 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
18:11:42 slack1256 joins (~slack1256@2803:c600:5111:8964:570a:cacb:20ff:ba45)
18:15:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:19:50 user0 joins (~user0@67.161.181.189)
18:20:18 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
18:22:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
18:24:21 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
18:24:41 divlamir joins (~divlamir@user/divlamir)
18:33:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:36:16 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:38:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
18:41:27 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:42:54 ljdarj joins (~Thunderbi@user/ljdarj)
18:45:25 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
18:46:04 OftenFaded66 joins (~OftenFade@user/tisktisk)
18:49:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:51:43 trickard_ is now known as trickard
18:54:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
18:55:25 × Everything quits (~Everythin@5.248.97.251) (Quit: leaving)
18:56:10 target_i joins (~target_i@user/target-i/x-6023099)
19:00:01 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
19:00:41 caconym747 joins (~caconym@user/caconym)
19:05:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:10:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
19:16:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:16:41 sprotte24 joins (~sprotte24@p200300d16f360700bcb9dc3880c1c26e.dip0.t-ipconnect.de)
19:19:22 OftenFaded28 joins (~OftenFade@user/tisktisk)
19:21:17 × OftenFaded66 quits (~OftenFade@user/tisktisk) (Ping timeout: 250 seconds)
19:21:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
19:22:47 × sp1ff quits (~user@c-73-157-159-244.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
19:26:04 <slack1256> Does anybody have any luck with +RTS -pj --RTS? It produces an empty file on my end.
19:27:14 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
19:28:54 Reality2point0 joins (~Reality2p@2a02:3035:66f:546f:5e7f:a1b3:f81d:33a6)
19:29:56 sp1ff joins (~user@c-73-157-159-244.hsd1.wa.comcast.net)
19:31:38 × jespada quits (~jespada@2800:a4:2242:f900:40dc:52e2:5b75:c25d) (Ping timeout: 260 seconds)
19:32:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:34:02 jespada joins (~jespada@r179-25-156-56.dialup.adsl.anteldata.net.uy)
19:34:49 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
19:34:51 <kaol> How do I use debug flags like -ddump-rule-rewrites with cabal? I added it to my ghc-options but I'm not sure it did anything at all when I built my project.
19:37:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
19:38:02 <geekosaur> flags that don't affect generated objects won;t trigger rebuilds; your best bet in that case is to remove dist-newstyle
19:38:22 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
19:38:34 <geekosaur> also -ddump-to-file is IIRC enabled implicitly so the output will be under dist-newstyle
19:39:06 <geekosaur> (next to the object file, with suffix matching the dump option)
19:42:37 <kaol> I made a larger build and this time I saw output. I guess it works then.
19:48:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:48:54 × OftenFaded28 quits (~OftenFade@user/tisktisk) (Quit: Client closed)
19:49:32 __monty__ joins (~toonn@user/toonn)
19:52:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
19:57:55 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:58:00 × slack1256 quits (~slack1256@2803:c600:5111:8964:570a:cacb:20ff:ba45) (Remote host closed the connection)
19:58:44 <kaol> I'm not making much sense of this. JSaddle seems to indicate that JSString should be internally the same as Data.Text. It even uses coerce to transform them like that. But somewhere along the way it makes a faulty UTF-16 to UTF-8 conversion by just using the last byte. Which works if you are on ASCII but not for anything else.
20:00:51 <EvanR> JSString isn't conceptually the same as Text
20:01:18 <EvanR> Text used utf-16 internally at one point and now it's utf-8 I believe
20:01:35 <EvanR> either way the same way would have been for it to do a conversion
20:03:20 × Reality2point0 quits (~Reality2p@2a02:3035:66f:546f:5e7f:a1b3:f81d:33a6) (Quit: Client closed)
20:03:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:04:10 <kaol> Javascript uses UTF-16 for its Strings at least. It very much looks like to me that it's doing a conversion to UTF-8 by just truncating at some point but I haven't found where.
20:04:19 Alleria joins (~Alleria@user/alleria)
20:04:58 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
20:05:19 Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
20:08:20 tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e)
20:09:29 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
20:09:41 <geekosaur> that sounds like a throwback to ancient ghc
20:10:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
20:17:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:22:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
20:23:07 cherryra1 joins (~cherryram@user/cherryramatisdev)
20:24:05 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Ping timeout: 245 seconds)
20:25:43 <sshine> I feel old when you say that
20:25:58 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 258 seconds)
20:25:58 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
20:26:50 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: gljksn)
20:31:49 <int-e> kaol: What conversion? https://github.com/ghcjs/jsaddle/blob/master/jsaddle/src/Language/Javascript/JSaddle/Value.hs#L225-L232 (JSString is a newtype around Text) (another fun detail: if the .cabal file is to be believed, jsaddle can be compiled against both text-1.* and text-2.*. I wonder whether that makes a difference.)
20:32:33 <int-e> Anyway, no idea how this is supposed to work.
20:33:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:34:49 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.1)
20:35:39 <int-e> My comment is solely based on this import, apparently, taking a reference to a javascript value, and producing a Text value. Whatever conversion that might entail would have to have to be done by ghcjs, and I don't know any details about its FFI.
20:35:48 <int-e> or the wasm backend I suppose
20:38:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:43:39 <EvanR> sounds like the intention was to have Text in that context be implemented as a javascript string
20:44:07 <EvanR> the question to have like 1 string type
20:44:16 <EvanR> quest*
20:46:38 pavonia joins (~user@user/siracusa)
20:48:04 × davidlbowman quits (~dlb@user/davidlbowman) (Ping timeout: 260 seconds)
20:49:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:53:00 × cherryra1 quits (~cherryram@user/cherryramatisdev) (Quit: WeeChat 4.7.1)
20:53:15 ljdarj1 joins (~Thunderbi@user/ljdarj)
20:54:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
20:55:25 × sindu quits (~sindu@176.75.108.200) (Quit: WeeChat 4.7.1)
20:56:26 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
20:56:26 ljdarj1 is now known as ljdarj
21:04:22 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:04:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:05:06 × michalz quits (~michalz@185.246.207.200) (Remote host closed the connection)
21:09:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
21:12:13 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
21:14:46 ouilemur joins (~jgmerritt@user/ouilemur)
21:17:55 biberao joins (~m@user/biberao)
21:18:17 <biberao> hi do any of you advise to use chocolatey for haskell env on win11
21:18:19 <biberao> ?
21:18:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:21:07 emmanuelux joins (~emmanuelu@user/emmanuelux)
21:23:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
21:23:44 <int-e> Just FWIW, here is one reason why JS's internal representation of strings might not matter for WASM backend purposes: https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/ghc-internal/src/GHC/Internal/Wasm/Prim/Types.hs#L198-199 ...this encodes a JS string into a memory buffer shared with the WASM code, as UTF-8. So the encoding changes during marshalling. Does this connect to jsaddle in...
21:23:50 <int-e> ...any way? I have no clue.
21:28:10 <haskellbridge> <sm> biberao that's an ok way to get a few of the major tools installed - ghc, cabal, stack.. not ghcup I think
21:29:28 <haskellbridge> <sm> the vscode-haskell extension is there, too
21:30:03 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
21:32:53 img joins (~img@user/img)
21:33:28 <haskellbridge> <sm> but, https://community.chocolatey.org/packages/ghc is much too old - 9.8.2. So I'd use either stack or ghcup to install ghc.
21:34:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:40:21 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:41:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
21:46:24 × kaotica quits (~user@user/d4q) (Ping timeout: 260 seconds)
21:46:38 weary-traveler joins (~user@user/user363627)
21:47:11 kaotica joins (~user@user/d4q)
21:52:14 trickard___ joins (~trickard@cpe-54-98-47-163.wireline.com.au)
21:52:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:53:21 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 248 seconds)
21:57:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
22:02:56 × tromp quits (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:08:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:13:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
22:17:40 <biberao> ok
22:17:48 <biberao> but can i isolate it?
22:17:53 <biberao> or its globally installed?
22:24:06 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
22:28:33 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
22:32:02 <geekosaur> globally installed. ghcup and even more so stack can isolate them
22:34:17 davidlbowman joins (~dlb@user/davidlbowman)
22:35:40 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
22:35:44 <biberao> ah i can use ghcup or stack?
22:35:47 <biberao> im cnfused here
22:38:04 <geekosaur> both of them can install ghc for you, although modern stack usage gets ghc from ghcup
22:38:32 <geekosaur> when you install ghcup, it will install ghc, haskell-language-server, cabal, and stack
22:38:52 <geekosaur> it will also ask if you want to install a stack hook that makes it get ghc from ghcup instead of downloading it separately
22:39:44 <geekosaur> stack is somewhat easier for beginners to use, although if you find yourself using extra-deps a lot then cabal might be a better alternative
22:39:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:44:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
22:46:38 × davidlbowman quits (~dlb@user/davidlbowman) (Ping timeout: 256 seconds)
22:47:48 <biberao> ive always used linux so i dont know win11
22:49:25 <geekosaur> unless you need to make a native Windows app then WSL2 + ghcup might be the way to go, then
22:50:43 <biberao> geekosaur: any good reading for me to try?
22:51:12 <biberao> i dont want it to mess much with the system
22:53:38 <monochrom> I don't know what "isolation" means. But I can say what ghcup does. It can install multiple GHC versions, set one of them as default, but the others are still accessible as eg "ghc-9.6.7". It can uninstall any of the GHC versions.
22:54:40 <biberao> ayh awesome
22:54:47 <biberao> so i grab ghcup and its done then?
22:54:55 <geekosaur> I'm not seeing any good documentation. Windows Subsystem for Linux 2 should be available for free in the Windows Store if it's not preinstalled, and once you start it you can use the Linux instructions to install ghcup within it https://haskell.org/ghcup
22:55:23 <biberao> ah ok cool thanks
22:55:28 <biberao> im sorry
22:55:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:57:00 <EvanR> is jsaddle an improbably obscure reference to "haskell on a horse"
22:57:37 <monochrom> Heh, how does haskell get in there?
22:58:25 Sgeo joins (~Sgeo@user/sgeo)
22:58:47 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
22:58:52 <EvanR> it's some thing that facilitates haskell for web
22:59:04 Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
23:00:20 <geekosaur> ruby on rails, cobol on cogs, haskell on a horse
23:00:27 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
23:00:37 <EvanR> intercal on interstates
23:00:47 <monochrom> But then I would expect "hsaddle". :)
23:01:12 <geekosaur> I think it's actually saddling Javascript for use with Haskell via ghcjs/the JS backend
23:01:17 <Lycurgus> did i imagine a ghcjs oder?
23:01:52 <EvanR> ok javascript is the horse
23:01:57 <monochrom> May I distort this thing completely and imagine "j in Spanish is like h in English"? >:)
23:02:10 <EvanR> no that explains it
23:02:13 <geekosaur> harder h, though
23:02:21 <monochrom> Jasquell
23:02:38 <EvanR> I never learned haskell only HQuery
23:03:15 <Lycurgus> https://github.com/ghcjs/ghcjs
23:03:38 <Lycurgus> just died out igess
23:05:35 <Lycurgus> went to ill conceived idea heaven
23:05:49 × raym quits (~ray@user/raym) (Ping timeout: 258 seconds)
23:05:57 <EvanR> ghcjs was an ill conceived idea and died out?
23:06:03 × acidjnk quits (~acidjnk@p200300d6e7171905303ea6658b591e68.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
23:06:15 <jackdk> Isn't there a JS and a WASM backend in mainline GHC now?
23:07:03 <geekosaur> more correctly, all its devs moved over to developing ghc's JS backend
23:07:39 <geekosaur> because trying to upgrade ghcjs past 8.10 was too much of a nightmare
23:07:48 <Lycurgus> so it could hook up with another ill concieved thing igess (wasm)
23:08:04 <EvanR> ill advised
23:08:05 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
23:08:19 <Lycurgus> same deal
23:08:29 <int-e> There is a wasm backend in mainline GHC. I don't think the JS backend is in there, but that's fine; the WASM one largely supersedes it anyway.
23:08:41 <geekosaur> JS is in there
23:08:45 <int-e> where?
23:08:55 <Lycurgus> unless u think an idea is good if it looks or sounds good
23:09:16 <Lycurgus> if sex ka-ching or whatever
23:09:17 <int-e> Oh I'm too stupid to search. ./compiler/GHC/StgToJS.hs
23:09:24 <Lycurgus> *sez
23:09:29 <geekosaur> right
23:10:42 <int-e> geekosaur: thanks
23:10:54 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Quit: Lost terminal)
23:11:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:11:56 <geekosaur> sorry, I had a link but my sister called me out of the blue
23:12:06 <geekosaur> https://gitlab.haskell.org/ghc/ghc/-/tree/master/compiler/GHC/StgToJS?ref_type=heads
23:13:08 <geekosaur> (we normally text but she couldn't find our texts from yesterday or today on her phone)
23:15:32 × biberao quits (~m@user/biberao) (Quit: WeeChat 3.8)
23:16:03 mange joins (~mange@user/mange)
23:17:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
23:17:21 × Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed)
23:17:36 Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu)
23:19:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:20:04 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
23:20:32 × Vajb quits (~Vajb@n4ff0xajgx7huazq3a1-1.v6.elisa-mobile.fi) (Ping timeout: 265 seconds)
23:20:54 Vajb joins (~Vajb@n4c77qqwuy0305es5ac-1.v6.elisa-mobile.fi)
23:21:29 × user0 quits (~user0@67.161.181.189) (Ping timeout: 260 seconds)
23:24:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
23:25:59 × vetkat quits (~vetkat@user/vetkat) (Read error: Connection reset by peer)
23:26:47 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:27:43 vetkat joins (~vetkat@user/vetkat)
23:28:06 polykernel_ joins (~polykerne@user/polykernel)
23:28:43 × xff0x quits (~xff0x@2405:6580:b080:900:263:a30e:567c:e7aa) (Quit: xff0x)
23:29:08 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
23:30:00 × polykernel quits (~polykerne@user/polykernel) (Ping timeout: 248 seconds)
23:30:00 polykernel_ is now known as polykernel
23:33:11 ljdarj joins (~Thunderbi@user/ljdarj)
23:34:06 phm joins (~peter@user/phm)
23:35:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:35:57 polykernel_ joins (~polykerne@user/polykernel)
23:36:01 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: Lost terminal)
23:37:06 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
23:39:34 × polykernel quits (~polykerne@user/polykernel) (Ping timeout: 260 seconds)
23:39:34 polykernel_ is now known as polykernel
23:40:11 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
23:40:24 × sprotte24 quits (~sprotte24@p200300d16f360700bcb9dc3880c1c26e.dip0.t-ipconnect.de) (Quit: Leaving)
23:42:30 raym joins (~ray@user/raym)
23:50:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:51:23 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
23:51:51 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
23:53:20 ss4 joins (~wootehfoo@user/wootehfoot)
23:53:58 × tv quits (~tv@user/tv) (Quit: derp)
23:54:55 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
23:55:05 tv joins (~tv@user/tv)
23:55:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
23:56:23 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 250 seconds)

All times are in UTC on 2025-09-09.