»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:01 cibs joined
AlexDaniel broke a laptop charger, fixed it, had a weird visit to a doctor, then fell asleep for more than 12 hours… that's it 00:01
hmm, I have an interesting definition of “whoah”… 00:02
samcv anyone know if for @things -> $thing { } incurs performance decreases? 00:08
compared to using $_
jnthn No 00:09
They generate almost idential code
AlexDaniel well, I'd say measure it
jnthn Yes, and if it's a measurable difference then tell me about it so I can fix it. :) 00:10
samcv kk
good
jnthn Note that the answer for if foo() { } vs. if foo() -> $x { } is that the latter is typically going to be more costly. 00:11
Though unless you're on a reall hot path...not likely an issue
*really
00:16 trnh joined, trnh left, trnh joined 00:17 wamba joined 00:18 vendethiel joined 00:21 ufobat left 00:22 shayan_ joined
samcv is processing the UCD data files a hot path? 00:27
it looks a lot
jnthn Well, App::MoarVM::Analyzer routinely analayzes hundreds of megabytes of data 00:28
samcv cool 00:29
jnthn It made some smart decisions about data structure representation.
And used concurrency to improve performance :)
But does fine enough
I guess you're working on the p6ificatin of ucdc2c.pl? :) 00:30
samcv yeah 00:31
more a whole rewrite
jnthn <3
Nice :)
samcv++
samcv at least the foundation
jnthn *nod*
Sounds good :)
samcv yep :)
jnthn Did you file your grant app already?
samcv not yet. 00:32
i should though i think it's ready gist.github.com/samcv/ca70c21c7306...220c986b47 unless you have any comments
jnthn takes another look
"for future developers of the Perl 6 to reference" 00:33
Don't think that needs the "the"
samcv heh
AlexDaniel samcv: well, if you have something really hot… github.com/MasterDuke17/Text-Diff-...6c61e4a772
… just use nqp for everything… 00:34
samcv Make it 13x faster by making the code unreadable XD
every time
that comment title
jnthn Pretty sure "syndacated" is a title
up
samcv but yeah not gonna use nqp. i first thought should stick with perl 5 due to speed for the unicode database, but then realized maintainability and readability matter far more. than it taking more time
jnthn a typo
samcv spellchecks 00:35
jnthn For how often we run ucd2c, that's certainly true
"my own Public forks" - not sure Public needs capitalizing :) 00:36
samcv yeah
hah
jnthn Other than that, don't see anything
Gets my +1
samcv :)
jnthn samcv++
Thanks for working on this.
samcv you're welcome :) thank you for working to make things faster/better/stronger etc. 00:37
00:38 trnh left
jnthn
.oO( not sure if daft punk reference or not... :) )
00:39
samcv yes and no
wasn't on purpose but just happened 00:40
what format should I send it, it's in markdown now. should I make it pod? 00:42
jnthn, ? 00:43
jnthn I've always sent mine as plain text or Markdown 00:44
samcv ah ok
jnthn I tend to write stuff in Markdown without thinking these days :)
'night 00:47
samcv ok, sent 00:49
brokenchicken AlexDaniel: there's already a ticket for mst's comment [Coke] made; and prior to that mst also promised to try to come up with a commit fixing the concern 00:58
00:58 kyan joined
AlexDaniel oh 00:58
ok
samcv i keep getting Use of uninitialized value <element> of type Any in string context. line 50 01:00
and line 50 just has for %points.keys -> $code on it
and i can print out $code and it's a number. so idk why it's complaining 01:01
01:02 wamba left
samcv just gonna add quietly… but would like to know why it is doing that 01:02
01:04 tyilanmenyn joined 01:07 wamba joined 01:16 curt_ left 01:17 curt_ joined
samcv gonna try Data::Dump see how long it takes to print a 10MB hash 01:17
well it's 10MB in json at least
01:22 pmurias left 01:23 yqt left
samcv ok giving up on that :P 01:23
01:23 wamba left
brokenchicken Why do you need to print it? 01:30
samcv to look at it. i'm just going to make a function to print a range of points
yeah this seems to be working fine
01:35 bjz joined, Ven left 01:46 bjz left 01:48 shayan_ left 01:57 Sunlighter joined, bjz joined
Sunlighter Hello. 01:57
samcv hello :) 01:58
01:58 shayan_ joined
sammers hello 01:58
AlexDaniel o/ 02:00
02:00 vendethiel left
Sunlighter I'm trying to run "panda install Task::Star" on an ec2 instance and JSON::RPC has a bunch of failing tests... 02:01
...can anyone tell me what, if anything, I'm doing wrong? 02:02
02:02 FROGGS__ joined, aborazmeh joined, aborazmeh left, aborazmeh joined
geekosaur possibly "using panda"; we seem to be moving toward zef instead 02:04
Sunlighter Is it possible to have panda and zef installed at the same time?
02:04 skids joined 02:05 FROGGS_ left
Sunlighter Another question, since Panda requires the Perl 5 module TAP::Harness to be installed (I'll check out zef later), are there any other Perl 5 modules I should make sure are installed? 02:14
02:18 bstamour joined
Sunlighter Successfully installed zef... tried to install Task::Star with zef... failed... JSON::RPC tests still failed (19 failures out of 39 tests)... 02:20
brokenchicken Sunlighter: well, circling back a bit.... why are you trying to install Task::Star?
Sunlighter Well, I used rakudobrew to build moar, and then I read that Task::Star includes all the modules that come with Rakudo Star. 02:22
brokenchicken We should really toss that distro from the repo. It's serving very little good and this isn't the first time people trying to install it.
Sunlighter: it's not even up to date. JSON::RPC is broken and isn't part of Rakudo Star.
Sunlighter: install the modules you actually need. 02:23
Sunlighter Ah, ok.
Thanks!
brokenchicken Any time.
02:24 user__ joined
brokenchicken hm, I see JSON::RPC in MODULES.txt in 2016.11 panda, so maybe it *is* included, but it was broken ages ago and I don't see any recent enough commits that would suggest the issue got fixed. 02:26
02:28 kalkin- left, raschipi joined
brokenchicken opens github.com/tadzik/Task-Star/issues/13 02:29
Sunlighter At first I thought I was missing some Perl 5 module. Panda itself failed to build until I installed TAP::Harness for Perl 5.
brokenchicken Sunlighter: curious, how come you're using Rakudobrew instead of packages for users, like from a distro repo (if it got recent enough) or Rakudo Star? 02:30
rakudobrew is really more for core hackers and People Who Know What They're Doing
Sunlighter Well, I'm running an ec2 instance, with the Amazon Linux AMI... which doesn't have a Perl 6 package... 02:31
brokenchicken Sunlighter: yeah, panda's a bit... stale... The issues are one of the reasons we're switching to zef in upcoming Rakudo Star.
I see. 02:32
SmokeMachine I think I found a bug...
www.irccloud.com/pastebin/Wbh3YQeU/
raschipi SmokeMachine: another one?
SmokeMachine raschipi: yes... :(
Sunlighter rakudobrew is also nice because it installs into the home directory instead of changing things in system directories. So it's easy to update or uninstall.
SmokeMachine raschipi: ^^ 02:33
brokenchicken The recommended option for regular users is Rakudo Star rakudo.org/downloads/star/ Though, I've never even installed it on linux so no idea how easy it is.
raschipi SmokeMachine: There's always another one.
SmokeMachine if every segfault is a bug, so its a bug...
brokenchicken SmokeMachine: reproed on 2016.12-244-g3d1d699 02:34
raschipi brokenchicken: Debian (which has the best perl6 packages) don't have it yet.
brokenchicken heh... weren't you also telling folks Perl 6 was the best for sysadmin stuff? :) I no longer trust you when you say things are the best 02:35
I see 2016.12 rakudo in AUR 02:36
02:36 unixms joined
SmokeMachine brokenchicken: so, is it happening to you too? (sorry, just to be sure... my english isn't very good...) 02:37
brokenchicken SmokeMachine: yes
Report it
raschipi brokenchicken: It is the best. Why do I think I contradicted myself?
brokenchicken reproed = reproduced
SmokeMachine reporting
raschipi Sid also has 2016.12.
SmokeMachine I got it! :) but wasn't sure... 02:38
02:38 unixms left
raschipi Is there any rule against off-topic discussion in this channel? 02:38
brokenchicken Nope; as long as it's um... "work safe"... 02:40
raschipi You guys know how women dress on carnival in Brazil? Do you know why they do it? 02:41
SmokeMachine reported...
yes, I know how... 02:42
raschipi I won't send pictures, because it has to be safe for work.
brokenchicken doesn't 02:43
They do it because it's like a 1000 degrees in Brazil? :)
SmokeMachine it is like 1000 degrees here!
brokenchicken googles for pictures. 02:44
Lots of feathered-wings themes
raschipi It started because of a national dialogue that happened in the 60's in Brazil, about Existencialism. The critics said existencialism couldn't be taken as a serious philosophical position because it would lead to people doing whatever they wanted.
SmokeMachine and they dress like that by love for they "community"! :)
02:45 ilbot3 left
raschipi They dress like that because "they only do what their heart tells them to do". 02:45
brokenchicken So did it lead to people whatever they wanted? 02:47
*doing
02:47 ilbot3 joined, jeepc left
raschipi Yes, the point being that it's not a problem at all. 02:48
To prove it's not a problem to do as one wants, the boundaries have to be pushed. 02:50
SmokeMachine good night! 02:51
raschipi Durma bem, SmokeMachine .
SmokeMachine obrigado! vc tb! :)
brokenchicken But you'd hit the limit quite soon. Don't you have some other holiday where you run around blowing up home made fireworks that cause a lot of injuries?
Sunlighter Thanks again for the help, I'm heading out. See ya!
brokenchicken bye
02:51 Sunlighter left
brokenchicken A drunk driving a car is doing what he wants, but he can kill people. 02:52
A smoker on the bus stop is smoking into my face, but the smell disgusts me.
raschipi "run around blowing up home made fireworks", in some specific locations of the country, yes. It's not a generalized thing.
brokenchicken A neighbour is partying at 3AM, but the person across the wall is trying to sleep.
As long as we're all crammed on this tiny planet, we can't do what we want, because a lots of stuff affects others. 02:53
raschipi brokenchicken: Yes, and existencialism agrees. 02:54
brokenchicken Cool.
raschipi But dancing around almost naked doesn't hurt anyone, so it's allowed.
brokenchicken
.oO( clearly they haven't seen *me* dancing naked! )
02:55
raschipi During carnival, it's a tradition for people to dress up as the most ugly people from the opposite sex, as hideous as possible. 02:57
brokenchicken heh 02:58
03:00 FROGGS_ joined
raschipi brokenchicken: Interesting, I think, isn't it? I little more elaborate than what people from outside the country usually think. 03:00
AlexDaniel oh, so dressing ugly is the whole point 03:02
I thought there's something wrong with my taste
raschipi AlexDaniel: Most people do dress ugly for carnival, yes. 03:03
03:03 bstamour left, FROGGS__ left
geekosaur mutters something about ugly sweaters and a recently passed holiday 03:03
raschipi It's summer in here, don't tease me, please. 03:05
03:05 Tonik left
AlexDaniel
.oO( don't tease me by saying that there is summer somewhere… )
03:06
geekosaur the weather's doing that quite effectively itself, here 03:09
(actually -2C here but expecting 10C+ next week)
03:10 bjz left 03:16 mr_ron left
raschipi Last week the the apparent temperature around here got to 60ºC. 03:16
03:27 ssotka left
AlexDaniel s: uniprop, 25 03:28
SourceBaby AlexDaniel, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Calling uniprop() will never work with any of these multi signatures:␤ (Str:D $str, |c is raw) ␤ (Int:D $code) ␤ (Int:D $code, Stringy:D $propname)␤at -e:6␤------> put sourcery( ⏏uniprop, 25 )[1];␤
AlexDaniel s: uniprop(25)
SourceBaby AlexDaniel, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Str); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
AlexDaniel s: uniprop
SourceBaby AlexDaniel, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Calling uniprop() will never work with any of these multi signatures:␤ (Str:D $str, |c is raw) ␤ (Int:D $code) ␤ (Int:D $code, Stringy:D $propname)␤at -e:6␤------> put sourcery( ⏏uniprop )[1];␤
AlexDaniel dammit… I need a tutorial for this… 03:29
s: Int, 'uniprop'
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/1a54...ol.pm#L103
AlexDaniel s: &[eq] 03:34
:| 03:35
brokenchicken 60ºC??!?!?!
Well, looks like Brazil is the place I'm never gonna visit
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/1a54...ngy.pm#L37
brokenchicken You're trying to call uniprop above.
The bot ain't got any special syntax. You're *literally* entering args to the sourcery() routine and it needs some Callable to look up, along with optional args.
brokenchicken has no idea why no one seems to be able to master that bot :( 03:36
hmm... 03:37
s: say "hello" and exit
SourceBaby brokenchicken, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Unable to parse expression in argument list; couldn't find final ')' ␤at -e:6␤------> put sourcery( say "hello"⏏ and exit )[1];␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤
brokenchicken hah
s: say "hello"
SourceBaby brokenchicken, Something's wrong: hello␤␤ERR: Cannot resolve caller sourcery(Bool); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
brokenchicken s: exit 03:38
SourceBaby brokenchicken, Something's wrong: ␤ERR:
brokenchicken s: say "hello", exit
SourceBaby brokenchicken, Something's wrong: ␤ERR:
brokenchicken s: note "hello", exit
SourceBaby brokenchicken, Something's wrong: ␤ERR:
brokenchicken s: exit, note "hello"
SourceBaby brokenchicken, Something's wrong: ␤ERR:
brokenchicken screw you then
"AlexDaniel │ dammit… I need a tutorial for this…" there is one: perl6.party/post/Perl-6-Core-Hackin...Sauce-Boss 03:40
AlexDaniel yeah, a blog post…
brokenchicken hehe 03:41
s: &uniprop, \(25)
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/1a54...ol.pm#L360
03:41 curt_ left
brokenchicken [Callable] [Capture with args]? 03:41
s: "", 'uniprop', \("Number")
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/1a54...ol.pm#L103
brokenchicken [Object] [String with method name] [Capture with args]? 03:42
s: "".^lookup("uniprop"), \(25)
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/1a54...ol.pm#L103
AlexDaniel what if I have a sub? 03:43
brokenchicken [Callable] [Capture with args]?
AlexDaniel ok
brokenchicken The Object/Method form is really there just to let you avoid typinmg .^lookup all the time
a sub is a Callable
m: say sub {} ~~ Callable
camelia rakudo-moar 1a54bb: OUTPUT«True␤»
AlexDaniel so let's see…
s: &say 03:44
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/1a54...ors.pm#L20
03:44 labster joined
brokenchicken And if you don't provide any args, you'd get the location of the proto 03:44
AlexDaniel s: Int, 'round'
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/1a54...nt.pm#L128
brokenchicken ... which often is kidnda useless and is in the wrong place
AlexDaniel okay
s: Int, 'round', \(25.5)
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/1a54...ool.pm#L48
AlexDaniel that works, thanks
brokenchicken There's just one issue that sometimes makes it error out: rt.perl.org/Ticket/Display.html?id...et-history 03:45
s: Any, 'push'
SourceBaby brokenchicken, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Method+{<anon|55592240>} (Method+{<anon|5559224...)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -
brokenchicken that one
the methods in Any-iterable-methods (or whatever that file's called) seem to be affected with that bug 03:46
03:59 raschipi left 04:00 troys is now known as troys_ 04:06 bjz joined 04:15 vendethiel joined 04:17 kyan left 04:22 vendethiel left 04:23 dugword left 04:33 vendethiel joined
AlexDaniel s: Str, ‘contains’ 04:36
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/1a54...ol.pm#L146
AlexDaniel s: Str, ‘contains’, \(‘a’, 0) 04:37
SourceBaby AlexDaniel, Something's wrong: ␤ERR: Could not find candidate that can do \("a", 0)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
04:41 finanalyst joined 04:48 finanalyst left 04:59 khw left 05:00 inokenty left 05:01 inokenty joined 05:13 ggoebel left 05:23 dugword joined 05:26 ggoebel joined 05:28 bjz left 05:32 aborazmeh left 05:33 cibs left 05:35 cibs joined 05:40 Gcombs joined, Cabanossi left 05:42 Cabanossi joined 05:47 CIAvash joined 05:57 dugword left 05:58 Gcombs left 06:08 troys_ is now known as troys 06:14 dugword joined 06:29 mcsnolte left 06:44 troys is now known as troys_ 07:21 troys_ is now known as troys 07:25 faraco joined
faraco hi guys. I need help. If I need to build a new module, for example My::API, should I named the Github repository as perl6-My-API or My-API, which convention is much better to avoid conflicts in the future (especially with ecosystem) 07:26
moritz ecosystem doesn't care what your repo name is 07:28
faraco Alright thanks moritz :) 07:30
mst ecosystem is a giant pile of duct tape and will handle anything equally shoddily :D
(it's very much an MVP sort of thing because nobody really had any idea what a 'proper' thing would need yet) 07:31
faraco mst: also thank you. :) I feel much enlightened.
ah last question, I heard that Perl 6 have a spec to make Perl 5 code run under Perl 6 vm's. Is that actually refers to Inline::Perl5 or is not? 07:33
07:34 smls joined
smls Hi 07:34
faraco hi
smls m: say list "t" ^..^ "z"
camelia rakudo-moar 1a54bb: OUTPUT«(u v w x y)␤»
smls m: say list "t" ^..^ "\{"
camelia rakudo-moar 1a54bb: OUTPUT«(u v w x y z {)␤»
smls ^^ Does anyone know why ^..^ includes the endpoint when it is a non-alphanumeric string? 07:35
07:37 AlexDaniel left
mst faraco: there has been work on making perl5 code run on rakudo, but Inline::Perl5 loads a standard pumpking-provided perl5 07:42
faraco pumpking? 07:44
developer?
Anyway, thanks. 07:47
Geth oc: 445dc78714 | (Nick Logan)++ | t/00-load.t
Revert flawed test

This test assumes Pod::To::BigPage is actually installed and located in a repository that the run ... htmlify.p6 is going to see. For instance: perl6 -I/path/to/Pod-To-BigPage/lib t/00-load.t will not work even though the dependency on Pod::To::BigPage is met. To use run like this would require passing all the $*REPOs (@INC) into the executed script (htmlify.p6)
07:50
07:51 troys is now known as troys_ 07:58 dugword left, troys_ is now known as troys 07:59 dugword joined 08:04 dugword left
mst faraco: pumpking is the person in charge of perl5-porters, i.e. releases of perl5 08:04
faraco: heh, just saw your lwp-online go past over in #perl :D 08:10
faraco mst: I know that module gonna be probably useless :P
mst I dunno, I can see myself maybe using it from scripts to double check network setup on systems 08:11
it's kind of a brute force approach but that may be the right answer
08:11 AlexDaniel joined 08:12 AlexDaniel left, AlexDaniel joined
AlexDaniel wow, RT #130554 is intersting 08:13
faraco mst: well I'm glad if it's beneficial to anyone. And thank you so much for the 'pumpking' meaning.
08:13 hankache joined
mst swears 08:13
AlexDaniel smls++ 08:14
mst AlexDaniel: I just tried to check for replies to me mail about the flipping ticket button ... which I IIRC cc'ed you on ... but can't now find in my mailbox because I must be searching for the wrong thing
08:15 hankache left
AlexDaniel “Re: [perl #129758] "new ticket" broken” was the title 08:15
that's all I've got
mst thanks
found it now 08:16
smls AlexDaniel: I think alphanumeric characters have a different code path in the range operator, because it also supports this: 08:17
m: say ("z"..*)[^10]
camelia rakudo-moar 1a54bb: OUTPUT«(z aa ab ac ad ae af ag ah ai)␤»
mst sends a prod
AlexDaniel: see, I told you that I suck but I get around to things eventually
AlexDaniel: sorry for sucking quite this much
AlexDaniel mch: say list '!' ^..^ '&'; 08:19
committable6 AlexDaniel, ¦«2015.12»: This type cannot unbox to a native string␤ in block <unit> at /tmp/1ZdqqQJPuV line 1␤ «exit code = 1»␤¦«HEAD»: (! " # $ % &)
AlexDaniel umm
6c: say list '!' ^..^ '&';
committable6 AlexDaniel, ¦«2015.12,2016.02,2016.03»: This type cannot unbox to a native string␤ in block <unit> at /tmp/7cdDaxeDOx line 1␤ «exit code = 1»␤¦«2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10,2016.11,2016.12,HEAD»: (! " # $ % &)
AlexDaniel well, let's see what commit implemented it
bisect: say list '!' ^..^ '&';
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=1a54bba). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/00915287f1b2998b10...f4b719f2b8
AlexDaniel, (2016-03-31) github.com/rakudo/rakudo/commit/53...d6c64ac019
AlexDaniel mst: as long as things are moving forward I don't mind. It's the lack of progress that drives me crazy sometimes 08:21
well, that doesn't help…
TEttinger is that an emoticon operator, ^..^ ? 08:22
or a little bat?
AlexDaniel m: say ‘!’.succ
camelia rakudo-moar 1a54bb: OUTPUT«!␤»
AlexDaniel m: say ‘!’.succ.succ
camelia rakudo-moar 1a54bb: OUTPUT«!␤»
AlexDaniel hmmm
smls: so it is associated with this ↑ 08:23
mst AlexDaniel: well, I dunno yet, but I've just poked people again on the grounds that everybody forgets everything over christmas anyway 08:24
smls AlexDaniel: .succ and strings doesn't increment codepoints. It does "foo_9.txt" --> "foo_10.txt"
AlexDaniel yes but
TEttinger m: 'a'.succ
camelia ( no output )
AlexDaniel my $min = $!excludes-min ?? $!min.succ !! $!min;
smls AlexDaniel: Ranges with string start point and infinite endpoint do the same.
TEttinger m: say 'a'.succ
camelia rakudo-moar 1a54bb: OUTPUT«b␤»
TEttinger neat
AlexDaniel github.com/rakudo/rakudo/blob/ce65...ge.pm#L134
this ↑ 08:25
smls AlexDaniel: However, ranges with string *endpoints* do conepoint ranges.
AlexDaniel it does .succ if it excludes-min
smls Ah. Intentionally?
AlexDaniel but it should be doing nqp::ord(nqp::unbox_s($min)) + 1; 08:26
not intentionally, it's a bug
change it to that ↑ and it will start working, probably
wrap it in nqp::chr though
smls: wanna try to fix it yourself? 08:28
smls: you'll only have to change line 134 and line 164
08:28 bjz joined
smls Hm, never submitted a Rakudo patch involving NQP pefore 08:28
But I guess I could try
08:29 troys is now known as troys_
AlexDaniel smls: doesn't really have to be nqp actually, but I think it's a good idea to use the same logic it does for the generation 08:33
08:35 shayan_ left
AlexDaniel smls: maybe another way to do it would be to change SET-SELF a little bit 08:36
+ 1 to $!i if it excludes-min, - 1 to $!n if it excludes-max 08:37
not sure if that's any better though
yea, it probably is, it will get rid of the useless ord(chr(ord(…))) roundtrip 08:38
faraco Hiker looks like Catalyst/Mojo/Dancer for Perl 6.
08:40 hankache joined
smls AlexDaniel: ok 08:40
samcv argh why are my Int's changing into strings! 08:42
08:48 faraco left 08:51 faraco joined, faraco left, faraco joined 08:52 Vynce joined, hankache left 08:58 domidumont joined 08:59 wamba joined 09:01 dugword joined 09:02 mxco86 left 09:04 domidumont left, domidumont joined 09:12 troys_ is now known as troys 09:13 rindolf joined 09:25 tokomer joined 09:31 RabidGravy joined 09:34 dugword left 09:36 CIAvash left 09:47 troys left 09:50 bjz left
RabidGravy boom! 09:53
mst boom today? 09:57
09:58 Vynce left
samcv boom? 09:59
10:01 faraco left 10:07 holli joined 10:13 AlexDaniel left 10:18 inokenty left 10:19 skids left 10:20 faraco joined 10:24 inokenty joined 10:31 dugword joined
RabidGravy It would be unlike IBM to ship something that is totally broken, so I guess the really do mean it when they say the "Informix Developer Edition" only works on RHEL, SLES Centos .... 10:32
10:36 cognominal joined 10:39 faraco left, faraco joined 10:43 hankache joined 10:49 TEttinger left
RabidGravy Hmm it seems to work okay locally (which is not what I wanted as having yet another datbase server on this laptop seems silly) 10:52
user__ I have a MAIN('build', MORE_ARGS) and I have a MAIN(Str cmd, Bool :h(:$help)) 10:54
10:54 user__ is now known as kalkin-
kalkin- I have a MAIN('build', MORE_ARGS) and I have a MAIN(Str cmd, Bool :h(:$help)) 10:54
mst kalkin-: move the :h match first
kalkin- mst: but wouldn't that force me to call ./foo --help build instead of ./foo build --help? 10:55
10:55 faraco left
mst kalkin-: no, I mean, move that 'MAIN' to the top of the file. *might* help. 10:55
actually. IIRC for the MAIN_HELPER the options need to come first so you can have subcommands? 10:56
10:56 faraco joined
kalkin- mst it's already on the top of the imported module 10:56
kalkin- is writing another Getopt parser
faraco kalkin-: can't wait to use it. 10:57
timotimo don't we already have a getopt parser in the ecosystem?
kalkin- I have -h build & --help build & --help=build working, but I can't get build --help to work
timotimo yeah, MAIN won't let you put named arguments after positionals
mst right. because subcommands. 10:58
10:58 bjz joined
RabidGravy okay that Informix appears to have installed correctly 10:58
mst maybe you wanted a MAIN(|c) or something and then unpack yourself
RabidGravy yeah
timotimo no, you need to handle @*ARGS if you want to accept nameds after positionals 10:59
faraco Damn it. I should check ecosystem and what Task::Star provides.
timotimo there's six modules with Getopt:: in their name in the ecosystem
kalkin- i see.
mst timotimo: oh right ok.
kalkin- mst & timotimo thank you both
timotimo three of them seem to be from-scratch implementations of getopt
mst timotimo: I'd've expected the later nameds to end up in the array part
timotimo hm? 11:00
11:00 Actualeyes joined
kalkin- There're some modules which parse Getopt params but they don't work as I expect them when using subcommands 11:00
timotimo someone started building something called Subcommander 11:02
it didn't make it into the ecosystem yet
as in, not finished yet?
11:03 domidumont left
timotimo github.com/hoelzro/Subcommander 11:03
11:04 dugword left 11:06 domidumont joined
kalkin- timotimo: thanks will have a look at that 11:07
I think parsing @*ARGS is a much simpler solution as what I am doing 11:08
currently I'm using callframe to get the MAIN subs which isn't optimal
timotimo wow
mst hahahahahaha oh dear 11:09
that ... sounds like something I would do to perl5
kalkin- :)
11:11 Tonik joined
kalkin- just a second. I think i still need to get the MAIN subs via callframe if I want my module to generate an own USAGE don't I? 11:12
mst if you're accepting @*ARGS to your top level MAIN and handling it yourself
why can't you generate your own usage info directly?
kalkin- mst: i want the user using my module as drop in replacement for the original Getopts. The user has a script which has some MAIN subs and at the top he does use Getopt::Subcommands 11:13
so I need to get the MAIN subs from the script to get the POD docs
timotimo why not just &MAIN and &MAIN.candidates for that 11:14
kalkin- because they are out of the scope of the module which provides my custom USAGE sub? 11:15
timotimo ah 11:16
hm, how exactly does MAIN_HELPER do it ...
ugh, it uses callframe, too :D 11:17
11:19 hankache left
mst \o/ 11:20
kalkin- rakudo src is where I got the idea with callframe 11:24
timotimo we are terrible, clearly 11:25
lizmat
.oO( great minds think alike )
11:26 labster left 11:33 ufobat joined 11:36 Gasher joined
RabidGravy Hmm, it's been like 15 years since I actually configured an Informix server 11:53
11:57 faraco left 12:01 dugword joined 12:04 bjz left, bjz_ joined
RabidGravy little by little it comes back to me 12:07
12:35 dugword left
lizmat
.oO( it's just like riding a bike )
12:36
timotimo informicycle 12:38
12:42 bjz joined 12:43 bjz_ left
smls AlexDaniel: I sent a Rakudo pull request. 12:53
sammers hi all 12:54
does anyone have a name for stepping through a long string / text file? Like a sliding rule, n characters at a time, incrementing one character per iteration. Is there a name for this? 13:03
smls sammers: You mean like the built-in .rotor? 13:05
m: say (1..12).rotor(3)
camelia rakudo-moar 9c25d1: OUTPUT«((1 2 3) (4 5 6) (7 8 9) (10 11 12))␤»
smls eh, I meant:
sammers ah, that looks interesting...
smls m: say (1..8).rotor(3 => -2)
camelia rakudo-moar 9c25d1: OUTPUT«((1 2 3) (2 3 4) (3 4 5) (4 5 6) (5 6 7) (6 7 8))␤»
sammers yeah
that might be exactly what I am looking for
smls works on lists though, not strings 13:06
sammers ah
hmm
13:06 wamba left
smls you can split your string with .comb, though 13:06
sammers yeah
13:06 wamba joined, faraco joined
smls m: say "abcdefgh".comb.rotor(3 => -2).map(*.join) 13:07
camelia rakudo-moar 9c25d1: OUTPUT«(abc bcd cde def efg fgh)␤»
faraco m: say 0..^11
camelia rakudo-moar 9c25d1: OUTPUT«^11␤»
faraco m: say 1..10
camelia rakudo-moar 9c25d1: OUTPUT«1..10␤»
13:07 wamba left, wamba joined
faraco erm. nvm ^^ 13:07
sammers ok, thanks, this gives me something to play with. is rotor the common name for this concept? 13:08
smls sammers: No, rotor is a more general name because its a very flexible method 13:10
sammers: The "overlapping ranges incremented by one" is typically called a "sliding window" approach, I think.
sammers ok, cool, I always thought of this like a "sliding rule" 13:11
but wasn't sure if there was some other name for it
13:14 domidumont left 13:16 Tonik left, domidumont joined 13:22 bjz left
timotimo i know "sliding window" 13:28
13:29 smls_ joined 13:30 smls left 13:31 dugword joined 13:33 espadrine joined, Geth left 13:34 buggable left, Geth joined, ChanServ sets mode: +v Geth, buggable joined, ChanServ sets mode: +v buggable 13:35 faraco left 13:42 Ven joined
masak clearly a "sliding rule" is when a monarch governs from a slippery slope :P 13:45
13:47 shmibs left 14:00 shmibs joined
lizmat
.oO( king on a skateboard: a slide ruler )
14:00
14:00 shmibs left 14:02 lukaramu joined, shmibs joined 14:04 dugword left 14:07 shmibs left 14:08 shmibs joined 14:15 dmaestro joined
dmaestro m: ((1, (2, 3)), (2, (1, 3)))».say 14:17
camelia rakudo-moar d17c64: OUTPUT«1␤2␤3␤2␤1␤3␤»
dmaestro m: ((1, (2, 3)), (2, (1, 3))).elems 14:18
camelia ( no output )
dmaestro m: say ((1, (2, 3)), (2, (1, 3))).elems
camelia rakudo-moar d17c64: OUTPUT«2␤»
14:18 wamba left
dmaestro This seems to contradict the hyper operator documentation: 14:19
Hyper operators do not descend into child lists. You can chain hyper operators to destructure a List of Lists.
Anybody know what's going on here? 14:20
m: .say for ((1, (2, 3)), (2, (1, 3))) 14:21
camelia rakudo-moar d17c64: OUTPUT«(1 (2 3))␤(2 (1 3))␤»
14:21 Actualeyes left
dmaestro That's the output I would have expected 14:21
gfldex +1
however, the docs are not roast 14:24
m: say [[2, 3], [4, [5, 6]]]».all.gist 14:26
camelia rakudo-moar d17c64: OUTPUT«(all(2, 3) all(4, [5 6]))␤»
14:27 pmurias joined
gfldex dmaestro: the behaviour of ». depends on the nodality of the method that is called 14:28
14:29 Ven left
gfldex so the docs are wrong (or at least incomplete) 14:29
m: trait_mod:<is>(Mu.^can('say')[0], :nodal); [[2, 3], [4, [5, 6]]]».say 14:32
camelia rakudo-moar d17c64: OUTPUT«[4 [5 6]]␤[2 3]␤»
gfldex dmaestro: ^^^
what leaves the question if Mu.say should be nodal 14:33
dmaestro I think nodality is a new concept to me ;-) 14:36
Thanks for the info.
14:36 smls_ left, Geth left 14:37 Geth joined, ChanServ sets mode: +v Geth
dmaestro m: say ((1, (2, 3)), (2, (1, 3)))».elems 14:37
camelia rakudo-moar d17c64: OUTPUT«(2 2)␤»
gfldex dmaestro: i did: cd perl6/roast; git grep '»\.'
14:38 eyck left
gfldex checking roast tends to be very informative 14:38
dmaestro Yes, I've been on the verge of checking that out; time to dive in.
Any pointers to what 'nodality' means in this context? 14:39
brokenchicken whether or not it descends into iterables 14:41
m: say ((1, (2, 3)), (2, (1, 3)))».&{.elems}
camelia rakudo-moar d17c64: OUTPUT«((1 (1 1)) (1 (1 1)))␤»
sammers ok, I am testing rotor for a sliding window type solution. I have two examples, one using rotor, the other using while. rotor is much slower than the while example here gitlab.com/snippets/35396 14:42
dmaestro brokenchicken: +1
14:43 Gasher left
sammers nodality is when nodejs kills your server 14:43
14:43 Gasher joined
lizmat sammers: .rotor is on my list of things to optimize :-) 14:44
sammers for that rotor / while example, I tested with a file around 10k loc and it takes about 25 sec for the while version, ~38 for the rotor solution
hi lizmat 14:45
cool, I want to help!
ha
I might be able to at least look into benchmarking .rotor
lizmat, is rotor something that can be concurrent? 14:46
lizmat not sure how that could be 14:47
but you could feed a .rotor into a Channel and then have multiple starts { } feed off of that I guess 14:48
sammers do other languages have something like this?
lizmat not sure
sammers hmm
[Coke] ugexe: the test in 00-load I added had nothing to do with pod::to::bigpage - it was just to make sure that htmlify was compilable (and we've had commits where that is not the case) - Did that test fail for you somewhere? 14:51
14:57 Khisanth left, Tonik joined 15:01 dugword joined 15:02 mr_ron joined, curt_ joined
Geth oc: b4b68d88b9 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
hyper operators depend on nodality (dmaestro++)
15:05
oc: f08ded9431 | (Wenzel P. P. Peppmeyer)++ | doc/Language/typesystem.pod6
is nodal applies to all Routines, not just methods
oc: 058bc1cb3f | (Wenzel P. P. Peppmeyer)++ | 2 files
make clear that operators are Subs
oc: d4515e24f8 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
link to Sub
15:08
15:10 Khisanth joined
Geth oc: 490dc2c63d | (Wenzel P. P. Peppmeyer)++ | doc/Type/Sub.pod6
example for circumfix declaration
15:12
gfldex prove reading of ^^^ is welcome. I'm not overly awake today.
brokenchicken s/prove/proof/; :") 15:15
gfldex told you so! 15:19
15:28 curt_ left 15:34 dugword left 15:36 forkbomb left 15:38 Actualeyes joined 15:41 dj_goku left 15:46 giraffe joined, giraffe is now known as Guest23983 15:50 dj_goku joined, dj_goku left, dj_goku joined 15:54 ChoHag left 15:55 dugword joined 16:01 raschipi joined 16:05 BenGoldberg joined 16:08 wamba joined 16:09 raschipi left 16:18 khw joined 16:19 stmuk left 16:21 espadrine left, tokomer left 16:25 dugword left 16:29 stmuk joined 16:31 dugword joined 16:44 BenGoldberg left 16:46 BenGoldberg joined 16:55 shayan_ joined 16:57 Actualeyes left 16:58 TimToady left 17:00 TimToady joined 17:02 bstamour` left
Geth oc: dmaestro++ created pull request #1137:
Proofread updates by (Wenzel P. P. Peppmeyer)++
17:05
oc: 6be1c895a2 | (Douglas L. Schrag)++ | 3 files
Proofread updates by (Wenzel P. P. Peppmeyer)++

Add an example of nodality affecting hyper-method operator.
17:06
oc: 22367f6606 | (Juan Julián Merelo Guervós)++ | 3 files
Merge pull request #1137 from dmaestro/proof/nodality_and_subs

Proofread updates by (Wenzel P. P. Peppmeyer)++ Thanks!
17:12 Actualeyes joined 17:24 ugexex joined
ugexex [Coke]: it tries to compile a script that uses pod::to::bigpage without passing in the current "@INC" 17:26
Your test only works if pod::to::bigpage is located in a CURI and not CURFS (like -I../somelib) 17:28
So "zef install p6doc" will fail on a otherwise clean Rakudo 17:29
moritz m: sub f($, $) { }; f join 'a', 'b', 'c' 17:30
camelia rakudo-moar 78edbb: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
moritz why is this error only detected at run time?
we know at compile time that there will be only one argument to &f 17:31
or could it work if &join returned some Slip shenenigan or so?
17:32 BenGoldberg left 17:33 ugexex left
gfldex m: sub f($, $) { }; f((1,2,3).Slip) 17:33
camelia rakudo-moar 78edbb: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub f($, $) { }; f(slip (1,2,3))
camelia rakudo-moar 78edbb: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub f($, $) { }; f(¦(1,2,3))
camelia rakudo-moar 78edbb: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3sub f($, $) { }; f(7⏏5¦(1,2,3))␤ expecting any of:␤ argument list␤ prefix␤ …»
gfldex m: sub f($, $) { }; f( |(1,2) ) 17:34
camelia ( no output )
gfldex moritz: the compiler would know if the |()-slip form is used at compile time 17:35
17:37 tokomer joined, cdg joined
moritz then it looks like a bug to me 17:37
though this is borderline; the spec doesn't mandate a compile time error for wrong arity, afaict 17:38
brokenchicken m: sub join (|) { 2, 3 }; sub f($, $) {say "weeee"; }; f join 'a', 'b', 'c' 17:40
camelia rakudo-moar 78edbb: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: sub join (|) { say "lulz wat"; return 2, 3, }; sub f($, $) {say "weeee"; }; f join 'a', 'b', 'c' 17:41
camelia rakudo-moar 78edbb: OUTPUT«lulz wat␤Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: sub join (|) { say "lulz wat"; return slip 2, 3 }; sub f($, $) {say "weeee"; }; f join 'a', 'b', 'c'
camelia rakudo-moar 78edbb: OUTPUT«lulz wat␤Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken screw you
gfldex moritz: i was wrong. prefix:<|> is just a normal operator and can be overloaded.
brokenchicken but my point was we don't really know what join will return, can we? 17:42
17:43 zakharyas joined
moritz brokenchicken: so is ther an example of a function that returns something that will be interpreted as more than one argument, without adding an explicit | to the call site? 17:44
m: sub f($, $) { }; sub g { return | 1, 2 }; f g;
camelia rakudo-moar 78edbb: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub f($, $) { }; sub b(--> Slip){ Nil }; f(b) 17:45
camelia rakudo-moar 78edbb: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling f(Slip) will never work with declared signature ($, $)␤at <tmp>:1␤------> 3ub f($, $) { }; sub b(--> Slip){ Nil }; 7⏏5f(b)␤»
moritz there are times when I feel like a Perl 6 beginner again
brokenchicken moritz: ah. No idea 17:46
nothing comes to mind 17:49
gfldex welp! I need a good name for the group that is formed by the types Signature, Routine, Slip, …. 17:51
moritz gfldex: code reuse? 17:52
that's what they are all related to
gfldex not really. I got build in structual or language types as opposed to data types like Array, Str,…. 17:53
to provide some context, I'm not happy with /language.html and /type.html. They provide a long unstructured list of not so similar things. 17:55
Some grouping seams to be in order for both and that creates the need for headings. 17:56
moritz type-graph.txt provides some rough structuring, but probably along different axes as you imanged 17:58
*imagined
gfldex indeed
moritz I can't think of a better name ad hoc 17:59
mr_ron m: class c { method hi-c { say "hi" } }; role r is c {}; r.hi-c # docs.perl6.org/language/objects says "Roles cannot inherit from classes
camelia rakudo-moar 78edbb: OUTPUT«hi␤»
moritz tends to defer naming decisions to TimToady++ or jnthn++ if possible
mr_ron new to roles ...
moritz mr_ron: it's complicated :-)
gfldex mr_ron: they don't really. It's autopunning that is confusion you. 18:00
there is an invisible class that you cant see :)
moritz mr_ron: the role itself doesn't inherit from the class. But if you apply the role to another class, that second class inherits from the first one
m: class C1 { }; role R is C1 { }; class C2 does R { }; say C2.^parents 18:01
camelia rakudo-moar 78edbb: OUTPUT«((C1))␤»
gfldex maybe some fresh air will provide clarity
gfldex walkes to the shop
mr_ron I didn't notice applying the role so looking at autopunning ...
m: role r1 { token t { <[2]> } }; role r2 is Grammar { token t { <[3]> } }; say so "3" ~~ /<r2::t>/; say so "2" ~~ /<r1::t>/
camelia rakudo-moar 78edbb: OUTPUT«True␤No such method '!cursor_init' for invocant of type 'r1'␤ in block <unit> at <tmp> line 1␤␤»
moritz mr_ron: if you try to instantiate a role directly, an empty class of the name as the role is created implicitly, and the role is applied to it 18:02
mr_ron No ".new" in my example so I don't see instantiation 18:03
m: class c { method hi-c { say "hi" } }; role r is c {}; r.new.hi-c; r.hi-c
camelia rakudo-moar 78edbb: OUTPUT«hi␤hi␤»
18:05 zakharyas left
mr_ron In the second case there is no "instance" of a class (as described in the doc and in the section example) so can someone explain how the role DID NOT inherit the class? 18:07
moritz as I just tried to explain, r.new does create a class implicitly 18:09
which is what we call autopunning
which you said you'd look up, no? :-)
brokenchicken What about the r.hi-c case?
geekosaur that *is* the case
mr_ron brokenchicken: thanks 18:10
moritz r.hi-c cause an implicit (class r is r { })
brokenchicken Ah
moritz so there's a class r, which now inherits from class c
a role is just a collection of stuff that's eventually copied into a class
and "stuff" can be methods, attributes, inheritance, other roles 18:11
feel free to update the docs if you think you can explain it better than it is now
18:14 eyck joined 18:15 cdg_ joined 18:16 cdg left
mr_ron Sort of the confusing part is the statement from the doc "Roles cannot inherit from classes." It looks like in practice the claim may not mean much. 18:17
m: role r1 { token t { <[2]> } }; role r2 is Grammar { token t { <[3]> } }; say so "3" ~~ /<r2::t>/; say so "2" ~~ /<r1::t>/ # so ... a practical application of a role inheriting from a class 18:23
camelia rakudo-moar 78edbb: OUTPUT«True␤No such method '!cursor_init' for invocant of type 'r1'␤ in block <unit> at <tmp> line 1␤␤»
geekosaur seems to me that might indicate the problem and be reporting it badly (i.e. LTA)? 18:28
mr_ron geekosaur: not following what you thinks is being reported badly. (working on a doc issue for the "cannot inherit" wording) 18:30
geekosaur the No such method 18:31
which looks to me like inheritance from Grammar simply failed
mr_ron So the match logic should recognize that a role not a class is involved and explain? 18:32
18:32 tokomer left
mr_ron geekosaur: the output is in opposite order from the declarations and r2 inherited Grammar AFAICT 18:33
18:35 dugword left, wamba left, Gasher left 18:38 dugword joined, wamba joined, Gasher joined 18:44 bpmedley joined 18:47 espadrine joined
gfldex m: role R {}; class C does R {}; say C ~~ R; say [C.HOW, R.HOW] 18:59
camelia rakudo-moar 78edbb: OUTPUT«True␤[Perl6::Metamodel::ClassHOW.new Perl6::Metamodel::ParametricRoleGroupHOW.new]␤»
mr_ron github.com/perl6/doc/issues/1138 19:01
gfldex m: class C { method m {} }; role R is C {}; say R.^methods(:all); 19:10
camelia rakudo-moar 78edbb: OUTPUT«()␤»
gfldex m: class C { method m {} }; role R is C {}; say R.^mro; 19:11
camelia rakudo-moar b5293c: OUTPUT«No such method 'mro' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW'␤ in block <unit> at <tmp> line 1␤␤»
19:12 Vynce joined 19:14 BenGoldberg joined
Geth oc: de71ebd927 | (Wenzel P. P. Peppmeyer)++ | doc/Language/typesystem.pod6
fix typo
19:16
DrForr Perl6::Parser's here-docs are mostly fixed.
mr_ron m: class C { method m { say "hi" } }; role R is C {}; say R.WHAT.^methods(:all); R.WHAT.m 19:18
camelia rakudo-moar b5293c: OUTPUT«()␤hi␤»
mr_ron is R.WHAT.^methods(:all) right in that last example? 19:21
gfldex yes 19:22
m: class C { method m {} }; role R is C {}; say R =:= R.WHAT 19:23
camelia rakudo-moar b5293c: OUTPUT«True␤»
gfldex m: class C { method m {} }; role R is C {}; say R === R.WHAT
camelia rakudo-moar b5293c: OUTPUT«True␤»
19:27 cdg_ left
Hotkeys_ is there an easy way I can whitespace split a string that includes lone combining chars 19:28
m: "_x ̽".comb(/\S+/).say #for example 19:29
camelia rakudo-moar b5293c: OUTPUT«(_x)␤»
Hotkeys_ m: "_x ̽".uninames.say
camelia rakudo-moar b5293c: OUTPUT«(LOW LINE LATIN SMALL LETTER X SPACE COMBINING X ABOVE)␤»
Hotkeys_ is there an easy way to seperate out the combining char 19:36
(at the string level, rather than going through eg. a buf)
19:40 labster joined 19:48 Vynce left
kalkin- Why does the compiler need curly braces if i do sub f( --> "asd) {} ? 19:52
Why can't I just do sub f( --> "asd");
moritz 'cause without a block, it's just a forward declaration
kalkin- moritz: but in such case a forward-declaration doesn't make sense 19:53
can't the compiler look up if after --> there is a literal or function call(is it even possible?) and then decide if it's a forward declaration or if the sub is finished? 19:54
moritz kalkin-: but you could still want to write a body for the side effect, no?
kalkin- m: sub f( --> "bar") {} sub f'( --> f){} say f' 19:55
camelia rakudo-moar 65f8f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3sub f( --> "bar") {}7⏏5 sub f'( --> f){} say f'␤ expecting any of:␤ infix␤ infix stopper␤ …»
kalkin- m: sub f( --> "bar") {}; sub f'( --> f){}; say f'
camelia rakudo-moar 65f8f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub f( --> "bar") {}; sub f7⏏5'( --> f){}; say f'␤ expecting any of:␤ new name to be defined␤»
19:55 lukiramu joined
kalkin- moritz: ahh i see 19:56
moritz: thanks for the explanation
moritz kalkin-: you're welcome
19:58 lukaramu left 19:59 Vynce joined 20:00 Vynce left
BenGoldberg m: sub f( --> "bar") {}; sub f'( --> &f){}; say f' 20:14
camelia rakudo-moar 65f8f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub f( --> "bar") {}; sub f7⏏5'( --> &f){}; say f'␤ expecting any of:␤ new name to be defined␤»
BenGoldberg m: sub f( --> "bar") {};
camelia ( no output )
BenGoldberg m: sub f( --> "bar") {}; sub f′( --> &f){}; say f′ 20:15
camelia rakudo-moar 65f8f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub f( --> "bar") {}; sub f7⏏5′( --> &f){}; say f′␤ expecting any of:␤ new name to be defined␤»
BenGoldberg m: sub f( --> "bar") {}; sub fʹ( --> &f){}; say fʹ 20:16
camelia rakudo-moar 65f8f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed return value␤at <tmp>:1␤------> 3sub f( --> "bar") {}; sub fʹ( -->7⏏5 &f){}; say fʹ␤»
BenGoldberg m: sub f( --> "bar") {}; sub fʹ( --> f){}; say fʹ
camelia rakudo-moar 65f8f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Type 'f' is not declared␤at <tmp>:1␤------> 3sub f( --> "bar") {}; sub fʹ( --> f7⏏5){}; say fʹ␤»
BenGoldberg m: sub f( --> "bar") {}; sub fʹ(){ &f }; say fʹ 20:17
camelia rakudo-moar 65f8f0: OUTPUT«sub f ( --> "bar") { #`(Sub+{Callable[Str]}|70950640) ... }␤»
rindolf Hi all. 20:20
20:23 raschipi joined
RabidGravy okay the DBIish::Informix might be on, i managed to start an IDS instance on my laptop for the first time in fifteen years ;-) 20:25
20:25 cibs left
moritz RabidGravy: you kinda scare me :-) 20:26
20:26 cibs joined 20:27 cdg joined 20:30 raschipi left
RabidGravy moritz, I spent most of the nineties making software for Informix it's a comfort thing ;-)] 20:30
geekosaur spent most of the 80s doing that, culminating in ripping the initial release of Informix-SQL to shreds 20:32
20:32 cdg left
moritz half of the eighties not being born yet, and the ninties in school 20:33
RabidGravy Oh I spent the 80s getting trashed and pretending I was a film editor
20:34 AlexDaniel joined 20:37 pecastro left, ocbtec joined, ChoHag joined
RabidGravy let's put it like this I was conceived during the Cuban Missile Crisis, born four months before JFK was killed 20:38
AlexDaniel smls++ # for finding a bug and then fixit it himself 20:39
ng
20:39 dmaestro left, domidumont left
TimToady spent the 50s watching them build the Harbor Freeway outside his kitchen window...we were the first house on the street not bulldozed for that... 20:41
20:41 dugword left
TimToady but eventually termites got the house, and I think it's been a vacant lot for the last 50 years or so... 20:43
timotimo that's some thorough termites 20:44
20:44 cdg joined 20:45 ChoHag left
RabidGravy I'm not sure if the first house I knew is still there 20:47
geekosaur the first house I knew was still there ~10 years ago; have not cared enough to check since, but no reason to believe it isn't 20:48
TimToady actually, I suspect the 110-105 interchange probably wiped it out eventually
geekosaur (re conception, there is reason to believe I was conceived in the wake of the JFK assassination) 20:49
20:50 ChoHag joined
RabidGravy tough time for new couples :) 20:52
and people wonder why I'm a nihilist 20:55
TimToady it's why you were attracted to the Camel Lot
.oO(Ask not what you can do for your camel...)
20:56
oh wait, that's backwards :)
kalkin- With todays tests you can pinpoint the conception right to the day. 20:58
kalkin- is going to google what have happend when his girl was conceived
moritz kalkin-: really?
my impression was the pregnancy tests weren't even reliable until 10, 15 days after conception
geekosaur cheap ones 20:59
TimToady um, back then, it involved kill a rabbit
moritz no, even the ones that doctors do
(though that was 7 years ago, TBH :-) 21:00
timotimo you could MRT the person
i'm not sure if you can get sufficient resolution, though?
geekosaur there have been advances --- and most doctors don't use those tests because they are much more expensive
timotimo otherwise slice and dice the person, freeze the parts, and put them under the electron microscope
geekosaur and it's rare that someone actually needs that orecision
timotimo that ought to give you the ability to count cells
kalkin- en.wikipedia.org/wiki/Portal:Curre...6_April_22
RabidGravy boom
kalkin- a lot of killings happened this day, but i guess this happens every day 21:01
timotimo probably
RabidGravy goats
geekosaur there's only 365 (or sometimes 366) days per year; see the birthday "paradox" 21:02
kalkin- I think I will go with this: Romania is expelled from this year's Eurovision Song Contest 21:03
DrForr What did we d?
kalkin- Actually you can pinpoint it to +3 days, but in best case you have a positive result on next day
DrForr *d
Grr.
*do
RabidGravy wut
kalkin- DrForr: you are poor and don't pay your debts? 21:04
:D
(literally)
DrForr It would not surprise me at all.
21:05 Gasher left
kalkin- Romanian Television (TVR) failed to pay outstanding debts dating back to 2007 21:05
RabidGravy whatever 21:06
I'm sure Sir Cliff will recuse them 21:07
21:21 FROGGS_ left 21:25 TEttinger joined 21:31 Todd joined
Todd Where are the modules for Perl 6 ? I need Net::FTP 21:31
DrForr modules.perl6.org 21:32
brokenchicken buggable: Net::FTP 21:37
buggable: eco Net::FTP 21:38
buggable brokenchicken, Net::FTP 'A ftp client written in perl6': github.com/araraloren/Net-FTP
timotimo 9 months ago, that doesn't seem so terrible
21:39 Vynce joined 21:45 dugword joined
masak Todd: also, remember that if there isn't a Perl 6 module, `use Inline::Perl5` and `use DBI:from<Perl5>` (etc) allow you to use much of CPAN 21:49
timotimo almost all of cpan, yeah
21:49 RabidGravy left 21:52 Tonik left, pecastro joined
masak Inline::Perl5 is chronically unsung and nine_ is my personal hero 22:01
dugword Inline::Perl5 is fantastic, I use it with DBI all the time. 22:03
masak I should do that more 22:04
BenGoldberg It would be cool of DBIish were to automatically use it for any backend which is NYI in perl6. 22:07
geekosaur still thinks the Net::FTP problem is a local network configuration issue, not a module issue
because FTP's an ancient and horrible protocol, and no module can fix that, only replacing it with a sane protocol can fix it 22:08
22:13 bjz joined
timotimo yes. 22:19
Todd Hi All, How do I fix this? Many thanks, -T # /usr/share/perl6/site/bin/panda install Net::FTP ==> Fetching Net::FTP ==> Building Net::FTP ==> Testing Net::FTP t/01-load.t ......... ok t/02-login.t ........ ok t/03-directory.t .... ok t/04-list.t ......... ok # Failed test 'Get file stor.txt success' # at t/05-put-get.t line 11 # Failed test 'Put file some.txt success' # at t/05-put-get.t line 12 # Looks like you failed 2 tests of
22:19 BenGoldberg left
Todd need an RPM of Net::FTP 22:20
timotimo dude
have you even checked to see if it's network issues?
you said you were using an ec2 instance?
like, can you do the same things the tests are doing with a regular ftp client? 22:21
jast at a quick look, the tests look like they're testing against a live FTP server which seems to be down 22:22
22:22 BenGoldberg joined
geekosaur prt of the problem, as I just said on the list, is that it really should not be requiring those tests to succeed --- if you are using ftp internally but have it blocked externally, how do you install this module as is? 22:22
timotimo oh, the ftp server is down?
well, that'd explain it
Todd My network firewall logs everything that gets rejected, both incoming and outgoing. It is quiet.
timotimo in that case ... Todd just "panda --force install Net::FTP"
kalkin- Todd: dunno about panda but zef --/test install Net::FTP should succeed without tests 22:23
timotimo alternatively --notests or --notest or what it's called
kalkin- zef --/test install Net::FTP works for me
Todd I hate using --force, but at this point, I don't see the harm 22:24
It is running right now'
timotimo it just means it ignores failures
Todd Any chance of getting this worked on? bugzilla.redhat.com/show_bug.cgi?id=1410159 22:25
it is taking its sweet time, now that I have someone waiting on me
Should I run it as root? I ususlly do.
timotimo don't
Todd I am. Should I start over? 22:26
timotimo too late
all the files and folders probably belong to root now, so you'll get permission errors whenever you try to install something
just a guess
Todd since all user will be seeing it, I thought is had to be as root. I did not what a single user install in my ~ directory 22:27
kalkin- nothing you can't fix with chmod a+rwx (just a joke) :)
timotimo ok
Todd Dubious, test returned 255 (wstat 65280, 0xff00) Failed 2/2 subtests 22:28
still running though
timotimo if --force is turned on, it won't matter
in theory we could run an ftp server on p6c.org and just make it completely unable to write to or read from disk
Todd aby idea why fedora took perl 6's modules out as of perl6, v7?
timotimo so that it could be used for the ftp test
Todd if this does not work, can I just download Net::FTP's clone and compile it myself? 22:29
22:30 BenGoldberg left
timotimo of course 22:31
use "panda install ." inside the Net::FTP checkout
it shouldn't make any difference if panda itself is able to clone it, too
Todd Failure Summary ---------------- Net::FTP( *test stage failed for Net::FTP: 0)
./net.ftp.pl6 ===SORRY!=== Could not find Net::FTP at line 10 in: /home/tony/.perl6 /usr/share/perl6/site /usr/share/perl6/vendor /usr/share/perl6 22:32
22:32 BenGoldberg joined
Todd I will try the clone next 22:33
timotimo where did it install Net::FTP to?
Todd I am doing a "find" on /usr/share looking for it 22:34
find /usr/share -iname \*ftp\* | grep -i net
where do they usually go? 22:35
geekosaur that won't work because the install name is actually a hash
Todd only found perl5's stuff
timotimo right
samcv \o/ linguist just made a release 22:36
well 6 days ago. i didn't notice tho
timotimo in case you haven't seen it, here's what stuff the Net::FTP thing uses: github.com/araraloren/Net-FTP/blob...02-login.t
samcv so github should have updated perl 6 highlighting as of now
Todd please elusidate
lizmat samcv: whee! 22:37
Todd Can I go get this thing from somewhere else?
timotimo worst case just run your program with -I/home/todd/Net::FTP/lib/ 22:38
Todd what do you mean? 22:39
timotimo just point the -I at the source folder
Todd I am sorry for being dense, but what program and where? 22:40
timotimo whatever program you want to write that uses Net::FTP
Todd I can't get Net::FTP to install.
timotimo yeah. you don't need to install it
you can just point -I at the source folder
Todd am doing a "panda install ." from inside the clone folder. 22:41
22:41 ufobat left
timotimo you'll need --force or --notests there, too 22:41
Todd as user todd, instead of root.
any idea where it is suppose to go afterwards? 22:42
Is there a .config or such inside the clone I can look at to see where they go? 22:43
timotimo m: say $*REPO.repo-chain
camelia rakudo-moar 53a7ac: OUTPUT«(inst#/home/camelia/.perl6 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQ…»
22:43 rindolf left
Todd no rakudo anything in my home directory 22:44
timotimo you're supposed to run that command yourself
Todd I don't understand. 22:45
timotimo run perl6 -e '$*REPO.repo-chain'
it will tell you the corresponding folders on your local system
Todd perl6 -e '$*REPO.repo-chain' return a blank line 22:47
timotimo sorry, needs a say at the beginning
samcv does anybody know, are objects automatically thread safe? 22:48
timotimo objects are automatically thread-unsafe
samcv k
timotimo if you want threadsafe objects, try OO::Monitors
Todd perl6 -e 'say $*REPO.repo-chain' (inst#/home/todd/.perl6 inst#/usr/share/perl6/site inst#/usr/share/perl6/vendor inst#/usr/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository))) CompUnit::Repository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository)) CompUnit::Repository::Perl5.new( 22:49
samcv timotimo, what about methods? methods also unsafe?
Todd What does this tell me about where panda installs things?
samcv everything unsafe?
timotimo nothing is locked for you by default
samcv OO::Monitors looks good. will check it out 22:50
timotimo most things won't crash your stuff, but you're not guaranteed to keep all data if you concurrently access things
Todd panda --force --notests install . did the trick. I had to use both --force and --notests
timotimo m: my @foo; start { loop { @foo.push: 1 } }; start { loop { @foo.push: 1 } }; sleep 10
camelia rakudo-moar 62a7cf: OUTPUT«(signal ABRT)*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': double free or corruption (!prev): 0x00007ff5dc037b80 ***␤======= Backtrace: =========␤/lib64/libc.so.6(+0x727df)[0x7ff5e32a97df]␤/lib64/libc.so.6(+0x7804e)[0x7ff5e32af04e]␤/lib64/…»
timotimo samcv: a future change in moarvm will make this not crash, for example 22:51
samcv k 22:52
timotimo same thing happens with hashes
Todd Is placing perl6's modules back into the repo going to happen any time soon?
timotimo m: my %foo; start { for 1..* { %foo{"a$_"} = 1 } }; start { for 1..* { %foo{"b$_"} = 2 } }; sleep 10
camelia rakudo-moar 62a7cf: OUTPUT«(signal ABRT)*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': double free or corruption (!prev): 0x00007fd0e00853a0 ***␤======= Backtrace: =========␤/lib64/libc.so.6(+0x727df)[0x7fd0f238d7df]␤/lib64/libc.so.6(+0x7804e)[0x7fd0f239304e]␤/lib64/…»
timotimo this will also at some point become non-crashing i think. but i'm not sure
Todd: we have read your question. apparently nobody knows. 22:53
Todd Signing off. Thank you all! Saved my butt! 22:54
timotimo good luck!
Todd Now the ABSOLUTE FUN BEGINS! Now I have to figure out how to get pand on Windows 7 to install Net::FTP too. I got FOUR PAGES of errors! Wish there was a bunch of you guys over on the Windows side! 22:55
timotimo there's a few 22:57
jnthn, our best core developer, is on windows
Todd Where is a good place to go to get this kind of help for Windows?
timotimo so things tend to always work on windows
Todd Do I have to install gcc or somehting to get panda to work on windows? 22:58
timotimo i don't think you should go anywhere else. mailing list, irc, maybe the /r/perl6 subreddit, maybe stackoverflow.
shouldn't be necessary
only if you have modules that contain some c code
i don't think Net::FTP contains any code that needs to be compiled
Todd You guys mind it I try the cloen trick over on windows while you wait?
timotimo why not 23:00
oh
you'll need git on windows to use panda
maybe that's what's missing
i mean, not only do you need to have it, it also needs to work if you just run "git" 23:01
so it has to be in %PATH
23:02 TEttinger left 23:03 BenGoldberg left
Todd I already insalled Git-2.11.0.2-32-bit.exe 23:03
timotimo well, is panda able to find it? 23:05
23:05 dmaestro joined
timotimo are you ever going to show us what errors you get, or will you wait for our crystal ball users come online? 23:05
Todd just got a change to see 23:06
C:\NtUtil>perl6 .\Net.FTP.test.pl6 ===SORRY!=== Could not find Net::FTP in: C:\Users\Matt\.perl6\2016.01.1 C:\rakudo\share\perl6\site C:\rakudo\share\perl6\vendor C:\rakudo\share\perl6 CompUnit::Repository::AbsolutePath<12513112> CompUnit::Repository::NQP<12511056> CompUnit::Repository::Perl5<12509144>
C:\Drivers\Perl>cd Net-FTP-master C:\Drivers\Perl\Net-FTP-master>panda --notests --force install . resolve stage failed for .: Project . not found in the ecosystem. Maybe try "pan da update" first? in sub die at C:\rakudo\share\perl6\site\sources\9036849E1656E91211D00AB4530B8 1D29A7D6E82 line 217 in method resolve at C:\rakudo\share\perl6\site\sources\9036849E1656E91211D00A B4530B81D29A7D6E82 line 220 in sub MAIN at C:\rakudo\share 23:07
timotimo why does it think . is supposed to be a module name? 23:08
maybe try ./ instead of .
Todd as soon an "panda update" finishes
./ give me the same error 23:09
timotimo or .\
it's windows afte rall
Todd oh poop. hold one. I have egg on my face. Need to wipe it away first 23:10
timotimo but eggs are python packages, not perl
Todd The stupid dezipper gave me two driectories "C:\Drivers\Perl\Net-FTP-master\Net-FTP-master>" I was in the first. Moving to the second it worked 23:11
timotimo that's clever
Todd Egg on the face is more fun when it happens to someone else!
timotimo well, better than accidentally vomiting files all over the CWD 23:12
which happens regularly to me ever since i didn't install dtrx on my new machines
23:12 ChoHag left
Todd and my simple pl6 program to test the module's installation worked. Love you guys! 23:13
Thank you! I will sign off shortly
timotimo good luck with your rotation script
23:14 cdg_ joined
Todd Thank you. Thought of another question. Can I purloin the module I created in windows to use on other (32bit) Windows machines. Or do I need to do this for every machine? 23:15
geekosaur probably need to do it on every machine. the precomp stuff is ... touchy 23:16
23:16 cdg left
Todd oh well. for now the other machines are 64 bit'ers 23:17
geekosaur also I'd suggest filing a bug against Net::FTP because it *really* should not be requiring outside connectivity for its module tests
Todd Thank you guys again! You are real butt savers.
geekosaur especially for the FTP protocol, which is difficult and (rightly) restricted in many places
Todd Did that yesterday: github.com/araraloren/Net-FTP/issues/23 23:18
I am doing it to get around ransomware, which goes after drive letters 23:20
geekosaur hope you also record backups as diffs; would be bad if you overwrote your last-known-good with something encrypted by such an attack 23:21
Todd I keep several archives in rotation. I need this perl program to do the pruning as Cobian Backup can write to ftp but can not prune out driectories in rotation if the have anything complicated in their file names, such as "+++" which are foudn int Firefox's "storage" folder, etc. 23:24
23:24 BenGoldberg joined
timotimo it wouldn't surprise me if ransomware would at some point also scan the local 'net for FTP servers and similar things 23:24
23:25 lucasb joined
Todd For local drive backups, I use multiple hidden partitons which I wake up and rehide after the backup. Max I only get one partiton clobbered 23:25
timotimo fair enough, but i've heard of ransomware that sleeps and observes for a while before striking 23:26
Todd Oh they might, but they are looking for low hanging fruit. And when and if they ever decide to go after ftp attachments, I will program one use account for read only and one to write only. haHAHAHA!
Yes it does strike when backing up. That is while the multiple archives
hidden partitiona adn ftp have no drive letters 23:27
Thank you all again!!! i really am going this time. Bye Bye 23:30
lucasb bai 23:31
timotimo ohai lucasb 23:32
lucasb o/ :)
23:32 Todd left 23:35 labster left 23:37 inra joined 23:46 bjz left 23:47 BenGoldberg left 23:49 BenGoldberg joined 23:52 shadowpaste0 joined 23:55 Actualeyes left 23:59 brabo joined