perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas
Set by mncharity on 6 March 2009.
s1n it would be nice if i github notified me of these types of things 00:00
wayland76 Agreed, and that's why pmichaud *also* requires a message via RT 00:01
s1n wayland76: okay so he said squash the commit, send a pull request, and then submit to RT? 00:03
submit the whole patch or a link?
00:07 awarefish left
wayland76 The patch, according to the backlog 00:08
"patches to RT make it easier to reply with suggestions for fixes", 20:58 yesterday
s1n ahh okay, that helps 00:10
basically, i had no idea anyone had even seen any of the commits, so i stopped
github-- for not sending a notice
wayland76 If you can tell me what command to run to get the diff, at what point in the patch process, that would be great (so I can add it to the doco) 00:11
Agreed, github--
I went around looking for notification options, and mine already seem to be turned on
@karma github
lambdabot github has a karma of -1
wayland76 @karma git
lambdabot git has a karma of 3
s1n wayland76: git diff will create a diff just like svn diff used to
i have to go out for a run 00:12
back in an hour&
wayland76 but at what point in the process (answer in an hour :) ) 00:13
frooh_ s1n: did it put a message in your github mailbox at all? 00:37
anyone home? 00:39
wayland76 no-one here but us chickens :)
frooh_ he must be thesising 00:40
wayland76 no, exercising. See his second-last message :)
frooh_ ah, ok
wayland76 frooh_: can you tell me at what point in the process the diff needs to be run, so that it's being run against the current head? 00:41
frooh_ so we need some way to tell people that patches (github push requests) have been reviewed
wayland76 ...and did you see osteele.com/archives/2008/05/my-git-workflow
frooh_ wayland76: I am not sure I follow your question
wayland76 frooh_: That's right, but github doesn't have any options for that that I can see
frooh_: Look at the last line of wiki.github.com/rakudo/rakudo/steps...te-a-patch and tell me where it belongs :) 00:42
(or update it yourself, if you prefer :) )
frooh_ ok 00:43
so we need to submit real patches to RT
wayland76 That's right.
(btw, with the osteele link, look at the pictures -- that's what I like about it :) )
frooh_ ok, I figured out how to do that yesterday, but I didn't know if we wanted to actually move away from RT or not 00:44
so I will add instructions on how to submit a patch generated by git to RT
now how does one submit a patch to RT?
wayland76 1) Get an account 00:45
2) Create a new ticket, with patch attached :)
frooh_ ok...
so url? :-)
wayland76 The perl6 queue is at rt.perl.org/rt3/Search/Results.html...'stalled') 00:46
(urgh!)
frooh_ awesome url there guys...
wayland76 Wait, I'll get something better
frooh_ too late
wayland76 rt.perl.org/rt3/
...and then click on "perl6" :)
Why too late? 00:47
frooh_ I already opened your link
with the awesome pseudo sql inside of it
ok, I could never figure out where RT was and whatnot, so this may be helpful to others 00:48
wayland76 Yeah, it usually takes me a few minutes of googling/scrabbling when I want it too :)
frooh_ wow
ok
so I founed pmichaud's comments on my patch
it is extremely not obvious
wayland76 Admittedly, I only interacted with 2 or 3 rakudobugs :) 00:49
No?
frooh_ yeah
you have to like, go to your personal repo
wayland76 Is it a little "1" with an envelope next to it?
frooh_ find the branch you asked to submit
wayland76 oh, that's bad
github--
frooh_ and and then it's got a message icon next to it
it's REALLY bad 00:50
well, in general they do things nicely
but honestly guys?
couldn't they make it a message to the user?
AND an email?
support.github.com/search/discussio...ll+request 00:51
I'm gonna ask them about this 00:52
00:52 eternaleye joined 00:57 nipotan left
frooh_ support.github.com/discussions/site...-and-email 00:59
feel free to add your own comments
01:03 kate21de1 left 01:09 hercynium joined 01:18 hercynium left, PacoLinux left, kimtaro_zzz left, Limbic_Region left, scrottie left, cxreg left, szbalint left, yves left, allbery_b left, ilbot2 left, gravity left, f00li5h left, mj41 left, sri_kraih_ left, bacek left, ingy left, simcop2387 left, c1sung left, moritz_ left, pugs_svn left, buubot left, PerlJam left, Porsbo left, lisppaste3 left, Grrrr left, buu left, frodwith left, baest left, Maddingue left, IRSeekBot left, jan_ left, kst left, tarbo2 left, eternaleye left, skids left, wayland76 left, Eevee left, broquaint left, meteorjay left, idemal left, Tene left, p6eval left, Sepheebear left, s1n left, frobnitz left, kcwu left, spinclad left, xinming_ left, avar left, lambdabot left, wknight8111 left, literal left, ujwalic left, mtve left, cls_bsd left, awwaiid left, |jedai| left, Helios left, SamB left, silug left, zev left, cotto left, Aisling left, pasteling left, zostay left, diakopter left, bigpresh left, AzureStone_ left, [particle]1 left, pjcj_ left, PZt left, oskie left, ascent_ left, perlbot left, BinGOs left, edenc left, szabgab left, rmt_ left, ewilhelm left, revdiablo left, Maghnus left, Southen_ left, bacek_ left, frioux left, ruoso left, TimToady left, Matt-W left, clkao left, integral left, nihiliad left, agentzh left, viklund left, gbacon left, NoirSoldats left, drbean left, araujo left, yahooooo left, Caelum left, carpftb_ left, Patterner left, mikehh left, krunen left, Khisanth left, japhb left, namenlos_ left, Exodist left, nbrown left, elmex left, wolverian left, hexmode left, Gothmog_ left, jnthn left, hcchien left, sunnavy left, frooh_ left 01:19 TimToady joined, gfldex joined, hercynium joined, eternaleye joined, bacek_ joined, PacoLinux joined, skids joined, Patterner joined, nihiliad joined, kimtaro_zzz joined, |jedai| joined, Limbic_Region joined, Tene joined, wayland76 joined, frioux joined, ruoso joined, wknight8111 joined, szabgab joined, AzureStone_ joined, pjcj_ joined, literal joined, Helios joined, diakopter joined, p6eval joined, mikehh joined, rmt_ joined, krunen joined, drbean joined, ujwalic joined, PZt joined, sri_kraih_ joined, SamB joined, oskie joined, agentzh joined, Khisanth joined, viklund joined, PerlJam joined, japhb joined, gbacon joined, NoirSoldats joined, namenlos_ joined, araujo joined, bacek joined, Exodist joined, ingy joined, ewilhelm joined, revdiablo joined, irc.freenode.net sets mode: +o TimToady, nbrown joined, Porsbo joined, lisppaste3 joined, scrottie joined, ilbot2 joined, yves joined, cxreg joined, f00li5h joined, szbalint joined, allbery_b joined, gravity joined, mj41 joined, Maghnus joined, [particle]1 joined, jan_ joined, simcop2387 joined, elmex joined, c1sung joined, Sepheebear joined, kst joined, Eevee joined, s1n joined, wolverian joined, hexmode joined, silug joined, zev joined, mtve joined, frobnitz joined, kcwu joined, spinclad joined, Aisling joined, avar joined, idemal joined, Grrrr joined, IRSeekBot joined, buu joined, Maddingue joined, broquaint joined, pasteling joined, xinming_ joined, cotto joined, cls_bsd joined, tarbo2 joined, frodwith joined, zostay joined, buubot joined, pugs_svn joined, lambdabot joined, awwaiid joined, meteorjay joined, baest joined, irc.freenode.net sets mode: +v lambdabot, moritz_ joined, bigpresh joined, ashizawa joined, felipe joined, c9s joined, r0bby joined, xuser joined, rafl joined, cookys joined, miloux joined, pmichaud joined, dalek joined, charsbar joined, jrockway joined, perlbot joined, ascent_ joined, BinGOs joined, edenc joined, Southen_ joined, yahooooo joined, Caelum joined, carpftb_ joined, Matt-W joined, integral joined, clkao joined, hcchien joined, sunnavy joined, jnthn joined, Gothmog_ joined, irc.freenode.net sets mode: +ooo moritz_ pmichaud jnthn, frooh joined
frooh how on earth do I make a ticket on rt? 01:19
bacek_ frooh: mailto:rakudobug@perl.org
frooh ok, so does someone actually need a login to make a ticket then?
bacek_ frooh: no. Just send mail 01:22
frooh sweet
thanks again bacek_
01:23 gfldex_ left
bacek_ rakudo: say reduce -> $a, $b?, $c? { $a + ($b//0) + ($c//0) }, 1,2; 01:25
p6eval rakudo 0c893b: OUTPUTĀ«3ā¤Ā»
frooh rakudo: 1 01:49
01:49 ujwalic_ joined
p6eval rakudo 0c893b: RESULTĀ«1Ā» 01:49
frooh rakudo: my @a = (1, 2, 3); @a[1..*]; 01:53
p6eval rakudo 0c893b: RESULTĀ«[2, 3, undef]Ā»
frooh rakudo: my @a = (1, 2, 3); @a[0..*];
p6eval rakudo 0c893b: RESULTĀ«[1, 2, 3, undef]Ā»
frooh rakudo: my @a = (1, 2, 3); @a[0..*-1];
p6eval rakudo 0c893b: RESULTĀ«[1, 2, 3]Ā»
frooh rakudo: my @a = (1, 2, 3); @a = @a[1..*-1];
p6eval rakudo 0c893b: RESULTĀ«[2, 3]Ā»
frooh rakudo: my @a = (1, 2, 3); @a[*-1]; 01:54
p6eval rakudo 0c893b: RESULTĀ«3Ā»
frooh anyone here have any idea how I could change an array in a method (pop atm) ? 01:58
it says array is a readonly variable
I think I figured it out
sorry
is rw
skids Have there been any attempts to express what Perl6 code implementing an iterator would look like? E.g. what's an iterator do say where a coroutine would yield() -- throw a signal caught by prefix:<=> ? 02:01
Or is it assumed to just use a state variable? 02:02
02:02 kjwcode joined 02:05 wknight8111 left 02:06 frooh left, ujwalic left 02:08 frooh joined
frooh I think I have bad ram... 02:12
my computer crashes too often for that not to be the case I think
rakudo: 1 02:17
p6eval rakudo 0c893b: RESULTĀ«1Ā»
skids frooh: often it can be memory bus timing problems, as well. Oddly, compiling kernel is still one of the best tests, even with all these diagnostic utils :-) 02:30
frooh skids: that may be true, but I set the timing to what the ram specs are
skids Heheh. Yeah, ehem, specs. I seldom put much stock in those things :-) 02:31
frooh well it just sucks because I got good quality ram and stuff 02:33
I am gonna run memtest all night and if there are any issues I am getting an RMA
but I mean, it crashes something like every other day
maybe every third
my laptop NEVER crashes
skids or notch it down a bit or add wait states, if your BIOS will let you, and see if it stops. 02:34
frooh maybe X does, but not everything like this
skids (and check your fans)
frooh yeah 02:36
wayland76 I've got a computer that crashes when it gets too cold (like under about 20 degrees C) 02:41
btw, skids, have you had a chance to look at S17? 02:42
frooh weird
s1n frooh: no, i did not get any sort of message in my github inbox when someone commented on a patch 02:43
frooh s1n: yeah, me neither 02:44
I added some directions on how to submit the patch via rt
but let me warn you
the git rebase -i origin/master stuff can involve changing your history 02:45
which means mega hassle when you do a push
but there really isn't much to do about that
skids wayland76: yes, I did. Right now I'm trying to hunt down all coro-like constructs in the rest of the specs to see if we really need them or just syntactical sugar for a work-alike.
frooh so if we *do* decide to just use RT only I plan on just sticking with my own personal repo and not doing push's/merge's till the patch is accepted 02:46
wayland76 skids: Great :) Remember the Open Source motto of "commit early, commit often"
skids Yeah, I know I know but really all I have to "commit" is a lot of unanswered questions at this point.
s1n frooh: i was thinking of just using my personal fork for a temporary repo and submitting patches to RT from there 02:47
wayland76 frooh / s1n: Some of those support requests on github asked for e-mail notification, and I thought they said they were planning to do it
s1n that is, squash them in git as per your instructions, then link the commit on github
skids I notice SMOP is very aware of the stack problems inherent in coros, BTW. The Parrot code is too thick for me at the moment, but I assume it is as well.
s1n wayland76: where did they say they were adding email notifications?
frooh s1n: yeah I agree, but what I am saying is that if you push into your own fork and then change some stuff and squash it again it gets mad at you
kjwcode finds that keeping a rakudo-clean, rakudo-build, and rakudo-work area created with "cp -R" works well.
wayland76 at that point, it should be more possible to do github
frooh wayland76: I didn't read too many of them
s1n frooh: noted, i'll just have to stick to branching for every single friggin patch 02:48
frooh hahaha
wayland76 frooh: Me either, but I saw one in passing. I'll try to find it
frooh wayland76: it's no big deal
don't worry about it
02:48 Limbic_Region left
frooh because until they implement the feature we should use rt 02:48
s1n frooh: will i have problems making new branches and pulling upstream when i start a new branch/patch?
skids cooincidentally I was just trying to figure out how to back out of my branch back to master.
frooh git co master/ 02:49
?
er
yeah
s1n yeah, that'll switch to the master branch
frooh no / though
skids Yeah that gives me "Your branch is behind the tracked...."
s1n git pull upstream?
frooh can't wait till we are all experts at git 02:50
skids "You asked me to pull without telling me which branch yada yada"
frooh git pull origin master
probably
kjwcode git branch -d branchname?
wayland76 frooh: Nah, looks like I'm wrong -- sorry. But they *did* say that they're planning to revise pull requests soon 02:51
frooh yeah, I did see that
s1n why not git pull upstream master?
origin would be his fork/remote
skids git pull origin master actually pulled some stuff, that's progress, now I just have to figure out what from my old stuff is still mixed in.
frooh well, your upstream probably = my origin
for me origin is upstream and frioux_origin is my form 02:52
s1n frooh: stick to your own guide :)
frooh fork*
wayland76 I think it's git checkout -a that you want
frooh haha
k
wayland76 Unless I'm wrong :)
s1n henceforth: upstream equals rakudo proper, origin equals personal fork
skids hehe.
frooh deal
s1n skids: try upstream master
wayland76 you *have* all seen the pretty picture in osteele.com/archives/2008/05/my-git-workflow haven't you? 02:53
frooh skids: did you check into master when you meant to check in to some other branch?
kjwcode wayland76: I can't find -a as an option in "git help checkout".
frooh he probably mean git checkout -b
as in, create a branch and check it out
kjwcode Makes sense. 02:54
skids wayland76: anyway, I do have a couple comments on S07
wayland76 oh, sorry, -f
not -a
frooh reboots and looks at hardware :-( 02:55
s1n wayland76: interesting article
02:55 frooh left
wayland76 Use at your own risk :) 02:55
skids: I'm listening :)
skids One is that the language in S06 about iterators spawning threads and stuff should be integrated in a form that doesn't concentrate on scoping stuff.
And explain how that relates to laziness modes. 02:56
s1n conversation has strayed, time to work on thesis
skids The second is that we'll probably eventually be wanting either A) a "Casual" level of laziness that allows enough eagerness to improve code locality, or B) a chunk() feed component that can cache a few values to get the same effect, perhaps with all the chunk()s doing some back door communicating to get the best balance between memory profile and code locality, with user tuning via parameters. 02:59
wayland76 skids: This second idea is something that ruoso and TimToady were arguing about recently
I don't know that they came to a conclusion 03:00
skids Yeah I've been noticing the chats and another TODO item is backlogging since it all happens while I'm at work :-)
wayland76 I don't backlog either if it's been more than a day or two 03:01
Can you give me the line number for the S06 threads stuff you're talking about?
skids The third is that really if we can figure out how to pass parms to an =$iter we don't really need a formal coro construct.
wayland76 In spite of having written the Iterators spec, I don't know that much about them -- I just cobbled together bits from ruoso, and incorporated others' changes 03:02
ruoso skids, S07 describes that
we name the "casual" level as "mostly lazy"
skids Yeah "mostly lazy" does not strike me as quite being that. 03:03
wayland76 Maybe we need a better writeup for "mostly lazy", if you and ruoso are thinking the same thing. I'll let you argue it out for a bit :)
skids waits for firefox's search to stop soaking his cpu on S06 -- shoulda gone to the raw pod.
wayland76 Tip for skids: it really is worth doing an svn checkout of the Specs directory from the pugs repository 03:04
skids I have them checked out. I like interactive search. "less" is nice but still tedious. 03:05
anyway search for "promise of parallelizability" 03:06
If someone reads that paragraph and the one above it, they might need it spelled out that in Strict Laziness the parallism isn't utilized, and the order (I assume) of execution is guaranteed. 03:07
ruoso skids, strict laziness assume that, yes 03:08
so you can work with streams 03:09
skids Good.
ruoso 'mostly lazy' allows optimizations like auto-threading 03:10
in S07 it says that it won't fetch any data unless the user requests it
iirc
skids So anyway the way I read "Try to obtain available items without" forcing the eval of lazy objects is that it will do so to the letter, and that precludes forcing 2 or 3 lazy evaluations to fill a cache.
pugs_svn r25797 | wayland++ | Added a cross-reference to S07-iterators, as suggested by ruoso/skids on IRC.
ruoso (in the 'strict lazy' that is)
03:11 frooh joined
ruoso skids, I don't quite see what you mean, I think 03:12
frooh is an empty array necesarily == to ()? 03:13
ruoso ==, yes
because both will numify to 0
===, probably not
frooh ok, great 03:14
skids Well, let me try to figure out how to phrase that, in the meantime, it leaves me asking "how do you get something that is mostly lazy" because nothing there seems to be...
ruoso sub foo(*@items) {...}; 03:15
that's mostly lazy
wayland76 skids: If you're wondering, that update I sent through updates S06
skids wayland76: thanks 03:16
ruoso infix:<,> is also mostly lazy
so.... 03:17
my $a := (@a,@b,@c);
makes $a 'mostly lazy' 03:18
frooh are the () required?
ruoso no.. .
frooh k, didn't think so.
just making sure
skids OK, so the way I read "Mostly lazy" is that if you have func1() <== func2() <== (1,2,3) func2 could be as eager as it wants, but func1 might be starved and not be able to nudge func1 due to the not forcing lazy's thing.
ruoso skids, func1 would not "starve" 03:19
wayland76 ?
ruoso because that would mean that it is "explicitly" requesting something
both in 'mostly lazy' and in 'strict lazy' it should go for the data when asked
wayland76 skids: Is that last "func1" in your comment supposed to be "func2"? 03:20
ruoso but in 'mostly lazy' the runtime is free to go and pre-fetch data if it's idle
skids by starved I mean in a precaching and code locality sense. func1 couldn't ask func2 to get the next value while it was processing and getting ready to spit out resukts out the other end.
yeah, I'm very tired, sorry. 03:21
ruoso skids, basically, it there are no values, it will have to wait
there's no magic around thata
wayland76 ruoso: Did you have any thoughts on skids' idea of passing paramaters to an iterator? 03:23
frooh anyone know if the pir classes can use stuff from the setting?
ruoso wayland76, I think i missed that
skids Well, what I'm trying to get at is will such pipes really run optimally on a performance level given what you understand "Mostly Lazy" to mean. Will they get things moving so an iterator gets to work on a few values before it has to yield cache space for another iterator. 03:24
To state things as a goal.
frooh: I believe so, but have not tried. 03:25
frooh skids: excellent
thanks
I'll try
ruoso I'm realy having a hard time parsing your last sentence...
wayland76 ruoso: skids made 3 points immediately after I said "skids: I'm listening :)". His third point was about passing parameters to an iterator, and I figure you're the best person to answer it
skids I'm OK with pausing on "Mostly Lazy" since obviously I'm not coherent enough to express myself :-) 03:26
frooh loves the automatic strictness of perl6
03:27 mikehh left
ruoso skids, maybe what you're missing is the "batch API" 03:27
iterators now only have the "give me the next" API
we still need to design "give me some"
or "give me as many as you can without blocking"
wayland76 I'll try to restate skids point with more punctuation: Well, what I'm trying to get at is, "Will such pipes really run optimally on a performance level, given what you understand 'Mostly Lazy' to mean? Will they get things moving so an iterator gets to work on a few values before it has to yield cache space for another iterator?" 03:28
skids chuckles
wayland76 HTH :)
ruoso ok... the mechanics around the feed operator are not quite defined yet 03:29
skids e.g. the optimal performance in f1() <== f2() <== f3 might be to run f3 six iterations, then run f2 4 iterations, then f1 2 iterations, then run round robine 2 iterations over f1, f2, f3.
ruoso but I guess it will create concurrent coroutines for each participant of the feed
wayland76 Anyway, I've gotta disappear for half an hour or so, but will backlog. 03:30
ruoso skids, but I do think feed should be 'strictly lazy' in the sense that it might be having IO as input
frooh skids: it seems that you were right, pir files use the setting
ruoso and you probably don't want to pre-read that if noone is consuming it 03:31
skids ruoso: totally agree on strict laziness. There should be deterministic forms, even if the functions involved still have to be coded as though they might be asked to thread.
frooh: the pmichaud++ was right, not me :-) 03:32
frooh haha, k
skids s/the/then/
ruoso skids, or we assume that 'mostly lazy' *never* touches IO 03:33
in which case, I think the feed could very much be 'mostly lazy'
skids I think there will be non-IO cases where strict lazy behavior will be desireable, if the functions involved have side effects. 03:34
ruoso feeds are almost functional
if you want side-effects to be predictable
you want more imperative operators
skids And, incidentally I found S07 to be very clever in a particularly perlish way :-) 03:35
You don;t think strict laziness is strict enough for that?
ruoso I think that's not a reason that would be worth defining the type of lazyness of feed 03:36
I mean 03:37
it would be ok if the feed operator didn't guarantee side-effects order...
skids Yeah that kinda leaves me wanting some "uber strict" pragma or something. 03:38
ruoso skids, just use imperative operators instead of functional operators 03:40
i.e.: loop
functional operators imply less determinism 03:41
skids Just as a side note, it might be worth specifying that while laziness may vary, item processing order at each step is guaranteed even if eager, just to be explicit 03:42
03:42 kjwcode left
skids e.g. @a = (1,2) will do @a[1] = 1 before @a[2] = 2. 03:43
unlike junctions
and hyperops 03:50
ruoso yes.... junctions and hyperops are in a different axis then eagernes/lazyness 03:51
03:52 PZt left
diakopter TimToady: this was helpful for me... robey.lag.net/2008/07/13/git-for-th...world.html 04:00
skids I have to crash and can't really get into point #3 from above tonight. 04:04
s1n anyone sign the CLA with a $DAYJOB run it by their employer first? what was their response? 04:06
Tene s1n: my employer was just fine with it
wayland76 skids: 'night, and thanks 04:07
skids To add a point #4, defining the difference of behavior in eager feeds if you have a feed component with set siglet (*@items) versus one with set siglet ($item), and on the other side, functions that can fetch slices versus ones that can only fetch single items.
erm signature I guess, not siglet 04:08
s1n Tene: i'm curious about your experience, my employer got spooked when they were surprised to learn a majority of our products are linux based, so i'm wondering what their response would be if i brought it to them
wayland76 ruoso++ and skids++ :)
s1n do companies usually involve legal and review the license?
and the CLA for that matter
Tene skids: for comparison, I work for gurulabs.com/ 04:09
wayland76 s1n: Depends on the culture of the company and the scope of the project and the scope of your involvement in it
s1n Tene: wrong nick :)
Tene >< thanks
My boss regularly files bug reports (often with patches) with open source projects
s1n they're a defense contractor so they spook pretty easily
wayland76 skids: Are you on p6l?
Tene skids: sorry, wrong nick 04:10
skids wayland76: I've been trying to avoid it. Right now I'm mailing list free. Feels good :-)
04:11 PZt joined
wayland76 ok. If you were on p6l, I'd bundle your points up myself and send them there so you'd have some discussion waiting in the morning 04:11
skids Tene: yeah I realized :-)
Tene s1n: we're only like a dozen guys, so no legal department. My boss just read it once and said it was fine.
s1n we have to get approval to add new open source applications to our products now, legal reviews the copyright notices and it's like a 6 month ordeal, but that's only for deliverable software
wayland76 but if you're not, there's no point :)
04:12 alester joined
s1n i'm curious about people at large companies with too many levels of management 04:12
wayland76 s1n: You'll probably find that will speed up once they've become accustomed to some of the main licenses
Tene s1n: does your contract cover work you do outside of business hours? 04:13
s1n wayland76: i suspect otherwise once management is involved (how they were surprised by linux usage is beyond me) 04:14
Tene s1n: most don't, and I believe that some that tried to have been ruled invalid in some states.
s1n Tene: most defense contractors have this psuedo-implicit "we own everything you do, say, and think" crap
dunno if it's remotely legal though
04:14 hercynium left
Tene s1n: has it ever been tested in court? If you're concerned, that's where I'd look. 04:15
s1n dunno, ianal
Tene That's an excellent point. Wouldn't hurt to ask a lawyer.
s1n i suspect they'd be fine with it unless i have to involve legal (i.e. them sign a CLA or something)
wayland76 s1n: you may be right about management. When I said "speed up", I meant if people do this regularly for 7 years or so :)
s1n wayland76: anytime legal is involved, things become exponentially slow and expensive 04:16
wayland76 :)
We need some way of specifying the legal code in a way that computers can understand :) 04:17
Btw, does anyone know what this mean? ...
s1n we need a way of removing the concept that an employer could own anything you do offsite
wayland76 error:imcc:syntax error, unexpected VAR, expecting '(' ('sub')
(while compiling rakudo) 04:18
s1n: That would help too
s1n wayland76: was that compiling or running sample code
wayland76 In the middle of "make"
... /usr/bin/parrot -o perl6_s1.pbc perl6.pir 04:19
s1n wayland76: hmm i haven't updated my sandbox in a while, i can't really look into it until thursday
wayland76 OK 04:20
This is with the latest parrot too
s1n i usually spend time on thursdays and fridays working on rakudo, if it's not fixed by then, i'll have to look into it
frooh wayland76: I compiled a couple hours ago and didn't get that error 04:26
everything fresh
wayland76 Yeah, I'm trying to get the build working with the RPM version of parrot/parrot-devel 04:29
frooh lemme see if it happens now
wayland76 And unfortunately, I don't really even know where to begin debugging that error :(
I'm not using the --gen-parrot option
frooh neither am I 04:30
but I do make realclean before every build
s1n wayland76: is it finding the correct parrot_config and is that current (from a realclean)?
wayland76 It's finding a copy of parrot_config. It's the parrot_config that was installed from the RPM 04:31
s1n wayland76: there's your problem 04:32
iirc the parrot install still isn't working
wayland76 Ok, but it's the problem I'm trying to fix :)
s1n okay, is the parrot config stuff valid?
does it reference current versions, and correct paths? 04:33
wayland76 It looks like it
no, three things wrong
frooh mine built fine, but it looks like you've solved the issue
s1n if all else, try gen-parrot to make sure it builds against the rakudo sanctified revision of parrot 04:34
wayland76 build_dir, libparrot_ldflags, and rpath_blib
Thanks s1n
s1n that sounds bad...
wayland76 Well, they're still pointing at the place that parrot was built, but it's not there any more 04:35
or shouldn't be :)
s1n well, is rakudo looking to those paths? if so (likely), that's not going to cut it
wayland76 Anyway, that gives me something to go on
I have no evidence that rakudo is looking there
but no evidence that it's not, either 04:36
Actually, I just checked, and those files are still there
s1n the entire build path?
wayland76 I think so. It looks like it 04:37
But that's something else that should be eliminated :)
s1n wayland76: are you trying to fix an RPM for parrot or rakudo?
wayland76 both :)
s1n oh
wayland76 :)
s1n well, for rakudo you could still do the gen-parrot
wayland76 The Parrot RPM works
s1n just tack the option in the spec file
wayland76 but I had to patch it to get it to include some of the files that rakudo relies on 04:38
s1n you could have the rakudo RPM check for parrot RPM installed, if it finds it, diff it against the PARROT_REVISION, and use the gen-parrot option appropriately 04:39
(make sure to build the fakexecutable if using gen-parrot) 04:40
wayland76 My understanding is that gen-parrot downloads parrot, and I'm specifically trying to avoid the duplication of parrots :)
(help, they're breeding!)
:) 04:41
s1n wayland76: it won't install, just build it for sanity
wayland76 Hmm, now there's a thought :)
But that won't help debug the parrot-devel RPM
s1n the parrot RPM would install, then the rakudo RPM would use it if it could, otherwise will use gen-parrot to make a fakexecutable
wayland76 Which should include everything that rakudo needs :) 04:42
s1n no it won't, but that's a chicken and the egg problem
wayland76 Not necessarily. I'll keep working on it, and thanks for all your help so far :)
s1n you could just have the rakudo spec require a valid version of parrot built somewhere on the system
not just installed, but the build tree
wayland76 Nah, don't like it :) 04:43
s1n that's why i recommended the gen-parrot option and parrot rpm check
wayland76 I should be able to download the latest rakudo and go "yum install parrot parrot-devel && rpmbuild -ta parrot.tar.gz" :) 04:44
s/parrot.tar.gz/rakudo.tar.gz/
sorry :)
s1n ideally you should be able to just do 'yum install rakudo' 04:45
that would do all the necessary bootstrapping (gen-parrot, PARROT_REVISION check, etc)
wayland76 agreed, but what if I want a more recent rakudo than the packagers are willing to go with?
s1n doesn't SPEC support svn/cvs/git repositories and packages? 04:46
i.e. gentoo has built-in support for git repository application installs
wayland76 I don't understand the question
Spec, no. RPM, maybe.
s1n i.e. doesn't the RPM SPEC support automatically pulling git/svn repo copies for local builds?
wayland76 possibly not, though; it's a binary distro 04:47
s1n wha? i've never made RPMs without SPECs?
wayland76: wrong, SRPMs aren't binary
wayland76 sorry, I should've said rpmbuild 04:48
not rpm
No, I'm pretty sure it doesn't, now that I think about it
s1n no requirement to make rakudo/parrot a binary dist?
wayland76 no, but it should work as a package on a binary distro :) 04:49
s1n what's the diff, documentation isn't binary and you can install docs on a binary system
wayland76 (unless I've misunderstood again :) )
Well, yes, but I mean "stuff that doesn't need compiling" 04:50
so binary is probably the wrong word
but it is the traditional label
s1n no, that's exactly what a binary dist is
you want a frequently updated binary RPM? 04:51
like a repo based source RPM?
wayland76 I want to have a tarball that can be built into a binary RPM by going rpmbuild -ta tarball.tar.gz 04:52
s1n why a tarball like that? i don't understand what you are trying to accomplish
wayland76 And, if someone puts the results on their site, I can download it and have it work
Well, it's simply any tarball with a working .spec file in it 04:53
and rpmbuild -ta turns it into both binary and source RPMs
s1n i've only built a few rpms, but i've usually built them from a software install, used rpmbuild -b (or some such) 04:55
so your equivalent to that would be to build the sandbox yourself and have the spec copy the file from your sandbox and install the fakexecutable appropriately during the %install stage 04:56
wayland76 rpmbuild -ba is exactly the same, except a) you have to provide an external specfile (or SRPM?), and b) the files may have to be in carefully chosen places
s1n yeah, i usually do that because it's just easier
wayland76 -ta is easier if the tarball you download supports it, otherwise not :) 04:57
s1n i think this is starting to sound out of my realm of capability...
wayland76 What sandbox are we talking about here?
s1n rakudo sandbox
i'd do like a git clone, build with gen-parrot, then hardcode all that crap with the external SPEC file 04:58
but that's because i'm lazy and can get away with it :)
wayland76 I'm not understanding you either -- I don't know anything about the sandbox or fakexecuteable :)
Yeah, I want to do this properly, because it should highlight interdependencies between parrot and rakudo
04:59 eternaleye left
wayland76 They're not a bad thing, but we need to know about them :) 04:59
04:59 cotto left
s1n i can work on explaining all of those things later, but i'm greatly falling behind in non-perl related work :( 05:00
wayland76 yeah, lets leave it here for now, and I'll ask for explanation if I need it
s1n wayland76: okay, good luck :) 05:01
wayland76 Thanks 05:02
05:04 eternaleye joined 05:05 cotto joined 05:23 sri_kraih joined 05:33 cognominal_ joined 05:34 cognominal left 05:38 eternaleye left 05:39 sri_kraih_ left, justatheory left 05:45 eternaleye joined 05:52 masak joined, alester left
masak morning, parrotcamels. 05:52
wayland76 morning :) 05:53
05:57 kate21de joined
masak rakudo: my @a = <a b ! , c - d>; say (grep { $_ ~~ /\w/ }, @a).perl; say (grep { * ~~ /\w/ }, @a).perl 06:12
p6eval rakudo 0c893b: No output (you need to produce output to STDOUT)
masak p6eval: I'm sorry? it gives output on my box. 06:13
06:24 Psyche^ joined
masak successfully parses YAML in Perl 6 06:30
06:32 eternaleye left 06:38 eternaleye joined
masak rakudo: my @a = $b; my $b = 5 06:39
p6eval rakudo 0c893b: No output (you need to produce output to STDOUT)
masak moritz_: hilfe! 06:40
06:42 Patterner left, Psyche^ is now known as Patterner 06:50 WootKit joined 07:01 ruoso left 07:09 araujo left
moritz_ rushes for help 07:12
evalbot control restart
07:12 p6eval left, p6eval joined
moritz_ rakudo: my @a = $b; my $b = 5 07:14
p6eval rakudo 0c893b: No output (you need to produce output to STDOUT)
moritz_ rakudo: say "alive"
p6eval rakudo 0c893b: No output (you need to produce output to STDOUT)
moritz_ elf: say "alive"
p6eval elf 25796: No output (you need to produce output to STDOUT)
masak moritz_: hello. I'm so glad you're here. all the implementations are giving me the silent treatment. 07:15
07:15 WootKit left, WootKit joined
moritz_ nqp: say("alive"); 07:15
p6eval nqp: No output (you need to produce output to STDOUT)
07:15 WootKit left, WootKit joined
moritz_ IO problems, it seems 07:16
$ df
df: no file systems processed
07:17 WootKit left
moritz_ ah, disk full 07:17
07:17 finanalyst joined
moritz_ perl6: say "back to life"" 07:18
p6eval elf 25796, pugs, rakudo 0c893b: No output (you need to produce output to STDOUT)
moritz_ meh
I've upgraded the server to debian lenny yesterday night 07:20
masak nice.
moritz_ and it seems that something is using up all available disk space very fast
masak ouch. 07:21
07:22 alc joined
moritz_ and it's not the evalbot chroot, that's below 10G 07:22
07:25 ejs joined
moritz_ ah, it seems that the that's stored in /home/rbackup/ also tries to backup itself... 07:28
masak ah, the joy of recursion.
moritz_ perl6: say "back to life" 07:31
p6eval elf 25797, pugs, rakudo 0c893b: OUTPUTĀ«back to lifeā¤Ā» 07:32
moritz_ an rm -rf can really be slooooooow
masak :)
moritz_++
rakudo: my @a = $b; my $b = 5 07:33
p6eval rakudo 0c893b: OUTPUTĀ«Null PMC access in isa()ā¤current instr.: 'parrot;List;!flatten' pc 5892 (src/classes/List.pir:253)ā¤Ā»
masak submits rakudobug
rakudo: my @a = <a b ! , c - d>; say (grep { $_ ~~ /\w/ }, @a).perl; say (grep { * ~~ /\w/ }, @a).perl
p6eval rakudo 0c893b: OUTPUTĀ«["a", "b", "c", "d"]ā¤["a", "b", "!", ",", "c", "-", "d"]ā¤Ā»
07:33 sri_kraih_ joined
masak how come one works and the other doesn't? am I misunderstanding something, or is Rakudo not implemented in this particular spot? 07:33
moritz_ what should * ~~ Regex do? 07:34
masak moritz_: create a closure that matches something against the Regex, I think. 07:36
moritz_ masak: bare * doesn't create a closure
masak: I think it's just a Whatever object
it's *+1 that turns into a closure
masak moritz_: the difference being... what, exactly? 07:37
moritz_ the +1 ;-)
masak needs to go back to the spec and re-read this
moritz_ infix:<+> returns a closure if it encounters the Whatever star 07:38
bacek_ rakudo: say (*-1).WHAT 07:41
p6eval rakudo 0c893b: OUTPUTĀ«Use of uninitialized valueā¤Numā¤Ā»
moritz_ rakudo implements just a hack
07:48 sri_kraih left 08:14 kimtaro_zzz left 08:19 DemoFreak joined 08:20 bacek_ left 08:27 alexn_org joined 08:31 PacoLinux left 08:36 mikehh joined 08:40 pmurias joined 08:43 Kimtaro joined 08:44 xinming_ left 08:49 xinming joined 09:11 ejs1 joined 09:12 ejs left
masak can now parse Perl 6 in Rakudo 09:17
I hope to be able to stop dropping teasers fairly soon, and actually release something. 09:18
moritz_ like, a perl 6 compiler written in Perl 6? :-) 09:20
masak no. :) 09:21
just a Perl 6 wrapper around STD.
I want to do a few lint-like things with it.
moritz_ why not? :-)
masak moritz_: why not a Perl 6 compiler written in Perl 6? good question. 09:22
I just haven't gotten around to it, I guess.
moritz_ it's just a smop, if we believe ruoso++ :-)
masak :)
most things are in our field. 09:23
09:31 Psyche^ joined 09:33 ejs1 left
bacek good evening 09:35
masak: Just emit parrot's PAST tree from you wrapper and that it! 09:36
moritz_ bacek: so how do you emit PAST from Perl 6?
masak bacek: that's a nice idea, didn't think of that. 09:37
bacek: but there's something to be said for using STD too.
bacek moritz_: no idea, I'm not solving small tactical problems. I'm work on THE STRATEGY
:)
09:38 pmurias left
bacek rakudo: my $m = PAST::Node.new(); say "Hooray" 09:39
p6eval rakudo 0c893b: OUTPUTĀ«Hoorayā¤Ā»
bacek rakudo: my $m = PAST::Node.new(); say "Hooray"; say $m.WHAT
p6eval rakudo 0c893b: OUTPUTĀ«Hoorayā¤Nodeā¤Ā»
bacek that's it. Easy :)
masak interesting. 09:40
bacek rakudo: my $v = PAST::Val.new(value=>42); say $v.WHAT; say $v.value; 09:41
p6eval rakudo 0c893b: OUTPUTĀ«Valā¤42ā¤Ā»
bacek It "just works"
moritz_ rakudo: my $v = PAST::Val.new(value=>42); say $v.perl 09:42
p6eval rakudo 0c893b: OUTPUTĀ«Method 'perl' not found for invocant of class 'PAST;Val'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
bacek rakudo: my $v = PAST::Val.new(value=>42); say $v.WHAT; say $v.as_post
p6eval rakudo 0c893b: OUTPUTĀ«Valā¤Method 'as_post' not found for invocant of class 'PAST;Val'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
bacek rakudo: my $v = PAST::Val.new(value=>42); my $c = PAST::Compiler.new; say $c.to_post($v); 09:43
p6eval rakudo 0c893b: OUTPUTĀ«$P40ā¤Ā»
bacek masak: ball on your side :) 09:44
masak bacek: :)
not sure I'll use that method, however. but cool that it works.
bacek rakudo: my $v = PAST::Var.new(name=>'foo', isdecl=>1); my $c = PAST::Compiler.new; say $c.to_post($v); 09:45
p6eval rakudo 0c893b: OUTPUTĀ«Scope not found for PAST::Var 'foo' in ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā»
bacek rakudo: my $v = PAST::Var.new(name=>'foo', is_decl=>1); my $c = PAST::Compiler.new; say $c.to_post($v);
p6eval rakudo 0c893b: OUTPUTĀ«Method 'is_decl' not found for invocant of class 'PAST;Var'ā¤current instr.: 'parrot;PCT;Node;init' pc 58 (src/PCT/Node.pir:72)ā¤Ā»
bacek rakudo: my $v = PAST::Var.new(name=>'foo', isdecl=>1, scope=>'package'); my $c = PAST::Compiler.new; say $c.to_post($v); 09:46
p6eval rakudo 0c893b: OUTPUTĀ«$P42ā¤Ā» 09:47
bacek It all depends on #61128 :) 09:48
09:49 Patterner left, Psyche^ is now known as Patterner
bacek rakudo: my $v = PAST::Var.new(name=>'foo', isdecl=>1, scope=>'package'); my $c = PAST::Compiler.new; my $p = $c.to_post($v); say $p.WHAT 09:52
p6eval rakudo 0c893b: OUTPUTĀ«Opsā¤Ā»
bacek rakudo: my $v = PAST::Var.new(name=>'foo', isdecl=>1, scope=>'package'); my $c = PAST::Compiler.new; my $p = $c.to_post($v); say POST::Compiler.new.pir($p) 09:53
p6eval rakudo 0c893b: OUTPUTĀ«Null PMC access in find_method()ā¤current instr.: 'parrot;POST;Compiler;pir_children' pc 9495 (src/POST/Compiler.pir:76)ā¤Ā»
bacek rakudo: my $v = PAST::Var.new(name=>'foo', isdecl=>1, scope=>'package'); my $c = PAST::Compiler.new; my $p = $c.to_post($v); my $post = POST::Compiler.new; say "posting"; say $post.pir($p) 09:54
p6eval rakudo 0c893b: OUTPUTĀ«postingā¤Null PMC access in find_method()ā¤current instr.: 'parrot;POST;Compiler;pir_children' pc 9495 (src/POST/Compiler.pir:76)ā¤Ā» 09:55
bacek rakudo: my $v = PAST::Var.new(name=>'foo', isdecl=>1, scope=>'package'); my $c = PAST::Compiler.new; my $p = $c.to_post($v); my $post = POST::Compiler.new; say "posting"; say $post.to_pir($p)
p6eval rakudo 0c893b: OUTPUTĀ«postingā¤Null PMC access in find_method()ā¤current instr.: 'parrot;POST;Compiler;pir_children' pc 9495 (src/POST/Compiler.pir:76)ā¤Ā»
masak when we count Rakudo RT tickets, do we count the stalled ones? we currently have 251 with them, and 239 without. 09:57
bacek 251? I've closed few of them today to reduce it to 249... 09:58
masak bacek: that might be me, I submitted one or two this morning. 10:00
sorry about that :)
bacek masak: It's all your fault!!! :) 10:01
moritz_ rakudo: my @a = $b; my $b = 5; say "alive";
p6eval rakudo 0c893b: OUTPUTĀ«Null PMC access in isa()ā¤current instr.: 'parrot;List;!flatten' pc 5892 (src/classes/List.pir:253)ā¤Ā»
10:02 skids left, bry4n joined
bacek moritz_: nopaste.snit.ch/15858 Any thoughts? (I can squash a patch against current HEAD) 10:03
rakudo: role A {}; class B { has A $!a }; B.new 10:06
p6eval rakudo 0c893b: OUTPUTĀ«Type mismatch in assignment.ā¤current instr.: 'die' pc 15944 (src/builtins/control.pir:204)ā¤Ā»
moritz_ bacek: I know that pmichaud objected to shifting @.list, don't know if that applies in your case
that said, there's also an infix:<minmax> operator specced 10:07
10:07 bry4n left
bacek moritz_: o! Good idea to implement just minmax and made min and max use it. 10:07
moritz_: "someone" have to add tests for "minmax" :) 10:08
moritz_ bacek: feel free 10:09
masak volunteering cuts both ways.
mikehh rakudo 0c893bc on parrot 37303 make test/make spectest pass t/spec/S32-list/reduce.rakudo TODO passed: 14 10:13
bacek I'm not very confident with Spec to write tests... 10:14
mikehh: yes, I expect this one to pass :)
mikehh we need to unTODO maybe 10:15
bacek just a sec 10:16
10:17 DemoFreak left
pugs_svn r25798 | bacek++ | [t/spec] Untodo List.reduce test for Rakudo 10:19
mikehh bacek++
bacek mikehh: I've already got my karma :)
mikehh bacek: It was the quick response 10:20
bacek mikehh: Removing one line of fudge is easy. BTW, you can get pugs commitbit. Just ask moritz_++ 10:23
moritz_ bacek: you can hand yout commitbits yourself
bacek moritz_: erm... How? 10:24
masak bacek++ # commit, quick response, recruiting
bacek implementing evil plans to rule the world with Perl6
moritz_ bacek: usually through commitbit.pugscode.org/ but it seems down atm 10:26
bacek: now it works again 10:27
you can login with your email addres (or was it svn user name?) and svn password 10:28
bacek moritz_: ok, I'll try
moritz_: "access level" should be "author"? 10:30
moritz_ yes
bacek ok.
mikehh: I can give you pugs commitbit now :)
moritz_ let me emphasize that *every* committer can invite new committers
10:31 alc left
mikehh bacek: thanks 10:31
bacek moritz_: and it's good! Looks like MLM :)
mikehh: All I need is preferred username, email and your will :) 10:32
mikehh bacek: right on :-} 10:33
bacek mikehh: and email address is...? 10:34
mikehh bacek: [email@hidden.address] 10:35
bacek rakudo: parrot_trace 1; say (1,2).min
p6eval rakudo 0c893b: OUTPUTĀ« 21275 set_returns PC40ā¤ 21277 returnccā¤ 67 new P4, "Int" P4=PMCNULL ā¤ 70 assign P4, 1 P4=Object(Int)=PMC(0xb61a45e8) ā¤ 73 new P5, "Int" P5=PMCNULL ā¤
.. 7...
bacek mikehh: invite sent 10:36
moritz_: can you check that evalbot didn't crashed after this? 10:37
moritz_: (or just on your local copy of rakudo...) 10:38
10:38 ejs joined
bacek having strange segfaults... 10:38
moritz_ no signs of a segfault here
bacek strange... 10:39
mikehh: welcome to the club :)
moritz_: are you using parrot's HEAD? 10:42
moritz_ bacek: no
bacek moritz_: --gen-parrot? 10:43
moritz_ bacek: yes
(at least on evalbot's server)
10:44 mj41 left
bacek moritz_: ok. I found some glitches in parrot... 10:46
10:48 mj41 joined, mberends joined 10:49 ujwalic_ left 10:50 Psyche^ joined 10:52 Patterner left, Psyche^ is now known as Patterner 11:03 Psyche^ joined 11:14 ejs left 11:17 Patterner left, Psyche^ is now known as Patterner 11:18 kane_ joined 11:20 tomyan joined 11:25 buu left 11:43 tomyan left 11:49 tomyan joined 12:18 c9s left, c9s joined 12:26 tomyan left
wayland76 'night all 12:35
13:10 aindilis joined, ujwalic joined
pmichaud wow, lots of scrollback this morning. :-) 13:18
13:20 drbean_ joined 13:28 tomyan joined 13:31 ejs joined 13:33 tomyan left 13:34 drbean left 13:39 tomyan joined, araujo joined 13:50 alester joined, nihiliad left 13:57 ujwalic left 14:02 tomyan left 14:10 duke_leto joined, duke_leto left 14:11 rmt_ left, rmt_ joined 14:21 [particle] joined, Tene_ joined 14:29 jhorwitz joined 14:34 Tene left 14:41 skids joined 14:52 PacoLinux joined 15:08 finanalyst left 15:13 [particle] left 15:14 nihiliad joined 15:43 aindilis left
masak developers.slashdot.org/comments.pl...d=26981365 # :P 15:44
15:44 aindilis joined
masak Matt-W: how's Form coming along? 15:45
Matt-W masak: I've not had a great deal of time, but I'm very confused about action methods 15:46
I don't think mine are triggering
masak Matt-W: ok.
aye, I remember.
that was the latest thing we talked about.
Matt-W yes
and I still haven't solved it
masak you could devise a test which clearly shows what you think is wrong.
Matt-W I put loads of say in them and they don't say anything
I could try 15:47
I don't know for sure how, once I've got the return value of parse(), to get the thing that my action methods should have made
because if I do that and I call .WHAT on it, that should tell me if it worked or not
masak Matt-W: you could modify a global from the action method, just to be able to tell from a test whether the action method was entered.
Matt-W true 15:48
masak Matt-W: or that.
Matt-W I tried $($resultobject).WHAT but it said Str
which was discouraging
15:48 mberends left
Matt-W although I didn't get round to finding out what was inside the Str 15:48
had to go to work
When I do figure this out/any related rakudo bugs are fixed if that's what the problem is, I shall have to write it up 15:49
15:50 eternaleye left
mikehh just built rakudo (0c893bc) on parrot r37310 linux i386 - make test/spectest all pass 15:51
Matt-W woohoo 15:52
jnthn OH HAI 16:06
jnthn is back from conference trip and vacation.
Lviv for the win # architecture, cheap...
TimToady OH HAI OH GO ZAI MOOSE 16:07
OH HAI OH GOEZ AYE MOOSE
jnthn japanese lolspeak?! 16:08
TimToady I'm into multilingual puns...
jnthn Took me a moment to spot that one... 16:09
pmichaud: ping 16:12
16:12 bacek left
diakopter punpolyglot punpolyglot, phim phim katchoo 16:14
skids ICMP: "I Canz Message Pmichaud" ? :-)
16:19 Kimtaro_ joined 16:21 Kimtaro_ left 16:28 Kimtaro left, Psyche^ joined 16:37 M_o_C joined, M_o_C left
alester Morning all 16:39
16:40 Patterner left, Psyche^ is now known as Patterner 16:45 DemoFreak joined 16:48 alexn_org left 16:49 Kimtaro joined 16:50 Psyche^ joined 16:52 justatheory joined 16:53 Psyche^ left 17:05 Patterner left 17:12 Psyche^ joined, Psyche^ is now known as Patterner 17:19 meppl joined
pmichaud jnthn: pong 17:19
jnthn pmichaud: hi, how's things? 17:20
pmichaud they're going reasonably well.
jnthn Good good. I'm back from vacation and ready to dig back in to Rakudo.
pmichaud cool.
I think I'd like to refactor method dispatch a bit.
masak jnthn, pmichaud: I'm heading out, but hi to you both. 17:21
pmichaud (and possibly sub dispatch as well, but method dispatch is the more interesting at the moment)
jnthn .^dispatch?
pmichaud yes.
jnthn I did some pondering on that bit while on vacation.
pmichaud then this is timely :-)
jnthn It's not really flexible enough to do, say, .*/.*/.? for one.
And also .WALK is a dispatcher thing. 17:22
pmichaud the big change I'd like to see is that we eliminate the .HOW stuff from actions.pm
currently actions.pm does .HOW on the invocant, and then uses that to dispatch.
jnthn So I suspect the HOW API may need to change.
pmichaud I don't mind if we continue to dispatch through the .HOW -- I just don't want actions.pm to be doing it. 17:23
jnthn Sure
pmichaud i.e., we could do '!method_dispatch'(invocant, 'method', args)
jnthn What are you wanting to do instead?
pmichaud then !method_dispatch figures out what to do and re-dispatches via .HOW if needed.
jnthn I avoided that to avoid an extra layer of indirection...
pmichaud we get the layer of indirection regardless.
also, I'm thinking that !method_dispatch (or the HOW's dispatch) could cache method lookups 17:24
instead of always walking the mro
jnthn I knew what I was changing would hurt performance a bit, so wanted to minimize it.
Yes, I did expect we'd cache at some point down the road. :-)
I've been trying to get us semantically correct first though.
pmichaud we're running into some (minor) issues where invocants might not have a HOW -- such as if they come from a foreign source. 17:25
jnthn Ah.
Yes, that makes sense.
pmichaud also, even if we have a performance hit at the moment -- at some point we might take !method_dispatch and optimize it in C or something like that.
jnthn Yeah, it maybe can be an dynop, but I'm a tad frightened about writing it yet. ;-) 17:26
pmichaud Yes, I can understand that.
also, we need a '!private_dispatch' for dispatching to private methods.
jnthn I want to try and get the nextsame/callsame/etc things straightened out first.
Yeah, I noticed there was a spec change relating to those. 17:27
pmichaud there have been a lot of spec changes while you were out :-)
jnthn Yeah, moritz++ sumarized a few of them for me.
They looked like they'd all need work, but nothing like "oh noes we have to start Rakudo all over again" :-)
17:27 masak left
pmichaud we don't have to start Rakudo all over again, but some are significant. 17:27
jnthn Which ones are most significant? 17:28
pmichaud the biggest is that we no longer use $(...) for the AST
jnthn Oh?
pmichaud it's now $<parse><?>
jnthn I thought I read somewhere that what $(...) does has changed.
17:28 rindolf joined
pmichaud i.e., we access the ast through the <?> key 17:28
(this isn't implemented yet, but it's a change we'll have to make)
jnthn I'm not sure I like that... :-|
pmichaud for a short while NQP will convert $(...) to .<?> 17:29
until all of the PCT-based languages can get updated.
jnthn $(...) always felt a bit magical but fine really to me...I understand this is part of bigger changes to sanify captures though.
(as far as I understand, that is...)
pmichaud and match objects, yes.
other big change is that lists in item context no longer become an Array 17:30
jnthn <?> feels a tad magical to me too....
Oh?
pmichaud they become captures
jnthn OK, and mappings in item context?
pmichaud I haven't seen any mappings yet, to be honest :-)
jnthn Oh, wait... 17:31
:-)
Yeah, I just thought...how do you write a mapping literal
well
Mapping(x => 42) I guess in the end may do it...
TimToady it's possible <?> should just become a Match attribute
and accessed with a method 17:32
pmichaud I'd be okay with that. We already have .from, .to, .chars, etc.
TimToady .result is a bit long though
pmichaud perhaps .made :-)
since the result object is set with "make" :-)
jnthn I prefer a method over <?>
pmichaud I'd prefer a method also because it feels weird that the result object shows up in %() 17:33
TimToady I just happen to use <?> in STD because p5 really only has hashes for objects
pmichaud surely a method could map to <?> for a given implementation :-) 17:34
TimToady well you also have to weed out <?> when they ask for .hash
pmichaud yes; I was thinking more in a "building" phase.
i.e., while bootstrapping or while developing an implementation. 17:35
TimToady sure, but |%/ is gonna be fiddly in such a bootstrap
pmichaud how are .from and .to handled in STD? 17:36
TimToady |%$/ rather
hidden attrs are prefixed with _ :)
so _res could be one too 17:37
pmichaud then use _? :-)
or _res
TimToady or <_>
in fact, I see that STD cheats on <_from> in a few spots... 17:38
jnthn .made is cute :-)
TimToady seems like it would get a little grating 17:39
pmichaud yes.
jnthn Yeah. Cute is good for a while...
Matt-W It does have a certain consistency to it, but... overly cute
pmichaud .baked .
then if it's not complete, it's .half-baked
jnthn :-P
pmichaud (there are good reasons I'm not the language designer.) 17:40
TimToady there are bad reasons that I am :)(
s/(//
17:40 zamolxes joined
TimToady shower & # thinking about results 17:41
jnthn pmichaud: So back on the dispatch changes...
pmichaud (results oriented shower)++ 17:42
jnthn I'm not opposed to those.
So go ahead.
Matt-W hurrah! I got my grammar action methods to trigger!
pmichaud well, I was going to let you do them. :-)
Matt-W boo! It triggered a Null PMC access!
jnthn Oh, damm it. :-P
pmichaud if you want me to do them, I can, though.
jnthn It's like you think I know that bit of the code well or something. ;-)
frioux pmichaud: by the way, there *is* a place where comments on patches gets listed on github. 17:43
The news feed
jnthn phone
pmichaud frioux: yes, but how many people are watching that? (Yes, I noticed that earlier today also)
frioux so if I log into github.com it shows your comment on my patch yesterday
pmichaud: agreed
I am just saying, if we want to do github we just say subscribe to your news feed and you'll get it
but I don't really care which happens 17:44
pmichaud in some senses it would be better if everyone could easily see everyones' comments
frioux as long as it's easy for you and easy for us more will get done
wait, so people can't see your comments on my patch?
well...not easily they can't I'm sure
pmichaud I suspect they _can_, but how many feeds would have have to subscribe to for that? 17:45
s/have/they/
frioux 1 per dev I presume
which is silly
pmichaud that doesn't scale well :-)
frioux agreed
well, any other patches I submit will be via RT and I updated my workflow to say that
pmichaud thanks.
frioux if github makes pull requests nicer we can look at that again then 17:46
pmichaud so far RT seems to work out best. Maybe github will evolve a bit.... exactly.
frioux but in the meantime I'll espouse the idea to use RT entirely for patches
and honestly if we use RT we never even have to fork rakudo
but that's a different more technical issue about git
pmichaud thanks, that will be helpful. I enjoyed reading the overnight conversations and explanations -- I really appreciate you passing the word along to the others.
frioux no problem :-) 17:47
well, I am at work, so I have to get back to that, but I figured I'd mention it while you're here
pmichaud I got an image we can temporarily use for Rakudo -- comments welcome.
frioux url? 17:48
pmichaud it can be seen at github.com/rakudo/rakudo
(upper right corner)
bigger version at pmichaud.com/perl6/rakudo-1.png 17:49
frioux I think it's cool, but I don't have those sensibilities
pmichaud it's at least better than the empty "?" and o_O images that have appeared on github and twitter :-) 17:50
frioux agreed
better identity
pmichaud anyway, thanks again for your excellent help on the patch workflow process. It's taken a weight off of my shoulders.
back in 15 17:51
jnthn OK - back... 17:58
pmichaud: For when yu're back - don't mind doing that refactor. 17:59
17:59 zamolxes left
jnthn Planned to do Rakudo day soon. 17:59
Can't tomorrow - too many little bits to attend to.
pmichaud on friday I'm on trip with family (more)
diakopter .begotten
wow. 18:00
pmichaud I plan to be doing a fair bit of catching up and rakudo stuff in evenings while they're sleeping
but I'll be a little distracted for a week
jnthn OK
pmichaud (also, I'll be in Pacific Time zone instead of Central)
anyway, any day for a Rakudo day would be fine. I'll probably assign a couple of tickets to you to look at, though :-) 18:01
jnthn I'm working Saturday this week too, since I had some vacation at start of the week...
If you trust me to just get on with stuff, and are happy to review it later on, Friday is easiest for me...
pmichaud I'm happy with that.
jnthn Just discovering someone wants me eyes on stuff on Saturday...
*my 18:02
OK, let me know what tickets you want me to deal with and I'll try. :-)
pmichaud The biggest challenge I'm seeing at the moment is that people are eager to contribute settings code for some of the builtins, but what's being contributed isn't really good design
jnthn I've seen some suspect bits, yes. 18:03
But at the same time want to encourage people.
So yes, challenge. But I totally agree we don't want to put stuff in that has issues.
pmichaud I made a list of some easy candidates on the github wiki.
jnthn That's a good thing. 18:04
I still plan to work on the Array/List/Hash/Mapping etc.
Since I need it to do typed arrays properly.
Which I in turn need to finish my grant...and get paid.
pmichaud okay, that should be fine. I'd like to review before it goes back into trunk. 18:05
jnthn Sure, I'd like you to as well.
pmichaud but it's not likely anyone will be moving trunk away from what you're doing.
jnthn It's a painful refactor.
Certainly not -Ofun at this point.
pmichaud we need to fix vivification, too.
jnthn Aye. 18:06
pmichaud oh, on another point -- I'm thinking that !method_dispatch should also do a !DEREF on the invocant prior to dispatching.
jnthn Well, just the isa RPA to has-a RPA is hurting plenty ATM.
pmichaud over the next couple of days I'll try to identify some of the bigger issues that need looking at. 18:10
jnthn Sure. 18:11
A kind of roadmap for the next couple of months would be good.
I am keen to finish up my TPF grant soon and plan to immediately apply for a follow-up one.
pmichaud yes. If it doesn't happen today/tomorrow for some reason, I'll do it on the plane.
oh! Some folks on parrot were looking for help with updating pdd13, too. 18:12
jnthn So I can keep a-hacking. :-)
pmichaud in preparation for the 1.0 release.
jnthn I glanced at the flame^Wthread...
moritz_ rakudo: regex { a ~ b c }; say "alive"; 18:31
p6eval rakudo 0c893b: OUTPUTĀ«aliveā¤Ā»
moritz_ rakudo: regex { a ~ [b] c }; say "alive";
p6eval rakudo 0c893b: OUTPUTĀ«Statement not terminated properly at line 1, near "c }; say \""ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
moritz_ rakudo: regex { a ~ (b) c }; say "alive";
p6eval rakudo 0c893b: OUTPUTĀ«Statement not terminated properly at line 1, near "c }; say \""ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
Tene_ moritz++
moritz_ rakudo: regex { a ~ b (c) }; say "alive"; 18:32
p6eval rakudo 0c893b: OUTPUTĀ«Syntax error at line 1, near "}; say \"al"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
Tene_ rakudo: regex { a ~ b [ c ] };
p6eval rakudo 0c893b: OUTPUTĀ«Syntax error at line 1, near "};"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
moritz_ tries to grok Perl6Regex.pir 18:34
TimToady if it's any comfort, STD doesn't handle anything other than strings around ~ 18:37
because it sets $*GOAL to one 18:38
and various things test what the current goal is. I suppose it could set the goal to the pattern to match instead... 18:39
moritz_ well, PGE tries to parse arbitrary regexes around it 18:40
TimToady gimme5 transliterates it to non-sensical Perl 5
moritz_ but only with 'tighter'=>'infix:' which doesn't seem to do what we want 18:41
TimToady which isn't completely helpful
pmichaud jnthn: ooc, would it be helpful if I attempted the isa-RPA -> hasa-RPA conversion, since I'm already very familiar with the list/array code? 18:42
18:43 mberends joined
pmichaud 'tighter'=>'infix:' ought to be good enough, because the circumfix brackets should allow concatenations within them. 18:44
(obviously it's not good enough, but that's the theory)
moritz_ I think 'tighter' =>'term:' works
yes, it seems it does
fancy a patch?
pmichaud that seems scary.
moritz_ but it passes all pge tests ;-) 18:45
and a new one that I wrote
pmichaud does it work if either the goal or the expression are quantified?
{ a ~ b+ c* }
moritz_ the '(' ~ ')' \d+ tests still work 18:46
wait a sec, trying...
no, doesn't 18:47
I was running the wrong tests :(
what exactly does 'infix:' stand for? 18:48
pmichaud concatenation
moritz_ ah
hm
pmichaud (rebuilding parrot now to test some things.) 18:50
moritz_ I can't even find the rules for parsing [...]
pmichaud circumfix:[ ] 18:51
moritz_ and that has implicitly tightest precedence?
pmichaud it's same precedence as term: 18:52
moritz_ ah right
pmichaud but any circumfix refuses to stop parsing until it has seen its closing token
(even if that goes lower than the 'tighter' precedence)
moritz_ yes, that makes sense
pmichaud it doesn't appear to be a parsing issue, at least not on its own. 18:53
PGE seems able to parse a ~ [b] c and a ~ b [c]
Tene_ so what throws a syntax error, then? 18:54
pmichaud not sure.
it doesn't seem to be able to compile it into a pge AST, though. 18:55
so it's an error in the reduction somewhere, I geuss.
*guess
18:55 finanalyst joined
pmichaud yes, it looks like the reduction fails. 18:56
18:57 Kimtaro left
moritz_ pmichaud: would you like a few more tests? 18:57
pmichaud nopaste.snit.ch/15861 # pir code I'm using to test PGE
more tests are often welcome, yes. But what I just nopasted should be enough for me to track it down. 18:58
the last _dumper output gives me "null", which means it's failing to produce a valid pge::exp tree.
looks like I'm getting an extra parse of the 'c' 19:00
in a ~ b [c] 19:01
i.e., after parsing the brackets, it's continuing the parse from the wrong place.
19:01 finanalyst left
moritz_ dooe the dumper truncate the string it shows? 19:01
pmichaud no, but sometimes the from/to in the parse tree aren't *exactly* what they should be. 19:02
moritz_ ah
it ssems to miss the final ]
but that might be such an inaccuracy
pmichaud in the dumper output? yes.
moritz_ offby1 ;-) 19:03
pmichaud well, it might be actually off-by-more-than-1
aha, yes, that's it. 19:04
19:04 Maghnus left
pmichaud 19:05 <nopaste> "pmichaud" at 72.181.176.220 pasted "possible patch to fix" (23 lines) at nopaste.snit.ch/15862 19:05
it was grabbing the end-position from the wrong match. 19:06
moritz_ ah
pmichaud testing now.
(nopaste 15863) You must either have a lot of faith in me or a desire to torture me. Or both. :-) 19:07
moritz_ both. And I love tests ;-) 19:09
uhm, it seems the formatting of my tests are wrong 19:10
pmichaud tabs, not spaces.
I can fix it.
I can manually enter them.. Even quicker. 19:11
moritz_ ah, I had expandtab enabled by default
only one of them fails 19:12
the last of the new ones
pmichaud that's because PGE still throws an exception instead of doing something more reasonable. 19:14
moritz_ so with /../ instead of n it will pass?
pmichaud yes, because it'll be looking for the error message.
moritz_ ah, good to know
it seems my faith was not so ill placed after all ;-) 19:15
pmichaud okay, now to run a few more 'make tests'
and see if rakudo builds.
19:16 viklund left
pmichaud abc passes. nqp passes. 19:16
r37317 should have the fix. If Rakudo passes its spectests then I'll bump PARROT_REVISION so that we get the correct pge behavior in rakudo. 19:29
19:29 cspencer joined
moritz_ builds and spectests 19:30
and I'll see if we already have spectests for RT #62122 19:31
Tene_ pmichaud: suggestions on how to write "backtracking over this token is a parse fail"?
moritz_ isn't that just ::: ? 19:32
pmichaud you want it to fail the entire parse, just the rule, or ... ?
Tene_ The entire parse. for example, if (condition); with no body. You don't want to fall back to calling the if() subroutine. 19:34
At least, I don't, in this example.
pmichaud so, you don't want to backtrack over the if or the condition or ... ?
what's the basic rule now?
(easier to explain from an example)
Tene_ rule if { 'if' <cond=term> <ifture=term> <iffalse=term> } 19:35
iftrue
pmichaud rule if { 'if' <cond=term> [ <iftrue=term> <iffalse=term> || <.panic: 'parse fail'> ] }
Tene_ nods. 19:36
pmichaud amazing how it looks like the "dothis() || die" pattern from perl :-) 19:37
moritz_ or even rule if { 'if' [ <cond=term> <iftrue> ... ] || <.panic: ...> }
if you want all 'if's to be parsed as if statements 19:38
Tene_ moritz_: wouldn't that panic if 'if' didn't match?
or is || tighter than | somehow?
moritz_ oh wait
but pmichaud's example wouldn't panic if it matched an 'if', but the first <term> wen wrong, right? 19:39
pmichaud in my example, if we don't match an 'if', it just means we fail the rule.
if we match an 'if' but not a condition, we fail the rule.
if we match an 'if' and a condition, we either find iftrue+iffalse terms or we panic and fail the parse. 19:40
moritz_ ah
cspencer rakudo: sub foo is export{ return 1};
p6eval rakudo 0c893b: OUTPUTĀ«Malformed routine definition at line 1, near "foo is exp"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
moritz_ I wanted to construct a rule that paniced when matched an 'if', but the the condition failed
cspencer is the space between the "is export" and the "{" not optional?
pmichaud it is not optional.
Tene_ moritz_: just move the [ before the condition 19:41
moritz_ but I think I need more brackets for that
pmichaud is export{'...'} is something different from is export { ... }
cspencer oh, ok :)
pmichaud yes, just move the bracket before <cond=term>
moritz_ ok
cspencer what's the export{'...'} taken to mean?
pmichaud rule if { 'if' [ <cond=term> <iftrue=term> || <.panic> ] }
if we match 'if', we either find a condition and iftrue part or we panic 19:42
moritz_ cspencer: a postcifcumfix:<{ }> on export
which doesn't really make sense, because 'is export' doesn't return a value
on which that method could be called
pmichaud at any rate, the brackets following the trait are different from the brackets defining the body. 19:43
because they're postcircumfix.
cspencer right, ok :)
moritz_ pmichaud: all spectests pass with r37319
pmichaud moritz_: okay, good. my spectest run should be finishing shortly. 19:44
pugs_svn r25799 | moritz++ | [t/spec] unfudge tests for RT #62122 (goal matching with brackets) 19:46
cspencer in part of S32 it refers to "our Item multi method ....." - Item hasn't been implemented as a class, so should method definitions just be left as "multi method ..."? 19:54
moritz_ yes
cspencer Item essentially implies anything then
pugs_svn r25800 | lwall++ | rechristen .<?> as .rob (at least for now) 19:56
moritz_ .rob? 19:57
result_object?
19:58 NordQ joined
TimToady phone 20:00
20:03 NordQ left
jnthn role Theif { method rob { ... } } 20:07
;-)
It's short. Short is good.
20:08 rafl left
Tene_ role Jonathan { ... } 20:09
TimToady pmichaud: ping phone
pasteling "wayland76" at 121.44.209.19 pasted "Rakudo build error" (9 lines, 421B) at sial.org/pbot/35476 20:10
jnthn Tene_: I'm get to be defined? ;-)
*yet
wayland76 Does anyone know why I get the Rakudo build error specified in that pastebot link?
cspencer the PIR implementation of the Any first method returns a fail("...") if it doesn't match anything, but i can't find that behaviour in the spec 20:11
is that the proper behaviour?
moritz_ wayland76: that means that you missed 'make clean' in the rakudo dir
jnthn cspencer: I figure it'd return some kind of undef... 20:12
Which fail does. Just an interesting undef. 20:13
cspencer okay :)
wayland76 moritz_: Well, I still get it if I do "make clean" as well 20:14
@jonathans = (Jonathan.new() x 100); 20:15
lambdabot Unknown command, try @list
moritz_ it's xx for lists in Perl 6
wayland76 oh well :)
dalek kudo: 9844bf0 | (Moritz Lenz)++ | build/PARROT_REVISION:
bump PARROT_REVISION so that we benefit from recent PGE fixes
20:16
20:17 barney joined
wayland76 In the case of that error I pastebotted, it errors on "rebless_subclass sub, $P0", when it gets to "sub". Is there a reason this would be particularly likely? For example, is it possible that rebless (or sub) hasn't been defined for some reason? 20:17
(Oh, and I'm using the latest Parrot, built as an RPM) 20:18
pmichaud wayland76: usually this means you need a "make clean" in Rakudo
20:19 rafl joined
wayland76 Well, I just tried that, and it didn't work for me 20:19
Do we know what causes the need for the "make clean"?
20:20 Kimtaro joined
wayland76 Or, coming at it from a slightly different angle, do we know why it empties out gen_setting.pir before it does this? 20:23
Wait, do I have to do Configure.pl again after the make clean? 20:25
Oh, doesn't make a difference
20:33 ujwalic joined
ujwalic what does "svn: Error resolving case of 'http:\\svn.pugscode.org\pugs\t\spec'" mean 20:34
wayland76 It may mean that you need to use forward slashes
20:35 bacek joined
bacek good morning 20:36
ujwalic me on windows 20:37
20:39 buu joined
jnthn ujwalic: Ah, I've heard about that one before, but not got around to patching it yet...if you edit that to have forward slashes in the makefile by hand it should work out... 20:44
ujwalic thanks ... I was about to modify Configure.pl :) 20:45
jnthn ujwalic: Well, feel free to submit a Proper Fix too. ;-)
ujwalic s/// except line with svn .. will that do 20:46
20:46 wayland joined
diakopter ujwalic: but also use a \ to split that makefile line into two lines 20:47
so the last part of the command still gets substituted
ujwalic ok 20:48
pmichaud wayland76: sorry, I got caught on the phone.
rebless_subclass is a dynamic opcode for Parrot -- it's not a Parrot built-in opcode 20:49
s/dynamic opcode for Parrot/dynamic opcode for Rakudo/
moritz_ so it means that some dynops where not built or loaded?
pmichaud correct.
so, when Parrot sees it (and when the dynop isn't loaded), it thinks it's supposed to be a subroutine call and complains about a missing paren. 20:50
jnthn *nod* 20:51
pmichaud generally I've seen it happen after (re)building Parrot but not rebuilding Rakudo.
wayland Ok, I figured it was something like that. Is that declared in this line: 10:inline op rebless_subclass(in PMC, in PMC) :base_core {
pmichaud Also, I'm not certain what the status of handling dynops is for installed version of Parrot.
jnthn Yes
wayland (I'm trying to debug the build process)
jnthn I've seen people run into this occasionally, but never reproduced it myself... 20:52
pmichaud I *think* that one has to do "install-dev" with Parrot in order to get the tools needed to build Rakudo.
(or any other language that has dynamic PMCs or dynamic opcodes)
moritz_ it always happened to me when I built rakudo and then re-built parrot
and then again 'make' in rakudo without a 'make clean' first 20:53
wayland Well, I modified the Parrot RPM to do install-dev
pmichaud afaik, rakudo's make file isn't yet set up to build from install-dev
wayland but something might still be looking in the wrong places
pmichaud it still expects to build using Parrot's build tree
moritz_ on debian that should be two pacakges, parrot and parrot-dev
wayland Yah, that's what I'm trying to fix :)
On Fedora, it's parrot and parrot-devel 20:54
(and parrot-docs)
I have both those built and installed
20:56 Whiteknight joined 20:57 ejs left
pmichaud just a sec... playing with a patch to have --gen-parrot also do a "make install-dev" 20:57
20:58 wayland76 left
pmichaud (and starting with some fresh checkouts) 20:58
wayland Ok. I'm not using --gen-parrot :)
pmichaud right... but whatever we do I want to make sure that --gen-parrot continues to work, so it might be easier if --gen-parrot also did a local install. 20:59
wayland Great :)
pmichaud then we can have rakudo "build from an installed parrot" even if it's just a locally installed copy in parrot/
instead of building from the build tree. 21:00
wayland Question -- if it can't find the dynext directory, would that cause the problem?
pmichaud likely, yes.
because then the loadlib would fail.
mikehh I have been using the --parrot-config option 21:01
21:01 donaldh joined
wayland What parameter would I need to pass to parrot to tell it that? -L ? 21:01
pmichaud mikehh: it still depends on which version of parrot-config you end up using. 21:02
i.e., if you use the parrot-config in the parrot build tree, it's still dependent and installs things to the build tree.
wayland Oh, yes, I see, -L 21:03
jnthn It sounds like the .loadlib is failing silently...
Which is probably a Bad Thing. 21:04
mikehh well I used perl Configure.pl --parot_config=../parrot/parrot_config
missed an r there
jnthn *Or* it's finding it but it was built against a different Parrot and it doesn't recognize the entry points it expects...
moritz_ and still shouldn't fail silently 21:05
jnthn Does the error change if you add a spelling mistake to the .loadlib directive? If not, it could be that it just ain't finding it but is silently ignoring that.
moritz_: Sure, but it's maybe interesting to know which it is.
mikehh I have had successful builds of rakudo using that most recently parrot r37310 21:06
pmichaud mikehh: yes, it looks to me as though you're building using Parrot's build directory
(which is fine, but not what packagers want)
moritz_ jnthn: when I introduce a type in .loadlib 'perl6_grou' then it fails with "Class 'Perl6MultiSub' not found" 21:07
mikehh that's what I was hoping would happen make test/spectest pass
moritz_ jnthn: which is not a "loadlib failed"
21:08 NordQ joined 21:09 NordQ left
mikehh perhaps not but that would allow them to point to the relevant parrot dir 21:09
jnthn moritz_: Ugh.
report parrotbug ;-)
Oooh. 21:10
www.idg.no/computerworld/article123782.ece
mikehh mind you I am building and they probably want a pre-built set up
jnthn pmichaud made the Norweigan computing press ;-) 21:11
jnthn is happy to see what looks like a fairly major site promoting the Oslo Perl Workshop. 21:12
mikehh jnthn: That's ok if you can read Norwegian or whatever :-} 21:13
jnthn mikehh: That's a language I didn't try yet... :-) 21:14
wayland It's just like English with a funny accent. "Friprog-legenden Larry Wall skal tale til utviklerne under Nordic Perl Workshop." means "Free-programming legend Larry Wall shall tell (un)til utvik learns in the Nordic Perl Workshop" 21:16
(sorry to any actual Norwegian speakers here)
21:17 wayland is now known as wayland76, ZuLuuuuuu joined
moritz_ wayland76: you have a point there. I hesitantly try to learn Norwegian these days, and it's rather easy to understand if you know German and English 21:18
at least much easier than most other languages ;-)
jnthn I can sorta guess bits of it from knowing English. 21:19
ujwalic to create a patch for rakudo do i need to have a account @ github
jnthn I imagine it's a lot easier than trying to learn, oh, say, Slovak. ;-)
moritz_ ujwalic: not if you don't want... you can just clone the repo and create the patch locally 21:20
ujwalic fine
21:20 barney left
wayland76 Well, Norwegian is a North Germanic language (as English and German are West Germanic), whereas Slovak isn't Germanic at all 21:20
jnthn wayland76: Right. 21:22
But Slovak does help with, say, Russian. :-)
wayland76 Of course :)
jnthn Which is lucky, since it's all the customs officer spoke on the train last night...
wayland76 Useful :) 21:23
jnthn Was a little amused. "Do you understand Ukrainian?" "No." They wonder what to do then realize...find someone who speaks another language. They come back with someone. I think...ah, they'll speak English. Nope. "Do you speak Russian?" Well, turns out enough to make customs happy I didn't work in Ukraine and wasn't smuggling fags... 21:24
s/fags/cigarettes/ # for our American readers... ;-)
wayland76 Google Translate says it's "Friprog-legend Larry Wall to speak to developers under the Nordic Perl Workshop." 21:25
alester Where did s3.amazonaws.com/twitter_production...normal.png come from 21:30
and how can I get a bigger one for the logo for rakudo.org
21:38 skids left
pmichaud alester: it's a logo I had a friend of mine put together. 21:39
alester please send it my way
pmichaud bigger one at www.pmichaud.com/perl6/rakudo-1.png
alester a bigger one
I can handle that. 21:40
thanks.
wayland76 Well, I've convinced it to pass a -L to parrot, but I'm still back where I started 21:42
PerlJam what do the symbols mean in that image?
wayland76 It's a man with a beard in a doorway :) 21:43
dalek kudo: cd256dc | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 317 files, 7148 passing, 0 failing
21:44
pmichaud PerlJam: I'm told they're the kanji for "rakudo" 21:48
bacek pmichaud: any thought about github.com/bacek/rakudo/commit/8557...09a60bf964 ? (Reimplementing Any.min and Any.max in Perl6)
afk & $dayjob ~~ $self
21:48 jhorwitz left
PerlJam I would have thought "rakudo" would be a single glyph. Maybe it's "rakuda do"? 21:49
pmichaud it's possible.
actually, I think it must be "rakudo". The same pair of images appears on openlibrary.org/b/OL12350100M 21:52
also: www.mahou.org/Kanji/335A/?usage 21:53
cspencer rakudo: my $r = * ~~ (12 | Whatever); 21:54
p6eval rakudo cd256d: OUTPUTĀ«Use of uninitialized valueā¤Ā»
cspencer why does that expression produce that particularly error message?
wayland76 breakfast &
cspencer s/particularly/particular/
pmichaud cspencer: because rakudo doesn't know how to evaluate * as a lone term.
cspencer ah ok. is there a better way of checking whether something is a Whatever object? 21:55
pmichaud rakudo: my $r = *; say $r ~~ Whatever;
moritz_ rakudo: say * ~~ Whatever;
p6eval rakudo cd256d: OUTPUTĀ«1ā¤Ā»
pmichaud that part seems to work.
moritz_ * is undef 21:56
and $thing ~~ 1 will do a comparison with ==
that's where teh warning comes from
pmichaud that seems reasonable. 21:57
cspencer ok, that makes sense then
rakudo: my $r = * ~~ (Whatever | 12) 21:58
p6eval rakudo cd256d: RESULTĀ«Bool::TrueĀ»
22:06 mberends left
ujwalic what are the naming conventions for github/rakudo branch names 22:08
moritz_ underscores to delimit words 22:09
and use your common sense ;-)
ujwalic :)
PerlJam underscores? 22:10
moritz_ _
PerlJam git groks dashes just like perl 6 identifiers :-)
pmichaud I prefer hyphens then :-)
but I'm not too picky :-)
moritz_ ah, I didn't know that 22:11
hyphens it is, then
22:11 japhb left
pmichaud bacek: I'm not too keen on calling the comparison function twice just to compute min or max 22:11
moritz_ pmichaud: btw cspencer's patch for Any.first() looks good to me 22:12
pmichaud also, I don't see that minmax is defined in S32 yet... is it somewhere else?
frioux can't you use Xor for findind min and max somehow? 22:13
22:13 donaldh left
pmichaud I didn't see the Any.first() patch 22:13
ah, because it's only 75 mins old :-)
PerlJam isn't first() the same as grep, but with a last in it? something like gather { take($_), last if &test($_) for @.list; } ?
moritz_ PerlJam: except that gather/take returns a list, and first() returns an item 22:14
but it's very simple, yes
22:14 japhb joined
moritz_ return $_ if $test($_) for @.list; 22:14
fail('No values matched');
pmichaud I like it -- go with that.
22:15 ZuLuuuuuu left
PerlJam yeah, I'm still in the stage of using gather/take for everything because I think it's so cool :) 22:15
pmichaud I wonder if we still want to be putting 'our' on the builtins.
22:16 nihiliad left
moritz_ since they have no function right now I'll rip them out 22:16
cspencer pmichaud: is 'our' a bad thing?
pmichaud cspencer: not necessarily, but the meaning of 'our' has changed within the past 10 or so days.
cspencer generally, i was just following the method/sub's as defined in S32
oh, i must have missed that :)
pmichaud at least, the meaning of methods without 'our' has changed.
jnthn pmichaud: AIRITT our means "it's in the namespace and available as a method"? 22:17
cspencer what do they mean with/without the our now?
jnthn cspencer: IIUC, callable as a method but not lookupable through the package.
pmichaud yes, 'our' means "it's in the package"
(in the namespace)
22:17 Limbic_Region joined
cspencer ah ok 22:17
pmichaud without 'our', it's not in the package namespace
with our, one would be able to do &Any::first
cspencer gotcha, ok 22:18
jnthn And oh hey, we got Parrot fixed to make those to easy, right? :-)
pmichaud not yet it's not fixed.
jnthn No :nsentry('name') and :method('name')
?
moritz_ pmichaud: so should I remve the our's on sub and method defitions for now?
pmichaud moritz_: I don't know, I was just wondering if we should. My inclination is that perhaps they should remain there. 22:19
so that &Any::first is valid.
jnthn It's a design call really...
pmichaud jnthn: :method('name') and :nsentry('name') are in parrot, but there's still not a way to compile-time create a method that doesn't appear in the namespace.
trac.parrot.org/parrot/ticket/389 22:20
jnthn Just :method('name') doesn't...ok.
pmichaud the workaround will likely be that PCT will generate methods with names of ''
jnthn wonders how hard it is to fix that in Parrot
Getting Rakudo more right tends to motivate me to fix Parrot-y things... 22:21
pmichaud however, doing that in PCT will likely mess up !TOPERL6MULTISUB, now that I think about it.
because .name() won't report back the method name.
jnthn Right.
Let's fix Parrot.
pmichaud I'd read the ticket first -- istr that allison's response was "after 1.0"
jnthn Yeah,noticed that. 22:22
But 1.0 is not far off anyway.
We can hold off until then.
IMO
wayland76 Actually, I submitted a patch recently, and kid51 created a separate branch for it to live in
(parrot patch)
ujwalic what should be the *pull request* message 22:23
PerlJam ujwalic: "Cool stuff! Pull it now!"
;-) 22:24
wayland76 minmax is listed in S32-setting-library/Containers.pod
pmichaud I only saw it for Range 22:25
wayland76 What should it be on? 22:26
pmichaud I'm not sure we should have a .minmax at all. But .min and .max would likely be defined on Any
so if we have a .minmax, it'd be on Any also. 22:27
wayland76 Oh, I see, it's an operator. Yeah, maybe it shouldn't be a method
pmichaud S03 mentions .minmax as a method on Ranges
wayland76 Yeah, just saw that 22:28
So maybe S32 is right :)
Or maybe minmax needs to be thought through more :)
pmichaud S03 also mentions a "minmax" listop. 22:29
AFAICT, many things about Ranges need to be thought through more.
S02 still shows Range as being immutable, for instance.
moritz_ and they aren't? 22:30
ujwalic Configure.pl is fixed for Windows, Fixed conversion of '/' to '\' inside URLs in Makefile
github.com/ujwal/rakudo/commit/6967...e195adc593 22:31
pmichaud I'll accept 6967c3 22:33
(if someone else wants to do the work of applying them, that's fine with me. I'm a bit distracted at home at the moment.)
moritz_ ok, I'll do it
pmichaud same for Any.first 22:34
22:38 dalek left, dalek joined
moritz_ both pushed 22:38
and dalek ate them here 22:39
22:39 rindolf left, cspencer left
moritz_ time for bed & 22:40
22:44 skids joined
pmichaud afk # fetching family dinner 22:44
22:46 alester left
diakopter bring home [the] bacon. 22:47
22:50 cspencer joined
cspencer one of the tests for the kv sub uses a named parameter like: "my @kv = kv(:array(@array))", but i don't see that kv accepts named params in the spec 22:57
did i miss something?
jnthn That test feels suspect to me...I'd expect .kv is an exported multi 22:59
And the first parameter comes frm the invocant of the defining class.
Which is never a named, AFAIK.
22:59 sri_kraih_ left
cspencer it seemed a little strange when i came across it 23:00
23:08 justatheory left 23:17 ZuLuuuuuu joined 23:18 kane_ left 23:22 bacek_ joined 23:28 kate21de1 joined 23:33 Sepheebear left 23:34 justatheory joined, cspencer left
s1n pmichaud: don't forget, tomorrow at 7pm 23:37
23:40 arejay joined 23:41 NoirSoldats left
frioux is it a pm meeting or something? 23:42
s1n frioux: not really, we meet monthly and discuss rakudo, i ask questions, make observations, yada yada :) 23:43
frioux that's awesome
s1n he lives like 5 minutes from me
frioux wow
doesn't he work at some university? 23:44
wayland76 That's pretty useful (for you, anyway :) )
s1n only like very very part time for one in the houston area
frioux ...
23:44 kate21de left
frioux houston eh? 23:44
23:44 NoirSoldats joined
frioux I wonder if I could come hang out one time... 23:45
s1n wayland76: yes, it is, i pick his brain, treat it like a mentorship
frioux: we're in dallas :)
frioux fdjkslafdjkls;a
me too!
s1n where about?
frioux live in plano, work in richardson
s1n sounds like 5 minutes further south from me than pmichaud
i'm in mckinney
frioux oh my goodness 23:46
s1n he's in plano/allen
i'll mention it next time
frioux well, at some point I wanna meet you guys
wayland76 Dallas.p6m :)
s1n course if you want to meet up with just me, i'm cool with that too
frioux no rush or anything, we are all busy, but still
yeah, for sure
speaking of
s1n weekends are best for me :)
frioux is there a different dallas.p6m than dallas.pm?
because that seems a little dead
s1n dallas.pm isn't overly active 23:47
frioux like, they say meet once a month, but the next meeting is at the end of april
s1n i didn't even bother with dallas.pm, but if you want to start a dallas.p6m, i'm all for that
in fact, if you want to start the first p6m, i'm up for that too
wayland76 I wasn't suggesting that one existed, but merely that you could form the first p6 Perl Mongers 23:48
frioux that could be oh so excellent
s1n let's do it then
frioux yes
we should
s1n henceforth frioux and i are the first members of p6m :)
wayland76 Actually, it might even be an idea to start p6m as a subgroup of eg. Dallas.pm
frioux high fives s1n
s1n we need a website now :)
s1n fives back
frioux I have some hosting at dreamhost
wayland76 So as to attract more members :)
frioux right
s1n exactly, but we will have to eventually branch off 23:49
wayland76 p6m.org is available
s1n ooo, someone take it!
wayland76 you can get dallas.p6m.org :)
frioux haha
s1n omg, we need that domain
23:49 Sepheebear joined
wayland76 Is someone getting it? 23:49
frioux where should I buy it?
I'll do it
wayland76 Well, I usually use Nearlyfreespeech.net 23:50
frioux well, I only need the domain...
wayland76 They do domains :)
frioux can I get the domain here and not host it
wayland76 Lemme look... (I think so)
s1n i've never bought a domain 23:51
frioux I have afoolishmanifesto.com
but I got it through dreamhost
s1n i'll buy it now if someone helped out
frioux it's really cheap, I don't mind paying for it
and I'll just give it to larry or perl.org or whoever later 23:52
wayland76 Looks like it: www.nearlyfreespeech.net/services/domains.php
frioux but do they own the domain name or do we?
wayland76 pm.org is currently the Perl Foundation / Ask Bjorn Hansen 23:53
frioux because it's not really clear
s1n why don't i just go to godaddy or some other generic service?
frioux sure
I don't see why not
s1n and then donate it to TPF
frioux you wanna get it or do you want me to
wayland76 I'm pretty sure that we do, but I've got privacy protection turned on
(not we, they) 23:54
(I'm just a nfsn customer)
23:54 ZuLuuuuuu left
frioux yeah 23:54
s1n it's $15 bucks a year on godaddy
other than info harvesters, what privacy concern should we have? 23:55
wayland76 And $8.59 on NFSN
frioux hahaha
I have no idea
wayland76 privacy -> less spam
s1n email or snail?
wayland76 email spam. But they also protect you from domain scams 23:56
s1n i already get loads of both but i recycle and report (gmail)
frioux no clue
I am gonna head home
wayland76 no clue about what?
frioux I'll be back later 23:57
wayland76 ok
frioux email vs snailmail
wayland76 well, the scams come via both
I've seen them when I worked for an ISP