»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
TimToady rakudo: for $*.lines { .say } 00:00
p6eval rakudo f67670: OUTPUT«Confused at line 11, near "for $*.lin"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn rakudo: for $*IN.lines -> $l -> { say $l.flip }
p6eval rakudo f67670: OUTPUT«Missing block at line 11, near "-> $l -> {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
drake1 cool
jnthn rakudo: for $*IN.lines -> $l{ say $l.flip }
TimToady rakudo: for $*IN.lines { .say }
p6eval rakudo f67670: OUTPUT«,emortS ma dnaL ,egreB red dnaL␤,emoD red dnaL ,rekcÄ red dnaL␤!hcierstfnukuz ,remmäH red dnaL␤,enhöS reßorg ud tsib tamieH␤,enöhcS sad rüf tedangeb ,kloV␤,hcierretsÖ setmhüregleiv␤!hcierretsÖ setmhüregleiv␤␤nettirtsmu dliw ,tedhefmu ßieH␤,nettimni ud lietdrE med
..tsgeil␤.hcielg nez…
rakudo f67670: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmitten,␤einem
..stark…
00:00 wolf2k_ubuntu joined
TimToady std: for $*IN.lines -> $l{ say $l.flip } 00:01
p6eval std 30105: OUTPUT«ok 00:01 109m␤»
TimToady I guess it lets you leave out the space before that {
but only because $l is in a sig 00:02
jnthn TimToady: Oh, I did that by accident. :-)
Meant to have the space.
00:05 snarkyboojum left
bkeeler You spaced the space? 00:06
TimToady no, he blanked 00:08
bkeeler hehe 00:09
jnthn <groan>
drake1 gotta rest. next time with perl6 or rakuda installed, i'll probably return with more stupid question. bye
TimToady o/
00:10 drake1 left, japhb joined
jnthn Anyone fancy looking at our s/// test coverage? 00:10
bkeeler nqp: say(pir::split("::", "foo::bar::baz")) 00:11
p6eval nqp: OUTPUT«[ "foo", "bar", "baz" ]␤»
jnthn rakudo: class Beer { method taste-good() { } }; say Beer.can('taste-good')
p6eval rakudo f67670: ( no output )
jnthn :-/
rakudo: class Beer { method taste-good() { } }; say ?Beer.can('taste-good')
p6eval rakudo f67670: OUTPUT«Method 'Bool' not found for invocant of class 'P6Invocation'␤current instr.: 'prefix:<?>' pc 235914 (src/gen/perl6-actions.pir:18171)␤»
bkeeler Any reason why Rakudo source uses pir::split__PSS when pir::split seems to work just fine?
jnthn bkeeler: pessimism.
bkeeler Heh, fair enough 00:12
jnthn bkeeler: It takes me a lot less time to type the op signature that I know than it does for me to compile and then find out it's one of the ones that the compiler toolkit knows.
bkeeler My problem is I don't know all the signatures, so it's nice that NQP does 00:13
jnthn Well, find out it's *not* in a lot of cases. :-)
Yes, it's nice when it does. :-)
Feel free to just use pir::split
I don't mind at all if it works. :-)
00:14 daemon left 00:15 daemon joined
dalek kudo: 3a03034 | jonathan++ | src/Perl6/ (2 files):
Get the $bottle ~~ s[full] = 'empty' syntax working too.
00:15
kudo: 05086a3 | jonathan++ | docs/ROADMAP:
Add 'basic s///' to the done section of ROADMAP. One priority #1 item down for Rakudo Star.
bkeeler Holy shit, it's taken 45 minutes to copy a 300M file from one machine at work to another. It only took a couple minutes to download it from the internet in the first place 00:16
Gonna hafta gripe at the network admins 00:17
jnthn The TCP/IP by carrier pigeon RFC was *meant* to be a joke.
bkeeler It wouldn't surprise me much if there were avian carriers involved 00:19
the $work network is such a clusterfuck of SONET rings, VLANs and firewalls it's a wonder anything ever works
Thankfully none of the safety critical stuff goes over it 00:21
Well, not much anyway
If you ever visit Portland, feel free to ride our wonderful trains and relax comfortably with the knowledge that your train *probably* won't be routed into another one due to an errant packet 00:22
jnthn Heh, I *did* visit Portland and ride the trains once. :-) 00:23
00:23 justatheory joined
lue which portland? 00:23
bkeeler Oregon
TimToady well, at least you know the natives will be friendly as the trains collide. 00:24
Portlanders seems to have negative inhibitions about talking to each other on the train.
it's almost a requirement... 00:25
bkeeler And it's comforting to know the drivers are sloshed on really *good* beer
00:26 TiMBuS left
jnthn The beer in Portland *was* good. 00:26
It's partly to blame for my involvement in Rakudo.
bkeeler Hmm, probably shouldn't be saying all this with my real name on a public network
I wonder if I'll still have a job tomorrow 00:27
to my bosses: You didn't read any of this. Go about your business. Fnord.
TimToady well, if not, they'll be very friendly about it
I blame the Oregon Trail. 00:28
00:30 lestrrat is now known as lest_away
colomon jnthn: finally back and caught up. I think you figured out the X and Z issue on your own there? 00:35
00:37 snarkyboojum joined 00:38 nihiliad joined, yinyin joined
jnthn rakudo: say (1,2,3) Z ('a','b','c') 00:39
p6eval rakudo 8b09f6: OUTPUT«Confused at line 11, near "say (1,2,3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:39 daemon left
jnthn That's what's broken, right? 00:39
I think I have a fix.
Will know in a few minutes.
colomon well, that's broken because I turned it off.
jnthn Well, or properly after a spectest run.
Right
I worked that bit out. I've turned it back on with a fix. 00:40
Hopefully
:-)
colomon what was happening was 1, 2 Z- 3, 4 was getting parsed as 1, 2 Z -3, 4
jnthn Right.
colomon well then, \o/ if you have a fix!
jnthn rakudo: say (1, 2 Z- 3, 4).perl
00:40 daemon joined
p6eval rakudo 8b09f6: OUTPUT«GatherIterator.new()␤» 00:40
jnthn grrrRRRrr.
rakudo: say (1, 2 Z- 3, 4).eager.perl
p6eval rakudo 8b09f6: OUTPUT«(-2, -2)␤»
colomon looking good! 00:41
jnthn OK, let me see what does with my local fix.
colomon: 00:46
> say (1, 2 Z- 3, 4).eager.perl
(-2, -2)
> say (1,2,3) Z ('a','b','c')
1a2b3c
\o/
colomon \o/
jnthn spectesting.
(plus a .can fix...which gets us a long way into S12-attributes/instance.t
)
colomon sweet!
jnthn Yeah, there's like 130 or so tests in there. 00:47
We make it up to 76 or so before we blow now.
Rather than, like, 3.
(Mostly as a result of the other fixes I did yesterday, mind.)
snarkyboojum rakudo: say 1,2,3 Z* 4,5,6
p6eval rakudo 05086a: OUTPUT«41018␤»
colomon the worst are the ones that are 3 with two fudges. :)
rakudo: say (1..* Z* 4..*).batch(3).perl 00:48
p6eval rakudo 05086a: OUTPUT«(4, 10, 18)␤»
jnthn TimToady: If I have an "our multi foo() { }" and an "multi foo($x) { }" and do foo(), does it work out? 00:49
That is, does the lexical multi also incorporate any candidates installed in the namespace?
Or does it hide them?
jnthn needs to get lexical multi combination a bit more sorted soonish...
00:49 nihiliad left
colomon rakudo: my $a = &infix:<+>; say $a ~~ Code; say $a.count; 00:50
p6eval rakudo 05086a: OUTPUT«1␤Method 'count' not found for invocant of class 'Perl6MultiSub'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon jnthn: Is that expected?
jnthn Well, it doesn't surprise me... :-)
But maybe it should.
:-)
colomon should surprise you or should work? ;) 00:51
jnthn What should it do if it did work?
colomon 2, right?
00:51 jhuni joined
jnthn Or more generally, for multi foo() { } and multi foo($x) { }, what is &foo.count? 00:51
colomon it's infix:, after all.
oooooo.
jnthn Well, but the reduce meta-op fallbacks are infixes with 0 or 1 arity, iirc. 00:52
00:52 nihiliad joined
jnthn So [*] () knows to be 1 and all that lot. 00:52
This is where TimToady interjects and tells us we shouldn't be doing introspection anyway, probably. :-)
(no, there isn't currently another way...) 00:53
For now though you can cheat a bit.
colomon other than calling and seeing if anything blows up? :)
00:53 cdarroch left
jnthn my $count = $sub ~~ Multi ?? $sub.candidates[0].count !! $sub.count 00:53
maybe
colomon don't we have to do introspection to know how many arguments to pass to the code block? 00:54
jnthn Now, yes
There's also an idea that you can invoke with an iterator instead of a capture
00:54 Guest5910 joined
jnthn And it will steal the number of arguments it wants from the iterator 00:54
But it's not really spec'd yet and a bit scary to implement
So we need to go the introspection route for now.
colomon interesting notion, that. 00:55
jnthn Yeah, but a bit scary to implement. :-)
00:55 jql joined
colomon it would require being able to unshift things to the iterator. 00:56
but that's doable...
00:56 daemon left, daemon joined
colomon but I'm definitely with you on the scary to implement part. 00:57
snarkyboojum rakudo: say (1..* Z* 10..*).batch(5).perl 01:00
p6eval rakudo 05086a: OUTPUT«(10, 22, 36, 52, 70)␤»
TimToady jnthn: even with 'our multi', you still get the name in the lexical scope, so I don't see any reason to look into the current namespace unless you want to look for functions that someone has poked there at run time 01:01
snarkyboojum rakudo: say (1..*).WHAT
p6eval rakudo 05086a: OUTPUT«Range()␤»
TimToady in which case, it should look there as a last resort
01:02 wknight8111 left 01:04 arthur-_ left 01:05 lest_away is now known as lestrrat
jnthn TimToady: hmm 01:05
TimToady: if I have
colomon should iterators have a .skip($n) method to skip ahead? 01:06
jnthn multi foo(Int $x) { 'a' }; { multi foo($x) { 'b' }; foo(42) }
Do I get a or b?
01:07 ignacio_ left
mberends rakudo: my $a="foo:"; given $a { when / ^ (\S+) \: / { say "found" }; default { say "failed" }; }; # from proto 01:11
jnthn colomon: pushed fixes for X and Z
p6eval rakudo 05086a: OUTPUT«failed␤»
mberends rakudo: my $a="foo:"; given $a { when / ^ (\S+) ':' / { say "found" }; default { say "failed" }; }; # from proto
p6eval rakudo 05086a: OUTPUT«failed␤»
colomon \o/
01:11 szbalint left
jnthn rakudo: say "foo:" ~~ / ^ (\S+) \: / 01:11
colomon trying parrot 2.2.0 with rakudo now.
p6eval rakudo 05086a: OUTPUT«␤»
jnthn rakudo: say "foo:" ~~ / ^ \S+ \: / 01:12
p6eval rakudo 05086a: OUTPUT«foo:␤»
mberends locally ':' matches but \: does not
jnthn Damm, it's the same capturing fubars backtracking bug that bkeeler noticed earlier.
dalek kudo: c053d61 | jonathan++ | src/pmc/p6invocation.pmc:
Fix .can.Bool.
kudo: 1120182 | jonathan++ | src/ (2 files):
Re-enable infix:<Z> and infix:<X> with a tweak so Z- style meta-ops still parse correctly.
jnthn rakudo: say "foo:" ~~ / ^ (\S+) ':' /
p6eval rakudo 05086a: OUTPUT«␤»
01:12 szbalint joined
jnthn orly? 01:12
sorear ooh fun people are designing IO now. 01:13
bkeeler It's possible to work around it with / ^ $<something>=[\S+] ':' /
jnthn Yeah 01:14
We should try and fix the underlying bug at some point
But I don't have the energy to go hunting that today.
mberends will work around in proto
jnthn Cool 01:15
TimToady you should get a as the better match
jnthn TimToady: OK, I figured so. So, why/how? 01:16
TimToady: That implies that we merge the candidates into one candidate list.
TimToady: Which is fine
TimToady: So long as you also expect:
TimToady yes, which is what I've been calling &foo in the inner lexical scope consistently
jnthn multi foo($a) { 'a' }; { multi foo($a) { 'a' }; foo(1) } # ambiguous dispatch, fails
That's fine, I'm just trying to get the exact semantics down so I stand a vague chance of getting it implemented correctly. :-) 01:17
TimToady well, unless we use the scoping as a tiebreaker
jnthn I...don't want to go there.
:-/
Well, conservative approach is it fails. We can unfail it in the future I guess.
01:18 daemon left
jnthn Anyway, I'll try implementing that soonish. 01:19
Then fix lexical imports of multis to merge rather than clobber.
lue I can has something to fix? :)
jnthn lue: Of course. :-) 01:20
TimToady well, S12:1007 uses the word "hides" for outer multies with the same longname
01:20 gabiruh left
jnthn Ah 01:20
01:20 gabiruh joined, Chillance left
jnthn That suggests signature comparrisons, no? 01:20
Or at least partial...
And then I fear things get...really nasty. 01:21
TimToady we just need a sig canonicalizer
then it's a string comparison
01:21 daemon joined
jnthn If we can come up with a sane canonicalization that does the right thing, I guess that can work. 01:22
01:22 quietfanatic joined
jnthn Hmm, this one's true for Rakudo dev too... blogs.perl.org/users/ovid/2010/03/e...-perl.html 01:24
colomon :) 01:28
actually compiling at the moment. ;)
jnthn :-)
lue any problem that needs tackling at the momen? :)
OOPS moment
sorear lue: the rakudo stage1 compiler uses too much memory 01:29
lue I know that more than anyone :D
[probably]
sorear well ... it still needs tackling 01:30
snarkyboojum go lue!
lue the stage1 compiler being executed when? make I'm assuming? Then where is it? Help! (reference to Beatles)
jnthn lue: If you want some slightly lower hanging through, maybe look at t/spectest.data 01:31
Maybe try and tackle getting these to pass again:
# S32-array/pairs.t
# S32-array/rotate.t
# S32-array/exists.t
Probably all can be done in Perl 6. :-)
lue "lower hanging" means... "less of a challenge"?
snarkyboojum "quick wins" :P 01:32
jnthn Stuff that doesn't require deep guts skillz but still is very valuable. :-)
(because it gets more passing tests!)
lue ExegesisMan, I choose you!
colomon more passing tests! more passing tests!
snarkyboojum ooh sorry - "quick winz" :)
lue away!
sorear lue: yes, the stage1 compiler is used only during make. 01:33
mberends did he flue away?
lue no, I meant that in a heroic tone "Batman, Away!" 01:34
Awaaaaaaaaaaay!
snarkyboojum rakudo: say (1,2 Z+ 3,4).perl 01:35
p6eval rakudo 05086a: OUTPUT«GatherIterator.new()␤»
snarkyboojum rakudo: say (1,2 Z+ 3,4).batch(2).perl 01:36
p6eval rakudo 05086a: OUTPUT«(4, 6)␤»
snarkyboojum should I be able to get (4, 6) without having to use batch?
sorear makes his presense known to jnthn
jnthn OMG sorear!
lue (good thing I got something to do. I was about to start coding an SNES emulator in P6 with SDL)
snarkyboojum rakudo: say (1,2 Z+ 3,4).eager.perl 01:37
p6eval rakudo 05086a: OUTPUT«(4, 6)␤»
sorear uh... you can't use SDL in P6.
snarkyboojum I guess that's it eh
jnthn sorear: I need to sleep soon...any questions on Blizkost or other bits before I do so?
sorear Not until jnthn/Tene/I fix :from<> parsing
Well, I suppose you could do it with Q:PIR
jnthn :from parsingworks.
*works
It just ignores it righ tnow.
gah, typing FAIL. 01:38
lue Heck, I have more problems with my keyboard, especially if the computer's doing something :)
jnthn sorear: If you see src/Perl6/Module/Loader.pm in method need, there's a %adverbs or so.
:ver and :auth get passed in there, which is what it cares about for now, but a :from will too.
sorear how about :anythingelse
jnthn Yes, that to
:-)
sorear it's an open parser? neat 01:39
jnthn It parses colonparis and tosses 'em in. :-)
We maybe should make it check to see it knows what to do with them at some point.
lue colomon must get woozy from all that tossing...
(oh wait, misread :D )
jnthn I did realize that if you're just being plain evil you can swap out the module loader for a different one though ;-) 01:40
(if you know the right place to poke the guts)
mberends in zavolaj we had to toss the adverbs from the call to need() :-(
colomon I am feeling kind of woozy, actually.
jnthn mberends: ?
mberends there may be a buglet there.
jnthn We didn't have need when we writzed Zavolaj. ;-)
What am I missing? 01:41
mberends searches
jnthn yes, buglet I can imagine.
sorear jnthn: that's a good thing, it means I don't have to wait 9 hours after writing a new module loader. 01:42
jnthn Only if it doesn't take you 9 hours to work out which bits of guts to poke. ;-) 01:43
Also, I never told you this was possible. :-)
lue The Perl 6 motto tells us for you, jnthn. :) 01:44
s/The/A/
jnthn It said "the hard", not "the sick" :-)
mberends jnthn: Perll6/Module/Loader.pm:7 method need($name, %name_adverbs?) # the ? was added so that zavolaj could omit the adverbs 01:45
lue sick augments hard :D
01:45 PerlJam left
lue that's all :) 01:45
jnthn mberends: oh? I thought we did that so you could use it as a poor mans require for FakeDBI?
Though maybe I misunderstood. 01:46
Or misremember.
mberends jnthn: you may well be right on that
(collective amnesia)--
mberends needs sleep
jnthn I'm sure it was because require was not implemented, and then I looked at the spec and decided I hated how require was spec'd, so didn't implement it. :-)
Yeah, same here 01:47
mberends \o #perl6
jnthn o/
colomon o/
01:47 mberends left
lue o/ (oop!) 01:47
jnthn ETOOLATE
sorear jnthn: Do we have a list of modules that should be usable in p6 by R*? 01:48
jnthn sorear: modules as in Perl 6 modules, or as in Perl 5 modules via Blizkost?
(The answer is no for both though...) 01:49
sorear the answer is "yes"
jnthn oh
:-)
sorear valid solutions include: porting, making them work with Blizkost, others
jnthn Ah, I see
lue I plan on developing a bunch of modules when 楽土 is more mature. 01:50
jnthn DBI through Blizkost is less urgent now in some ways, but is nice to have if we can, because our Perl 6 "FakeDBI" or whatever will not support all the drivers the Perl 5 one does.
lue Including the jnthn omnisub :D
jnthn LWP and that lot would probably be rather nice to have though.
Again, some will be possible through Perl 6, some not. 01:51
I dunno, CPAN is so vast, and people have so many different needs.
pugssvn r30106 | colomon++ | [t/spec] Unfudge infix:<Z> tests. 01:52
dalek kudo: e3937f7 | (Solomon Foster)++ | build/PARROT_REVISION:
Bump Parrot to 2.2.0.
kudo: 72046f9 | (Solomon Foster)++ | src/core/Any-list.pm:
Don't assume that a Code block will know how to .count.
lue I propose CP6AN! (as a subdomain, or cateogry, at least)
jnthn sorear: Dunno if there's some "most used" metrics somewhere we could draw on too. 01:53
bkeeler A lot of the CPAN stuff is rather old and would probably be worth refreshing with a more up-to-date role-ish object model anyway
sorear jnthn: CPAN, as a matter of policy, does not provide usage metrics.
www.cpan.org/misc/cpan-faq.html#Pla...statistics 01:54
bkeeler And I firmly believe that core protocol implementations should use async IO under the hood
01:54 PerlJam joined
bkeeler Something POE-like (though with modernised object model) would be a good project 01:54
jnthn bkeeler: Yes, though pragmatically a lot of stuff on CPAN exists and a lot of Perl 6 modules don't yet exist. :-)
pugssvn r30107 | colomon++ | [t/spec] Refudge now that infix:<X> is back. 01:56
jnthn A situation I expect to change with time and adoption, but I expect making a decent chunk of CPAN accessible from Perl 6 will help adoption and help get that process some more momentum.
lue Paranomal Object Environment (can anyone see the reference?)
bkeeler momentum is good
Though kinetic energy is better. Momentum is too conservative ;) 01:57
pugssvn r30108 | colomon++ | [t/spec] Unfudge two tests now that infix:<Z> is back.
r30109 | colomon++ | [t/spec] Unfudge four tests now that infix:<Z> is back. 01:58
colomon jnthn++
jnthn :-)
According to github.com/rakudo/rakudo/blob/maste..._guide.pod the release manager this month is smash. 01:59
colomon smash?
jnthn sees no smash here
lue
.oO(maybe adding ++ to the end of a jnthn omnisub would allow for augmented power...)
bkeeler Good. Instant mashed potatoes are the work of the devil
sorear what's the point of POE anyway 02:00
bkeeler It's a framework upon which to build event-driven async sort of stuff 02:01
lue other than capturing its soul and making a few rupees, not much (o wait...)
bkeeler I've never actually used it, personally, but it has its fans
jnthn Ah, I think smash can me found on #parrot
OK, I *really* need sleep 02:02
night o/
bkeeler G'night
colomon \o
and same here
sorear good night
colomon sleeeeeep
lue night colomon, jnthn
02:02 hudnix left 02:05 hudnix joined 02:08 nihiliad left 02:16 snarkyboojum left
lue afk 02:18
sorear is there a tellbot here?
02:18 snarkyboojum joined
bkeeler yeah, phenny 02:18
phenny: tell sorear all about yourself 02:19
phenny bkeeler: I'll pass that on when sorear is around.
bkeeler Speaking of which, I could make use of that now that I think about it 02:22
phenny: tell pmichaud wasn't sure where to report nqp-rx bugs, so I submitted one to github.com/perl6/nqp-rx/issues
phenny bkeeler: I'll pass that on when pmichaud is around.
sorear and of course I've forgotten what I was going to relay 02:25
phenny sorear: 02:19Z <bkeeler> tell sorear all about yourself
bkeeler but of course 02:26
02:27 arthur-_ joined 02:38 JimmyZ joined 02:48 rv2733 joined 02:51 rv2733 left, rv2733 joined
lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p 02:58
p6eval alpha 30e0ed: OUTPUT«0 11 22 3␤»
lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p.join(":")
p6eval alpha 30e0ed: OUTPUT«0 1:1 2:2 3␤»
lue rakudo: my @a=1,2,3; my @p=pairs(@a); say @p.join("␤") 02:59
p6eval rakudo e3937f: OUTPUT«Could not find non-existent sub &pairs␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue where would pairs be defined?
(in the code, not the spec)
snarkyboojum in alpha? 03:01
src/setting/Pair.pm in alpha 03:03
or old/setting/Pair.pm in master 03:04
src/old/setting/Pair.pm even
lue I was thinking in src/core/Array.pm (in master), unless it is used for more than just array... 03:05
snarkyboojum well the src/old/setting/Pair.pm is just a copy of the src/setting/Pair.pm from alpha (I'm guessing)
wasn't saying that's where it *should* live
lue: there was also a src/classes/Pair.pir in alpha 03:06
I'm confusing the issue aren't I :)
lue I know, thanks for the idea though. Didn't consider it apply to more than Arrays 03:07
I'm going to take up jnthn's challenge and code it in P6 :)
snarkyboojum go lue!
lue: ah - check src/builtins/Pair.pir 03:08
in master
you can see it is an Enum if you look there 03:09
lue: oh god - I'm stupid - there is a src/core/Pair.pm in master too ;) 03:10
lue yes, but it only defines the perl method (just looked) :) 03:14
snarkyboojum yeah, but that's the structure :) the Pair class is defined in Pair.pir (whose parent is Enum), and then Pair.pm augments the class and adds a perl method
FMLU (from my limited understanding) :) 03:15
lue I'll put the pairs sub in pairs.pm for simplicity :) 03:21
snarkyboojum that's where the method used to live in alpha (it seems)
03:22 arthur-_ left, Guest5910 left 03:23 huf_ joined 03:24 arthur-_ joined
lue methinks I'll define it as a multi method to be safe. 03:25
snarkyboojum it was just method pairs() {..} previously (but I'm not qualified to comment :)) 03:26
03:27 ned joined
lue heh, you may want to expand on it in your scripts, so multi it is for now. 03:27
03:27 ned is now known as Guest95631
lue maybe you want it to return a hash instead? 03:30
03:31 huf left, takadonet left, mj41 left, cj left, jjore left, jjore joined 03:32 mj41 joined
snarkyboojum lue: how are you going about building rakudo now? 03:32
lue remote server, which is not mine. :)
snarkyboojum lue: ah - brilliant :)
03:33 takadonet joined
lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p.join("␤"); say @p[0]; say @p[1]; 03:35
p6eval alpha 30e0ed: OUTPUT«0 1␤1 2␤2 3␤0 1␤1 2␤»
03:35 astrojp joined
lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p.join("␤"); say @p[0].WHAT; say @p[1].WHAT; 03:36
p6eval alpha 30e0ed: OUTPUT«0 1␤1 2␤2 3␤Pair()␤Pair()␤»
lue alpha: my Pair $a=3,4; say $a
p6eval alpha 30e0ed: OUTPUT«Assignment type check failed; expected Pair, but got Array␤in Main (file <unknown>, line <unknown>)␤»
lue alpha: my Pair $a=3 4; say $a
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "4; say $a"␤in Main (file <unknown>, line <unknown>)␤» 03:37
lue alpha: my Pair $a=<<3 4>>; say $a
p6eval alpha 30e0ed: OUTPUT«Assignment type check failed; expected Pair, but got Array␤in Main (file <unknown>, line <unknown>)␤»
lue bah. How to define a Pair...
sorear rakudo: my Pair $a = :3<4>; say $a 03:38
p6eval rakudo e3937f: OUTPUT«Confused at line 11, near "my Pair $a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
sorear rakudo: my Pair $a = 3 => 4; say $a
TimToady rakudo: say ('a' => 'b').WHAT
p6eval rakudo e3937f: OUTPUT«3 4␤»
rakudo e3937f: OUTPUT«Pair()␤»
lue ah. Thank you :)
snarkyboojum rakudo: say 1 => 2
p6eval rakudo e3937f: OUTPUT«1 2␤»
TimToady rakudo: say Pair.new(3,4)
p6eval rakudo e3937f: OUTPUT«Any() Any()␤» 03:39
snarkyboojum fat arrow builds pairs eh
lue amazed there isn't another way besides the "P5 style" => :)
TimToady alpha: say Pair.new(3,4) 03:40
p6eval alpha 30e0ed: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤ ␤»
TimToady pugs: say Pair.new(3,4)
p6eval pugs: OUTPUT«*** Must only use named arguments to new() constructor␤ Be sure to use bareword keys.␤ at /tmp/c17SpkVbDY line 1, column 5 - line 2, column 1␤»
lue TimToady: is the pairs sub and adverb only applicable to arrays, or any list-type object?
TimToady rakudo: say Pair.new(:key(3), :value(4))
p6eval rakudo e3937f: OUTPUT«3 4␤» 03:41
TimToady anything that is indexed
rakudo: say %*ENV.pairs
p6eval rakudo e3937f: OUTPUT«Method 'key' not found for invocant of class 'String'␤current instr.: 'perl6;EnumMap;_block12950' pc 381696 (src/gen/core.pir:52031)␤»
lue ah. I can't help but feel Pair.pm is not quite the most appropriate spot for pairs() 03:42
TimToady alpha: say %*ENV.pairs
p6eval alpha 30e0ed: OUTPUT«SUDO_COMMAND /usr/sbin/chroot /chroot/HISTCONTROL ignorebothSUDO_USER diakopterSUDO_UID 1001_ ../rakudo-alpha/perl6USER p6evalPERL6LIB libLANG en_US.UTF-8LOGNAME p6evalMAIL /var/mail/p6evalSHLVL 4HOME /home/p6evalPWD
../home/p6eval/rakudo-alphaPATH /usr/local/bin:/usr/bin:/bin:/usr/g…
lue --mode="homework" & 03:43
03:47 cj joined 03:50 JimmyZ left 04:05 am0c joined
snarkyboojum rakudo: say <1 2 3>.^parents.perl 04:06
p6eval rakudo e3937f: OUTPUT«(Iterable, Any, Mu)␤»
snarkyboojum rakudo: my @a =<1 2 3>; say @a.^parents.perl 04:07
p6eval rakudo e3937f: OUTPUT«(Seq, Iterable, Any, Mu)␤»
snarkyboojum alpha: <1 2 3>.rotate.say 04:22
p6eval alpha 30e0ed: OUTPUT«231␤»
snarkyboojum alpha: <1 2 3>.WHAT
p6eval alpha 30e0ed: ( no output )
snarkyboojum alpha: <1 2 3>.WHAT.say
p6eval alpha 30e0ed: OUTPUT«List()␤»
snarkyboojum rakudo: <1 2 3>.WHAT.say
p6eval rakudo e3937f: OUTPUT«Parcel()␤»
snarkyboojum should <1 2 3>.rotate work in rakudo? 04:23
I know it's not implemented yet, but should rotate work for a Parcel?
TimToady it should promote to list like many of the other listops do 04:25
snarkyboojum rakudo: <1 2 3>.Seq.say
p6eval rakudo e3937f: OUTPUT«123␤»
TimToady or Seq, rather....
snarkyboojum rightio
rakudo: <a b c>.elems.say 04:28
p6eval rakudo e3937f: OUTPUT«3␤»
snarkyboojum rakudo: <a b c>.Seq.elems.say
p6eval rakudo e3937f: OUTPUT«3␤»
pmichaud What's going on with Pm: use.perl.org/~pmichaud/journal/40248 04:34
phenny pmichaud: 02:22Z <bkeeler> tell pmichaud wasn't sure where to report nqp-rx bugs, so I submitted one to github.com/perl6/nqp-rx/issues
04:54 justatheory left 04:56 wolf2k_ubuntu left
snarkyboojum what type should <a b c>.rotate return? 04:57
I should read the specs shouldn't I
:) 04:59
lue hello! 05:00
snarkyboojum o/ lue
lue snarkyboojum: unless it's defined in a place other than S32, there is no spec :) 05:02
snarkyboojum seems to be defined there
cognominal pmichaud, I wish you well for your wife and your family 05:03
lue snarky: it is _defined_ there, but the parts of it I saw didn't detail it (and that I don't consider being specced) 05:04
05:04 envi^home joined 05:05 unobe joined
snarkyboojum lue: you might have read it more carefully than me 05:08
05:08 unobe left
pmichaud cognominal: thanks 05:09
lue is trying to find an esperanto word meaning "creation" that starts with a D 05:10
snarkyboojum is trying to find the meaning of 'Null PMC access in getprop()' 05:12
:)
05:13 rv2733 left
lue when it comes to rakudo/parrot, HLL (which I assume means High Level Language) sound very ominous to me (probably due to its similarity with DLL) 05:14
I've come up with a new (fake) standards body (more) 05:18
DNA: The Association for the Declaration of Concepts (La Deklaroj de Nocioj Asocio) 05:20
(I love flexible epo grammar :D ) 05:22
05:25 lestrrat is now known as lest_away
lue goodnight 05:27
snarkyboojum night lue 05:28
sorear DLL = awesomeness 05:31
although I prefer to call them SO
05:35 xinming left 05:39 synth left 05:40 synth joined 05:44 synth left 05:46 synth joined 05:47 colomon left 05:48 ShaneC left 05:49 ShaneC joined, xinming joined
pugssvn r30110 | lwall++ | [STD] unify regex flags in %*RX 05:51
r30110 | [Cursor] allow dynamic lookup of compiler * vars as ? run-time vars
r30110 | [viv] various developments with viv --p5 toward replacing gimme5
spinclad pmichaud: may your wife be safe, happy in body, speech, and mind, well, and at ease. may you be safe, happy in body, speech, and mind, well, and at ease. (may all beings ...) -- (the metta prayer) 06:12
sorear may the future be a happy place. 06:17
06:37 arthur-_ left 06:38 ShaneC left 06:40 arthur-_ joined
sorear oh, I remember now 06:44
phenny: tell jnthn - What minimum version of Perl 5 does Blizkost target? 06:45
phenny sorear: I'll pass that on when jnthn is around.
06:53 Trashlord left 06:55 c1sung left, c1sung joined 07:00 cj left 07:01 kaare joined, kaare is now known as Guest98435 07:04 lue left 07:15 am0c left 07:22 lue joined 07:23 brushie_ joined 07:24 yinyin left 07:25 Su-Shee joined 07:26 brushie__ left 07:27 yinyin joined 07:34 masak joined
masak morning, #perl6. 07:35
sorear hello.
07:39 PacoLinux left, arthur-_ left 07:40 arthur-_ joined 07:41 envi^home left 07:46 agentzh joined 07:47 uniejo joined 07:49 uniejo left 07:51 dual left 07:57 dual joined 07:58 azawawi joined
azawawi hi 07:58
moritz_: ping
sorear hello 07:59
azawawi moritz_: please take a look at irclog.perlgeek.de/ , I think search.pl is now on parked domain or something 08:00
azawawi & 08:01
08:01 azawawi left 08:02 vamped joined 08:03 arthur-_ left
masak our thoughts go out to pmichaud and his wife: use.perl.org/~pmichaud/journal/40248 08:06
08:11 arthur-_ joined
spinclad aye. 08:12
vamped yes indeed 08:13
08:15 envi^home joined
masak alpha: sub infix:<op> ($a, $b) {return {$_.($a, $b)}}; say (3 op 4).(&infix:<+>) 08:16
p6eval alpha 30e0ed: OUTPUT«7␤»
masak that is so geeky.
I'm going to Twitter that.
08:20 mberends joined
masak [backlogging] supernovus, TimToady: I think you both identified the core of the matter re Temporal: should a simple (iso8601-based) parser be a part of the core? during my fluxxing, I defaulted to "yes", simply because the alternative seemed... utterly horrible. 08:25
but as is always the case in these matters, there might be a third alternative I'm missing.
08:31 mberends left
masak the latest Perl 6-related meme on Twitter (of which everyone seems to think they're the originator) is "Both Perl 6 and PHP 6 are infinite projects... coincidence? hehe" 08:33
twitter.com/fauveauarmel/status/10576578661 twitter.com/felipernb/status/10525954807 twitter.com/tsukimiya/status/10612573924 08:34
08:35 iblechbot joined
masak as to what goes into core, I think we should be conservative with Temporal. 08:37
as a general rule of thumb, I'd only have the things necessary for file timestamps and the like in core.
but then there's the slight problem of who'll be the authority of the rest of Temporal... 08:38
if it's perl.org, then it's practically in core anyway, even if it's stored outside of the individual compilers.
08:41 synth left
masak supernovus: also, I think it's time to axe 'Gregorian' in all type names. it should be possible to do DateTime stuff in Perl 6 without getting to know Gregor first. 08:42
mathw In my ideal world, there'd be good date/time handling shipped with the compiler, because I've had a lot of pain in the past where I didn't have something like Date::Manip and the acquisition of a third-party module was something of a nightmarish procedure
masak mathw: yes, but OTOH Perl 5 has often fallen into the trap of too many core modules. and dual-life support with CPAN, etc. 08:43
mathw I'm more inclined to think it's the wrong set of core modules, but unfortunately that's going to be differently wrong for everyone
masak rakudo: say "aaaab" ~~ /a*b/; say "aaaab" ~~ /.*b/; say "aaaab" ~~ /(a*)b/; say "aaaab" ~~ /(.*)b/ 08:44
p6eval rakudo e3937f: OUTPUT«aaaab␤aaaab␤aaaab␤␤»
masak submits rakudobug
08:45 agentzh left
masak mathw: seems to me a smaller core is the right way to go for a long-lived language. 08:45
oh, and bug courtesy of jnthn++
mathw true 08:47
and we're not going miss things like Moose, because that's all built into the language now
masak rakudo: say "ab" ~~ / (ab|a) b / 08:48
p6eval rakudo e3937f: OUTPUT«␤» 08:49
08:51 uniejo joined 08:52 leonxx joined
leonxx perl6: say3; 08:52
p6eval pugs: OUTPUT«*** No such subroutine: "&say3"␤ at /tmp/VkO3HqtETm line 1, column 1-5␤»
..rakudo e3937f: OUTPUT«Could not find non-existent sub &say3␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
..elf 30110: OUTPUT«Undefined subroutine &GLOBAL::say3 called at (eval 122) line 3.␤ at ./elf_h line 5881␤»
leonxx perl6: say 3;
masak right. as much as I would like to see good 'native' handling of civil time close to the core of Perl 6, I'm not convinced it actually belongs in core.
p6eval elf 30110, pugs, rakudo e3937f: OUTPUT«3␤»
08:54 arthur-_ left 08:56 payload left, pjcj left 08:57 colomon joined, arthur-_ joined 08:59 cosimo joined, leonxx left, dakkar joined
masak std: / . ** 1 .. 2 / 09:00
p6eval std 30110: OUTPUT«===SORRY!===␤Spaces not allowed in bare range at /tmp/zMvJcNzkRS line 1:␤------> / . ** 1 ..⏏ 2 /␤FAILED 00:01 108m␤»
masak std: / . ** 1.. 2 /
p6eval std 30110: OUTPUT«===SORRY!===␤Malformed range at /tmp/OWF3ILhMFc line 1:␤------> / . ** 1..⏏ 2 /␤ expecting quantifier__S_562StarStar␤FAILED 00:01 106m␤»
09:06 rgrau joined 09:11 arthur-_ left, mberends joined 09:13 arthur-_ joined
mberends phenny, tell pmichaud I am thinking of you and your wife all the time. Many of us would like to help, if you would let us know how. 09:16
phenny mberends: I'll pass that on when pmichaud is around.
masak phenny: tell pmichaud what mberends said. 09:17
phenny masak: I'll pass that on when pmichaud is around.
09:17 arthur-_ left
mberends masak! ping! 09:17
masak mberends: pong!
09:19 arthur-_ joined
mberends as pmichaud++ wrote, we should make proper contingency plans for the Rakudo * release. jnthn++ is pumpking, but he is also tasked with plenty of items. It's all about enlisting more willing helpers and coordinating their contributions. 09:19
masak nod. 09:20
mberends should we convene an initially one-off #rakudosketch type meeting to brainstorm the roadmap? 09:21
jnthn Good morning, folks
phenny jnthn: 06:45Z <sorear> tell jnthn - What minimum version of Perl 5 does Blizkost target?
mberends jnthn: good morning, you sleep-deprived perlgeek!
jnthn OK, I need to do a run to the laundry room before anything else... 09:22
masak mberends: sounds like a plan.
jnthn Back in...well...however long it takes me to work out how to use the washing machine. ;-)
(soon)
masak it's not too hard. it's not like it's a Commonwealth washing machine. :P 09:23
mberends jnthn.availability -= Time.hours( * );
masak mberends: 'DateTime' :/
mberends :/
masak (actually, I'm not too averse to it being called 'DateTime' nowadays. it's the traditional Perl 5 name, and not *that* much longer than just 'Time'. but 'Gregorian::' must go.) 09:26
mberends aye
Gregorian is so 16th Century 09:27
sorear jnthn: Why does Blizkost allocate and free PMC bodies itself? Isn't that what auto_attrs is for? 09:29
masak I don't think it's culturally insensitive to make Gregorian the implicit default. just as it's not too culturally insensitive to make Unicode the implicit default.
sorear Unicode as default is culturally insensitive at all now?
masak sorear: I hear Japan has a couple of reasons to prefer their own encoding to Unicode. 09:31
similarly, I can see that Gregorian would be entirely wrong as a default for a small number of people.
probably well below 1%.
sorear I can see Gregorian being "entirely wrong" for some people
but I thought the arguments against Unicode boiled down to "nooo the wasted bytes" 09:32
masak not so.
that's only the arguments of ASCII-happy Americans. :)
sorear EUC-JP can encode any kanji in 2 bytes 09:33
because there are only around 10,000 of them
masak sorear: en.wikipedia.org/wiki/Japanese_lang..._computers
sorear UTF-8 needs 3 bytes for the Japanese blocks; UTF-16 needs 2 bytes for most but 4 for the rarer kanji (outside BMP)
ooh ty
masak see especially the last paragraph of the 'Character encodings' section. 09:35
jnthn ok, back 09:40
masak jnthn: you implemented s/// syntax!?!?!
hugme: hug jnthn 100x!
hugme hugs jnthn
jnthn masak: s[foo] = 'bar' syntax too
masak oh wow! 09:41
this is the best day ever!
jnthn But I didn't do s[foo] op= 'bar'
lol
OK, I think I defeated the washing machine
masak time to go and cross out the last TODO thing in the good/bad/ugly post.
jnthn It's now doing...something taht looks like it'll make my clothes cleaner.
mathw jnthn: they're going to come out in little strips, because it turns out that the washing machine has a 'convert clothes to cat litter' mode
jnthn mathw: A common feature of Swedish washing machines, yes...but I'm quite sure I deselected that option. 09:42
mathw time will tell... 09:43
I once lived in a place with a washing machine which had a special 'stop and wait randomly for an hour in the middle of the cycle' option 09:44
masak all the tasks are now done on use.perl.org/~masak/journal/37303 \o/
mathw which appeared to be activated by the flapping of butterflies in Australia
masak resolves to go through use.perl.org/~masak/journal/39597 today as well, checking for fixed tickets 09:45
09:45 rv2733 joined
mathw \o/ 09:46
masak colomon: when you add back [+}, could you throw in [\+] while you're at it? :)
09:47 payload joined
jnthn mmm...min cafe ar so stork \o/ 09:48
*kaffe
:-)
jnthn reads the pmichaud post
Read. 09:50
pugssvn r30111 | moritz++ | [t/spec] some fudges for rakudo, and fix an eval() test 09:51
masak moritz_! 09:52
pugssvn r30112 | moritz++ | [t/spec] more rakudo fudges
r30113 | moritz++ | [t/spec] explicitly coerce values to bool before comparison
r30114 | moritz++ | [t/spec] some unfudges for rakudo
moritz_ masak: I'll be gone very soon, but I'll have internet from starting form the 20th of March :-)
masak that's like... three days from now. :/ 09:53
moritz_ aye
masak we'll try to pass the time without you.
it won't be easy, but we'll have to cope.
dalek kudo: fc02ce6 | moritz++ | t/spectest.data:
run more test files
09:53 payload left 09:57 payload joined
jnthn masak, mberends: +1 to having a rakudosketch 09:57
09:58 lest_away is now known as lestrrat
jnthn (as a one-off for planning) 09:58
But we should wait until colomon++ is around. 09:59
masak +1
sorear sketch? 10:00
also, 02:34 < sorear> jnthn: Why does Blizkost allocate and free PMC bodies itself? Isn't that what auto_attrs is for?
jnthn The code may pre-date auto_attrs. 10:01
10:01 payload1 joined
jnthn sorear: It's a pun on parrotsketch 10:01
sorear What's a parrotsketch? 10:02
And what's the best way to get your attention?
10:03 payload1 left
jnthn parrotsketch is meeting of core Parrot developers once a week 10:03
sorear Oooh. 10:04
rgrau sorear: it happens tuesday-ly :) irclog.perlgeek.de/parrotsketch/ 10:06
10:06 pmurias joined, payload left
sorear rgrau: yeah, I read a few logs from that channel and decided it was permanently unused :) 10:06
Just... no tuesday ones.
rgrau gotta be at the right place at right time 10:07
jnthn is pondering what to submit for NpW
*NPW
sorear jnthn: Can I do anything to contact you more reliable that address on #perl6? 10:08
jnthn What kind of "more reliable" do you need? :-) 10:09
There's email too I guess, but you're likely to get a quicker answer here.
sorear jnthn: Will be answered with probability >75%.
10:09 riffraff joined
jnthn sorear: That's pretty good. ;-) 10:10
Oh wait, I don't get >75% now? :-) 10:11
sorear Well, it would be better if we were simultaneously on IRC more than 2 hours a day
But it does feel like half of the stuff I tell you in backlog never makes it
...which tells me that backlog-telling is a bad approach 10:12
jnthn I try to backlog but yes, it's lossy. Sorry. 10:13
snarkyboojum dobro jutro all :)
jnthn There's not enough hours in the day to do everything that would be ideal.
snarkyboojum morning even :)
jnthn snarkyboojum: dobre utro # yeah, yeah, so I western-Slav-ized it :-) 10:14
sorear jnthn: yes, and I don't know what the correct approach is.
snarkyboojum jnthn: :) makes sense to me (and I'm an aussie)
sorear I'm trying to get you to help me, not get you to feel bad
snarkyboojum masak: o/ 10:15
masak snarkyboojum: hi!
snarkyboojum masak: I've been git pulling your tardis (that sounds a little odd)
masak snarkyboojum: I'm steadily getting better. when you wanna get togethern and hack?
snarkyboojum sure thing - I'm keen as mustard 10:16
masak great. so am I.
snarkyboojum I've been breaking rakudo stuff locally trying to get .rotate working lol
masak oh, nice.
jnthn sorear: I'm trying to help you, but you might have to prod me more than once over things. :-)
10:16 payload joined
masak an aspiring Rakudo hacker. 10:16
snarkyboojum definitely aspiring
vs hacker :) 10:17
jnthn sorear: Maybe if there's stuff you have questions on when I'm not here, you could pop it in an email
And then if I am about, ask on channel.
sorear sure.
jnthn sorear: mailto:jnthn@jnthn.net
sorear sleep
jnthn OK, we'll try that protocol :-)
o/
snarkyboojum so I have > say [1,2,3].rotate 10:23
231
working
10:23 payload1 joined
snarkyboojum but parcels aren't happy > say <1 2 3>.rotate 10:23
Null PMC access in getprop()
anyone feel up for mentoring? :) 10:24
10:25 payload left 10:26 meteorjay left 10:27 meteorjay joined, pmurias left 10:32 smash_ joined
smash_ hello everyone 10:32
10:32 vamped left
masak smash_: hi! 10:33
snarkyboojum in my naivety I noticed that an Array is a Seq and that a Parcel is backed by an iterator and you can get a Seq but calling self.Seq, so I assumed Seq.pm might be a good place for rotate (probably wrong). So implementing method rotate in Seq.pm works for Array, but implementing method rotate in Parcel.pm and passing it to self.Seq.rotate blows up in my face as per above :)
jnthn smash_! :-)
snarkyboojum I've missed the mark horribly haven't I? :)
pmichaud snarkyboojum: I suspect we still need to resurrect List 10:34
phenny pmichaud: 09:16Z <mberends> tell pmichaud I am thinking of you and your wife all the time. Many of us would like to help, if you would let us know how.
pmichaud: 09:17Z <masak> tell pmichaud what mberends said.
snarkyboojum pmichaud: buggery
smash_ everyone: i need help updating the changelong for tomorrow release
snarkyboojum pmichaud: I could have a bash and learn more about how little I know :)
pmichaud mberends / masak: prayers and/or positive energy helps a lot :) 10:38
masak pmichaud: gotcha.
consider it done.
snarkyboojum pmichaud: my gf and I wishing you and your wife the very best
pmichaud mainly it's just great knowing that Rakudo and Perl 6 make such outstanding progress without me being ever-present to move it along 10:39
and having you all take care of Copenhagen was a -big- pressure reliever for me
smash_ pmichaud: all the best for you and your wife 10:40
masak pmichaud: Copenhagen was wonderful. we all missed you, but we made the best of it, and the results were very positive. 10:41
jnthn pmichaud: o/
pmichaud: You and Paula are in my thoughts and prayers too, of course. :-) And Rakudo is coming along very nicely thanks to everyone++. :-) 10:43
masak snarkyboojum: is it nearing midnight for you? how about meeting up after you've woken up? I should have had dinner by then.
jnthn is very happy with the progress too
snarkyboojum masak: yeah - 9:45 here, should have a slow day at work again tomorrow - so sounds like a plan 10:44
masak \o/
snarkyboojum alternatively, I could stay up for another 3 hours or so.. I want to get .rotate working too :P
even if it's horribly wrong ;)
masak snarkyboojum: I'm at $work right now, and a bit distracted by tasks. 10:45
snarkyboojum masak: okydoke - I'll be online in the morn in about 9-10 hours tho
masak snarkyboojum: cool. I'd like to set as a goal for that hacking session to have a simple interactive time-travelling debugger going. 10:46
snarkyboojum masak: would be gold
masak something that can execute and navigate the assignment and binding stuff I've been toying with so far.
snarkyboojum masak: yeah
10:48 envi^home left
masak finally finished backlogging two days 10:49
10:50 envi^home joined
pmichaud has 10 days to backlog 10:51
hugme show rakudo 11:00
hugme pmichaud: sorry, I don't know anything about 'rakudo'
pmichaud nm.
11:02 arthur-_ left 11:04 arthur-_ joined 11:13 rgrau left 11:29 yinyin left
colomon jnthn: you are too kind. and I am around. 11:55
jnthn Kind? :-)
.oO( what kind of type^W^W^Wtype of kind? )
11:58
en.wikipedia.org/wiki/Kind_%28type_theory%29 :-) 11:59
takadonet morning all 12:07
jnthn morning, takadonet
takadonet jnthn: how are you doing? 12:08
jnthn My cold is continuing to go away, and I've survived the day so far as lunchtime. :-) 12:09
You?
takadonet Found out yesterday that I had bronchitis 12:10
colomon ooo, ick.
colomon has survived the day so far as staring at breakfast.
jnthn takadonet: ooh, not fun :-( 12:11
takadonet It's not that bad ....
jnthn Get well soon! 12:12
takadonet thanks
Changing topic, probably going to have some time soon to work on Bioperl6!!!
jnthn \o/ 12:13
jnthn needs to go and get lunch stuffs...min brod e kass!
masak Ö=
:)
'mitt bröd'
jnthn oh, neuter bröd 12:14
?
masak aye.
jnthn attempts to commit that to memory :-)
bbs
colomon woah, moritz_++ 12:17
jnthn back 12:31
colomon S32-str/uc.rakudo..................................perl6(1377) malloc: *** error for object 0x4500200: non-page-aligned, non-allocated pointer being freed
*** set a breakpoint in malloc_error_break to debug
perl6(1377) malloc: *** error for object 0x33d7258: Non-aligned pointer being freed
*** set a breakpoint in malloc_error_break to debug
again.
jnthn :-( 12:32
fajl
masak fejl :)
jnthn lol
jnthn has discovered a very nice pear juice
colomon once the "spectest" run is done I'll try it separately, but so far I haven't been able to isolate the problem. :( 12:33
jnthn yes, those are kinda pesky 12:34
12:34 ruoso joined
jnthn masak, mberends, colomon: When today is good for all of you for rakudosketch? 12:35
colomon I've also had one other point of wierdness with that file: the todo tests that sometimes pass and sometimes fail. 12:36
sometime between 9:30-11:00 am Eastern would be awesome. 12:37
jnthn What's that in proper time?
er, I mean...
:-)
colomon I don't think there are any outright bad times for me until late for you guys. 6:30pm eastern and after... 12:38
define proper time. :)
masak CET :)
colomon It's 11:00 am to 12:30 pm Newfoundland time.
2:30 pm to 4:00 pm CET 12:39
hejki just use UGT? :)
colomon assuming it's actually 1:39 pm CET now.
masak aye. 12:40
I'll be here and available in that time span.
colomon is there actually a #rakudosketch ? 12:41
jnthn colomon: Not yet. ;-)
masak there is today :)
jnthn 2:30pm - 4:00pm CET works for me 12:42
masak I've been hanging out there since 10:22 :)
jnthn lol
mberends jnthn: after 6:30pm CET for me because of $work and commute() :-( 12:45
takadonet loves having a dual quad core at work
jnthn Ah, OK 12:46
masak, colomon: Can either of you make after 6:30pm CET?
masak can 12:48
colomon that's 5 hours from now?
I should be able to do that.
jnthn Roughly, yes.
masak preferably an hour or more after :) 12:49
jnthn masak: ah, you're thinking about nom? :-)
masak I usually make/eat nom around 7-ish. 12:50
arnsholt masak: That's an unusually civilised time to eat for a Scandinavian =) 12:52
Many of my friends have dinner at four or five for some reason
jnthn whoa! 12:53
jnthn doesn't normally lunch until at least 1pm 12:54
12:56 Bzek joined 13:03 M_o_C joined
masak jnthn: if you have time for a little bit of hand-holding today, I think I'll be able to do the last bit on named enums. 13:13
jnthn: I'll start by diagnosing the current problem a bit further.
jnthn masak: OK, sure. :-) 13:14
masak: I need to concentrate on a few $dayjob bits too.
13:14 ignacio_ joined
masak jnthn: ok, no problem. 13:15
13:22 jhuni left 13:30 Bzek left 13:31 lichtkind joined
snarkyboojum I'm looking at t/spec/S32-array/rotate.t 13:36
masak yes? 13:37
snarkyboojum if you have my @array = <a b c d e> and you do @a.rotate(7), the test expects, d e a b c, but I think it should be, c d e a b
am I mad?
alpha: my @array = <a b c d e>; say @a.rotate(7) 13:38
p6eval alpha 30e0ed: OUTPUT«Symbol '@a' not predeclared in <anonymous> (/tmp/GPYmSrawFj:10)␤in Main (file <unknown>, line <unknown>)␤»
snarkyboojum oops
alpha: my @array = <a b c d e>; say @array.rotate(7)
p6eval alpha 30e0ed: OUTPUT«cdeab␤»
masak snarkyboojum: no, I don't think you're mad. I also arrive at that result. 13:39
snarkyboojum I think the test is wrong?
masak seems like it.
13:39 Bzek joined
snarkyboojum if that's the case, then I have a patch to make .rotate work ;) 13:39
colomon \o/
masak snarkyboojum++
snarkyboojum not saying it's "right", but it passes the tests heh 13:40
and works for Array and Parcel
colomon Sounds like a good start.
snarkyboojum > say [1,2,3].rotate(2) 13:41
312
> say <1 2 3>.rotate(-8)
231
:)
> say <1 2 3>.rotate.rotate 13:42
312
masak alpha: sub postfix:<!>($n) { [*] 1..$n }; say 4!.comb.rotate.join
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near ".comb.rota"␤in Main (file <unknown>, line <unknown>)␤»
masak alpha: sub postfix:<!>($n) { [*] 1..$n }; say (4!).comb.rotate.join
p6eval alpha 30e0ed: OUTPUT«42␤»
masak \o/
snarkyboojum anyway - was fun to work it something out for it. what do I do now? 13:43
s/work it/work/
masak snarkyboojum: put the patch somewhere we can see it.
colomon nopaste it, I'd suggest
snarkyboojum masak: ok
colomon check in your changes to the test file.
snarkyboojum have done.. just amounted to turning the tests back on 13:44
those 28 tests pass
anyway, will paste up a patch somewhere
colomon if you make it using git patch, it will be very easy to handle it. :) 13:45
13:46 meppl joined
snarkyboojum do I add the test file to the patch? 13:47
colomon no
snarkyboojum I guess not
13:48 [hudnix] joined
snarkyboojum but I guess the change to spectest.data 13:48
colomon rakudo: say 1.5 % 1
p6eval rakudo fc02ce: OUTPUT«0.5␤»
masak rakudo: say 1.5 % 0 13:49
p6eval rakudo fc02ce: OUTPUT«1.5␤»
masak alpha: say 1.5 % 0
p6eval alpha 30e0ed: OUTPUT«1.5␤»
13:49 hudnix left
masak expected a 'divide by 0' error 13:50
lisppaste3 snarkyboojum pasted "A bash at a .rotate patch" at paste.lisp.org/display/96509 13:52
snarkyboojum oh no.. that's wrong :O
colomon why? 13:53
snarkyboojum it's an old version :S
13:54 justatheory joined
snarkyboojum I'll have to futz around a bit to get it right I guess 13:55
masak alpha: my $c = sub($m) { say $m }; my $r = &$c("OH HAI"); say $r.WHAT 13:57
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "{ say $m }"␤in Main (file <unknown>, line <unknown>)␤»
masak alpha: my $c = sub ($m) { say $m }; my $r = &$c("OH HAI"); say $r.WHAT
p6eval alpha 30e0ed: OUTPUT«OH HAI␤Bool()␤»
snarkyboojum needs to learn git properly :| 13:59
14:01 meppl left
masak some enterprising person could rewrite the 'reduce' and 'revert' entries in S32/Containers. it contains only code right now, which I consider to be both over- and underspecifying. 14:01
colomon I was thinking reduce might need some extra features as well. 14:02
masak do tell.
colomon digging up S32 now... 14:04
in specific, I was thinking that the reduce metaop may do the reduction forwards or backwards, and might gather intermediate results. 14:06
If we're thinking of the metaop being implemented in terms of .reduce, then .reduce needs those features.
Also, I was certainly under the impression that reduce was supposed to work with Code blocks that take more than two arguments. 14:07
14:08 SmokeMachine joined
colomon wonder how hard it would be to implement the FIRST phaser? I'd love to have that available... :) 14:08
masak also wants phasers 14:10
colomon how does FIRST even work? 14:11
In theory, I mean.
If it's just something in a block, how does it know when the enclosing for / map has started afresh? 14:12
masak colomon: probably when the code is compiled, it's physically put before the loop body.
except that it also needs access to the variables within the right scope. 14:13
colomon FIRST doesn't have to be the first thing in the code block, does it? 14:14
and I don't see how that sits with the notion that for is map, and map can be passed a code block that comes from elsewhere.
hmmm... maybe a hidden bool variable that the block can access? 14:15
masak colomon: no matter where you put the FIRST phaser physically in the code block, remporally it'll still be executed at the same time.
colomon should be $working....
masak s/remporally/temporally/
14:15 iblechbot left
colomon orly? 14:16
masak ya rly.
the description of it is "at loop initialization time, before any ENTER" 14:17
colomon hmmmm....
masak which means they are executed before block entry time.
think of the loop as an actual OO object in the runtime, with a callback to any FIRST phasers.
lisppaste3 snarkyboojum pasted "Another attempt at a .rotate patch" at paste.lisp.org/display/96512 14:19
14:20 dalek left
snarkyboojum had to fix two bugs in S32-array/rotate.t though 14:20
14:21 dalek joined
masak that's OK :) 14:21
colomon trying patch now.
snarkyboojum I'm not keen on fixing a test to make it pass though (even if I'm sure I'm right about the test being wrong)
colomon: cool - shred away! :)
colomon snarkyboojum: yeah, that's a tricky thing. 14:22
masak snarkyboojum: maybe we should try our hand at implementing phasers even before we attack subroutines? :)
though the problem of blocks will rear its head before either of these. :/
snarkyboojum masak: hehe - if you'll teach me about phasers :P 14:23
masak 'course.
snarkyboojum: I'm surprized you're still here, by the way. isn't it very late where you are? bordering on early...
snarkyboojum masak: yeah - 1:30am :|
masak oh, not as bad as I thought :)
14:24 justatheory left
masak snarkyboojum: as long as you're ready to hackathon away in 8 hours or so, I'm fine with that :) 14:24
snarkyboojum masak: I can be stubborn when it comes to trying to understand/get things working :)
colomon That's a great trait to have. :) 14:25
masak sounds like a useful trait.
snarkyboojum heh - tell my gf
colomon It was the rotate 7 tests you changed, right?
snarkyboojum yeah
colomon Can you commit those changes to svn? 14:26
snarkyboojum I don't think I have access
haven't set it up...
colomon masak, can you commitbit him? 14:27
masak sure thing.
snarkyboojum: could you privmsg me your email address?
colomon (and meanwhile I'll duplicate his changes and check them in.)
pugssvn r30115 | colomon++ | [t/spec] Fix two broken rotate tests. 14:29
masak snarkyboojum: please add yourself to the AUTHORS file in the Pugs repo. 14:30
colomon okay, spectesting then I'll push snarkyboojum++'s changes.
masak snarkyboojum: oh, and welcome aboard! :)
smash_ anyone on the perl6-compiler list: did my invite for changelog update, etc. made to the list ?
snarkyboojum masak: ok - will work out how to do that :)
masak: thanks! :)
masak smash_: aye.
smash_ masak: ok, thks 14:31
masak smash_: I might take a look at it later today.
smash_ masak: you can reply to the e-mail if you prefer, i'll update the file later
14:33 tylerni7 left
masak smash_: I'd probably find it easier just to commit directly to the repo :) 14:33
smash_ masak: as you prefer :) 14:34
i'm ok with either approach
14:35 nihiliad joined 14:37 tylerni7 joined, tylerni7 left, tylerni7 joined
dalek kudo: 02ba26c | snarkyboojum++ | (3 files):
An attempt at getting .rotate working
14:49
kudo: d0f934f | (Solomon Foster)++ | src/core/Seq.pm:
Delete trailing whitespace.
snarkyboojum colomon: w00t! 14:50
colomon snarkyboojum++
snarkyboojum colomon++ :)
14:52 Guest98435 left
pugssvn r30116 | snarkyboojum++ | Added snarkyboojum to AUTHOR file 14:54
14:56 PacoLinux joined 14:59 uniejo left
snarkyboojum thanks colomon and masak for your help 14:59
colomon thank you for the coding! 15:00
snarkyboojum sleep awaits! hopefully I can continue tomorrow :)
snarkyboojum afk
masak sweet dreams. 15:01
jnthn back
masak: It randomly occurred to me that a time travelling debugger and STM may both want to hang off the same primitives.
colomon STM? 15:02
masak primitives?
jnthn random?
:-)
STM = software transactional memory 15:03
colomon ah, okay.
jnthn masak: in stm you need to track what changed.
masak it randomly occurred to me yesterday that it'll be very difficult to keep complexity down after introducing laziness. :/
the user will watch the step-through replay and choose to go insane rather than understand what happens.
TimToady you need to virtualize time :) * 1/2 15:04
masak depending on what that means, I think I already did.
TimToady so it's the time travel paradox that is driving the insanity? 15:06
masak but it seems there are a number of different kinds of frames in a runnin Perl 6 program. dormant ones, which are closures which haven't been executed; active ones, which are the ones that through laziness are currently involved in producing values; and the current one, which is just a little more special than the other active ones.
colomon just used 0...32 and 32...0 in his $work code...
masak TimToady: nah, just the general jumpiness of it all.
TimToady colomon: what does mod 33 arithmetic?
masak rakudo: .say for (0...32) Z (32...0) 15:07
p6eval rakudo fc02ce: OUTPUT«32␤32␤31␤31␤30␤30␤29␤29␤28␤28␤27␤27␤26␤26␤25␤25␤24␤24␤23␤23␤22␤22␤21␤21␤20␤20␤19␤19␤18␤18␤17␤17␤16␤16␤15␤15␤14␤14␤13␤13␤12␤12␤11␤11␤10␤10␤9␤9␤8␤8␤7␤7␤6␤6␤5␤5␤4␤4␤3␤3␤2␤2␤1␤1␤0␤0␤»
masak :(
TimToady masak: yes, I noticed the effect when trying to debug lazymaps
colomon that's the gather /take bug
masak I guess I submitted that one already.
15:08 astrojp left
colomon TimToady: it's not mod 33, it's creating a barber-pole loop in UV space. (So the u coordinates are / 11, and the v coordinates / 32.) 15:08
TimToady ah 15:09
colomon BTW, I'm currently thinking that Rats are a big ++
TimToady you're the guy who shaves the barber pole...
colomon ;)
masak I got a tip about undo-software.com/ from a friend over lunch. supposedly they also have some interesting papers out. 15:10
TimToady doubtless patented...
masak nod. 15:12
but they can't patent -Ofun, and that's what we're basing Tardis on! :P
TimToady perhaps some way to view the call graph and trim off uninteresting branches, like 1...* iterators
masak something like that. I think they only saved non-deterministic points or something.
TimToady hmm, I can see that; if you can replay a 1000 deterministic steps in the blink of an eye, the user doesn't care 15:14
so while you're forced to remember non-deterministic, you can choose any other checkpoints for convenience
masak right.
TimToady a mild form of memoization, as it were 15:15
having a side-effect-free language helps there :)
as does pass-by-value 15:16
even pass-by-copy, if it provides a barricade against what you have to remember long-term
TimToady waves arms vaguely in the direction of .se 15:17
15:18 jonasbn joined
masak :) 15:19
masak likes the fact that .se is now a potential arm-waving focal point
TimToady we should grab all the two-letter method names and turn them into translation methods 15:20
masak sounds like a good idea for a module. 15:21
TimToady I think iso8601 dates would be okay in the core 15:22
masak I know I'd prefer DateTime.new('2010-04-01') to DateTime.new(:year(2010), :month(4), :day(1)). 15:23
TimToady as with unicode, when there's a (relatively) sane international interface that replaces a host of insane interfaces, we should be encouraging people to use it 15:24
masak full ACK
Perl 6 is partly about daring to point the way to sensible standards. 15:25
TimToady it's about paying our debts to the future before we get there
15:26 lichtkind left
jnthn masak: With multi dispatch, you can offer both. :-) 15:26
masak jnthn: true. :) I think I did in my flux repo.
jnthn \o/
masak jnthn: but I still prefer the iso8601 one.
TimToady we only make sanity the default, we don't require it. :)
15:27 bkeeler left
jnthn Well, I was thinking of the case where you have the tree bits individually to hand. 15:27
:-)
TimToady jnthn <(tree bits) --> TimToady .oO(dendrochronology) 15:29
masak rakudo: class A { method foo() { say "OH HAI" } }; class B is A { multi method foo($a) { say "OH NOES" } }; B.new.foo
p6eval rakudo d0f934: OUTPUT«OH HAI␤»
masak \o/
jnthn: I also used the tree-bits version to delegate to from the iso8601 versions. :) 15:30
TimToady superificool
jnthn masak: Yes, we've had that one work for a little while. :-) 15:31
masak I think I have a couple of # RAKUDO comments for that one in various projects. 15:32
jnthn yeah, it got fixed when we got our own custom method dispatcher
The Parrot default one doesn't do that. 15:33
masak :)
jnthn I don't think it does still. Hilariously, the Perl 6 dispatcher also knows what to do when it sees a Parrot multi sub too, so it can multi-method-dispatch Parrot's own MultiSub type better than Parrot itself can. :-)
(They're welcome to steal that back. :-)) 15:34
mathw lol
nice one jnthn
TimToady once we have an optimizing compiler, we'll rewrite all of parrot in perl, and steal everything back to parrot. :) 15:35
15:35 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner
jnthn
.oO( Imagine a JIT written in Perl 6 )
15:36
mathw \o/
That would be awesome
jnthn "You can go JIT yourself!"
mathw Obviously it would have to operate on itself to make it fast enough to use...
TimToady using multi dispatch to pick the right instruction
masak let's do the "correct" bit before doing the "jit" bit :P
mathw How deliciously recursive
masak what's the biggest reason for positional parameters having to come before named-only parameters? 15:39
TimToady transparency
masak in what sense? 15:40
I find foo(2, x => 1) quite confusing when the signature is :($x, $y).
TimToady being able to look at a signature, and not potentiatlly having to read the whole thing to determine what to pass for the first required parameter
are you talking about parameters or arguments? 15:41
jnthn I suspect it'll only become a best practice if we don't enforce it, for that reason.
masak TimToady: both, I guess.
TimToady: the restriction is there for both, isn't it?
jnthn (For parameters that is)
TimToady it's only restricted for parameters, not arguments
masak oh, ok.
jnthn I think Rakudo lets you do the args in any order too. 15:42
masak o.O
jnthn rakudo: sub foo($x, $y) { say "$x,$y" }; foo(x => 1, 2)
p6eval rakudo d0f934: OUTPUT«1,2␤»
masak ok. :)
rakudo: sub foo(:$b, $a) {}
p6eval rakudo d0f934: ( no output )
jnthn I agree with TimToady++ about the restriction staying in signa...damm, NYI.
masak std: sub foo(:$b, $a) {}
jnthn :-)
p6eval std 30116: OUTPUT«===SORRY!===␤Can't put required parameter after variadic parameters at /tmp/xZwT8ysKUs line 1:␤------> sub foo(:$b, $a⏏) {}␤ expecting any of:␤ constraint␤ parameter␤ trait␤FAILED 00:01 108m␤»
masak submits rakudobug 15:43
15:44 alester joined 15:49 lisppaste3 left, lisppaste3 joined 15:50 jaldhar left
mathw makes sense 15:50
mathw agrees
jnthn masak: btw, +1 to having a Rakudo ticket too, to track nqp-rx issues. Since we also need to make sure we have test coverage in spectests for such things. 15:51
masak troo. 15:52
15:54 bkeeler joined 16:02 Trashlord joined
TimToady We should put in more bugs, because masak is always so disappointed when he tries something strange and it's not buggy. 16:05
mathw No I think we need to encourage masak to try stranger things 16:06
And I need to go home. Hurrah!
masak I think what mathw said is the right approach. :) 16:11
but I find the ng merge has supplied a fresh set of non-strange bugs. it's definitely easier to stumble on bugs again. :) 16:12
diakopter: have you seen this? pegjs.majda.cz/ 16:13
jnthn Mmmm... .cz 16:15
:-)
16:15 nihiliad left 16:16 nihiliad joined 16:18 astrojp joined 16:19 envi_home2 joined 16:22 envi^home left 16:25 Chillance joined, cdarroch joined, cdarroch left, cdarroch joined 16:34 am0c joined 16:40 pyrimidine joined
quietfanatic sub infix:<op> ($a, $b) { return {$_.($a, $b)} }; say (3 op 4).(&infix:<+>) 16:43
rakudo: sub infix:<op> ($a, $b) { return {$_.($a, $b)} }; say (3 op 4).(&infix:<+>)
p6eval rakudo d0f934: OUTPUT«Confused at line 11, near "say (3 op "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
quietfanatic Not yet... 16:44
arnsholt CPS is fascinating 16:51
I'm not entirely sure I actually understand it though ^^ 16:52
masak I think I do. still doesn't mean I'm not scared by it. 16:55
16:55 meppl joined 16:58 masak left 17:00 mberends left 17:01 stephenlb joined 17:08 ruoso left 17:13 cosimo left 17:14 cosimo joined 17:29 ruoso joined 17:31 ash_ joined 17:39 takadonet left
ash_ so... a while back, i was wondering if there was a callback or something for when a role gets composed. at the time jnthn was saying i could try making a method ^compose() on my role and it might get called when it is composed, but then it kinda became fussy and I don't know if there was ever a conclusion to that, has there been any more recent talking about some sort of functionality similar to that? 17:42
i suppose you could add a multi to does... too
jnthn ^compose wouldn't be quite the hook... 17:43
There's nothing for this yet.
pugssvn r30117 | unobe++ | [t/spec] Add !== tests to S03-operators/equality.t
r30118 | unobe++ | [t/spec] Add !eq tests to S03-operators/equality.t
r30119 | unobe++ | [t/spec] Added equality tests and unfudged !== tests 17:44
r30120 | unobe++ | [t/spec] Update the plan for S03-operators/equality.t
jnthn But it'd be easy to implement if it can be agreed it's desirable.
pugssvn r30121 | unobe++ | [t/spec] Mark one test as TODO in equality.t
ash_ i know i can find some uses for it 17:45
for comparison, ruby has 2 callbacks for modules (rubies version of a role), depending on how they are included it either calls included or extended 17:46
the only real difference is where the methods end up, either on the class or on the instance
17:57 mberends joined 18:01 araujo left 18:02 araujo joined 18:03 dakkar left 18:05 payload1 left 18:08 envi_home2 left
sECuRE hm, i was trying to use NativeCall.pm from zavolaj, but as soon as i use more than 4 parameters in an 'is native' sub, i get: Parrot VM: PANIC: iiiiii is an unknown signature type. 18:19
what could be the problem?
jnthn sECuRE: Parrot limitation. 18:20
sECuRE: It can't generate arbitary call sigs yet.
sECuRE oh, ok
too bad
jnthn sECuRE: If you need others, you can add to a file in Parrot
I've asked when they'll have some more proper frame-builder, didn't get any certain timeframe yet but apparently it's being worked on. 18:21
sECuRE i don’t really need it, i just wanted to see if how well external c libraries are usable at the moment ;)
jnthn For now add to parrot/src/extra_thunks.nci
And then re-compile Parrot
If you do get a library working with Zavolaj, they'll probably be happy to accept a patch adding extra things to that file. 18:22
(the re-compile Parrot step is just "make install" in the parrot directory, fwiw.) 18:23
sorear Alternatively 18:24
Go download 'libffi'
modify Zavolaj to use *it*
this will be a bit slower, of course
ash_ they are working on a generic solution for N number of variables ffi calls 18:25
i have seen them talking about it in the mailing lists, so, they are aware its an issue 18:26
sorear maybe they are ... libffi exists right now though.
jnthn sorear: Well, I'd rather that Parrot actually uses libffi.
Or something.
It's a dependency, but maybe that's not a huge problem.
18:27 iblechbot joined
sorear dependencies are bad? 18:27
ash_ there are ways of doing it without libffi, i know libffi could make things easier for us now, but just saying... python doesn't use libffi but its built in ctypes can do ffi calls for instance 18:28
sorear libffi is one of the most NIHed libraries I know
18:28 Trashlord left
ash_ could you make libffi a dependency of rakudo for now? or does it need to be really intergated into parrot? 18:28
sorear just because Python ignores it doesn't mean we should 18:29
ash_ lol, i just checked, actually python bundles libffi in its source, my bad
does libffi work on windows? (never checked...) 18:30
jnthn Well, if not, that'd be an immediate fail for it.
I believe it does though.
The bigger problem than "does it work on windows" is often "is it easy to build on Windows" 18:31
18:32 masak joined
mberends libffi does not claim standard win32 support, only cygwin and mingw32 sourceware.org/libffi/ 18:34
jnthn For anyone who is interested, there's a meeting now in #rakudosketch (a channel just for today!) for planning things related to Rakudo * in light of use.perl.org/~pmichaud/journal/40248 18:35
mberends: Oh. Well, that means I can't build it with my normal tool chain then. I'd call that a fail. :-/
mberends yup
jnthn (For anyone not wanting to join #rakudosketch now, or unable, we will post logs.)
18:36 stephenlb left 18:38 synth joined
sorear Non-core folk are invited? 18:41
jnthn sorear: yes
ash_ mberends: apparently there is a set of patches (or a separate branch of libffi, they use the same code) that works fine in msvc 18:54
mberends cool :) 18:55
masak colomon: a protoregex is a way to make regexes in grammars more extensible and modular. 19:07
colomon: that's the teleological view of them. then there's a technical explanation too :)
ash_ perlgeek.de/en/article/mutable-gram...for-perl-6 moritz++ explained them in that post, protoregex 19:08
masak ash_++: thanks :) 19:09
19:11 pmurias joined
pmurias what's zavolaj? 19:11
ash_ a project to make a NCI system in rakudo 19:13
github.com/jnthn/zavolaj
19:13 am0c left
ash_ they have an example of calling mysql libraries from rakudo, with no special compiling needed, just using the NCI stuff built into parrot 19:13
19:14 smash_ left
ash_ but parrot has some limitations, which are being worked around soon 19:14
pmurias why are things getting increasingly stranger names? 19:15
masak pmurias: :)
pmurias: how's mildew going, by the way? :P
colomon ash_++ indeed! big help, I've been using them without really knowing what they were. :)
pmurias masak: got it to convert the ast into ssa form for the uni project 19:17
masak pmurias: oh wow! I've completely missed that development.
that is, I saw the commits...
but I didn't know it's completed already.
pmurias masak: didn't hack after that on it, still needs some hacking to infer variable types properly 19:18
ash_ pmichaud: i bet its not english or something, but i only know english...
zavolaj that is
and i meant to say pmurias
ash_ tab complete fail
pmurias ash_: it's propably call in some language (it's similiar in polish) 19:19
masak ash_: it's "call" in Slovak.
19:19 TiMBuS joined 19:20 synth left, synth joined 19:22 colomon left
ash_ see, you learn something new every day :P 19:23
19:23 colomon joined
masak learned the right way to cut an onion yesterday 19:31
I can't understand how I could avoid that knowledge for so long.
19:32 riffraff left 19:38 [synth] joined 19:40 synth left, quietfanatic left 19:46 quietfanatic joined
Tene masak: what's the right vs wrong way? 19:49
masak Tene: I used to go about it in a more or less unprincipled manner. but the biggest mistake I did was to cut off the end with all the little stringy things. 19:51
Tene: here's the right way: www.youtube.com/watch?v=aDjNl5gs4nM
Su-Shee if you use a really sharp knife you can cut off the ends, doesn't matter. it'll cut properly and the onion doesn't slide apart. 19:52
masak oh! 19:53
Su-Shee but I really mean SHARP.
masak ok. :)
Tene Huh, that's not how I do it. I cut it in half vertically, and then make vertical cuts along the radial lines that descend almost to the bottom, but not quite, so the bottom with the stringy ends is still holding everything together, and then I lay the halves flat on the cutting board and make horizontal cuts, yielding small pieces. 19:54
subdivided on a polar instead of cartesian grid.
masak interesting. 19:55
Tene then I don't have to hold everything together with my hands.
The girlfriend's way is a lot easier for her than my way is, though, and it gets exactly the same results. 19:56
M_o_C And whenever I cut the onion the way the video shows sooner or later it'll fall apart before I'm done^^ Though I have to add that my intent was to cut it into pieces smaller than in the video..
Tene "Tene! Come cut this onion for me! I don't want to do it; it makes my eyes hurt. :("
masak Tene: :) 19:57
20:01 ShaneC joined
ash_ what would my $a, @b, $c = |@other; parse as? 20:02
masak std: my @other; my $a, @b, $c = |@other; 20:03
p6eval std 30121: OUTPUT«===SORRY!===␤Variable @b is not predeclared (declarators are tighter than comma, so maybe your 'my' signature needs parens?) at /tmp/eVpJygy6ic line 1:␤------> my @other; my $a, @b⏏, $c = |@other;␤ expecting any of:␤ POST␤ postfix␤
..postfix_p…
masak ash_: parsefail :)
ash_ ah, got ya
masak ash_: you need parens around '$a, @b, $c' after 'my'. 20:04
ash_ std: my @other; my ($a, @b, $c) = |@other; 20:05
p6eval std 30121: OUTPUT«ok 00:01 108m␤»
ash_ something like that?
20:05 rv2733 left
masak seems yes :) 20:05
ash_ would that be $a = @other.first; $c = @other.last; @b = @other[1...*-1] ? 20:06
masak ash_: no, I think @b might gobble all of the rest. 20:09
ash_ so, $a would be @other.first, @b = @other[1..*-1]; and $c = Mu? 20:10
sjohnson hi guys 20:11
masak ash_: think so.
sjohnson: \o
20:11 meppl left 20:12 M_o_C left
sjohnson yo masak long time no chat! 20:16
masak sjohnson: indeed. how are you these days? 20:17
sjohnson masak: pretty good. did a 2 month Clipper programming project which I finally got over with, so i can think about Perl again. i wrote something in perl yesterday for work and was reminded how much i love perl 20:19
masak :) 20:20
20:30 stephenlb joined 20:40 jonasbn left
sjohnson have i missed any exciting rakudo news? 20:41
masak sjohnson: well, things are happening every day now, it seems. 20:43
mathw sjohnson: did you hear about s///?
sjohnson mathw: no, do tell :) 20:44
the last time i was impressed with s///, was when i found out you can do s{}{}, as well as s///e
.. in p5. i am ready for more profound news in p6 20:45
mathw jnthn implemented it 20:46
I think that's profound enough, yes?
masak sjohnson: in p6, you can do $string ~~ s[regex] = 'substitution string'; 20:47
sjohnson: jnthn++ implemented most of it yesterday. \o/
oh, it is. 20:48
I've been wanting that feature since September 2008. :)
well, the s/// one, at least.
pyrimidine now we just need to update tr/// 20:54
masak pyrimidine: I like your thinking :) 20:55
pyrimidine (of course, that involves getting .trans working)
jnthn Does tr/// just desugar to .trans or some such?
masak jnthn: yes, in an almost trivial way. 20:56
pyrimidine jnthn: I would assume so.
masak jnthn: my guess is that it stays closer to the p5 semantics than .trans does. the latter is quite versatile.
pyrimidine I think .trans is NYI in master (it was in alpha)
jnthn If you get .trans to work, I'll probably be able to do tr/// for you quite easily-ish.
Now that I worked out basic s///. :-) 20:57
masak ++jnthn
pyrimidine pmichaud and I had talked about how to get it working at one point using grammars
would a p6 version go into any-str? 20:59
masak aye, think so. 21:00
pyrimidine okay, I'll see what I can come up with.
masak woot!
jnthn \o/ 21:01
pyrimidine :) 21:02
colomon now remembers why he didn't port .trans.... 21:03
21:03 sECuRE left, ignacio_ left
sjohnson masak: i'll have to wrap my peanut sized brain around that one ! 21:04
masak sjohnson: $a ~~ s[B] = 'C'; basically does the same as $a ~~ s/B/C/; 21:05
sjohnson: it's just a different syntax, with some advantages further on along the complexity scale.
snarkyboojum: ping 21:07
sjohnson thanks 21:10
21:13 wknight8111 joined 21:17 ignacio_ joined 21:18 meppl joined 21:22 jhuni joined 21:24 ruoso left, pyrimidine left
diakopter masak: : 21:29
masak std: :
p6eval std 30121: OUTPUT«===SORRY!===␤Illegal use of colon as invocant marker at /tmp/nVrcVsCFgS line 1:␤------> :⏏<EOL>␤FAILED 00:01 107m␤»
masak hah! :)
diakopter :1 21:30
std: :1
p6eval std 30121: OUTPUT«===SORRY!===␤Malformed radix number at /tmp/Ja4ZrY4Cbf line 1:␤------> :1⏏<EOL>␤FAILED 00:01 105m␤»
diakopter std: :1, 2
p6eval std 30121: OUTPUT«===SORRY!===␤Malformed radix number at /tmp/S9HvbofJ8d line 1:␤------> :1⏏, 2␤FAILED 00:01 105m␤»
diakopter std: 1:, 2
p6eval std 30121: OUTPUT«===SORRY!===␤Confused at /tmp/tnerFWpanu line 1:␤------> 1⏏:, 2␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ statement modifier loop␤FAILED 00:01 106m␤»
masak those are alright, I guess.
diakopter std: 1++:, 2
p6eval std 30121: OUTPUT«===SORRY!===␤Confused at /tmp/1736QwdY9y line 1:␤------> 1++⏏:, 2␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ statement modifier loop␤FAILED 00:01 106m␤»
masak but the first one was strange.
std: :: 21:31
diakopter it's done that for years
p6eval std 30121: OUTPUT«ok 00:01 105m␤»
masak std: :::
diakopter std: ()++()
p6eval std 30121: OUTPUT«===SORRY!===␤Illegal use of colon as invocant marker at /tmp/2TZWgBDImt line 1:␤------> :::⏏<EOL>␤ expecting signature␤FAILED 00:01 106m␤»
std 30121: OUTPUT«ok 00:01 105m␤»
diakopter std: ().++.() 21:32
p6eval std 30121: OUTPUT«ok 00:01 105m␤»
diakopter std: ()...++...() 21:33
p6eval std 30121: OUTPUT«ok 00:01 106m␤»
21:33 ignacio_ left, diakopter was kicked by diakopter (TROLL))
jnthn ...you can kick yourself?! 21:33
masak that's new.
somehow it feels wrong from a physics perspective. 21:34
not enough leverage, or something. :)
jnthn :-) 21:36
sjohnson irc also follows timtowdti philosphies
maybe diakaptor is angry at himself 21:41
jnthn It was a bit more impressive than a plain old /quit :-) 21:42
sjohnson i suppose a true /quit would be to ask an ircop to remove him from the server
Tene freenode also has /remove, which forces a leave.
jnthn Forces someone else to levae? 21:43
Tene Yes.
jnthn
.oO( no, don't test it )
Tene some people have clients that auto-rejoin when kicked.
21:44 jnthn left, jnthn joined
jnthn er 21:44
/leave is more forceful? :-)
yes, I missed the space!
21:48 ignacio_ joined
Tene it doesn't trigger the auto-rejoin 21:50
jnthn Aha.
It turns out you can use it to remove yourself from the channel too!
...by accidnet. :-) 21:51
21:51 iblechbot left
masak I accidentally the IRC channel. :) 21:51
21:52 ash_ left
jnthn Better than accidentally the whole IRC channel. :-) 21:52
masak ouch :)
jnthn Updated ROADMAP pushed. 21:53
dalek kudo: fed4687 | jonathan++ | docs/ROADMAP:
Tweak the ROADMAP with the results of The Meeting.
21:55 nihiliad left 21:58 cotto_work left 22:07 cotto_work joined 22:10 rgrau joined 22:11 nihiliad joined 22:16 ignacio_ left, cotto_work left 22:17 cotto_work joined
masak right. 22:18
named enums.
at least until snarkyboojum showz op :)
jnthn :-)
snarkyboojum masak: hello! 22:19
jnthn Well, there goes named enums.
masak :)
snarkyboojum whoops
masak I... could try to do both.
jnthn hehe
snarkyboojum masak: well, esp as I'm doing some firefighting at work atm 22:20
:|
masak there's a fire where you are?
I suggest you deal with that first, yes.
jnthn I hope that's non-literal.
masak let me know when things aren't burning anymore.
snarkyboojum masak: people would lead me to believe there is - yeah non-literal
masak oh :) 22:21
jnthn remembers all the QDB quotes where people came on IRC to say how their room is on fire :-)
lue hello all!
jnthn hellue!
masak lue: heLUE!
snarkyboojum lue: o/
22:22 SmokeMachine left
masak snarkyboojum: after you extinguish your non-literal flames, how about we start our discussions for world domi^W^W Tardis development here on the channel, until they throw us out for bad behaviour? 22:22
lue the array stuff hasn't been fixed yet, I take it? :) 22:23
snarkyboojum masak: sure thing :)
lue (never seen the ^W control character...)
masak lue: the array... stuff? :)
22:23 rv2733 joined
masak lue: then you need a decent editor :) 22:23
lue rotate, pairs, and exists.
masak: like emacs?
masak I think I saw a rotate patch fly by.
lue: yes.
colomon rakudo: say <1 2 3 4 5>.rotate(2) 22:24
lue I has emacs open right now :)
p6eval rakudo fed468: OUTPUT«34512␤»
colomon yup.
masak lue: in my Emacs, C-w is bound to backward-kill-word.
lue: but I suspect I added that in my .emacs file.
lue I saw that patch. It was gyrating :)
colomon blame snarkyboojum++
masak gladly :) snarkyboojum++ 22:25
snarkyboojum yay!
jnthn snarkyboojum++
Do we pass rotate.t now? :-)
snarkyboojum colomon and masak should take some of the blame :)
yep!
masak doesn't remember helping :P
jnthn \o/ 22:26
masak snarkyboojum: I'll start by mocking up an nopaste of an interactive debugger. 22:27
be right back.
lue masak: ^W does that in the terminal, but not in emacs (something about regions and marks not set) 22:29
masak lue: right. I have (global-set-key "\C-w" 'backward-kill-word) in my .emacs file. 22:30
22:35 pmurias left
masak snarkyboojum: gist.github.com/335815 # interactive tardis session 22:35
snarkyboojum masak: will check it out 22:36
masak all the keywords, and the presentation of a pad, are very much up for debate.
but getting this working would be a great start, I think. and all the pieces are there already.
hm, it seems to me that 'MAIN:' is too visually heavy... :/ 22:37
masak edits
hm. and I added actual going backwards in time now, too. 22:41
snarkyboojum ah cool, where go \d+ goes to that tick 22:43
masak yes. 22:46
at least for now.
'go \d+' feels like a kind of last-resort way to navigate :)
but it's the simplest one to start with.
22:46 Su-Shee left
snarkyboojum n performs the previous operation again? 22:47
next
masak snarkyboojum: I can see two atomic, fairly independent tasks on the way to having a program that does that.
yes. 'n' and 'step' are synonyms.
snarkyboojum I like "look"
masak they're basically 'go self+1'
:) 22:48
one task is writing a Perl 6 grammar that does what my yapsi-prototype does in terms of parsing.
the other task is writing the loop for the interactive shell, along with understanding commands etc.
both quite pleasant tasks.
snarkyboojum aye 22:49
masak snarkyboojum: feel like writing some Perl 6? :)
snarkyboojum what does look show? the current lexical scope or something?
masak: sure thing ;)
masak yes. the current lexical scope. 22:50
for now, that's all we have.
it'll be more complicated when we tackle blocks.
but for now, it's simple :)
(the '{...}' braces are a sort of preparation for more complex situation)
(a kind of 'bracing oneself', you might say)
snarkyboojum masak: simple is good :) 22:51
:)
masak snarkyboojum: yes. we'll need it :)
masak has been thinking about phasers and lazy and exceptions lately
snarkyboojum: so, which subtask would you like to attack? parser, or interactive loop? 22:52
snarkyboojum masak: which is easier? :) interactive loop?
masak I think that one might be slightly easier, yes.
probably less frustrating, at least.
snarkyboojum masak: I think I'll try and take the easier option if that's ok :P 22:53
masak it's definitely ok.
here are some loose tips: prompt("> "). while. given/when. :)
snarkyboojum masak: yep - cool
masak good luck! see you in 15 minutes or so :) 22:54
masak starts on the parser
snarkyboojum masak: excellent :)
23:00 k23z__ joined 23:01 diakopter joined
diakopter bzam 23:02
oh. 1 hour too early.
23:02 ChanServ sets mode: +o diakopter 23:03 rgrau left
masak diakopter: too early for what? 23:04
diakopter top of the log entry :)
23:05 diakopter sets mode: +oo jnthn masak
masak diakopter: :P 23:05
23:05 cotto_work left, lichtkind joined
lue stupid daylight savings! 23:05
lichtkind lue: o/ 23:06
moritz_: ping?
masak lichtkind: moritz_ will be back in two days. 23:07
lichtkind masak: too late :^(
masak if you say so. 23:08
diakopter eyes the purple mold on his cheese with suspicion
lichtkind masak: i wanted to ask him too proofread my newest p6 article
23:08 rv2733 left
lichtkind masak: deadline was today :) 23:08
23:09 nihiliad left
masak then it *is* too late. 23:09
lichtkind masak: but since im faster then lichtkind i can travel back in time :)
masak lichtkind: you joke, but guess what snarkyboojum and I are working on? :)
lichtkind snarkyboojum: on a tardis? 23:10
diakopter every time I see that word, I think "tardy slip"
lichtkind diakopter: tardy who?
masak her lip. 23:11
diakopter en.wiktionary.org/wiki/tardy_slip
TimToady I prefer hardy tulips
lichtkind masak: it supposed to be a joke since tardis is driven by dr who
diakopter a slip [of paper] that indicates tardiness
lichtkind masak: but honestly i dont feel comfortly to pretend that einsteins theories matter :) 23:12
masak oh, so it's not the slip that's tardy, it's the messenger.
lichtkind: watch that bogosity meter, buddy :)
diakopter the tardy person becomes a messenger when he receives a tardy slip
diakopter exchanges humility for impunity 23:13
not a fair trade.
TimToady just don't trade that for impugnity
lue Newton sucks. Why'd he have to invent the law of gravity? :( 23:19
lue is breaking several of Newton's laws
lichtkind lue++ 23:21
masak snarkyboojum: ping. how's it going?
lue Oi... the Shadow Proclomation is at the door O.o (better escape, I'll try and stay connected to the IRC)
23:35 cotto_work joined
lue Geez! OK, OK, erm... Great. I'm on the planet Metaop. 23:37
23:41 quietfanatic left
masak 'night, #perl6! 23:46
23:47 masak left