»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
masak rakudo: class A::C {}; A::B 00:03
p6eval rakudo 8dc189: ( no output )
zaslon lolperl6adventhazblogged! perl6advent++ 'Day 21, Grammars and Actions': perl6advent.wordpress.com/2009/12/2...d-actions/
masak locally, "invoke() not implemented in class 'Undef'"
masak submits rakudobug
rakudo: A::B 00:05
00:05 colomon left
p6eval rakudo 8dc189: invoke() not implemented in class 'Undef'␤in Main (file <unknown>, line <unknown>)␤ 00:05
masak that's better :)
Tene lol I blogged! 00:13
soupdragon lol
masak Tene++ 00:14
arnsholt Is mberends Europe-based? 00:15
Tene and I was on time, too! 00:16
masak arnsholt: he's .nl-based. 00:19
arnsholt Right. I'll try to catch him tomorrow, then 00:20
Just too bad my sleep rythm is a bit non-CET at the moment
masak speaking of that... 00:28
I think I'll be going to bed.
I got backtracking to work! \o/ gist.github.com/260695
diakopter bed or bust 00:29
soupdragon oh sweet
masak diakopter: see that? that's the TreeSpider in GGE!!!1!
diakopter ooo
masak so far in a local branch, but still. 00:30
diakopter masak: how does it parse the regex pattern
masak diakopter: with the OPTable parser.
just like PGE. 00:31
diakopter pge or gge
masak GGE.
diakopter oh
masak: oh 00:32
masak: where's yer OPTable code; I'm gonna gank it
masak :) stand by for URL.
github.com/masak/gge/blob/master/li...OPTable.pm
00:33 nihiliad1 joined
masak see also tests: github.com/masak/gge/blob/master/t/03-optable.t 00:33
diakopter wants someone to comment how fully this covers the expressivity/semantics of the OPTabley thing in STD
masak no idea. 00:34
I expect to be able to grok/review STD.pm in six months or so.
diakopter have you done any performance comparisons with pge? I mean..
masak no, but you have my guarantee it's slower.
diakopter I mean, I assume it's slower than pge, but by how much? 00:35
oh
what's the time on that gist you pasted
without the debug output
masak 2.7 seconds, it seems.
diakopter how long with single-char pattern and single-char input 00:36
masak but some of that is parse time of the script that runs it.
diakopter (succeeding)
masak 2.4 seconds.
diakopter ok
thanks
masak I'm not optimizing for speed. I'm glad it's as responsive as it is. 00:37
diakopter yer OPTable code, what's the license under which you're publishing it, so I can credit you
masak Artistic 2.0.
diakopter ok
masak and most of the credit goes to pmichaud_++, because I wrote that while reading his PIR code.
diakopter how closely does it derive from pge's optable code
masak very, very closely. 00:38
diakopter oh
masak so closely that I've made comments where it doesn't.
diakopter
.oO( perhaps I was reading the wrong things when I was looking for the PAST::Regex impl )
masak the biggest difference is that I have to use loops and conditionals where pmichaud_ does gotos.
arnsholt Hmm. Parrot's NFG sounds a bit complicated
diakopter NFG? 00:39
oh yeah.... /me forgot
00:42 nihiliad left 00:47 pmurias left 00:48 masak left 00:50 lestrrat is now known as lest_away
ash___ ummm how do you leave a message for someone again? 01:22
01:25 lest_away is now known as lestrrat
arnsholt ash___: "phenny: tell $name $msg", I think 01:26
eternaleye o/
arnsholt Sans quotes, of course
01:46 eternaleye left 01:52 agentzh joined, eternaleye joined 01:59 eternaleye left 02:01 eternaleye joined
diakopter whee 02:21
ww 02:22
02:22 _jaldhar joined 02:30 JimmyZ joined 02:32 brrant joined 02:43 JimmyZ_ joined 02:44 JimmyZ left, JimmyZ_ is now known as JimmyZ 03:24 silent11 left, colomon_ joined 03:30 tempire joined 03:40 ihrd joined, ihrd left 03:53 holli joined 03:54 buubot joined 04:01 cognominal left 04:10 meppel joined 04:11 meppl left, meppel is now known as meppl 04:15 cognominal joined, protospork joined 04:16 nacho__ left 04:17 C8H10N4O2 joined, protospork left 04:18 C8H10N4O2 is now known as protospork 04:22 brrant left, protospork left 04:23 C8H10N4O2 joined 04:27 patspam joined 04:29 C8H10N4O2 left, ActionBastard joined, ActionBastard left 04:30 patspam left 04:33 soupdragon left 04:45 fagzal left 05:21 ihrd1 joined, ihrd1 left 06:05 justatheory left 07:18 kaare joined 07:19 kaare is now known as Guest50353 07:24 tempire left 07:33 Su-Shee joined
Su-Shee good morning 07:33
07:52 Baggio_ joined 07:54 nihiliad1 left 07:58 iblechbot joined 07:59 flip214 joined
flip214 morning 07:59
I've got a new Null PMC access ... but I'm not sure whether it's my fault (wrong syntax or something like that) 08:00
rakudo: my $a=":"; my $b="aa:a:ag.:f"; $b.subst( /$a/, "-"); say $b;
p6eval rakudo 8dc189: Null PMC access in get_string()␤in Main (file <unknown>, line <unknown>)␤
flip214 ok, filed 08:03
08:06 cognominal left
carlin flip214: that's known, variable interpolation in regexes 08:11
rakudo: my $x = 'a'; $x ~~ /$a/;
p6eval rakudo 8dc189: Null PMC access in get_string()␤in Main (file <unknown>, line <unknown>)␤
flip214 ok 08:14
my bad
spinclad flip214: otoh, Null PMC access is always a compiler bug 08:15
pmurias: re r29385: CORE.js:355: return ??>>interpreter,<<?? this[storage];
carlin trying to find the ticket number... RT is painful to work with :/ 08:18
spinclad rakudo: my $a = /'a'/; my $x = 'a'; $x ~~ / <$a> /; 08:20
p6eval rakudo 8dc189: Confused at line 2, near "$a> /;"␤in Main (file <unknown>, line <unknown>)␤
08:20 cognominal joined
spinclad rakudo: my $a = /'a'/; my $x = 'a'; $x ~~ / $a /; 08:20
p6eval rakudo 8dc189: Null PMC access in get_string()␤in Main (file <unknown>, line <unknown>)␤
spinclad rakudo: my $a = /'a'/; my $x = 'a'; $x ~~ $a;
p6eval rakudo 8dc189: ( no output )
spinclad rakudo: my $a = /'a'/; my $x = 'a'; $x ~~ $a; say $/; 08:21
p6eval rakudo 8dc189: a␤
08:23 rgrau joined
carlin It's RT #61960 08:28
08:35 Baggio_ left 08:36 mariuz joined, Baggio_ joined 08:47 tempire joined 08:48 tempire left
mathw I'm down for Advent tomorrow aren't I 09:28
eternaleye rakudo: my $x = 'a'; $x ~~ /"$a"/; 09:35
p6eval rakudo 8dc189: Confused at line 2, near "~~ /\"$a\"/;"␤in Main (file <unknown>, line <unknown>)␤
eternaleye ng: my $x = 'a'; $x ~~ /"$a"/;
p6eval ng 9d5018: ( no output )
eternaleye ng: my $x = 'a'; $x ~~ /"$a"/; say ~$/
p6eval ng 9d5018: ␤
eternaleye ng: my $x = 'a'; $x ~~ /"$a"/; say $/.perl
p6eval ng 9d5018: Method 'perl' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
09:43 jferrero joined
spinclad ng: my $x = '$a'; $x ~~ /"$a"/; say $/; 09:48
p6eval ng 9d5018: $a␤
spinclad ng: my $x = '$a'; $x ~~ /'$a'/; say $/;
p6eval ng 9d5018: $a␤
spinclad no interpolation yet 09:49
09:58 lestrrat is now known as lest_away 10:00 meneldor joined 10:07 pmurias joined 10:19 agentzh left 10:31 JimmyZ left 10:43 clintongormley joined 10:48 pmurias left 10:55 meneldor left 11:21 Calimbeul joined
moritz_ good day 11:30
clintongormley good day to you too sir 11:43
quiet in here today
moritz_ slept until 12 in the "morning" :-) 11:44
clintongormley is familiar with that of late 11:45
11:46 Baggio_ left
clintongormley moritz_: you do stuff in C, no? 11:46
moritz_ well, I spent 7 hours on the road yesterday, though snow and ice
clintongormley: seldomly
clintongormley going 5 km?
but perhaps you can answer a query 11:47
moritz_ between 5 and 105 km/h
clintongormley i never do stuff in C - just compiling packages
but compilers emit SOOo many warnings etc
some of which look serious
is that just lazy programming, or expected?
moritz_ surely depends on context 11:48
do you mean while compiling rakudo?
clintongormley no, other libraries, nothing to do with rakudo etc
just C libraries in general
moritz_ it is often a result of different compiler versions
clintongormley ok
moritz_ people compile with -Wall
and then the next compiler version introduces new warnings that are included in -Wall 11:49
clintongormley right
things like cast pointer to different integer size
or incompatible pointer type
moritz_ that can also be a 32bit vs 64bit problem
people just assume that sizeof(int) == sizeof(int*) 11:50
jnthn omg new laptop is arrive!
clintongormley but that's a problem then, surely
w000t
christmas is here early!
moritz_ or late :-)
jnthn Finally I can hack on Rakudo at a decent pace again. ;-)
clintongormley heh
jnthn ...once I get all the compiler tools installed.
11:56 Baggio_ joined 11:58 lest_away is now known as lestrrat 12:04 meneldor joined
meneldor guys does perl6 have function like in javascript setInterval() or setTimeout() ? 12:04
moritz_ since nobody implemented a threading or event-model yet... don't think so 12:05
meneldor in perl5 i realise this using signals but this is a bit hackish 12:06
and dangerous
moritz_ and only with resolution of one second 12:07
or more sophisticated with POE
meneldor not only one second 12:08
12:11 bluescreen joined
meneldor with select(undef, undef, undef, 0.5) for example 12:12
Juerd You best bet is to write your own event loop, I think 12:25
meneldor i used it in perl5 to realise a object animation with easing 12:34
and the only way was with select() time fragments and signals 12:35
12:39 flip214 left 12:42 pmurias joined 12:48 JimmyZ joined 12:50 iblechbot left 12:55 rgrau left 12:57 takadonet joined
takadonet morning all 12:58
13:05 masak joined
masak greetings gentlemen. 13:06
(and butterflies)
13:10 kensanata joined, lestrrat is now known as lest_away 13:11 frettled sets mode: +o masak
frettled Mellow greetings, citizen! 13:11
masak be vigilant!
mathw Greetings, citizen. Are you happy? 13:13
masak surprisingly, yes. :)
mathw: what about you, citizen?
frettled: and you?
mathw I am as happy as I would usually expect to be at this time on a Monday afternoon in the office. 13:14
frettled masak: Not entirely, but I'm content, thank you :)
masak aren't you both enjoying the freedom and high standard of living granted to you by your government? remember, this is a democracy!
mathw Most of the time, that's not something I actively think about enjoying. 13:16
frettled masak: you're forgetting that we're living in "the last communist state"
13:16 lest_away is now known as lestrrat
mathw Being human, I tend to end up worrying about how it might be eroded rather than enjoying its current state. 13:16
frettled masak: the Chinese recently took offense, and decided to fix their bureaucracy to something similarly obnoxious, though :)
masak frettled: I forget who said that thing about the 'last communist state'. it was some Swedish politician, right? 13:17
mathw A lot of people here think Sweden's some kind of utopian paradise 13:18
...apart from the snow
masak we're pretty happy about the snow.
mathw ...and the naked girls
araujo likes that part
masak mathw: a utopian paradise -apart- from the naked girls? 13:19
frettled masak: Yup, that's right
masak: the irony :D
mathw masak: some people are very prudish
Think of the children!
frettled mathw: Have you seen "Sicko"?
mathw frettled: no
The title does not suggest to me that I might like it
frettled mathw: During the research (yeah, he did research) for that movie, Michael Moore investigated the health care in various European countries. 13:20
mathw: he chose France as the counter-example to USA because he didn't think anyone would believe the arrangements in Norway.
mathw Oh it's that film
moritz_ lol
frettled We're living in "Scandivegian Libertopia"
mathw I thought that would be quite dull
After all, I grew up with the NHS 13:21
And I find the US system horrifying
We don't even have the best national health care system
Good enough, though
Most of the time
frettled mathw: UK, right? The UK's NHS is the largest employer in the world, you know that? 13:22
13:22 slavik joined
Su-Shee what? they beat the german tax department? impossible! ;) 13:22
frettled "That word doesn't quite mean what you think it does." ;) 13:23
mathw frettled: yeah I'd heard that
It's also widely considered to be staggeringly inefficient
But somehow, each day they treat thousands of patients 13:24
And most of them don't even die
frettled Every health system in the world seems staggeringly inefficient until you see the US health chaos.
mathw: \o/
13:25 eternaleye left, payload joined
moritz_ wow, ng's spectest looks rather messy 13:28
takadonet moritz_: how so?
moritz_ takadonet: two tests segfault, one dies
takadonet ouch 13:30
frettled whoopsie
moritz_ and it runs only 75 files all in all 13:31
13:37 jan_______ joined
mathw ouch 13:40
somebody slipped up there
colomon_ No, that's just the way ng is. 13:41
It randomly segfaults.
jnthn moritz_: I think there are some roaming segfaults. 13:42
moritz_: Heisenbug. :-/
colomon_ The tests in question actually pass, when they're not segfaulting.
And the seg faults varies from computer to computer and build to build.
but moritz_, if it really bothers you, feel free to take a stab at tracking it down. :) 13:43
moritz_ lol
colomon_ maybe you'll think of something jnthn and I have missed repeatedly. :) 13:44
mathw Oh no 13:47
One of those
I hate those
It's usually something very small, miles away from anywhere it ever crashes
13:48 jan_ left
mathw Suddenly a nasty bug report my boss decided to forward to me seems pleasant... 13:48
13:48 iblechbot joined 13:52 orafu joined 13:59 patspam joined 14:05 c1sung left, c1sung joined 14:06 cls_bsd joined 14:07 holli left
PerlJam good morning 14:25
takadonet PerlJam:morning 14:27
arnsholt How do you get git to follow the ng branch? 14:29
moritz_ git checkout -b ng --track origin/ng
arnsholt I don't seem to get along very well with git, and have failed completely at doing it myself
No more magic required to get it to update the files in my working copy and such? 14:31
moritz_ no
(and then simply `git pull' to update it again) 14:32
arnsholt Cool. Thanks a bunch
takadonet Anyone got time to help debug my parser? Not sure if I ran into a bug or not 14:34
PerlJam takadonet: you probably did run into a bug, but it may just be *your* bug ;) 14:35
takadonet PerlJam: hopefully
lisppaste3 takadonet pasted "Fasta Grammar" at paste.lisp.org/display/92423
PerlJam takadonet++ bioperl6 :) 14:36
takadonet PerlJam: Have you used bioperl before? 14:37
PerlJam not really. Just when I run across people who need help on IRC
moritz_ builds rakudo master to try 14:39
PerlJam takadonet: so ... what's the problem exactly?
takadonet Well my issue is that I cannot modify the match object '$/' in my method Sequence. Trying to remove all the new line characters using subst. When I do, it seems that it ignores it
PerlJam takadonet: subst() doesn't do an inplace substitution. you need to assign the result. 14:40
14:40 mberends joined
moritz_ he calls make() 14:40
takadonet make $/.subst(rx/ \n /, '',:g);
PerlJam takadonet: also, make needs an AST yes?
moritz_ make sets an AST 14:41
PerlJam moritz_: aye, I'm slow this morning :)
moritz_ here to a string
PerlJam needs to context-switch his brain to Perl 6
moritz_ takadonet: it seems to be related to .subst 14:42
takadonet: when I replace the make $/.subst... line with make 'foo' , it works as expected
takadonet mortiz_: That what I did and realized I needed #perl6 help 14:43
moritz_ rakudo: say "ABC\nDEF\nGHI".subst(rx/ \n /, '', :g)
p6eval: ping
14:43 Gothmog_ joined
moritz_ ng: say 'alive' 14:44
takadonet not good
14:44 cls_bsd left, jan_______ left, JimmyZ left, bluescreen left, buubot left 14:45 r0bby joined
PerlJam weird 14:47
14:47 y3llow joined
mathw freenode's still having problems I see 14:48
takadonet hmm 14:49
guess I have to wait for an answer :(
14:49 cls_bsd joined, jan_______ joined, JimmyZ joined, bluescreen joined, buubot joined, rachelBROWN joined, LionMadeOfLions joined, yahooooo joined, p6eval joined, irc.freenode.net sets mode: +v p6eval
moritz_ ng: say "alive" 14:49
14:51 p6eval left, p6eval joined
p6eval ng 9d5018: alive␤ 14:51
14:51 p6eval left, p6eval joined 14:52 moritz_ sets mode: +v p6eval 14:54 jaldhar_ joined
moritz_ takadonet: when I call $/.subst(something), then make(123) doesn't have an effect anymore 14:56
PerlJam yeah, subst() is somehow screwing things up.
moritz_ or even my $x = "$/"; $x.subst(...)
PerlJam Calling subst() on anything prior to make causes fail 14:57
takadonet Ya I tried that as well
moritz_ rakudo: my $x = ("ab\ncd" ~~ /.*/); say $x.subst(/\n/, '', :g)
p6eval rakudo 8dc189: abcd␤
moritz_ maybe the regex engine is not reentrancy safe? 14:58
PerlJam could be
moritz_ ng: say (1, 2, 3)>>.abs
p6eval ng 9d5018: 123␤
moritz_ takadonet: I'll submit a bug report 15:01
15:02 Guest50353 left
takadonet moritz_ : Thanks 15:02
15:02 meppl left
PerlJam Doing non-subst regex doesn't seem to affect anything 15:02
takadonet So anyone know another way to remove all '\n' characters ? 15:03
PerlJam oh wait, it does.
masak takadonet: .trans?
takadonet masak: never heard of that one...
masak it's in S05. 15:04
takadonet starts looking at the spec
masak near the bottom.
takadonet thanks
masak winks
no problem.
moritz_ it's like tr/// on crack
takadonet lol
moritz_ make $/.trans(/\n/ => '');
works
15:04 frettled sets mode: +o takadonet
takadonet !!!!! 15:04
moritz_ actually "\n" => '' also works
and is probably a bit faster 15:05
masak I'd use that latter one. yes.
moritz_ erm, excuse me, fasta :-)
frettled I'm a bit disappointed that the bug report wasn't a masakbug. ;)
PerlJam Hmm.
masak frettled: :)
takadonet frettled: Why you give me +o mode?
masak he likes to do that. 15:06
moritz_ "why not"?
15:06 _jaldhar left 15:07 Psyche^ joined
frettled takadonet: you're a regular, I kinda know who you are, and you're apparently trustworthy, and I remembered to do it. 15:07
15:07 Psyche^ is now known as Patterner
takadonet frettled: thanks 15:08
frettled takadonet: it's insurance in case there is a netsplit, so that we have enough people that there is an op available, just in case some idiot decides to enter and flood the channel, a bot has lost its voice (+v) etc.
arnsholt takadonet: Thanks for asking. I've been curious about my +o as well =) 15:09
meneldor guys is this FAQ updated www.programmersheaven.com/2/Perl6-FAQ
frettled TimToady is also quite generous with kanelbullar, that's why I have one, and I suspect that I mustn't be too wrong in my assessment. ;)
JimmyZ I've been curious about xinming's +o as well :)
15:09 PacoLinux joined
frettled FAQ Last Updated: 14th November 2007 15:10
meneldor i have some strange output trying this: my Cat @basket;
takadonet Last time I was an op was.... 2001 so no idea what command I can do or how!
frettled meneldor: anything that hasn't been updated in over two years is outdated :)
frettled doesn't know who xinming is, hee-hee.
meneldor oh every time i read old info :(
mathw takadonet: in emergencies, just remember /kick :)
takadonet mathw: hehe
moritz_ meneldor: rakudo doesn't have a Cat type yet :/
mathw although the only time I ever wanted to use it, I wasn't an op 15:11
meneldor o.O
frettled meneldor: use www.perl6.org as a basis, there is better and more up-to-date information there
meneldor tnx
frettled np
(af
meneldor and what about perlcabal.org/syn/
arnsholt Those are the definitive specs 15:12
moritz_ that's up-to-date, but it documents the should-be status, not the "is" status
arnsholt And they're not always easy to follow
mathw If you need any clarification, ask us :)
meneldor ok :) im still on "perl5 to perl6 faq" 15:13
15:14 payload left
arnsholt Are the C portions of Rakudo compiled with -g by default? 15:16
mberends arnsholt: pong (you were looking for me?)
15:16 payload joined
arnsholt mberends: Indeed 15:16
I was just curious if you'd given any more thought to the grammar/LLVM thing you mentioned? 15:17
15:18 JimmyZ left
meneldor i love those who had introduced the junctions into p6 :) 15:18
no more: if ($a ==1) or ($a == 2) .... 15:19
mathw junctions are very handy
yeah
I wrote about that for the advent calendar
it seems to have gone down quite well
meneldor i loose too much time to write tons of if and and and 15:20
moritz_ mberends: which version of llvm is required for vill?
mberends arnsholt: yes, though about it not enough yet. In principle, the general way Q:PIR is implemented should map to a Q:C, but the devil is in the details. One not so slight problem is that LLVM is not C, although it is modelled to be a very efficient backend for C style compilers.
moritz_: llvm 2.6 (latest stable) 15:21
moritz_ looks at backports.org if they have llvm-2.6
nope 15:22
:(
meneldor guys the thing i didnt understand yet is am i able to complite p6 script to bytecode ?
mberends meneldor: give me 5 years and it will be done ;)
moritz_ meneldor: rakudo can compile modules to PIR, but (afaik) not scripts 15:23
meneldor going for beer
moritz_ don't know if compiling modules to bytecode works
mberends moritz_: you did write about making .pbc files once 15:24
moritz_ mberends: yes. And at that time it worked
meneldor well is there any way that i can contribute to p6 if the only language i know is p5 ?
i mean i dont know C
moritz_ meneldor: if you learn Perl 6, yes :-)
that's fine 15:25
that shouldn't stop you from writing Perl 6 modules and reporting rakudobugs
meneldor yes 15:26
mathw knowledge of C is far from necessary
It's needed for certain things, but there's a lot to do in Perl 6 or NQP or PIR...
even some Perl 5!
meneldor i tryed to learn C after perl5 but... i dropped it :) 15:27
mberends meneldor: it helps a lot to try implementing Perl 6 versions of algorithms you already know. They sometimes point out omissions in Perl 6, and give the developers valuable feedback (and encouragement). 15:28
15:28 plainhao joined
arnsholt Bah! Compiling Parrot with -g makes the NULL pointer deref go away 15:28
moritz_ wonders why gcc tries to continue compilation even after include files were not found
it only generates a bunch of obscure error messages, usually
meneldor mberends: you mean modules?
mberends meneldor: yes, mainly modules, and then small driver programs that use the modules 15:29
meneldor hmm the last 2 years i've worked only with catalyst/dbix::class 15:30
i mean web things
mberends meneldor: (maybe relevant) admittedly self centred example: gitorious.com/http-daemon has a webserver module, and a small httpd script to launch it 15:32
Su-Shee implement a nice form handler, extent the css grammar and the html grammar to css 3 and html 5, write a rss/atom module, start implementing the tons of APIs to all the fancy web services..
meneldor nice! 15:33
mberends Su-Shee: I thought you had done that already ;)
Su-Shee mberends: yeah, but never finished. My new job got in the way. 15:34
meneldor: implement a basic untaint for security stuff..
meneldor :) ok, but im in the beginning of p6
let me understand it
the difference is bigger that i've though 15:35
moritz_
.oO( has anybody here understood Perl 6? :-)
Su-Shee meneldor: I've started with an idiot's Atom class which essentially just contained a bunch of "add_title" "add_entry" and so on methods which actually generated a valid atom feed.
meneldor but the important here is that im starting to love p6
PerlJam meneldor++ important indeed 15:36
mberends hugme: hug meneldor
hugme hugs meneldor
Su-Shee moritz_: I've started to try to do a short reference and gave up :/
15:36 payload left 15:37 payload joined
moritz_ :-) 15:37
15:37 jaldhar_ left 15:38 jaldhar_ joined
meneldor :D 15:41
Su-Shee well it would be helpful to have one. which automatically would contain a niy list. 15:42
meneldor guys do we really need "my" and "our" if there are types like Int ? 15:45
like: my Int $a
moritz_ yes
to make clear it's a type declaration
Su-Shee my and our is about scoping. Int, String and so on is what type you have.
moritz_ and not a subroutine definition
meneldor i mean to write only Int $a instead of my Int $a 15:47
may be im reading obsolete info again :)
mberends commute & # most Dutch trains stopped because "maintenance free" points/junctions are frozen :-/
Su-Shee but my is essentially the same as in Perl 5, isn't it?
moritz_ yes 15:48
meneldor yes it is but its additional word :)
or may be im too lazy :P
PerlJam meneldor: then why even say "Int"?
it's an additional word too 15:49
meneldor is that possible when use local Int to avoid my?
moritz_ meneldor: I see it the other way round - 'my' tells you what's going on (and is mandatory), while Int is optional, additional information
meneldor Int to mean: my Int
15:49 nihiliad joined
moritz_ meneldor: a type object can also stand alone, without a declaration 15:50
afk
15:50 mberends left
PerlJam meneldor: you think that typed variables should be lexically scoped by default? 15:50
meneldor yes 15:51
PerlJam What about untyped vars? Should they have a default scope?
meneldor im alwayz using strict+my by default
Su-Shee I would have liked if my wouldn't be necessary, because the scoping is similar to other languages. (whatever this scoping style is called) 15:52
PerlJam Su-Shee: except that the "my" supplies useful information (to Perl) that helps the perl compiler to save you from your own errors. 15:53
15:54 jaffa8 joined
jaffa8 hi 15:54
Su-Shee well, I still don't really like it and would have wished for it to go away in 6.
jaffa8 Ia there any news concerning rakudo?
Is it getting faster?
PerlJam jaffa8: There was a release last week. That's news :) 15:55
meneldor i dont like 'my' so much too
15:56 justatheory joined
PerlJam If you can come up with a convincing argument why typed variables should be lexically scoped by default, maybe that could be added to the spec. 15:58
But even still, for untyped vars, you need the "my". And, of course, non-lexicals need explicit scoping. 15:59
frettled . o O ( my:Int, local:Int ) 16:00
. o O ( Int, Int:local, … )
The barf box is over there =>
mdxi i like "my"
16:01 abra joined
PerlJam It's not a popularity contest though. It's a "is this thing useful" and "should we elide it in certain circumstances" and "does the intent stay clear" contest :) 16:02
arnsholt Does the local declaration still exist?
PerlJam arnsholt: it's called temp now
jaffa8 Has anyone tested the compiler speed recently? 16:03
PerlJam jaffa8: I think most of the speed issues are being addressed at the Parrot level rather than the Rakudo level.
arnsholt PerlJam: Thanks. Dynamic scope is a bit obscure (not to mention arcane), but very useful in certain cases 16:04
jaffa8 PerlJam, ok
16:06 Baggio_ left
mdxi well, when i said "i like 'my'", what i was actually thinking (but did not say) was "as someone who has been for a long while -- and still mostly is -- a Perl 5 programmer, 'my' reduces cognitive load by continuing to do what it has always done, and in a language oft-criticized by outsiders for having a surfeit of implicitness, is this tiny but of explicitness really worth trying to optimize away?" 16:07
but that seemed kinda wordy. so i just said the other thing.
PerlJam mdxi++ 16:08
arnsholt: you know that Perl 6 has a few more scoping declarators? 16:09
C<state> and C<let> come to mind.
Juerd I think the explicit environment thingies are incredibly useful. 16:10
I've often abused %_ for that.
arnsholt PerlJam: state I know (from Perl 5.10 =), but let has escaped my attention. What does it do? 16:12
takadonet Which Synopsis is 'gather' in?
Juerd arnsholt: state keeps the variable scoped like a lexical, but extends the duration until forever. :)
arnsholt: So next time the closure's called, it'll still have the same value. 16:13
PerlJam arnsholt: It hypotheticalizes a value. If the block that the C<let> is in succeeds, then the variable keeps the value assigned; if the block fails, then the value reverts back to whatever it was before.
arnsholt Right. Now that you mention it, I think I've read about it once before 16:14
Juerd Oh, I didn't read arnsholt's question correctly and I explained state.
arnsholt An excellent idea
PerlJam takadonet: S04
takadonet PerlJam: thanks
16:15 [particle]1 left, lqdai joined, clintongormley left 16:16 lqdai left
arnsholt The S02 POD has a couple of missing closing brackets. Who do I talk to about that? 16:20
16:25 [particle] joined
masak arnsholt: do you have a Pugs commit bit? 16:30
16:32 cognominal_ joined 16:39 cognominal left 16:40 nbrown joined
colomon_ ng: say (1, 2, 3)>>.abs 16:42
p6eval ng 9d5018: 123␤
colomon_ since when does that work?
in ng, I mean.
ng: say (1, 2, 3) >>+<< (2, 3, 1) 16:43
p6eval ng 9d5018: Confused at line 1, near "say (1, 2,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
16:43 meneldor left
moritz_ colomon_: quite long, for method calls 16:44
colomon_ and here I've been struggling along with map.... :) 16:45
jnthn colomon_: It's parsed / handled differently to hypers in general. I popped it in a while back while trying to get towards another passing test. 16:47
16:50 perlsyntax joined, perlsyntax left 16:51 kensanata left
jnthn wonders if the Cool class is considered likely enough to be staying around to add it into ng. 16:51
colomon_ jnthn: I was wondering how hard that would be to do. 16:53
PerlJam jnthn: It's too bad there's not some easy measure of volatility you can use (other than asking TimToady)
colomon_ If the idea is stable but not the name, that's no biggie. 16:54
And the idea seems pretty solid...
PerlJam colomon_: really? I can never tell.
colomon_ PerlJam: well, it's been mulled over for nearly a month now, I think.
and it seems to make sense.
jnthn My gut feeling is that it'll live.
PerlJam jnthn: always trust your gut. 16:55
masak jaffa8: I think I have been feeling Rakudo speedups in the past few months. nothing dramatic, to be sure. but slight speedups.
colomon_ "Cool" might not survive, but name changes are easy to deal with. 16:56
moritz_ jnthn: I think it's meant to stay, in some form or another. Maybe it's going to get renamed or so, but something along its lines has to exists, IMHO
jnthn moritz_: Yes, I like the concept.
The name works for me too.
My name complaining is with Mu. ;-)
moritz_ and using a class is better than a role (as I initially proposed=
jnthn Aye
moritz_ s:P5/=/)/
colomon_: I got a 91x91 colored mandelbrot fractal from Rakudo without segfaulting :-) 16:57
colomon_ \o/
PerlJam moritz_: how long did it take? :)
arnsholt masak: No, I don't have a commit bit 16:58
moritz_ arnsholt: time to change that
masak arnsholt: ok. privmsg me your email address, and I'll see what I can do.
moritz_ PerlJam: no idea :-)
17:00 harovali joined
moritz_ public service announcement to all pugs committers: you can add new committers at commitbit.pugscode.org/admin/proje...ugs/people (SSL cert expired, but works if you add an exception= 17:00
and again s:P5/=/)/
[particle] you should alias that
moritz_ it seems aI have more trouble switching between US and DE keyboards than I'd like
arnsholt And all of a sudden I have to go 17:04
masak arnsholt: welcome aboard! you can make a test commit by adding yourself to the AUTHORS file.
...when you have time.
arnsholt Yeah. Sorry, 'bout that
I'll be back to ask questions about that later =)
But thanks for the commit bit. Hopefully I can contribute more than just proof-reading with time 17:05
colomon_ PerlJam: 91x91 color segfaults for me in 1 min and 9 seconds. :)
masak arnsholt++ # I like having you aboard already! 17:06
17:07 harovali left
[particle] moritz_: in your parrot-dev mail, s/pnm/png/ 17:08
masak is mandelprot in proto's projects.list? 17:10
PerlJam boggles at how fast 9GB is transferred over a network these days. 17:17
takadonet what does this error mean: invoke() not implemented in class 'Undef'? 17:20
masak I just had a Twitter discussion starting on 'vapor' and ending on 'tutorials'. success! \o/ 17:21
takadonet: it means you used a class but did not declare it (yet).
PerlJam masak++
masak takadonet: it's one really LTA error.
takadonet masak: thanks 17:22
masak: url for twitter?
masak takadonet: twitter.com
takadonet ...
masak :P
takadonet: my nick is 'carlmasak', and the other guy is 'campbellmichael'.
takadonet thanks
17:23 cdarroch joined
masak you'll have to piece together the order of the tweets yourself. 17:23
swimming &
17:23 masak left
ash___ jnthn: i figured out a way of getting the RoleHOW.methods to work 17:24
17:25 nbrown left, thowe joined
ash___ without having to replace the method 17:25
jnthn ash___: oh? 17:26
ash___ jnthn: added a try catch and made it try to make an Array and if i get the class undefined error I make a ResizablePMCArray instead 17:27
jnthn ash___: Ah, that can work too ;-) 17:28
ash___ although i wanted to make sure it can do all the other stuff ClassHOW does, so i am still adding that stuff to it, then i'll send you a patch
jnthn Well, the one for roles should be simpler, I guess. 17:29
ash___ as in being able to say :local, :private, :parent
jnthn I don't think :parent makes sense for a role.
ash___ well a role can does other roles, right?
jnthn Yes, but composition is flattening.
takadonet I can read a single/multiple Fasta file using a grammar !!!!
ash___ ah, okay 17:30
takadonet also returns Sequence objects as well!
jnthn So post-composition, we don't know if the methods were defined in that role or in another role.
PerlJam takadonet++ awesome
jnthn ash___: But :private you can certainly do, yes. :-)
ash___ jnthn: k, well, then local doesn't make sense either since all the methods would be local 17:31
jnthn ash___: Yeah.
That's true.
ash___ well, i already did private so, yeah, ima just added a few more tests then send it to you to see how badly i am breaking the coding standards 17:32
jnthn is just installing a C compiler at the moment on $new-laptop :-)
moritz_ [particle]: no, it's really PNM format
[particle] oh, i'm not familiar with that, i guess 17:33
moritz_ it's a very simplistic format that allows plaintext 17:34
no need for binary output
TimToady hmm, slight inaccuracy Day 21, it's like the /x and /s mods are turned on, not /x and /m
the /m merely makes ^ and $ match like ^^ and $$, which isn't what's going on here 17:35
PerlJam well, /s just makes . match any character and that's not really relevant to the text either. 17:36
TimToady and there's no use of . so it probably makes sense to just drop the mention of /x
er, /m
moritz_ I'll s/m/s/ 17:37
moritz.faui2k3.org/tmp/mandel-color.png # 91x91 colored mandelbrot fractal, made with Rakudo 17:40
jnthn pretty :-) 17:41
17:43 abra left
ash___ jnthn: should i send you the patch? 17:52
18:00 stephenlb joined 18:04 mariuz left 18:07 colomon_ left 18:13 payload left 18:20 colomon joined 18:22 rgrau joined
colomon is trying a 501x501 color Mandelbrot set. He can already hear the MacBook Pro fans revving up... 18:23
TimToady thinks about O(n²) 18:24
colomon Rakudo avoids O(n^2) in this case by simply giving a Bus Error a few minutes into the run. 18:25
18:25 cotto left
colomon phenny: tell masak Feel free to add github colomon / mandelbrot to proto. Though I don't know that the format is right to be installed (it's just two scripts unless moritz_++ has been fiddling with it since the last time I looked). 18:29
phenny colomon: I'll pass that on when masak is around.
18:38 ash___ left, cotto joined
zibri stick off 18:39
oops :(
18:45 Intensity joined 18:59 Intensity left 19:02 nihiliad left 19:03 mberends joined 19:07 nihiliad joined 19:12 jonasbn joined 19:17 jaldhar_ left 19:28 japhb joined 19:30 itnac joined 19:49 snearch_ joined 19:52 ShaneC joined 19:55 nihiliad left 19:57 pmurias left 19:59 colomon left
moritz_ dev.perl.org/perl6/ much improved, IMHO 20:01
20:02 payload joined 20:04 takadonet left, cognominal_ left 20:09 pmurias joined 20:12 nihiliad joined 20:13 cognominal joined 20:14 Su-Shee left, tempire joined 20:15 pmurias left 20:16 pmurias joined 20:17 Su-Shee joined 20:22 pmurias left, pmurias joined
jaffa8 moritz_, 20:23
TimToady yes, it is
jaffa8 hi
is the compiler faster now?
TimToady which compiler? 20:24
jaffa8 rakudo
mberends masak noted a slight subjective speedup
TimToady it's been getting a bit faster over time as parrot optimizes things
jaffa8 I see 20:25
20:27 xenoterracide joined 20:30 pmurias left 20:31 jferrero left 20:51 pmurias joined 20:54 synth joined
jaffa8 I get this error 20:54
Unable to find Perl 6 dynops and dynpmcs library.
Do you know how to fix it?
mberends jaffa8: did you 'make install' latest rakudo? 20:55
jaffa8 no
I downloaded the binaries
mberends jaffa8: which OS and which download URL? 20:56
jaffa8 this is one sourceforge.net/projects/parrotwin32/ 20:57
mberends looks 20:58
jaffa8 this two switch.dl.sourceforge.net/project/p...udo-24.exe 20:59
mberends the big green button seems to be for the docs only
jaffa8 on windows.
mberends jaffa8: it's possible you installed only the parrot docs, not the parrot runtime. The second URL is Rakudo *for* Parrot 1.9, but *without* Parrot 1.9 21:01
jaffa8 to be more exact,switch.dl.sourceforge.net/project/p...udo-24.exe 21:02
mberends yeah, that one does *not* include parrot
jaffa8 but this is freefr.dl.sourceforge.net/project/p...-1.9.0.exe 21:03
mberends ah, that makes more sense :)
jaffa8 less sense because it aint working.
21:03 pmurias left
mberends :( 21:04
21:04 pmurias joined
mberends jaffa8: which Perl 5 do you have installed? Strawberry or ActiveState? 21:05
jaffa8 What difference does it make? 21:06
Activestate.
diakopter I think: one is compiled with gcc; one is compiled with msvc
mberends :( if it was Strawberry, I would suggest re-building the rest from source
but ActiveState does not include a C compiler 21:07
what diakopter++ says is also a possible cause or errors
diakopter actually, I think the recent ones are set up to use msvc in cpan client if you have it installed
(and it's free) 21:08
(the express edition, at least)
ones==activeperl
BinGOs the last I recall the compiler tools came with the platform SDK
21:09 bluescreen left, pmurias left
diakopter jaffa8: do you happen to have the binaries from mingw, msys, cygwin, or gnuwin32 in your %PATH% ? any of those *might* be gumming it up 21:10
mberends jaffa8: in any case, re-building everything from source will give you a more reliable setup and better support from #perl6. I suggest you pick yourself one of the compiler toolchains and then re-build everything. 21:11
21:11 snearch_ left, pmurias joined
mberends (we're not that good at providing or supporting binaries yet) 21:12
jaffa8 there are binaries
and there was no warnig
bad PR
very bad. 21:13
diakopter no warning for what?
jaffa8 that binaries do not work
do not download them
mberends sorry, whoever publishes the binaries is responsible
some member of sourceforge.net 21:14
diakopter jaffa8: setup-parrot-1.9.0-rakudo-24.exe didn't work?
jaffa8 set up ruins
it does not install some fiels I think 21:15
Unable to find Perl 6 dynops and dynpmcs library.
I cannot see dynpmc library
How does that look like?
diakopter which windows do you have? 32-bit? 64-bit? which version?
21:15 synth left
jaffa8 WHat extension does it have? 21:15
mberends cannot help that part - working in Linux today 21:16
diakopter jaffa8: I don't know where it thinks it's installing them 21:17
if you're on x64, my guess is that it wasn't tested ultra-thoroughly there
also Vista, Win7 21:18
diakopter tries it on Win7 x64
jaffa8 EInfoed 7 21:19
Windows 7
diakopter 32-bit I guess?
jaffa8 x32
diakopter the account as which you ran the installer - was that an Administrator account? 21:20
mberends :) Einfoed 7 # blind typist
21:21 pmurias left
diakopter setup-parrot-1.9.0.setup installed to C:\Parrot-1.9.0 21:21
21:21 pmurias joined
mathw Aaaaah 21:21
21:21 colomon joined
mathw I believe I'm down for advent tomorrow and I've not written it!! 21:21
diakopter then when I ran setup-parrot-1.9.0-rakudo-24.exe, it says "the folder C:\Parrot-1.9.0 already exists; Would you like to install to that folder anyway?" 21:22
jaffa8 diakopter,no
mberends mathw: there have been a few juggles of the schedule, you could apply for an extension of time ;)
diakopter jaffa8: I'm just reporting what it's doing on my machine 21:23
jaffa8 diakopter, Iguess the answer is yes,
diakopter,you follow my path so it seems.
diakopter then I opened a cmd.exe
and typed cd \Parrot-1.9.0\bin 21:24
jaffa8 perl6
diakopter and typed perl6 -e "say ""hi"""
jaffa8 and?
diakopter and it outputted
hi
how many files are in your bin\
(under the parrot install dir)
mine has 26 21:25
jaffa8 miracle!
mberends \o/
diakopter jaffa8: how many files?
I mean 21:26
mberends didn't know about that quote trick in cmd.exe :)
jaffa8 interesting
it works for me too in that way,.
diakopter the quoting rules for cmd.exe are................................... ................. ........... icky
mathw mberends: this has already been juggled once. And, actually, what I really need is somebody else to do it for me. I do not have time to write it anymore :(
diakopter you can escape a line break with ^ 21:27
21:27 jaldhar joined
jaffa8 it looks like the current directory has to be the bin directory 21:27
diakopter jaffa8: ah
good discovery
jaffa8 yes, this works in this say
way
mberends mathw: what was your topic?
jaffa8 that is was the problem
diakopter also, you could try adding the bin\ dir to your %PATH%; I'm curious whether it works that way
mathw mberends: traits 21:28
diakopter set PATH=C:\Parrot-1.9.0\bin;%PATH%
mberends mathw: I know too little about traits to be of help, sorry :(
diakopter jaffa8: yes, that works too
mathw mberends: part of the problem is the amount of research I haven't done 21:29
hardest of my three topics, and I've just been unable to sit down and write it
I should have done it at the weekend, but other things intervened
mberends there's only so much procrastination that a project can take
mathw yes because then the deadline arrives
I wonder if there's something else I could write it on which I could produce in time 21:30
I've got a bit of time now...
mberends mathw: probably a better option, yes
21:31 pmurias left
mathw not that I can think of one 21:32
fortunately for our completeness, masak's got gather/take sorted for tomorrow
or rather, the next day
bum bum bum
jaffa8 what is this Embedded comments now require backticks at line 379, near "{\r\n "?
mathw anybody got any topic ideas?
mberends not yet 21:33
rjbs Is it possible for users to easily make new operators in Rakudo yet?
I would be interested to see that.
mberends jaffa8: usually there is something like #[ on the line 21:34
Tene Yes, that's possible in rakudo master.
mathw rjbs: overloading existing ones is possible
adding new ones should be possible, although I'm not sure if I know that completely yet
rjbs That would be fun to read about.
mathw and we've not had it!
operator overloading
much easier to write about
I shall do that
mberends :) 21:35
colomon \o/ 21:37
operator overloading is good.
I already mentioned it in day 17, but I didn't really explain it at all.
rjbs can you recover from exceptions in p6? 21:38
colomon rjbs: p6 has try { }
jaffa8 ok, problems , problems
in Main (file <unknown>, line <unknown>)
rjbs Right, but can you recover?
not handle and continue, but return to the point of throw, a-la lisp conditions
colomon mathw: adding new operators is exactly the same as overloading existing ones.
rjbs: I'd assume no, but that's not my area of expertise in the least. 21:39
Tene rjbs: yes.
rjbs Doing so would also be interesting to read about.
Tene it's implemented and functional in rakudo-ng, at least. don't remember about master. 21:40
mathw colomon: excellent of course, it has 'is equal' 'is tighter' etc.
colomon mathw: but that isn't implemented yet (as far as I know) so I haven't bothered to learn about it. :)
mathw it's certainly not completely implemented 21:41
colomon mathw: (I mean the "is equal" stuff, creating new operators works.)
diakopter jaffa8: if you nopaste your code, we can try to reproduce/diagnose the errors you're getting 21:43
jaffa8 how would you convert this into perl 6? 21:45
-->/(?:(?:^\s*PL = (\d+)\n)|^\s*PV = \(BLONG\)\n<<\"\n(.+)\">>\n|([^\n]+)\n)/gsm
mberends carefully 21:46
jaffa8 P5: is supposed to work
mberends jaffa8: it did in Pugs, but not in Rakudo
jaffa8 I rogot 21:47
I forgot
TimToady m:g/ [ [ ^^ \s* 'PL = ' (\d+)\n || ^^ \s* 'PV = (BLONG)' \n '<<"' \n (.+) '">>' \n || (\N+)\n/ 21:48
jaffa8 I wrote a perl 5 regular expression converter
mberends I remember :)
zaslon lolfrettledhazblogged! frettled++ 'Dice Roller Deconstructed': howcaniexplainthis.blogspot.com/200...ucted.html
21:48 mubot left
diakopter carlin: mubot quit 21:48
zaslon: mubot? 21:49
zaslon Sorry, I don't understand that command
diakopter TimToady: :) was that from gimme6 21:50
21:51 Su-Shee left
jaffa8 conversion:m:g/[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/ 21:54
diakopter I don't think you can escape a space
21:55 jferrero joined
diakopter std: /[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/ 21:55
p6eval std 29385: ===SORRY!===␤No unspace allowed in regex (for literal please quote with single quotes) at /tmp/XLIv0lwFDD line 1:␤------> /[[^^\s*PL\⏏ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\␤FAILED 00:01 108m␤
jaffa8 rakudo: m:g/[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/ 21:56
p6eval rakudo 8dc189: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g/[[^^\\s*"␤in Main (file <unknown>, line <unknown>)␤
jaffa8 rakudo: $r=m:g/[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/; 21:57
p6eval rakudo 8dc189: Colons cannot be used as delimiters in quoting constructs at line 2, near ":g/[[^^\\s*"␤in Main (file <unknown>, line <unknown>)␤
diakopter rakudo: /[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/
p6eval rakudo 8dc189: ( no output )
diakopter rakudo: say "hi" ~~ /[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/ 21:58
p6eval rakudo 8dc189: ␤
diakopter ok
jaffa8 rakudo: say "PL =(8)\n"~~/[[^^\s*PL\ \=\ (\d+)\n]||^^\s*PV\ \=\ \(BLONG\)\n\<\<\"\n(.+)\"\>\>\n||(<-[\n]>)\n]/;
p6eval rakudo 8dc189: )␤␤
diakopter rakudo: say " " ~~ /^^\ /
p6eval rakudo 8dc189: ␤ 21:59
diakopter rakudo allows escaped space, I guess (but it shouldn't)
ng: say " " ~~ /^^\ /
p6eval ng 9d5018: ␤
diakopter masakbot: rakudobug (though I'm guessing it's already reported/known) 22:00
frettled diakopter: the masakbot has quit :(
PerlJam I believe not allowing a backwhacked space is a relatively recent change.
jaffa8 Why not?
PerlJam (the rakudobug might not be reported)
diakopter PerlJam: that errormsg was added in July 09 22:01
perlcabal.org/svn/pugs/revision?rev=27770 22:02
mberends jaffa8: the reason for the change was a number of inconsistencies about the optionality of quoting in different parts of a regex. The changes resulted in a simpler, clearer set of rules. 22:05
22:08 pmurias joined
jaffa8 I think it made it somewhat worse. 22:10
PerlJam jaffa8: explain.
jaffa8 \ is one character
' ' is 2.
in plus. 22:11
mberends jaffa8: the full discussion was very deep, trust me. the space was a kind of special case, or exceptions, and too many exceptions are bad for a language.
jaffa8 \ was familiar to me in a way 22:12
What is an exception?
mberends jaffa8: a situation where the normal processing does not occur
PerlJam mberends: well, to be fair, not being able to write "\ " for a space in the regex is an exception too :) 22:13
mberends sorry about the inconvenience to you; it's for the greater good
22:13 synth joined
diakopter luckily for you, Perl 6 will let you change the regex syntax if you like 22:14
mberends PerlJam: yes, such points were made too istr :)
jaffa8 how?
22:15 bryan[c1] joined
mberends carefully 22:15
diakopter deriving a Grammar from the Perl6 Grammar
jaffa8 mberends is a careful man.
diakopter, I see what you mean 22:16
lisppaste3 bryan[c1] pasted "simple example" at paste.lisp.org/display/92448
bryan[c1] can someone help me understand the point of the $who - shift;? 22:17
errr $who = shift;
why is it declared first in the subroutine and how is it getting it's values?
jaffa8 qhat is this wrong? 22:18
PerlJam bryan[c1]: that certainly doesn't look like perl6 code :)
jaffa8 $timestr .= "' '||"; <---
bryan[c1] 2(PerlJam2): sorry banned from #perl
PerlJam bryan[c1]: perldoc -f shift # tells you where it gets its value from
jaffa8 bryan[c1], it gets the first parameter from list of a parameters array @_ which is invisible but there. 22:19
bryan[c1] thats what i thought jaffa8
but why doesnt he have to declare @_?
jaffa8 it is done by the interpreter automatically in the background I guess. 22:20
PerlJam bryan[c1]: you never have to declare @_
bryan[c1]: why are you banned from #perl?
bryan[c1] well i asked a question
a simple one
and they were trying to be smartasses
jaffa8 I guess they are. 22:21
bryan[c1] so i told them they were trying to be smartassses instead of actually helping
and of course the new guy that just /j the channel is always wrong
but on any note
PerlJam bryan[c1]: antagonizing people and then expecting them to help you doesn't seem like a good plan. 22:22
(even if they are being smartasses.)
bryan[c1] i asked "is there anyone that could help me understand blah blah"
and they said yes
and i asked for an explanation on the problem
and they said "you didnt ask for an explanation, you asked if someone could help you, and the answer is yes" 22:23
how immature is that?
only children say things like that
jaffa8 or smartasses.
PerlJam No, bored pedants say things like that all the time too.
bryan[c1] pretty lame if you ask me
so does that mean any variables initialized with shift; in a subroutine gets its values from the parameter list? 22:24
PerlJam True, but you are the one looking for help in their environment. If you want it, you'll have to accept their culture.
bryan[c1]: the docs for shift explain it all, read perldoc -f shift
jaffa8 PerlJam, I mean he may get lucky once
PerlJam (type that on your command line)
bryan[c1] perl never even works for me
i cant even run perl scripts
jaffa8 he may meet humorous people.
bryan[c1] my computer magically hates it 22:25
mdxi social graces also don't work for you, apparently
PerlJam (or you could go to perldoc.perl.org to read the docs)
bryan[c1] thanks guys
its not THAT hard to help someone out, now is it? 22:26
22:26 pmurias left
jonasbn bryan[c1], #perl is sort of a special case 22:27
jaffa8 bryan[c1], what if they have been helping all day
and they are full.
bryan[c1] then a simple question like mine should be a blessing
PerlJam jaffa8: then they are helpfull :)
bryan[c1] you guys have it all wrong
people shouldnt have to adapt to their channel and the way they speak
and that applies to everybody
PerlJam bryan[c1]: why?
bryan[c1] because asking help for a problem shouldnt lead to an argument about the question and then a ban 22:28
especially when they instigated it
PerlJam bryan[c1]: when traveling to foreign countries do you always expect the locals to speak your language?
mdxi the internet is not your free tech support call-center
and programmers are prickly
bryan[c1] thats a bad anology, PerlJam
and im not treating it that way mdxi 22:29
PerlJam bryan[c1]: There are cultural differences. Not recognizing them and adapting to them is *your* fault .
mdxi you're not listening to anyone, either
PerlJam bryan[c1]: I'm not saying they were right and you were wrong.
bryan[c1]: I'm saying that together you and #perl made the situation worse.
jaffa8 PerlJam, I cannot say his fault, but then he has to face the consequences.
bryan[c1] why are you guys defending them?
you're just as bad as them now
PerlJam bryan[c1]: No one needs defense here. 22:30
bryan[c1] i would assume it to be that way
jaffa8 what is .= in perl 6?
PerlJam bryan[c1]: btw, are we "just as bad"? Did someone kick and ban you from #perl6? :) 22:31
jaffa8: ~=
22:31 eiro left
PerlJam jaffa8: ~ is string concatenation. 22:31
(assuming that's what you meant)
jaffa8 yes
bryan[c1] no, but if i wanted to defend my points i would already be gone
and that = #perl
mberends bryan[c1]: I have witnesses the "smartass" treatment of visitors in #perl and personally I would not behave that way. However, it is their patch and is known as such. They are actually *very* smart people responsible for some awesome Perl 5 code, and their channel title warns you that it's not #perl-help or #perl-newbies. Sometimes they're polite enough to tell you that, and sometimes not. 22:32
PerlJam bryan[c1]: again, no one needs defense here.
bryan[c1]: even you.
bryan[c1]: we accept you. We'll even give you hugs if you need them.
:)
jonasbn mmmm hugs
PerlJam hugme hug bryan[c1]
hugme hugs bryan[c1]
22:33 stephenlb left
bryan[c1] all im trying to say is that people should be respectful 22:33
even on the internet
even to newbies 22:34
everyone had to start somewhere
it would have been easier for them to just not respond
22:34 stephenlb joined 22:36 eiro joined
mberends agreed. there are 30 channels about perl on freenode today 22:37
PerlJam More of them need to follow Postel's Law though :) 22:38
jonasbn PerlJam, Postel's Law?
PerlJam (paraphrasing) "be strict in what you emit and liberal in what you accept" 22:39
google it for a better treatment
It's typically known as a design principle called "robustness" :) 22:40
(google "robustness principle" and you'll get some good links)
22:40 nihiliad left
jonasbn PerlJam, found it on Wikipedia, thanks for the insight - never heard about it before 22:40
PerlJam jonasbn: have you read www.wall.org/~larry/natural.html ? 22:41
jonasbn no 22:42
mathw hmm 22:43
overriding infix:<==> seems to cause a segfault
22:43 cotto_w0rk joined 22:45 payload left
rjbs Another potentially interesting article would be on Pod6 and the $= variables. 22:46
22:52 jaldhar left
mathw Could someone proofread my day 22 please 22:53
it's quite short, but operators are actually very easy to explain
sjohnson mathw: i will, if you give me a url plz :)
PerlJam is reading it now 22:54
sjohnson oh 22:55
mathw wonders what's taking wordpress.com so long
PerlJam mathw: you've got a typo on "infix;:&lt+>:" looks like just a misplaced semicolon 22:56
mathw damn
PerlJam mathw: in general, I dislike the "unfortunately this is broken in rakudo" sentences. 22:57
the point of the advent calendar in my mind is to highlight was *is* working.
22:57 thowe left
jaffa8 what about come back in half a year, things will be better? 22:57
PerlJam (not to hightlight was doesn't work)
s/was/what/
mathw unfortunately there are obvious things here which don't work 22:58
22:58 soupdragon joined
PerlJam my only other comment is that it would be nice to have a unicode example at the end or maybe just a pointer to day 17 where colomon has a snowman operator 23:02
jaffa8 how would you write this @{ $table{"$0$1"} } in Perl 6? 23:03
Tene %table{"$0$1"} 23:04
jaffa8 %table can refer to an array? 23:05
PerlJam jaffa8: Did you want the perl 6 version of perl 5's $0 ?
mathw or %table«$0$1»
jaffa8 perl 6
I converter that alreaday.
Tene jaffa8: sigils in Perl 6 aren't used for context.
PerlJam okay, just checkign
Tene "my %table" approximately means "my Hash $table", kinda 23:06
mathw Tene: did you ever find that Lojban grammar? 23:07
Tene mathw: I think it's on the hard drive of my dead laptop.
mathw aaaw
would you be interested in doing it again?
Tene It's currently in a usb enclosure that I don't have a cable for.
mathw: right now, or eventually?
mathw eventually
Tene Yes. 23:08
mathw not like this minute
hurrah 23:09
I think it might be useful, that's all
Tene Sure.
mathw: treed wrote a grammar for lojban mekso, iirc.
He even got it performing math on Parrot, I think. 23:10
mathw nice 23:12
jaffa8 so what does $table{$prep} mean in Perl6? 23:13
rjbs looks up the entry for $prep in $table
which is presumably a thing that does named lookup
mathw it calls $table.postcircumfix:<{ }>($prep)
if $table has a hash in it, that does a hash lookup 23:14
23:14 jferrero left
jaffa8 $table is a reference or is it taken as a string? 23:14
Tene jaffa8: it's an object. 23:15
rjbs ng: my $x = Hash.new; my $y = 'foo'; $x{$y} = 'bar'; $x<foo>.say
p6eval ng 9d5018: sh: ./perl6: No such file or directory␤
23:15 iblechbot left
rjbs rakudo: my $x = Hash.new; my $y = 'foo'; $x{$y} = 'bar'; $x<foo>.say 23:15
p6eval rakudo 8dc189: bar␤
rjbs but $x doesn't need to be a hash; just needs to have the right interface. 23:16
Tene trailing <> is just the autoquoting form of {}
jaffa8 is {foo} gone? 23:17
mberends jaffa8: it became {'foo'}
rjbs or <foo> :-) 23:18
mathw barewords don't autoquote anymore. Too many headaches.
rjbs makes things simpler, yeah.
jaffa8 I see 23:19
rakudo: $r=\@b; 23:20
p6eval rakudo 8dc189: Symbol '$r' not predeclared in <anonymous> (/tmp/PL5jobC8Vb:2)␤in Main (file <unknown>, line <unknown>)␤
jaffa8 rakudo: @b=(1,2,3); $r=\@b;
p6eval rakudo 8dc189: Symbol '@b' not predeclared in <anonymous> (/tmp/biqDzXMaXO:2)␤in Main (file <unknown>, line <unknown>)␤
rjbs You need 'my' 23:21
jaffa8 rakudo: my @b=(1,2,3); $r=\@b;
p6eval rakudo 8dc189: Symbol '$r' not predeclared in <anonymous> (/tmp/Rn1UjgtLcc:2)␤in Main (file <unknown>, line <unknown>)␤
rjbs rakudo: my @b = (1,2,3); @b.WHAT.say
p6eval rakudo 8dc189: Array()␤
rjbs rakudo: my @b = (1,2,3); @b.WHAT.say; my $r = \@b; $r.perl.say; $r.WHAT.say
p6eval rakudo 8dc189: Array()␤[1, 2, 3]␤Array()␤
jaffa8 rakudo: my @b=(1,2,3); my $r=\@b; say $r[0]; 23:22
p6eval rakudo 8dc189: 1␤
rjbs IS YOUR MIND BLOWN?
jaffa8 what is wrong?
rjbs Nothing. 23:23
Sorry, it's an expression.
It means: Are you amazed and confused yet?
jaffa8 not.. It seems to be similar to perl 5.
\ still makes a reference. 23:24
rjbs not really...
rakudo: my @a = (1,2,3); my $b = @a; $b[1].say
p6eval rakudo 8dc189: 2␤
rjbs If I recall correctly, \ is actually for making Captures.
jaffa8 rakudo: my @b=(1,2,3); my $r=\@b; say $r[2]; 23:25
p6eval rakudo 8dc189: 3␤
jaffa8 rakudo: my @b=(4,7,9); my $r=\@b; say $r[2];
p6eval rakudo 8dc189: 9␤
jaffa8 rjbs, it seems to be working. 23:26
rjbs Note that you can *omit* the \
It isn't creating an extra reference with any value.
by which I mean, with any worth 23:27
jaffa8 rakudo: my @b=(4,7,9); my $r=\@b; $r[2]=99; say @b;
p6eval rakudo 8dc189: 4799␤
rjbs See? They both refer to the same object.
I can't remember enough about \ to give a demonstration.
jaffa8 yes
rakudo: my @b=(4,7,9); my $r=@b; $r[2]=99; say @b; 23:28
rjbs Maybe somebody else could help. :)
p6eval rakudo 8dc189: 4799␤
jaffa8 rjbs, I heard you.
Tene rakudo: my @b=(4,7,9); my $r=@b; $r[2]=99; say @b.perl;
p6eval rakudo 8dc189: [4, 7, 99]␤
rjbs Tene: Can you demonstrate the utility of \ ? 23:29
Tene No.
rjbs Ok. :)
mathw \ makes a Capture now doesn't it
rjbs That's my recollection.
but I forget almost all of their semantics, just remember the theory
23:32 jonasbn left
jaffa8 bye, thanks 23:33
23:33 jaffa8 left 23:34 Younder joined 23:35 vamped joined
vamped I'm wondering: how often the main branch of rakudo is updated, aside from the monthly release. Is it beneficial (to a non-developer) to git the new version more frequenlty than monthly? 23:36
23:38 mberends left
arnsholt vamped: I think most of the development is taking place in the ng branch these days 23:40
But if you want to really track Rakudo, having your own git copy isn't a bad idea
23:40 jaldhar joined
vamped k. thanks. I saw the Str.eval added, and wondered how much else they add. But prob not much in main. 23:46
23:50 bryan[c1] left
colomon mathw: In the last paragraph, you might want to say something about the informal idiom of having both Unicode and "Texas" versions of operators. 23:51