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.