»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 30 July 2009.
00:08 Whiteknight left 00:13 lumi joined, lumi_ left 00:16 missingthepoint joined 00:21 lumi_ joined, lumi left
masak Matt-W: (re towers of hanoi) sacrilege! how dare you speak bad of our only opportunity in CS courses to play with differently-sized rings on sticks? 00:26
cognominal masak, do you know weblift? I like their use of pattern matching for routing.
masak cognominal: it sounds familiar, but I don't know what it is. 00:27
cognominal: do you have an URL?
cognominal: also, consider joining #november-wiki, where most of the Web.pm discussion takes place.
00:27 justatheory joined
cognominal I meant lifteb : liftweb.net/ 00:27
masak ah.
cognominal I don't see anything like pattern mathing in Perl 6. 00:28
masak sure there is.
I added it. :)
cognominal smart match seems a hack compared to pattern matching. or I am misunderstanding
masak, I am just discovering routing in Web.pm. so my questions 00:29
masak std: multi fib(0) { 0 }; multi fib(1) { 1 }; multi fib(Int $n) { fib($n-1) + fib($n-2) }
p6eval std 27864: ( no output )
masak bah, STD.pm is being a coward today.
cognominal so multimethod is pattern matching
masak cognominal: ok. well, thanks for the liftweb reference. I'll digest it.
cognominal: aye.
cognominal there is a pdf that explains it in detail 00:30
groups.google.com/group/the-lift-book 00:32
masak nice.
it's written in Scala, I see.
Scala seems nice.
cognominal a little verbose... 00:33
I have trouble with lift because I don't know anything related to java, but it seems a great framework so it may interest you 00:34
masak it does. thank you.
cognominal they break the url into a list and do pattern matching on it to do routing
masak we've been having such thoughts for Perl 6.
ruoso, among other people, has talked about it. 00:35
hm. it's late here. I'll likely go to sleep now.
cognominal I have learnt haskell and scala to learn about types
00:35 lumi_ left
cognominal masak, good night 00:36
masak cognominal: 'night
00:36 masak left
missingthepoint night masak :) 00:36
00:38 hudnix left, mberends left 00:44 jauaor left
cognominal masak : somei interesting ressources about lifweb : blog.lostlake.org/index.php?/archiv...festo.html (a manifesto by the future author of liftweb) wiki.liftweb.net/index.php/Lift_View_First (what makes it different from rail), blog.getintheloop.eu/ (a blog with lifweb entries), 00:45
00:54 kborer joined 00:56 missingthepoint left, synthEEEE left, synth joined, synth left, nErVe joined 00:58 missingthepoint joined 01:05 lumi joined
wayland76 lambdabot: @seen mas 01:16
lambdabot I haven't seen mas.
wayland76 lambdabot: @seen masak
lambdabot I saw masak leaving #perl6 39m 34s ago, and .
01:18 aindilis joined, zamolxes left
Juerd There are some really scary things in blog.lostlake.org/index.php?/archiv...festo.html 01:20
Also some very good points.
01:20 synth joined, synth left, synth joined
Juerd This makes it a hard read. For every bullet point I search myself for an opinion. I can't just go "probably a good idea, because the previous points were good too." 01:20
01:21 zamolxes joined
Juerd It doesn't read like a manifesto. I'd expect broad and abstract statements... 01:23
01:25 missingthepoint left 01:26 missingthepoint joined
wayland76 I always try to think of an opinion :) 01:44
missingthepoint: Australia?
missingthepoint wayland76: (backlogs quickly) 01:46
wayland76: yes, i live here :) 01:47
what else are you asking?
wayland76 missingthepoint: I'm near Geelong. Whereabouts are you?
missingthepoint adelaide
wayland76 Sorry, the "opinion" comment was directed at Juerd
missingthepoint ah, ok :) 01:48
wayland76 Hmm. So I'm near Melbourne, bacek is in Sydney, and you're in Adelaide :)
missingthepoint yep... i think skud is in melbourne too
and pjf
wayland76 It clicked with me because I'm on Internode 01:49
I've met pjf
But I don't see those people in P6 circles :)
tann rakudo: sub f($n where $ > 0) { say "ok" }; f(0); 01:58
p6eval rakudo 18598d: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "where $ > "␤in Main (src/gen_setting.pm:3363)␤»
wayland76 tann: Where are you getting that syntax from? 02:00
tann my imaginary mind :) 02:01
vaguely remember p6 has where clause for params
wayland76 rakudo: sub f($n where $_ > 0) { say "ok" }; f(0);
p6eval rakudo 18598d: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "> 0) { say"␤in Main (src/gen_setting.pm:3363)␤»
wayland76 std: sub f($n where $_ > 0) { say "ok" }; f(0);
p6eval std 27864: OUTPUT«===SORRY!===␤Unable to parse signature; couldn't find final ')' at /tmp/4mL6x4WyTF line 1:␤------> sub f($n where $_ ⏏> 0) { say "ok" }; f(0);␤ expecting any of:␤ bracketed infix␤ constraint␤ infix or meta-infix (with precedence 02:02
..tighter than …
tann i think s06 used to have it or something
wayland76 std: sub f(Int $n where { $_ > 0 }) { say "ok" }; f(0);
p6eval std 27864: ( no output )
tann oh
wayland76 There's something like it in S12
std: sub f(Int $n where { $_ > 0 }) { say "ok" }; f(0);
tann so there must be type
p6eval std 27864: ( no output )
wayland76 Or curlies; not sure :)
std: sub f($n where { $_ > 0 }) { say "ok" }; f(0);
p6eval std 27864: ( no output ) 02:03
tann ah
there it is
wayland76 Curlies are the key
rakudo: sub f($n where { $_ > 0 }) { say "ok" }; f(0);
p6eval rakudo 18598d: OUTPUT«Parameter type check failed; expected [Any, { ... }], but got Int for $n in call to f␤in sub f (/tmp/A8nNMPgtqk:2)␤called from Main (/tmp/A8nNMPgtqk:2)␤»
wayland76 rakudo: sub f($n where { $_ > 0 }) { say "ok" }; f(1);
p6eval rakudo 18598d: OUTPUT«ok␤»
wayland76 Ok, it works :)
Although the error message could be a little more informative :) 02:04
tann that's nice 02:05
just masak mentioned about tower of hanoi earlier
so thought i would play with the where clause in params
02:06 justatheory left, justatheory joined 02:07 nErVe left
tann rakudo: sub hanoi($n where { $n > 0 }, $to, $from, $user) { hanoi($n - 1, $using, $from, $to); say "move $from -> $to"; hanoi($n - 1, $to, $using, $from); }; hanoi(4, 3, 1, 2); 02:07
p6eval rakudo 18598d: OUTPUT«Symbol '$using' not predeclared in hanoi (/tmp/axXaT0y97V:2)␤in Main (src/gen_setting.pm:3363)␤»
tann rakudo: sub hanoi($n where { $n > 0 }, $to, $from, $using) { hanoi($n - 1, $using, $from, $to); say "move $from -> $to"; hanoi($n - 1, $to, $using, $from); }; hanoi(4, 3, 1, 2); 02:08
p6eval rakudo 18598d: OUTPUT«Parameter type check failed; expected [Any, { ... }], but got Int for $n in call to hanoi␤in sub hanoi (/tmp/XFLLBYlRus:2)␤called from sub hanoi (/tmp/XFLLBYlRus:2)␤called from sub hanoi (/tmp/XFLLBYlRus:2)␤called from sub hanoi (/tmp/XFLLBYlRus:2)␤called from sub hanoi
..(/tmp/XFLLB…
tann hmm.. 02:09
rakudo: sub hanoi($n where { $_ > 0 }, $to, $from, $using) { hanoi($n - 1, $using, $from, $to); say "move $from -> $to"; hanoi($n - 1, $to, $using, $from); }; hanoi(4, 3, 1, 2); 02:12
p6eval rakudo 18598d: OUTPUT«Parameter type check failed; expected [Any, { ... }], but got Int for $n in call to hanoi␤in sub hanoi (/tmp/rFrZcNeSau:2)␤called from sub hanoi (/tmp/rFrZcNeSau:2)␤called from sub hanoi (/tmp/rFrZcNeSau:2)␤called from sub hanoi (/tmp/rFrZcNeSau:2)␤called from sub hanoi
..(/tmp/rFrZc…
tann rakudo: sub f($n where { $_ > 0 }, $x) { say "ok" }; f(1); 02:13
p6eval rakudo 18598d: OUTPUT«too few arguments passed (1) - 2 params expected␤in sub f (/tmp/o3GzuCDT3c:1)␤called from Main (/tmp/o3GzuCDT3c:2)␤»
tann rakudo: multi sub f { }; multi sub f($n where { $_ > 0 }) { say "ok" }; f(0); 02:19
p6eval rakudo 18598d: OUTPUT«No applicable candidates found to dispatch to for 'f'␤in Main (/tmp/JKtxq3do57:2)␤»
tann ^^^ segfault on my osx :)
02:24 ihrd left 02:26 meppl left 02:32 tann left 02:41 ihrd joined 02:47 blackdog_ joined 02:54 alester left 03:04 justatheory left
wayland76 Hmm. Submitted a rakudobug? 03:05
03:07 ihrd left, ihrd joined, ihrd left 03:08 blackdog left 03:11 JimmyZ joined 03:13 cdarroch left 03:19 azawawi joined
azawawi std: 'hi'; 03:19
p6eval std 27864: OUTPUT«ok 00:02 36m␤»
03:26 alester joined 03:27 pjcj left
eternaleye cognominal: If you're looking for pattern-based web routing, check out masak++ 's doc on Astaire: feather.perl6.nl/~masak/web-spec/Astaire.html 03:34
03:36 azawawi left 03:51 finanalyst joined
pugs_svn r27865 | azawawi++ | [STD] Removed unused YAML::XS dependency 03:51
03:52 finanalyst left 03:56 zamolxes left
wayland76 Does anyone know if closures in rules (regexes) are working yet? 03:56
cognominal apparently not. 04:07
The work around I use is to break a rule on two and used an action objet that contains methods 04:09
see www.google.com/search?client=safari...p;oe=UTF-8 for action objects 04:10
04:14 nihiliad joined 04:16 azawawi joined
azawawi std: sub sub($foo) { }; sub(1); 04:16
p6eval std 27865: OUTPUT«===SORRY!===␤Missing block at /tmp/re9yxCX0l1 line 1:␤------> sub sub($foo) { }; sub(1)⏏;␤ expecting any of:␤ block␤ routine_def␤ terminator␤ trait␤ whitespace␤FAILED 00:02 39m␤»
azawawi std: sub if($foo) { }; if(1); 04:17
p6eval std 27865: OUTPUT«ok 00:02 38m␤»
azawawi TimToady: 'sub sub($foo) { }; sub(1);' fails to parse. 04:18
rakudo: sub sub($foo) { }; sub(1);
p6eval rakudo 18598d: ( no output )
azawawi rakudo: sub sub($foo) { say 'Hello from $foo"; }; sub(1); 04:19
p6eval rakudo 18598d: OUTPUT«say requires an argument at line 2, near " 'Hello fr"␤in Main (src/gen_setting.pm:2467)␤»
azawawi rakudo: sub sub($foo) { say "Hello from $foo"; }; sub(1);
04:19 justatheory joined
p6eval rakudo 18598d: OUTPUT«Hello from 1␤» 04:19
04:20 azawawi left 04:32 hercynium left 04:35 skids_ left 04:40 Pismire2 joined
pugs_svn r27866 | wayland++ | [S32/IO] Stopped referring to IO::Endable, as its functionality seems to be currently 04:43
r27866 | wayland++ | subsumed into IO::Seekable. If I've done it wrong, feel free to change it.
04:57 JimmyZ left 05:08 justatheory left, tann joined 05:11 Pismire2 left 05:20 justatheory joined, justatheory left 05:23 frederico joined, eMaX left 05:25 nihiliad left 05:29 duckyd joined 05:31 ex_spam_convict joined
ex_spam_convict Posted: Mon Jan 21, 2008 2:56 pm Post subject: Time Capsule Reply with quote 05:31
Shame on you Apple for again screwing your customers over. First you say you can plug in an external HD to the Airport Extreme and use it with Time Machine, and then you remove that feature before Leopard's launch. Only to release "Time Capsule" a few months later. Are you trying to milk money out of your customers or something?
wayland76 ex_spam_convict: What has that got to do with Perl 6? 05:33
05:40 orafu left, orafu joined
tann wayland76: it has everything to do with perl 6...looking at his nick :D 05:40
05:41 ex_spam_convict left
wayland76 What, you mean that spamming programs will be even easier to write in P6? 05:41
05:53 duckyd left, ruz_mac left, finanalyst joined 05:58 sparc joined
cognominal STD: sub swap (*@_ is rw, *%_ is rw) { @_[0,1] = @_[1,0]; %_<status> = "Q:S"; }; say eval( &swap.signature.perl).perl 06:08
std: sub swap (*@_ is rw, *%_ is rw) { @_[0,1] = @_[1,0]; %_<status> = "Q:S"; }; say eval( &swap.signature.perl).perl 06:09
p6eval std 27866: OUTPUT«ok 00:05 58m␤»
cognominal WTF?
06:13 fredrecsky joined 06:15 frederico left
wayland76 What sort of error were you expecting? 06:16
cognominal here, I got : 06:19
sub swap (*@_ is rw, *%_ is rw) { }; my $s=&swap.signature.perl; say $s; say eval( $s ).perl
:(Object *@_, Object *%_)
{}
moritz_ rakudo: sub swap (*@_ is rw, *%_ is rw) { }; my $s=&swap.signature.perl; say $s; say eval( $s ).perl 06:20
cognominal the "is rw" are lost.
p6eval rakudo 18598d: OUTPUT«:(Object *@_, Object *%_)␤{}␤»
cognominal and the second line should be identical to the first. 06:21
moritz_ cognominal: feel free to submit a bug report
cognominal ho, I called the wrong interpreter
I suppose that jnthn knows all that already 06:22
probably the "is rw" is not handled today.
moritz_ still it would be good to have it in rt
cognominal better write a test if it is not already done. 06:23
moritz_ sure, that's also welcome 06:24
06:26 kane___ left, araujo left 06:33 fredrecsky is now known as frederico
wayland76 Looks like frederico is at YAPC::EU :) 06:35
06:36 payload left
frederico wayland76: yes :) 06:36
06:40 blackdog joined 06:42 aindilis left 06:57 Su-Shee joined
Su-Shee good morning future. :) 06:57
06:58 blackdog_ left 07:04 alester left 07:06 unitxt left
wayland76 o/ Su-Shee 07:06
dalek kudo: 24b26a0 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 426 files, 12179 passing, 8 failing

   S12-enums/basic.rakudo aborted 2 test(s)
   S12-introspection/walk.t aborted 6 test(s)
