»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend!
Set by Tene on 14 May 2009.
TimToady and so you end up wanting your own event loop that can translate external events to a consistent form, and then, of course, you've introduced yet another form of events into the world :/ 00:00
sjohnson sounds a bit complicated.. best if i just don't hit the array key 00:01
TimToady it may be turtles all the way down, but it's events all the way back up...
StephenPollei Null PMC access in get_string() -- you guys were interested in those kinds of things errors?
sjohnson in the beginning, was Perl hard to write?
TimToady for some definition of "you" that tends not to include me
sjohnson back in the NASA days 00:02
TimToady well, Perl was pre-NASA, actually
it wasn't rocket science, if that's what you're asking :)
but it was hard enough that nobody else did it
it's the sort of thing that's easy if you're insane, and impossible otherwise... :) 00:03
StephenPollei {my Role $cino; isa_ok($cino, Role );} that's what caused the Null PMC access 00:04
nobody sane would do that
sjohnson well you seem to really know C well, with those skills under your belt, i'm curious as to how difficult it was, in general, to implement 00:05
sjohnson i only know how to do a hello world program in C, and with my skillset, me imagining how to undertake the task is very baffling for my puny brain 00:05
sjohnson but i would be curious to know what 'you' thought about it at the time 00:08
sjohnson if it was fun, east/difficult, rewarding, frustrating at times, etc 00:09
TimToady all of the above
sjohnson actually, 'hello world' was a bit too much for my C level, i think i wrote a "hello city" program
TimToady it's about the same difficult as raising children 00:10
sjohnson was integrated regex technology implemented / thought of right from Square One? 00:13
cause it is my favourite feature
TimToady sure, that's the E of PEARL, extraction
sjohnson heh 00:14
i thought it was Eclectic 00:15
pugs_svn r27053 | stephenpollei++ | added more built-in types to check for existence 00:16
FurnaceBoy sjohnson, there are at least 2 expansions 00:43
Pray Everything Runs Legitimately 00:44
takadonet hey everyone 00:49
sjohnson heh 00:50
hey taka 00:53
takadonet how are you doing sjohnson? 00:56
sjohnson i bit worried, hoping i didn't forget my VISA card at a bar 00:57
takadonet ouch 00:58
sjohnson not concerned about someone taking it, just that my buddy threw a beer bottle in the parknig lot of the place 01:01
and hoping they didnt think it was me
TimToady maybe you need new buddies 01:01
sjohnson yeah definitely 01:05
need guys i can talk about Perl with
for real tho! 01:06
i'd rather talk about "geek stuff" than what they talk about
sjohnson rakudo: say my $*DUMMY.WHAT 01:16
p6eval rakudo 86aeaf: OUTPUT«Statement not terminated properly at line 2, near ".WHAT"␤in Main (src/gen_setting.pm:0)␤»
sjohnson rakudo: my $*DUMMY; say $*DUMMY.WHAT
p6eval rakudo 86aeaf: OUTPUT«Failure()␤»
sjohnson rakudo: my $DUMMY; say $DUMMY.WHAT
p6eval rakudo 86aeaf: OUTPUT«Failure()␤»
sjohnson well rakudo thinks i'm a failure 01:18
sjohnson hangs his head in shame 01:19
jdv79 everyone fails 01:27
StephenPollei rakudo: my KeySet $pamu 01:28
p6eval rakudo 86aeaf: OUTPUT«Malformed declaration at line 2, near "KeySet $pa"␤in Main (src/gen_setting.pm:0)␤»
JDlugosz Hey, what's this about "identify" on this server? I did what it asked, but it tells me "... not a registered nickname." 02:17
Infinoid If you didn't already have a nickserv account, it doesn't affect you 02:22
mycelium hello. how relevant the book "Perl 6 and Parrot essentials" (A.Randal, D.Sugalski, L.Totsch, o'reilly, 2004) now? 05:48
araujo mycelium, it wouldn't hurt to read i think, but things keep changing yet 06:18
moritz_ mycelium: things like the language design prinicples discussed in the book are still very intersting, but much of the language has changed since... 07:35
mycelium: but the book has been open-sourced since then, and kept reasonably up to date. The Perl 6 part now lives in pugs repo, in doos/tutorial iirc 07:36
masak wonders if we're entering a period of relative stability now 07:39
moritz_ TimToady's and pmichaud's recent discussions about list and captures make me believe otherwise :-) 07:40
Matt-W Morning
masak Matt-W: o/ 07:42
moritz_: I truly, fundamentally, don't grok Captures yet.
Matt-W doesn't either 07:44
mycelium thanks to all (for answers to my question about perl book)
moritz_ masak: sometimes I think I do... and then I look at old test cases, or hear TimToady talking... and then it's all gone 07:46
masak the evanescence of Capture. :) 07:48
moritz_ std: sub binary (0|1 $n) { $n } 07:51
p6eval std 27053: OUTPUT«##### PARSE FAILED #####␤Unable to parse multisig; couldn't find final ')' at /tmp/6qtIIliCh8 line 1:␤------> sub binary (0|1 $n) { $n }␤ expecting any of:␤ param_sep␤ parameter␤ post_constraint␤ trait␤ type_constraint␤ whitespace␤FAILED
..00:02 38m␤»
moritz_ ouch, I'm sitting at a keyboard that has no dollar sign :/
masak such is the tyrrany of the Eurozone... 07:52
Matt-W ouch 07:54
kind of essential on a programmer keyboard
in any language
except for C programmers
DanielC Out of curiosity, why is it that #perl an #perl6 are not in irc.perl.org ? 08:05
moritz_ @historical_reasons 08:06
and the fact that you shouldn't have to join a perl server just to chat about perl
we don't want to encapsulate our community too much
DanielC not encapsulating++ 08:07
Matt-W encapsulating++ # other things 08:08
pugs_svn r27054 | lwall++ | [S12] dwim on things like: say "Foo = $foo.";
pugs_svn r27055 | lwall++ | [STD] say "$foo."; should not be a ."" method call 08:09
r27055 | lwall++ | [CORE] add some missing types found by examples testing
DanielC Parrot question: I'm using "substr" to step through every byte in an array (which is represented as a string). Is there a faster way to step through every byte in a byte stream? 08:22
I wrote a checksum function in PIR and about 70% of the time is spent on "substr". 08:23
Matt-W split it into a list of characters and step over those 08:34
and remember that you'll be needing to use something that's actually a collection of bytes when it's implemented
DanielC The program is already implemented, and currently I use "ord". 08:36
I don't know how to split a string into a list of characters in PIR.
$P0 = split '', $S0 08:40
moritz_ DanielC: I'm sure there's some way to access the bytes, but I don't know if it's available from PIR. But if you write it in C (as a PMC) it will surely work 08:41
DanielC Someone at #parrot just offered an alternative. Parrot already has an md5 function, and the test file shows how to use it. 08:43
So I think I'll just go for that.
(I'm assuming that that'll be fast)
moritz_ and if not, you can blame someone else :-) 08:45
DanielC :-) 08:46
It uses OpenSSL, so it really should be fast.
masak I've been wanting to use that in November, too. so, DanielC, if you figure out how to call it from Rakudo, please blog about it or nopaste code here, or something. :) 08:50
DanielC sure 08:51
jnthn o/ 08:53
DanielC o/
masak o/ 08:54
Matt-W masak: can't you write a module which provides a sub md5 and uses inline PIR? 08:56
oooh 09:00
masak I suppose I could. I didn't say it's difficult, just that I haven't bothered to find out how to do it. :)
Matt-W "Allison committed her remaining local changes to the pcc_rewiring branch, and I'm hoping that a few eyes looking over it will help resolve the remaining problems."
masak pictures free-running helpful eyes
DanielC Yay! It works! 09:08
And it runs much faster :-D 09:09
masak DanielC++ # show us the code! 09:10
DanielC This is all PIR, no Rakudo. Doy you still want it?
masak yes, I think so. 09:11
Matt-W oh yes
DanielC Hmm... is the paste URL working?
pastebin.com/m51548a6a 09:13
buubot DanielC: The paste m51548a6a has been copied to erxz.com/pb/18189
masak DanielC: thanks! 09:14
DanielC masak: This is for the parrot-module-lib project.
masak cool. 09:15
DanielC It is light years faster than the Fletcher algorithm I wrote.
I'll just document a little before I commit.
Matt-W light years is not a measurement of time! 09:18
DanielC :-)
masak neither is it a unit of speed. 09:21
jnthn And anyway, I reckon it's only 100km faster. 09:26
jnthn yawns
Matt-W morning jnthn 09:31
jnthn Matt-W: morning 09:33
Matt-W I had an interesting thing this morning 09:38
switched my laptop from Fedora over to Ubuntu 9.04 last night
got all the stuff for building rakudo installed this morning 09:39
the arguments to the 'prove' that ships with Ubuntu are different
I had to change my Makefile
Form's is now prove --perl '$(RAKUDO)' -r t/
Found that quite surprising 09:40
DanielC masak: I uploaded the new checksum program. 09:47
DanielC o/ mberends 09:55
mberends o/ backlogging... I see you had some news :) 09:56
DanielC md5 rulez!
Gothmog_ but br0ken 09:57
;-)
DanielC Gothmog_: Depends on what you want it for. 09:58
Gothmog_: Too many people throw around the "broken" thing without really understanding it.
mberends there won't be an exploit for md5 that affects our use case. ever. 09:59
Gothmog_ Yeah, i was just kidding. I understand the issue quite well.
DanielC We are not using md5 for cryptographic/security purposes. We are only using it as a checksum (aka. to detect accidental error).
mberends stumbled over the parrot md5 while reading docs offline this morning :)
DanielC On my computer the new checksum.pir takes 1min 34s to hash a 4 GiB file. 10:09
mberends and how long would it take to copy to /dev/null instead?
DanielC tries 10:10
mberends disk reading accounts for most of the time 10:11
DanielC I'm sure.
Matt-W that is quite a lot of data :)
can't throw 4GB files around with impunity quite yet 10:12
DanielC Matt-W: "Genome::Human"? :-)
Matt-W :)
that'd be fairly large
DanielC I wonder how large the human genome is in GiB.
viklund_ Or, "Genome::Wheat" <- several factors larger
DanielC really?
viklund_ yes, plants have larger genomes than animals in general 10:13
The wheat genome is very tricky
DanielC That is fascinating.
viklund_ the human genome is 3 giga basepairs, so about 3GIB
Matt-W the whole area is extremely odd
DanielC Is there any reason why? Is it because plants have been around longer maybe?
viklund_ DanielC: No, on land, animals were first 10:14
mberends afk &
Matt-W some plants have multiple copies of each chromosome
DanielC So you can put the human genome on a DVD :)
Matt-W DanielC: well, somebody's... a description of all the possibilities might be a bit bigger 10:15
viklund_ one hypothesis I heard is that plants can't run away, so they need more elaborate defenses (but I don't know if that's still a likely hypothesis, I don't keep up with plant research)
DanielC viklund_: ??? Maybe we are not agreeing on the word "plant" but in the Carboniferous period the world was all forest an insects but there were no animals.
viklund_ DanielC: Ehm, the first things on land out of water were not plants (maybe they weren't animals either) 10:16
DanielC mberends: Copying to /dev/null took 5 minutes (!!!)
viklund_ single celled protists and stuff probably...
but I don't have any extensive knowledge here either (I do bacteria) 10:17
DanielC What do you do for a living?
viklund_ PhD student in Molecular Evolution
DanielC ok 10:18
masak viklund_: interesting. I would at least have thought plants made it out of the water long before animals did.
this is just a feeling, though. I haven't checked.
viklund_ masak: Yes, that's the intuition
DanielC We might be disagreeing on the word "plant" because a lot of the things that people often think of as plants, are not, but I don't know what to call the more general type. 10:19
e.g. algae is not a plant.
viklund_ DanielC: This question came up on a JC we had half a year ago, one of the younger lecturers said it, and we said "interesting", and that was basically it 10:20
masak Wikipedia puts the oldest land plant fossils at late Silurian. I haven't found a corresponding time point for land animals. 10:21
viklund_ I guess I should check up on it in more detail, so I know what I'm talking about...
DanielC en.wikipedia.org/wiki/Carboniferous <-- Says that in the Carboniferous periods there were already plants and insects and this is the time when the first tetrapods (all amphibians at the time) went into land.
masak ah. good. 10:22
viklund_ kv bj
daughter touching keyboard...
masak she's showing early talent.
jnthn std: kv bj 10:23
p6eval std 27055: OUTPUT«Undeclared routine:␤ bj used at 1 ␤ok 00:02 35m␤»
jnthn Well, she wrote a valid Perl 6 program.
DanielC heh
DanielC en.wikipedia.org/wiki/Silurian <-- The first "plants". 10:26
According to wikipedia, the first fish to evolve legs are in the Devonian.
lichtkind mberends: i did C yesterday night
DanielC The Devonian also has the first "seed bearing plants"
But in the Silurian we have moss and "the first fossil records of vascular plants". 10:27
masak DanielC: and insects? did they come after the plants, too?
DanielC masak: I always imagined so, but I don't know.
DanielC keeps reading Wikipedia
masak I also imagine they did.
DanielC "the first possible fossils of insects appeared around 416 Ma in the Early Devonian." 10:28
Yes, that's after plants.
"the first fish evolved legs and started to walk on land as tetrapods around 365 Ma" 10:29
So insects come about 60 million years before tetrapods. 10:30
masak though the 'fish evolved legs' is a bit of an oversimplification, I'd say.
DanielC Well, that's from the introductory paragraph.
masak it has been successfully popularized by images from the 60's, IIRC. :)
DanielC It is supposed to be a simplification. I guess if I read the whole article I'll find details.
masak DanielC: no, I mean the whole 'animals getting up on land' business. it's fascinating when you start to think of the motives the early water-dwelling creatures could have really had. 10:31
viklund_ That "fish evolved legs" after plants on land doesn't really contradict that there were animals on land before plants, they might have went extinct though, but as I said I'm going to do a check-up on this, going to work later today. 10:32
masak DanielC: for example, crawling over a low embankment from one shallow pool to another.
DanielC: and no legs were needed for that, just the ability to crawl and shuffle around.
DanielC I documentary I saw said that it began with fish going to shallower and shallower waters to escape predators.
viklund_ masak: Laying eggs on land will protect them from predators 10:33
masak sure, sure.
viklund_ and so on...
that might have happened before plants even
masak likes the 'and so on...' part
viklund_ so I guess it's also a question of what we mean with "land animals" 10:34
anyway, I'm speculating wildly here
DanielC viklund_: What land animal came before legs?
viklund_ something crawling up, laying eggs in the sand, and the crawling back?
a bony fish should be able to do that I think 10:35
DanielC fish with legs == crawling ?
viklund_ no
DanielC I don't think that they mean that the fish were walking around.
viklund_ snakes don't have legs
DanielC considers getting pedantic about snakes, but decides not to :)
viklund_ ;)
DanielC Well, anyways, you are right that it depends on what we mean by "land animals". I was thinking of amphibians. But I would be interested to know if there were fish who would crawl on land and "hold their breath". 10:37
viklund_ when did crabs and such evolve?
DanielC similar to tetrapods
viklund_ DanielC: yes
ok
DanielC At least, a documentary I saw seemed to say so. The documentary also painted the picture of athropods and vertebrates/tetrapods fighting for dominance for millenia. 10:40
Some times one group dominates, and some times the other. It was very interesting.
mberends DanielC, the /dev/null copy must have been bytewise, maybe that's a cp thing. maybe try this instead: dd if=MyBigFile of=/dev/null bs=65536 count=65536 10:50
DanielC tries dd 11:00
Matt-W tries to figure out how perl 5's unpack actually works 11:01
DanielC Matt-W: I have never understood pack/unpack. 11:02
Matt-W me neither
but I need it now
masak unpack is wonderful. and no, I don't grok it either. 11:03
DanielC mberends: dd took 3min.
mberends: Oh wait...
The file is bigger than 4GiB.
mberends: How do you make dd read only the first 4GiB?
The file is 7.6 GiB 11:04
actually, 7.6G
Matt-W okay, I think i figured out unpack 11:05
masak that was quick!
Matt-W okay 11:06
no I didn't
argh 11:07
the documentation just bounces off me 11:08
I'm going to have some lunch
DanielC mberends: So let's see... 7.6G is 7.07GiB. If 7.08GiB takes 3min to read, then 4GiB should take 1min 42sec. But the md5 program ran in 1min 34sec. So the cost of the md5 is clearly negligible.
s/7.07/7.08/
antiphase bytes read = bs*count or the file size, whichever smaller 11:10
masak rakudo: my $anthem = $*IN.slurp; say $anthem.chars; say $anthem.bytes; 11:23
p6eval rakudo 86aeaf: OUTPUT«616␤639␤»
sjohnson hey masak how's it going 11:24
masak sjohnson: hey sjohnson! it's going well, I think. too little time for Perl 6 lately, but I really shouldn't complain. :) 11:25
sjohnson: how are you?
rakudo: my @anthem = $*IN.slurp.comb; say @anthem.grep({ .bytes > 1 }).perl 11:26
p6eval rakudo 86aeaf: OUTPUT«["Ä", "ä", "ß", "ö", "ü", "ö", "ü", "Ö", "ü", "Ö", "ß", "ü", "ü", "Ö", "ü", "Ö", "ä", "ß", "ü", "ö", "ö", "Ö", "Ö"]␤»
masak :)
jnthn \o/
sjohnson could be better
masak sjohnson: sorry to hear that. 11:27
jnthn my @anthem = $*IN.slurp.comb; say @anthem.grep({ .bytes > 1 })>>.lc.uniq.perl 11:28
masak rakudo: say $*IN.slurp.comb.grep({ .bytes > 1 }).join
p6eval rakudo 86aeaf: OUTPUT«ÄäßöüöüÖüÖßüüÖüÖäßüööÖÖ␤»
jnthn rakudo: my @anthem = $*IN.slurp.comb; say @anthem.grep({ .bytes > 1 })>>.lc.uniq.perl
p6eval rakudo 86aeaf: OUTPUT«["ä", "ß", "ö", "ü"]␤»
masak oh, the endless hours of fun to be had with the Austrian national anthem...
jnthn is happy to sneak paralell dispatch into another example 11:29
sjohnson what do you guys use as your favourite console irc client?
jnthn irssi
masak rakudo: say $*IN.slurp.comb.grep({ .bytes > 1 })>>.lc.uniq.sort.join
p6eval rakudo 86aeaf: OUTPUT«ßäöü␤»
sjohnson i use weechat but am thinking to switch back to irssi because it won't save a chat conversation with a command by default
masak sjohnson: ERC.
it rocks. 11:30
sjohnson and everywhere in that channel is making fun of me for suggesting this
such a simple f**king feature
</rant>
sjohnson i feel better already 11:31
rakudo: say "sjohnson, don't feel so bad about it";
p6eval rakudo 86aeaf: OUTPUT«sjohnson, don't feel so bad about it␤»
masak sjohnson: ERC gives your chat session the flexibility of Emacs. not much beats that. saving chats is just the beginning.
sjohnson i am listening 11:33
and interested
masak sjohnson: no, that's all. :) use ERC. 11:34
the better you know Emacs, the more you'll be able to leverage into your ERC usage, of course.
but knowing that an extensible, programmable, insanely configurable editor sits right behind your chat window is... kinda nice. 11:35
rjh or kinda horrifying
jnthn is surprised that the Emacs operating system didn't come with an IRC client built in as well as a text editor. ;-)
masak :)
sjohnson to be honest, i'm move of a vi user 11:36
would i still like it?
masak jnthn: I think my Emacs installation came with ERC, actually.
jnthn: but it is a module, just like almost everything else.
sjohnson: that's up to you to decide. I'm a vim user too.
I simply use Emacs and vim for different things.
sjohnson kind of like how i use Miracle Whip and mayonnaise for different things 11:37
masak yes, kind of like that.
jnthn has to look up Miracle Whip
masak Miracle Whip must be the Emacs isomorph in this analogy. :) 11:39
sjohnson in all honestly i like miracle whip on as much things as mayonnaise
well dudes, i should be going to bed
nice chatting briefly with you guys. tomorrow, i no longer pledge allegience to my current irc client 11:40
viklund_ jnthn: is it possible to decode a string to utf8 in rakudo (either directly or via some parrot and PIR) right now?
that is, do you know if there is a parrot function to do it? 11:41
jnthn I think maybe the transcode op?
viklund_ ok, we have problems with encodings in November, and I've realized we need to be able to converr 11:42
s/r$/t
viklund_ s{$}{/} 11:42
viklund_ is still in p5regex mode 11:42
jnthn viklund_: Ah, mayve it's trans_encoding 11:43
docs.parrot.org/parrot/latest/html/...g.ops.html
viklund_ jnthn: ok, thanks, I'll check that out tonight and see if I can feed it a Perl6String somehow 11:44
c u
o/
Matt-W masak: having fun with svn? 11:52
masak Matt-W: it's like, I know updating with SVN on the terminal window is easy. it's not trivial, but I can get around the errors that SVN, in its infantile stubbornness, throws at me. but to get those same errors as dialog windows, and then have to resolve them by navigating window menus... that's just sadism. 11:54
Matt-W heh 11:57
well I'm going quietly mad over here 11:58
masak I'm actually at a point in my life where the assertion that doing things on a CLI is easier than using a GUI seems not only obviously true, but impossible to question.
and I'm a Mac OS X user!
Matt-W I think it depends on the CLI and the GUI
I do prefer a GUI web browser
masak oh, right. hum.
Matt-W I hybridise
some things are easier on the CLI, definitely 11:59
I use GNOME Do (rather like Quicksilver) to launch GUI apps though
it's much easier to just do super-space pid<Enter> than trying to find the pidgin launcher and click on it
argh
why do we have to encrypt passwords before sending them over the wire 12:00
it's just causing me pain :(
payload well humans tend to talk to each other instead of expressing themself with a bunch of fingers pointing at stuff. i think a cli and a gui relates much the same 12:02
Matt-W it's nice to be able to talk to the computer 12:03
argh
must stop writing Perl 6 things
this'd be so much less ugly in Perl 6
masak :)
Matt-W: that's how we reel people in, with the allure of beautiful code. 12:04
Matt-W unfortunately I have to write perl 5 today 12:05
I'm not sure even if what I'm trying to do is correct
DanielC rakudo: class Foo { method bar() { return self } }; my $foo = Foo.new(); $foo.bar() 12:14
p6eval rakudo 86aeaf: ( no output )
DanielC rakudo: class Foo { method bar() { return self } }; my $foo = Foo.new(); $foo.bar().perl.say
p6eval rakudo 86aeaf: OUTPUT«Foo.new()␤»
DanielC Ok. I guess that this means that "return self" does what I think it does.
masak DanielC: what do you think it does? 12:15
DanielC $foo2 = $foo.bar() would be another link to the same object. 12:16
$foo2 and $foo are the same guy. 12:17
jnthn That's what it does. 12:19
DanielC thanks
jnthn rakudo: class Foo { method bar() { return self } }; my $foo = Foo.new(); say $foo.WHERE; say $foo.bar().WHERE
p6eval rakudo 86aeaf: OUTPUT«-1229318128␤-1229318128»
jnthn Same memory address for both.
DanielC .WHERE++ 12:20
I've noticed that Perl 6 has a lot of useful introspection features.
masak rakudo: say 1.WHERE 12:21
p6eval rakudo 86aeaf: OUTPUT«-1230127720␤»
masak rakudo: say 1.WHERE; 2.WHERE
p6eval rakudo 86aeaf: OUTPUT«-1229658184␤»
masak rakudo: say 1.WHERE; say 2.WHERE
p6eval rakudo 86aeaf: OUTPUT«-1229717120␤-1229732936␤»
Matt-W WOOOHOO! Success!
ahem
jnthn DanielC: Rakudo is implementing more and more of 'em too. 12:23
rakudo: say Any.^methods(:local).elems # how many methods does Any have
p6eval rakudo 86aeaf: OUTPUT«66␤»
DanielC rakudo: 1.^methods.perl.say 12:24
p6eval rakudo 86aeaf: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ...
..}, { …
DanielC ?
jnthn .perl on a code isn't so useful yet.
masak :)
DanielC ok
jnthn rakudo: Any.^methods>>.name>>.say
p6eval rakudo 86aeaf: OUTPUT«can␤isa␤does␤Complex␤elems␤end␤keys␤kv␤pick␤sort␤values␤abs␤int␤log␤polar␤sqrt␤»
DanielC cool.... 12:25
jnthn ...that wasn't 66 of em, p6eval! 12:25
DanielC I really like all the introspection.
jnthn I metamodel and liked it.
DanielC I also love how everything is an object, so you can do 1.foo() and something.perl.say and so on. 12:26
Matt-W I've loved that idea ever since I saw Ruby do 10.times { }
ruoso Hello!
Matt-W which I thought was pretty cool
ruoso mildew: say 'Good Morning, #perl6'
DanielC These are all things that I've always found very attractive about Ruby, and I'm very glad Perl 6 is copying them.
p6eval mildew: OUTPUT«Good Morning, #perl6␤»
Matt-W calling a method on a literal, and then giving it a closure
DanielC Matt-W: Ruby++
Matt-W apple's new multicore programming thing seems to be based on closures, by the way 12:27
they've added something very closure-like to C, C++ and Objective-C
DanielC I'm glad that Perl 6 is copying so many great things from Ruby.
Matt-W and they pass them around to different threads
Matt-W I suspect it's something we could do very easily :) 12:27
DanielC: it's copying great things from all over, and then doing great things of its own
DanielC Yes, it is. 12:28
Matt-W Writing in Perl 5 seems primitive and clunky to me now, even with rakudo in the state it's in
DanielC Perl 6 is also copying a lot of great things from Haskell, and things like hyperoperaors and junctions are brand new.
Perl 6 seems like a mixture of my previous three favourite languages: Perl 5, Ruby and Haskell. 12:29
Matt-W well I love Haskell
so I have no complaints
DanielC y 12:29
Perl 6 = Perl 5 + Ruby + Haskell + new stuff.
I love that. 12:30
Matt-W Perl 6 == AWESOME 12:32
DanielC Question: I define class Foo and $foo is an instance. How do I tell Perl what it should do when I write "say $foo" ?
Matt-W define method Str
which tells it what to do when it's asked to stringify
DanielC class Foo { method Str { ... } } <-- like that? 12:33
Matt-W and return a suitable string to represent the instance
yes
DanielC thanks
Matt-W rakudo: class A { method Str { say "Hello!" } }; say A.new; 12:33
p6eval rakudo 86aeaf: OUTPUT«Hello!␤1␤»
Matt-W hmm 12:34
where did that 1 come from?
DanielC rakudo: class A { method Str { "Hello!" } }; say A.new;
p6eval rakudo 86aeaf: OUTPUT«Hello!␤»
Matt-W oh
silly me :)
DanielC :-)
Matt-W that's what I meant to write
DanielC++
DanielC rakudo: 1 == 1 ? say "y" : say "n" 12:35
p6eval rakudo 86aeaf: OUTPUT«Statement not terminated properly at line 2, near "? say \"y\" "␤in Main (src/gen_setting.pm:0)␤»
DanielC rakudo: 1 == 1 ?? say "y" !! say "n"
p6eval rakudo 86aeaf: OUTPUT«y␤» 12:36
DanielC hm
Matt-W you'll get used to that :)
DanielC p6eval took some time to figure that out.
rjh out of interest why are we using ?? !! now 12:37
DanielC rakudo: say "ans " ~ 1 == 1 ?? "y" !! "n"
p6eval rakudo 86aeaf: OUTPUT«n␤»
DanielC rjh: Because ? : is too easy. :-(
rakudo: say "ans " ~ (1 == 1 ?? "y" !! "n")
p6eval rakudo 86aeaf: OUTPUT«ans y␤» 12:38
rjh They do stand out more, which is better
DanielC I don't like ?? because it makes my text editor's syntax highlighting go beserk. 12:39
DanielC rjh: Nice rationalization. 12:39
rjh well, they're a conditional construct and they're often lazily used on one line
still don't like it 12:40
ancient perl dictates that ?? can be used as a symonym for // :)
jnthn C# uses ?? for null-or 12:41
DanielC If C# jumps off a cliff, would you jump off a cliff <jk> 12:42
Oh well. ?? will do. 12:44
jnthn DanielC: Heh, was just noting another language making use of ??. :-) 12:48
jnthn C# is in the top four (computer) languages I write in. 12:49
DanielC What are the other three?
jnthn Perl 5, Perl 6 (or subsets of), C. 12:55
C I only really write for Rakudo/Parrot though.
DanielC if you write class F { has $.a, $.b, $c is rw } does that mean that $.a, $.b, $.c are all read-write or is it just $.c ? 13:00
rjh std: class F { has $.a, $.b, $.c is rw } 13:01
p6eval std 27055: ( no output )
DanielC rakudo: class F { has $.a, $.b, $.c is rw }; my $x = F.new(); $x.a = 1; 13:02
p6eval rakudo 86aeaf: OUTPUT«Statement not terminated properly at line 2, near "is rw }; m"␤in Main (src/gen_setting.pm:0)␤»
jnthn class F { has ($.a, $.b, $.c is rw) }; my $x = F.new(); $x.a = 1;
rakudo: class F { has ($.a, $.b, $.c is rw) }; my $x = F.new(); $x.a = 1; 13:03
p6eval rakudo 86aeaf: OUTPUT«Cannot assign to readonly variable.␤in Main (/tmp/JSryPiXZyJ:2)␤»
DanielC I see.
rjh weird that you need the brackets
jnthn I think that's odd that it applied the is rw to $.a there..
DanielC Is it possible to put the rw before? "has rw $a"
jnthn no
DanielC :-(
rjh it didn't apply rw to $.a ? 13:04
DanielC "Cannot assign to readonly variable"
jnthn oh yeah! 13:05
So it's right!
duh. :-)
rakudo 1, jnthn 0
rjh jnthn: noticed your comment about MultiSub inheriting from PMCResizableArray 13:06
*RPA even
Out of curiosity how is that stupid
jnthn Because a MultiSub has an array of candidates, rather than being an array. 13:07
The way it is now, it inherits all of the things that arrays get. 13:08
Which then causes all kinds of problems.
DanielC rakudo: class F { has $.a, $.b }
jnthn Because we expect a multi to be something you can talk about as one thing, rather than being a list.
p6eval rakudo 86aeaf: OUTPUT«Lexical 'self' not found␤»
DanielC ???
rjh I see, it doesn't have methods that subs have
jnthn DanielC: That parses as (has $.a), $.b
rjh you had to fudge them in 13:09
DanielC rakudo: class F { has ($.a, $.b) }
p6eval rakudo 86aeaf: ( no output )
jnthn rjh: Well, the bigger problem is that on an isa check, it claims to be a list.
DanielC jnthn: Is that correct or is it a bug?
jnthn List flattning then tries to flatten out the multi, and then things explode.
rjh so it should be a 'has' relation, not an 'isa'
DanielC rakudo: class F { has ($.a, $.b = 1) }
jnthn rjh: Right.
p6eval rakudo 86aeaf: ( no output )
rjh thanks for explaining
So that's going to be fixed in the future, then? 13:10
jnthn rjh: The number of workarounds Rakudo has got for this is...irritating.
DanielC std: class F { has $.a, $.b }
rjh It doesn't sound like it would be difficult to change.
p6eval std 27055: OUTPUT«ok 00:02 37m␤»
jnthn rjh: I hope so. I'm whined about it on #parrot in hope that somebody will take the initiative. :-)
rjh: But otherwise I'll probably get to it myself.
DanielC jnthn: So, this is a bug in Rakkudo?
jnthn DanielC: std checks syntax, not semantic/runtime issues. 13:11
Rakudo isn't saying it's a syntax error.
rjh what is rakudo trying to do with has $.a, $.b
jnthn std: my $a, $b;
p6eval std 27055: OUTPUT«Potential difficulties:␤ Variable $b is not predeclared at /tmp/AfrqhbZrgk line 1:␤------> my $a, $b;␤ok 00:02 37m␤»
jnthn It's exactly because of this.
std: my ($a, $b);
p6eval std 27055: OUTPUT«ok 00:02 37m␤»
jnthn Same difference with has. 13:12
DanielC But std did not have the same complaint about "has".
rjh it doesn't know if $.b already exists
jnthn Sure, because $.b would in theory work.
erm,
*could*
DanielC ok 13:13
jnthn It's just a method call.
rjh confusing... perl 5 allows my $a = 1, $b = 5; (with strict and warnings) 13:15
but not my $a, $b;
jnthn Really? 13:16
That surprises me a little.
rjh i don't get why you'd prohibit my/has $a, $b 13:19
dakkar rjh: try with different names. $a and $b are special in Perl 5 13:22
perl -Mstrict -Mwarnings -e 'my $foo=1,$bar=5'
Global symbol "$bar" requires explicit package name at -e line 1.
baest my ($x, $y) would work, though
dakkar sure 13:23
rjh dakkar: thx
so the second assignment is to the global $b 13:24
dakkar yep
rjh still doesn't get the syntax
dakkar the comma is the "comma operator", borrowed from C
rjh $foo = (1, $bar = 5)
dakkar it takes two expressions, evaluates them in order, and throws away the result of the first one, returing the second one
rjh that doesn't seem sensible when declaring a variable 13:25
dakkar my $foo=1,$bar=2 ==> my $foo=1;$bar=2;
of course not
rjh i see
dakkar that's why you need parentheses 13:26
rjh it's rather stupid that my() has such low precedence
dakkar hmm
I'm not sure it's just a matter of precedence 13:27
when you write (in Perl 6) my ($foo,$bar)=(1,2); you get a signature on the lhs, and the rhs is seen as a capture
(please someone stop me if I'm saying wrong things) 13:28
jnthn dakkar: signature on lhs is correct. 13:29
dakkar thanks :)
pmurias ruoso: hi 13:29
ruoso hi pmurias 13:32
pmurias ruoso: one thing i'm worried about is that the mildew with the amount of stuff in Perl 6 will be horribly slow 13:38
ruoso pmurias, all evil is premature optimization squared 13:39
pmichaud good morning, #perl6 14:41
Matt-W hi pmichaud
jnthn hi pmichaud 14:42
Matt-W my server died :( 14:43
something chewed up all the memory
hammering the database in the process
wouldn't it be much easier if these things didn't have to be reachable from the internet 14:44
rjh ...you'd replace your server with a carrier pidgeon? that doesn't sound easier. 14:46
-d 14:47
Matt-W at least all you have to do is feed them 14:48
and defend them from birds of prey
Matt-W and jet engines 14:48
maybe two yoghurt pots and some string? 14:49
rjh really, really long string
Matt-W yes 14:49
kept nice and tight
but then you're vulnerable to an idiot with a pair of scissors
rjh and then eventually we'd connect string across all the different computers 14:50
and route vibrations across them
ahem
payload i want to use Web.pm. i put it in rakudo/projects/web but maybe it's the wrong place... perl6 rakudo/projects/web/Configure complains that there is no ./Configure in @*INC... perl6 -e '@*INC.say' prints "." 14:52
FurnaceBoy rjh++ 15:09
viklund_ is there a guide somewhere on how to use Q:PIR? 15:45
pmichaud right here. 15:46
moritz_ viklund_: Q:PIR{ pir code here }
pmichaud note that each PIR statement has to be on a line by itself
moritz_ viklund_: return values can be assigned to %r
viklund_ moritz_: ok, thx 15:47
pmichaud you're free to safely use $P0...$P9, $S0..$S9, $I0..$I9, $N0..$N9
viklund_ that is a start
moritz_ viklund_: and find_lex 'variablename' finds Perl 6 lexicals and parameters
pmichaud note that the %r must be a PMC
moritz_ afk again :-)
viklund_ ok, I start with some simple stuff and then see what I can do
pmichaud there are several examples in src/setting 15:50
viklund_ yes, I'm looking at those
viklund_ shouldn't this work: pastebin.com/d2478cf78 15:59
or have I misunderstood something?
(probably the latter)
jnthn viklund_: hmm, that doesn't look so wrong
rakudo: my $r = Q:PIR { %r = box 1 }; say $r; 16:00
p6eval rakudo 86aeaf: OUTPUT«1␤»
viklund_ ok, I'll recompile my rakudo to see
if that's somehow the error 16:01
jnthn Hmm...maybe but I dodn't remember that stuff changing of late. 16:03
viklund_ oh, well, it can't hurt 16:05
but it didn't work 16:06
jnthn je confusovany
viklund_: What error do you get?
viklund_ Lexical '$r' not found
but I can run it via ./perl6 -e <what jnthn wrote up there>
that works 16:07
oh
I didn't paste the hole thing
I had a 'use v6' at the top of that file as well
when I removed that it worked 16:08
jnthn :-|
That's...odd;
viklund_ but it works now, so I'm happy, rakudobug?
I can send one if you want to
pmichaud I wonder if the 'use v6' was missing a semi. 16:09
viklund_ might
pmichaud: yes, it was :p
viklund_ is embarrassed
jnthn rakudo: use v6 my $foo; 16:10
p6eval rakudo 86aeaf: ( no output )
jnthn rakudo: use pimp my $ride;
p6eval rakudo 86aeaf: ( no output )
viklund_ jnthn: LOL
jnthn suspects parsing bug.
std: use pimp my $ride; 16:11
p6eval std 27055: OUTPUT«ok 00:02 36m␤»
jnthn oh
jnthn is a litle surprised
moritz_ rjh: I backlogged a bit... beware: in Perl 5 $a and $b are not subject to "use strict", so if you want to test its behaviour, use different variables ;-) 16:18
rjh moritz_: yeah, I know they're "special" globals for sort, just forgot :) 16:27
payload proto doesn't build perl 6 :( 16:48
payload pastebin.com/m29155eb1 16:56
viklund payload: just a moment 16:57
I think its pretty simple to fix 16:58
btw, are you using the default config file? 16:59
or have you changed rakudo to bleeding?
payload well i changed to bleeding 17:00
viklund did you uncomment self.CREATE in lib/Installer.pm and lib/Ecosystem.pm? 17:01
and additonally are you running proto from the proto dir?
moritz_ when I see just the title of an RT ticket and know "oh, that's by masak" - then you know that my vacations weren't long enough ;-)
payload ah it's in two files... i just saw and uncommented in Ecosystem... need a sec 17:02
yes, i run from ./proto/
viklund ok
payload ah done, thx
viklund np 17:03
payload hmm, tests of web.pm fail 17:37
payload :-\ t/01-web-basics.t ............ Unknown import list expression in use at line 2, near ";\nplan 1;\n" 17:37
payload ah i think it uses the wrong prove 17:39
well no
no idea
viklund unfourtunatly I dont know anything of Web.pm... 17:42
ask masak, when he shows up
there are some other ppl in that project too, forgot who now... 17:43
Tene Me! 17:46
Except I never looked at the tests.
payload std: use foo.pm; 17:51
p6eval std 27055: OUTPUT«ok 00:02 35m␤»
TimToady payload: yes, it parses, but it doesn't mean what you think it means 18:22
payload well it is used in web.pm test 01 as use Test.pm; it fails a line afterwards ^^
i think it must be use Test; 18:23
unless i want only to import sub pm in the Test module
is there a way to see all modules which are importable? like in python the help("modules") ? 18:25
TimToady not yet, the library API is still in negotiation 18:26
but it's the sort of thing that I expect will be supported 18:29
since we're moving toward more of a database-ish view of at least the officially installed modules
btw, it's parsing (in STD) as use foo $_.pm 18:30
perhaps we should require some whitespace after the module name 18:31
payload rakudo: 18:50
=begin usage
foo
=end usage
bah
well it would say =begin without matching =end at line 1, near "\nfoo\n=end "
ah, it needs USAGE :-\ 18:53
sjohnson hello Toady 19:03
Fuad Hello all 19:15
Tene Hi! 19:16
jnthn hi Fuad 19:17
Fuad Long time,jnthn:) 19:18
jnthn Aye. :-) 19:19
How's things?
Fuad Fine here(:
How are you doing?
sjohnson 4hello faud
fuad
jnthn I'm good. Today is last day of work, then I'm having holiday. :-)
Fuad sjohnson ;)
jnthn,thats a great news:P
Fuad you can breather so easily now 19:20
jnthn :-) 19:20
Fuad i will be in the army:> 19:21
after 1 month
for 1 year
jnthn Ah, required national service?
Fuad so no holiday for me;)
jnthn Yes, army is almost certainly not a holiday. 19:21
Fuad i was studing my masters degree,thats why i didnt go after my university graduation 19:22
jnthn Ah, OK.
Fuad waves at mberends 19:23
where is ,masak?:)
jnthn He was around earlier today I think, maybe back later tonight. 19:24
Fuad ah nice
sjohnson jnthn: off topic, but do you use any irssi plugins? 19:44
jnthn sjohnson: no 19:45
sjohnson: I didn't even know there was such a thing. ;-)
sjohnson indeed! they are written in.. you guessed it... PERL! 19:46
scripts.irssi.org/
jnthn "This script strips the hungarian accents." - but I never speak with one! 19:47
sjohnson yeah i don't need that one
;)
i wodner if i should whip up a piglatin -> english translator 19:48
jnthn How long do you it'd take me to get /kick'd if I started using scripts.irssi.org/html/dau.pl.html#switch_leet- ? ;-) 19:49
sjohnson considering you are an op here, probably a few years 19:50
me, on the other hand
5 minutes? :) 19:51
jnthn Yeah I'd get all 1337 and kick you and everyone would be like w00t d00d!
OK, time for me to go grab someone from the airport...back in a while.
Tene jnthn: the only problem with that is that the server doesn't understand /|<1ck 19:52
sjohnson maybe TimToady wrote some of these irssi plugins :) 20:00
pmichaud phone # be there in 2
sjohnson pmichaud: are you getting picked up from the airport/ 20:03
pmichaud sjohnson: ?? 20:13
sjohnson i thought jnthn was picking ya up 20:16
TimToady must have been two other people... 20:18
payload i have following regex: / ^ \/pub\/ $ /
TimToady Perl 6? 20:19
payload how can i change / ... / to something where i don't have to escape / ?
Perl 6, sure
TimToady m[ ^ '/pub/' $ ]
payload ah nice 20:20
TimToady though in that case, / ^ '/pub/' $ / also works
or m!! or m<> etc
or use rx if you want to defer evaluation
sjohnson does the same idea work in p5? 20:21
payload well maybe i search some weird unicode ( )
sjohnson i've been getting around it by putting what i want to check by in separate vars
TimToady yes, though not internal quotes
sjohnson probably the cludge way to do it, but it worked
TimToady rakudo: say "abc" ~~ m『.(.).』 20:23
p6eval rakudo 86aeaf: OUTPUT«abc␤»
TimToady rakudo: say "abc" ~~ m『.(.).』[0]
p6eval rakudo 86aeaf: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'Regex'␤»
TimToady rakudo: say ("abc" ~~ m『.(.).』)[0]
p6eval rakudo 86aeaf: OUTPUT«b␤»
payload rakudo: say "abc" ~~ m ⦃.(.).⦄ 20:24
p6eval rakudo 86aeaf: OUTPUT«abc␤»
sjohnson can we get a Perl5 evaluator on here too?
payload rakudo: say "abc" ~~ m ↪.(.).↩ 20:25
p6eval rakudo 86aeaf: OUTPUT«abc␤»
TimToady addictive, ain't it?
payload rakudo: say "abc" ~~ m ☃.(.).☄ 20:26
p6eval rakudo 86aeaf: OUTPUT«abc␤»
payload omg
ruoso is that right?
(wtf symbols are that?)
payload is a snowman always closed by a meteor
?
TimToady snowman and comet?
I think that's bogus 20:27
std: abc" ~~ m ☃.(.).☄
p6eval std 27055: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/XeeIOePMN4 line 1:␤------> abc" ~~ m ☃.(.).☄␤ expecting any of:␤ POST␤ argument list␤ infix or meta-infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard
..stopper␤ statement modifier…
TimToady std: say "abc" ~~ m ☃.(.).☄
p6eval std 27055: ( no output )
sjohnson TimToady: is a Perl5 evaluator on this chan too radical?
TimToady no, too conservative 20:28
std: say "abc" ~~ m ☃.(.).☃
p6eval std 27055: OUTPUT«ok 00:04 37m␤»
payload a python evaluator to act as a bad example?
TimToady there you go
rakudo: say "abc" ~~ m ☃.(.).☃ 20:29
p6eval rakudo 86aeaf: OUTPUT«abc␤»
TimToady rakudo: say "abc" ~~ m ☄.(.).☃ 20:30
p6eval rakudo 86aeaf: OUTPUT«abc␤»
TimToady o_O
O_o
sjohnson >_> 20:31
<_<
lichtkind mberends: ping 20:32
TimToady I don't see how both ☄☃ and ☃☄ can work
sjohnson timtoady: did you have to customize irssi to behave how you like it?
TimToady some
sjohnson did you map ^L to clear the buffer window? 20:34
payload say 'perl6' ~~ m O.*O
rakudo: say 'perl6' ~~ m O.*O
p6eval rakudo 86aeaf: OUTPUT«perl6␤»
payload rakudo: say 'perl6' ~~ m O\O\OO 20:36
well :-\
p6eval rakudo 86aeaf: OUTPUT«pe␤»
DanielC @seen mberends 20:40
lambdabot mberends is in #perl6. I last heard mberends speak 9h 50m 23s ago.
DanielC @seen masak 20:41
lambdabot I saw masak leaving #perl6 7h 52m 32s ago, and .
TimToady sjohnson: no 20:42
TimToady I mapped my page left and page right keys to switch windows 20:43
sjohnson heh
sjohnson when was that keyboard made? 1912? 20:44
TimToady it's a Lenovo T61 20:45
it has two extra keys near the arrows
I also use them to go left and right in my firefox tabs 20:46
sjohnson imagine you're using Firefox... 10 tabs open, you're on tab 7. you quickly switch to tab 3, read for a few seconds, then close it. what tab (ideally) should you be left on? 20:47
after tab 3 closes?
TimToady I almost never close embedded tabs, since my leftward ones are semi-permanent, and the rightmost one the most recent 20:48
I use the tabs primarily as a stack
sjohnson i would say in response to my question, ideally you should be left on tab 7, where you started 20:49
so you dont have to "click around" to get back to tab 7
(i suppose it would truly be "tab 6")
TimToady everyone's a UI designer :) 20:50
sjohnson if anyone is reading this and thinking "YES! I agree!" then Tab Mix Plus is the extension for you
so far, everytime i show this behaviour to someone in real life, they become a convert
sjohnson TimToady: what is your main desktop OS of choice? 20:51
i like Windows XP the most 20:52
TimToady I'm using gnome on ubuntu 21:05
sjohnson thats kind of neet that you can use the OS and have it come bundled with your creation 21:09
pmurias does ubuntu install perl by default? (they don't even install gcc) 21:14
payload i think its necessary for the boot ^^ 21:17
StephenPollei sometimes perl and python get installed due to dependancies even on nondevel machines where gc would never be
payload python is necessary for gnome-sudoku 21:20
StephenPollei python is needed on fedora redhat for lots of their gui admin tools iirc 21:21
I think perl is needed for lots of other things
payload kernel for example ^^ 21:23
payload find /usr/ -exec grep -H --color '#!.*perl' '{}' ';' 21:23
StephenPollei wiki.laptop.org/go/Distro_version_m..._nastiness forked a number of packages to remove unneeded dependencies. totem is the worst (removing gnome-desktop), but we'll also want slimmed down ntp and mtd-utils to remove perl dependency, removing PersonalCopyLite midi patches from SDL_mixer, etc. 21:24
ntp forked to split ntpdate into its own package, removing the perl dependency
I think the olpc wanted to remove perl, but are having issues doing so 21:25
ruoso decommute & 21:29
Meldrake whois #Meldrake 21:34
payload is it possible... after snowman operators and snowman and comet braces... is it possible to overload the semicolon ? 21:37
TimToady by itself, that is a meaningless question. you can't overload something without additional information (arguments, longer token, etc.). All you could do is hide the standard one 21:52
payload well the intention is to run additional code in each line 22:07
counting line-numbers... obfuscate code... return value stuff 22:10
TimToady one would likely do that with semantic modifications to the AST
sjohnson TimToady: i looked at the layout of your laptop with the page left / right keys 22:11
now that i have seen that, i wish all keyboards had that technology
now i deem all standard keyboards useless :(
including this one i bought for 5 bucks 22:13
payload you can move left and right with sooo many keys ^^
and combinations of them
sjohnson but that key
the peace of mind i would receive
if i can quantify it somehow... 22:14
payload likes Super+W/A/S/D for window/tab related stuff
sjohnson what's "super"? 22:15
shift?
payload the key which has often a logo of a well known operating system printed on 22:16
sjohnson I call it WinKey 22:18
GNU Hurd key you mean?
payload yes, exactly ^^ 22:20
antiphase clicks away on his Winkey-free IBM M-type 22:22
payload the none gamers could use WinKey+H/J/K/L 22:24
sure with additional shift, alt and control for different situations
sjohnson payload: what do you use? 22:25
your version reply said Purple IRC
i don't think there is such a thing :)
payload pidgin ^^ 22:26
sjohnson oh
that makes sense then
libpurple
payload it is modularized to libpurple
yes
sjohnson lol Purple IRC 22:26
that's cute
i couldn't get pidgin to do irc.. i will try again now
payload it's easy. pidgin isn't the best choice for xmpp but the best compromise for using everything imho 22:27
sjohnson i use pidgin for my IMing on Windows XP 22:28
sjohnson_ heh 22:29
this is kinda cute
supports UTF-8 out of the box
IRC! 22:30
antiphase
sjohnson i dont have that unicode character 22:31
payload it's the snowman brace
☃ foo ☃ foo between snowman braces 22:32
sjohnson_ what do i have to do in Windows XP to get these cool braces you guys use
haha i see it
that's very cute
unicode truly has all
payload :-\ Tags.pm isn't the most readable code 22:46
payload well, it isn't easy i want to say... readable for sure 22:47
viklund_ payload: are you looking at November? 22:49
payload masak/web/lib/Tags.pm 22:50
viklund_ ah
viklund_ it's a nice piece of code 22:53
DanielC @seen mberends 22:54
lambdabot mberends is in #perl6. I last heard mberends speak 12h 4m 15s ago.
DanielC @seen masak
lambdabot I saw masak leaving #perl6 10h 6m 12s ago, and .
DanielC :-(
payload but it's hard to follow for someone who doesn't know some details of perl 6 ^^ 22:55
viklund_ is it really that different from perl 5? 22:56
payload well i dont know perl 5
sjohnson payload: ... learn! 22:57
payload ^^
viklund_ ahh, then I can see how it can be tricky
payload what does the _%c?_ in sub ($c?, *%attrs) { mean? 22:59
DanielC @karma
lambdabot You have a karma of 11
viklund_ payload: the questionmark means that it's optional 23:00
$c is an optional argument
the * infront of the %attrs makes the %attrs slurp the rest of the parameters. 23:01
viklund_ ouch 23:01
viklund_ hello again ;) 23:02
payload pidgin is crashy :(
DanielC Does anyone know how to pass a parameter to inline PIR in Rakudo? 23:05
Tene DanielC: explain? 23:05
viklund_ DanielC: find_lex
viklund_ ? 23:05
DanielC viklund_: Ok. 23:05
Tene: You can insert inline PIR in Perl 6 with Rakudo.
Tene Right.
DanielC Tene: But that feature is only useful if you can pass a parameter to the PIR code. 23:06
viklund_ I'm grabbing vars from the lexical environment with " $P0 = find_lex "$string""
DanielC I was trying to figure out how to do that.
viklund_ DanielC: it's not a parameter as such
Tene DanielC: explain what you want to do by "pass a parameter"?
use a lexical variable? invoke it as a subroutine?
DanielC Tene: What viklund_ said.
Tene Okay, yes.
DanielC :)
viklund_ rakudo: my $str = 'asdf'; Q:PIR { $P0 = find_lex '$str' } 23:07
p6eval rakudo 86aeaf: ( no output )
DanielC viklund_: Thanks. I didn't know what to call it.
viklund_ but I still wonder if there's anyway to change encoding on a string in PIR...
DanielC viklund_: So, the input has to go into a PMC variable? How do you get the string out of $P0 ?
viklund_ $S0 = $P0 23:08
DanielC thanks
viklund_ it autounboxes ;)
DanielC cool
viklund_ are you bringing the md5 to rakudo-land?
DanielC viklund_: Would that be useful? 23:09
I was thinking of writing a blog post about Q:PIR. I am happy to make it the md5 function.
viklund_ DanielC: yes, we need a checksum in November for storing passwords, md5 is better than plaintext ;) 23:10
DanielC viklund_: Ok. No problem!
viklund_ and later, we can convert it to some other one that parrot has support for
DanielC Parrot has support for sha1 too. 23:11
viklund_ masak has talked about this for a long time, and when I saw your md5sum code I thought, "yes we got it"!
DanielC :-)
viklund_ DanielC: I would guess that it's really simple to just switch
DanielC Probably.
DanielC I'll do MD5 first, and we can see about switching afterwards. 23:11
viklund_ sounds good 23:13
DanielC pastebin.com/m6626d419 <-- Help 23:15
Error: Statement not terminated properly at line 10, near "return $ch"
viklund_ you need a semi after the closing }
on the Q:PIR
DanielC thanks 23:16
It works now.
viklund_ time for bed 23:21
DanielC: If you want to check out how to use Q:PIR, look in src/setting in rakudo
you have several examples there
DanielC Ok, thanks.
viklund_ good night 23:22
DanielC night
DanielC @seen pmichaud 23:33
lambdabot pmichaud is in #perl6. I last heard pmichaud speak 3h 19m 42s ago.
DanielC pmichaud: ping? 23:36
DanielC @tell pmichaud sprintf doesn't like being inside Q:PIR { } see pastebin.com/m40db8f 23:41
lambdabot Consider it noted.
lichtkind night 23:54