»ö« 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:03
mcmillhj left
00:06
cpage_ left
00:14
mcmillhj joined
00:19
mcmillhj left,
alphah_ joined
00:21
asdfgh joined
|
|||
alphah_ | samcv: it worked for me, I merged the pull request. | 00:23 | |
haxmeister | hello perl6 | 00:29 | |
00:29
Cabanossi left
00:30
mcmillhj joined
00:31
Cabanossi joined
00:33
alphah_ left,
pierre_ joined
00:34
mcmillhj left
00:36
dct left
00:39
mr-fooba_ left
00:41
cdg left
00:51
pierre_ left
|
|||
sammers | hello | 00:52 | |
01:01
BenGoldberg joined
|
|||
haxmeister | hello | 01:01 | |
how can I get line 35 to be concatenated onto line 34? pastebin.com/eZtqasPY | 01:11 | ||
01:12
pierre_ joined
01:14
Cabanossi left
01:16
Cabanossi joined,
MIKE998 joined
|
|||
MIKE998 | Ahoy! | 01:17 | |
What's the good tutorial for sub MAIN? | |||
haxmeister | finding good tutorials has been a struggle for me..lol | ||
MIKE998 | *crickets* | 01:19 | |
Perl is dead, eh? | |||
haxmeister | nope | ||
I'm loving this shit | |||
but they are more talkative about 4hrs prior to now | 01:20 | ||
01:22
asdfgh left
01:29
labster left
01:33
BenGoldberg is now known as ObiWanGoldberg
01:37
poohman joined
01:38
labster joined
|
|||
MasterDuke_ | MIKE998: a lot of people have come here from perl6intro.com/, have you looked at it yet? | 01:39 | |
01:41
poohman_ left,
ggoebel_ left
|
|||
MIKE998 | MasterDuke_: don't see MAIN in there | 01:43 | |
MasterDuke_ | i see one or two mentions here learnxinyminutes.com/docs/perl6/, but i'm not aware of anything that goes into great depth on MAIN | 01:45 | |
01:45
ilbot3 left
|
|||
MIKE998 | I'm almost positive I saw a post about it. Maybe on learningperl6.org but I don't see it there now | 01:47 | |
.com | 01:48 | ||
01:48
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
MasterDuke_ | MIKE998: here's something linuxtot.com/parsing-command-line-a...in-perl-6/ | 01:50 | |
MIKE998 | Yey! | 01:51 | |
MasterDuke_++ thanks | |||
MasterDuke_ | np | 01:52 | |
01:53
raschipi joined,
Actualeyes joined
|
|||
MIKE998 | I'm gonna learn all the stuff now! | 01:53 | |
01:53
MIKE998 left
|
|||
colomon | The article is a little sloppy and incomplete, but does seem to have the basics pretty well. | 01:54 | |
For instance, he left out that the Perl 6 script is run like normal BEFORE calling MAIN. So if you have code which isn’t encapsulated in a sub or whatever, that will be executed just like MAIN wasn’t there. Then once that is done, MAIN is called. | 01:56 | ||
raschipi | Yep, MAIN at the end. | 01:57 | |
colomon | and MAIN can be a multi sub | ||
colomon wonders what other tricks he’s forgetting | 01:58 | ||
raschipi | m: say 'a'; sub MAIN { say 'b' }; say 'c'; | ||
camelia | a c b |
||
01:59
Cabanossi left,
cpage_ joined
|
|||
colomon | there’s a way to specify alternate spellings of options, but it always seemed really fiddly to me | 02:00 | |
02:01
Cabanossi joined
|
|||
colomon | (like -v versus —verbose) | 02:01 | |
raschipi | At that point, I think it's better to get getopt out. | 02:02 | |
haxmeister | \o/ | 02:03 | |
made my first simple class and object in perl6 today :-D | |||
colomon | haxmeister++ | 02:04 | |
MasterDuke_ | colomon: you mean for generic named arguments, like `sub ( :color(:colour($c)) ) { } `, or something specific to MAIN? | ||
colomon | MasterDuke_: that looks right to me? | 02:05 | |
MasterDuke_ | heh, i copied it from the docs | ||
colomon | I just got a headache every time I tried to do that, and eventurally I gave up. | ||
haxmeister | looks like greek to me.. and I did lisp and scheme fairly well a year go | 02:06 | |
so what is the difference between a module and a package? | 02:07 | ||
raschipi | m: sub f (:arg(:argu($c))) {say $c}; f(:arg('a')); f(:argu('b')) | ||
camelia | a b |
||
haxmeister | oh thank you thank you thank you for making that syntax possible | 02:09 | |
Foo::Bar::<$baz> | |||
haxmeister loves the little things | 02:10 | ||
raschipi | haxmeister: a module is one kind of package. | 02:11 | |
haxmeister | trudging through docs.perl6.org/language/packages | ||
02:16
tharkun left,
tharkun joined
|
|||
raschipi | haxmeister: I think that's has too much detail to start. | 02:18 | |
A package is something that says where a variable declared with 'our' will be created. | 02:19 | ||
'our' creates a variable in the current package. | 02:20 | ||
So, a package is one kind of namespace. | |||
haxmeister | I need to just make one.. maybe make one in a script I already have.. but even better, one in a separate file | 02:24 | |
but this page I'm reading doesn't tell me how.. it's just a reference page really | |||
raschipi | Other types of namespaces are the lexical scope, the dynamic scope and method resolution. | 02:25 | |
You want to make a module? | 02:26 | ||
haxmeister: Here's a tool that automates it for you: github.com/gfldex/perl6-meta6-bin | 02:29 | ||
02:33
mr-foobar joined
|
|||
haxmeister | sorry raschipi I need to hand code one so it will stick | 02:47 | |
raschipi | Have you seen docs.perl6.org/language/modules.html ? | 02:50 | |
haxmeister | can't get the page up.. I guess my router is glitching or something | 02:57 | |
but I can get this one: perl6intro.com/#_perl_6_modules | 03:01 | ||
only thing is I can't use zef | 03:02 | ||
well that was a let down | 03:04 | ||
we need more tuts guys | |||
raschipi | That one is about using them, not what you want. | ||
haxmeister | yeah | ||
I can't get that page you linked | 03:05 | ||
in fact docs.perl6.org is down | |||
ah man.. I only got an hour left tops | 03:06 | ||
perl6.org is down completely | 03:08 | ||
03:11
zengargoyle left
03:14
zengargoyle joined
03:15
zengargoyle left
|
|||
haxmeister | perl6maven.com is up though | 03:16 | |
raschipi | Works for me. | ||
haxmeister | still no bones | 03:18 | |
modules section at perl6maven is incomplete | 03:19 | ||
03:20
khw left
03:28
Cabanossi left
03:29
aborazmeh joined,
aborazmeh left,
aborazmeh joined
03:30
Cabanossi joined
03:34
Actualeyes left
03:35
TreyHarris left,
ObiWanGoldberg is now known as BenGoldberg,
mcsnolte left,
xtreak joined
03:40
AlexDaniel joined
03:44
TreyHarris joined
|
|||
skids forgets if there is a single-item ".map" method, like .first for .grep | 03:46 | ||
03:55
AlexDaniel left
|
|||
TreyHarris | skids: map in lazy context should work fine: | 03:56 | |
m: my $counter = 0; my @f = 1..20; say (@f.map({$counter++; $_ * 2})).min; say $counter; $counter = 0; say (@f.map({$counter++; $_ * 2}))[0]; say $counter | |||
camelia | 2 20 2 1 |
||
TreyHarris | skids: that's what you need, right? | 03:57 | |
skids | I'm wondering if there's a way to not involve a Seq when I need to append generated code the the end of a value to process it. | 03:59 | |
TreyHarris | skids: example? first involves a Seq too | 04:00 | |
skids | so "chunk of code" ~ '.map({' ~ $other_chunk_of_code ~ '})' is what I'm using, but I really just want to call the second chunk of code. | 04:01 | |
Ah. | 04:02 | ||
m: 4.&{$_ + 1}.say | |||
camelia | 5 | ||
skids | That does it. | ||
TreyHarris | skids: oh, on a scalar. I thought, like first, you meant on a sequence of some sort. | 04:03 | |
m: {$_ + 1}(4).say | 04:04 | ||
camelia | 5 | ||
TreyHarris | skids: ^^ nicer syntax I think. | ||
skids | Right but I can only append. | 04:05 | |
TreyHarris | though if it's in a chain it might not be possible | ||
skids | Which was the problem. | ||
TreyHarris | oh, literally append generated code, like... eval'ing? | ||
not even Callables? | |||
skids | Yeah, generating Perl6 code. Eventually I'll refactor the crap and eliminate that. | 04:06 | |
TreyHarris | oh. then yeah. I assumed you meant "append" in a hand-wavy AST sort of manner. | ||
sorry | |||
I would've given you .&{} right off the bat in that case | 04:07 | ||
there is a slightly conciser way with whatever though: | |||
m: 4.&(* + 1).say | 04:08 | ||
camelia | 5 | ||
TreyHarris | (parens, not braces, because it's a Whatever) | ||
skids: follow? | |||
skids | Yeah the code could get complex enough to bury the ownership of the Whatever star. | ||
TreyHarris | docs.perl6.org is down for me | 04:12 | |
skids | here too | ||
TreyHarris | I'd argue that if star is confusing, you should probably skip $_ and just use named placeholders to give you even better control and debuggability. | 04:13 | |
(Not knowing your use case, but imagining it, I mean. Like if you have an iterator of some sort you could use ($^it-1x, $^it-1y), ($^it-2x, $^it-2y), etc. | 04:14 | ||
04:15
BenGoldberg left
|
|||
TreyHarris | erm.... $^it1-x, etc. I meant. You can't have a \d to the right of a hyphen in an identifier. | 04:15 | |
04:16
xtreak left
04:17
raschipi left
|
|||
TreyHarris | (er, actually, you *can*, but if you do, you take the risk of arithmetic rules taking precedence and seeing a subtraction, so I think itt's best to just pretend you can't.) | 04:19 | |
skids | Never been much of a fan of the hyphenization trend. Especially for allcaps. | 04:20 | |
Anway, placeholders do offer some deconfliction beyond $_, but it's a margnal gain compared to how easy it is to confuse *. | 04:21 | ||
TreyHarris | skids: if you're writing a translator, style is te change underscores to hyphens, because underscores are supposed to indicate "beware, this may be somewhat magical" | ||
s/change/change Perl 5/ | 04:22 | ||
skids | Yeah I know. It's something I more tolerate about Perl6 than like, though. | ||
TreyHarris | not saying you have to follow that. just be aware that connotation is out there. | 04:23 | |
Perl 6 identifiers are actually subject to precedence-busting in quite a few edge cases, particularly if you play with sigilless variables or with quoting constructs. | 04:24 | ||
m: my $isn't = False; say "It is $isn't." | 04:25 | ||
camelia | It is False. | ||
TreyHarris | m: my $isn't = False; say q'It is $isn't.' | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in single quotes; couldn't find final "'" at <tmp>:1 ------> 3my $isn't = False; say q'It is $isn't.'7⏏5<EOL> expecting any of: dotty method or postfix… |
||
TreyHarris | m: my $isn't = False; say q'It is {$isn't}.' | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in single quotes; couldn't find final "'" at <tmp>:1 ------> 3y $isn't = False; say q'It is {$isn't}.'7⏏5<EOL> expecting any of: dotty method or postfi… |
||
skids recalls something with grammar rule names not liking them. | |||
TreyHarris | (I'm not actually sure there's any way to use an apostrophe-containing identifier inside a single-quoted interpolating construct.) | 04:26 | |
skids | Oh maye it was ` | ||
erm ' | |||
TreyHarris | grammar rules not liking "them" == "identifiers with non alphaunderscorenumerics"? | 04:27 | |
04:27
Cabanossi left
|
|||
TreyHarris | I haven't seen that | 04:27 | |
skids | may be fixed. | 04:28 | |
I remember working around it in Grammar::ABNF. Maybe should go un-work-around it. | 04:29 | ||
TreyHarris | it's just that quoting and arithmetic operators--which can cause ambiguity with identifiers--are higher in precedence. | ||
04:30
Cabanossi joined
04:31
jdv79 left,
jdv79 joined
|
|||
TreyHarris | I've learned a lot by running perl6 --target=ast. | 04:32 | |
skids | Hrm maybe Grammar::ABNF wasn't where I ran into that. Just confusing with a similar problem. | 04:33 | |
04:33
alphah_ joined
|
|||
TreyHarris chuckles | 04:34 | ||
Guido would be very, very unhappy with this lexical ambiguity business :-) | |||
04:34
Actualeyes joined
|
|||
skids | Obviously need to go to bed. Just spent 5 minutes figuring out I had a test file with plan 63 and no tests, that actually had no tests, and wasn't crashing silently before running them. | 04:35 | |
TreyHarris | skids: nighty night | ||
04:35
skids left,
curan joined
04:38
lookatme joined
|
|||
samcv | o/ all | 04:40 | |
lookatme | o/ | 04:44 | |
04:44
pat_js left
|
|||
samcv | hey lookatme | 04:45 | |
how is your grammar going? | |||
TreyHarris looks at samcv | |||
samcv | hehe | 04:46 | |
04:47
mniip joined
04:49
sjn joined
|
|||
TreyHarris | what is the 'xt' test dir for? | 04:51 | |
samcv | xt? | 04:53 | |
TreyHarris | oh, author tests. | ||
samcv | design.perl6.org/S22.html site is down | 04:56 | |
xt folder isn't in the design specs | 04:57 | ||
sammers | I think modules.perl6.org is down... | 04:59 | |
04:59
Cabanossi left
|
|||
samcv | everybody panic! | 05:00 | |
samcv runs around screaming | |||
05:00
Cabanossi joined
05:07
aborazmeh left
|
|||
TreyHarris | *.perl6.org has been sporadic for a few hours now. | 05:08 | |
ugexe | TreyHarris: i dont understand the second half of your issue | 05:09 | |
TreyHarris | ugexe: what issue? | ||
ugexe | zef | 05:10 | |
TreyHarris | oh, with zef? Probably an editing issue, as I only had one. Let me look | ||
ugexe | you were talking about a url library, and the -u flag defaulting to true | ||
TreyHarris | oh... `homebrew browse` opens the browser onto the URL. `homebrew browse -u` just prints the URL the browse would have been opened to | ||
I don't see a portable browser-opening lib in ecosystem, so I was suggesting to default to the -u behavior for now. | 05:11 | ||
ugexe | oh not open source, now i understand | ||
TreyHarris | ah-hah. yes. I'll edit. | 05:12 | |
done. | |||
ugexe | the long way is `zef info zef|grep bugtracker` | 05:13 | |
05:14
itsame joined
|
|||
TreyHarris | are the synopses on GitHub, since design.perl6.org is down? | 05:16 | |
I thought they were in doc, but apparently not | 05:17 | ||
ah. "specs" | 05:18 | ||
05:18
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
TreyHarris | ugexe: oh, interesting. S22 doesn't provide a homepage attribute (I thought I saw one), just source and bugtracker, both of which can be used to derive a GitHub homepage, but won't work if there's a dedicated project domain. Is that intentional? | 05:20 | |
05:21
wamba joined
|
|||
ugexe | "possible" names are: ... | 05:21 | |
its just listing things that make sense | 05:22 | ||
TreyHarris | ugexe: oh, I see. I read that like "possible states of an electrical charge are positive and negative" | 05:23 | |
i.e., things not listed there are not possile | |||
ugexe | yeah, thats probably what it meant, but im saying theres a loophole | ||
realistically there is no reason for support to be defined in s22 | 05:24 | ||
05:24
pierre_ left
|
|||
ugexe | other than as a suggestion | 05:25 | |
TreyHarris | since many/most projects won't fill-in "phone", I think it's understood as not being a list of required fields. but it does read as an exhaustive list of fields to me. I'd say either add a "project homepage", or explicitly specify, "s/possible names are/possible names may include/" | 05:27 | |
05:27
Cabanossi left
|
|||
TreyHarris | and since I think homepage, like source, are likely to be programmatically useful (as I've given an example), I'd prefer it be specified. | 05:28 | |
but it needn't be mandatory any more than phone. | |||
05:29
Resol joined
05:30
Cabanossi joined
|
|||
ugexe | not just phone! A fully qualified phone number (with potential cost indication) | 05:31 | |
TreyHarris | :-) | ||
samcv | TreyHarris, what's the windows api? | 05:35 | |
on linux it's xdg-open or whatever | |||
not sure on mac | |||
TreyHarris | samcv: dunno. on mac it's just "open". you can type a URL into Run: and it opens a browser, so it may just be cmd.exe, but I'd have to test and my Win machine's currently updating | 05:36 | |
if I have a class Foo { has Tup2 $.x... } where Tup2 is a 2-ple, can I do "handles" so that .fst delegates to $!x[0] and .snd delegates to $![1], or do I need explicit methods for that? | 05:39 | ||
ugexe | powershell -Command Start-Process google.com | 05:40 | |
05:41
anton_p joined
05:42
lowbro joined,
lowbro left,
lowbro joined
|
|||
lookatme | samcv, oh, fine. Current I make a terminal table module, it will be available soon . | 05:42 | |
samcv | ok :) | ||
lookatme | I took a afternoon nap just now . | 05:47 | |
TreyHarris | Ah, in this case, I can do handles <fst first> and handles <snd tail> because there are unary methods for the first and last elements of a tuple, but what if it were a 3-tuple and I wanted <fst snd thd>? | ||
05:51
poohman_ joined
|
|||
TreyHarris | did y'all just get a rash of racist privmsgs, too? | 05:54 | |
05:54
poohman left
05:55
poohman joined
05:58
domidumont joined,
poohman_ left
|
|||
TreyHarris | okay, time for bed. & | 06:00 | |
lookatme | :) | 06:02 | |
06:03
domidumont left
06:04
domidumont joined
06:13
aborazmeh left
06:14
pierre_ joined,
Cabanossi left
06:17
Cabanossi joined
06:18
itsame left,
domidumont left
06:20
domidumont joined
06:29
xtreak joined
06:35
lookatme left
06:36
darutoko joined
06:41
dct joined
|
|||
moritz | just seen on twitter: "I hate fractals. They are so full of themselves." :-) | 06:41 | |
06:58
lookatme joined
07:04
poohman left,
poohman joined
07:10
robertle left
07:21
wamba left
07:24
curan left
07:26
mr-foobar left
07:30
Cabanossi left
07:32
Cabanossi joined
|
|||
Geth | perl6.org: 5026b1922c | (Steve Mynott)++ | source/downloads/index.html How to build 2017.04 R* on Raspbian |
07:32 | |
07:38
pierre_ left
|
|||
moritz | FYI I've rebooted www.p6c.org (which also runs perl6.org) because it hung up during the night | 07:42 | |
07:45
pierre_ joined
07:51
g4 joined,
g4 left,
g4 joined
07:56
tokomer joined,
tokomer left
07:59
Cabanossi left
08:00
mr-foobar joined
08:01
Cabanossi joined
08:05
parv joined
08:06
wamba joined
08:08
zakharyas joined
|
|||
samcv | cool | 08:11 | |
08:29
rindolf joined,
Cabanossi left
08:31
Cabanossi joined
08:37
robertle joined
08:44
cgfbee joined
08:56
TEttinger left
08:58
lizmat left
09:14
Cabanossi left
09:16
Cabanossi joined
09:18
xtreak left
09:21
abraxxa joined
09:22
pmurias joined
09:24
bjz joined
09:25
labster left,
bjz left
09:27
bjz joined
09:29
zakharyas left
09:30
xtreak joined
09:36
lookatme left,
mr-foobar left
09:44
zakharyas joined
09:45
lowbro left
09:48
parv left
10:01
moray` joined,
moray` left
10:11
mr-foobar joined
10:13
MorayJ joined
10:15
Cabanossi left
10:16
Cabanossi joined,
anton_p left,
anton_p joined
10:33
xtreak left,
xtreak joined
10:34
lowbro joined,
lowbro left,
lowbro joined
|
|||
Geth | whateverable: 0ff5de677d | (Aleks-Daniel Jakimenko-Aleksejev)++ | Evalable.p6 Don't search for camelia if no space after m: Camelia does not answer on “m:say 42” anyway, no need to check if camelia is present. |
10:35 | |
whateverable: 31bc4c8515 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Evalable.p6 Detect messages starting with “say” and answer sometimes This change has been there for a while, I simply forgot to commit it. It seems that there was at least one time it answered unnecessarily, so perhaps the regex can be improved. But generally, the idea is really nice. If it becomes annoyng for some reason, I can always make the regex more strict. |
|||
10:36
AlexDaniel joined
10:37
pierre_ left
10:49
dogbert11 joined,
pmurias left
10:51
dogbert17_ left
10:57
pmurias joined
10:58
abraxxa left
11:00
sena_kun joined
11:01
geekosaur left
11:02
geekosaur joined
11:06
geekosaur left
11:09
geekosaur joined
11:21
bjz left
11:23
wigner joined
11:26
bjz joined
11:30
Cabanossi left
11:32
Cabanossi joined
11:33
AlexDaniel left,
ggoebel joined
11:34
wamba left
11:36
poohman_ joined
11:37
poohman left
|
|||
masak | harsh lesson of the day: do not expect Perl 5 subs to take a lexical closure of a surrounding while loop iteration... :/ | 11:50 | |
the little things you start taking for granted... | |||
(hi, #perl6) | |||
timotimo | hi masak | ||
masak | $ perl -Mstrict -wE'my $c = 2; while ($c) { my $d = $c--; sub foo { say $d }; foo() }' | 11:52 | |
2 | |||
there we have it, exhibited | |||
m: my $c = 2; while $c { my $d = $c--; sub foo { say $d }; foo() } | 11:53 | ||
camelia | 2 1 |
||
masak sobs happily | |||
jnthn | masak: What if you put an explicit my on the sub? | 11:58 | |
12:00
Cabanossi left
12:02
Cabanossi joined
|
|||
Juerd | 1;0 juerd@cxien:~$ perl -Mexperimental=lexical_subs -Mstrict -wE'my $c = 2; while ($c) { my $d = $c--; my sub foo { say $d }; foo() }' | 12:02 | |
2 | |||
1 | |||
12:03
xtreak left
|
|||
Juerd | I'm amazed there's no warning for putting a non-lexical sub in a while loop | 12:03 | |
12:03
xtreak joined
12:04
xtreak left,
xtreak joined
|
|||
moritz | I'm sure somebody on p5p suggested doing that, and somebody else cited a semi-valid use case that prevented the warning from getting in | 12:05 | |
12:08
bjz_ joined
12:09
bjz left
12:10
Actualeyes left
12:13
Actualeyes joined
|
|||
masak | jnthn: that would work from 5.18 and onwards, but the code I'm writing (for reasons outside of my control) needs to be 5.14-compatible. | 12:14 | |
timotimo | hah, ouch | ||
jnthn | masak: Ah, fair enough | ||
timotimo | 5.14 isn't ridiculously old, is it? | ||
12:15
Actualeyes left
|
|||
colomon | 2011 | 12:22 | |
12:22
cpage_ left
|
|||
timotimo | not that bad | 12:26 | |
12:29
pmurias left
12:30
pmurias joined
12:31
Sound joined,
Sound left,
Sound joined
12:32
pat_js joined
12:37
itsame joined
12:38
wamba joined,
bjz_ left
12:40
bjz joined
12:51
wamba left
12:53
darutoko- joined
12:54
perlpilot_ joined,
imcsk8_ joined
12:55
aindilis` joined
12:56
wamba joined,
mcmillhj joined
12:57
itaylor57_ joined
12:58
nowan joined
13:00
eviltwin_b joined,
wamba left
13:01
mniip_ joined
13:02
poohman_ left,
ggoebel left,
geekosaur left,
sena_kun left,
rindolf left,
g4 left,
dct left,
darutoko left,
mniip left,
TreyHarris left,
stmuk left,
aindilis left,
imcsk8 left,
perlpilot left,
itaylor57 left,
hoelzro left,
nowan_ left,
eviltwin_b is now known as geekosaur,
cpage_ joined
13:09
sena_kun joined,
dct joined,
g4 joined
13:10
ggoebel joined,
TreyHarris joined
13:11
perlpilot_ is now known as perlpilot
13:14
grumble is now known as 14WAA001L
|
|||
nine | LOL I just discovered that there's an actual /usr/bin/[ command | 13:14 | |
13:14
stmuk joined,
hoelzro joined
|
|||
Juerd | Syntactic sugar is bad for you :) | 13:15 | |
13:16
14WAA001L is now known as grumble
|
|||
nine | Btw. from the backlog. The actual Perl 5ish way is: nine@sphinx:~> perl -Mstrict -wE'my $c = 2; while ($c) { my $d = $c--; my $foo = sub { say $d }; $foo->() }' | 13:16 | |
2 | |||
1 | |||
13:26
stmuk left,
hoelzro left,
hoelzro joined,
stmuk joined
13:31
pmurias left
13:32
pmurias joined
13:33
itsame left
13:34
itsame joined
13:35
bjz left
|
|||
Juerd | nine: Or "use experimental qw(lexical_subs);" :) | 13:37 | |
13:38
skids joined,
pierre_ joined
13:43
pierre_ left
13:45
itsame left
14:02
rindolf joined
14:11
xtreak left
14:18
wamba joined
14:19
sena_kun left
14:25
mcmillhj left,
mcmillhj joined
14:26
lowbro left
|
|||
ugexe | timotimo: didn't you disable telemeh by default? rakudo appveyor tests have kept failing with telemeh | 14:29 | |
timotimo | i did, yes | 14:34 | |
i don't think rakudo appveyor pulls in moar-HEAD | 14:35 | ||
samcv | src\profiler\telemeh.c(23) : warning C4391: 'unsigned int __rdtscp(unsigned int *)' : incorrect return type for intrinsic function, expected 'unsigned __int64' | 14:36 | |
hmm | |||
intrisic function cannot be defined it says | 14:37 | ||
timotimo | i think i fixed that | ||
samcv | after that | ||
msdn.microsoft.com/en-us/library/s85a3w4b.aspx | |||
ah | |||
timotimo, can you get jnthn to enable appveyor for moarvm? | 14:39 | ||
timotimo | do you know how we could put it under moarvm/moarvm on appveyor? | ||
rather than timo/moarvm or samcv/moarvm? | |||
samcv | i do not | ||
but any appveyor better than none | |||
14:41
alphah_ left,
araraloren joined
14:43
cpage_ left
14:45
cpage_ joined
|
|||
Ulti | so if I wanted to read a file line by line what's the way thats going to be the best P6 can pull off right now? | 14:52 | |
perf wise | |||
jnthn | Ulti: Quite possibly the obvious one (for $fh.lines { }) | 14:53 | |
Ulti: In so far as it's been optimized a bunch | |||
Ulti | okedoke, currently comparing that to the P5 near equivalent while($line = <$fh>) {} | ||
so far its not the best story | 14:54 | ||
jnthn | You may find doing a while loop that calls .get is faster, but it might equally be slower because lines can avoid various checks | ||
14:54
cpage_ left
|
|||
Ulti | yeah thats what I was wondering is it the iteration and the overhead of all the fancy nice things in P6 that is slow vs the raw IO | 14:54 | |
guess I can profile this :S | 14:55 | ||
timotimo | you should also try if slurp + lines is any faster | ||
Ulti | this is a 9GB SQL file | ||
jnthn | Also, decoding/NFG ain't free | ||
timotimo | oh, not slurp, then :) | ||
Ulti | yeah exactly this is more an actual real world test | ||
because Im noticing most things are fast enough but whenever I hit files of an order I work on from minute to minute its just not really possible yet | 14:56 | ||
jnthn: yeah maybe buf would be better | |||
so like a binary version of lines | |||
.records | |||
jnthn | Well, you can :env<ascii> on opening if you know that's what you have | ||
Ulti | *shrug* | ||
jnthn | uh, enc | ||
or latin-1 | |||
Ulti | I have bytes jnthn :3 | ||
its obviously bytes I can see them | 14:57 | ||
but yeah most SQL dumps are about a million encodings at once in my experience | |||
jnthn | hah :) | ||
timotimo | if you go with :enc<latin1> you'll get almost what you had as bytes, but we do turn \r\n into a single grapheme | 14:58 | |
Ulti | P5 0m28.867s vs P6 7m16.588s | ||
I'll go with the encoding specified | 14:59 | ||
14x isnt the worst | |||
given this is on the bigger end of the scale | 15:00 | ||
it was defo like an order of magnitude or more worse a couple of years ago | |||
MasterDuke_ | i just ran another perf record of `for $fh.lines {}' on a 1m line file, 20% in MVM_string_utf8_decodestream, 11% in find_separator.isra.6 | 15:01 | |
Ulti | I mean thats 14x on Perl 5 which has super optimal IO | 15:02 | |
MasterDuke_ | if i do `for $fh.lines(:enc<latin1>) {}' it's 15% in find_separator.isra.6 and 11% in MVM_string_latin1_decodestream | 15:04 | |
Ulti | 4m53.429s with latin1 set | 15:06 | |
15:09
g4 left
15:11
lichtkind joined
|
|||
lichtkind | m: 10 % -3 | 15:13 | |
camelia | WARNINGS for <tmp>: Useless use of "%" in expression "10 % -" in sink context (line 1) |
||
lichtkind | m: say 10 % -3 | ||
camelia | -2 | ||
lichtkind | why? | ||
15:13
khw joined
|
|||
lichtkind | cheers khw | 15:13 | |
why has perl 6 sam modulo bug as in perl 5? | 15:14 | ||
cosimo | -win 18 | ||
15:15
Cabanossi left
|
|||
timotimo | lichtkind: and python | 15:15 | |
lichtkind | this shouldnt be an argument :) | ||
perl 5 took the shitty oo from python 2 and regretted it since too | 15:16 | ||
timotimo | i didn't know they did that | ||
lichtkind | in old interview larry said at least so | ||
not sure it was a pun | |||
timotimo | OK | ||
lichtkind | so i have to define my own? | 15:17 | |
15:17
Cabanossi joined
|
|||
lichtkind | if i understeand you correctly it was very intentional? | 15:18 | |
15:18
Zoffix joined
|
|||
lichtkind | even mathematically wrong | 15:18 | |
Zoffix | lichtkind: it's not a bug. There's more than one right answer and many langs do different things | 15:19 | |
araraloren | Yeah, it not only one answer | ||
lichtkind | it long socks style of math | ||
its | |||
Zoffix points to the table on the right on en.wikipedia.org/wiki/Modulo_opera..._operation | 15:20 | ||
haxmeister | I always loved perl5.. it was my first love.. perl6 is a step above all other interpreted languages.. very good work guys | 15:21 | |
timotimo | lichtkind: i think you mean "longstocking" | 15:22 | |
lichtkind | we all love perl, except when we dont :) | ||
timotimo you got it | |||
Zoffix | haxmeister: not sure if you got an answer but: you can do it as `say "Surface footage at 12224 RPM = {$mill.calc-sfm :rpm(12224)}";` or `say "Surface footage at 12224 RPM = $mill.calc-sfm(:rpm(12224))"` or `say "Surface footage at 12224 RPM = $mill.calc-sfm(:12224rpm)";` | 15:23 | |
TIL $o.meth :named(arg) is valid syntax :D | |||
s/:D/:S/; | |||
timotimo | of course it is ;( | 15:24 | |
because we don't want to force commas between colonpair named arguments | |||
haxmeister | yes Zoffix I figured it out shortly after asking.. but I managed it like this: say "Surface footage at 12224 RPM = " ~ ($mill.calc-sfm :rpm(12224)); | ||
Zoffix | I always wrote $o.meth: :foo(42) | ||
timotimo | oh, does that actually attach the named argument to the method call? | ||
Zoffix | timotimo: but I meant there's no () or : after the method. | ||
timotimo | i'm afraid you might fall on your nose in some circumstances | 15:25 | |
Zoffix | m: class Foo { meth (:$bar) { dd $bar } }.meth :42bar | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$bar' is not declared at <tmp>:1 ------> 3class Foo { meth (:7⏏5$bar) { dd $bar } }.meth :42bar |
||
Zoffix | wat | ||
timotimo | "meth" :) | ||
Zoffix | ah | ||
haxmeister | thank you for an answer though, I do have irssi running in screen from a server and I am able to see messages from when I was away | ||
Zoffix | m: class Foo { method meth (:$bar) { dd $bar } }.meth :42bar | ||
camelia | Int $bar = 42 | ||
Zoffix | m: class Foo { method meth (:$bar, :$meow) { dd [ $bar, $meow ] } }.meth :42bar :72meow | ||
camelia | [42, 72] | ||
Zoffix | meat | ||
timotimo | m: class Foo { method meth (:$bar) { dd $bar } }; say Foo.meth :42bar, Foo.meth :99bar | 15:26 | |
camelia | Int $bar = 42 Int $bar = 99 Unexpected named argument 'bar' passed in block <unit> at <tmp> line 1 |
||
Zoffix | *neat | ||
It went into `say` | |||
timotimo | okay that's just a bug | ||
no, it went into Foo.meth *and* into `say` | |||
Zoffix | m: class Foo { method meth (:$bar) { dd $bar } }; say Foo.meth: :42bar, Foo.meth: :99bar | ||
camelia | Int $bar = 99 Too many positionals passed; expected 1 argument but got 2 in method meth at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
jnthn | And in today's edition of "surprising upshots of adverbs being parsed as infixes and then we lie about it"... :) | ||
Zoffix | m: class Foo { method meth (:$bar) { dd $bar } }; say Foo.meth(:42bar), Foo.meth: :99bar | ||
camelia | Int $bar = 42 Int $bar = 99 NilNil |
||
Zoffix | :) | 15:27 | |
Ulti: what P6 version are you on? | 15:29 | ||
Ulti | Rakudo version 2017.04.3-172-gf2af3db16 built on MoarVM version 2017.04-56-g8ad18b84 so HEAD or close to it | 15:31 | |
Zoffix | ok; that'll have all the recent IO perf improvements :/ | 15:32 | |
Ulti | :/ | ||
I mean there will have been a lot of memory pressure given my laptop is complete cack at work for everything I have to do | 15:33 | ||
but its still like for like with respect to P5 | |||
Zoffix | P6 IO::Path.lines with a for loop is 25x slower than P5 while (readline) on my box... | 15:34 | |
Zoffix tries bare nqp | |||
Basically just 8x slower | 15:40 | ||
For a 5-meg file. `time perl6 -e 'use nqp; my $fh := nqp::open("foo", "r"); nqp::while(($_ := nqp::readlinechompfh($fh)), nqp::null)` vs `time perl -wlE 'open my $fh, "<", "foo"; while (<$fh>) {}'` | |||
jnthn | Zoffix: And if you get Perl 5 to do utf-8 decoding too? | 15:42 | |
araraloren | perl6 25x slower, nqp 8x slower . | 15:43 | |
Zoffix | Oh right. | 15:44 | |
jnthn: then bare-nqp version is 4.4x slower than perl -wlE 'open my $fh, "<:encoding(UTF-8)", "foo"; while (<$fh>) {}' | 15:45 | ||
Pretty good! | |||
15:46
domidumont left
|
|||
jnthn | Some room for improvement still, though. :-) | 15:46 | |
15:46
robertle left
|
|||
Zoffix | And perl6-only version is 13x slower | 15:46 | |
timotimo | that's almost 2x faster than the 25x slower version | 15:47 | |
15:47
lowbro joined,
lowbro left,
lowbro joined
|
|||
Zoffix | timotimo: well yeah, perl5 with unicode decoding is like 2x slower | 15:48 | |
timotimo | the thing is that even when we do latin1 decoding, we'll generate synthetic graphemes for \n and \r\n (and maybe also \r?) | ||
Zoffix | And actually if you go to IO::Handle.lines directly, it's only 9.25x slower | ||
timotimo | or ... only for \r\n? | ||
Zoffix | Which is weird :S | 15:49 | |
s: "foo".IO, 'lines', \() | |||
Right. no robot. But IIRC it's just delegates to IO::Handle | |||
Ah. It's IO::Handle.lines vs IO::Handle.lines(:close) | 15:50 | ||
My close-iterator sucks, I guess :| | |||
araraloren | Why Perl6 slower than nqp . The parser ? | ||
Zoffix | araraloren: it does more things | 15:51 | |
araraloren: you get a proper Seq + phasers + IO::Path + choosing mode etc etdc | |||
15:53
g0d355__ left
|
|||
araraloren | The gap is bigger than I thought | 15:54 | |
15:56
itaylor57_ left,
itaylor57 joined
|
|||
Zoffix | araraloren: there's still a ton of work to be done to make the gap smaller :) | 15:57 | |
araraloren | Em, thanks all the developer. | 15:58 | |
Perl 6 will be faster and more faster in the future. | 15:59 | ||
alphah | Hi, Is there difference between thiese two definitions for this token: | 16:01 | |
token star-core{ '-' <([ 'x86_64' | 'i386' ])> } | 16:02 | ||
and: | |||
16:02
zakharyas left
|
|||
alphah | roto token star-core { * } | 16:02 | |
proto token star-core { * } | |||
token star-core:sym<x86_64>{ '-' <(<sym>)> } | |||
token star-core:sym<i386>{ '-' <(<sym>)> } | |||
Zoffix | alphah: don't think so. Why? | 16:03 | |
alphah | any difference of any kind that can make first one match and second one thrwos NQPMu error, when parseed against '-x8_64' ? | ||
araraloren | no, I think | ||
Zoffix | alphah: what's your Perl 6 version? | ||
alphah | Zoffix: This is Rakudo version 2017.04.3-47-gf0414c468 built on MoarVM version 2017.04-44-gf0db8822 | 16:04 | |
implementing Perl 6.c. | |||
Zoffix | m: grammar { proto token star-core { * }; token star-core:sym<x86_64> { '-' <(<sym>)> }; token star-core:sym<i386> { '-' <(<sym>)> } }.parse: :rule<star-core>, '-x8_64' | ||
camelia | ( no output ) | ||
Zoffix | alphah: what's the NQP error? | ||
m: say grammar { proto token star-core { * }; token star-core:sym<x86_64> { '-' <(<sym>)> }; token star-core:sym<i386> { '-' <(<sym>)> } }.parse: :rule<star-core>, '-x8_64' | |||
camelia | Nil | 16:05 | |
alphah | No such method 'perl' for invocant of type 'NQPMu' | ||
in block <unit> at ./bin/galaxy.p6 line 7 | |||
so, without this commit, I get the NQPMu error: github.com/alphah77/galaxy/commit/...801486489b | 16:06 | ||
Zoffix | alphah: you don't have a 2017.03 or earlier rakudos laying around, by any chance. Do you? | ||
As in, does the bug happen there. | |||
alphah | I can install latest version, I think I reinstalled rakudo two weeks ago, here is the output of perl6 --version: | 16:07 | |
This is Rakudo version 2017.04.3-47-gf0414c468 built on MoarVM version 2017.04-44-gf0db8822 | |||
araraloren | So make a clean install will be solved ? | ||
ugexe | s/<(<sym>)>/<::(<sym>)>/ ? | ||
alphah | I'll do that right now and try,,, I will remove ~/.rakudobrew and install again,, is that sufficant? | 16:08 | |
Zoffix | alphah: no, I meant earlier rakudo. There's some work that went in a few days before the 2017.04 release that we later found had a bug with capture markers in grammars and.... you have capture markers in grammars | ||
timotimo | alphah: do you get a better error when you give perl6 --ll-exception? | ||
i.e. a traceback from the "no such method .perl" error? | |||
perlpilot notices that someone is a fan of <( and )> | 16:09 | ||
I don't think I've seen them used so much :) | |||
jnthn | I use them now and then | ||
Zoffix | ugexe: isn't that different? <(<sym>)> is <( <sym> )>, no? | ||
jnthn | They can save having to use a named capture in various cases | ||
Or capture at all | |||
Zoffix | alphah: with rakudobrew, you could do `rakudobrew build moar 2017.03` `rakudobrew switch moar-2017.03` and then you could still switch back to latest | 16:10 | |
perlpilot | yeah | ||
Zoffix fails to repro any perl on NQPMu on 2017.04.2-6-g894ba82 | 16:12 | ||
alphah: what was the other commit I saw you make, something about changing .ast method to .Str or something? Was that also to workaround some bug? | 16:13 | ||
alphah | timotimo: I got this error message when used --ll-exception: gist.github.com/alphah77/0266d18bb...94bd6e255a | ||
16:14
sena_kun joined
16:15
cpage_ joined
|
|||
alphah | Zoffix: That was the commit: replaced .ast by .Str: gist.github.com/alphah77/0266d18bb...94bd6e255a | 16:16 | |
Zoffix | alphah: well yeah, why did you replace it? | ||
araraloren | Would you mind share your code ? | 16:17 | |
16:17
mniip_ is now known as mniip
|
|||
Zoffix | alphah: anyway, rakudobrew 2017.03 rakudo. Use `rakudobrew switch` to switch between it and latest. Try your bugs with both. If they aren't present in 2017.03, report them, as that's very likely due to Uncurse Curse | 16:17 | |
16:17
Zoffix left
|
|||
araraloren | I want try it on my notebook . | 16:18 | |
alphah | I thought that the NQPMu error shows because is trying to access the token before it's made. so I just tried to remove .ast and use .Str,,,, I know not logical but it worked | ||
araraloren | I install Perl 6 from source . | ||
alphah | araraloren: here is the code github.com/alphah77/galaxy | 16:19 | |
araraloren | alphah, thank u | ||
alphah | you will need to run the program as bin/galaxy laws bin/laws rakudostar-0.7-x86_64 to produce the error | 16:20 | |
moritz | I seem to recall a tool that fat-packages a Perl 6 application into a Windows exe file. Possibly created by jnthn++ | ||
anyone got a link for me? | |||
jnthn | eco: installer | 16:21 | |
aww | |||
moritz: App::InstallerMaker::WiX on the ecosystem :) | |||
moritz | jnthn: thanks | 16:22 | |
jnthn | It doesn't quite do that, but it does make an MSI :) | ||
MasterDuke_ | buggable: eco installer | ||
buggable | MasterDuke_, Found 3 results: App::redpanda, Sparrowdo::Cpm, App::InstallerMaker::WiX. See modules.perl6.org/#q=installer | ||
alphah | trying rakudobrew build moar 2017.03 now | ||
moritz | and then samcv++ did some AppImage (iirc?) wizardry... is that usable? | ||
jnthn | I'm tempted to make a perl6-winimal "distro" using it that makes a mega simple installer that includes Perl 6, zef, and the debugger frontend or so :) | 16:23 | |
moritz | in case you can't tell, I'm trying to write a section for my book on how to deploy Perl 6 applications | ||
jnthn | Ah :-) | 16:24 | |
El_Che | moritz: you covered docker, I suppose | ||
jnthn | The installers that thing makes are super-minimal, but have been successfully used to deploy a Perl 6 app :-) | ||
timotimo | don't spend too many pages on docker, what if docker completely dies next year? :) | 16:25 | |
El_Che | timotimo: then you update the book and get $ again :) | ||
timotimo | haha | ||
jnthn | Given how widespread docker has become, not to mention containers in general, that's quite a bold prediction :-) | ||
El_Che | at the rate perl6 advances, docker seems to be the only sane way to deploy perl6 | 16:26 | |
araraloren | alphah, no error, in `This is Rakudo version 2017.04.3 built on MoarVM version 2017.04-44-gf0db882 | ||
`, installed from rakudo source | |||
jnthn today discovered that docker special-cases connecting to a registry on localhost to bypass SSL certificate verification... :S | |||
araraloren | The command what I tried `perl6 -Ilib ./bin/galaxy.p6 laws bin/laws rakudostar-0.7-x86_64` | 16:27 | |
alphah | araraloren: does the output has value "core => Str|x86_64" , or core => NQPMu ? | 16:29 | |
moritz | El_Che: re docker, yes | ||
araraloren | Yeah, it has | ||
alphah | Nice, Im installing this version then | ||
moritz wonders if he should mention moby | 16:30 | ||
araraloren | gist.github.com/araraloren/5598955...d7c71cd0f, alphah | ||
jnthn | moritz: yes, when I went source digging today I was like "wait, this isn't the official docker repo" and tried to go to it and was redirected straight back where I came from :P | ||
alphah | looks right. | ||
El_Che | moritz: as a anecdocte: I have a perl6 app in prod that run from a "global" perl6 install that I don't date to touch. The app will not run on recent perl6 versions :). It would be easy to migrate with docker (what I use elsewhere) | 16:31 | |
moritz: becasue I use perl6 packages, the image is created by jenkins in no time | |||
16:33
robertle joined
16:34
ChoHag joined
|
|||
araraloren | I agree! :) | 16:34 | |
16:41
ChoHag left
16:51
domidumont joined
16:54
setty1 joined
16:57
wigner left
|
|||
alphah | araraloren: would you mind trying again same command above but after checkout 802112596560c64876ea3bb44bd998ce65c52e1e, the reason is latest commit is working fine | 17:00 | |
araraloren | gist.github.com/araraloren/5598955...0d7c71cd0f | 17:05 | |
alphah, I updated output | |||
alphah | checked it, so it did not work:token did not match: core => NQPMu. and only change in this commit is definig the token as proto token {8} | 17:06 | |
s/8/*/ | |||
araraloren | I checked too | ||
It's also worked | 17:07 | ||
fine | |||
alphah | building moar 2017.03 and testing on this version... | ||
17:08
kurahaupo joined
|
|||
alphah | araraloren: it did not, compare the output of the two, you will se in first: gist.github.com/araraloren/5598955...tput-p6-L5 | 17:09 | |
second: gist.github.com/araraloren/5598955...tput-p6-L5 | |||
line 6 on both files. | 17:10 | ||
17:13
Sound left,
xtreak joined
|
|||
araraloren | Yeah, I see it, alphah :) | 17:16 | |
alphah | nice :) | 17:17 | |
also tried on moar 2017.03, still same issue. | |||
17:18
bonsaikitten left
|
|||
araraloren | Em, What about master branch ? | 17:18 | |
alphah | any docs to install it? I usually install rakudobrew then rakudobrew does the rest | 17:19 | |
araraloren | What | ||
you mean? | |||
Install from source ? | |||
alphah | you mean I should install perl6 from master branch?, or I understood wrong? | 17:20 | |
araraloren | No, I mean your code | ||
17:20
xiaomiao joined
|
|||
alphah | aah, master branch work because i just changed the definition of the token (Which i bileve should be exactly the same); in here github.com/alphah77/galaxy/commit/...801486489b | 17:21 | |
araraloren | Oh, I got it. | 17:22 | |
alphah | :) | 17:23 | |
17:29
Cabanossi left
17:32
Cabanossi joined
|
|||
araraloren | alphah, I saw you code, and think you forget write action method | 17:36 | |
It's no bug | |||
in rakudo | |||
alphah | araraloren: can you point me where I missed action method? I have class Law as Action class, I also have method for that token | 17:39 | |
araraloren | It's `star-core` | ||
You should write `proto version` | |||
not regular version | |||
alphah | I wanna bang my head in the keyboard now : D | 17:40 | |
araraloren | haha.. :P | 17:41 | |
17:43
itaipu joined
17:50
labster joined
|
|||
eater | is it possible to call a perl6 script within a certain scope in perl6? a bit like PHP's include / require | 17:54 | |
araraloren | Have you look at require : docs.perl6.org/syntax/require ? | 17:56 | |
17:56
dct left
17:57
cdg joined
|
|||
eater | how can I include an file with that :o | 17:57 | |
araraloren | It just import module at runtime. | 17:58 | |
I think it's no mechanism in Perl 6. | |||
eater | yeah, and I want to run a script at runtime | 17:59 | |
araraloren | Yeah, you can use require run a script, maybe . | ||
Just try it. | |||
Geth | modules.perl6.org: c9bce27d29 | (Zoffix Znet)++ | 2 files [REBUILD] Reject too-large logotypes - We first get byte size from github, reject right there and then if we have more than 32*32*32*2 bytes in logotype - If that passes, fetch the pic and take a peek at the size of the image and reject it if it's not 32px x 32px |
18:03 | |
araraloren | eater, I test it on a example. It's work. | 18:04 | |
Just think you have a r.p6: use lib "."; require "m.p6"; and m.p6: say "CALL ME"; | 18:05 | ||
It will print CALL ME . | |||
18:06
chee joined
|
|||
TimToady | well, there are four or five different things you can mean by "call a script within a certain scope", and sometimes you want 'run', or 'shell', or 'EVALFILE', or even 'EVAL', depending on how much and what kind of dataflow you need in and out of that scope | 18:06 | |
it might also mean you need to write a role, if you're thinking of "include" as a way to write generic code | 18:08 | ||
so I wouldn't get hung up on thinking you have to use a verb called "include" or "require" | 18:09 | ||
that would be a bit of an XY problem, if so | |||
araraloren | TimToady, Which way can import symbol I declare in that perl6 file ? | 18:10 | |
require and ? | |||
TimToady | well, require can do that, but I don't see eater asking for that, offhand | ||
maybe eater is just looking for qx// or qqx// | 18:11 | ||
araraloren | Em, maybe. | ||
TimToady | "run in a scope" is terribly ambiguous | ||
araraloren | Yeah. | 18:12 | |
eater | Im sorry :') | ||
in PHP you have include / require | |||
which will just run the given file in that scope | |||
araraloren | Is it like include in c /? | 18:13 | |
Import symbol to current scope ? | |||
Geth | modules.perl6.org: 40e5cd16fa | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm Return failure from _save_logo when size is no good In case something actually uses that value |
||
eater | araraloren: not really, php's include is at runtime while C's is at compile time | 18:14 | |
18:14
dct joined
|
|||
araraloren | Oh, except that ? | 18:15 | |
TimToady | what are you expecting it to do to the current scope after it has run? | ||
and do you mean dynamic scope or lexical scope? | 18:16 | ||
or some other scope? | |||
what kind of data flows back and forth? | 18:17 | ||
or are you expecting it to define something? | |||
eater | dynamic scope | 18:18 | |
18:18
sena_kun left
18:19
chee left
|
|||
TimToady | another degree of freedom is whether you want it to reparse the file every time you call it | 18:20 | |
eater | as long as it's parsed everytime I run perl itself I'm happy :> | 18:21 | |
TimToady | do you really need it reparsed every time, or just if it changes? | 18:22 | |
eater | ^ | ||
ye | |||
Geth | doc/molecules-patch-1: 3794e8dcea | (Christopher Bottoms)++ (committed using GitHub Web editor) | doc/Type/Callable.pod6 Added multi-positional use of assuming Borrowed content from brian d foy's Stack Overflow post stackoverflow.com/a/43669837/215487 |
18:23 | |
TimToady | you do you expect it to relate to your current program? how does the data flow? what symbols get defined? | 18:24 | |
eater | what do you mean with "how does the data flow"? | ||
TimToady | what are you trying to do with the file that is run? | 18:25 | |
Geth | doc: molecules++ created pull request #1296: Added multi-positional use of assuming |
18:26 | |
eater | i'm trying to create a program that reads an configuration script that's also in perl6, it defines tasks and those are then executed by the main program | ||
18:28
ChoHag joined
|
|||
TimToady | okay, so you want it to build a data structure that you can access after you call it, which means you probably want a symbol to be imported so you can access that data structure | 18:28 | |
eater | yes | ||
masak | nine: thanks for the tip about the p5ish way. that did not occur to me. I might still use that to make the code less obnoxious. | ||
TimToady | in that case, either 'use' or 'require' can do that | ||
Geth | modules.perl6.org: 8ce873a75d | (Zoffix Znet)++ | 7 files [REBUILD] De-bitrot Mojolicious stuff - Bump Mojolicious prereq to 7.31 and fix all Mojo::File bitrot - Bump Mojolicious::Plugin::AssetPack to 1.42 - Fixes #69 |
18:29 | |
18:29
espadrine joined
|
|||
TimToady | you call it a configuration "script", but do you ever run it by itself? | 18:29 | |
maybe it's just a module | |||
in which case plain old "use" should work | 18:30 | ||
18:31
Cabanossi left
|
|||
TimToady | (maybe with a "use lib '.';" or some such to tell it where to look | 18:31 | |
) | |||
eater | I could make it a module, but I rather make it just an script with everything preset for creating tasks in that case | ||
but if that isn't possible | |||
I can make it a module | |||
18:31
AlexDaniel joined
|
|||
TimToady | a module is a kind of script | 18:31 | |
18:32
Cabanossi joined
|
|||
TimToady | I don't understand what you mean when you say "just a script" | 18:32 | |
what are you expecting a script to do that a module can't do? | 18:33 | ||
18:33
kyclark joined
|
|||
eater | true | 18:33 | |
I'm not expecting it to be able to do more | |||
but I would like more control over how it's run | 18:34 | ||
Geth | doc: 1f7cc4efa0 | (Christopher Bottoms)++ (committed by Zoffix Znet) | doc/Type/Callable.pod6 Added multi-positional use of assuming (#1296) Borrowed content from brian d foy's Stack Overflow post stackoverflow.com/a/43669837/215487 |
||
eater | define import modules and methods before it's run | ||
s/define// | |||
kyclark | Given a hash my %h = :one(1), :two(2), :three(3);, how could I sort first by length of key then by key? E.g., so I get "one two three"? | ||
gfldex | eater: you can do that with require | ||
kyclark | m: my %h = :one(1), :two(2), :three(3); say %h.keys.sort(*.chars || *.Str) | ||
camelia | (two one three) | ||
18:35
Bucciarati left
|
|||
TimToady | if you want to define methods, then it's probably a class | 18:35 | |
18:35
avar left
|
|||
[Coke] | .tell zoffix please check my comment on doc pr # 1296 | 18:35 | |
TimToady | (or a role, if it's supposed to be generic) | ||
yoleaux | [Coke]: I'll pass your message to zoffix. | ||
Geth | doc: 7e84db63a2 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Callable.pod6 Move ref to SO to license |
||
TimToady | but classes and roles are also just modules/scripts that you pull in with 'use' or 'require' | ||
gfldex | m: my %h = :one(1), :two(2), :three(3); say %h.keys.sort(*.Str).sort(*.chars) | ||
camelia | (one two three) | ||
gfldex | no wait, that's silly | 18:36 | |
TimToady | afk for a bit & | ||
18:36
literal joined,
avar joined,
avar left,
avar joined,
xtreak left
|
|||
Geth | doc: e8ae3b2521 | (Zoffix Znet)++ (committed using GitHub Web editor) | README.md Move ref to SO to LICENSE section |
18:37 | |
MasterDuke_ | m: my %h = :one(1), :two(2), :three(3); say %h.keys.sort({$^a.chars <=> $^b.chars || $^a cmp $^b}) | ||
camelia | (one two three) | ||
gfldex | m: my %h = :one(1), :two(2), :three(3); say %h.keys.sort({$^a.chars cmp $^b.chars || $^a.Str cmp $^b.Str}) | 18:38 | |
camelia | (one two three) | ||
18:38
itsame joined
|
|||
[Coke] | Zoffix++ # thanks. | 18:38 | |
18:39
Sound joined,
Sound is now known as Guest81163,
Guest81163 left
|
|||
timotimo | kyclark: you can just return a little list of two results | 18:43 | |
be sure to only take one argument, otherwise it'll make a comparator function out of it | |||
i.e. try { $^e.chars, $^e.Str } | |||
but not perl6-try, but more like english-try, or "attempt" or something | |||
araraloren | night, o/ | 18:44 | |
gfldex | m: my %h = :one(1), :two(2), :three(3); say %h.keys.sort({$^a.chars, $^a.Str}) | ||
camelia | (one two three) | ||
kyclark | timotimo, that works, but I don't understand why! What is the $^e? | 18:45 | |
timotimo | { $^e.foo, $^e.bar } is equivalent to -> $e { $e.foo, $e.bar } | ||
kyclark | Default arg like $^a/$^b? | ||
timotimo | not exactly, but similar | ||
kyclark | Is "e" different from a/b? | ||
timotimo | yes | 18:46 | |
e is e, but a is a and b is b | |||
you can use any name you want | |||
gfldex | timotimo: is a list return value for the callable speced (in `sort`) | ||
? | |||
timotimo | $^foo, $^meh, $^a, $^OMG-WTF-BBQ | ||
kyclark | Just don't use a/b? | ||
timotimo | for every different $^foo you put you'll get one entry in the signature for the block that contains the $^foo | ||
gfldex | kyclark: alphabetical order is taken into account for autoarguments | 18:47 | |
timotimo | the entry will be for $foo instead of $^foo, so if you have an innerer block you can just refer to $foo so it won't make a signature for the innerer block | ||
aye, the argument will be sorted in the resulting signature | |||
gfldex | sub f(){ say $^b, $^a }; f(1,2) | 18:48 | |
m: sub f(){ say $^b, $^a }; f(1,2) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Placeholder variable '$^a' cannot override existing signature at <tmp>:1 ------> 3sub7⏏5 f(){ say $^b, $^a }; f(1,2) |
||
timotimo | yeah, don't have () there | ||
gfldex | m: sub f { say $^b, $^a }; f(1,2) | ||
camelia | 21 | ||
gfldex | a list as return value for the callable of sort is ENODOC | ||
gfldex goes to fill the form | 18:49 | ||
timotimo | gfldex: it's just sorting the resulting lists | ||
it's just a schwartzian transform of one element to a little list for each of the elements | |||
gfldex | true but not exactly obvious | ||
timotimo | feel free to point it out in the docs | ||
Geth | doc: 5dfc1effe3 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/operators.pod6 Add ...^ and …^ ops to index Fixes #1292 |
18:51 | |
18:52
chee joined
18:59
Sound_ joined,
lichtkind left
19:01
Cabanossi left
19:02
Cabanossi joined
19:03
itsame left,
itsame joined
19:04
andrzejku joined
|
|||
eater | okay | 19:07 | |
apperently I was looking for EVALFILE | |||
19:07
darutoko- left
19:10
zakharyas joined
|
|||
Geth | doc: 6e1482811b | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Any.pod6 Remove needless prose in .flat - Flat returns a Seq with an iterator fed by original stuff, so it solving any halting problems is irrelevant. - Flat used to have a bug where it was failing to propagate .is-lazy in certain cases, causing full reification, which might be what the original author hit upon, to surmise there are any issues with flattening infinite things. - Fixes #1202 |
19:10 | |
19:11
domidumont left,
lichtkind joined
|
|||
timotimo | eater: please be aware that when you EVALFILE something the lexical variables you have in those files will not be available outside of the EVALFILE | 19:17 | |
19:18
itaipu left,
nowan left
|
|||
eater | timotimo: sure, thanks :) | 19:19 | |
19:20
Sound_ left
|
|||
masak | moritz: by the way, the blog post about "infix:<< > >> should be outlawed" (featured in this week's Perl Weekly) felt to me like a good example of "I can't think of a use case for this feature, so let's ban it" | 19:20 | |
19:21
nowan joined
19:22
itsame left
|
|||
moritz | masak: indeed | 19:22 | |
masak: my main thought on the topic is that comparisons often include on relatively fixed, known quantity | |||
masak: and the other one that's being compared | 19:23 | ||
timotimo | so never use > again, always use !< ? | ||
moritz | masak: and I like to put the lesser-known quantity on the LHS | ||
if $attempts > $threshold { die "nope, not workin'"; } | |||
19:24
kyclark left
|
|||
moritz | timotimo: the author argued that you should use $b < $a instead of $a > $b | 19:24 | |
timotimo | huh | ||
we can outlaw > and force people to use R< for that :P | |||
moritz | timotimo: llewellynfalco.blogspot.de/2016/02/...gn-in.html | 19:25 | |
timotimo: re R< sure :-) | |||
19:25
itaipu joined
|
|||
moritz | though of course in his example, we'd just write 5 < x < 10 :-) | 19:26 | |
or 10 > x > 5, neither of which is confusing, IMHO | |||
or even x ~~ 5^..^10 | |||
19:26
mcmillhj left
|
|||
gfldex | "The way things work in Llewellyn's world" this title clearly states the intend of the author | 19:27 | |
this is brilliant too: llewellynfalco.blogspot.de/2017/01/...esign.html | 19:30 | ||
timotimo | both $low < $x < $high and $x ~~ $low..$high are helpful for this | ||
19:30
Cabanossi left
|
|||
Geth | doc: ef19149a8b | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Any.pod6 Improve C<flat> docs - use more detailed examples that show actual flattening - include that Maps get flattened too, since they're Iterable - Get rid of broken and convoluted `deepmap` example; it destroys Maps and Pairs |
19:30 | |
gfldex | you don't even need to read the post, the first two lines give if away | ||
19:30
mcmillhj joined
|
|||
timotimo | what constitutes a line on your end? | 19:31 | |
19:32
Cabanossi joined
|
|||
gfldex | err sentence (I got 3 hours sleep last night) | 19:32 | |
19:32
cyphase left
|
|||
timotimo | ah | 19:32 | |
19:36
kyclark joined
19:37
cyphase joined
19:39
kyclark left
19:47
zakharyas left
19:57
dct left,
Sound joined,
Sound is now known as Guest87370
19:58
aindilis` left
20:00
matiaslina joined
20:01
dct joined
20:07
rindolf left,
ChoHag left
20:08
Praise left
20:15
Praise joined,
Praise left,
Praise joined,
raschipi joined
20:16
itsame joined
20:17
mcmillhj left
20:18
mcsnolte joined
20:23
AlexDaniel left,
AlexDani` joined,
mcmillhj joined,
dct left
20:26
raschipi left,
Guest87370 left
20:27
Sound_ joined
20:28
mcmillhj left
20:31
Cabanossi left
20:32
Cabanossi joined
20:40
itsame left
20:42
itsame joined
20:45
mcmillhj joined
20:51
mcmillhj left
20:52
yqt joined
20:58
seano joined,
mcmillhj joined
21:00
setty1 left
21:01
labster left
21:03
andrzejku left,
mcmillhj left
21:06
skids left
21:09
mcmillhj joined
21:10
TEttinger joined
21:14
labster joined,
mcmillhj left
21:15
seano left
21:19
silug joined
21:23
Zoffix joined
|
|||
Zoffix | hoelzro: Sent you a PR fixing IO::String for latest Rakudo's: github.com/hoelzro/p6-io-string/pull/7 | 21:24 | |
hoelzro | just saw it - thanks! will look in depth after work | ||
Zoffix | ^ that's used by our doc site's `make xtest`, so if anyone were having trouble with it, you can run `zef --force install github.com/zoffixznet/p6-io-string...x-say.zip` in the meantime | 21:25 | |
21:26
Zoffix left
|
|||
hoelzro | ok | 21:26 | |
21:30
Cabanossi left,
mcmillhj joined,
labster left
21:32
labster joined,
Cabanossi joined
21:34
MorayJ left
21:35
mcmillhj left
21:38
matiaslina left
21:40
mcmillhj joined,
silug left
21:44
silug joined,
mcmillhj left
21:49
eivindgl joined
21:50
Sound_ left,
grumble left
21:51
grumble joined
21:53
eivindgl left
|
|||
Geth | doc: 5b1627785e | (Zoffix Znet)++ | 8 files Fix xtest |
21:58 | |
21:58
mcmillhj joined
22:00
Cabanossi left,
dct joined
22:01
Cabanossi joined
22:02
mcmillhj left
22:07
itaipu left
22:12
mcmillhj joined
22:17
mcmillhj left
22:26
Bucciarati joined,
skids joined
22:27
itsame left
22:28
bjz joined
22:32
mcmillhj joined
22:37
mcmillhj left
22:41
cdg left
22:42
mcsnolte left
22:46
mcmillhj joined
22:50
mcmillhj left
22:52
AlexDani` left
22:57
itsame joined
23:01
Cabanossi left,
Cabanossi joined
23:02
mcmillhj joined
23:07
mcmillhj left
23:08
BenGoldberg joined
23:11
pmurias left
23:15
mcmillhj joined
23:18
yqt left,
espadrine left
|
|||
Geth | doc: 8da79bb26e | (Zoffix Znet)++ | doc/Language/pragmas.pod6 Document `fatal` pragma Fixes #1275 |
23:19 | |
23:19
mcmillhj left
23:26
mcmillhj joined
23:31
mcmillhj left
23:35
anton_p left
23:42
mcmillhj joined
23:48
mcmillhj left
23:49
SCHAPiE left
23:55
ggoebel left,
SCHAPiE joined
23:57
mcmillhj joined
|
|||
Geth | doc: 3ba0c02390 | (Samantha McVey)++ | lib/Pod/Htmlify.pm6 Append .html to pages ending in a dot You are not supposed to end URL's with a dot |
23:58 |