»ö« | perl6-projects.org/ | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 17 June 2009.
pugs_svn r27192 | lwall++ | [gimme5] fix nested paren counting 00:13
buu sjohnson: When would you ever need single character access like you propose? 00:28
sjohnson things like adding IRC colour codes to strings 00:29
by making a "wave" colour effect, i think it would be easier to do it with that kind of technology
buu That may be the least useful example I've ever heard in my life. 00:30
buu s//$color_codes[$i++%@color_codes]/eg 00:30
How would index based access even make that any easier? 00:31
sjohnson well, that is quite well written 00:33
i will take a screenshot 00:34
then maybe you can suggest a good way to do it
buu Ok 00:35
sjohnson buu: members.shaw.ca/smujohnson/img/scre...ame_ex.PNG 00:36
i suppose in this case, you could grab the ^. and .$ regex's 00:37
and change their colours that way
TimToady my problem with $a[] is that it already means something else most of the time 00:39
sjohnson by that i mean, where Mango-chan goes gray-to-white then white-to-gray
TimToady so it's type-error prone
sjohnson is it even worthy of being implemented in some way or form?
or, as buu says, is it not even really needed
TimToady it would be easy to monkey-type it in if you really need it 00:40
but substr isn't how most Perl processing works anyway
sjohnson if you wanted to change "this is a great house" to "this is a great_house" by a simple positional assignment, ie, $string[16] = '_'; the smart way, how would you do it? 00:41
without doing s/great house/great_house/;
tarpsocks sjohnson: pack? 01:18
or substr or something
idk
whats the answer
sjohnson i am wondering what the TimToady way would be as well 01:19
or buu 01:23
buu sjohnson: Well, the obvious answer is substr, but I can't recall the last time I've needed to access something via a position 01:33
I'm usually far more concerned with meta information surrounding it. 01:34
sjohnson buu: ok 01:34
buu sjohnson: As for your screen shot, the lack of regularity makes it appear to be a handcraftede sequence of color characters 01:35
sjohnson i'm not sure what you mean
buu Well, if you're just referring to to the 'mango-chan' part, then as you mentioned, it would be easy to use ^ and $ match specific positions. 01:36
buu sjohnson: I mean, how would you do with with index access? 01:36
You'd have to shift every character to the right so you could insert a color character
sjohnson well, in all honesty, i thought what i took a screenshot, was much fancier at the time of taking it 01:37
what=> when
then realized how dead simple it was
that it only changes the first and last character
buu sjohnson: The thing is, one of the things I count as a great indicator of my perl ability growing was when I stopped instinctively trying to process strings character by character. 01:38
sjohnson well, i'm listening for sure
and i do like better ways of doing things
buu Instead of thinking of the string as an array containing characters, I started using operations that took in to account more factors
As to your reference earlier, changing that "great house" string, sure you could do house_string[15] = '_'; but what does that mean to anyone? 01:39
And how would you know you wanted position 15?
buu In a real program you'd use a variable to represent that position. And you'd have to use some kind of search tool to set that variable 01:39
Instead you can combine multiple operations in to a single operator 01:40
sjohnson: My philosophy of perl can be, to some degree, summed up as writing the smallest amount of code possible, in terms of logical operations.
(Clearly unlike my philosophy of writing arguments out on irc)
sjohnson i really wish i could think of an examlpe where that would be nice to do, but it seems that you are right, it is not really needed 01:42
buu I mean, I haven't used substr in any of the code I've written in years
Granted I haven't been performing character based color coordinating 01:43
But that's such a bizarre corner case I would hide it away in a function and never look at it again.
sjohnson i'm basically trying to clone the behaviour of that screenshot, into a weechat irc perl plugin, but having seen how easy it is, i regret even showing the screenshot 01:45
as i thought that it was much more complex
but not a huge deal, i learned a bit
skids sjohnson: If you can afford to make one copy, and you know it's a string that can be encoded, I believe the way to do it is with buf8/etc. 01:46
And as much as the deep-into-OO folks like to pretend, yes, you do need indexed like that from time to time. 01:47
sjohnson what exactly is... buf8 01:51
skids an array of 8-bit values, packed, which you can encode from a string if it has a small enough charset. 01:54
I am not sure how much of it is specced, but if you look back in the IRC logs the past few weeks, there was conversation about that and adding some encoding-savvy types like utf8 as well. 01:55
skids Which would allow you to do what you need, but as far as I know, there has been no discussion as to whether a zero-copy way of getting one (when the underlying string matches) is doable. 01:57
sjohnson cool 02:02
tarpsocks oh my gawd 02:03
sjohnson what 02:06
skids
.oO(is that a wikked woosta accent?)
02:09
azawawi good morning +2gmt zone 02:42
azawawi TimToady: ping 02:49
TimToady: on various tests, im getting Not a reference at ...Cursor.pm line 203. Is line 195 commented on purpose? 02:51
amoc rakudo: sub foo ([$a,$b]) { ... } 03:32
p6eval rakudo 0e0671: OUTPUT«Malformed routine definition at line 2, near "foo ([$a,$"␤in Main (src/gen_setting.pm:0)␤»
pugs_svn r27193 | kyle++ | [t/spec] Give every autoincrement test a name 03:38
azawawi @tell pmichaud could u please add my blog ahmadzawawi.blogspot.com to planetsix? 04:27
lambdabot Consider it noted.
Matt-W Morning 07:58
amoc morning! 08:19
moritz_ good morning, fellow sytanxcamels 08:20
Matt-W :) 08:32
Woops 08:39
I've started writing 'my' for variable declarations in C++ again
the compiler's not happy
avar #define my 08:48
sjohnson i've done that before 08:51
especially in PHP
avar Using the C preprocessor for PHP? 08:54
sjohnson yes 08:55
sjohnson by that i mean, doing Matt-W's mistake, not your solution, avar 08:57
well time to spank off and go to bed.. cya guys
Matt-W I think my brain was thinking "Oh I wish I had C++0x's auto variables" while typing out the type of an STL iterator, then it somehow picked up the knowledge of untyped variable declarations from Perl and wrote one of those 08:58
frettled *unidle* (merely 45 days) :) 09:10
Darnit, life should be different and leave more time for Perl 6.
Matt-W frettled: I agree. Now try telling that to my boss and my insurance company. 09:30
Matt-W frettled: Actually, what would be better is if my boss paid us to do Perl 6. 09:31
frettled Matt-W: \o/
frettled I have a really bad conscience about not getting round to providing a fix for the handling of complex numbers (I've suggested the fix, but not written the necessary spec diffs etc.), and I also just never get the time to sit down and get comfy with even simple programming. 09:32
But that's how it is with bumps in life; it never rains, it pours. 09:33
Matt-W Yes I got a bucket dumped on me the last month or so 09:34
Hence very little time for Form.pm. I get home and I have no energy left or I have to phone someone up and yell at them 09:35
frettled Have 􏿽xABwe􏿽xBB gotten any further with packaging, BTW? (New CPAN? .deb format? RPM format? Something new?) 09:37
Matt-W Not that I'm aware of 09:41
frettled Ah, well, at least I'm blogging inanely once every week or so. I _really_ want to decide which colour mst's hair should be. 09:59
jlmoko Hi. Is Anybody testing perl6 on ARM 10:18
lichtkind mb 10:54
i mean still 24 fidderences 10:55
arrg diff
Infinoid jlmoko: Not that I know of. Doing that with rakudo will become easier once parrot supports cross compilation; I'm not sure about the other perl6 variants 11:05
jlmoko Infinoid: I compiled yesterday rakudo-2009-06 on an openmoko neo Freeruner & run the test ok but spectest gived me a nice kernel panic 11:11
Infinoid: I suspect it comes from not having memory . Is It possible? 11:13
Infinoid jlmoko: Yeah, it's definitely possible. 11:29
(how much do you have?) 11:30
Parrot itself hasn't received a lot of testing on ARM... there's one guy (from the netbsd pkgsrc team) who smoke tested it on netbsd4.0 in May, but that's all 11:33
I think he was running on a netwinder; openmoko neo sounds smaller
jlmoko Infinoid: I testing and building it with a 2.6.29 linux kernel. free -m gives a total of 117 RAM and 1023 swap ( on a micro HDSD) 11:42
Infinoid hmm, ok 11:45
jlmoko Infinoid: I sufered some kills from low memory when building rakudo but no kernel panic.
Infinoid jlmoko: Sorry, I have to go
binary and memory sizes should be more or less comparable to x86
But yeah, it's a bit big at the moment
back later &
pmichaud @tell azawawi I'm not the person who manages planetsix, but I'll forward your request. 11:46
lambdabot Consider it noted.
frettled neat, but is it useful? :D 12:01
TimToady the main difference is that :e is parsing as a term, not where an infix is expected
so it's simply dispatching to Pair.ACCEPTS
frettled what, aren't you allowed to focus on chatting? tch, tch. ;) 12:15
masak ahoj! 12:34
pmichaud hello, masak! 12:37
lambdabot pmichaud: You have 3 new messages. '/msg lambdabot @messages' to read them.
masak is the busy today
Matt-W is the man who keeps accidentally slipping Perl 6-isms into his C++ today 12:38
not only was I prefixing my variable declarations with 'my', I also got halfway through invoking join on a std::vector before I realised they don't have that 12:39
despite its incredible utility
masak Matt-W: have you been writing that much Perl 6 lately? :) 12:40
I occasionally do similar things in Java, but it happens less and less often. the compartments in my brain are getting better at insulating themselves. 12:41
frettled masak: is that a good thing or a bad thing? 12:42
masak frettled: when it comes to writing the appropriate syntax, definitely a good thing.
Matt-W masak: no! It's just in my head because it's so cool.
masak frettled: I still try to let myself be inspired by _ideas_ from other languages. 12:43
frettled masak: :)
masak ...sometimes to the dismay of my colleagues. :P
Matt-W And this code I'm writing right now would be so amazingly awesome in Perl 6
masak: heh I do that too
masak did you know that you can call variables '_' in Java? :)
(sans quotes)
Matt-W At my last job I entertained them all by implementing the Maybe monad from Haskell in C++ and using it extensively in the configuration system
but it worked beautifully
masak: I did not
masak very handy for small loops. 12:44
Matt-W makes a note of that
frettled hee-hee
masak I also tend to write public static void main(String[] _) if I don't intend to use the arguments.
frettled My goodness, the Java deities will strike you down!
masak bah. 12:45
Matt-W in Haskell, _ is what you say when you want to ignore a parameter
so that appeals to me
masak yes, indeed.
moritz_ Matt-W: aren't all C++ objects Maybe by default? (ie they can be NULL) 13:33
Matt-W moritz_: no, that's just pointers 13:38
moritz_ Matt-W: ah, right
Matt-W and one doesn't always wish to handle objects using pointers 13:39
in fact, it's something that's better to avoid
they are of course very useful in the right places
masak 'every problem in software...' 13:42
hm, the quote seems to be 'Any problem in software can be solved by adding another layer of indirection.' 13:44
the subtext being, that just because you always can solve it that way doesn't mean that it's a good idea. 13:45
rgs masak: you're looking for RFC 1925
masak rgs: aye, seems I am. 13:47
moritz_ pmichaud: how where your talks? 13:51
masak 'were', even. English orthography is hard. :/ 13:54
sbp wur
masak :)
masak likes that better
let's change it to 'wur' before 'were' becomes widespread!
skids masak: lolspeak is much easier.
sbp good idea, get in there early
masak skids: I don't see lolspeak orthography as something that has stabilised yet. it's still in the Chaucer stage of languages. 13:55
srsly.
sbp you could even argue that 3 is a neoyogh
though that makes lȝȝt hard to pronounce... 13:56
skids doesn't have to look that up to know how horrible a pun it must be.
sbp transcendentally horrible
moritz_ but we know for sure that it'll be all upper case. 13:57
sbp the strange thing about lolspeak is that it's the first language whose changes and fluidity are linked to the orthographical conventions rather than the underlying phonology of the language 13:59
so from that point of view it's fascinating
for example, owned became pwned because p is next to o on the keyboard
and that gradually became pwnt, which is difficult to pronounce
pmichaud moritz_: I don't know how my talks were -- I didn't get to see them. :-)
sbp nor do people generally say things like "lol" in real life, though there is a Malaysian (or Indonesian? somewhere around there) tagword "lah" which acts surprisingly similarly 14:00
moritz_ pmichaud: but didn't youg get some kind of feedback?
sbp (as a grammatical softener particle)
could be a feature for perl6
"lah" at the end of a line to get the interpreter to not take a line too seriously 14:01
huf sbp: depends on people
we say lol a lot
sbp or use lah; as the opposite of use strict;
pmichaud I think I have a fix to #66826 -- spectesting it now.
huf i tend to use omg, wtf and lol in real speech
pmichaud moritz_: I'm guessing the talks went pretty well. As usual, I had more slides than available time. :-) 14:02
huf altho i pronounce them "in hungarian"... as far as you can pronounce acronyms in any language
masak pmichaud: better that way than the opposite. :)
sbp huf: hehe
pmichaud masak: it's been a _long_ time since I had more time than material.
huf so wtf becomes wuh-tuh-fuh :)
masak pmichaud: tomorrow I'm to hold a four-hour lecture on Perl (5). I hope to have that problem then. :) 14:03
sbp I'd do it in Welsh and make it be "ootv"
pmichaud four hours would be a bit long, yes.
masak actually, it's two two-hour lectures. 14:04
huf sbp: ;)))
pmichaud oh. Much easier, then.
masak :)
how so?
sbp you can pee in the middle
pmichaud I think I could do two 2-hour lectures no problem. The problem there becomes audience attention span.
masak aye, true.
frettled attention what? look, there's a new feature! 14:05
pmichaud altogether, my three YAPC presentations added up to 2h30, and I easily had another 15-20 mins of each
PerlJam pmichaud: sound effects and visual discontinuities help :)
pmichaud PerlJam: agreed, but there's also a reason why movies and entertainment programs don't run much longer than 2h30 :-)
masak maybe I'll bring chocolate. that tends to get people's attention. 14:06
pmichaud rewards help.
and contests.
KyleHa I had a chem prof. that would "entertain" people who weren't listening with a tall glass cylinder filled with water and a chunk of dry ice at the bottom.
masak KyleHa: please elaborate.
pmichaud but yes, when getting to 3 hours or more I'd probably start looking for some fun distractions in the middle.
that would've been helpful on Saturday at the pvmw 14:07
KyleHa masak: The result is a big tube with bubbles floating to the top continuously.
PerlJam pm: how'd that go?
sbp chocolate... years ago a cute girl was doing a psychology experiment for her third year project, and so she advertised it saying free chocolate to anybody who took part in it. so of course I go along because she's cute, and the experiment was actually quite fun
pmichaud pj: It went extremely well.
sbp and at the end she goes, "and here's the thing you really came for: the chocolate!" and gives me some chocolate. and I'm thinking "uh... huh... the chocolate..."
masak KyleHa: I'm not sure I can get hold of dry ice by tomorrow. nice idea, though.
PerlJam masak: dry ice is available at grocery stores around here. 14:08
masak sbp: :)
frettled PerlJam: nice!
masak frettled: s/n// :P
PerlJam heh
KyleHa masak: Get a $5 toddler wading pool, 16 two-liter bottles of Diet Coke, and a fistful of Mentos. Every 15 minutes, set off a bottle.
pmichaud at pvmw we had lots of very active participation, and people were going off in all directions (all productive) by the 2nd day 14:09
masak KyleHa: this is a lecture hall at my university! I couldn't do that! :)
moritz_ sbp: a bar of chocolate is the standard currency for 15min psychology studies here :-)
sbp back in the really old days it used to be money
then that stupid inflation thing happened and now chocolate is worth more...
PerlJam pmichaud: lots of new faces in the crowd?
pmichaud yes 14:10
we probably had 40 or so attendees, most of them aren't regulars on #parrot or #perl6 (yet)
sbp hmm. #perl6 business cards? 14:11
PerlJam Were coke and particle there? I think I saw a picture on someone's blog from pvmw and those were the only two people I recognized right off.
(well, I saw a picture that I think was from pvmw :)
pmichaud several people wrote new languages and grammars, and we now have someone who is instrumenting parrot and can do primitive profiling of parrot subs
(using dtrace)
Coke wasn't here, no. Particle is here. 14:12
sbp a friend of mine did a t-shirt with some postscript on it that prints itself (postscript quine t-shirt, essentially). so maybe a perl6 quine with #perl6 in figlet embedded in it or something...
pmichaud at the workshop we had me, particle, kid51, AustinHastings, Whiteknight, kid51
(oops, mentioned kid51 twice)
but those are the only #parrot "regulars" that come to mind at the moment
moritz_ pmichaud.com/2009/pres/yapc-regex/s...ide18.html who can spot the error? :-) 14:15
pmichaud oh, and Util
I can! I can!
masak can't 14:16
moritz_ that's what you get for not testing your regexes (I do that all the time, too)
masak: = must be escaped
PerlJam masak: = needs quotes
masak oh! of course!
pmichaud that's what I get for reusing slides from previous talks :-)
it _wasn't_ an error a couple of years ago :-) 14:17
besides, I don't see an error there anymore :-)
frettled muah 14:17
azawawi pmichaud: ping 14:20
lambdabot azawawi: You have 1 new message. '/msg lambdabot @messages' to read it.
pmichaud azawawi: pong 14:21
azawawi_ i hate freenode's webchat... i keep d/c-ing :) 14:23
pmichaud azawawi: pong 14:23
azawawi @messages 14:23
lambdabot pmichaud said 2h 37m 29s ago: I'm not the person who manages planetsix, but I'll forward your request.
azawawi pmichaud: ok thx
pmichaud azawawi: the planetsix folks might want to wait until there are more p6-related posts on that blog, though. 14:24
azawawi pmichaud: it is Perl 6 related :) 14:24
TimToady everything is going to be Perl 6 related eventually (I hope) 14:25
azawawi gives up trying to play with STD internals; viv it is for S:H:P6... 14:26
masak it would be nice if the planetsix filter actually detected if I have chosen "Perl 6" as the topic of my blog posts.
that tag thing, I mean.
azawawi labels/tags in blog are there...
masak planetsix pays no heed, at least... 14:27
KyleHa Spec says "Decrement of 'aaa' should fail." Does that mean it dies, does nothing, returns undef, or what? 14:28
pmichaud returns a failure
rakudo: my $a = 'aaa'; $a--;
p6eval rakudo 0e0671: ( no output )
pmichaud rakudo: my $a = 'aaa'; say 'ok'; $a--; say 'still here'; 14:29
p6eval rakudo 0e0671: OUTPUT«ok␤still here␤»
pmichaud rakudo: my $a = 'aaa'; say 'ok'; $a--; say 'still here'; say $a;
p6eval rakudo 0e0671: OUTPUT«ok␤still here␤Decrement out of range␤␤»
moritz_ rakudo: my $a = 'aaa'; say --$a ~~ undef
KyleHa So it doesn't die... 14:30
p6eval rakudo 0e0671: OUTPUT«1␤»
PerlJam KyleHa: no, it fails :)
KyleHa OK, how do I test for "fail"?
moritz_ there are two ways
moritz_ one works in rakudo todo 14:31
just checking that the result is undef
the (better) way is dies_ok { use Fatal; $a-- }, '$a-- fails';
KyleHa Can't find Fatal! Woohoo! 14:33
moritz_ wait, I think it's called 'fatal' (lower case), but rakudo doesn't implement it anyway 14:34
KyleHa Hmmm.
masak . o O( NYI, case-insensitively )
KyleHa Does "fail" mean something I'd understand in Perl 5? 14:35
PerlJam moritz_: $result ~~ Failure # should work too.
moritz_ KyleHa: no, it's a kinda new concept
KyleHa: it returns an unthrown exception that's also undef
KyleHa Aha, the ~~ Failure worked. 14:36
Can I "look inside" the failure to see that it actually is "Decrement out of range" and not something else? 14:37
masak oh, right. sigils are variant in Perl 5. better remember to tell my students that. 14:38
masak goes back and corrects all his indexing examples
moritz_ KyleHa: not today
KyleHa: I think there will be some mechanism, but I'm not sure if it's specced, and sure it's not implemented
KyleHa OK. I'll write a comment. 14:39
Is "# TODO: " recognized, or should I write it as XXX?
moritz_ TODO is fine 14:40
KyleHa Thanks for all you help!
moritz_ you're welcome
moritz_ thanks for writing all these tests! 14:40
PerlJam indeed KyleHa++
KyleHa *bow* 14:41
masak 397 new/open tickets in the perl6 queue!
we're getting there. :)
moritz_ is always happy to recruit new sla^Wfellow contributors
masak speaking of that, the emails I get with patches to my Perl 6 projects lately is, if not staggering, then at least very uplifting. 14:42
and from people I've never met or heard about, at that.
moritz_ cool 14:44
pmichaud my plan for tomorrow is to sit somewhere semi-secluded and clean up rt tickets
pugs_svn r27194 | kyle++ | [t/spec] Fix the decrement fail tests in autoincrement.t
pmichaud either fix, merge, comment, destroy, or say "okay yeah, it's a bug" 14:45
masak nice.
skids So get those tickets in :-)
moritz_ was pleasantly surprised when viklund++ fixed his JSON parser :-) 14:46
masak only three to go before we hit 400 -- come on, people, together we can do it!
moritz_ masak: TODO tickets are easy to create 14:47
pmichaud if you want to stay about 400 you'll need more than three... there are quite a few duplicates :-)
sbp TODO not quite 400 tickets yet
pmichaud s/about/above/
masak aka "it's not as bad as it looks" :)
PerlJam Who can spot the bug on this slide? www.pmichaud.com/2009/pres/yapc-per...ide57.html 14:54
:-)
masak can't see it this time either 14:56
pmichaud Why doesn't the heckling end when the talk is finished? 14:57
masak guess it's not my day today :)
PerlJam pmichaud: because I wasn't at your talk :)
sbp rakudo: sub postfix:<!> { [+] 1..$^n }; say 5!
p6eval rakudo 0e0671: OUTPUT«15␤»
masak d'oh!
"that's not the usual definition of factorial..." :) 14:58
sbp rakudo: sub postfix:<!> { [*] 1..$^n }; say 5!
p6eval rakudo 0e0671: OUTPUT«120␤»
masak Rakudo++ 14:58
sbp this just made me realise there's no exponentiation equivalent of factorial 15:00
well there is, but it's not very interesting... :-)
PerlJam sbp: because that's just crazy
moritz_ it's just always 1
(1**2)**3 == 1 15:01
but there is an interesting idea...
pmichaud now fixed.
sbp tetration factorial etc. are similarly all 1
masak moritz_: if factorial doesn't include 0, the exponantiation equivalent shouldn't include 1, IMO. 15:03
sbp also, 4 ± 3 really means 1 .. 7, I think 15:04
or 1 ... 7, whatever
PerlJam sbp: no, it means 4+3 or 4-3 15:05
masak it means what you define it to mean.
I've seen both semantics in actual use.
sbp ah yes
en.wikipedia.org/wiki/Table_of_math...al_symbols gives both uses
moritz_ * is really just repeated application of + 15:06
** is really just repeated application of *
pmichaud \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 15:08
moritz_ so lets define + as ^^ 0, * as ^^ 1, ** as ^^ 2
and ^^ 3 is a really fast growing function, then :-)
sbp yes, tetration
.wik Tetration
phenny "In mathematics, tetration (also known as hyper-4) is an iterated exponential, the first hyper operator after exponentiation." - en.wikipedia.org/wiki/Tetration
sbp then pentration, etc.
moritz_ penetration? :-) 15:09
sbp you said it, not me
moritz_ aye :-)
I think that's also what the ackerman function does with its first argument, no?
sbp and I guess six would be sextration...
masak who knew math could be so kinky? 15:10
sbp hmm. from Wikipedia: “Ackermann originally considered a function A(m, n, p+1) of three variables, the p-fold iterated exponentiation of m with n, or m → n → p expressed using the Conway chained arrow notation.”
so a kind of that, it seems
in hypercalc, a very nifty perl program, it uses a pt operator which is a kind of tetration
a pt b means tetration(10, a) ** b, I think 15:11
10 *** a ** b if you want to be cute
moritz_ so in Perl 6 (to get back on-topic) we could define a * meta operator that promotes the coming operator to next hyper step 15:13
for *+ would actually be * 15:14
** would be ** (oh really? :-)
*** tetration
(and no, I'm not being serious) 15:15
PerlJam moritz_: that doesn't mean you didn't just inspire someone else to take you seriously. ;-) 15:17
pmichaud sometimes the "ha ha" stuff ends up being reality. 15:22
See "Parrot".
sbp what's the easiest way to define a reverse reduction operator? 15:29
I was trying to do tetration
rakudo: sub infix:<***> { [**] $^a xx $^b }; say 2 *** 4 15:30
p6eval rakudo 0e0671: OUTPUT«256␤»
sbp but it seems to be associating the wrong way
moritz_ yes, afaik it's a known bug
sbp need to do 2**(2**(2**2)) not ((2**2)**2)**2
ah, okay
Gothmog_ lfold vs. rfold :) 15:33
that's the problem with non-commutative operators...
ehm, non-associative in that case 15:34
moritz_ Gothmog_: in principle operators know their associativity, so that the reduction meta operator can pick the right fold 15:35
Gothmog_: it's just NYI in rakudo
masak what about user-declared operators? 15:37
specifically, those without a specified associativity.
sbp yeah, in S03 it says: “If the reduction operator is defined separately from the infix operator, it must associate the same way as the operator used” 15:38
but I'm wondering how that's enforced 15:39
pmichaud sub infix:<***> is assoc('right') { ... }
sbp does that just mean for operators in the language?
rather than user-defined operators
pmichaud if associativity of a user-defined operator isn't supplied, it tends to follow the standard for its "class"
sbp rakudo: sub infix:<***> is assoc('right') { [**] $^a xx $^b }; say 2 *** 4
p6eval rakudo 0e0671: OUTPUT«Use of non-existent trait.␤256␤»
sbp noOOoo, non-existent
moritz_ aka NYI
masak rakudo: sub infix:<handwave>($a, $b) { 'It just works!' } 15:40
p6eval rakudo 0e0671: ( no output )
sbp heh
Gothmog_ moritz_: Alright. I wonder, is there a way to override that? That is, if op ist r-assoc, but I want [op] to lfold?
moritz_ Gothmog_: @list.reduce: &[op]
Gothmog_ Ah, fine.
sbp and .reducerev? 15:41
moritz_ @list.reverse.reduce?
lambdabot Unknown command, try @list
PerlJam Gothmog_: you could temporarily redefine the associativity of the op too I think
sbp well, there are these examples in S03:
&prefix:<[*]> ::= &reduce.assuming(&infix:<*>, 1);
&prefix:<[**]> ::= &reducerev.assuming(&infix:<**>);
PerlJam that seems weird. 15:42
moritz_ but that's the only occurance of that function in the specs 15:42
PerlJam I'd expect a named arg to reduce to control the direction 15:43
moritz_ that would be more Perl6ish, yes
sbp those two lines do rather look like someone was making stuff up on the fly at an astonishing rate 15:44
masak buubot: spack reducerev
buubot Couldn't match input.
masak hm, spack isn't always reliable.
PerlJam sbp: when you can't predict the future, making something up is a good approximation :)
masak there's only one mention of 'reducerev' in the whole spec. 15:45
many mentions of 'reduce' in t/spec, but none of 'reducerev'.
TimToady reduce &[R**], reverse @list 15:52
PerlJam cute 15:55
masak so that means... hm... that applying the R metaoperator doesn't change the associativity of the resulting operator? 15:57
sbp heh: my @string_theory[ [;] 100 xx 11 ]; # 11-dimensional (S09) 15:58
PerlJam masak: why would it?
masak PerlJam: haven't thought it through, but I wouldn't be surprised if the associativity was reversed along with the operands.
that's my idea of Least Surprise in this case. I'm not sure I can clarify better. 15:59
PerlJam ok
masak to make it concrete, I expect these two expressions to mean the same thing: 16:06
rakudo: say 1 R- 3 R- 5; say 1 R- (3 R- 5) 16:07
p6eval rakudo 0e0671: OUTPUT«3␤1␤»
pugs_svn r27195 | kyle++ | [t/spec] Add test for bug #66888
TimToady makes some kind of sense 16:08
then it'd just be reduce &[R**], @list
masak yes. 16:09
that's what I'd expect.
TimToady er, well, maybe reduce wouldn't pay attention
but [R**] @list
shoudl
ld
masak :)
aye.
TimToady lunch & 16:10
sbp rakudo: sub infix:<***> { [R**] $^a xx $^b }; say 2 *** 4
p6eval rakudo 0e0671: OUTPUT«65536␤»
masak wow, Perl 6 is scary. :) 16:11
PerlJam scary in a good way :) 16:12
moritz_ KyleHa: re test location, S02-literals/quoting.t would be good 16:13
KyleHa moritz_: Thank you. 16:14
pugs_svn r27196 | moritz++ | [t] added XXX comment
sbp is there any way to make user-defined metaoperators? 16:15
moritz_ sbp: with evil grammar hacks, maybe
the nice thing about Perl 6 is that's there's always some way
but I don't know if it will be as easy as adding a 'multi prefix_infix_meta_op:<*> { ... }' 16:16
masak tonight at 19 UTC, there's a mentor-student meeting in #perl6-soc. at least literal, moritz_and I will attend.
masak goes swimming
moritz_ sbp: at STD.pm:1723 you can see how a typical meta op is defined... 16:17
sbp: so adding a new meta operator shouldn't be too much harder than writing those lines of codes plus adding semantics 16:18
sbp my $BORG is context; 16:19
— sounds fun
ah, I see
pugs_svn r27197 | kyle++ | [t/spec] Move a misplaced test. 16:20
moritz_ KyleHa: please also adjust the plan() 16:21
KyleHa moritz_: OOps.
moritz_ at least you also forget it in the commit before, so the one in comments.t is still correct ;-) 16:22
KyleHa Yeah. Ha!
moritz_ that also happens to me quite a lot 16:23
pugs_svn r27198 | kyle++ | [t/spec] Fix the quoting.t plan I forgot 16:24
KyleHa I appreciate you saying that.
It reduces my embarrassment. 16:25
moritz_ there are a lot of mistakes that even the "old guard" make repeatedly
making mistakes is no shame 16:26
KyleHa Sounds like a good place to change how things work.
Well, maybe.
moritz_ it's only a shame if you don't admit it, or don't want to be corrected
KyleHa I agree.
moritz_ still, the plan() serves an important purpose, so it's IMHO worth the effort 16:27
KyleHa Yeah, I get what the plan is there for. In spite of that, I still find it annoying. 16:28
That's part of what I love about DDT. I can just tie the plan to the data structure and forget about it.
moritz_ aye
I'm also a big fan of DDT
PerlJam but only where it makes sense.
moritz_ maybe we should just invent something to make fudging of data driven tests easier
sure. 16:29
KyleHa Yeah, I spent a little time thinking about fudging DDT. I decided that I should get more experience with the state of the art before I try to advance it.
PerlJam KyleHa: that's exactly the lesson I taught a student worker last week. 16:30
moritz_ well, pugs' Test.pm has a force_todo sub that takes a list of test numbers
so you can say
ingy masak: ping
moritz_ #?pugs emit force_todo(1, 5, 78) 16:31
18:16 * masak goes swimming
ingy: that was 15 minutes ago, so it's unlike he'll respond too soon
ingy masak: I'm ready to try a TestML port to p6
moritz_: ok, thx
sbp unless he's got his iPhone with him 16:32
moritz_ (force_todo) that's not too convenient, because you have to count tests manually, still
ingy moritz_: does p6 have json parsing ? 16:32
KyleHa I usually can't hear my iPhone in the pool.
moritz_ ingy: yes!
ingy great! 16:33
moritz_ ingy: github.com/moritz/json/
ingy: bug reports are always welcome, as well as fixes ;-)
ingy I have a testml grammar in yaml that I can spit out into json with p5 and then use in p6
moritz++
moritz_ (it's also on CPAN, but the state of CPAN wrt Perl 5 modules isn't all that great) 16:34
ingy moritz_: I had no idea *you* were the author!
I just asked cuz you were around :P
moritz_ well, that was just good luck ;-)
ingy fate 16:35
:)
moritz_ I basically wanted a serialization format for Perl 6 16:35
XML was too clumsy
ingy need yaml
moritz_ and JSON is simpler than YAML
so I decided to go for that first
ingy json isn't a serialization language :P
you should have been at my talk this morning :) 16:36
one sec
moritz_ well, it does lists, hashes, numbers and strings
that's what I wanted
ingy ingydotnet.github.com/yaml-pgh2009-.../003z.html
:D
moritz_ and rakudo's introspection isn't good enough to serialize custom objects anyway, for now
ingy nod
nathan7 !op 16:37
fahadsadah Hi all.
!op
nathan7 Oops
fahadsadah Can I have ops, please?
nathan7 I just wanted to see him.
moritz_ fahadsadah: we tend to give ops to people we know rather long
ingy or to people we know who *are* rather long :) 16:38
fahadsadah Someone on another network said to do that for ops 16:38
In here.
moritz_ don't trust anybody who says such stuff ;-) 16:39
fahadsadah Well, that nick does have ops without a hostmask
sbp perhaps they were talking about metaops
fahadsadah Watch
audreyt !op 16:39
fahadsadah QED 16:39
moritz_ wohoo 16:40
fahadsadah What's perl6?
sbp fahadsadah: “Any infix relational operator returning type Bool may be transformed into its negative by prefixing with !.” — S03
so actually, !op should be doing the opposite of op
ingy perl6 is a 100 year programming language
fahadsadah Any relation to perl? 16:41
sbp yes and no...
moritz_ sure, it's the next version
ingy that's what larry wall says, anyway...
sbp it's a community rewrite of perl5
it looks and feels to some extent the same
but is redesigned from the ground up
moritz_ and it follows some of the same design principles
ingy it's perl5 on acid, mushrooms, peyote, and heroin 16:42
sbp e.g. controlled lunacy
fahadsadah OOPS 16:42
moritz_ don't do that! 16:42
sbp the gun is loaded
ingy weird 16:42
time to go. laters... 16:43
sbp c'ya 16:43
sbp hmm, pmichaud's slides are pretty nifty 16:59
pmichaud sbp: thanks! Which slides, which parts are nifty? The bugs? (see earlier heckling here on #perl6 :-) 17:11
moritz_ programmers can be really annoying at times ;-) 17:12
pmichaud I'm hoping to spend some time tonight turning slide ideas into blog posts :-)
sbp pmichaud: yeah, the 2009/pres/yapc-perl6 ones
was just flicking through them since they were in a tab 17:13
nice clear examples, though. I liked the rock-scissor-paper one
pmichaud jnthn++ and chromatic get credit for that one
chromatic+= # equal karma act 17:14
aiiigh
chromatic++
cant....type...during...lightning....talks
sbp heh
viklund thought it was very fun to fix moritz_ JSON parser 17:35
lollan yop 17:51
arnsholt masak++ 17:58
Thanks for nudging me with proto a while back (didn't see it 'till yesterday) and making me remember I've got a project going on
pmurias what does !op do? 18:03
moritz_ it negates op 18:04
rakudo: say 1 !&& 2
p6eval rakudo 0e0671: OUTPUT«Statement not terminated properly at line 2, near "!&& 2"␤in Main (src/gen_setting.pm:0)␤»
moritz_ at least if implemented ;-)
std: 1 !&& 2
p6eval std 27198: OUTPUT«##### PARSE FAILED #####␤Can't negate a tight and operator because it's not iffy enough at /tmp/5dUoCLNAH2 line 1:␤------> 1 !&& 2␤FAILED 00:02 36m␤»
moritz_ whatever that means.
std: 1 !and 2
p6eval std 27198: OUTPUT«##### PARSE FAILED #####␤Can't negate a loose and operator because it's not iffy enough at /tmp/AWrphnqhT9 line 1:␤------> 1 !and 2␤FAILED 00:02 36m␤»
PerlJam std: 1 !< 2 18:06
p6eval std 27198: OUTPUT«ok 00:02 36m␤»
pmurias moritz_: because i noticed during backlog that some people just uttered "!op" for no apparent reason
moritz_ pmurias: that was a bit strange indeed
PerlJam std: 1 =:= 2 18:07
p6eval std 27198: OUTPUT«ok 00:02 36m␤»
PerlJam std: 1 !=:= 2
p6eval std 27198: OUTPUT«ok 00:02 36m␤»
PerlJam that's about where my yikes! meter starts creeping up
moritz_ [!=:=] is a very lovely operator 18:08
arnsholt What does the =:= op do? 18:09
hercynium so, how does this help us reduce the incidence of muppet-related domestic violence in our community?
whoops
sorry
moritz_ arnsholt: it tests if two variables are bound to the same container
hercynium wrong channel
moritz_ rakudo: my ($a, $b); say $a =:= $b
p6eval rakudo 0e0671: OUTPUT«0␤» 18:10
moritz_ rakudo: my ($a, $b); $a := $b; say $a =:= $b
p6eval rakudo 0e0671: OUTPUT«1␤»
arnsholt hercynium: Not a problem. It was a good line =D
sbp rakudo: { say "$^a and $^b" }((1..7).pick(2))
p6eval rakudo 0e0671: OUTPUT«too few arguments passed (1) - 2 params expected␤in Main (/tmp/R0eEUFu1Kv:1)␤»
arnsholt moritz_: Right. Thanks
hercynium just heckling sungo @ YAPC::NA during his lightning talk :)
sbp what am I wanting to do here to unpack that list?
in python you do function(*args) 18:11
I've been leafing through the Synopses, but I just can't find what I'm after
moritz_ sbp: it's function(|@args)
sbp rakudo: { say "$^a and $^b" }(|(1..7).pick(2))
p6eval rakudo 0e0671: OUTPUT«5 and 6␤»
sbp awesome, thanks
moritz_ you're welcome
PerlJam is still not used to the | prefix
moritz_ it used to be * too for some time, I think 18:12
sbp finds "foo(|@onetothree); # okay: @onetothree flattened to three args" in S06
PerlJam a prefix _ would be more mnemonic of flattening IMHO :) 18:13
moritz_ oh come on, that's a valid identifier ;-) 18:14
sbp function)@args(
PerlJam I liked it when it was * (because of other languages where that's the same)
sbp | is okay. I can kind of think of it as a pipe going backwards 18:15
"foo(|eager @onetothree);" is interesting too 18:16
PerlJam rakudo: { say @_.join(":") }(|(1..17).pick(3)) 18:21
p6eval rakudo 0e0671: OUTPUT«4:7␤»
PerlJam where did the first one go?
rakudo: { say @_.join(":") }(|(1..17).pick(4))
p6eval rakudo 0e0671: OUTPUT«13:11:1␤»
PerlJam rakudo: { say @_.join(":") }(|(1..17).pick(5))
p6eval rakudo 0e0671: OUTPUT«16:1:14:13␤»
moritz_ PerlJam: into $_ probably. Known bug. 18:22
pugs_svn r27199 | pmurias++ | [re-smop] less brutish exporting of symbols 18:23
r27200 | pmurias++ | [re-smop] make map take an anonymous sub instead of a lexical named one
sbp is there any more extensive source than rakudo.org/status as to what's implemented in rakudo and what isn't? 18:29
moritz_ not in prose, I think 18:30
the roadmap obviously contains lots of stuff that's not yet implemented
so does RT
sbp mainly I wonder as I go through the synopses 18:31
so I'm looking at => in S06 for example
and the inline tests in the HTML version at perlcabal.org/syn/S06.html seem to indicate it's being tested for, though skipped in pugs 18:32
which to me would say that rakudo is either cool with it or it's a fail that hasn't had a "skip this" added to it
but when I test ==>, it doesn't work...
moritz_ rakudo doesn't do feed yets.
sbp (meant ==>, not =>, above too of course) 18:33
moritz_: okay. how do you know that?
how would you find that out if you were mere?
you were me, even. you were merely me...
moritz_ and there are no rakudo test results in the HTML version of the sources
sbp: in rakudo's source tree there's a file called t/spectest.data 18:34
sbp: it contains the list of all tests that are run when you do a 'make spectest' (and which all shoudl pass)
the test file being linked on S06.hml isn't in there
so rakudo doesn't run it
it's also possible to use a very simple example and test it
sbp ooh, I see
moritz_ and to ask here, of course ;-)
sbp yeah, I did that, testing a simple example 18:35
but I'm not confident enough yet with perl6 to make the examples simple *enough*
so I mean I might be introducing some other error that I don't know about
moritz_ things like "is $x implement" are rather volatile to warrrant questions in IRC, for sure
sbp yeah. well I do try first of course, exhaust all possible routes I can think of
moritz_ rakudo: my @a <== 1
p6eval rakudo 0e0671: OUTPUT«No applicable methods.␤in Main (/tmp/rD7Fzr6gCA:2)␤»
sbp but still it's kinda tricky when you don't know much of the language 18:36
so grepping spectest.data is a good tip, thanks
vreg *deep breath* 18:44
i've been meaning to learn perl6 18:45
now i have a dir with files that i need to rename
moritz_ ... and you're looking at how to list and move files? 18:46
pmichaud it's fairly tricky to get "everything that isn't implemented yet" to throw a useful exception. :-)
vreg moritz_, yep
and also how to do the basics. like install pugs. 18:47
if you could walk me through how to get pugs installed and then rename files
moritz_ pugs is pretty much dead, but you try to follow the steps described in the INSTALL file 18:48
vreg oh
it's dead?
is parrot the main thing now?
moritz_ there's not much pugs expertise left in this channel, I fear
vreg and, umm,
rakudo
moritz_ yes, rakudo (the perl 6 compiler for parrot)
vreg could you get me on my feet with rakudo and parrot? 18:49
moritz_ sure
vreg thanks
moritz_ rakudo.org/how-to-get-rakudo
masak wow, nice inflow of new people tonight.
vreg i was afraid you'd "RTFM n00b!" me 18:50
sbp these are the exact commands I used:
$ git clone git://github.com/rakudo/rakudo.git
$ cd rakudo && perl Configure.pl --gen-parrot
$ gmake
masak #p6s in 10.
moritz_ vreg: we try to be friendly, but still point to the documentation ;-)
masak ingy: woot! I'm ready too.
ingy: except I'm very busy the next 48 hours... :/ 18:51
moritz_ vreg: what sbp wrote, though you might need to use 'make' instead of gmake, depending on your system
vreg windows XP here
pmichaud actually, the result of the Configure.pl step will say which 'make' you're likely supposed to use :-)
masak arnsholt: you're welcome :)
sbp yeah. basically, if you use bsd make then you get cogs and sprockets everywhere
vreg been wanting to learn how to compile but i don't know how
can i get a pre-built executable?
moritz_ for which platform? 18:52
vreg windows XP
masak arnsholt: oh, right, the SQL grammar. how's that one going?
moritz_ yes, just a second...
pmichaud (we should put links to the executables on the how-to-get-rakudo page)
moritz_ vreg: parrotwin32.sourceforge.net/
vreg "The parrot executable is built with MinGW and Strawberry Perl 5.10." 18:53
can it do perl6 too? 18:54
or am i misunderstanding
KyleHa It's talking about the tools used to create the Parrot executable you have.
vreg does the executable write to the PATH variable? 18:55
moritz_ I don't know that
twigil and what is Strawberry Perl?
moritz_ twigil: it's a binary package of Perl for Windows 18:56
masak #p6s in... 18:58
...2.
vreg is there a command i can run in the cmd thing to check if i already have perl installed?
twigil wow, there's even a portable version of it
rindolf vreg: perl -V
sbp if it's still on your path
if not, you could always system-wide search for perl.exe 18:59
vreg has to be a capital 'V'?
or case insensitive
moritz_ capitcal V
masak meeting in #perl6-soc has started. 19:00
vreg i get the "perl is not recognized as a command" thing
i guess that means i don't have perl installed?
moritz_ then it's probably not installed
rindolf vreg: or it's not in the path. 19:01
sbp rakudo: say &infix:<+>
p6eval rakudo 0e0671: OUTPUT«10␤»
sbp why is this giving 10 with no args?
amoc oh
moritz_ that's... rubbish, I'd say
masak submits rakudobug 19:02
moritz_ rakudo: say &infix:<+>.WHAT
p6eval rakudo 0e0671: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/ewmjTyc2Xp:2)␤»
masak literal: ping
sbp credit: Björn Höhrmann
masak submits another rakudobug
vreg running search 19:04
none found 19:06
i'd like to compile myself
masak see if the manual you got at birth has a 'make' tutorial. 19:07
vreg birth?
masak sorry, I might have misunderstood... :) 19:08
skids compiling ones'self usually takes about 9 months, and the result is never quite the same as the original. :-)
twigil rakudo: my $a="1"; my $b = "2"; say $a ~ $b;
p6eval rakudo 0e0671: OUTPUT«12␤»
vreg was a bit surprised that the pre-built binary changelog has only one entry 19:09
Jun 17, 2009 2:43 am 19:10
are the pre-built's for windows new?
twigil rakudo: my $a; my $b=3; say $a // $b;
moritz_ new for every release of parrot
p6eval rakudo 0e0671: OUTPUT«3␤»
vreg oh
vreg 1.3.0 is the latest stable build? 19:10
moritz_ aye
parrot releases monthly
every third Tuesday, or so 19:11
(of the month, that is)
and the June release was 1.3.0
vreg downloading now
i'm a bit nervous
moritz_ why? 19:12
twigil rakudo: my @a=(1, 2, 3, 4); say @a >>*<< @a;
p6eval rakudo 0e0671: OUTPUT«14916␤»
moritz_ when you're on windows, dowloading software is a pretty common task
vreg it sounds paranoid, but i have nightmares about rebooting and having it not boot up
the install i mean
twigil rakudo: my @a=(1, 2, 3, 4); my @b=(); say @a >>*<< @b;
arnsholt masak: Well, seeing how I haven't really worked on it for a month or two, it's going slow =) 19:13
vreg or after it
p6eval rakudo 0e0671: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤in Main (/tmp/LTzcM7MxBY:2)␤»
masak arnsholt: I know the feeling.
arnsholt: what's blocking you?
arnsholt The main block is getting off my arse and doing stuff, to be honest 19:14
moritz_ I know that too.
vreg is there anything i should install before i run the 1.3.0 parrot setup executable?
arnsholt That, and the fact that my life has been full of life 19:15
masak @seen literal
lambdabot literal is in #perl6. I don't know when literal last spoke.
vreg or should i go ahead and install 1.3.0 19:17
and then install perl 6
KyleHa Do labels and "next LABEL" work as they do in Perl 5? 19:18
moritz_ install parrot-1.3.0
KyleHa rakudo: FOO:for (1,2,3) -> $x { next FOO if $x == 2; say $x } 19:19
p6eval rakudo 0e0671: OUTPUT«Statement not terminated properly at line 2, near ":for (1,2,"␤in Main (src/gen_setting.pm:0)␤»
moritz_ KyleHa: I think they should, but rakudo doesn't implement them
vreg is it preferable to change the install dir from C:\ to C:\Program Files? 19:20
KyleHa rakudo: FOO:for (1,2,3) -> $x { next FOO if $x == 2; say $x; }
p6eval rakudo 0e0671: OUTPUT«Statement not terminated properly at line 2, near ":for (1,2,"␤in Main (src/gen_setting.pm:0)␤»
KyleHa Yeah, guess not.
Thanks.
vreg i usually like to stay out of root
if C:\ is root
moritz_ vreg: then change it 19:20
KyleHa: it's in S02:3360 and onwards 19:21
(and the IRC logs make that a clickable link ;-)
vreg parrot installed 19:22
sbp moritz_: the link doesn't work, however 19:23
moritz_ sbp: it doesn't? that's a shame... 19:24
oh. 19:25
the html doesn't contain the line anchors anymore
masak someone removed the anchors. :/
vreg This binary executable feature is still somewhat experimental, and may not work on all platforms. Also, the binary has hardcoded paths to the Parrot build tree (especially the dynamic libraries and modules), so removing or moving the build tree will cause the binary to stop working.
masak moritz_: I was surprised too.
they're really useful.
according to someone here on the channel, they made some browsers thrash a lot.
vreg does that refer to the rakuto binary? 19:26
sbp hacks something up
vreg rakudo, even
azawawi hi 19:26
masak azawawi: o/
rindolf Hi azawawi
moritz_ vreg: yes, but in the installed version that problem should be solved for you
vreg oh
when i installed parrot, rakudo was installed as well? 19:27
moritz_ masak: I think it's more the javascript and hilighted test case snippets, not the line anchors
moritz_ vreg: it might. I'm not that familiar with the windows package 19:27
masak moritz_: I would have thought so, too.
moritz_ szabgab: ping
pugs_svn r27201 | azawawi++ | [S:H:P6] viv is copied here for fun. 19:30
azawawi moritz_: i think he's sleeping now. 10:30pm here
vreg i guess it doesn't install rakudo
perl -V came up empty
moritz_ azawawi: I'm in no particular hurry
azawawi moritz_: you'll get a ping timeout :)
moritz_ vreg: try perl6 -v
vreg oh 19:31
it doesn't recognize perl6
moritz_ what about parrot -v? 19:32
vreg: ah, you need parrot-rakudo-addon from sourceforge.net/project/showfiles.p..._id=211372 19:33
vreg "This is Parrot version 1.3.0 built for i386-MSWin32."
pugs_svn r27202 | kyle++ | [t/spec] Some notes about character ranges 19:34
vreg downloaded. installing addon now 19:35
pmurias azawawi: you asked about the errors people make when writing perl6, not inserting the semicolon is a one I make often 19:36
meppl good night 19:37
vreg hmm
should i uninstall parrot?
before installing parrot-rakudo-addon
moritz_ no.
vreg install it to the parrot dir?
moritz_ I don't know 19:38
vreg tries not to panic. 19:39
pugs_svn r27203 | pmurias++ | [re-smop] Signature refactor
vreg installed to parrot dir 19:42
i think it added perl6.exe to 'bin'
C:\>perl6 -V
"load_bytecode" couldn't find file 'PCT.pbc'
current instr.: '' pc 0 (perl6.pir:23)
called from Sub '_block11' pc -1 ((unknown file):-1)
pugs_svn r27204 | azawawi++ | [S:H:P6] emit_p5 -> emit_color. Removed all unneeded stuff. 19:44
r27205 | azawawi++ | [S:H:P6] test file was in win32 format 19:45
r27206 | azawawi++ | [S:H:P6] No more emit_p6... just emit_color 19:47
vreg <-- stuck 19:50
moritz_ std: [+] 19:51
p6eval std 27206: OUTPUT«##### PARSE FAILED #####␤Unable to parse array composer; couldn't find final ']' at /tmp/4RRLz3wWHe line 1:␤------> ␤ expecting noun␤FAILED 00:02 37m␤»
sbp moritz_: inamidst.com/misc/p6/S03#1000
vreg moritz_? 19:52
moritz_ vreg: you could try to contact fperrad on the irc.perl.org network, he does the binary packages 19:53
sbp gist.github.com/135481.txt for source 19:54
(yes, I know about nl. for some reason nl -s '' wasn't working properly)
pugs_svn r27207 | azawawi++ | [S:H:P6] perltidy -et=4 viv.pl 19:55
vreg fperrad No such nick/channel
when i connect to an irc.perl.org server
moritz_ vreg: funny, he's on that network. 19:56
vreg weird
magnet.llarian.net
vreg which channel should i join? that he/she's on 19:56
he 19:57
szabgab moritz_, yes ?
moritz_ szabgab: the HTML on perlcabal.org/syn/*.html doesn't have the line anchors anymore... 19:58
szabgab: and I believe you touched the HTML generation last - any chances of getting them back?
szabgab I have not touched them since I was in Oslo have those disappeared then ?
that's almost 2 months now 19:59
checking svn log
moritz_ szabgab: dunno, I only now noticed they're gone, but it's been quite some times since I tried last
szabgab I'll try to take a look tomorrow 20:00
moritz_ than you very much
*thank
szabgab I am too tired now
moritz_ no hurry
vreg i don't see fperrad in #perl 20:01
azawawi std: a b c;
p6eval std 27207: OUTPUT«Undeclared routines:␤ a used at 1 ␤ b used at 1 ␤ c used at 1 ␤ok 00:02 35m␤» 20:02
moritz_ vreg: /whois fperrad
vreg fperrad No such nick/channel
azawawi std: if 1 { }; 20:03
p6eval std 27207: OUTPUT«ok 00:02 35m␤»
azawawi std: if 1 { }; if 1 { };
p6eval std 27207: OUTPUT«ok 00:02 35m␤»
azawawi std: if 1 { } if 1 { };
p6eval std 27207: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/48u1lf82wd line 1:␤------> if 1 { } if 1 { };␤ expecting any of:␤ infix stopper␤ statement␤FAILED 00:02 35m␤»
azawawi pmurias: i think we're on to something with making a quick fix for this one... 20:04
std: if 1 { } my $foo; 20:05
p6eval std 27207: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/2Z1MQMHlfa line 1:␤------> if 1 { } my $foo;␤ expecting any of:␤ infix stopper␤ statement␤FAILED 00:02 35m␤»
azawawi pmurias: using the current regexp replacement im using in quick fixes wont help us in this situation; we could guess and add a ; after } 20:06
pmurias: after i refactored S:H:P6, a 100% accurate quick fix replacement will be available. 20:07
pmurias: s/refactored/refactor/
azawawi adds missing semicolon quick fix to his todo list 20:10
vreg i have to give up if i can't get past this error :\ 20:16
"load_bytecode" couldn't find file 'PCT.pbc'
azawawi moritz_: what does viv stand for btw?
moritz_ azawawi: you ahve to read it as roman numbers 20:17
6-5
vreg what does parrot do? if perl6.exe runs the scripts 20:19
moritz_ perl6.exe is just a thin wrapper around parrot perl6.pbc 20:20
azawawi moritz_: ah i keep forgetting that; it is the lower case that confuses me :) 20:21
moritz_: thx
vreg ....;C:\Program Files\Parrot-1.3.0\bin 20:22
i can get to perl6 in cmd through the path variable
but this load_bytecode error thing 20:23
no choice but to uninstall parrot 20:24
but thanks moritz_, pmichaud and everyone who tried to help
i appreciate it
pugs_svn r27208 | masak++ | removed redundant =head2, mistakenly copy-pasted 20:30
r27209 | masak++ | [P2T1A] simplified cards example
masak TimToady: in the #perl6-soc meeting, we concluded that 'grok', the u4x CLI client, would need something STD.pm-alike, but with different requirements. it would be interesting to discuss that at some point. for example, specialized rules which called STD.pm rules might be what it needs. 20:52
the reason for the specialized requirements is that I keep insisting that things like '[+]' be understandable by grok. '[+]' is not a complete Perl 6 statement, but it's still an atomic 'thing'. 20:53
viklund std: [+] 20:54
p6eval std 27209: OUTPUT«##### PARSE FAILED #####␤Unable to parse array composer; couldn't find final ']' at /tmp/QxYN9OrONp line 1:␤------> ␤ expecting noun␤FAILED 00:02 37m␤»
viklund bah!
masak speaking of useful errors. :P
viklund std: [+] 1 20:55
p6eval std 27209: OUTPUT«ok 00:02 37m␤»
pugs_svn r27210 | azawawi++ | [S:H:P6] emit_color understands variables now :) 20:56
azawawi viv is way cooler than redspans. TimToady++ 20:58
masak azawawi: what are those two, anyway? 20:59
azawawi masak: two acronyms to make me cool :) 21:00
masak azawawi: does viv completely replace gimme5 yet?
azawawi masak: idk :)
moritz_ it does not. 21:01
azawawi masak: but it doesnt seem to have replaced it since gimme5 is still here
moritz_ at least not the version in svn
azawawi masak: redspans spits out string parse trees which is really useful in highlighting; however, when you need to calculate variable scope; you're out of luck using that... 21:03
masak: we hacked our way before a bit in S:H:P6 via redspans but to reach a higher level of accuracy, you need to use viv 's emit actions to access all of STD's real foo. 21:05
moritz_: plz correct me if im wrong ofcourse :)
masak this is all very interesting. 21:06
masak rubs hands together
moritz_ azawawi: sure, but I'm entirely an expert either
azawawi masak: when i needed to know when a variable was declared, i was out of luck with redspans
moritz_ just because I people point to stuff, or comment on it doesn't mean that I actually understand it
azawawi masak: to implement refactoring; rename variable/package/method/subroutine ...etc 21:07
moritz_: come on :)
azawawi what's a good pastebin site to use? 21:09
masak azawawi: gist.github.com
viklund gist.github.com?
masak is faster :)
viklund masak++
azawawi hmmm i hate it here... my isp is caching stuff a lot and i have to change urls for it to work! 21:10
masak: variable declaration/usage via viv: gist.github.com/135520 21:11
masak azawawi: cool! 21:12
will definitely look into that more.
but now, sleep.
phenny: tell ingy looking forward to pairing up and working on that YAML port.
phenny masak: I'll pass that on when ingy is around.
pmurias azawawi: try https? it won't be cached so easily 21:13
azawawi pmurias: will try it...thx 21:15
i know im a Padre guy but i will try to refactor stuff into a script for vim support as well; something like perl perl6-refactor.pl --rename-variable $foo,$foo-bar 21:18
lichtkind azawawi: what refactoring
azawawi p6 21:19
lichtkind azawawi: didn't you want to make arab localization for kephra too?
azawawi lichtkind: i didnt have the time :)
lichtkind: im lazy
lichtkind azawawi: yes were at #perl6 but what kind of refactoring?
azawawi lichtkind: perl 6 rename variable/package/method etc
lichtkind azawawi: thats good and why your drawn to perl but please dont speak bad about yourself 21:20
azawawi lichtkind: :)
lichtkind: i saw you perl 6 doc index... way cool.
lichtkind azawawi: its growing every day and its just 1/14 of an larger effort 21:21
azawawi lichtkind: something we can re-use to provide better p6 context documentation...
huf azawawi: that sounds pretty neat
lichtkind azawawi: it supposed to be documentation, because i need something for Perl6::Doc
azawawi lichtkind: any pods for it? 21:22
lichtkind: that we can parse
lichtkind azawawi: not yet, hve too many hats right now
azawawi: but its atarget for shure
azawawi: but in longterm we need wiki syntax2POD converter anyway :) 21:23
azawawi lichtkind: so what's new with kephra? 21:26
lichtkind azawawi: in last weeks not much because i did much p6 stuff but 0.4.2 will come soon 21:27
pugs_svn r27211 | azawawi++ | [S:H:P6] added stuff for handling blocks 21:28
lichtkind azawawi: i put my 8 part tutorial online, + wrote lot for perl 6 tablets + november wiki content + + so you can imagin 21:29
azawawi lichtkind++
lichtkind azawawi: thanks as yesterday obra added me to planet perl 6 you will sonn read from that 21:30
azawawi lichtkind: does Kephra use Moose btw?
lichtkind azawawi: no 21:31
azawawi: kephra has very few dependencies
i see that as stength
azawawi lichtkind: i see 21:32
good night & 21:33
lichtkind good night 21:34
pmurias lichtkind: not using Moose is a doubtfull strength 21:35
moritz_ eats moose, from time to time 21:36
lichtkind pmurias: kephra is not objet oriented in any way, so why use moose 21:36
pmurias: and speed is important to me
azawawi pmurias: i agree :)
PerlJam lichtkind: what is kephra? 21:37
lichtkind PerlJam: an editor written in perl, mainly by me
lichtkind PerlJam: and i use it for the most part too because im faster in than enywhere else except when i need heavvy debbuing 21:39
debugging
TimToady std: [*] 21:44
p6eval std 27211: OUTPUT«Modification of non-creatable array value attempted, subscript -1 at STD.pm line 40962.␤FAILED 00:02 37m␤»
moritz_ std: [++] 21:45
p6eval std 27211: OUTPUT«##### PARSE FAILED #####␤Unable to parse array composer; couldn't find final ']' at /tmp/a13ohbBoGE line 1:␤------> [++]␤ expecting any of:␤ noun␤ prefix or meta-prefix␤ prefix_postfix_meta_operator␤ whitespace␤FAILED 00:02 37m␤»
TimToady there's no ++ infix 21:46
moritz_ I know 21:46
TimToady perhaps the error messages should note that it gave up on parsing it as a reduce at some point 21:47
std: [+] ;
p6eval std 27211: OUTPUT«##### PARSE FAILED #####␤Unable to parse array composer; couldn't find final ']' at /tmp/9wCY7bMoE0 line 1:␤------> [+] ;␤ expecting any of:␤ noun␤ prefix or meta-prefix␤FAILED 00:02 37m␤» 21:48
TimToady that's...peculiar
ordinarily a listop allows a null list 21:49
std: [+]()
p6eval std 27211: OUTPUT«ok 00:02 37m␤»
Trey TimToady: but what should the value of C<[+] ;> be? 21:56
TimToady 0
S03:3831 21:57
so I'd say not parsing bare [+] is a bug in STD
pugs_svn r27212 | lwall++ | [CORE] derive &Type from Type automatically, and share object 22:05
r27212 | lwall++ | [CORE,STD,Cursor] move Type:: entries to Type<stash>
r27212 | lwall++ | [Cursor] reinstate setting cache
pmurias TimToady: derive &Type from Type - hey you are stealing our nasty hacks! ;) 22:11
moritz_ TimToady: S05 says "So for regex matching purposes we define token patterns as those patterns containing no whitespace..." 22:21
moritz_ TimToady: what exactly does the "no whitespace" mean? that ther's no (implicit) <.ws> calls? or no whitespace in the regex text? 22:21
or that it may not match whitespaces in any way (ie forbids \s)? 22:22
TimToady it's not talking about token in the declarator sense, but token in the LTM sense, I think 22:23
clearly it's unclear :)
TimToady and, in fact, tokens in either sense may contain whitespace, so it probably needs to be hedged with a "generally" in any case 22:24
moritz_ let's ask differently - which of these versions does your LTM matcher for STD.pm imlement? 22:26
moritz_ hm, I think the bullet list later in the text pretty much clarifies it 22:30
maybe the initial sentence shouldn't talk about whitespaces, but rather about things that terminate a token pattern, to be listed later on 22:32
anyway, I need sleep. 22:34
amoc rakudo: sub foo ([$a,$b]) {...} # works now?
p6eval rakudo 0e0671: OUTPUT«Malformed routine definition at line 2, near "foo ([$a,$"␤in Main (src/gen_setting.pm:0)␤»
moritz_ amoc: no.
amoc thank you. 22:35
Infinoid Oi, why did I get kicked? 22:36
huf for great justice? 22:38
Infinoid sets huf up the bomb 22:39
pugs_svn r27213 | lwall++ | [S05] some clarification requested by moritz++ re ws in longest tokens 22:49