Home freenode/#haskell: Logs Calendar

Logs on 2020-09-19 (freenode/#haskell)

00:00:02 × Bjarki quits (~Bjarki@178.162.204.238) ()
00:01:35 <ski> DekuDekuplex : interesting
00:01:45 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
00:02:37 × codygman quits (~codygman@47.190.47.120) (Ping timeout: 264 seconds)
00:03:35 codygman joins (~codygman@2600:380:f971:6858:ad76:4f29:a95d:d3ce)
00:03:36 × jneira_ quits (~jneira@38.red-193-152-116.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
00:04:40 × DekuDekuplex quits (~IceChat9@p7478089-ipngn34401marunouchi.tokyo.ocn.ne.jp) (Quit: Given the choice between you, I'll take the sea-sick crocodile.)
00:04:41 × brettgilio quits (~brettgili@104.131.40.243) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
00:04:55 jneira_ joins (~jneira@80.30.101.206)
00:04:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:05:16 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
00:05:27 lateef joins (~lateef@cpe-174-109-67-227.nc.res.rr.com)
00:07:26 × gienah quits (~mwright@gentoo/developer/gienah) (Read error: Connection reset by peer)
00:07:30 brettgilio joins (~brettgili@brettgilio.com)
00:10:16 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
00:12:31 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 244 seconds)
00:15:57 jud^ joins (~jud@cpe-70-113-106-222.austin.res.rr.com)
00:17:12 mariatsji joins (~mariatsji@155.84-234-177.customer.lyse.net)
00:18:17 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
00:18:33 × fendor quits (~fendor@212095005091.public.telering.at) (Remote host closed the connection)
00:19:49 × jud quits (~jud@unaffiliated/jud) (Ping timeout: 260 seconds)
00:21:23 × mariatsji quits (~mariatsji@155.84-234-177.customer.lyse.net) (Ping timeout: 240 seconds)
00:22:35 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
00:28:57 × jchia_ quits (~jchia@58.32.37.220) (Quit: Leaving.)
00:38:45 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
00:39:11 × kanishka quits (~kanishka@107.242.116.74) (Quit: Quit)
00:39:32 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
00:40:25 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
00:40:48 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
00:41:56 eflister joins (47ee2144@c-71-238-33-68.hsd1.or.comcast.net)
00:42:39 × codygman quits (~codygman@2600:380:f971:6858:ad76:4f29:a95d:d3ce) (Read error: Connection reset by peer)
00:43:00 codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net)
00:44:14 × Ariakenom quits (~Ariakenom@h-98-128-229-34.NA.cust.bahnhof.se) (Quit: Leaving)
00:44:19 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
00:46:45 × monochrom quits (trebla@216.138.220.146) (Ping timeout: 240 seconds)
00:47:10 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
00:47:59 × heatsink quits (~heatsink@2600:1700:bef1:5e10:b0dc:6c54:247b:ece) (Remote host closed the connection)
00:48:25 × teardown quits (~user@unaffiliated/mrush) (Ping timeout: 240 seconds)
00:53:15 Tops2 joins (~Tobias@dyndsl-095-033-022-068.ewe-ip-backbone.de)
00:54:07 × jud^ quits (~jud@cpe-70-113-106-222.austin.res.rr.com) (Quit: Leaving)
00:54:23 × Tops21 quits (~Tobias@dyndsl-095-033-022-068.ewe-ip-backbone.de) (Ping timeout: 246 seconds)
00:54:29 jud joins (~jud@unaffiliated/jud)
00:54:51 Tops21 joins (~Tobias@dyndsl-095-033-022-068.ewe-ip-backbone.de)
00:55:28 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
00:55:46 teardown joins (~user@unaffiliated/mrush)
00:57:03 heatsink joins (~heatsink@2600:1700:bef1:5e10:b0dc:6c54:247b:ece)
00:58:05 × Tops2 quits (~Tobias@dyndsl-095-033-022-068.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
01:00:19 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
01:01:00 Ranhir joins (~Ranhir@157.97.53.139)
01:01:24 × mitchellsalad_ quits (uid40617@gateway/web/irccloud.com/x-emvpcqiqclhtoqyn) (Quit: Connection closed for inactivity)
01:04:52 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
01:05:53 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
01:06:46 × nullheroes quits (~danielvu@168.235.66.22) (Quit: WeeChat 2.9)
01:08:12 × xff0x_ quits (~fox@2001:1a81:533d:7300:a04c:63b1:3358:adfe) (Ping timeout: 260 seconds)
01:08:28 monochrom joins (trebla@216.138.220.146)
01:09:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:09:51 xff0x_ joins (~fox@2001:1a81:5373:6a00:7135:4a2f:509f:3c41)
01:11:57 × raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
01:14:43 kupi joins (uid212005@gateway/web/irccloud.com/x-sjortpcvbymtcblo)
01:15:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
01:22:03 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
01:22:58 systemhalted joins (~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
01:25:34 nan` joins (~nan`@unaffiliated/nan/x-5405850)
01:27:16 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
01:28:29 skvidal joins (~skvidal@193.56.252.210)
01:29:05 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 240 seconds)
01:29:46 × systemhalted quits (~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Ping timeout: 256 seconds)
01:29:54 jneira_ joins (~jneira@80.30.101.206)
01:30:19 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
01:32:05 berberman_ joins (~berberman@2408:8207:256b:da50:584e:a9ff:fe9b:d3fe)
01:32:08 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
01:32:16 × berberman quits (~berberman@2408:8207:2566:53a0:584e:a9ff:fe9b:d3fe) (Ping timeout: 244 seconds)
01:37:25 × DTZUZU quits (~DTZUZU@205.ip-149-56-132.net) (Ping timeout: 246 seconds)
01:39:56 DTZUZU joins (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net)
01:40:30 boxscape joins (58823b0b@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.59.11)
01:41:19 <boxscape> % (+++) :: a -> b -> c -> a; (a +++ b) c = a
01:41:19 <yahb> boxscape:
01:41:20 <boxscape> % (+++) :: a -> b -> a; (a +++ b) = a
01:41:20 <yahb> boxscape: ; <interactive>:101:24: error: Parse error in pattern: a +++ b
01:41:30 <boxscape> hm, seems strange that the second one doesn't work
01:41:35 <boxscape> it works without the parens of coures, but...
01:41:42 <boxscape> seems inconsintent
01:41:47 <boxscape> wow I cannot spell today
01:42:10 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
01:42:28 <monochrom> Don't use parentheses in the 2nd one. The Haskell grammar does not anticipate it.
01:43:02 × nineonine quits (~nineonine@216.81.48.202) (Remote host closed the connection)
01:43:07 <boxscape> I realize that, I'm just surprised that the Haskell grammar is designed in that way :)
01:43:54 <monochrom> Or rather:
01:44:32 <monochrom> If you intend function definition, the grammar doesn't anticipate parenthesizing such as "(f x) = x+1"
01:45:26 <boxscape> % f :: a -> b -> a; (f a) b = a
01:45:26 <yahb> boxscape:
01:45:31 <monochrom> BUT! The other kind of definitions is "pattern = expr". In this case, the pattern can have outermost parentheses, "(inner pattern) = expr" because all patterns allow redundant parentheses.
01:45:51 <boxscape> oh, yeah, I suppose that does make sense
01:46:01 <boxscape> thanks
01:46:02 <monochrom> This pushes the parser to look at "(a +++ b) = ..." and go "ah, you have a pattern on the LHS".
01:46:07 <boxscape> right
01:47:13 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
01:48:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:52:36 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 272 seconds)
01:53:52 × Rudd0 quits (~Rudd0@185.189.115.108) (Remote host closed the connection)
01:56:09 nineonine joins (~nineonine@216-19-190-182.dyn.novuscom.net)
01:59:14 falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
01:59:20 <ski> yea, i've noticed this discrepance before
02:00:57 × nineonine quits (~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 260 seconds)
02:01:28 <ski> occasionally, i've wanted to do something like `( x +++ Foo) = ...', in order to align `x' with something on another line
02:01:53 <monochrom> That's clever
02:02:11 <monochrom> Use explicit { ; } >:)
02:02:38 <ski> this was directly under `module', as i recall it
02:05:45 <monochrom> module M where {
02:05:54 × theDon quits (~td@94.134.91.38) (Ping timeout: 272 seconds)
02:07:09 theDon joins (~td@94.134.91.50)
02:08:35 × bloodsta1ker quits (~bloodstal@46.166.187.178) (Remote host closed the connection)
02:12:47 <eflister> i need an accumulating traverse for Data.Map.
02:12:55 lagothrix is now known as Guest51064
02:12:55 × Guest51064 quits (~lagothrix@unaffiliated/lagothrix) (Killed (weber.freenode.net (Nickname regained by services)))
02:13:08 lagothrix joins (~lagothrix@unaffiliated/lagothrix)
02:15:24 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection)
02:15:48 falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
02:15:56 <ski> eflister : use `StateT' ?
02:16:19 TooDifficult joins (~TooDiffic@139.59.59.230)
02:18:18 <eflister> ski: makes sense. any idea why it's not included in the library? makes me suspect i'm doing something wrong :)
02:18:44 <ski> not included in which library ?
02:18:57 hackage arch-hs 0.0.0.0 - A program generating PKGBUILD for hackage packages. https://hackage.haskell.org/package/arch-hs-0.0.0.0 (berberman)
02:18:58 <eflister> Data.Map :)
02:19:18 <ski> (also, you said you were going to make a paste before, but you never showed any paste link)
02:20:14 <eflister> heh, good memory - i later posted that i found a missing $ after lunch :)
02:20:47 <ski> eflister : well, it has `instance Traversable (Map k)'. what more do you need, than that, and `instance Monad m => Applicative (StateT s m)' ?
02:20:52 × mozzarella quits (~sam@unaffiliated/sam113101) (Read error: Connection reset by peer)
02:23:00 <ski> @type (runStateT .) . (. (id :: M.Map k v -> M.Map k v)) . traverse . (StateT .)
02:23:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
02:23:02 <lambdabot> Monad m => (v -> s -> m (b, s)) -> M.Map k v -> s -> m (M.Map k b, s)
02:23:09 <ski> you wanted something like that ?
02:23:10 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 2.9)
02:23:21 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 260 seconds)
02:23:50 mozzarella joins (~sam@unaffiliated/sam113101)
02:23:52 jneira_ joins (~jneira@80.30.101.206)
02:24:49 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection)
02:26:16 falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
02:27:23 × miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
02:27:54 <eflister> that does look good, but more sophisticated than i usually get. :) since they have mapAccum and traverse i was hoping they'd baked in the combination...
02:28:52 booppoob joins (uid425746@gateway/web/irccloud.com/x-zxeyoiczknyxztoh)
02:29:38 <booppoob> hi, do you think i should learn haskell if i have absolutely no maths background? does one need one to be able to have an easier time?
02:29:49 <booppoob> should I instead spend some time with maths before coming to it?
02:30:56 drbean joins (~drbean@TC210-63-209-205.static.apol.com.tw)
02:32:24 <boxscape> You do not need a maths background to learn haskell
02:32:28 miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
02:32:38 vnogueira joins (~vnogueira@unaffiliated/vnogueira)
02:33:08 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 272 seconds)
02:33:32 <ski> eflister : just write something like `(`runState` initialAcc) (traverse (\val -> StateT (\acc -> do ...; return (newVal,newAcc))) myMap)'
02:34:20 <ski> (er, s/runState/runStateT/)
02:34:41 vnogueira parts (~vnogueira@unaffiliated/vnogueira) ()
02:34:53 <ski> (`mapAccumL' is just `traverse' on `State s')
02:34:54 jneira_ joins (~jneira@80.30.101.206)
02:34:57 <booppoob> ok, my friend(s) keep telling me only maths people do it. that's reassuring to hear.
02:35:59 <boxscape> heh, it does tend to attract maths people. There are some nice relationships between some Haskell concepts and some maths concepts, but I doubt most people who have learned haskell even heard about those math concepts before.
02:36:01 <ski> @where prerequisite
02:36:01 <lambdabot> "Prerequisite for Learning Haskell" <http://www.vex.net/~trebla/haskell/prerequisite.xhtml>
02:36:06 <ski> booppoob : see ^
02:36:44 <ski> that tells you what (little) math background is useful, for learning Haskell
02:37:16 <dolio> I think people have taught Haskell to high school students. Possibly grade school.
02:38:25 <boxscape> I wasn't taught it *in* high school but I did learn it while I was attending high school
02:40:57 × Turmfalke quits (~user@unaffiliated/siracusa) (Quit: Bye!)
02:42:18 <boxscape> hm I feel like that prerequisites page could benefit from some LaTeX, the ASCII math makes it look more difficult than it is
02:42:53 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
02:43:00 <ski> hm, not the other way around, then ?
02:43:17 <boxscape> well, I'm not suggesting to show the LaTeX source, but the rendered result
02:43:45 <boxscape> though you may have meant that
02:43:53 <ski> yes
02:44:19 ski looks at monochrom
02:44:36 <monochrom> All LaTeX does in this case is merely italicize.
02:44:40 <boxscape> I don't know, maybe - my impression would be that as long as you only use letters and numbers and not greek letters it shouldn't be any more menacing than ASCII math, but I could be wrong
02:44:46 <ski> monochrom : and superscripts
02:44:55 <boxscape> yeah I was thinking mostly of superscripts and asterisks
02:45:03 × ericsagnes quits (~ericsagne@2405:6580:0:5100:604a:a4e7:7f40:e8c2) (Ping timeout: 272 seconds)
02:45:04 <boxscape> though then again
02:45:18 <boxscape> I suppose the asterisks are a deliberate choice because juxtaposition is an ASCII feature
02:46:55 <boxscape> and I admit it could be jarring once you get to the source code which presumably would be rendered without LaTeX
02:47:35 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Ping timeout: 272 seconds)
02:47:47 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 258 seconds)
02:49:21 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
02:49:58 <booppoob> ok, i think i am done with the prerequisites, what would you suggest as a starting point to learn? which book should i begin with?
02:50:25 × nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System — https://guix.gnu.org)
02:51:08 nckx joins (~nckx@tobias.gr)
02:51:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:52:34 da39a3ee5e6b4b0d joins (~textual@mx-ll-171.5.162-140.dynamic.3bb.co.th)
02:52:41 <boxscape> booppoob In terms of free resources, this seems to be a pretty good introduction https://www.seas.upenn.edu/~cis194/spring13/lectures.html In terms of paid resources, there's haskellbook.com
02:53:37 <sshine> LaTeX also provides nice combined glyphs for "fi" and so on.
02:53:47 × Tops21 quits (~Tobias@dyndsl-095-033-022-068.ewe-ip-backbone.de) (Read error: Connection reset by peer)
02:54:10 <sshine> and does proper kerning.
02:54:45 <sshine> I wonder how modern web browsers are doing on that.
02:56:12 <booppoob> boxscape: thanks a lot.
02:56:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
02:56:39 <boxscape> booppoob there's some more resources here https://github.com/bitemyapp/learnhaskell
02:56:55 <boxscape> (but it recommends starting with one of the two I linked)
02:57:06 <sshine> what's the cheapest way to get nice whitespacing behavior in text paragraphs on homepages without putting a PDF instead of my page? can't I render with javascript something generated by LaTeX, in a way that seems like when people add LaTeX equations to home pages?
02:57:23 <sshine> but for text paragraphs.
02:57:38 ericsagnes joins (~ericsagne@2405:6580:0:5100:6cdc:fcb0:cc35:37b)
02:57:44 <boxscape> I would hate your website if you did that because it would probably make text unselectable
02:58:19 <sshine> boxscape, you'd hate my website now then. it's made from a javascript for making PowerPoint slideshows. I'm trying to turn it into a comic book viewer.
02:58:26 <boxscape> oh no
02:58:42 <sshine> boxscape, it has capacity for autoplay youtube and iframe backgrounds!
02:58:50 <boxscape> though text selection doesn't seem as important for comic book viewing
02:59:15 <sshine> it also has syntax-highlighted code that is friendly for copy-pasting.
02:59:15 kleisli_ joins (~kleisli@172-8-147-49.lightspeed.irvnca.sbcglobal.net)
02:59:26 <boxscape> that sounds lnice
02:59:31 <boxscape> s/lnice/nice
02:59:50 <sshine> often if I have text it's not a lot. I would hate myself if I wrote a book... so many other people are good at that. so I just try to share snippets of nice things I see.
03:00:02 × skvidal quits (~skvidal@193.56.252.210) ()
03:00:21 <sshine> trying to publish my friends comic books to a wider audience.
03:00:56 <boxscape> I see
03:01:58 × kleisli__ quits (~kleisli@2600:1700:4640:c560:68bd:9d76:dbd8:24e7) (Ping timeout: 260 seconds)
03:02:16 × darjeeling_ quits (~darjeelin@122.245.216.8) (Ping timeout: 272 seconds)
03:02:33 × theDon quits (~td@94.134.91.50) (Ping timeout: 256 seconds)
03:03:16 <sshine> https://simonshine.dk/insta.html -- this is just a random selection of artwork from a friend's instagram. -- this is a short comic based on a Lovecraft novel: https://simonshine.dk/udyret.html -- the writing's in Danish and the format isn't properly adjusted towards web viewing yet...
03:04:14 theDon joins (~td@muedsl-82-207-238-084.citykom.de)
03:04:59 <sshine> I wanna cut some of those boxes into smaller ones that take the whole screen, and then put some background music on it.
03:06:54 <sshine> I just think I should auto-detect those boxes and kinda take over rendering choices from the artist who made it for paper. then old comics can get repurposed with kind of a default rendering suggestion without needing to create some complicated editor or asking people to make PNG cut-outs of 300 pages.
03:07:35 boxscape19 joins (59f67a09@gateway/web/cgi-irc/kiwiirc.com/ip.89.246.122.9)
03:08:00 <sshine> I guess if you detect a bunch of boxes in a page, there's a natural way for the eye to go, and that can just be inferred from the layout of the page and turned into how the slideshow zooms, out and around in progressively.
03:10:57 × boxscape quits (58823b0b@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.59.11) (Ping timeout: 260 seconds)
03:11:07 boxscape joins (59f67a11@gateway/web/cgi-irc/kiwiirc.com/ip.89.246.122.17)
03:12:20 × boxscape19 quits (59f67a09@gateway/web/cgi-irc/kiwiirc.com/ip.89.246.122.9) (Ping timeout: 256 seconds)
03:12:21 × machinedgod quits (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 260 seconds)
03:13:05 × da39a3ee5e6b4b0d quits (~textual@mx-ll-171.5.162-140.dynamic.3bb.co.th) (Ping timeout: 258 seconds)
03:15:21 darjeeling_ joins (~darjeelin@122.245.219.58)
03:16:50 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds)
03:17:22 heatsink_ joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
03:17:57 × oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 260 seconds)
03:19:05 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 240 seconds)
03:19:07 × heatsink quits (~heatsink@2600:1700:bef1:5e10:b0dc:6c54:247b:ece) (Ping timeout: 240 seconds)
03:19:19 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
03:19:27 × ericsagnes quits (~ericsagne@2405:6580:0:5100:6cdc:fcb0:cc35:37b) (Ping timeout: 260 seconds)
03:19:54 jneira_ joins (~jneira@80.30.101.206)
03:19:55 oxide joins (~lambda@unaffiliated/mclaren)
03:21:31 rekahsoft joins (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com)
03:21:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
03:21:59 aarvar joins (~foewfoiew@50.35.43.33)
03:23:41 × acidjnk_new2 quits (~acidjnk@p200300d0c7365818803e8c849f4b43fc.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
03:24:19 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Ping timeout: 272 seconds)
03:28:17 × lateef quits (~lateef@cpe-174-109-67-227.nc.res.rr.com) (Quit: lateef)
03:29:15 Amras joins (~Amras@unaffiliated/amras0000)
03:29:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:31:29 ericsagnes joins (~ericsagne@2405:6580:0:5100:c421:5063:beb8:cd39)
03:32:47 mmohammadi9812 joins (~mmohammad@5.238.164.128)
03:38:01 mmohammadi98126 joins (~mmohammad@5.115.231.155)
03:39:56 × mmohammadi9812 quits (~mmohammad@5.238.164.128) (Ping timeout: 246 seconds)
03:39:56 mmohammadi98126 is now known as mmohammadi9812
03:40:29 jedws_ joins (~jedws@121.209.139.222)
03:41:49 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection)
03:42:14 falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
03:42:48 × nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System — https://guix.gnu.org)
03:43:13 nckx joins (~nckx@tobias.gr)
03:44:26 × boxscape quits (59f67a11@gateway/web/cgi-irc/kiwiirc.com/ip.89.246.122.17) (Quit: Connection closed)
03:48:08 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
03:49:54 zacts joins (~zacts@dragora/developer/zacts)
03:51:24 × jedws_ quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:52:03 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
03:52:11 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
03:53:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:53:37 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 264 seconds)
03:55:49 chx joins (~chx@84.39.117.57)
03:56:25 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Ping timeout: 240 seconds)
03:59:58 × aenesidemus quits (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) (Ping timeout: 265 seconds)
04:00:32 milkii parts (~milk@2001:19f0:7401:866a:15f3:a8f4:441d:ab86) ("afe")
04:00:33 × mmohammadi9812 quits (~mmohammad@5.115.231.155) (Quit: I quit (╯°□°)╯︵ ┻━┻)
04:00:50 inkbottle joins (~inkbottle@aaubervilliers-654-1-100-182.w86-212.abo.wanadoo.fr)
04:01:23 Rudd0 joins (~Rudd0@185.189.115.108)
04:01:45 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 240 seconds)
04:01:54 jneira_ joins (~jneira@38.red-193-152-116.dynamicip.rima-tde.net)
04:02:01 × zebrag quits (~inkbottle@aaubervilliers-654-1-99-38.w86-212.abo.wanadoo.fr) (Ping timeout: 264 seconds)
04:02:31 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
04:03:06 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
04:03:06 × jneira_ quits (~jneira@38.red-193-152-116.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
04:03:36 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
04:03:39 × eflister quits (47ee2144@c-71-238-33-68.hsd1.or.comcast.net) (Remote host closed the connection)
04:03:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
04:04:10 jneira_ joins (~jneira@80.30.101.206)
04:04:31 rprije joins (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au)
04:05:46 × rekahsoft quits (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
04:05:59 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
04:06:56 × reppertj quits (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
04:08:19 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection)
04:08:54 falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
04:09:04 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 260 seconds)
04:09:05 xerox_ joins (~xerox@unaffiliated/xerox)
04:09:09 × stiell quits (~stian@fsf/member/stiell) (Ping timeout: 265 seconds)
04:09:13 heavengin7 joins (~lovely@49.145.200.126)
04:10:50 jneira_ joins (~jneira@80.30.101.206)
04:11:42 × heavengin7 quits (~lovely@49.145.200.126) (Quit: Hi. If you wanna buy selected item on Amazonian pls click here > http://amazonian2.000webhostapp.com/)
04:11:45 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 240 seconds)
04:12:13 × eric quits (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27) (Remote host closed the connection)
04:13:20 stiell joins (~stian@fsf/member/stiell)
04:14:00 eric joins (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27)
04:14:38 day_ joins (~Unknown@unaffiliated/day)
04:15:28 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 260 seconds)
04:17:37 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
04:18:16 × day quits (~Unknown@unaffiliated/day) (Ping timeout: 272 seconds)
04:18:16 day_ is now known as day
04:18:47 × eric quits (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27) (Ping timeout: 272 seconds)
04:19:56 jneira_ joins (~jneira@38.red-193-152-116.dynamicip.rima-tde.net)
04:21:45 × Franciman quits (~Franciman@acqua.team) (Ping timeout: 240 seconds)
04:21:45 × jneira_ quits (~jneira@38.red-193-152-116.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
04:21:51 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 246 seconds)
04:22:43 jneira_ joins (~jneira@80.30.101.206)
04:24:18 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
04:28:45 × howdoi quits (uid224@gateway/web/irccloud.com/x-zdarqnpcqwthpiik) (Quit: Connection closed for inactivity)
04:31:12 × TooDifficult quits (~TooDiffic@139.59.59.230) (Quit: TooDifficult)
04:31:40 TooDifficult joins (~TooDiffic@139.59.59.230)
04:32:34 Saukk joins (~Saukk@2001:998:dc:4a67:1c59:9bb5:b94c:4)
04:36:56 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
04:37:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:40:59 × TooDifficult quits (~TooDiffic@139.59.59.230) (Quit: TooDifficult)
04:41:05 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
04:41:43 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Ping timeout: 260 seconds)
04:42:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
04:44:43 wagle joins (~wagle@quassel.wagle.io)
04:45:47 nineonine joins (~nineonine@216-19-190-182.dyn.novuscom.net)
04:46:12 asan joins (~yan4138@124.78.18.192)
04:49:18 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 272 seconds)
04:51:43 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
04:52:59 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
04:55:35 shafox joins (~shafox@106.51.234.111)
04:58:28 Sanchayan joins (~Sanchayan@106.200.239.146)
05:00:05 × perdent quits (~k4fr@91.132.136.84) (Ping timeout: 240 seconds)
05:00:47 × asan quits (~yan4138@124.78.18.192) (Ping timeout: 246 seconds)
05:01:16 gtr joins (75635aa4@117.99.90.164)
05:01:42 × russruss8 quits (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
05:02:09 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
05:04:21 russruss8 joins (~russruss@my.russellmcc.com)
05:04:43 aeth joins (~Michael@wesnoth/umc-dev/developer/aethaeryn)
05:06:06 × gtr quits (75635aa4@117.99.90.164) (Remote host closed the connection)
05:06:12 × falafel quits (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds)
05:06:41 × booppoob quits (uid425746@gateway/web/irccloud.com/x-zxeyoiczknyxztoh) (Quit: Connection closed for inactivity)
05:07:02 × nan` quits (~nan`@unaffiliated/nan/x-5405850) (Quit: leaving)
05:07:40 × stiell quits (~stian@fsf/member/stiell) (Ping timeout: 272 seconds)
05:07:43 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
05:10:26 × tsrt^ quits (~hph@ip98-184-89-2.mc.at.cox.net) ()
05:11:35 booppoob joins (uid425746@gateway/web/irccloud.com/x-tkeigqqpbyoktbzy)
05:11:47 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
05:12:08 ntwoaaci^ joins (ntwoaaci@ip98-184-89-2.mc.at.cox.net)
05:12:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:12:30 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
05:14:00 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Remote host closed the connection)
05:14:00 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds)
05:14:00 Lord_of_Life_ is now known as Lord_of_Life
05:14:06 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
05:15:02 platypine joins (~joshie@c-73-249-162-185.hsd1.ct.comcast.net)
05:17:45 jedws joins (~jedws@121.209.139.222)
05:18:55 × remexre quits (~nathan@207-153-38-50.fttp.usinternet.com) (Remote host closed the connection)
05:18:56 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
05:19:46 perdent joins (~k4fr@101.175.168.104)
05:21:02 <siraben> edwardk: Just finished reading your article on the bound library, it sounds very useful.
05:21:21 <siraben> Have you seen https://github.com/jozefg/cooked-pi/blob/master/src/LambdaPi/Bound.hs ?
05:21:35 <sim590> I have a `A a` data type with its own constructors. Now, I'm making a `newtype B b = A b`. Is it possible for me to use A's constructors to map them against variables of type `B` ? Otherwise, what's the prefered approach?
05:22:52 <siraben> sim590: when you write `newtype B b = A b`, you're creating a constructor `A :: b → B b` by the way
05:23:07 <siraben> I think what you want is `newtype B b = B (A b)`
05:23:45 × gmt quits (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
05:24:27 remexre joins (~nathan@207-153-38-50.fttp.usinternet.com)
05:24:45 <siraben> sim590: You're saying that you want implicit coercion from `A a` to `B a`?
05:25:22 <sim590> Here's what I want to do: http://sprunge.us/MSk4Mo. See the function `toto` which yields an error "Couldn't match expected type ‘LBSTree a’ with actual type ‘BSTree a0’".
05:25:53 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:27:37 <sim590> Because my LBSTree is an extension of BSTree, so I would have liked to simply use its constructors. I think that "implicit coercion" is correctly capturing what I want to do, but I'm not sure about the semantic of the word.
05:28:32 <sim590> There are functions defined for BSTree already and I would have liked to use them on LBSTree also if that's possible. But what I'm really looking for is the most standard way of achieving this extension.
05:28:37 <siraben> sim590: Yes, the type error occurs because BEmpty has type BSTree a
05:29:09 <siraben> What you need to change is `newtype LBSTree a = BSTree (LBSNode a)` to `newtype LBSTree a = LBSTree (BSTree (LBSNode a))`
05:29:43 <siraben> Then the first case of the pattern match, `toto BEmpty = undefined` to `toto (LBSTree BEmpty) = undefined`
05:29:48 <sim590> OK, so I really need to define another constructor.
05:30:01 <siraben> If you don't want having to write the constructor `LBSTree`, I'd say write this
05:30:12 <siraben> `type LBSTree a = BSTree (LBSNode a)`
05:30:21 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
05:30:22 <siraben> s/having/to have
05:30:38 <siraben> Then you can keep the type signature of `toto`
05:31:06 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
05:31:20 <sim590> Oh. Yes! So type will just substitute LBSTree a to BSTree (LBSNode a).
05:31:28 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 258 seconds)
05:31:45 mmohammadi98126 joins (~mmohammad@5.115.231.155)
05:31:46 <siraben> Using `type` in Haskell is a lot like `typedef` in C, it's a type alias. `newtype` OTOH creates a wrapper (to make things opaque), but while still having the same runtime representation
05:31:49 <siraben> Right.
05:32:47 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
05:32:49 xpika joins (~alan@2001:8003:5d32:1f00:2a:bc61:ce8c:6d8)
05:33:46 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
05:33:55 <sim590> Does it always work in every cases? I do have other cases such as this signature: `append :: HasCallStack => LBSPComputer a -> a -> LBSTree a -> Chronicle Messages (LBSTree a)` and I'm getting an error "Occurs check: cannot construct the infinite type: a ~ LBSNode a"
05:34:53 <sim590> Oh No. I understand
05:35:06 <sim590> It's fine
05:35:09 <sim590> Thanks!
05:35:10 <siraben> How did the HasCallStack constraint appear here?
05:36:07 <siraben> No problem
05:36:50 <sim590> It's a project I'm working on. I had this BSTree module, but now I'm splitting it into BSTree and LBSTree. I already had some extensive code for things like logging with (co-log and Chronicle). I'm using GHC.Stack for keeping the trace in my functions where logging is enabled.
05:37:45 <sim590> The cause of my last problem was because I was not wrapping the `a` type in `LBSNode` after porting the code from BSTree to LBSTree.
05:37:50 <sim590> Hence the infinite type error.
05:38:18 <siraben> Ah, I see. Heh, I don't use logging myself in Haskell.
05:39:27 toorevitimirp joins (~tooreviti@117.182.182.33)
05:42:16 × solonarv quits (~solonarv@astrasbourg-653-1-186-165.w90-13.abo.wanadoo.fr) (Ping timeout: 256 seconds)
05:42:23 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
05:42:24 <sim590> ;) It's less complicated in that case. Where I don't need it, I don't use it.
05:42:53 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:43:31 fweht joins (uid404746@gateway/web/irccloud.com/x-xnkzclwannqfwfls)
05:45:21 bahamas joins (~lucian@unaffiliated/bahamas)
05:46:22 × Faker quits (bad2e42c@186.210.228.44) (Remote host closed the connection)
05:47:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
05:49:01 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
05:49:58 hackage incremental 0.3.1 - incremental update library https://hackage.haskell.org/package/incremental-0.3.1 (FumiakiKinoshita)
05:50:50 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 246 seconds)
05:53:37 stiell joins (~stian@fsf/member/stiell)
05:54:03 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 260 seconds)
06:00:01 × chx quits (~chx@84.39.117.57) ()
06:00:30 × Saukk quits (~Saukk@2001:998:dc:4a67:1c59:9bb5:b94c:4) (Remote host closed the connection)
06:01:35 jneira_ joins (~jneira@80.30.101.206)
06:04:07 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
06:04:28 hackage metro 0.1.0.2 - A simple tcp and udp socket server framework https://hackage.haskell.org/package/metro-0.1.0.2 (Lupino)
06:04:42 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
06:06:55 × heatsink_ quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
06:06:59 × toorevitimirp quits (~tooreviti@117.182.182.33) (Remote host closed the connection)
06:07:28 toorevitimirp joins (~tooreviti@117.182.182.33)
06:08:28 × platypine quits (~joshie@c-73-249-162-185.hsd1.ct.comcast.net) (Ping timeout: 272 seconds)
06:09:34 × lockshaw quits (~lockshaw@165.22.163.71) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
06:09:44 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
06:10:04 × jespada quits (~jespada@90.254.241.6) (Ping timeout: 246 seconds)
06:12:00 lockshaw joins (~lockshaw@165.22.163.71)
06:13:10 jespada joins (~jespada@90.254.241.6)
06:16:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:16:40 × toorevitimirp quits (~tooreviti@117.182.182.33) (Read error: Connection reset by peer)
06:21:05 zacts1 joins (~zacts@s91904426.blix.com)
06:21:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
06:29:34 × sfvm quits (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine)
06:30:36 river_ joins (~river@2600:1700:4640:c560:68bd:9d76:dbd8:24e7)
06:31:29 platypine joins (~platypine@c-73-249-162-185.hsd1.ct.comcast.net)
06:33:40 × platypine quits (~platypine@c-73-249-162-185.hsd1.ct.comcast.net) (Client Quit)
06:33:43 mmohammadi981261 joins (~mmohammad@5.238.164.128)
06:33:48 × mmohammadi98126 quits (~mmohammad@5.115.231.155) (Ping timeout: 272 seconds)
06:33:48 mmohammadi981261 is now known as mmohammadi98126
06:34:03 platypine joins (~platypine@c-73-249-162-185.hsd1.ct.comcast.net)
06:34:10 vicfred joins (~vicfred@unaffiliated/vicfred)
06:34:30 aeth parts (~Michael@wesnoth/umc-dev/developer/aethaeryn) ()
06:34:38 × tzh quits (~tzh@2601:448:c500:5300::ad1c) (Quit: zzz)
06:34:59 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
06:35:04 × river_ quits (~river@2600:1700:4640:c560:68bd:9d76:dbd8:24e7) (Client Quit)
06:37:53 × kleisli_ quits (~kleisli@172-8-147-49.lightspeed.irvnca.sbcglobal.net) (Quit: Leaving)
06:42:37 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
06:42:58 hackage extensible 0.8.1 - Extensible, efficient, optics-friendly data types and effects https://hackage.haskell.org/package/extensible-0.8.1 (FumiakiKinoshita)
06:49:32 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
06:50:04 ph88 joins (~ph88@ip5f5af726.dynamic.kabel-deutschland.de)
06:53:24 × kupi quits (uid212005@gateway/web/irccloud.com/x-sjortpcvbymtcblo) (Quit: Connection closed for inactivity)
06:54:50 kleisli joins (~kleisli@2600:1700:4640:c560:68bd:9d76:dbd8:24e7)
06:55:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:55:55 kleisli is now known as dillon
06:57:08 dillon is now known as endorphin
06:59:20 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
07:01:56 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
07:06:44 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
07:07:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
07:08:26 lucid_0x80 joins (~lucid_0x8@188.253.237.250)
07:10:20 toorevitimirp joins (~tooreviti@117.182.182.33)
07:10:29 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
07:10:57 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
07:11:15 gnumonik joins (~gnumonik@c-73-170-91-210.hsd1.ca.comcast.net)
07:11:38 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
07:11:39 fendor joins (~fendor@212095005091.public.telering.at)
07:11:46 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
07:12:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
07:14:22 zaquest joins (~notzaques@5.128.210.178)
07:14:56 × toorevitimirp quits (~tooreviti@117.182.182.33) (Client Quit)
07:15:22 brown121407 joins (~brown1214@brown.121407.xyz)
07:15:36 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
07:18:00 toorevitimirp joins (~tooreviti@117.182.182.33)
07:18:16 × toorevitimirp quits (~tooreviti@117.182.182.33) (Client Quit)
07:20:01 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 264 seconds)
07:20:32 ryansmccoy joins (~ryansmcco@156.96.151.132)
07:20:34 toorevitimirp joins (~tooreviti@117.182.182.33)
07:22:43 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
07:25:54 deviantfero joins (~deviantfe@190.99.48.231)
07:27:53 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
07:29:29 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
07:29:41 × lucid_0x80 quits (~lucid_0x8@188.253.237.250) (Quit: Leaving)
07:29:58 lucid_0x80 joins (~lucid_0x8@188.253.237.250)
07:32:42 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
07:34:39 × oxide quits (~lambda@unaffiliated/mclaren) (Read error: Connection reset by peer)
07:35:09 <edwardk> siraben: i had not
07:35:20 <edwardk> siraben: but its pretty much the same kinda thing as dolio's upts code
07:35:33 <siraben> lam a = Lam . abstract1 a What does the a mean?
07:35:34 <siraben> lam :: Eq a => a -> Expr a -> Expr a
07:35:44 <edwardk> both of those lack a thing that i think andras gets right in his elaboration zoo, which is he starts with a surface language and compiles down to a core
07:35:48 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
07:35:58 <siraben> I'm putting a number there but not sure what abstract1 does
07:35:59 <edwardk> lam "x" $ some expression which uses Var "x"
07:36:03 <edwardk> think String
07:36:06 <siraben> Oh I see
07:36:11 danvet_ joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
07:36:16 <edwardk> its whatever names you have before you start binding things up
07:37:03 × irc_user quits (uid423822@gateway/web/irccloud.com/x-stvaebjkkjdergtx) (Quit: Connection closed for inactivity)
07:37:16 <edwardk> heck, when working with meta variables the 'a' in my expressions is often something like an newtype Meta = Meta (IORef (Maybe (Term Meta)))
07:38:03 <edwardk> so i start out with Expr String, because its easy to work with in the parser, finish closing my terms, because i traverse over them with traverse (const Nothing) -- which tells me Nothing if the term is not closed, or Just (Expr a) for any a i want if it is closed
07:38:32 <edwardk> then I can start using it as Expr Void for a while, maybe switching to Expr Meta when doing unification
07:38:48 <edwardk> s/Term/Expr/ in the definition of meta to use that though
07:39:41 <edwardk> abstract1 looks for all occurrences of that name in Term a and converts them to the () in Scope () Term a
07:40:07 <edwardk> abstract is more general and can be used to grab several names at once, say for a pattern or a recursive let binding
07:40:37 <siraben> That makes sense
07:40:39 <edwardk> instantiate1 is how you substitute a term for the bound () in Scope () Term a
07:41:01 <siraben> hasType (lam 0 $ Var 0) (pi 0 (Var 0) (Var 0)) seems to fail, but hasType (lam 0 $ Var 0) (pi 0 (Var 1) (Var 1)) succeeds
07:41:16 <siraben> It seemed to try to equate Var 0 and Var 1, hm.
07:42:12 <siraben> I'm trying to do a simple, (\x → x) : Π (x : Star). x → x
07:42:15 <edwardk> (\x. x) :: Pi(x :: y). y -- is what the second one says
07:42:18 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
07:42:19 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
07:42:27 × jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:42:33 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
07:43:09 <edwardk> the former says (\x.x) :: Pi(x:some_unbound_variable_named_0).x. no?
07:43:26 <siraben> Ah, hm.
07:43:36 <edwardk> er i don't know your pi constructor there
07:43:39 <edwardk> let me read the code
07:43:41 rekahsoft joins (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com)
07:44:02 <edwardk> but it should be something along those lines. pi should only be binding the variable name in the result type not the arg type
07:44:07 <siraben> http://ix.io/2y5J
07:44:21 <siraben> it's the same as the one in the lambda-pi repo, but with error messages
07:44:34 oxide joins (~lambda@unaffiliated/mclaren)
07:45:04 × toorevitimirp quits (~tooreviti@117.182.182.33) (Remote host closed the connection)
07:45:17 jedws joins (~jedws@121.209.139.222)
07:46:25 <edwardk> i'd expect your hasType thing to be like
07:46:38 toorevitimirp joins (~tooreviti@117.182.182.33)
07:46:46 × platypine quits (~platypine@c-73-249-162-185.hsd1.ct.comcast.net) (Read error: Connection reset by peer)
07:47:07 platypine joins (~platypine@c-73-249-162-185.hsd1.ct.comcast.net)
07:47:19 <siraben> Ah before it would return a Bool, heh.
07:47:31 <edwardk> hasType (lam "x" $ Var "x") (pi "y" Star (Var "y"))
07:48:26 <siraben> Translating that I have, hasType (lam 0 $ Var 0) (pi 1 Star (Var 1)) which gets Left "Failed to unify Var 1 with Star"
07:48:27 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
07:48:41 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
07:48:44 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
07:48:47 × rekahsoft quits (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
07:48:54 <edwardk> where you may have to traverse (const Nothing) -- over both of those to close them and match whatever types hasType expects or generalize hasType to Expr a and Val a with Eq
07:49:32 × toorevitimirp quits (~tooreviti@117.182.182.33) (Client Quit)
07:50:07 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
07:50:40 <siraben> Why would traverse (const Nothing) close them?
07:50:53 rekahsoft joins (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com)
07:51:07 <phadej> :t foldMap (const Nothing) []
07:51:08 <lambdabot> Semigroup a => Maybe a
07:51:16 <phadej> :t traverse (const Nothing) []
07:51:18 <lambdabot> Maybe [b]
07:51:23 <phadej> :t traverse (const Nothing) "foobar"
07:51:25 <lambdabot> Maybe [b]
07:51:27 <phadej> traverse (const Nothing) "foobar"
07:51:31 <phadej> > traverse (const Nothing) "foobar"
07:51:34 <lambdabot> Nothing
07:51:35 <phadej> > traverse (const Nothing) []
07:51:38 <lambdabot> Just []
07:51:50 <phadej> "there is no 'a'"
07:52:02 × jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:52:27 <phadej> recall, that in `bound` 'a' is a type of free variables
07:52:40 <phadej> if there is no 'a', there is no free variables -> expression is closed
07:52:53 toorevitimirp joins (~tooreviti@117.182.182.33)
07:53:09 <phadej> ('a' in 'Expr a')
07:53:39 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
07:54:02 jedws joins (~jedws@121.209.139.222)
07:54:06 bahamas joins (~lucian@unaffiliated/bahamas)
07:54:30 <siraben> traverse (const Nothing) (lam 0 $ Var 0) :: Maybe (Expr b)
07:54:30 <siraben> for me
07:54:36 <siraben> Result is Just (Lam (Scope (Var (B ()))))
07:54:48 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 260 seconds)
07:54:52 <edwardk> yes
07:54:54 <edwardk> that is a closed term
07:54:54 <phadej> yes, \x.x is closed
07:55:03 <edwardk> try it with lam 0 $ Var 1
07:55:06 <edwardk> and it'll bail with Nothing
07:55:30 <siraben> Ah I see
07:55:33 <edwardk> but if it succeeds, because the term is closed, you can use it as Expr a for any a you like
07:55:45 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 240 seconds)
07:55:46 <edwardk> that way you can work 'conveniently' with strings while parsing
07:55:50 <edwardk> and then switch to integers
07:56:00 <edwardk> or just passing around types during typechecking
07:57:00 dansho joins (~dansho@ip68-108-167-185.lv.lv.cox.net)
07:57:20 <siraben> Hm, maybe this implementation of lambda pi is bugged? It was written in 2014
07:57:25 <edwardk> i think so
07:57:33 <siraben> I can't seem to get \x → x to have the polymorphic type
07:57:36 <edwardk> i don't have Control.Monad.Gen in scope, what is that from?
07:57:45 <siraben> monad-gen
07:58:09 <edwardk> well, to make a polymorphic if you'd have to pass the argument first
07:58:09 × jedws quits (~jedws@121.209.139.222) (Client Quit)
07:58:40 <edwardk> id :: Pi(A:*). A -> A
07:58:40 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 258 seconds)
07:59:18 <edwardk> so you need two Pis and two lambdas, this language lacks implicit vs. explicit lambdas/pis.
08:00:07 <siraben> Well, time to read elaboration-zoo then. hm.
08:00:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:00:10 <edwardk> id = \_ a. a -- needs to ignore its first arg
08:00:27 <siraben> What if I want fully explicit lambdas and pis?
08:00:35 <siraben> What would that look like?
08:00:49 <edwardk> id :: pi (a : star). pi (_ : a). a
08:00:59 <edwardk> id = \_. \a. a
08:01:04 <siraben> ((A :: *) (x :: A). x) :: Pi (A :: *). a
08:01:13 <siraben> oops, ((A :: *) (x :: A). x) :: Pi (A :: *). a
08:01:16 <siraben> backslash
08:01:35 <edwardk> (A::*).(_::A).A
08:01:45 <edwardk> however you notate that pi in your syntax
08:02:24 shatriff joins (~vitaliish@176.52.219.10)
08:02:41 <edwardk> Pi(A::*). is like forall a. in haskell then the next bit Pi(_::A). A is not using the variable bound so it is like a -> a in haskell
08:02:42 <siraben> (lam 0 (lam 0 (Var 0))) for term, I think.
08:02:54 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
08:03:03 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
08:03:06 <siraben> I'm not sure how the lam smart constructor is supposed to work
08:03:06 <edwardk> lam "A" $ lam "a" $ var "a"
08:03:23 <phadej> fwiw, when using bound, I never really think about de bruijn indices
08:03:26 × mmohammadi98126 quits (~mmohammad@5.238.164.128) (Ping timeout: 256 seconds)
08:03:34 <phadej> I just truste that `abstract` makes it right
08:03:38 kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz)
08:03:39 <edwardk> those numbers aren't levels, they are variable "names"
08:03:43 <edwardk> you just chose to use numbers
08:03:46 <siraben> Oh I see
08:03:51 <edwardk> you could use strings, or text
08:03:53 × toorevitimirp quits (~tooreviti@117.182.182.33) (Remote host closed the connection)
08:03:59 <siraben> The problem is that it typechecks to Expr [Char], when I need Expr Int
08:04:11 <edwardk> and traverse (const Nothing) -- will get you Expr Int
08:04:24 <siraben> Ah, it's clear now. Ok I'll try
08:05:01 <edwardk> i even export it from bound as 'closed'
08:05:29 <edwardk> fromJust . closed = 'trust me i'm closed'
08:05:35 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
08:05:54 cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
08:06:15 × drbean quits (~drbean@TC210-63-209-205.static.apol.com.tw) (Read error: Connection reset by peer)
08:06:48 <edwardk> so you should be checking lam "A" $ lam "a" $ var "a". against type Pi "A" Star $ Pi "_" (Var "A") $ Var "A"
08:06:58 Lycurgus joins (~niemand@98.4.96.130)
08:07:07 <edwardk> er using lowercase Pi's there
08:07:20 <dansho> cant figure out this overlapping problem, its ok with the first OVERLAPS (Bar) but error only on the second (Baz) https://hastebin.com/azojuvehes.hs
08:07:25 × ericsagnes quits (~ericsagne@2405:6580:0:5100:c421:5063:beb8:cd39) (Ping timeout: 272 seconds)
08:07:26 <dansho> neither Bar nor Baz are Distributions
08:07:39 <edwardk> man i forgot how much of a PITA template-haskell is to write
08:07:40 <siraben> Oh, two levels of Pi, I missed that
08:07:45 <edwardk> its gorgeous once it is written
08:07:50 <edwardk> but its frustrating to write
08:08:01 <edwardk> well, not very gorgeous once written, because then someone has to maintain it
08:08:09 <siraben> Yay it works
08:08:13 <edwardk> ok, so its a shit show all around, but its still convenient
08:08:13 <siraben> hasType' (lam "A" (lam "a" (Var "a"))) (pi "A" Star (pi "_" (Var "A") (Var "A")))
08:08:24 <siraben> Ok so I think the typechecking is correct here then
08:08:24 <edwardk> yay!
08:08:32 <siraben> I get, Just (Right ())
08:08:36 <siraben> it's just right.
08:08:38 <edwardk> =)
08:08:59 × lucid_0x80 quits (~lucid_0x8@188.253.237.250) (Remote host closed the connection)
08:09:07 <siraben> And that's why we want implicit args, heh
08:09:16 <dansho> like why would ghc even consider the Distribution instance if the type is not an instance?
08:09:19 lucid_0x80 joins (~lucid_0x8@188.253.237.250)
08:09:27 <edwardk> i'm writing more unsafeCoerce's per line right now than I have in years. this is obviously going to work first time, right?
08:09:33 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
08:09:42 <siraben> Why are you writing unsafeCoerce?
08:10:02 <phadej> because edward is smarter than GHC ;)
08:10:04 <edwardk> https://github.com/ekmett/haskell/blob/master/types/src/Data/Type/Internal.hs
08:10:34 × rekahsoft quits (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds)
08:10:48 dmr0x80 joins (~drm@188.253.237.250)
08:11:09 <edwardk> that code makes Int, Char usable as a kind and Type,Nat,Symbol usable as terms, and provides one general form of singleton lifting story that is O(1) rather than O(n) like in the singletons library
08:11:23 <edwardk> but it does so by using evil
08:11:31 <edwardk> and then unsafeCoercing that evil to make it more evil
08:12:02 <edwardk> so since the code towards the bottom is super formulaic i want to let template haskell generate it all for the user
08:13:50 lateef joins (~lateef@cpe-174-109-67-227.nc.res.rr.com)
08:14:12 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 265 seconds)
08:14:21 × dmr0x80 quits (~drm@188.253.237.250) (Client Quit)
08:15:58 <edwardk> the code there can be pretty hard to follow because you need to know what cheats it uses
08:16:17 jneira_ joins (~jneira@80.30.101.206)
08:16:53 <edwardk> newtype Sing (a :: k) = UnsafeSing { fromSing :: k } -- is the first weird to read bit
08:17:43 <edwardk> it takes a phantom type argument a of kind k, then uses k at the term level as well. So you might have UnsafeSing True :: Sing 'True
08:18:05 <edwardk> of course its just a phantom so nothing overtly keeps you from saying UnsafeSing False :: Sing 'True
08:18:09 <edwardk> that is what the rest is for
08:19:02 <edwardk> the goal is to use Sing (a :: k) as a way to represent terms of type k as a type, with each term getting a different type
08:19:08 <siraben> I see
08:19:19 <siraben> I mostly use dependent types for theorem proving, haven't had a use for them in Haskell yet
08:19:25 <edwardk> the direct way of doing this would be to do this once for each type
08:19:35 <edwardk> e.g.
08:19:41 ericsagnes joins (~ericsagne@2405:6580:0:5100:64a7:3952:c5b0:2946)
08:19:59 <edwardk> data Nat = Z | S Nat; data SNat (n :: Nat); SZ :: SNat 'Z; SS :: SNat n -> SNat ('S n)
08:20:12 <edwardk> SNat n and Sing n play the same role here
08:20:31 bahamas joins (~lucian@unaffiliated/bahamas)
08:20:37 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 246 seconds)
08:20:44 <edwardk> i emulate SNat n off of patterns and GADTs and lots of unsafeCoerce below
08:21:17 johtso joins (uid563@gateway/web/irccloud.com/x-ycqdrdpxyawcvjxk)
08:21:21 × lucid_0x80 quits (~lucid_0x8@188.253.237.250) (Remote host closed the connection)
08:21:37 <siraben> Weird that lifting singletons takes O(n), didn't know that was the case
08:21:41 lucid_0x80 joins (~lucid_0x8@188.253.237.250)
08:21:42 <siraben> In the singletons library
08:21:52 jneira_ joins (~jneira@80.30.101.206)
08:22:31 <edwardk> well its O(1) for each part you touch, but there is a translation cost, because you have to put on and take off the conversions eleemnt by element in say a [a] reflected to a singleton list
08:23:13 <edwardk> but my goal was to be able to get a singleton Int represented as a machine Int
08:23:21 <edwardk> rather than some peano monstrosity
08:23:30 <edwardk> and my singleton list internally to be a list
08:23:34 <siraben> Since GHC doesn't know about dependent types, how can it perform erasure?
08:23:45 Agiza joins (2eef7ad3@larka.olf.sgsnet.se)
08:24:27 <edwardk> types are still erased
08:24:48 <Agiza> Hi! Can someone help me with a simple function? I just started learning and can't understand why one function won't work
08:25:29 × Agiza quits (2eef7ad3@larka.olf.sgsnet.se) (Remote host closed the connection)
08:25:55 <siraben> oh they left lol
08:25:59 Agiza joins (2eef7ad3@larka.olf.sgsnet.se)
08:26:20 <siraben> Agiza: just ask, don't ask to ask
08:26:50 <Agiza> I don't understand what I did wrong here: boomBangs xs = [if x < 10 then "BOOM!" else "BANG!" | x <- xs, odd x ]
08:27:28 <[exa]> Agiza: what's that supposed to do?
08:27:55 <[exa]> currently it prints one boom for each odd number below 10 and one bang for all other odd numbers in xs
08:28:00 <siraben> Agiza: that seems well-typed to me
08:28:05 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds)
08:28:26 <Agiza> It's from a tutorial: "Let's say we want a comprehension that replaces each odd number greater than 10 with "BANG!" and each odd number that's less than 10 with "BOOM!". If a number isn't odd, we throw it out of our list." but I only get an error
08:28:46 <Agiza> The error is: <interactive>:35:11: error: • No instance for (Num [Integer]) arising from the literal ‘23’ • In the first argument of ‘boomBangs’, namely ‘23’ In the expression: boomBangs 23 In an equation for ‘it’: it = boomBangs 23
08:29:05 <siraben> Agiza: that's because boomBangs takes a list of numbers
08:29:07 <[exa]> Agiza: you must give it a list, like in: boomBangs [23]
08:29:08 <siraben> Type :t boomBangs in the repl
08:29:20 <siraben> or try, boomBangs [1..100]
08:29:39 <dansho> whew ok figured out the correct overlap pragmas: OVERLAPPABLE on the first, nothing on the second, and OVERLAPPING on the third
08:29:42 <Agiza> Ooooh now I understand! I was writing boomBangs 23
08:30:04 <Agiza> Thank you for the help!
08:30:25 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
08:31:12 <siraben> Agiza: FYI, "No instance for (Num [Integer]) arising from the literal ‘23’ " means that GHC is trying to interpret 23 as a list of numbers.
08:32:04 <[exa]> Agiza: btw this might be a nice exercise for catMaybes/map; try constructing `oneBoomBang :: Int -> Maybe String` for converting a single integer, and only then expand it to work with lists
08:32:09 <edwardk> siraben: anyways the idea is Nat only exists as a kind in ghc, Type only exists as a kind, Symbol is only a kind, and Int is only a type, Char is only a type. I want to be able to use Int as a kind, and lift term level ints into it, same with term level chars as types inhabiting the Char kind, and i want to go the other way. i want a Nat type that has Z and S as terms in it, same with Symbol holding strings and values for types letting
08:32:09 <edwardk> me check type equality
08:33:13 <edwardk> siraben: and then Sing a can be written once and for all for all of these and let me lift terms in a type to types in a kind of singletons, such that each of those singleton types only has one inhabitant
08:33:42 <edwardk> the api is sort of the bastard child of the singletons library and my reflection library
08:35:05 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 258 seconds)
08:35:23 mmohammadi98126 joins (~mmohammad@5.238.164.128)
08:36:40 <Agiza> [exa] What would that look like? I am too new to this (started yesterday) so it's very confusing
08:36:45 × Lycurgus quits (~niemand@98.4.96.130) (Quit: Exeunt)
08:36:56 <Agiza> siraben Thank you!
08:38:16 <siraben> I see.
08:38:35 <siraben> In a dependently typed language, this would not be necessary at all, correct?
08:41:38 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
08:42:09 knupfer joins (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de)
08:43:29 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Read error: Connection reset by peer)
08:44:43 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
08:49:05 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Ping timeout: 240 seconds)
08:51:17 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
08:51:28 hackage uniqueness-periods-vector-filters 0.2.0.0 - A library allows to change the structure of the 'RealFrac' function output. https://hackage.haskell.org/package/uniqueness-periods-vector-filters-0.2.0.0 (OleksandrZhabenko)
08:56:01 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 264 seconds)
08:56:18 jedws joins (~jedws@121.209.139.222)
08:56:32 mmohammadi981260 joins (~mmohammad@5.238.182.16)
08:57:34 × jedws quits (~jedws@121.209.139.222) (Client Quit)
08:58:59 × mmohammadi98126 quits (~mmohammad@5.238.164.128) (Ping timeout: 260 seconds)
08:58:59 mmohammadi981260 is now known as mmohammadi98126
09:00:02 × zacts1 quits (~zacts@s91904426.blix.com) ()
09:00:29 × ntwoaaci^ quits (ntwoaaci@ip98-184-89-2.mc.at.cox.net) ()
09:02:27 hackage Z-Data 0.1.2.0 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.2.0 (winterland)
09:04:29 <[exa]> Agiza: oh so. Basically, make a simple function that converts eg. 23 to `Just "BANG"` and 8 to `Nothing`, and try using some higher order functions to expand this functionality to lists without actually touching the lists plumbing manually; in particular try `map` and `catMaybes`
09:05:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
09:06:38 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Remote host closed the connection)
09:06:57 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
09:07:02 × deviantfero quits (~deviantfe@190.99.48.231) (Quit: WeeChat 2.9)
09:09:35 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
09:12:08 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
09:12:42 <Agiza> [exa] Oh okay! That sounds honestly too complicated for me right now so I will skip it but thank you for the advice
09:13:04 <Agiza> @[exa]
09:13:04 <lambdabot> Unknown command, try @list
09:13:27 hackage futhark 0.17.1 - An optimising compiler for a functional, array-oriented language. https://hackage.haskell.org/package/futhark-0.17.1 (TroelsHenriksen)
09:13:47 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
09:16:02 × mmohammadi98126 quits (~mmohammad@5.238.182.16) (Quit: I quit (╯°□°)╯︵ ┻━┻)
09:17:12 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
09:20:42 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
09:21:00 × platypine quits (~platypine@c-73-249-162-185.hsd1.ct.comcast.net) (Ping timeout: 272 seconds)
09:22:00 × lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Killed (orwell.freenode.net (Nickname regained by services)))
09:22:06 lagothrix joins (~lagothrix@unaffiliated/lagothrix)
09:25:45 × lucid_0x80 quits (~lucid_0x8@188.253.237.250) (Remote host closed the connection)
09:26:08 lucid_0x80 joins (~lucid_0x8@188.253.237.250)
09:29:10 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Quit: p-core)
09:29:32 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
09:31:42 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
09:32:59 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
09:34:11 jb55 joins (~jb55@gateway/tor-sasl/jb55)
09:34:16 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 256 seconds)
09:35:02 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
09:35:52 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
09:37:46 × Agiza quits (2eef7ad3@larka.olf.sgsnet.se) (Remote host closed the connection)
09:37:49 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
09:38:02 jb55 joins (~jb55@gateway/tor-sasl/jb55)
09:39:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:39:58 hackage composite-aeson-writeonly 0.1.0.0 - WriteOnly indicators for composite-aeson. https://hackage.haskell.org/package/composite-aeson-writeonly-0.1.0.0 (locallycompact)
09:44:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
09:46:40 toorevitimirp joins (~tooreviti@117.182.182.33)
09:48:25 × aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 240 seconds)
09:50:26 kleisli_ joins (~kleisli@172-8-147-49.lightspeed.irvnca.sbcglobal.net)
09:51:57 hackage composite-aeson-cofree-list 0.1.0.0 - Print a Cofree [] as a JSON value. https://hackage.haskell.org/package/composite-aeson-cofree-list-0.1.0.0 (locallycompact)
09:52:10 × knupfer quits (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de) (Ping timeout: 256 seconds)
09:52:57 × endorphin quits (~kleisli@2600:1700:4640:c560:68bd:9d76:dbd8:24e7) (Ping timeout: 260 seconds)
09:53:54 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
09:55:03 Moe_Epsilon joins (~Moe_Epsil@185.163.110.116)
09:57:15 utopic_int0x80 joins (~lucid_0x8@188.253.235.170)
09:58:28 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
10:00:16 × lucid_0x80 quits (~lucid_0x8@188.253.237.250) (Ping timeout: 272 seconds)
10:10:23 Amras joins (~Amras@unaffiliated/amras0000)
10:11:01 × wavemode quits (~wavemode@097-070-075-143.res.spectrum.com) (Ping timeout: 264 seconds)
10:11:47 reppertj joins (~textual@pool-96-246-209-59.nycmny.fios.verizon.net)
10:11:53 × oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 260 seconds)
10:12:31 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Quit: Leaving)
10:12:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:14:45 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
10:15:56 mmohammadi98126 joins (~mmohammad@2.178.222.79)
10:16:33 × rprije quits (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au) (Ping timeout: 260 seconds)
10:16:36 × __Joker quits (~Joker@180.151.105.74) (Ping timeout: 256 seconds)
10:18:20 __Joker joins (~Joker@106.206.8.71)
10:18:37 × xintron quits (~xintron@unaffiliated/xintron) (Quit: aoeu)
10:18:58 hackage futhark 0.17.2 - An optimising compiler for a functional, array-oriented language. https://hackage.haskell.org/package/futhark-0.17.2 (TroelsHenriksen)
10:19:21 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 258 seconds)
10:19:35 xintron joins (~xintron@unaffiliated/xintron)
10:20:00 × toorevitimirp quits (~tooreviti@117.182.182.33) (Ping timeout: 256 seconds)
10:20:58 hackage lti13 0.1.2.2 - Core functionality for LTI 1.3. https://hackage.haskell.org/package/lti13-0.1.2.2 (jade)
10:21:10 toorevitimirp joins (~tooreviti@117.182.182.33)
10:21:58 hackage yesod-auth-lti13 0.1.2.2 - A yesod-auth plugin for LTI 1.3 https://hackage.haskell.org/package/yesod-auth-lti13-0.1.2.2 (jade)
10:29:57 hackage cabal-cache 1.0.1.9 - CI Assistant for Haskell projects https://hackage.haskell.org/package/cabal-cache-1.0.1.9 (haskellworks)
10:31:08 ukari joins (~ukari@unaffiliated/ukari)
10:31:56 × jneira_ quits (~jneira@80.30.101.206) (Ping timeout: 272 seconds)
10:32:50 × fweht quits (uid404746@gateway/web/irccloud.com/x-xnkzclwannqfwfls) (Quit: Connection closed for inactivity)
10:35:39 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
10:37:11 jneira_ joins (~jneira@80.30.100.23)
10:39:25 Tops2 joins (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de)
10:39:32 × toorevitimirp quits (~tooreviti@117.182.182.33) (Remote host closed the connection)
10:39:45 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
10:40:29 × xintron quits (~xintron@unaffiliated/xintron) (Quit: aoeu)
10:41:00 toorevitimirp joins (~tooreviti@117.182.182.33)
10:41:22 tsrt^ joins (tsrt@ip98-184-89-2.mc.at.cox.net)
10:41:50 xintron joins (~xintron@unaffiliated/xintron)
10:44:16 × nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System — https://guix.gnu.org)
10:44:41 nckx joins (~nckx@tobias.gr)
10:44:42 knupfer joins (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de)
10:46:54 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
10:47:00 Thra11 joins (~Thra11@5.1.169.217.in-addr.arpa)
10:47:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
10:52:05 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
10:52:43 acidjnk_new2 joins (~acidjnk@p200300d0c7365818803e8c849f4b43fc.dip0.t-ipconnect.de)
10:53:39 Saten-san joins (~Saten-san@ip-81-11-153-236.dsl.scarlet.be)
10:56:30 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
10:56:40 × Ranhir quits (~Ranhir@157.97.53.139) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
10:57:17 Ranhir joins (~Ranhir@157.97.53.139)
10:59:55 × frdg`` quits (~user@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
11:00:04 frdg`` joins (~user@pool-71-184-143-249.bstnma.fios.verizon.net)
11:00:08 × zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer)
11:00:40 zaquest joins (~notzaques@5.128.210.178)
11:00:49 borne joins (~fritjof@200116b8642b7f0022497ba62715fb72.dip.versatel-1u1.de)
11:01:08 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 258 seconds)
11:01:47 × xff0x_ quits (~fox@2001:1a81:5373:6a00:7135:4a2f:509f:3c41) (Ping timeout: 240 seconds)
11:01:52 × __Joker quits (~Joker@106.206.8.71) (Ping timeout: 256 seconds)
11:02:14 __Joker joins (~Joker@180.151.105.74)
11:02:59 xff0x_ joins (~fox@2001:1a81:5373:6a00:7876:876c:565a:2fc6)
11:04:56 gienah joins (~mwright@gentoo/developer/gienah)
11:08:38 × xff0x_ quits (~fox@2001:1a81:5373:6a00:7876:876c:565a:2fc6) (Read error: Connection timed out)
11:08:57 xff0x_ joins (~fox@2001:1a81:5373:6a00:7876:876c:565a:2fc6)
11:08:57 shatriff joins (~vitaliish@176.52.219.10)
11:10:02 iqubic` joins (~user@2601:602:9500:4870:1702:d987:d42d:1b07)
11:10:19 iqubic` parts (~user@2601:602:9500:4870:1702:d987:d42d:1b07) ()
11:11:01 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:12:27 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
11:13:51 × Amras quits (~Amras@unaffiliated/amras0000) (Remote host closed the connection)
11:14:00 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds)
11:14:27 TooDifficult joins (~TooDiffic@139.59.59.230)
11:14:37 × iqubic quits (~user@2601:602:9500:4870:6535:a332:ea7c:b00f) (Ping timeout: 260 seconds)
11:15:49 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
11:17:13 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
11:18:23 × mmohammadi98126 quits (~mmohammad@2.178.222.79) (Quit: I quit (╯°□°)╯︵ ┻━┻)
11:18:25 × jneira_ quits (~jneira@80.30.100.23) (Ping timeout: 246 seconds)
11:18:39 aarvar joins (~foewfoiew@50.35.43.33)
11:21:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:23:47 tchouri joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
11:23:51 × jud quits (~jud@unaffiliated/jud) (Quit: Leaving)
11:25:10 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
11:25:43 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
11:27:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:28:54 × cosimone quits (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
11:28:58 hackage Z-IO 0.1.0.0 - A simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.0.0 (winterland)
11:30:08 × johtso quits (uid563@gateway/web/irccloud.com/x-ycqdrdpxyawcvjxk) (Quit: Connection closed for inactivity)
11:30:33 thc202 joins (~thc202@unaffiliated/thc202)
11:32:33 Amras joins (~Amras@unaffiliated/amras0000)
11:36:25 × jespada quits (~jespada@90.254.241.6) (Quit: Sleeping)
11:36:49 frdg``` joins (~user@pool-71-184-143-249.bstnma.fios.verizon.net)
11:38:10 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
11:38:42 × frdg`` quits (~user@pool-71-184-143-249.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
11:39:53 × fendor quits (~fendor@212095005091.public.telering.at) (Remote host closed the connection)
11:41:53 lucid_0x80 joins (~lucid_0x8@188.253.232.248)
11:42:40 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
11:43:31 CMCDragonkai1 joins (~Thunderbi@124.19.3.250)
11:43:49 × utopic_int0x80 quits (~lucid_0x8@188.253.235.170) (Ping timeout: 260 seconds)
11:45:11 frdg``` parts (~user@pool-71-184-143-249.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.1)")
11:50:16 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a9a0:b5f0:7bb0:1e65)
11:54:36 ixlun joins (~matthew@148.252.22.43)
11:54:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:56:06 ggole joins (~ggole@2001:8003:8119:7200:df:f904:197b:d0a9)
11:56:44 × borne quits (~fritjof@200116b8642b7f0022497ba62715fb72.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
11:57:02 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a9a0:b5f0:7bb0:1e65) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:57:06 × Thra11 quits (~Thra11@5.1.169.217.in-addr.arpa) (Quit: WeeChat 2.9)
11:59:03 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
12:00:02 × Moe_Epsilon quits (~Moe_Epsil@185.163.110.116) ()
12:00:32 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
12:03:46 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
12:05:03 × DavidEichmann quits (~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
12:06:20 × peel quits (sid145489@gateway/web/irccloud.com/x-dvnpbzxeztsnnykf) (Quit: Connection closed for inactivity)
12:06:32 × kleisli_ quits (~kleisli@172-8-147-49.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
12:08:45 × toorevitimirp quits (~tooreviti@117.182.182.33) (Ping timeout: 240 seconds)
12:09:24 cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
12:13:24 kleisli_ joins (~kleisli@172-8-147-49.lightspeed.irvnca.sbcglobal.net)
12:13:41 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
12:17:14 drbean joins (~drbean@TC210-63-209-82.static.apol.com.tw)
12:19:57 mmohammadi98126 joins (~mmohammad@2.178.222.79)
12:19:59 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
12:24:13 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 246 seconds)
12:25:18 × tchouri quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: tchouri)
12:25:31 wasm joins (~azureuser@52.187.128.251)
12:25:45 <wasm> hi
12:25:56 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:27:05 tchouri joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
12:27:17 tchouri is now known as hekkaidekapus
12:28:04 kayvan` joins (~user@52-119-115-243.PUBLIC.monkeybrains.net)
12:28:19 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
12:28:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
12:30:13 × kayvan quits (~user@52-119-115-243.PUBLIC.monkeybrains.net) (Ping timeout: 264 seconds)
12:32:31 oxide joins (~lambda@unaffiliated/mclaren)
12:33:06 Turmfalke joins (~user@unaffiliated/siracusa)
12:33:08 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 258 seconds)
12:35:26 × lateef quits (~lateef@cpe-174-109-67-227.nc.res.rr.com) (Quit: lateef)
12:39:59 tabemann_ joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
12:40:19 jespada joins (~jespada@90.254.241.6)
12:40:48 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
12:41:55 × tabemann quits (~tabemann@2600:1700:7990:24e0:68f7:c93d:dd7b:db29) (Ping timeout: 240 seconds)
12:45:34 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
12:49:06 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Remote host closed the connection)
12:49:14 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:59f2:1ee3:fe3e:b848)
12:49:53 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:59f2:1ee3:fe3e:b848) (Remote host closed the connection)
12:50:28 hackage blank-canvas 0.7.2 - HTML5 Canvas Graphics Library https://hackage.haskell.org/package/blank-canvas-0.7.2 (ryanglscott)
12:51:14 z0 joins (~z0@bl15-160-46.dsl.telepac.pt)
12:51:52 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
12:54:50 × Saten-san quits (~Saten-san@ip-81-11-153-236.dsl.scarlet.be) (Quit: WeeChat 2.8)
12:57:17 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 260 seconds)
12:59:11 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
13:00:11 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
13:01:37 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
13:02:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:05:47 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
13:05:58 hackage pandoc-plot 0.9.3.0 - A Pandoc filter to include figures generated from code blocks using your plotting toolkit of choice. https://hackage.haskell.org/package/pandoc-plot-0.9.3.0 (LaurentRDC)
13:06:59 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
13:07:35 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
13:08:37 × reppertj quits (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) (Ping timeout: 264 seconds)
13:12:37 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:13:54 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 260 seconds)
13:16:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
13:17:48 ti4a4a joins (4d6ff7b8@77.111.247.184)
13:20:24 gmt joins (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net)
13:20:41 × Sanchayan quits (~Sanchayan@106.200.239.146) (Quit: leaving)
13:22:29 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
13:24:37 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
13:25:02 <ti4a4a> Hello CHILD PORN HD Videos, Open in Tor Browser Links gg.gg/m7dgu
13:25:09 ti4a4a parts (4d6ff7b8@77.111.247.184) ()
13:25:18 × gmt quits (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
13:27:00 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
13:29:34 auscompgeek1 joins (~auscompge@217.146.82.202)
13:29:47 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 272 seconds)
13:30:27 × auscompgeek1 quits (~auscompge@217.146.82.202) (Remote host closed the connection)
13:32:26 <tomsmeding> wasm: welcome :)
13:34:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:36:09 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
13:43:23 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
13:48:16 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
13:53:40 knupfer1 joins (~Thunderbi@200116b82cb19b0099157e530dd77a5d.dip.versatel-1u1.de)
13:53:40 × knupfer1 quits (~Thunderbi@200116b82cb19b0099157e530dd77a5d.dip.versatel-1u1.de) (Client Quit)
13:54:54 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:57:49 PragCypher_ joins (~cypher@li1507-98.members.linode.com)
13:57:53 × PragCypher quits (~cypher@li1507-98.members.linode.com) (Read error: Connection reset by peer)
13:58:13 × drbean quits (~drbean@TC210-63-209-82.static.apol.com.tw) (Ping timeout: 260 seconds)
13:58:14 × knupfer quits (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de) (Ping timeout: 260 seconds)
13:58:29 knupfer joins (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de)
13:58:42 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
13:59:05 × CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Quit: CMCDragonkai1)
13:59:57 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
14:00:31 ddellacosta joins (~dd@86.106.121.168)
14:00:43 jtk joins (~jtk@185.163.110.116)
14:02:36 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Client Quit)
14:03:39 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Remote host closed the connection)
14:04:13 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
14:04:17 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
14:04:23 × dansho quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Remote host closed the connection)
14:04:50 dansho joins (~dansho@ip68-108-167-185.lv.lv.cox.net)
14:04:52 × knupfer quits (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de) (Quit: knupfer)
14:05:12 knupfer joins (~Thunderbi@200116b82cb19b009de411b5fb1d0b64.dip.versatel-1u1.de)
14:05:12 × knupfer quits (~Thunderbi@200116b82cb19b009de411b5fb1d0b64.dip.versatel-1u1.de) (Client Quit)
14:05:34 knupfer joins (~Thunderbi@200116b82cb19b00654a76def42707d5.dip.versatel-1u1.de)
14:07:42 borne joins (~fritjof@200116b8642b7f0022497ba62715fb72.dip.versatel-1u1.de)
14:08:44 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
14:09:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
14:10:30 mmohammadi981261 joins (~mmohammad@5.238.180.1)
14:10:54 × mmohammadi98126 quits (~mmohammad@2.178.222.79) (Ping timeout: 265 seconds)
14:10:54 rihards joins (~rihards@balticom-142-78-50.balticom.lv)
14:10:54 mmohammadi981261 is now known as mmohammadi98126
14:11:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:12:51 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 272 seconds)
14:13:10 bicho_rastrero joins (~cerdito@87.85-87-38.dynamic.clientes.euskaltel.es)
14:14:47 MrBe joins (~root@140.213.56.183)
14:15:17 <MrBe> hai
14:15:28 <MrBe> hi all
14:15:36 <MrBe> anybody there
14:16:12 <MrBe> hiiii
14:16:14 <MrBe> yo
14:16:40 × knupfer quits (~Thunderbi@200116b82cb19b00654a76def42707d5.dip.versatel-1u1.de) (Quit: knupfer)
14:16:52 <Uniaika> nah we're all sleeping
14:16:59 knupfer joins (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de)
14:17:08 bloodstalker joins (~bloodstal@46.166.187.178)
14:17:22 <merijn> Not true, some of us are playing videogames ;)
14:17:32 bicho_rastrero imagines the cute faces of the people in the channel sleeping.
14:17:47 <Uniaika> haha
14:18:03 <MrBe> yess i am cant sleep at this time
14:19:13 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
14:19:17 <MrBe> so quite at this channel
14:19:18 ChanServ sets mode +o dmwit
14:19:20 dmwit sets mode +b *!*@77.111.247.184
14:19:34 dmwit sets mode -o dmwit
14:20:10 <MrBe> ....
14:21:00 <MrBe> nobody online
14:21:32 <dmwit> You're going to get a lot better response if you start talking about Haskell. That's sort of the reason folks are here.
14:21:45 <dmwit> If you'd like some pointers to tutorials, there are more than any one person could ever handle listed here:
14:21:49 <dmwit> ?wiki tutorials
14:21:50 <lambdabot> https://wiki.haskell.org/tutorials
14:22:09 × bicho_rastrero quits (~cerdito@87.85-87-38.dynamic.clientes.euskaltel.es) (Quit: leaving)
14:23:51 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 246 seconds)
14:24:14 <Eduard_Munteanu> Who needs Tor when you have Netflix? :P
14:24:41 MaoZeDong_ joins (~yuri@2a00:1370:8135:91d4:415b:9b05:36f8:565c)
14:24:41 × mmohammadi98126 quits (~mmohammad@5.238.180.1) (Ping timeout: 258 seconds)
14:25:10 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
14:25:14 <MrBe> hi maozedong
14:25:16 <MaoZeDong_> > 1 + 2
14:25:19 <lambdabot> 3
14:25:24 <MaoZeDong_> hi
14:25:41 <MaoZeDong_> > take 5 [1..]
14:25:44 <lambdabot> [1,2,3,4,5]
14:25:52 <MaoZeDong_> > take 10 [1..]
14:25:54 <lambdabot> [1,2,3,4,5,6,7,8,9,10]
14:25:58 <int-e> MaoZeDong_: you can chat with lambdabot privately
14:26:06 <MaoZeDong_> how?
14:26:12 <Eduard_Munteanu> /query lambdabot
14:26:15 <z0> MaoZeDong_: /q lambdabot
14:26:31 polyrain joins (~polyrain@2001:8003:e501:6901:f182:8c7d:2acd:5)
14:26:33 × zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving)
14:26:41 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
14:26:50 zacts joins (~zacts@dragora/developer/zacts)
14:27:38 <MaoZeDong_> thanks
14:27:40 <MaoZeDong_> sorry
14:27:48 <MrBe> quit
14:28:14 <z0> MaoZeDong_: you can also install lambdabot on your machine, or just use ghci
14:28:41 <MaoZeDong_> i came here to try some monad transformers features
14:29:22 <dmwit> \bot is a nice way to do that, assuming you don't want to transform IO. ^_^
14:29:31 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 246 seconds)
14:29:35 <dmwit> (And yahb has got your back if you do, though it may require a bit more import'ing first.)
14:29:39 urodna joins (~urodna@unaffiliated/urodna)
14:30:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:31:31 <edwardk> ok, it looks like my fast singleton types package is almost usable, modulo one ghc bug, and reliance on another
14:32:39 × MrBe quits (~root@140.213.56.183) (Ping timeout: 265 seconds)
14:32:55 × polyrain quits (~polyrain@2001:8003:e501:6901:f182:8c7d:2acd:5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:36:02 × knupfer quits (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de) (Ping timeout: 265 seconds)
14:37:57 hackage uniqueness-periods-vector-stats 0.1.0.0 - A very basic descriptive statistics. https://hackage.haskell.org/package/uniqueness-periods-vector-stats-0.1.0.0 (OleksandrZhabenko)
14:41:21 × DTZUZU quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 272 seconds)
14:41:59 Tops21 joins (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de)
14:42:28 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
14:43:09 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 260 seconds)
14:43:22 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:45:05 × Tops2 quits (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
14:45:58 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
14:49:28 hackage joint 0.1.7 - Trying to compose non-composable https://hackage.haskell.org/package/joint-0.1.7 (iokasimovmt)
14:50:58 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
14:52:45 irc_user joins (uid423822@gateway/web/irccloud.com/x-jxviwzlqotrdnqhx)
14:53:08 ransom joins (~c4264035@2603:300b:1301:3d00:a40f:9b09:1376:26b9)
14:54:15 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
14:54:30 DTZUZU joins (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net)
14:55:05 × MorrowM quits (~max@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
14:55:18 ukari joins (~ukari@unaffiliated/ukari)
14:59:08 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
15:00:01 × jtk quits (~jtk@185.163.110.116) ()
15:00:53 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-vzgasgxdihcgbxve) (Quit: Connection closed for inactivity)
15:03:45 Tops2 joins (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de)
15:03:52 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 260 seconds)
15:04:15 Tops22 joins (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de)
15:05:13 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
15:05:45 Tops23 joins (~Tobias@95.33.24.132)
15:06:51 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
15:06:56 Tops24 joins (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de)
15:07:28 × Tops21 quits (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de) (Ping timeout: 256 seconds)
15:08:42 × Tops2 quits (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
15:09:20 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 272 seconds)
15:09:58 × Tops22 quits (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
15:09:58 × Tops24 quits (~Tobias@dyndsl-095-033-024-132.ewe-ip-backbone.de) (K-Lined)
15:09:58 × Tops23 quits (~Tobias@95.33.24.132) (K-Lined)
15:11:38 __Joker_ joins (~Joker@180.151.105.65)
15:11:46 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
15:14:22 × borne quits (~fritjof@200116b8642b7f0022497ba62715fb72.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
15:14:25 × __Joker quits (~Joker@180.151.105.74) (Ping timeout: 240 seconds)
15:14:43 mpereira joins (~mpereira@2a02:810d:f40:d96:b46b:1e98:8653:4550)
15:15:23 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
15:16:11 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
15:17:31 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
15:23:14 fendor joins (~fendor@212095005091.public.telering.at)
15:23:23 × lucid_0x80 quits (~lucid_0x8@188.253.232.248) (Ping timeout: 260 seconds)
15:24:24 × zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving)
15:27:06 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
15:27:37 MorrowM joins (~max@bzq-110-168-31-106.red.bezeqint.net)
15:27:43 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
15:28:40 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 246 seconds)
15:30:21 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
15:30:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
15:31:23 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
15:32:24 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
15:33:18 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
15:35:01 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 264 seconds)
15:36:45 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
15:39:47 zacts joins (~zacts@dragora/developer/zacts)
15:41:17 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 265 seconds)
15:41:44 Lycurgus joins (~niemand@98.4.96.130)
15:42:25 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
15:45:26 Saukk joins (~Saukk@2001:998:dc:4a67:1c59:9bb5:b94c:4)
15:48:34 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
15:53:01 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
15:55:32 lucid_0x80 joins (~lucid_0x8@188.253.232.248)
15:56:30 SteveMcIntyre joins (~SteveMcIn@193.56.252.210)
15:56:40 × Lycurgus quits (~niemand@98.4.96.130) (Quit: Exeunt)
15:57:14 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
15:57:54 ukari joins (~ukari@unaffiliated/ukari)
15:57:59 × rihards quits (~rihards@balticom-142-78-50.balticom.lv) (Quit: rihards)
15:58:19 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
15:58:53 gmt joins (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net)
16:00:35 × Saukk quits (~Saukk@2001:998:dc:4a67:1c59:9bb5:b94c:4) (Remote host closed the connection)
16:00:41 Rudd0 joins (~Rudd0@185.189.115.108)
16:01:21 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-nxgrwewkmlbliher) (Quit: Idle for 30+ days)
16:01:23 × reed[m] quits (reedriotfi@gateway/shell/matrix.org/x-yzexzzdjiyvxezod) (Quit: Idle for 30+ days)
16:02:16 × lucid_0x80 quits (~lucid_0x8@188.253.232.248) (Ping timeout: 246 seconds)
16:03:02 × acidjnk_new2 quits (~acidjnk@p200300d0c7365818803e8c849f4b43fc.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:04:31 eric joins (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27)
16:05:54 hiroaki joins (~hiroaki@2a02:908:4b14:d500:8d4c:a111:9cac:718b)
16:07:46 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Remote host closed the connection)
16:08:45 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Ping timeout: 272 seconds)
16:09:22 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
16:13:27 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Remote host closed the connection)
16:13:52 z0_ joins (~z0@bl15-35-201.dsl.telepac.pt)
16:14:00 mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3)
16:14:10 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 256 seconds)
16:15:33 dominik joins (~weechat@2001:a61:35b0:1a01:9665:9cff:fe4d:b4d0)
16:17:17 × z0 quits (~z0@bl15-160-46.dsl.telepac.pt) (Ping timeout: 260 seconds)
16:18:18 × mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:fcb4:8a4:b249:c1d3) (Ping timeout: 246 seconds)
16:21:45 × zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving)
16:25:23 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-ecfohlvdcvbghbdf)
16:26:26 tzh joins (~tzh@2601:448:c500:5300::ad1c)
16:26:41 × booppoob quits (uid425746@gateway/web/irccloud.com/x-tkeigqqpbyoktbzy) (Quit: Connection closed for inactivity)
16:27:23 geekosaur joins (42d52102@66.213.33.2)
16:28:18 walla joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
16:30:16 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
16:30:16 × carlomagno1 quits (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection)
16:30:55 carlomagno joins (~cararell@inet-hqmc02-o.oracle.com)
16:33:36 juuandyy joins (~juuandyy@90.166.144.65)
16:35:01 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 264 seconds)
16:38:44 gestone joins (~gestone@c-73-97-137-216.hsd1.wa.comcast.net)
16:39:55 Saten-san joins (~Saten-san@ip-81-11-153-236.dsl.scarlet.be)
16:40:53 × hiroaki quits (~hiroaki@2a02:908:4b14:d500:8d4c:a111:9cac:718b) (Remote host closed the connection)
16:44:59 petersen joins (~petersen@redhat/juhp)
16:52:47 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
16:54:16 × berberman_ quits (~berberman@2408:8207:256b:da50:584e:a9ff:fe9b:d3fe) (Quit: ZNC 1.7.5 - https://znc.in)
16:54:57 berberman joins (~berberman@2408:8207:256b:da50::a44)
16:55:05 × bloodstalker quits (~bloodstal@46.166.187.178) (Ping timeout: 240 seconds)
16:55:20 × teardown quits (~user@unaffiliated/mrush) (Ping timeout: 258 seconds)
16:55:58 hackage pandoc-types 1.22 - Types for representing a structured document https://hackage.haskell.org/package/pandoc-types-1.22 (JohnMacFarlane)
16:56:42 ubert joins (~Thunderbi@178.115.131.12.wireless.dyn.drei.com)
16:57:30 bloodsta1ker joins (~bloodstal@46.166.187.178)
16:58:09 bahamas joins (~lucian@unaffiliated/bahamas)
16:58:49 × Saten-san quits (~Saten-san@ip-81-11-153-236.dsl.scarlet.be) (Ping timeout: 260 seconds)
17:01:17 ddellacosta joins (~dd@86.106.121.168)
17:03:04 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
17:05:55 × stree quits (~stree@50-108-115-67.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
17:06:12 stree joins (~stree@50-108-115-67.adr01.mskg.mi.frontiernet.net)
17:08:21 zacts joins (~zacts@dragora/developer/zacts)
17:09:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:10:48 × dominik quits (~weechat@2001:a61:35b0:1a01:9665:9cff:fe4d:b4d0) (Ping timeout: 246 seconds)
17:11:16 dominik joins (~weechat@aftr-62-216-207-98.dynamic.mnet-online.de)
17:12:30 tompas joins (~tom@pool-173-79-157-149.washdc.fios.verizon.net)
17:12:31 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
17:12:49 × ukari quits (~ukari@unaffiliated/ukari) (Ping timeout: 260 seconds)
17:13:46 lechner joins (~lechner@letbox-vps.us-core.com)
17:14:33 aenesidemus joins (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net)
17:14:44 × TooDifficult quits (~TooDiffic@139.59.59.230) (Quit: TooDifficult)
17:14:44 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
17:14:58 TooDifficult joins (~TooDiffic@139.59.59.230)
17:15:13 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 264 seconds)
17:15:14 Lord_of_Life_ is now known as Lord_of_Life
17:15:19 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
17:15:56 <lechner> Hi, how do I compute and print the SHA-512 of the file indicated by the first command-line argument, please? I am having some type confusion. Thanks!
17:16:09 johtso joins (uid563@gateway/web/irccloud.com/x-xmeoikcxfjfjijiq)
17:16:39 <sm[m]> what have you got so far lechner ?
17:16:39 <sm[m]> @where paste
17:16:39 <lambdabot> please paste full code, input, and output at https://paste.tomsmeding.com
17:18:16 <sm[m]> @where+ paste Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
17:18:16 <lambdabot> I will remember.
17:18:17 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
17:18:53 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Remote host closed the connection)
17:19:01 <glguy> lechner: http://hackage.haskell.org/package/cryptohash-sha512-0.11.100.1/docs/Crypto-Hash-SHA512.html#v:hash
17:19:01 <lechner> sm[m]: well, this just tries to print the contents but i have the IO monad problem https://paste.tomsmeding.com/9NWmmMxb
17:19:21 mirrorbird joins (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2)
17:19:56 <davean> =<<, feed the result
17:20:04 <sm[m]> good start. Right, those types in the last line don't line up
17:20:20 <lechner> it's my first dip into haskell
17:20:20 <davean> putStr =<< (readFile (head args))
17:20:38 <dmwit> do { args <- getArgs; contents <- readFile (head args); putStr contents }
17:20:53 <dmwit> You might also like The IO Monad for People Who Simply Don't Care.
17:21:02 <dmwit> http://blog.sigfpe.com/2007/11/io-monad-for-people-who-simply-dont.html
17:21:54 <lechner> in an earlier experiment, the assignment args <- getArgs seemed to make a difference. is that possible?
17:22:05 <lechner> instead of using getArgs straight
17:22:31 <dmwit> Take a look at my link and you will have a framework for understanding why that made a difference.
17:22:43 Thra11 joins (~Thra11@5.1.169.217.in-addr.arpa)
17:22:46 <dmwit> (Yes, it is possible.)
17:23:27 hackage uniqueness-periods-vector-stats 0.1.1.0 - A very basic descriptive statistics. https://hackage.haskell.org/package/uniqueness-periods-vector-stats-0.1.1.0 (OleksandrZhabenko)
17:24:50 <sm[m]> https://paste.tomsmeding.com/PZbIiTyi is the simplest fix, as dmwit said
17:25:56 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:26:04 <lechner> i am reading and will be back with more shortly. thanks for being so friendly. don't know why people say haskellers are complicated folks :)
17:26:46 × fendor quits (~fendor@212095005091.public.telering.at) (Ping timeout: 272 seconds)
17:26:55 × kish` quits (~oracle@unaffiliated/oracle) (Remote host closed the connection)
17:27:14 kish joins (~oracle@unaffiliated/oracle)
17:27:17 × mpereira quits (~mpereira@2a02:810d:f40:d96:b46b:1e98:8653:4550) (Ping timeout: 272 seconds)
17:27:35 ukari joins (~ukari@unaffiliated/ukari)
17:27:43 <sm[m]> I know! We are all simple folk here
17:28:05 <sm[m]> tomsmeding: should Edit this paste be Clone this paste ? (Also, links between such pastes could be nifty)
17:28:10 teardown joins (~user@unaffiliated/mrush)
17:28:35 <tomsmeding> it should
17:28:48 <tomsmeding> in fact I have a todo for that
17:28:52 <lechner> hi, when reading files, is it better to use strict or lazy variants, please?
17:28:57 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
17:29:09 <tomsmeding> I like "Clone", too
17:29:13 <davean> lechner: depends on what you want to accomplish.
17:29:26 <dmwit> lechner: Lazy IO is to be avoided in real code. For quick experiments while learning, it is fine.
17:29:28 <merijn> The answer is: use strict or use conduit :p
17:29:37 <merijn> (or some other streaming library)
17:29:39 <lechner> thank you
17:29:54 <lechner> why is lazy I/O a bad idea?
17:30:02 <merijn> lechner: It's hard to control cleanup
17:30:19 <lechner> space leaks?
17:30:22 <davean> lechner: consider if you're reading lazily while writing to it.
17:30:24 <merijn> lechner: File descriptors (aka handles) are a limited resource and lazy IO makes it hard to control if/when they are freed
17:30:24 <davean> lechner: what do you get?
17:30:28 <dmwit> lechner: https://stackoverflow.com/a/6669453/791604 describes why lazy IO is a bad idea
17:30:45 <dolio> I think lazy I/O is a good idea. :þ
17:30:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
17:30:54 Saten-san joins (~Saten-san@ip-81-11-153-236.dsl.scarlet.be)
17:31:00 <Uniaika> dolio: I curse you to hell and back
17:31:18 × walla quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
17:31:31 <davean> lechner: the idea of spaceleaks with laziness is a bit weird, since strict has to use all the space, lazy only might use all the space.
17:31:32 × ransom quits (~c4264035@2603:300b:1301:3d00:a40f:9b09:1376:26b9) (Ping timeout: 244 seconds)
17:31:36 <glguy> If your goal is to write a program that opens a file, computes the SHA-512 hash, and prints that; then the lazy IO version will work the same as the strict IO version but probably use less ram
17:32:01 <lechner> it's the first line in a bigger project
17:32:02 <merijn> glguy: But then it'd be very little work to use conduit or some such and be sure of that fact ;)
17:32:19 <merijn> Not to mention that learning 1 or more streaming libraries is worthwhile anyway since they're amazing
17:32:22 <dmwit> davean: Sure. But lazy encourages a style of programming that would, in a strict semantics, use much more memory than the idiomatic approach from a strict language.
17:32:34 <merijn> Beat the shit out of nearly anything I've encountered in any other language for such problems
17:33:14 <dolio> Streaming libraries are exactly the overcomplicated solution for simple intro examples.
17:33:27 <dmwit> ^
17:33:32 <merijn> Sure
17:33:33 <dolio> And are probably an example of why people think Haskell people are complicated.
17:33:57 <lechner> actually, i think it's because of category theory
17:34:12 <davean> dmwit: I mean that sounds a lot like the tautology of "if you used more memory, you'd use more memory".
17:34:26 <geekosaur> you need zero category theory to use Haskell
17:34:29 <merijn> lechner: Category theory has basically zero relevance to haskell projects (or even Haskell)
17:34:51 <merijn> lechner: I dunno where that meme got started on the internet, but it's 100% nonsense
17:35:16 <dolio> Also note that one of the negatives about lazy I/O brought up (what if you read and write to a file concurrently) also applies to streaming libraries, but no one blames the streaming libraries for it for some reason.
17:35:49 <merijn> lechner: I've been doing Haskell for, like, a decade now. Very productively even, and I still got lost about 2-3 chapters into any book on category theory :p
17:35:57 <davean> dolio: uh, doesn't happen when I use 'machines' for example, I can can control the reading and writing so I can know what happens exactly.
17:36:06 <merijn> dolio: Files are shit, let's replace everything with SQLite databases :D
17:36:10 <davean> dolio: infact I use 'machines' specificly for reading and writing to a file at the same time.
17:36:27 hackage texmath 0.12.0.3 - Conversion between formats used to represent mathematics. https://hackage.haskell.org/package/texmath-0.12.0.3 (JohnMacFarlane)
17:36:56 <lechner> is there a kindred spririt between haskell and the declarative nature of SQL?
17:37:23 <merijn> Kinda, maybe?
17:37:46 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
17:37:47 <davean> dolio: yah, I'm not sure why you think the concurrency would be an issue with a streaming library.
17:37:48 <merijn> SQL (at least, the non-write statements) is purely functional, after all :)
17:37:55 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
17:37:56 <ddellacosta> merijn: re: category theory in Haskell, I think the unfortunate truth is that as soon as people see words like "Functor" they assume that Haskell is a morass of abstract nonsense and stop thinking there
17:38:01 × DavidEichmann quits (~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
17:38:22 <sm[m]> conduit is awesome but a bit too much for someone writing their first haskell program
17:38:35 <merijn> Well, that wasn't really specified :p
17:38:48 <sm[m]> twas, twas
17:38:52 <merijn> The question was "lazy or strict" :p
17:38:54 <dolio> davean: Because streaming libraries don't solve having to not be naive about interleaving your reading and writing to a single file, which is what people blame lazy I/O for.
17:39:13 <merijn> dolio: Nobody claimed streaming libraries solved "all problems ever" so that seems a bit of a strawman
17:39:15 <davean> dolio: they can dothat.
17:39:15 <geekosaur> that's only one of the problems with lazy I/O
17:39:33 <davean> dolio: for example, only executing the writes to already read parts.
17:39:52 <davean> and delaying the ones to pending reads.
17:39:58 <merijn> Also, I don't think anyone thinks "simultaneous read and writes" is the problem with lazy IO, considering none of the streaming libraries even talk about that in any motivation
17:40:27 <dolio> merijn: Then they should stop using it as an example of lazy I/O being a problem.
17:40:47 <merijn> dolio: I've literally never seen that brought up as a lazy IO problem except just now on IRC
17:41:01 <dolio> Well I've seen it multiple times in the past on IRC.
17:41:04 × dansho quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
17:42:08 <davean> dolio: to be clear I brought it up about lazy vs. strict io, not streaming. Streaming systems can't solve problems without you deciding what you want.
17:42:10 <sm[m]> lechner, please ask less controversial questions in future (j/k :)
17:42:18 <merijn> Yes
17:42:27 <merijn> Like "how do I get 'a' out of 'IO a'?" ;)
17:42:49 <davean> merijn: well, you just pattern match on (# RealWorld, ... #) ...
17:43:21 <merijn> ;)
17:43:34 <davean> Or use the Comonad instance of IO
17:44:04 <davean> which is easy to write with unsafePerformIO
17:44:07 <davean> laws aside
17:44:17 <tomsmeding> :D
17:44:23 × MaoZeDong_ quits (~yuri@2a00:1370:8135:91d4:415b:9b05:36f8:565c) (Ping timeout: 272 seconds)
17:44:31 <monochrom> http://www.vex.net/~trebla/photo/unorganized/IO-String.png
17:44:43 MaoZeDong_ joins (~yuri@2a00:1370:8135:91d4:415b:9b05:36f8:565c)
17:44:45 <dolio> davean: Yeah, I know. It's more in the past I've seen people not really being coherent about this stuff.
17:45:00 × Saten-san quits (~Saten-san@ip-81-11-153-236.dsl.scarlet.be) (Quit: WeeChat 2.8)
17:45:23 <davean> dolio: I know 'machines' can solve the ordering issues easily (thats what I use seekable-machines for half the time), and I suspect you could with 'pipes' though I never have.
17:45:52 <geekosaur> well, now you have the answer to why people talk about haskellers not being simple, at least :)
17:45:58 hackage uniqueness-periods-vector-examples 0.5.0.0 - Examples of usage for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.5.0.0 (OleksandrZhabenko)
17:45:59 <davean> dolio: you can pretty easily impliment an ARES machine :)
17:46:06 monochrom perpetuates the myth that you need to understand category theory jokes to learn haskell
17:46:07 <davean> I mean as easy as ARES is!
17:46:35 <monochrom> Sorry, what's ARES?
17:46:40 <dolio> I imagine you _can_ solve them with most libraries, but I don't expect 'oops, I wrote naive interleaved input/output processing and used it on a single file' to automatically work in most of them.
17:47:34 <dolio> Like, passed the same file name twice.
17:48:05 <davean> monochrom: sorry ARIES
17:48:07 × cosimone quits (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
17:48:37 <monochrom> Thanks, but I don't know ARIES either.
17:48:50 <davean> Oh http://db.csail.mit.edu/madden/html/aries.pdf
17:48:54 <davean> Its the thing DBs do
17:48:54 <monochrom> thanks
17:49:27 <monochrom> hahaha "exploiting semantics"
17:52:06 × juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds)
17:53:50 coot joins (~coot@37.30.55.202.nat.umts.dynamic.t-mobile.pl)
17:54:31 × xff0x_ quits (~fox@2001:1a81:5373:6a00:7876:876c:565a:2fc6) (Ping timeout: 272 seconds)
17:54:38 <monochrom> OK, so "ACID" was already a thing in 1992, not a web bubble invention. I feel better now.
17:54:58 <davean> Yes, I take it you know nothing about DBs at all?
17:55:08 xff0x_ joins (~fox@2001:1a81:5373:6a00:4c7a:e2f5:6d60:257d)
17:55:08 <monochrom> I know nothing about DBs.
17:55:18 <c_wraith> I expect ACID would date back to the 70s
17:55:26 <davean> The web bubble *got rid of* ACID
17:55:30 <davean> c_wraith: yah, it does
17:55:39 <davean> ACID is one of the basic concepts of ... well computing really
17:55:52 <davean> It does come from the DB world though.
17:56:04 acidjnk_new2 joins (~acidjnk@p200300d0c7365818803e8c849f4b43fc.dip0.t-ipconnect.de)
17:56:44 × geekosaur quits (42d52102@66.213.33.2) (Ping timeout: 245 seconds)
17:56:49 <davean> as an acronym
17:56:57 <davean> OS people had it too, but not as well codified
17:57:01 <merijn> monochrom: I'm surprised ACID is as recent as 1992, I would've expected much older
17:57:07 × codygman quits (~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Read error: Connection reset by peer)
17:57:12 <davean> merijn: it is much older
17:57:22 codygman joins (~codygman@47-184-107-46.dlls.tx.frontiernet.net)
17:57:23 <davean> it predates non-heirarchical DBs
17:59:49 mitchellsalad_ joins (uid40617@gateway/web/irccloud.com/x-gjkhwibbalutbgvt)
18:00:01 <davean> I've read papers from <1975 that specified that set of requirements
18:00:02 × SteveMcIntyre quits (~SteveMcIn@193.56.252.210) ()
18:00:02 × mitchellsalad_ quits (uid40617@gateway/web/irccloud.com/x-gjkhwibbalutbgvt) (Client Quit)
18:00:07 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
18:00:15 <davean> I think the actual term is circa 1980 though since people got tired of writing out the laws eventually ;)
18:00:49 mitchellsalad joins (uid40617@gateway/web/irccloud.com/x-nltqasqieelsglgp)
18:02:01 <davean> databases, filesystems, transactional memory, concurrency, all sorta the same problem.
18:02:37 <davean> Not distributed systems though, thats its own f-ed up mess
18:03:28 hackage uniqueness-periods-vector-stats 0.1.2.0 - A very basic descriptive statistics. https://hackage.haskell.org/package/uniqueness-periods-vector-stats-0.1.2.0 (OleksandrZhabenko)
18:04:16 × dsf quits (~dsf@cpe-75-80-106-108.san.res.rr.com) (Ping timeout: 256 seconds)
18:04:30 × Khisanth quits (~Khisanth@166.sub-174-197-147.myvzw.com) (Read error: Connection reset by peer)
18:05:13 lucid_0x80 joins (~lucid_0x8@188.253.232.248)
18:06:30 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-131-92.cust.tzulo.com)
18:07:40 × wasm quits (~azureuser@52.187.128.251) (Remote host closed the connection)
18:08:56 × DavidEichmann quits (~david@43.240.198.146.dyn.plus.net) (Ping timeout: 258 seconds)
18:11:28 × Thra11 quits (~Thra11@5.1.169.217.in-addr.arpa) (Ping timeout: 256 seconds)
18:11:47 <dolio> You mean, a lot of seemingly different topics lead to people coming up with the same sort of idea, and it might be useful to abstract those ideas in a common way so that ideas from one topic might be applicable to others?
18:12:47 dsf joins (~dsf@cpe-75-80-106-108.san.res.rr.com)
18:12:57 hackage uniqueness-periods-vector-examples 0.5.1.0 - Examples of usage for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.5.1.0 (OleksandrZhabenko)
18:13:00 × TooDifficult quits (~TooDiffic@139.59.59.230) (Ping timeout: 272 seconds)
18:13:04 <davean> dolio: they just are applicable. The optimal solutions for the different domains vary by the constraints but the problems are the same.
18:14:38 <davean> ARIES is stronger than STM needs, but its solving the same thing in a similar way and the problem setups are the same other than some of the tools they have to solve it with.
18:14:43 <davean> for example
18:14:57 hackage commonmark-pandoc 0.2.0.1 - Bridge between commonmark and pandoc AST. https://hackage.haskell.org/package/commonmark-pandoc-0.2.0.1 (JohnMacFarlane)
18:15:02 <davean> and filesystems are even closer, though they don't deal with the out-of-space issue as much because they know their transaction sizes.
18:15:25 <dolio> Yeah, those domains are probably too obviously similar.
18:15:35 <davean> And all that is a constrained case of concurrency
18:16:07 <davean> Mind you basicly every filesystem has had a bug releated to the parts it strips out of ARIES
18:16:10 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds)
18:16:33 ryansmccoy joins (~ryansmcco@156.96.151.132)
18:17:56 eflister joins (47ee2144@c-71-238-33-68.hsd1.or.comcast.net)
18:18:45 <davean> Most of computer science is boring because its the same problem solved 10 times.
18:18:57 <davean> if you just learn the base problem you can solve a bunch of them on demand. :(
18:19:13 <Uniaika> like multiplying matrices very fast
18:19:26 <Uniaika> a bunch of modern machine learning and stuff are based on multiplying matrices
18:19:44 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
18:20:12 <davean> Uniaika: which brings me to the fact that Data.Ix.Ix lacks "rangePos :: (a, a) -> Int -> a" which makes doing suck with 'array' difficult!
18:20:25 <davean> s/suck/such/
18:21:10 vicfred joins (~vicfred@unaffiliated/vicfred)
18:21:55 Khisanth joins (~Khisanth@166.sub-174-197-147.myvzw.com)
18:21:58 <Uniaika> davean: it's only one MR away from reality
18:22:04 <davean> Uniaika: incorrect.
18:22:10 <Uniaika> okay maybe two.
18:22:13 <Uniaika> :P
18:22:17 <davean> Uniaika: No. Its a core library.
18:22:26 juuandyy joins (~juuandyy@90.166.144.65)
18:22:26 <davean> and a Haskell Report type class.
18:22:35 <davean> In theory we *should* get a new report to change it.
18:22:46 <davean> in practice we'd still have the "we changed something in base" fight.
18:23:16 <davean> Data.Ix isn't a 3rd party library :/
18:24:07 × xff0x_ quits (~fox@2001:1a81:5373:6a00:4c7a:e2f5:6d60:257d) (Ping timeout: 240 seconds)
18:24:48 <Uniaika> yeah that's right
18:24:48 × lep-delete quits (~lep@94.31.82.44) (Read error: Connection reset by peer)
18:24:55 geekosaur joins (42d52102@66.213.33.2)
18:25:02 <davean> If I could just submit a MR I'd have already done it.
18:25:06 <davean> this is core infastructure
18:25:19 xff0x_ joins (~fox@2001:1a81:5373:6a00:4ccb:e51f:bb16:7d67)
18:25:24 <davean> It has a trivial default implimentation from what the type class already provides.
18:25:29 lep-delete joins (~lep@94.31.82.44)
18:25:45 lep-delete is now known as test
18:25:57 <davean> I wish people were more accepting of changes to 'base'
18:26:07 <davean> Theres a lot to improve
18:26:15 test is now known as Guest38587
18:27:35 silver joins (~silver@178.121.68.26)
18:27:42 <davean> Haskell needs to accept more changes to 'base' IMO, yes people feel a tiny bit of pain in the short term but its mostly a shared burden thats not actually that much time to update all of hackage to, and then we've got something better forever.
18:27:48 <Uniaika> we should make secession from the standard
18:27:58 <Uniaika> or make it evolve with the current times
18:28:02 <davean> Uniaika: its not the standard that's really the problem
18:28:10 <davean> Uniaika: There was supposes to be a Haskell2020
18:28:25 <Uniaika> CSS3 had it right I think, by having mutiple standards that can evolve and stuff
18:28:33 <davean> Uniaika: Theres a report committee. Its not like the report can't change. I'd say the screaming about changes is the real problem.
18:28:40 <Uniaika> davean: Haskell2020 failed us :P
18:28:55 <davean> It failed us because no one wanted changes people could get behind :-p
18:29:03 <Uniaika> :)
18:29:23 <davean> Uniaika: were you not here for AMP and F/T?
18:30:07 <davean> Haskell2020 can get unjammed if people get behind changes.
18:30:17 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 260 seconds)
18:30:43 ryansmccoy joins (~ryansmcco@193.37.254.27)
18:31:24 knupfer1 joins (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de)
18:31:43 <Uniaika> AMP was in 2014
18:32:00 × juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds)
18:32:09 × ixlun quits (~matthew@148.252.22.43) (Ping timeout: 260 seconds)
18:32:10 solonarv joins (~solonarv@astrasbourg-653-1-186-165.w90-13.abo.wanadoo.fr)
18:32:14 <davean> yes, yes, I know. Some people are only returning to Haskell now because they were so driven off by the screaming of people resisting such a basic change.
18:32:33 <davean> Thats my point
18:32:34 × _ks quits (~kevin@nyc-0.mil.lat) (Quit: WeeChat 2.3)
18:32:48 <davean> if people aren't over AMP 6 years later we can't have nice things.
18:32:57 hackage uniqueness-periods-vector-examples 0.5.2.0 - Examples of usage for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.5.2.0 (OleksandrZhabenko)
18:33:16 <Uniaika> yeah sorry, so I was not in Haskell-land at that time
18:33:31 <davean> It was rediculous.
18:33:37 × dominik quits (~weechat@aftr-62-216-207-98.dynamic.mnet-online.de) (Quit: WeeChat 2.8)
18:33:48 knupfer1 is now known as knupfer
18:34:13 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:34:26 <Uniaika> I can imagine
18:34:39 <Uniaika> and look where we are now! A complete wasteland!
18:34:45 <Uniaika> Haskell is dead because of that!
18:34:46 <Uniaika> (/s)
18:34:59 <MarcelineVQ> meet the new boss, same as the old boss
18:35:00 <dolio> Because of which direction? :)
18:35:15 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Quit: p-core)
18:35:22 <monochrom> The other wasteland is not greener. >:)
18:35:33 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
18:35:51 <davean> Uniaika: it sapped a lot of the people pushing new things I was here for because it was so hard to get and they needed more to move further.
18:35:56 <davean> Uniaika: so uh, it kinda is?
18:36:02 <davean> I mean as a language its fine
18:36:09 <davean> but we've not moved forward much.
18:36:18 <davean> So ...
18:36:22 <MarcelineVQ> What is the metric for that?
18:36:43 <Uniaika> looks like we need to get our skin harder for the next feces slinging
18:36:47 <davean> MarcelineVQ: enabling me to do new things that make solving problems better :-p
18:37:20 <Uniaika> :)
18:37:25 <merijn> The problem with Haskell2020 is that the "fun stuff" people wanna do is not the blocker
18:37:42 <merijn> The blocker is the need to specify the semantics of a bunch of things beyond just 'what GHC does"
18:37:52 <davean> merijn: For a larger report, yes
18:38:14 <lechner> dmwit: thanks for the link earlier. i read it twice, and it was very helpful!
18:38:30 <davean> merijn: theres various potential scopes.
18:38:33 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
18:38:34 <merijn> Everyone says stuff "we should add existentials to the report!", but actually going through the work to specify how they should work is an annoyance no one wants :p
18:38:56 <Uniaika> (would they even be useful??)
18:39:10 <Uniaika> (no wait, scratch that, it's just ignorance talking)
18:39:18 <merijn> What?
18:39:23 <dolio> Can we get DeriveFunctor?
18:39:28 <merijn> Existenials are plenty useful
18:39:31 <davean> Can we get ScopedTypeVariables :-p
18:39:31 Thra11 joins (~Thra11@5.1.169.217.in-addr.arpa)
18:39:36 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
18:39:39 <davean> I want to be able to write type signatures :-p
18:39:44 <merijn> I'm not convinced about SCTV by default
18:39:57 <merijn> Unless it includes the explicit forall to use
18:39:58 <dolio> Does 2010 let you write quantified types?
18:40:32 <ski> (having the explicit `forall' was a mistake, imho)
18:40:37 <Uniaika> davean: existentially or universally? :P
18:40:43 <Uniaika> ski: are you speaking of PureScript?
18:40:47 <dolio> If not, seems like you could add it the way GHC does it.
18:40:49 <davean> Uniaika: I don't think you're talking to me.
18:40:52 <ski> no, `ScopedTypeVariables'
18:40:55 <Uniaika> err, I meant dolio
18:40:59 <Uniaika> ski: ok
18:41:09 <Uniaika> davean: yeah sorry :)
18:41:23 × MaoZeDong_ quits (~yuri@2a00:1370:8135:91d4:415b:9b05:36f8:565c) (Ping timeout: 272 seconds)
18:41:28 <tomsmeding> sm[m]: any new edits to pastes made from now on will be tracked like in this one: https://paste.tomsmeding.com/Lo6fyJsD
18:41:41 <monochrom> Ah, even Haskell 2010 itself is extremely sketchy on both type checking ("oh it's just folklore HM with folklore type classes") and dynamic semantics ("oh it's just folklore non-strict lambda calculus").
18:42:04 <ski> Uniaika : imho, it's backwards. with `ScopedTypeVariables' enabled, the free variables in the signature ought to be in scope in the definition, unless they're explicitly quantified by `forall' :)
18:42:12 <dolio> Uniaika: I'm not sure Haskell 2010 lets you write explicit 'foralls' I mean.
18:42:15 × zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving)
18:42:19 <merijn> It doesn't
18:42:24 <monochrom> There is no way (or no need? heh heh heh) you can specify ScopedTypeVariable at that rate.
18:42:25 <davean> ski: I agree
18:42:34 <Uniaika> I see :)
18:43:21 <davean> monochrom: You just do it. if its compiled Haskell2020, its ScopedTypeVariable without forall. Set language Haskel2010 in your cabal file if you haven't updated your code, oh you already have to set that so do nothing.
18:43:21 <tomsmeding> ski: yes please
18:43:22 <dolio> ski: Are foralls required on top-level signatures?
18:43:31 <ski> nope
18:44:18 <monochrom> No, I mean specifying what ScopedTypedVariable means.
18:44:39 <monochrom> IOW merijn's sense of "specify".
18:44:52 <davean> monochrom: ooh, I mean you can specify it as well as Haskell's types are specified :)
18:45:21 <dolio> Maybe they're already compatible with Haskell 2010. :P
18:45:26 × Thra11 quits (~Thra11@5.1.169.217.in-addr.arpa) (Ping timeout: 265 seconds)
18:45:33 wwwww joins (~wwwww@unaffiliated/wwwww)
18:45:48 <monochrom> To a large extent every GHC extension paper is of much higher quality than Haskell 2010 quality.
18:46:19 <monochrom> Every such paper painstakingly writes down typing rules. There is none in the Haskell Reports.
18:46:27 <sm[m]> nice tomsmeding
18:46:56 <davean> It would be nice if one could clean-room impliment Haskell from the report without other knowlege than how to read it and anything explicitely referenced. We don't have that.
18:47:05 <tomsmeding> (formatting is debatable)
18:47:07 <davean> Requiring that is a weird standard to update other parts of the report.
18:47:21 <monochrom> At this rate, adding most GHC extensions to the next Haskell Report is trivial, just write down the syntax, there is no need to write down the typing rules or the dynamic semantics, thus "no need", har har har.
18:47:50 wavemode joins (~wavemode@097-070-075-143.res.spectrum.com)
18:48:19 <geekosaur> monochrom, the downside is that the typing rules often assume ghc's internal type system, which I'm not sure anyone wants to take as the basis for a Haskell standard
18:48:52 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
18:48:58 <maerwald> tomsmeding: how do you download a paste?
18:49:07 <geekosaur> and nobody wants to do the work to specify a minimal type system for the Report
18:49:21 <tomsmeding> maerwald: there's the [raw] link for the first file
18:49:31 <maerwald> tomsmeding: I mean all files
18:49:36 <davean> geekosaur: right.
18:49:41 <tomsmeding> you don't, currently :p
18:49:51 <tomsmeding> how would you expect that to work, zip file?
18:49:58 <dmwit> ski: Counterpoint: the obvious alternative is for forall to take the variable out of scope. But foralls are overloaded now to also be part of the TypeApplications API.
18:50:02 <tomsmeding> also how often do you really need that
18:50:14 <lechner> Hi, why do I have to use the <- assignment operator on the result from getArgs, but not on the result from readFile, please? I see that the readLine result is not 'tainted' by the IO monad, but I do not otherwise see a distinction between these commands vs expressions.
18:50:18 <dmwit> ski: So that seems like it would be sort of a bad conflict in what you're able to express.
18:50:41 <dmwit> lechner: You *do* have to use <- on the result from readFile. Why do you believe you don't?
18:50:48 <wwwww> Let's say i would like to run something with forkIO, in OSX only single thread spawns but in linux there are many of them, why?
18:50:56 <Uniaika> < geekosaur> and nobody wants to do the work to specify a minimal type system for the Report // yeah, it takes time, effort and coordination, and I feel like we're too much in maintenance mode for that kind of thing to happen
18:50:56 <dmwit> lechner: Also, I challenge your claim that readLine is not 'tainted'.
18:51:29 <lechner> never mind, i thought i passed the result directly to putStr when i fact I placed a =<< in between
18:51:29 <dolio> wwwww: No threaded runtime maybe?
18:51:34 <dmwit> wwwww: Perhaps the compiler you're using on Linux has defaulted to the threaded runtime, but the one on OSX hasn't?
18:51:46 <maerwald> tomsmeding: tar.gz
18:51:49 <davean> wwwww: forkIO is not forkOS
18:52:06 <wwwww> I know they are different but i get same result
18:52:09 <maerwald> zip is trash
18:52:15 × irc_user quits (uid423822@gateway/web/irccloud.com/x-jxviwzlqotrdnqhx) (Quit: Connection closed for inactivity)
18:52:17 <lechner> does <- force an evaluation, in some sense ?
18:52:43 <tomsmeding> maerwald: fair :p
18:52:48 <dmwit> lechner: No, it forces an execution.
18:52:55 <tomsmeding> how many times have you wanted such functionality already
18:53:02 <maerwald> all the time man
18:53:10 <ski> dmwit : hm, point. however, if we get `foo @a ... = ..a..', then that could be combined with `foo :: forall a. ..a..'
18:53:11 <davean> wwwww: forkIO is a greenthread. Why would it produce a new OS thread generally? Thats a RTS decision.
18:53:19 <lechner> dmwit: in the world of haskell, that's not the same thing?
18:53:22 tabemann_ is now known as tabemann
18:53:29 <dmwit> lechner: "evaluation" is the process of reducing expressions to other expressions. "execution" is the process of submitting terms to the runtime system to request that effects be performed.
18:53:35 <davean> lechner: not at all the same.
18:53:49 MaoZeDong_ joins (~yuri@2a00:1370:8135:91d4:956f:2ce4:9ce3:de8c)
18:53:58 <dmwit> ski: Neat idea!
18:54:05 × knupfer quits (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de) (Ping timeout: 260 seconds)
18:54:10 <tomsmeding> maerwald: personally I'd barely ever use it, only on the wildest pastes with >3 files, but I guess other people work differently :p
18:54:20 <monochrom> Well, beginners from imperative backgrounds do not already know that, or why, we need two separate "eval" and "exec" notions.
18:54:24 <dolio> lechner: It's kind of jargon invented here.
18:54:37 <ski> dmwit : i dunno whether it will happen, but i can still complain about it ;)
18:54:40 <dolio> People tend to use it before explaining it for some reason. :)
18:54:43 <dmwit> ski: Hm, I'm not sure I understand that, though. How is the order of variables determined from `foo @a ... = ...`?
18:54:49 <merijn> davean: eh, note that forkOS doesn't spawn an OS thread either
18:54:50 <geekosaur> I've used the gist.github.com equivalent a few times. Not often, but I also haven't encountered that many multi-file pastes
18:54:57 <lechner> dmwit: doesn't an execution necessitate an evaluation?
18:54:59 <monochrom> So you need to be gentle in the sense that you can't just paint it as "everyone else already knows" truth. Every else doesn't already know.
18:54:59 <dmwit> ski: Are you suggesting that the `a` in `@a` must have the same name as in the type signature?
18:55:05 <ski> dmwit : `foo :: forall a. forall b. ..a..b..; foo @a @b ... = ...'
18:55:06 <dmwit> lechner: Very often, yes. But not always.
18:55:09 <ski> dmwit : no
18:55:14 <davean> merijn: yes, I was getting there.
18:55:34 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Read error: Connection reset by peer)
18:55:38 <dmwit> ski: Then I don't understand how it helps clear up the conflict I proposed.
18:55:39 <davean> merijn: threading is hard
18:55:40 <monochrom> The next surprising divergence will be how, and why, parsing is different from eval order.
18:55:41 <wwwww> I tried forkOS/forkIO and as result still i have single thread in OSX davean
18:55:46 son0p joins (~son0p@186.159.4.142)
18:55:49 tomsmeding notes that the people coming here complaining that the channel is quiet should probably return during US waking times
18:55:55 <dmwit> ski: If forall is used both for variable hiding and variable order, how to I express the order of unhidden variables?
18:56:03 <davean> wwwww: sure, but my point is theres no reason to tihnk either of them would create a thread in particular.
18:56:08 <lechner> i guess commands can perhaps expect an expression, too
18:56:10 <davean> wwwww: How many threads is an RTS decision
18:56:11 <merijn> wwwww: What are you trying to do?
18:56:11 <geekosaur> what are you using to determine threads? they look different in OS X vs. Linux
18:56:17 <davean> which is what the RTS options are about.
18:56:23 <monochrom> Europe waking time is also pretty active here.
18:56:25 <ski> dmwit : `zip :: forall a. forall b. [a] -> [b] -> [(a,b)]; zip @u @v (xs :: [u]) (ys :: [v]) = ..u..v..xs..ys.' should be fine
18:56:28 <davean> geekosaur: yes, process vs. not
18:56:33 <geekosaur> in particular, on linux they show up in ps becuase of how linux implements threads
18:56:53 <ski> dmwit : each defining equation could name the type parameters differently, if it wanted to
18:56:53 <wwwww> merijn: i'm building server for my game
18:56:58 <dmwit> ski: Ahhh, so the foralls give the order, and the @ patterns give what's hidden?
18:57:03 <dmwit> (well, what's not hidden)
18:57:04 <ski> yes
18:57:12 <dmwit> Got it! Very sensible.
18:57:13 <davean> ski: I like that.
18:57:18 <davean> ski: Please give!
18:57:23 <tomsmeding> monochrom: apparently the Europeans are active in the evening then :)
18:57:23 <ski> give ?
18:57:28 <merijn> wwwww: "I need to concurrently handle many connections" (that's what forkIO is for) and "I need multiple OS threads" are orthogonal issues
18:57:41 <davean> ski: please give me that as how I get to do it :)
18:57:43 <dmwit> ski: I think he's asking you to implement it and send him a patch. ^_^
18:57:56 <merijn> wwwww: You can spawn many threads handling independent conncections using a single OS thread, using multiple OS threads is optional
18:58:30 exarkun1 joins (~exarkun@193.56.252.210)
18:58:36 <ski> dmwit : alternatively, you should be able to say `zip :: [a] -> [b] -> [(a,b)]; zip (xs :: [a]) (ys :: [b]) = ..a..b..xs..ys..', of course. but then the order of the type parameters isn't clear (as is already the case with implicit `forall')
19:00:17 <ski> hm .. i suppose, if this would have any chance of being accepted, it would probably be a differently named language extension than `ScopedTypedVariables'
19:00:38 <dolio> ski: Yeah, that's the problem.
19:00:45 <maerwald> south-east asia time is pretty silent
19:00:45 <dolio> Too late to fix the design.
19:00:51 <davean> NonGrungyScoping
19:01:04 <ski> yea. i remember i complained about this, when i first learned of `ScopedTypedVariables'
19:01:22 <davean> yah, ScopedTypeVariables is exactly the opposite of what makes sense.
19:01:33 <davean> its one of the reasons it has to be a report thing to clean it up.
19:01:47 <davean> Things have rotted because of it being an extension.
19:01:51 <monochrom> BoundTypeVariables
19:01:52 <ski> also .. i'm missing `PatternSignatures' ..
19:02:09 <dolio> The only way it makes 'sense' is that it doesn't change the meaning of any Haskell 98 programs.
19:02:25 <davean> dolio: which is exactly what we have a report to do!
19:02:44 × gestone quits (~gestone@c-73-97-137-216.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
19:02:51 <dmwit> But there are other extensions which change the meaning of Haskell 98 programs.
19:02:59 × wavemode quits (~wavemode@097-070-075-143.res.spectrum.com) (Ping timeout: 240 seconds)
19:03:09 <davean> Yah but I think they're all much newer?
19:03:14 <dolio> Yeah. GHC tries to avoid it a lot, though.
19:03:14 <dmwit> MonoLocalBinds or whatever that one's called, ExtendedDefaulting, etc.
19:03:17 <ski> first, sometimes i want to write stuff like `zip (xs :: [a]) (ys :: [b]) :: [(a,b)] = ..a..b..xs..ys..', annotating the return type directly (not after the body)
19:03:47 <dolio> Almost everything is designed to be a sort of conservative extension.
19:03:56 <ski> second, i'm not sure this would have to be mixed in with the explicit `forall's, and explicit type applications, extensions
19:04:33 <monochrom> There was a time Haskell Reports made good-bye-to-the-past changes. (I refuse to say "breaking changes".)
19:04:34 <ski> (also, i suppose, existential arguments)
19:04:57 <dolio> If only people had decided change was bad in 1.4. :)
19:05:17 <monochrom> In particular especially transitioning from the [Response]->[Request] I/O system to today's IO I/O system.
19:05:19 ski . o O ( `map',`(++)',monad comprehensions,`Eval' )
19:05:30 <monochrom> Yeah that one.
19:05:56 <monochrom> Look at how there was not even a bridging library offered.
19:06:47 <monochrom> The types Response and Request simply vanished in a puff of logic. Old code simply couldn't be re-compiled.
19:06:50 <wwwww> But still it doesn't explain why my program runs with more threads in linux rather than osx which only spawns single thread, i'm using stack so there should be no compiler or any configuration difference except stack version, merijn
19:07:00 <monochrom> We need that bravity again today.
19:07:34 geekosaur asks again: how are you determining how many OS threads are used?
19:08:02 <ski> dmwit : btw, in case it wasn't clear, i was suggesting both styles of defining (in the example) `zip' above should be possible. both with explicit `forall' (not scoping over defining equations), possibly combined with type application patterns, and implicit `forall', tyvars scoping over definition
19:08:36 <monochrom> Yeah I only get one thread in Linux, unless I go out of my way to use non-default settings.
19:08:45 <dolio> I wonder how many people were using [Response] -> [Request]. There was also the continuation-based wrappers, which were basically monadic IO with different types.
19:09:48 <ski> not sure, but i'd suspect more were using the CPS, since it was easier to get compositional
19:10:02 <geekosaur> +RTS -N, which I think requires building with --rts-options
19:10:13 <dolio> Yeah, it seems like the CPS stuff would be obviously superior.
19:10:14 <ski> (and also to not get out-of-synch, or premature-forcing, bugs)
19:10:24 <geekosaur> (but I'd expect more than one thread anyway due to the I/O manager using several internally)
19:10:51 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
19:11:04 <monochrom> But multiple OS threads requires firstly someone explicitly saying "-threaded" at link time.
19:11:27 wagle joins (~wagle@quassel.wagle.io)
19:11:30 <dmwit> wwwww: Didn't my very first response from ages ago propose an explanation for that? I feel as though dolio and I have been ignored this whole time.
19:11:36 <ski> hm, i thought i saw a dialogue-based I/O implemented on top of `IO' (using lazy I/O), some time ?
19:11:54 <merijn> You can just set the number of threads from the code, though
19:12:02 <dmwit> Only if you have the right runtime.
19:12:06 <monochrom> OK I'm out of that threading question because geekosaur's question nails it.
19:12:07 <merijn> true
19:12:21 <lechner> If anyone is using Debian: In which -dev package can i find one of the apparently many SHA-512 cryptographic primitives available in Haskell, please?
19:12:22 <ski> (but then there's the extensibility problem over the raw response-to-request mapping, especially wrt FFI)
19:14:16 <monochrom> ski: Do you have "interact" in mind? Or is it one of those free monads?
19:14:20 <sm[m]> lechner: why do you want a debian -dev package, did the haskell package give a build error ? If so you could paste that
19:14:43 irc_user joins (uid423822@gateway/web/irccloud.com/x-yamugsoddzfdaipx)
19:14:55 <ski> monochrom : something along the lines of it, but more involved, to deal with the richer `Request' and `Response' types
19:15:01 Thra11 joins (~Thra11@5.1.169.217.in-addr.arpa)
19:15:19 <geekosaur> we tend to prefer getting packages from hackage or stackage over using OS packages, because the latter are often old
19:15:23 sfvm joins (~sfvm@37.228.215.148)
19:15:37 <geekosaur> and stack will usually ignore them anyway
19:16:31 <sm[m]> oh, I wasn't sure if they are looking for a debian c package or a debian haskell package
19:16:32 <wwwww> dmwit: Forgive me, you gave me good point for further research about this kind of thing, but one of the reason i use stack instead of just ghc is avoid this kind of situations, i provide my compiler version in one of those .yml files and program should behave same in every platform, at least thats what i expect
19:16:54 <lechner> sm[m]: i'll use stackage. i am just trying to figure out how
19:17:13 <dmwit> Well, that just seems naive.
19:17:39 <dmwit> I'm not even sure what "behave same" even means, TBH.
19:17:44 <sm[m]> wwwww: did you answer the question about how you're counting threads ?
19:18:37 <dmwit> You need some theory of observations that accounts for the differences between OS's, and then some relation describing "same" observations on the two. Seems complicated to set that all up carefully.
19:18:54 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 256 seconds)
19:19:07 <wwwww> sm[m]: i'm watching the htop and i hope it is the right way to count them
19:19:14 <dmwit> e.g. look at Wine, an attempt to formalize the connection between Windows observations and Linux observations. It is many hundreds of megabytes of description to get that right.
19:20:11 <monochrom> I wouldn't say it's hundreds of megabytes. I would follow Shannon's advice and gzip it. Then that's a better measure. >:)
19:20:32 <davean> wwwww: except also the platform isn't the same and you're asking a platform thing.
19:20:38 iqubic joins (~user@2601:602:9500:4870:958d:950f:29cc:a6c4)
19:20:45 <dmwit> It's certainly more than what you would comfortably transmit into an IRC channel full of people...
19:21:32 <davean> monochrom: several thens of megabytes then :-p
19:21:37 <sm[m]> wwwww: cool. You know about htop's setting for showing just processes or all threads, I guess
19:21:41 <monochrom> Yeah!
19:21:44 <iqubic> What packages do people recommend for writing Haskell code in Emacs on NixOS?
19:21:49 × Thra11 quits (~Thra11@5.1.169.217.in-addr.arpa) (Ping timeout: 264 seconds)
19:22:03 <lechner> on the subject of stackage, is the advice given from here usually sounds? https://www.fpcomplete.com
19:22:08 <maerwald> iqubic: packages?
19:22:15 <maerwald> emacs packages?
19:22:31 <iqubic> yeah. I want to know which Emacs Packages people recommend.
19:22:35 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
19:22:50 <sm[m]> lechner: certainly, that's the home of stack
19:22:52 <davean> monochrom: I'm sorry, its split between a bunch of pieces but its at least 50MiB compressed. Can we round?
19:23:10 <davean> monochrom: I'm tired of addig up package sizes at 50MiB :-p
19:23:11 <lechner> iqubic: https://wiki.haskell.org/Emacs ?
19:23:14 <monochrom> Yes, no need to be very precise.
19:23:25 <dolio> davean: The slackware download is like 67MB.
19:23:38 <davean> dolio: Ok, maybe I almost got to the end.
19:23:59 <iqubic> Is lsp-haskell still under development?
19:24:26 <dolio> Thank goodness slackware still apparently exists.
19:24:27 × MaoZeDong_ quits (~yuri@2a00:1370:8135:91d4:956f:2ce4:9ce3:de8c) (Ping timeout: 272 seconds)
19:24:35 <sm[m]> iqubic: I think it's called haskell-language-server (or hls) now, unless that's something else. And it's under very active development in #haskell-ide-engine
19:24:48 <iqubic> Is it ready for personal use?
19:24:49 <monochrom> Well if COBOL still lives, why not slackware too. :)
19:25:04 <merijn> iqubic: Define ready :p
19:25:06 × mirrorbird quits (~psutcliff@2a00:801:44a:a00b:20c3:c64:eb15:73a2) (Remote host closed the connection)
19:25:06 <davean> monochrom: I don't know people being paid $500/hour to use slackware.
19:25:16 <sm[m]> iqubic: actually yes, I would say it is, using VS Code and hls 0.4 release
19:25:27 <iqubic> Is it better than https://github.com/jyp/dante?
19:25:29 <monochrom> And WinFax for that matter.
19:25:36 <sm[m]> yes, it's better than everything so far
19:25:44 <iqubic> sm[m]: I'm planning on trying to use it with emacs and nix.
19:25:50 <davean> monochrom: If people were being paid $500/hour to use slackware I'd be pretty confident in its continued existance.
19:26:06 <sm[m]> iqubic: I'm not going to say that's ready, that's a whole nother ball game :)
19:27:00 <wwwww> sm[m]: i didn't know that setting
19:27:04 <monochrom> davean, there is something wrong with using only the job market as the only indicator, but I can't articulate why.
19:27:08 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 258 seconds)
19:27:11 <iqubic> So, hls is only really ready for use with VS Code, and not really ready for use wiemacs?
19:27:13 <merijn> Ready is a matter of how much pain you're willing to put up with :p
19:27:33 <merijn> iqubic: I mean ghcide (which hls is built on) works fine for me in vim
19:27:35 MaoZeDong_ joins (~yuri@2a00:1370:8135:91d4:956f:2ce4:9ce3:de8c)
19:28:00 <iqubic> I don't want to put up with much pain. I want a tiny little bit of pain only.
19:28:00 <merijn> iqubic: Is it ready in the sense of "I wanna press a single button with 100% success rate of everything working"? Probably not.
19:28:13 <davean> monochrom: Its a touch different than that, people getting paid $500/hour to use a thing tend to make sure said thing keeps existing.
19:28:13 <rednaZ[m]> iqubic: If you want to be on the safe side, use `haskell-mode` and `eglot` with ghcide (https://github.com/haskell/ghcide#eglot)
19:28:33 Saten-san joins (~Saten-san@ip-81-11-153-236.dsl.scarlet.be)
19:28:36 <iqubic> I think I'll just stick with Dante. It seems to work well enough for me.
19:29:05 <merijn> davean: If I got paid 500/hour to do C I'd still wipe it off the planet if I could ;)
19:29:26 geekosaur doesn't think that worked for Solaris
19:29:45 <merijn> s/Solaris/Illumos :p
19:29:52 <wwwww> sm[m]: for a moment i tought i was counting wrong but no
19:29:59 <davean> geekosaur: you only wish Solaris was gone.
19:30:09 <sm[m]> wwwww: yes, the H and K keys. Though for whatever reason, on mac it seems to alway show the threads, unlike on linux
19:30:17 <merijn> Solaris is better than Linux in tons of ways >.>
19:30:41 <davean> merijn: All POSIX systems are crap.
19:31:11 <davean> But at least Solaris didn't come last and then make mistakes that every predicesor made sure to avoid.
19:31:12 <merijn> Sure
19:31:18 <merijn> But some are more crap than others :p
19:31:28 <davean> *cough*epoll*cough*
19:31:31 <merijn> davean: Ah, I see you too hate epoll
19:31:33 <merijn> Hah
19:31:34 <sm[m]> wwwww: if you want to get to the bottom of it, you should probably create a minimal reproducible example, and show screenshots/pastes of your build/run commands and the results on both platforms as well
19:31:44 <merijn> davean: God, epoll is such an embarassment
19:32:03 <merijn> davean: Imagine if linux had just implemented kqueue and we could've used that portably acorss linux, macOS, and BSD :(
19:32:30 <davean> merijn: oh, oh, you want to only put epoll into the "braindead things linux did that litterly no one else was stupid to do, and was conciously aware would be a bad idea"?
19:32:37 <davean> merijn: because I have a whole list ...
19:33:07 <merijn> davean: Naah, but it's the one that springs to mind most easily :)
19:33:23 <wwwww> sm[m]: probably thats how i will endup but i don't really care about osx, it's nothing but very advanced dvd player
19:33:27 <monochrom> Sorry, why is epoll a bad idea?
19:33:29 <MarcelineVQ> What is the correct solution to the problem epoll tries to solve?
19:33:37 <davean> (I really don't know how Linux devs manage to make so many actively bad decisions that why and how they're bad are so well established when they copy other people's work)
19:33:45 <davean> MarcelineVQ: because it can never be used corretly.
19:33:51 <davean> er, monochrom
19:33:54 <sm[m]> iqubic: what merijn said. Recently I found researching & debugging the emacs packages & setup at the same time as hls to be just too much. The VS Code setup is waay more polished and easier, removing lots of failure modes.
19:34:02 <merijn> monochrom, MarcelineVQ: https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-broken-12/
19:34:12 <merijn> davean: Well, it can now
19:34:22 <merijn> If you know about the pitfall and use the right magic flag combination!
19:34:30 <iqubic> I see. I'm going to keep using Dante for the time being.
19:34:33 <davean> merijn: uh ... last I knew there were a few issues still.
19:34:58 <merijn> Oh, possibly, but the the oneshot/exclusive flags fix the most glaring problems
19:35:27 <davean> Yah but thats hardly the extent of it
19:37:35 <merijn> monochrom: The damning thing is that Solaris ran into this issue, BSD then designed kqueue to not have the same problems, Windows' IO Completion Ports also work correctly and then after there had been 2 designs that correctly handle all the issues linux decides to, instead of adopting kqueue or the IOCP design, design their own system call that is gratuitously incompatible with kqueue *and* has the issues
19:37:41 <merijn> that kqueue and IOCP were designed to not have
19:39:01 <davean> Can we mention inotify here?
19:39:14 <davean> Because thats also fundimentally broken in a way you can never use it correctly.
19:39:19 <geekosaur> must we?
19:39:25 <davean> in a way everyone else also got right before it came into existance.
19:39:52 <davean> Fun fact: I have haskell packages that pass on all systems except linux because they detect the bugs in Linux.
19:39:59 <davean> (their test cases)
19:40:10 × eric quits (~eric@2804:431:c7d4:402a:747d:7a4a:20fc:1f27) (Remote host closed the connection)
19:41:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:41:45 × Saten-san quits (~Saten-san@ip-81-11-153-236.dsl.scarlet.be) (Ping timeout: 240 seconds)
19:42:10 <sm[m]> I'm learning a lot of bad things in #haskell today.. is there no hope for linux to get fixed, then ?
19:42:17 eric joins (~eric@2804:431:c7d4:402a:4dc9:97ef:220b:73aa)
19:42:17 <davean> sm[m]: no
19:42:20 <merijn> Not really
19:42:30 <merijn> It'd break kernel API which is deathly sin according to Linus
19:42:41 <davean> merijn: well they could add kqueue
19:42:47 <davean> and kqueue covers inotify
19:42:49 <davean> unlike epoll
19:42:59 <merijn> sm[m]: You're simply learning that, despite the internet memes about Linux' "superior engineering" it is a rather shoddily engineered OS, tbh
19:43:26 <davean> merijn: Yah, its the lowest code quality of any POSIX I know of.
19:43:45 <davean> Its like they let just anyone submit code.
19:44:00 <MarcelineVQ> time for plan9 to come to dominance
19:44:10 <cohn> I prefer FreeBSD personally, but Linux gets the job done when I need it to.
19:44:13 <davean> POSIX is fundimentally flawed but Linux goes out of its way to be worse
19:44:36 <merijn> anyway, we drifted slightly offtopic :p
19:44:37 <davean> cohn: yah, I have a few things on FreeBSD for the reason of Linux's issues and it just working better :)
19:44:48 <cohn> davean: woot!
19:44:58 × coot quits (~coot@37.30.55.202.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
19:45:25 × ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 260 seconds)
19:45:26 <cohn> yea, if I could get Docker working reliably on FreeBSD, I'd have zero use for Linux
19:45:32 <sm[m]> surely this toy linux thing will never go anywhere
19:45:52 ryansmccoy joins (~ryansmcco@156.96.151.132)
19:46:57 <sm[m]> also can I just say it's refreshing to see linux bashed in comparison to windows for once
19:47:13 <davean> sm[m]: hey, windows is pretty bad too.
19:47:39 <merijn> Windows has better engineering than Linux, handsdown
19:47:53 <davean> merijn: yes, but by someone who hates Window's users
19:47:54 <merijn> Doesn't mean they don't make bad decisions, but overall better
19:48:15 <merijn> Anyway, maybe a discussion for -offtopic :p
19:48:18 <geekosaur> but windows went through a significant clean-up between 7 and 8; linux could stand to do the same,but never will (or would get worse as a result)
19:48:33 Thra11 joins (~Thra11@5.1.169.217.in-addr.arpa)
19:48:45 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 265 seconds)
19:49:05 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
19:51:30 <maerwald> yes, lets switch all to windows... and then lets talk again
19:51:58 <maerwald> (some thing are only true when you think about it, not when you do it)
19:52:19 <davean> maerwald: no, I'd prefer to be abused via negligence than malice, thanks.
19:52:23 zacts joins (~zacts@dragora/developer/zacts)
19:52:41 <davean> Microsoft is compitent enough its hard to avoid their abuse.
19:54:29 × geekosaur quits (42d52102@66.213.33.2) (Remote host closed the connection)
19:56:04 <energizer> in pattern matching, if i forget to handle a possible case, it wont compile, right?
19:56:10 <lechner> Hi, I saw STACK_ROOT for downloaded packages. How can I redirect 'stack update' to a place other than ~/.local/bin?
19:56:11 <davean> incorrect
19:56:23 <energizer> davean: what happens instead?
19:56:30 <merijn> energizer: It will, but if you use -Wall (and you should) you'll get a warning
19:56:31 shad0w_ joins (~arjun@160.202.36.27)
19:56:33 <davean> energizer: you can enable -Wall to get warnings about missing cases (or a more specific flag), and -Werror would prevent the compile.
19:56:44 <energizer> what will happen at runtime?
19:56:45 × danvet_ quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
19:56:48 <merijn> energizer: It'll crash
19:56:58 <davean> well, it'll throw an exception
19:57:03 <merijn> (well, throw an exception, but close enough)
19:57:04 <davean> That might not crash it if you handle the exceptions.
19:57:25 <shad0w_> hi all. whats a good second book for haskell ?
19:57:35 <davean> shad0w_: tell me what a good first book is first.
19:57:41 <merijn> Depends, what was the first one and what do you wanna learn
19:58:06 <shad0w_> i am 3/4rths through the graham hutton book. programming in haskell (2nd ed.)
19:58:08 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
19:59:01 <sm[m]> lechner: stack install is the command that writes there. Have a look at stack install --help
19:59:04 ukari joins (~ukari@unaffiliated/ukari)
19:59:23 × eflister quits (47ee2144@c-71-238-33-68.hsd1.or.comcast.net) (Remote host closed the connection)
19:59:39 <merijn> shad0w_: And what do you hope to get from this 2nd book that you're not getting from this one?
19:59:52 <sm[m]> lechner: actually it's in stack --help. --local-bin-dir.
20:00:00 <shad0w_> it was quite alright, a little low on details and real world projects though.
20:00:02 bicho_rastrero joins (~cerdito@87.85-87-38.dynamic.clientes.euskaltel.es)
20:00:32 <sm[m]> that's my cue!
20:00:32 <sm[m]> @where htac is nice
20:00:32 <lambdabot> "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook>
20:00:35 <merijn> shad0w_: What sorta details? Like "how this does compile"?
20:00:38 <energizer> thanks
20:01:49 <MarcelineVQ> Best to make something for yourself after reading a book, no book's gonna teach you how to do that truly, you'll only learn how to assemble their specific exercises :>
20:02:25 manjaroi3 joins (~manjaro-i@2600:1700:9f00:b3df:a02:eef:be70:88de)
20:02:34 <merijn> Yeah, I'd say the best way to learn is "just start"
20:02:47 <shad0w_> merijn: not quite. i touched quite a few concepts and the write up for them was not very detailed. i'd be left feeling. hmm. there should be more on this in here, this cant all be it.
20:02:49 <lechner> sm[m]: stack upgrade also wrote there when I ran it on the outdated 1.71 version from stock debian. it seems an environment variable might be safer than just --local-bin-dir per invocation
20:02:53 <merijn> There's whole bunches of reading for specific topics/things, but best to discover them "as is"
20:03:04 <shad0w_> mostly on the haskell parts that are different from other langs
20:03:04 × gmt quits (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
20:03:12 <shad0w_> like typeclasses and more
20:03:24 × kleisli_ quits (~kleisli@172-8-147-49.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
20:03:30 <davean> I've only ever got compitent by reading before doing, not really by doing personally. Doing leads to me pattern matching, reading leads to me thinking and understanding.
20:03:30 <merijn> shad0w_: Incidentally, often overlooked/underrated document is just the Haskell 2010 report which should be read by more people than it is :p
20:03:40 <ski> @where report
20:03:40 <lambdabot> http://www.haskell.org/onlinereport/haskell2010/ (more: http://www.haskell.org/haskellwiki/Definition)
20:03:44 <davean> Only when I produce something novel does doing help.
20:04:01 <sm[m]> +1 re Haskell report, also the GHC User Guide and typeclassopaedia
20:04:09 <sm[m]> and base haddock
20:04:16 <merijn> davean: Right, but if you just finish reading a programming book, you should probably try and put it into practice before grabbing a 2nd book :)
20:04:17 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
20:04:36 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Client Quit)
20:04:38 <ski> @where Typeclassopedia
20:04:38 <lambdabot> http://www.haskell.org/haskellwiki/Typeclassopedia
20:04:41 <shad0w_> MarcelineVQ: i tend to agree
20:04:45 <merijn> You can keep reading until the heat death of the universe, but at some point you gotta do something :)
20:05:09 <shad0w_> just dont really feel im still comfortable with the language enough yet though.
20:05:23 <shad0w_> but then again, that happens by using it more.
20:05:31 <sm[m]> lechner: you're right, stack upgrade writes there too. Maybe there's an env var mentioned in the user guide
20:05:37 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
20:05:44 <bicho_rastrero> The videos of Erik Meijer from Channel 9 are a good intro.
20:06:02 <davean> merijn: your experience and mine probably differ.
20:06:44 <shad0w_> my experience tend to lean more towards @davean side aswell.
20:06:52 <shad0w_> tends*
20:06:53 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
20:07:17 <monochrom> Speaking of which, due to quirks in human minds, the 2nd (and even the 3rd) book doesn't have to be different.
20:07:17 <merijn> shad0w_: Yeah, but "doing stuff and getting stuck" will let you know exactly *what* you don't get yet and then people can point to more specific resources
20:07:32 <shad0w_> so far, i've written down the cookbook, haskell 2010 report and typeclassopedia ?
20:07:40 <davean> typeclassopedia is great
20:07:43 <merijn> @where rwh
20:07:44 <lambdabot> http://www.realworldhaskell.org/blog/ http://book.realworldhaskell.org/read/
20:07:49 <merijn> Oh, that's still the old one
20:07:53 <monochrom> In a math channel someone made the great observation that "the 3rd calculus textbook you read is the best".
20:08:01 <merijn> https://github.com/tssm/up-to-date-real-world-haskell
20:08:02 sedeki joins (~textual@unaffiliated/sedeki)
20:08:15 <monochrom> This is only because some people really need the same thing repeated 3 times.
20:08:25 <shad0w_> +1
20:08:46 <merijn> shad0w_: RWH skimps over many language details, but it does have a bunch of real world examples (although the original version's code might have bitrotted due to newer library versions)
20:09:05 <merijn> The high level ideas of "how to write a Haskell application" and the high level library designs remains relevant, though
20:09:11 <shad0w_> i can glue around those, i think ?
20:11:26 <sm[m]> shad0w_: GHC User Guide (and cabal's & stack's, really) and the base package's haddock docs are also worth knowing at least in outline
20:12:15 × mitchellsalad quits (uid40617@gateway/web/irccloud.com/x-nltqasqieelsglgp) (Quit: Connection closed for inactivity)
20:12:21 <sm[m]> maybe it was mentioned, but you also will learn fast by looking at successful FOSS projects and maybe asking for guidance in their IRC rooms
20:12:39 <cohn> ok, silly question time. Combinators are kind of the opposite of Functors, right?
20:13:28 <sm[m]> shad0w_: still more.. doing exercises will build some fluency, project euler did it for me
20:13:53 <shad0w_> okay, these links should keep me busy.
20:14:14 <shad0w_> thanks, you guys are helpful : )
20:14:18 sedeki parts (~textual@unaffiliated/sedeki) ("Textual IRC Client: www.textualapp.com")
20:14:18 <sm[m]> then there's videos. Really there's too much :)
20:14:21 <lechner> okay, now i have the latest stack and ghc. which SHA512 should i get and how, please?
20:14:34 sedeki joins (~textual@unaffiliated/sedeki)
20:14:36 <shad0w_> you guys hang around here often ?
20:15:18 × johtso quits (uid563@gateway/web/irccloud.com/x-xmeoikcxfjfjijiq) (Quit: Connection closed for inactivity)
20:15:48 <shad0w_> sm[m]: i mostly do exercism, but its getting a little repetitive for me. i think i'll give project euler a look too.
20:15:54 <sm[m]> lechner: hoogle can help find some candidate packages: https://hoogle.haskell.org/?hoogle=sha512&scope=set%3Astackage
20:16:08 drupol joins (sid117588@gateway/web/irccloud.com/x-thtirfgpuxvejbva)
20:16:13 × sedeki quits (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
20:16:33 <drupol> Hello,
20:16:39 mitchellsalad joins (uid40617@gateway/web/irccloud.com/x-evcglbwkcwzfvhut)
20:16:54 <drupol> How can I do "import Data.List.Ordered" in my code ? It doesn't work locally.
20:17:01 <drupol> Could not find module ‘Data.List.Ordered’
20:17:30 <ddellacosta> drupol: how are you building your project?
20:17:52 <drupol> I'm just a beginner, I'm trying to do this example: https://wiki.haskell.org/Prime_numbers#Sieve_of_Eratosthenes
20:18:06 <drupol> I'm building my project in ghci I do: :load Main.hs
20:18:21 <ddellacosta> drupol: are you using cabal, or stack?
20:18:26 <drupol> Stack
20:19:18 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:19:55 <ddellacosta> drupol: so, I'm less familiar with stack, but I think you need to add the data-ordlist dependency to your stack.yaml somehow. Have you done this?
20:20:32 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:21:03 <sm[m]> add it to the .cabal or package.yaml file, rather
20:21:09 <drupol> No, I never had to deal with that stuff yet
20:21:17 <ddellacosta> sm[m]: thanks, I was hoping someone would correct me if I screwed that up...
20:21:34 <sm[m]> if it weren't in stackage, then you'd be right
20:21:36 <drupol> How to create a basic package.yaml file?
20:21:51 <ddellacosta> drupol: so basically what you're trying to use is a package that is not included by default (which is not very clear from the example you're working from, so don't feel like you missed anything)
20:21:57 <sm[m]> drupol, if you don't have one don't bother, use the .cabal file
20:21:58 × martin___ quits (uid411878@gateway/web/irccloud.com/x-jsetcwsgqhdwsuvk) (Quit: Connection closed for inactivity)
20:22:26 <ddellacosta> drupol: follow sm[m] 's advice on stack here on out please :-D
20:22:36 <sm[m]> but I guess you don't have a .cabal file either eh
20:22:46 <drupol> No I don't have any of those files indeed.
20:22:49 sm[m] tag-teams with ddellacosta
20:22:50 <drupol> It's pretty new for me.
20:23:00 <ddellacosta> sm[m]: thanks!
20:24:11 <bicho_rastrero> merijn: The source for "How to write a Haskell application" is https://wiki.haskell.org/How_to_write_a_Haskell_program or did you mean another one? The title is too generic.
20:24:36 <sm[m]> drupol, there are a few ways to get the extra package needed to make that import work. If this is just a one-time experiment, I personally would install it "globally" (stack install data-ordlist) and then use the -package data-ordlist option with ghc & ghci
20:24:52 frdg joins (~user@pool-71-184-143-249.bstnma.fios.verizon.net)
20:24:54 <drupol> Okay, thanks :-)
20:25:48 <frdg> How can I upgrade from stack 2.3.3 to stack 2.4?
20:25:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
20:26:05 × zacts quits (~zacts@dragora/developer/zacts) (Ping timeout: 240 seconds)
20:26:07 <bicho_rastrero> Dammit.
20:26:13 shad0w_ parts (~arjun@160.202.36.27) ("Using Circe, the loveliest of all IRC clients")
20:26:50 <drupol> @sm[m] GHCi, version 8.8.4: https://www.haskell.org/ghc/ :? for help
20:26:50 <drupol> <command line>: cannot satisfy -package data-ordlist
20:26:50 <drupol> (use -v for more information)
20:26:51 <lambdabot> Unknown command, try @list
20:27:46 <sm[m]> drupol: my mistake. stack install data-ordlist && stack exec -- ghci -package data-ordlist Main.hs ?
20:27:58 <drupol> Trying it out
20:28:11 × p-core quits (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Remote host closed the connection)
20:28:31 p-core joins (~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
20:29:03 <drupol> sm[m]: Works flawlessly. Is there a way to automatize this when I run ghc or ghci ?
20:30:43 <sm[m]> several ways. Usually the way is to make a "project" directory with stack init or cabal init. You put Main.hs in there and you add data-ordlist to the list of dependencies in the .cabal file
20:31:04 <sm[m]> and then inside that project dir you can just do stack ghci, stack build etc
20:31:09 <drupol> Going to try the Stack init.
20:31:48 × dale quits (dale@unaffiliated/dale) (Remote host closed the connection)
20:32:00 dale joins (dale@unaffiliated/dale)
20:32:02 <wwwww> c
20:32:06 <drupol> Ok I have stack.yaml file now :-)
20:32:52 <wwwww> wrong chat
20:33:33 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
20:33:50 <frdg> here is my problem: I have a server that I ssh into. I would like to run a stack program from this server. How can I transfer the project as a whole instead of having to compile from source? Or should I just install from source?
20:33:50 <frdg> So far I have run into issues trying to re-compile.
20:34:06 frdg` joins (~user@pool-71-184-143-249.bstnma.fios.verizon.net)
20:34:09 × frdg quits (~user@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
20:34:22 <sm[m]> drupol: fair warning, we can advise how to do basic stuff but you will probably get confused and have a horrible time unless you read some of the stack and maybe the cabal user guides
20:34:49 <drupol> extra-deps:
20:34:49 <drupol> - data-ordlist-0.4.7.0
20:34:53 <drupol> Sure I understand
20:34:58 <drupol> But that is working :-)
20:35:09 <drupol> Thanks!
20:35:19 walla joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
20:35:27 <sm[m]> np
20:39:54 <sm[m]> frdg: if you can arrange for your build machine and server to be the same architecture and similar os version, you can copy the binary
20:40:18 knupfer joins (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de)
20:40:29 <sm[m]> if not, you could build inside a vm that's configured like the server
20:40:54 <frdg`> both are x86_64. OS's are the same
20:40:57 <sm[m]> I think people also use "docker" for this, but I don't understand how that all works
20:41:10 <sm[m]> that sounds good then
20:41:43 <frdg`> I ended up getting linux on that macbook :)
20:41:53 <sm[m]> ha, nice
20:42:08 <sm[m]> the binary will depend on some c libs , which should be present on both machines
20:42:40 <frdg`> ok
20:43:30 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
20:44:01 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
20:46:47 × _xor quits (~xor@74.215.46.133) (Quit: WeeChat 2.9)
20:48:01 <ddellacosta> yeah I was going to say nix-copy-clojure or some other form of nix magic, or docker
20:48:19 <ddellacosta> but nix is a big ask if you aren't already familiar
20:48:38 <ddellacosta> I mean, docker is too I guess, but a bit easier to get started with
20:49:35 danvet_ joins (~Daniel@212-51-149-96.fiber7.init7.net)
20:49:36 <ddellacosta> lol nix-copy-closure I mean
20:49:37 <frdg`> how do I create the binaries? Is this done with stack?
20:49:40 <ddellacosta> guess what my day job is
20:49:59 fendor joins (~fendor@212095005091.public.telering.at)
20:50:26 wroathe_ joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
20:50:38 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
20:53:22 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Remote host closed the connection)
20:54:17 × ggole quits (~ggole@2001:8003:8119:7200:df:f904:197b:d0a9) (Quit: Leaving)
20:54:20 lambda-11235 joins (~lambda-11@108-237-120-58.lightspeed.frokca.sbcglobal.net)
20:57:53 wroathe_ is now known as wroathe
20:59:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:00:01 × exarkun1 quits (~exarkun@193.56.252.210) ()
21:01:42 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:04:22 danso joins (~dan@107-190-41-58.cpe.teksavvy.com)
21:05:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
21:08:39 <sm[m]> frdg`: yes, stack build (or stack install which copies them to a more convenient place)
21:09:25 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
21:09:41 <tomsmeding> maerwald: what tar package would you suggest I use for creating tar files?
21:09:53 <tomsmeding> preferably one that doesn't limit the file name length
21:09:57 <tomsmeding> :p
21:10:02 <walla> ok. I will be able to figure it out from here. I have to figure out how to get the database working and all that first. Thanks for the help as always.
21:10:42 lkr123 joins (5b40b67c@ip5b40b67c.dynamic.kabel-deutschland.de)
21:10:47 <walla> haha it is fridge from my other computer by accident :)
21:10:50 <walla> frdg
21:11:24 × tessier quits (~treed@kernel-panic/copilotco) (Ping timeout: 265 seconds)
21:11:41 tessier joins (~treed@kernel-panic/copilotco)
21:14:32 × xpika quits (~alan@2001:8003:5d32:1f00:2a:bc61:ce8c:6d8) (Ping timeout: 260 seconds)
21:17:37 × bicho_rastrero quits (~cerdito@87.85-87-38.dynamic.clientes.euskaltel.es) (Remote host closed the connection)
21:17:37 × danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
21:18:03 danso joins (~dan@107-190-41-58.cpe.teksavvy.com)
21:19:06 _xor joins (~xor@74.215.46.133)
21:19:49 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds)
21:22:14 <manjaroi3> How can I generate haddock docs for the Prelude? Or even just for a single module, e.g. Control.Monad
21:23:16 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
21:23:29 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
21:23:59 <tomsmeding> is there a tool for generating a dependency tree of hackage packages, by any chance?
21:28:05 × son0p quits (~son0p@186.159.4.142) (Ping timeout: 240 seconds)
21:28:05 × josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
21:30:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:31:14 × knupfer quits (~Thunderbi@mue-88-130-61-068.dsl.tropolys.de) (Ping timeout: 272 seconds)
21:36:01 × day quits (~Unknown@unaffiliated/day) (Read error: Connection reset by peer)
21:36:24 cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
21:36:33 × eric quits (~eric@2804:431:c7d4:402a:4dc9:97ef:220b:73aa) (Remote host closed the connection)
21:41:26 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
21:42:42 mpereira joins (~mpereira@2a02:810d:f40:d96:b46b:1e98:8653:4550)
21:42:58 hackage shake-plus-extended 0.4.1.0 - Experimental extensions to shake-plus https://hackage.haskell.org/package/shake-plus-extended-0.4.1.0 (locallycompact)
21:44:56 <jamestmartin> tomsmeding: if you mean a visualization and not a data structure, then `stack dot`
21:45:20 <tomsmeding> well a data structure is also fine, but visualisation is better :p
21:45:28 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
21:45:46 × frdg` quits (~user@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
21:45:48 <tomsmeding> pity that only works on stack projects
21:45:49 frdg`` joins (~user@pool-71-184-143-249.bstnma.fios.verizon.net)
21:46:03 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
21:46:39 × danvet_ quits (~Daniel@212-51-149-96.fiber7.init7.net) (Ping timeout: 260 seconds)
21:48:11 × ubert quits (~Thunderbi@178.115.131.12.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
21:48:25 × walla quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
21:52:05 ubert joins (~Thunderbi@178.115.131.12.wireless.dyn.drei.com)
21:56:04 MasterGruntR75 joins (~MasterGru@185.163.110.116)
21:56:11 × ubert quits (~Thunderbi@178.115.131.12.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
21:56:34 frdg``` joins (~user@pool-71-184-143-249.bstnma.fios.verizon.net)
21:56:37 × frdg`` quits (~user@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
21:59:15 × MarcelineVQ quits (~anja@198.254.202.72) (Ping timeout: 265 seconds)
21:59:37 MVQq joins (~anja@198.254.202.72)
22:00:07 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
22:00:44 jb55 joins (~jb55@gateway/tor-sasl/jb55)
22:00:52 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
22:01:15 jb55 joins (~jb55@gateway/tor-sasl/jb55)
22:01:17 josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net)
22:02:58 hackage gi-poppler 0.18.24 - Poppler bindings https://hackage.haskell.org/package/gi-poppler-0.18.24 (inaki)
22:03:10 juuandyy joins (~juuandyy@90.166.144.65)
22:04:10 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
22:04:46 × sfvm quits (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine)
22:06:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:06:44 sfvm joins (~sfvm@37.228.215.148)
22:08:29 × leah2 quits (~leah@vuxu.org) (Ping timeout: 272 seconds)
22:09:38 × lkr123 quits (5b40b67c@ip5b40b67c.dynamic.kabel-deutschland.de) (Remote host closed the connection)
22:11:56 × Thra11 quits (~Thra11@5.1.169.217.in-addr.arpa) (Quit: WeeChat 2.9)
22:13:16 × MVQq quits (~anja@198.254.202.72) (Quit: q)
22:13:54 MarcelineVQ joins (~anja@198.254.202.72)
22:14:44 gestone joins (~gestone@c-98-225-37-68.hsd1.wa.comcast.net)
22:16:38 × tsrt^ quits (tsrt@ip98-184-89-2.mc.at.cox.net) ()
22:18:39 ntwhaaci^ joins (ntwoaaci@ip98-184-89-2.mc.at.cox.net)
22:19:15 × dftxbs3e quits (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection)
22:22:16 × mitchellsalad quits (uid40617@gateway/web/irccloud.com/x-evcglbwkcwzfvhut) (Quit: Connection closed for inactivity)
22:24:17 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
22:25:50 × aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 265 seconds)
22:26:05 zacts joins (~zacts@dragora/developer/zacts)
22:26:31 leah2 joins (~leah@vuxu.org)
22:27:05 × zacts quits (~zacts@dragora/developer/zacts) (Client Quit)
22:28:01 cheater1 joins (~user@unaffiliated/cheater)
22:31:18 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 244 seconds)
22:31:28 cheater1 is now known as cheater
22:31:45 × MaoZeDong_ quits (~yuri@2a00:1370:8135:91d4:956f:2ce4:9ce3:de8c) (Quit: Leaving)
22:34:25 × juuandyy quits (~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
22:38:08 blackfield joins (~blackfiel@85.255.4.218)
22:38:09 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957)
22:38:20 × blackfield quits (~blackfiel@85.255.4.218) (Changing host)
22:38:20 blackfield joins (~blackfiel@unaffiliated/blackfield)
22:39:40 Volt_ joins (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net)
22:40:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:42:10 zacts joins (~zacts@dragora/developer/zacts)
22:43:28 hackage lsp-test 0.11.0.6 - Functional test framework for LSP servers. https://hackage.haskell.org/package/lsp-test-0.11.0.6 (luke_)
22:45:19 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:45:53 xerox_ joins (~xerox@unaffiliated/xerox)
22:45:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:47:43 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
22:51:47 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
23:00:42 × cosimone quits (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Ping timeout: 260 seconds)
23:00:42 × manjaroi3 quits (~manjaro-i@2600:1700:9f00:b3df:a02:eef:be70:88de) (Ping timeout: 260 seconds)
23:02:26 × ryansmccoy quits (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds)
23:02:45 ryansmccoy joins (~ryansmcco@156.96.151.132)
23:08:37 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-131-92.cust.tzulo.com) (Ping timeout: 264 seconds)
23:09:17 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
23:11:10 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:a06a:6814:10f6:3957) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:12:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:12:34 × fendor quits (~fendor@212095005091.public.telering.at) (Remote host closed the connection)
23:13:46 frdg``` parts (~user@pool-71-184-143-249.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.1)")
23:14:17 × tylerjl quits (~leothrix@elastic/staff/leothrix) (Quit: ZNC 1.7.5 - https://znc.in)
23:14:38 manjaroi3 joins (~manjaro-i@2600:1700:9f00:b3df:a02:eef:be70:88de)
23:18:35 rgvs joins (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
23:19:46 × rgvs quits (47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
23:21:57 × mpereira quits (~mpereira@2a02:810d:f40:d96:b46b:1e98:8653:4550) (Ping timeout: 272 seconds)
23:21:59 leothrix joins (~leothrix@elastic/staff/leothrix)
23:23:37 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 246 seconds)
23:33:43 × shafox quits (~shafox@106.51.234.111) (Remote host closed the connection)
23:34:13 × zacts quits (~zacts@dragora/developer/zacts) (Quit: leaving)
23:37:08 eric joins (~eric@2804:431:c7d4:402a:4dc9:97ef:220b:73aa)
23:39:10 mpereira joins (~mpereira@2a02:810d:f40:d96:b46b:1e98:8653:4550)
23:39:54 jedws joins (~jedws@121.209.139.222)
23:40:40 xpika joins (~alan@2001:8003:5d32:1f00:65e7:740e:363f:f90f)
23:43:17 × eric quits (~eric@2804:431:c7d4:402a:4dc9:97ef:220b:73aa) (Ping timeout: 260 seconds)
23:45:50 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
23:46:08 × ph88 quits (~ph88@ip5f5af726.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
23:46:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
23:46:42 × gentauro quits (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer)
23:47:10 gentauro joins (~gentauro@unaffiliated/gentauro)
23:50:31 × tompas quits (~tom@pool-173-79-157-149.washdc.fios.verizon.net) (Quit: Leaving)
23:50:32 g-belmonte joins (~g-belmont@2804:14c:8786:9312:3638:eaf5:dc36:146d)
23:50:37 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
23:51:06 OscarZ joins (~oscarz@95.175.104.39)
23:52:05 × g-belmonte quits (~g-belmont@2804:14c:8786:9312:3638:eaf5:dc36:146d) (Client Quit)
23:53:45 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)

All times are in UTC on 2020-09-19.