Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-05-05

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:58 Zoffix Calling a method on a role puns it, right?
00:58 Zoffix m: say Positional[Numeric].ACCEPTS: Positional[Int]
00:58 camelia rakudo-moar f2af3d: OUTPUT: «True␤»
00:58 Zoffix m: say Positional[Numeric].^pun.ACCEPTS: Positional[Int]
00:58 camelia rakudo-moar f2af3d: OUTPUT: «False␤»
01:00 Zoffix m: say Positional[Numeric].self.ACCEPTS: Positional[Int]
01:00 camelia rakudo-moar f2af3d: OUTPUT: «False␤»
01:01 BenGoldberg joined #perl6-dev
01:01 Zoffix m: use nqp; dd nqp::istype(Positional[Int], Positional[Cool])
01:01 camelia rakudo-moar f2af3d: OUTPUT: «1␤»
01:01 Zoffix Is it supposed to do that?
01:09 Zoffix FWIW this was https://rt.perl.org/Ticket/Display.html?id=128866
01:10 * Zoffix is going through tickets he marked as "easy; try to fix" a year ago.... Obviously my judgement on what constitutes "easy" was off heh
01:25 Zoffix mst: are you around? What was the Perl 5 module you told me to use when I complained that I had to `use` a ton of modules?
01:29 Zoffix Oh. I can connect to my office box and check!
01:37 Zoffix don't remember where the hell I used it
01:38 Zoffix Ah! It was closer home: https://github.com/perl6/modules.perl6.org/blob/master/lib/ModulesPerl6/Model/ResultClass.pm#L3
01:38 Zoffix mst: never mind. it was Import::Into
01:50 ilbot3 joined #perl6-dev
01:50 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:34 Zoffix Damn. Almost bed time and I'm bugless for today.
02:34 Zoffix ZofBot: find me a bug to fix, bruh
02:34 ZofBot Zoffix, path; tmpdir Returns a string representation of the first writable directory from a list of possible temporary directories
02:35 Zoffix ZofBot: that's a lie! It also checks .x and .r!
02:35 ZofBot Zoffix, ] Nesting of metaoperators Anywhere you may use an ordinary infix operator, you may use the infix operator enclosed in square brackets with the same meaning
02:35 Zoffix Cool. Good to know.
02:59 Zoffix Well, time for bed. But I got one in my crosshairs.
02:59 Zoffix Gonna catch you tomorrow, bug! You have one day to live!
03:15 * TimToady looks forward to repairing a tire with a screw sticking out of the tread tomorrow...
03:16 TimToady it's been very much a hardware week here; first replacing two tiny capacitors in a power supply, then one huge capacitor in my air conditioner condenser unit
03:24 * TimToady will also have to replace the furnace controller at some point, since the old one is currently working only by yanking the connectors to one side using a rubber band, and the base of the connector the other direction by wedging in the tail of a plastic dinosaur
03:24 TimToady (obviously a loose connection in the circuit board, but I'll just replace the whole controller, since the bits that would need resoldering are not terribly accessibly)
03:25 TimToady but this week we only needed the cooler, so that's what died, of course
03:26 TimToady at least our car was smart enough to tell us it was getting a flat tire, which is something...
03:34 ObiWanGoldberg tirepressuremonitor++?
03:40 AlexDaniel joined #perl6-dev
04:58 samcv guys the servers are down
04:58 samcv docs.perl6.org and design.perl6.org :-(
04:59 samcv Zoffix, you have access to those servers right?
05:55 [Tux] This is Rakudo version 2017.04.3-172-gf2af3db16 built on MoarVM version 2017.04-57-g8d8a09b9
05:55 [Tux] csv-ip5xs        3.087
05:55 [Tux] test            12.789
05:55 [Tux] test-t           4.332 - 4.376
05:55 [Tux] csv-parser      13.053
05:57 stmuk samcv: they work for me now
05:58 samcv docs seems back up now
06:00 brrt joined #perl6-dev
07:13 brrt joined #perl6-dev
07:17 brrt joined #perl6-dev
07:39 Geth ¦ star: c8326966aa | (Steve Mynott)++ | tools/star/release-guide.pod
07:39 Geth ¦ star: note 2017.04  release in release-guide.pod
07:39 Geth ¦ star: review: https://github.com/rakudo/star/commit/c8326966aa
07:54 samcv stmuk, yeah it was down and got back up like a bit ago. but i tested on those is it down websites and was down for places other than me. and were the only sites that didn't load on my laptop
07:54 samcv though hack.p6c.org loaded but that's on a diff server
07:59 samcv hmm change i made to compunit was fine until i tried to install it
08:37 robertle joined #perl6-dev
08:44 * lizmat will be mostly offline until late Monday afternoon
08:45 lizmat (JIT for next week's P6W)
08:47 [TuxCM] joined #perl6-dev
09:22 Geth ¦ nqp/master: 13 commits pushed by (Pawel Murias)++
09:22 Geth ¦ nqp/master: review: https://github.com/perl6/nqp/compare/c60df1eb07...e1ba263e92
09:22 pmurias joined #perl6-dev
09:23 Geth ¦ nqp: cd0e37a8c4 | (Pawel Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6intInstance.java
09:23 Geth ¦ nqp: [jvm] Implement cloning a P6int
09:23 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/cd0e37a8c4
09:41 Zoffix samcv: yeah, I do
09:42 samcv sites are back up. you can disregard that
09:42 Zoffix seems to work fine now.
09:49 Zoffix Either I'm having a bad case of deja vu or RT is re-sending a bunch of emails from a few days ago :/
09:53 Zoffix Well, actually I have root access to the box the sites are hosted on, but if they were flat on their face, that sounds like access to "hypervisor" or whatever is needed and I don't have that. moritz does tho
09:59 Zoffix Great... "rainfall warning"... and my umbrella's broke
09:59 Zoffix ZofBot: 2 inches... is that a lot?
09:59 ZofBot Zoffix, IO coercer Path names are just strings ("Str")
10:04 jnthn Yes :P
10:06 Zoffix Uber it is, then :)
10:15 moritz /win 4
10:15 buggable moritz, Thank you for entering Accidental /win Lottery! The next draw will happen in 3 weeks, 6 days, 13 hours, 44 minutes, and 38 seconds
10:15 moritz buggable++
10:17 pmurias what are the prizes in the 'Accidental /win Lottery'?
10:18 tadzik an irssi script that with safeguards? ;)
10:20 tadzik but see, the robots ridicule us now, it's just a joke. Next thing, the moment you paste your nickserv identify accidentally, a bot is going to identify, ghost it, change the password and demand ransom
10:22 moritz oh, good idea tadzik :-)
10:22 Zoffix pmurias: they include everything you could possibly need to get through life.
10:23 Zoffix buggable: draw
10:23 buggable Zoffix, The next Accidental /win Lottery draw will happen in 3 weeks, 6 days, 13 hours, 36 minutes, and 59 seconds. Currently have 3 ballots submitted by 3 users!
10:24 tadzik moritz: it could probably be well disguised as useful, rather than malicious too :) “You seem to have accidentally pasted your password. I will now keep your account secure for you, please provide a picture with a shoe on your head for verification”
10:25 moritz ... and 0.1btc processing fee
10:36 AlexDaniel joined #perl6-dev
10:49 dogbert11 joined #perl6-dev
10:57 pmurias joined #perl6-dev
10:58 Geth ¦ nqp: 9c4bd91316 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js
10:58 Geth ¦ nqp: [js] Fix style violation found by make js-lint
10:58 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/9c4bd91316
10:58 Geth ¦ nqp: 54d7e211ac | (Pawel Murias)++ | 7 files
10:58 Geth ¦ nqp: [js] Tweak multi caches to cache rw containers separately
10:58 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/54d7e211ac
11:03 geekosaur joined #perl6-dev
11:07 geekosaur joined #perl6-dev
11:33 ggoebel joined #perl6-dev
11:38 Zoffix m: (1, |(1...*)).iterator.is-lazy.say
11:38 camelia rakudo-moar f2af3d: OUTPUT: «False␤»
11:38 Zoffix Should that be true?
11:39 Zoffix m: (1, |(1...*)).is-lazy.say
11:39 camelia rakudo-moar f2af3d: OUTPUT: «True␤»
11:39 Zoffix Cause that is true
11:40 Zoffix Maxing it true fixes a bug with slurpies, but I wonder if it's a bad idea
11:41 Zoffix Well, the fix is calling .reify-until-lazy on $!todo instead of just calling is-lazy on it and that makes me wonder what point is-lazy is
11:41 Zoffix ZofBot: tell me I'm right
11:41 ZofBot Zoffix, The mystical class from which all other classes are derived (無)
11:41 Zoffix Sounds like a name for an RPG
12:03 Zoffix s/Maxing/Making/;
12:05 Zoffix Oh. Never mind.
12:05 Zoffix m: say [1, 5, |(1..*)].map(*.self).join
12:05 camelia rakudo-moar f2af3d: OUTPUT: «...␤»
12:05 Zoffix m: say [1, 5, |(1..*)].iterator.iz-lazy.say
12:05 camelia rakudo-moar f2af3d: OUTPUT: «No such method 'iz-lazy' for invocant of type '<anon|439200352>'␤  in block <unit> at <tmp> line 1␤␤»
12:06 Zoffix m: say [1, 5, |(1..*)].iterator.is-lazy.say
12:06 camelia rakudo-moar f2af3d: OUTPUT: «True␤True␤»
12:06 Zoffix oh
12:06 Zoffix m: say [1, 5, |(1..**)].iterator.is-lazy.say
12:06 camelia rakudo-moar f2af3d: OUTPUT: «Cannot resolve caller Real(HyperWhatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
12:06 Zoffix m: say [1, 5, |(1...*)].iterator.is-lazy.say
12:06 camelia rakudo-moar f2af3d: OUTPUT: «True␤True␤»
12:06 Zoffix ...
12:06 Zoffix m: (1, |(1...*)).iterator.is-lazy.say
12:06 camelia rakudo-moar f2af3d: OUTPUT: «False␤»
12:06 Zoffix m: (1, |(1...*)).join.say
12:06 camelia rakudo-moar f2af3d: OUTPUT: «1...␤»
12:07 Zoffix Yeah. Thank. It works but in my bug doesn't so likely 'cause is not iterator being false is-lazy
12:07 Zoffix s/Thank/That/;
12:09 Zoffix OTOH:
12:09 Zoffix m: (1...*).List.put
12:09 camelia rakudo-moar f2af3d: OUTPUT: «...␤»
12:09 Zoffix m: (1, |(1...*)).List.put
12:09 camelia rakudo-moar f2af3d: OUTPUT: «1 ...␤»
12:09 Zoffix oh
12:09 Zoffix nm
12:26 Zoffix m: dd (1, |(1...*)).List.Seq
12:26 camelia rakudo-moar f2af3d: OUTPUT: «Cannot .elems a lazy list␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
12:26 Zoffix rakudo (nom)$ ./perl6 -e 'm: dd (1, |(1...*)).List.Seq'
12:26 Zoffix (1, 1, 2, 3, 4, 5, 6, 7, 8, 9... lazy list)
12:26 Zoffix my local version is right-er, right?
12:30 pmurias joined #perl6-dev
12:42 Zoffix moritz: how come trying to visit the log site too fast returns a 403? Like opening #perl6-dev and #perl6 logs at the same time. If you do it really fast, no 403, if you do it fast-ish, you get a 403 on whichever page loaded second, if you keep refreshing the 403 it stays a 403 and if you wait a bit, it goes away? Also, noticing this on desktop browsers only. Don't seem to happen on my smartphone, in Opera
12:42 Zoffix browser.
12:43 Zoffix kinda annoying when you wanna catch up with a couple of channels.
12:43 Zoffix Is this some sort of anti-scraper protection?
12:47 moritz Zoffix: rate limiting, maybe
12:47 Zoffix Ah
12:51 Zoffix ugh. Well, I fixed my bug, but now say (1, |(1...*)).List.Seq[^10] appears to hang :'(
12:51 Zoffix can't win
12:53 Zoffix oh, even (1, |(1...*))[^10] hangs :S
12:53 Zoffix Ahhh. I know why!
12:54 perlpilot_ joined #perl6-dev
13:01 eviltwin_b joined #perl6-dev
13:10 ggoebel joined #perl6-dev
13:14 stmuk joined #perl6-dev
13:14 hoelzro joined #perl6-dev
13:26 hoelzro joined #perl6-dev
13:26 stmuk joined #perl6-dev
13:32 pmurias joined #perl6-dev
13:37 Zoffix After 3 hours of messing around, looks like I have a fix. Affects code in all *slurpies :/ I could use a `make bench` right about now :/
13:48 Geth ¦ rakudo/nom: 5e6b38789a | (Zoffix Znet)++ | src/core/List.pm
13:48 Geth ¦ rakudo/nom: Reify until lazy when making a flat slurpy
13:48 Geth ¦ rakudo/nom:
13:48 Geth ¦ rakudo/nom: Fixes RT#128201: https://rt.perl.org/Ticket/Display.html?id=128201
13:48 Geth ¦ rakudo/nom:
13:48 Geth ¦ rakudo/nom: The hang in the ticket is due to .map/.join in .gist not seeing
13:48 Geth ¦ rakudo/nom: .is-lazy of the original arg. So when making a slurpy, we reify
13:48 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=128201
13:48 Geth ¦ rakudo/nom: $!todo until lazy, so that if we have lazy stuff, we set is lazy for
13:48 Geth ¦ rakudo/nom: slurpy's iterator.
13:48 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e6b38789a
13:49 Geth ¦ roast: 5653ebb91b | (Zoffix Znet)++ | S06-signature/slurpy-params.t
13:49 Geth ¦ roast: Test .gist on slurpies given inf lists does not hang
13:49 Geth ¦ roast:
13:49 Geth ¦ roast: RT#128201: https://rt.perl.org/Ticket/Display.html?id=128201
13:49 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/5e6b38789a
13:49 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=128201
13:49 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5653ebb91b
13:50 Zoffix .ask lizmat would you check this commit https://github.com/rakudo/rakudo/commit/5e6b38789a ? It fixes the bug, but I fixed it more by attrition that knowing what I'm doing.
13:50 yoleaux Zoffix: I'll pass your message to lizmat.
14:06 Zoffix gah
14:06 Zoffix Just had a convo in #zofbot by mistake instead of here with no one but a dozen of bots to listen to me -_-
14:06 Zoffix m: sub (*@) {}(gather { say "hi"; take 42 })
14:06 camelia rakudo-moar f2af3d: ( no output )
14:06 Zoffix ^ I said this starts saying "hi" with my commit. But probably it should anyway because this does:
14:07 Zoffix m: @ = gather { say "hi"; take 42 }
14:07 camelia rakudo-moar f2af3d: OUTPUT: «hi␤»
14:07 * Zoffix &
14:19 MasterDuke_ i did a profile-compile of perl6 -e '' and looked at the top allocators of BOOTStrs
14:19 MasterDuke_ i then went through and made a bunch of variables 'str' that weren't before in those routines
14:19 MasterDuke_ the only thing that seemed to make a difference was making the `$key` parameter of `force_value` in World.nqp a str
14:20 MasterDuke_ it reduced the total number of BOOTStr allocations from 557 to 521
14:21 MasterDuke_ but none of my changes ever changed the BOOTStr count in a heap profile of perl6 -e ''
14:22 MasterDuke_ thought the VMString size did go from 2,092,600 to 2,092,830
14:23 MasterDuke_ why didn't changes to any of the other top routines make a difference?
14:26 jnthn Heap profile as in --profile=heap?
14:26 jnthn That is always taken after a GC
14:26 jnthn So stuff that's allocated but thrown away shortly afterwards won't show up there
14:27 jnthn The heap profiler isn't an allocation profiler
14:27 jnthn It provides counts of what's being held in memory
14:27 jnthn And kept alive by something at the time of the snapshot
14:29 MasterDuke_ ah, i guess that would explain why i don't see so many differences in it's results
14:30 MasterDuke_ but why not in the regular profiles?
14:30 jnthn That I'm less sure about.
14:31 jnthn Though
14:31 jnthn If you write
14:31 MasterDuke_ i.e., some of the top BOOTStr allocating routines had a couple `my $var := "string"` which i changed to `my str $var := "string"`
14:31 jnthn my str $x := ...
14:31 jnthn And then foo($x)
14:31 jnthn And foo is declared
14:31 jnthn sub foo($thing) { }
14:31 jnthn Then it'll be boxed
14:31 jnthn And if it's passed somewhere twice it'll be boxed twice
14:31 jnthn So it's easy to come out worse
14:32 MasterDuke_ hm, guess i need to follow those vars and see what's done with them
15:08 MasterDuke_ this i odd. i just changed $scope and $decl to `str`s in compile_var ( https://github.com/perl6/nqp/blob/master/src/vm/moar/QAST/QASTCompilerMAST.nqp#L1512 ), and they aren't passed into another other routine, but profile afterwards shows 11 more BOOTStrs allocated
16:22 Zoffix buggable: eco installer
16:22 buggable Zoffix, Found 3 results: App::redpanda, Sparrowdo::Cpm, App::InstallerMaker::WiX. See https://modules.perl6.org/#q=installer
16:22 Zoffix buggable: eco installer::Wix
16:22 buggable Zoffix, Nothing found
16:22 Zoffix buggable: eco maker::Wix
16:22 buggable Zoffix, App::InstallerMaker::WiX 'Tool to make basic WiX installers for Perl 6 apps, bundling MoarVM/Rakudo.': https://github.com/jnthn/p6-app-installermaker-wix
16:22 Zoffix buggable: eco wix
16:22 buggable Zoffix, App::InstallerMaker::WiX 'Tool to make basic WiX installers for Perl 6 apps, bundling MoarVM/Rakudo.': https://github.com/jnthn/p6-app-installermaker-wix
16:27 Zoffix qast: ▸Op: :op<say>, ▸SVal: :value<Hi>
16:27 SourceBaby Zoffix, OUTPUT: «Hi␤»
16:28 Zoffix hehe. Now I just need to figure out how to type ▸ on this box too :}
16:28 timotimo give it a texas variant :)
16:29 Zoffix qast: ▸Op: :op<say>, ▸SVal: :value«Hi»
16:29 SourceBaby Zoffix, OUTPUT: «Hi␤»
16:29 * Zoffix was trying to see if » was a thing in nqp...
16:33 robertle joined #perl6-dev
16:56 [Coke] I see https://github.com/fayland/perl6-Business-CreditCard has a logo in the modules page; but the logo isn't mentioned in the META file. is it just assumed based on filename? Can we change that so you can specify a relative path or URL?
16:58 perlpilot looks like it just looks in the repo for logotype/logo_32x32.png (with possibly other variations)
16:59 Zoffix [Coke]: logos aren't specified by META; if you got "logotype/logo_32x32.png" file, it's used as a logo
16:59 Zoffix That's the only variation
16:59 perlpilot ah
17:00 * Zoffix has logos in most of his modules
17:00 Zoffix buggable: author zoffix
17:00 buggable Zoffix, Did not find any dists for zoffix
17:00 Zoffix buggable: author zoffixznet
17:00 [Coke] I would prefer that was config'able (esp. since I've never had a logotype directory in any project ever.)
17:00 buggable Zoffix, Found 38 dists for zoffixznet. See https://temp.perl6.party/buggable/1346145353990381494003614.html
17:00 timotimo it'd be cool if you could also have an svg along the png
17:00 timotimo (have both so that not everything that wants to display module lists has to be able to render svg)
17:01 * Zoffix would rather toss it entirely :}
17:02 perlpilot logos would be a nice addition to the META spec as optional ancillary info
17:03 Zoffix whyyy
17:03 timotimo yeah, have a data: url in a field inside the json :P
17:04 perlpilot Zoffix: why not?
17:04 Zoffix Just scrolling through the modules.perl6.org, I'd say we're violating a dozen or so copyright laws, with all the proprietary logos
17:04 timotimo perlpilot: maybe because we generate one big .json file from all meta jsons :)
17:04 Zoffix perlpilot: it's very simple: complex stuff sucks
17:05 perlpilot can't argue with that.  :)
17:06 Zoffix Wonder why Trait::IO renders in a huge row :/
17:06 Zoffix oh, wait, it's the... *drum roll*, the apparently bustified logo_32x32.png
17:07 Zoffix I think
17:07 Zoffix Yeah, it's 400px x 400px
17:07 Zoffix The n00b that coded that website really messed up
17:08 timotimo :D :D :D
17:08 perlpilot yikes.
17:08 timotimo that is utterly fantastic
17:08 timotimo a smart way to get attention for your module
17:08 timotimo just have it take up one screen-page
17:09 * Zoffix sets a picture of a huge cock as logotype...
17:09 Zoffix This one should do: http://ct.weirdnutdaily.com/ol/wn/sw/i39/2/10/28/wnd_708540aa8d5705e8c923603ff886d139.jpg
17:10 perlpilot Zoffix: speaking of Trait::IO ... what's with the 5 levels of nqp::ctxcaller?
17:10 Zoffix Why are people asking me about it?
17:10 Zoffix You're the second person to ask me that.
17:10 Zoffix Because that many levels is needed.
17:11 timotimo that's a huge cock this guy has between his legs
17:12 Zoffix :")
17:12 perlpilot Zoffix: I figured it was needed.  Help me understand why  :)
17:13 Zoffix perlpilot: I'm guessing  many callers between the block being run and users code. I took it from another core trait and added a level or two
17:13 Zoffix *that many
17:23 Zoffix It needs to reach the variable in user's code so it goes up the call stack looking for it
17:23 Zoffix *the block the variable is in
17:23 Zoffix So it could stick a phaser into it
17:24 Zoffix Prolly should have more checks than just a name. All the intermediate layers probably have variables in 'em
17:24 Zoffix Oh wait, never mind.
17:25 Zoffix It goes RIGHT to the scope with the variable and finds it by name and calls .close on it
17:25 Zoffix to close the handle
17:44 Zoffix m: my $x = 42; my $y = 42; die unless $x == $y == 42
17:44 camelia rakudo-moar 5e6b38: ( no output )
17:44 Zoffix TIL that's a syntax error in Perl 5 (can't chain ==)...
17:44 Zoffix Or, I guess, I've been using Perl 6 long enough to be spoiled enough to be surprised when such chaining doesn't work :)
17:45 timotimo :)
17:45 timotimo yeah, chaining operators is pretty cool
18:31 AlexDaniel joined #perl6-dev
18:36 literal joined #perl6-dev
18:38 Zoffix [Coke]: um, your comment only showed up after I merged. What's wrong with SO's license? Isn't it just MIT? So we stuff it to LICENSE section and move on, no?
18:38 yoleaux 18:35Z <[Coke]> Zoffix: please check my comment on doc pr # 1296
18:39 [Coke] Zoffix: you seem to respond in discussions I'm not talking to you in.
18:39 [Coke] But yes, commit e8ae3b is a fine way to deal with the issue, thanks.
18:40 Zoffix OK
18:40 Zoffix [Coke]: well, I'm not in #perl6. You are in #perl6-dev :)
18:47 Zoffix .ask samcv is bustitude with some ops on docs site known? Like https://docs.perl6.org/routine/..%5E is a 404 (that's ..^ op)
18:48 yoleaux Zoffix: I'll pass your message to samcv.
19:14 MasterDuke_ how very terrible is https://gist.github.com/MasterDuke17/c0718c4c09eb049f3c7ed074f03fff25 for https://rt.perl.org/Ticket/Display.html?id=112396 ?
19:15 * Zoffix has no idea
19:29 MasterDuke_ m: 3 ==> sin() ==> say()
19:29 camelia rakudo-moar 5e6b38: OUTPUT: «0.141120008059867␤»
19:29 MasterDuke_ m: 3 ==> &sin ==> &say
19:29 camelia rakudo-moar 5e6b38: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Sorry, do not know how to handle this case of a feed operator yet.␤at <tmp>:1␤------> 3 ==> &sin ==> &say7⏏5<EOL>␤»
19:30 MasterDuke_ ^^^ gives the same result as the first with the patch i gisted above
19:31 MasterDuke_ but the conditional i added, `elsif $_.isa(QAST::Op) && $_.op eq 'ifnull' && $_[0].isa(QAST::Var) && nqp::substr($_[0].name, 0, 1) eq '&' {`, doesn't seem all that elegant
19:32 timotimo i never .isa
19:32 timotimo and nqp::eqat is way better than substr + eq
19:32 Zoffix .oO( is it supposed to be just the same as a routine call?; feels too magical to automatically convert it into a call )
19:33 Zoffix m: my &x = 42 but Callable; &x()
19:33 camelia rakudo-moar 5e6b38: OUTPUT: «No such method 'CALL-ME' for invocant of type 'Int+{Callable}'␤  in block <unit> at <tmp> line 1␤␤»
19:39 MasterDuke_ moritz, masak, jnthn: pinging you guys since your conversation is what prompted the ticket
19:49 moritz MasterDuke_: I don't know if we paint ourselves into a proverbial corner if we special-case that. Maybe a better error message would be the safer solution
19:49 moritz but I don't feel very strongly either way
20:11 [Coke] moritz: https://www.youtube.com/watch?v=ussCHoQttyQ
20:12 [Coke] Zoffix: is that worse than:
20:12 [Coke] m: my $x = 42; &$x()
20:12 camelia rakudo-moar 5e6b38: OUTPUT: «No such method 'CALL-ME' for invocant of type 'Int'␤  in block <unit> at <tmp> line 1␤␤»
20:13 * Zoffix doesn't understand the question
20:14 MasterDuke_ i could alway stick the conditional i added into the error branch and add something like `. Did you mean 'sub()'?` if true
20:15 [Coke] just taking your previous m: and showing what happens if you use $x instead of &x - if you're suggesting that is LTA somehow, this is a similar thing to consider.
20:23 AlexDani` joined #perl6-dev
20:24 TimToady m: my $x = 42; $x();  # don't need the & at all
20:24 camelia rakudo-moar 5e6b38: OUTPUT: «No such method 'CALL-ME' for invocant of type 'Int'␤  in block <unit> at <tmp> line 1␤␤»
20:25 MasterDuke_ TimToady: do you have an opinion on the feed question?
20:28 jnthn Unicode hack of the: https://www.reddit.com/r/rust/comments/5penft/parallelizing_enjarify_in_go_and_rust/dcsgk7n/
20:28 jnthn *of the day
20:30 jnthn MasterDuke_: The comment in RT #112396 about STD having accepted it doesn't really seem to be relevant, in so far as it can be valid syntax but not valid semantics. :)
20:30 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=112396
20:30 jnthn Which is in fact what the push error is about
20:31 jnthn The report is kinda amusing
20:31 jnthn Uses feed operator
20:31 jnthn Gets error that makes sense if you know they push on to variables
20:31 jnthn Says it's LTA
20:31 jnthn Notes doesn't know anything about feed operators :P
20:32 jnthn But yeah, I think we could probably say that anything with an & sigil is very unlikely to be a push target
20:32 jnthn I don't think magically turning a noun into a verb is the right way to go, though
20:32 * TimToady agrees
20:33 jnthn I could live with spotting the & sigil and giving an error suggesting probable confusion
20:34 MasterDuke_ k
20:34 * jnthn notes that a $ will auto-viv to an array on push, an @ will be an array and so work, and a % also has a push method
20:34 jnthn I'd never really thought about sticking a hash at the end of a feed operator but thanks to Hash.push it probably does something useful and sensible :-)
20:34 Zoffix [Coke]: no, my suggestion was that not everything & is necessarily something you can call to automagically turn it into a call
20:36 Zoffix m: my $mmutableTreeListᐸElementTᐳ = 42; dd $mmutableTreeListᐸElementTᐳ
20:36 camelia rakudo-moar 5e6b38: OUTPUT: «Int $mmutableTreeListᐸElementTᐳ = 42␤»
20:36 Zoffix haha :) nice one
20:37 MasterDuke_ jnthn: would you say that in fact verbing weirds nouns?
20:37 jnthn Zoffix: Thought you might enjoy that :)
20:37 jnthn MasterDuke_: What? :-)
20:45 MasterDuke_ jnthn: an attempt at making a joke about your statement turning a noun into a verb isn't right. "verbing weirds nouns" is a quote from Calvin & Hobbes
20:48 jnthn MasterDuke_: Ah, I didn't know the reference. :-) But I'm not into prescriptivisting, so I don't think it weirds them at all. :-)
20:50 TimToady note that even English has to use "ing" and "s" to do that, which is equivalent to requiring () in Perl 6
20:56 MasterDuke_ how does this look: `perl6 -e '3 ==> &sin ==> &say'` locally prints `Sorry, do not know how to handle this case of a feed operator yet. Did you mean '&sin()'?`
20:57 jnthn It's a bit of a lie 'cus we do we know exactly what case it is. :)
20:58 MasterDuke_ just replace the message?
20:58 jnthn Yeah
20:59 jnthn "A feed may not sink values into a code object. Did you mean to a call like 'sin()' instead?"
20:59 jnthn oops
20:59 jnthn "A feed may not sink values into a code object. Did you mean a call like 'sin()' instead?"
21:04 MasterDuke_ while i'm at it, any reason not to stick some info about the object in the message in the usual case? like the QAST type?
21:05 MasterDuke_ oh, and the error says the first thing in the feed, but the caret always points to the EOL, any way to fix that?
21:05 jnthn I don't think QAST nodes mean anything to the typical user
21:05 jnthn Maybe we'd be better enumerating what is allowed since there aren't many options :)
21:06 jnthn The caret can usually be got righter by calling .panic/.sorry or whatever on a more appropriate match object
21:06 jnthn Rather than just $/
21:08 MasterDuke_ "Sorry, do not know how to handle this case of a feed operator yet. Only routine calls and variables with a '.push' are allowed." ?
21:09 jnthn Seems like an improvement
21:11 MasterDuke_ variables that can '.push'?
21:11 jnthn Guess that is shorter and says just as push
21:11 jnthn *just as much
21:13 MasterDuke_ that was a little unclear. this is what i currently have added: "Only routine calls and variables that can '.push' are allowed."
21:14 MasterDuke_ but it could be "Sorry, do not know how to handle this case of a feed operator yet, only routine calls and variables that can '.push'"
21:15 jnthn I think the second , would want to be a ; if we do that
21:15 jnthn Oh, wait :)
21:16 jnthn Maybe the "yet" should go away too
21:16 jnthn In that there's more wrong things you can write than NYI things
21:16 jnthn Could just say something like "Only routine calls or variables that can '.push' may appear either side of feed operators."
21:19 MasterDuke_ cool, will put that
21:20 MasterDuke_ the .panic is currently called on the same $/ that's passed into make_feed()
21:22 MasterDuke_ but inside it loops over "stages" of $/<infix><sym>
21:23 MasterDuke_ and working on the .ast
21:25 MasterDuke_ any way to get back at the appropriate part of the $/ other than keeping a parallel array around?
21:25 jnthn the thing it gets the .ast from for the stage will be a match object
21:26 MasterDuke_ yeah, but it sticks the .ast in @stages and then loops over that to do the work
21:26 jnthn Oh
21:26 jnthn Can we maybe just stick the original thing in @stages and then call .ast on it in the loop?
21:27 jnthn s/original thing/match/
21:27 MasterDuke_ yeah, probably, i'll give it a shot
22:28 samcv .tell Zoffix dunno about the docs. when i checked before it was all fine. i'm curious what the files on the server are called?
22:28 yoleaux samcv: I'll pass your message to Zoffix.
22:28 samcv .tell Zoffix page works https://docs.perl6.org/routine/...html it just needs .html to be at the end
22:28 yoleaux samcv: I'll pass your message to Zoffix.
22:30 samcv hmm maybe the rewriting isn' working? though for now we can maybe make the pages end in .html for every page that has a dot in the name? hm
22:30 samcv you aren't supposed to end a domain name with a period though
22:33 timotimo domain names ought to be like .org.perl6.www
22:34 Zoffix .
22:34 yoleaux 22:28Z <samcv> Zoffix: dunno about the docs. when i checked before it was all fine. i'm curious what the files on the server are called?
22:34 yoleaux 22:28Z <samcv> Zoffix: page works https://docs.perl6.org/routine/...html it just needs .html to be at the end
22:35 samcv Zoffix, it's now reported https://github.com/perl6/doc/issues/1298
22:35 samcv timotimo, that would be nice
22:36 Zoffix I think we just need to put the dot back into the $COLON rewriter. I'll take a look later tonight.
22:37 samcv we can just use .html?
22:39 Zoffix We can't willy-nilly mess with URLs because a lot of things link to them.
22:39 Zoffix s/them/pages on doc site/;
22:40 samcv hm
22:40 samcv also Zoffix it's only ones that end in a period
22:41 samcv anywhere else is fine
22:42 Zoffix No, the `%`/`%%` ops are also busted
22:42 Zoffix Rather, their links are
22:43 samcv i mean the page is still at that point
22:43 samcv anything else broken Zoffix ?
22:43 samcv i think i'm gonna try and fix it right now
22:46 Zoffix samcv: don't know of any other ones. The percent ones are https://github.com/perl6/doc/issues/1295 and the pages work if you do %25 or %25%25, but the link from search just links to bare %
22:46 samcv ok great thanks
22:46 Zoffix Oh, the % one is a separate Issue: https://github.com/perl6/doc/issues/1286
22:48 samcv ok working on now
22:50 Geth ¦ roast: 4f515b898d | (Zoffix Znet)++ (committed using GitHub Web editor) | S04-exceptions/fail.t
22:50 Geth ¦ roast: Toss outdated comment
22:50 Geth ¦ roast:
22:50 Geth ¦ roast: It's 9 years old... and I guess `use fatal` *is* standard now, as it's in a bunch
22:50 Geth ¦ roast: of places in roast.
22:50 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4f515b898d
22:57 MasterDuke_ hm, after some interruptions retooled make_feed to .ast the parts in the loop that works on them, but calling $_.panic() (instead of $/.panic) still puts the caret at the EOL
23:08 BenGoldberg joined #perl6-dev
23:28 Zoffix This feels like a WAT: https://github.com/perl6/doc/issues/1290
23:29 Zoffix ... like a WAT can of worms.
23:31 Zoffix 'cause what I'd want to do is add :nohandler on the nqp::while loop handling... but, hell, are we gonna add them to all the things that accept Callables (e.g. .splice comes to mind)
23:31 Zoffix hell knows what else
23:34 Zoffix + phasers
23:35 MasterDuke_ there's at least some thought that phasers should work in grep. https://rt.perl.org/Ticket/Display.html?id=131060
23:36 samcv ok new atom-language-perl6 release. regex highlighting fixes
23:36 Zoffix samcv++
23:48 Zoffix Made a @LARRY ticket for loop controls/phasers in routines that accept Callables. IMO we should default to these being "undefined behaviour" and just implement handlers for stuff where it makes sense: https://rt.perl.org/Ticket/Display.html?id=131261
23:58 Zoffix samcv: spotted another doc Issue about broken URLs, though it seems to be the same `..` stuff: https://github.com/perl6/doc/issues/1283
23:58 samcv yeah that's the same thing
23:58 samcv yeah bduggan posted a link to that on my ticket

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary