Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-10-29

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 theorbtwo joined #perl6
00:07 gigi31 joined #perl6
00:09 BinGOs_ joined #perl6
00:17 thoughtpolice joined #perl6
00:28 Timm3h joined #perl6
01:05 stevan_ joined #perl6
02:48 sclv joined #perl6
03:05 elmex_ joined #perl6
03:27 Lunchy_ joined #perl6
03:40 Silence joined #perl6
04:01 justatheory joined #perl6
04:09 DarkWolf84 joined #perl6
04:10 DarkWolf84 hi there
04:21 amnesiac joined #perl6
04:34 drupek12 joined #perl6
05:16 kanru2 joined #perl6
05:19 stevan_ joined #perl6
05:26 funktio joined #perl6
05:37 Ashizawa joined #perl6
05:52 agentzh hi, DarkWolf84
05:52 * agentzh guesses DarkWolf84 was born in the year 1984.
05:53 DarkWolf84 yeah
05:53 DarkWolf84 ;)
05:59 * agentzh too.
06:08 devogon joined #perl6
06:41 penk joined #perl6
06:43 IllvilJa joined #perl6
07:10 sclv left #perl6
07:40 franck___ joined #perl6
07:47 rindolf joined #perl6
08:41 cognominal_ joined #perl6
08:50 moritz_ can PCR perform any unsafe operations?
08:51 moritz_ or to rephrase the question: is it safe for a CGI script to feed unsanitized input into PCR?
08:55 rgs joined #perl6
09:00 agentzh moritz_: it can
09:00 agentzh moritz_: in action blocks
09:00 agentzh and in verbatim blocks like %{ ... %}
09:00 moritz_ agentzh: so what language is executed in the action blocks? p5?
09:00 agentzh moritz_: for online version, i think it's wise to disable all these forms
09:01 agentzh p5 going through a p6 source filter
09:01 agentzh for the action blocks in rules
09:01 moritz_ is there a specific option to disable them?
09:01 agentzh moritz_: not yet...
09:02 agentzh but it's trivial to write in the emitter ;)
09:02 agentzh or the parser
09:02 moritz_ emitter sounds better ;)
09:02 agentzh actually parser is easier to hack ;)
09:03 agentzh but modifying the emitter is better :)
09:03 moritz_ I have a _very_ shallow cgi wrapper around the regex tracer, without any error handling
09:03 agentzh cool
09:04 agentzh moritz+
09:04 agentzh +
09:04 moritz_ when I fixed the safety issues I'll try to fix the directory permissions, and then it can go online
09:04 agentzh awesome!
09:05 moritz_ but soon I'll have to attend some courses, so be patient ;)
09:05 * agentzh can surely be patient.
09:06 agentzh too bad perl 5 does not have a general sandbox ;)
09:06 moritz_ :/
09:06 agentzh will perl 6 have one?
09:08 moritz_ probably implementation dependant
09:08 moritz_ pugs has one
09:08 agentzh *nod*
09:08 moritz_ kp6 has one, too
09:08 agentzh cool
09:09 moritz_ kp6: mkdir('/tmp/foo/');
09:09 exp_evalbot r18678: OUTPUT[no method 'say' in Class 'Str'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 132␤    KindaPerl6::Runtime::Perl5::MOP::__ANON__('KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...', 'say') called at
09:09 exp_evalbot ..compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤        main::DISPATCH('KindaPerl6::Runtime::Perl5::Disp...]
09:09 moritz_ I expected 'mkdir not allowed with --safe option' or some such ;)
09:09 moritz_ kp6: mkdir('/tmp/foo/'); say 1;
09:09 agentzh heh
09:09 exp_evalbot r18678: OUTPUT[1␤]
09:09 agentzh i'll have a try to hack a safemode option into PCR...
09:10 agentzh it should be easy...
09:10 moritz_ damned, that command really created /chroot/tmp/foo
09:10 moritz_ it seems that kp6 safe mode is b0rked ;/
09:11 agentzh ....
09:11 * agentzh grins.
09:11 moritz_ at least it runs in a chroot
09:12 agentzh i wonder how to implement such things properly
09:12 agentzh kp6 checks a list of dangerous functions internally?
09:12 moritz_ pugs has the 'is safe' and 'is unsafe' traits in the prelude
09:12 agentzh okay
09:13 Gothmog_ joined #perl6
09:13 moritz_ in kp6 all unsafe functions have to check the global safety flag
09:13 kane_ joined #perl6
09:13 agentzh for PCR, it's harder...since the code in action blocks is not parsed by PCR itself
09:13 agentzh it's merely a thin source filter
09:13 moritz_ you could just omit all action blocks
09:13 agentzh should i disable actions completely?
09:13 agentzh okay
09:14 agentzh and give some informative error messages?
09:14 agentzh is die okay?
09:14 moritz_ yes ;)
09:14 agentzh there're at least 3 emitters in PCR...
09:14 agentzh hopefully i don't miss any other
09:15 moritz_ what about a safety visitor?
09:15 agentzh ratchet emitter, backtracking emitter, and the verbatim emitter
09:15 agentzh visitor?
09:15 agentzh visits the regex AST?
09:15 moritz_ like in kp6, where defferent 'visitors' change the AST
09:15 moritz_ right
09:16 agentzh hmm
09:16 moritz_ and just purges all actions
09:16 agentzh sounds good
09:16 agentzh just need to traverse the AST myself :)
09:16 agentzh there's no visitors in PCR yet
09:16 moritz_ recursion++
09:16 agentzh (compared to kp6)
09:17 agentzh heh
09:17 agentzh yup, recursion can make things a lot cleaner.
09:17 moritz_ imagine haskell without recursion ;)
09:17 agentzh heh
09:18 Patterner my brain just imploded. thanks for that, moritz
09:18 moritz_ Patterner: you're welcome ;)
09:20 agentzh moritz_: thanks for the hint; pruning AST is really nice since i can control in a central place :)
09:20 agentzh now it should be a simple 10-line patch
09:23 iblechbot joined #perl6
09:24 * moritz_ is always glad to get other people hacking ;)
10:20 pugs_svn r18696 | agentz++ | [PCR]
10:20 pugs_svn r18696 | agentz++ | - added the -T option to util/compile_p6grammar.pl for "safe mode" (untested yet).
10:20 pugs_svn r18696 | agentz++ | - fixed all the failing tests in PCR.
10:20 pugs_svn r18696 | agentz++ | - recompiled Rule.pmc using the latest version.
10:20 pugs_svn r18696 | agentz++ | - added a waning to util/update-rule-pmc to indicate it's out-of-date and we should now always use util/update-rule-pmc-new instead.
10:22 agentzh the tests in v6.pm are passing again...
10:22 agentzh sorry for the breakage in the last few weeks or so
10:31 iblechbot_ joined #perl6
10:35 pugs_svn r18697 | agentz++ | [PCR] added t/16-tracer-examples.t to test the tracer using examples/*.grammar
10:37 pugs_svn r18698 | agentz++ | [PCR] fixed t/16-examples.t which is broken by accident :P
11:01 fglock joined #perl6
11:03 BinGOs joined #perl6
11:08 pugs_svn r18699 | agentz++ | [PCR] the -T option of compile_p6grammar.pl has now been tested in t/16-safemode.t; moritz++ can now make use of it in his CGI app :)
11:10 agentzh i'll try to make a CPAN release for PCR; if its test suite is failing on your (plural) side, please drop a line here (i'll check the logs)
11:10 agentzh thanks!
11:10 agentzh end of day for me &
11:20 devogon joined #perl6
11:30 ruoso joined #perl6
11:58 pugs_svn r18700 | fglock++ | [mp6] <?...> is now <....>
12:19 pugs_svn r18701 | fglock++ | [kp6] <? ...> is now <. ...>
12:21 ruoso joined #perl6
12:28 pugs_svn r18702 | ruoso++ | [yap6] redefined API, now much closer to what p6 needs...
12:41 FreshCat joined #perl6
12:41 FreshCat for a good time, join #ruby
12:58 xinming_ joined #perl6
13:12 kanru joined #perl6
13:12 moritz_ agentzh++ # safe mode
13:12 moritz_ agentzh: I get 4 test failures for PCR
13:13 moritz_ ah wait, my fault
13:13 moritz_ I should install Test::Base first ;)
13:13 FreshCat left #perl6
13:14 HiTech69 joined #perl6
13:14 moritz_ All tests successful, 4 tests and 2 subtests skipped.
13:20 cmarcelo joined #perl6
13:20 buu joined #perl6
13:22 iblechbot joined #perl6
13:28 TJCRI joined #perl6
13:45 vbattsAtWork joined #perl6
14:19 pugs_svn r18703 | fglock++ | [PCR] <? ...> is now <. ...>
14:20 stevan__ joined #perl6
14:26 iblechbot joined #perl6
14:33 Khisanth joined #perl6
14:41 cmarcelo joined #perl6
14:42 cmarcelo joined #perl6
14:55 xinming__ joined #perl6
14:56 rindolf joined #perl6
15:04 amnesiac joined #perl6
15:05 Timm3h joined #perl6
15:34 lisppaste3 joined #perl6
15:42 TJCRI joined #perl6
15:47 stevan_ joined #perl6
16:06 pmurias joined #perl6
16:08 pmurias hi
16:09 moritz_ hi pmurias
16:10 pmurias hi moritz_
16:22 pmurias re Onion http://www.theperlreview.com/Interviews/jesse-vincent-200708.html - mentions onion as the name for parrot perl6
16:22 lambdabot Title: The Perl Review interviews Jesse Vincent
16:22 moritz_ pmurias: I noticed that... the parrot folks wanted to rename their perl6 implementation at some point, but never did it
16:24 fglock pmurias: it seems the name was not approved
16:24 obra Patrick named his p6 "onion" a while back
16:24 obra I'm not sure if the code represents that
16:25 obra but it's his intent that that be the name
16:32 pmurias having two diffrent implementations with the same name dosn't seem a good idea
16:33 moritz_ I suggest we withdraw v6/v6-Onion/
16:33 Silence joined #perl6
16:33 moritz_ the parrot folks have the older 'rights' ;)
16:33 pmurias moritz_: change them name you mean
16:33 moritz_ pmurias: yes
16:34 pmurias any suggestions>
16:34 pmurias ?
16:34 luqui joined #perl6
16:37 weinig joined #perl6
16:37 moritz_ CTP6 aka CloseToPerl6 ;)
16:37 moritz_ no, just kidding ;)
16:38 pmurias garlic is the more evil onion
16:38 TimToady well, you could use some variant of onion, shallot or leek, or you could go with onion in some other language
16:38 [particle] leek sounds like perl 6 without gc
16:38 moritz_ lol
16:38 TimToady Japanese is negi, except that's green onion, and a round onion is "tamanegi"
16:38 TimToady which is "ball onion"
16:39 pmurias it's cebula in polish
16:39 moritz_ TimToady: the different kinds of onion are rather hard to grap for non-natives
16:39 TimToady interesting how different languages have different unmarked forms
16:39 moritz_ "Zwibel" in German
16:39 moritz_ sorry, "Zwiebel" ;)
16:43 TimToady or another approach is misspelling: "unyun" say
16:44 TimToady though that would get confusing in spoken conversation
16:44 bilbo1507 joined #perl6
16:44 pugs_svn r18704 | pmurias++ | [onion] reverted accidential change to Onion::Ast
16:44 pugs_svn r18704 | pmurias++ | make -B
16:44 fglock cebola in portuguese
16:45 moritz_ I didn't know polish and portuguese where that similar ;)
16:45 pmurias moritz_: i don't think they are ;)
16:46 moritz_ pmurias: know I know one word in each language, and they differ by only one char...
16:46 moritz_ one could argue that the sample size is too small, but that's neglectable ;)
16:47 TimToady cepo in Esperanto
16:48 fglock kp6-boot
16:48 Tene 'sluni' in lojban
16:48 pmurias moritz_: cebóla is a mispelling which is even more similar
16:49 moritz_ fglock: kp6-boot is very expressive, but also very uncool ;)
16:50 blindfish joined #perl6
16:50 TimToady apparently Klingons don't eat onions...
16:51 Tene Klingon vocabulary is... very limited.
16:51 [particle] http://www.wordchamp.com/lingua2/Word.do?wordID=24628&amp;pronunciationID=223449
16:51 lambdabot Title: WordChamp - View translations for "onion"., http://tinyurl.com/26psue
16:51 Tene No method of importing foreign words and only one person can add new words to the language.
16:52 moritz_ I like 'कांदो' very much
16:53 moritz_ uhm... did that copy&paste correctly?
16:53 pmurias moritz_: it looks like for boxes to me
16:54 pmurias *four
16:54 moritz_ pmurias: probably missing fonts - the irc logger gets it right
16:58 penk joined #perl6
16:58 pmurias fglock: i think we could get rid of the AstNode.emit method in onion
16:59 fglock pmurias: yes
16:59 TimToady I think Devanagari would be problematic...
17:00 pmurias a kp6 bug shows up in Onion::Emit::AstPerl
17:06 justatheory joined #perl6
17:07 rindolf joined #perl6
17:07 chris2 joined #perl6
17:23 barney joined #perl6
17:33 pugs_svn r18705 | fglock++ | [PCR] fixed <. ...>
17:38 xinming_ joined #perl6
17:45 pmurias fglock: the error turned out to be in ShortCircuit
17:46 pugs_svn r18706 | fglock++ | [PCR] updated syntax in bootstrapped grammar
17:46 fglock ah, I've seen that before
17:47 fglock pugs:  " " ~~ /<.ws>/
17:47 exp_evalbot OUTPUT[*** Cannot parse regex: <.ws>␤*** Error: Error: Can't call method "ws" without a package or object reference at (eval 21) line 2.␤␤]
17:49 fglock ?eval  " " ~~ /<.ws>/
17:52 Tene kp6: " " ~~ /<.ws>/
17:52 exp_evalbot r18678: OUTPUT[syntax error at position 4, line 1 column 4:␤" " ~~ /<.ws>␤    ^ HERE␤]
17:52 * Tene ships a crate of tuits to fglock.
17:53 * fglock looks for the round ones
17:54 Tene Hope they didn't get squared too much during shipping.
17:55 r0bby joined #perl6
17:56 * pmurias hates Pads very much
17:57 fglock those are nice round ones, but I had some square tuits already - got to store at a separate dry place
17:57 fglock pmurias: Pads love you
17:58 pmurias they should die\
17:58 pmurias
18:00 * fglock sends some round tuits with cebulas to pmurias
18:01 TJCRI joined #perl6
18:02 * pmurias got to fix ShortCircuit
18:07 dlocaus joined #perl6
18:10 pmurias visitors shouldn't have to handle pads
18:10 pmurias or even scopes
18:11 pmurias a pair of visitors should remove them before the ast transformation stage and them add them back
18:11 dlocaus hello!
18:12 dlocaus We could color code the onions? red-onions (alpha), yellow-onions (beta), green-onions (release)
18:13 dlocaus [particle]: ping
18:15 pugs_svn r18707 | pmurias++ | [kp6] fixed ShortCircuit
18:15 pugs_svn r18707 | pmurias++ | + COMPILER::inner_pad($pad)
18:15 dlocaus fglock: ping?
18:15 fglock pmurias: Lit::Code in Visitor::Global may be what you need
18:16 fglock dlocaus: pong
18:16 riffraff joined #perl6
18:16 dlocaus I looked over the perl5/parrot emiters and the roadmap as you suggested.  And I'm still a bit new to all this, so it's a bit more than I can handle.  Although, I'm understanding more and more...
18:16 dlocaus fglock: do you have something a bit smaller that I can chew on?
18:17 dlocaus fglock: I'm also finding a bit hard to keep up, seams that every morning, there is a slew of new code. :)
18:18 fglock dlocaus: looking
18:19 fglock dlocaus: did you try making small modifications to the parrot emitter?
18:19 pmurias dlocaus: you might try getting Onion to work
18:20 dlocaus fglock: part of the problem, with making small modifications  to the parrot emitter was actually understanding how perl6 worked.  It took quite a while for me to find documentation on the grammers, for which I still need to study some more.
18:20 dlocaus the grammar(s) are easy to understand, the syntax is well, a bit difficult.
18:21 dlocaus pmurias: what work does Onion? need?
18:23 fglock dlocaus: there are some doable things in the runtime - Runtime::Perl6::* and Runtime::Perl5::*
18:23 pugs_svn r18708 | pmurias++ | [kp6] two things which annoy be constantly
18:24 pmurias (spelling errors in commit messages)--
18:24 pmurias dlocaus: Onion is kp6 compiled by itself, it's checking what dosn't work and fixing it
18:25 pmurias it might be a bit hard for someone unfamiliar with kp6
18:25 pmurias i added to things to the TODO which i would most like fixed
18:25 dlocaus I'm looking for Runtime::PerlX::* now
18:27 dlocaus fglock: when you say things are doable things in Runtime::PerlX::*, how are they identified?
18:28 fglock dlocaus: there is http://svn.pugscode.org/pugs/docs/Perl6/Spec/ - you just add things you think are useful
18:28 lambdabot Title: Revision 18708: /docs/Perl6/Spec
18:29 fglock the compiler itself doesn't use many runtime functions, but they are required for the end users
18:29 dlocaus ok, I'll look into this.
18:30 dlocaus pmurias: I also check out the TODO (v6/v6-KindaPerl6/TODO)
18:30 fglock dlocaus++
18:31 fglock pugs:  " " ~~ /<.ws>/
18:31 exp_evalbot OUTPUT[*** Cannot parse regex: <.ws>␤*** Error: Error: Can't call method "ws" without a package or object reference at (eval 21) line 2.␤␤]
18:31 Psyche^ joined #perl6
18:31 pmurias kp6: "a" ~~ /a/
18:31 exp_evalbot r18678: OUTPUT[syntax error at position 4, line 1 column 4:␤"a" ~~ /a␤    ^ HERE␤]
18:32 fglock pmurias: that's doable :P
18:32 Jedai joined #perl6
18:33 fglock add a .smartmatch method to Token
18:34 sili joined #perl6
18:34 fglock home &
18:35 sili does anyone recall some code that takes a grammar definition of some kind and randomly generates should-be-valid as a means of testing a parser?
18:38 pmurias dlocaus: you might also implement .WHERE (needed for Onion)
18:38 dlocaus pmurias: looking into it
18:39 dlocaus where is WHERE?
18:39 pmurias S12
18:39 pmurias WHAT in fact
18:40 dlocaus &brb, need to answer this email
18:46 FreshCat joined #perl6
18:47 TJCRI joined #perl6
18:47 HiTech69 joined #perl6
18:48 dlocaus pmurias: I found "obj.WHAT", I'm reading up on it.
18:49 IllvilJa joined #perl6
18:59 rlb3_work joined #perl6
19:02 jisom joined #perl6
19:08 dlocaus what does MOP in KindaPerl6/Runtime/Perl5/MOP.pm stand for?
19:11 devogon joined #perl6
19:12 pmurias dlocaus: meta object protocol
19:14 dlocaus pmurias: Would it be a good use of time to document all of the kp6 code?
19:14 dlocaus pmurias: documenting is a good way of learning what's going on.
19:15 dlocaus pmurias: perhaps some test cases as well?
19:15 pmurias dlocaus: you want to document tests?
19:16 bbkr which tests are most needed ATM? http://perlcabal.org/syn/ shows synopses coverage, but tells nothing about priorities in testing.
19:16 lambdabot Title: Official Perl 6 Documentation
19:16 pmurias dlocaus: i don't think it's worth to document stuff which will be thrown away
19:18 pugs_svn r18709 | dlo++ | Documented the meaning of MOP in the filename.
19:18 pmurias (things which use the mp6 runtime)
19:19 dlocaus pmurias: ok
19:21 pmurias bbkr: pugs isn't developed much nowdays and kp6 is not mature enough to use the pugs test suit
19:23 bbkr so test suite is also frozen now (till mp6 will be mature enough?)
19:24 pmurias bbkr: it's not frozen
19:25 pmurias it's that i don't think that the implementations make something a priority
19:27 pmurias meta-class test might be helpfull for kp6
19:27 bbkr ok, thanks
19:38 dlocaus pmurias: I'm finding it a bit hard to read the DispatchSugar and other subroutines in Runtime::Perl5::DispatchSugar & MOP.  would anyone mind if I documented it?
19:42 pmurias no
19:43 pmurias feel free to document anything you want
19:43 pmurias OTOH i would prefer if you removed Runtime::Perl5::DispatchSugar
19:44 dlocaus ok, I'll document DispatchSugar and MOP to try and get a handle on what the code is doing.
19:44 dlocaus then I'll see about removing DispatchSugar...
19:44 pmurias nice
19:45 dlocaus pmurias: I think I can bite this off.
19:45 pmurias MOP is IMHO the hardest part of kp6
19:48 pmurias dlocaus: DispatchSugar could be removed with a simple substitution, but make_class would be better then a lot of ::DISPATCH
19:52 xinming__ joined #perl6
19:52 dlocaus pmurias: you are probably right, but I don't have enough experience with the code to see the big picture yet.  and to do .WHAT I need to be able to understand the MOP.
19:52 dlocaus pmurias: I'm sure the documentation won't hurt anyone, and may make things easier for the next person :)
19:54 pmurias dlocaus: go ahead with the documentation
19:58 xinming_ joined #perl6
19:59 dlocaus are you guys using any special form of notation to help find TODO items? ie: "todo:" or (todo) ?
20:00 pugs_svn r18710 | dlo++ | added documentation to this code.
20:01 pugs_svn r18711 | dlo++ | fixed minor formating error in documentation
20:02 pmurias dlocaus: dunno
20:05 pmurias dlocaus: you can introduce one
20:08 dlocaus pmurias: it appears that everyone is just using "TODO" in caps. at least that is what grep -R suggests.
20:08 dlocaus oh.. App::Ack is nice..
20:34 pugs_svn r18712 | pmurias++ | DispatchSugar - explained the intended puropose of this module
20:43 pmurias ack++
20:56 pmurias dlocaus: where are you from?
20:58 xinming joined #perl6
21:06 xinming_ joined #perl6
21:19 theorbtwo joined #perl6
21:19 REPLeffect joined #perl6
21:22 xinming__ joined #perl6
21:29 vbattsAtWork joined #perl6
21:33 FreshCat how close is perl6 anyhow?
21:34 Tene FreshCat: I use Perl 6 currently.
21:34 Tene So, depends on what oyu need.
21:34 FreshCat so, the part that is there is deffinitely going to be present in the release version?
21:34 Tene Yep.
21:35 FreshCat awesome
21:35 FreshCat linkage?
21:35 Tene There are different projects that implement different parts of Perl 6.
21:35 Tene They're all planning on meeting in the middle. :)
21:35 FreshCat ah ok
21:35 Tene http://pugscode.org/ is a place to start.
21:35 lambdabot Title: Pugs - pugscode
21:35 Tene As is http://parrotcode.org/
21:35 lambdabot Title: Parrot Virtual Machine - parrotcode
21:36 Tene pugs, parrot, kp6 are the big things you want to look at.
21:36 Tene kp6 is being developed in the pugs repo
21:37 FreshCat what is KindaPerl6
21:37 xinming_ joined #perl6
21:37 moritz_ it's a perl6 compiler written in a subset of perl 6
21:38 moritz_ see http://www.pugscode.org/kp6.html for a (very) short intro
21:38 lambdabot Title: kp6 - KindaPerl6
21:41 FreshCat outstanding.  Thanks guys!
21:42 Notrix joined #perl6
21:50 silug joined #perl6
22:00 riffraff joined #perl6
22:17 BinGOs joined #perl6
22:23 r0bby joined #perl6
22:31 weinig_ joined #perl6
22:45 weinig joined #perl6
22:46 weinig_ joined #perl6
22:48 weinig__ joined #perl6
22:59 polettix joined #perl6
23:03 Limbic_Region joined #perl6
23:18 bsb joined #perl6
23:45 elmex joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo