»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:01 fridim_ left 00:04 FROGGS joined 00:05 ptl joined, ptl left, ptl joined 00:09 ptl left 00:10 ptl joined 00:11 ptl left, ptl joined 00:15 ptl left 00:16 ptl joined, ptl left, ptl joined 00:21 ptl left 00:27 gongyiliao left 00:28 japhb_ left 00:31 ptl joined, ptl left, ptl joined 00:32 wooden joined, wooden left, wooden joined, apejens left 00:33 apejens joined 00:36 spider-mario left, ptl left 00:46 Circlepuller__ left, Circlepuller joined 00:47 ptl joined 00:49 daniel-s left 00:50 daniel-s joined, skids left 00:51 ptl left 00:53 Guest77901 left 00:54 ptl joined, ptl left, ptl joined, Exodist left, exodist_ joined 00:55 exodist_ is now known as Exodist 00:59 ptl left 01:08 hypolin joined 01:09 ptl joined 01:10 tokuhiro_ left 01:14 ptl left 01:15 colomon joined 01:24 ptl joined, ptl left, ptl joined 01:28 colomon left 01:29 ptl left 01:32 colomon joined 01:40 ptl joined 01:44 ptl left 01:45 ptl joined, ptl left, ptl joined 01:49 Carolyn joined
Carolyn hhhhhhhhh 01:49
hola
quien
01:49 Carolyn left 01:50 ptl left, Woodi left 02:00 ptl joined, ptl left, ptl joined 02:05 ptl left 02:07 Woodi joined 02:08 dayangkun joined 02:15 ptl joined, ptl left, ptl joined 02:17 woosley joined 02:20 ptl left 02:31 ptl joined 02:35 ptl left 02:38 ptl joined, ptl left, ptl joined 02:42 ptl left 02:43 ptl joined, ptl left, ptl joined 02:44 Circlepuller left 02:45 Circlepuller joined 02:47 ptl left 02:48 ptl joined, ptl left, ptl joined 02:52 sevvie joined, Woodi left 02:53 ptl left, Woodi joined, jeffreykegler left
DrEeevil sorear_: re: makefiles, try bootstrap with MAKEOPTS="-j4", it reliably fails 03:00
sorear_: and the bootstrap is "dirty" because it writes to the live filesystem (which some build environments penalize with termination), I workarounded it by copying the installed niecza files into the boot/ directory
(and patching out that silly autofetcher) 03:01
bonus: I was able to test bootstrapping different versions with different versions, it is quite resilient and just works
03:04 ptl joined, ptl left, ptl joined
sevvie Hey everyone. I downloaded Rakudo Star 2012.07, wanting to give rakudo another try. On a Macbook. Everything looked fine until what looks like the first time it calls gcc, at which point it throws two errors: unrecognized command line option '-Wno-long-double', and '-Wenum-compare'. 03:05
(calls gcc as compared to clang) 03:06
benabik sevvie: Do you have the latest version of Xcode and the command line tools?
sevvie I do.
03:06 jaldhar joined
benabik Hm. 03:07
DrEeevil sevvie: gcc -v claims what version?
sevvie gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
benabik has the same
benabik wonders what Parrot version * uses...
DrEeevil haha 03:08
benabik Uses 4.6.0
03:08 ptl left
DrEeevil sevvie: that is pretty much ancient stuff no one uses anymore ... and I guess updating is impossible 03:08
benabik DrEeevil: That is the most current Apple toolchain. :-P 03:09
DrEeevil benabik: I see no contradiction there
benabik hugme: hug DrEeevil
hugme hugs DrEeevil
DrEeevil o_O 03:10
benabik Hm. The hints haven't changed since 4.6.0
03:11 ptl joined, ptl left, ptl joined
benabik downloads and tries to build. 03:13
Huh. It uses clang for me. 03:14
sevvie It uses clang up to a point, for me.
benabik And generates PILES of warnings. O.o
sevvie I gotta run for a bit, but I read backlog.
benabik sevvie: I'll keep trying and see if I see the same thing. Might be that Parrot is defaulting to clang but something else is trying to use gcc.
03:15 ptl left 03:18 ptl joined, ptl left, ptl joined
benabik hopes star won't overwrite my existing toolchain... 03:18
Oh good, it creates an install directory... 03:20
benabik hasn't tried star before. 03:21
03:23 ptl left, sftp left
benabik Okay, `perl Configure.pl --gen-parrot` has finished without error... 03:24
03:33 ptl joined, ptl left, ptl joined 03:38 ptl left 03:49 ptl joined 03:53 ptl left 03:56 ptl joined 04:00 ptl left 04:02 ptl joined, ptl left, ptl joined 04:07 ptl left 04:16 telex left
sevvie Weird. Wonder why mine doesn't like compiling. 04:17
04:18 ptl joined 04:21 telex joined 04:22 ptl left 04:24 ptl joined, ptl left, ptl joined 04:29 ptl left 04:31 ptl joined, ptl left, ptl joined 04:33 telex left 04:36 ptl left, telex joined 04:40 birdwindupbird joined 04:43 kaleem joined 04:46 jaldhar left, ptl joined, ptl left, ptl joined 04:47 jaldhar joined 04:51 simcop2387 left, ptl left 04:52 simcop2387 joined 04:53 ptl joined, ptl left, ptl joined 04:58 ptl left 05:04 jeffreykegler joined 05:05 jeffreykegler left 05:08 ptl joined, ptl left, ptl joined 05:13 ptl left 05:18 FROGGS left
masak morning, #perl6 05:20
I've decided not to rush macros-d2 into today's release.
if I'd had today completely free for Perl 6 activities, I'd get it merged easily.
but I have to teach today. so, next release. 05:21
&
05:24 ptl joined, ptl left, ptl joined 05:28 ptl left 05:31 ptl joined, ptl left, ptl joined
moritz good morning 05:34
05:36 ptl left 05:43 lateau1 joined 05:46 ptl joined, ptl left, ptl joined 05:47 scott__ joined 05:51 ptl left 05:59 wtw joined 06:02 ptl joined 06:05 benabik left, flexibeast1 joined, flexibeast left 06:06 benabik joined, ptl left 06:08 ptl joined, ptl left, ptl joined 06:13 ptl left 06:24 ptl joined, ptl left, ptl joined 06:27 popl left 06:29 ptl left 06:36 FROGGS joined 06:38 xinming left 06:39 ptl joined, ptl left, ptl joined 06:43 PZt left 06:44 ptl left 06:46 PZt joined 06:47 PacoAir left 06:54 ptl joined, ptl left, ptl joined 06:56 jaldhar left 06:58 yves__ joined 06:59 ptl left 07:02 Psyche^ joined, Psyche^ is now known as Patterner
tadzik good moritz morning 07:08
07:09 brrt joined 07:10 ptl joined
pmichaud good morning, #perl6 07:11
07:11 SamuraiJack joined 07:14 ptl left 07:16 fgomez joined 07:17 ptl joined 07:21 ptl left 07:23 ptl joined 07:27 desertm4x joined 07:28 ptl left 07:31 hoelzro|away is now known as hoelzro
arnsholt FROGGS: I'm off to work now, but if you wanna discuss the Zavolaj/CStruct stuff I'll be back online in about half an hour 07:31
hoelzro morgen
07:36 ObseLeTe joined 07:38 FROGGS left 07:39 FROGGS joined, ptl joined, ptl left, ptl joined
Timbus [Coke], yes (slightly delayed response) 07:41
FROGGS hi arnsholt: dont much to discuss right now I guess, but I let you know 07:42
Timbus [Coke], I've been wondering how to do it. Since my library is socket based (as in, class sockets not IO sockets) it doesn't go well with the normal callback-based event stuff. I think I need to wrap my run() method into a callback and wait for the user to call MuEvent::run
07:44 flexibeast1 is now known as flexibeast, simcop2387 left, ptl left, rafl left 07:46 rafl joined 07:47 simcop2387 joined
Timbus can you pass a method as a reference in perl 6 or do you need to wrap it in a closure like perl 5's sub {$obj.method()} 07:51
07:54 ptl joined, ptl left, ptl joined, ObseLeTe left
pmichaud Timbus: one can do *.method() or { $obj.method } 07:56
the first is equivalent to -> $obj { $obj.method }
Timbus ah, yes but i was wondering if you could simply pass the method around, like C#'s delegates i guess
without needing to keep the object around (in this case in a closure) 07:57
my $meth = &$obj.method; $meth(); #equivalent to $obj.method();? 07:58
hoelzro Timbus: iirc, method objects are "unbound" 07:59
07:59 ptl left
Timbus a closure works fine, I'm just wondering if it's the perl 6 'way' 07:59
dalek p: dd9cb19 | pmichaud++ | / (2 files):
Update NQP release_guide, create "make release" target in Makefile.
08:02
08:10 ptl joined
arnsholt FROGGS: I'd be interested in a quick outline of what features you're missing 08:14
08:14 ptl left
arnsholt I do try to do some stuff with Zavolaj, but I end up spending most of my time hacking on Zavolaj itself, so feedback on what people actually -need- is good =) 08:15
moritz ncurses gives you access to some variables (for example for getting the window size) -- is that supported in zavolaj somehow? 08:16
arnsholt Nope =/
It's one of the things I've been pondering
Getting it to work probably wouldn't be too hard, but I'm not entirely sure what the best way to expose it to the user is 08:17
Should probably have a chat with jnthn about it
FROGGS I need to get the right values out of a struct like { Uint8 x; Uint8 y; }, right now I get bot x and y inside the same Int
I cant tell it that the ints are just one byte
So having a struct that is like { Uint8; Uint16; Sint16; char; ... } is even worse to split apart if it gets to you in a single int 08:18
08:18 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
FROGGS when reading your type_map { int8 => char }, one could think that he actually gets a 1-byte-thingy 08:19
arnsholt Yeah, sized members in structs (and arrays of sized stuff) is in the pipeline 08:20
FROGGS ya, looks like the problem is in CStruct.h around line 204 08:21
sorry, CStruct.c
arnsholt The Uint/Sint distinction is likely to be annoying as well, but I haven't really discussed that with jnthn yet
FROGGS I dont care at the end if my perl var is actually an int8 or Int or whatever, the numeric value must be right
arnsholt Actually, the problem is a bit trickier 08:22
08:22 GlitchMr joined
arnsholt get_attribute_ref returns a pointer to the value we're reading, and it's the caller's responsibility to interpret that pointer correctly 08:23
FROGGS one problem that comes to my mind is that you dont really know how much bytes the compiler spent for types when building the lib
arnsholt Which means that I'll have to update the calling convention of get_attribute_ref, update all implementors of the interface and all callers of it 08:24
FROGGS ya, basically the caller has to know what he will get
arnsholt I'm sort of in the middle of that
FROGGS ohh, okay
08:25 ptl joined, ptl left, ptl joined
arnsholt Unfortunately I've an article deadline coming up, so it'll probably be a few weeks at least before I get it done 08:25
08:27 fhelmberger joined
FROGGS that not a problem, I dont wanna release the SDL module for perl6 tomorrow ;o) 08:27
arnsholt Well, that's a relief =)
FROGGS its more some kind of proof of concept right now
to get into perl6 a bit, since I installed it like two days ago 08:28
arnsholt But for now, you'll have to deal with this stuff manually similarly to the version struct
FROGGS I've got a question about that
why is actually something in $!version?
arnsholt You mean how we get the info from the C struct via $!version? 08:29
FROGGS ya, is it just because I told it that there is an int value at the first place? 08:30
08:30 ptl left
arnsholt Yeah, pretty much 08:30
FROGGS so its all about the order?
arnsholt The order of declaration of the has clauses matters, just like in C, really
FROGGS k
arnsholt From that we can calculate the allocation strategy for the corresponding C struct and peek into it correctly 08:31
FROGGS hmmm
arnsholt Pointer members are a bit more complicated, since those will be associated with a Perl 6 object as well as a pointer in C
FROGGS what if the struct has a member like char[42]? how could I tell it that there's a something of size 42? 08:32
arnsholt For those we have a parallel storage for the Perl object pointers and some logic to make sure the Perl object has the same pointer as the C struct
That's another thing we don't support yet either =/
Only struct { int *array; }
(And it's not entirely obvious how to expose it as Perl) 08:33
08:34 ptl joined
moritz int @array[42] 08:34
once we implement that :-)
arnsholt Except that syntax is kind of taken already
FROGGS ya 08:35
arnsholt Since has CArray[int] $!arr means int *arr
FROGGS I could imagine passing a custom class like char42 as a type, with a common getter that gives you the size in bytes 08:37
08:38 ptl left
arnsholt But for the most part you can hack around the lack of flattened arrays 08:38
Just embed 42 ints in a row =)
FROGGS ohh what the 08:39
ya, at least it would work ;o)
moritz :-)
08:40 dnocaster joined
jnthn_ morning o/ 08:41
phenny jnthn_: 29 May 11:40Z <daxim> tell jnthn_ rakudo-switched-over-to-qregex =~ s|Ementaler|Emmentaler|
08:41 ptl joined, jnthn_ is now known as jnthn
dnocaster Anyone know where I could find a link to a transcript (or video) of the State of the Onion 12 (2008) & 13 (2009) talks, if such exist? 08:41
08:43 bbkr joined 08:45 ptl left 08:46 ptl joined, ptl left, ptl joined
moritz if google doesn't find them, I guess they don't exist 08:49
dnocaster ty moritz.. did spend an hour looking.. placeholders only 08:50
08:50 Patterner left 08:51 ptl left
FROGGS maybe ask the organizers? thats pretty much the last chance you got 08:51
dnocaster what happens if I give a little love shout out to everyone out there (not as a means to an end), but for love's sake.. any takers? Does it irritate anyone? If so, sorry. Peace. 08:52
moritz hugme: hug dnocaster 08:53
hugme hugs dnocaster
08:53 kresike joined
kresike hello all you happy perl6 people 08:53
FROGGS hi
08:55 ObseLeTe joined
dnocaster :) Okay.. world feels okay.. bfn and ty 08:55
08:56 dnocaster left
FROGGS bfn? 08:58
arnsholt Bye for now, I guess 09:01
09:02 ptl joined
FROGGS ya, google told that too after my mobile broadband went to work again.... thanks anyway 09:02
09:03 Psyche^ joined, Psyche^ is now known as Patterner 09:04 sorear_ is now known as sorear
FROGGS its weird somehow sitting in the train and everybody around is talking in german (comming right back from yapc) 09:04
sorear DrEeevil: I see no reason to support building debian packages of niecza, since they will be useless for non-root users due to how stupid the module compilation cache is 09:05
09:06 ptl left
sorear DrEeevil: niecza wants to be installed in a directory named "run" with a user-writable directory "../obj" 09:06
DrEeevil: someday (possibly next week after I get Bailador running unmodified) I'll make it use $HOME/.niecza/module-cache or something like that 09:07
09:09 ptl joined, ptl left, ptl joined 09:13 ptl left 09:16 ptl joined, ptl left, ptl joined
dalek kudo/nom: c7f6492 | moritz++ | src/core/ (2 files):
improve X::Numeric::Real error messge
09:17
c: ea92fc5 | moritz++ | lib/X/Numeric/Real.pod:
X::Numeric::Real
09:20 ptl left
dalek c: e5e4199 | moritz++ | lib/X/Phaser/PrePost.pod:
X::Phaser::PrePost
09:22
09:22 ptl joined, ptl left, ptl joined 09:24 xinming joined
dalek ecs: 2774606 | moritz++ | S32-setting-library/Exception.pod:
[S32::Exception] better error message for X::Numeric::Real

