»ö« | 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.
00:00 snarkyboojum joined
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
00:05 Sexygirl joined
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
00:06 Sexygirl left
sjohnson but i would be curious to know what 'you' thought about it at the time 00:08
00:08 Guest8221 left
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
00:11 justatheory joined
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
00:15 justatheory left, DemoFreak left
pugs_svn r27053 | stephenpollei++ | added more built-in types to check for existence 00:16
00:17 davidad left, davidad joined 00:18 davidad left 00:25 gfote left, bacek joined
FurnaceBoy sjohnson, there are at least 2 expansions 00:43
Pray Everything Runs Legitimately 00:44
00:48 sri_kraih_ joined 00:49 takadonet joined
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
01:01 takadonet left
TimToady maybe you need new buddies 01:01
01:01 rhr_ joined 01:03 sri_kraih left
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
01:06 Molaf left 01:09 xinming joined
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()␤»
01:18 mycelium joined
sjohnson well rakudo thinks i'm a failure 01:18
sjohnson hangs his head in shame 01:19
01:24 synth joined
jdv79 everyone fails 01:27
01:27 ihrd joined 01:28 ihrd left
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)␤»
01:38 payload left 01:55 meldrake left 01:56 payload joined 02:01 Whiteknight left
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
02:22 amoc__ left
Infinoid If you didn't already have a nickserv account, it doesn't affect you 02:22
02:23 xinming_ joined 02:30 snarkyboojum left 02:33 justatheory joined 02:35 xinming left 02:38 skids_ left 03:07 frew|work joined 03:49 eternaleye joined 03:57 MrKrueger joined 04:02 ihrd joined 04:05 ihrd left 04:13 meppuru left 04:35 FurnaceBoy left 04:40 justatheory left, alester joined 04:46 xinming_ is now known as xinming 04:49 synth left, synth joined 04:55 unitxt left 05:14 snarkyboojum joined 05:25 frew|wor1 joined 05:26 snarkyboojum left, frew|work left 05:31 snarkyboojum joined 05:40 snarkyboojum left, justatheory joined, amoc joined
mycelium hello. how relevant the book "Perl 6 and Parrot essentials" (A.Randal, D.Sugalski, L.Totsch, o'reilly, 2004) now? 05:48
05:48 justatheory left 05:49 masak joined 05:50 DemoFreak joined 05:53 literal joined 06:01 synth left, synth joined
araujo mycelium, it wouldn't hurt to read i think, but things keep changing yet 06:18
06:25 frew|wor1 left 06:36 Traveler joined, Traveler left 06:53 cookys joined 06:57 alester left 06:58 xinming_ joined 07:01 eternaleye left 07:02 literal left, phenny left 07:05 xinming__ joined 07:07 literal joined, phenny joined 07:08 eternaleye joined 07:16 xinming left 07:19 cotto left, cottoo joined 07:21 xinming_ left 07:22 dakkar joined 07:29 agentzh left 07:33 barney joined
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 :/
07:52 Molaf joined
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
08:00 DanielC joined 08:03 DanielC left 08:04 DanielC joined
DanielC Out of curiosity, why is it that #perl an #perl6 are not in irc.perl.org ? 08:05
08:05 xinming joined
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.";
08:08 Molaf left, Molaf joined
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
08:11 riffraff joined
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
08:23 snarkyboojum joined 08:30 xinming__ left
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
08:43 hanekomu joined
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.
09:17 barney left
Matt-W light years is not a measurement of time! 09:18
DanielC :-)
masak neither is it a unit of speed. 09:21
09:26 bacek left
jnthn And anyway, I reckon it's only 100km faster. 09:26
jnthn yawns
Matt-W morning jnthn 09:31
09:32 clintongormley joined
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
09:40 amoc left 09:47 synth left
DanielC masak: I uploaded the new checksum program. 09:47
09:55 mberends joined
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 :)
10:04 amoc joined 10:06 agentzh joined
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.
10:16 ruoso left
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
10:25 lichtkind joined
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.
10:44 cls_bsd left
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
10:51 integral left
DanielC tries dd 11:00
Matt-W tries to figure out how perl 5's unpack actually works 11:01
11:01 payload left
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
11:19 mycelium left 11:22 eternaleye left
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
11:24 eternaleye joined
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>
11:31 wuno joined
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
11:42 H1N1 left
viklund_ s{$}{/} 11:42
11:42 Sunbeam joined, Sunbeam[Pinged] joined, Sunbeam left
viklund_ is still in p5regex mode 11:42
11:42 Sunbeam[Pinged] is now known as H1N1
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/
11:45 wuno left
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
11:56 payload joined
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
12:02 riffraff left
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
12:11 mizioumt joined
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
12:22 hanekomu left, skids_ joined
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
12:25 ruoso joined
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
12:27 riffraff joined
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
12:29 riffraff left
DanielC y 12:29
Perl 6 = Perl 5 + Ruby + Haskell + new stuff.
I love that. 12:30
12:31 integral joined, FurnaceBoy joined 12:32 mib_ds9gzb joined
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
12:33 hanekomu joined
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
12:39 amoc left
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
12:46 donaldh joined
jnthn DanielC: Heh, was just noting another language making use of ??. :-) 12:48
12:48 masak left, payload1 joined, payload left
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.
13:15 amoc joined
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
13:20 payload1 left, payload joined
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 :)
13:29 pmurias joined
pmurias ruoso: hi 13:29
13:31 decasm joined
ruoso hi pmurias 13:32
13:38 zev left
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
13:41 synth joined 13:42 zev joined 13:46 amoc left, amoc joined 13:47 xinming_ joined 13:48 cosimo_ joined 13:52 dakkar left 13:53 xinming left 13:54 cosimo left 14:04 snarkyboojum left 14:09 pmurias left 14:10 cls_bsd joined 14:13 alester joined 14:15 MrKrueger is now known as meppl 14:20 cosimo_ left, cosimo joined 14:21 mib_ds9gzb left 14:24 Matt-W_ joined 14:25 Matt-W left, Matt-W_ is now known as Matt-W 14:27 justatheory joined 14:35 ruoso left 14:36 amoc left
pmichaud good morning, #perl6 14:41
Matt-W hi pmichaud
jnthn hi pmichaud 14:42
14:43 buu joined
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
14:48 sri_kraih_ left
Matt-W and jet engines 14:48
maybe two yoghurt pots and some string? 14:49
rjh really, really long string
14:49 sri_kraih joined
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
14:54 buubot joined 14:56 sri_kraih left 14:57 sri_kraih joined
FurnaceBoy rjh++ 15:09
15:17 payload left 15:20 donaldh left 15:21 donaldh joined 15:25 skids_ left 15:36 jferrero joined 15:45 mizioumt left
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
15:47 nihiliad joined
pmichaud there are several examples in src/setting 15:50
viklund_ yes, I'm looking at those
15:56 payload joined, ruoso joined
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
16:04 mizioumt joined
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
16:13 amoc joined 16:14 viklund joined 16:18 mizioumt1 joined, mizioumt1 left
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
16:22 amoc^ joined 16:23 mizioumt1 joined, amoc^ is now known as amoc_, mizioumt1 left 16:24 mizioumt left 16:25 amoc left 16:27 Patterner left, mizioumt joined, Psyche^ joined, Psyche^ is now known as Patterner
rjh moritz_: yeah, I know they're "special" globals for sort, just forgot :) 16:27
16:33 zamolxes joined
payload proto doesn't build perl 6 :( 16:48
16:51 unitxt joined 16:55 unitxt left
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 ;-)
17:01 zamolxes left
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
17:03 jferrero left 17:14 cottoo is now known as cotto 17:17 finanalyst joined 17:25 amoc_ left 17:26 hanekomu left 17:28 amoc joined
payload hmm, tests of web.pm fail 17:37
17:37 M_o_C joined
payload :-\ t/01-web-basics.t ............ Unknown import list expression in use at line 2, near ";\nplan 1;\n" 17:37
17:38 japhb left
payload ah i think it uses the wrong prove 17:39
well no
no idea
17:42 synth left
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
17:43 hanekomu joined
Tene Me! 17:46
Except I never looked at the tests.
17:46 jferrero joined 17:50 synth joined
payload std: use foo.pm; 17:51
p6eval std 27055: OUTPUT«ok 00:02 35m␤»
17:52 clintongormley1 joined, sri_kraih left 17:53 clintongormley left, buubot left 17:54 buubot joined 17:55 Molaf left, Molaf joined 18:05 japhb joined 18:09 skids_ joined 18:15 amoc left
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
18:45 eternaleye left
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
19:15 Fuad joined
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
19:20 donaldh left
Fuad you can breather so easily now 19:20
19:20 jferrero left
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;)
19:21 donaldh joined
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
19:48 spage joined
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
19:53 xinming joined, Fuad left, kane__ joined 19:54 kane__ is now known as kane[laptop] 19:56 Meldrake joined 19:59 xinming_ left
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
20:12 finanalyst left
pmichaud sjohnson: ?? 20:13
sjohnson i thought jnthn was picking ya up 20:16
20:17 skids_ left
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
20:31 icwiener joined
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
20:33 M_o_C left
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␤»
20:36 rewt is now known as rewtv6
payload rakudo: say 'perl6' ~~ m O\O\OO 20:36
well :-\
p6eval rakudo 86aeaf: OUTPUT«pe␤»
20:37 rewtv6 is now known as rewt``, rewt`` is now known as rewt
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
20:43 Meldrake left
TimToady I mapped my page left and page right keys to switch windows 20:43
sjohnson heh
20:44 spage left
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
20:51 pmurias joined
sjohnson TimToady: what is your main desktop OS of choice? 20:51
i like Windows XP the most 20:52
20:59 rml` joined 21:00 rml` is now known as Meldrake 21:03 Meldrake left
TimToady I'm using gnome on ubuntu 21:05
21:08 Jedai joined
sjohnson thats kind of neet that you can use the OS and have it come bundled with your creation 21:09
21:11 d58f37219 joined 21:12 d58f37219 left 21:14 rml` joined
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
21:23 pmurias left
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
21:25 amoc joined
ruoso decommute & 21:29
21:29 ruoso left, kane[laptop] left 21:30 rml` left 21:34 Meldrake joined
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
21:43 Meldrake is now known as Meldrake_ 21:47 Chillance joined 21:52 clintongormley1 left
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
22:01 amoc left
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
22:26 decasm left
sjohnson lol Purple IRC 22:26
that's cute
i couldn't get pidgin to do irc.. i will try again now
22:27 skids_ joined
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
22:29 sjohnson_ joined
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
22:37 mizioumt left 22:45 justatheory left
payload :-\ Tags.pm isn't the most readable code 22:46
22:47 nihiliad left
payload well, it isn't easy i want to say... readable for sure 22:47
22:48 icwiener left
viklund_ payload: are you looking at November? 22:49
payload masak/web/lib/Tags.pm 22:50
viklund_ ah
22:51 justatheory joined
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
22:59 Whiteknight joined
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
23:01 payload left
viklund_ ouch 23:01
23:02 payload joined
viklund_ hello again ;) 23:02
payload pidgin is crashy :(
23:03 hercynium joined
DanielC Does anyone know how to pass a parameter to inline PIR in Rakudo? 23:05
23:05 _Chillance_ joined
Tene DanielC: explain? 23:05
viklund_ DanielC: find_lex
23:05 _Chillance_ left
viklund_ ? 23:05
23:05 _Chillance_ joined
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.
23:11 snarkyboojum joined
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.
23:20 donaldh left, donaldh joined
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
23:22 Chillance left 23:31 kane__ joined, kane__ left 23:32 hanekomu left
DanielC @seen pmichaud 23:33
lambdabot pmichaud is in #perl6. I last heard pmichaud speak 3h 19m 42s ago.
DanielC pmichaud: ping? 23:36
23:37 snarkyboojum left
DanielC @tell pmichaud sprintf doesn't like being inside Q:PIR { } see pastebin.com/m40db8f 23:41
lambdabot Consider it noted.
23:42 viklund left 23:43 ihrd joined 23:44 ihrd left, justatheory left, buubot left, sparc left 23:48 justatheory joined, buubot joined, sparc joined 23:51 H1N1 left 23:52 H1N1 joined
lichtkind night 23:54
23:54 lichtkind left