Camelia, the Perl 6 bug

IRC log for #perl6, 2009-03-10

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 szabgab thanks
00:02 szabgab but wait, here TOP is a special word, isn't it ?
00:02 wayland76 Shouldn't be any more
00:03 wayland76 rakudo: grammar example { rule fred { ^ \d+ $ } }; say example.parse("12")
00:03 p6eval rakudo 95ce39: OUTPUT«The grammar has no TOP rule to invoke.␤current instr.: 'die' pc 16039 (src/builtins/control.pir:204)␤»
00:03 wayland76 ok, in rakudo it is, in the Spec, no longer
00:03 szabgab rakudo: grammar example { rule fred { ^ \d+ $ } }; say example.fred.parse("12")
00:03 p6eval rakudo 95ce39: OUTPUT«Null PMC access in get_integer()␤current instr.: 'parrot;PGE;Match;new' pc 75 (compilers/pge/PGE/Match.pir:75)␤»
00:15 orafu joined #perl6
00:22 armagad joined #perl6
00:28 japhb joined #perl6
00:44 PerlJam joined #perl6
00:49 eternaleye joined #perl6
00:54 pmichaud afaik, TOP is still "special" in a grammar.  If it's been taken out of the spec, then that's by accident.
00:54 pmichaud We still need some way to indicate the "default" rule for a grammar; I think TOP is it.
00:55 pmichaud The part that the spec was supposed to clarify was that matching against a grammar would be done with .parse instead of with ~~
00:55 TimToady because a grammar is a class, and ~~ class does isa
00:58 TimToady I suppose there's something to be said for just calling the first rule in the grammar
00:59 TimToady unclear how that works with derived grammars though
01:03 wayland76 Well, the word TOP doesn't appear in the specs any more
01:04 TimToady well, .parse can do whatever it likes, and can be overridden; in fact, in STD, it calls comp_unit rather than TOP, as it happens
01:08 frooh Hey all
01:08 frooh how can I make (with git?) and submit a patch
01:20 pmichaud I'm not entirely sure yet what the process is for creating a patch.
01:21 frooh pmichaud: it's really simple; like, three commits, 6 lines of code
01:21 frooh I can send you a pull request?
01:21 frooh or is that kindav a mess?
01:21 pmichaud it's a mess if the request involves a lot of separate commits.
01:21 frooh hrm
01:21 pmichaud where "a lot" == "more than one"
01:21 frooh right
01:21 frooh and this *is* three
01:22 pmichaud what we're really wanting to have happen is for people to do --squash to convert multiple commits into a single commit to facilitate review.
01:22 pmichaud but I'm not exactly sure how to do that.
01:22 frooh pmichaud: ok
01:22 pmichaud reading now.
01:22 frooh I'll figure out how to squash it into one commit
01:22 frooh you can do more important things :-)
01:25 viklund joined #perl6
01:26 diakopter joined #perl6
01:26 nihiliad joined #perl6
01:28 frooh_ joined #perl6
01:29 frooh_ so fyi
01:30 frooh_ doing git rebase -i (supposed to make it easy to squash) can't be easily done if you push your changes to any repo
01:33 frooh_ am I still here, or did I lose connection to freenode again?
01:33 wayland76 I think I am, therefore I may be :)
01:33 frooh_ apparently so
01:33 TimToady you sound here to me
01:33 frooh_ excellent
01:34 TimToady or there, as the case may be
01:34 TimToady I'm just quite because I don't "git" it yet
01:34 frooh_ close enough to me
01:34 frooh_ yeah
01:34 frooh_ me neither apparently
01:34 TimToady *quiet
01:34 frooh_ and I am the git admin at work :-)
01:34 frooh_ great
01:34 wayland76 Did you see the link that masak sent out about git?
01:34 wayland76 The one that explains about index?
01:35 frooh_ don't think so
01:35 frooh_ one sec
01:35 wayland76 (although, if you're the git admin, you probably know about index)
01:35 frooh_ I rarely read the list during the week
01:35 frooh_ wayland76: not really
01:35 frooh_ my team still uses svn
01:35 frooh_ so I can't get the nitty gritty stuff very often
01:35 wayland76 Google "git from the bottom up"
01:36 frooh_ I think I've read that
01:36 wayland76 That's the one masak said helped him understand git
01:36 wayland76 ok.  The one that helped me the most was http://tomayko.com/writings/the-thing-about-git
01:36 frooh_ I should read this, but I think git format-patch will get me going too
01:36 wayland76 But that was only after reading "git from the bottom up"
01:37 wayland76 good :)
01:37 frooh_ well, I understand the concepts of git
01:37 frooh_ and I know what I did wrong
01:37 frooh_ etc
01:37 frooh_ I just wish I had known not to do it first
01:38 frooh_ er
01:38 frooh_ rather
01:38 wayland76 oh :)
01:38 frooh_ I wish I knew how to fix it
01:38 frooh_ very funny
01:38 wayland76 "The thing about git" talks about that, but not in the way you want, I think
01:38 wayland76 (what's funny?)
01:38 frooh_ yeah, I noticed
01:38 frooh_ well
01:39 frooh_ that article says this:
01:39 frooh_ Git means never having to say, “you should have”
01:39 frooh_ and I said
01:39 frooh_ 20:37 < frooh_> I just wish I had known not to do it first
01:39 frooh_ so you know
01:39 frooh_ clearly I am wrong
01:39 wayland76 ok :)
01:39 wayland76 I see the funniness now :)
01:39 wayland76 I wonder what they'd say to that on #git?
01:40 Khisanth joined #perl6
01:43 frooh_ good question wayland76
01:43 frooh_ I'll find out
01:54 frooh_ got it
01:54 frooh_ so what exactly do I do with the patch?
01:59 wayland76 I presume you've read http://wiki.github.com/rakudo/​rakudo/steps-to-create-a-patch
01:59 frooh_ I did
01:59 wayland76 ...and that it's rakudo you're patching
01:59 frooh_ it actually only says how to make a branch
02:00 frooh_ ah, phone
02:00 wayland76 No, it tells you how to send the diff
02:00 wayland76 Unlike svn, et. al., you don't e-mail these things
02:00 agentzh joined #perl6
02:01 wayland76 oh, wait, you're right
02:01 frooh_ yeah, it's kinda weird
02:01 frooh_ ok, I have to take this call
02:01 wayland76 but I know the answer
02:01 frooh_ I plan on adding it to the wiki when I am done
02:01 wayland76 When I submitted a patch for masak the other day for november, he said 'commit, push and then do a "pull request" through the web interface.'
02:02 wayland76 So you commit back to your own fork in the repo (commit+push)
02:02 wayland76 and then you go to the web interface and do a "pull request"
02:02 wayland76 HTH
02:07 junzi joined #perl6
02:11 hercynium joined #perl6
02:17 diakopter here goes nuthin
02:18 frooh_ back
02:18 frooh_ well shucks
02:18 frooh_ since I modified history it won't let me push
02:18 alc joined #perl6
02:19 wayland76 ouch.
02:19 frooh_ I'll figure it ot
02:19 wayland76 Good :)
02:20 pugs_svn r25778 | diakopter++ | [ironperl] - initial checkin
02:20 pugs_svn r25778 | diakopter++ |     new/amateur experimental backend for STD/viv
02:20 pugs_svn r25778 | diakopter++ |     written in C# on the tycho VM on the Mono VM
02:20 pugs_svn r25778 | diakopter++ |     see v6/ironperl for details.  It currently
02:20 pugs_svn r25778 | diakopter++ |     doesn't build :D; watch this space for updates
02:21 frooh_ huttah!
02:25 frooh_ who should I send the pill request to?
02:25 frooh_ everyone?
02:25 frooh_ nm
02:25 frooh_ rakudo probably
02:26 wayland76 pmichaud I'd imagine
02:26 frooh_ he's not on the list
02:26 frooh_ so I suppose he is rakudo
02:26 wayland76 ok
02:27 wayland76 probably
02:28 pugs_svn r25779 | diakopter++ | [ironperl] modified v6/README; added AL2 license to IronPerl src
02:33 frooh_ btw
02:33 frooh_ HAPPY PURIM EVERYONE!
02:34 frooh_ not that that's exciting for many people
02:34 frooh_ but still :-)
02:34 wayland76 ...and boo to Haman :)
02:35 wayland76 Maybe for Purim we should make a poly-Esther Parrot build
02:35 frooh_ exactly
02:35 wayland76 (if you'll excuse the double pun :) )
02:35 frooh_ I dug it
02:35 TimToady I wonder if we could work out an imperial decree that all Perl people are allowed to kill their enemies on a certain day...
02:35 frooh_ doubtful
02:35 wayland76 only one drawback...
02:35 frooh_ we'd have to be attempted to be killed first
02:35 wayland76 ...Perl people don't have enemies
02:35 frooh_ probably by Java AND php people
02:35 TimToady trooh
02:36 diakopter TimToady: wouldn't that be mass suicide?
02:36 wayland76 oh yeah, forgot them
02:36 frooh_ and I think there are more of them
02:36 SamB what about #python?
02:36 frooh_ I didn't know they hated perl
02:36 SamB though nowadays those people might be the enemies of #twisted even ...
02:36 wayland76 Isn't the python motto "There's only one way to do it"?
02:36 SamB #python is in the toilet
02:37 frooh_ that's a good point
02:37 SamB wayland76: it's not true
02:37 frooh_ TOOTDI
02:37 kjwcode joined #perl6
02:37 frooh_ haha
02:37 wayland76 Seems I was misinformed
02:37 SamB but they don't usually create two ways to do exactly the same thing
02:37 frooh_ I thought they were like that too
02:37 SamB wayland76: I didn't say it wasn't a motto
02:38 SamB just that there IS more than one way to do it
02:38 diakopter "there's not always a better way to do it"
02:38 frooh_ There should be only one way to do it
02:38 frooh_ tsboowtdi
02:38 frooh_ ...
02:38 frooh_ weird
02:38 frooh_ Taz Booty?
02:38 SamB diakopter: too bad it's undecidable whether or not there is one!
02:38 wayland76 tish-booty?
02:38 wayland76 Hmm :)
02:38 frooh_ is tish a general term down ther?  or is it just a name like here?
02:39 frooh_ wait
02:39 frooh_ is tish a name?
02:39 frooh_ I am thinking trish
02:39 SamB it could be a shell for calculators ?
02:39 frooh_ nice!
02:39 frooh_ wait
02:39 frooh_ tish-booty?
02:39 frooh_ hmmm
02:39 wayland76 tish is the noise you get when someone goes "boom-tish"
02:39 SamB tish, I mean
02:39 wayland76 (as in, drum-roll)
02:39 diakopter SamB: :)
02:40 frooh_ SamB: I got it, I just think it doesn't go with booty
02:40 SamB oh, sure ;-)
02:40 frooh_ is that like, when you impress a girl with your calculator?
02:40 wayland76 which booty, though :)
02:40 frooh_ because I am pretty sure that never happens
02:40 frooh_ I've tried
02:40 diakopter SamB: I don't know, I thought it was undecidable whether or not it was undecidable.
02:40 wayland76 Actually, I read an article about a guy who impressed a girl with Excel :)
02:40 SamB frooh_: that's only because it can't play Ocarina of Time yet
02:41 frooh_ mmm
02:41 frooh_ indeed
02:42 wayland76 I'd kind of assumed that tish-booty would be a "friendly slap", or something like that
02:42 frooh_ I like that
02:42 frooh_ that works
02:42 * frooh_ goes to announce the news to #python
02:42 wayland76 (ie. "tish", a drum-like noise, "booty", slang for "body")
02:42 wayland76 :)
02:42 frooh_ (hah, not really)
02:43 SamB what news ?
02:43 wayland76 I was just about to go there and see what their response would be :)
02:43 SamB anyway, don't go in there
02:43 frooh_ that their slogan is now Tish Booty
02:43 diakopter I thought "tish" was nick for "Morticia [Adaams]"
02:43 frooh_ I won't
02:43 SamB I like Python okay, and I *still* don't want to go in there
02:43 frooh_ they'll make my indent all my code their way
02:43 frooh_ and that scares me
02:43 frooh_ plus: snakes
02:44 SamB the whole place just seems to reek of idiocy these days :-(
02:44 s1n wayland76: what was the reasoning for shortening real to re and imaginary to im?
02:44 TimToady and #perl is the pinnacle of enlightenment?
02:44 s1n i mean, what the hell does $number.im mean?
02:45 TimToady it's standard
02:45 SamB TimToady: I mean, compared to the #python I used to know
02:45 wayland76 s1n: See IRC backlog
02:45 s1n what day?
02:45 wayland76 Basically, it's the way maths people do it
02:45 wayland76 s1n: today
02:45 wayland76 I think
02:45 wayland76 I'll find it for you
02:45 SamB the community just fell to pieces at some point, I guess
02:45 TimToady I was about to suggest changing to .re and .im when they beat me to it :)
02:46 kjwcode Is it .real and .imag in Perl 6?
02:46 TimToady it's .re and .im like it is in a lot of other languages :)
02:46 wayland76 I remember when comp.lang.perl.misc started going downhill too
02:46 SamB all the cool kids just up and moved to other channels
02:46 s1n TimToady: perl6 isn't like a lot of other languages usually though :)
02:46 TimToady it is when they got the huffman coding right
02:47 * SamB is glad #haskell is still doing okay
02:47 wayland76 s1n: yesterday's log, apparently
02:47 TimToady like changing -> to . for instance
02:48 wayland76 The problem is, once it's popular enough that stupid people can use it, they do.  I mean, I'm the stupid people here, which is an unusual but pleasant experience for me :)
02:48 SamB hmm, where I am we use Re[] and Im[] ... I think
02:48 SamB (of course, that's my DSP class, not a programming language ...)
02:48 wayland76 s1n: Discussion at 21:43 yesterday
02:48 wayland76 search for "Complex"
02:50 frooh_ #perl on perl.org or whatever is pretty bad
02:50 frooh_ they never talk about perl
02:50 frooh_ and their topic says no questions
02:50 frooh_ it's awesome?
02:50 frooh_ we should do that
02:50 frooh_ just talk about python
02:50 frooh_ and no one can ask questions about anything related to perl6
02:50 TimToady python in intrinsically questionable
02:50 wayland76 No questions?  What's the point?
02:51 TimToady why do you ask?
02:51 frooh_ wayland76: I dunno...so we can be like perl on perl.org?
02:51 frooh_ haha, clever
02:51 TimToady you lose, we were playing the question game
02:53 TimToady you question authority, I just authorize questions
02:53 frooh_ yeah, I got it
02:54 TimToady speaking of R&G, I was the one who flipped heads ten times in a row when we were studying probablility in high school...
02:54 s1n eh, i don't really buy the reasoning (i prefer clarity over huffmanization), but then again what do i know
02:55 s1n TimToady: you should've bought a lotto ticket, at least you'd win your money back :)
02:55 frooh_ I agree with s1n in this case...huffman should be for often used things.  I think im is awesome, but I doubt I'll use it once in real code
02:55 TimToady if you do use it, you use it a lot
02:55 frooh_ well, I am sure you know better than I do
02:55 s1n i'd be willing to bet that more often than not people will mistake .re for a regex or something
02:55 TimToady if you don't, it's just a method on Complex
02:56 TimToady if you've got Complex declarations all over your code, I don't think so.
02:56 pugs_svn r25780 | diakopter++ | [ironperl] updated TODO
02:56 pugs_svn r25780 | diakopter++ |   - forking the source of the NPEG project, a PEG
02:56 pugs_svn r25780 | diakopter++ |     (Parsing Expression Grammar) builder that
02:56 pugs_svn r25780 | diakopter++ |     implements packrat parsing and allows defining
02:56 pugs_svn r25780 | diakopter++ |     a grammar incrementally, perhaps with callbacks.
02:56 pugs_svn r25780 | diakopter++ |     Might be useful for an RE-ish engine; we'll see.
02:56 TimToady especially when it says things like $x.re == 0
02:56 pugs_svn r25780 | diakopter++ |     NPEG is MIT-ish licensed.
02:56 frooh_ in other news, I just updated http://wiki.github.com/rakudo/​rakudo/steps-to-create-a-patch to actually include how to send the patch and how to make it a single commit
02:57 frooh_ the name needs to be changed, but I can't figure out how
02:57 wayland76 name of what?
02:57 frooh_ Steps To Create a Patch
02:57 wayland76 Ok
02:57 frooh_ it's not really ever a patch
02:57 s1n frooh_: oh thank god! someone finally put instructions to create a single commit!
02:58 wayland76 I know, but it's what people will be looking for :)
02:58 frooh_ s1n: welcome :-)
02:58 wayland76 oh, yeah, frooh_++ :)
02:58 frooh_ wayland76: that's true.  and I'm cool with that.  I'm just saying
02:58 s1n rebase -i, man i had wasted a week trying to maintain my fork
02:58 frooh_ s1n: if you've already done a push to your own repo it's kindav a big hassle, but can still be taken care of
02:59 s1n frooh_: so basically, anytime i want to update my fork to the master upstream, do i need to do the rebase?
02:59 frooh_ I should make a note of that
02:59 frooh_ uh
02:59 frooh_ well, that's kindav a hard question
02:59 frooh_ because it will pollute the single commit a lot
02:59 s1n frooh_: it's kinda something i want to do frequently
03:00 frooh_ sooh
03:00 frooh_ er
03:00 frooh_ sorry
03:00 s1n i want to say up to date without having commit access
03:00 frooh_ I'd say, update the fork
03:00 s1n frooh_: how?
03:00 frooh_ just don't merge into the brnach for whatever the feature
03:00 oskie joined #perl6
03:00 s1n hmm, not sure i followed, specific directions would be nice :)
03:00 frooh_ s1n: git pull origin (or whatever you named the rakudo origin)
03:00 frooh_ s1n: maybe I should add another page...
03:01 frooh_ I'll do that
03:01 aindilis joined #perl6
03:01 frooh_ I'll call it: "Frew's Recommended Workflow"
03:01 frooh_ and if it's good you can promote it to The
03:01 frooh_ :-)
03:01 s1n frooh_: yes, for those of us who want to do development but don't have commit access, it's nice to still be able to pick up upstream changes so i can get bugfixes and other highly useful things :)
03:02 frooh_ s1n: of course
03:02 s1n great because i basically had my commits ignored doing it the old way
03:03 s1n frooh_: can you put it on the rakudo page?
03:03 frooh_ uh, I was gonna put it in the github rakudo wiki
03:04 frooh_ I don't have a rakudo.org login yet
03:04 frooh_ can someone else just copy paste or link or something?
03:04 teban joined #perl6
03:04 wayland76 Did you rename it?
03:05 wayland76 What's the new link?
03:05 frooh_ wayland76: no, but I am making a new article now
03:05 frooh_ for a workflow
03:05 frooh_ well, it's not done
03:05 frooh_ I started like, 2 minutes ago
03:05 wayland76 Ok, I can add the link for that when it's useful (not done, but useful :) )
03:05 frooh_ haha, k
03:05 s1n frooh_: i can repost on the rakudo site if you want
03:05 frooh_ either is fine
03:05 frooh_ I'll let you know when it's done
03:06 pugs_svn r25781 | diakopter++ | [ironperl] adding C# command-line options library (styled/modeled from Getopt::Long)
03:06 * s1n desperate to know a good workflow so commits will be noticed
03:06 wayland76 But I'd advise you to sign up for a rakudo account, and ask alester for write access
03:06 frooh_ wayland76: sure, lemme finish this firs
03:06 wayland76 because we want rakudo.org to be the central clearing place
03:06 frooh_ s1n: I haven't been noticed, but I've only done one thing
03:06 wayland76 frooh_: sure, I mean over the next day or two
03:07 frooh_ no problem
03:07 SamB joined #perl6
03:08 s1n frooh_: i haven't been noticed and i've kinda been trying for almost a year :(
03:08 frooh_ s1n: that's discouraging
03:09 frooh_ for more than just you
03:10 s1n well, i'm determined... i mean i'm on year three of my master's and still have another year, so i definitely have patience
03:10 frooh_ hahaha, well, if you have the endurance for it I am sure you can pull it off
03:10 s1n i hope my determination to help doesn't run dry though
03:10 frooh_ I think that things are going to get easier for committing
03:11 s1n we'll see, i've been hearing that for a year :)
03:11 frooh_ a bunch of random people got added in the past couple days
03:11 frooh_ see the commit log in rakudo
03:11 frooh_ so I think it's going to happen more often
03:11 s1n those random people probably already had parrot access
03:11 frooh_ nope
03:11 s1n i read the RSS commit feed :)
03:11 frooh_ pmichaud did the commits
03:11 frooh_ then you should have seen it
03:11 teban left #perl6
03:11 frooh_ lemme find it
03:11 * s1n didn't see it...
03:12 frooh_ I could be wrong...
03:12 frooh_ it happens
03:12 wayland76 I'm interested in seeing too :)
03:12 frooh_ ah shucks
03:12 frooh_ that was just doc
03:13 s1n ah
03:13 frooh_ sorry
03:13 s1n yeah, pugs repo access is handed out like candy
03:13 s1n but rakudo is basically just people who already had parrot
03:13 frooh_ I know
03:14 frooh_ well, pmichaud said that it would be a lot easier to add stuff if they were squashed into one commit, as then he could easily review them
03:14 s1n i don't think i'd be any good at designing the language, just implementing it
03:14 s1n great, then that's how i'm doing to do things :)
03:14 frooh_ I don't know if I will be good at either
03:14 frooh_ but it can't hurt to try!
03:15 Jackk joined #perl6
03:16 wayland76 Well, I'm no good at designing the language, but I do it anyway :)
03:17 Jackk what language is perl6 coded in
03:17 wayland76 Perl6 is a spec, not a language
03:17 kjwcode Jackk: Depends on the implementation.
03:17 wayland76 people are writing 4 different implementations in 4 languages
03:18 wayland76 rakudo rides on parrot, and is a combo of PIR and perl6
03:18 wayland76 I think SMOP might be in C?  Anyone?
03:18 wayland76 pugs is in Haskell
03:18 kjwcode C or C++, IIRC.
03:19 wayland76 I forget what elf is in -- perl 6 again?
03:19 frooh_ yeah
03:19 kjwcode SMOP is in C, according to the wiki.
03:19 wayland76 And ironperl is in F# or something
03:19 wayland76 but ironperl is very new
03:19 diakopter elf is in Perl 6 on an alphabet of bootstrappers, ruby in the mix somewheres
03:19 wayland76 ok.
03:19 diakopter ironperl is C#, though F# libraries welcome too... it's barely in its infancy.
03:20 wayland76 does that answer your question, Jackk?
03:20 wayland76 And did you have a specific reason for wanting to know?
03:20 Jackk Just curious
03:20 Jackk and yes
03:21 Jackk I'm just surprised it's coded in more than one language
03:21 wayland76 oh, and there's an official parser/lexer implemented in Perl6
03:21 wayland76 rakudo, and maybe the others, will adopt the official parser/lexer as soon as they can
03:22 wayland76 Well, in many ways, there's more chance of success that way
03:22 s1n rakudo is a mix of many pieces, PIR, perl6, NQP, and some C
03:22 wayland76 s1n will be right -- ignore what I said about rakudo :)
03:22 s1n wayland76: will? i am currently, go look :)
03:23 wayland76 s1n: figure of speech :)
03:23 s1n wayland76: heh okay
03:23 pugs_svn r25782 | diakopter++ | [ironperl] updated TODO, again
03:24 s1n what's the saying, it takes a village to raise an idiot? no that's not it... it takes a hodge-podge of languages to create a new language? something like that
03:24 wayland76 I like the first one better :)
03:25 wayland76 But after Perl6 is done, it'll be more like "One language to rule them all..." :)
03:25 kjwcode wayland76: No language has pulled that off yet, and I don't expect it soon.  :)
03:26 s1n not a good idea, something was said like that for java and look how that worked out
03:26 kjwcode (And it's not for lack of trying, either.  Java, I'm looking at you!)
03:26 pugs_svn r25783 | diakopter++ | [ironperl] added a bunch of object extensions
03:26 SamB kjwcode: I thought it was more like "one JVM to run all languages"
03:26 frooh_ which is closer to true than any other attempts at it
03:26 kjwcode SamB: Practically, it's "write once, debug everywhere".
03:26 s1n SamB: that was the .Net vm
03:27 SamB s1n: well, yes, .NET was made that way intentionally -- but Java is sorta that way too ...
03:27 wayland76 s1n: Yeah, i was more thinking of for writing languages, though.  Perl6 combines the appropriate features of lex, yacc, and of course backend.
03:27 frooh_ perl first took a bunch of unix stuff
03:28 frooh_ now it's taking even more!
03:28 frooh_ (but more prettily :-)
03:28 kjwcode When it comes to writing language implementations, O'Caml is pretty sweet as well.
03:28 SamB ocaml would be sweeter if it weren't so damn ugly :-(
03:28 frooh_ but perl6 isn't for lang implementations.  Extensions of perl will be languages
03:28 frooh_ SamB: agreed
03:29 kjwcode Definitely, SamB.  I'm no good at O'Caml -- I just play with it occasionally.
03:29 * SamB isn't sure he likes the mutation either
03:29 s1n perl5 does one thing and does it well: process text and automate tasks
03:29 s1n hopefully perl6 will do much more :)
03:29 SamB I think most of the caml code I've seen was in Coq
03:30 kjwcode s1n: Perl 5 does a heck of a lot more than that.  For example, the BioPerl people would probably like a word with you.  ;)
03:30 s1n SamB: caml coq?
03:30 kjwcode s1n: It's about as appealing.  ;)
03:30 SamB that is, part of the Coq theorem prover
03:30 s1n kjwcode: i know about bioperl (i wrote the new mummer module), it's still mostly text processing :)
03:30 SamB s1n: I think it meens, er, Rooster or something ...
03:31 * frooh_ thinks that the most important part of computers is text
03:31 kjwcode s1n: Very true, but many problems can be reduced to text processing.
03:31 Tene_ joined #perl6
03:31 Jackk kjwcode: problem:  the moon is going to crash into the earth
03:31 Jackk apply the necessary text processing to solve
03:32 frooh_ Jackk: doubtful that any coding period will help :-)
03:32 s1n kjwcode: true, there are algorithms in bioperl, but it does plenty of website automation and a lot of format processing
03:32 SamB s1n: http://coq.inria.fr/V8.2/doc/html/faq.html#htoc4
03:32 kjwcode Jackk: My sister-in-law is a journalist.  I'm sure she could handle it.  ;)
03:32 wayland76 well, but it could be for lang impls.
03:33 wayland76 joined #perl6
03:33 s1n Jackk: i'd just do feed processing of the news event to determine when the proper time to &kissAssGoodbye;
03:35 s1n crickets...
03:35 frooh_ haha
03:36 frooh_ it's that what, every 20 minutes in a conversation that has the weird pause
03:36 frooh_ just happened to be after s1n said that :-)
03:36 wayland76 Well, I got a disconnect/reconnect
03:36 s1n simultaneously everyone decided to pick their nose and keep quite to make me the one feel like an idiot
03:36 frooh_ wayland76: see you soon?
03:37 frooh_ s1n: exactly
03:37 wayland76 no, I had one.
03:37 frooh_ had one what?
03:37 frooh_ ooh
03:37 wayland76 had a disconnect
03:37 frooh_ got it
03:37 frooh_ nevermind
03:37 wayland76 or maybe it was a network split
03:37 wayland76 :)
03:37 frooh_ yeah
03:37 * wayland76 backlogs ... :)
03:37 frooh_ it was just me and s1n in here
03:37 frooh_ it was weird
03:38 frooh_ everyone else got split onto some other network
03:38 * frooh_ displays his ignorance of how IRC works
03:38 s1n frooh_: normally there's a bunch of disconnects
03:38 frooh_ I disabled my join/part messages
03:39 s1n wayland was the only one to get dropped
03:39 frooh_ there were so many (especially in this channel) that it was impossible to page up and read everything
03:40 * frooh_ wonders if there may be a way to make a theme that would summarize that data in the timestamp or something
03:40 kjwcode frooh_: ircdiff?
03:41 frooh_ uhh, what/
03:41 * frooh_ googles
03:41 kjwcode Just a concept, not code.  :)
03:41 frooh_ oh
03:41 frooh_ well
03:41 frooh_ I was thinking that when someone speaks next it could put like, J10/P15
03:41 frooh_ or maybe just 10|15
03:42 frooh_ for 10 joins, 15 parts
03:42 kjwcode I was thinking of "+user1 +user2 -user3", and that made me think of a diff.
03:42 frooh_ so that if I said, "Hello?" and it said 0|50 I know something's happened
03:42 frooh_ that could be good too, but you'd have to have it at an interval or after messages or something
03:43 kjwcode An interval would be a good start.  I need to get XChat up and going again -- I've never gotten used to OS X IRC clients.
03:43 s1n pidgin colors the channel name according to the last (most important) action
03:44 s1n i.e. red when someone has talked since i looked, blue when my name was used, grey for part/joins, etc...
03:44 frooh_ s1n: I prefer irssi
03:44 frooh_ and pidgin for 1 on 1 chats
03:44 SamB s1n: sounds just like x-chat
03:44 wayland76 I'm using Konversation
03:44 s1n frooh_: i loathe the idea of having multiple programs for talking
03:44 wayland76 But I'm client-agnostic :)
03:45 frooh_ s1n: I used to, but I just really like having irssi in a screen session on the console
03:45 frooh_ it works surprisingly well for me
03:45 frooh_ but everything else is in pidgin
03:45 wayland76 Konversation happened to be already installed on my system, and not crash
03:45 frooh_ gmail, aim, yim
03:45 wayland76 I think I liked Xchat better, though :)
03:45 frooh_ I liked konv a lot
03:45 frooh_ it had pretty animations
03:45 frooh_ but I use pidgin at work
03:45 frooh_ so I might as well use it here
03:46 frooh_ s1n: was it you who is an emacs user, or was that skids?
03:46 kjwcode I'm waiting on a Fedora 10 install, so I'm about an hour from XChat.
03:47 s1n frooh_: i'm insulted you'd think of me as an emacs user
03:47 s1n my public image needs work :(
03:47 frooh_ s1n: your names both have s and i (kindav) in them!
03:47 frooh_ I'd never assume anyone was an emacs user
03:48 frooh_ because they are so rare
03:48 frooh_ well
03:48 frooh_ I put vi in the workflow guide for skids then
03:48 frooh_ but he's afk or something
03:48 frooh_ so oh well
03:48 * s1n needs no vi workflow help
03:49 s1n i spend 9 hours a day at work using it
03:49 frooh_ haha, do you use vim or just vi?
03:49 s1n vim
03:49 s1n the one and true editor :)
03:49 frooh_ any plugins I should know about?
03:50 s1n vim.org :)
03:50 * frooh_ does perl, js, and html work
03:50 s1n perlide is useful
03:50 frooh_ perlide?
03:50 frooh_ never heard of that one
03:50 frooh_ I tried out perl-support
03:50 s1n yeah, it's like a perl IDE
03:50 frooh_ but it hates windows
03:50 s1n i can't remember the name of the ctag browser i use
03:50 frooh_ dang, perl-support = perlide apparently
03:51 wayland76 thoughts on eclipse?
03:51 frooh_ great for java
03:52 frooh_ I couldn't use it for much else
03:52 frooh_ I tried it for c/c++
03:52 wayland76 (with the Perl plugins of course :) )
03:52 s1n taglist, that's the one, it's pretty alright, omnicppcomplete is okay
03:52 kjwcode I like Eclipse with the Perl plugins.  I'm in between IDEs right now, though.
03:52 wayland76 I think a parrot-ide would be cool -- works with any parrot-based language
03:52 frooh_ my roomie is using an eclipse deriv. at work for perl and it's not very good
03:52 frooh_ with EPIC
03:52 frooh_ wayland76: agreed
03:52 wayland76 I'm still using nano :)
03:53 frooh_ s1n: omni could use a little help
03:53 s1n wayland76: can you explain to me what the heck eclipse is?
03:53 frooh_ s1n: eclipse is the modern emacs :-)
03:53 wayland76 http://www.eclipse.org/
03:53 s1n frooh_: i don't usually use omni, it needs work like you said
03:53 kjwcode s1n: It's an IDE framework, more than an IDE.
03:53 s1n wayland76: i tried reading their site a dozen times and it doesn't say anything
03:53 frooh_ it's too vague
03:54 wayland76 It's an IDE written in Java (IIRC) that lets you use any language you want
03:54 s1n it's just meaningless management rambling about development
03:54 kjwcode But look at all the pretty pictures!
03:54 wayland76 ok :)
03:54 wayland76 Basically, it's an IDE.
03:54 frooh_ It's a java ide that wants to be an ide for other things
03:54 s1n wow, they have a convention!
03:54 s1n i'd rather just stick to vim :)
03:54 frooh_ yeah, you would
03:54 wayland76 The guy who said "Modern Emacs" should've said "Emacs, but with Java instead of Lisp, and a GUI" :)
03:54 s1n don't break what isn't broken, eclipse :)
03:54 kjwcode Yeah, there are a number of companies that make a fair amount of money making Eclipse-based IDEs.
03:54 frooh_ do you use surround?
03:54 frooh_ I use that every day
03:55 s1n i don't do much xml
03:55 wayland76 I'd like something that better integrates an editor and a shell
03:55 s1n i do mostly c/c++ at work
03:55 wayland76 And has better doco than emacs :)
03:55 frooh_ s1n: it's still good for adding parens and quotes and stuff
03:55 kjwcode wayland76: Komodo is pretty good for editor + shell.
03:55 frooh_ my roomie was using komodo, and it was alright
03:56 frooh_ no one seems to love it though
03:56 s1n i want a plugin that will auto-complete based on nearby ctags
03:56 kjwcode I don't know of a ctags plugin for Komodo.  There might be one listed on the plugin site, though.
03:56 frooh_ one day I want to figure out omnicomplete and make some good defaults for perl
03:57 frooh_ alright
03:57 frooh_ http://wiki.github.com/rakudo/ra​kudo/frews-recommended-workflow
03:57 frooh_ feel free to look through that and fix it up
03:57 s1n i want a plugin that will properly autogenerate doxygen comments for classes/functions for me to fill in
03:57 frooh_ I probaly forgot something
03:58 s1n frooh_: is it just outright not recommended to keep both remotes in sync (origin to upstream)?
03:58 kjwcode s1n: If I could get the level of support for Doxygen in an editor that NetBeans has for Javadoc, I'd be a happy cat.
03:58 frooh_ no, you can
03:58 frooh_ and do
03:58 s1n kjwcode: i fully agree
03:58 frooh_ I just think you should do it with a feature branch
03:58 s1n huh?
03:59 frooh_ well, you have your fork
03:59 frooh_ which is like your own rep
03:59 frooh_ o
03:59 frooh_ and then you have a branch per feature
03:59 frooh_ you merge the upstream stuff into your_repo/master
03:59 frooh_ so your master branch
03:59 frooh_ which you make new branches off of
04:00 s1n how do i keep my master and feature branch in sync?
04:00 s1n is that what the rebase -i does?
04:00 frooh_ well, theoretically the feature branch is so small that you don't have to
04:01 frooh_ well, yes, but I think you shouldonly make that freature branch a single commit sized bite so pmichaud can review it easily
04:01 frooh_ so do rebase -i rakudo_origin
04:01 s1n okay well, here's an example: i get time at the end of the week to work on it, but i may not have finished something in the feature branch
04:01 s1n that's a long time to go without updating
04:01 frooh_ that's true
04:01 frooh_ but I'd just check to see if they are working on the same thing
04:01 s1n i just want to make sure i have appropriate fixes for other things, but just want to squash my changes down to a single commit for pmichaud
04:02 frooh_ right
04:02 frooh_ well, are you woring on pir stuff?
04:02 s1n so do i do a rebase -i upstream?
04:02 frooh_ working*
04:02 frooh_ s1n: yes
04:02 s1n i have, how does that matter?
04:02 frooh_ well, for the setting stuff its easy to have things that aren't affected by other stuff
04:03 frooh_ but I presume the pir is a lot more tangly
04:03 frooh_ (because I have no idea about any of that :-)
04:03 s1n frooh_: well, PIR isn't hard, i have trouble with managing the repo
04:04 frooh_ I am not sure how that will change things
04:04 frooh_ I am just afraid to make anything hard at all for pmichaud
04:05 s1n akk i don't want to be the lab rat on this
04:05 frooh_ as that will make it harder to accept and review commits
04:05 frooh_ well
04:05 frooh_ I just did it
04:05 frooh_ but he didn't answer yet
04:05 s1n frooh_: i completely agree, the more difficult it is to review, the more likely they _dont_ review
04:06 wayland76 I suspect pmichaud is is Europe, which presumably means he's asleep now
04:06 s1n and some of the things i want to work on aren't just replacing the setting code
04:06 s1n nordic perl in oslo?
04:06 frooh_ s1n: right
04:06 frooh_ I'd just reccommend trying to keep features as atomic as possible
04:07 frooh_ but that's maybe not reasonable
04:07 s1n easier said than done when working on things other people are working on
04:07 s1n and what about doing multiple features?
04:07 frooh_ should be separate branches
04:07 frooh_ that's common git knowledge
04:07 s1n every little thing?
04:08 frooh_ well
04:08 frooh_ depends on thing
04:08 s1n that sounds like there needs to be _lots_ of reviewing going on
04:08 s1n which i'm guessing isn't happening
04:08 s1n if i want to do 2 features, they have to be distinct, otherwise i then have to manage that mess too
04:09 s1n unless you know a way to hang on to multiple features while waiting for review
04:09 frooh_ uhh
04:09 frooh_ well
04:09 frooh_ you could have feature 1
04:09 frooh_ and do my deal
04:09 frooh_ and have feature 2
04:09 frooh_ which is a branch of feature 1
04:09 s1n you branch the branch?
04:09 frooh_ but then you can't pull from upstream
04:09 s1n heh
04:09 frooh_ sure
04:09 s1n that doesn't seem helpful
04:09 frooh_ yo dawg
04:09 frooh_ well
04:10 frooh_ I am no expert in rakudo *or* git
04:10 s1n the squashing is highly useful, but branching constantly is going to be tough when the devs are reviewing patches frequently
04:10 frooh_ but no one had even mentioned how to do this stuff, so I figured I'd give it a shot
04:11 s1n frooh_: oh i did too, which is why i gre frustrated
04:11 frooh_ it shouldn't make it harder
04:11 frooh_ it should make it easier
04:11 frooh_ so pmichaud emails you and says change x in you patch
04:11 s1n s/are/arent/ sorry
04:11 frooh_ if you made it it's own branch you just git co feature
04:11 frooh_ and make your changes
04:11 frooh_ and your good
04:11 frooh_ go back to work on what you were doing
04:11 wayland76 my good what?
04:11 wayland76 :)
04:12 frooh_ you're*
04:12 frooh_ sorry
04:12 frooh_ it's late here
04:12 s1n well i wasn't getting that feedback, which indicates there was no review
04:12 wayland76 :)
04:12 frooh_ s1n: that's true
04:12 frooh_ and there should probably be something done about htat
04:12 s1n so if there's no review, git's model breaks down?
04:12 frooh_ no
04:12 frooh_ OSS model breaks down
04:13 s1n well hell
04:13 frooh_ branches don't require review
04:13 wayland76 Late tonight AU time, I'll try to remember to push the reviewing idea at pmichaud when he's up again
04:13 s1n wayland76: i'm meeting up with him on TR, i'm going to push it then too
04:13 frooh_ ok, well, I hope that article helps
04:13 wayland76 TR?
04:13 frooh_ feel free to link to it and whatnot
04:13 s1n frooh_: it does, thank you for helping
04:14 frooh_ I have to get to bed
04:14 s1n wayland76: thursday
04:14 wayland76 frooh_: Good starting point if nothing else
04:14 wayland76 s1n: Thanks :)
04:14 frooh_ no prob bob.
04:14 s1n frooh_: i've got some work on thursday, i'll try it out then
04:15 wayland76 'night
04:16 meppuru joined #perl6
04:19 wayland76 Updated http://www.rakudo.org/developers-guide to link to Frew's recommended workflow
04:21 frooh_ s1n: you still here?
04:21 frooh_ because I have an idea that I think will work
04:21 s1n frooh_: yes i am (working on thesis), what's up?
04:21 s1n do tell
04:21 frooh_ so the squash part
04:21 frooh_ you choose one first one and then squash the rest into it
04:21 frooh_ just choose not to squash in the merge
04:22 frooh_ so you can merge upstream stuff into your branches
04:22 frooh_ and even merge other branches in
04:22 frooh_ just don't squash those in when they are done
04:22 frooh_ so that it still just looks like one tiny commit to pmichaud
04:22 s1n i don't know enough about git to know how to do that, but it sounds alright
04:22 frooh_ well
04:22 frooh_ when you do git rebase -i <foo> it helps you with that
04:22 s1n that will keep the merges from other squashes out of the new squash?
04:23 frooh_ but I'll put more details on that when I am not dripping wet from the shower :-)
04:23 frooh_ yeah
04:23 frooh_ ok
04:23 frooh_ back into the shower
04:23 s1n eww okay, i'd like to see that
04:23 s1n err the write up
04:23 wayland76 I'm not so sure
04:23 wayland76 oh :)
04:23 * s1n should just stop typing now
04:25 wayland76 Well, it's probably less embarassing than some of the stuff on the Return of the King movie appendicies
04:25 s1n permission for a flyby?
04:26 wayland76 What's a flyby?
04:27 s1n uhh wow, backfired, lemme rephrase: what are you talking about in reference to the RotK?
04:30 wayland76 Well, some of the stuff in the interviews and stuff that are attached to the extended edition seems like it could be embarassing for the actors :)
04:31 s1n never seen it
04:31 s1n but i will say this
04:31 s1n Text::Sentence, Text::Autoformat, Text::ExtractWords all rock (as do many of the Lingua::EN packages)
04:32 s1n a godsend, save me countless hours of painstaking work
04:32 wayland76 I had something to do with Lingua::EN::Inflect at one point, I think
04:32 wayland76 Cool.  I'll investigate those :)
04:32 s1n conway's module? seems overly ambitious
04:33 s1n Lingua::Stem and Lingua::Syllable are highly useful too
04:33 wayland76 Not Conway's -- maybe something else then
04:33 s1n err Lingua::EN::Syllable
04:34 s1n Inflect is damian's
04:34 wayland76 I forget what it's called then :)
04:35 s1n though Inflect has some very useful features too
04:37 s1n i just wanted to mention that because #perl seems determined to not discuss anything perl :)
04:38 wayland76 I'm going to join #perl and see if it's as bad as people say :)
04:39 s1n wayland76: while you're there, ask a simple question too, something easy
04:39 wayland76 No thanks :)
04:39 araujo just don't mention perl6
04:39 wayland76 jerkface03 has just done that :)
04:39 araujo and you will be fine
04:39 frooh_ ok
04:40 frooh_ I added more details on what I mentioned before
04:40 frooh_ so s1n you should be able to pull as much as you want
04:41 frooh_ I couldn't test the merge part (the last snipppet) becasue I can't get wrapped up in this this late
04:41 wayland76 I just answered a simple question :)
04:41 frooh_ but I assure you I will be the guinne pick tomorrow
04:41 frooh_ er
04:41 frooh_ guinnee?
04:41 wayland76 guinea
04:41 frooh_ guinea
04:41 frooh_ yea
04:41 frooh_ that
04:42 frooh_ sorry
04:42 frooh_ it's late
04:42 frooh_ anyway, hope that helps
04:42 frooh_ I'll test it tomorrow
04:42 s1n wayland76: #perl on irc.perl.org?
04:42 frooh_ and hopefully all will be well
04:42 frooh_ now, goodnight for real!
04:42 wayland76 oh, no, freenode #perl
04:42 s1n frooh_: i greatly appreciate the help
04:44 wayland76 Ah, I see -- I tried the channel you recommended.
04:45 s1n i saw
04:45 wayland76 :)
04:45 s1n i dare you to ask when perl6 will be released, lol
04:45 wayland76 "Every step you take, I'll be watching you"
04:45 wayland76 No thanks.  I don't think my rep can handle it yet :)
04:48 s1n given your name is in the spec, i'm sure it'll be fine
04:50 wayland76 Well, I've got rep *here*, but I might need rep over there someday too :)
04:52 s1n ugh, it's late
04:52 s1n bed&
04:53 wayland76 'night :)
04:54 wayland76 karma fix; C and its OO successor are good, but not that good :) c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c--
04:54 NoirSoldats What about D?
04:55 wayland76 D doesn't have as good karma, so it doesn't need minusing :)
04:55 NoirSoldats D++ D++!
04:55 * NoirSoldats ducks.
04:56 wayland76 @karma D
04:56 lambdabot D has a karma of 2
04:56 wayland76 See
04:56 wayland76 @karma c/c
04:56 lambdabot c/c has a karma of 44
04:56 NoirSoldats Awww, I love lambdabot!
04:56 NoirSoldats lol
04:56 NoirSoldats wow
04:56 NoirSoldats @karma perl6
04:56 lambdabot perl6 has a karma of 3
04:56 NoirSoldats ROFLMAO
04:56 wayland76 And that's after all those minuses I gave it too
04:57 wayland76 It was 65 before :)
04:57 NoirSoldats Scary, from a perl channel..
04:57 NoirSoldats @karma perl
04:57 lambdabot perl has a karma of 1
04:57 wayland76 @karma haskell
04:57 lambdabot haskell has a karma of 49
04:57 NoirSoldats :(
04:57 NoirSoldats perl++ 'cause I <3 perl
04:57 NoirSoldats @karma php
04:57 lambdabot php has a karma of 0
04:57 NoirSoldats php--
04:57 wayland76 php-- :)
04:58 * NoirSoldats cheers!
04:58 wayland76 @karma php
04:58 lambdabot php has a karma of -2
04:58 NoirSoldats Atleast something is in the right.
04:58 wayland76 There's only one thing in favour of PHP
04:58 wayland76 It doesn't have 5 different competing templating systems :)
04:58 NoirSoldats Yes it does...
04:59 NoirSoldats But even worse, it has 500000 different competing frameworks.
04:59 wayland76 Well, in a way, but not at the lowest level :)
04:59 NoirSoldats Well, that's true.
04:59 wayland76 But thanks for restoring my perspective on templating :)
04:59 NoirSoldats *snickers*
05:00 NoirSoldats Apollo and Sheba kissed!
05:00 NoirSoldats *coughs* I now return you to your regularly scheduled perl6 chat..
05:00 wayland76 ?
05:01 wayland76 Is that a TV show?
05:01 NoirSoldats wayland76: Watching the last episode of the original BSG.
05:01 NoirSoldats Battlestar Galactica.
05:01 wayland76 I grew up without TV :)
05:01 wayland76 Oh, ok :)
05:02 wayland76 @slap NoirSoldats
05:02 * lambdabot secretly deletes NoirSoldats' source code
05:03 NoirSoldats They sure were boring in 1978, not a single sex scene (not even a fade to black) in the entire series!
05:03 wayland76 Sorry, just wanted to try that :)
05:03 NoirSoldats *wimpers*.
05:03 NoirSoldats Oh.. *rechecks out his source from the git repo*
05:03 NoirSoldats Only a total of about 5-7 kisses in the whole series too.
05:04 wayland76 Well, so put a modern film in your DVD player, and just switch back and forth whenever you want to see kissing :)
05:04 NoirSoldats *giggles* I have Dark Knight here.. don't think there' smuch fussy stuff in it either.
05:05 wayland76 @todo
05:05 lambdabot 0. SamB: A way to get multiple results from a google search
05:05 lambdabot 1. dons: improve formatting of @dict
05:05 lambdabot 2. dons: write Haskell Manifesto
05:05 lambdabot 3. lispy: don't let lambdabot's prettyprinter split the sequence @foo across lines
05:05 lambdabot 4. TheHunter: priviledged users should get priviledged listcommands.
05:05 lambdabot [29 @more lines]
05:06 wayland76 ?
05:06 NoirSoldats lol
05:07 wayland76 @girl19
05:07 lambdabot I'm in Moscow, Russia
05:07 wayland76 hi @girl19
05:07 wayland76 hi girl19
05:08 wayland76 Sorry, trying to get a response from the bot :)
05:08 NoirSoldats Talk to purl, she's cuter.
05:08 NoirSoldats And with more spunk.
05:08 wayland76 @palomar
05:08 lambdabot That's nuts!
05:08 wayland76 @palomer
05:08 lambdabot Blargh!
05:08 wayland76 @palomer
05:08 lambdabot They're telling you lies!
05:09 wayland76 Anyway... :)
05:12 wayland76 (parrot compiles aren't very exciting the 20th time through :) )
05:15 finanalyst joined #perl6
05:21 sri_kraih_ joined #perl6
05:27 pidus joined #perl6
05:39 alc joined #perl6
05:45 * diakopter stares at the scrollback
05:47 kate21de joined #perl6
05:51 wayland76 well, admittedly, it is kinda amazing :)
06:17 kate21de joined #perl6
06:34 zamolxes joined #perl6
06:47 |jedai| joined #perl6
07:04 kate21de joined #perl6
07:08 pmurias joined #perl6
07:14 moritz_ good morning
07:16 Psyche^ joined #perl6
07:16 PZt joined #perl6
07:19 pmurias moritz_: good morning
07:28 pugs_svn r25784 | moritz++ | [v6/README] link to tycho
07:31 jferrero joined #perl6
07:34 wayland76 joined #perl6
07:36 diakopter pmurias: hi
07:36 diakopter moritz_: howdy
07:38 * moritz_ tries to build mono to be able to build ironperl
07:38 diakopter heh; see my commit note; it doesn't build currently... lots of work-in-progress
07:38 diakopter though if you comment out a bunch of stuff, it builds :P
07:39 moritz_ I need mono and mcs from svn, right?
07:39 diakopter I heartily recommend it, yes
07:39 diakopter 2.4 will soon be released
07:39 diakopter and when it is, 2.4 will be good enough for a long while
07:39 diakopter in fact, there might be a 2.4 branch...
07:40 moritz_ but it will also take a long while until there are debian packages for it
07:40 moritz_ so I can just as webuild it from souce
07:40 diakopter right.. one of the TODO is to create a --gen-mono option (like rakudo's --gen-parrot)
07:41 * diakopter hacks in command-line options and stdin slurping
07:44 pmurias diakopter: hi
07:45 diakopter It's cool how fast gmcs (mono) compiles to bytecode (CIL).... it's speedy.  for lots of files, too.  in a vmware vm. on a notebook.
07:45 diakopter like, less than 2 seconds to entirely rebuild
07:45 diakopter all of tycho and everything
07:46 moritz_ it's a bit frustrating here
07:46 diakopter building mono?
07:46 moritz_ I've svn co'd mono and mcs
07:46 diakopter oh, I should've mentioned
07:46 diakopter you don't want everything
07:46 moritz_ and mcs tells me "look in mono's INSTALL file"
07:46 diakopter you don't want mcs
07:46 moritz_ and in mono there's no INSTALL file
07:46 diakopter sec
07:46 moritz_ I don't?
07:47 diakopter http://www.mono-project.co​m/Compiling_Mono_From_SVN
07:47 diakopter oh, ok
07:48 moritz_ so what do I compiler ironperl with, if not with mcs?
07:48 diakopter gmcs
07:48 diakopter g(enerics)mcs
07:49 diakopter which is in that mcs dir, I'm sure
07:49 diakopter see I wrongly checked out all of trunk
07:49 diakopter b/c I hadn't found that url above yet
07:50 diakopter and built way too much stuff
07:50 diakopter so I don't know what came from where :)
07:50 moritz_ do I have to check out the mcs tree below mono?
07:50 moritz_ it doesn't look like from the docs, but ./autogen.sh doesn't compile mcs if I check them out into the same dir
07:51 diakopter you mean below trunk?
07:51 diakopter oh, no, sibling
07:51 diakopter definitely not same dir
07:52 diakopter there are tons of dirs under trunk
07:52 moritz_ that's wrong on the web page then
07:52 diakopter they're not independent, but I don't think they can coexist in the same dir...
07:52 moritz_ I mean I checked them out to ~/tmp/mono and ~/tmp/mcs
07:52 pmurias diakopter: why do you depend on svn mono?
07:53 moritz_ and went to ~/tmp/mono and did a ./autogen.sh there
07:53 moritz_ and that didn't seem to build mcs
07:53 diakopter oh
07:53 moritz_ which is why I thought maybe mcs should go to ~/tmp/mono/mcs instead
07:53 moritz_ I'm trying that now
07:54 diakopter no, I think the problem is you don't have a 2.2 mono installed already
07:54 diakopter since it uses gmcs to build mono/gmcs
07:54 moritz_ so ~/tmp/mono/ and ~/tmp/mcs/ *are* right?
07:54 diakopter I'd go with the webpage, yes
07:55 moritz_ I do have a system gmcs installed
07:55 diakopter pmurias: I think b/c 2.4 has C# string eval
07:55 diakopter moritz_: oh, good
07:55 moritz_ it's just not that fresh
07:55 moritz_ ii  mono-gmcs      1.9.1+dfsg-6   Mono C# 2.0 and C# 3.0 compiler for CLI 2.0
07:56 diakopter ah
07:56 pmurias ruoso: i'm doing the capture refactoring now
07:59 moritz_ it feels *so* weird to compile to .dlls on linux :/
07:59 aindilis` joined #perl6
08:00 diakopter you can actually add the PE bin format with a kernel extension so they're "executable" without invoking mono first
08:00 diakopter .exe I mean
08:00 diakopter well, it doesn't need .exe even
08:09 diakopter so, --gen-mono can do: ironperldir=`pwd`; mkdir bin ; mkdir monosrc ; cd monosrc ; (foreach mono, gmcs, I don't think gtklib is needed?? maybe it is): svn co ... ; cd mono ; ./autogen.sh --prefix=$ironperldir/bin ; make ; make install ;
08:11 moritz_ so mono build fails
08:11 moritz_ MCS     [default] convert.exe
08:11 moritz_ Cannot open assembly '../../mcs/class/lib/default/mcs.exe': No such file or directory.
08:11 diakopter hm, I guess it wants mcs dir built first?
08:12 moritz_ I thought ./autogen.sh takes care of that?
08:12 diakopter though, I thought that bootstrapping binaries were included in the svn co
08:12 diakopter well, bytecodearies
08:12 diakopter obviously it's not finding your mcs dir...
08:12 diakopter or not looking for it anymore
08:12 diakopter who knows.
08:13 moritz_ anyway, I've gotta run, maybe I'll try again later today
08:13 diakopter either way, sounds like something to report to #mono on gimpnet
08:13 ujwalic joined #perl6
08:15 pugs_svn r25785 | pmurias++ | [smop] native capture .positional(0) treats the invocant as a positional
08:17 pmurias diakopter: i looked a bit at ironperl/Tycho and i'm not sure it
08:18 diakopter not sure it...?
08:18 pmurias 's a good idea to modify them rather then writing the Perl 6 runtime from scratch
08:18 diakopter why might it be better to start from scratch?
08:19 pmurias the have a vasty different iterface for a start
08:20 diakopter they=what?  There is a lot that I kept in those dirs that won't be used directly. Mostly the Tycho.Runtime namespace is what will be useful.
08:21 diakopter which interface do you mean?
08:23 pmurias they have a different method set from their Perl 6 counterparts
08:23 pmurias and the stuff in Tycho/Runtime seems to consist of rather thin wrappers
08:24 diakopter an example of a method set that's different?  I'm not doubting what you're saying; I just want to know the specifics.
08:28 pmurias compare Hash with DictionaryObject the methods are named differently, Hash has a lot more and postcircumfix:<{ }> returns a bvalue
08:30 pmurias and the actuall work seems to be done by Dictionary
08:30 diakopter I guess I'm not seeing the disadvantages here... to me it sounds like you're saying "it hasn't already implemented Perl 6, so it would be easier not to use it"...?
08:32 diakopter the wrappers are there to provide the contextual conversions
08:33 pmurias the wrappers don't seem to be any closer to Perl 6 than the things they wrap
08:34 diakopter pmurias: it's b/c the objects have to extend AnyObject
08:34 diakopter for all the auto-casting to work elegantly
08:34 diakopter afaict
08:34 diakopter (I suspect)
08:35 pmurias does tycho use C#'s method dispatch or use it's own?
08:35 Kimtaro joined #perl6
08:36 DemoFreak joined #perl6
08:36 diakopter depends on what binds to what.  for operations that it detects can be "native", it downcasts to the underlying native types
08:36 pidus joined #perl6
08:36 diakopter which then of course don't need to pass through the custom dispatcher
08:37 diakopter the custom dispatcher at the language level is part of Tycho.Language, I think, so I won't be using it
08:37 diakopter (we'll have to write it)
08:37 pmurias like using AnyObject.foo instead of AnyObject.InvokeMethod(..."foo"...) if AnyObject has a foo method
08:38 diakopter right, for the Tycho.Native types (mostly numerics and strings), when it compiles to bytecode it compiles to the native C# operations.  but yes for anything that's not built into C# primitives or Tycho.Native, it uses InvokeMethod and kin
08:41 pmurias re "would it be easier not to use it" - you will have to rewrite all of it, and you will just end up inheriting a lot of (potentially strange) design decisions from Tycho
08:44 diakopter okay, and I don't see a problem with having to rewrite [all/much of] it.  I think it's a great basis from which to start.  I've studied the constraints and barriers in the system, and I don't see any that might be a hindrance (a potentially strange/inappropriate design decision).
08:45 ejs joined #perl6
08:45 masak joined #perl6
08:50 diakopter Besides, I'm going to be essentially doing code-generation from mildew/STD->tychoAPI, so why do the method names need to match?  such substitutions are just part of the mapping/translation.
08:52 pmurias we have $foo."$bar"
08:52 masak good morning, Perl 6 world!
08:52 lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
08:52 masak ooh!
08:52 masak @messages
08:52 lambdabot wayland76 said 10h 55m 21s ago: in regards to CPAN6, see http://cpan6.org/ and S22 :)
08:52 masak wayland76: I know about both. why do you want me to look at them now?
08:55 diakopter pmurias: what do you mean?
08:55 diakopter (what about $foo."$bar"
08:55 diakopter )
08:56 moritz_ if you have different names in your backend, you need to keep the translation tables around at run time
08:56 moritz_ because users can generate method calls at run timie
08:57 diakopter erm
08:57 Matt-W Morning
08:57 masak Matt-W: hiya.
08:58 wayland76 masak: I forget now :).  It was something from the backlog, I think.  I think the point was, the CPAN6 guy things CPAN6 will replace CPAN
08:58 diakopter erm; this is a compiler for a runtime. none of this corresponds at all to the Perl 6 object/system model
08:58 masak wayland76: with all due respect to that guy, until there's something I can push to, I don't feel it affects me much.
08:58 wayland76 Does anyone know how I revert my git changes?
08:58 wayland76 masak: Agreed :)
08:59 masak wayland76: yes. you already committed?
08:59 moritz_ wayland76: did you push them yet to anywhere?
08:59 wayland76 No, I made changes, but then found better changes attached to a ticket
08:59 diakopter I'm very confused why both moritz and pmurias are saying that Tycho is a bad choice for a VM since it doesn't already implement Perl 6.  The author of Tycho couldn't have cared less about Perl or Perl 6, let alone knew about Perl 6... What's wrong with building on top of someone else's VM?
08:59 masak wayland76: git checkout
08:59 wayland76 So I want to get rid of mine, and then patch from diffs
08:59 moritz_ non-commite changes can be reverted with 'git-checkout .'
08:59 wayland76 ok, I'll try it
09:00 moritz_ diakopter: I never said that Tycho was a bad choice, I don't know enough about it to judge it.
09:00 wayland76 Ah, with -f.  Thanks
09:00 moritz_ diakopter: and maybe I completely umisunderstood your and pmurias' point abotu names
09:00 diakopter that's like saying b/c Parrot's method names for its PMCs don't correspond to Perl 6's method names.
09:01 diakopter I mean, so what?
09:01 diakopter it's a VM
09:01 diakopter of course there is translation
09:01 diakopter if it does the compilation well, then there is less lookup.
09:01 diakopter if not, so what?
09:02 Matt-W Depends how fast the lookups are
09:02 Matt-W you don't want to lock yourself out of performance right from the start
09:03 moritz_ diakopter: I think the point was mostly that Tycho is an indirection layer on top of the vm, and that you'll need another one (lookups) to get the names right...
09:03 pmurias it's more of a premature optimalisation sort of thing as all you need is InvokeMethod
09:04 diakopter I'm sure I'm being overly defensive, and perhaps you mean well in our advice, but I think it's somewhat presumptuous to prophesy failure just because there is a virtual machine (or two, or eight, or a googol).
09:04 moritz_ diakopter: and that in an ideal world the layer on top (which is now Tycho) could be replaced by something that gets the names "right" from the start
09:04 moritz_ but I don't think it's really necessary
09:05 diakopter of course, I did already state above (I thought several times) that I wasn't going to use a lot of what I committed.
09:06 moritz_ anyway, please don't be discouraged by our critique, we're just trying to be helpful, in our own way
09:06 ejs1 joined #perl6
09:07 diakopter I am not discouraged in the least; I'm trying very hard not to take offense.
09:12 diakopter Matt-W: that kind of statement "you don't want to lock yourself out of performance right from the start"... has no qualifications.  Without any specifics of magnitude or even how to measure it, that statement is totally unhelpful, because someone could spend forever trying to optimize the system from the start (horribly prematurely).  Prototyping language implementations is not about writing the optimized version.  Most of the academic papers I've read o
09:13 diakopter At no time (EVER!) did I claim that I was writing THE Perl 6 runtime, as pmurias put it above ("... writing the Perl runtime ...").  I was very careful to state in my commit message that this is an experimental, AMATEURISH attempt.
09:13 masak diakopter: your message was cut off at "I've read o".
09:13 diakopter Most of the academic papers I've read on language implementations started out the prototyping on a (slower) higher level language because it was much faster to implement, to see how it goes.
09:13 wayland76 Matt-W: He won't lock himself out, he just might have to write a few things to replace other things
09:20 diakopter left #perl6
09:24 pmurias brb
09:24 drbean_ joined #perl6
09:27 masak rakudo: my $a = "ABC"; $a R~= "DEF"; say $a
09:27 p6eval rakudo 95ce39: OUTPUT«ABC␤»
09:27 masak :/
09:29 bacek good evening
09:29 masak bacek: privet.
09:29 Matt-W hi bacek
09:31 * bacek backlogged about Tycho.
09:32 ejs2 joined #perl6
09:32 bacek Guys, I modern VM you can write as many levels of abstractions as you can. It really doesn't matter. All of them will be optimised out.
09:33 * masak once again writes loop { ... } while $cond
09:33 bacek Even JVM will replace stupid enclosed "for"s with hash or merge joins.
09:33 masak argh! why doesn't the compiler stop me from being stupid?
09:33 wayland76 Too big a task :)
09:34 wayland76 (almost as big as stopping me from being stupid :) )
09:34 masak wayland76: in this particular case, though... there's really no reason, _ever_, to write that.
09:34 bacek To stop being stupid someone have to write compiler which understand stupidity... It's almost impossible.
09:34 masak and when I do, I'm surprised it doesn't do what I want.
09:34 masak bacek: but in this particular case.
09:35 bacek masak: even in this one :)
09:35 masak I'd at least like a warning.
09:35 masak bacek: no, it's really, really easy.
09:35 masak just detect whether the 'loop' construct has a 'while' or 'until'.
09:35 masak because they won't ever do what the programmer means.
09:36 wayland76 which compiler are we talking about here?  Rakudo?
09:36 masak wayland76: for example, yes.
09:36 masak I don't know any compiler that warns about this.
09:37 wayland76 Address it to TimToady :)
09:37 * bacek wishes to have telepathic compiler...
09:37 masak wayland76: well, it's not necessarily a spec thing.
09:38 masak wayland76: it's just a service an individual compiler could do the user.
09:38 masak 'You wrote loop { ... } while ... -- did you mean repeat { ... } while ... ?'
09:38 wayland76 Wouldn't it be in STD?
09:38 masak "Cuz the latter one ACTUALLY CHECKS the condition.'
09:39 masak wayland76: I guess it could.
09:39 wayland76 loop { ... } while (condition) { somethingelse }
09:39 wayland76 ?
09:39 masak wayland76: lose the paren. no, just loop { ... } while $condition.
09:39 wayland76 And doesn't TimToady control STD? :)
09:39 masak wayland76: I'm not saying STD necessarily has to check for this.
09:39 masak but I think compilers could, as a service.
09:39 masak oh well.
09:40 moritz_ but if it does, all other compilers will eventually :-)
09:40 wayland76 bacek: Why stop at a telepathic compiler.  I'd like a telepathic editor
09:40 Matt-W I thought loop {} while $cond was illegal
09:40 bacek wayland76: why bother with editing code???
09:40 wayland76 With a telepathic display, so I can carry it in my pocket, and work on it while I'm driving :)
09:41 moritz_ std: loop { ... } while 1
09:41 p6eval std 25785: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/RQH24JJprc line 0:␤------> [32m[31m[0m␤    expecting any of:␤    infix or meta-infix␤      infix stopper␤    parameterized block␤      standard stopper␤FAILED 00:02 34m␤»
09:41 wayland76 bacek: Well, but then we'd all be out of a job :)
09:41 masak rakudo: loop { ... } while 1
09:41 p6eval rakudo 95ce39: OUTPUT«No exception handler and no message␤current instr.: 'return' pc 15706 (src/builtins/control.pir:39)␤»
09:41 masak eh?
09:41 masak rakudo: loop { ... } while 1; say "Alive"
09:41 bacek wayland76: it depends what kind of mind do you have :)
09:41 p6eval rakudo 95ce39: OUTPUT«No exception handler and no message␤current instr.: 'return' pc 15706 (src/builtins/control.pir:39)␤»
09:41 masak surely that's a bug?
09:42 Matt-W masak: looks like rakudo got confused
09:43 wayland76 rakudo: loop { say "hi"; $count++; } while $wayland < 10;
09:43 p6eval rakudo 95ce39: OUTPUT«Scope not found for PAST::Var '$count' in ␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤»
09:43 wayland76 rakudo: my($count);loop { say "hi"; $count++; } while $wayland < 10;
09:43 p6eval rakudo 95ce39: OUTPUT«Scope not found for PAST::Var '$wayland' in ␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤»
09:43 masak (duh)
09:43 wayland76 rakudo: my($count);loop { say "hi"; $count++; } while $count < 10;
09:43 moritz_ my($count) is a sub call.
09:44 wayland76 rakudo: my $count ;loop { say "hi"; $count++; } while $count < 10;
09:44 moritz_ (or at least it should be)
09:44 wayland76 thanks :)
09:44 masak moritz_: yet it didn't complain.
09:44 wayland76 It didn't respond in any way
09:44 wayland76 @slap rakudo
09:44 * lambdabot places her fist firmly on rakudo's jaw
09:44 masak wayland76: it's looping.
09:44 masak wayland76: see why I think this is bad?
09:44 bacek std:  my $count ;loop { say "hi"; $count++; } while $count < 10;
09:45 p6eval joined #perl6
09:45 wayland76 rakudo: my $count ;loop { say "hi"; $count++; $count > 10 and last; } while $count < 10;
09:45 p6eval rakudo 95ce39: OUTPUT«hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤Could not find non-existent sub while␤current instr.: '_block14' pc 137 (EVAL_18:68)␤»
09:45 wayland76 masak: Of course :)
09:45 bacek std:  my $count ;loop { say "hi"; $count++; } while $count < 10;
09:45 p6eval std 25785: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/A8YlGqSy7h line 1:␤------> [32m say "hi"; $count++; } while $count < 10[31m;[0m␤    expecting any of:␤   parameterized block␤      standard stopper␤ terminator␤       whitespace␤FAILED 00:04 35m␤»
09:46 wayland76 @karma $count
09:46 lambdabot $count has a karma of 0
09:46 bacek std:  my $count; loop { say "hi"; $count++; } while $count < 10;
09:46 wayland76 @karma count
09:46 lambdabot count has a karma of 0
09:46 p6eval std 25785: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/HGNsCdZDaS line 1:␤------> [32m say "hi"; $count++; } while $count < 10[31m;[0m␤    expecting any of:␤   parameterized block␤      standard stopper␤ terminator␤       whitespace␤FAILED 00:04 35m␤»
09:46 wayland76 good :)
09:46 * masak feels that something ought to be submitted to rakudobug here
09:47 masak I just don't know exactly what.
09:47 wayland76 Well, we could be looping 10 times to put a delay in, so it won't run to fast :)
09:47 bacek looks like "loop { } while" isn't legal syntax :)
09:47 Matt-W looks like it is
09:47 Matt-W it just thinks 'while' is a new statement
09:47 masak Matt-W: no.
09:47 wayland76 std: my $count ;loop { say "hi"; $count++; $count > 10 and last; } while $count < 10;
09:47 p6eval std 25785: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/i058fwol2d line 1:␤------> [32mcount > 10 and last; } while $count < 10[31m;[0m␤    expecting any of:␤   parameterized block␤      standard stopper␤ terminator␤       whitespace␤FAILED 00:04 35m␤»
09:47 masak Matt-W: it interprets the 'while' as a statement modifier.
09:48 bacek masak: it tries to.
09:48 wayland76 rakudo doesn't catch it, but std does
09:48 wayland76 so when rakudo adopts std, this problem will go away :)
09:48 masak bacek: Rakudo doesn't just try to, it succeeds (and loops infinitely as a consequence)
09:48 Matt-W masak: but loopy statement modifiers on loop { } are completely useless, so it needs to be smarter about that?
09:48 masak wayland76: if I thought like that, not many bugs would be submitted. :P
09:49 masak Matt-W: yes, definitely.
09:49 masak Matt-W: that's what we're talking about, that Rakudo does this wrong.
09:49 masak for one thing, it doesn't adhere to STD on this point.
09:50 masak maybe that's actually the bug.
09:50 Matt-W deviation from STD is usually a bug, isn't it?
09:50 masak Matt-W: aye
09:50 masak rakudo: loop { say "OH HAI"; last } while 1
09:50 p6eval rakudo 95ce39: OUTPUT«OH HAI␤Could not find non-existent sub while␤current instr.: '_block14' pc 119 (EVAL_17:63)␤»
09:51 masak WTF?
09:51 masak moritz_: why does it do that?
09:52 moritz_ I thinks that the statemetn is ended after the }
09:52 Matt-W that's what made me think it wasn't seeing a statement modifier
09:52 Matt-W because it's clearly going hunting for a sub called while
09:52 moritz_ then tries to parse the while as a loop
09:52 moritz_ fails
09:52 moritz_ then parses it as a sub call
09:52 masak moritz_: that's just wrong.
09:52 wayland76 rakudo: loop { say "OH HAI"; last } while 1 == 1;
09:52 moritz_ it is.
09:52 p6eval rakudo 95ce39: OUTPUT«OH HAI␤Could not find non-existent sub while␤current instr.: '_block14' pc 137 (EVAL_17:67)␤»
09:52 mberends joined #perl6
09:52 * masak submits rakudobug
09:53 wayland76 rakudo: loop { say "OH HAI"; last } while my $count < 10;
09:53 moritz_ rakudo: loop { say "OH HAI"; last } while 0 { say "in while" }
09:53 p6eval rakudo 95ce39: OUTPUT«Redeclaration of variable $count␤OH HAI␤Lexical '$count' not found␤current instr.: '_block14' pc 110 (EVAL_18:61)␤»
09:53 p6eval rakudo 95ce39: OUTPUT«OH HAI␤»
09:53 moritz_ there you go
09:53 masak moritz_: thanks
09:53 moritz_ it treats like there was a ; after the }
09:53 moritz_ rakudo: loop { say "OH HAI"; last } while 1 { say "in while"; last }
09:53 p6eval rakudo 95ce39: OUTPUT«OH HAI␤in while␤»
09:55 moritz_ how sick must I be to know in which way Rakudo mis-parsed some input? *g*
09:55 moritz_ (without looking at the parse tree, that is)
09:55 wayland76 @karma-all
09:55 lambdabot "moritz"              418
09:55 lambdabot "pmichaud"            292
09:55 lambdabot "lwall"               222
09:55 lambdabot "pmurias"             216
09:55 lambdabot "azawawi"             124
09:55 lambdabot [937 @more lines]
09:55 wayland76 There's your sickness rating :)
09:56 moritz_ thanks :-)
09:56 moritz_ @karma TimToady
09:56 lambdabot TimToady has a karma of 20
09:56 moritz_ @karma moritz_
09:56 lambdabot You have a karma of 34
09:58 wayland76 @karma larry
09:58 lambdabot larry has a karma of 26
09:58 wayland76 The only one in the top 10 whose karma is out of place is jonathan, I think
09:59 wayland76 @karma c/c haskell perl perl6 php
09:59 lambdabot c/c has a karma of 44
09:59 wayland76 @karma haskell perl perl6 php
09:59 lambdabot haskell has a karma of 49
09:59 moritz_ @karma jnthn
09:59 lambdabot jnthn has a karma of 74
09:59 wayland76 @karma perl perl6 php
09:59 lambdabot perl has a karma of 2
09:59 wayland76 @karma perl6 php
09:59 lambdabot perl6 has a karma of 3
09:59 moritz_ @karma jonathan
09:59 lambdabot jonathan has a karma of 65
09:59 wayland76 @karma php
09:59 lambdabot php has a karma of -2
09:59 wayland76 perl6++ :)
10:02 bacek @karma bacek
10:02 lambdabot You have a karma of 35
10:03 bacek I have to check karma on #parrot
10:05 krunen joined #perl6
10:10 bacek moritz_: (about karma :) can you review http://nopaste.snit.ch/15832?
10:17 moritz_ bacek: it looks fine to me...
10:17 moritz_ could you submit it to rt?
10:17 moritz_ I'm kinda busy right now :(
10:17 bacek moritz_: easy
10:18 bacek lemme few seconds to squash all commits.
10:24 wayland76 joined #perl6
10:26 pugs_svn r25786 | masak++ | [u4x/TODO] s/word/ww/
10:34 masak did someone reply to poor Stephen Schoenberger who seems to think that p6l is a forum for Perl 5 questions?
10:35 wayland76 I did
10:35 moritz_ good
10:35 masak wayland76++
10:35 wayland76 Told him to go elsewhere, and answered his question :)
10:35 wayland76 (but more politely :) )
10:35 wayland76 Is there a good forum for basic perl5 questions?
10:36 moritz_ perlmonks.org
10:36 masak #perl on this server.
10:36 wayland76 Ah, of course
10:36 wayland76 I'll tell him those
10:36 masak great.
10:36 moritz_ masak: isn't #perl more of a bashing channel?
10:36 masak moritz_: I think that's #perl on irc.perl.org
10:36 moritz_ ah
10:36 masak but I'm not sure, I'm seldom on either.
10:37 masak #bash is a bashing channel, though. :)
10:37 masak the guys there are good, but very sharp-tongued.
10:38 pmurias joined #perl6
10:38 pmurias rehi
10:38 moritz_ well, there are also sharp-tongued people on perlmonks
10:38 moritz_ but usually some of the replies are friendly as well
10:38 masak sharp tongues have their uses.
10:38 moritz_ aye
10:39 moritz_ they encourage you to read the docs
10:39 rkendall joined #perl6
10:39 wayland76 I have a sharp tongue with those who won't help themselves
10:40 wayland76 I checked out the #perl channels today, and my experiences aligned closely with what masak described
10:40 masak rakudo: &map.assuming({}
10:40 p6eval rakudo 95ce39: OUTPUT«Statement not terminated properly at line 1, near "({}"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
10:40 masak rakudo: &map.assuming({})
10:40 p6eval rakudo 95ce39: OUTPUT«Null PMC access in find_method()␤current instr.: '_block14' pc 85 (EVAL_16:42)␤»
10:41 * masak submits rakudobug
10:41 moritz_ rakudo: &map.assuming({}); say "alive"
10:41 p6eval rakudo 95ce39: OUTPUT«Null PMC access in find_method()␤current instr.: '_block14' pc 84 (EVAL_17:42)␤»
10:41 masak aye, that's more informative.
10:43 ejs joined #perl6
10:44 ihrd joined #perl6
10:45 bacek moritz_: http://github.com/bacek/rakudo/commit/c​c75beb53bf51e33cf5cae1a86248396cae9bbde I've send it to rakudobug@perl.org. But I'm not sure about my git-send-emailf-u
10:45 bacek ouch. git-send-email-fu
10:49 pugs_svn r25787 | pmurias++ | [smop] revert previous naive commit
10:49 pugs_svn r25787 | pmurias++ | [mildew] fixe to work with the HEAD STD
10:49 pugs_svn r25787 | pmurias++ | t/our_sub.t fails due to a ref-counting issue
10:50 bacek moritz_: ok, I broke RT... Can you merge #63764, #63762 and #63698 please :-/
10:52 moritz_ merged.
10:53 moritz_ but you should comment which one is the best
10:55 bacek moritz_: ok. I'll do it in "old good way via RT" :)
10:59 ihrd hi there! C<is context>, C<< CALLER::<$var> >> and other scope managment not implemented yet in Rakudo?
11:00 moritz_ CALLER is not
11:00 moritz_ is context - dunno
11:01 moritz_ lunch &
11:01 * masak has never seen 'is context' in live Perl 6 code
11:02 bacek "is context" some kind of zombie anyway :)
11:02 ihrd rakudo: my $var is context<rw> = 'Boo!';
11:02 p6eval rakudo 95ce39: RESULT«"Boo!"»
11:02 ihrd bingo!
11:02 ihrd ;)
11:02 masak ihrd: that doesn't necessarily mean anything :)
11:02 ihrd yes :)
11:02 masak normal variables can do that too.
11:03 ihrd yes, and I ask my question becasue of this
11:04 ihrd I found I can use set this trait
11:05 ihrd but OUTER::<>, CALLER::<>, CONTEXT::<> do not work
11:05 ihrd and do not parse
11:05 masak no.
11:05 masak patches welcome :)
11:06 ihrd I know :)
11:07 Matt-W When I was looking at form, it seemed that 'is context' is gone
11:07 Matt-W although it was unclear if there was any sort of replacement to let you do something similar
11:08 masak Matt-W: what does it do?
11:08 bacek moritz_: #63712 can be closed now.
11:08 ihrd I still see it in S02 and S06, but mb it is out of date
11:08 bacek moritz_: #63714 and #63716 should be merged...
11:09 ihrd masak: see S06:2661
11:09 masak ok.
11:09 Matt-W masak: E07 talks about sub format(*@args is context(Scalar)), which would cause @arrays passed as arguments to not be flattened into the argument lists
11:09 Matt-W so you can say format("picture", @data, $other_data)
11:10 masak Matt-W: I think that's '*@args as Scalar' nowadays.
11:10 Matt-W ooh
11:10 Matt-W I shall have to remember that :)
11:13 ruoso moritz_, re "promoting Complex to Num"... I insist that we should do it like Math... and now that every built-in type is a Role... that should be fairly easy
11:14 ruoso i.e: 1 ~~ Complex should be true
11:14 masak that sounds like a Good Idea, yes.
11:14 masak I believe Math is here to stay. :)
11:14 masak and we should standardize on its API.
11:15 ruoso but 1i ~~ Int should be false
11:15 masak of course.
11:15 masak that'd be 1i ~~ Gaussian::Int or something. :)
11:17 wayland76 1i.im ~~ Int
11:17 wayland76 :)
11:18 bacek wayland76: it will not match. 1i.im ~~ Num will :)
11:23 wayland76 Oh, of course :)
11:33 alexn_org joined #perl6
11:37 wayland76 masak: Have you seen http://osteele.com/archive​s/2008/05/my-git-workflow
11:37 wayland76 ?
11:38 wayland76 It's got the diagram I've been looking for :)
11:43 pmurias ruoso: do you think we should keep the invocant slot in native capture and treat the invocant as a positional in the positional method?
11:44 ruoso no... it wouldn't work... because if you call foo(1,2,3) and &foo happens to expect for an invocant, 1 should be that invocant
11:44 pmurias Perl6  code will always look for the invocant using .positional(0)
11:45 ruoso I see, but  I don't think there's much where to run
11:45 ruoso the invocant slot no longer exists
11:45 ruoso semantically
11:45 ruoso so, it's better to just remove it
11:46 ruoso I think we could even remove the .invocant method in Capture as well,
11:48 pmurias should we also change SMOP__NATIVE__capture_create?
11:50 pmurias what i mean do we change the way captures are treate internally or only the methods they expose
11:53 alexn_or1 joined #perl6
11:54 wayland76 'night all :)
12:01 ruoso pmurias, yes
12:02 ruoso we need to change the way captures are treated internally
12:03 ruoso since capture is the type that comes from the lowest level and will be seen in the highest level
12:03 frioux_ joined #perl6
12:10 pmurias doing refactoring with search & replace is tedious :(
12:33 rmt_ joined #perl6
12:34 masak bacek: why wouldn't 1i.im ~~ Int match?
12:34 masak wayland76: no, hadn't seen. nice.
12:35 masak reminds me of audreyt's diagram about svk.
12:35 masak wayland76: definitely a good diagram to have when learning git, I can tell.
12:39 ruoso masak, do you think rakudo has the features the sketched code I wrote uses?
12:40 masak ruoso: I don't know, but I can review it and get back to you in a couple of minutes.
12:44 * masak reviews http://github.com/masak/web/blob​/master/doc/web-framework-roles
12:45 masak ruoso: first question: why do you prefer $.begin-closure.(self) to $.begin-closure(self)? this ain't Perl 5.
12:45 ruoso I don't know, really
12:46 ruoso actually
12:46 masak ok, just asking. I think those are equivalent here.
12:46 ruoso I do know
12:46 ruoso they aren't
12:46 masak no?
12:46 ruoso $.begin-closure.(self)
12:46 ruoso is the same as
12:46 ruoso ($.begin-closure).(self)
12:46 ruoso while
12:46 ruoso $.begin-closure(self)
12:46 ruoso is just that
12:47 masak huh?
12:47 ruoso $.begin-closure($a)
12:47 ruoso calls method begin-closure with ($a) as argument
12:47 masak rakudo: my $a = { say "OH HAI" }; $a(); $a.()
12:47 p6eval rakudo 95ce39: OUTPUT«OH HAI␤OH HAI␤»
12:48 SamB perl6: my $a = { say "OH HAI" }; $a(); $a.()
12:48 masak ruoso: there's no method involved. just an attribute with a Calleable in it.
12:48 p6eval elf 25787: OUTPUT«Can't use string ("1") as a subroutine ref while "strict refs" in use at (eval 124) line 4.␤ at ./elf_h line 4377␤OH HAI␤»
12:48 p6eval ..pugs, rakudo 95ce39: OUTPUT«OH HAI␤OH HAI␤»
12:48 ruoso rakudo: class A { has $.a; method foo { $.a(1); $.a.(2) } }; my $a = A.new(:a({ .say }); $a.foo
12:48 p6eval rakudo 95ce39: OUTPUT«Statement not terminated properly at line 1, near "(:a({ .say"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
12:48 ruoso rakudo: class A { has $.a; method foo { $.a(1); $.a.(2) } }; my $a = A.new(:a({ .say })); $a.foo
12:48 p6eval rakudo 95ce39: OUTPUT«1␤2␤»
12:48 * masak is right
12:48 ruoso hmm
12:49 ruoso something's wrong there
12:49 masak if you say so.
12:49 SamB perl6: class A { has $.a; method foo { $.a(1); $.a.(2) } }; my $a = A.new(:a({ .say })); $a.foo
12:49 masak my explanation of things holds, so I'm happy.
12:49 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&a"␤    at /tmp/ilgdwGtcpb line 1, column 33-39␤»
12:49 p6eval ..rakudo 95ce39: OUTPUT«1␤2␤»
12:49 p6eval ..elf 25787: OUTPUT«Bareword found where operator expected at (eval 126) line 7, near "$.a"␤       (Missing operator before a?)␤syntax error at (eval 126) line 7, near "$.a"␤ at ./elf_h line 4377␤»
12:49 ruoso rakudo: class A { method a { { .say } }; method foo { $.a(1); $.a.(2) } }; my $a = A.new; $a.foo
12:49 p6eval rakudo 95ce39: OUTPUT«Use of uninitialized value␤␤invoke() not implemented in class 'Integer'␤current instr.: 'parrot;A;foo' pc 421 (EVAL_22:165)␤»
12:50 ruoso there it is...
12:50 ruoso rakudo is making something wrong
12:50 masak what just happened? :)
12:50 moritz_ uhm
12:50 masak how can that even dispatch?
12:50 ruoso rakudo is probably assuming something because of "has $.a"
12:50 moritz_ method a { { .say } }
12:50 moritz_ that's supposed to return a closure, right?
12:51 ruoso yes
12:51 * masak submits rakudobug
12:51 ruoso $.a(1) sends (1) as argument to method a
12:51 ruoso $.a.(1) expects the return of a to be a callable, and then send 1 as an argument to that
12:52 * SamB pretends not to understand the difference ;-P
12:52 ruoso masak, and btw...
12:53 ruoso there is *always* a method involved
12:53 masak ruoso: no, $.a.(1) is the same as $.a(1)
12:53 ruoso unless you use $!a
12:53 masak ruoso: right.
12:54 ruoso masak, so, if method a accepts an argument, how do you send it?
12:54 masak ruoso: you're assuming that $.a.(1) makes two calls, one to a and one to its returned closure. I don't see why you assume that.
12:54 ruoso because of the two dots
12:55 masak ruoso: but .() and () are equivalent, no?
12:55 moritz_ unless where they are not :-)
12:55 SamB masak: isn't that what the entire discussion has been about ?
12:55 masak SamB: yes.
12:56 masak we're starting in on the second lap round the circle now.
12:56 ruoso masak, .() and () are equivalent when you're dealing with variables
12:56 moritz_ I think it would DWIM to make $.a.() being the same as $.a().a()
12:56 ruoso $foo() and $foo.() are the same
12:56 moritz_ but I have no idea if it's specced that way
12:56 * masak gives up
12:56 masak we're evidently on uncharted territory here
12:56 masak I'm pasting this whole discussion into the rakudobug
12:57 ruoso masak, $.a is not a variable
12:57 ruoso $.a is a method call
12:57 masak ruoso: I know.
12:57 ruoso even when you have "has $.a"
12:57 masak I know that.
12:58 ruoso so I'd say
12:58 masak it's some sort of syntactic sugar for an accessor.
12:58 ruoso masak, no
12:58 ruoso it's no syntatic sugar
12:58 ruoso it's plain method call
12:58 ruoso the same as self.a
12:58 ruoso you can use $.foo independent of that being declared with "has" or not
12:58 masak ruoso: yes.
12:58 masak 'has $.a' is syntactic sugar for method calls to the metaclass, no?
12:59 ruoso right... yes... it's a "declarator"
12:59 ruoso but I meant
12:59 moritz_ $.a is syntactic sugar for $(self.a)
13:00 ruoso not really
13:00 ruoso because $.a(1)
13:00 ruoso is not $(self.a)(1)
13:00 moritz_ ruoso: I talked about $.a, not $.a(1)
13:00 * masak 's head explodes
13:00 moritz_ http://moritz.faui2k3.org/tmp/out.html this is how STD.pm parses both
13:01 moritz_ and to the best of my humble knowledge they are parsed differently indeed
13:02 ruoso rakudo is making a special case because of the previous "has $.a"
13:02 masak I look forward to an explanation to all of this, using only short words.
13:02 ruoso and that is wrong
13:02 ruoso $.a is the same as self.a
13:02 ruoso in the sense
13:02 ruoso that
13:02 ruoso $.a(1) is the same as self.a(1)
13:03 ruoso std: class Foo {  has $.a; method foo { $.a()() } }
13:03 p6eval std 25787: OUTPUT«ok 00:02 34m␤»
13:03 ruoso std: class Foo {  has $.a; method foo { $.a().() } }
13:03 p6eval std 25787: OUTPUT«ok 00:02 34m␤»
13:03 ruoso masak, that's the point
13:04 ruoso $.a.() is equivalent to $.a().()
13:04 ruoso which is equivalent to $.a()()
13:04 masak ruoso: ok.
13:04 masak I buy that.
13:05 masak I just don't see why .() and () aren't equivalent in this particular case.
13:05 ruoso they are
13:05 ruoso but you're missing that $.a is a method call
13:05 ruoso not a variable
13:05 masak ah.
13:06 ruoso so, the full version of $.a is $.a()
13:06 * masak sees now
13:06 ruoso then $.a()() and $.a().() are the same
13:06 masak ruoso: thank you for your patience with me.
13:07 ruoso masak, so, for the rakudobug
13:07 ruoso "rakudo is making an exception in the parse of $.a when the class defines "has $.a""
13:07 ruoso and it shouldn't
13:07 masak thanks. :)
13:07 masak pasted.
13:24 masak perl6: my @a = 1,2,3; @a[2] := []; say @a.perl
13:24 p6eval elf 25787: OUTPUT«[1,2,3]␤»
13:24 p6eval ..rakudo 95ce39: OUTPUT«rtype not set␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤»
13:24 p6eval ..pugs: OUTPUT«\(1, 2, ())␤»
13:24 * masak submits rakudobug
13:29 moritz_ masak: array item binding is a known regression
13:30 masak moritz_: if you have another RT ticket, I can merge the one I just submitted.
13:33 moritz_ masak: I don't know if there's a ticket for that, I just know that there are comments in t/spectest.data about tests we've regressed on
13:33 masak moritz_: ok.
13:33 masak I have no qualms about turning known regressions into tickets. :)
13:34 masak it might be part masak-rakudobug vanity, but it's part good accounting, too.
13:34 moritz_ I won't disagree with you here
13:34 skids joined #perl6
13:40 ejs joined #perl6
13:46 masak arrgh, and binding of array elements is hard to work around, it turns out...
13:48 masak probably not impossible, though. an idea involving recursion is forming in my mind. good thing that #28396 got fixed...
13:55 mberends joined #perl6
13:58 mikehh joined #perl6
14:10 [particle] joined #perl6
14:30 diakopter joined #perl6
14:30 pmichaud $.a(1) is syntactically special, and rakudo doesn't implement it yet.
14:30 pmichaud $.a(1) is equivalent to self.a(1)
14:30 pmichaud as ruoso said :-)
14:33 nihiliad joined #perl6
14:34 diakopter
14:40 skids joined #perl6
14:43 NoirSoldats php--
14:43 NoirSoldats @karma php
14:43 lambdabot php has a karma of -3
14:43 diakopter :|
14:46 ihrd left #perl6
14:56 pmichaud std:  loop { say "hello"; last } while 1
14:56 p6eval std 25787: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/XhEex3M4b9 line 0:␤------> [32m[31m[0m␤    expecting any of:␤    infix or meta-infix␤      infix stopper␤    parameterized block␤      standard stopper␤FAILED 00:04 34m␤»
15:01 TimToady it's possible, of course, that it's parsefailing the wrong way... :)
15:02 diakopter the while is tighter than the loop?
15:03 TimToady I don't know what it's thinking, offhand.  might even be thinking several different thinks if it's doing unwarranted backtracking
15:04 TimToady std: loop { say "hello"; last } while 1 { say "boo" }
15:04 p6eval std 25787: OUTPUT«ok 00:04 34m␤»
15:04 TimToady ohh, bug
15:04 TimToady *ooh
15:04 pmichaud right.
15:05 TimToady so it's actually parsefailing because it's assuming a ; wrongly
15:05 diakopter we need a way to pass in linebreaks to p6eval so we can test that synchronously/publicly :P
15:06 TimToady std: loop { say "hello"; last }␤ while 1 { say "boo" }
15:06 moritz_ diakopter: aye. If you can come up with a good idea, please tell me :-)
15:06 p6eval std 25787: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/16TZaPlwP7 line 1:␤------> [32mloop { say "hello"; last }[31m␤ while 1 { say "boo" }[0m␤    expecting any of:␤        blockoid␤ terminator␤       whitespace␤FAILED 00:03 34m␤»
15:07 moritz_ I could s/␤/\n/g
15:07 TimToady works for me
15:07 diakopter heh
15:08 TimToady 'course I had to copy/paste the ␤
15:08 * diakopter restarts irssi for unicodeness
15:10 pugs_svn r25788 | moritz++ | [evalbot] transliterate newline symbols to actual line breaks
15:11 p6eval joined #perl6
15:11 moritz_ std: loop { say "hello"; last }␤ while 1 { say "boo" }
15:11 moritz_ rakudo: say "alive"
15:11 p6eval rakudo 95ce39: OUTPUT«alive␤»
15:12 moritz_ rakudo: say ord("␤")
15:13 moritz_ rakudo: say "wtf?"
15:13 p6eval rakudo 95ce39: OUTPUT«wtf?␤»
15:13 moritz_ ah
15:13 diakopter joined #perl6
15:13 TimToady unicodity? unicodicity? unicodification? unicoditarianism?
15:14 pugs_svn r25789 | moritz++ | [evalbot] forget a few /s modifiers
15:14 moritz_ no, \n and /s
15:15 p6eval joined #perl6
15:15 moritz_ rakudo: say ord("␤")
15:15 moritz_ rakudo: say "please"
15:15 p6eval rakudo 95ce39: OUTPUT«please␤»
15:15 masak :)
15:16 pugs_svn r25790 | moritz++ | [evalbot] one more /s modifier
15:16 TimToady rakudo: say ord("x")
15:16 p6eval rakudo 95ce39: OUTPUT«120␤»
15:16 p6eval joined #perl6
15:16 moritz_ rakudo: say ord("␤")
15:16 p6eval rakudo 95ce39: OUTPUT«10␤»
15:16 moritz_ there you go.
15:16 TimToady rakudo: say ord("«")
15:16 p6eval rakudo 95ce39: OUTPUT«171␤»
15:17 moritz_ std: loop { say "hello"; last }# while 1 { say "boo" }
15:17 TimToady diakopter: how's your unicoditarianism?
15:17 p6eval std 25790: OUTPUT«ok 00:03 34m␤»
15:17 moritz_ std: loop { say "hello"; last }␤ while 1 { say "boo" }
15:17 p6eval std 25790: OUTPUT«ok 00:04 34m␤»
15:17 diakopter I think it's still trinicoditarian
15:17 diakopter brb
15:23 diakopter joined #perl6
15:24 diakopter nope
15:25 moritz_ do you use screen?
15:26 diakopter joined #perl6
15:27 diakopter «␤
15:27 TimToady looks good to me
15:28 diakopter hrm. I see the << but the NL is ?P?
15:28 pmichaud rakudo:  .say for (1,2,3).item;
15:28 p6eval rakudo 95ce39: OUTPUT«1␤2␤3␤»
15:28 TimToady you see big << or little <<?
15:28 diakopter little
15:29 TimToady font issue, perhaps?
15:30 TimToady do you see ☻?
15:30 masak ooh!
15:30 TimToady should be a smiley
15:30 Tene joined #perl6
15:31 justatheory joined #perl6
15:31 diakopter nope. hrm.  can /nick have those?
15:31 moritz_ don't think so
15:34 diakopter lame: http://www.fileformat.info/info​/unicode/font/consolas/grid.htm
16:04 alexn_org joined #perl6
16:09 pugs_svn r25791 | pmichaud++ | [t/spec]:  Update List.item test to match spec (RT #63350), unfudge for Rakudo
16:31 masak rakudo: my @a = 1,2,3; say @a min 4
16:31 p6eval rakudo 531ca2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'infix:cmp' pc 15527 (src/builtins/cmp.pir:146)␤»
16:31 masak question is, is this a new one, or the same as the undef one?
16:31 masak I should probably file it under the same ticket.
16:32 pmichaud it's not the same as the undef one
16:33 pmichaud I'm curious about the correct behavior there, though.
16:33 dalek rakudo: 531ca2c | pmichaud++ | docs/spectest-progress.csv:
16:33 dalek rakudo: spectest-progress.csv update: 317 files, 7015 passing, 140 failing
16:33 dalek rakudo: Failure summary:
16:33 dalek rakudo:     S32-num/complex.rakudo aborted 140 test(s)
16:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​31ca2c416e165922c8ca2dc6926eae87e4e77f3
16:34 masak pmichaud: I'd think that min numifies, so 3.
16:34 pmichaud so,   "3" min "13"     is "13" ?
16:34 pmichaud er, 13 ?
16:34 masak no, why?
16:34 masak numification implies numeric sorting.
16:34 pmichaud oh, it's 3.
16:34 pmichaud okay.
16:34 * masak submits rakudobug
16:34 moritz_ uhm, did I forget to push the implementation of .re and .im?
16:35 masak moritz_: I saw something about it by wayland in the commit mails on p6l.
16:35 pmichaud moritz_: I didn't see it.
16:35 riffraff joined #perl6
16:35 moritz_ then I really did, sorry for the breakage
16:36 pmichaud S03 says that min has "cmp" semantics.
16:36 moritz_ that's one thing I'm still not sure about... how do I know if all of my local changes are also in the repo?
16:37 pmichaud 'git status' tells me that, I think.
16:37 masak moritz_: push and see if something goes through the pipe :)
16:37 moritz_ that tells me about non-commited changes
16:37 moritz_ but not about commited-but-not-pushed changes
16:37 pmichaud git status also tells me "local copy is 1 commit ahead of master" or something like that
16:37 masak moritz_: it does in my git version.
16:37 masak moritz_: what pmichaud said.
16:38 moritz_ ah, maybe I need to read the output more carefully next time
16:38 dalek rakudo: d8f59ef | (Moritz Lenz)++ | src/classes/Complex.pir:
16:38 dalek rakudo: implement .re and .im in Complex
16:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​8f59efca856bc7b72fe2fec393f5fd703c33c57
16:39 pmichaud anyway, S03 says that "By default C<min> and C<max> use C<cmp> semantics."   I don't think that implies numification of the arguments.
16:40 masak oh.
16:40 masak but what happens when you cmp a Num and a List?
16:41 pmichaud I don't know.
16:41 pmichaud Neither does Parrot, which is why we get "No suitable candidate found ... "   :-)
16:41 masak pasting this addendum to the ticket.
16:42 pugs_svn r25792 | lwall++ | [STD] require semicolon between same-line statements more rigorously
16:49 wayland76 joined #perl6
16:49 TimToady std: loop { ... } foo
16:49 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/PGx7LM8FBh line 1:␤------> [32mloop { ... } [31mfoo[0m␤    expecting terminator␤FAILED 00:02 34m␤»
16:50 TimToady std: loop { ... } while
16:50 p6eval std 25792: OUTPUT«Undeclared routine:␤   while used at 1 ␤ok 00:02 34m␤»
16:50 TimToady bot lag...
16:51 TimToady moritz_: you have any idea why it says std 25792 but still has old semantics?  is lex removal async with version update?
16:51 moritz_ it might be
16:52 moritz_ TimToady: I'll update the server, just a sec...
16:53 Matt-W rakudo: grammar A { }; A::parse()
16:53 moritz_ std: loop { ... } while
16:53 p6eval rakudo d8f59e: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 60 (EVAL_20:39)␤»
16:53 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/HWFluPrLfH line 1:␤------> [32mloop { ... } [31mwhile[0m␤    expecting checksep␤FAILED 00:02 34m␤»
16:53 TimToady yay
16:53 moritz_ std: loop { ... } while 3 < 4
16:53 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/v3KqhFSYQ8 line 1:␤------> [32mloop { ... } [31mwhile 3 < 4[0m␤    expecting checksep␤FAILED 00:02 34m␤»
16:53 TimToady std: loop { ... } foo
16:54 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/YPuTmFFgbI line 1:␤------> [32mloop { ... } [31mfoo[0m␤    expecting checksep␤FAILED 00:02 34m␤»
16:54 TimToady std: loop { ... } 1
16:54 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/ajYfci455A line 1:␤------> [32mloop { ... } [31m1[0m␤    expecting checksep␤FAILED 00:02 34m␤»
16:54 TimToady std: if { ... } 1
16:55 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/BrwY2sin4D line 1:␤------> [32mif { ... } [31m1[0m␤    expecting any of:␤        infix or meta-infix␤      infix stopper␤    parameterized block␤      standard stopper␤ terminator␤FAILED 00:02 34m␤»
16:55 TimToady std: if 42 { ... } 1
16:55 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/bhhMyNVFuf line 1:␤------> [32mif 42 { ... } [31m1[0m␤    expecting checksep␤FAILED 00:02 34m␤»
16:55 * TimToady is happy
16:56 pmichaud
16:57 * masak 也很高兴
17:00 TimToady found one buglet
17:00 TimToady std: if do {...} {...}
17:01 p6eval std 25792: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/Eg2IljSc6s line 1:␤------> [32mif do {...} [31m{...}[0m␤    expecting any of:␤       checksep␤ infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:02 34m␤»
17:01 pmichaud I think I'll wait until STD.pm has been run against the test suite again before updating Rakudo.  :-)
17:01 TimToady need to allow { if goal is appropriate
17:01 TimToady it's the test suite that found that one :)
17:01 pmichaud oh, goodie.
17:02 TimToady seems to be the only glitch so far
17:12 pugs_svn r25793 | pmichaud++ | [t/spec]:  Fix up diagnostic message to match test.
17:14 rindolf joined #perl6
17:15 rindolf rakudo: my $v = 0; if (0) { $v = 500; } [$v]
17:15 p6eval rakudo d8f59e: OUTPUT«Statement not terminated properly at line 1, near "[$v]"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
17:15 rindolf rakudo: my $v = 0; if (0) { $v = 500; } [$v];
17:15 p6eval rakudo d8f59e: OUTPUT«Statement not terminated properly at line 1, near "[$v];"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
17:15 rindolf rakudo: my $v = 0; if (0) { $v = 500; } ; [$v];
17:15 p6eval rakudo d8f59e: RESULT«[0]»
17:16 rindolf rakudo: my $v = "Default"; if (0) { $v = "0 is true"; } ; [$v];
17:16 p6eval rakudo d8f59e: RESULT«["Default"]»
17:16 pugs_svn r25794 | lwall++ | [STD] tweak previous fix to not require semi at infixstopper
17:17 TimToady std: if do {...} {...}
17:17 p6eval std 25793: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/LTD0bW5zJU line 1:␤------> [32mif do {...} [31m{...}[0m␤    expecting any of:␤       checksep␤ infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:02 34m␤»
17:21 TimToady std: if do {...} {...}
17:21 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/dYtKwVx0GS line 1:␤------> [32mif do {...} [31m{...}[0m␤    expecting any of:␤       checksep␤ infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:02 34m␤»
17:22 TimToady still lags for some reason
17:23 TimToady std: 42 ?? do {...} !! 43
17:23 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/qin7Qb7EJ0 line 1:␤------> [32m42 ?? do {...} [31m!! 43[0m␤    expecting any of:␤    checksep␤ standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:02 34m␤»
17:24 TimToady std: 42 ?? do {...} !! 43
17:24 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/qrdO7iNMnl line 1:␤------> [32m42 ?? do {...} [31m!! 43[0m␤    expecting any of:␤    checksep␤ standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:02 34m␤»
17:32 TimToady std: 42 ?? do {...} !! 43
17:32 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/uUM2WA517P line 1:␤------> [32m42 ?? do {...} [31m!! 43[0m␤    expecting any of:␤    checksep␤ standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:02 34m␤»
17:33 M_o_C joined #perl6
17:40 TimToady std: 42 ?? do {...} !! 43
17:40 p6eval std 25794: OUTPUT«ok 00:02 34m␤»
17:40 TimToady std: if do {...} {...}
17:40 p6eval std 25794: OUTPUT«ok 00:02 34m␤»
17:40 TimToady finally...
17:41 TimToady pmichaud: passes all tests now
17:42 TimToady std: do {...} {...}
17:42 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/6cMWvIs6MQ line 1:␤------> [32mdo {...} [31m{...}[0m␤    expecting any of:␤    infix or meta-infix␤      infix stopper␤    standard stopper␤
17:42 p6eval ..terminator␤FAILE...
17:42 TimToady std: loop {...} {...}
17:42 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/lC4fRyjigK line 1:␤------> [32mloop {...} [31m{...}[0m␤    expecting terminator␤FAILED 00:02 34m␤»
17:42 TimToady std: loop {...} 42
17:42 p6eval std 25794: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/Omn9GOcA0R line 1:␤------> [32mloop {...} [31m42[0m␤    expecting terminator␤FAILED 00:02 34m␤»
17:42 TimToady hmm
17:44 TimToady still something a bit off there
17:46 PacoLinux joined #perl6
17:46 TimToady perhaps <!infixstopper> is overkill...
17:47 TimToady well, more tweaking later
17:51 [particle] joined #perl6
18:08 barney joined #perl6
18:25 mikehh t/spec/S32-list/reduce.rakudo - TODO passed:   14
18:27 moritz_ rakudo doesn't like throwing of exceptions in CATCH blocks
18:30 alester joined #perl6
18:30 mikehh rakudo (d8f59ef) All tests successful. at parrot r37268 for make spectest
18:30 mikehh om Linux i386
18:30 mikehh on
18:31 Psyche^ joined #perl6
18:37 pmichaud except for syntax, what's what's the essential difference between a private method and a submethod?
18:38 TimToady you can call a submethod from outside the class
18:38 moritz_ that a submethod can be called from outside the class
18:38 moritz_ ah, TT beat me
18:38 pmichaud does the synopsis indicate "inside the class" anywhere?
18:39 pmichaud or is that just assumed by "private"?
18:40 ruoso pmichaud, a submethod is part of the regular dispatch
18:40 ruoso er
18:40 ruoso quite
18:40 ruoso a submethod is part of the dispatch when the invocant is of that exact type
18:40 ruoso but the dispatch doesn't see submethods declared in superclasses
18:40 pmichaud ruoso: but the same could be said of private methods.
18:40 ruoso for instance
18:41 ruoso pmichaud, no
18:41 ruoso submethod BUILD
18:41 ruoso during BUILDALL
18:41 pmichaud I understand what submethods are, yes.
18:41 ruoso you get $prototype.BUILD($candidate, |%args)
18:41 ruoso if that $prototype implements it's own submethod
18:41 ruoso it will get called
18:41 ruoso but if it doesn't
18:41 pmichaud btw, moritz++ says that $candidate should not be part of the signature to BUILD :-)
18:42 ruoso it needs to
18:42 ruoso it's the only way of it actually being called
18:42 ruoso you call $protoobject.BUILD($candidate)
18:42 ruoso for that specific $protoobject
18:43 ruoso s/for that/for each/
18:43 moritz_ ruoso: why? in BUILD you can access self
18:44 ruoso but if you call $object.BUILD
18:44 ruoso it won't see each superclass implementation
18:44 pmichaud moritz:  because self.BUILD would only be the BUILD for the class defined by self.  What about the supercl... right.
18:44 ruoso and also
18:44 pmichaud ruoso: anyway, I understand how submethod dispatch works, yes -- I'm asking how private methods are different from that.
18:45 ruoso pmichaud, private methods relate to private attributes
18:45 TimToady ah, found the new bug; refactoring error
18:45 pmichaud ruoso: they don't have to.
18:45 pmichaud method !foo() { ... }
18:45 ruoso pmichaud, it relates in the sense that it is not virtual
18:45 ruoso you know at compile time which piece of code will be invoked
18:46 moritz_ pmichaud: I think one difference is that if you declare that you trust your subclasses, private methods do normal dispatch
18:46 ruoso moritz_, even then... calling a foreign private method has a special syntax
18:46 ruoso it doesn't fallback to normal dispatch in any case
18:46 moritz_ ok
18:47 moritz_ anyway, I don't understand the issue with BUILD and superclasses
18:47 ruoso submethods are not inherited
18:47 moritz_ say you have A is B and B is C
18:47 pugs_svn r25795 | lwall++ | [STD] previous patch moved code into statement but then "self." needed to be "$¢."
18:47 moritz_ then somebody calls A.new
18:47 moritz_ then B.BUILD is called first
18:47 moritz_ erm, C.BUILD
18:47 moritz_ then B.BUILD
18:47 pmichaud moritz_: but how are you going to invoke C.BUILD?
18:47 ruoso yes... C.BUILD($object-buing-built)
18:48 moritz_ pmichaud: you don't, because you don't care about your subclasses
18:48 moritz_ pmichaud: and because .new calls C.BUILD for you in the end anyway
18:48 pmichaud moritz_: when calling C.BUILD, what's the invocant?
18:48 moritz_ pmichaud: an object of type C
18:48 moritz_ that is then reblessed into one of type B
18:48 ruoso moritz_, the order is actually.... new -> CREATE,bless -> BUILDALL -> *BUILD
18:48 pmichaud but that object won't be the one being built
18:49 ruoso moritz_, no rebless
18:49 ruoso it is blessed as the actual type only once
18:49 ruoso moritz_, see smop/src-s1p/Object.pm / ClassHOW.pm
18:49 ruoso I've written down the instantiation sequence according to S12
18:50 moritz_ I see, I haven't fully grokked that stuff yet
18:50 TimToady std: loop {...} 42
18:50 p6eval std 25795: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/geNihzmxWM line 1:␤------> [32mloop {...} [31m42[0m␤    expecting terminator␤FAILED 00:02 34m␤»
18:50 moritz_ anyway, the signature of BUILD needs a good spec, and needs to be implemented that way
18:50 moritz_ currently what rakudo does doesn't match some examples in S12
18:50 pmichaud (the examples in S12 don't show the candidate as part of BUILD, yes)
18:51 ruoso hmmm
18:51 ruoso actually
18:52 ruoso I just realized the code I sketched in ClassHOW.pm does something that is not going to work
18:52 ruoso $prototype.?BUILD($object: |%protoargs, |%initialize);
18:53 ruoso that needs to be update
18:55 pugs_svn r25796 | ruoso++ | [smop/src-s1p] contrary to my initial ideas, sending a different invocant to a method dispatch is not allowed. changing BUILD and DESTROY to support that
18:56 TimToady std: loop {...} 42
18:57 moritz_ if you loop, it might loop ... ;-)
18:57 TimToady fails fine here... :)
18:59 p6eval std 25795: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/QeqvrrxRNO line 1:␤------> [32mloop {...} [31m42[0m␤    expecting any of:␤   infix stopper␤    statement␤FAILED 00:02 34m␤»
19:00 Helios joined #perl6
19:00 literal joined #perl6
19:01 moritz_ rakudo: say 'a b c d e f'.split(' ', 2).perl
19:01 p6eval rakudo d8f59e: OUTPUT«["a", "b c d e f"]␤»
19:02 TimToady std: 42
19:02 p6eval std 25796: OUTPUT«ok 00:02 34m␤»
19:02 TimToady std: loop {...} 42
19:02 p6eval std 25796: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/sy78i6Q5WD line 1:␤------> [32mloop {...} [31m42[0m␤    expecting any of:␤   infix stopper␤    statement␤FAILED 00:02 34m␤»
19:02 TimToady std: loop {...} while 1 {...}
19:02 p6eval std 25796: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/Lzuw6FJQIp line 1:␤------> [32mloop {...} [31mwhile 1 {...}[0m␤    expecting any of:␤        infix stopper␤    statement␤FAILED 00:02 34m␤»
19:02 TimToady std: if do {...} {...}
19:02 pmichaud (private methods):   So, when we encounter something like    $xyz!foo(...)   -- it has to occur inside of a class declaration, and we have to verify that !foo exists in that specific class declaration?
19:02 p6eval std 25796: OUTPUT«ok 00:02 34m␤»
19:03 TimToady it's basically just a subroutine call that may or may not be permitted depending on whether the class trusts you
19:03 pmichaud where "you" is... ?
19:03 TimToady and a class naturally trusts itself
19:04 TimToady I suppose it's trusting ::?CLASS
19:05 pmichaud so, CALLER::?CLASS ?
19:05 ruoso pmichaud, yes
19:06 ruoso not for the last line I mean
19:06 ruoso but for your original question
19:06 ruoso in fact
19:06 pmichaud ruoso: what you're saying doesn't sound to me as though it's matching what TimToady is saying.
19:07 ruoso ok... $xyz!foo doesn't really makes much sense, except if $xyz if of the type of your own class
19:07 ruoso or if $xyz is actually binded to the invocant of this method
19:07 pmichaud or if $xyz's type "trusts you" -- however that's defined.
19:07 ruoso even then
19:07 TimToady call a subroutine in the exact class of $xyz that trusts CALLER::?CLASS if that's in its trusted list
19:08 ruoso you need to say $xyz!Somewhere::privmethod()
19:08 TimToady that works too
19:09 ruoso $xyz!foo should fail if $xyz !~~ ::?CLASS
19:09 ruoso but if you have a private method in your class named "foo"
19:09 ruoso and $xyz ~~ ::?CLASS
19:09 ruoso it can call the private method in your class
19:09 pmichaud ruoso: it has to be more restrictive than ~~ ::?CLASS
19:10 ruoso why?
19:10 pmichaud because $xyz could be a subclass of ::?CLASS
19:10 pmichaud and it might have a !foo that is different from yours.
19:10 pmichaud and are subclasses automatically trusted?
19:10 ruoso pmichaud, that's the point I'm trying to make
19:11 ruoso the private dispatch is different then the regular dispatch
19:11 ruoso private methods are not inherited
19:11 pmichaud I understand that the private dispatch is different than regular dispatch
19:11 pmichaud I understand that private methods are not inherited
19:11 pmichaud I'm trying to nail down private dispatch.
19:11 ruoso so $xyz!foo means "look at the private method in this class"
19:12 ruoso while $xyz!Somewhere::foo means "look at a private method there"
19:12 pmichaud ruoso: so you're saying there's not really a concept of "trusted classes"
19:12 ruoso but Somewhere needs to trust you...
19:12 pmichaud or you're saying that !foo always means !foo in the current class.
19:12 ruoso yes
19:12 ruoso !foo is always local
19:12 pmichaud okay.
19:13 ruoso if you want to call a foreign private method
19:13 ruoso you need to fully qualify it
19:13 ruoso and the foreign class needs to trust you
19:13 pmichaud and we need to figure out how to look up private methods via the Someclass::foo syntax :-)
19:13 ruoso pmichaud, that's the cool par
19:13 ruoso private dispatch is not virtual, which means that it can be solved at compile-time
19:14 rindolf left #perl6
19:14 pmichaud yes, but it might require some sort of forward reference to do so.
19:14 ruoso as long as that it gets consistent in the end of the compilation
19:15 pmichaud okay, I can work with that.  Thanks.
19:21 Psyche^ joined #perl6
19:21 bacek good morning
19:26 pmichaud good morning
19:27 moritz_ I've written a List.reduce that doesn't rely on any indexing or shifting of the invocant...
19:28 moritz_ http://nopaste.snit.ch/15852
19:28 moritz_ and it warns if there are trailing items that can't be bound
19:28 ruoso pmichaud, so in summary... for "$xyz!foo" it must 1) $xyz ~~ ::?CLASS 2) method !foo in this class
19:29 pmichaud ruoso: got it, thanks.
19:29 pmichaud I agree.
19:29 moritz_ however it does hide exceptions from  $expression()
19:29 moritz_ but I think it's the best we can do for now, because we can't filter out the exception from a failed bind to the signature
19:30 moritz_ and it only hides those exceptions in the last call when there are trailing items
19:30 moritz_ any thoughts?
19:31 bacek moritz_: you construct list twice.
19:31 pmichaud how about   if @args > 1 && @args >= $expression.arity    ?
19:31 moritz_ bacek: yes, but that's not that bad, because if self is a list already, .list is a no-op
19:31 moritz_ and if not, it's just a list of length 1 that's created twice
19:31 bacek moritz_: not in case of Range.
19:32 moritz_ hm
19:32 moritz_ pmichaud: and then... what?
19:32 moritz_ try it?
19:32 moritz_ and if it's not >= .arity then warn without trying?
19:33 pmichaud moritz_: we only have a failure if @args < $expr.arity .... right
19:33 pmichaud i.e., we can check for sufficient number of arguments without having to actually call $expr
19:33 moritz_ ok
19:33 pmichaud (the dispatch might still fail... but then we'd get an appropriate exception)
19:33 bacek rakudo: multi sub foo($a, $b) { $a+$b }; multi sub foo ($a,$b,$c) { $a+$b*$c }; map &foo, 1..4;
19:33 p6eval rakudo d8f59e: OUTPUT«Null PMC access in find_method()␤current instr.: 'parrot;P6object;WHAT' pc 83 (runtime/parrot/library/P6object.pir:112)␤»
19:34 bacek Is map suppose to work with multisubs?
19:34 pmichaud it probably should, yes.
19:34 moritz_ but any mention of &multisub seems to cause Null PMC accesses
19:34 pmichaud on the other hand, it's hard to know how to handle arity/count in that case.
19:35 pmichaud (another reason for needing a partial signature match operation, I suppose)
19:35 pmichaud rakudo:  multi sub foo() { ... };   say &foo.PARROT;
19:35 p6eval rakudo d8f59e: OUTPUT«Null PMC access in find_method()␤current instr.: '_block14' pc 79 (EVAL_21:43)␤»
19:36 pmichaud rakudo:  sub foo() { ... };   say &foo.PARROT;
19:36 p6eval rakudo d8f59e: OUTPUT«Perl6Sub␤»
19:37 pmichaud is there already a rakudobug for that?
19:37 moritz_ for some form of it, yes
19:38 moritz_ but I can't find it right now
19:38 moritz_ ah, http://rt.perl.org/rt3/Tic​ket/Display.html?id=63568
19:39 frioux_ hey guys, you mind if I ask a perl5ish question?
19:39 frioux_ I only ask here because I know you are all smart and not jerks
19:39 frioux_ well, I'll just ask.  Ignore me if you don't know or whatever :-)
19:40 frioux_ anyway, is there a really good reason not to use mod_perl for speed boosts?
19:40 bacek frioux_: existence of fastcgi
19:41 bacek rakudo: multi sub foo { ... }; say &foo.HOW;
19:41 p6eval rakudo d8f59e: OUTPUT«Null PMC access in find_method()␤current instr.: '_block14' pc 79 (EVAL_19:43)␤»
19:41 frioux_ bacek: we are using win32, is that an option for us?
19:41 bacek frioux_: using win32 is not an option.
19:42 frioux_ yeah, I was afraid of that
19:42 bacek frioux_: join #perl on irc.perl.org.
19:43 bacek rakudo: multi sub foo { ... }; say &foo;
19:43 p6eval rakudo d8f59e: OUTPUT«foo␤»
19:43 frioux_ seriously?  They don't even answer questions
19:43 moritz_ frioux_: then try perlmonks.org
19:43 frioux_ anyway, I'll look into fastcgi and see if we can pull something off with that
19:43 frioux_ thanks bacek
19:43 frioux_ moritz_: that's a good idea too; thanks
19:44 frioux_ bacek++ moritz++
19:44 * bacek scratching head...
19:44 bacek Is it possible to implement fastcgi handling in current Rakudo?
19:45 moritz_ uhm, does the fastcgi involve any more than reading from STDIN?
19:46 bacek moritz_: it's usually reading from sockets.
19:46 bacek But I already found that it should be possible.
19:47 bacek ..if runtime/parrot/library/HTTP/Daemon.pir is alive...
19:48 bacek pmichaud: (NULL in find_method) .'HOW' returns null for multisubs.
19:48 netsquire joined #perl6
19:51 pmichaud okay.  I _really_ need to refactor method dispatch in Rakudo -- I don't like the way it's set up now.
19:52 alester pmichaud: I have a dumb error that I fixed in 7e50e6a0baa4ca2c6874ddb1f7e2a69c1b0476d0
19:53 pmichaud alester: send a patch?
19:53 alester where
19:53 pmichaud rakudobug@perl.org
19:53 alester I'm surprised nobody has run into it yet.
19:54 TimToady pmichaud: latest semicolon-required patch seems to be a keepr
19:54 TimToady *keeper
19:54 pmichaud TimToady: noted.  I'll take a look at it in a few days -- I'm trying to catch up on other patches/documentation things.
19:55 TimToady sure, not worried
19:55 TimToady just looking forward to the day when rakudo produces really great error messages
19:56 TimToady (realizing that a great deal of the impediment is not strictly rakudo's problem ;)
19:56 pmichaud rakudo will probably get its biggest improvement in error messages when it's using STD.pm for its parser :-)
19:57 pmichaud and yes, I look forward to that day also.
19:57 pmichaud I think STD.pm's error trapping and suggestions are Really Cool.
19:57 TimToady I'm wondering how close we are to writing a version of Cursor.pm in rakudoperl
19:58 pmichaud I'll be taking a look at it towards the end of the month.
19:58 pmichaud I had hoped to be doing that long before now, but other items keep getting in the way.
19:58 armagad left #perl6
19:58 awarefish joined #perl6
19:59 TimToady all Things To Be Done First are created equal, but some are more equal than others...  :)
20:00 [particle] joined #perl6
20:08 donaldh joined #perl6
20:16 bacek runtime/parrot/library/HTTP/Daemon.pir is dead... It even can't be parsed by imcc.
20:17 ruoso std: multi foo { }; [&foo] 1,2,3,4,5;
20:17 p6eval std 25796: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/Z1oMY80FpE line 1:␤------> [32mmulti foo { }; [&foo] [31m1,2,3,4,5;[0m␤    expecting any of:␤ infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:03
20:17 p6eval ..46m␤»
20:19 bacek std: multi foo {...}; [&foo] 1,2,3,4,5;
20:19 p6eval std 25796: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/OiZt2sONYH line 1:␤------> [32mmulti foo {...}; [&foo] [31m1,2,3,4,5;[0m␤    expecting any of:␤       infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED
20:19 p6eval ..00:05 49m␤»
20:19 bacek std: multi sub foo {...}; [&foo] 1,2,3,4,5;
20:19 p6eval std 25796: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/92GHeVbWso line 1:␤------> [32mmulti sub foo {...}; [&foo] [31m1,2,3,4,5;[0m␤    expecting any of:␤   infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED
20:19 p6eval ..00:03 46m␤»
20:28 wayland76 ruoso++ for helping explain rakudobugs while working on SMOP :)
20:28 wayland76 (backlogging)
20:36 ruoso TimToady, what would it take for me to define a custom multi sub that could be used in a reduce operator?
20:37 ruoso and how would I call it? since "[&foo] 1,2,3,4" means something else
20:38 pmichaud ruoso: maybe use   .reduce  instead?
20:39 ruoso sure, but I was wondering if I couldn't use it as the reduce operator
20:39 pmichaud you could likely do it if foo is defined as  infix:<foo>
20:41 ruoso rakudo: multi a(Str $a, Num $b) { return [+] +$a, $b }; multi a(Num $a, Num $b) { return [+] $a,$b }; say (1,"2",3,3).reduce: &a;
20:41 wayland76 frioux_: Actually, the friendly channel is #perl on FreeNode
20:41 p6eval rakudo d8f59e: OUTPUT«No applicable methods.␤␤current instr.: 'parrot;P6metaclass;dispatch' pc 130 (src/classes/ClassHOW.pir:93)␤»
20:42 ruoso rakudo: multi a(Num $a, Str $b) { return [+] $a, +$b }; multi a(Num $a, Num $b) { return [+] $a,$b }; say (1,"2",3,3).reduce: &a;
20:42 p6eval rakudo d8f59e: OUTPUT«No applicable methods.␤␤current instr.: 'parrot;P6metaclass;dispatch' pc 130 (src/classes/ClassHOW.pir:93)␤»
20:42 pmichaud rakudo doesn't know how to reduce multis yet, no.
20:42 pmichaud It has a problem with &a
20:42 ruoso ok...
20:43 pmichaud and I don't know that we've written .reduce to be able to handle multis yet either.
20:43 ruoso pmichaud, is it very far from that?
20:43 moritz_ the Perl 6 version that I'm working on isn't
20:44 moritz_ assuming that &multi.arity returns a junction of Int's
20:44 moritz_ don't know if it's supposed to be that way
20:44 ruoso moritz_, I was thinking about it...
20:44 ruoso and ideally it shouldn't ask for the arity
20:44 pmichaud yes, it's an unresolved question what to do with multi subs that have different arities
20:45 pmichaud agreed, ideally it shouldn't ask for the arity -- but for that we need the partial signature matching that TimToady is working on
20:45 pjcj_ joined #perl6
20:45 ruoso yes... I'd say it's better to wait for that before implementing
20:46 moritz_ I don't like to wait for spec changes, because they sometimes take quite long
20:46 wayland76 moritz_: Shouldn't www.perl6-projects.org forward to perl6-projects.org?
20:46 moritz_ and re-writing a builtin isn't all that much work
20:46 moritz_ wayland76: that would be nice, yes...
20:46 pmichaud I don't mind if the implementation precedes the spec a bit, unless it's likely we'll end up going down a rabbit hole.
20:47 ruoso TimToady, what about Signature.ACCEPTS($capture, :allow-partial) while still setting $/ ?
20:47 pmichaud :allow-partial looks promising to me.
20:47 ruoso you can even use it as an adverb, I think
20:48 ruoso $capture ~~ $signature :allow-partial;
20:48 pasteling "wayland76" at 118.208.226.194 pasted "Error building rakudo" (6 lines, 739B) at http://sial.org/pbot/35445
20:48 ruoso is that it?
20:48 pmichaud I think so.
20:48 ruoso maybe just :partial actually
20:48 wayland76 Question for the rakudo guys -- I'm trying to get rakudo to build as an RPM.  Can anyone help with the attached error?
20:49 pmichaud technically that's an error building parrot, I think.
20:49 ruoso if $capture ~~ $signature :partial { ... }
20:49 moritz_ wayland76: www.perl6-projects.org now works
20:49 wayland76 moritz_: Thanks
20:50 wayland76 pmichaud: I'm not using the --gen-parrot option, if that helps
20:51 pmichaud wayland76: I don't know the current status of parrot's "make install" target, if that's what you're asking.
20:52 wayland76 I should have said -- I'm in the rakudo directory, and "perl Configure.pl" works fine, but I get this error doing "make"
20:53 moritz_ pmichaud: http://nopaste.snit.ch/15853 that passes all tests
20:53 pmichaud "make"?  Or "make install"?
20:53 wayland76 just "make"
20:53 pmichaud what svn revision of parrot?
20:53 pmichaud wait, let me back up a bit.
20:53 wayland76 Err, the latest, but I've turned that into an RPM as well
20:54 pmichaud you have a copy of Parrot somewhere, but not a subdirectory of rakudo?
20:54 wayland76 and the RPM-building process does strange things, and I had to modify parrot's RPM building to get this far with rakudo
20:54 wayland76 yes, that's right
20:54 moritz_ there's a patch from allison sitting in RT to get that working
20:55 wayland76 moritz_: I've applied that too
20:55 pmichaud moritz_: I think it's an oldish patch, though.  It was before I did a lot of other things for --gen-parrot
20:55 wayland76 It didn't work :(
20:55 wayland76 ie. it helped some, especially after I manually applied the failed bits
20:56 wayland76 but it still wasn't enough by itself
20:56 rodi quit
20:56 rodi sorry :-\
20:56 pmichaud quit:  No such file or directory
20:56 bacek std: sub infix:foo($a,$b) {...}; [foo] 1..10;
20:57 p6eval std 25796: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/70TRF5cLn8 line 1:␤------> [32msub infix:foo($a,$b) {...}; [foo] [31m1..10;[0m␤    expecting any of:␤ infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED
20:57 p6eval ..00:02 36m␤»
20:57 wayland76 (incidentally, what's the patching process at the moment?  Do we do a pull request on github?)
20:57 * ruoso just sent a reply with the latest suggestion of $cap ~~ $sig :partial
20:57 moritz_ wayland76: no, we send patches to RT
20:57 pmichaud currently I'm still asking for patches to RT
20:57 bacek std: say "Hello"
20:57 p6eval std 25796: OUTPUT«ok 00:04 34m␤»
20:57 bacek std: sub infix:<foo>($a,$b) {...}; [foo] 1..10;
20:58 p6eval std 25796: OUTPUT«ok 00:03 39m␤»
20:58 pmichaud patches to RT make it easier to reply with suggestions for fixes
20:58 wayland76 ok, I'll document that.  People were asking last night
20:58 * ruoso later &
20:59 wayland76 btw, one of the current problems with 24x7 coverage on here seems to be that, in Australian time, no-one can answer questions about how to get patches accepted
20:59 pmichaud depends on what you mean by "get patches accepted"
20:59 wayland76 People at that time of night have created http://wiki.github.com/rakudo/​rakudo/steps-to-create-a-patch
20:59 pmichaud yes, I know, and we've been needing to update that.
20:59 wayland76 But it's not in alignment with what you just said (I'll fix that)
21:00 pmichaud There's also:  http://wiki.github.com/rakudo/ra​kudo/frews-recommended-workflow
21:00 pmichaud which is far closer to what I'd like to see happen.
21:00 wayland76 Yes, they created that too :)
21:00 moritz_ people are busy and productive
21:00 moritz_ now we need to channel that
21:00 wayland76 ie. frooh_ has been working on this, but s1n is the most put out about it
21:01 wayland76 (ie. about not getting patch review)
21:01 pmichaud frew's workflow still has us doing pull requests from github, and I'd like to get to the point where we can do that, but we're still working out the process
21:01 pmichaud I did review s1n's patches, I don't know if he saw the reviews.
21:01 pmichaud (which is another reason why RT is better)
21:01 wayland76 Is this just today, or earlier?
21:01 pmichaud earlier.  I haven't seen a patch from s1n recently.
21:01 wayland76 ok.
21:01 AzureStone_ joined #perl6
21:01 pmichaud I should say "which is another reason why RT is currently better"
21:02 wayland76 I'll try to communicate all this info back to them when they come online
21:04 pmichaud If I review a patch on github, I don't know of an easy way to communicate how to see that review.
21:05 wayland76 Ok.  So you can write the review somewhere, but you need a button that says "e-mail this person", right?
21:05 dalek rakudo: 0c893bc | (Moritz Lenz)++ | src/ (2 files):
21:05 dalek rakudo: Implement Any.reduce in Perl 6, bacek++, pmichaud++
21:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​c893bc4449bbfa6da5c501b00779912b96c8e59
21:05 bacek pmichaud: you can leave comments on patches in github
21:05 pmichaud bacek: yes, but how do people see those?
21:05 pmichaud bacek: leaving comments on patches in github is what I've been doing.  AFAICT nobody has even noticed my comments.
21:07 bacek pmichaud: did you commented my patches? (I'm just trying to figure out did I missed them)
21:07 pmichaud bacek: in your case there were some 40-50 commits in the fork queue -- far too many for me to figure out what was going on.  I just ignored them.
21:07 wayland76 Btw, I've tracked down the make problem a little more
21:08 wayland76 The error is in /usr/bin/perl -MExtUtils::Command -e cp "*.so" ../../dynext
21:08 bacek pmichaud: :)
21:08 wayland76 ...but ../../dynext is not a directory
21:09 wayland76 Which means something failed somewhere earlier
21:09 wayland76 Is there a way to tell it where dynext lives?
21:11 moritz_ isn't the question more "where should the .so files installed to?"?
21:11 wayland76 Good point :)
21:12 * bacek noticed 140 failing tests in spectest-progress
21:12 bacek Known issue?
21:12 moritz_ bacek: yes, I forgot to push a change
21:12 moritz_ shame on me
21:12 bacek moritz_: ah, ok.
21:12 pmichaud bacek: but should be fixed now -- you need to pull latest changes probably.
21:12 ujwalic does PARROT_RUNTIME effect dynext?
21:13 pmichaud wayland76: I only have about 20 minutes left here...but here's what I know so far
21:13 pmichaud (1)  I don't know that anyone has gotten Rakudo to build using the latest installed parrot
21:13 pmichaud (2)  there were patches done a few weeks ago to build rakudo against an installed parrot, but both parrot's install sequence and rakudo's configure sequence have changed substantially since then
21:13 bacek rakudo: my @a; for @a.list or fail('BOOO') -> { say "hi" };
21:13 p6eval rakudo d8f59e: OUTPUT«No exception handler and no message␤current instr.: 'return' pc 15728 (src/builtins/control.pir:39)␤»
21:14 bacek rakudo: try { my @a; for @a.list or fail('BOOO') -> { say "hi" }; }; say "bye"
21:14 p6eval rakudo d8f59e: OUTPUT«bye␤»
21:14 wayland76 pmichaud: Ok, thanks
21:14 pmichaud there's more :-)
21:14 bacek rakudo: try { my @a; for @a.list or fail('BOOO') -> { say "hi" }; say "yak"}; say "bye"
21:14 p6eval rakudo d8f59e: OUTPUT«bye␤»
21:14 pmichaud (3)  even if Parrot's "make install" step is working, I have no idea if the RPM generation stuff has been brought up-to-date with the latest make install
21:15 bacek rakudo: try { my @a = (1); for @a.list or fail('BOOO') -> { say "hi" }; say "yak"}; say "bye"
21:15 wayland76 pmichaud: I've done #3 myself :)
21:15 p6eval rakudo d8f59e: OUTPUT«hi␤yak␤bye␤»
21:15 pmichaud so, if you're trying to build from a Parrot RPM, it's very possible that the RPM is about two generations removed from the current state of building an installable version of parrot, which itself hasn't been completely proven afaik
21:15 bacek moritz_: you can squash few lines in List.reduce :)
21:16 wayland76 But I'm trying to build a Rakudo RPM which doesn't even have an install step :)
21:16 pmichaud bacek: note that fail only really works inside of a Routine.  A block isn't sufficient.
21:16 pmichaud wayland76: if the parrot RPM doesn't have all of the tools in it necessary for building Rakudo, or if it has some of the paths in the wrong place, then you're likely to get the error you're seeing.
21:17 bacek pmichaud: inside of List.reduce it will work, isn't it?
21:17 moritz_ bacek: I don't optimize my code for brevity, at least not primarily ;-)
21:17 pmichaud that's a Routine, yes.
21:17 wayland76 I've made it include the appropriate tools, but now the paths are all wrong :)
21:18 bacek moritz_: ya-ya. s/self./@./ :)
21:18 moritz_ ;-)
21:18 wayland76 Anyway, thanks for all this.  I'll start submitting patches when I have something that works :)
21:18 pmichaud wayland76: that'll be great, I very much look forward to it.
21:18 pmichaud Rakudo's next release is nine days away.  :-)
21:19 bacek pmichaud: btw, can I ask for "admin" permissions in RT?
21:19 pmichaud what do "admin" permissions do?
21:19 bacek To merge/close tickets
21:20 pmichaud I don't know how to grant those.  If someone else does, perhaps they can tell me how to do it (or I'm okay with someone else granting you admin perms)
21:21 bacek pmichaud: ok. I have to figure out who can grant them...
21:21 moritz_ Robrt said that pmichaud should have the privileges to do so ;-)
21:21 moritz_ maybe Coke also has, I don't remeber that
21:22 bacek afk & $self ~~ DayJob
21:23 PacoLinux joined #perl6
21:23 szabgab joined #perl6
21:32 pmichaud bacek: I think you now are able to edit tickets in RT.
21:33 pmichaud you're listed as a member of the purported group, at any rate.
21:49 netsquire left #perl6
21:55 wayland76 Btw, there's no point me submitting Rakudo fixes until the Parrot RPM build works.  So hopefully I'll get things sorted out today :)
21:58 wknight8111 joined #perl6
21:58 ruoso joined #perl6
22:00 nihiliad left #perl6
22:06 donaldh joined #perl6
22:11 ejs left #perl6
22:24 DemoPhreak joined #perl6
22:25 frioux joined #perl6
22:25 wayland joined #perl6
22:34 donaldh joined #perl6
22:37 Tene_ joined #perl6
22:41 angelixd joined #perl6
22:42 Limbic_Region joined #perl6
22:44 |jedai| joined #perl6
22:45 Kimtaro joined #perl6
22:50 nihiliad joined #perl6
22:52 Psyche^ joined #perl6
23:14 skids joined #perl6
23:15 PacoLinux joined #perl6
23:28 kate21de1 joined #perl6
23:30 bacek_ joined #perl6
23:31 wayland Is it reasonable to assume access to File::Spec for the rakudo Configure.pl ?
23:32 moritz_ yes
23:32 moritz_ it's a core module since 5.00405
23:32 moritz_ I think Configure.pl needs 5.008 at least anyway
23:33 wayland What about Cwd?  And is there a place that lists which modules first came with which versions?
23:34 moritz_ Module::Corelist on CPAN
23:34 wayland Great :)
23:34 moritz_ it also installs a command line tool called `corelist'
23:34 moritz_ corelist Cwd
23:34 moritz_ Cwd was first released with perl 5
23:34 moritz_ aka "yes" ;-)
23:35 Limbic_Region moritz_ - if you didn't know, buubot has a plugin for Module::CoreList
23:36 Limbic_Region buubot: core Cwd
23:36 buubot Limbic_Region: Added to perl core as of 5
23:36 moritz_ Limbic_Region: ah, I tried it with 'corelist' the other day
23:36 avar buubot: core Switch
23:36 buubot avar: Added to perl core as of 5.007003
23:36 avar BLASTED 5.007003!
23:36 Limbic_Region and what a mistake that was
23:36 moritz_ ... and deprecated for 5.012
23:37 Limbic_Region buubot: define deprecate
23:37 moritz_ buubot: core CGI::Switch
23:37 buubot moritz_: Added to perl core as of 5.004
23:37 Limbic_Region hrm, that plugin must not be active
23:38 Limbic_Region I was going to poke fun and say that the definition of deprecate in perl 5 means we will leave it around for a decade but sometimes annoy you with warnings how you can't rely on this behavior
23:39 moritz_ Limbic_Region: I know that feeling very well, but blead *is* changing, and Nicholas is working hard on the infrastructure to remove core modules
23:39 moritz_ and he does make progress, so I both hope and believe that we'll *really* get rid of some cruft soon
23:40 moritz_ and Karl Wiliamson (probably misspelled the name) does lots of stuff to fix The Unicode Bug
23:40 Limbic_Region oh, soon - another thing that has a different definition in perl 5 land
23:41 moritz_ soon = next release ;-)
23:41 * Limbic_Region apologizes
23:41 moritz_ so while I haven't seen some whizzbang features in blead yet, I expect a very good release ... in a few years ;-)
23:42 * Limbic_Region had a rough day and has a head ache and shouldn't bitch about a language he loves so much
23:42 moritz_ s/some/any/
23:42 Limbic_Region and on that note, I think I will go lay down for a while
23:42 moritz_ no offense taken ;-)
23:42 * moritz_ too
23:43 TimToady I'd like to see support for things that would make P6 integration easier :)
23:43 moritz_ for example?
23:43 TimToady real lazy lists
23:43 s1n i'd like to see Toast::Bread and Flush::Toilet features :)
23:44 moritz_ TimToady: ah, I guess that's non-trivial
23:44 TimToady Everything Is An Object, including subs and methods
23:44 TimToady lexical anything
23:44 TimToady context vars
23:45 TimToady a reentrant regex engine
23:45 wayland s1n: Note that I asked pmichaud about submitting patches, and he said that they all still also have to go in RT
23:45 TimToady with real closure callouts
23:45 TimToady that'll do for starters :)
23:45 moritz_ a reentrant parser for doing these lovely { use v5; ... } blocks ;-)
23:46 wayland He doesn't like the git push thing because there's no good way to send people a message saying that he's reviewed their patch
23:46 TimToady well, I know how to emulate the parser bit without help from p5 regexen :)
23:46 wayland he said he's reviewed some of yours (s1n), but not recently
23:46 TimToady but it would be nice if I could do something with use v5 in STD
23:47 moritz_ TimToady: do you even want to parse Perl 5 with anything different than perl5?
23:47 wayland76 (ie. Perl6 :) ? )
23:47 TimToady well, then the p5 parser needs to know when to quit on the unmatched }
23:47 TimToady so there's another thing
23:48 moritz_ .oO( toke.c )
23:48 bacek_ perl6: 'sub foo($x is ro) { $x<foo> = "bar"; }; my %h; foo(%h); say %h.perl
23:48 p6eval elf 25796: OUTPUT«Parse error in: /tmp/Qy98KFtN9y␤panic at line 1 column 1 (pos 1): Error in quotesnabber␤WHERE: 'sub foo($x is ro) { $x<foo> = ␤WHERE: /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:1302:in `quotesnabber'␤  (eval):1:in `__quote_8191772'␤  STD_red/prelude.rb:406:in
23:48 p6eval .....
23:48 p6eval ..rakudo 0c893b: OUTPUT«Syntax error at line 1, near "'sub foo($"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
23:48 p6eval ..pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting "\\", variable name or "'"␤    at /tmp/JI0yKOQHGF line 2, column 1␤»
23:48 bacek_ perl6: sub foo($x is ro) { $x<foo> = "bar"; }; my %h; foo(%h); say %h.perl
23:48 TimToady that being said, I wouldn't be surprised if the normal parser to use for v5 was something more PPI-like
23:48 p6eval pugs: OUTPUT«\(\("foo", "bar"),)␤»
23:48 p6eval ..elf 25796, rakudo 0c893b: OUTPUT«{"foo" => "bar"}␤»
23:49 bacek_ is it how it shoudl work?
23:50 moritz_ is there even an 'is ro' trait?
23:50 TimToady nope
23:50 TimToady there's readonly
23:50 awarefish joined #perl6
23:50 bacek_ is it 'ro' by default?
23:50 moritz_ then it should probably die outright
23:50 bacek_ perl6: sub foo($x) { $x<foo> = "bar"; }; my %h; foo(%h); say %h.perl
23:50 p6eval pugs: OUTPUT«\(\("foo", "bar"),)␤»
23:50 p6eval ..elf 25796, rakudo 0c893b: OUTPUT«{"foo" => "bar"}␤»
23:50 TimToady it should die when it doesn't recognize the trait, presumably
23:51 bacek_ what about "deep readonly" containers? How I can declare them?
23:52 diakopter Tie::STOREOnce::Deeply
23:52 bacek_ diakopter: in Perl6 :)
23:52 TimToady deep readonly isn't really a trait, it's more of an action, almost equivalent to a deep clone
23:53 pasteling "wayland76" at 121.44.209.19 pasted "Another make failure on Rakudo" (12 lines, 532B) at http://sial.org/pbot/35454
23:53 TimToady deep DOW semantics ("die on write" :)
23:53 bacek_ but deep clone is more expensive...
23:54 wayland76 Should I ask about that rakudo error here, or on #parrot?
23:54 * bacek_ thinks about C++ style 'const' and 'non-const' versions of operators
23:54 moritz_ than... what? temporarily marking the data structure as read-only, deeply?
23:54 TimToady alternately we need references with capabilities :)
23:54 s1n wayland76: so he wanted to send a message but couldn't?
23:54 s1n that's wholly untrue
23:54 s1n pmichaud: http://github.com/guides/pull-requests
23:55 moritz_ s1n: no, he commented on commits, and suspects that nobody ever saw the comments
23:55 s1n near the bottom, it shows how you can respond to them _via github_'s message interface
23:55 s1n ohhh
23:55 moritz_ and I believe that, because I've never ever seen a commented commit on github
23:55 s1n no, i mean, i don't want to use the commits as a blog posting
23:56 TimToady or possibly a context variable that disables all lvalue access in a dynamic scope
23:56 s1n at the least, a message could be sent to say "i've commented on the commit"
23:56 TimToady but that probably implies a degree of FP-ness that some primitives might not want to accomodate
23:56 diakopter seems like a lock
23:56 * moritz_ -> bed
23:57 TimToady they're dropping like flies
23:57 TimToady diakopter: more like STM, I think :)
23:58 TimToady where the transaction is "no transaction allowed" :)
23:58 diakopter "sorry, writing into this container is taking forever.  literally."
23:58 s1n wayland76: i see someone under the nick "rakudo" rejected one of my commits a week ago, i suspect that was moritz_
23:59 * diakopter is not supposed to be accessing the internet during my opsmgmt final exam
23:59 s1n wayland76: yes, i see some other comments to commits, but github doesn't ever notify me when there are comments to my commits...

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs