Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-08-20

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:03 bacek joined #perl6
00:05 [particle] joined #perl6
00:20 justatheory joined #perl6
00:31 PZt joined #perl6
00:38 meppl joined #perl6
00:40 hercynium joined #perl6
00:54 [particle] joined #perl6
01:44 meppel-san joined #perl6
01:47 Schwern joined #perl6
02:03 lambdabot joined #perl6
02:17 [particle]1 joined #perl6
02:51 ingy joined #perl6
02:52 ingy joined #perl6
02:56 s1n @karma s1n
02:56 lambdabot You have a karma of 3
02:56 s1n @karma pmichaud
02:56 lambdabot pmichaud has a karma of 5
02:56 Auzon perlbot karma s1n
02:56 perlbot Karma for s1n: 14
02:56 Auzon perlbot karma pmichaud
02:56 perlbot Karma for pmichaud: 609
02:56 s1n why are those different?
02:56 Auzon A bit better :)
02:56 Auzon I dunno. I just know that lambdabot stopped counting
02:57 s1n Auzon: i read your gsoc blog from yesterday, nice work
02:57 Auzon Thanks :)
02:57 s1n Auzon++
02:57 s1n :)
03:16 kanru joined #perl6
03:29 Southen_ joined #perl6
03:29 alester joined #perl6
03:32 [particle] joined #perl6
03:41 Southen_ joined #perl6
03:41 p6eval joined #perl6
03:41 Gruber joined #perl6
03:41 wolverian joined #perl6
03:41 awwaiid joined #perl6
03:41 Helios- joined #perl6
03:41 Caelum joined #perl6
03:41 ilogger2 joined #perl6
03:41 araujo joined #perl6
03:42 krunen joined #perl6
03:42 ingy joined #perl6
03:42 sri_work joined #perl6
03:42 broquaint joined #perl6
03:42 lisppaste3 joined #perl6
03:42 yves joined #perl6
03:42 funktio joined #perl6
03:42 pochi joined #perl6
03:42 idemal joined #perl6
03:42 cls_bsd joined #perl6
03:42 kane_ joined #perl6
03:42 Gothmog_ joined #perl6
03:42 frobnitz joined #perl6
03:42 kcwu joined #perl6
03:42 jrockway joined #perl6
03:42 japhb joined #perl6
03:42 pengrate_ joined #perl6
03:42 perlbot joined #perl6
03:42 bloonix joined #perl6
03:42 Juerd joined #perl6
03:42 yath_ joined #perl6
03:43 BinGOs joined #perl6
03:43 kcwu joined #perl6
04:08 japhb Given all the parser maniacs around here, many of whom are using Perl 5 to do the dirty work ... I need a parser for shell-like argument parsing.  It's fine if it's Perl (5 or 6)-style quoting instead (better, even), but the key thing is that I'm parsing a space-separated string into arguments, embedded spaces have to be quoted or escaped, and it would be nice to be able to have a nice set of escapes available for non-keyboard-enterable ch
04:08 japhb aracters.  Is there a Perl *5* module that does this already?
04:09 * japhb trying to fight his automatic reaction to write something from scratch and poke at it forever ...
04:41 justatheory joined #perl6
05:38 Psyche^ joined #perl6
05:49 IllvilJa joined #perl6
05:58 Schwern joined #perl6
06:00 ashizawa joined #perl6
06:52 pugs_svn r21957 | moritz++ | [t/spec] partially unfudge num.t for rakudo
06:55 pugs_svn r21958 | moritz++ | [t/spec] partially unfudge type based mmd tests for rakudo
07:01 c1sung joined #perl6
07:03 pugs_svn r21959 | moritz++ | [t/spec] more unfudging for rakudo
07:05 masak joined #perl6
07:08 pugs_svn r21960 | moritz++ | [t/spec] more tests for native types
07:11 pugs_svn r21961 | moritz++ | [t/spec] more unfudging: S03-operators/arith.t
07:18 pugs_svn r21962 | moritz++ | [t/spec] unfudged S03-oeprators/assign.t a bit
07:23 pugs_svn r21963 | moritz++ | [t/spec] more unfudging for rakudo
07:24 missingthepoint joined #perl6
07:27 pugs_svn r21964 | moritz++ | [t/spec] more unfudging
07:37 missingthepoint joined #perl6
07:41 Schwern joined #perl6
07:45 pmurias joined #perl6
07:45 xinming joined #perl6
07:59 cognominal joined #perl6
08:00 elmex joined #perl6
08:15 masak TimToady: can I exit a gather block with `last`? since gathers are AIUI dynamic, how would I exit a gather context (or the equivalent, just indicate that no more takes will be made) from another sub? is there a way to query a gather on the elements already taken?
08:18 moritz_ 'last' would exit the closest lexical block that catches the control exception that 'last' throws
08:18 masak hm
08:18 moritz_ so gather { while 1 { take 1; last } }
08:18 moritz_ the last would exit the while loop
08:18 masak aye
08:18 masak can I put a label on the gather block, then?
08:19 moritz_ since control exceptions are dynamically scoped... dunno :)
08:19 xinming_ joined #perl6
08:21 moritz_ and I think if you need the number of elements already taken, you really want an array on which you push
08:21 masak maybe.
08:21 moritz_ my @a = @@( gather { take 1; take 2, 3 } ); would that be [1], [2, 3]?
08:22 moritz_ otoh pushing to an array doesn't sound lazy
08:31 masak otth, the laziness of gather is unspecced.
08:32 moritz_ is it?
08:32 masak aye.
08:32 moritz_ it is implicitly specced by IRC conversations with TimToady ;)
08:33 masak I guess whether gather will be lazy or not will be specced at the last possible moment :P
08:34 moritz_ S02:3098 could be seen as an implicit specification of the lazyness
08:37 masak wha'?
08:37 masak "Likewise any non-alphanumeric character is assumed to be equivalent to a dot."
08:37 moritz_ sorry, S03:3098
08:38 TimToady S04:588 specs gather to be lazy
08:38 masak ah
08:39 masak I read through that, and didn't construe it as speccing gather as lazy
08:40 masak also, the first pugs test on that paragraph says :todo<unspecced>
08:40 TimToady I don't know what "returns a lazy slice" could mean other than that
08:41 masak TimToady: sorry, I seem to be suffering from selective blindness :/
08:42 TimToady it also talks about the relationship of gather with loops just below that
08:43 masak TimToady: re my earlier questions: (1) can one tell a gather context that taking has ended? (2) is there a variable or similar that contains already taken values?
08:43 penk joined #perl6
08:43 TimToady 1), see the aforementioned loops
08:43 jferrero joined #perl6
08:44 TimToady 2) try binding the gather to an array and ask it how many elements it has 'reified' (however we end up doing that)
08:44 TimToady but in general asking any lazy list for its length is not what you want
08:45 TimToady because you're not supposed to care about the state of your lazy feed in general
08:45 TimToady logically the list is all there, even if it hasn't been calculated yet
08:45 TimToady and asking for its length causes it to be calculated
08:45 masak TimToady: can I use the control builtins 'next', 'last' etc on loops that are not in the current sub?
08:45 TimToady certainly
08:46 TimToady you won't even get a warning if the label is lexically scoped
08:46 masak ah, that probably solves most of my questions about breaking out of a gather, too
08:46 TimToady @foo = gather LABEL: for 1..* { ...} is legal syntax
08:46 lambdabot Maybe you meant: faq ft todo yow
08:46 pmurias joined #perl6
08:47 masak that's good to know.
08:47 TimToady @shutup lambdabot
08:47 lambdabot Unknown command, try @list
08:48 masak TimToady: re (2) again: so my best shot at knowing which values I've taken is to push them to an array inside the gather?
08:48 TimToady if you need such sequence points you probably shouldn't be using a gather
08:48 masak I see.
08:50 TimToady if you need to know how many elements you've taken, I'd suggest counting the return values of the takes: my $sum += take @values;
08:50 TimToady but there's no guarantee that the gather will stop taking things after that, so any reliance on $sum is a race condition anyway
08:51 TimToady lazy lists in general are allowed to "work ahead" if they feel like it
08:51 masak no, I envision sometimes wanting to know the exact values taken so far. I have no real use case, though. also, there's the problem of how to refer to a particular gather.
08:51 TimToady and many algorithms are more efficient if you can batch the work
08:51 moritz_ which makes it nearly impossible to test if something is truely lazy
08:52 moritz_ except by taking infinite lists, which risks infinite loop if the lazyness isn't done right yet
08:53 moritz_ from the testing POV that's a real problem
08:53 TimToady well, an eager list could be construed as a lazy list that happens to have an arbitrarily large batch size :)
08:54 TimToady and indeed, a lazy list is allowed to choose to be completely eager if it feels like it
08:54 moritz_ maybe for testing purposes we could have a pragma that enforces strict lazyness?
08:55 TimToady well, just feed the take with something that you can control the rate off, I suppose
08:56 * moritz_ doesn't understand that
08:57 TimToady gather for 1..* { take $_; sleep 1 } will take a while to run out of memory :)
08:58 moritz_ and then hope that the harness has a timeout
08:58 TimToady note that the sleep is presumably running in a different threed than the outside of the gather
08:58 TimToady well, you also throw a "last if $_ > 10" or some such into the loop
08:58 meppl joined #perl6
08:59 TimToady presuming you have some way of checking the partial result from the outside thread
08:59 moritz_ but that doesn't help if the gather is allowed to look ahead
08:59 TimToady but as I said, that probably involves drilling down into a lazy array for its reified status
08:59 moritz_ ENOSPECYET ;-)
09:00 TimToady well, I doubt the schedular is going to feel like looking much past a "sleep 1"
09:00 TimToady *scheduler
09:01 TimToady that's not one of the algorithms that's likely to get optimized into batches :)
09:01 iblechbot joined #perl6
09:02 TimToady but yes, perhaps a pragma would be able to instruct the optimizer in this case just to give warm fuzzies to the tester. :)
09:03 * moritz_ loves warm fuzzies ;)
09:03 pmurias moritz_: shouldn't a decent harness have timeout support?
09:04 masak I'm trying to learn more about Parrot and PIR by implementing a non-lazy, non-dynamic gather in Rakudo. so far I've come to the conclusion that I need some ambient "gather object" that I can push the taken items to.
09:04 masak still mulling over how to do this in PIR
09:04 moritz_ pmurias: it should
09:05 moritz_ masak: did you know that jonathan is working on lazy lists?
09:05 masak no, but that's good news.
09:05 masak I figure step two of a gather implementation would be making it lazy
09:05 masak and step three making it dynamic.
09:06 masak thing is, I don't _need_ lazy or dynamic right now. I'd just like to use gather :)
09:07 moritz_ ;)
09:07 TimToady metholate used lazy gather/take to do backtracking when STD was targeting pugs
09:08 masak to me, gather/take seems to be Perl 6's current way to expose continuations.
09:08 pmurias coroutines
09:09 masak ...which are build on continuations, right?
09:09 masak or at least can be.
09:10 TimToady yes, gather/take is basically coroutines without constraining it to the subcall interface
09:10 masak I really like that view of gather/take.
09:10 masak I wonder if we will see a lot of zero-argument takes which only transfer control
09:11 masak (or, if that's not possible, takes of meaningless values)
09:11 TimToady well, I return () all over the place in STD.pmc to indicate failure
09:11 TimToady (and presumably initiate backtracking where appropriate)
09:15 TimToady well, I'd better go to sleep soon...
09:16 masak TimToady: good night.
09:16 penk joined #perl6
09:36 fridim_ joined #perl6
09:43 zamolxes joined #perl6
10:24 meppl joined #perl6
10:34 wknight8111 joined #perl6
10:37 penk left #perl6
10:49 felipe joined #perl6
11:11 eternaleye_ joined #perl6
11:26 larsen_ joined #perl6
11:45 fridim__ joined #perl6
12:02 sahadev joined #perl6
12:44 meteorjay joined #perl6
13:02 Myoma joined #PERL6
13:02 Jedai joined #perl6
13:06 cmarcelo joined #perl6
13:20 alester joined #perl6
13:25 stef_ joined #perl6
13:33 pugs_svn r21965 | pmurias++ | [smop] start of Code implementation
13:38 rdice joined #perl6
13:42 pugs_svn r21966 | moritz++ | partially revert r21965 which was a bit too eager
13:52 pugs_svn r21967 | masak++ | [gather.t] removed :todo<unspecced> because nowadays gather is specced lazy
14:02 alester joined #perl6
14:13 moritz_ masak: did you review gather.t?
14:13 moritz_ masak: if it conforms to current specs, consider moving it to spec/
14:14 moritz_ spec/S04-statements/ presumably
14:20 gbacon joined #perl6
14:20 masak moritz_: I could do that. :) just have to review $work first
14:20 moritz_ masak: no hurry ;)
14:58 kanru joined #perl6
15:06 hercynium joined #perl6
15:08 Exodist joined #perl6
15:14 masak moritz_: ok, I fudged it up. when I run ./perl6 on the resulting file, though, I get a double free from Parrot. does that mean I should refrain from moving it into t/spec ?
15:14 moritz_ masak: no, move it to spec nonetheless
15:14 * masak does so
15:14 moritz_ masak: as long as it's not included in rakudo's t/spectest_regression.data it's not run by default
15:15 masak ah, true
15:16 pugs_svn r21968 | masak++ | [t/statements/gather.t] fudged for rakudo
15:17 [particle] masak++
15:17 pugs_svn r21969 | masak++ | [gather.t] moved into t/spec/S04-statements
15:17 masak now, food
15:18 moritz_ masak++
15:18 jferrero joined #perl6
15:26 jferrero joined #perl6
15:54 pmichaud pugs:   my @a = 1..3;   for 0, @a { .say; @a = (); }
15:54 p6eval pugs: OUTPUT[0␤␤]
15:55 pmichaud pugs:   my @a = 1..3;   for 0, @a { .say; }
15:55 p6eval pugs: OUTPUT[0␤1 2 3␤]
15:55 moritz_ it doeesn't interpolate.
15:56 pmichaud pugs:   my @a = (1,2,3);   for 0, @a { .say; }
15:56 p6eval pugs: OUTPUT[0␤1 2 3␤]
15:56 moritz_ and it doesn't do copy semantics as well
15:56 pmichaud you mean pugs doesn't do it, or Perl 6?
15:56 moritz_ pugs
15:57 * moritz_ is deeply puzzled by what pugs does
15:57 pmichaud okay.  I was expecting both to give   "0\n1\n2\n3\n"
15:57 moritz_ pugs: my @a = 1..3; for 0, |@a { .say }
15:57 p6eval pugs: OUTPUT[0␤1 2 3␤]
15:57 * moritz_ too
15:58 pmichaud pugs:  my @a = (0, 1..3);   for @a { .say }
15:58 p6eval pugs: OUTPUT[0␤1␤2␤3␤]
15:58 pmichaud pugs:  my @a = 1..3;  for (0, @a) { .say }
15:58 p6eval pugs: OUTPUT[0␤1 2 3␤]
16:07 justatheory joined #perl6
16:13 [particle]1 joined #perl6
16:14 sri_work_ joined #perl6
16:17 iblechbot joined #perl6
16:20 TJCRI joined #perl6
16:25 luqui joined #perl6
16:29 Auzon1 joined #perl6
16:41 masak joined #perl6
16:44 masak moritz_: may I ask what caused you to abandon your wiki plans?
16:44 moritz_ masak: the translation step from wiki markup (I chose something like POD) to HTML
16:44 moritz_ masak: it proved to be quite ugly
16:44 masak oh
16:44 masak I think we've found quite the opposite here
16:44 masak PGE rocks
16:45 moritz_ do you use PGE directly?
16:45 masak through rakudo
16:45 masak though we're not as fancy as POD so far
16:45 masak just paragraphs + internal links
16:46 moritz_ well, I was able to translate most things, but I couldn't prevent XSS (aka html code injection)
16:46 moritz_ and I found a few nasty parrot bugs that made me use pugs instead
16:46 masak we handle code injection, I think
16:46 moritz_ for which CGI.pm actually works quite decently
16:46 masak we intercept <>&'"
16:46 moritz_ yes, that's what it's all about
16:46 masak moritz_: p5 CGI.pm?
16:46 moritz_ no, ext/lib/CGI/
16:47 masak oki
16:47 Juerd masak: Did you know I have a creole wiki syntax grammar available, even though it's 100% untested?
16:47 masak Juerd: URL?
16:48 moritz_ in the end I ended up using REQUEST_URI anyway, so really didn't need much of CGI :/
16:48 Juerd masak: file://feather/home/juerd/creole
16:48 masak moritz_: we hesitate to use CGI.pm too much
16:48 Juerd 100% untested is not true. I did comment out some thing to make (an old version of) rakudo be able to parse it at least.
16:49 moritz_ masak: well, you don't need fancy URL parsing for wikis anyway
16:49 Juerd Ugh, don't use or copy Perl 5's CGI.pm
16:49 moritz_ masak: my plan was to have an edit box on every page, so no extra URLs for that
16:49 masak Juerd: creole looks interesting
16:49 Juerd masak: Creole is the only acceptable alternative to mediawiki as far as I'm concerned
16:50 masak Juerd: noted.
16:50 Juerd Also, it having an actual spec helps :)
16:50 masak :)
16:50 moritz_ Juerd: I just used ext/lib/CGI/ for the URL and POST parameter parsing
16:50 Juerd masak: Note that I used "rule" everywhere. I wasn't aware of token and things like it.
16:50 masak Juerd: over time, we want to migrate to Web.pm in november
16:50 Juerd masak: Yay
16:51 masak Juerd: was this long ago?
16:51 pmichaud Creole is quite good, yes
16:51 masak Juerd: help with fleshing out Web for this purpose much appreciated
16:51 pmichaud several items in it are based on PmWiki syntax
16:51 Juerd masak: Last time I touched it was May this year
16:51 jhorwitz joined #perl6
16:51 Juerd pmichaud: Did you work on creole too?
16:52 pmichaud not directly
16:52 pmichaud but PmWiki was one of the strong influences on it
16:52 masak I have now added Creole to the list of markups we will look into
16:52 pmichaud I highly recommend simply implementing Creole markup, or POD
16:52 pugs_svn r21970 | pmurias++ | [smop]
16:52 pugs_svn r21970 | pmurias++ | fixed Makefile adding garbage to the output;
16:52 pugs_svn r21970 | pmurias++ | back and friends are passed to Code.mold during postcircumfix:<( )>
16:52 Juerd POD isn't very useful for a wiki, I found
16:52 pmichaud in fact, simply having a P6 grammar and parser for Creole would be a very good product/definition
16:53 Juerd pmichaud: I once wrote a grammar but couldn't test it back then
16:53 Juerd pmichaud: feather:~juerd/creole
16:53 Juerd Probably sucks, but could perhaps be a starting point
16:54 pmichaud I'll look into it, definitely
16:54 pmichaud I was pleasantly surprised at how little work I had to do to get PmWiki to support Creole syntax (well, at least 0.4.   I haven't looked at 1.0 yet)
16:54 Juerd I have no idea if it can work the way I wrote it, but I found translating the specs to a grammar a nice mental exercise, and surprisingly doable.
16:55 Juerd Perl 6 regex syntax really rocks, especially ''.
16:55 [particle] joined #perl6
16:55 pmichaud it does rock.  One can almost write complete programming languages in it.  ;-)
16:55 Juerd The only thing that I really dislike much is <[]>, but I can't think of a good alternative either
16:56 pmichaud if there aren't any ranges involved, stuff like <[abc]>  can be written as  < a b c >
16:56 Juerd <[]> is because "a-z is no longer acceptable", but whatever I write tends to match character classes of *non* alphanums :)
16:56 pmichaud (PGE doesn't support < a b c > yet, but it's specced)
17:02 pmurias pmichaud: where does the lol code emitting stuff live?
17:02 fridim_ joined #perl6
17:02 pmichaud it's not checked into the repo yet
17:03 pmichaud it really needs a few refactors to PCT::HLLCompiler for prime-time use
17:03 masak cperl-mode in Emacs does a surprisingly good job of syntax-highlighting Perl 6 code.
17:04 pmurias pmichaud: i wanted to base a m0ld backend on it
17:07 pmichaud pmurias: I'll check it in this weekend, or I can mail you a copy
17:08 pmurias pawelmurias@gmail.com
17:12 pmurias pmichaud: is it written in pir or in Perl 6?
17:14 pmichaud PIR
17:15 pmurias does rakudo have enough features for me to rewrite it in Perl 6?
17:26 pmichaud well, it's not really part of rakudo -- it's part of the Parrot Compiler Toolkit
17:26 pmichaud i.e., it's just another code generator for PCT
17:26 eternaleye joined #perl6
17:26 pmichaud it might be doable in rakudo, or NQP -- at the time I was going for what would get it implemented for me the quickest, since I had a tight deadline :-)
17:26 ruoso joined #perl6
17:27 ruoso Hello!
17:27 * ruoso at a local free software conference... hosting a Perl 6 hackathon
17:28 masak ruoso++
17:34 pim joined #perl6
17:35 pim Hello
17:35 moritz_ hi
17:35 masak y0
17:35 pim May i write a program in perl6 actually?
17:36 masak pim: yes, it's true!
17:36 moritz_ rakudo: say "yes, you can (small ones)"
17:36 p6eval rakudo 29834: OUTPUT[yes, you can (small ones)␤]
17:36 masak you can finally write Perl 6
17:36 masak pim: what do you want to write?
17:36 masak I wrote a jukebox frontend today
17:36 masak (actually, it was just the Schwartz transform on a list of files, but still)
17:37 ruoso pmurias: I'll implement .() in code to call BIND on the signature... but that will probably require adding a new fixed register on the molds that code receives
17:38 [particle] pmichaud: you wrote a lolcode emitter for pct?
17:38 ruoso pmurias: I think the current lexical scope deserves one of the fixed registers
17:38 masak rakudo: my @a = (1,2,3,4,5); say map { $_[0] }, sort { $^a[1] <=> $^b[1] }, map { [$_, rand] }, @a
17:38 p6eval rakudo 29834: OUTPUT[34125␤]
17:38 pim Many things, but i just come discover perl is going to change completly, I come to read Perl6 on wikipedia, I write in Perl5 since a long time, but did not thing about it.
17:38 masak on second thought, maybe I should just have used pick()
17:39 masak pim: Perl 6 is almost here. but you can use it already, for great justice
17:39 moritz_ pim: Perl 6 isn't mature yet. It's nice to play with it, but don't think about starting "real" projects in Perl 6 yet
17:39 masak people who use Perl 6 are happier, healthier and have better sleep patterns
17:40 moritz_ lol
17:40 pmichaud particle:  yes, I wrote a lolcode emitter for PCT for a lightning talk at YAPC::EU :-)
17:40 pim What means almost? I know, some companies are about to perform their upgrades.
17:40 pmichaud and then used it to convert NQP code into LOLCODE
17:40 pmichaud including running NQP's tests as LOLCODE
17:40 moritz_ pim: from 5.8.8 to 5.10. Not to Perl 6 ;)
17:40 masak pim: "almost" means that whatever those companies are upgrading to, it's not Perl 6
17:41 masak "almost" means a bug find rate of at least one per day
17:42 fridim__ joined #perl6
17:42 masak it means you'll be spending half the time developing your app, and the other half delving into Perl 6 internals
17:42 cotto_work joined #perl6
17:42 masak it's... not for production
17:42 pim Okayyy, I suppose i mistake, in fact, it was probably a test thez told me to see my reaction : no reaction!
17:43 masak pim: but do try Perl 6! use it for a hobby project or something
17:43 masak the time will be well invested, and you can write "years of Perl 6 experience" in a few years
17:43 masak on your resume
17:44 masak pim: do you have any specific questions about Perl 6 features?
17:44 pim Can i today get documentation about Perl6?  that will not change so mutch?
17:44 * moritz_ will write "Perl 6 test suite pumpkin" in his resumee
17:44 masak http://spec.pugscode.org
17:44 masak pim: try that one.
17:45 masak moritz_: and deservedly so. moritz_++
17:45 moritz_ and I'm about to write a short tutorial-style perl 5 to perl 6 guide
17:45 masak nice!
17:45 pim thank you, is there french documentation today?
17:45 masak moritz_: have you looked at the one in the Pugs repo?
17:45 moritz_ pim: not that I know of
17:45 masak pim: not that I know if
17:45 masak s/if/of/
17:46 moritz_ pim: there is German documentation, though - a bit
17:46 moritz_ masak: yes. Not what I had in mind (acutally I improved it a few days ago)
17:46 masak pim: Google Translate might help, with the usual caveats
17:46 masak moritz_: good that you know of it
17:46 pim Or make a translater in Perl6!!!
17:47 masak pim: then you might want to look into Perl 6 Grammars
17:47 pim Will Perl6 be a freeware?
17:47 [particle] of course!
17:47 masak they do recursive parsing, which you will need to parse natural sentence structures
17:47 masak pim: very free!
17:47 Juerd pim: No, open source
17:48 Juerd pim: It's free software, but "freeware" is typically not very free in the "as in speech" meaning of the word.
17:49 pim Open source, same licence, I means Artistic Licence.
17:49 Juerd artistic 2, very probably.
17:49 pim I should read it once.
17:49 masak is Parrot under Artistic 2.0?
17:49 Juerd Someone at the yapc said "autistic license". I forgot the joke though.
17:49 [particle] yes, parrot is artistic 2.0
17:50 masak good
17:50 [particle] so will be rakudo
17:50 masak isn't it automatically, since it resides in the parrot repo?
17:50 pim Parrot, rakudo : many V.Machines!! How will perl do with it?
17:51 pmichaud rakudo's copyright may end up being different from parrot's, though
17:51 pmichaud rakudo will definitely be artistic 2.0
17:51 [particle] masak: rakudo will not reside in the parrot repo when parrot 1.0 is release
17:51 masak pim: rakudo is a Perl 6 implementation running on top of Parrot, a VM
17:51 [particle] *released
17:51 masak [particle]: ok
17:51 pim Sorry :O(
17:51 masak pim: apart from Perl 6, Parrot supports a host of other languages
17:52 pmichaud afk, lunch
17:52 masak pim: that's how it's going to handle it :)
17:52 pim Yes i red it today, merci bien!
17:52 masak de rien
17:53 pim More concretly : May i use perl6 on Debian GNU Linux today? and how?
17:54 masak pim: I imagine there's a yum package for Parrot
17:54 moritz_ masak: yum isn't for Debian ;)
17:55 masak oops, sorry :) I meant apt
17:55 masak it's been too long since I was a debian user, clearly
17:57 moritz_ pim: usually we get parrot from the svn repository, build it and use it locally (ie without installing)
17:58 moritz_ Juerd: may I remind you to set up a feather account for StephenPollei? (in case you have tuits atm ;-)
17:58 moritz_ Juerd: if it's documented somewhere I can also do it
17:58 ruoso hmm... { ... }.($foo) should be translated to a capture that contains the actual capture present in the syntax... because postfix:() receives the code as the invocant
17:59 ruoso and postfix:() will also be used to method invocation, which has the invocant as the objec, and not the method object
17:59 pim masak: yum is not part of Debian you mean RPM package probably.
17:59 masak pim: no, I meant apt
18:00 masak pim: but if you can, you should probably follow moritz_' advice and download via svn
18:00 masak pim: do you use svn?
18:01 pim no, i did searh today, not in official distribution.
18:01 moritz_ packages.debian.org doesn't list a parrot package; there had been a package a while back (maintained by rafl++), but it seems to have bitrotten and has been removed
18:01 moritz_ and parrot has the ports/debian/ dir, but I don't know if it's functional
18:01 pim masak: rarely, i don't even remember how to use it.
18:02 masak pim: http://www.parrotcode.org/source.html
18:02 masak there you will find many means of downloading
18:02 lambdabot Title: Parrot Source Code & Packages - parrotcode
18:03 pim Ok, but i can compile it i'm programming in C as well a little and am used to compile.
18:04 masak pim: unless you find a binary package (unlikely), you will need to compile, yes
18:04 masak there are instructions in the README once you've downloaded the source tree
18:04 moritz_ on Debian it boils down to 'perl Makefile.PL; make'
18:04 pim masak: many thanks ;O)
18:04 masak pim: good luck!
18:04 moritz_ although my magic line is 'make realclean && perl5.10.0 Configure.pl --cc='ccache gcc' && make -j 2 test'
18:05 masak moritz_: why the 5.10.0? what do the --cc and -j flags do?
18:06 moritz_ masak: because the Test::Harness that comes with 5.10 gives better output, sometimes
18:06 StephenPollei cc cahanges his complier
18:06 StephenPollei and the j does it parrelel
18:06 moritz_ masak: the cc options uses ccache for compiling
18:06 moritz_ right
18:06 moritz_ with 2 jobs in parallel
18:06 masak moritz_: oh right, the Test::Harness that only worked on Linux.
18:07 masak ooh, parallelis
18:07 masak m
18:07 moritz_ masak: as a linux-only user I can't comment on that ;)
18:07 pim Thank's to all of you.
18:07 pim left #perl6
18:10 exodist_ joined #perl6
18:16 ruoso pmurias: does a mold frame goto its back when it reaches its end?
18:17 donaldh joined #perl6
18:17 justatheory joined #perl6
18:17 c1sung joined #perl6
18:17 agentzh joined #perl6
18:17 drbean joined #perl6
18:17 speckbot joined #perl6
18:19 rafl moritz_: pkg-parrot has been created on alioth
18:19 rafl moritz_: but not much happened there yet, as it seems.
18:20 rafl moritz_: a while ago i asked alison about the current state and if it'd be ok for me to join that group or if it's ok with them if i uploaded something new in the meantime, but nothing happened yet.
18:20 ruoso pmurias: I'm implementing set_reg as a high-level method for the mold frame
18:24 BinGOs joined #perl6
18:27 pim joined #perl6
18:28 TimToady ruoso: I consider .() to be a postfix macro, not a real method call
18:28 pim I just compiled parrot and ran the test : All tests successful, 18 tests and 665 subtests skipped.
18:28 masak pim: congrats
18:28 masak pim: now for the next step: compiling Rakudo Perl 6
18:28 moritz_ 665 skipped sub tests? sounds like a lot
18:28 * moritz_ compiles and looks how many are skipped for him
18:29 pim Okay thank's, that was about to be my question.
18:29 moritz_ pim: next step: cd languages/perl6; make spectest_regression
18:29 speckbot joined #perl6
18:29 masak pim: after that, you can haz Perl 6!
18:30 pim Okay : thank you!
18:30 moritz_ (if you don't have libicu installed, you'll get a few more skips than me. Likewise for opengl)
18:31 pim I tried to install parrot (eg with argument confirm_install or something like) but it returned an error after some time, i post the error...
18:31 moritz_ pim: the folks on irc.perl.org #parrot will be much more interested in that than we are
18:32 moritz_ (although there's some intersection between the two channels)
18:34 pim Thank you for the information but i think it's probably a simple problem.
18:35 pim An just a line to post : src/parrot_debugger.c:147: r�f�rence ind�finie vers � Parrot_set_config_hash �
18:35 moritz_ try LC_ALL=C make confirm_install to get english error messages
18:36 pim i think it's a config problem
18:36 moritz_ there were some changes to the parrot debugger lately
18:36 moritz_ could you send a mail to parrotbug@parrotcode.org please?
18:36 pim r�f�rence ind�finie = undefined reference to
18:37 moritz_ (considering that I learned French for 11(!) years in school I  understand sadly little )
18:38 pim thanks you : effectively it's just when compiling the debugger i suppose.
18:39 justatheory joined #perl6
18:39 c1sung joined #perl6
18:39 agentzh joined #perl6
18:39 drbean joined #perl6
18:39 masak moritz_: suddenly, we succeeded in compiling our libraries down to PIR over here :)
18:39 masak the trick was to do it for all files except the main one
18:40 masak running time is halved!
18:40 pim Thank you to all of you for your informations. I'll tell you what's new.
18:41 moritz_ masak: cool ;)
18:41 moritz_ masak: did you also precompile modules (assuming you use some)?
18:41 masak which modules would that be?
18:42 masak I mean, we have a few .pm files that we wrote ourselves
18:42 masak it was those that we now precompiled to PIR
18:42 moritz_ yes, that's what I meant
18:42 masak hence the 50% speedup
18:48 pugs_svn r21971 | ruoso++ | [smop] YAY! We have code blocks working... with signature binding and all...
18:50 Squern joined #perl6
18:50 masak ruoso++
18:50 ruoso for those who are curious... test/21_code.m0ld is a good example on how code blocks are going to be initialized
18:53 xinming joined #perl6
18:54 pugs_svn r21972 | ruoso++ | [smop] default block signature is set when no signature is sent on code creation
19:01 ruoso bbl &
19:11 xwrn joined #perl6
19:11 pugs_svn r21973 | lwall++ | [STD etc.] squeezing out unnecessary calls to lazymap under ratchet
19:13 zamolxes joined #perl6
19:14 sahadev left #perl6
19:16 masak Juerd: ok, we have november running on the console on feather now
19:16 masak is there a SOP for setting up something using Apache on feather?
19:16 Juerd You have console access? Not even I have that :)
19:17 Juerd (I could, but it's disconnected)
19:17 Juerd See feather.perl6.nl
19:17 masak Juerd: I'm in ur console, haking ur feather :)
19:17 masak Juerd: ok
19:18 masak ah, so ~/public_html
19:19 Juerd ~/public_html is only for static content
19:19 masak ah, so not ~/public_html
19:19 Juerd Read on
19:19 * masak reads whole page before saying anything
19:20 Juerd Did you just say something? :)
19:21 masak Juerd: no, that was a CTCP action :)
19:21 Juerd Heh
19:24 masak I'll attempt the instructions under the first FAQ, then
19:28 masak Juerd: that seems to have worked -- no errors along the way
19:31 masak Juerd: what's supposed to be accessable after I've started apache? http://feather.perl6.nl/~masak/apache/test.cgi isn't.
19:35 jferrero joined #perl6
19:43 Juerd masak: See the port number in the config file
19:43 Juerd masak: http://feather.perl6.nl:port/
19:43 masak ah.
19:43 masak that was the part I missed
19:44 masak CGI works!
19:45 * masak dances some
19:45 smg how about fcgi?
19:48 masak well, that's it for today.
19:48 masak I'll try to hook in november some other day
19:55 drbean joined #perl6
19:56 pim_ joined #perl6
19:57 pim_ I tried to join parrot but nobody's there :0|
19:57 Auzon it's on irc.perl.org
19:57 pim_ Ok
19:57 pim_ left #perl6
20:04 zamolxes joined #perl6
20:06 justatheory joined #perl6
20:06 c1sung joined #perl6
20:06 agentzh joined #perl6
20:08 pmurias TimToady: re consider .() a macro so function call isn't postcircumfix:<( )> underneath?
20:10 TimToady sure, but semantically they both turn into APPLY, not a method call
20:11 pmurias what
20:12 pmurias 's the difference?
20:13 * pmurias hates when an accidently pressed difference forces him to ask a question prematurely
20:17 jhorwitz joined #perl6
20:21 pmurias TimToady: is there anything in the spec which rules out translating foo() into &foo.postcircumfix:<( )>? (found only the Method call vs Subroutine call)
20:32 pugs_svn r21974 | pmurias++ | [smop] removed a warn used for debugging the build system
20:33 cotto_w0rk joined #perl6
20:40 cjfields joined #perl6
20:42 wknight8111 joined #perl6
20:54 TimToady foo(42) doesn't turn into &foo.postcircumfix:<( )>, but into &foo.postcircumfix:<( )>(42), and then you have trouble
20:54 TimToady () has to be a special form
20:54 TimToady one of the few true primitive constructs
21:02 lambdabot joined #perl6
21:19 [particle]1 joined #perl6
21:31 zamolxes joined #perl6
21:41 larsen_ joined #perl6
21:58 [particle] joined #perl6
22:45 c1sung_ joined #perl6
22:47 Schwern joined #perl6
22:52 justatheory joined #perl6
22:55 IllvilJa left #perl6
22:56 agentzh joined #perl6
23:25 hercynium joined #perl6
23:45 Limbic_Region joined #perl6
23:56 aindilis joined #perl6

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

Perl 6 | Reference Documentation | Rakudo