»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! ! temporary logs at colabti.org/irclogger/irclogger_log/perl6 Set by moritz on 29 April 2013. |
|||
00:00
ZeroSkill joined
00:01
ZeroSkill left
00:19
xenoterracide joined
|
|||
grondilu | yet an other Rosalind problem where Perl6 is too slow: rosalind.info/problems/itwv/ | 00:39 | |
00:40
dayangkun joined
|
|||
dalek | pan style="color: #395be5">perl6-examples: b841ad6 | (L. Grondin)++ | rosalind/itwv-grondilu.pl: (rosalind) ITWV [much too slow but added nevertheless] |
00:41 | |
pan style="color: #395be5">perl6-examples: a933e5a | (L. Grondin)++ | parsers/CSSGrammar.pm: Merge branch 'master' of github.com:perl6/perl6-examples |
|||
grondilu | please guys work on improving performance. | 00:43 | |
00:43
berekuk joined
|
|||
pmichaud | r: say 'def' ~~ /abc/ | 00:44 | |
camelia | rakudo 802574: OUTPUT«Nil» | ||
00:44
berekuk left
|
|||
grondilu | rn: my $x = "foo" | "bar"; say "foo" ~~ / $x /; # I wonder if this is specced | 00:48 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Nil» | ||
..rakudo 802574: OUTPUT«Can not get attribute '$!pos' declared in class 'Cursor' with this object in regex at /tmp/_Eo0OX4ldt:1 in method ACCEPTS at src/gen/CORE.setting:11180 in method ACCEPTS at src/gen/CORE.setting:683 in block at /tmp/_Eo0OX4ldt:1» | |||
TimToady | grondilu: it's not | 01:04 | |
but it was suggested a day or three ago | |||
pmichaud | the tricky part there would be knowing what actually matched | 01:07 | |
since junctions only tell you if something matched, but not what actually matched. | |||
01:10
MrMeek-afk joined
01:20
robinsmidsrod joined
01:30
FROGGS_ joined
01:47
mavcunha left
01:52
census left
02:22
kurahaupo left
02:26
kurahaupo joined
02:33
grondilu left,
raiph left
02:36
orafu left
02:37
orafu joined
02:55
cognominal__ joined
03:13
jaldhar joined
03:55
cognominal__ left
04:22
thou joined
04:25
Psyche^ joined
04:26
Psyche^ is now known as Patterner
04:38
Kharec left
04:42
Kharec joined
04:43
dayangkun left
|
|||
diakopter | oy | 04:48 | |
05:07
moritz_ joined
05:09
skids left
05:12
hami joined
05:45
asdfgh joined
05:46
asdfgh left
05:47
eternaleye joined
05:52
eternaleye left
05:55
eternaleye joined
06:01
cognominal joined
06:05
FROGGS_ left
06:12
eternaleye left
06:14
dayangkun joined
06:16
frdmn joined
06:17
frdmn|afk joined,
FROGGS_ joined
06:18
eternaleye joined,
frdmn|afk left
06:19
frdmn|afk joined,
frdmn left
06:20
skids joined
06:22
tangentstorm joined
|
|||
FROGGS_ | <pmichaud> since junctions only tell you if something matched, but not what actually matched. <-- why not treat junctions like arrays there? | 06:26 | |
06:28
hami left
06:39
raiph joined
06:45
domidumont joined
06:51
baest_ joined
06:57
cognominal left
07:01
skids left
07:02
ilbot_bck joined
07:04
domidumont left
07:05
domidumont joined
07:06
skids joined
07:12
[particle]1 joined
07:13
sqirrel joined
07:15
camelia left
|
|||
masak | morning, #perl6 | 07:18 | |
07:18
camelia joined
|
|||
FROGGS_ | morning masak | 07:19 | |
07:20
ChanServ sets mode: +v camelia
|
|||
moritz | \o | 07:20 | |
FROGGS_ | moin moritz | ||
07:21
FROGGS_ is now known as FROGGS
07:28
satyavvd joined
07:29
skids left
|
|||
satyavvd | what happend no release of rakudo last month and this month? | 07:29 | |
07:29
dayangkun left
|
|||
satyavvd | and irclog.perlgeek.de/perl6/today is not working.. | 07:30 | |
FROGGS | satyavvd: look at the topic | ||
there are compiler releases: rakudo.org/downloads/rakudo/ | |||
moritz | and pmichaud is working on the star release | ||
FROGGS | the star release is in preparation though, there are to-be-fixed bugs | 07:31 | |
moritz | and logs are down due to hardware failure | ||
lizmat | rn: class A { }; my $a= A.new( foo => 1 ); $a # shouldn't this complain about trying to initialise a non-existing attribute? | ||
camelia | rakudo 802574, niecza v24-37-gf9c8fc2: ( no output ) | ||
satyavvd | i am checking on home page of rakudo.. ok got it | ||
lizmat | it would seem to me that at least in this example, this should be possible at compile time | 07:32 | |
or am I missing something? | |||
07:33
xinming left
|
|||
satyavvd | thnx FROGGS | 07:33 | |
FROGGS | lizmat: I'm not sure if this really can happen at compile time, but I agree that slurping args to nirvana is a bit odd | ||
moritz | lizmat: see perlcabal.org/syn/S12.html#Interface_Consistency | 07:34 | |
hoelzro | good morning #perl6! | 07:36 | |
lizmat | morning hoelzro! | ||
07:36
xinming joined
|
|||
lizmat | hmmm… suddenly the named parameters of Perl 6 just look a lot more like just passing a hash and not giving a damn as it is in Perl 5 :-( | 07:37 | |
labster | good $localtime, all | ||
07:41
daxim joined
|
|||
hoelzro | if I wanted to add Positional capabilities to a value, I could create a role that does Positional and apply it to the value in question, right? | 07:42 | |
ex. role PositionalPair does Positional { #`(implement) } $pair but PositionalPair; | 07:43 | ||
07:43
skids joined
07:46
cognominal joined,
kaleem joined
|
|||
labster | perl6 -c rebootstrap.pl > ===SORRY!=== No object at index 16 | 07:50 | |
huh, I have no idea how I broke panda | |||
07:50
rindolf joined
|
|||
FROGGS | may run rebootstrap? | 07:52 | |
recompiling+installing rakudo breaks it | 07:53 | ||
labster | uh, that's rebootstrap dying on me. | ||
FROGGS | ahh -.- | ||
sorry, looks like I need more coffee :o) | |||
labster | > require "Shell/Command.pm"; Missing or wrong version of dependency 'src/gen/CORE.setting' | 07:56 | |
maybe that has something to do with it. Really though, LTA error. | |||
the "No object at index 16" one. | |||
FROGGS | true | 08:03 | |
labster | well, that wasn't the problem. | 08:04 | |
the error is in /nqp/src/vm/parrot/6model/serialization_context.c -- now I'm even more confused. | 08:07 | ||
FROGGS | O.o | 08:10 | |
labster | okay, I guess I broke "use lib". somehow. | 08:16 | |
FROGGS | r: say @*INC | 08:19 | |
camelia | rakudo 802574: OUTPUT«/home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib /home/p6eval/.perl6/2013.04-22-gd2af402/lib» | ||
FROGGS | r: use lib 'rary'; say @*INC | ||
camelia | rakudo 802574: OUTPUT«rary /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib /home/p6eval/.perl6/2013.04-22-gd2af402/lib» | ||
FROGGS | r: use lib 'rary'; say @*INC; use 'None' | ||
camelia | rakudo 802574: OUTPUT«===SORRY!===Undeclared routine: use used at line 1» | ||
FROGGS | r: use lib 'rary'; say @*INC; use 'None'; | 08:20 | |
camelia | rakudo 802574: OUTPUT«===SORRY!===Undeclared routine: use used at line 1» | ||
FROGGS | r: use lib 'rary'; say @*INC; use None; | ||
camelia | rakudo 802574: OUTPUT«===SORRY!===Could not find None in any of: rary, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib, /home… | ||
labster | ./perl6 | ||
FROGGS | looks good here at least | ||
labster | > use lib 'foo'; | ||
No object at index 16 | |||
FROGGS | is it the same if you do: :7perl6 -e 'use lib "foo"' ? | 08:21 | |
err, ./ ... | |||
labster | not sure now... just did make realclean | ||
FROGGS | do you have PERL6LIB set to something? | 08:22 | |
labster | no | ||
08:23
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:23 | |
dalek | p: 5cf0134 | (Donald Hunter)++ | / (3 files): Added remaining bigint nqp ops. |
||
p: f3551cf | jonathan++ | / (3 files): Merge pull request #94 from donaldh/master Added remaining bigint nqp ops |
|||
labster | wait, maybe I have an idea. | ||
hello kresike | 08:24 | ||
jnthn | morning, #perl6 | ||
FROGGS | \o/, looks like I fixed: sub choop (*@s is rw) | 08:25 | |
kresike | labster, o/ | 08:26 | |
labster | \o | ||
jnthn | FROGGS: Would be curious to see the patch. | 08:29 | |
FROGGS | jnthn: like that, though I want to clean it up: gist.github.com/FROGGS/7af9fcdda8dc7db39316 | 08:33 | |
pmichaud | 07:37 <lizmat> hmmm… suddenly the named parameters of Perl 6 just look a lot more like just passing a hash and not giving a damn as it is in Perl 5 :-( | ||
lizmat: note that it's only methods that have this... subroutines don't implicitly/quietly slurp named arguments | 08:34 | ||
also, I suspect it would be possible (but perhaps not easy) to define .new so that it warns/carps about any unused named parameters. | 08:35 | ||
FROGGS | jnthn: updated the patch, I moved the last call to Rakudo_binding_bind_one_param to the else too | 08:36 | |
jnthn | FROGGS: I...don't understand how that works. | 08:42 | |
arnsholt | jnthn: Regarding the PPC/SPARC build fixes on GH, perhaps we should see if there's a newer version of dyncall we can bundle? | ||
I'm a bit wary of making our own changes to a third party lib, TBH | |||
jnthn | arnsholt: Yeah, or we should at least pass them upstream | 08:43 | |
arnsholt | Yeah, if there's no new version that'd be my next preferred move | ||
08:43
rindolf left
|
|||
jnthn | FROGGS: What happens if you call sub foo(*@x) { } with foo($x, $y, $z) ? | 08:44 | |
FROGGS: It looks like it'd just try binding the $z there | |||
08:44
kurahaupo left
|
|||
jnthn | (overwriting the binding of $x and $y | 08:44 | |
) | |||
FROGGS | jnthn: currently compiling, but wanted to add tests and spectest now | ||
I'll report in a bit | |||
jnthn | /* We have to bind every slurped parameter to apply 'is rw' on them */ | 08:45 | |
That comment confuses parameter and argument, which is not helpful in a piece of code that needs to keep the two straight... | 08:46 | ||
FROGGS | maybe that is because I tend to be confused there :/ | 08:47 | |
08:49
rindolf joined
|
|||
jnthn | sub foo($x) { } | 08:49 | |
# $x is a parameter | |||
foo(1) # 1 is the argument. Maybe 'cus we can argue about whether it shoulda been 2 instead... | |||
FROGGS | so an argument is the value of a param? | 08:50 | |
jnthn | It's the thing that you pass | ||
08:50
fhelmberger joined
|
|||
pmichaud | parameters are parts of signatures. arguments are the things you pass | 08:50 | |
FROGGS | ahh, okay | ||
jnthn | The reason I'm about certain that code is wrong is because bind_one_param is menat to be called once for each *parameter* | 08:51 | |
FROGGS | ahh, I see | ||
pmichaud | sub xyz($x) { say($x); } # $x is a parameter of &xyz, and it's an argument to say(). :-) | 08:52 | |
08:54
pmurias joined
|
|||
FROGGS | jnthn: but in case of a is rw slurpy param, pushing the args to an PMCA isnt a good thing, right? | 08:54 | |
i.e., making copies and such | 08:55 | ||
pmurias | what would be a good target for the gsoc nqp/rakudo js backend? boostraped nqp passing all tests? | 08:56 | |
or should I extend that to rakudo passing some tests (sanity for example) too? | |||
pmichaud | pmurias: I'd be happy with bootstrapped nqp passing all of its tests, I think. | 08:57 | |
FROGGS | hmm, I think that is a bit much for a gsoc project, I think making nqp pass all is pretty good | ||
pmichaud | you could put that your expected target is bootstrapped nqp passing tests, and the "stretch target" is having rakudo pass sanity. | 08:58 | |
FROGGS | jnthn: it explodes if I pass something else than a single array | ||
pmichaud | r: sub xyz(*@a) { say @a.WHAT }; xyz(1,2,3); | 08:59 | |
camelia | rakudo 802574: OUTPUT«(Array)» | ||
pmichaud | In order for @a to be "is rw" there, it will need to be a List instead of an Array | 09:00 | |
jnthn | FROGGS: Right, that's what I suspected :) | 09:01 | |
pmichaud | Array elements don't typically bind to other containers. | ||
whereas List elements can do that. | |||
jnthn | pmurias: Bootstrapped would be pretty awesome | ||
pmurias: Doing Rakudo too may be a bit of a stretch. | 09:02 | ||
pmichaud | in fact, it may be that "is rw" simply tells the slurpy parameter whether it needs to be an Array or a List | ||
jnthn | That would be elegant... | 09:06 | |
FROGGS | I am a bit lost, where do I have to tweak that? | 09:07 | |
pmichaud | FROGGS: lost on the concept, or lost on how that would be implemented? | 09:08 | |
FROGGS | I understand the concept | ||
pmichaud | okay | ||
you're probably looking for whatever creates the slurpy array | |||
and make that switchable so that it can be a list instead | |||
FROGGS | well, there is a line about Rakudo_binding_create_positional() and Rakudo_binding_create_lol() | 09:09 | |
ahh, that looks good | 09:10 | ||
pmichaud | indeed, I wonder if the slurpy parameter needs a third case... as an Array, slurpies have "is copy" semantics. | 09:15 | |
as a List, they'd tend to be "is rw" semantics | 09:16 | ||
we don't have anything with "is readonly" semantics | |||
jnthn | Parcel? :) | ||
pmichaud | Seq. | ||
Parcel's don't have flattening or readonly semantics. | 09:17 | ||
jnthn | Hm, true. | ||
pmichaud | and yes, we've been eliminating Seq.... but in earlier version of Rakudo, Seq was the "lazily flatten into values" type. | ||
Array is the "lazily flatten into copies" type | 09:18 | ||
jnthn | Can a Seq be pushed/popped/shifted/unshifted? | 09:20 | |
pmichaud | yes | ||
Seq is List | |||
jnthn | Ah, it's that way around. OK. | ||
09:20
berekuk joined
|
|||
jnthn can see this | 09:20 | ||
pmichaud | yeah, that's something that earlier specs had backwards :) | ||
jnthn | It may almost be a good way to teach the three too: show how *@a is rw vs. *@a is copy vs. *@a is readonly work. | 09:21 | |
pmichaud | well, the current implementation hasn't had much need for Seq, which makes me wonder if it's hiding somewhere else. | 09:22 | |
but Seq is/was also a common place for being able to handle/specify decontainerization | |||
essentially, whatever we're doing to make return values readonly is similar to what slurpies need to do with their arguments when "is readonly" | 09:23 | ||
jnthn | Is there a parallel in the associative world? | ||
I'm wondering if | |||
constant @x = ...; | 09:24 | ||
That @x should be a Seq | |||
pmichaud | well, that @x should probably not be an Array :-) | ||
it could be a List. | |||
jnthn | Today that form doesn't really work | ||
'cus I didn't know what to do with it | |||
pmichaud | List is fine for constant values, as long as you don't put any writable containers into the List | ||
jnthn | Yeah, I was thinking Seq as that deconts... | 09:25 | |
09:25
kivutar joined
|
|||
pmichaud | how are we handling deconts of return values now? | 09:25 | |
jnthn | There's a p6decontrv op | 09:26 | |
FROGGS | that seems to do it (updated): gist.github.com/FROGGS/7af9fcdda8dc7db39316 | ||
jnthn | I'd have to go look at it to remember exactly what it does | ||
FROGGS | $ perl6 -e 'my @a = <abc def ghi>; sub choop (*@s is rw) { for @s -> $s is rw { $s.=chop } }; my $s = "hurz"; choop(@a, $s); say "@a[] $s"' | 09:27 | |
ab de gh hur | |||
jnthn | FROGGS: I'm much more comfortable with that. | ||
FROGGS | cool | ||
jnthn | Though pmichaud++ should probably glance it too :) | 09:28 | |
pmichaud | I didn't see the earlier patch, but this one matches my notion of what's been missing with slurpy handling. | ||
jnthn is kinda distracted finnishing slides... :) | |||
FROGGS | pmichaud: same gist, prev revision | ||
pmichaud | I hadn't seen anything in the spec that indicated how is rw / is copy would apply to slurpies. | ||
FROGGS | pmichaud: perlcabal.org/syn/S06.html#Parameter_traits | ||
arnsholt | jnthn: I didn't know you spoke Finnish O:) | ||
pmichaud | FROGGS: I'm not sure what that parenthetical part means. | 09:30 | |
I agree that it explains "is rw" on variadics | |||
jnthn | arnsholt: I don't...they're just for delivery on Finland. :) | 09:31 | |
*in | |||
FROGGS | pmichaud: you mean that sentence? (The variadic array as a whole is always modifiable, but such modifications have no effect on the original argument list.) | ||
pmichaud | yeah | ||
I guess "as a whole" is referring to the ability to shift/unshift/push/pop | 09:32 | ||
as opposed to "always modifiable" referring to the elements | |||
FROGGS | yeah, that is what I think too | ||
I understand it as an implicit is copy trait | 09:33 | ||
pmichaud | oh, an implicit "is copy" trait would mean it refers to the elements as well | ||
i.e., the elements of a variadic array are always modifiable | |||
I should try to get back to sleep; I'm going to be paying for this later today, I suspect. :-| | 09:35 | ||
FROGGS | sleep well then :o) | ||
jnthn | yes, I was trying to figure if this was very late or very early... | ||
nwc10 | #perl6 - not a cure for insomnia | ||
jnthn | .oO( insomnia - not a cure for #perl6 ) |
09:36 | |
pmichaud | it's very early... 04:36 here | 09:37 | |
I woke up a couple of hours ago and hadn't been able to get back to sleep... but I have to be up again in 1h30 sooooo.... | |||
09:38
birdwindupbird joined
|
|||
pmichaud | perlcabal.org/syn/S06.html#Perl5ish...clarations also mentions "is rw" and slurpy stars. | 09:40 | |
what bugs me about the synopses' description of slurpies is that while "is rw" is well described, it's not clear what happens with slurpies when it's not present. | 09:41 | ||
in the section on Perl5ish declarations, for example, the sentence beginning with "More precisely" doesn't seem to be making anything more precise.. it looks like a new statement to me. | 09:42 | ||
anyway, I'm going to try again for sleep -- bbl, perhaps. (today is full/hectic day at the house) | 09:48 | ||
afk | |||
09:55
thou left,
dvj left
09:57
donaldh joined
10:05
atroxaper joined
10:08
atroxaper left
10:21
berekuk left
10:24
berekuk joined
|
|||
FROGGS | what does "splat"/"splatted" mean here? github.com/perl6/roast/blob/master...s-rw.t#L16 | 10:28 | |
moritz | slurpy | 10:29 | |
10:29
sqirrel left
|
|||
FROGGS | k, thanks | 10:31 | |
10:31
berekuk left
|
|||
daxim | tell masak I now will reveal the source data for the hash from 2013-04-24: $ cat prediction | 10:31 | |
echo "masakism will be full of math, but not actually useful programming" | sha1sum | |||
I am pleased to be mostly wrong - only FRINGE and GRAPH, arguably HEX are mathy (== your bias). | |||
you can do better; stack overflow is full of real world problems, mostly mundane of course, but also sometimes illustrative of program design, pick from them instead | |||
10:32
satyavvd left
|
|||
jnthn | Graphs come up all over the place in the real world. Or at least, they do in my real world. :) | 10:34 | |
masak | daxim: heh. | ||
daxim: happy to see I at least foiled your pessimistic prediction :) | |||
daxim: I agree that the workshop was high-level and strained the capabilities of the participants... but it was *meant* to. | 10:35 | ||
10:36
pmurias left
|
|||
masak | daxim: if I had known that there would be that many complete beginners, I would have invested in a track for them, too. | 10:36 | |
daxim | really? doesn't look that difficult to me, I've done half of "promise" but then got bored | ||
masak | daxim: if there's a next iteration, these are things I can do better then | ||
daxim: I'm glad you find my difficult tasks easy to the point of boredom. :> | |||
daxim | perhaps the elevator will tickle my fancy | 10:37 | |
masak | granted, it's not difficult in the sense of p6cc. (which is also more math-y) | ||
daxim: I'll let you know when it's ready. | |||
(probably later this week) | |||
daxim: after your relevation, I'm mystified as to why you didn't simply warn me beforehand, if you thought "full of math" was a potential risk ;) | 10:45 | ||
revelation* | |||
daxim likes to gamble | |||
masak | well, I'm not actually able to check your sha1sum, because irclog is down. | 10:46 | |
but I'll take your word for it :) | |||
daxim | pfeh, foiled by software | 10:47 | |
lizmat | hardware actually | ||
daxim | IT ALL SUCKETH | ||
10:53
nebuchadnezzar left
|
|||
GlitchMr | masak, olive.undo.it/log?channel=perl6&...e=20130424 | 10:56 | |
"masak, here's a prediction: 4c6348acc9ce3d37ff5930209fe2eb602db64d91 I will reveal it later. this hash proves I have made the prediction at this time" | |||
I also think I should add searching functionality to my log page. | 11:01 | ||
masak | GlitchMr++ | 11:02 | |
sha1sum verified. | |||
daxim: anyway, trawling through stackoverflow (and perlmonks, I guess) looking for inspiration for tasks sounds like a good idea. | 11:07 | ||
I will do that. | |||
11:14
nebuchadnezzar joined
11:15
Targen left
11:18
berekuk joined
11:23
drbean joined
11:25
tgt joined
11:31
tgt left
11:32
tangentstorm left
11:36
drbean left
11:38
drbean joined
|
|||
GlitchMr | olive.undo.it/log?channel=perl6&...h=sha\d%2B | 11:41 | |
Just testing | |||
FROGGS | btw, I got some information on how to build nqp/rakudo debian packages | 11:43 | |
hoelzro | FROGGS: I would like to hear about that | 11:48 | |
I put some energy into packaging a while ago, but summoning the energy/time to do Perl 6 stuff after I got back from my vacation in the US has been difficult | 11:49 | ||
GlitchMr | ok, I've working regular expression based searching | ||
hoelzro | to my credit, I started two classes the week I got back =/ | ||
arnsholt | I'd be interested to hear about packaging for .deb | 11:50 | |
GlitchMr | The search allows PCRE regular expressions, but I trust you to not abuse it :-). Besides, I have 1 second timeout, just in case. | ||
11:51
tangentstorm joined
|
|||
arnsholt | It'd be very cool if it were possible to do it so that the packages can be generated directly as part of the Star release | 11:51 | |
FROGGS | the current maint uses git-buildpackage for anonscm.debian.org/gitweb/?p=pkg-ra...;a=summary | ||
hoelzro | arnsholt: I was working on a script/makefile target for star release managers | ||
arnsholt | hoelzro: Oh, that's very cool! | 11:54 | |
Do you have the in-progress stuff somewhere/what's left to do? | 11:55 | ||
hoelzro | it's sitting at home atm =/ | ||
I can upload it somewhere in the meantime! | |||
I had some basics working | |||
you could say 'make pkgbuilds' and it would create arch linux PKGBUILD files for all of the modules in star | |||
I think my roadblock was they needed ufo to build, but I had no package for ufo or something | 11:56 | ||
11:56
skids left
|
|||
hoelzro | catch 22 =/ | 11:56 | |
12:01
woosley1 joined
|
|||
GlitchMr | Pointless linking: olive.undo.it/log?channel=perl6&...130502#391 | 12:09 | |
pmichaud | I like the formatting being used on olive.undo.it | 12:10 | |
very easy to read | |||
GlitchMr | Actually, the formatting is just few small CSS rules. But thanks. | 12:11 | |
I'm just trying to make nice temponary logs. | 12:14 | ||
12:15
sizz left
|
|||
GlitchMr | olive.undo.it/log?channel=perl6&...%E2%99%9F] | 12:19 | |
Just having fun with searching. | |||
12:19
sizz joined
12:25
dayangkun joined
12:26
dayangkun left,
dayangkun joined,
sizz left
12:27
dayangkun left
12:28
mavcunha joined
|
|||
[Coke] | .tell moritz yes, that makes the failure go away, but it seems to sweep it under the rug. If that behavior is really platform dependant, it shouldn't be in roast, and if it's not, we should open a ticket. | 12:29 | |
yoleaux | [Coke]: I'll pass your message to moritz. | ||
12:30
sizz joined
|
|||
[Coke] | ... that said, good enough for me for now. | 12:30 | |
12:32
toebu joined
12:34
tgt joined
|
|||
moritz | [Coke]: then we should remove the tests | 12:36 | |
yoleaux | 12:29Z <[Coke]> moritz: yes, that makes the failure go away, but it seems to sweep it under the rug. If that behavior is really platform dependant, it shouldn't be in roast, and if it's not, we should open a ticket. | ||
pmichaud | which test, ooc? | ||
moritz | worse than OS specific, it's specific to combinations of OS, file system and file system configuration | 12:37 | |
pmichaud: IO.accessed | |||
and even mount options (noatime) can make that test fail | |||
12:38
sqirrel joined
12:39
ldthien0 joined
|
|||
pmichaud | yeah, many of my filesystems have noatime | 12:39 | |
anyway, I agree -- tests that are platform specific and/or not required by the spec shouldn't be in roast. Coke++ | 12:40 | ||
nwc10 | most *nix systems I have access to seem to have noatime, or the variant where the atime is only updated if it's more than 24 hours old | ||
only OS X seems to default mounts to the good old "every read is actually a write action" | |||
it's just like the Perl 5 internals :-) | |||
pmichaud | here I am in Texas, a little over four weeks before YAPC::NA, and the outside temperature is 10 degC. *10* | 12:41 | |
weird weather this year. :) | |||
nwc10 | see, last year in Frankfurt you promised that it wouldn't be as hot in Austin | ||
very wierd here. Was >25 recently | |||
but snow 3 weeks ago | |||
and it's currently early spring and late spring all mushed together | 12:42 | ||
as everything is flowering at the same time | |||
pmichaud | oh yes, yesterday was warmer. 31 degC, iiRC | ||
but tonight it's supposed to get down to 1 degC | 12:43 | ||
anyway, housework here... bbiaw | 12:44 | ||
colomon | crazy, our low for the night is more like 5C | 12:45 | |
12:47
ldthien0 left
|
|||
masak | there's a "hidden theme" in the masakism workshop which I'm not sure if I managed to underscore enough. it's the semi-belief that (when the problem is complex enough to call for that much structure), the solution is a bunch of "core objects" supplying the desired behavior, supported by TDD and maybe DI. | 12:55 | |
the clearest example of this was perhaps BOT. | 12:56 | ||
daxim | I thought it was "principles of good software design", perhaps completely lost on said "complete beginners" | 12:57 | |
masak | yes, it was. | ||
(that was the topic, I mean) | |||
timotimo | i don't feel i got yelled at enough for my programming style to have learnt how to make elegant programming :P | ||
masak | timotimo: :) | ||
timotimo: I didn't really have time to look at people's solutions, only to add them to that list. | 12:58 | ||
12:58
ajr joined
|
|||
masak | I wouldn't mind terribly if we went over the solutions afterwards and spent some time commenting on style, etc. | 12:58 | |
12:58
ajr is now known as Guest93793
|
|||
timotimo | yeah, that's going to be a problem. turn on your cloning machine one more time, masak :) | 12:58 | |
masak | :) | ||
13:00
tgt left
|
|||
Util | What is the equivalent of `nqp --target=PIR foo.nqp` for the JVM branch of NQP? | 13:03 | |
When I run `nqp --stagestats foo.nqp`, I see these stages: <start classname parse ast jast classfile jvm> | |||
Stages <start classname> fail as targets, with error "Cannot dump this object; no dump method" | |||
Stages <parse ast jast> seem to work correctly. | |||
Stages <classfile jvm> both fail as targets, with error "java.lang.NullPointerException in dumper" | 13:04 | ||
13:04
tgt joined,
brrt joined
|
|||
brrt | ping moritz | 13:05 | |
perlgeek.de down? | |||
GlitchMr | brrt, yep, it is | ||
13:05
tgt left
|
|||
nwc10 | you can read the discussion in the IRC log... oh, wait :-/ | 13:05 | |
or, probably here: olive.undo.it/log?channel=perl6 | 13:06 | ||
but a few days ago | |||
brrt | yay! | ||
moritz | brrt: yes, hardware failure | ||
brrt | thanks | ||
shame | |||
13:07
bluescreen10 joined
|
|||
moritz | I'm in the process of procuring a replacement | 13:07 | |
but thing. take. time. | 13:08 | ||
*things. | |||
brrt | well, thanks for the service, anyway :-) | 13:09 | |
GlitchMr | olive.undo.it/log?channel=perl6&...h=perlgeek | 13:10 | |
Yeah... | |||
It's down for 6 days. | 13:11 | ||
13:12
MrMeek joined,
spider-mario joined
|
|||
masak | moritz: as for me, I've learned in the past week or so how much I depend on (and appreciate) perlgeek.de and irclog in particular. | 13:13 | |
moritz++ | |||
GlitchMr | Hardware failures happen... sadly. | ||
moritz | masak: and I've learned how much I rely on that host. My primary email address was on it :( | 13:14 | |
you can reach me at [email@hidden.address] in the interim | |||
13:15
MrMeek-afk left
|
|||
gtodd | perlgeek is a great resource ... hope you had backups!! | 13:15 | |
gtodd does a open tab search .... | |||
GlitchMr | I just have logs for three months. I really wouldn't want perlgeek to disappear forever. | ||
gtodd | hmm I had 4 tabs open on perlgeek! | ||
GlitchMr | Then again, the temponary logs have data since 2005. | 13:16 | |
gtodd | let's move perlgeek to Heroku ! ;-) | ||
moritz | gtodd: yes, backups are available (at least of the IRC logs) | 13:17 | |
gtodd | ah ok .. I quite liked the blog/journal entries | ||
perlgeek.de/blog-en/perl-5-to-6 ++ | 13:18 | ||
etc. | |||
moritz | those sites are backed up on github :-) | ||
(just not the comments that some folks left on the blog) | |||
gtodd | \o/ | 13:19 | |
GlitchMr | github.com/moritz/perlgeek.de | ||
jnthn | Util: --target=jast is closest | ||
GlitchMr | You can run mowyw, and browse the website locally. | ||
jnthn | Util: However, it's nearly impossible to read, so in reality you do --classfile --output=blah.class | ||
Util: And then javap -c blah.class | |||
GlitchMr | Similarly, if the perlcabal.org would die (it happened few times), you can browse the synopsis on GitHub. | 13:20 | |
13:21
skids joined
|
|||
GlitchMr | I think that many people here have copies of their blogs on GitHub. | 13:21 | |
gtodd | and the source for mowyw (perlgeek.de/en/software/mowyw) is on github ... | 13:22 | |
:) | |||
moritz | and on CPAN | ||
GlitchMr | and in Arch Linux repository | 13:23 | |
It's already everywhere | |||
Util | jnthn: What command gets the --classfile option? `./nqp --classfile --output=z.class foo.nqp` fails with "Illegal option --classfile". | ||
gtodd | interesting how a Distributed Concurrent Versions System (git) is errm fairly centrally concentrated on github | 13:24 | |
dalek | o: 79b8f5c | moritz++ | bin/ufo: fix for latest IO::Path |
||
gtodd has silly github question | |||
GlitchMr | I think that panda even supports other distributed concurrent version systems, but practically only Git (and only on GitHub) is used. | 13:25 | |
[Coke] | and it should be noted that not generating java directly is a win. | 13:26 | |
Util | jnthn: nm; I see that `--target=classfile` is what was needed. Thanks; very helpful! | ||
GlitchMr | Actually, no, panda only appears to support git. | 13:27 | |
gtodd | I get github features mixed up with git all the time :-) ... so if I fork a repot on github and make a few changes send a pull request and they are merged ... can/do I then just delete my fork and refork to get the latest version of the master I forked. forking (github) seems not the same as cloning | ||
GlitchMr | Fork is just a clone | 13:28 | |
daxim | no, GH forking establishes a parent-child relationship between the old repo and the new one | ||
GlitchMr | Just in GitHub database itself. | ||
Just so you could easily do things like pull requests. | |||
gtodd | I can't figure out how to "git pull" my fork so it is up to date after my pull requests are merged | 13:29 | |
GlitchMr | You have to add a remote. | ||
And fetch from it. | |||
gtodd | oh I mean on github (webgui) | ||
GlitchMr | But I prefer to make changes in branches. | ||
gtodd, well, you... cannot. | 13:30 | ||
gtodd | ok good | ||
:-) | |||
GlitchMr | I think GitHub had button for that once, but they have removed it. | ||
Not sure why. | |||
gtodd | then I'll just delete it | ||
13:31
tgt joined,
brrt left
|
|||
gtodd | if I clone to my local system and make a pull request that way then ... hmm do the deltas get uploaded to git hub and wait for merging or ... do I have to leave my system turned on?!? I've only ever used VCS from workstations (always on) so making pull requests from a laptop seems well | 13:32 | |
it seems like I might be better off using the webUI | |||
timotimo | the pull request feature is depending on there to be a github repository that has your changes | 13:33 | |
gtodd | ok then once they are merged I just delete my fork :) | ||
timotimo | other ways to do it is to use git format-patch to create a series of mail messages (don't have to send them per mail) to someone who is allowed access to the "authoritative repo" | ||
or, of course, host your changes somewhere where git pull works properly. that can be your home computer, if you set up a small git server or http server and forward ports on your router etc etc | 13:34 | ||
13:34
PacoAir joined,
tgt left
|
|||
gtodd | ah ok ... so pull reqeests from a local git repo (I mostly do stuff in vim in a terminal) would require my laptop to be running unless I make patches and send by mail etc. | 13:35 | |
13:35
tgt joined
|
|||
GlitchMr | But why bother will local git repo? | 13:35 | |
timotimo | you need a local git repo to have a working copy that you can still create commits from | ||
gtodd | only because I mostly do stuff in vim in a terminal | ||
GlitchMr | Of course you have to | ||
But why bother with having local git repo that is available remotely. | 13:36 | ||
gtodd | ? | ||
daxim | because internet | 13:38 | |
timotimo | because if you don't have any other remotely available repository, nobody can get your changes, unless you get them to them some other way | ||
13:38
Targen joined
|
|||
GlitchMr | timotimo, you can easily get a remotely available repository on GitHub, BitBucket, Google Code, and other services. | 13:39 | |
timotimo | this isn't about how to do it the best way you can, just about how to make it work without putting your stuff on github | ||
moritz | free backups :-) | 13:40 | |
gtodd | well if it's a project that needs compiling I build from the sources (but probably would never commit to it unless it's documentation, Makefiles etc) so I do git clone git://someplace/repot/project.git (fiddle fiddle) ... perl ./Configure.pl make install (fiddle fiddle) ... git pull ... git status ... etc | ||
if I was an active committer developer on a project I'd probably make pull requests from my repo or one of many branches of stuff I was testing or something like that ... the git cli and what you can do with a local repo seems to have more bells and whistles than github's webGUI | 13:43 | ||
timotimo | or you'd have direct access to the "authoritative repo" and work on branches there ^H | 13:44 | |
daxim | awesome, your ␡ totally breaks the rendering here | 13:46 | |
gtodd | right ... then I could just "push" a branch ?? but for quick changes to website documentation and the like where the project is using github I might fork on github make a few changes and do a pull request from github gui ... if 6 months later the changes aren't merged ;-) I could delete my fork ... or if the changes get merged right away I could delete my fork ... I'm just adapting my workflow to the projects github pr | 13:47 | |
project's | 13:48 | ||
timotimo | you can make pull requests form repo A branch X to repo A branch Y, fwiw | ||
so you don't even need a full github-fork to make a pull request | |||
gtodd | right ... git makes it easy to make branches | ||
13:59
squ joined
|
|||
squ | take that | 13:59 | |
this-plt-life.tumblr.com/post/36425...-semantics | |||
timotimo | it seems to me that picture is meant to ridicule, not to praise | ||
14:00
crab2313 joined,
cognominal left,
squ left
|
|||
lizmat | and squ has left the building | 14:00 | |
too soon to be hugged | 14:01 | ||
14:01
cognominal joined
|
|||
timotimo | but seriously, is that supposed to make fun of perl6? | 14:02 | |
because when i read about perl6 semantics, it usually makes me happy | |||
14:03
SmokeMac_ joined
|
|||
lizmat | first they ignore you, then they ridicule you, then they fight you, then you win | 14:04 | |
I guess we're getting out of the ridicule phase now | |||
14:06
eternaleye left
|
|||
dalek | kudo/nom: 639d7f8 | (Tobias Leich)++ | / (2 files): fix slurpy is-rw array-parameters This also adds the test file: S06-traits/slurpy-is-rw.t |
14:07 | |
lizmat | afk | 14:08 | |
14:08
eternaleye joined,
xinming left
|
|||
Util | I think that picture and caption are better understood in the context of the whole blog. See the other entries in this-plt-life.tumblr.com/ for comparison. | 14:08 | |
dalek | ast: ac30e28 | (Tobias Leich)++ | S06-traits/slurpy-is-rw.t: added a second variable to the sub call Which shows better what "$@array is rw" does. Also fixed synopsis link. |
||
14:09
xinming joined,
baest_ left
|
|||
masak | Util: :) | 14:09 | |
I can certainly relate to this-plt-life.tumblr.com/post/43238...cro-system | 14:10 | ||
14:11
drbean left
|
|||
timotimo | wow, that looks like some intense swearing right there | 14:11 | |
14:12
drbean joined
|
|||
Util | Here is the original blog of the same person: axisofeval.blogspot.com/ | 14:14 | |
The tumblr looks like an extract of just the funny PLT-Life tagged posts. | 14:15 | ||
14:20
PacoAir left
14:21
Targen left
14:22
kaare_ joined
14:23
PacoAir joined
14:32
Targen joined
14:33
echo joined,
echo is now known as Guest51656
14:34
Guest51656 left,
swuecho joined
|
|||
swuecho | Hi,It seems that the irc log site is down. | 14:35 | |
is there another site for the log? | 14:36 | ||
thanks | |||
masak | yes, it's linked to in the backlog :P | 14:37 | |
swuecho | find it. | 14:38 | |
thanks | |||
moritz | olive.undo.it/log?channel=perl6 | ||
14:39
crab2313 left
14:40
rindolf left
14:44
kbenson joined
|
|||
pmichaud | it's also in the topic, I think. | 14:44 | |
14:44
am0c joined
14:46
toebu left
|
|||
tadzik | r: say so "00" | 14:49 | |
camelia | rakudo 639d7f: OUTPUT«True» | ||
14:51
kaleem left
14:52
skyheights joined,
sizz left
14:53
Guest93793 left,
sizz joined
|
|||
FROGGS | tadzik: is that DWIM? | 14:53 | |
tadzik | FROGGS: hardly :) | 14:55 | |
diakopter | hey y'all.. I need some help with a few YAPC::NA planning/organizing/preparation tasks... would anyone like to help? | ||
tadzik | I was just checking if it's the same as in P5 (it is) | ||
diakopter: what's to be done? | |||
diakopter | some administrivia and website updating and some emails | 14:56 | |
14:56
ajr joined,
ajr is now known as Guest49903
14:57
Guest49903 left
|
|||
diakopter | also, organizing/planning/prioritizing a bunch of other tasks and finding appropriate people to do them and delegating them then making sure they get done. :) | 14:57 | |
14:57
ajr_ joined
|
|||
diakopter | privmsg me if you'd like to help out. :) | 14:58 | |
no prior experience required except passable English and mild computer skills | |||
14:58
frdmn|afk left
14:59
am0c left,
birdwindupbird left,
am0c joined
15:00
fhelmberger left
15:01
pecastro left
15:03
avar joined,
avar left,
avar joined
15:04
birdwindupbird joined
15:07
groky joined,
Bucciarati joined
|
|||
kresike | bye folks | 15:07 | |
15:07
kresike left
|
|||
tadzik | bye kaare_ e | 15:07 | |
:( | 15:08 | ||
kaare_: sorry, tabfail | |||
kbenson | Are the backlogs of this channel available anywhere else but at irclog.perlgeek.de/perl6/, or in raw form somewhere? | ||
15:08
pecastro joined
|
|||
geekosaur | [02 10:38] <moritz> olive.undo.it/log?channel=perl6 | 15:09 | |
we should just have something spit that out every time someone uses the word 'log' | |||
kbenson | ah, thanks! Have to get my fix. :) | ||
gtodd | should this exist --> doc.perl6.org/language/operators#infix+ff | 15:12 | |
tadzik | fun fact: I copied .ssh from one laptop to another | 15:14 | |
feather lets me in on pubkey, github doesn't | |||
FROGGS | gtodd: I think so | ||
kbenson | Are the logs available in raw form anywhere? I was thinking IRC logs would actually be a good candidate to use for git as a DB, and github as a distribution channel. | 15:16 | |
gtodd | FROGGS: am I correct that is equivalent to ".." :-) | 15:18 | |
moritz | kbenson: not as raw, just as sqldump | ||
kbenson | Oh, I can work with that. :) | ||
15:19
skyheights left
|
|||
FROGGS | gtodd: I have no idea, it is the first time I see infix:ff | 15:29 | |
gtodd | FROGGS: it seems not | ||
timotimo | GCC 4.9 introduces support for colored outputs in debugging - yay, they're taking good ideas from perl6! ;) | ||
tadzik | yeah, flip-flop | ||
from clang, more like ;) | 15:30 | ||
gtodd | yeah | ||
tadzik | r: for 1..10 { say if /3/ ff /8/ } | ||
camelia | rakudo 639d7f: OUTPUT«» | ||
FROGGS | ahh, there is even fff^ and ^ff^ and ^fff and others | ||
tadzik | r: for 1..10 { say 'DING' if /3/ ff /8/ } | ||
camelia | rakudo 639d7f: OUTPUT«DINGDINGDINGDINGDINGDING» | ||
FROGGS | r: for 1..10 { say /3/ ff /8/ } | 15:31 | |
camelia | rakudo 639d7f: OUTPUT«NilNil123456NilNil» | ||
FROGGS | do I have to understand that? | ||
gtodd | r: for 1..10 { say /3/ .. /8/ } | ||
camelia | rakudo 639d7f: OUTPUT«regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_… | ||
gtodd | hahah | ||
tadzik | FROGGS: no :) | ||
FROGGS | r: say /3/ .. /8/ | ||
camelia | rakudo 639d7f: OUTPUT«regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }» | ||
FROGGS | regex ranges O.o | 15:32 | |
ahh, the ff thing didnt work because it doesnt do smartmatching yet, right? | |||
gtodd | r: say 1 .. 8 | ||
camelia | rakudo 639d7f: OUTPUT«1..8» | ||
tadzik | FROGGS: it's not limited to regex, I think | 15:33 | |
it's just what its name says, flip-flop :) | |||
a condition flips on the left side, flops on the right side. On-off | |||
gtodd | it's not "fast forward" :-) | ||
tadzik | haha | ||
gtodd | say 1 ... 8 | ||
c: say 1 ... 8 | 15:34 | ||
15:34
frdmn joined
|
|||
tadzik | hmm, building rakudo on i5 is almost a pleasant and fast experience | 15:36 | |
took about 2 minutes, compared to 5-6 on c2d | |||
FROGGS | but not 2min in total | 15:38 | |
only stage parse, right? | |||
15:39
thou joined
|
|||
gtodd | r: my @list = '1' .. '8' ; say @list | 15:45 | |
camelia | rakudo 639d7f: OUTPUT«1 2 3 4 5 6 7 8» | ||
gtodd | my @list = 1 ... 8 ; say @list ; | ||
is equivalent | 15:46 | ||
colomon | r: my @list = '1' .. '8' ; say @list.perl | 15:49 | |
camelia | rakudo 639d7f: OUTPUT«Array.new("1", "2", "3", "4", "5", "6", "7", "8")» | ||
colomon | r: my @list = 1 ... 8 ; say @list.perl | 15:50 | |
moritz | FROGGS: on my $work machine, parsing the setting takes about 70s | ||
camelia | rakudo 639d7f: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8)» | ||
15:51
Targen_ joined,
Targen left
|
|||
gtodd | my @list = 1 .. 8 ; say @list <--- perl6 | 15:52 | |
my @list = 1 .. 8 ; say "@list" <--- perl5 | |||
but perl5 say "@list[4..6]" | |||
15:53
tgt left,
domidumont left
15:54
tgt joined,
FROGGS left,
swuecho left
|
|||
gtodd | is like perl6 say "@list[4..6]" and nothing like "for @list {say /4/ ff /6/}" | 15:55 | |
(sorry for figuring this out in the channel) | 15:56 | ||
r: my @list = 1 ... 8 ; say @list[4..6] ; for @list {say /4/ ff /6/} | |||
camelia | rakudo 639d7f: OUTPUT«5 6 7NilNilNil123NilNil» | ||
gtodd | is {say /4/ ff /6/} just counting members of the list/array when it says 1 2 3 ? | 15:57 | |
masak | gtodd: I'm mystified by that output. | 15:59 | |
gtodd | I thought it would say 5 6 7 ... but if ff means "flip flop" then I guess the last bit should be: for @list {say "beep" if /4/ ff /6/} | 16:03 | |
moritz | r: for 1..8 { .say if /4/ ff /6/ } | ||
camelia | rakudo 639d7f: OUTPUT«456» | ||
gtodd | oh | ||
the >.< infernal dot strikes me again | |||
moritz | r: for 1..8 { my $a = /4/ ff /6/; say "$_: $a" } | ||
camelia | rakudo 639d7f: OUTPUT«1: 2: 3: 4: 15: 26: 37: 8: » | ||
gtodd stares at screen and burns dot into retina | 16:04 | ||
moritz | and yes, it seems to count the number of times it returned True, starting from 1 | ||
gtodd | moritz: heh I figured that part out!! :-) | 16:06 | |
what I thought ff would be useful for in that sort of construction is for printing values from a list by position like you just did so | |||
16:07
ajr_ left
|
|||
gtodd | I feel I'm getting closer and closer to being a perl6 newborn | 16:07 | |
16:08
kivutar left
|
|||
masak | we'll try to not throw you out with the bathwater. | 16:08 | |
gtodd | :) | 16:10 | |
PerlJam | gtodd: maybe you wanted: say grep { /4/ ff /6/ }, @list; # ? | ||
masak | hm, how would that use case interact with the proposed change to make infix:<ff> smartmatch...? | 16:16 | |
16:19
woosley1 left
16:21
dmol joined,
am0c left
16:25
domidumont joined
16:31
FROGGS joined
16:40
alester joined
16:42
snearch joined
16:55
Chillance joined
17:03
daxim left
17:10
birdwindupbird left
17:12
tgt left
17:22
Celelibi joined
17:27
frdmn left,
frdmn joined
17:31
frd|afk joined
|
|||
timotimo tries, on a whim, to build EXPORT_HASH merged with nom and hopes to see it suddenly magically work | 17:33 | ||
17:35
frdmn left
|
|||
arnsholt | You never know =D | 17:40 | |
timotimo | well ... it doesn't build the CORE.setting :( | 17:42 | |
maybe git failed to properly merge the rename of the .pm to .nqp files? | 17:43 | ||
dalek | ecs: 6e2d9c9 | larry++ | S03-operators.pod: Define flipflops to use smartmatch semantics |
||
arnsholt | timotimo: Could be, but if the merge isn't fully automatic, it usually complains pretty loudly | ||
timotimo | the merge seems to have worked fine, but somehow the world around it must have changed | 17:45 | |
Method 'stash' not found for invocant of class 'DEFAULT' - not sure ... what? | |||
the changes i made should not make the build break. i'll try building nom to make sure it's my changes that make it break | 17:48 | ||
17:48
cognominal left
|
|||
dalek | rl6-roast-data: bf2fdf0 | coke++ | / (4 files): today (automated commit) |
17:51 | |
17:54
frd|afk is now known as frdmn
18:25
brrt1 joined
|
|||
TimToady | masak: by current semantics, grep { /a/ ff /b/ } cannot work because ff is returning integers, not Match, Nil, or Bool. You'd need to say grep { so /a/ ff /b/ } | 18:26 | |
18:27
brrt1 left
|
|||
TimToady | a full-fledged OKness solution would have forced those numbers into the OK category to prevent that, but right now we simply enumerate the "OK" types that smartmatching treats as success/failure, and Int cannot be one of them, since Int.ACCEPTS is important | 18:28 | |
PerlJam | yeah ... is ff specced to return ints? Or is that more of an implementation accident? | ||
TimToady | "anything not specced is like Perl 5" | ||
PerlJam | Perl 5 doesn't have ff ;) | 18:29 | |
TimToady | :P | ||
masak | TimToady: why does .grep care whether infix:<ff> emits Bool or (boolable) Int? | ||
TimToady | grep does smartmatching on its own, apart from ff | 18:30 | |
moritz_ | TimToady: grep doesn't smart-match against the return value of the block | ||
it smart-matches against the block, which invokes it | |||
and then it boolifies the result | |||
TimToady | Oh, yeah, I guess that fixes it | ||
masak | thought so. | ||
TimToady | nevermind | ||
TimToady would like to think he's still overly stupid from the surgery... | 18:31 | ||
masak hugs TimToady | |||
TimToady | but probably the surgery merely removed my memories of how stupid I was before... | ||
lizmat hugs TimToady as well | |||
PerlJam | If only there were an easy way to tell each other's cognitive capacity and current cognitive load | ||
lizmat | and OS running | 18:32 | |
rn: my @a; my $b; @a.push $b | 18:34 | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Two terms in a row (method call requires colon or parens to take arguments) at /tmp/u_r1eaHmQi line 1:------> my @a; my $b; @a.push ⏏$bParse failed» | ||
..rakudo 639d7f: OUTPUT«===SORRY!===Two terms in a rowat /tmp/6oBSTH7N1f:1------> my @a; my $b; @a.push ⏏$b expecting any of: method arguments postfix infix stopper infix or meta-infix statement end … | |||
lizmat | rn: my @a; sub foo {1}; @a.push &foo | ||
camelia | rakudo 639d7f, niecza v24-37-gf9c8fc2: ( no output ) | ||
lizmat | the last one doesn't give a "two terms in a row" error because it is parsed like: "my @a; sub foo {1}; @a.push & foo" (note the space after &) | 18:35 | |
18:35
rindolf joined
|
|||
moritz_ | lizmat: yes, there's an infix:<&> but not an infix:<$> | 18:35 | |
lizmat | masak earlier today stated that he also got caught by the duality of & in the past | ||
colomon | rn: my @a; sub foo { say 1}; @a.push &foo; say @a.perl | 18:36 | |
moritz_ | and the interpretation as @a.push() & foo() is perfectly valid | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«1[].list» | ||
..rakudo 639d7f: OUTPUT«1Array.new()» | |||
colomon | why does @a.push() make sense? | 18:37 | |
moritz_ | you can't expect the parser to catch all of your thinkos | ||
lizmat | and had it been written like that (with whitespace after &), I would have seen that immediately as well | ||
TimToady | we could probably cobble together a warning that would operate only if the whitespace around & was unbalanced | ||
moritz_ | colomon: why shouldn't it? | ||
TimToady | people usually write 1&2 or 1 & 2 | ||
if they mean the infix | |||
lizmat | colomon: you should be able to push an empty list | ||
colomon | moritz_: you're not pushing anything. | ||
moritz_ | colomon: which is perfectly fine. Consider @a.push: @b | 18:38 | |
would you want that to fail just because @b is empty? | |||
or @a.push: |@b; | |||
colomon | no, but @a.push() is clearly *wrong* | 18:39 | |
TimToady | only if you haven't redefined .push | ||
PerlJam | depends on the meaning you assing to those () if it's wrong or not :) | ||
colomon | whereas @a.push(|@b) is perfectly sensible | ||
lizmat | colomon: as masak stated, there are other situations where &foo can be a surprise | ||
moritz_ | colomon: the parser does't know about the type of @a (other then it's positional), and at runtime it's too late to know how the empty list was passed | 18:40 | |
colomon: so I don't see which part could decide that it's "wrong" | |||
TimToady | we can certainly treat operators as verbs known at compile time, but it's much dicier to assume we know what method names mean in the current language | ||
since it's the object that's deciding, not the lexical scope | |||
lizmat | so I wonder, maybe it would be an idea to *force* whitespace around an infix &, to visually seperate this from the sigil & ? | 18:41 | |
TimToady | no, only force balance | ||
1&2 is also okay | |||
moritz_ | not even perl 5 descends into this madness (guessing the arity of methods) | ||
lizmat: forcing stuff that doesn't need to be forced isn't the Perl way | 18:42 | ||
TimToady | the other option is for & to refuse to parse as in infix if the &foo can be taken as a known function name | ||
then you'd actually get a TTIAR error there | |||
lizmat | that would actually make more sense | ||
TimToady | well, except for things like sin($x)&cos($x) | 18:43 | |
lizmat | I suggested "termizing &foo" earlier today on #masakism | ||
ok, back to unbalanced whitespace warning | 18:44 | ||
masak | moritz_: heh, calm down. not suggesting madness here ;) | 18:45 | |
lizmat | too bad we can't have another sigil for subroutines | ||
masak | moritz_: suggesting catching a thinko in the vicinity of [email@hidden.address] &fn', which caught out lizmat and would catch out me just as well, if I hadn't been bitten by similar things before. | ||
TimToady | all the good ones are taken | ||
PerlJam | There's a whole bunch of unicode ones ;) | 18:46 | |
moritz_ | masak: I'm not against trying to catch thinkos, I just strongly oppose that one road | ||
masak | moritz_: I'm arguing for something like "no-one would ever write [email@hidden.address] &fn' if they meant [email@hidden.address] & fn()'" | ||
TimToady | it's not being considered | ||
masak | moritz_: a suppressible warning? | 18:47 | |
TimToady | by balancing the whitespace | ||
PerlJam | TimToady: why balanced exactly? 1& 2 wouldn't trip up any one, would it? | ||
masak | moritz_: to help people who really didn't mean that. | ||
TimToady | PerlJam: they probably think they're backgrounding the 1 there :) | ||
the point is, silently doing the wrong thing is Very Upsetting | 18:48 | ||
FROGGS | maybe there should be a warning "... better written as ..." in general for: thing.method\s&alpha | 18:50 | |
... thing.method\s&\salpha to mean a junction | |||
moritz_ | or more general, for <term> <?term><infix><term> | ||
FROGGS | ... thing.method: &alpha to pass it as an arg | ||
lizmat | moritz: I think the problem really only exists when & is involved, because of its duality as a sigil and an operator | 18:51 | |
FROGGS | % too | 18:52 | |
lizmat | damn, you're right | ||
FROGGS | r: my @a; sub foo { }; @a.push %foo | ||
camelia | rakudo 639d7f: OUTPUT«use of uninitialized value of type Nil in numeric context in block at /tmp/GNbCPGARwM:1» | ||
moritz_ | and don't forget that there can be user-defined operators too | 18:53 | |
FROGGS | hmm, or? % may be not | ||
moritz_ | sure, it's both an infix and a sigil | ||
FROGGS | r: my @a; my %foo; @a.push %foo # TTIAR | ||
camelia | rakudo 639d7f: OUTPUT«===SORRY!===Undeclared routine: foo used at line 1» | ||
masak | r: sub infix:<@> { return 7 }; my @a; sub foo; @a.push @foo; say @a | ||
camelia | rakudo 639d7f: OUTPUT«===SORRY!===Missing blockat /tmp/9lUs6EyT7H:1------> b infix:<@> { return 7 }; my @a; sub foo⏏; @a.push @foo; say @a expecting any of: scoped declarator constraint postfix statement end … | ||
masak | r: sub infix:<@> { return 7 }; my @a; sub foo {}; @a.push @foo; say @a | 18:54 | |
camelia | rakudo 639d7f: OUTPUT«Too many positional parameters passed; got 2 but expected 0 in sub infix:<@> at /tmp/woJQHGDvpN:1 in block at /tmp/woJQHGDvpN:1» | ||
masak | r: sub infix:<@>($, $) { return 7 }; my @a; sub foo {}; @a.push @foo; say @a | ||
camelia | rakudo 639d7f: OUTPUT«» | ||
masak | heh :) | ||
r: sub infix:<@>($, $) { return 7 }; my @a; sub foo {}; say @a.push @foo | |||
camelia | rakudo 639d7f: OUTPUT«7» | ||
TimToady | much likelier with &foo since there's going to be something callable as 'foo' | ||
FROGGS | true | ||
masak | yeah. | ||
we help fivers who accidentally infix:<.> when they should infix:<~>. we help them when they accidentally 'say' instead of '.say' (though it's a longstanding Rakudo bug that we don't any more). we help them when they 'while (<>)'. I think we should do something when they [email@hidden.address] &foo', too. | 18:56 | ||
lizmat | ich bin ein fiver! | 18:57 | |
TimToady | well, though that's not a fivers-ish error | ||
since methods require parens for args, and there's no colon equivalent | |||
lizmat | aspiring to be more ;-) | ||
18:57
domidumont left
|
|||
lizmat | I think my error came from mentally translating p5: "push @a" to just [email@hidden.address] in perl 6 | 18:59 | |
19:00
[particle]1 is now known as [particle]
|
|||
lizmat | in p5 I wouldn't have done any parens | 19:00 | |
TimToady | because push isn't a method | ||
masak | TimToady: saying it's not a fivers-ish error is fine and all, but lizmat making the error is still a data point. | ||
:) | |||
TimToady | well, and a very fine datapoint it is | ||
huf | but what color is it? | ||
lizmat | well, not an important one | ||
I wouldn't have pushed this without masak's datapoint | 19:01 | ||
TimToady | we wouldn't be wast^Winvesting all this time discussing it if it weren't a good datapoint | ||
19:01
census joined
|
|||
PerlJam | lizmat: two data points shows a trend right? :) | 19:01 | |
19:02
dmol left
|
|||
lizmat | I suggest we turn this into a rakudobug and let this simmer for a while, until we get more data points? | 19:02 | |
huf | PerlJam: and one shows all the trends, surely that's even better! | ||
TimToady | it's more of a STDbug | ||
19:02
dmol joined
|
|||
masak | lizmat: let me find you the RT ticket wher I get bitten. | 19:02 | |
might be interesting. | |||
TimToady | ooh, I already have a baremeth memo, so this should be easyish | 19:04 | |
FROGGS | TimToady: btw, should I report STDbugs when I hit them? | 19:06 | |
err, STD_P5 bugs I mean | |||
TimToady | you could just, like, fix 'em instead :) | ||
FROGGS | okay, that is fine too :o) | 19:07 | |
like: | |||
std: use v5; say 1 foreach 1 | |||
camelia | std 316b40b: OUTPUT«===SORRY!===Confused at /tmp/wqkpzudKHB line 1:------> use v5; say 1 ⏏foreach 1 expecting any of: p5infix p5statement_mod_loop statement modifierParse failedFAILED 00:01 52m» | ||
timotimo | moritz_: you were the one who was helping me make EXPORT_hash, right? | 19:08 | |
TimToady | mind you, I'd love to kill 'foreach' as a synonym for 'for' in P5 too... | ||
it's ugly, ugly, ugly... | |||
FROGGS | well, we are here to kill ugly things, but not in Perl 5 :P | 19:09 | |
masak | lizmat: here: rt.perl.org/rt3/Ticket/Display.html?id=76432 | ||
TimToady | </whimper> | ||
FROGGS | *g* | ||
moritz_ | timotimo: well yes, I tried to | ||
timotimo: and I asked jnthn++ for help, who was overloaded | |||
lizmat | fwiw, I always used "foreach" in P5 as true Perl style loop, and "for" for C-style loops | ||
timotimo | what exactly is the sub EXPORT supposed to return again? i'm getting get_iter() not implemented in class List or Hash depending on what i return from that sub | ||
i have only one WIP commit up on my rakudo fork and it doesn't seem to be correct enough yet | 19:10 | ||
do you still have your code somewhere? | |||
moritz_ | timotimo: a hash | 19:11 | |
timotimo | in that case i must be using it wrong. probably need to decont it before passing it to $*W.import? | 19:12 | |
19:12
tgt joined
|
|||
jnthn | If you're writing NQP code, you need to grab the underlying storage of the hash, not work with the Perl 6 Hash object. | 19:13 | |
FROGGS | timotimo: I pretty much interested in this too, do you have local patches to make something work or are you just testing someting? | ||
moritz_ | decont and de-6ize | ||
timotimo | ah, grabbing the underlying storage, i think i've done that somewhere else before. | ||
jnthn | .FLATTENABLE_HASH() is the current hack for doing it. | ||
lizmat | masak: and of course, that ticket gets worse if there actually had been a "x" sub | ||
because then there would have been a good chance it would fail silently | 19:14 | ||
jnthn | In the future you'll be able to write nqp::hllize($a_p6_hash) in NQP code. | ||
But I'm not quite there with that yet. | |||
Like so many things I should do but ain't got to... | |||
moritz_ | but the real problem was taht the serialization context was null | ||
jnthn | Was it being used in a wval? | 19:15 | |
moritz_ | yes | ||
timotimo: the code is in your fork in branch EXPORT_hash | |||
timotimo: five commits related to that branch, in fact | |||
jnthn | Shouldn't be much worse than: if nqp::isnull(nqp::getobjsc($obj)) { $*W.add_object($obj); } | ||
There may already be a method inherited from HLL::World that does this. | 19:16 | ||
timotimo | huh. i must have pulled wrong! | ||
FROGGS | /o\ pulled at the wrong end | ||
timotimo | indeed it is! | 19:17 | |
moritz_ | jnthn: iirc it was during PAST compilation, I don't even know if there's a $*W still around | ||
anyway, time for me to sleep; might try again tomorrow | |||
FROGGS | gnight moritz_ | ||
timotimo | good night moritz_! | ||
moritz_ waves | 19:18 | ||
19:18
pmurias joined
|
|||
pmurias | is there a backup irc log? | 19:18 | |
FROGGS | look at the topic | ||
masak | 'nacht, moritz_ | ||
lizmat | pmurias: see topic, olive.undo.it/log?channel=perl6 | 19:19 | |
jnthn | moritz_: That needs doing at the point the thing is put in a WVal, I suspect. | ||
So, in World somewhere | |||
19:25
grondilu_ joined
|
|||
grondilu_ | wtf, someone stole my nick?! | 19:25 | |
FROGGS | timotimo: so this is about ex-/importing a single symbol? | ||
19:26
moritz_ left
|
|||
pmurias | jnthn: what was nessecary to go from nqp-running-on-parrot passing all tests with the jvm backend to nqp-running-on-jvm passing all tests with the jvm backend? | 19:26 | |
FROGGS | timotimo: since I need that too for v5 and I have some knowledge about this, I'd like to hook in | 19:27 | |
pmurias is writing the schedule for his gsoc nqp-javascript proposal | |||
FROGGS | pmurias++ | ||
19:27
grondilu_ left,
grondilu_ joined
|
|||
jnthn | pmurias: Well, you can't quite do the cross-compile thing to get all of the tests. | 19:28 | |
19:28
cognominal joined
|
|||
jnthn | pmurias: 49-regex-interpolation.t requires eval functionality, essentially. Which you can't get until selfhost. | 19:28 | |
pmurias: I remember doing quite a bit of work in that stage, but I think most of it was actually mostly about abstracting things so they could be ported. | 19:29 | ||
pmurias: The rest is adding various missing ops that don't show up in the test suite and hunting bugs, by and large. | 19:30 | ||
pmurias: For bootstrap, the big task is to write the serialization side of things (to get to a selfhost you need a deserializer, but to get it to build itself you need the serializer part too). There are tests that guide you through much of that. | |||
19:31
tgt left
|
|||
jnthn | (The "abstracting things so they could be ported" was mostly a one-shot thing, so you don't need to do that again.) | 19:32 | |
19:32
grondilu_ is now known as grondilu
|
|||
grondilu | \o/ | 19:32 | |
19:32
diakopter left
|
|||
timotimo | "the thing", that is being returned from the EXPORT sub? but it would probably be put into a WVal when the EXPORT sub is being run from the piece of Grammar.nqp code that parses and executes the use statement? | 19:37 | |
jnthn | timotimo: I dunno, what are you putting in WVals? :) | 19:38 | |
timotimo | i don't manually add anything yet. i will probably have to, since the EXPORT sub is being called "outside of the world", is that somewhat right? | 19:39 | |
jnthn | I dunno...I probably need to see the code. | ||
timotimo | easy, i'll give you a link | 19:40 | |
github.com/timo/rakudo/tree/EXPORT_hash - this is the one | |||
19:40
ajr joined
19:41
ajr is now known as Guest49779
|
|||
jnthn | ah, you're treating it as a stash and passing it to import... | 19:42 | |
So I guess the question is what import does | |||
timotimo | didn't manage to fully grok it last time; or maybe i did and forgot until now ;) | ||
jnthn | hmmmm | 19:43 | |
OK, I don't immediately see what's wrong. | |||
19:43
Guest49779 left
|
|||
pmurias | does the plan look sane thus far (Inch-Stones in pastie.org/7754601)? | 19:45 | |
jnthn | timotimo: Try applying gist.github.com/jnthn/5504848 and seeing what kind of object it complains about in the QAST::WVal compilation. That should give us a much better clue at what is going on, I hope. | 19:46 | |
19:46
ajr_ joined
19:47
ajr_ left
|
|||
jnthn | pmurias: On "Implement grammars." it's really "implement QAST::Regex compilation and the NFA-related nqp:: ops" | 19:48 | |
labster | github.com/perl6/specs/commit/206a...-names.pod -- this change for $*OS to $*KERNEL happened 4 years ago and still isn't implemented. Anyone know what mailing list the message is talking about? | ||
jnthn | pmurias: No strong objection to the current wording really though | 19:49 | |
pmurias: "Implement multi methods." is in a similar camp - the actual candidate sort is done in NQP code now, it's a cache and a few other capture related ops that need adding. | |||
pmurias: Overall, looks good | 19:50 | ||
pmurias: It doesn't quite get that 49 needs self host, not bootstrapped. | |||
(self host = you can use the cross-compiler to get an NQP that runs without Parrot; bootstrapped = that NQP running purely in JavaScript can compiler itself.) | 19:51 | ||
49 requires selfhost, not bootstrap. | |||
But the plan seems sane and I like we'll get a better test suite from this too \o/ | 19:52 | ||
pmurias++ | |||
19:52
ajr_ joined
|
|||
lizmat | std: my @a[*] | 19:53 | |
camelia | std 316b40b: OUTPUT«ok 00:00 43m» | ||
lizmat | std: my @a[4] | ||
camelia | std 316b40b: OUTPUT«ok 00:00 43m» | ||
lizmat | rn: my @a[4] | 19:54 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Postconstraints, and shapes on variable declarators NYI at /tmp/fdcLYd_um9 line 1 (EOF):------> my @a[4]⏏<EOL>Potential difficulties: @a is declared but not used at /tmp/fdcLYd_um9 line 1:------> [3… | ||
..rakudo 639d7f: OUTPUT«===SORRY!===Shaped variable declarations not yet implemented. Sorry. at /tmp/YTrNN7zyqV:1------> my @a[4]⏏<EOL>» | |||
masak | Rakudo says sorry twice. | 19:57 | |
lizmat | RSN, Real Sorry Now :) | ||
masak | :) | ||
masak .oO( YTYST -- You Think You're Sorry Today ) | 19:58 | ||
20:00
tgt joined
20:09
bruges_ joined
|
|||
[Coke] | I come not to bury Perl 5 but to Bayes it? | 20:11 | |
TimToady | probably | 20:12 | |
lizmat | :-) | ||
[Coke] | TimToady++ | 20:13 | |
pmichaud | Rakudo feels especially bad about the lack of shaped variable declarations. | 20:14 | |
jnthn: I've been thinking we might want t/ops in nqp to test the nqp:: ops. | 20:15 | ||
I might start a few examples. | 20:16 | ||
TimToady | wow, these habaneros are almost like having real hot sauce... | 20:18 | |
timotimo | is "cakes" really one syllable? | 20:19 | |
TimToady | yes | ||
PerlJam | timotimo: no, I pronounce it "CA-kes" | ||
;> | |||
This guy is really not a good Go advocate: devslovebacon.com/conferences/bacon...-milkshake | 20:20 | ||
masak | PerlJam: I tried watching that video, but my hotel connection is too slow. :/ do you think you could summarize why he's not a good Go advocate? | 20:22 | |
PerlJam: I only got a few minutes in, and noticed that he's not an experienced speaker, because he had already criticized his own slides twice by the fourth slide. | |||
PerlJam | my summary would be: the first 10 or 15 minutes is whinging about javascript and scala, and then gives fairly weak examples of why Go is great. It seems to boil down to "Go is simple and I can understand it" | 20:25 | |
lizmat | which might actually be important | 20:26 | |
PerlJam | aye 'tis true. | ||
lizmat | I've come to the conclusion that writing threaded programs is not for most, even experienced, programmers | ||
PerlJam | still very one dimenisonal though | ||
lizmat | there are too many ways for creating deadlocks | 20:27 | |
PerlJam | There's always "other stuff" that comes into play when actually using a language. | ||
lizmat | or have race conditions that won't show up until a system is actually loaded | ||
PerlJam | lizmat: parallelism is not natural for humans :) | 20:28 | |
lizmat | that's what I like about Perl 6: it will do a lot of that automagically under the hood | ||
indeed | |||
20:30
grondilu left
|
|||
jnthn | pmichaud: That may make sense. 59-nqpops.t is rather long and will only get longer. | 20:30 | |
masak | "Unaligned end in UTF-8 string" | ||
masak curses under his breath | |||
I thought we had gotten rid of that bug. :/ | 20:31 | ||
pmichaud | jnthn: I'll give it a start, then. That's a good LHF task for others, too. | ||
20:31
rindolf left
20:32
kivutar joined
|
|||
jnthn | pmichaud: Yeah. When porting, the feedback being "we either can compile this whole big test file or we can't" is a little LTA | 20:37 | |
20:38
dmol left
20:42
tgt left
|
|||
dalek | kudo/jvm-support: 4917384 | jnthn++ | src/vm/jvm/Perl6/Ops.nqp: Map p6getcallsig for JVM. |
20:44 | |
kudo/jvm-support: db60056 | jnthn++ | src/ (2 files): Eliminate or add JVM options to some QAST::VM. |
|||
p/rak-jvm-support: 6a561fc | jnthn++ | src/vm/jvm/QAST/Compiler.nqp: Implement missing sub want. |
20:45 | ||
20:46
tgt joined,
swuecho joined
20:47
toebu joined
20:50
sqirrel left
20:54
spider-mario left
|
|||
labster | Okay, that was exciting. I finally found the bug that made panda fail on my IO::Path branch. lib.pm failed because I used MAKE_REGEX in IO::Spec::Win32. | 20:54 | |
FROGGS | ahh, wow | 20:55 | |
labster | Not that lib.pm actually uses regexes or anything... I honestly have no idea why it fails, as it alternates between "No object at index 16" and "get_attr_str() not implemented in class 'NQPMu'" errors | 20:56 | |
MAKE_REGEX was sort of my last ditch attempt to make Win32 readable, because rx// and regex {} make the core not compile :( | 20:57 | ||
20:58
tgt left
|
|||
labster | But I have no idea how those functions even interact at all. | 20:58 | |
21:00
kaare_ left
|
|||
dalek | /experimental: 63f1ed2 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: ?-quantifier doesnt make PMCA's now, moving towards rakudo |
21:02 | |
/experimental: 64b67da | (Tobias Leich)++ | lib/Perl5/Terms.pm: (almost) support chop and chomp properly |
|||
21:05
skids left
|
|||
dalek | /experimental: 4ef1315 | (Tobias Leich)++ | rakudo.patch: latest rakudo changes |
21:05 | |
: 311d5e3 | (Tobias Leich)++ | lib/ (3 files): a try to replace Cool from CORE.setting with our own fivy stuff |
21:06 | ||
v5: 60402f5 | (Tobias Leich)++ | / (11 files): | |||
v5: rename all Perl6::P5... to Perl5::... | |||
21:06
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
FROGGS | labster: the problem is that you are between the chairs, so not everything is available at that time | 21:07 | |
21:07
mavcunha left
|
|||
lizmat | sleep& | 21:10 | |
21:17
snoopy joined
|
|||
masak | could someone try and reproduce this? gist.github.com/masak/5505540 -- I thought we had gotten rid of those problems, but it seems not :/ | 21:18 | |
FROGGS | file q | 21:21 | |
q: HTML document, UTF-8 Unicode text, with very long lines | |||
froggs@TL02L-R8RXTCW-linux:~/dev$ perl6 -e 'qx[cat q]' | |||
froggs@TL02L-R8RXTCW-linux:~/dev$ | |||
masak: no problems | |||
jnthn | Worked for me on Windows. | 21:22 | |
Well, I don't have the "file" program | |||
And s/cat/type/ | |||
masak | :) | ||
FROGGS | masak: what is your locale? maybe this is the difference? | 21:23 | |
masak | hm, I copied the file from the gist, and that works here, too :/ | ||
FROGGS | I'm on ubuntu btw, LANG=de_DE.UTF-8 | ||
O.o | |||
masak | what's a safe way to transfer the file in binary form? | ||
here, let me put it online. | 21:24 | ||
masak.org/carl/tmp/q | |||
timotimo | gzip it, that'll either give you a faithful replication on the other end, or it will maim the file so bad that it will fail to come out at the other end at all | ||
masak | yes, that triggers it. | ||
21:24
swuecho left
|
|||
masak | please try with that one :) | 21:25 | |
FROGGS | no, doesnt trigger it | ||
ohh, hold on | |||
wget makes a q.1 | |||
masak | yeah. | ||
if you already had a q | |||
FROGGS | yeah, triggers it | ||
masak | bingo. | ||
timotimo | reproduced here, too | ||
masak | now let's diagnose the file. | ||
timotimo | and now i'll go to bed | ||
FROGGS | masak: line ending? | ||
masak | looks like. | 21:26 | |
a bunch of whitespace is the only diff between the innocent one that I copied from the gist, and the one that fails. | |||
so we all agree that there's nothing wrong with q.1, UTF-8-wise? | |||
FROGGS | no, there is another whitespace | ||
flussence | "iconv q.txt | wc" and "iconv -c q.txt | wc" both give identical results, so that doesn't seem to mind whatever it is... | ||
masak | I tried to golf the input file, but then the bug goes away :( | 21:27 | |
FROGGS | masak: the diff just shows a regular space char before LN on the blank lines | ||
masak | yeah. | 21:28 | |
FROGGS | so the bad file has LNLN | ||
masak would like to find a better way to reproduce the file q before submitting this | |||
FROGGS | if I add a space to line 2 and four it parses | ||
I guess this is about chunks | 21:29 | ||
maybe like: 256 bytesLNLN breaks, while 256bytesLN\sLN does not | |||
will try | |||
masak | FROGGS++ | 21:30 | |
flussence | all the byte values look 7-bit-clean to me too, other than the two em dashes | 21:31 | |
masak | yeah. | ||
21:34
tgt joined
|
|||
masak | hm, I can create a Perl script that just recreates q from hex numbers... | 21:35 | |
FROGGS | .u — | ||
yoleaux | U+2014 EM DASH [Pd] (—) | ||
FROGGS | this might cause it | ||
last text line col 89 | |||
flussence | ...*sigh* | 21:36 | |
that char is RIGHT ON a 1024-byte boundary | |||
21:37
kurahaupo joined
|
|||
FROGGS | that is what I testing right now.. | 21:37 | |
hmmm | 21:38 | ||
masak | flussence: aha! | ||
jnthn | r: say self.WHERE.WHAT | ||
camelia | rakudo 639d7f: OUTPUT«===SORRY!==='self' used where no object is availableat /tmp/ghY53UTauT:1------> say ⏏self.WHERE.WHAT expecting any of: argument list prefix or term prefix or meta-prefix» | ||
jnthn | r: say Any.WHERE.WHAT | ||
camelia | rakudo 639d7f: OUTPUT«(Int)» | ||
masak | flussence: so we should be able to generate a file with 1023 spaces and an EM DASH, which blows up? | ||
21:39
snoopy left
|
|||
flussence | doesn't happen if I pipe it and print $*IN... | 21:40 | |
21:40
bluescreen10 left
|
|||
FROGGS | I tried: perl6 -e 'qx[perl6 -e "say 1 x 2047,q|—|"]' | 21:41 | |
doesnt trigger it either | |||
[Coke] | r: say Any.WHERE.WHAT.HOW | ||
camelia | rakudo 639d7f: OUTPUT«Perl6::Metamodel::ClassHOW.new()» | ||
masak | FROGGS: perl -e 'print " " x 2047, q|—|' | ||
FROGGS: pipe it to a file. triggers it here. | |||
FROGGS | masak: shortest example evar!!: perl6 -e 'qx[perl6 -e "say 1 x 2047,q|—|" | cat]' | 21:42 | |
flussence | yep, just did the same thing here | ||
(mine was a bit more long-winded though: for i in `seq 2042 2048`; do perl6 -e "say q{ } x $i ~ qq{\x[2014]}" > r.txt; perl6 -e 'say qx[cat r.txt]'; done; ) | |||
masak | FROGGS++ | ||
masak submits rakudobug | |||
FROGGS | looks like chunksize is 2048 | 21:43 | |
since 1023 and 2048 is fine | |||
masak | in short, Parrot blows chunks. and it's not pretty. | ||
FROGGS++ flussence++ # helping narrow this down | 21:45 | ||
FROGGS | these are fun tasks actually :o) | 21:46 | |
21:47
PacoAir left
|
|||
jnthn | They ain't fun if you're trying to get shit done. :/ | 21:48 | |
[Coke] | maybe we can catch more of Util's tuits. | ||
FROGGS | jnthn: I know that, do you think working on a should-be-simple problem for a week is fun? nah :o) | ||
jnthn | FROGGS: Know it all to well. | 21:49 | |
jnthn has spent the last couple of hours trying to de-magic the way we handle $/ and $!. | |||
FROGGS is still waiting for his learning curve to pay off | |||
jnthn | Joy, a segfault. | 21:50 | |
flussence | I think I'm desensitized to the wonders of parrot IO already because I wrote PHP code for a few years | ||
FROGGS | hmmm, I never have problems with file IO and php | 21:52 | |
flussence | (my favourte bug there was that their equivalent of a LEAVE-block at the top level would run outside their equivalent of the setting, but only when run as a fastcgi) | ||
FROGGS | but, I usually run a regex of an input stream to make it (non-)utf8 | 21:53 | |
labster | FROGGS++ #excellent golfing | ||
FROGGS | :o) | ||
thanks | |||
masak | this last bug made me depressed. if it had happened in 2008 I wouldn't have blinked. but we should really have shaken out simple stuff like that by now. | 21:55 | |
well, Parrot should have. | 21:56 | ||
FROGGS | :/ | 21:58 | |
21:58
tgt left
|
|||
FROGGS | masak: so an answer is the selfhosting nqp on Go? | 21:59 | |
:o) | |||
I really like that idea | |||
masak | well, the JVM is closer to being available. | ||
FROGGS | yeah, of course | 22:00 | |
and it will give us major improvements | |||
and one of the best things: we can fiddle with it | 22:01 | ||
I just can give up when lookup at parrots code, it is so damn huge | |||
[Coke] | masak: Does ranting about what parrot should have done by now help fix the problem or identify a process problem that could be fixed? | ||
labster | I think that means I'm going to have to finally upgrade from Mac OS X 10.6 -- I'm currently stuck with Java 1.6 | 22:02 | |
[Coke]: that's not really a rant. | |||
FROGGS | I think ranting about parrot just helps the ranter | ||
22:02
robinsmidsrod left
22:03
tgt joined
|
|||
[Coke] | No, that particular send wasn't a rant, no. | 22:03 | |
labster | Well, ranting about Perl 6 doesn't seem to make it go any faster, either. | ||
22:03
kivutar left
|
|||
FROGGS | it just makes the few devs depressive | 22:04 | |
22:04
robinsmidsrod joined
|
|||
masak | [Coke]: ranting about Parrot doesn't fix anything. | 22:05 | |
[Coke]: let's just say I'm eager to get off it. | |||
I don't want to fix it. | |||
dalek | kudo/jvm-support: 8a33dd1 | jnthn++ | src/core/Mu.pm: Avoid possible infinite recursion in setting comp. Certain errors hit Mu.Str, which uses Int.Str, before Int.Str had been defined. The result was infinite recursion. |
||
kudo/jvm-support: 5dd6eb7 | jnthn++ | src/Perl6/Actions.nqp: Don't use add_implicit_var for $*DISPATCHER. That will be about doing $/ and friends. |
|||
masak | [Coke]: here's the process problem that should be fixed: a "refactor" that has negative effects for actual production code months later should be rolled back, or preferably not happen in the first place. | 22:07 | |
[Coke]: here's what Parrot should have done: care deeply about UTF-8. test it thoroughly. consider it a process error if something as blatant as the just-reported RT ticket snuck past the tests. | 22:08 | ||
here's what I'm going to do about it: focus my energies elsewhere, on more mature stacks. | 22:09 | ||
22:12
mtk left
22:14
donaldh_ joined
22:15
mtk joined
22:18
wooden joined,
wooden left,
wooden joined
|
|||
FROGGS | did you guys know? 2+0+1+3 is actually 6, this has to mean something.... gnight | 22:19 | |
masak | coincidence? I think not! | ||
FROGGS | :o) | ||
22:20
FROGGS left
|
|||
masak | rn: say [+] "2013".comb | 22:20 | |
camelia | rakudo 639d7f, niecza v24-37-gf9c8fc2: OUTPUT«6» | ||
labster | If you add the first and last digits, it makes 5, which means that the Law of Fives holds. | ||
22:26
Chillance left
|
|||
labster | is there something similar to the /o switch in perl 6 -- make a regex compile only once? | 22:27 | |
jnthn | labster: Are you doing some kind of interpolation? | 22:28 | |
labster | yes | ||
jnthn | Of the <$x> kind, interpolating a textual thing? | 22:29 | |
jnthn ponders a bit | |||
labster | I'd precompile, but everything I've tried to do that in the setting fails by either parsefailing or breaking random (and I do mean random) modules | ||
22:29
arlinius joined
|
|||
labster | I can just put everything in the regex expressions, it's just ugly and harder to maintain. | 22:30 | |
jnthn | labster: Have you taken a look at where in the setting you're putting it, ooc? | 22:31 | |
labster: Order can matter. | |||
lue | hello world o/ | ||
lue saw "parrot" and general bad vibes, thus he backlogs | 22:32 | ||
masak | 'night, #perl6 | 22:33 | |
labster | Well, it needs to be before IO.pm, which doesn't leave me a lot of options. I can play with it a bit, I guess. | ||
jnthn | Just looking through the order though, at the moment all the IO stuff comes before any of Match, Cursor or Regex. | 22:37 | |
It may be you can move all the IO stuff after those, and that it helps. | 22:38 | ||
22:43
sizz left
22:44
sizz joined
22:45
snearch left
22:48
sizz left
|
|||
donaldh_ | jnthn: java.lang.RuntimeException: Method code too large! when compiling src/stage1/gen/QAST.nqp on MacOS | 22:51 | |
sorear | does it know that methods are limited to 65534 bytes of code? | 22:52 | |
and is that what the error means? | |||
jnthn | Yes. *sigh* | ||
donaldh_ | I guess that's what the error means | 22:53 | |
22:53
sizz joined
22:54
nyuszika7h joined
|
|||
jnthn | It's probably because the mainline of that file is *huge*, combined with me not having got around to improving various bits of code-gen. | 22:55 | |
22:55
woosley1 joined
22:56
woosley1 left
|
|||
jnthn | I'm presuming it's the mainline, anyways. | 22:57 | |
22:57
pmurias left
|
|||
donaldh_ | Yeah, I was guessing that too. | 22:57 | |
jnthn | Well, the workaround is easy: move a chunk of the mainline into a sub and call it. | 22:58 | |
donaldh_ | :) | ||
jnthn | otoh, that mainline should not take 64kb of code :) | ||
donaldh_ | I'll give it a try. | ||
[Coke] | gzip it! ;) | 22:59 | |
(sorry, I've been living inside .xlsx files for the last few months. :P | |||
flussence | .oO( :set ts=2 ) |
||
jnthn | heh | ||
jnthn wonders if we shouldn't just have some array of all the ops | |||
And loop over it, adding them. | |||
23:00
skids joined
|
|||
jnthn | At the moment we end up with a CallSite for all of those setup method calls which we only do once... | 23:00 | |
23:02
alester left
23:04
shachaf_ joined,
shachaf_ left,
shachaf_ joined,
shachaf_ is now known as shachaf
|
|||
dalek | kudo/jvm-support: 4ea6b14 | jnthn++ | src/ (5 files): Eliminate $! and $/ magic tricks in lexpad PMC. This is part of trying to eliminate the Perl6Lexpad PMC overall. This does also make $! and $/ more "normal" and we can probably generate better lookups for them in some cases now (which at the times the tricks were put in didn't exist; they landed with QAST). |
23:05 | |
23:06
mikemol left
|
|||
dalek | kudo/jvm-support: b84e933 | jnthn++ | src/vm/parrot/pmc/perl6lexpad.pmc: Remove left behind debugging code. |
23:06 | |
pmichaud | I added to the RT ticket, but I'm not able to reproduce the 2048-byte-boundary bug on my system. | 23:07 | |
23:08
mikemol joined
|
|||
donaldh_ | Mmm, yes. Method is 65838 bytes long and has 739 local vars :-) | 23:14 | |
jnthn | Wow. :-) | ||
YOu get 64K vars in a method too I guess, but I dunno how you can ever use them with only 64K of code :) | 23:15 | ||
Is it the mainline? | |||
.oO( The joy of things made in the 90s... :) ) |
23:16 | ||
.oO( At least it drives code-gen improvements... ) |
|||
sorear | wait, how can you define a method that long? | 23:17 | |
jnthn | donaldh_: oh, question... | ||
Are you in the master branch? | |||
sorear | the length field is only 16 bits no? | ||
jnthn | Or on rak-jvm-support? | ||
donaldh_ | master | ||
jnthn | Ah. | ||
Because the stage0 in master still uses the pre-indy code-gen. | |||
Which meant every method call was, um, impressive. :) | 23:18 | ||
donaldh_ | pre-indy? | ||
Happy to switch to rak-jvm-support | |||
jnthn | Before I updated method calls to use invoke dynamic. | ||
donaldh_ | ah | ||
jnthn | Which took the size of QAST.class from something like 1.2MB down to the 500KB or so it is today. | 23:19 | |
donaldh_ | I have moved a big bunch of opcodes into a sub and it compiles again. | 23:20 | |
jnthn | Yeah. I'd try in the branch, though. I suspect we're well within the limits there. | ||
Feel free to merge latest master into that branch if you need to. | |||
donaldh_ | I'm just looking at the REPL so can work off the branch. | 23:21 | |
23:21
fgomez left
|
|||
jnthn | ah, cool | 23:22 | |
I'm not attached to the way I did any of the IO ops, fwiw. | |||
If you're looking at it and thinking "huh, I know how to use the Java class libraries better than this!", you probably do. :) | 23:23 | ||
donaldh_ | there is a System.console() when run n a console, but it looks like the readlinefh ops won't be able to make use of it. | 23:24 | |
*in* | |||
Possibly just make the Console available and use it if present. | 23:25 | ||
jnthn | Note that the REPL uses nqp::readlineintfh | 23:26 | |
(int as in interactive) | |||
donaldh_ | which gets passed an IOHandleInstance created by nqp::getstdin ? | 23:30 | |
jnthn | Yeah | ||
donaldh_ | Oh, okay, I might be able to mark the IOHandleInstance as stdin, or get nqp::getstdin to stash the Console in the IOHandleInstance | 23:32 | |
hacky, but it should give us a REPL. | 23:33 | ||
jnthn | \o/ | ||
sorear | jnthn: later I'm going to have to ask about indy. When I read the spec for indy I couldn't think of what it was possibly any good for. | 23:36 | |
jnthn | sorear: Sure, feel free...thought maybe when it's not 2am my time ;-) | 23:38 | |
sorear: I'll be at YAPC::NA if you're making that. | |||
donaldh_ | night / | 23:39 | |
jnthn | yeah, I should prolly rest... :) 'night o/ | ||
23:40
donaldh_ left
23:41
tgt left
23:45
tgt joined
|
|||
lue | r: class Foo {has $.bar; }; my $a = 42; my $b = Foo.new; $b.bar := $a; say $b.bar; # I'm not sure if it's me or not (I get the feeling it is) | 23:45 | |
camelia | rakudo 639d7f: OUTPUT«===SORRY!===Cannot use bind operator with this left-hand sideat /tmp/sWJCaCE2EK:1------> y $a = 42; my $b = Foo.new; $b.bar := $a⏏; say $b.bar; # I'm not sure if it's me  expecting any of: postfix» | ||
23:47
ajr_ left
23:58
drbean left
23:59
tgt left
|