also fix a typo
09:24
09:27 ptl left
dalek c: 6347804 | moritz++ | lib/X/Package/Stubbed.pod:
X::Package::Stubbed
09:28
09:37 dayangkun left 09:38 ptl joined 09:42 ptl left 09:44 ptl joined, ptl left, ptl joined 09:49 ptl left 10:00 ptl joined, ptl left, ptl joined, hypolin left 10:01 hoelzro is now known as hoelzro|away 10:02 hoelzro|away is now known as hoelzro 10:05 ptl left
dalek ecza: 6b0956d | sorear++ | src/ (3 files):
First horrible implementation of use lib

It doesn't scope right and it also doesn't work with the precompiler so it cannot be used in modules. Also it propagates into modules, which may or may not be a feature.
10:06
10:08 scott__ left
moritz has started to read arxiv.org/pdf/math/9404236v1.pdf and likes it so far 10:11
10:13 mcglk joined 10:15 ptl joined, ptl left, ptl joined
dalek p: b1a3a46 | jonathan++ | / (4 files):
Copy P6Regex to get a P5Regex. Start making a few of the basic changes needed, looking to STD_P5 for inspiration.
10:19
p: c5d768b | jonathan++ | t/p5regex/ (2 files):
Add test harness for p5regex support and copy over rx_basic, which is simple enough to be valid p5 and p6. Passes.
10:19 ptl left 10:21 ptl joined, ptl left, ptl joined
jnthn r: 'ab' ~~ /a :: b/ 10:22
p6eval rakudo c7f649: OUTPUT«===SORRY!===␤:: not yet implemented at line 2, near " b/"␤»
10:24 fgomez left 10:26 ptl left
moritz jnthn: I hope you are aware that there are many :P5 regex tests in roast? 10:27
(and in perl 5, of course :-)
jnthn moritz: yes, but going around that build cycle will be tedious, so I'm going to build a small suite based on some of the ones in spectest in nqp. 10:28
10:29 lateau1 left
moritz sure 10:29
just want to make sure you don't conjure them out of thin air, which would take way more time 10:30
10:33 MayDaniel joined 10:37 ptl joined 10:38 spider-mario joined 10:41 ptl left 10:43 ptl joined, ptl left, ptl joined 10:48 ptl left 10:50 ptl joined, ptl left, ptl joined 10:55 ptl left
dalek ecza: 92255f0 | sorear++ | / (2 files):
Add callframe(N) call form
10:58
ecza: 79d1139 | sorear++ | src/NieczaPathSearch.pm6:
Actually print the search path when lookup fails
sorear rn: rx/<- [!*'()\-._~A..Za..z0..9]>+/ 10:59
p6eval rakudo c7f649: ( no output )
..niecza v19-31-g94c69fe: OUTPUT«===SORRY!===␤␤Unrecognized regex metacharacter < (must be quoted to match literally) at /tmp/NEr7LuE7ol line 1:␤------> rx/<⏏- [!*'()\-._~A..Za..z0..9]>+/␤␤Unhandled exception: Unable to resolve method ast in type Any␤ …
sorear std: rx/<- [!*'()\-._~A..Za..z0..9]>+/
p6eval std 235f71b: OUTPUT«ok 00:00 42m␤»
sorear rn: <- []> 11:02
p6eval rakudo c7f649, niecza v19-34-g79d1139: ( no output )
sorear rn: rx/<- []>/ 11:03
p6eval niecza v19-34-g79d1139: OUTPUT«===SORRY!===␤␤Unrecognized regex metacharacter < (must be quoted to match literally) at /tmp/YB7zpUDVd3 line 1:␤------> rx/<⏏- []>/␤␤Unhandled exception: Unable to resolve method ast in type Any␤ at /home/p6eval/niecza…
..rakudo c7f649: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : StopIteration␤»
11:05 ptl joined, ptl left, ptl joined
sorear rn: "(y)" ~~ / '(' ~ ')' 'x' / 11:05
p6eval rakudo c7f649, niecza v19-34-g79d1139: ( no output )
dalek p: 2d8b6e8 | jonathan++ | src/QRegex/P5Regex/ (2 files):
Start getting various of the p5metachar bits in place, and eliminate a few bits that will be unrequired.
11:10
p: d6e3ed6 | jonathan++ | t/p5regex/01-p5regex.t:
Look in the correct places for tests.
p: 47a7bb4 | jonathan++ | src/QRegex/P5Regex/ (2 files):
Get p5quantifier largely in place and working.
p: e2b7dbe | jonathan++ | t/p5regex/ (2 files):
Add some quantifier tests.
11:10 ptl left
jnthn a {*} / 11:16
rx: / a {*} /
r: / a {*} /
p6eval rakudo c7f649: ( no output )
11:21 ptl joined, ptl left, ptl joined
dalek ecza: 1666bb5 | sorear++ | src/ (2 files):
Fix broken parsing of signs in character classes
11:22
p: 71ec9af | jonathan++ | src/QRegex/P5Regex/ (2 files):
Remove a few pieces we won't need in P5regex.
11:23
11:25 FROGGS left 11:26 ptl left 11:36 ptl joined, ptl left, ptl joined 11:41 ptl left 11:47 ObseLeTe left 11:51 ptl joined, ptl left, ptl joined 11:53 awwaiid_ is now known as awwaiid 11:56 ptl left 12:05 JimmyZ joined
JimmyZ wonders what's the goal of P5Regex, 12:06
phenny JimmyZ: 19 Aug 15:16Z <sorear> tell JimmyZ Seems problematic insofar as mono 2.x lacks an interpreter and is extremely architecture-dependent in AOT mode (might even be ARM only)
12:06 ptl joined, ptl left, ptl joined
moritz JimmyZ: m:P5/.../ 12:07
JimmyZ I thought for the new rakudo roadmap about perl 5 12:08
moritz JimmyZ: don't you see the relation? 12:09
it allows people to write some kind of p5 code (here, regexes) in perl 6
dalek kudo/nom: befe7ca | moritz++ | src/core/Exception.pm:
make message of X::Inheritance::Unsupported less confusing
JimmyZ I saw m:P5/.../ 12:10
12:11 ptl left
colomon nr: say 'ccdd' ~~ /<-[ab]+[cd]>+/ 12:13
p6eval rakudo c7f649: OUTPUT«「ccdd」␤␤»
..niecza v19-35-g1666bb5: OUTPUT«Match()␤»
colomon sorear: your latest patch broke that one, I think. 12:14
12:16 kaleem left 12:19 nemesys joined 12:21 fgomez joined 12:22 ptl joined, ptl left, ptl joined 12:23 FROGGS joined 12:24 kaleem joined, kaleem left, kaleem joined 12:26 ptl left 12:29 ptl joined, ptl left, ptl joined 12:32 desertm4x left 12:34 FROGGS left, ptl left 12:44 ptl joined, ptl left, ptl joined 12:47 FROGGS joined 12:48 clintongormley joined 12:49 ptl left 12:55 PacoAir joined 12:59 ptl joined, ptl left, ptl joined 13:00 birdwindupbird left, benabik left 13:04 ptl left 13:09 Circlepuller left 13:10 Circlepuller joined 13:11 SamuraiJack left
sorear colomon: working as designed (!?). STD.pm6 parses unary - as looser than everything else 13:12
colomon sorear: so the test and rakudo are both wrong?
sorear phenny: tell TimToady see colomon 06:12 and 05:13 PDT, I think we are looking at a stdbug
phenny sorear: I'll pass that on when TimToady is around.
sorear colomon: possibly. if it's breaking real-world code I'll do $something_else 13:13
until TimToady_ gets back to us
moritz you mean it's actually parsed as <- ( [ab]+[cd] )> (with invented syntax)?
sorear yes 13:14
13:15 ptl joined, ptl left, ptl joined, fgomez left, bluescreen10 joined 13:16 Circlepuller_ joined, Circlepuller left, desertm4x joined 13:18 SamuraiJack joined 13:19 ptl left
sorear n: say 'ccdd' ~~ /<(-[ab])+[cd]>+/ 13:19
p6eval niecza v19-35-g1666bb5: OUTPUT«===SORRY!===␤␤Unrecognized regex metacharacter - (must be quoted to match literally) at /tmp/T1ztWYc8dW line 1:␤------> say 'ccdd' ~~ /<(-⏏[ab])+[cd]>+/␤␤Unable to parse regex; couldn't find final '/' at /tmp/T1ztWYc8dW…
sorear n: say 'ccdd' ~~ /< (-[ab])+[cd]>+/
p6eval niecza v19-35-g1666bb5: OUTPUT«Match()␤»
dalek ecza: c5422a5 | sorear++ | src/ (2 files):
Revert "Fix broken parsing of signs in character classes"

May be a STDbug, breaks colomon's code. This reverts commit 1666bb507ada5d922a5cc8aa3d964d0e4a39a825.
13:21
ecza: 0567c61 | sorear++ | src/STD.pm6:
quickfix for space after sign
13:21 tokuhiro_ joined 13:22 fridim_ joined
colomon sorear: oh, sorry, that wasn't a real-world bug of mine, that's from roast. I still run spectest every time I see you've pushed a patch. :) 13:22
13:22 ptl joined, ptl left, ptl joined
sorear colomon++ 13:22
roast is sufficiently real world for me 13:23
moritz chuckles
13:25 SamuraiJack left 13:26 FROGGS left 13:27 ptl left 13:28 Woodi left 13:29 SamuraiJack joined 13:38 ptl joined 13:39 Woodi joined
dalek kudo/p5rx: 1431c3e | jonathan++ | src/Perl6/ (2 files):
Wire the :P5 adverb up to use P5Regex. Doesnm't support much yet, but makes it accessible from Rakudo. A simple check of it worked.
13:40
jnthn Will merge after the release.
And of course, still plenty of work to do in the NQP repo on the P5Regex grammar/actions.
13:42 ptl left 13:45 ptl joined
nemesys 'nine' around somewhere on freenode? 13:45
sorear no clue
does it have to be freenode? 13:46
he's in irc.perl.org:#parrot _right now_
nemesys found him, thx
13:48 Circlepuller joined 13:49 ptl left 13:51 Circlepuller_ left 13:52 kaare_ joined, ptl joined, ptl left, ptl joined
moritz r: enum A <Ax Ay>; class B is A { } 13:56
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤A does not support inheritance, so B cannot inherit from it␤at /tmp/zR1qDUyM1m:1␤»
13:56 ptl left
dalek c: b4b1564 | moritz++ | lib/X/Inheritance/Unsupported.pod:
X::Inheritance::Unsupported
13:59
13:59 ptl joined, ptl left, ptl joined
moritz r: has sub foo() { } 14:00
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Cannot use 'has' with sub declaration␤at /tmp/8GTfQzuI4p:1␤»
JimmyZ moritz: s/«// 14:03
14:03 Circlepuller left, Circlepuller_ joined, ptl left
[Coke] r: has pi; 14:03
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Malformed has␤at /tmp/5QMsYy9J9M:1␤»
14:04 tokuhiro_ left
dalek c: 5abd340 | moritz++ | lib/X/Declaration/Scope.pod:
X::Declaration::Scope
14:05
c: b20ac1f | moritz++ | lib/X/Inheritance/Unsupported.pod:
typo, JimmyZ++
14:05 tokuhiro_ joined 14:06 ptl joined, ptl left, ptl joined 14:10 tokuhiro_ left, ptl left 14:11 kaleem left, leont joined 14:12 stopbit joined, kaleem joined, sftp joined, kaleem left 14:13 ptl joined, ptl left, ptl joined, kaleem joined, clintongormley left 14:14 clintongormley joined 14:18 wtw left, ptl left 14:19 clintongormley left 14:20 clintongormley1 joined, PacoAir left, clintongormley1 is now known as clintongormley, ptl joined, ptl left, ptl joined 14:25 ptl left
sirrobert is there a method like $attribute.get_value that works for private attributes? 14:28
jnthn all attributes are private 14:29
Thus $attribute.get_value will work for has $!x, yes
sirrobert hmm ok... well, how can I get this to work:
r: class A { has $!id; method gist () { my $str; for self.^attributes -> $attr { $str ~= $attr.name.substr(2)~': '~$attr.get_value(self); }; return $str; } }; my $a = A.new(id => "foo"); say $a; 14:30
p6eval rakudo befe7c: OUTPUT«use of uninitialized value of type Any in string context in method gist at /tmp/J_AekoPFzO:1␤␤id: ␤»
sirrobert the return of get_value() there is always null for $!foo and correct for $.foo
diakopter jnthn!
sirrobert (if $.foo is defined in the class, I mean) 14:31
jnthn o/ diakopter
14:31 thou joined
jnthn sirrobert: Remember that the default constructor doesn't initialize private attributes. 14:32
14:32 jaldhar joined
sirrobert ohh... 14:32
jnthn So the problem is that yo're never putting anything in $!id
sirrobert I don't think I knew that =) thanks
diakopter that has surprised me both times I learned it 14:33
jnthn I suspect if you fix that, the introspection works fine :)
sirrobert cool, I appreciate it.
diakopter it just seems to me if the caller has the power to *create* an object, what's wrong with letting it initialize its private data 14:34
"because the attributes are private" holds no water with me 14:35
PerlJam why not?
14:35 ptl joined, ptl left, ptl joined
PerlJam The fact that they are private means that they are an implementation detail that is anot and should not be part of the user-visible interface 14:36
s/anot/not/
diakopter sure, after the object is created
PerlJam no, there is not temporal component here.
jnthn it's a refactoring thing 14:37
It's good if all the things that relate to a "has $!foo" are contained within the class
Thus you can do as you wish with it without having to care about the class consumers, provided you retain expected behavior. 14:38
moritz also if the user supplies an object at construction time, there's not much sense it making it private
[Coke] I suspect actual private attributes are going to be a big mindset change for some fivers. 14:39
moritz because the user already has access to the object. Why not make it available through an accessor?
diakopter and non-fivers like me
[Coke] diakopter: what language are you used to that lets you poke at private attributes from outside the class
sirrobert what language did you come from most recently, diakopter?
[Coke] ?
heh.
moritz javascript? :-) 14:40
14:40 ptl left
sirrobert (also, does Perl 6 have a concept of "protected") 14:40
GlitchMr Perl 5
diakopter any language where you can explicitly set a private member in a constructor
dalek p: 3c6c7ea | jonathan++ | src/QRegex/P5Regex/ (2 files):
First cut of Perl 5 style character classes.
p: 3413cee | jonathan++ | t/p5regex/ (2 files):
Run some basic tests for Perl 5 character classes.
sirrobert hearts javascript.
GlitchMr Python 14:41
PHP
Java
diakopter C#
jnthn diakopter: You can explicitly set it in the BUILD submethod.
It's just that the default things won't do that. 14:42
GlitchMr GetField() in C# ;)
sirrobert jnthn++
nuba sirrobert: you can also U+2764 unicode, then you get ❤
diakopter ok. in that case, it's confusing that the default things will do that on non-private stuff
GlitchMr In Java you can use Reflection
sirrobert nuba: thanks =)
GlitchMr In PHP you can convert object to array and access internals
sirrobert not sure how to enter that in my terminal (or irssi)... gooooogling 14:43
GlitchMr $class = new SimpleClass; $classvars = (array)$class; echo $classvars["\0SimpleClass\0answer"];
Yes, null
JimmyZ PHP has a Reflection class ;)
moritz fwiw you can use introspection in p6 too to get private attributes
diakopter [Coke]: that's kindof rude. I'm sorry for not using your terminology properly
sirrobert 14:44
ha
GlitchMr php > var_dump($class->{"\0SimpleClass\0answer"});
nuba screen's copy and paste works too: ❤
GlitchMr PHP Fatal error: Cannot access property started with '\0' in php shell code on line 1
\0 is hax
But well, that's PHP, so this is expected
sirrobert nuba: yeah, but my computer's broken... it doesn't let my copy/paste between power cycles ;) 14:45
[Coke] diakopter: I have no idea what you're apologizing for.
GlitchMr Also, Ruby with .send
[Coke] ... or if you're suggesting I should.
GlitchMr Or simply extending class ;)
sirrobert [Coke]: I think he's responding to the tone he inferred from your question about his prior language (and the subsequent 'heh.')
14:47 jaldhar left
diakopter sirrobert: I wrote a lot of Perl 5 [that generates C] last week, a ton of NQP the several weeks before that, a bunch of C the weeks before that, a bunch of Java at $dayjob before that, a ton of JavaScript before that, a decent amount of C# before that, and I don't remember more than 6 months ago. A lot of Perl 5 I seem to recall 14:47
sirrobert diakopter: cool =)
14:47 clintongormley left
moritz diversity++ 14:47
sirrobert it's great to have a well-rounded background
14:48 jaldhar joined
masak morning, #perl6 14:48
colomon \o
14:48 ingy is now known as not_ingy, not_ingy is now known as ingy
sirrobert hi masak 14:49
jnthn o/ masak
diakopter it was a rhetorical question meant to demean, not one actually seeking information
PerlJam diakopter: I didn't take it that way. I thought he was seeking a point of commonality.
diakopter because it strongly implied that no language lets you do that by the definition of private
jnthn What're the Perl 5 translations of what Perl 5 calls \b and \B? 14:50
er, s:1st/5/6/
diakopter (and therefore I wouldn't be able to answer the question, because there wouldn't be a language I was coming from that met that criterion)
masak jnthn: <|w> and... something?
moritz jnthn: \b comes out as >>|<< :-)
ie left or right word boundary
jnthn aha
masak moritz: yes, but <|w> means that too. 14:51
moritz correct
jnthn thanks
moritz I forgot that, even though I think I implemented it :-)
14:51 ptl joined, ptl left, ptl joined
moritz r: say '...foo' ~~ /<|w>./ 14:51
p6eval rakudo befe7c: OUTPUT«「f」␤␤»
[Coke] diakopter: it was not a rhetorical question. it was an actual question because I assumed you were coming from perl5. the heh was because someone else asked the exact same question when I did. 14:52
diakopter I didn't see the heh :)
jnthn masak, moritz: thanks
GlitchMr Just wondering. Can I write this more cleanly?
([+] @val) / @val
moritz yes 14:53
diakopter [Coke]: ok, I guess I didn't know there were non-private privates in Perl 5... are there?
moritz mean(@val), if you define &mean first
diakopter: if you do inside-out objects, yes :-)
but perl 5 does not supply a default constructor
so if you can initialize private attributes via a ->new() call is left to the class 14:54
diakopter like every other language
GlitchMr I guess that mean() isn't builtin or method
[Coke] diakopter: there's really nothing private in perl5 if you have the source. as opposed to, say, Java.
moritz GlitchMr: that's why I wrote "if you define &mean first"
diakopter [Coke]: I thought that was my point when I wrote above that you implying there was no valid answer to the question 14:55
sirrobert r: say {a=><a b c>}<a>.WHAT;
p6eval rakudo befe7c: OUTPUT«Parcel()␤»
diakopter (that Perl 5 doesn't have privates)
sirrobert Why would I want a Parcel instead of an Array ?
(in general)
14:56 ptl left
moritz sirrobert: parcels are cheaper 14:56
diakopter ok, I'm sorry for feeling attacked; I'll get over it.
sirrobert moritz: ok 14:57
PerlJam diakopter: If you feel like you're being attacked on #perl6 ... YOU'RE WRONG! ;-)
sirrobert moritz: in JSON::Tiny, does it seem reasonable to you to render Parcels as JSON arrays? 14:58
14:58 kresike left
moritz sirrobert: yes 14:58
sirrobert moritz want me to implement and do a pull request or add an issue?
diakopter PerlJam: you're right; I shouldn't be touchy. :( 14:59
moritz sirrobert: might be a one-word fix, lemme try
masak from docs/release_guide.pod: "Rakudo will generally issue its own development release two days after the Parrot release." -- Parrot released one day late this month. does that mean Rakudo release is tomorrow?
jnthn masak: shouldn't 15:00
moritz I'd say we stick to Thursday, unless our release manager sees a good reason to dealay
jnthn masak: I think tadzik++ will cut tonight or so
moritz especially since we don't depend on the new parrot (I think)
PerlJam diakopter: A way to look at it is that humans have public parts (arms, legs, etc.) that you can decorate at "construction" time, but you really, really shouldn't initialize the contents of the human's stomach without cutting them open first (or using the stomach's public interface: the mouth)
sirrobert moritz: thanks. Also, is there a reasonable rendering of a Pair? I thought maybe a single {a:1} object. 15:01
moritz: (those are the two literals I keep bumping into)
tadzik I'm here
I'll make the release today evenings probably
diakopter PerlJam: yeah, I just don't see why the mouth can't be a constructor
tadzik has had a nice Frankfurt on Foot trip today 15:02
moritz sirrobert: not sure about Pair. Since there's no exact equivalence, I'm inclined to leave it out
sirrobert moritz: fair enough
moritz could just as well be { "key": "a", "value": 3 }
sirrobert hmmm nod 15:03
is there any concept of perl5-style "references" in p6? 15:04
moritz sirrobert: fix for Parcel pushed
sirrobert moritz++: thanks
15:04 fhelmberger left
moritz sirrobert: perl6advent.wordpress.com/2011/12/...nces-gone/ 15:05
sirrobert heh
moritz I try to make an art form out of answering FAQs with blog posts :-)
sirrobert I don't know art... but I know what I like =) 15:06
15:06 ptl joined, ptl left, ptl joined
sirrobert actually I do know art ;) 15:06
moritz thinking more about the question, it seems that scalar containers most closely resemble pointers/references 15:07
sirrobert yeah, that's what I was gleaning...
moritz binding another scalar container to them is like assignment to a pointer 15:08
sirrobert or sort of like macros to things
(for a very non-technical use of "macro")
moritz and assigning a value into the container is like assigning to the pointee
sirrobert ahh, yeah
that makes sense of my experience of it
(and is a C bad-touch) 15:09
moritz but that doesn't put much room for the 'bind a value directly into a container' thing that youc an do in p6
sirrobert yeah
moritz and that you can call a method on the container, and it actually works ont he contained value
sirrobert I like that
15:11 ptl left
[Coke] ugh, doing regexes in java is so painful. :( 15:11
tadzik hugs [Coke] 15:12
moritz have you \\\ed today? :-)
[Coke] I was not implying there was no valid answer to the question.
15:12 FROGGS joined
jnthn At least C# provides an @"..." construct so you can write regexes sanely. 15:12
geekosaur mmm, leaning toothpicks 15:13
[Coke] I find the interface to s/// bizarre.
moritz I didn't mean to answer any question, just that languages without regex literals generally require a ridculous amount of backslashes 15:15
[Coke] need a perl6-on-JVM interface for the regexes only.
huh. timezone shift somewhere, as feather is now running my cron job taht I didn't expect for another 45m.
... or is that job leftover from a day ago? hurm... 15:16
sirrobert so, I updated JSON::Tiny but now my script says: Missing or wrong version of dependency '/home/sirrobert/.perl6/_git/rakudo-star-2012.07/install/lib/parrot/4.6.0/languages/perl6/lib/JSON/Tiny.pm'
I updated with panda install JSON::Tiny 15:17
(which worked fine)
I didn't specify a version anywhere...
15:18 JimmyZ left
FROGGS is it okay that its a .pm and not a .pm6 ? 15:19
[Coke] yes.
sirrobert I believe so
jnthn std: m/a{2}/
p6eval std 235f71b: OUTPUT«===SORRY!===␤Unsupported use of {2} as general quantifier; in Perl 6 please use X**2 at /tmp/y1rqYtkVTN line 1:␤------> m/a{2}⏏/␤Check failed␤FAILED 00:00 41m␤»
sirrobert I have use v6; and am using the perl6 interpreter
jnthn std: m:p5/a{2}/ 15:20
p6eval std 235f71b: OUTPUT«===SORRY!===␤Unrecognized adverb :p5(1) at /tmp/99oRWdfxKz line 1:␤------> m⏏:p5/a{2}/␤Unsupported use of {2} as general quantifier; in Perl 6 please use X**2 at /tmp/99oRWdfxKz line 1:␤------> m:p5/a{2}⏏/␤Check…
jnthn std: m:P5/a{2}/
p6eval std 235f71b: OUTPUT«ok 00:00 47m␤»
jnthn std: m:P5/a]/
p6eval std 235f71b: OUTPUT«ok 00:00 47m␤»
[Coke] weird. I had a lot of old tests running for rakudo that were hung. results from the last few days might be screwy. 15:21
15:21 ptl joined, ptl left, ptl joined
jnthn std: m:P5/a]b/ 15:25
p6eval std 235f71b: OUTPUT«ok 00:00 47m␤»
15:26 ptl left
geekosaur I don't think std knows more than very basic parsing for m:p5 regexes? 15:27
masak ?eval "a]b" =~ /a]b/
$ perl -Mstrict -wE 'say "a]b" =~ /a]b/' 15:28
1
jnthn geekosaur: Yeah, but it gets that right and looking at the grammar I can't see how on earth it does so 15:32
eval "a]b" =~ /a]b/
buubot_backup jnthn: 1
jnthn eval "a)b" =~ /a)b/
buubot_backup jnthn: ERROR: Unmatched ) in regex; marked by <-- HERE in m/a) <-- HERE b/ at (eval 20) line 1.
jnthn aha
good
masak phew :) 15:33
masak .oO( all magical characters are magical, but some are more magical than others )
jnthn ;) 15:34
15:35 jeffreykegler joined
jnthn eval "adc" =~ /a[^]b]c/ 15:35
buubot_backup jnthn: 1
jnthn wtbh!
diakopter heh 15:36
jnthn eval "adc" =~ /a[^b]]c/
buubot_backup jnthn: No output.
jnthn eval "]" =~ /a[]]c/
buubot_backup jnthn: No output.
jnthn eval "]" =~ /a[]]/
buubot_backup jnthn: No output.
jnthn eval "a]" =~ /a[]]/
buubot_backup jnthn: 1 15:37
jnthn eval "a]" =~ /a[b]]/
buubot_backup jnthn: No output.
15:37 ptl joined, ptl left, ptl joined
jnthn eval "ab" =~ /a[]b/ 15:37
buubot_backup jnthn: ERROR: Unmatched [ in regex; marked by <-- HERE in m/a[ <-- HERE ]b/ at (eval 20) line 1.
masak :D
eval "ab" =~ /a[]b]/
buubot_backup masak: 1
masak toys with concepts like "far too DWIM" and "overdwimmery" 15:38
sirrobert I just rebuilt rakudo star and when I run panda (or make) I get "Missing or wrong version of dependency 'src/gen/BOOTSTRAP.pm'" 15:41
any tips on resolution?
ufo seems to work 15:42
15:42 ptl left, crab2313 joined
masak sirrobert: did you make install? 15:43
jnthn masak: far too fun to parse :P
sirrobert I did, but I just realized I didn't wipe out the modules dir
doing that now
15:44 thelazydeveloper joined
sirrobert ok, that seems to have fixed it 15:44
I had some modules that required ... something else =) 15:45
15:46 ggoebel left 15:52 stopbit left, ptl joined, ptl left, ptl joined 15:53 stopbit joined 15:57 ptl left 16:01 brrt left 16:07 ptl joined, ptl left, ptl joined 16:12 ptl left
FROGGS masak: I'm here btw too (if you dont wanna email) 16:12
masak FROGGS: oh hai :) 16:14
FROGGS hi
masak sees FROGGS' latest email
16:15 hoelzro is now known as hoelzro|away
masak FROGGS: ah, I suspected you wanted to do lots of sub declarations. 16:15
FROGGS: first off, that's unhygienic.
FROGGS why that?
masak because you want to influence how the mainline context looks, not the macro context.
note that I'm using "unhygienic" in a very detached sense. 16:16
pmichaud masak! \o/
masak I don't mean that it's wrong.
clearly, it's what you want to do here.
second, you can't just put unquotes anywhere. they have to be in term position.
so "I believe and hope" are adequate descriptions of the wishful thinking involved.
(this may change if TimToady gets his proposal through with a more general unquote model) 16:17
FROGGS ya I'm actually not sure how to do it right
but I still don't get the idea about your first sentence 16:18
masak the one about hygiene?
FROGGS one reason for using macros to me is doing things simpler and faster 16:19
and that is what I wanna achieve
masak yes.
your use case is totally legit.
mind if I throw it up as a gist so we can all discuss it?
16:20 kaleem left
moritz r: constant name = 'foo'; sub ::(name) () { say 42 }; foo() 16:20
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
moritz r: constant name = 'foo'; sub ::(name) () { say 42 }; say ::MY.keys
p6eval rakudo befe7c: OUTPUT«0␤»
16:20 cognominal joined, cognominal left 16:21 cognominal joined
masak r: constant name = 'foo'; sub ::(name) () { say 42 }; eval 'foo' 16:21
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
masak moritz: I think an RT ticket went in that said that the sub gets the wrong name or something.
moritz r: constant name = 'foo'; sub ::(name) () { say 42 }; say ::(name)() 16:22
p6eval rakudo befe7c: OUTPUT«Symbol 'foo' not found␤ in method <anon> at src/gen/CORE.setting:9761␤ in <anon> at src/gen/Metamodel.pm:2304␤ in any find_method_fallback at src/gen/Metamodel.pm:2302␤ in any find_method at src/gen/Metamodel.pm:843␤ in <anon> at src/gen/BOOTSTRAP.pm:824␤ in …
16:23 ptl joined, ptl left, ptl joined 16:24 FROGGS left 16:25 FROGGS joined
FROGGS did I missed something during reconnect? 16:26
masak <masak> mind if I throw it up as a gist so we can all discuss it?
moritz FROGGS: irclog.perlgeek.de/perl6/today can tell, in general
masak (your use case)
FROGGS great
k, I've got the gist 16:27
masak gist.github.com/3438222
FROGGS ya
masak it would be nice to make this work.
with AST macros, I mean.
I don't think it's too much to ask.
16:27 benabik joined
FROGGS so, when do I have to use these { {{{ }}} } things? 16:27
masak when you're building program code dynamically. 16:28
16:28 ptl left
FROGGS If the content of that var should be put in, right? 16:28
masak right.
FROGGS cool
moritz but it won't work that way
masak but you seem to be assuming the content of those variables are strings.
FROGGS hmm?
masak they're not. not on my shift, anyway.
they're ASTs.
FROGGS okay 16:29
moritz FROGGS: the problem is the sub name
you can't put any expression in the place of a sub name
just like you can't write
FROGGS you mean the part at line 13? $method?
masak FROGGS: you seem to be consistently using { {{{ }}} }. it should be just {{{ }}}
moritz sub "foo" ~ $bar () { }
masak fixes in the gist
16:30 raiph joined
moritz so, for now we don't have a mechanism for replacing arbitrary parts of syntax with {{{ }}} 16:30
FROGGS hmmm
I'm just trying to do what I usually would do in C 16:31
masak right.
moritz the difference is that in C you create a string that represents the program code
with AST macros you don't go through the string layer
(which makes them much safer to compose) 16:32
masak pugs: macro _code($name) { "sub $name \{ say 'OH HAI' }" }; _code('foo'); foo
p6eval pugs: OUTPUT«OH HAI␤»
masak FROGGS: Pugs has string macros :)
FROGGS okay 16:33
hmmm, not ideal if it wont work at the end ;o)
masak FROGGS: believe me, I do take your use case seriously.
FROGGS ya, I believe you 16:34
masak but I'd like for it to work (1) with ASTs, and (2) with the unhygiene being explicitly specified.
FROGGS k
masak those are just my preferences, of course. :) I happen to like hygienic AST macros. 16:35
if anyone wants to work on unhygienic AST macros or textual macros, that's fine by me.
FROGGS you need to show me exactly what you mean at some point
masak as someone on the conf pointed out, the combination of D2-level macros and the nqp:: namespace for AST introspection is potentially very interesting. 16:36
I was hoping to explore that a bit this weekend.
16:36 benabik left 16:37 Pleiades` left 16:38 jerome left
FROGGS brb 16:38
16:38 ptl joined, ptl left, ptl joined 16:40 jerome joined
dalek p: 6902f1d | jonathan++ | / (3 files):
Handle funkiness in Perl 5 character class parsing, and add some tests to cover it.
16:42
p: 8eb6810 | jonathan++ | src/QRegex/P5Regex/ (2 files):
Get various backslash sequences in place.
p: 564768b | jonathan++ | t/p5regex/ (2 files):
Various meta-chars tests.
p: 2b0173e | jonathan++ | t/p5regex/rx_metachars:
Tests for \w, \W, \d and \D.
16:43 Pleiades` joined, ptl left, benabik joined, bbkr left 16:45 PacoAir joined
jnthn airport & 16:47
sirrobert I don't quite get the syntax for overloading the <> operator via a role... 16:48
multi method postfix:'<>' (Str $str) { ... }
that seemed to have a parse error
masak std: multi method postfix:<< <> >>(Str $str) { ... } 16:49
p6eval std 235f71b: OUTPUT«Potential difficulties:␤ 'method' declaration outside of class at /tmp/PfQ5DIk2qE line 1:␤------> multi method postfix:<< <> >>(Str $str) ⏏{ ... }␤ $str is declared but not used at /tmp/PfQ5DIk2qE line 1:␤------> multi method postfix:<< <> >…
sirrobert ah
masak std: class A { multi method postfix:<< <> >>(Str $str) { ... } }
p6eval std 235f71b: OUTPUT«Potential difficulties:␤ $str is declared but not used at /tmp/MwqTgE0Aax line 1:␤------> s A { multi method postfix:<< <> >>(Str ⏏$str) { ... } }␤ok 00:00 43m␤»
masak std: class A { multi method postfix:<< <> >>(Str $str) { $str } }
p6eval std 235f71b: OUTPUT«ok 00:00 43m␤»
masak \o/
sirrobert heh thanks
FROGGS back 16:50
moritz you probably want method postcirumfix:«< >»() though
there is no postfix <>
sirrobert so I saw =) 16:51
postcircumfix
I just realized that heh
masak though you also probably might not want to override postcirumfix:«< >»() 16:53
16:53 ptl joined, ptl left, ptl joined
masak as it is syntactic sugar for postcirumfix:<{ }>() 16:53
sirrobert why?
ohh 16:54
yeah, it actually wouldn't let me do <> without {}
so I just did {} and <> worked
masak \o/ 16:55
actually, you most probably want .at_key
timotimo so postfix:<> would actually be like $pretty_object<> or something? 16:56
moritz yes
r: sub postfix:<>($a) { say $a }; 42<>
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list␤at /tmp/8rTvvfwAt1:1␤»
timotimo heh.
sirrobert I hit that earlier =) 16:57
moritz also it would probably stil lose against the empty postcircumfix
hm, not sure actually
timotimo r: sub postfix:{}($a) { say "$a bracey brace" }; 42{}
p6eval rakudo befe7c: OUTPUT«(timeout)»
timotimo whoops?
moritz r: sub postfix:<{}>($a) { say "$a bracey brace" }; 42{} 16:58
p6eval rakudo befe7c: OUTPUT«42 bracey brace␤»
timotimo interesting. how did i trigger a loop there?
16:58 ptl left
moritz timotimo: it created a zero-width match, which was then quantified in the grammar 16:58
timotimo aaaah
moritz timotimo: so it matched the empty postfix all over again
timotimo of course.
moritz wouldn't that be a cute way to write a debugger? 16:59
write an empty-string postfix
that automatigacally gets inserted everywhere :-)
timotimo heh heh
masak submits rakudobug
sirrobert wow, that would be great
masak shouldn't be allowed to write empty postfixes, methinks
timotimo why not on a semicolon?
sirrobert heh
timotimo: recursion problem?
timotimo only if you use semicolons in your implementation of the ; operator :3 17:00
sirrobert heh
timotimo i bet there's tricks to circumvent semicolons if one is super careful 17:01
sirrobert I've only found one case in javascript where semicolons are needed
(outside of for loops, that is)
timotimo perl6 should have incircumfix. 17:07
17:07 Woodi left
timotimo as in "foo" ><( "yoink" )°> "bar", the fish incircumfix operator 17:07
masak that's just a regular infix, like infix:<?? !!> 17:08
17:09 ptl joined, ptl left, ptl joined
timotimo ?? !! isn't a regular infix, though. or is it? 17:09
the last time i checked it was special-cased in the grammar
17:10 sevvie left
timotimo r: sub infix:['><>( )°>']($a, $b, $c) { say "behind fish: $a"; say "in fish: $b"; say "in front of fish: $c"; }; "foo" ><( "bar" )°> "baz"; 17:11
p6eval rakudo befe7c: OUTPUT«Not enough positional parameters passed; got 2 but expected 3␤ in sub infix:<> at /tmp/iwJoJQiM0Z:1␤ in block at /tmp/iwJoJQiM0Z:1␤␤»
timotimo whoops, typo'd
r: sub infix:['><( )°>']($a, $b, $c) { say "behind fish: $a"; say "in fish: $b"; say "in front of fish: $c"; }; "foo" ><( "bar" )°> "baz";
p6eval rakudo befe7c: OUTPUT«Not enough positional parameters passed; got 2 but expected 3␤ in sub infix:<> at /tmp/PyjImSWlB0:1␤ in block at /tmp/PyjImSWlB0:1␤␤»
benabik It would need to have an is parsed, I think.
timotimo does that already work?
benabik I dunno. 17:12
timotimo r: sub infix:['>( )°∃']($a, $b, $c) { say "behind fish: $a"; say "in fish: $b"; say "in front of fish: $c"; }; "foo" >( "bar" )°∃ "baz"; 17:13
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix instead␤at /tmp/LwB3kVLcQB:1␤»
17:14 Woodi joined, ptl left
moritz rakudo doesn't understand infix:[...] 17:15
masak timotimo: I don't remember infix:<?? !!> being that special-cased.
moritz just infix:«...» and <...>
timotimo oh, OK 17:17
r: sub infix:«>( )°∃»($a, $b, $c) { say "behind fish: $a"; say "in fish: $b"; say "in front of fish: $c"; }; "foo" >( "bar" )°∃ "baz";
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Confused␤at /tmp/4Z7khZ6cIj:1␤»
timotimo r: sub infix:<^-) (-^>($a, $b, $c) { say "$a | $b | $c" }; 100 ^-) "foo" (-^ 200; 17:20
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix - instead␤at /tmp/qHIdzDkkR0:1␤»
timotimo not *really* sure where i went wrong there :|
masak neither
17:21 kaleem joined 17:23 raiph left
dalek osystem: 9831204 | (Sir Robert Burbridge)++ | META.list:
added Masquerade
17:24
17:24 ptl joined, ptl left, ptl joined
masak o/~ "Masquerade! Paper faces on parade... Masquerade! Hide your face, so the world will never find you!" o/~ 17:25
sirrobert heh
benabik ?? !! does seem to have a custom token in Rakudo's grammar.
github.com/rakudo/rakudo/blob/nom/...r.pm#L2667
17:26 spider-mario left
masak sirrobert: interesting module. sirrobert++ 17:26
sirrobert benabik: well, it's custom, but not uniqely accounted for as a type
masak: thanks =)
benabik sirrobert: Right, it's infix, but it parses differently than other infix 17:27
To create a new similar operator you'd also need a custom parse rule.
Which is NYI
timotimo thank you for digging it out. it's exactly what i meant
sirrobert don't you need a custom parse rule for all of them? 17:28
they're just simple for the others...
17:28 ptl left
sirrobert (not that I'm an expert on how to read the tokenization code) 17:28
benabik I'm not sure the technical details of how Rakudo does it, but it basically creates a token for any infix:<foo> sub. 17:29
sirrobert inside the infix token definition is a grammatical interpreter 17:30
the others have it too, they just only need <sym> to grab an already-defined symbol
of course, I don't get the <O(...)> bit, so what do I know =) 17:31
sirrobert is speaking boldly from ignorance
17:31 ptl joined, ptl left, ptl joined
masak the <O(...)> bit is just a method call, no? 17:32
sirrobert I believe ;)
17:33 cognominal left 17:34 cognominal joined
moritz yes 17:36
17:36 ptl left, thou left
moritz and it "just" parses an expression with precedence not looser than the argument to pass to it 17:36
masak then it can't be that tricky. :) method calls can usually be understood.
moritz s/to/you/ 17:37
*how* it does that is a different matter, not so easy to understand, IMHO
masak aye. 17:39
masak discovers a wonderfully strangely consistent line in "Into the Woods": "better take the moment present as a present for the moment" 17:40
17:41 tokuhiro_ joined
timotimo (°∃ is a great string for a prefix operator that does nothing except pass the argument to say. it's the parrot operator :D 17:41
moritz I'm skimming through STD's method EXPR 17:43
17:43 cognominal left
moritz and the key seems to be not to read &reduce on the first pass :-) 17:43
the loop starting at line 4644 is where it starts to get interesting
17:43 kaleem left
moritz the actual parsing starts with my @t = $here.$termish 17:44
which basically calls the <termish> rule
which parses <prefix>*<term> [<postfix> | <postcircumfix>]* or so
then it twiddles the prefixes and postfixes according to their relative precedence 17:45
17:45 tokuhiro_ left 17:46 cognominal joined
moritz and then loop after that parses infixish 17:46
which is infix or meta operators that can act as infixes
17:46 ptl joined, ptl left, ptl joined
moritz TimToady_: what's an example for $infix<fake> ? 17:48
tadzik oh hai
moritz lol it's tadzik!
tadzik lol! \o/
17:48 jeffreykegler left
tadzik I'm holding a knife and I'm going to cut a release 17:48
moritz wield your sledgescalpel!
tadzik and then maybe enjoy the one last glass of apfelwine 17:49
or maybe last \d+ glass
17:51 ptl left
moritz perl5.git.perl.org/perl.git/blobdif...rlfunc.pod 17:54
17:57 Woodi left
tadzik do we want to target the new Parrot release? 17:58
we're on 4.4.0
moritz if there's no reason to bump the parrot version, we don't bump the parrot version
tadzik ok, that's mu understanding as well
moritz that makes it easier for packagers to do their thing 17:59
18:02 ptl joined, ptl left, ptl joined 18:07 ptl left
tadzik oh noes, nqp doesn't build :( 18:10
can anyone check on a fresh working tree? I get Missing or wrong version of dependency 'src/stage2/QRegex.nqp'
moritz tries 18:11
18:14 hoelzro|away is now known as hoelzro, Woodi joined
tadzik same after git clean -fdx :\ 18:16
18:17 ptl joined, ptl left, ptl joined
moritz built fine here 18:19
tadzik huh
after realclean and friends, on HEAD?
18:19 desertm4x_ joined
moritz after git clean -xdf, on nqp/master 18:19
18:21 Woodi left 18:22 ptl left 18:23 desertm4x left
moritz on parrot RELEASE_4_4_0 18:24
18:25 crab2313 left
tadzik ok, something's seriously wrong on my box. Now it doesn't build with "make: nqp: Command not found" 18:26
moritz does 'git status' indicate any missing files?
tadzik nope
I'll try --gen-parrot
that may take some time on this hotel wifi 18:27
moritz if you don't have a replacement machine, I could chime in and do the release
[Coke] chime or chip? 18:28
tadzik it's somewhere between 32 and 180 kBps
moritz I don't know, I don't speak English. I could do the release :-)
[Coke] mmhehehehe. 18:29
tadzik I'll go and send a postcard and see if it gets any better in my absence :)
[Coke] tries to get (?:(?i)(?:[+-]?)(?:(?=[.]?[0123456789])(?:[0123456789]*)(?:(?:[.])(?:[0123456789]{0,}))?)) to work in java.
moritz is that a generated regex?
[Coke] from Regexp::Common, aye.
tadzik . o O ( java.util.org.cpan.regexp.common ) 18:30
18:31 desertm4x_ left 18:32 ptl joined, ptl left, ptl joined
[Coke] holy rusted metal, it worked as is. 18:33
18:37 ptl left 18:38 Tedd1 left 18:41 simcop2387 left
moritz probably because it doesn't contain a backslash :-) 18:42
18:42 simcop2387 joined
[Coke] leaves a comment in the source thanking Regexp::Common! 18:44
masak Regexp::Common++ 18:46
18:48 Woodi joined, ptl joined, ptl left, ptl joined 18:51 tokuhiro_ joined 18:52 ptl left 18:53 Tedd1 joined, Circlepuller_ left 18:54 Circlepuller_ joined 18:55 ptl joined, ptl left, ptl joined 18:59 GlitchMr left 19:00 ptl left 19:03 SamuraiJack left 19:10 ptl joined, ptl left, ptl joined 19:13 Woodi left 19:15 ptl left
masak tadzik: how's le release coming along? 19:17
19:17 ptl joined, ptl left, ptl joined 19:19 cognominal left 19:20 fgomez joined 19:21 spider-mario joined 19:22 ptl left
leont Want to try out rakudo without having to compile stuff, but Ubuntu ships a fairly old version (2011.07) :-/ 19:23
sirrobert What's a good way to comment/ignore a large chunk of code temporarily (large = a few dozen lines)/ 19:24
?
masak leont: the future isn't evenly distributed :/
19:24 cognominal joined
masak sirrobert: =comment ? 19:24
benabik What's the p6 block comment? I seem to recall something like #`{ }
Ooh, POD comments too. 19:25
sirrobert masak: ahh, cool
benabik: hmmm didn't know about #'{}
thanks
leont Am I correct when I say that 􏿽xABis_prime(any(9,10,11))􏿽xBB should equal 􏿽xABany(is_prime(9), is_prime(10), is_prime(11))􏿽xBB? 19:26
sirrobert butterfly tricks: is there a succinct way to check whether two arrays have the same values, regardless of order?
benabik It's #`{} (Backtick, not apostrophe.) And it appears to let you use any and any number of brackets... Although I'm reading from spec not from implementation. :-D
masak sirrobert: huh, sorry. it's '=begin comment' and then '=end comment', of course. 19:27
sirrobert masak: cool
masak sirrobert: @a.sort >>===<< @b.sort
sirrobert whoa 19:28
benabik You should be able to use =for comment if you want to comment out an entire chunk of code separated by newlines from the rest.
masak leont: yes.
sirrobert: theoretically, @a.Bag === @b.Bag should also work at some point. 19:29
sirrobert where can I read about >>===<< ?
masak sirrobert: doc.perl6.org/language/operators#in...0%3D%3D%3D 19:30
sirrobert great, thanks
masak oh, there's a docbug there.
masak fixes
dalek c: cfcc2b9 | (Carl Mäsak)++ | lib/operators.pod:
[operators.pod] fix copy-paste-o
19:32
19:32 ptl joined, ptl left, ptl joined
sirrobert r: {a => 1, b => 2} >>===<< {a=>1, b=>3} 19:34
p6eval rakudo befe7c: ( no output )
sirrobert r: say {a => 1, b => 2} >>===<< {a=>1, b=>3}
p6eval rakudo befe7c: OUTPUT«("a" => Bool::True, "b" => Bool::False).hash␤»
sirrobert cool
key-by-key
masak nice. 19:35
19:37 Circlepuller_ left, Circlepuller_ joined
moritz masak++ 19:37
# doc fix
19:37 ptl left, thou joined
moritz it just seems that you (or soembody else) pushed an outdated branch again 19:38
masak should contribute much more, but is too distracted all the time :/
tadzik *pat pat* I know the feeling
masak moritz: I edited through the github website.
moritz masak: then it wasn't you :-)
masak gee, I hope not. 19:39
that would be horribly weird. :P
tadzik a clone running wild!
okay, I'm totally unable to build nqp today :(
anyone with a spare tuit to run it today? Sorry for failing
moritz I can do it 19:40
tadzik awesome, thanks moritz++
moritz tadzik: if you want to help, you could start to prepare a release announcement
masak pats tadzik back :)
tadzik okay
moritz that's pretty much independent of the other tasks
masak .oO( we should have separate release announcement managers ) :P
19:41 gongyiliao joined
dalek kudo/nom: 2d5ec92 | moritz++ | tools/update-tai-utc.pl:
[tools] automatically assume correct path to src/core/tai-utc.pm
19:42
sirrobert r: 1 ~~ any(3,2) 19:43
p6eval rakudo befe7c: ( no output )
sirrobert r: say 1 ~~ any(3,2)
p6eval rakudo befe7c: OUTPUT«False␤»
sirrobert r: say False ~~ any(True, False);
p6eval rakudo befe7c: OUTPUT«True␤»
sirrobert r: say False ~~ any(True, True);
p6eval rakudo befe7c: OUTPUT«True␤»
sirrobert ack
moritz ~~ True always returns True
so that you can write 19:44
$something ~~ {code}
pmichaud std: sub postfix:{}($a) { say 'whatever' }; # checking
sirrobert ok
moritz and if that code returns True, the match succeeds
p6eval std 235f71b: OUTPUT«===SORRY!===␤Null operator is not allowed at /tmp/ZcZeCltvH7 line 1:␤------> sub postfix:{}⏏($a) { say 'whatever' }; # checking␤ expecting horizontal whitespace␤Parse failed␤FAILED 00:00 40m␤»
pmichaud a-ha
sirrobert how do I find out if anything in a list is false
?
in particular:
r: ({a => 1, b => 2} >>===<< {a=>1, b=>3}).values
p6eval rakudo befe7c: ( no output )
sirrobert r: say ({a => 1, b => 2} >>===<< {a=>1, b=>3}).values
p6eval rakudo befe7c: OUTPUT«True False␤»
moritz nr: say so first *.not, (1, 2, 0, 5) 19:45
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«False␤»
moritz erm, wait
nr: say so grep *.not, (1, 2, 0, 5)
19:45 birdwindupbird joined
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«True␤» 19:45
moritz nr: say so grep *.not, (1, 2, 4, 5)
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«False␤»
sirrobert I've never used "so" before ...
hmm
moritz boolean context
masak sirrobert: 'so' is like '?'
except it's a listop.
moritz nr: say not all (1, 2, 4, 5)
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«False␤»
colomon nr: say grep *.not, (1, 2, 4, 5)
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«␤» 19:46
moritz masak: it's actually looser prec than listop
masak: it's loose unary
nr: say none(1, 2, 3, 0)
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«none(1, 2, 3, 0)␤»
moritz nr: say so none(1, 2, 3, 0)
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«False␤»
moritz nr: say so none(1, 2, 3, 5)
p6eval rakudo befe7c, niecza v19-37-g0567c61: OUTPUT«False␤»
moritz erm, stays with 'not all'
sirrobert I don't see an entry for "so" on doc.perl6.org
pmichaud say ?! any(1, 2, 3, 0)
r: say ?! any(1, 2, 3, 0) 19:47
p6eval rakudo befe7c: OUTPUT«False␤»
moritz sirrobert:
doc.perl6.org/so
tadzik what's tclc?
moritz the anchor link might not work yet
sirrobert huh... I didn't see it in the index
tadzik I seem to have missed something interestin g;)
sirrobert oh
ok
pmichaud r: say ?^ any(1, 2, 3, 0) 19:48
masak tadzik: 'titlecase lowercase'
p6eval rakudo befe7c: OUTPUT«False␤»
tadzik oh
moritz sirrobert: I don't add operators to the index yet
sirrobert ok =)
[Coke] moritz: doc.perl6.org/!!
19:48 ptl joined
pmichaud r: say ?^ 0 19:48
19:48 ptl left, ptl joined
p6eval rakudo befe7c: OUTPUT«True␤» 19:48
pmichaud hrm
moritz sirrobert: and doc.perl6.org isn't complete yet, but I do my best :-)
masak tadzik: it's so Unicode-adapted that I don't really understand it. :)
pmichaud I wonder if ?^ should autothread
we don't have any autothreading booleans
moritz why would we want autothreading booleans? 19:49
pmichaud so that I can ask "are any of the elements of this list False" :-)
moritz pmichaud: you can ask that with 'not all'
pmichaud and use a junction to do it
r: say not all(1,2,3,4)
p6eval rakudo befe7c: OUTPUT«False␤»
pmichaud r: say not all(1,2,3,0) 19:50
p6eval rakudo befe7c: OUTPUT«True␤»
sirrobert ok, "so" is what I used to mean by "!!"
pmichaud yeah, okay, mebbo.
*maybe
sirrobert "!!" as a prefix, I mean.
pmichaud still seems like perhaps ?^, ?|, and ?& should perhaps autothread
19:50 Khisanth left
moritz the only thing we can't easily ask is "is exactly one of those False?" 19:51
because we don't have a negation of the one() junction
pmichaud yeah, autothreading over ?^ would enable that, I think.
sirrobert moritz: huh
19:51 Khisanth joined
moritz pmichaud: but it would break the rule that every boolean context collapses the junction 19:52
tadzik heh, tools/contributors.pl lists "niecza" as one of the contributors :)
moritz tadzik: somebody ++'ed it in a commit message
tadzik ah, so that's how it works :)
19:53 ptl left
moritz that, and the github user names 19:53
pmichaud r: say 0 eqv False 19:54
p6eval rakudo befe7c: OUTPUT«False␤»
pmichaud oh well.
dalek p: 656abc9 | moritz++ | VERSION:
bump VERSION to 2012.08
kudo/nom: fc01818 | tadzik++ | docs/announce/2012.08:
Add a first sketch of a new release guide
19:56
pmichaud ...a new release guide?
moritz announcement, not guide 19:57
tadzik oh well, it's hot here :)
announcement of course
pmichaud yeah, I was wondering if "announcement" was what was meant. :)
tadzik++ moritz++
...did I remember to push my changes for the nqp release guide, ooc?
moritz you did, yes
pmichaud okay, good.
moritz the nqp tarball is already on github
the test for it is still running on my machine, but I don't expect any fallout from it 19:58
pmichaud I worked on that earlier today but was also involved in other conversations at the time
tadzik looking through the new anno... relea... announcement will be gladly welcome :)
pmichaud looks
any issues with the nqp release guide, ooc?
moritz it requires a reconfigure before it works :-)
(my Makefile was too old) 19:59
pmichaud that's because I added the "make release" target. :)
moritz I know
19:59 ggoebel joined
pmichaud nooooooooo! 19:59
pmichaud reads the announcement
dalek kudo/nom: d2472a9 | moritz++ | tools/build/NQP_REVISION:
bump NQP revision to 2012.08
moritz pmichaud: what's wrong? 20:00
pmichaud what an absolutely delicious irony/coincidence it is that after the Frankfurt YAPC had "Perl 5" on the t-shirts, the Frankfurt release ends up being #55 :-P
moritz :-)
pmichaud looks like we just can't get a "6" here at all no matter what happens. 20:01
moritz pmichaud: should we name it Perl instead?
after the town of Perl (Mosel)
pmichaud I doubt there's a Perl.pm group. But perhaps we should start one :-P
moritz we autovivified one :-)
pmichaud I think Frankfurt is appropriate for this month's release. 20:02
#56 can be Perl.pm if we want to do that. Or #65 :-P
20:02 fhelmberger joined
moritz should deprecation notices only go into the star announcements, or also into the compiler release announcements? 20:02
heh :-)
pmichaud I'd like them to go in both places, if it's not too much trouble. 20:03
moritz it's just a copy&paste from docs/deprecations
pmichaud then both.
20:03 ptl joined, ptl left, ptl joined
pmichaud Announcement says "June 2012" for some reason. 20:03
moritz and "July" :-) 20:04
I'll fix both
along with the deprecations
pmichaud I'm planning to do this month's star release on sun or mon 20:05
moritz ++pmichaud
dalek kudo/nom: eb13935 | moritz++ | docs/announce/2012.08:
[announce] fix month, add deprecations from docs/deprecations
pmichaud it might be tue depending on what is happening at mtmh
I already have a long list of tasks from prs and yapceu; I'm hoping I can whittle some of them down during mtmh. 20:06
moritz experience tells that tasks lists only grow at such conferences :-)
20:07 fhelmberger left
pmichaud indeed... but we do also manage to accomplish some stuff in the process. :) 20:07
like a debugger
and p5-regexes
and new nqp release notes
moritz everybody happy with rakudo's announcement now?
aye
pmichaud git pull's
"europe" needs a tc. 20:08
20:08 ptl left
moritz which is just a single bit flip in this case :-) 20:08
dalek kudo/nom: cf22052 | moritz++ | VERSION:
[release] bump VERSION
kudo/nom: 6d97606 | moritz++ | docs/announce/2012.08:
[announce] spelling, pmichaud++
sirrobert ok, one more... can I AND a bunch bools stored in a list? like (False, True, True).&& 20:09
tadzik eb13935 seems to show that we also forgot s/June/July last month :)
sirrobert AND/OR/ whatever
masak moritz: isn't it always a single bit flip when upper-casing ASCII?
moritz masak: it is
pmichaud ...Larry Wall contributed to this release? I mean, more so than he usually does, as in a commit or something?
PerlJam YAPC::EU is the only yearly gathering of Perl hackers in Europe?
moritz pmichaud: he proposed the format change for Match.gist on IRC 20:10
pmichaud: and we generally count stuff like that as contributions
pmichaud moritz: works for me
moritz (ie when soembody was ++'ed in a commit message9
PerlJam: technically it's the only one advertized as international 20:11
pmichaud I wonder if the announcement should say that the release is code named after Frankfurt.pm, the group that hosted the ...
leont PerlJam: it's surely the biggest. German Perl Workshop and London Perl Workshop are also fairly big though
pmichaud instead of "after the city"
moritz pmichaud: that would be the usual wording, yes
pmichaud: feel free to change
EEKS 20:12
make: nqp: Command not found
now I've got that too :(
20:12 Circlepuller_ left 20:13 Circlepuller_ joined
moritz seems to be in the new step that jnthn added today 20:13
dalek kudo/nom: 09c46a6 | pmichaud++ | docs/announce/2012.08:
More announcement updates; Frankfurt am Mein -> Frankfurt.pm .
20:14
sirrobert moritz: [&&] (True, True, False, True)
shows if just one is false
pmichaud not all of the people attending yapceu are (or consider themselves) Perl hackers
sirrobert well, 1+
moritz dammit, I have to update the nqp release and tag 20:15
pmichaud say so one (3, 4, 0, 1).>>not
r: say so one (3, 4, 0, 1).>>not
p6eval rakudo befe7c: OUTPUT«===SORRY!===␤Confused␤at /tmp/OkSD4MM5ms:1␤»
pmichaud r: say so one (3, 4, 0, 1)>>.not
p6eval rakudo befe7c: OUTPUT«True␤»
pmichaud r: say so one (3, 4, 0, 0)>>.not
p6eval rakudo befe7c: OUTPUT«False␤»
pmichaud r: say so one (3, 4, 1, 1)>>.not 20:16
p6eval rakudo befe7c: OUTPUT«False␤»
pmichaud we have a winner :-)
sirrobert ahh, cooool
moritz that's cheating!
sirrobert what is >> ?
moritz postfix hyper
call the method on each element
sirrobert ohhhhh super cool
pmichaud r: say so one !<<(3, 4, 1, 1) 20:17
p6eval rakudo befe7c: OUTPUT«False␤»
sirrobert ohh >>===<< is doing that on the infix ===
pmichaud r: say so one !<<(3, 4, 0, 1)
p6eval rakudo befe7c: OUTPUT«True␤»
sirrobert infix hyper
pmichaud Is that "less cheating"?
sirrobert (cheatery)
moritz nah, it still modifies the list before making a junction
sirrobert =)
pmichaud why is that cheating? ;-) 20:18
moritz pmichaud: the right answer is "CHEATING IS TECHNIQUE!" :-)
pmichaud I think it's "cheating" only because I posted it first :-P
20:18 ptl joined, ptl left, ptl joined
pmichaud continues reviewing announcement 20:19
moritz nqp tag 2012.08 deleted 20:20
dalek kudo/nom: 0ab48ba | pmichaud++ | docs/announce/2012.08:
Another update to the yapceu/release name section.
moritz the problem is that $(NQP_EXE) doesn't have the leading ./ on linux 20:21
that's no problem on windows where jnthn++ tested it, because . is in %PATH%
but on linux it invokes whatever nqp binary is in path, if any
pmichaud moritz: is this in nqp or rakudo?
moritz pmichaud: nqp 20:22
pmichaud checking.
moritz the fix I'm currently trying is to build the p5regex thingy with stage0 rather than nqp
because I can copy&paste the commands inside Makefile.in
instead of doing something OS-specific, which will surely break on other OSses
20:23 ptl left 20:24 am0c joined
pmichaud seems to me that p5regex ought to build the same as p6regex 20:25
moritz pmichaud: it doesn't need all the bootstrappy bits
pmichaud building with stage0 is almost certainly wrong, though.
dalek p: c7bed44 | moritz++ | tools/build/Makefile.in:
unbreak the build on non-windows
moritz pmichaud: uhm, why?
pmichaud it'll have the wrong serialization context 20:26
moritz oh crap
so, it needs to build with stage 1?
pmichaud should be built with stage2
looking
it should be built with the nqp that is being installed, same as almost anything else
moritz pmichaud: then I'll leave it to you to fix the Makefile.in 20:27
pmichaud I *did* warn jnthn++ about committing any changes that would break the build for today's Star release. :-| 20:28
moritz s/Star/Rakudo/
pmichaud yes, *Rakudo release
moritz but still
pmichaud jnthn-- # no karma for you!
pmichaud looks at Makefile 20:29
tadzik oh, so that's why it didn't work for me :)
moritz tadzik: and I know why it didn't break for me
tadzik: because I ran 'make test', and not 'make
'
tadzik: and 'make test' doesn't build the P5regex stuff
tadzik huh, odd
aa, there we go 20:30
20:30 Circlepuller joined
pmichaud did we need p5regex tests 20:30
20:30 birdwindupbird left
pmichaud s/did// 20:30
moritz so the simplest "fix" is not to build the p5regex thing at all
since we don't use it in current rakudo
pmichaud: we have them, they just aren't run as part of 'make test' yet
pmichaud I'm fine with not building p5regex at all for the release.
you're correct that we aren't using it yet. 20:31
20:31 sirrobert left 20:32 Circlepuller left
dalek p: c9db812 | moritz++ | tools/build/Makefile.in:
Revert "unbreak the build on non-windows"