07:08
07:11 blackdog left 07:13 eMaX joined, missingthepoint left
Matt-W Morning 07:14
eternaleye The nice thing about global projects is that no matter how late you stay up in your timezone, there are people who are just showing up. And thw whole thing of there always being people making improvements ;D 07:18
Su-Shee just had her morning dose of perl blogs and read chromatic's entry about PMC and now my head hurts. ;) 07:20
07:20 blackdog joined 07:26 ruz_mac joined, kane_ joined 07:32 sdgvf joined
Matt-W Su-Shee: This happens to me a lot 07:33
Su-Shee a daily dose of feeling stupid is the first step on the path to enlightenment. ;) 07:36
07:41 frederico left
sdgvf what, exactly, is a 'null PMC access' 07:41
moritz_ sdgvf: it's an internal error in parrot or rakudo 07:42
it means that a program tried to access a data structured called "PolyMorphic Container" (or "Parrot Magical Cookie"), but found a Null pointer instead 07:43
Su-Shee moritz_: I've always wanted to ask - are you doing your diplom about p6? 07:45
Matt-W sdgvf: it's like the Parrot VM's version of a segmentation fault 07:53
moritz_ Su-Shee: no :(
Matt-W That would be very cool 07:54
moritz_ aye
Matt-W I should've done that
But then my attempt at a PhD was full of mistakes 07:55
Considering going Open University... but doing creative writing and literature, this time. I'm done with computer science qualifications
Su-Shee a friend of mine just got her degree in linguistics and creative writing from the OU. 07:56
Matt-W One of my superiors at work is doing a BSc in Psychology with them
and one of my colleagues is doing an MSc in Mathematics 07:57
although I think he might be with a more conventional university, come to think of it
Su-Shee well one degree is good enough for me. :) 07:58
sdgvf gist.github.com/159435 <- the grammar (and test data) that causes said implosion
Su-Shee Matt-W: sadly, some subjects aren't really suitable for remote studying. how to learn bio-tech without a lab? 07:59
Matt-W Su-Shee: yeah I'm only looking at a diploma for this, there's no way to get an entire degree without doing far more literature courses than I want to do
Su-Shee: in fact, it appears to be possible to get the diploma in literature and creative writing by doing only creative writing modules, which is exactly what I want to do 08:00
Su-Shee my friend was very satisfied with the lectures/lessons in CW.
Matt-W excellent
as it stands, it looks like it would take me three years, because of when the courses start... 08:01
Su-Shee and she's already got a broad background of humanities/writing/lit'n'stuff.
Matt-W but hey, no rush
moritz_ sdgvf: it works here, at least I get a match tree and no Null PMC access
08:01 ruz_mac left
Su-Shee well writing is something to learn within a few weeks :) 08:01
moritz_ sdgvf: what version of rakudo are you using?
Su-Shee "isn't" 08:02
moritz_ "isn't" makes more sense :-) 08:03
sdgvf I was running the latest from github a few days ago, I did a git pull && Configure --gen-parrot && make about a half an hour ago 08:04
moritz_ hm 08:05
Matt-W Su-Shee: 'isn't' makes a lot more sense, I've been trying to learn how to do it for 15 years, so I think it's about time I had some help
moritz_ sdgvf: that's wierd, such errors are usually rather platform independent - but maybe you found an exception :/ 08:06
sdgvf: when you run 'make spectest', is that mostly clean?
(as in, 4 failures or so are expected at the moment) 08:07
Su-Shee Matt-W: it starts with reading a lot.
moritz_ and it goes on with praticing, and structured learning 08:09
like any skill you want to acquire efficiently
(though many skip the "structured" part, and try it the hard way)
Su-Shee moritz_: the skills for creative writing aren't that easy to aquire in a "structured" way. the crafts & trades of writing are. 08:10
moritz_ Su-Shee: still there are courses, and books, and whatnot 08:11
Su-Shee: just like for learning programming, and learning good programming
but somehow many people think that either they are creative, or not
or that creativity can't be learned
Su-Shee moritz_: well it plainly starts with "reading good stuff". the corpus of literature of your native tongue, the main philosphers and the best of journalism.
which are "the books" :) 08:12
moritz_ I never disputed that :-)
Su-Shee me neither, I'm not argueing. :)
the nice thing about lit skills is: you can aquire them sitting in a cafe or on the couch or while lying in bed :) 08:14
moritz_ right, I enjoy that regularly :-) 08:15
Su-Shee I'd love to write code as fluently as I write text. 08:18
moritz_ it's the other way round for me, sometimes :-)
Matt-W I think it helps to just have a structure in that the course says 'write this'
and you have to try
it makes you do different things
it's like how I never really programmed properly until I went to university and they made me write things I would never have tried because I didn't think I knew how 08:19
moritz_ Su-Shee: one thing I like about programming is that it's so easy to get feedback on what you write
Matt-W but when you have to do it, you just figure out how and get on with it
moritz_ the compiler/interpreter and test suite tell you if something's right or wrong
and you can easily see if code is beautiful
it's not that easy with literature
Matt-W to a certain extent
sometimes code can look fine, but hide something horrible underneath 08:20
especially when you start throwing threads into the mix
moritz_ I haven't done much concurrent programming yet
Matt-W threaded code typically looks awful
moritz_ but I guess that's true
Su-Shee moritz_: that is as easy with text as with code. there are universal rules of "what is good writing"
which you learn to recognize first and later you learn to apply it. 08:21
moritz_ Su-Shee: then I should narrow my statement to "it's not easy for /me/"
Su-Shee moritz_: that's actually a skill not that difficult to aquire up to a certain level.
moritz_ but there you go - if I had some structured eduction regarding literature, I'd know about those rules
Su-Shee you would. 08:22
moritz_ why don't they teach such things in school? I mean I had way too many useless German classes
Su-Shee Matt-W: yes, plainly "having to write this now" helps a lot.
moritz_: I have really _no_ idea. 08:23
moritz_: it isn't even part of university education in humanities unless you go ahead and learn it by yourself.
moritz_ Su-Shee: any good resources where I could learn it from? 08:24
Su-Shee moritz_: for german it's the books of wolf schneider, the duden "gutes und richtiges deutsch" is a must-have. also helpful: journalism of the weimarer republic - sternstunden des deutschen. in english you start with "elements of style" (strunk/white, it's online). 08:26
moritz_ Su-Shee: thanks
moritz_ bookmarks irclog.perlgeek.de/perl6/2009-08-04#i_1364628 08:27
08:28 tann left
sdgvf three centuries later, there are a grand total of five test errors 08:28
Su-Shee moritz_: and as a shortcut, read this chaosradio.ccc.de/media/ds/ds081.pdf ;)
moritz_ sdgvf: then your local copy is not hosed, and I have no idea what's wrong 08:30
08:41 fridim_ joined 09:04 fridim_ left 09:05 fridim_ joined 09:06 blackdog_ joined 09:08 blackdog_ left
ancients is away (4[O.F.F.L.I.N.E]) 09:18
09:18 ancients is now known as [ancients] 09:22 eMaX left 09:25 missingthepoint joined 09:26 blackdog left, kane_ left 09:38 payload joined 09:40 bionoid joined
ruoso cognominal, Faz is an attempt to implement just that in Perl 6, heavily influenced by Catalyst... github.com/ruoso/faz/tree -- take a look in the example code 09:41
ruoso commute &
09:43 ruoso left 09:45 payload1 joined, payload left 09:51 JimmyZ joined 09:53 synth left 10:01 pjcj joined, stepnem left 10:06 donaldh joined 10:09 stepnem joined 10:11 broquaint left 10:27 SmokeMachine left
JimmyZ rakudo: HOW(x).methods.perl.say 10:34
p6eval rakudo 24b26a: OUTPUT«Could not find non-existent sub x␤»
JimmyZ rakudo: HOW(1).methods.perl.say
p6eval rakudo 24b26a: OUTPUT«Method 'methods' not found for invocant of class 'Int'␤»
JimmyZ rakudo: HOW(Str).methods.perl.say
p6eval rakudo 24b26a: OUTPUT«Method 'methods' not found for invocant of class ''␤»
JimmyZ rakudo: HOW(Str).perl.say 10:35
p6eval rakudo 24b26a: OUTPUT«Str␤»
JimmyZ rakudo: Str.perl.say
p6eval rakudo 24b26a: OUTPUT«Str␤»
JimmyZ rakudo: Str.HOW.perl.say
p6eval rakudo 24b26a: OUTPUT«Str.new()␤»
JimmyZ rakudo: Str.HOW.methods.perl.say 10:36
p6eval rakudo 24b26a: OUTPUT«too few arguments passed (1) - 3 params expected␤in Main (/tmp/6qA1gaFtVi:2)␤»
JimmyZ rakudo: Str.HOW.methods('').perl.say
10:36 hah joined
p6eval rakudo 24b26a: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... 10:36
..}, { …
JimmyZ perl6 needs to more test cases... 10:39
Matt-W always 10:40
feel free to write some
wayland76 lambdabot: @seen masak jnthn 10:44
lambdabot I saw masak leaving #perl6 10h 7m 39s ago, and .
wayland76 lambdabot: @seen jnthn
lambdabot jnthn is in #perl6. I last heard jnthn speak 1d 23h 2m 3s ago.
10:46 bionoid left
Matt-W wayland76: they'll be busy with YAPC::EU at the moment I expect 10:47
missingthepoint is that just the Str.HOW methods deparsing - no serialization yet, so it uses yada to fill in? 10:48
Matt-W missingthepoint: it can't render out code blocks, so it just says yada, yes
missingthepoint ah, thanks Matt-W
Matt-W rakudo: sub a { say "a" }; say &a.perl;
p6eval rakudo 24b26a: OUTPUT«{ ... }␤»
10:49 JimmyZ left
Matt-W not sure if it's ever supposed to be able to do it 10:49
it's not exactly an easy thing...
10:49 JimmyZ joined
Matt-W at least, not without keeping a string copy of the code that went into a routine around in memory with it, which seems a bit pointless 10:49
missingthepoint But isn't that the only way to get proper deserialization? 10:51
JimmyZ How did perlcabal.org/syn/S02.html embed the spectests?
missingthepoint JimmyZ: see util/smartlinks.pl in pugs repo 10:52
JimmyZ I can't understand it. :( 10:54
wayland76 Matt-W: Yeah, I figured, but I thought I'd check anyway 10:55
They were online in the middle of Nordic Perl Workshop after all :)
JimmyZ missingthepoint: Is it smartlinks.pl's job? 10:56
missingthepoint JimmyZ: smartlinks.pl uses Text::SmartLinks, which is in util/ as well... 10:57
(more)
JimmyZ thanks 10:58
missingthepoint if you look in util/Text-Smartlinks/lib/Text/Smartlinks.pm it has a big explanation of how it works :)
JimmyZ missingthepoint: I don't love it, It has no benefit for printing it to papers. 11:01
;)
missingthepoint JimmyZ: do you want to print out the embedded tests with the spec? 11:03
JimmyZ missingthepoint: I had known how to do that, just add some comments to spectests. 11:07
11:08 payload1 left, c1sung_ left, nnunley left, huf left, estrabd left, integral left, charsbar left, PerlJam left, PZt left, elmex left, athomason left, arthur-_ left, s1n left, LCamel left, [particle] left, frettled left, patmat left, ilbot2 left, Tene left, rbuels left, krunen left, BinGOs left, felipe left, buubot left, jhelwig left, eiro left, ascent_ left, Hale-Bopp left, pjcj left, sdgvf left, itz_ left, mdxi left, bloonix_ left, bigpresh_ left, cosimo left, scrottie left, hexmode left, he_ left, ibrown left, edenc left, Lorn left, c9s left, sunnavy left, solarion left, andreasg_ left, PacoLinux left, kolibrie left, cognominal left, Matt-W left, christine left
wayland76 Ooh, network split 11:10
11:10 PerlJam joined, pjcj joined, payload1 joined, sdgvf joined, c1sung_ joined, athomason joined, nnunley joined, estrabd joined, integral joined, huf joined, charsbar joined, elmex joined, PZt joined, cognominal joined, buubot joined, arthur-_ joined, jhelwig joined, sunnavy joined, krunen joined, eiro joined, felipe joined, solarion joined, s1n joined, andreasg_ joined, LCamel joined, [particle] joined, ascent_ joined, patmat joined, Tene joined, ilbot2 joined, rbuels joined, frettled joined, PacoLinux joined, itz_ joined, Matt-W joined, christine joined, BinGOs joined, kolibrie joined, cosimo joined, c9s joined, scrottie joined, hexmode joined, edenc joined, he_ joined, Lorn joined, ibrown joined, Hale-Bopp joined, bigpresh_ joined, bloonix_ joined, mdxi joined, irc.freenode.net sets mode: +oo PerlJam [particle]
wayland76 Network split/merge :) 11:10
11:13 frew__ joined
JimmyZ rakudo: 'x'.HOW.methods.perl.say; 11:15
p6eval rakudo 24b26a: OUTPUT«too few arguments passed (1) - 3 params expected␤in Main (/tmp/3i64vodxcG:2)␤»
11:15 ssm left, fridim_ left, frew_ left, wayland76 left, Grrrr left, gfldex left, lisppaste3 left, shachaf left, adhoc left
JimmyZ rakudo: 'x'.HOW.methods('').perl.say; 11:15
p6eval rakudo 24b26a: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ...
..}, { …
JimmyZ rakudo: 'x'.HOW.methods('').say;
p6eval rakudo 24b26a:
..OUTPUT«WHICHACCEPTSperlsprintfScalarpredencodesuccwordsvaluescanlcfirstsrandComplexmappolarciskvsamecaselogmincapitalizemaxfirsttransflipIntdoesp5choplcsubstelemsabsendchompreduceindexceilingp5chomp:dpairs:e:fcombunpolarordchopintcharsrootsuckeysreverseisaucfirstsubstrfmtbytespickevalfile…
11:16 gfldex joined, wayland76 joined
JimmyZ rakudo: Str.HOW.methods('').say; 11:16
p6eval rakudo 24b26a:
..OUTPUT«WHICHperlACCEPTSsprintfScalarpredencodesuccmincapitalizemaxfirsttransflipIntdoesp5choplcsubstelemsabschompendreduceindexceilingp5chomp:dpairs:e:fcombunpolarordchopintcharsrootsucreversekeysisaucfirstsubstrfmtbytespickevalfilejointrimchrfloorrandtruncatesortroundsqrtrindexsplitmatch…
11:16 fridim_ joined
JimmyZ rakudo: HOW(Str).methods('').say; 11:16
p6eval rakudo 24b26a: OUTPUT«Method 'methods' not found for invocant of class ''␤»
11:17 Grrrr joined, adhoc joined, shachaf joined 11:20 donaldh left, donaldh joined
JimmyZ missingthepoint: Help, how do I write this tests? 11:23
11:24 gbacon left, jan_ left, Patterner left, xinming left, jiing left, Aisling left, cotto left, cotto joined, Aisling joined, jiing joined, xinming joined, Patterner joined, jan_ joined, gbacon joined 11:25 fridim_ left, c1sung_ left, payload1 left, huf left, nnunley left, estrabd left, charsbar left, integral left, adhoc left, PZt left, PerlJam left, elmex left, frettled left, [particle] left, athomason left, ilbot2 left, LCamel left, patmat left, s1n left, rbuels left, Tene left, arthur-_ left, krunen left, BinGOs left, Hale-Bopp left, jhelwig left, ascent_ left, buubot left, eiro left, Grrrr left, mdxi left, bloonix_ left, ibrown left, he_ left, scrottie left, cosimo left, itz_ left, pjcj left, edenc left, sdgvf left, sunnavy left, hexmode left, Lorn left, c9s left, bigpresh_ left, kolibrie left, andreasg_ left, solarion left, PacoLinux left, Matt-W left, christine left, cognominal left, felipe left
JimmyZ missingthepoint: I don't know how to judge whether the result is right or no. 11:25
s/no/not 11:26
11:26 PerlJam joined, adhoc joined, Grrrr joined, fridim_ joined, pjcj joined, payload1 joined, sdgvf joined, c1sung_ joined, athomason joined, nnunley joined, estrabd joined, integral joined, huf joined, charsbar joined, elmex joined, PZt joined, cognominal joined, buubot joined, arthur-_ joined, jhelwig joined, sunnavy joined, krunen joined, eiro joined, felipe joined, solarion joined, s1n joined, andreasg_ joined, LCamel joined, [particle] joined, ascent_ joined, patmat joined, Tene joined, ilbot2 joined, rbuels joined, frettled joined, PacoLinux joined, itz_ joined, Matt-W joined, christine joined, BinGOs joined, mdxi joined, bloonix_ joined, bigpresh_ joined, Hale-Bopp joined, ibrown joined, Lorn joined, he_ joined, edenc joined, hexmode joined, scrottie joined, c9s joined, irc.freenode.net sets mode: +oo PerlJam [particle], cosimo joined, kolibrie joined
missingthepoint JimmyZ: to judge whether the result is right, you need to read the right part of the spec (perlcabal.org/syn/) 11:26
in this case, here: perlcabal.org/syn/S12.html#Introspection 11:27
but sometimes things won't be completely specced (i.e. @Larry, the Perl 6 design team) needs to think through things more and actually WRITE the spec
so if things in the spec are unclear, ask here. asking when you find the spec unclear is helpful. 11:28
does that help?
JimmyZ missingthepoint++, that's very helpful. 11:30
missingthepoint: HOW function and method are referred to at S02 and S12, I don't know where there are to be added. 11:34
missingthepoint JimmyZ: I could be wrong, but I don't think "HOW(Str).methods" is meant to work.
JimmyZ missingthepoint: It's from S02. 11:35
missingthepoint ah, you are right :)
JimmyZ Every object supports a HOW function/method that returns the metaclass instance managing it, regardless of whether the object is defined: 11:36
11:36 ssm joined
JimmyZ missingthepoint: And it lost tests. 11:37
rakudo: WHICH(Str).say;
p6eval rakudo 24b26a: OUTPUT«Could not find non-existent sub WHICH␤»
JimmyZ rakudo: HOW(Str).say;
p6eval rakudo 24b26a: OUTPUT«Str()␤»
JimmyZ rakudo: WHO(Str).say; 11:38
p6eval rakudo 24b26a: OUTPUT«Could not find non-existent sub WHO␤»
JimmyZ seems that there is only HOW supported by S02. 11:39
missingthepoint JimmyZ: i'd put tests in S12-introspection/meta-class.t 11:40
JimmyZ rakudo: Str.methods('').say; 11:41
p6eval rakudo 24b26a: OUTPUT«Method 'methods' not found for invocant of class ''␤»
JimmyZ rakudo: Str.methods().say;
p6eval rakudo 24b26a: OUTPUT«Method 'methods' not found for invocant of class ''␤»
JimmyZ missingthepoint++
11:42 ihrd joined 11:51 meppl joined
Su-Shee *hihi* obviously, the whole bunch met in szagabs perl 6 workshop ;) szabgab.com/blog/2009/08/1249362072.html 11:58
12:01 mkfort left, gabiruh left, jeekobu left, clkao left, dalek left, Ingmar left
moritz_ I'd also love it if somebody explained Perl 6 to me 12:01
Su-Shee moritz_: because this is really necessary and not the least bit redundant. :) 12:02
12:03 mkfort joined, dalek joined, clkao joined, jeekobu joined, gabiruh joined, Ingmar joined
moritz_ Su-Shee: even if I understand it some way already, it's always good to see another perspective on it 12:04
missingthepoint rakudo: BEGIN { if 1 { say 'begin at the beginning.' } }
p6eval rakudo 24b26a: OUTPUT«begin at the beginning.␤»
12:05 Molaf left, Molaf joined
Su-Shee moritz_: well let's infiltrate germany, manipulate the press, take over the software industry and we'll have plenty of workshops attend to. ;) 12:05
moritz_ where do you beegin in Perl 6? 12:06
Su-Shee: good idea :-)
12:07 lisppaste3 joined
Matt-W Su-Shee: so, an afternoon's work then? :P 12:07
Su-Shee moritz_: well if it's for developers: make a little application containing at least a handful of features of perl 6 in a sensible way.
moritz_ Su-Shee: I should do that; I think my introductions normally are too bottom-up 12:08
wayland76 Well, there was this hoopy frood, see, named Perl. She grew an extra head, and numbered her heads 5 and 6. When she goes out, she puts a cage over head 6 and disguises it as a Parrot :)
Su-Shee Matt-W: well moritz wrote _the_ german perl 6 article series and I write for the same publisher for 10 years now, so the press manipulation thingie is actually for real (it press that is.. :)
12:08 ruoso joined, JimmyZ left
moritz_ but writing theses articles was not a matter of an afternoon :-) 12:09
12:09 donaldh left
Su-Shee moritz_: typical thing would be really something like "look, a blog based on Web.pm" 12:09
moritz_: the next will be. or the next after that.
12:09 mkfort left, gabiruh left, jeekobu left, clkao left, dalek left, Ingmar left
Su-Shee moritz_: I usally do something which at least does file i/o, contains some reg ex and manipulates some data in some data structures and has preferably some network connection. 12:10
12:10 mkfort joined, dalek joined, clkao joined, jeekobu joined, gabiruh joined, Ingmar joined
moritz_ Su-Shee: if it were, I'd dump my current studies and become a writer :-) 12:10
Su-Shee moritz_: no you won't, because you can't pay your rent from writing. ;)
moritz_ Su-Shee: if I can write such an article series in one afternoon, I can :-) 12:11
Su-Shee moritz_: heise is the only one paying that well. and only in print.
moritz_: all others pay for 4 pages what heise does for one. ;)
moritz_ even if the others pay only 1/4, it's enough money for half a days work 12:12
12:12 KyleHa joined
Su-Shee moritz_: writing is more of a karma payment in "recognition" currency. ;) 12:13
12:14 huf left, estrabd left, nnunley left, c1sung_ left, payload1 left, charsbar left, integral left, fridim_ left, mkfort left, gabiruh left, jeekobu left, clkao left, dalek left, Ingmar left
moritz_ :-) 12:14
Su-Shee back to perl 6 workshops and examples: please please please make examples real world programming examples. not some "funny" metaphor of animal classes or cartoon characters or something like that.
12:15 mkfort joined, dalek joined, clkao joined, jeekobu joined, gabiruh joined, Ingmar joined
moritz_ It would be cool if there was some kind of theme that most of the documentation adheres to 12:15
wayland76 rakudo: take "drugs"
p6eval rakudo 24b26a: OUTPUT«take without gather␤»
moritz_ something like "writing a mail user agent"
wayland76 rakudo: gather { take "drugs" }
p6eval rakudo 24b26a: ( no output )
12:16 fridim_ joined, payload1 joined, c1sung_ joined, charsbar joined, huf joined, integral joined, estrabd joined, nnunley joined
Su-Shee moritz_: yeah, I'd love that. and if you go for a new programming language, you'd have a nice comparison of the differences in styles and "how to actually do it" 12:16
12:16 mkfort left, gabiruh left, jeekobu left, clkao left, dalek left, Ingmar left, clkao joined, gabiruh joined, jeekobu joined, Ingmar joined
Su-Shee moritz_: I think mvc web frameworks are right now the common example. ;)) 12:17
ruoso g'morning!
wayland76 ruoso: o/
ruoso waits anxiously for being able to use custom grammars in rakudo, so Faz can have a syntax sugar... 12:18
12:18 takadonet joined
takadonet morning all 12:19
moritz_ Su-Shee: I think an MVC framework is too web centric, and we don't want the impression that perl 6 is "just a web language"
wayland76 takadonet: Good evening (I'm in Australia :) )
ruoso moritz_, MVC is not web-centric at all 12:20
moritz_, most mvc frameworks only work in the web... but frameworks like Catalyst can be used to a large variety of things
I, for instance, have used it to write a command-line application, a XMPP client and a Gtk app 12:21
Su-Shee moritz_: it's one example of many possible. mr shee for example doesn't care for web even though he's a heavy perl user - he uses still CGI.pm. BUT: he does Perl stuff like the filesystem written in perl by the Movable Type fellows and stuff like that. so, essentially you can take your pick as long as it's a usable project 12:22
moritz_: make it a spam filter with grammars. or "DNS server in perl in 20 lines" or something. 12:23
wayland76 waits for grammars too :)
Matt-W grammars! grammars! 12:24
Matt-W wants Damian to be able to do Perligata for Perl 6
wayland76 Both my grammas are dead :)
moritz_ ok... so how do write a source filter in Perl 6? *g* 12:25
moritz_ runs
Su-Shee (is there something like a pun tip jar in english? ;)
Matt-W moritz_: you replace the grammar! 12:26
moritz_ are you referring to the "schlechte-wortspiel-kasse"? :-)
(that was to Su-Shee)
Su-Shee kalauer kasse :)
moritz_ :)
Matt-W: can I do that with s///?
wayland76 I always ignore pun tip jars 12:27
Su-Shee wayland76: well, for the grammas: PAY UP :)
Matt-W moritz_: yes, you s/.*/$newgrammar/
and then run make
moritz_ that makes me run
or so
Matt-W :P
well you did ask if you could do it with s///
moritz_ :) 12:28
Su-Shee infiltrates perl 6 into germans 2nd largest isp.
12:30 kcwu left, kcwu joined
moritz_ I guess t-online is the largest? 12:30
Su-Shee it's a little difficult to count - t-online has the largest dialip customer base ( I think ), but not the largest number of domains or web hosting foobars or dedicated servers or something like that. 12:32
dialup.
moritz_ why can't anything be easy? :) 12:33
Matt-W because then the world would be boring 12:34
wayland76 And people wouldn
't pay us to do things
12:35 M_o_C joined
Su-Shee yesterday I was thinking that one should start with hooking the image magick folks on perl 6. 12:36
moritz_ it might make sense to wait a bit until the parrot NCI is better documented 12:40
wayland76 Or ncigen is completed 12:41
moritz_ "completed" - there is that nasty word again :) 12:42
wayland76 Well, maybe mo' bettah instead
Su-Shee my thinking was more along the lines of realizing how many projects have to be convinced over the next 2 years to port their stuff to p6. 12:44
missingthepoint (sorry to butt in: is there a version of Test.pm that has three-arg is()?)
moritz_ rakudo: use Test; plan 1; is 1, 1, "yes, Sir";
p6eval rakudo 24b26a: OUTPUT«1..1␤ok 1 - yes, Sir␤»
missingthepoint moritz_: sorry, it's been a long day :) 12:45
12:45 ihrd left
moritz_ missingthepoint: did you mean those three args? 12:45
missingthepoint yep
moritz_ good.
I thought maybe you meant cmp_ok instead (implemented in pugs' Test.pm at least) which takes three args for comparison, and an optional description 12:46
12:46 skids_ joined
moritz_ pugs: use Test; plan 1; cmp_ok 1, &infix:<==>, 1, 'descr'; 12:46
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/IJbC6FJyAK line 1, column 1␤»
missingthepoint nope, just blind :)
but that cmp_ok() looks very cool.
moritz_ as if 'use' was a function... :-)
it looks even cooler when you know that you can write &infix:<==> as &[==] today 12:47
(though NYI in rakudo)
missingthepoint is impressed
wayland76 Question -- is there something to do require_ok in p6? 12:48
missingthepoint Su-Shee: sorry to disrupt your conversation! :|
moritz_ sub require_ok($module, $descr?) { lives_ok { require $module }, $descr}; 12:49
missingthepoint: Perl 6 is never off topic here, so no need to apologize
also we're usually multi-threaded in here :-)
wayland76 Su-Shee: Maybe we have to convice lots, but when I passed through gtk-perl about 6 months ago, they sounded convinced, but waiting for things to be ready :)
Su-Shee wayland76: maybe you should show up again. :) 12:51
wayland76 Now I'm wondering if an IRC client could be designed that would help keep track of separate threads in a channel :)
Su-Shee: As soon as things are ready :) 12:52
12:52 SmokeMachine joined
moritz_ wayland76: I've thought about that a bit, too 12:52
wayland76: but I didn't come to a positive conclusion
wayland76 I think it'd be possible if people were willing to agree on a standard for threading 12:53
For example....
thread1& So I think NCI is important
Su-Shee well with the release of rakudo, I was thinking to open up an perl6-users channel.
wayland76 thread2& So I also think Test.pm is important 12:54
Su-Shee: This *is* the perl6-users channel :)
moritz_ Su-Shee: I think it doesn't make sense to separate developers from users early 12:55
wayland76 Basically, I think we should keep things here until the devs decide they need a #perl6-dev channel
Su-Shee wayland76: or that way around. :)
moritz_ only when the user's traffic becomes too large we should separate
Su-Shee (you all realize that I totally count on the success ;) 12:56
wayland76 From an Australian point of view, the problem is that it's dead in the middle of the day, not that there's too much traffic :)
12:58 dakkar joined
Su-Shee wayland76: well, infiltrate australia ;) 12:58
wayland76 Well, Australia's pretty empty :) 12:59
If I could get a kangaroo to use Perl, we'd have 8 Perl people in Australia instead of 7 :)
(Ok I exaggerate :) )
We seem to have 3 P6 people in Australia now 13:00
missingthepoint night all, I badly need sleep :)
Su-Shee wayland76: wasn't damian conway australian?
wayland76 (Assuming we count bacek, who is really a #parrot person, I think)
Yes, Damian is, I gues I mean #perl6 people instead of p6 people :) 13:01
13:01 missingthepoint left
moritz_ hey, he was here, like, once 13:01
wayland76 Actually, I'm very much in agreement with missingthepoint :)
Su-Shee (that's why australia hasn't more perl 6 people. they all sleep ;) 13:02
wayland76 Yes, but being here once doesn't solve the "dead in the middle of the day" problem :)
I think if I didn't sleep for a long enough period of time, Australia would have one less #perl6 person :)
Anyway, merry Christmas(*) to all, and to all a good night (*) But we're not saying Christmas which year 13:03
afk&
Su-Shee n8 :) 13:04
13:09 PZt left, adhoc left, PerlJam left, elmex left, Molaf left, frettled left, patmat left, [particle] left, s1n left, athomason left, ilbot2 left, LCamel left, rbuels left, Tene left, arthur-_ left, krunen left, BinGOs left, nnunley left, huf left, estrabd left, integral left, payload1 left, c1sung_ left, fridim_ left, charsbar left, Ingmar left, meppl left, felipe left, Hale-Bopp left, ascent_ left, jhelwig left, buubot left, eiro left, scrottie left, hexmode left, he_ left, ibrown left, bloonix_ left, mdxi left, sdgvf left, Grrrr left, pjcj left, cosimo left, itz_ left, edenc left, Lorn left, c9s left, sunnavy left, bigpresh_ left, kolibrie left, solarion left, andreasg_ left, PacoLinux left, christine left, Matt-W left, cognominal left
takadonet hmmm 13:13
13:20 Ingmar joined, nnunley joined, estrabd joined, integral joined, huf joined, charsbar joined, c1sung_ joined, payload1 joined, fridim_ joined, meppl joined, felipe joined 13:22 Grrrr joined, pjcj joined, sdgvf joined, sunnavy joined, itz_ joined, mdxi joined, bloonix_ joined, bigpresh_ joined, ibrown joined, Lorn joined, he_ joined, edenc joined, cosimo joined, c9s joined, scrottie joined, hexmode joined 13:24 sri_kraih joined 13:25 cognominal joined, Matt-W joined, christine joined 13:28 szbalint joined 13:30 krunen joined, BinGOs joined, [particle] joined, Molaf joined, athomason joined, arthur-_ joined, s1n joined, LCamel joined, frettled joined, rbuels joined, ilbot2 joined, Tene joined, patmat joined, irc.freenode.net sets mode: +o [particle], buubot joined, jhelwig joined, eiro joined, ascent_ joined, Hale-Bopp joined, solarion joined, andreasg_ joined, PacoLinux joined, kolibrie joined, PerlJam joined, adhoc joined, PZt joined, elmex joined, irc.freenode.net sets mode: +o PerlJam 13:34 TimToady_ is now known as TimToady
frettled Nice with live rakudo hacking during the talk, hee-hee. 13:35
TimToady anyone want a commit bit? :) 13:36
frettled Sure. 13:37
TimToady you don't have one?
13:37 sri_kraih_ left
frettled Nopes, I've managed to keep my soul in merely 41 pieces so far. 13:37
Please take #42.
TimToady then /msg me your email and preferred nick
13:37 moritz_ sets mode: +o TimToady
TimToady (svn nick) 13:37
Su-Shee lord frettled voldemort. ;) 13:38
frettled hehe
moritz_ don't use '-' in nick names, the svn bot doesn't like those
which is why it doesn't report any commits by Su-Shee++, I guess
TimToady sent 13:39
Su-Shee moritz_: bad nick, bad karma. :)
frettled thanks!
TimToady it's customary to add yourself to AUTHORS as a first test commit
frettled Hmm. Now I just need to figure out why I can't get to Gmail, haha.
13:40 molaf_x joined
frettled Yes, the distinction between "your last programming language" and "the last programming language you ever want to learn" signify different paradigms in optimism. 13:43
Su-Shee *hihi* :))
moritz_ so, what kind of life rakudo hacking happened?
TimToady I think he demoed adding a .end method 13:44
but I was busy adding a commit bit :)
dakkar yes, Any::end was moved from PIR to Perl 6
moritz_ so adding things to the setting?
dakkar yes 13:45
moritz_ nice
dakkar and the tests passed :)
13:45 bionoid joined
frettled He'll commit in a bit. 13:47
(a ha ha)
szbalint jonathan++ talking now :) 13:49
moritz_ jnthn++ even :-) 13:50
szbalint heh, I'm too used to irc.perl.org :) 13:52
frettled pmichaud++, btw, and again for having #perl6 open ;) 13:53
TimToady audreyt++ for the original #perl6 bootstrap 13:54
we still remember, we who dwell / in this dark land beneath the trees, / thy moonlight on the western seas... 13:57
KyleHa How do I do a symbolic reference to a sub? sub foo { 'x' }; my $s = 'foo'; is ::$s(), 'x', 'works?' 13:59
TimToady &$s() 14:00
or &($s)()
oh, wait, symbolic
::($s)() 14:01
PerlJam KyleHa: pretty sure rakudo doesn't grok it, no matter how it's spelt.
[particle] &{"$s"}()
TimToady maybe &::($s)()
std: &{"$s"}()
p6eval std 27866: OUTPUT«===SORRY!===␤Obsolete use of &{"$s"}; in Perl 6 please use &("$s") instead at /tmp/F0KRaAw1QW line 1:␤------> &{"$s"}⏏()␤FAILED 00:03 54m␤»
[particle] oot!
std: &::($s)() 14:02
p6eval std 27866: OUTPUT«Potential difficulties:␤ Variable $s is not predeclared at /tmp/xIZoBeiTHX line 1:␤------> &::($s⏏)()␤ok 00:02 37m␤»
KyleHa Looks like &("$s")() is the winner, if STD is to be believed. 14:03
frettled yikes
TimToady useless use of quotes, actually 14:05
ruoso std: my $s = 'foo'; sub foo { }; ::($s)()
p6eval std 27866: OUTPUT«ok 00:03 37m␤»
ruoso I think the prefix & is not really needed if you really want to invoke it
TimToady but &() won't do symbolic
only actual code objects
in theory ::($s) 'x' should work 14:06
std: ::($s) 'x'
ruoso exactly... you only need to use the contextualizer when you might require a cast
p6eval std 27866: OUTPUT«===SORRY!===␤Confused (two terms in a row?) at /tmp/6AdhYAvxAu line 1:␤------> ::($s) ⏏'x'␤ expecting any of:␤ bracketed infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤Other potential difficulties:␤
..Variable $s i…
TimToady it's not handling ::($s) like a full-fledged name for some reason 14:07
well, probably assuming it's a type, I suppose
ruoso TimToady, last time I checked it was parsing it in a pretty confusing way
TimToady there were some LTM workarounds in that spot, yes
KyleHa OK, now I'm going with ::( 14:08
Oops.
TimToady but it's a good question whether it should assume ::($s) is a type or a function name
can't assume both
KyleHa That's ::($s)() to call.
TimToady std: ::($s)()
p6eval std 27866: OUTPUT«Potential difficulties:␤ Variable $s is not predeclared at /tmp/hnRqzKZqhH line 1:␤------> ::($s⏏)()␤ok 00:02 37m␤»
TimToady well, it liked it, kinda
14:09 alester joined
ruoso TimToady, ::($s)() makes the invocation explicit 14:09
making it easier to the parser, i guess
KyleHa So, could I use this to turn a name into a code reference? my $code = &{ ::( $name ) }; 14:10
ruoso std: my $s = 'foo'; sub foo {}; my $code = ::($s); $code === &foo; # same object 14:11
p6eval std 27866: OUTPUT«ok 00:04 55m␤»
ruoso KyleHa, you don't need the outer &{ }
TimToady it forces initial :: to parse as a term
KyleHa Cool, thanks ruoso++
ruoso TimToady, or am I wrong and that would make a call?\ 14:12
frettled hmm, I think this answers a question I forgot to ask about regarding one of my blog entries from NPW ...
TimToady anything following by () is going to try to call the thing
even a type
that's how we get Str()
ruoso TimToady, I mean without the () in the end
TimToady probably not
ruoso TimToady, look the last snippet I sent to std
14:12 lumi left
TimToady I would think that would match 14:13
ruoso too
frettled So, to do a Schwartzian transform, this would be ... 14:14
ruoso frettled, schwartzian transform is part of Perl 6 core now
just use the sort sub with only one parameter
14:15 donaldh joined
frettled @sorted = @unsorted.sort: { ::( something wonderful ) } 14:15
lambdabot Unknown command, try @list
frettled woops.
frettled forgot lambdabot
literal alester: ping 14:16
frettled ruoso: I've used the specialized example with .uc, but not with a symbolic code reference, which is what the ST is all about.
alester yes
?
frettled meant to look into this in April, but I forgot
KyleHa spec tests have &::($name)(), now that I look.
Juerd ST has nothing to do with symbolic references afaik 14:17
literal alester: made a pull request for you on github regarding vim-perl
ruoso KyleHa, that's just more explicit
alester I saw.
ruoso frettled, is it?
14:18 JimmyZ joined
JimmyZ Is november wiki any spec or roadmap? 14:19
ruoso TimToady, the ::($s) syntax is only valid for subs and types, right?
you still need to use MY::<$foo> in order to access other cariables
s/car/var/
JimmyZ Ts there any roadmap or spec for November?
s/Ts/Is 14:20
KyleHa std: sub foo { 'I am foo' }; my $name = 'foo'; say ::$name();
p6eval std 27866: OUTPUT«===SORRY!===␤Confused (two terms in a row?) at /tmp/YqQM6sgg96 line 1:␤------> { 'I am foo' }; my $name = 'foo'; say ::⏏$name();␤ expecting any of:␤ POST␤ bracketed infix␤ infix stopper␤ morename␤ postfix␤
..postfix_prefix_meta_operator␤ standa…
alester literal: Did you note the changes in the changelog?
TimToady ::() is supposed to allow any indirect identifiers or even names, reparsing :: in the string
JimmyZ missingthepoint: hello
KyleHa std: sub foo { 'I am foo' }; my $name = 'foo'; say ::($name)(); 14:21
literal alester: ah, didn't notice there's a changelog
ruoso TimToady, hmm... so it depends on the compiler environment?
p6eval std 27866: OUTPUT«ok 00:02 37m␤»
alester There might not be one, actually. :-)
literal alester: I'll add an entry there
alester Start one if not.
literal well, there's a Changes file
alester there ya go. Thanks.
literal I see you have stuff about q() ops there
alester ok 14:22
literal I think that might all be fixed by the change I just made (well, mauke did it)
alester good.
just note it in there.
literal will do
ruoso std: my $s = '$*foo'; say ::($s); # TimToady, does that work?
alester and I'll pull it when you've done so. thanks.
p6eval std 27866: OUTPUT«ok 00:02 37m␤»
TimToady probably not 14:23
MY::{$var} doesn't do any parsing of $var 14:24
ruoso TimToady, ah... so it isn't really "reparsing"
TimToady it's just a hash key
the ::() form is supposed to reparse, but is probably not expecting another sigil
ruoso right... but the subroutines aren't stored without the &
frettled Juerd, ruoso: well, yes, as I've understood it, an ST allows for an arbitrary function to be applied as a part of the transform.
Juerd Arbitrary doesn't have to mean symbolic 14:25
TimToady any unary function
ruoso std: my $s = '$s'; say ::($s); # TimToady, what about that?
p6eval std 27866: OUTPUT«ok 00:02 37m␤»
TimToady I don't think so
ruoso right... so ::() is specific to subs and types 14:26
you need to use MY::{$s} in order to access other variables
TimToady %::($name)
so no
14:27 rfordinal joined
ruoso you mean the prefix sigil defines the sigil of the actual variable? 14:27
TimToady most places you can put an identifier, you can put ::()
(but not all)
ruoso so... 14:28
TimToady and substitute one or more identifiers separated with ::
ruoso my %a; my $s = 'a'; say %::($s).keys
TimToady, I really thought about it as a regular prefix, as in %(::($s))
14:29 cdarroch joined
TimToady that doesn't make sense to me 14:29
ruoso std: my %a; my $s = 'a'; say %(::($s)).keys
p6eval std 27866: OUTPUT«ok 00:02 37m␤»
TimToady %() requires hard ref, and ::() provides a string to interpolate into a name
semantic error 14:30
like
std: %("foo")
p6eval std 27866: OUTPUT«ok 00:03 36m␤»
14:30 araujo joined
ruoso TimToady, so %::("foo") is semantically the same as %foo 14:31
TimToady correct
ruoso so I guess we need the & in &::($s) 14:32
TimToady it's name interpolation rather than string interpolation
araujo morning
TimToady probably
ruoso but the variable name contains the sigil....
14:32 dakkar left
TimToady fine, it's reinterpreting the name after the interpolation 14:33
unlike MY::{$var}
ruoso right... so the expression is sigil+"identifier interpolation"
frettled *confused* :) 14:34
ruoso which means that a bare ::($s) can only match a type
TimToady ::("pi")
biab &
ruoso std: my $s = 'foo'; sub foo { }; say &::($s)
p6eval std 27866: OUTPUT«ok 00:03 37m␤»
ruoso std: my $s = 'foo'; sub foo { }; say &::($s) 'x' 14:35
p6eval std 27866: OUTPUT«===SORRY!===␤Confused (two terms in a row?) at /tmp/TFxXE7AVpL line 1:␤------> my $s = 'foo'; sub foo { }; say &::($s) ⏏'x'␤ expecting any of:␤ bracketed infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤
..terminator␤FAILED 00:02…
ruoso TimToady, right... but "pi" in your example is already special, isn't it? I mean... it isn't a regular sub... or is it?
frettled ah, low battery power, the show stopper of the millennium. 14:38
TimToady values like pi are parsed like types, but are not types
and all enums, for example
std: True 'x' 14:39
p6eval std 27866: OUTPUT«===SORRY!===␤Confused (two terms in a row?) at /tmp/X8hzn3cjNL line 1:␤------> True ⏏'x'␤ expecting any of:␤ bracketed infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤FAILED 00:02 36m␤»
ruoso TimToady, right... it means it is installed in the lexpad without the sigil
JimmyZ rakudo: '\x[0041,0300]'.say;
ruoso so it fits
p6eval rakudo 24b26a: OUTPUT«\x[0041,0300]␤»
JimmyZ rakudo: '\x[0041,0300]'.codes
p6eval rakudo 24b26a: OUTPUT«Method 'codes' not found for invocant of class 'Str'␤»
ruoso rakudo: "\x[0041,0300]".say 14:40
p6eval rakudo 24b26a: OUTPUT«A􏿽xCC􏿽x80􏿽xE2􏿽x90􏿽xA4»
ruoso rakudo: "\x[0041,0300]".codes
p6eval rakudo 24b26a: OUTPUT«Method 'codes' not found for invocant of class 'Str'␤»
14:40 justatheory joined
JimmyZ rakudo: '\x[0041,0300]'.graphs 14:43
p6eval rakudo 24b26a: OUTPUT«Method 'graphs' not found for invocant of class 'Str'␤»
JimmyZ rakudo: '\x[0041,0300]'.graphs
p6eval rakudo 24b26a: OUTPUT«Method 'graphs' not found for invocant of class 'Str'␤»
JimmyZ rakudo: '\x[0041,0300]'.chars
p6eval rakudo 24b26a: ( no output )
JimmyZ rakudo: '\x[0041,0300]'.chars.say
ruoso JimmyZ, you probably want to use single quotes, anyway
p6eval rakudo 24b26a: OUTPUT«13␤»
ruoso er... double quotes, I mean 14:44
rakudo: "\x[0041,0300]".chars.say
JimmyZ rakudo: \x[0041,0300]".chars.say
p6eval rakudo 24b26a: OUTPUT«2␤»
rakudo 24b26a: OUTPUT«Leading 0 does not indicate octal in Perl 6␤Leading 0 does not indicate octal in Perl 6␤Statement not terminated properly at line 2, near "\".chars.sa"␤in Main (src/gen_setting.pm:3363)␤»
JimmyZ rakudo: \x[0041,0300]".graghs
p6eval rakudo 24b26a: OUTPUT«Leading 0 does not indicate octal in Perl 6␤Leading 0 does not indicate octal in Perl 6␤Statement not terminated properly at line 2, near "\".graghs"␤in Main (src/gen_setting.pm:3363)␤»
JimmyZ rakudo: "\x[0041,0300]".graghs
p6eval rakudo 24b26a: OUTPUT«Method 'graghs' not found for invocant of class 'Str'␤»
JimmyZ rakudo: "\x[0041,0300]".graphs 14:45
p6eval rakudo 24b26a: OUTPUT«Method 'graphs' not found for invocant of class 'Str'␤»
ruoso rakudo: say Str.^methods(:local).map: { ~$_ }
p6eval rakudo 24b26a: OUTPUT«WHICHperlACCEPTSsprintfScalarpredencodesucc␤»
JimmyZ ruoso: thanks.
ruoso rakudo: say join ", ", Str.^methods(:local).map: { ~$_ } 14:46
p6eval rakudo 24b26a: OUTPUT«WHICH, ACCEPTS, perl, sprintf, Scalar, pred, encode, succ␤»
JimmyZ rakudo: say join ", ", Str.^methods(:local)
p6eval rakudo 24b26a: OUTPUT«sprintf, Scalar, pred, encode, succ, ACCEPTS, perl, WHICH␤»
JimmyZ rakudo: my Int $x = undef; 14:48
p6eval rakudo 24b26a: ( no output )
JimmyZ rakudo: my int $x = undef;
p6eval rakudo 24b26a: OUTPUT«Malformed declaration at line 2, near "int $x = u"␤in Main (src/gen_setting.pm:3363)␤»
Matt-W less than awesome error message
JimmyZ rakudo: my $x = undef; 14:49
p6eval rakudo 24b26a: ( no output )
JimmyZ rakudo: "\x[0041,0300]".say;
p6eval rakudo 24b26a: OUTPUT«A􏿽xCC􏿽x80􏿽xE2􏿽x90􏿽xA4»
JimmyZ rakudo: "\x[0041,0300]".perl.say; 14:50
p6eval rakudo 24b26a: OUTPUT«"A􏿽xCC􏿽x80"␤»
literal alester: will this do? github.com/hinrik/vim-perl/raw/4467...3e/Changes 14:51
alester Jeepers, that's fantastic.
literal excellent 14:52
14:52 Psyche^ joined
literal you can pull, then 14:52
alester it's now on my to-do. Thanks very much.
literal ok
alester I'm thinking of putting it up on CPAN, too.
14:57 MoC` joined 14:59 [ancients] is now known as ancients 15:09 Patterner left, Psyche^ is now known as Patterner 15:15 M_o_C left 15:20 donaldh left, donaldh joined 15:21 unitxt joined 15:36 abra joined 15:38 tann_ joined
KyleHa rakudo: class A { has $.x; method foo { $!x := 42 } }; my $a = A.new; $a.foo; say A.x; 15:56
p6eval rakudo 24b26a: OUTPUT«Null PMC access in set_attr_str()␤in method A::foo (/tmp/zzdHd6D5JR:2)␤called from Main (/tmp/zzdHd6D5JR:2)␤»
KyleHa std: class A { has $.x; method foo { $!x := 42 } }; my $a = A.new; $a.foo; say A.x; 15:57
p6eval std 27866: OUTPUT«ok 00:02 37m␤»
KyleHa rakudo: class A { has $.x; method foo { $!x = 42 } }; my $a = A.new; $a.foo; say A.x; 15:58
p6eval rakudo 24b26a: OUTPUT«Use of uninitialized value␤␤»
KyleHa rakudo: class A { has $.x; method foo { $.x = 42 } }; my $a = A.new; $a.foo; say A.x;
p6eval rakudo 24b26a: OUTPUT«Cannot assign to readonly variable.␤in method A::foo (/tmp/S6o144GLjQ:2)␤called from Main (/tmp/S6o144GLjQ:2)␤»
KyleHa rakudo: class A { has $.x; method foo { $!x = 42 }; method bar { $!x}; }; my $a = A.new; $a.foo; say A.bar; 16:00
16:00 finanalyst left
p6eval rakudo 24b26a: OUTPUT«Null PMC access in type()␤in Main (/tmp/1FoRI0PQ0p:2)␤» 16:00
16:04 JimmyZ left 16:08 tann___ joined, tann_ left 16:09 unitxt left 16:15 tann___ left
Su-Shee why is there russian in november's CGI.pm? ;) 16:20
moritz_ Su-Shee: because we believe in diversity, or so ;-) 16:21
anyway, all the interesting comments should have an english version, too
PerlJam Su-Shee: Because we're the starship Enterprise! 16:22
MoC` Should there be any uninteresting comments? :)
16:22 MoC` is now known as M_o_C
moritz_ no, but that doesn't stop them from being there, usuallz 16:23
s/z/y/
M_o_C hehe
moritz_ (switching keyboard layouts)--
16:26 payload1 left
Su-Shee i have a rakudo cgi... jippi. :) 16:39
KyleHa moritz: t/syntax/symbol_table.t says it's obsolete and seems to test some of the same stuff as S02-names/symbolic-deref.t Can it die?
moritz_ KyleHa: yes
KyleHa Wow, that was easy. I was expecting more hemming and hawing for some reason. 16:40
PerlJam KyleHa: we can argue with you if you like
moritz_ I keep these old tests as inspiration of what the new tests might cover
when the new tests show some substance (or existence at all) 16:41
KyleHa Perljam: That's a generous offer. Can I take a raincheck?
moritz_ ... I'm eager with getting rid of the old stuff
KyleHa Makes sense.
pugs_svn r27867 | putter++ | [elfparse] Cleanup - unbreak `make check`; use default `perl`; push old std.pm tweaks. 16:42
r27867 | putter++ | Clearing out old directories, I noticed misc/elfish/elfparse's `make check_STD_blue` (build elf using a gimme5 parser) had been left failing in HEAD. Fixed.
r27867 | putter++ | IRx1_FromAST2_create.pl: Fixed a staging violation (a literal rx). `make check` now passes again.
r27867 | putter++ | pugs_src_perl6/gimme5,pugs_src_perl6/Makefile: Use default perl, not hardwired /usr/local/bin/perl.
r27867 | putter++ | std.pm,emit5.pm: Old unpushed babysteps towards getting std.pm to run on elf. Untested but for ./STD_green_run --start=number -e 3 . ./STD_green_run --start=comp_unit -e 3 fails.
KyleHa I have a question about the TPF CLA also. I sent mine in last week. Will I get an email about that, or what? How do I know if/when they got it? 16:43
moritz_ KyleHa: you'll probably won't get any feedback 16:44
KyleHa: so you have to nag pmichaud to ask the appropriate people if it arrived...
and give you the commit bit if the answer is positive
KyleHa Can I nag them directly?
moritz_ that's not quite optimal ;)
if you know how they are, sure 16:45
KyleHa OK. Thanks. I'll see if I can find my nagging hat.
frettled Here: ^
pugs_svn r27868 | kyle++ | [t] remove old obsolete and redundant t/syntax/symbol_table.t
moritz_ KyleHa: I just asked in #parrot, maybe they know better 16:46
Su-Shee is there a tar.gz of the exact parrot version the rakudo-chicago release needs?
KyleHa Thanks, moritz++
moritz_ Su-Shee: yes, it's the 1.4.0 release of parrot...
Su-Shee moritz_: the exakt 1.4.0?
moritz_ (url coming)
yes
ftp://ftp.parrot.org/pub/parrot/releases/stable/1.4.0/parrot-1.4.0.tar.gz 16:47
Su-Shee moritz_: can I plainly stuff it into the rakudo subdir, and do what.. call perl Configure.pl --gen-parrot ./parrot-1.4.0 ?
moritz_ Su-Shee: either just call 'perl Configure.pl --gen-parrot' and let it download it for you (from svn, but same thing)... 16:48
Su-Shee moritz_: there's no svn available on the target host.
moritz_ Su-Shee: or extract it into the parrot/ dir, cd parrot; perl Configure.pl && make
then cd ..
and perl Configure.pl; make
Su-Shee ok, try run. 16:49
will all next rakudo release be in sync with a parrot release? or is it accidental?
moritz_ it's intentional 16:50
planned, even ;-)
that's why rakudo release is usually 2 days after parrot release
16:50 kane_ joined
Su-Shee moritz_: I've done it with --gen-parrot the last few times. 16:52
17:00 tann_ joined, nihiliad joined
Su-Shee fine. works as well. nice. 17:03
moritz_: it still has to be a parrot subdir and you still can't remove it? 17:06
17:08 abra left
moritz_ Su-Shee: correct 17:09
Su-Shee ok. let's see.
moritz_ Su-Shee: the installable version of the current rakudo is in a branch, and I expect it to be merged before the next release
17:14 justatheory left 17:16 nihiliad left
Su-Shee where does Configure.pl come from? I usally have Makefile.PL. 17:21
17:27 payload joined 17:28 sparc left 17:29 abra joined
colomon Hmmm: hanekomu.at/blog/perl6/20090804-170..._2010.html 17:35
Su-Shee sounds official now :) 17:42
PerlJam except that Rakudo == Perl 6 will now forever be entrenched in people's minds. 17:43
Su-Shee PerlJam: I've realized a few days ago, that I usally actually say "rakudo perl".
and not perl six. 17:44
Juerd I've used "Rakudo Perl 6"
Su-Shee na, too long :) 17:45
17:54 unitxt joined
KyleHa I've always thought Rakudo == Perl 6. 18:01
Su-Shee in principle, there could be other Perl 6s. :) 18:02
KyleHa I learned later that "Perl 6" is really the specification, but I still think of Rakudo as "official".
Su-Shee I started out with pugs. 18:03
KyleHa If something comes along more awesome than Rakudo, I'll adjust my attitude then. 8-)
18:06 abra left 18:11 cognominal left, M_o_C left 18:14 s1n left, jan_ left 18:15 eiro left, eiro_ joined
KyleHa perl6: 'say 1' ~~ /<Perl6::Grammar::TOP>/; say $/.perl; 18:16
18:17 s1n joined
p6eval elf 27868: OUTPUT«Global symbol "$_47" requires explicit package name at (eval 125) line 4.␤ at ./elf_h line 5881␤» 18:17
..rakudo 24b26a: OUTPUT«Method 'item' not found for invocant of class 'Perl6;Grammar'␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/evalenv/pugs/perl5/Pugs-Compiler-Rule/lib';␤ unshift @INC, '/home/evalenv/pugs/third-party/Parse-Yapp/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime…
18:18 jan_ joined
tann_ colomon: good to see xmas in spring 18:19
looks like tim bunce and gang are hard at work to get dbdi up and running...would be awesome to interact with dbs in rakudo 18:21
Su-Shee tann_: wow, very cool. that really would be nice. and a great code example. 18:22
arthur-_ dbi <3
tann_ mehears, tim chose to go with jdbc classes for dbdi :) 18:23
time to read java docs ;)
Su-Shee jdbc? 18:24
18:24 hercynium joined
tann_ yup 18:24
Su-Shee what's that exactly?
tann_ he decided that in 2004 i hear
www.nntp.perl.org/group/perl.dbdi.d...msg52.html 18:25
Su-Shee tann_: I don't get it. what's this about the java stuff in there? 18:27
tann_ apparently, tim thinks jdbc classes/api are sane and would like to adopt 'em for generic db interface on parrot 18:28
maybe, its should be named pdbc instead of dbdi? :) 18:29
Su-Shee does that mean that java is required to run dbi or that the p6 dbi is just modeled after jdbc? 18:30
tann_ that's just at db driver level...if we write perl 6 using dbi, we probably won't see those classes/api
that's just for db driver implementors on parrot/perl 6...we p6 users won't see those things..afaik 18:31
Su-Shee I stupidly expected something similar as today with let's say mysql, postgres, oracle, sqlite drivers and that's it.
tann_: and people who are not users but install the stuff? 18:32
tann_ those are on top of dbdi, methinks
Su-Shee well that sounds scary. :) 18:33
18:33 ancients left
tann_ dbdi is meant to be generic enough so that *all* languages targeting parrot will be able to use its api (or classes) 18:33
Su-Shee that I understand and expect. 18:34
18:34 broquaint joined, ancients joined
pugs_svn r27869 | kyle++ | [t/spec] Tests for RT #64874 18:35
tann_ dbi api is probably changed as well... for example, selectall_arrayref ....no refs in p6 anymore :)
ruoso was considering re-writing the XML::Grammar as a SAX parser... 18:36
ruoso is lacking resources...
arthur-_ want dbic in rakudo 18:37
tann_ dbic will be much nicer in p6/rakudo ;)
Su-Shee "are we there yet? can I have it now? is it done already?" :) 18:39
tann_ Su-Shee: contrary to what TimToady's sage words, patience is one of the virtues of a programmer :P 18:41
Su-Shee I know, but with a real release announcement and all, I'm really excited. 18:43
18:47 rfordinal left
ruoso rakudo: say "\xD" 18:47
p6eval rakudo 24b26a: OUTPUT«
ruoso rakudo: say "\xA"
p6eval rakudo 24b26a: OUTPUT«␤␤»
unitxt I wonder if the older way of doing OOP in Perl 5 or Moose is the better way to learn for someone that has just read 'Learning Perl', but plans on learning Perl 6 as soon as it's released and there's a book for beginners on it? Or maybe I need to learn both ways? 19:00
Tene unitxt: Moose, definitely. 19:01
Moose borrowed a lot from Perl 6
unitxt Tene: Thank you. 19:02
19:03 payload left
Su-Shee unitxt: just privately or also job related? 19:03
19:05 masak joined
masak literal: ping 19:05
anyone agree that RT #68158 is invalid? rt.perl.org/rt3/Ticket/Display.html?id=68158 19:06
moritz_ takes a look 19:07
not sure
masak moritz_: oh hai
moritz_ one could make a case for a slurpy being not such a tight match as a directly matching signature
don't know how it's specced, though 19:08
KyleHa Looks ambiguous to me.
masak same here.
moritz_: one could make a case for that, yes.
moritz_ otherwise you could never win a dispatch against a (*@a, *%a) signature
except by closer types
masak true.
KyleHa I'm looking at this one: rt.perl.org/rt3/Ticket/Display.html?id=65610 19:09
masak so in the precense of a () signature, a (*@a) signature should lose out, when calling foo().
masak leaves RT #68158 open for the time being 19:10
moritz_ that's my opinion; don't know what the spec says, if it says something at all
KyleHa No, I'm confused.
moritz_ rakudo: my $m = "foo" ~~ /foo/; $m<greeting> = "OH HAI"; say $m.perl
p6eval rakudo 24b26a: OUTPUT«Method '!_perl' not found for invocant of class 'Str'␤»
KyleHa Is the assignment to '$m' legal? 19:13
moritz_ no
unless the regex was matched with an :rw modifier
KyleHa OK, so I'm not sure I care about this bug. 19:14
It's an odd case of RT #64874.
moritz_ rakudo: my $x = 'foo'; $x ~~ m/.(o)/; $1 = 'bar'; say $x
p6eval rakudo 24b26a: OUTPUT«foo␤»
moritz_ KyleHa: add an eval_dies_ok { $m<greeting> = 'something' }, and be done
KyleHa OK. 19:15
moritz_ the .perl failing is just a fallout of the then corrupted structure of the match object
19:17 iblechbot joined 19:20 donaldh left
pugs_svn r27870 | kyle++ | [t/spec] Label tests for RT #64880 19:20
r27871 | kyle++ | [t/spec] Test for RT #65610
ruoso gist.github.com/161467 -- a xml grammar closer to the xml spec
19:20 donaldh joined
masak ruoso++ 19:21
ruoso: maybe add the distinctiveness of that grammar to krunen's XML module? 19:22
ruoso masak, my idea was more to tease... 19:26
19:26 payload joined
masak ruoso: that's fine, too. :) 19:26
colomon moritz_: Re #68158, as far as I could tell, the spec does not address this case, and the spectests seem to skip it deliberately. 19:30
moritz_ then it's something to bring up to p6l
KyleHa Does "+$obj" call Num() on the $obj or something else? 19:32
moritz_ .Num, yes
actually...
it calls prefix:<+>($obj)
and we expect that to re-dispatch to $obj.Num() 19:33
KyleHa I have a Num method, but it doesn't work, even with "0 + $obj".
Is that a known bug?
masak moritz_: it calls prefix:<+>($obj), because that's what the syntax +$obj means. 19:34
KyleHa Oh wait, nevermind. It's a different problem.
moritz_ rakudo: class A { method Num() { 3 } }; say +A.new
p6eval rakudo 24b26a: OUTPUT«3␤»
ruoso masak, I wish I had the time to work on it... and on Faz... and SMOP, rakudo, mildew, catalyst... ;) 19:36
KyleHa Next commit would benefit from a review. 19:37
pugs_svn r27872 | kyle++ | [t/spec] Test for RT #64888
KyleHa Here: dev.pugscode.org/changeset/27872
moritz_ takes a look
masak ruoso: I know the feeling. my productivity right now is on hold due to pending presentation tomorrow.
KyleHa Bug number appears seven times in the tests. I wonder if that's a record. 8-) 19:38
ruoso wayland76, I just replied your mail with another prospective implementation of the grammar, but making it closer to the XML Spec at the same time as trying to make it compatible with the SAX API
moritz_ KyleHa: looks good to me 19:39
KyleHa moritz++ # checking my work (Thanks!)
ruoso wayland76, if you look at the XML spec you'll see that it basically describes the grammar...
19:43 SmokeMachine left
eternaleye masak: As far as that RT goes, if people want to require a non-empty slurpy, they can just use 'where *.elems > 0' 19:44
masak eternaleye: that is indeed so. 19:45
moritz_ eternaleye: that doesn't help if you want to add a tighter multi later to an existing, general multi
masak eternaleye: I think the question is more of "what should be the default behaviour, and why?" 19:46
eternaleye Mm, yeah
moritz_ eternaleye: if that multi is not code you control, that can get ugly quickly
and we want to encourage extensibility, after all
19:49 hah left, japhb left, japhb joined 19:51 KyleHa left
alester OK PMICHAUD DO WE HAVE A PLAN YET? HUH HUH? 19:59
masak alester: actually, pmichaud unveiled a plan during the lightning talk session today.
alester nice
I'm going to be trying to track that for the project 20:00
and spreading it to the outside world.
masak alester: the response of the auditorium was very positive. 20:01
alester Did he say "Spring 2010"?
masak it seemed that this was what people had been waiting for.
alester: he did.
alester: he also said "Rakudo Star"/ 20:02
alester Did he say that I was super-awesome?
masak ...which is more of a phase than a version name.
alester Rakudo Star is the sort of "not quite beta not alpha either" thing?
masak alester: I might have missed the super-awesome part, but no, I don't believe so.
alester: it's a phase.
alester It is not. I continue to be super-awesome. 20:03
masak it's the phase where we want the world to see us a little more, so that we get more app devs.
alester: we're talking cross-purposes, but that's fine. :)
alester Man, I hate that. Who wants to deal with crabby dolphins?
PerlJam alester: you're super-awesome. (does it count if I say it on #perl6?) 20:04
masak gets "pinky and the brain" vibes
20:04 KyleHa joined
payload my t/spec/S32-io/IO-Socket-INET.t fails :( 20:04
moritz_ payload: always? or only sometimes? 20:05
Tene It does? I touched sockets recently... but that test passed for me.
Lemme check if I can reproduce.
payload gist.github.com/161489 20:06
moritz_ payload: which OS? 20:07
payload ubuntu 8.10
Tene rebuilding rakudo
payload i rebuild mine too
but i thought i have your commit
PerlJam payload: did you "make realclean" first?
Tene my commit shouldn't affect that test at all, one way or another.
Yes, it passes for me 20:08
payload PerlJam: ^^ now i did... i think i missed it last time
ok, give me some minutes for building 20:09
Tene payload: what platform are you on?
payload (10:07:23 PM) payload: ubuntu 8.10
Tene :)
PerlJam has the test changed? 20:10
(I know you said it passed for you Tene, but it may be relevant to payload's problem if the test has changed) 20:11
20:11 szbalint left
Tene PerlJam: that test hasn't changed recently. 20:11
moritz_ I added a smartlink on Sunday
PerlJam Tene: what platform are *you* on?
moritz_ (which is just a comment to Perl)
PerlJam :)
payload is there a blog software written _and_used_ in perl 6? i am interessted cause i want to microblog with perl6 about perl6
PerlJam moritz_: a POD comment? ;)
Tene PerlJam: fedora linux x86_64
moritz_ the last previous change was 2009-07-23 20:12
Tene payload: I wrote a very basic blog software, but it's not good enough to be used.
it could be made usable with not too much work, though
20:13 ruoso left, ancients left
payload i wanted to experiment with IO::Socket::INET to write some XMPP interaction.... maybe i can blog via XMPP posts ^^ that would be nice 20:13
Tene Very nice. :) 20:14
payload omg, my setup of rakudo is wrong.. i need some moar minutes ^^ (doesnt make :/ )
20:15 ancients joined
PerlJam once someone has some basic blog software going, the next thing you know someone will write a markdown parser+actions to render it. 20:16
moritz_ PerlJam: masak++ has written parsers for two markup languages already :) 20:17
so if you're fine with blogging in mediawiki syntax... ;-)
don't know what the other format is
payload yes, it's located in the november wiki repo, i think 20:18
masak yes.
moritz_: the other one was a minimal markup, made by us in the early days of November. 20:19
we still keep it around, and call it Minimal.
the MediaWiki format hasn't received much love from me lately. but it already does the most basic things, such as bold, italic, and headings. 20:20
PerlJam now has a perl6 project to work on and blog about :) 20:21
masak PerlJam++ 20:22
20:23 szbalint joined
PerlJam well, I have *another* one to work on and blog about. I tend to have too many ideas and not enough time, so nothing quite gets done 20:23
masak sounds like the same issue I'm having. 20:24
I find that others' enthusiasm is often a strong drive, though.
so (maybe fortunately), the projects being worked on tend to be the ones others care about.
Su-Shee yeah. and very distracting from own ideas.
PerlJam yeah, if only we could bottle the enthusiasm!
japhb payload: You might consider porting bloxsom to Perl 6 ... it's supposed to have a small, clean core (I haven't looked at the code, just quoting the buzz) 20:25
PerlJam what happens to me is that I get the idea, get fired up about it, but then realize that I can't devote enough time to it right now, so I'll put it off until later and either I'll forget about it later or something else comes up later or if I do start on it, it's usually late at night after the kids (and wife!) go to sleep and by then I'm so tired that I fall asleep 20:26
japhb PerlJam: I think you've just described about 80% of us ....
masak PerlJam: same here, sans kids+wife.
payload japhb: big thx. i will look into it
20:27 SmokeMachine joined
japhb payload: sorry, misspelled it, here's the url: www.blosxom.com/ 20:27
buu Hrm. 20:30
Su-Shee buu: it'll going to be a perl6 class? ;)) 20:31
buu Su-Shee: I'm afraid no, no classes fo rme. 20:32
I was just trying to figure exactly which principles perl5 is using for the trie optimizations.
payload i realized some days ago that everything which makes fun in python is expensive... moving repeating code into a method... slow... overloading operators... slower 20:37
are there facilities thinkable or planned in rakudo or parrot to make this "fun" (putting code into methods) cheap in performance? 20:38
moritz_ actually method calls aren't all that expensive 20:39
thanks to jnthn++
20:40 icwiener joined
payload macros can be used to "inline" code, somewhat right? ^^ 20:44
moritz_ yes; but they are there for different reasons 20:45
20:50 iblechbot left
masak moritz_: another thing I found out today is that STD.pm compatibility might land in Rakudo by the end of the year. 21:04
21:05 Whiteknight joined
masak and with that, all manner of good things land. 21:05
moritz_ masak: I believe that when we have proto regexes and LTM.
masak heredocs, adverbs, grammar mods...
japhb I'm looking forward to NQP/PCT getting optimization.
masak moritz_: pmichaud said today that they're his plan for the coming months. 21:06
moritz_ masak: I'm not surprised, but pmichaud tends to have too many things to do ;-)
PerlJam japhb: even if you have to implement the optimization? :)
masak moritz_: right, but this time there's a deadline. and, quoting pmichaud, "when there's a deadline, things tend to get done." 21:07
21:08 molaf_x left
japhb PerlJam: If I had the time to learn the necessary CS, I'd be all over it. As it is, I think I'm going to be using every bit of my spare cycles just trying to shepherd the Parrot standard library thing. 21:09
21:09 holmberg joined
PerlJam japhb++ do not deviate from your focus! :) 21:10
japhb I get a feeling the "standard lib" needs a champion to keep it from bikeshedding to a stand still.
PerlJam: :-)
PerlJam What's in the standard lib for parrot anyway?
moritz_ nothing yet? 21:11
japhb PerlJam: My/pmichaud's current overview proposal: lists.parrot.org/pipermail/parrot-d...02666.html
Specifics to be laid out when we have more people buy off on the concept.
21:11 SmokeMachine left, sdgvf left
japhb I would normally be on that phase already, but I'm cutting everyone some Warnock slack because of YAPC::EU 21:11
masak (Warnock slack)++ 21:12
21:13 Su-Shee left
moritz_ speaking of ol' warnock, I hope somebody's going to give Ben Morrow better answers than I have so far 21:13
holmberg How do I access the Parrot dynpmc MD5 module in perl6 code? Examples somewhere? 21:14
PerlJam japhb: parrot has a module repo? :) 21:15
japhb holmberg: Don't see any checked in, but I'd start with "use Digest::MD5:from<parrot>;" and work from there, translating the PIR API to Perl 6. 21:16
PerlJam japhb: anyway, It sounds good to me. I'm all for it. Parrot releases on Tue, Batteries on Wed, and Rakudo on Thu ;)
japhb PerlJam: great, thanks
PerlJam But that module repository does niggle a little bit.
japhb PerlJam: and no, there is no module repo yet. There will be, though, not least because there is a groundswell of unhappiness about runtime/parrot/library/ as dumping ground. 21:17
PerlJam cpaan?
japhb PerlJam: deciding on the details of that repo is another subtask.
PerlJam a big'un if you ask me, given the bikeshedding over CP6AN 21:18
(unless some enterprising young soul just does it)
japhb PerlJam: Nod. That bikeshedding annoyed me. If I can't get some consensus over on the Parrot side, I may pick a partner and JFDI. 21:19
"Rough consensus and working code."
PerlJam indeed.
holmberg japhb: Thanks. I tried the "use" you proposed. Got "Null PMC access in get_pmc_keyed()". Seems like an error of some kind?? 21:20
japhb Wow. This spam gets right down to it. The subject line is "Enter new passowrd here". Phishing for the very direct. 21:21
holmberg: Oy. Yeah, Null PMC access is always a bug. Do the PIR tests for the module still work? 21:22
21:23 KyleHa left
holmberg japhb: I don't know ... I just built rakudo+parrot for the first time. I'll have to learn how to run the tests :) 21:24
21:28 cytoplasm joined 21:31 skids_ left
holmberg japhb: "perl -Ilib t/dynpmc/md5.t" works in Parrot. So the "Null PMC access" problem is in rakudo?? 21:36
japhb holmberg: Or in the magic that makes :from<parrot> work. Tene is the expert on that, I'm just a consumer. 21:37
21:38 synth joined
Tene >.> 21:38
moritz_ rakudo: use Digest::MD5:from<parrot>; 21:39
p6eval rakudo 24b26a: OUTPUT«Null PMC access in get_pmc_keyed()␤in Main (src/gen_setting.pm:445)␤»
Tene I bet it's the same bug where libraries need to be loaded from the 'parrot' HLL 21:40
Tene looks.
Oh, NM. 21:41
Digest/MD5.pir is in the Digest namespace
Not Digest;MD5
Digest::MD5.pir isn't set up to follow the HLL export conventions. 21:42
japhb holmberg: Time to create a Trac ticket. ;-)
21:43 maja_ joined
payload what i the correct translation from this perl 5 match ? [0-9A-Fa-f]{2} 21:43
moritz_ payload: <xdigits>**2 or so 21:44
rakudo: say '0xAF' ~~ / <xdigits> ** 2 /
p6eval rakudo 24b26a: OUTPUT«Unable to find regex 'xdigits'␤in regex PGE::Grammar::_block51 (/tmp/7zeL2KYiRX:1)␤called from Main (/tmp/7zeL2KYiRX:2)␤»
moritz_ rakudo: say '0xAF' ~~ / <xdigit> ** 2 /
p6eval rakudo 24b26a: OUTPUT«AF␤»
moritz_ ok, without the s
masak oh, and everybody: check out Damian's new Regexp::Grammars: search.cpan.org/~dconway/Regexp-Gra...rammars.pm 21:45
payload thx moritz_ 21:46
masak it's a module that backports much Perl 6 grammar goodness to Perl 5. 21:47
holmberg japhb: I'll try to do that later. I need to find out what Trac is first :)
moritz_ still likes Perl 6 regexes better
masak it even has a trace function!
japhb holmberg: trac.parrot.org, our wiki / bug tracker / svn viewer system.
our == parrot team 21:48
moritz_ %/ looks... ... ... I don't know
21:48 perl7 joined
holmberg japhb: Thanks for guiding a newcomer. 21:50
japhb holmberg: You'll find this channel to be pretty friendly. :-)
masak holmberg: a newcomer! welcome!
holmberg What I was actually trying to do, was how to connect a "dynpmc" written in C/C++ to perl6, and use it in plain perl6 code. I guessed the MD5 module was a good example. But maybe there are others? 21:53
masak: thanks. It's partly your fault I'm looking at perl6 now :) 21:54
masak holmberg: glad to hear it.
PerlJam someone have a quick link to using "make" in perl6? or documentation or something ?
s/perl6/rakudo/
japhb holmberg: beyond my skillset, I'm afraid. Tene, pmichaud, and jnthn would know, having to deal with the dynpmcs that Rakudo itself uses.
masak PerlJam: check out the create-new-project in Proto. 21:55
s/ct/ct script/
PerlJam masak: thanks.
21:55 maja left 21:56 perl7 left 21:57 nihiliad joined
PerlJam wait ... let me try to be more clean. I'm talking about using make from the actions in a grammar in rakudo 21:57
s/clean/clear/ even
masak oh.
PerlJam (ETOOMUCHMAKE)
masak PerlJam: hm, well, I don't have any code that does that.
but it's pretty straightforward.
moritz_ and there are even tests for that ;-) 21:58
masak 'make' simply sets an attribute at the relevant location in $/
moritz_++
PerlJam everythign is straightforward until you do something subtle and it doesn't work and you don't know why
masak PerlJam: there you go. check the tests. :)
PerlJam thanks again.
22:00 cottoo joined, cotto left
holmberg Where is the best place to ask "complex" questions about Rakudo&Parrot that don't fit the IRC format? Is it the "perl6-users" mailing list? 22:03
Tene Probably. 22:04
That's where I'd send it.
moritz_ aye 22:05
masak but I'd recommend starting on IRC. 22:06
we're more used to complexity than it might first seem. :)
Tene I mostly just ramble on IRC for a while and then tell masak to go figure it out for me.
masak yeah, that masak guy is one gullible cookie. 22:08
Tene Mmm, cookies.
holmberg I haven't used IRC before, so I don't know exactly how it works. But isn't a question "lost in space" soon after it is ask asked? (if not answered immediately) 22:13
Tene holmberg: Usually. Sometimes someone notice sit in the channel history and will answer. By "start with IRC" he means "Se eif anyone on RIC is avaialable right now to talk about it" 22:14
and if not, then go to the ML.
moritz_ holmberg: also we have public logs at irclog.perlgeek.de/perl6/today 22:15
holmberg: so you can later point people to previous conversations
masak holmberg: I'd say on #perl6, a relatively high ratio of questions get noticed and answered, even if the answer sometimes is "gee, I have no idea"
holmberg moritz_: Thanks for the pointer. Good to know that I can go back and re-read things. 22:19
22:26 M_o_C joined
holmberg Thanks everybody. Will be back with more questions later :) 22:27
22:28 holmberg left
payload is there allready a way to translate __DATA__ ? gist.github.com/162357 22:30
22:32 cognominal joined 22:38 nnunley left, [particle]1 joined 22:42 nihiliad left 22:43 [particle] left
eternaleye payload: IIRC, =begin DATA/=end DATA combined with $=DATA (ISTR the = twigil being for Podhandles) 22:48
payload: S26 claims S02 contains the spec for inline data, but Firefox just hung when I went there so I can't give you a link to the appropriate section 22:52
22:52 icwiener_ joined 22:55 nihiliad joined
payload well it contains something 22:57
literal you find something if you search for '$=' in perlcabal.org/syn/S02.html 22:58
payload yes, found t/spec/S02-literals/pod.t 22:59
thx
23:00 masak left
eternaleye np 23:02
23:02 alester left 23:06 icwiener left 23:20 donaldh left, donaldh joined 23:22 M_o_C left, nihiliad left 23:30 nErVe joined 23:37 fridim_ left 23:41 arthur-_ left 23:47 SmokeMachine joined 23:58 nErVe left