»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 27 June 2009.
TimToady I guess there's one on Code 00:00
jnthn TimToady: Huh?
multi trait_mod:<is>(Code $block, :$default!) {
multi trait_mod:<is>(Code $block, $arg?, :$export!) {
s1n ironically that was the one i was testing 00:01
00:01 nihiliad joined
pmichaud TimToady is correct that rakudo's handling of names is currently all wrong. Basically every package declaration should also result in a lexical declaration as well. 00:01
jnthn TimToady: Some not in there are "compiler handles".
pmichaud: Yeah, I'm starting to get that now.
pmichaud I've known this for a while but haven't figured out a completely good way of resolving it. 00:02
00:02 ihrd joined
jnthn OK. 00:02
s1n "yes, and rakudo currently gets that wrong" lol
jnthn We should discuss at YAPC::EU
pmichaud it's probably not that hard to do, though.
aktually
jnthn We also need a good way to handle multi-joined names.
pmichaud it might be trival to do.
*trivial
jnthn 'cus the way I hacked in is f**ked.
pmichaud if we simply treat every sub as the viviself for a :scope('lexical') of the same name 00:03
jnthn That's pretty much how my sub foo works now.
pmichaud right.
00:03 elmex left
pmichaud so the difference between "our" and "my" is that "my" subs are anonymous in the package namespace 00:03
00:04 elmex joined
jnthn Right. 00:04
pmichaud seems like it might be workable.
but I'm wondering if methods play by the same rules
TimToady methods by default are neither our nor my 00:07
jnthn they're more has-ish.
iirc
00:07 ihrd left
pmichaud right, but do methods end up mucking with the lexical pad at all? I'm guessing no. 00:07
00:08 awwaiid left, awwaiid joined
TimToady and, in fact, if you declare one as 'our' or 'my' you might have to be careful not to accidentally call it as a sub 00:08
pmichaud i.e., our sub foo() { ... } ends up making an entry in the current lexpad for 'foo'
method foo() { ... } # ?
00:08 beggars left, Limbic_Region joined
TimToady doesn't, unless you specifically say 'our' or 'my' 00:08
and the entry in the lexpad looks like a function 00:09
if you do
which is why that's not the defualt
s1n btw, the ticket for this is #67364, i didn't check if it was a dup (pmichaud didn't chime in saying he knew about it before i wrote it)
TimToady *default
my method foo() {...}; &foo($object) 00:10
00:10 ihrd joined
TimToady one way to call a private method :) 00:10
pmichaud okay, that's fine. I think we can make all of that work without any difficult. 00:11
TimToady or more accurately, to call a public method non-virtually
pmichaud A similar situation holds for class names as well, yes? class XYZ { } creates a lexical entry for "XYZ"
00:12 frew joined
TimToady yes, and pretty much all the searching for packages also happens in the lexical scopes, with GLOBAL as a last resort 00:12
when I say Num::pi in STD, it finds CORE::Num, which is a lexical name
pmichaud correct. 00:13
that's the way I was thinking things would head.
TimToady when I say my class Foo::Bar, it creats Foo in the current lexical scope only, with Bar inside that
pmichaud what does "Bar inside that" mean, exactly? 00:14
Bar would be a package symbol, yes? 00:15
i.e., a symbol in the Foo package
TimToady means Foo thinks it's a package, but the name Foo is only lexical
correct
00:15 DemoFreak left
TimToady if you ask Foo for its PARENT:: it hands you back MY:: 00:15
pmichaud what about "class Foo::Bar", without the "my"? 00:16
TimToady which is your current lexical scope, which is effectively anonymous
pmichaud that creates a "Foo" entry in the current package?
TimToady scans up lexical scopes for Foo
pmichaud if no Foo found?
TimToady creates GLOBAL::Foo::Bar as well as lexical alias Foo 00:17
pmichaud *and if ...
okay.
really that's CORE::GLOBAL::Foo::Bar, yes?
TimToady I'm pretty sure that's what it currently does
00:17 ihrd left
TimToady yes, except... 00:18
I'm thinking that all externally compiled units end up with a GLOBALish package that has to get meshed with all other GLOBALish packages, and ends up attached to UNIT as GLOBAL, probably
and we basically have to detect or ignore GLOBAL collisions at link time 00:19
00:19 skids joined
TimToady currently when you use the std command to compile a .pm or a .setting, it forces the current GLOBAL into GLOBALish 00:20
before dumping the symbol table
since it's just a view of GLOBAL, which will be synthetic 00:21
in the actual process
all of this is multiplied by the fact that when we say Foo it's really a shorthand for a longname 00:22
pmichaud right 00:23
TimToady the existence of a name:auth:ver in GLOBAL could, in fact, probably replace %ISA as the signal that we already loaded something
pmichaud oooh, that could be very nice
TimToady and, interestingly, if you declare the top of a file with 'my module', you don't get that alias, which is appropriate for settings at least 00:25
jnthn OK folks, time for me to sleep...train leaves in 5 and a half hours. 00:26
TimToady though not perhaps for ordinary modules, since it could force reloading inadvertently
night
jnthn night :-)
pmichaud jnthn: have a terrific vacation
TimToady that too
pmichaud jnthn: I'm envious. Which alps are you heading to?
jnthn pmichaud: Thanks! It's Switzerland, there's mountains and fondu.
pmichaud aaaargh! 00:27
pmichaud misses Switzerland.
jnthn pmichaud: Going to be staying in Wengen.
Which is up from Interlaken.
pmichaud I used to make it to Geneva twice a year.
jnthn About 4,000ft up.
Oh, Geneva is a nice city too. :-)
TimToady try not to change altitude too rapidly
pmichaud 4,000 ft?
that's all?!
jnthn Well, that's where the hotel is.
pmichaud remembers staying in Zermatt, which was quite a bit higher :-) 00:28
jnthn But of course the trails and so on go higher than that. :-)
00:28 synthEEEE joined
jnthn Oh, yes, that's higher. :-) 00:28
00:28 ihrd joined
pmichaud I managed to go from hikes at 3,500 meters to my home at sea level in around 36 hours :-) 00:28
jnthn It's managable, if in shape. :-) 00:29
TimToady it's the sudden drops that are hard on you
jnthn "Oxygen drunk"
pmichaud anyway, have a great time, enjoy some fondu for me
jnthn Will do!
Take care, all :-)
pmichaud A bientot.
jnthn o/ 00:30
s1n pmichaud: btw, i'm scheduling dallas.p6m for next tuesday, will send out the notice tonight
pmichaud s1n: yes, I was thinking that would be the case. 00:31
excellent, it's on my calendar
s1n and frew and i will be making a presence at dfwuug
pmichaud tomorrow?
s1n yup
pmichaud I hadn't planned to go, but perhaps I will.
s1n gotta make a p6 presence :)
pmichaud We should all wear "Perl is Dead" shirts or something :-)
the python guys would love that.
s1n Perl is Dead. Long Live Perl [56]. 00:32
we should make some dallas.p6m shirts
pmichaud indeed
I'm hoping to have my shirts ready on cafepress/zazzle/spreadshirt in the next couple of days 00:33
s1n know anyone (other than cafepress) that can make some decent shirts?
we could do cafepress, but they are usually only in white
pmichaud cafepress.com/rakudo # first drafts
cafepress does dark shirts now.
so does zazzle
00:33 kate21de left
s1n oh, well, lets get some shirt up, i like that slogan i just made :) 00:34
pmichaud okay, I'll draft something when I'm working on the others.
s1n then we can show up to area meetings, like dfwuug, and people will stop to say something i'm sure
pmichaud although it might need to be Long Live Perl 5|6 00:35
s1n true
pmichaud or even 5..6 :-P
s1n ooo
yeah 5..6
pmichaud although people would think we screwed up the version number and forgot a digit or doubled the dot
5.6.0? 5.8.6? where's the typo?
s1n hmm, but it's a funny inside joke :)
yeah, the 5|6 probably works better 00:36
pugs_svn r27487 | lwall++ | [S14] a slightly closer approximation to eventual reality
pmichaud okay, kids are pestering me to go swimming with them -- back later
s1n [front, big font] Perl is Dead. [back,big font] Long Live Perl 5|6.
TimToady put an upside camel on the front, and a right-side up Camelia on the back :) 00:40
perching on a camel with its tongue sticking out, maybe :) 00:41
00:42 Chillance_ left 00:45 FCO joined, synth left 00:47 SmokeMachine left 00:51 frankshaw joined 00:55 ihrd left
cbk can one make an array without any pre-determined limit in perl 6? 01:03
TimToady that's what arrays are by default 01:04
cbk oh
so i don't have to have an number of slots in the array to start off with? 01:05
TimToady certainly not, that would be very un-Perlish
cbk so can I do this... my @req_pet;
then add a pet to the array by getting the last unused slot
? 01:06
like this @req_pet[$x] = $pet_idea;
where $x is the number of elements in the array + 1 01:07
TimToady usually you'd just say push(@req_pet, $pet_idea) to do that
cbk push, ok I'll try that :) 01:08
TimToady (same in Perl 5, btw)
cbk thanks
01:08 jonathanturner left 01:10 tann left 01:13 hercynium left
cbk TimToady, how can you clear the screen in perl 6 (if you don't mind) 01:15
the simplest way please ") 01:16
TimToady on which OS? 01:18
run("clear") should work on Unixey systems 01:19
spx2 why is november not listed on the link in the topic ?
it's like this new funky web framework thing .. in p6
cbk Linux
TimToady then that should work 01:20
cbk I'm sorry I meant to clear the screen form within a perl 6 script. (ie cls) 01:21
TimToady I just told you
run("clear")
cbk just like that "run("clear")" like the perl 5 command system is now "run"? 01:22
cool! 01:23
thanks
TimToady precisely, but it returns true for success rather than false
cbk ok
TimToady which is why we renamed it 01:24
01:25 hercynium joined 01:28 SmokeMachine joined
cbk is there any good perl 6 books out yet? (that are NOT over 4 years old) 01:29
TimToady not yet, though there are some in the works 01:32
01:34 nbrown joined
pmichaud (camel on a shirt) -- won't someone bark at us for that? ;-) 01:36
01:37 stepnem left 01:41 frankshaw is now known as HemanShaw, icwiener_ left
TimToady yeah, I suppose 01:44
01:46 stepnem joined 01:47 FCO left 01:49 mikehh left 01:51 mikehh joined
obra_ all you should need to do is ask first 01:54
02:00 Limbic_Region left
pugs_svn r27488 | kyle++ | [t/spec] Test for RT #60176 02:04
r27489 | kyle++ | [t/spec] remove empty dir 02:05
02:08 jauaor joined 02:09 justatheory left
s1n is there a die equivalent? 02:29
02:36 justatheory joined
TimToady rakudo: die "oops" 02:37
p6eval rakudo 70bfd5: OUTPUT«oops␤in Main (/tmp/fAEzGnKCBh:2)␤»
02:37 dukeleto left
s1n rakudo: die 02:37
p6eval rakudo 70bfd5: OUTPUT«No applicable methods.␤in Main (/tmp/VO5JK3sPoh:2)␤» 02:38
s1n hmm, bug?
TimToady you didn't give it an argument
so it didn't match any signatures
s1n it won't just die like p5?
02:39 azawawi joined
azawawi hi 02:39
TimToady rakudo: !!!
p6eval rakudo 70bfd5: OUTPUT«Syntax error at line 2, near "!!!"␤in Main (src/gen_setting.pm:3340)␤»
02:39 azawawi left
TimToady rakudo: ... 02:39
p6eval rakudo 70bfd5: OUTPUT«Can't return outside a routine␤in Main (/tmp/hl05fbXGmv:2)␤»
TimToady O_O 02:40
02:40 azawawi joined
TimToady rakudo: fail 02:40
p6eval rakudo 70bfd5: OUTPUT«Can't return outside a routine␤in Main (/tmp/tzqz3NQArU:2)␤»
s1n rakudo: exit
p6eval rakudo 70bfd5: ( no output )
s1n close 02:41
TimToady rakudo: .die
p6eval rakudo 70bfd5: OUTPUT«Method 'die' not found for invocant of class 'Failure'␤»
TimToady now that's funny
s1n rakudo: warn
p6eval rakudo 70bfd5: OUTPUT«Warning! Something's wrong.␤␤»
s1n hah
TimToady it shouldn't have a newline 02:42
Perl 5 would tell you the line number
rakudo: $!.die
p6eval rakudo 70bfd5: OUTPUT«Method 'die' not found for invocant of class 'Failure'␤»
02:43 alester joined
TimToady s1n: so yes, die without arg is supposed to work, and there's a rakudo bug 02:45
specced to default to $!
s1n files rakudobug 02:46
TimToady S04:1062
02:48 alester left 02:51 last left 02:55 athomason left
pugs_svn r27490 | kyle++ | [t/spec] Test for RT #60966 03:02
Tene arohner.blogspot.com/2009/07/can-yo...-this.html 03:13
03:15 azawawi left
s1n Tene: i assume you're going to respond to that? 03:17
Tene ... Oh, that's a good idea.
Sure.
I could BLOG about it, even!
:) 03:18
s1n good idea
Tene I haven't written any blog posts in... a while.
s1n i'll see if i can one up him with my vast knowledge of info. theory and stats :) 03:19
(create something with p6 that clojure can't do)
03:19 dukeleto joined 03:20 donaldh left, donaldh joined 03:21 molaf joined
TimToady there was some discussion of the article earlier today 03:27
s1n tell masak for some reason, i'm getting timeouts now when trying to clone November at git://guthub.com/viklund/november.git
TimToady see irclog.perlgeek.de/perl6/2009-07-08#i_1300229 and following 03:28
Tene: ^^
03:29 FurnaceBoy left
s1n moritz's response looks perfectly sane :) 03:31
Tene TimToady++ 03:32
TimToady did he post one?
03:32 KyleHa joined
s1n doesn't look like it 03:32
oh, yeah 03:33
KyleHa This test is driving me crazy: ok( ! try { die "foo"; 1 }, 'die in try cuts off execution');
s1n rakudo: my @P = 0.2, 0.5, 0.3; say -[+] @P.map: { $^p * log($^p)/log(2) }
p6eval rakudo 70bfd5: OUTPUT«1.48547529722733␤»
KyleHa OK, now that I'm here, I have an idea...
TimToady he did change the spec for log though :)
s1n hah 03:34
KyleHa Sometimes I get Null PMC in get_bool(), and sometimes the test fails, but the test description isn't output--as if the desc string got eated. 03:35
03:35 molaf left
TimToady is try a function? 03:35
KyleHa I thought it was built in.
TimToady what happens if you put (try {...})
could still be parsing as a listop in rakudo
KyleHa If I wrap in parens, I get the Null PMC access result. 03:36
rakudo: say !try { die 'foo'; 1 }
TimToady rakudo: say !Failure
p6eval rakudo 70bfd5: OUTPUT«Null PMC access in get_bool()␤in Main (/tmp/1bARK69YpF:2)␤»
rakudo 70bfd5: OUTPUT«1␤»
03:36 REPLeffect left
KyleHa rakudo: say ! try { 1 } 03:37
p6eval rakudo 70bfd5: OUTPUT«0␤»
TimToady rakudo: say (try { die 'foo'; 1 }).WHAT
p6eval rakudo 70bfd5: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/6Hjyiw4WD6:2)␤»
TimToady rakudo: say (try { die 'foo'; 1 }).PARROT
p6eval rakudo 70bfd5: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/om0vLIGjxY:2)␤»
TimToady "It's the Nothing!!!"
KyleHa I guess I'll fudge it with a skip and note the inconsistent behavior. 03:38
s1n sleeps 03:39
pugs_svn r27491 | kyle++ | [t/spec] Testing one bug in RT #67374 03:44
Tene is again tempted to play with defining macros in PGE. 03:45
03:50 cognominal_ left 04:00 KyleHa left 04:01 cognominal joined 04:02 justatheory left, dukeleto left 04:04 HemanShaw left 04:12 skids left, pjcj left, sbp left, nsh left 04:13 nsh_ joined, sbp joined 04:20 zcxzczxcz joined, zcxzczxcz is now known as shinobi, shinobi is now known as shinobi_cl
shinobi_cl hi 04:20
literal hello
shinobi_cl what is the "standard" file naming convention for perl6? the programs are .p6, but the libraries? .p6m? .pm6? 04:21
literal it's still .pl and .pm
04:21 frew left
shinobi_cl do you think it will stay that way? 04:22
literal yeah
shinobi_cl ok, thanks! :) 04:23
04:23 hercynium left
literal it's the reason why Perl 6 files must start with "use v6;" or "module Something;" or "class Something;" or "grammar Something;" 04:23
so Perl will know that it's Perl 6
shinobi_cl ahh,, i didnt know that.. 04:24
well, you see. i'm working on an application on risk management... and i was thinking that perl6 roles are IDEAL for modelling stuff like securities. Theres a lot of them.... with so many different features.. 04:25
maybe a library for managing them would be a 'killer app' for perl6 ..
literal you should probably look into Perl 5 + Moose, if you need something for production 04:26
shinobi_cl mmm not really, the system is already done in java, i only do text processing with perl :) 04:27
but when i saw roles i liked the concept... now that im knowing better the different kinds of financial instruments
roles seems perfect for modelling job like that
i know that moose has roles in p5 04:28
but, i dont know... i like perl6 more :)
literal try it out, then 04:29
shinobi_cl well, thanks, and good night!
04:29 shinobi_cl left 04:30 dukeleto joined 04:31 eternaleye left, eternaleye joined 04:32 eternaleye_ joined, eternaleye_ left 04:35 dukeleto left 05:01 cbk left 05:05 nacho_ left 05:17 amoc left 05:23 justatheory joined, synthEEEE left 05:31 nihiliad left 05:39 frew joined 05:47 elmex_ joined 05:49 elmex left, elmex_ is now known as elmex 05:50 xinming_ left 05:51 xinming joined 06:05 tann joined 06:07 tann_ joined 06:08 barney joined 06:18 kate21de joined, mj41 left 06:23 justatheory left 06:25 tann left 06:28 cbk joined 06:32 frankshaw joined 06:37 Snublefot_Work is now known as Snublefot 06:40 justatheory joined 06:42 justatheory left 06:47 iblechbot joined
eternaleye rakudo: sub 起る( Str :woken-by($友達) ) { say "お早うございます, $友達!" }; 起る( :woken-by<皆> ) 06:51
p6eval rakudo 70bfd5: OUTPUT«お早うございます, 皆!␤»
06:51 visual joined
lisppaste3 visual pasted "untitled" at paste.lisp.org/display/83279 06:56
szabgab is the recommended way to iterate over lines of a file is this now ? for $fh.lines -> $line { } 06:58
eternaleye szabgab: Yeah, IIUC 06:59
buu ingy: You around? 07:09
07:12 rfordinal joined, rfordinal left 07:20 donaldh left 07:21 donaldh joined 07:41 dakkar joined 07:44 DemoFreak joined 07:48 eMaX joined 08:06 eMaX left
Matt-W Morning 08:06
moritz_ oh hai 08:07
08:09 meppl joined, ejs joined 08:21 frankshaw left 08:24 visual left 08:31 cbk left, ejs left
dalek kudo: e7a7999 | moritz++ | docs/ChangeLog:
[docs] ChangeLog updates
08:32
08:36 M_o_C joined, amoc joined 08:37 ejs joined 08:42 zamolxes left
szabgab rakudo: sub f (@numbers) { @numbers.perl.say }; f((1,2)); 08:58
p6eval rakudo e7a799: OUTPUT«[1, 2]␤»
szabgab rakudo: sub f (@numbers) { @numbers.perl.say }; f((1));
p6eval rakudo e7a799: OUTPUT«Parameter type check failed; expected Positional, but got Int for @numbers in call to f␤in sub f (/tmp/3XzTio0aHw:2)␤called from Main (/tmp/3XzTio0aHw:2)␤»
szabgab rakudo: sub f (@numbers) { @numbers.perl.say }; f(1);
p6eval rakudo e7a799: OUTPUT«Parameter type check failed; expected Positional, but got Int for @numbers in call to f␤in sub f (/tmp/99OxG9C0i6:2)␤called from Main (/tmp/99OxG9C0i6:2)␤»
08:59 kate21de1 joined
moritz_ rakudo: sub f (@numbers) { @numbers.perl.say }; f([1]); 08:59
p6eval rakudo e7a799: OUTPUT«[1]␤»
moritz_ rakudo: sub f (*@numbers) { @numbers.perl.say }; f(1);
p6eval rakudo e7a799: OUTPUT«[1]␤»
szabgab sure with a * it works
but what is the difference between when I pass (1,2) or (1) to the starless array ?
moritz_ rakudo: say (1, 2).WHAT 09:00
rakudo: say (1).WHAT
p6eval rakudo e7a799: OUTPUT«List()␤»
rakudo e7a799: OUTPUT«Int()␤»
moritz_ that's the difference.
rakudo: say (1,).WHAT 09:01
p6eval rakudo e7a799: OUTPUT«List()␤»
szabgab and is that a good thing ?
moritz_ depends.
szabgab ok, when is that a good thing ?
moritz_ when you want to do thinks (1 + 2) * 3
if (...) constructed a list, you'd be screwed. 09:02
szabgab shouldn't thet * force it into scalar context ?
moritz_ and you wouldn't want (2) * 3 to give you a different result than 2 * 3, would you?
szabgab: aye. And a list in numeric context returns the number of items 09:03
(also note that a user might define a non-scalar multi of infix:<*>)
szabgab I can see I 'll make tons of money teaching Perl 6 - if I manage to understand it one day :-) 09:04
moritz_ guess why I try to understand it so early on? :-) 09:05
but I think it's going to change somewhat
(...) creates a capture
then (1) can be bound to an array parameter
but a capture with a single scalar behaves like that scalar in normal situates 09:06
*situations
I gues that'll dwim more
szabgab I don't really like the fact that my above example fails now, that (1) is a different animal than (1,2) , but maybe it is 'cause I don't get it 09:07
of course I was on leave from Perl 6 for almost 2 months now
moritz_ yeah, I think rakudo hasn't caught up with the latest capture things 09:08
szabgab moritz_, btw have you tried Padre with Perl 6 ? 09:10
09:10 lichtkind joined
szabgab azawawi made some really nice integrations 09:10
moritz_ szabgab: no, I've seen the pictures, but haven't tried yet 09:11
09:14 kate21de left 09:19 pjcj joined, tann joined 09:27 Hale-Bopp joined 09:31 tann_ left 09:34 IllvilJa left 09:36 last joined 09:37 pancake joined 09:57 eMaX joined 10:01 tann left 10:11 last left, kate21de1 left, DemoFreak left, barney left, sri_kraih_ left, Matt-W left, allbery_b left, dalek left, kborer left, skids_ left, szabgab left, avar left, Lorn left, jevin left, baest left, p6eval left, pnu left, michaelr left, phenny left, eternaleye left, christine left, omega left, frew_ left, gbacon left, drbean left, renormalist left, simcop2387 left, [particle] left, gfldex left, s1n left, Helios left, cxreg left, silug left, pjcj left, sbp left, nsh_ left, jauaor left, frodwith left, nothingmuch left, lisppaste3 left, integral left, pmichaud left, dmpk2k left, betterworld left, rafl left, Grrrr left, DQuest left, moritz_ left, Maddingue left, amoc left, dakkar left, cls_bsd left, Jedai left, yahooooo left, frettled left, Trey left, c1sung left, leedo left, Patterner left, Tene left, lambdabot left, PacoLinux left, lucs left, Caelum left, r0bby left, gabiruh left, Ingmar left, PZt left, ssm left, pancake left, SmokeMachine left, awwaiid left, skipper left, agentzh left, rjh left, broquaint left, RonOreck left, meteorjay left, chipdude left, donaldh left, xinming left, charsbar_ left, jrockway left, mtve left, pochi left, jnthn left, bionoid left, literal left, obra_ left, Woody2143 left, ingy left, andreasg_ left, LCamel left, tomaw- left 10:12 pmichaud joined, pjcj joined, amoc joined, dakkar joined, donaldh joined, xinming joined, eternaleye joined, sbp joined, nsh_ joined, jauaor joined, christine joined, Patterner joined, frodwith joined, nothingmuch joined, omega joined, cls_bsd joined, Jedai joined, charsbar_ joined, frew_ joined, yahooooo joined, Tene joined, gbacon joined, lisppaste3 joined, jrockway joined, lambdabot joined, PacoLinux joined, lucs joined, drbean joined, renormalist joined, simcop2387 joined, bionoid joined, integral joined, silug joined, [particle] joined, gfldex joined, mtve joined, pochi joined, dmpk2k joined, jnthn joined, betterworld joined, frettled joined, rafl joined, gabiruh joined, Trey joined, s1n joined, Grrrr joined, c1sung joined, literal joined, irc.freenode.net sets mode: +oooo pmichaud [particle] jnthn literal, Caelum joined, leedo joined, Helios joined, r0bby joined, andreasg_ joined, Ingmar joined, cxreg joined, LCamel joined, DQuest joined, tomaw- joined, Maddingue joined, moritz_ joined, ingy joined, obra_ joined, Woody2143 joined, irc.freenode.net sets mode: +oo moritz_ obra_ 10:13 last joined, kate21de1 joined, DemoFreak joined, barney joined, sri_kraih_ joined, Matt-W joined, allbery_b joined, dalek joined, kborer joined, skids_ joined, szabgab joined, avar joined, Lorn joined, jevin joined, baest joined, p6eval joined, pnu joined, michaelr joined, phenny joined 10:14 pancake joined, SmokeMachine joined, awwaiid joined, skipper joined, agentzh joined, PZt joined, rjh joined, broquaint joined, ssm joined, RonOreck joined, chipdude joined, meteorjay joined, skids_ left 10:16 eMaX left 10:24 DemoFreak left 10:27 zamolxes joined 10:28 icwiener joined, PZt left, ssm left, chipdude left, rjh left, SmokeMachine left, pancake left, RonOreck left, skipper left, meteorjay left, broquaint left, awwaiid left, agentzh left 10:29 pancake joined, SmokeMachine joined, awwaiid joined, skipper joined, agentzh joined, PZt joined, rjh joined, broquaint joined, ssm joined, RonOreck joined, chipdude joined, meteorjay joined 10:31 masak joined, ejs left 10:35 eMaX joined 10:37 ejs joined
masak hmpf, "[S14] a slightly closer approximation to eventual reality" is one of the most generic commit comments I've ever seen. :P 10:41
Matt-W :)
10:41 ZuLuuuuuu joined
Infinoid at least it's more specific than "commit this to svn" 10:42
masak oh, absolutely.
or 'changed some stuff'
Infinoid "here, hold this"
moritz_ hey, the [S14] moniker is very informative
masak yes, it was the most informative part of the message. 10:43
with only that, the message would have been almost as informative.
speaking of pickiness, I'm happy about this 'less than awesome' trend in error messages. 10:45
moritz_ me too
Matt-W yes
me too
sjohnson Matt-W: ! 10:46
how's it going?
moritz_ of course in Perl 6 "less than awesome" is synonymous to "buggy", but it does sound nicer :-)
masak moritz_: well, it's not only that. it presupposes that we are aiming for awesome. and that matters a lot. 10:47
moritz_ masak: aye, that's what my "sound nicer" should also imply, but of course I wasn't that eloquent :-) 10:48
Matt-W hi sjohnson
It's going badly
I'm trying to compile Xerces on Solaris 10 on x86
10:49 pmurias joined
masak to me it's the main thing -- shaping reality with the phrase 'less than awesome'. it's fun to say/write awesome, and the term latches on as a goal. 10:49
sjohnson masak: yurg, though i don't know the implications, i understand and trust your word for it 10:50
Matt-W well we're trying ot make the most awesome programming language ever
10:50 dakkar left
sjohnson now you're talking 10:50
masak sjohnson: it was jnthn++ who, a couple of days ago, described an error message as 'less than awesome'. the phrase stuck. 10:51
sjohnson: but it seems to me to have reminded people that awesome is actually what we're building here. anything less is unacceptable.
10:52 zamolxes left, desertm4x joined 10:53 ejs left
sjohnson well, it looks as though a lot of my suggestions to improve Perl 5 have already been figured out 10:53
though i think i can find 1 or 2 more
despite all the "problems" perl 5 is still my favourite blissful joy to program in
masak sjohnson: well, Perl 6.0.0 will be really extensible, on top of being awesome.
sjohnson masak: :) 10:54
i like that
masak sjohnson: so, any additions you will want to make will probably be easy to do.
though I worry a bit about the macros and language extensions.
we really haven't gotten our hands dirty there yet.
moritz_ sjohnson: it might please you to learn that in the next major version of perl 5 'use 5.011' or 'use 5.012' will implictly enable 'use strict' 10:55
rgs++ for that
sjohnson i do like that
masak moritz_: how does one remove 'use strict' from one-liners, then?
sjohnson moritz_: but the true thing that would really rock my world... would be... if trim() was backported
masak sjohnson: just write your own! :P
moritz_ masak: by not writing 'use 5.012' in the one-liner?
masak moritz_: oh, aha. 10:56
sjohnson masak: writing my own becomes very tedious among switching shells on monthly basis
i rely on String::Strip;
and because of that, it has become a nightmare
when i am doing emergency tasks
and i get an @INC error
... but that is better, than writing my own sub trim { function
everytime i do something on a new system 10:57
sjohnson stops frothing at the mouth
even others make fun of Perl.. for saying that the trim is new to Perl 6
masak sjohnson: sub trim { my ($s) = @_; for ($s) { s/^\s+//; s/\s+$//; } return $s } # it's just one line!
sjohnson while other languages have had it since some sort of infancy
masak: i realize that i can implement it, but should i also implement a + operator, for adding integers? 10:58
masak sjohnson: I hear you.
I'm also glad that it's there now.
I just don't consider it catastrophic when it's gone.
s/gone/missing/
sjohnson well, in my experience, because i have to switch shells for IRC purposes every 2 months 11:00
i have written many perl scripts to handle many of my shell needs
pancake s/// is not implemented in rakudo yet :?
Matt-W is embarking on some Perl this afternoon
Matt-W is happy about that
pancake: correct
masak pancake: no, inly .=subst
Matt-W pancake: but strings have a .subst method which does the same job
sjohnson and when i run a simple command but get a huge CPAN error, that could be avoided by PHP or pythons trim / .strip... i get frustrated really quickly
Matt-W rakudo: say "Hello".subst(/H/, 'y'); 11:01
sjohnson i suppose i could write a macro in vim to just add the trim function to do
p6eval rakudo e7a799: OUTPUT«yello␤»
pancake but .subst is for losers :P inlang regexps are cooler
sjohnson but i think that backporting trim for Perl 5, would be a substantial "right step" in the right direction
masak pancake: agreed.
pancake: patches welcome. :)
Matt-W rakudo: my $a = "Hello"; $a.=subst(/H/, 'y'); say $a;
p6eval rakudo e7a799: OUTPUT«yello␤»
11:01 payload left
Matt-W masak: it's a parsing thing with s/// isn't it? 11:01
moritz_ it is. 11:02
masak Matt-W: very likely.
Matt-W thought so
Matt-W -> fooooooood
masak probably nontrivial at that.
Matt-W &
masak rakudo: eval 'sub infix:<L>($a, $b) { "L yeah!" }' or die $!; 4 L 5 11:08
p6eval rakudo e7a799: OUTPUT«Statement not terminated properly at line 2, near "L 5"␤in Main (src/gen_setting.pm:3340)␤»
masak ah. that's what I thought.
I guess STD.pm won't let that through either.
std: eval 'sub infix:<L>($a, $b) { "L yeah!" }' or die $!; 4 L 5
p6eval std 27491: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/ZvUy3QApXo line 1:␤------> <L>($a, $b) { "L yeah!" }' or die $!; 4 L 5␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤
..terminator␤FAILED 00:02 37m…
masak that's probably as it should be.
11:09 zamolxes joined, pancake left
moritz_ std doesn't run an eval anyway 11:09
masak exactly. 11:10
but I don't think it should.
moritz_ right
masak so both Rakudo and STD DTRT here.
moritz_ because all grammar modifications are lexically scoped by default
masak oh, that too. 11:11
but also, an eval is runtime, while the parsing of operators is before that.
moritz_ also true.
11:18 frankshaw joined 11:20 donaldh left, donaldh joined 11:25 beggars joined
s1n masak: i just built your web repo and a bunch of tests failed 11:30
masak s1n: ok.
s1n: I'm currently implementing hitomi, and those test failures are known.
any others might have bit-rotted; I'll take a look myself. 11:31
s1n pastebin.com/m7e31d9cd
i might be doing something wrong (automating it) so let me know if those just look wrong 11:32
masak yes, that's about what I'd expect.
some bit rot in routes.
s1n okay
masak the tests suffer from a lack of overview right now. :/ 11:33
s1n just thought i'd let you know in case you didn't already
masak s1n: I wasn't 100% aware, so thanks. :)
s1n: anything Web.pm-related I can help you with?
moritz_ why didn't pugs_svn report r27492?
masak is going to lunch in a few minutes
11:34 pugs_svn left
s1n masak: not just yet, i'll let you know more tonight :) 11:34
11:34 pugs_svn joined, desertm4x left
masak s1n: sounds interesting. :) 11:34
s1n: I might be intermittent tonight, due to a Harry Potter marathon. but I'll stop by now and then. 11:35
11:37 masak left 11:40 Sunbeam joined 11:43 azawawi joined
azawawi hi 11:43
literal: ping
pmurias azawawi: hi 11:48
azawawi pmurias: hey :) 11:49
moritz_ I don't know why, but the svn bot ate two cool commits 11:55
so let me tell you that Su-Shee++ just commited the cool new design for perl6-projects.org/
azawawi takes a peek :) 11:56
moritz_: nice but the links are small bold font on my win32 chrome OS :) 11:57
moritz_ azawawi: the font sizes and spacing might need a few tweaks, yes
azawawi tests it over IE and firefox 11:58
moritz_: on ie7, camelia image has a border and is a bit close to the text 12:00
moritz_ that doesn't strike me as horrible, just a bit suboptimal 12:01
mdxi i tend to believe that IE users are, by the fact that they're using IE, incapable of making value judgements anyway :) 12:03
azawawi FF 3.5 is not playing it fair; when I installed it, it replaced the default chrome browser without asking :)
mdxi: :)
mdxi: people are lazy by default 12:04
Matt-W hmm on my FF 3.5, all the body content seems to be shifted a little to the left compared to the header 12:06
azawawi @tell literal any pending grok update soon?
lambdabot Consider it noted.
Matt-W It's also disturbingly colourful
lichtkind hello 12:07
azawawi lichtkind: hi 12:08
mdxi i like it tons better than what was there
lichtkind azawawi: the cheat sheet is now much longer :)
12:08 sri_kraih joined
Matt-W It does have the distinct advantage of being custom-designed and not an obviously generic template 12:10
Matt-W dives into some Perl 5 12:11
azawawi lichtkind: i was parsing it in the morning to add it to perl 6 help autocomplete dialog...
12:13 HemanShaw joined, frankshaw left
azawawi lichtkind: svn.perlide.org/padre/trunk/Padre-P...p6_help.pl 12:15
lichtkind azawawi: and where are the pods? 12:19
Matt-W moritz_: re blog entry on exceptions, I'd not heard of the 'hyper' operator 12:20
azawawi lichtkind: that script creates it from the website...
lichtkind azawawi: i want to include them too into perl6::doc
azawawi lichtkind: run it and you'll get your POD :) 12:23
lichtkind azawawi: yes , but there still lots missing, next day i want add array and string methods
azawawi lichtkind: cool then
lichtkind: i hope grok gets that information as well 12:24
lichtkind: 'grok method', 'grok my' is really useful
12:25 sri_kraih_ left
lichtkind grok is also based on that tablet? 12:25
12:26 HemanShaw left 12:44 beggars left
azawawi lichtkind: sorry i was away a bit; grok is based on S29 + other synopsis 12:46
lichtkind azawawi: thanks for the script
azawawi: nop i do here also lot of things 12:47
azawawi lichtkind: like what?
12:47 alester joined
lichtkind azawawi: i mailed the grok guy and text::editor::simple guy some other guy with a kephra feature request and im planning my next travel 12:48
azawawi lichtkind: cool 12:49
lichtkind: do u an API i can re-use? 12:50
lichtkind azawawi: what?
azawawi lichtkind: im using App::Grok API to get help topics/etc... is there anything like that in Perl6::Doc ? 12:51
12:52 IllvilJa joined
lichtkind azawawi: not yet , i didnt much in last year with that module 12:52
azawawi lichtkind: i see; no worries. keep u the great work on the tablets :) 12:53
lichtkind: s/keep u/keep up/
12:54 skids joined
lichtkind azawawi: thanks but its twice as much you see, i maintain also the german mirror 12:54
azawawi lichtkind: oh that's too much :)
lunch & 12:55
lichtkind azawawi: ihave some more hats :) bye 12:57
13:07 macae joined, masak joined 13:17 iblechbot left 13:19 alester left, zamolxes left 13:21 barney left 13:23 synth joined 13:27 azawawi left 13:28 payload joined 13:31 ispy_ joined 13:37 ruoso joined
ruoso Hello! 13:39
sbp hey ruoso
masak ruoso: \o
13:39 meteorjay left, mj41 joined
[particle] moritz_: where was the perl6-projects.org refresh announced? how do we get in touch for comments? i don't like how the text bounces as you mouse over the selections, i'd rather see the text get larger in-place without affecting spacing (making sure the other list items are already properly spaced to accommodate a larger font size) 13:39
moritz_ [particle]: it was announced here (more) 13:40
[particle] well, that's how i found out about it :)
masak [particle]: full ack. things should never be resized in any way, shape or form by a mouse-over.
moritz_ [particle]: I think that the test size, spacing and hover effects need some more work 13:41
Matt-W rakudo: my $p = "raw"; $p eq any(<raw tunnel>) ?? say "yes" !! say "no";
p6eval rakudo e7a799: OUTPUT«yes␤»
Matt-W rakudo: my $p = "rabbit"; $p eq any(<raw tunnel>) ?? say "yes" !! say "no";
p6eval rakudo e7a799: OUTPUT«no␤»
Matt-W weeps at not having perl 6 yet
moritz_ Matt-W: it's even prettier...
Matt-W yes
and how do I express that half so elegantly in perl 5? 13:42
moritz_ rakudo: my $p = "raw"; say $p eq any(<raw tunnel>) ?? "yes" !! "no"
p6eval rakudo e7a799: OUTPUT«yes␤»
[particle] moritz_: completely agree about text size, spacing and hover
moritz_ use List::MoreUtils qw(any); say any({$_ eq $p}, @list) ? 'yes' : 'no'; 13:43
Matt-W moritz_: unfortunately many cool modules aren't available to me. I don't suppose that's in core in 5.8...
13:43 Chillance joined
[particle] moritz_: also, the page header with camelia is wider than the sections below, so the layout feels unbalanced 13:44
Matt-W [particle]: that might be more acceptable, but it's also off to one side... 13:45
moritz_ yes, I'm aware of that. Patches welcome :-)
[particle] oh, the site css is in the repo? how is it updated? i am not unafraid of css 13:46
moritz_ [particle]: it's in docs/feather/perl6-projects.org/
and updated by a cron job
at least every 15min
13:47 amoc left
moritz_ (we used to have a notice explaining that on the page, don't know where that went) 13:47
Matt-W cackles madly
it's only thursday and I'm already insane 13:50
this has not been a good week
moritz_ why, does it usually take you 'til friday to go insane? 13:51
Matt-W friday afternoon
on a good week, it never happens at all
moritz_ you're ahead of your time, congratulations! 13:52
13:54 donaldh left
pugs_svn r27494 | moritz++ | [perl6-projects.org] don't resize links on hover, just replace the dotted by a 13:56
r27494 | moritz++ | solid line
13:58 rfordinal joined 13:59 pmurias_ joined, pmurias left, hercynium joined 14:00 pmurias_ is now known as pmurias
pugs_svn r27495 | moritz++ | [perl6-projects.org] more CSS tweaks: line spacing, font size 14:00
14:03 frew left 14:17 rfordinal left 14:18 payload left, payload1 joined 14:23 cbk_ joined 14:24 skipper_ joined 14:25 skipper left, nihiliad joined
pmichaud Good morning, #perl6 14:26
masak morning, pmichaud.
moritz_ oh hai pmichaud
14:26 molaf joined
pmichaud perl6-projects++ 14:27
moritz_ Su-Shee++
masak oh! nice! didn't see that till now. 14:28
moritz_ pugs_svn eated her commits; perhaps because she has a dash in her svn username?
masak and the backgrounds of the boxes are schemed on Camelia. nice!
14:29 molaf left
masak though the yellow has too much green in it, and a bit too much saturation. mind if I tweak it slightly? 14:29
[particle] that's what public svn repos are for!
masak "don't ask to fix" :) 14:30
moritz_ masak: we had a preview yesterday with less saturation, that looked a bit disappointing; so be sure to to desaturate it too much
masak opens up Gimp to find the perfext yellow
[particle] (bigger font + wider display)++
PerlJam ++ for whoever fixed the changing font size on hover.
[particle] looking much better now
masak moritz_: understood. actually, I think the interplay between all backgrounds and Camelia is what matters most. 14:31
[particle] i don't like that the download link is solely for rakudo
moritz_ [particle]: we discussed that yesterday too 14:32
masak I'll also note that my browser window is not wide enough by default to allow three boxes to fit on one row, which makes the page look... less than awesome.
I'd prefer absolute positioning to floats, I think.
moritz_ then you'd have horizontal scrolling 14:33
which IMHO is even less than less than awesome :-)
pmichaud I think I prefer the horizontal scroll
having the boxes jump around on resize is... disconcerting 14:34
masak moritz_: there's a horizontal scrollbar regardless, due to the header. but I see your point.
moritz_ how often do you resize your browser, pmichaud?
pmichaud moritz_: frequently, actually.
masak pmichaud has a point too.
moritz_ nearly never
PerlJam used to resize browser often before having an extra monitor 14:35
moritz_ well
masak moritz_: try and narrow the browser window to two columns and observe the result.
moritz_ usually I hate horizontal scrolling because it makes it impossible to read text
masak but that's not the issue here.
moritz_ but since the text is broken up in columns anyway, it doesn't matter very much here
masak what we have is effectively a 2x3 table. 14:36
(yes, I said table. so sue me.)
moritz_ sues masak 14:37
masak 'it's 2009, and web designers still get sued for saying "table". when will the madness end?' 14:38
14:39 payload joined
moritz_ never. 14:39
pmichaud the boxes also don't align. However, given that Camelia has such assymetries, perhaps the boxes should also. :-)
*asymmetries
PerlJam there's something a little off with the layout that I can't quite put my finger on ... like there's a little too much space between the boxes or the boxes are too small
pmichaud for example, the right two boxes aren't aligned
and none of the boxes align with the header (ff 3.5)
moritz_ actually what we really need is a site layout language
something which CSS wasn't really designed for 14:40
masak moritz_: do that (successfully), and you'll be famous.
PerlJam moritz_: but perl 6 *is*! :)
14:40 payload1 left
PerlJam moritz_: (perl 6 is designed for designing such a language anyway ;) 14:40
moritz_ masak: I'm already famous, nearlly all people I know know me too :-) 14:41
masak moritz_: :)
pmichaud Larry is known for "rn", "patch", and Perl. I appear to be known for Rakudo, PmWiki, and "Strawberry Pop-Tart Blow-torches". :-| 14:42
pugs_svn r27496 | pmurias++ | [re-smop] proof of concept call-graph printer 14:43
masak moritz_: experimenting a little, I see what you mean about too little saturation. but I believe there's a middle ground.
pmichaud: that's a nice track record, I'd say. especially the pop-tarts. :) 14:44
moritz_ and I thought it was toaster experiments 14:45
pmichaud it's nice that it's still #1 on google search for "strawberry pop-tart" :-)
masak but the yellow needs to be softer. right now it's too sharp.
ah, found the right nuance.
14:46 Exodist joined
pmurias ruoso: re using berkley db for stm, isn't berkley db a persistent hash? 14:47
ruoso pmurias, it can be used in-memory only
14:47 Exodist left
Matt-W wow 14:48
perl6-projects has changed again!
I detect people tweaking
14:48 iblechbot joined
pugs_svn r27497 | masak++ | [perl6-projects] mildened background colors a little 14:50
masak you know what I think would really suit the page too? a subtly fading background, such as the one Mozilla uses for its site. just a slight fade from a nuance of grey to white. 14:51
PerlJam masak: sounds good to me. 14:52
masak hm, seems mozilla.com uses another layout now, so I can't show an example. 14:53
but I have such a background ready, so I'll copy it in and you can see how it looks in 15 minutes. :)
Matt-W yay 14:54
TimToady hmm, the TM seems to have disappeared from Camelia, and she no longer links to the pdl 14:55
PerlJam Aha! I know what bothers me about the current design. It's too flat and "blocky". I tend to favor designs that are more "fractal". Where all that blank space in the header or in the area between boxes or at the bottom of the boxes has some little detail that fills in the space just a little.
14:55 KyleHa joined
TimToady we do want to convey simplicity, however 14:55
masak a fractal is simple. :P 14:56
14:56 justatheory joined
TimToady that's part of why Camelia is in cartoon style 14:56
PerlJam Sure, but I'm thinking of little things like .... oh, I don't know ... a little bit of grass and a small flower near Camelia
ruoso anyway... the design breaks with a higher dpi font
TimToady I didn't say they weren't :P
14:56 justatheory left
pmichaud how about a few onions sprinkled about? :-P 14:57
PerlJam yeah, or onions
pugs_svn r27498 | masak++ | [perl6-projects] added fading background
PerlJam (or, *an* onion)
masak onions and grass!
Matt-W mmm... onions...
PerlJam It's like an easter egg that's subtle and adds just a bit of nuance.
TimToady could also start to look cluttered if we're not careful 14:58
PerlJam I also tend to favor ultra-sparse designs too (see google)
the current design seems to be just enough in the middle of those that it bothers me 14:59
Matt-W I'm still dubious about the background colours
and the download button being a completely different shape to everything else looks very out of place
ruoso the widths of the columns should have been in %s it is breaking with bigger fonts
Matt-W and download what, anyway?
PerlJam Matt-W: *the* perl 6 :)
masak Matt-W: I don't think my change for the background colors has gone through yet.
TimToady it used to say downloads
why did it get changed back? 15:00
Matt-W masak: I shall look forward to it
Matt-W also suggests the headers in the boxes should be in a larger font than the rest of the box contents
15:00 hercynium left
moritz_ Matt-W: it has now 15:01
Matt-W: feel free to patch that in
PerlJam The downloads "button" could look like an onion. that would break up the monotony of the boxes and still be perly :)
moritz_ PerlJam: sure, make a graphic and commit it 15:02
Matt-W hmm, a bit better
still feels like CBeebes
CBeebies*
moritz_ actually I find it a bit depressing with dark background :/
Matt-W it makes it look like a cloud came across 15:03
TimToady seems a bit drab now
Matt-W probably the wrong solution
I might play with a copy this evening
not that I'm any great shakes as a designer
TimToady the less saturated colors also add to the drabness
Matt-W but, you know, ideas
pmichaud I agree -- either keep the saturation, or avoid the camelia colors 15:04
masak I agree. it's a bit drab now. it can still be improved.
15:04 DemoFreak joined, agentzh left
Matt-W all things can be improved 15:04
apart from Perl 6's for loops (go on, prove me wrong) 15:05
15:05 agentzh joined
masak what my change did was mainly to make the boxes look more homogenous. before the change, the yellow was screaming. 15:05
moritz_ Matt-W: they could be faster :-)
TimToady most things can be improved in one dimension by making them worse in some other dimension
Matt-W moritz_: that's not the language's fault, that's the implementation's fault
TimToady: this is very true 15:06
pmichaud Can we yet write "for" in Perl 6? ;-)
PerlJam jumps up and down on the waterbed to see what happens
TimToady yeah, well, with a different language the implementation might be done by now :P
std: for
p6eval std 27498: OUTPUT«Undeclared routine:␤ for used at 1 ␤ok 00:02 36m␤»
TimToady oh wait
std: "for"
p6eval std 27498: OUTPUT«ok 00:04 36m␤»
TimToady yes, we can
pmichaud I meant the implementation of for loops
TimToady: :-P
15:07 KyleHa1 joined
Matt-W pmichaud: you could probably write it in terms of loop and elems, but you might need some extra introspection stuff to examine the pointy block for parameters... 15:08
15:08 macae left
TimToady introspection is probably a sign of incorrectness 15:08
moritz_ or of magic :-)
pmichaud Matt-W: our inability to describe for loops in Perl 6 was once identified as sub-optimal. So, consider yourself proven wrong :-P
Matt-W: but as a consolation prize, we have this copy of "Rakudo: The Home Game" and some other parting gifts :-P 15:09
Matt-W pmichaud: I'm sorry, I've not seen any proof that you can't do it, or you won't be able to do it very soon. 15:10
Therefore I win :P
TimToady we're still missing a primitive to allow partial binding to a list, removing the elements that bind, and leaving the rest
masak speaking of introspection, I have a very concrete example of a grammar extension that I'd like to discuss. let's say I'd like to introduce the keyword 'whence', which'd work like Haskell's 'where'. how'd I do it? as specific instructions as possible. 15:11
so it'd be a statement modifier, just like statement-modifier if, for, given etc. 15:12
TimToady rewrite STD :P
masak TimToady: yes, exactly.
it practically can't be done the way STD.pm looks now. 15:13
TimToady your problems there are not syntactic, but semantic violations of one-pass-ness
masak mind you, STD.pm is the coolest Perl 6 code I've ever seen.
but extending it this way seems... difficult.
oh, the one-pass-ness is a problem too, yes.
TimToady you can certainly add a new statement modifier by derivation 15:14
but the problem is post-declaration
masak TimToady: I'd like to see an example of that, even a small one.
15:14 ZuLuuuuuu left
moritz_ maybe overwriting block? 15:15
masak why block?
moritz_ rule block { '{' ~ '}' <statement_list> <whence_block>? }
masak oh. 15:16
15:16 REPLeffect joined
moritz_ and setting a context var that tells the parser to skip variable declaration checks 15:16
(which you'd also have to implement, of course)
masak interesting.
TimToady overriding non-category rules is much more antisocial than adding new rules to existing categories
moritz_ aye :-) 15:17
but we need a no-strict mode for one-liners and 'no strict' anyway
so at one point such a flag/context var will eventually exist
masak anyway, the statement modifiers right now seem to be pretty much tangled up in the token statement.
TimToady I don't follow what you mean at all 15:18
masak moritz_: well, I still want variable checks on unbound variables. :)
TimToady: that might be because I'm not sufficiently familiar with STD.pm yet.
skids TimToady: other than the fact that "Lists" are immutable, and pulling the .elems across in ($foo, $bar) := shift(...),shift(...) what else does the "missing primitive" for loops/feeds need to do? (If I'm at all following, that is?)
TimToady syntactically, adding a new statement modifier is as simple as "use MyGrammar is STD; rule statement_mod_cond:whence {<sym> <modifier_expr> }" 15:20
er, 'use STD; grammar MyGrammar is STD;'
masak how do I know it's _cond and not _loop?
TimToady you can make it whatever pleases you
but whence doesn't feel like a loop to me 15:21
15:21 REPLeffect left
masak they're equivalent? why are there two types? 15:21
given doesn't feel like a loop to me. :)
TimToady well, it's really more like topicializer on the outside
moritz_ TimToady: but masak wants to have the side effect that it surpressed declaration checks in the loop *before* the whence?
s/\?//
15:22 REPLeffect joined
TimToady yes, that's the semantic bit I was complaining about, but has nothing to do with syntax :) 15:22
masak indeed.
I hadn't thought about it as breaking one-pass-ness before.
moritz_ TimToady: when we usually talk about such things, declaration checks are part of the syntax for you, no? :-) 15:23
TimToady you also have to write wrappers around the symbol table manipulation routines to prevent carping about undefineds
only when I want them to be :P
masak pmichaud: oh, and btw: would PRE and POST be hard to implement, or low-hanging fruit? 15:24
TimToady tries again to backlog...
masak if only tests are the blocker, I volunteer to write some.
:q 15:25
masak pretends that that was a smiley and not a vim command
one day I'll have a computer that does focus-follows-eyes...
eiro haha ... i wrote it yesterday on my facebook page: "%s#|.* is not an insult, it's a vim command" 15:27
and before: ":>!$ is not a smiley: it's a shell command !"
15:28 KyleHa left 15:29 RonOreck left, DC joined
TimToady actually, as long as you limit your postdeclarations to things that can parse as listops, current STD already allows postdeclaration 15:34
that doesn't allow you to say i + j though
so maybe you want a different postdeclaration policy 15:35
15:35 RonOreck joined
masak I got all of that except 'allow you to say i + j' 15:35
15:35 justatheory joined
moritz_ I think $i + $j would be fine 15:35
masak oh, that works for me.
TimToady but those aren't allowed to be post declared
and i + j parses as i(+j) 15:36
so you need a different policy
masak :/
15:36 kidd_` joined
TimToady like, postdeclared functions require (), and bare symbols parse more like values 15:37
but postdeclared variables are more problematic in the current scheme of things 15:38
masak aye, maybe I shouldn't try to spit against the wind. I'll see if I can find a more one-pass-friendly grammar extension example. 15:40
TimToady szabgab: (1,2) and (1) will soon parse to the same thing, which pmichaud and I have been calling a Parcel, which is sort of a pre-Capture notion
15:40 dukeleto joined
TimToady and may, in fact, replace Capture, if Parcel can present the Capture interface while remaining a Parcel 15:41
the difference is that in a Parcel (1,2,:a) treats :a as just another item in its list of objects 15:42
its putting it into Capture context of some sort that divides it into positionals and nameds
[particle] parcel reminds me more of package that capture 15:43
TimToady yes, that's because it doesn't get unwrapped till it reaches its destination 15:44
[particle] ah
TimToady but when we distinguish foo(1,2,:a) from foo(1,2,(:a)), a Parcel wrapping is what hides the :a from the outer capture 15:45
Parcel is also related to "paren cell"
so it's a bit like an S-EXPR
pmurias ruoso: what's a good way of viewing a call graph? 15:47
TimToady macros will probably be dealing with parcels instead of captures, probably
so says the Department of Redundancy Department... 15:48
note that the Parcel vs Capture distinction may have ramifications for SMOP innards
[particle] i don't think it will stop there 15:49
ruoso pmurias, dot?
TimToady well, no, but pmichaud already knows it
[particle] so trismop may be around the corner
TimToady they're probably ignoring me :) 15:50
pmichaud no, just working on another message in another window.
ruoso TimToady, Parcel?
TimToady Parcel 15:51
ruoso that's a new one
ruoso haven't backlogged... should probably do it before asking repeated questions
TimToady yes, but we've been discussing it for several days now
but the last 5 minutes are the short version 15:52
well, 15 minutes
pmichaud 12, actually. 15:53
15:53 estrabd left, estrabd joined
pmurias ruoso: can dot handle several thousand nodes? 15:53
15:54 estrabd left
ruoso TimToady, you bet it does have ramifications... 15:54
15:54 estrabd joined
ruoso pmurias, in that case, a database may provide the best tools 15:54
TimToady, but maybe not that many, as the last capture change 15:55
TimToady, it probably will be a mildew-only entity... I'm not sure it will really affect SMOP,
since it's more Parse-related than data-related
i.e.: Parcels become capture most of the time 15:56
TimToady it impacts at the point where someone wants to call foo(1,2,:a) and foo happens to want to bind the arguments as a Parcel rather than as a Capture
so either you have to be able to reconstruct the Parcel, or Capture is just a view of a Parcel 15:57
ruoso hmm... to the extent it provides a different API
pmurias ruoso: a call graph is a tree, and i'm not sure what flattening it in a database table will give us
ruoso pmurias, recursive relationships
pmichaud it may also impact the structure a bit, since it may then be possible to have foo(1, :a<bc>, 2, 3, :a<de>, 4)
pmurias ruoso: explain
ruoso pmurias, a table that references itself 15:58
pmurias, this call is a child of another call
pmurias but it's a tree, there are no cycles
ruoso TimToady, hmm... so maybe that means Parcel should be more basal than Capture... which means another huge refactoring 15:59
TimToady that's what I was pointing out as a possibility
ruoso lunch & think about it.... 16:00
TimToady chow
16:07 REPLeffect left 16:11 jrtayloriv joined 16:18 REPLeffect joined 16:20 cdarroch joined 16:22 Psyche^ joined 16:25 masak left, payload left 16:30 register joined, register left, register joined 16:32 register72 joined 16:33 register left 16:34 lucar joined 16:35 register72 left 16:36 justatheory left 16:37 jrtayloriv left 16:39 Patterner left, eMaX left, Psyche^ is now known as Patterner 16:40 jrtayloriv joined
moritz_ rakudo: my ($a, $b, $c); $b := $c; $a := $b; $c = 4; say $a 16:40
p6eval rakudo e7a799: OUTPUT«4␤»
moritz_ rakudo: my ($a, $b, $c); $b := $c; $a := $b; $c = 4; say $b
p6eval rakudo e7a799: OUTPUT«4␤»
moritz_ is that how it's specced? 16:41
pmichaud what would you expect instead? 16:42
moritz_ dunno, just asking
pmichaud I think it's correct, yes.
$b gets bound to $c, so both are the same. $a is then bound to $b (which is also $c), so all three are the same.
Changing $c then changes $a and $b 16:43
phrased another way -- at the point of the assignment, $a, $b, and $c all refer to the same container
16:48 payload joined 16:52 payload left, payload joined 16:55 tann joined 17:00 KyleHa1 left 17:02 justatheory joined 17:03 lucar left, rfordinal joined
skids Parcel++ (I like that name) 17:09
17:10 japhb_ joined 17:12 pmurias left
pugs_svn r27499 | moritz++ | [irclog] forbid access to .conf files 17:19
17:19 japhb_ left 17:21 japhb left, tann left, rfordinal left 17:31 hercynium joined 17:39 japhb joined 17:47 ZuLuuuuuu joined 17:54 jrtayloriv left, jrtayloriv joined 17:55 pmurias joined 17:58 KyleHa joined
ruoso TimToady, right... so a Parcel is like a Capture that remembers the position of the named args 17:58
the refactoring is not that bad, I just need to store the entire list, and keep two indexes, one for "only the positionals", and other for the named args... the capture creation in SMOP can be maintained as it is, we would just add a variant for creating a capture in the parcel level... 18:00
thank god capture is immutable
but at which level is it determined if an item of a Parcel might be a named arg? 18:01
is it at ~~ Pair level? 18:02
or is it something more related to the parsing?
moritz_ no
"a" => 'b' # a pair, but not a named arg
ruoso so it's parse-related 18:04
I think for SMOP we won't need two different objects for Parcel and Capture then 18:05
it's just two different views of the same data
TimToady but they'll fight over the @ api if we don't distinguish the types, I suspect 18:06
I have to go through my table of 200 examples and see how things actually interconvert... 18:07
like, what is the type of self when you say (@a,@b).method 18:08
18:09 tann joined
TimToady groceries & 18:09
ruoso TimToady, unless we define that named are always also positionasl
and go back 2 years....
ruoso didn't really mean to say that... 18:13
skids So does the "when => 'now',1,2,3; #always a named arg" mean literally always, even if there's no candidate with that named arg, but there is a candidate with a Pair positional? 18:24
moritz_ yes, unless there's a positional named $when
18:25 davef joined
skids would still consider that a named argument (just not a named param) 18:25
OK, so MMD does not have to happen to determine what's a named arg. Makes sense. 18:26
skids re-notices :$when notation. 18:28
I'll have to run through my param names "suggestion" list with that in mind. 18:29
18:30 sri_kraih left
ruoso but since it's defined at parse-time everything is easier 18:31
skids Definitely. 18:32
ruoso TimToady, btw... I'd argue that @ always gets only the positionals 18:33
davef Hi - I'm using java2perl6 to translate some JDBC APIs to Perl 6. It generates roles with methods of the form 'multi method createStatement() returns java::sql::Statement { ... }'. Can anyone tell me what the 'returns' bit is supposed to do?
skids Though, I had to ask because it's not like that would stop the Perl community... suffering on the part of developers to help the users etc. :-)
ruoso davef, the "returns" goes to inside the signature with a --> java::sql::Statement 18:34
skids Erm, returns and return type are not the same thing.
IIRC returns is the one that is visible inside the function, as context to the right of a return statement. 18:35
moritz_ davef: it's supposed to declare a return value
skids Or do I have that bass ackwards?
moritz_ std: multi method createStatement() returns java::sql::Statement { ... }
p6eval std 27499: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/E2OuQqi4MQ line 1:␤------> createStatement() returns java::sql::Statement { ... }␤ expecting any of:␤ indirect name␤ morename␤FAILED 00:02 37m␤» 18:36
ruoso skids, in Java it's for both sides
moritz_ std: multi method createStatement() returns Int { ... }
p6eval std 27499: OUTPUT«ok 00:02 37m␤»
ruoso std: role java::sql::Statement {}; multi method create-statement( --> java::sql::Statement) {..} 18:37
p6eval std 27499: OUTPUT«##### PARSE FAILED #####␤Unable to parse blockoid; couldn't find final '}' at /tmp/x0evUZwIv8 line 1:␤------> e-statement( --> java::sql::Statement) {..}␤ expecting any of:␤ prefix or noun␤ statement end␤ statement list␤ whitespace␤FAILED 00:02 37m␤»
ruoso hmm...
skids ...
davef I looked at S12 but maybe I'm looking in the wrong place, where's it documented? 18:39
ruoso moritz_, I think std is accepting that returns as an arbitrary trait....
std: multi method create-statement() shoots Int {..} 18:40
18:40 zamolxes joined
skids ruoso: ... not ,, 18:40
p6eval std 27499: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/wC16zxmbWw line 1:␤------> multi method create-statement() shoots Int {..}␤ expecting any of:␤ blockoid␤ method_def␤ terminator␤ trait␤FAILED 00:02 37m␤»
skids *.. even
davef: S06 prolly
davef I'm using rakudo - does that make a difference?
thanks skids
ruoso std: role java::sql::Statement {}; multi method create-statement( --> java::sql::Statement) {...}
p6eval std 27499: OUTPUT«ok 00:02 37m␤»
ruoso skids, ah... thanks
moritz_ rakudo: sub a() return Int { 3 }; say a()
p6eval rakudo e7a799: OUTPUT«Malformed routine definition at line 2, near "a() return"␤in Main (src/gen_setting.pm:3340)␤» 18:41
ruoso davef, ^^
moritz_ rakudo: sub a() returns Int { 3 }; say a()
p6eval rakudo e7a799: OUTPUT«Method 'succ' not found for invocant of class 'Method'␤»
moritz_ rakudo: sub a(--> Int) { 3 }; say a()
p6eval rakudo e7a799: OUTPUT«3␤»
moritz_ davef: this version works
or also
rakudo: Int sub a() { 3 }; say a
p6eval rakudo e7a799: OUTPUT«Statement not terminated properly at line 2, near "sub a() { "␤in Main (src/gen_setting.pm:3340)␤»
moritz_ rakudo: sub Int a() { 3 }; say a
p6eval rakudo e7a799: OUTPUT«Malformed routine definition at line 2, near "Int a() { "␤in Main (src/gen_setting.pm:3340)␤»
moritz_ ok, doesn't work :/ 18:42
ruoso moritz_, I'm not sure this alternative declarations are valid
moritz_, S06 only lists ( --> Int)
moritz_ std: our Int sub foo() { }
p6eval std 27499: OUTPUT«ok 00:02 37m␤»
moritz_ std: Int sub foo() { }
p6eval std 27499: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/tmuijGksEp line 1:␤------> Int sub foo() { }␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤FAILED 00:02 36m␤»
moritz_ ah, it only works with scope modifier
rakudo: our Int sub a() { 5 }; say a
p6eval rakudo e7a799: OUTPUT«5␤» 18:43
moritz_ rakudo: our Int sub a() { '4' }; say a
p6eval rakudo e7a799: OUTPUT«Return value type check failed; expected Int, but got Str␤in sub a (/tmp/pvVho5m5Zv:2)␤called from Main (/tmp/pvVho5m5Zv:2)␤»
davef The java2perl6 code is 2 years old, I guess the syntax may have changed since then, I'm trying to work out what it should emit.
ruoso moritz_, maybe it's a fossil... but S06 doesn't list "Int sub" for a long time already
moritz_ davef: with --> ReturnType in the syntax it should be fine 18:44
ruoso: maybe S12?
davef so would that be 'multi method createStatement() --> java::sql::Statement { ... }' ? 18:45
ruoso davef, no.. 18:46
davef, multi method createStatement( --> java::sql::Statement) {...}
davef dumb question - what does the '...' mean in this context? 18:47
moritz_ it marks the method as a stub
ruoso davef, yada-yada-yada
moritz_ ie if you call it, it'll throw an exception 18:48
davef ok - does the -> follow any parameter declarations?
moritz_ yes 18:50
and it's -->, not ->
18:50 kate21de1 left 18:51 kate21de joined
moritz_ wrote some Perl 5 binding tests to make sure it's mostly compatible with Perl 6 18:51
18:51 masak joined
davef thanks - I'll go and play now :) 18:52
masak good evening, lambdacamels.
moritz_ good evening bugbutterfly :-) 18:54
masak flaps contentedly
but remember, boys and girls: anyone can report bugs. it's finding them that's the trick. for that, you have to try write Perl 6 code that no-one's written before. 18:55
(and anyone can to that too, though it's getting harder by the day.) 18:56
ruoso »ö«
19:00 explorer joined 19:04 pmurias_ joined
moritz_ I've been thinking about file tests 19:05
19:05 pmurias left
moritz_ and somehow I don't like the current situation 19:05
masak please elaborate.
moritz_ it's hard to find words for it, but it feels ... like legacy
-e $foo becomes $foo ~~ :e 19:06
masak I know what you mean.
moritz_ and $foo ~~ :s returning an integer...
masak but there are sometimes local maxima that are hard to get out of.
moritz_ smartmach usually returns a Bool
masak Test.pm is another example.
moritz_ my idea would be a .f method on Str that means "interpret this string is a file"
so you could write "/etc/passwd".f.exists
or $str.f.size 19:07
19:07 pmurias_ is now known as pmurias
masak .File.exists would be nicer 19:07
ruoso moritz_, I agree that ~~ with a pair is weird
worse... it's not even a pair
moritz_ masak: but maybe a bit long
ruoso: :e is a pair
rakudo: say :e ~~ Pair 19:08
p6eval rakudo e7a799: OUTPUT«1␤»
moritz_ it's short for :e(True)
pmurias ruoso: if i put the call-graph data in a database will have convenient methods of viewing it (not counting writing a custom tool)
ruoso pmurias, SQL
moritz_, I could suggest "if $file.stat: :e {...}" 19:10
moritz_, I could suggest "my $size = $file.stat: :s 19:11
moritz_ ruoso: please not. 'stat' is just the name of a syscall, not a word
ruoso pmurias, if you manage to design a dimensional model for the data you can use an OLAP tool like jpivot
moritz_, any word that would describe what "stat" dose? 19:12
moritz_ ruoso: 'file' or 'path'
'interpret that thing as a file' 19:13
or path
ruoso $file.status:
$file.status: :e
$file.status: :s
masak I like that.
huf stat is not a word?
wait. is grep a word?
masak stat is a Unixy term. it has more traction than status.
19:13 KyleHa1 joined
ruoso masak, does it? 19:13
huf dunno about you, but stat is a pretty well-defined word in my mind 19:14
masak ruoso: I think so, yes.
moritz_ huf: do your non-Unixy pals understand it
huf moritz_: obviously not, but my non-unixy friends dont program either ;)
19:14 pmurias left 19:15 pmurias joined
masak I agree with huf. this is not a case where length == clarity. 19:15
moritz_ that's why I proposed .f
huf moritz_: but if they can learn the meaning of grep, stat shouldnt be a problem (i my baseless opinion)
moritz_ huf: we also want to encourage beginners
and there's a non-Unix world too 19:16
pmichaud part of the difference is that "grep" doesn't really have an English homologue. "Stat" does.
huf hmm...
masak moritz_: I still haven't seen a solution to the 'treat Strings as Files' problem which I really like.
pmichaud: well, 'stat' has more precise connotations than 'status'. 19:17
pmichaud in the unix world, yes. outside of that, it has different meanings in the statistics and medical fields
RonOreck I think some people might recognize stat as meaning 'right now', as in 'I need that whatchmacalit, stat!'
moritz_ anyway, the aspect that the most critique here is about the names and not the idea itself encourages me to send a mail to p6l later
masak pmichaud: you have a point. 19:18
pmichaud moritz_: for your, I'd prefer to see us come up with a method or operator that unambiguosly means "this string is a filename"
*for your mail
19:19 Sunbeam left
masak moritz_: by all means, send an email. 19:20
skids alternative, not a good one, but a way to pass a string to open()?
masak though this is one of those potential bikeshedding topics. :)
pmichaud definite bikeshed. My paintbrushes are ready.
"Gold! It has to be gold!" 19:21
19:21 jauaor left
skids fusia. 19:22
19:22 KyleHa left
skids There are simply not enough fusia colored buildings. 19:22
moritz_ skids: I thought about that, but it's a different operation
stat accesses file meta data, open() makes file data accessible 19:23
skids moritz_: ah good point.
ruoso I kinda think that, as open, stat would need to be a sub instead of a method 19:24
19:24 meppl left 19:26 Sunbeam joined
masak regex matches are great in Perl because they have a succinct syntax -- the =~ operator in Perl 5, ~~ in Perl 6, all the shortcurts with $_, and so on. 19:26
ideally one'd want something similar for file operations.
in Perl 5, that's -e et al.
in Perl 6, it's already gotten slightly longer due to our higher standards of sanity. 19:27
19:28 last left, icwiener left, Jedai left 19:30 nihiliad left, nihiliad joined
ruoso votes for: multi stat(Str $name, *%switches) {...} 19:32
19:32 Sunbeam left
skids Erm, so wiat, how's this differ from S03 $filename ~~ :e again? 19:33
19:33 Sunbeam joined
ruoso skids, it doesn't add this very peculiar semantic to smart match 19:33
skids But isn't the semantic on the Str class, not smartmatch? 19:34
Just $f ~~ :adv matches against $f.adv() generically?
19:35 hercynium left
ruoso skids, that's even weirder 19:35
19:35 Sunbeam left
ruoso skids, but no... I think it's defined in the smart-match table as compile-time semantics 19:35
masak I'm not sure I agree that the semantics of the smartmatch is that peculiar. 19:36
ruoso if stat $file, :e { say 'something' }
masak regex matches return Match, for example.
ruoso my $size = stat $file, :s
skids That's what S03 seems to say: (The 1st form $filename ~~ :e) actually translates to the latter form ($filename.e) so the object's class decides how to dispatch methods"
19:37 Sunbeam joined
pmichaud S03 says that matching against a pair actually does an attribute test 19:37
it's not syntactic, nor compile-time. 19:38
ruoso re-re-re-reads S03
masak what's an attribute test, precious?
pmichaud $x ~~ :foo -> $x.foo
masak so, a method?
pmichaud or, more precisely: $x."foo"
19:38 Sunbeam left
moritz_ actually... 19:38
19:39 Sunbeam joined
ruoso pmichaud, does that mean that Str must implement a method "e"? 19:39
[particle] sunbeam: you're bouncing in and out
moritz_ $x ~~ $y => $x."$y.key()" ~~ $y.value()
Sunbeam Sorry
moritz_ if $y ~~ Pair
Sunbeam Fixing xchat theme.
:P
[particle] aha
pmichaud ruoso: I believe it does mean that, yes. (checking)
Sunbeam i b amsgin i was fixing xchat theme, so don't freak out ok ty. <3 19:40
ruoso pmichaud, now *that's* weird
pmichaud S03:
The filetest operators are gone. We now use a C<Pair> as a
pattern that calls an object's method:
if $filename ~~ :e { say "exists" }
is the same as
if $filename.e { say "exists" }
19:41 sri_kraih joined
tann rakudo: try { 1/0; CATCH { say "oopsie!" } } 19:41
p6eval rakudo e7a799: OUTPUT«oopsie!␤»
ruoso that transfer the "stat" feature to every single object that might be subject to that test
ruoso definetively votes for a multi stat($filename, *%switches) 19:42
[particle] rakudo: 'readable'.say if '.'.r
p6eval rakudo e7a799: OUTPUT«Method 'r' not found for invocant of class 'Str'␤»
[particle] std: 'readable'.say if '.'.r
p6eval std 27499: OUTPUT«ok 00:02 36m␤»
moritz_ anyway, the current spec is inconsistent 19:43
because $x ~~ :a translates to $x."a" ~~ Bool::True
and smartmatching against True always gives True
(:a is the same as :a(Bool::True))
pmichaud moritz_: that's a good point.
masak yes, there's something rotten in the stat of filetests. 19:44
moritz_ hah, it helps to write dozens of smartmatch tests :/
pmichaud under the current spec, though, one could do $filename ~~ :m(3..*) # file is older than 3 days
er, :M
KyleHa1 moritz_++ # writing dozens of smartmatch tests 19:45
tann why is CATCH all uppercase while 'try' lower?
pmichaud It used to be that :a was the same as :a(1), which is probably how the ~~ test snuck in.
ruoso tann, because try is not required... ;)
masak tann: the uppercase in some blocks indicates that they are special in some way.
ruoso rakudo: 1/0; CATCH {say 'oopsie!'}
p6eval rakudo e7a799: OUTPUT«oopsie!␤Divide by zero␤»
tann gotcha
moritz_ [particle]: btw the reason that your .r thing didn't work is that rakudo implements the method :r, not r 19:46
[particle] ah, right!
std: 'readable'.say if '.'.:r
p6eval std 27499: OUTPUT«ok 00:02 36m␤»
[particle] rakudo: 'readable'.say if '.'.:r
p6eval rakudo e7a799: OUTPUT«Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P'␤in Main (src/gen_setting.pm:1343)␤»
moritz_ the spec changes since then
[particle] it's not so readable, imo
moritz_ you can't call a method with : in the name like that
pmichaud why does rakudo implement ":r", I wonder?
masak I believe that one is already submitted.
moritz_ rakudo: say '.'.':r'
pmichaud rakudo: say '.'.":r"()
[particle] moritz_: it parses in std 19:47
tann rakudo: TRY { 1/0; CATCH { say 'mama!' }}
p6eval rakudo e7a799: OUTPUT«Method ':r' not found for invocant of class 'Str'␤»
rakudo e7a799: OUTPUT«Could not find non-existent sub TRY␤»
pmichaud rakudo: say '.'.":e"()
p6eval rakudo e7a799: OUTPUT«1␤»
masak tann: there's no TRY. please read S04.
ruoso most importantly, it transfer to the object, a responsabiliy of something that should be a multi
moritz_ [particle]: but parses as what?
[particle] i don't know, but i can't imagine that it should
tann masak: was trying to trick rakudo
masak tann: ok? :) 19:48
19:48 ispy_ left
masak tann: as you see, it did work. Rakudo just said that theere's no TRY, which is true. 19:48
s/did/didn't/
tann smart cookie rakudo is! 19:49
masak yup.
19:51 jrtayloriv left 19:52 ispy_ joined 19:54 payload left
tann since p6 advocates democracy, i'm think the 'perl' in 'perl 6' stands for 'populist enlightened reflective learner' :) 19:55
s/think/thinking/
masak is wearing the Polymorphic Existential Recursive Lambdas t-shirt today
pmurias tann: p6 advocates democracy? 19:56
[particle] yes. it's not welcome in north korea.
moritz_ it's more about consensus and awesomeness than majorities
tann pmurias: multi keyword says it all :)
and also, there's a timtoady around here 19:57
19:57 masak left 19:58 mofino joined
ruoso reading the sun presentation on JDK 7 parallelization... interesting that they still don't consider implicit threading and implicit async-IO, and still point to explicit... 20:01
heaheaheahe
"One of the features being debated for the JDK 7 release is closures"
they're almots getting at the p5 syntax... 20:03
double highestGpa = students.withFilter( { Student s => (s.graduationYear == THIS_YEAR) } ).withMapping( { Student s => s.gpa } ).max();
lichtkind ruoso: hej
ruoso lichtkind, hi 20:04
the funniest part is that they call it .withFilter and .withMapping to implement grep and map ... 20:05
huf because long names are *so* much easier to read :) 20:07
ruoso seriously... there's something very wrong about the designers of java 20:11
it's like if they lived in a parallel universe where LISP was never written 20:12
20:13 eMaX joined 20:23 explorer left
davef rakudo: role java::sql::Statement {multi method executeQuery(Str $v1 --> Int) { 5 }} 20:30
p6eval rakudo e7a799: ( no output )
davef std: role java::sql::Statement {multi method executeQuery(Str $v1 --> Int) { 5 }} 20:31
p6eval std 27499: OUTPUT«ok 00:02 39m␤»
literal @tell azawawi pong 20:32
lambdabot Consider it noted.
20:33 skipper_ left
davef Does rakudo implement return types yet? I'm getting syntax errors (or have I got something wrong?) 20:34
moritz_ davef: yes, it does
rakudo: sub a(--> Int) { 3 }; say a();
p6eval rakudo e7a799: OUTPUT«3␤»
moritz_ rakudo: sub a(--> Int) { "3" }; say a();
p6eval rakudo e7a799: OUTPUT«Return value type check failed; expected Int, but got Str␤in sub a (/tmp/imhKTTwTpH:2)␤called from Main (/tmp/imhKTTwTpH:2)␤»
moritz_ see, it checks the return type.
davef does that work for multi methods as well? 20:35
moritz_ I think so, yes
of course the return type doesn't participate in the dispatch
pmichaud well, it *can*, but not in the way you normally think :-) 20:36
davef Doh!! - perl6 NOT perl on command line ;( 20:38
pmichaud heh 20:41
I've done that a few times.
20:42 molaf joined 20:43 pmurias left
literal @tell azawawi I'm working on a couple of things, but they're not ready just yet 20:46
lambdabot Consider it noted.
20:46 kidd_` left 20:51 last joined
cbk_ does anyone have a good site on the web regarding all there is to know about perl 6 hashes (%) that's fairly current? 20:53
20:53 skids_ joined
moritz_ cbk_: the synopsis, probably S02, S09 and S32/Containers 20:54
cbk_ ok thanks
21:01 mkfort left 21:02 mkfort joined, mkfort left, mkfort_ joined, mkfort_ left 21:25 Limbic_Region joined 21:39 SmokeMachine left, skids left 21:41 ruoso left 21:42 Whiteknight joined 21:43 molaf left 21:46 lichtkind left
pugs_svn r27500 | moritz++ | [perl6-projects.org] make fonts in headings a bit larger 21:46
21:48 SmokeMachine joined, Psyche^ joined 21:50 DC left 21:54 IllvilJa left 21:59 Patterner left, Psyche^ is now known as Patterner 22:04 athomason joined 22:09 ispy_ left 22:13 meppl joined 22:15 jamtech joined 22:19 iblechbot left 22:22 amoc joined 22:44 Lorn left
s1n pmichaud: going to the dfwuug? 22:50
22:50 ZuLuuuuuu left 22:52 molaf joined 22:53 frew joined 22:54 nihiliad left
pmichaud s1n: still not sure if I'll go. 22:55
the topic doesn't seem particularly relevant to me 22:56
22:56 ihrd joined, mikehh_ joined
pmichaud and I have to go fetch food for the family 22:56
(doing that now--bbi20)
22:57 M_o_C left 22:58 jrtayloriv joined 23:02 cdarroch left 23:06 ihrd left 23:09 zamolxes left 23:10 mikehh left 23:21 ihrd joined 23:22 ihrd left 23:23 davef left 23:24 meppl left 23:30 FurnaceBoy joined 23:35 DC joined, FurnaceBoy left, DC is now known as HemanShaw 23:37 mofino left
pmichaud back. not able to make it to dfwuug 23:37
dalek kudo: 544038f | pmichaud++ | src/pmc/objectref_pmc.template:
Remove obsolete (and unmarked) reference to cached_type. bacek++
23:41
23:44 frew left 23:49 KyleHa1 left 23:55 FurnaceBoy joined