This reverts commit c7bed445880938ea914ce0b4e964e3c66261a1f9. It was wrong because building p5regex with stage0 involves the wrong serialization context.
20:32
p: fff3eb8 | moritz++ | tools/build/Makefile.in:
stop building the p5 regex bits

rakudo does not use them yet, and that step breaks the build on non-windows we will figure out a proper fix after the rakudo release.
20:33 Circlepuller_ left
pmichaud moritz++ 20:33
moritz waits for the NQP build to finish
20:34 ptl joined, ptl left, ptl joined 20:36 sirrobert joined
masak is reminded of how much he enjoys running non-windows 20:36
tadzik :> 20:37
*cough*panda*cough*
moritz nqp 2012.08 re-uploaded and re-tagged
moritz.faui2k3.org/tmp/rakudo-2012.08.tar.gz # that'll be the release unless we discover more problems with it 20:38
20:38 fgomez left 20:39 ptl left, am0c left
moritz building it now 20:39
on the fastest of my machines
'cause, you know, I want to go to bed soon :-)
20:39 bruges joined 20:41 bruges_ left 20:43 p6rd left 20:44 Woodi joined
pmichaud yeah, bed seems like a good idea to me also. 20:48
20:49 ptl joined, ptl left, ptl joined
masak aye. 20:53
20:54 ptl left 21:04 ptl joined, ptl left, ptl joined
sirrobert is there a table of special vars like "name of the current file" ? 21:06
tadzik doc.perl6.org/language/variables may suit you 21:07
PerlJam sirrobert: there's also S28
sirrobert thanks, both
21:09 ptl left 21:12 Circlepuller joined
moritz I think I blatantly copied S28 for the doc.perl6.org page :-) 21:14
21:16 Woodi left
masak blatancy++ 21:16
dalek kudo/nom: 9429d1c | moritz++ | docs/release_guide.pod:
update release guide with current release
21:18
moritz release cut, feel free to break NQP and nom again :-)
masak moritz++
tadzik moritz++ # release saver
moritz tadzik++ # release starter 21:19
tadzik :)
21:20 ptl joined, ptl left, ptl joined
masak tadzik++ moritz++ # release 21:22
21:24 kaare_ left
moritz did anybody receive the announcement on perl6-compiler? 21:25
21:25 ptl left
moritz my MUA briefly showed me an unread email, and then it vanished 21:25
tadzik moritz: I did
moritz \o/
tadzik guess it's time for an obligatory memeface
moritz tarball uploaded, tags pushed, mail sent, wiki page updated. Time for me to sleep 21:26
tadzik ragefac.es/40 :)
moritz not quite :-) 21:27
ah, mail recieved too 21:28
really sleep&
masak 'night, moritz. dream of faces entirely without rage. 21:29
PerlJam even better would be happy, smiling faces 21:30
tadzik fun fact: rakudo built faster for me on windows than it does on linux 21:31
140 vs 150 seconds on parse stage
21:32 hoelzro is now known as hoelzro|away
tadzik masak: oh noes 21:33
21:33 Woodi joined
tadzik we forgot to do a Little Animal Farm Lightning Talk :( 21:33
21:35 ptl joined, ptl left, ptl joined 21:40 ptl left 21:41 cognominal left
masak tadzik: I didn't so much forget it as deprioritize it. 21:42
tadzik: maybe people will forgive us for doing it next YAPC::Europe ;)
(and then we have plenty of time to develop actual strategies, too)
cosimo snarkyboojum: ping, did you see moritz's pull request on MIME::Base64? 21:46
phenny cosimo: 22 Aug 15:19Z <[Coke]> tell cosimo that I'm blocking on Issue #15 for LWP::Simple.
21:47 Tene left
cosimo [Coke]: I'm just looking at it now 21:47
ronaldxs is not in here? 21:48
guys, how do I regenerate a Makefile to build a p6 module nowadays? :-) 21:49
(sorry for the lame question, but it changes so many times...)
timotimo i think "ufo"?
cosimo still ufo then?
good
timotimo or was that absorbed into panda?
cosimo what about neutro? 21:50
I believe neutro came after panda
you see? :)
21:50 ptl joined, ptl left, ptl joined
masak neutro came after proto but before panda. 21:51
'ufo' is for developers to generate Makefiles. 'panda' is for module users to generate Makefiles.
21:52 Tene joined, Tene left, Tene joined
cosimo why are there two different Makefiles? 21:52
masak you mean, why is there one on the developer's computer and one on the module user's computer? 21:54
21:54 tokuhiro_ left 21:55 ptl left
cosimo masak: why two different tools 21:57
masak I dunno. when I wrote 'ufo', 'panda' didn't exist. I needed something to auto-generate Makefiles for my projects. they were never meant to be committed to a git repo or installed or anything. 21:58
I just wanted to solve the problem of module build order, nothing more.
[Coke] wonders how he got his name on this month's release.
ah, testythings. 21:59
tadzik aw. Net::IRC::Bot on MuEvent seems to be too slow to empty the socket buffer on time
or that's my explanation at least :) 22:00
[Coke] tadzik++ for hacking on that!
tadzik ohhhh, works
cosimo [Coke]: not sure what I can do to unblock you, but this branch github.com/cosimo/perl6-lwp-simple...xs-rewrite looks like the next master
seriously? already midnight? :-| 22:01
tadzik aw, I can't poll() on stdin :( 22:02
22:03 Woodi left
tadzik huh, that's funny 22:05
r: my $a = $*IN but IO::Socket; $a.poll(1, 0.01)
p6eval rakudo befe7c: OUTPUT«Could not find symbol '&Socket'␤ in method <anon> at src/gen/CORE.setting:9761␤ in <anon> at src/gen/Metamodel.pm:2304␤ in any find_method_fallback at src/gen/Metamodel.pm:2302␤ in any find_method at src/gen/Metamodel.pm:843␤ in <anon> at src/gen/BOOTSTRAP.pm:…
tadzik damnit, safe mode
cosimo anyone successfully used sqlite with rakudo?
tadzik yes
I wrote a blog-ish engine using it
cosimo ok, pointers? 22:06
tadzik cosimo: github.com/tadzik/zblog/blob/maste...%BAblog.pl
22:06 ptl joined, ptl left, ptl joined
cosimo tadzik: cool, thanks 22:07
now I need to only port ORlite to Perl 6 :)
tadzik \o/
cosimo no, actually Net::OpenSSH too
tadzik ah, here we go tricky 22:08
cosimo ORlite is quite magic too, but yeah, with OpenSSH all bets are off :)
colomon How hard can Net::OpenSSH be to port? 22:09
tadzik I wanted to write Net::Twitter-ish thing some time ago
turned out that I have to also write Net::Oauth, and then I could't write Crypto::SHA1 :P
maybe should've tried pure-perl
this way I could maybe learn how SHA1 works
colomon tadzik++ 22:10
22:11 ptl left
masak 'night, #perl6 22:17
tadzik good knight masak 22:18
22:18 AccessDenied joined 22:19 Woodi joined, bluescreen10 left 22:21 ptl joined, ptl left, ptl joined 22:22 masak left, stopbit left 22:23 popl joined, jeffreykegler joined
tadzik damn you, $*IN 22:24
r: $*IN.WHAT.say
p6eval rakudo befe7c: OUTPUT«IO()␤»
tadzik and what does .poll() say? Method 'poll' not found for invocant of class 'FileHandle' 22:25
ragefac.es/403
isn't FIleHandle even a Parrot object? :F
22:26 ptl left
tadzik ok, it's just me breaking things :) 22:26
22:28 ptl joined, ptl left, ptl joined 22:33 ptl left
jeffreykegler How would I contribute suggested changes to S05? Github pull requests? 22:34
I am talking about clarifying passages, etc. Nothing major.
tadzik pull requests are fine, I think 22:35
22:36 Woodi left
jeffreykegler tadzik: which repository? 22:40
tadzik jeffreykegler: perl6/specs
jeffreykegler tadzik: Thanks!!!
jnthn got home safely from YAPC :) 22:42
22:44 ptl joined
tadzik hehe, portscanning causes .recv to throw an exception :) 22:47
That probably kills HTTP::Easy and thus Bailador as well...
22:47 MayDaniel left
tadzik yes :) 22:48
22:48 ptl left
leont poll is not all that portable (in particular not to Windows). Anything really scalable is even less portable :-| 22:50
22:50 fridim_ left 22:51 ptl joined
tadzik that doesn't matter, our poll() sucks horribly anyway :) 22:52
Parrot only gives as .poll() on one socket at a time
which forces MuEvent to be... suboptimal
22:53 fridim_ joined
leont Ouch 22:54
tadzik yes
github.com/tadzik/MuEvent/blob/mas...ent.pm#L65 :) 22:55
22:55 ptl left 22:56 ObseLeTe joined 22:58 ptl joined, ptl left, ptl joined 22:59 cognominal joined
tadzik oh my gosh. Net::IRC::Bot.new returns an Array :F 23:01
23:03 ptl left
tadzik or not. I'm being slowthinking again 23:04
tadzik spams the channel with his BS, apparently
diakopter botspeak? 23:05
tadzik exactly
23:07 thelazydeveloper left, cognominal left 23:08 tadzikbot joined
tadzikbot hello, I'm speaking through tadzik's keyboard 23:08
tadzik :ping
tadzikbot tadzik: pong
see? I don't block on either .recv() on freenode and neither on tadzik's keyboard import 23:09
tell me I'm a smart bot
leont You can use nativecall to get around the poll issue, I guess. Parrot's handing of anything related to events just keeps being disappointing, given that event handling was one of the things it was supposed to be good at
jnthn tadzikbot: You'd be smarter if you could spell input correctly :P
tadzikbot hey, it's late, even if that's not that hot already 23:10
diakopter :ping
tadzikbot diakopter: pong
diakopter :ping
tadzikbot diakopter: pong
diakopter :ping
tadzikbot diakopter: pong
tadzik so, it has come to this. Net::IRC::Bot on MuEvent :)
diakopter :pingg 23:11
:ping
: ping
:pin g 23:12
tadzikbot diakopter: haha, keep trying to trick me :)
diakopter :
ping
tadzikbot part of my AI includes a line: "return unless $ev.what.chomp eq ':ping';"
tadzik :exit 23:13
23:13 tadzikbot left
tadzik ok, I 23:13
23:13 ptl joined, ptl left, ptl joined
tadzik 'll commit this pile of code and get some sleep now :) 23:13
23:18 ptl left
tadzik stuff pushed to github.com/tadzik/Net--IRC for anyone's amusement 23:20
23:20 leont left
diakopter bwahaha. 23:20
23:25 fridim_ left 23:26 fridim_ joined, whiteknight joined 23:27 skids joined 23:28 ptl joined, ptl left, ptl joined, bruges left 23:32 bruges joined 23:33 ptl left 23:38 benabik left, benabik joined 23:39 alester left 23:44 ptl joined 23:48 ptl left 23:49 ptl joined, mucker joined 23:53 whiteknight left, ptl left 23:56 ptl joined, ptl left, ptl joined