pugscode.org/ planetsix.perl.org/ feather.perl6.nl/syn/ perlcabal.org/svn/pugs/log github.com/rakudo/rakudo | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas
Set by mncharity1 on 25 February 2009.
skids std: my $i = Num; 00:04
p6eval std 25658: OUTPUT«ok 00:02 34m␤»
skids std: my %f; %f{Num} = 1;
p6eval std 25658: OUTPUT«ok 00:02 35m␤»
bacek_ rakudo: multi sub foo { ... }; say &foo.HOW 00:05
p6eval rakudo 66595b: OUTPUT«Null PMC access in find_method()␤current instr.: '_block14' pc 79 (EVAL_19:43)␤»
bacek_ this is root of last few masak's bugs.
pmichaud bacek_: fair enough -- the spec doesn't indicate what should be returned there, though. 00:06
00:07 nihiliad left, awarefish left
skids pmichaud: github.com/skids/rakudo/commits/settingjunk -- top 2 (because I suck at git) commits. 00:10
bacek_ rakudo: sub foo { ... }; say &foo.HOW 00:11
p6eval rakudo 66595b: OUTPUT«get_string() not implemented in class 'P6metaclass'␤current instr.: 'print' pc 19432 (src/builtins/io.pir:26)␤»
pmichaud rakudo: say 1.HOW; 00:13
p6eval rakudo 66595b: OUTPUT«get_string() not implemented in class 'P6metaclass'␤current instr.: 'print' pc 19432 (src/builtins/io.pir:26)␤»
00:14 DemoFreak left 00:15 pmurias left
pmichaud skids: I think I'd prefer to see us use map() instead of threading to get the .perl values. 00:15
skids Hey, the comments in the POD said "This should actually autothread" so I did so :-) 00:16
I mean in the PIR.
pmichaud self.eigenstates.map( { .perl } ).join(', ')
skids Yeah I had that, but then said, well let's gofor that aututhreading goal. 00:17
pmichaud I think that might've been written before it was clear that .perl actually doesn't autothread on Junction.
and actually: self.eigenstates.perl might be sufficient. 00:19
(since eigenstates already returns a List) 00:20
skids No it puts squares around.
pmichaud oh yes, correct.
s1n who's andy lester (that is, what nick does he go by)? 00:21
pmichaud on #perl6, it's 'alester'
s1n pmichaud: thanks :) 00:22
i saw the rakudo.org change
pmichaud yes. Now we just need a way to get people accounts.
s1n is lined up
so is anyone using the patch review process that github provides? 00:23
pmichaud there's been a discussion thread about that on p6c
s1n guess i should subscribe to that and not p6l... 00:24
how's the discussion gone?
because i've submitted pull requests looking for feedback and i get the feeling they're being ignored 00:25
pmichaud groups.google.com/group/perl.perl6....77e96acda#
s1n reading intently 00:27
that was just sat.
pmichaud sat was when I was trying to go through the fork queue and becoming incredibly frustrated by it.
s1n imagine trying to keep up with mainline 00:28
i stopped trying to constantly rebase my tree (and reapply master patches)
00:28 Limbic_Region joined
pmichaud I agree -- I would probably do the same. 00:31
I would get my branch working, _then_ rebase once, then test everything. 00:32
anyway, wife just called and kids and I have to meet her for dinner (in 10 mins) so I gotta run. bbl
00:32 Helios left 00:36 Helios joined
dalek kudo: 4ec17da | pmichaud++ | docs/ChangeLog:
ChangeLog update.
00:39
00:48 krunen left 00:53 araujo joined 00:54 krunen joined
bacek_ pmichaud: "I'd prefer to look for a way to automatically promote nulls into undefs at the appropriate points". I don't quite understand what exactly do you mean? 01:01
01:06 hercynium joined, Whiteknight left 01:21 sri_kraih joined
skids rakudo: { my $x; $x = BEGIN {time}; } 01:21
p6eval rakudo 4ec17d: OUTPUT«Could not find non-existent sub BEGIN␤current instr.: '_block20' pc 119 (EVAL_17:70)␤»
skids rakudo: { my $x; BEGIN {time}; }
p6eval rakudo 4ec17d: RESULT«{ ... }»
01:21 estrabd left 01:29 sri_kraih left 01:51 cognominal left 01:55 cognominal joined, eternaleye joined 01:58 Tene joined 02:00 NoirSoldats joined 02:02 alc joined 02:12 Tene_ left 02:16 PZt joined 02:19 nixfu joined 02:20 bsb left 02:22 nixfu left 02:28 kanru left 02:29 kanru joined
s1n pmichaud: i personally tried to do the "steps to submit a patch" and that is _way_ too much work, the fork quickly falls out of date, it's tough maintaining 2 remotes 02:41
in general, i spent more time managing my fork/clone than i did coding, which is not good
02:41 REPLeffect left
s1n the problem with "developer creates a branch" is i have to have commit access to do that to the rakudo project, else i have to fork it 02:42
(step 1 from alester's suggestion)
alester: also, what's the "squash" option? 02:43
Tene Are there any other large projects hosted on github that we could look at for ideas? 02:48
s1n Tene: i dunno, but i've seen articles about how Linux patches make it through 02:49
those might be of help, but there are significantly more people there than with rakudo 02:50
Tene If you just post patches to the list, that can still be handled just fine. 02:51
If you posted a git url to the list, that could be handled just fine.
The fork queue is nice, but apparently not designed for significant use. 02:52
"only shows 50 commits" is pretty damning.
You can send a pull request on github, though.
s1n Tene: yeah, but i don't think anyone pays attention to pull requests 02:57
i sent out a handful trying to get some help and no one even responded 02:58
i think you're right about the fork queue
Tene wait, for pull requests I think you have to log in as the 'rakudo' user
which is very much not helpful. 02:59
can you check if it's possible to send a pull request to 'pmichaud' or 'tene' or some other username than 'rakudo'?
s1n no, i made pull requests for my (now mostly abanonded) fork
you can send them to anyone you want, rakudo related, or otherwise
Tene hmm 03:00
s1n i sent them to people i was seeing in the RSS commit feed
Tene Linux doesn't use github, just uses git. iirc, they just pust to the list "please pull from this branch at this git url"
s1n yeah, but how do they do that? 03:01
and how do i get a branch in rakudo if i don't have commit access?
the point is i can commit to my clone and push to other repos, who are then responsible for patch review 03:02
they have a hierarchy, rakudo has like 5 committers, a few forks on github for non-committers
avar The linux kernel takes advantage of the distributed model. someone developing e.g. a wifi driver for some card (e.g. iwlagn) has his own branch and pulls from upstream, this is then maybe pushed into some general experimental device driver repo, then into -mm and later into the main tree 03:03
s1n right, that demonstrates a sort of hierarchy of distributed repos 03:04
Tene s1n: if you want to make a branch on the 'rakudo on github' repository, you need commit privs, but you can maintain your own repository just fine
s1n: and then when you want to advertise something for inclusion, you post to the list asking someone to pull from your repository
you don't need anyone's permission to make your own repo. It could be on github or anywhere else. 03:05
s1n repo and branch aren't the same thing with git
Tene s1n: Right.
s1n i have a fork of a repo, s1n/rakudo, with a branch rt_work
Tene Right.
s1n that's 1 branch, 2 remotes to do my work
well, 2 branches if you count master 03:06
Tene gh-pages and rt_work
right
s1n well, there aren't "subsystems" with rakudo
it's just not large enough for that yet
Tene So what I'd like to see is you posting to the list saying 'pull from branch rt_work at git://github.com/s1n/rakudo.git' 03:07
s1n that to me was not the idea method to make a patch or 2 to a file to submit for review
Tene You can always just post patches ot the list too.
s1n Tene: i didn't post to p6c (didn't even know about it until today), but i did try pull requests and even posted in here looking for help 03:08
Tene Yes, I think that not many people look at the github website
Recently a few people started, but quickly found the limitations of the fork queue and gave up on it 03:09
s1n Tene: it'll send you an email too
Tene If github does offer anything to make this nicer, a process can be formalized. afaik, nobody here has found anything very helpful on github.
s1n the point is, it's easy to be pestered with commits
imho, we should use github to just host the official rakudo and do the rest of the work off-site 03:10
Tene Are you proposing anything specific?
Or just "give up on trying to use the github web interface"?
s1n well, i really wanted to know about alester's "squash" option 03:11
that would make things _much_ friendlier
Tene s1n: I don't see anything in the log in this channel from alester mentioning 'squash'
masak did...
or was this somewhere else?
s1n i'd like to take a bunch of commits and package them together as a changeset 03:12
on the p6c
the link pmichaud sent me earlier
Tene git diff master > changeset.patch
will do that
03:12 Casan left
s1n no, that still just makes a patch, not too much different than svn diff > changeset.patch without committing locally 03:13
Tene Ah.
s1n first, managing a fork is not easy, having 2 repos to do your work out of is tough
Tene git rebase -i master 03:14
will open $EDITOR
That might be what you want.
s1n rebase, okay, so i haven't found a really good explanation of that yet
Tene Or checkout master and git merge --squash $BRANCH
that will work too.
rebase probably isn't what you want.
s1n okay, so tell me how that changes the workflow... 03:15
Tene I'm not entirely clear what you're wanting to do here.
Or what your workflow was before.
s1n heh anything that lets me submit patches to earn commit access and improve at writing a compiler (newb) 03:16
let me give you an example, in my fork, i was trying out the new Setting and changing the Range over to it (s1n/rakudo/src/setting/Range.pm)
i made a handful of changes, and ultimately wanted someone to review them, there were merge conflicts though 03:17
i ended up pushing to my fork, had to rebase first though
first time i tried this i had to send a list of sha1 hashes to moritz_ for cherry picking, but i don't know if he liked doing that 03:18
how can i better do this? i want to make local commits and then have something easily reviewable, such as squash 03:19
i don't have commit access, so i have to do this in my own repo, if i fork it on github, that means i have to track origin _and_ upstream
jeez, i've been talking too much 03:20
Tene If you push up to github, that provides an easy way to review changes. Instead of giving commit IDs, though, just push up branches to your github repo. 03:21
example:
s1n i did push to github, that's what i was saying
i had made a series of pushes
Tene And you want to push up a single commit that represents the entire branch, right? 03:23
git checkout -b foo-work; hack hack hack; git checkout master; <update from origin whatever>; git checkout -b foo-review; git merge --squash foo-work; <push foo-review branch to github> 03:24
Approximately that?
s1n ehh, not quite
more like (abbreviated greatly): 03:25
git clone s1n; git pull upstream; hack hack hack; git push origin; hack hack hack; git push origin; git patch-smashing-for-review 03:26
(just conceptual) 03:27
Tene And what is it that you're wanting to squash and why?
s1n the two hack-hack-hacks :) 03:28
oh, for review
in my real-yet-kinda-hypothetical-scenario i was having problems and i was looking for help
Tene nods.
03:28 khisanth_ joined
Tene My preference is to run: git diff master | nopaste "PLZ HALP" 03:28
s1n heh 03:29
Tene where nopaste is a shell alias to post to the nopaste site that the bot in #parrot watches
I've done that quite a few times.
s1n when you diff master, which remote would that be?
Tene Whatever's appropriate for what I'm saying. 03:30
Somehow I don't think that answer was helpful. :) 03:31
frooh hey guys, I'm trying to add some stuff to the prelude and I am getting errors about modifying the invocant. Anyone have any ideas about what that could be about?
Tene I'm sorry for being a bit confusing. I'm not quite awake right now.
frooh: can you show me the relevant code?
paste it somewhere online? 03:32
frooh Tene: sure
one sec
rafb.net/p/w8bbQZ17.html
maybe I should be using .:= ? 03:33
Tene Doesn't Perl6Array already have a shift method? 03:34
Inherited from the parrot array class?
frooh Tene: yeah, but pmichaud said to just see what I could pull of in the perl
Tene Ah. 03:35
frooh if you have a better suggestion I'll do that :-)
I just want to help :-)
Tene frooh: Okay. My advice here is that you probably shouldn't be reversing the array there. Reversing twice just to shift is going to be pretty expensive.
frooh Agreed
Tene can't you just @array.delete(0)
?
frooh no
that gives
<undef 1 2> 03:36
instead of <1 2>
delete only shortens the list if it's from the end
03:36 Khisanth left
frooh I tried :-) 03:36
Tene What happens if you try to assign to @array[1..*] ? 03:37
Oh, rakudo might no tbe lazy enough for that to work yet. 03:38
frooh even if that did work, I don't follow
Tene I think that shift isn't a good candidate for implementing in the Setting.
frooh haha, that's fine
pop was way easy!
@array.delete(@array.end))
lambdabot Unknown command, try @list
frooh more or less
Tene But you might be able to get away with something like: method shift(@a:) { my $r = @a[0]; @a = @a[1..*]; return $r; } 03:39
frooh or even @a[1..@a.end]
Tene That's what I'd try. Hardly ideal, and might not work with assigning to the invocant. 03:40
frooh is that against the rules or something?
Tene is <undef ...> the spec'd behavior for array's delete
?
frooh yeah
Tene I'm not sure. I don't know how that's defined.
frooh I guess because you don't want all the indices changing from a delete 03:41
that's not the point
if you want that you use shift: hence the name
eah 03:43
cannot assign to a readonly variable
yeah*
:-( 03:44
oh well
any other suggestions that someone who would like to contribute could start off with?
Tene You might go look at the spectests to look for unimplemented features. 03:46
You might go look through... is it S29?
frooh yeah
Tene That defines the builtin functions?
wayland76 ...and S32 :)
frooh yeah
so I guess look at the skipped ones then
wayland76 The main problem with S32 is that it's not complete
S29 also has things grouped into categories that are not classes 03:47
frooh well, I'd def start at 29; I am not even close with trying to guess what would be good with this stuff
wayland76 Whereas everything in S32 is a method on a class
frooh oh
so they stuff to 32 recently
that's new right?
wayland76 Yes, that's now
frooh ok
wayland76 new
frooh I wondered when that happened
wayland76 And it's my fault :) 03:48
frooh haha
well
wayland76 perlcabal.org/syn/
frooh I'd rather chaos than stagnation
wayland76 And click shift+refresh or ctrl+refresh
frooh (it's already open and bookmarked :-)
wayland76 I think S32/Containers.pod is what you want
frooh yeah
I already had it open for the shift stuff :-)
wayland76 The S29 stuff probably needs more work 03:49
Good :)
03:49 nihiliad joined
frooh so I should try to find incomplete things in 32 then and try to do those? 03:49
wayland76 frooh: That's my recommendation
frooh wishes firefox had splits like vim
alright!
thanks wayland76
wayland76 welcome
Also, while you're there, keep an eye out for things that are done, but not documented in S32 :) 03:50
frooh well, the spectest clearly needs to be reoganized
wayland76 Then either add them, or flick me an e-mail, and I'll see what I can do
frooh it's still called s29-array etc
ok
will do
wayland76 Yeah, I've only been changing specs, not other things 03:51
frooh hmm
I'll see if I can add stuff
wayland76 I'm planning eventually to get on to rakudo hacking
frooh if I can't I'll do some reorg
I've already got a commit bit for pugs so that's easy
wayland76 frooh++ :)
Just a warning also, half of these things are still at the Draft stage 03:55
frooh yeah
I understand that
03:55 japhb joined
frooh but in my fumbling maybe I can at least tell you guys something needs to be cleaned up or something 03:56
s1n frooh: i've been trying to learn my way around p6 and rakudo for a while in order to get commit access, it's been tough, too many changes for me to keep up with (switch to git, not the Setting stuff)
frooh alright 03:57
s1n i think i've been fumbling around since the summer trying to get my foot in the door
frooh hahaha
wayland76 Hopefully the setting will fix this problem
frooh well, I doubt I'm as smart as you, so I won't get my hopes up for that one
wayland76 In that you at least won't have to learn PIR and parrot :) 03:58
frooh I really don't want to learn pir :_)
er
:-)
s1n PIR is actually easy
frooh easy like MIPS?
s1n heh, easier than mips
frooh because I'm good at that, it's just...arduous
s1n mips doesn't have complex types like pmc
wayland76 frooh: I'm not that smart -- I write specs only because no-one else is, in hopes of prompting them to get frustrated and change them :)
frooh wayland76: nice 03:59
s1n i just want a workload of things to do with feedback on the things i've done
wayland76 My only real talent in this area is in reorganising existing material
s1n that's not so easy with rakudo/perl6
wayland76 s1n: Yeah, I know
(ie. I agree) 04:00
I'll try to remember to get onto some people about it :)
s1n honestly, my impression is the community is very self-serving, it's very hard to find help, find people to comment on work, and to grow into the community
frooh s1n: really? I thought people were pretty helpful... 04:01
s1n there are lots of people interested, but all in different directions
people are helpful sure 04:02
but getting core questions answered are hard
frooh ah
gotcha
wayland76 Yeah, I can agree with that :)
s1n there's jnthn and pmichaud and those are are friggin ridiculously busy
personally, i have a perpetual feeling of being stuck on my first couple of patches 04:03
04:03 Limbic_Region left
wayland76 In the last day or so, I've heard a number of similar complaints (and none before then) 04:03
I might try to send something to the mailing list
s1n i don't want to say there should be organization...
wayland76 Question: what 2 or 3 things do you think would most help you?
s1n but developer relations (devrel) or similar would _really_ help attract newcommers 04:04
wayland76 (ie. for me, it would be a documented NCI, and a few others)
04:04 finchely joined
wayland76 I think this channel is devrel, but part of the problem is, the main Rakudo developers are all in Europe 04:04
s1n me? documented parser internals, documented process to getting commit access, formal patch review process
if i write some code, try to paste it in here, i _might_ be lucky if i catch someone's attention 04:05
i'd like to see a more directed newcommer focus (that is, here's how you go from being a newb to being a regular)
GNOME's GnomeLove project is great like that 04:06
live.gnome.org/GnomeLove
04:07 hercynium left
s1n look at all those guides! and the developers respond to patch, quickly! (no offense to you rakudo committers :)) 04:07
04:07 jrockway_ is now known as jrockway
wayland76 Btw, are either of you guys subscribed to p6c? 04:08
frooh I am subscribed to all of the lists
s1n wayland76: not yet, just heard about it today
frooh It's like drinking from a fire hose sometimes :-)
s1n i was subscribed to p6l but i'm going to have to stop because there's too much chatter for me to manage
heh
wayland76 Yeah. I'm only on p6l. I just ignore the threads that don't interest me :) 04:09
frooh I decided to just put them in a separate folder (tag, gmail) and then just mark it as read if it's boring
that time stuff a few days ago was interesting for a while
wayland76 Oh, yeah, I have it all filtered into a separate folder :)
frooh then it got really nitpicky
wayland76 frooh: yeah, agreed
s1n same here, i was sick on friday but now i have like 90 emails!
frooh s1n: exactly. which is why you just mark the boring ones as read 04:10
wayland76 Basically, if it looks like people already know more than me, I ignore the thread
s1n wayland76: i usually do the opposite
frooh haha, same here
s1n if the people know vastly more than me, i read with great intent
frooh it's a chance to learn!
s1n anyways, is there an effort for a devrel yet? 04:11
wayland76 I do it because I want things to be the best they possibly can. That's probably why I'm on p6l rather than p6c :)
s1n: Have you also investigated the #parrot channel?
s1n wayland76: reading and responding aren't the same
have i checked for devrel on #parrot? no
should i? 04:12
wayland76 Hmm. Maybe not
2 months ago, i would've said yes
s1n okay, so i'm going to head to bed, but...
wayland76 I'll get on p6c, and send an e-mail
(presenting some of peoples views)
s1n this is something i want to continue on p6c tomorrow
wayland76 ok :) 04:13
s1n bed&
frooh I think I could get a start on classify 04:14
04:14 alc left
frooh I don't know about the lazy stuff, but I could defintely do it 04:14
04:14 finchely left
wayland76 I think S07 talks some about lazy, IIRC 04:17
frooh indeed it does 04:18
pugs_svn r25659 | putter++ | [elfparse] Started sketching in support for calling non-Rx normal methods as subrules. 04:19
wayland76 (I wrote it based on ruoso's explanation :) ) 04:23
04:23 meppuru joined
frooh so ?$foo means if $foo is true right? 04:24
as in defined and not 0 or '' ?
wayland76 no idea
frooh haha, ok
wayland76 rakudo: $foo = 1; say ?$foo; 04:25
p6eval rakudo 4ec17d: OUTPUT«Scope not found for PAST::Var '$foo' in ␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤»
meppuru good night
wayland76 std: $foo = 1; say ?$foo;
p6eval std 25659: OUTPUT«Potential difficulties:␤ Variable $foo is not predeclared at /tmp/ZIL1jvy3yX line 1:␤------> $foo = 1; say ?$foo;␤ Variable $foo is not predeclared at /tmp/ZIL1jvy3yX line 1:␤------> $foo = 1; say ?$foo;␤ok 00:02 36m␤»
frooh sweet! I got a non lazy version working
wayland76 g'night meppl
meppuru ;)
wayland76 std: my($foo) = 1; say ?$foo;
p6eval std 25659: OUTPUT«Potential difficulties:␤ Variable $foo is not predeclared at /tmp/t1YAICh11R line 1:␤------> my($foo) = 1; say ?$foo;␤ Variable $foo is not predeclared at /tmp/t1YAICh11R line 1:␤------> my($foo) = 1; say ?$foo;␤Undeclared routine:␤ my used at 1 ␤ok
.....
04:26 meppuru left
wayland76 whoops, meppuru, sorry :) 04:26
frooh rakudo: my $f = 1; say ?$f;
p6eval rakudo 4ec17d: OUTPUT«1␤»
frooh rakudo: my $f = 2; say ?$f;
p6eval rakudo 4ec17d: OUTPUT«1␤»
04:26 Kimtaro left
frooh rakudo: my $f = ''; say ?$f; 04:26
p6eval rakudo 4ec17d: OUTPUT«0␤»
frooh rakudo: my $f = ''; say ?$f.perl;
p6eval rakudo 4ec17d: OUTPUT«1␤»
wayland76 Well, it likes you, anyway :)
frooh that's weird
it changed for .perl
haha 04:27
wayland76 Well, maybe it does (?$f).perl
frooh I think I could maybe make it lazy with a nested grep and map...
but..
hm
04:36 finchely joined, finchely left
wayland76 That was a quick visit :) 04:38
(by finchely)
frooh did he join and part?
there are so many in this channel that I disabled them
04:38 meppl left
wayland76 yeah. And I agree, there are lots :) 04:39
frooh because if you leave them out you can just skim the list when you get a chance
but if not, it's crazy 04:40
wayland76 On mine, they're all purple, so they're easy to ignore :)
frooh well, they were dim here too, but it was just so much text I didn't want to page through all of it 04:41
04:43 khisanth_ is now known as Khisanth
frooh well that was fun 04:46
so I have a (nonlazy) version of classify in git
should I email someone?
wayland76 I don't know :) 04:47
frooh haha, that's fine
wayland76 I'm completely ignorant of the development process
frooh it sure is quiet in here today...
wayland76 It always is at this time of day. I'm in Australia, and it's the middle of the afternoon
frooh well, usually TimToady is at least around 04:48
wayland76 I get the Americans in the morning, and the europeans in the evening
frooh haha, I'm American :-)
wayland76 I figured that -- rr.com :)
frooh ah, good point
wayland76 Actually, I'm dual citizen, Australia and America :)
frooh also: classify is apparently already done, the test isn't where I'd expected
how does that work? 04:49
are you from there or here originally?
wayland76 my parents are American
They were originally planning to go back, but never got around to it
frooh huh
wayland76 They used to make you choose when you were 18
but when I was about 12, they changed the rules 04:50
frooh I wanted to go to australia for a year after I graduated college, but it cost to much
they made it so you didn't have to choose?
too*
wayland76 yeah, didn't have to choose
I think plane tickets are cheap at the moment :) 04:51
frooh well, but there is still the travel and all that
I wanted to go down there, buy a motorcycle, travel the continent for a while, and when I was done sell the motorcycle and buy a ticket back 04:52
it just wasn't in the cards
wayland76 ok
My parents did something similar in Europe
frooh that's cool
wayland76 missionaries in Cyprus for 2-4 years, met there
frooh wow, that's awesome
wayland76 then rode a motorbike from Cyprus to England to Calcutta :)
frooh wow
they are cool :-) 04:53
wayland76 (Calcutta in India)
frooh yeah
wayland76 They are, rather :)
frooh my boss grew up in the phillipines
wayland76 I mean, not fashionable cool, but just interesting :)
frooh hhe was a missionary kid at the time and he has all these stories about running from wild boar and stuff
wayland76 That's kinda cool too :)
frooh well, they're cool the way that's good 04:54
wayland76 I know a number of missionaries and ex-missionaries, and they usually hae some good stories :)
frooh yeah 04:55
ok, well, I need to start getting ready to hit the sack, but tomorrow I will move some of the S29 tests to S32 tests.
I can't update the can-do list for rakudo as I can't commit to that 04:56
but I'll let everyone know when I start
wayland76 Sounds good to me 04:57
Put any unresolved questions out early in the morning for the Euros to answer :)
frooh haha, I'll do my best
usually when I want to get serious work done I do it on the weekend at weird hours 04:58
then everyone's around
04:58 Kimtaro joined, Tene_ joined 05:11 alc joined 05:12 masak joined 05:15 slango left 05:16 Tene left 05:19 slango joined
masak morning, all. 05:31
wayland76 'morning :) 05:32
masak yawns and stretches his arms upwards 05:34
\o/
Tene_ morning masak 05:36
masak Tene_: good morning sir. and congratulations. 05:37
Tene_ On what?
masak Tene_: on being accepted for the Web grant.
Tene_ oh, I didn't know that happened. I guess I should check my emails sometimes. 05:38
masak aye. :)
it was only a few hours ago.
06:00 nihiliad left
eternaleye pmichaud: Interesting post about GitHub pull queue workflow (and submission-management in general): benjamin-meyer.blogspot.com/2008/08...-free.html 06:03
(the pull queue workflow is at the bottom) 06:04
masak @tell mberends here's a demonstration of how proto doesn't handle dependencies correctly yet: gist.github.com/73211 -- I believe I might have a fix to that, though.
lambdabot Consider it noted.
06:05 kanru2 joined
pugs_svn r25660 | lwall++ | [STD] =begin END not eating rest of file 06:07
wayland76 Is it just me, or does OpenID not work for the perl6 Wiki? 06:15
06:19 kanru left 06:29 justatheory left 06:30 justatheory joined, justatheory left
dukeleto wayland76: i have had issues as well 06:35
wayland76 I log in, and it sends me to the perl 5 blog 06:37
I tried to sign up for an ordinary ID, but no e-mail yet
masak wayland76: aye, I've gotten redirected like that as well. 06:38
but I think I solved it by simply going back to the Perl 6 wiki, and then I was logged in.
not 100% sure, though.
wayland76 well, it doesn't seem to have worked for me, anyway. But I'll play with things some more. 06:39
I can't log in to the perl5 wiki with my openID either 06:42
06:46 duke_leto joined, duke_leto left 06:48 bacek left
eternaleye perl6: say( join( ' ', ( [~] ( [ 'a' .. 'z' ] xx 2 ) ) ) ) 06:49
p6eval pugs: OUTPUT« ␤» 06:50
..elf 25660: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map'␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤ from
../home/evalenv/pugs/...
..rakudo 4ec17d: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y z␤»
eternaleye perl6: say( join( ' ', ( [X~] ( [ 'a' .. 'z' ] xx 2 ) ) ) )
p6eval rakudo 4ec17d: OUTPUT«Statement not terminated properly at line 1, near "~] ( [ 'a'"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«*** ␤ Unexpected "["␤ expecting expression or ")"␤ at /tmp/Rt3Y9zpZat line 1, column 19␤»
..elf 25660: OUTPUT«Parse error in: /tmp/Ky3lbVeaZL␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say( join( ' ', ( [X~] ( [ 'a'␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_r...
eternaleye Is [op] not working with Xop a known problem? I remember [X~X] working a few months ago
masak eternaleye: sorry, working in which implementation? 06:55
eternaleye Rakudo 06:56
This was right around 0.7.summat I believe 06:57
masak I actually don't know -- haven't been using [X~X], ever. 07:04
I suggest you check the spectests and/or submit a feature request to rakudobug.
bacek_ perl6: say( join( ' ', ( [~] ( [ 'a' .. 'z' ] xx 2 ) ) ) ) 07:27
p6eval pugs: OUTPUT« ␤»
..elf 25660: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map'␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤ from
../home/evalenv/pugs/...
..rakudo 4ec17d: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y z␤»
masak pmichaud++ # RPN calculator in idiomatic Perl 6 07:28
bacek_ rakudo: say [R-] 21,63 07:31
p6eval rakudo 4ec17d: OUTPUT«Statement not terminated properly at line 1, near "-] 21,63"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
bacek_ rakudo: say 21 R- 63 07:33
p6eval rakudo 4ec17d: OUTPUT«42␤»
bacek_ yeah! This on better :)
masak maybe I should submit the first one as a rakudobug? 07:34
bacek_ masak: no.
std: say [R-] 21,63 07:35
p6eval std 25660: OUTPUT«ok 00:02 36m␤»
bacek_ hmm
masak :)
bacek_ looks like this is permitted syntax
masak aye -- why wouldn't it be? 07:36
wayland76 masak: Btw, still haven't received that S29 e-mail you mentioned one time :)
mberends masak: good morrow, your second gist shows that HTML::Template *was* built but the PERL6LIB was not extended before building the dependent (november)
lambdabot mberends: You have 1 new message. '/msg lambdabot @messages' to read it.
masak wayland76: then I'll send them to you directly.
mberends: exactly. 07:37
that's a bug, as far as I'm concerned.
you are welcome to fix it in master -- if not, then I will.
bacek_ masak: TODO ticket. "Implement prefix metaops for infix metaops"
masak bacek_: ah.
mberends masak: you seem to have the fix figured out - go for it 07:38
masak mberends: in due time. I'm currently working on 'update' in a branch.
mberends np
masak mberends: you might have seen that I refactored 'install' a bit also. that is in anticipation of my 'update' addition. 07:40
it currently seems to me that 'install' and 'update' will need to call each other recursively. 07:41
07:44 kanru2 left
bacek_ bacek@illusion:~/src/parrot/languages/rakudo$ ../../parrot perl6.pbc -e 'say [R-] 21,63' 07:44
42
heh
masak bacek_++ 07:45
mberends masak: the refactor is nice, showdeps is handy. we may be able to unify install() and update() in an install_or_update() kind of function 07:46
masak mberends: maybe. 07:47
if that serves us somehow, we will. :)
mberends s/be able to/need to/
masak my instinctive reaction is that install and update are different things, though.
mberends depending on what is previously installed, there is no choice 07:48
masak please elaborate. 07:49
mberends I hope you're not thinking of update as side-by-side installation of multiple versions
Let's imagine: you have HTML::Template 0.1 installed for something. November wants HTML::Template 0.2 07:50
we have to decide whether to clobber 0.1 07:51
bacek_ commute to home
see you
masak bacek_: see you. 07:52
mberends: we clobber it, period.
(because we don't handle versions)
mberends in M$ that led to 'DLL Hell', especially with Data Access Components
masak it's a prototype. 07:53
it doesn't handle versions.
and most Perl 6 projects don't do the 0.1 and 0.2 thing.
mberends agreed. the most recent anything not broken is implicitly the best. 07:54
masak aye.
we _could_ sandboxedly update/build, I guess.
07:54 riffraff joined
masak and if that fails, we try to proceed with the latest working revision. 07:55
mberends the earlier question is answered automatically by: if $already_installed($proj) { update($proj) } else { install($proj) } 07:56
masak right. 07:57
pugs_svn r25661 | lwall++ | [named-params-in-BUILD.t] fix parsefail
mberends and update() may be able to short circuit if a revision is known to be current 07:58
masak aye. 08:00
08:13 bacek_ left
moritz_ good morning 08:16
rakudo: rule w { . }; 'a' ~~ m/<w>/; for %($/).kv {}
p6eval rakudo 4ec17d: RESULT«Method 'HOW' not found for invocant of class 'Iterator'␤current instr.: '_block14' pc 77 (EVAL_20:44)␤»
moritz_ rakudo: rule w { . }; 'a' ~~ m/<w>/; for %($/).kv -> $k, $v {say $v.WHAT }; say "still here"; 08:17
p6eval rakudo 4ec17d: OUTPUT«Str␤still here␤»
masak moritz_: good morning. 08:18
moritz_ masak: that's the bug I actually wanted to reproduce yesterday 08:21
moritz_ submits 08:22
rakudo: rule w { . }; 'a' ~~ m/<w>/; for %($/).kv -> $k, $v {say $v.WHAT }; 08:26
p6eval rakudo 4ec17d: OUTPUT«Str␤»
Matt-W Morning 08:29
moritz_ rakudo: rule w { . }; 'a' ~~ m/<w>/; say $<v>.WHAT 08:33
p6eval rakudo 4ec17d: OUTPUT«Failure␤»
moritz_ rakudo: rule w { . }; 'a' ~~ m/<w>/; say $<w>.WHAT
p6eval rakudo 4ec17d: OUTPUT«Match␤»
08:33 DemoFreak joined 08:41 Nom- left, Nom- joined
pugs_svn r25662 | masak++ | [u4x/TODO] added more terms 08:41
08:52 alc left
moritz_ @seen eric256 09:04
lambdabot I saw eric256 leaving #perl6 1m 9d 2h 32m 30s ago, and .
masak has often wondered why lambdabot says 'and .' there 09:05
moritz_ "and PERIOD, I have nothing more to say!"
masak 哈哈
09:09 Kimtaro_ joined 09:10 Kimtaro left 09:20 bacek joined 09:41 ejs joined 09:44 DemoFreak left 09:51 ejs1 joined 09:59 ejs left
masak is there a way to pipe a shell command into Rakudo? 10:03
moritz_ not direct 10:05
you can redirect to a file, and then read that file
masak senses a fantastic workaround building up
moritz_ masak: if you write one, please also make it available for the test suite
masak :)
moritz_ because then I could test @*ARGS, print/say etc. 10:06
masak I think I'll simply punt to Perl 5.
since we need this from both the Perl 5 and Perl 6 code in proto.
mberends masak: there is a file-based one in perl6-examples 10:07
10:07 gfldex left
masak file-based? 10:07
mberends: I'm just thinking of the problem of showing a dot progress bar when downloading/building. I don't think Rakudo can help us there. 10:08
thus we need to outsource that task to Perl 5.
mberends there is a qx() that returns the output piped via a /tmp file. Progress bars would not work with that technique.
masak right. 10:09
moritz_ mberends: is the qx() tested on various OS?
mberends linux and osx afaik
*not* windows
moritz_ windows would be very interesting
mberends it may work in windows if %*ENV<TEMP> or %*ENV<TMP> is set 10:11
look in perl6-examples/lib/Test/Harness.pm 10:12
masak makes proto successfully build november-sans-html-template
mberends there /tmp is hard coded 10:13
has anyone tried to build parrot and rakudo on plan9? 10:14
masak dont' think so, but I get really interested in trying now that you ask. 10:15
lunch &
dalek kudo: e2ee4c7 | (Moritz Lenz)++ | src/ (2 files):
remove trailing spaces
10:28
10:28 M_o_C joined 10:42 Kimtaro_ is now known as Kimtaro 11:28 slango left 11:30 meppl joined
wayland76 Incidentally, one reason I want a documented NCI, or whatever replaces it, is so that we can go to work on the IO roles 11:33
masak sounds interesting. 11:34
masak wants non-binding getch() in Pugs
er, Rakudo.
ETOOMANYIMPLS
bacek start thinking 'bout own implementation of Perl6 11:35
masak bacek: cool. on top of what?
bacek masak: erm... Harmony? 11:36
masak that sounds familiar.
bacek ok, Mono?
masak ooh! 11:37
bacek++ # helping Perl 6 take over the world, one VM at a time
11:38 Kimtaro_ joined
wayland76 bacek: For what purpose? (not that I'm saying it's a bad idea, just wondering) 11:42
bacek wayland76: -Ofun as usual 11:43
Matt-W Perl 6 on Mono would be very cool
very, very cool
probably quite difficult though
bacek Matt-W: Mone doesn't support DLR AFAIK.
so it will be very-very difficult... 11:44
Matt-W if they don't, I expect they will soon
DLR is open source
so they don't even have to write their own
hmm google suggests that mono's been capable of running the DLR since late 2007 11:45
wayland76 bacek: Ok :) 11:46
masak: Thanks for those e-mails. It's getting late here. Hopefully I'll have a chance to get on to them tomorrow or the next day :) 11:47
masak I'm glad they finally got through. 11:49
a pox on the mail server who lost them last time I sent them.
wayland76 It reminds me of a line out of the movie "Amazing Grace" 11:54
Someone says that something that William Wilberforce likes is "like a pox on the body politic" 11:55
And Wilberforce says "I bow to the honourable member's superior knowledge in all things regarding the pox" :)
(btw, I need paraphrase marks there instead of quote marks) 11:56
11:56 Kimtaro left
wayland76 anyway, goodnight all & 11:57
11:57 Kimtaro_ is now known as Kimtaro
masak 'night, wayland76 11:58
12:06 baest_ is now known as baest 12:14 pmurias joined
pugs_svn r25663 | pmurias++ | [mildew] t/01-sanity/04-if.t passes 12:50
13:03 rmt joined 13:06 agentzh left, trexy left, broquaint left, p6eval left, trexy joined, agentzh joined, broquaint joined, p6eval joined 13:07 nbrown left
rmt What's the general feeling towards parrot/perl6 on embedded devices? The memory footprint atm looks quite big compared to perl5. Rakudo especially. Has anybody done some experimentation? 13:10
13:11 skids left
moritz_ rmt: afaict it's not high priority at them moment 13:12
Matt-W Optimisation in general isn't a very high priority at the moment...
moritz_ which means that nobody works on it, because other stuff is much more important
(like getting parrot-1.0 out of the door without taking the door with them... ;-)
Matt-W hee
13:13 ruoso joined
rmt ;-) I figure it will come eventually. :-) 13:14
ruoso Hello!
moritz_ rmt: I'm quite sure it will; at some point some hacker will surely try to plug parrot into firefox, and when that works others will try other embedding as well (esp. into smaller devices) 13:15
ruoso moritz_, isn't there a mod_parrot? that should be a good example 13:16
moritz_ ruoso: there is, but I don't know what the current status is
rmt Although small devices are now getting more powerful & more memory. :-P
moritz_ still no need to waste it immediately ;-)
ruoso and the people writing software for embedded devices already realized in the end you need C 13:17
moritz_ which is why parrot is written in C ;-)
rmt Your average mobile is more powerful a machine than what many of us first ran perl on. :-P
moritz_ not quite, but that's because I started rather late with perl ;-) 13:18
ruoso rmt, I think Sun failure with the original Java idea already proved that embedded devices require lowlevel software for most things... 13:19
yes, you can have java games in your cell phone
but that's pretty much it 13:20
rmt I consider Java a failure for the language, not the VM.. even though that's quite outdated nowadays :-P 13:21
moritz_ rmt: I agree, but the vm is still improving
araujo thinks it is a failure as a language too 13:22
rmt Sun made Java something that any idiot could (and is forced to, at least in Uni) learn, and the end result is that any idiot did. Now every weakness in Java & the VM stands out blatantly.
Programming should be a continual learning process, not just a job/paycheck, imho. 13:24
ruoso I was referring to the "original" java idea
rmt Yeah, I rant sometimes. Sorry. :-)
ruoso which was that you would be running java in your bike 13:25
and in your fridge
*that* failed
Matt-W my phone runs on Java
ruoso: that was always a silly idea
at least, I thought so
ruoso s/on //
your phone runs a vm, but it's not entirely inside one
Matt-W okay
but most of the system software is running in that vm
ruoso only some games run in java 13:26
which model?
Matt-W T-Mobile G1
runs Android
mberends rmt: building perl6 with pbc_to_exe currently pushes gcc's cc1 to use over 380MB on x86 Linux. It was too much for the swapper in an old 128MB system, but fine in 256MB. The G1 Google phone has 192MB and can install Debian...
ruoso Matt-W, ok... i'm not that all familiar with android...
rmt Bah, runs Dalvik.. completely other beast. Just ask the lawyers! ;-)
Matt-W heh 13:27
it's a different VM
they didn't find sun's to be very suitable :)
rmt So far I quite like parrot's compiler toolchain .. and while still in development, it seems easy enough to follow and reasonably documented. I was looking the the DLR - documentation is quite weak. 13:29
Matt-W I tend to view Parrot's toolkit as magical 13:31
Whenever I look at Rakudo's source there are things that just seem to happen by themselves
moritz_ Matt-W: but that's PCT, not parrot build 13:32
rmt has the desire to modify an existing language for a MUD.. something that will run untrusted scripts with varying privileges.. and restrict their time & resource usage.
moritz_ there's a security design document for parrot, but I don't know how much of it is actually implemented 13:33
Matt-W moritz_: yeah, but it's still wonderful magic stuff :) I'm going to stick to writing Perl 6 code I think
rmt There really aren't many languages with this in mind.. because people tend to trust their programmers
moritz_ trusting a programmer is always foolish ;-)
Matt-W lol 13:34
ruoso indeed, dalvik is nothing close to java
Matt-W Oh yes, it's got a translate hasn't it 13:35
you have to run the java bytecode through something so that dalvik can run it
presumably turning it into dalvik's bytecode
13:36 M_o_C left
ruoso which breaks the main point of java "compile once, debug^Wrun everywhere" 13:37
13:37 M_o_C joined
Matt-W that never happened really 13:38
devices are too different for that to be practical in any system
pmurias rmt: i'm forced to learn haskell & prolog in uni and propably C with java being fully optional
lambdabot pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them.
Matt-W you either deliver massive bits of software that contain loads of ways to adjust themselves for different systems, or you deliver inferior software that's inadequate on every platform
pmurias: wow, lucky you
we had Java and Haskell as compulsory, and while I appreciate having done the latter I could've done without the former 13:39
moritz_ I do see the merit of learning one object oriented language 13:40
though in teach I'd probably settle on Eiffel, not Java
s/teach/teaching/ 13:41
ruoso I still think Perl is the best language for anyone to start programming
the idea of only dealing with concepts that you understand is very powerful 13:42
it even has several functional influences
which is something that is missing in Java entirely
moritz_ but it's a very untypical programming language 13:43
Matt-W I think everyone should learn at least one of each major paradigm
13:43 |MoC| joined, M_o_C left
ruoso but after learning Perl, you can learn any other 13:43
moritz_ aye
Matt-W Something with OO, something functional, something logical
ruoso Perl even helps you learning functional languages later 13:44
moritz_ though I've neglect logical a bit, but learned a few declarative smaller languages like SQL and regexes
Matt-W I did Prolog at uni
can't remember much now, but I remember the principles. It was interesting to see something different again from functional or imperative
moritz_ never had that motivation, and lost my interest in it rather quickly when I tried to learn it for fun
ruoso I gained interest in functional programming by programming Perl 13:46
Matt-W ruoso: Really? Most people I've seen try to use Perl shy away from the functional features unless they have an existing functional background.
ruoso it has been said that i think sideways 13:47
Matt-W That's not a bad thing :)
We did do some Perl at Uni as well
That's what got me into learning it properly, and then I found out about Perl 6 and started paying attention and getting impatient. I've learned to put aside the impatience in the last seven years or so :) 13:48
rmt pmurias, I wish I had gone to your uni. :-P Mine started Java the year I arrived.. we had some C++ too, luckily.. but I suspect that disappeared from the standard curriculum. We did cover Eiffel too, but not in any interesting way. 13:50
13:50 Lunchy joined, Lunchy left
Matt-W We had a C++ module, but it wasn't compulsory and it was pretty lightweight 13:52
Although I did already know C++ when I went to uni, so perhaps that was cheating a bit :) 13:53
mberends rmt: be glad you didn't start with me on Fortran IV ;) 13:54
moritz_
.oO( Cobol )
mberends and 80 column Hollerith card punches 13:55
the mental damage is permanent 13:56
moritz_ non-free-form languages like the earlier fortran versions are "fun"
there's a Dijkstra quote about that, I think ;-) 13:57
Matt-W started with BBC BASIC, so is scarred forever if you believe Dijkstra
mberends with port Fortran to Parrot one day...
s/with/will/
moritz_ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." 13:58
oh, and guess what my first programming language was ;-)
pmurias ruoso: i think i'll add $reg1 = $reg2 to mold
ruoso .oO( BASIC on a MSX )
Matt-W I would like to think I disprove that quote 13:59
ruoso pmurias, I have nothing against it... but doesn't "let" solve it?
moritz_ Matt-W: there's still hope for us: brainwagon.org/2007/06/14/qotd-was-...lly-fatal/ 14:00
somebody contradicts Dijkstra
ruoso but I learned BASIC when I was 9, maybe that's what made me so weird
mberends reckons moritz_ was weaned on Perl 5
Matt-W I learned it when I was 7 14:01
Not very well though
I just used it to draw pictures
lots of PLOT 79 calls
mberends Basic didn't exist when I was 7
Matt-W I think that's the one for drawing driangles
ruoso I wrote a blackjack game in MSX BASIC
including a moving card ;)
Matt-W I have never written a game 14:02
I admire people who can, but somehow I can never quite get my head round it
moritz_ mberends: there were a lot of languages that I began learning prior to Perl 5, but not many afterwards :)
Matt-W I suspect if I tried hard enough now I could figure it out
After Perl 5, who needs anything other than Perl 6? :)
mberends moritz_++
moritz_ a game is just a program like any other ;-)
ruoso after basic, I went ot pascal, then oo pascal, then delphi
moritz_ Matt-W: yes, Perl 6 is one of the notable exceptions 14:03
ruoso and then I was saved by Perl
Matt-W moritz_: I always wanted to write a tetris clone, but I used to get this block when a program tried to pass a certain level of complexity, I couldn't see how to make it do anything else. Fortunately that evaporated in my first year of university.
mberends we had a keen Forth group in the 1980's
pmurias ruoso: i need $reg1 = $reg2 for && 14:04
14:05 Tene joined
ruoso pmurias, hmmm... can't that be made in terms of "let"? 14:05
moritz_ afk
pmurias ruoso: and i think we will ned $reg1 = $reg2 when turning lexicals into registers
ruoso turning lexicals into registers? 14:06
pmurias instead of storing them in a lexical pad we can store the lexicals in registers 14:07
ruoso why? 14:08
pmurias it would be faster
ruoso that's a job to the bytecode optimizer
that will run later
and collect registers that are looking at the same lexical variable
and turn that into using the same register
as well as re-use unused registers, to reduce memory consumption 14:10
pmurias that's the job of the register allocator 14:13
ruoso but mold have a static register allocation 14:14
pmurias a naive one
14:14 skids joined, Guest92665 left
ruoso unless you plan to turn the per-mold registers into global registers 14:14
then you need a register allocator 14:15
but you still would benefit from mold bytecode optimization
pmurias what i'm proposing as different optimalisation is that we can keep lexicals in registers and have a constant per-mold lexical names to register number lookup table 14:16
ruoso that's premature optimization
pmurias i don't want to implement that now 14:17
ruoso right...
14:18 Tene_ left
ruoso so, my suggestion is that, if you can write && using "let"... I don't think you need to implement $reg1 = $reg2 14:18
but I don't have a strong oppinion abou tit 14:19
14:20 jan_ joined
pmurias i figured out how to write && using a custom Ast Node without using $reg1 = $reg2 14:20
but not having $reg1 = $reg2 seems an arbitrary limitation
ruoso sure... just like any other limitation ;) 14:21
14:34 jan_ left 14:36 ejs1 left
pugs_svn r25664 | pmurias++ | [mildew] added && 14:36
r25664 | pmurias++ | [smop] added $reg1 = $reg2 opcode to mold
14:42 cibs left 14:44 ejs joined 14:45 rkendall joined
mberends masak: starting to write YAML::Syck replacement for LoadFile and Dumpfile, changing the config_info hash to an array per your gist will bloat all the remaining perl5 code. Shall we stay with the hash right now and put order-preserving into a ToDo? 14:45
14:46 jan_ joined
masak mberends: maybe. can we still do the YAML comments? 14:47
pmurias ruoso: == compares the result of Num
?
mberends i expect comments will be ok somehow 14:48
14:48 gfldex joined
ruoso pmurias, it is a multi 14:50
14:50 allbery_b left
pmurias i'm faking it to get 01-sanity/03 to pass 14:51
pugs: say "1.2"+1,"6,7"+1;
p6eval pugs: OUTPUT«2.27␤»
pmurias pugs: say "1.2"+1,":","6,7"+1;
p6eval pugs: OUTPUT«2.2:7␤»
ruoso pmurias, I think it would probably be better to have Multi working
and then you can implement it properly, instead of faking it
masak mberends: I'd rate the comments as slightly more important than the insertion order right now. 14:52
mberends the hash needs to become a hash of arrays to contain a value as well as a comment. 14:53
# the comment is another kind of value 14:54
hash of hash would also fit if you prefer the notation 14:55
masak mberends: do you even need a hash if you're just emulating YAML output?
mberends: couldn't you simply have a sub for each kind of YAML output you want to fake?
oh, whatever. I'm micromanaging now, not helping. :P 14:56
pmurias ruoso: i'm sure what's the valid Perl 6 to replace the captures invocant 14:57
ruoso hm? 14:58
what do you mean?
pmurias in RoleHOW.dispatch replace the invocant in $capture with $class 15:00
ruoso there's the delegate method in the native capture 15:01
15:01 kane_ joined
mberends masak: the sensitive part of the design is the data structure in perl5's variables so that the rest of proto's code can get and set the values easily. The perl6 code in installer will probably have an easier time of it and does not have to have the same data struct unless the YAML strongly dictates the struct. 15:02
pmurias ruoso: i'll add it then
masak mberends: oh, right. haven't thought about that much. yes, we do actually re-save the YAML in one place in proto -- that complicates things. :/ 15:05
mberends masak: lightbulb moment: a hash of hashes would enable us to maintain an 'order' attribute per value! 15:06
masak mberends: you mean a number? that sounds ungood. 15:08
mberends essentially the line number from the YAML file
15:08 rkendall left, |MoC| left, trexy left, p6eval left, broquaint left, agentzh left, rkendall joined, |MoC| joined, trexy joined, agentzh joined, broquaint joined, p6eval joined
masak mberends: I'd rather not. 15:09
that makes it very hard to add new values when re-saving, for example.
what's the easiest thing that could possibly work? 15:10
pugs_svn r25665 | pmurias++ | [smop] added capture.delegate
r25665 | pmurias++ | [mildew] added ||
mberends the current hash, abandoning order
masak let's go with that, then. 15:11
and maybe tie in the comments with a second hash.
15:11 rkendall left
mberends yes, that could work. YAML does not mind two hashes in one file. 15:12
pmurias food&
masak mberends: that's not what I meant, exactly.
at least I don't think it was.
mberends oh, I geddit. two hashes in memory, one struct in YAML 15:13
masak I'd like the comment to appear above each setting, as a comment.
mberends: right.
mberends masak: right
mberends will go with that, it makes good sense 15:14
alester learned all about git branches last night.
mberends just in time to tutor me! 15:15
alester Ok, ready for the big thing?
THEY DON'T GO ON THE SERVER UNTIL YOU EXPLICITLY TELL THEM THEY SHOULD GO ON THE SERVER. 15:16
diakopter covers his ears
alester I lost bunches of code.
mberends LIGHTBULBS!
romour has it the git server is actually another peer 15:17
alester Roughly, yes
masak mberends: aye.
alester but if you branch, it is only local to your machine
You have to explicitly push the branch to the remote if you want it to go there.
PerlJam alester: welcome to distributed VCSs :) 15:18
(I guess you've never used svk?)
alester PerlJam: I guess I'm just dumb, huh.
masak so there are basically four levels involved: your working copy, your index, your local commit history, and your remote repository.
ruoso but mostly you want your branches to stay local
alester What is my "index"?
PerlJam alester: that's the staging area for commits 15:19
alester ruoso: I don't want my branches to stay local if I'm working on multiple machines on the code.
PerlJam when you say "git add", that means "add these content changes to the index" 15:20
ruoso right.. but you dont need to push to the "official" repo
you can have a fork
and keep the main repo clean
alester I'm on a fork, but I want to branch that.
s/want/wanted/
ruoso ok then
alester Anyway, I've since closed and removed the branch, and my commit is back on the main petdance/rakudo 15:22
awaiting absorption
PerlJam moritz++ (.perl on Match) 15:25
alester What does .perl do anyway
moritz_ alester: the same as Data::Dumper in p5
15:26 zamolxes joined
mberends git question: if I edit a file in master and then create a new branch, does git retain or undo the file edits? 15:27
masak mberends: I don't think you can create a branch with a dirty working copy. 15:28
moritz_ it keeps the changes
you can; I just tried with git-checkout -b newbranch
masak mberends: you can stash, branch and then stash apply. then you get the changes in the branch.
moritz_: ok.
then disregard what I just said. 15:29
mberends cool, thanks
moritz_ after creating the branch, the changes are in both master and the new branch
masak moritz_: are you really talking about changes which have not been git-added? 15:30
15:31 Exodist left, Exodist joined
moritz_ masak: yes. 15:31
masak moritz_: yes. you are right. I just tried it. 15:32
moritz_ although I noticed that for most other operations git requires a clean working copy 15:33
15:33 _MoC_ joined
moritz_ which takes time to get used to if you come from svn land 15:33
masak indeed.
ruoso but I think you can "git branch" "git checkout" with uncomitted and unadded cchanges 15:34
the changes will stay that way
so you can create a branch, go there, add and commit
TimToady git sems to require a lot more coordination in other channels than svn...
*seems
alester TimToady: It's funny that it's meant to make this all easier.
TimToady maybe it's just startup transients though...
alester TimToady: yes, that was the other thing I was going to say. We are not experts yet. 15:35
moritz_ well, it's the first distributed scm I'm working with
and surely not the simplest one
15:35 trexy left, p6eval left, broquaint left, agentzh left, |MoC| left
TimToady certainly if we are to remain scalable we need to study the decisions of a community that has already faced these issues 15:36
15:36 broquaint joined
TimToady on the other hand, if such scalability requires a linus, I ain't one... 15:37
alester TimToady: When we could flail around on our own for weeks, maybe months? Where's the fun in that/
mberends happily continues work in a local yaml-replacement branch of proto 15:38
masak mberends++
mberends: I'll be right back, gone for 30m.
mberends now for the code ;)
15:39 |MoC| joined, trexy joined, agentzh joined, p6eval joined, |MoC| left
diakopter what, we can't have both a linus *and* a law? 15:39
15:43 trexy left, p6eval left, agentzh left, p6eval joined, trexy joined, agentzh joined 15:44 cas joined 15:46 trexy left, agentzh left, p6eval left, [particle]1 left 15:47 p6eval joined, trexy joined, agentzh joined 15:49 trexy left, agentzh left, p6eval left 15:50 [particle]1 joined 15:52 agentzh joined 15:53 dalek left, dalek joined 15:55 p6eval joined 16:00 trexy joined 16:01 eternaleye left 16:03 ejs left
pmichaud interesting scrollback today :-) 16:07
moritz_ ;-)
16:07 moritz_ sets mode: +oo pmichaud alester 16:09 hercynium joined
pmichaud Okay, today we have another nice long fork queue for Rakudo. Anyone want to tell me the appropriate steps to review it? ;-) 16:09
alester pmichaud: I wish I could see what you see. 16:11
But I can't see your FQ
but I believe you'll just want to git-cherry-pick xxxxxx -n
You have 5c87f8aff70585f17962df45244e657ac0981f44 from me in your FQ? 16:12
pmichaud alester: you can't see the fork queue for Rakudo?
alester It's different for me than it is for you.
pmichaud github.com/rakudo/rakudo/forkqueue
alester because I may have applied some of those patches, or ignored others, or whatever.
pmichaud I don't understand. 16:13
alester And I definitely don't see my commits in the the queue
moritz_ I thought we wanted to ignore the FQ, and people request merges in RT?
(or on IRC, or wherever) 16:14
pmichaud moritz_: alester and I are re-evaluating the FQ
alester moritz_:That was the other day. Then Chris Dolan and I came up with a flow.
moritz_ alester: ah, ok. I didn't follow that thread too close
pmichaud alester: so, every person gets a different view of Rakudo's FQ?
alester pmichaud, can you take a screen shot of your FQ?
pmichaud alester -- sure... just a sec
alester Yeah, see it says "Your rakudo fork Queue"
pmichaud alester how about a pdf instead?
alester I didn't specify file format. :-)
pmichaud okay, that keeps crashing firefox. I'll try a screen grab. 16:17
alester prob'ly 'cause the FQ does a bunch of JS 16:18
pmichaud it does okay in "print preview", just not the actual print.
pmichaud.com/sandbox/fq-1.jpg 16:19
alester ok, I can't see mine. 16:20
but tha'ts OK
moritz_ it's the same as I see
alester is my 5c87f8aff70585f17962df45244e657ac0981f44 in there?
well, yes, but there's more below skids.
pmichaud note that I'm looking at rakudo's fork queue, not pmichaud's fork queue.
alester Your scrollbar doesn't like.
s/like/lie/
Yes, I know.
moritz_ alester: it's in there, yes 16:21
alester ok
pmichaud yes, I see 5c87f8
alester so then pmichaud can do a "git-cherry-pick 5c87f8aff70585f17962df45244e657ac0981f44 -n"
which will apply that commit, but not comit it.
and you can test it, diff it, whatever.
but if I was pulling stuff from rakudo/rakudo, then I'd not bother with the -n because I'm assuming that it's good. 16:22
pmichaud okay if I play "dumb" for a bit? (more) 16:23
pmichaud@orange:~/rakudo$ git cherry-pick 5c87f8
fatal: Cannot find '5c87f8'
skids totally screwed up his pushes, caveat, some to branch settingjunk, some to master, and one I have no clue where.
alester ok, you don't have my remote.
skids I suck I know.
pmichaud right.
alester So you can either add my remote.
pmichaud so I also need to add your repository as a remote.
alester right
you know how to do that? 16:24
pmichaud git remote add petdance <url>, yes?
alester yeah
pmichaud then 'git fetch'? 16:25
moritz_ and then 'git-fetch petdance'
alester git remote update
that will bring down everything in all your remotes.
moritz_ ah, that's convenient
but I hope there's nothing wrong with 'git fetch'? 16:26
alester I think the remote update does the fetch + something else.
pmichaud pmichaud@orange:~/rakudo$ git cherry-pick 5c87f8 -n
Finished one cherry-pick.
pmichaud@orange:~/rakudo$ git diff 16:27
pmichaud@orange:~/rakudo$
:-(
alester git diff HEAD
pmichaud okay, git diff HEAD works
alester yeah, I just ran into that last night.
moritz_ why is the HEAD needed, even though it's not yet commited?
masak read 'git diff HEAD rocks!'
alester moritz_: Not sure. 16:28
masak moritz_: isn't the diff against the last committed item, i.e. HEAD?
pmichaud 'git status' shows that the changes are uncommitted, yes.
alester There's a lot of stuff I just don't get here. 16:29
moritz_ masak: that's why I don't understand why I need the 'HEAD' part
alester I'm just trying to muddle through with memorization at this point.
#git was very helpful last night.
also, RJBS knows a lot.
masak moritz_: you're diffing wc against HEAD. it's wc that's implicit.
oh, wait. you don't need HEAD. 16:30
right?
pmichaud I do if I want to see the diff.
'git diff' displays nothing for me.
masak pmichaud: you're diffing what against what?
moritz_ masak: but when I change files locally, a bare 'git-diff' shows that. Not after a git-cherry-pick -n.
masak moritz_: ah.
moritz_ masak: and I don't understand the difference
pmichaud masak: I basically did git-cherry-pick -n
masak then probably git-cherry-pick puts you in headless. 16:31
pmichaud masak: after that, 'git diff' doesn't show me any changes.
moritz_ (and the bare 'git-diff' stays empty when I do a git-add $modified_file)
masak pmichaud: I see.
pmichaud: after git-cherry-pick, what does 'git status' say about your current branch?
pmichaud shows three files modified 16:32
# Changes to be committed:
# modified: Configure.pl
# modified: tools/test_summary.pl
# modified: tools/update_passing_test_data.pl
masak yes, but before that?
does it say 'you are not currently on any branch'?
pmichaud pmichaud@orange:~/rakudo$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: Configure.pl
# modified: tools/test_summary.pl
masak ok.
pmichaud # modified: tools/update_passing_test_data.pl
masak ah. 16:33
moritz_ I'm asking in #git right now
masak pure 'git diff' doesn't show anything because it's already in the index.
you could also do 'git diff --cached'
pmichaud: pure 'git diff' diffs the wc against HEAD. but your changes are already in the index, to be committed. 16:34
pmichaud masak: ok, I get it.
so, cherry-pick -n does the equivalent of 'git-add' but doesn't do the 'git-commit' ?
alester It's more a merge than an add.
and yes, the -n says not to commit 16:35
git-cherry-pick --help
Note you cannot abbreviate as git-cherry because that is a command that shows the cherries that you have committed that have not been accepted on the main stream.
pmichaud okay, so I'm comfortable with alester's 5c87f8 commit and would know what to do there. What about the other commits in the fork queue? 16:36
alester Do the same thing and then test 'em out, I guess. 16:37
moritz_ pmichaud: an answer I got before you joined was "the difference is that with cherry-picking the diffs are in the index, with local modifications it's not in the index"
masak right.
pmichaud alester: this gets back to my point of "there are far too many commits to review here."
16:37 nihiliad joined
alester pmichaud, exactly. You still have to have people well behaved. 16:38
My commit was easy, because I made it as easy as possible.
pmichaud alester: I'm trying to get to the point of being able to tell people how to behave.
i.e., we don't document good behavior yet.
alester Right.
skids' commits, for example, are no good because they're not independent.
pmichaud but even in petdance/rakudo, I see dozens of commits. How would I know which ones to review? 16:39
alester What he should have done is do all his work on a branch, then merge that down into a single --squash commit, and then you have a single commit to work with.
You do?
You may have to ignore older ones.
But I can't see your queue.
pmichaud screenshot coming.
skids Yeah I'll have to have a sit-down with git and figure out how one might be able to consolidate old commits somehow.
alester (And not to pick on you, skids, we all did slop) 16:40
pmichaud pmichaud.com/sandbox/fq-2.jpg
skids Hey I'm fulling willingto admit I have absolutely no clue as to what the heck I'm doing :-)
alester oh my
I think you can simply click All and then for Actions do an Ignore. 16:41
pmichaud yes, I can do that. You're saying that when we all know what we're doing we wouldn't see this long queue? 16:42
alester Not sure why you see those as commits, because all those things that aren't from me are just cherry-picks from elsewhere.
pmichaud: Yes, that's the goal.
16:42 allbery_b joined
alester at least as I understand it. 16:42
pmichaud let me push your commit to master, first.
alester ok
and when you do that, the 5c87f8 ought to disappear when you reload the page. 16:43
skids So for future reference, when we have something we actually want to go upstream, we push it to master:master, but if we are working in a branch we push to branch:branch, and if we are in a branch and hopefully know that, and we want to push upstream we push branch:master, am I getting this? 16:44
alester skids: You shouldn't even necessarily have to push your branch up to the server.
16:44 Psyche^ joined
pmichaud okay, I just did "git commit -a; git push" 16:45
alester You cn have your branch be entirely on your local, and then merge it to your skids/rakudo fork
skids Right.
I was just typing in stuff until it stopped saying "rejected" :-)
pmichaud I suspect that I could have also simply applied it from the fq page.
alester pmichaud: Yes, but if you do that, then you can't run tests on it. 16:46
pmichaud alester: I mean after running tests on it.
alester oh, hmm, yeah, I guess, but I don't know what will happen if you do a git pull at that point.
you'll need to undo the merge in your wc
pmichaud that's no problem, I do that frequently.
alester Now, here's the weird thing. It doesn't show that I wrote it. 16:47
github.com/rakudo/rakudo/commit/688...d12a63e6ee
dalek kudo: 688f9a2 | pmichaud++ | (3 files):
Modernizing some code. Eliminated globals from Configure.pl. Error checking on file closes.
alester I think that if you do it from the FQ screen, it shows that I wrote it, and you approved it.
pmichaud right. In the patch world we would've added your attribution as part of the commit message. 16:48
I didn't do that here because I wanted to see what would happen.
alester oK. I'm not looking for credit or anything. :-)
But in the future, I think it'll be important.
on more important commits.
pmichaud I also wonder if it would've kept the attribution if I didn't do "-n" on cherry-pick.
alester I think so. also, you can do git commit -c 16:49
or -C
pmichaud oh, git commit -a put me into the editor and I saw your commit message.
Yes, looks like -C might have kept the author information.
alester git commit -a -C 5c87fc
or -s? 16:50
pmichaud anyway, I think I can figure out the options to keep the attributions in place.
alester ok
pmichaud okay, so I should now "ignore all" for petdance.
alester on those commits, yeah.
16:50 NoirSoldats left
alester Your commit shows as red for me, alas. 16:52
16:52 NoirSoldats joined
pmichaud yes, because it conflicts with your commit. 16:52
alester whereas if you had kept that 5c87fc mine would have said "Oh, need for that."
pmichaud right. But again, I can figure out how to streamline that. 16:53
16:53 Patterner left, Psyche^ is now known as Patterner, Khisanth left 16:54 Khisanth joined
alester interesting, my cherry pick on 688f9a2f8626c893b529994ed4c241d12a63e6ee had no problems. 16:55
Wonder if it said "This would put you exactly as you are, so nothing to do."
pmichaud it probably detected that nothing conflicted. 16:56
alester Tomato, tomahto.
:-)
pmichaud okay, now let me try again on bacek's e2d589 commit. This time I'll try git-cherry-pick without -n 17:00
okay, cherry-pick w/o '-n' puts it into my local repo.... now how do I see it? 17:02
alester it's just there 17:03
do a git log
pmichaud I'm trying to see the diff of what I currently have committed with where I started.
ah, "git diff HEAD^" 17:04
alester I don't think you can
oh, Ok, that'll do it
or HEAD-1, I believe.
pmichaud it didn't like HEAD-1. HEAD^ worked, though
alester ok, strange. 17:05
I haven't tried either, myself. :-)
pmichaud (I'm guessing HEAD^1)
masak not '-', '~'
alester no, I think it's HEAD^^^ if you want to go back 3
ah, thanks, masak
pmichaud "git diff ORIG_HEAD" also looks useful. 17:07
(not sure what it does, but it also shows me the difference before/after bacek's commit)
17:12 ejs joined
pmichaud okay, doing it that way looks like it preserves author information. 17:13
alester doing what what way? cherry-pick without the -n? 17:14
dalek kudo: 868c638 | bacek++ | build/gen_metaop_pir.pl:
Implement [Rop]
pmichaud yes, cherry-pick without the -n.
masak I bow before the competent folks of #perl6, and ask this question: is Web a good name? background: gist.github.com/73406 17:20
yay, my first question with references. :P
alester Oooh, a gist.
mberends masak: no 17:21
masak mberends: ok.
I guess I'm just having separation anxiety, then.
pmichaud I think that by a similar argument, we would say that 'Test' is a bad name for a module also.
masak pmichaud: I agree.
mberends know your place in the food chain
masak mberends: aye, but this is an exception. 17:22
17:22 slango joined
masak I know how this must sound. :) 17:22
pmichaud I do think that "hubris" is one of the core Perl virtues, fwiw.
masak wayland76 tried to introduce 'Tree' with much the same arguments.
mberends: what would *you* call a web module that would replace CGI? 17:23
pmichaud masak: I think "Web" is fine as a nem.
*name.
mberends xhtml
masak mberends: oh no, no, no.
mberends sorry
pmichaud xhtml doesn't capture the module.
masak mberends: you're not thinking big enough.
alester web is too vague
masak alester: so they keep telling me. why? 17:24
alester what aspect of web is it covering?
Server-side CGI handling?
masak alester: web development.
alester: Perl 6 development for the web.
mberends btw, congrats on the grant!
masak alester: please read the grant application.
pmichaud yes, congrats on the grant.
masak mberends: thank you :)
pmichaud: thank you :)
alester masak: No.
Just give me an idea. And really, the module should have that same feel. 17:25
The user shouldn't have to read the grant application or source code to know what it does.
mberends masak: LWP6 ?
pmichaud masak: perhaps by way of comparison, we should look at other one-word-names in CPAN / Perl 6
alester I really despair of all the "6" that people want to put on things.
masak alester: it would be the module that would enable the programmer to make a web application, small or large.
17:26 zamolxes left
masak alester: me too, fwiw. 17:26
mberends three
alester MasaK: So, WebFramework
masak alester: if you don't want to read up on what it does, I can only help you so much.
alester If anyone creates a "6PAN", I'm leaving for Ruby.
masak alester: it's not really a framework, either.
alester masak: You're not thinking like a marketer.
pmichaud I don't find "WebFramework" any more descriptive than "Web", fwiw.
masak alester: obviously not.
alester You want people to use your code, you need to have it be interesting.
masak alester: I want people to reach for Web because everyone else is using it. 17:27
alester Really, go ahead and call it Web because who knows what else will come along.
pmichaud masak: I agree that "Web" is fine, but here's another perspective.
why didn't you call November "Wiki" ?
masak ok, I need to go really soon. please keep discussing, and I'll backlog.
pmichaud: point taken.
alester Why is google google and not "search engine" 17:28
pmichaud and personally, I find "Rakudo" to be a much more useful name than "Perl 6"
masak pmichaud: I think we'll call the MVC part of Web something name-y, because that part _is_ opinionated.
alester pmichaud++
pmichaud (to identify what it is that we're building)
masak but a lot of things aren't.
mberends "March" ? ;)
alester What makes it NOT a framework, masak.
mberends yeah, what?
masak hm. 17:29
pmichaud so, instead of calling it "Web", where few people will know what it is, perhaps a more clever brand is useful.
alester pmichaud: Exactly.
pmichaud much like "Moose"
masak I want to make it more of a convention than a framework.
alester "Catalyst" is a great project name.
pmichaud Moose would be much less well known (and interesting) if it was use Objects;
alester yup
masak in short, Web will enable people to get started with Perl 6 web programming really, really easily.
I have another gist to demostrate this. 17:30
pmichaud also, would Rails have been as popular if it was called Ruby Web? ;-)
masak pmichaud: as I said, we'll probably call the MVC framework something else.
gist.github.com/68506
pmichaud I'm just talking about a name :-). And yes, I fully understand how hard it is to come up with good names; it took a year before we ended up with Rakudo. 17:31
I also strongly feel that whoever does the work should be allowed to choose the name. :-) 17:32
masak well, I'll try to be open to other names. but so far my clear favourite is Web.
mberends suggests giving the naming process ample time...
alester mberends++
masak let's consider it a working name.
maybe we'll decide to change it as we go along. 17:33
pmichaud I'd go with Web as a working name, yes. Just like Rakudo went with "perl6" as its working name.
alester masak: One more to consider. You will not be able to Google for it if you call it Web.
masak alester: noted.
everyone, thanks for your feedback.
food &
pmichaud googles "rakudo" out of curiosity. Yay.
It's nice that the entire first page of Google search results for "rakudo" has to do with Rakudo Perl. :-) 17:35
(at least on my system)
alester my perlbuzz templates are unhappy. :-( 17:36
17:36 [particle]1 left
pmichaud afk, lunch before #ps 17:41
17:43 DemoFreak joined 17:44 [particle]1 joined 17:45 aindilis joined
dalek kudo: c08b9bd | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 315 files, 7087 passing, 0 failing
17:45
17:51 riffraff left 18:00 ilogger2_ joined 18:04 Ariens_Hyperion joined 18:07 barney joined 18:13 akhil_ joined 18:16 Psyche^ joined 18:21 ejs joined 18:32 Exodist joined
PerlJam masak: you got the Web grant? congrats! 18:40
masak PerlJam: thanks!
it's much easier to try hard to live up to expectations when it turns out that people are willing to fund you. :)
PerlJam masak: Okay ... since you're funded, I expect you guys to produce the perl 6 version of Catalyst ;-) 18:41
masak we will make an honest start.
we do have a very ambitious 11-week plan.
PerlJam was code hosting going to be github?
masak aye, there's already a repo. 18:42
PerlJam url?
ruoso masak, my suggestion
masak PerlJam: github.com/masak/web/
PerlJam danke
masak np
ruoso create custom grammars, so you can do something like
controller Foo { action bar { } }
masak ruoso: noted. I've been thinking such things.
ruoso and talk with mst and nothinmuch 18:43
masak but I also want to write working Rakudo-today code.
ruoso: I'll definitely talk to them. I'm a lurker at #moose.
ruoso #catalyst and #catalyst-dev are helpful as well
masak I can imagine.
I will give myself a crash course in various web things in the coming weeks. 18:44
ruoso and for starters, I'd warn that "DispatchType" was the biggest mistake in Catalyst...
so, don't repeat it ;)
masak ruoso: ok. any links?
ruoso make other mistakes instead
PerlJam wonders why no one has pressed Devel::Declare into service for controller Foo { action bar {} }
ruoso PerlJam, mst has already considered that 18:45
and it seems it can do the job just fine
masak, unfortunally I don't have any links to that...
but basically, if you use more than one dispatch type in an application
masak ruoso: ok, I'll try to do some research myself.
ruoso: thanks for the pointer. 18:46
ruoso it will blow in your face
not with an error,
PerlJam heh ... we'll show those ruby folks what a DSL really looks like! ;)
masak ruoso: dispatch type?
ruoso but with unpredictable behaviour
:Path, :Regex, :Chained
make everything a variation of :Chained
if you talk with mst, he'll explain that in detail
masak is in over his head already 18:47
I'll talk to mst.
ruoso also does a kind warning about mst mood, which is mostly hard to deal with
;)
masak :)
18:53 Tene_ joined 19:08 ejs left 19:16 justatheory joined 19:19 Whiteknight joined 19:25 mikehh joined 19:37 estrabd joined 19:39 renormalist joined 19:41 Ariens_Hyperion joined
mberends masak: batten down your windows, I have a yaml-replacement branch ready to send. 19:56
masak hit me.
I'll be boring and warn that I won't have the chance to look at it really closely until sometime tomorrow afternoon... but I'm definitely curious. 19:57
mberends pushed
19:58 ejs joined
masak pulled. 19:58
mberends all this Web excitement... btw how about "Uppsala" or a place you like a lot?
masak mberends: thing is, I like 'Web'. 19:59
mberends heh
PerlJam I vote for just Web.
masak mberends: git says I'm up-to-date.
you sure you pushed?
mberends probably didn't push the correct branch
nope, cannot see a change on git hub. git status showed the changed file in the yaml-replacement branch. git add proto updated the status as usual. git commit added a comment and created a commit. git push flushed the status. I'm puzzled. 20:07
masak mberends: so you did your development in a branch, you say_ 20:09
?
mberends yes, create during that earlier discussion today.
masak did you perchance do 'git co master; git merge yaml-replacement; git push origin master' ? 20:10
(you should)
sorry, s/co/checkout/
:)
aliases are addictive.
mberends no, it was 'git branch yaml-replacement; git checkout yaml-replacement' 20:12
masak yes, when you began your branch work, it was.
but when you were finished?
mberends the finish was 'git status; git add proto; git commit; git push' and the status said yaml-replacement 20:14
masak well, there you go.
that doesn't work.
mberends git branch also says yaml-replacement
masak you need to merge back to master.
I think you might have managed to push your branch up to github, perhaps. 20:15
I don't have time to check.
but that doesn't matter.
merge to master and push from there.
mberends oh dear, I had hoped this branch technique would safeguard master from relatively untested code.
masak sure it can!
once you learn to use it :)
mberends in the right hands, quite 20:16
so, is it now 'git checkout master; git merge yaml-replacement' ? 20:17
masak yup. 20:18
took me half a summer to wrap my head around git.
but it was worth it.
mberends copies and pastes the one precious file before proceeding 20:19
masak might I recommend googling for 'git from the bottom up'? that one helped me.
mberends good, thanks
'git realpush' worked this time ;) 20:22
masak realpulls 20:23
bacek good morning 20:24
masak mberends: looks really good.
bacek: dangit, I haven't even gone to bed yet! :)
mberends what? is it tomorrow already?
bacek mberends: 7-and-half hours 20:25
masak: what for? It's morning already! :)
masak like heck it is.
in that case I would be very late now.
20:43 aindilis joined
mberends tries the Plan 9 livecd but has learned only one thing: Snarf is the new Copy. 20:45
20:48 baest joined 20:49 mncharity joined
mncharity moritz_: hi. I just saw: perlgeek.de/blog-en/perl-6/tidings-....writeback 's "Elf Mitchell Charity developed a branch of his elf compiler that's very easy to get to run: just change to its directory and type make.". that's regrettably not correct. intent, but not current state. perhaps the README is misleading? 20:51
gimme_elf is waiting on someone who does perl _5_ and cares. need to get the 4 p5 files of the gimme5 implementation to work as a single p5 file. they currently don't, and I've blown my time budget for it. 20:52
s/cares/cares+has tuits/
Tene_ why do they need to be a single file? 20:54
pugs_svn r25666 | putter++ | [gimme_elf] README: Made description of current project state less misleading. moritz++ 20:57
mncharity Tene_: gimme_elf's "thing" was "one file, no complexity, just download and run". 20:58
Tene_ ah
mncharity so no real reason. anyone who wants to do an elf variant that installs, in whatever manner, or a CPAN module, or whatever, is most welcome/encouraged to.
Has anyone explored whether rakudo can currently be used for non-small p6 projects? 20:59
alester mncharity: whare are you thinking? 21:00
mncharity pugs could pass lots of tests too. but pugsbugs would prevent doing anything larger than the smallish modules in ext/ . 21:01
if rakudo is over that hump, then most of the justification for elf goes away.
s/most/much/
diakopter yeah, a good tabular view of the passing vs. failing tests would be nice. There probably already is one somewhere... 21:02
mncharity as far as I know, rakudo hasn't yet been tested against even the ext/ modules.
I was hoping someone else had explored the issue / had experience/insight,
because otherwise it looks like it's near the top of my own todo list. 21:03
and I'd really rather not just now.
alester What are the ext/ modules
mncharity gets pointer
perlcabal.org/svn/pugs/browse/ext 21:04
perlcabal.org/svn/pugs/view/ext/README
alester None of those are going to work, I'm sure. 21:05
21:05 sri_kraih joined
alester big question: what are we going to ship with rakudo as far as modules? 21:06
mncharity I suspect so as well. The key question is
if their language is tweaked to reflect current spec, will they still not work?
[particle]1 alester: almost none. just what's needed to install modules.
alester Whatever those happen to be. :-) 21:07
mncharity And if still not, how difficult/possible is it to get them to do so.
masak alester: AFAIU, only what's needed to get out on CPAN or equiv.
alester Defining the core modules could open up a world of opportunities.
"We need this 20 modules to ship Rakudo. Get on it."
mncharity concept++
diakopter well, does "ship Rakudo" also depend on "pass the entire test suite"? 21:08
alester Again, not a question for me. 21:09
but one to answer.
mberends mncharity: the porting of perl5 core modules to Rakudo is the task I'd like to work on most of all. There are some beginnings in github.com/eric256/perl6-examples
mncharity alester: re "None of those are going to work, I'm sure.", and if they were tweaked to reflect current language spec?
[particle]1 rakudo will ship monthly
mncharity re porting core, great! /me looks... 21:10
diakopter (including the [yet unwritten?] tests to interpret/compile/evaluate as Perl 5 without the 'use v6' etc?
)
alester It has long been my assumption that the 'run perl 5 code' will not happen in any Rakudo 1.0.
diakopter alester: right, okay, [particle]1 was answering my question about what it means to "ship rakudo", but was indirectly correcting your usage of "ship rakudo" when talking about needing 20ish modules for it... 21:12
alester I pulled 20 out of my butt
diakopter alester: therefore, what exactly do you mean by "ship rakudo", since [particle]1 uses it as "monthly namings/snapshots"?
mncharity sigh. "github, it's the new sourceforge!" with all the years of pain that implies. ah well. perhaps time to punt gitorious. :/ 21:13
[particle]1 don't confuse the program with a distro 21:14
rakudo will likely have multiple distros, by multiple authorities
alester mncharity: Is there anything you DO like?
mncharity lol :)
diakopter alright...... .... I still want to know what alester means by "ship rakudo"? 21:15
alester I don't know.
At some point we have to say "Rakudo is ready for prime time" and make the commensurate hoopla.
diakopter I ask b/c I always thought that finish line was completing the language implementation as defined by the test suite 21:16
SamB why not composite time ?
diakopter (lol)
alester We can keep saying"We release every month" forever, but that doesn't gain us the splash, or finish line, that we need. 21:17
diakopter ... or zeta function time?
no, but redefining the finish line works, too. that's why I was asking how you wanted to define it. :P 21:19
[particle]1 there's no finish line for perl 5
mncharity alester: re "Is there anything you DO like?" If you told me 15+ years ago that I'd never again use a debugger capable of rolling time backwards until past 2008, I'd have said you were a nutty pessimist. And yet here in the future... . So, no, not much of the current state of software engineering fills me we gleeful delight.
Nice to seek Haskell getting near to win. 21:20
alester [particle]1: Yes, we can push out the finish line.
But we need to have something to aim for.
mncharity Some of the java->massive parallelism is nice.
code.google.com/p/cakejs/ is kind of cute. 21:22
[particle]1 aims for continuous improvement
alester Yes, of course, and yet that doens't work for most outsiders.
[particle]1 sure. "usable subset" is a near-term goal 21:23
mncharity in a "Microsoft broke the web a decade ago but we're finally digging out from that by piling up the dead bodies high enough" kind of way.
alester And what that usable subset is has yet to be defined.
[particle]1 mainly, rakudo is missing some i/o, but is otherwise near to that
mncharity .end
ok, let's see.
[particle]1 thinks CGI.pm will compile on rakudo
mncharity mberends: how much of that code is currently running in rakudo? 21:24
[particle]1 i'm compiling parrot/rakudo now to find out
mberends mncharity: all of it, and Pod::Parser with 47 tests so far
mncharity :) 21:25
pmichaud particle has it correct -- as I see it, Rakudo is an implementation of Perl 6. It's not a distribution (at least not in the sense that I've heard TimToady/the design time speak of Perl 6 distributions) 21:26
s/time/team/ # still can't type :-(
21:26 donaldh joined
mncharity perhaps scavenge code from ext/ ? a couple of announcements of "and ext/foo/ now runs in rakudo too!" might wake up all the ext/ authors and get them writing p6 for rakudo. 21:27
I'd very much like to see waking up of p6 authors.
mberends [particle]1: there is a Rakudo CGI.pm in github.com/viklund/november/tree/master/lib 21:29
masak but please let it die in peace. :)
we're building Web to supercede it.
November's CGI.pm was never meant to be anything but temporary. 21:30
[particle]1 yes, i know. but still, ext/CGI/lib/CGI.pm exists in pugs
alester pmichaud: There has to be a distribution.
[particle]1 it's just a module from a different authority
alester There has to be a tarball that people download and install that says "I am usable."
pmichaud alester: sure, I'm just saying that "Rakudo Perl" might not be the distribution. 21:31
alester We need a finish line. Some kind of milestone.
pmichaud alester: I don't disagree with you on these points.
alester Right now, the only people moving forward are core people, and it's tough to bring people in, or even to help out myself.
[particle]1 the distro may, however, be called rakuda-do :)
alester I'm just assing around with perlcritic.
Ariens_Hyperion rakudo -> raccoon 21:32
[particle]1 alester: the barrier for entry has been lowered quite a bit now that we can write primitives in perl 6
pmichaud I'm simply saying that Rakudo Perl can be the compiler used in several distributions. It's not necessary for Rakudo Perl to be a distribution in and of itself.
[particle]1 this needs to be advertised in articles and tutorials
pmichaud [particle]: we're not *completely* there yet, though.
[particle]1 yeah, need 'import' working
alester [particle]1: But what should people do? I cross the low barrier, and then what?
We need direction. 21:33
pmichaud before I start pointing out direction I'd like to get our patch workflow in place.
alester I don't see them as mutually exclusinve
pmichaud otherwise I end up with gobs of useless commits on github.
alester esp. 'cause direction is going to take a while.
[particle]1 one direction is passings tests. another is converting modules. 21:34
pmichaud if I post an invitation identifying places for people to start hacking, we need the infrastructure in place to support that hacking first.
otherwise we're setting people up for big disappointment and failure.
or frustration.
alester pmichaud: I understand that.
I'm not saying you need to advertise the direction yet. 21:35
BUt I'm guessing we dont' know what that direction is yet.
s/we/you/
pmichaud I have some ideas, yes.
alester some ideas, right.
I'm just thinking that it will take a while to turn into a roadmap to get to that milestone.
mncharity one possibility might be to spin up individual perlmonger groups. eg, if vienna is active, use them as guinea pigs. eg, if they have a monthly hackfest, ask them to devote one to creating primitives, or porting modules, or whatever. 21:36
pmichaud I think that there tends to be a huge amount of planning to make that happen, though. 21:37
(more)
mncharity could be.
pmichaud If the thing to be accomplished in a hackfest can be done within a couple of hours, then it's likely done before the hackfest already.
If it's fairly significant, then it's not doable in a couple of hours, or it requires larger understanding/coordination with the overall code base. 21:38
21:38 nihiliad joined
mncharity I'm not sure about that last part. Is there even a list of all methods mentioned in Snn with their signatures yet? 21:39
That's a "need a warm bodied minion, needn't even know perl" kind of task.
pmichaud mncharity: people are working on that now, I believe. Yes, documentation and updating synopses can be a good hackfest sort of task.
mncharity next step up, just sketching in class definitions with empty method bodies would be great. well, at least elf wise. don't know, would it help rakudo? 21:41
pmichaud mncharity: yes, as long as it doesn't conflict with existing method bodies. 21:42
mncharity dunno. I just remember pugs had 50+ active committers going at the same time, in a situation where only a few @audrey could actually improve the implementation. even once there was some "prelude written in p6" support. so... it suggests there's *something* they could be working on. 21:44
pmichaud were most of the commits to the implementation or to things surrounding the implementation (such as ext/) ? 21:45
because things like ext/ could be done now, yews.
*yes.
mncharity Eg, I've been finding the rx test suite to be partial to the point of toy-ness. A checklist of feature X is parsed and works once on a toy case. But almost no attempt to really bang on an implementation, looking for problems. 21:46
surrounding
pmichaud I've invited people to bang on rx tests since 2004.
mncharity lol (sad lol) 21:47
pmichaud and that hasn't required any Perl 6, PIR, or other specialized knowledge beyond S05.
[particle]1 the fact that we have a perl 6 grammar tells me pge is working well.
the fact that it's not full, and that it's slow tells me pge could work better 21:48
mncharity Oh yes, I was going to suggest now that tests are moving into spec, that we also invite people to contribute to something else. "t/slushpile"? :) spec-ness raises the barrier to contributing a test. we might want to have a "zero effort, please just spew tests here, and someone with more experience and clue will grovel over the input, pulling out nice bits, and leaving suggestions on improving that not yet usable. 21:49
pmichaud mncharity: I think we have that, in t/spec/uncategorized (more)
that said, I'd be totally in favor of t/slushpile or something like it. 21:50
my concern would be that a lot of tests would go into t/slushpile that are really already in t/spec
we somewhat have this already in Rakudo, where people contribute tests to Rakudo's local test suite instead of the official test suite. 21:51
mncharity avoiding dups doesn't seem worth creating backpressure on test writers. most bug reports are dups... still want'em.
pmichaud it does take cycles to filter the dups.
mncharity indeed.
maybe it's just me, but my bottleneck isn't cycles, it's that there's noone around helping. 21:52
pmichaud what I do seem to hear a lot of: "I want to write tests, but I don't want to have to review what's already been done." (more)
or "I want to contribute to an implementation, but I haven't looked at the docs or subscribed to the appropriate mailing lists" (more)
some of that is that we haven't done a good job of pointing people in the correct places. rakudo.org is intended to fix that (more) 21:53
some of it is that we have done a good job of pointing people to the correct places, but they don't bother with files named "README".
masak there's a README? :P 21:54
mncharity lol
masak (kidding, I've actually seen it)
pmichaud usefully, it's the major thing that shows up when viewing the rakudo github repo :-) 21:55
mberends perl5 Test::Tutorial is almost the right kind of Howto for testing. We should ask each test writer to do some preliminary duplicate squashing.
pmichaud mberends++ # I like that approach. 21:56
masak heading home now. today has been a very good day. 21:57
see y'all tomorrow.
mberends "I don't want to have to review what's already been done." is nonsense.
masak: o/
mncharity Having barriers to entry to filter populations, protect or engineer communities, or shield core development staff, can indeed be useful. But they're also usually "not what you really want". OLPC just being the most recent high profile project to tank on "we're too busy to spend time creating a community".
masak \o 21:58
pmichaud mberends: I agree, but it's the sentiment I seem to get from others.
mberends the others then need encouragement and enlightenment
pmichaud I think the truth is that writing tests isn't fun unless you (1) need the feature for whatever other project you're working on, and/or (2) you have the ability to quickly make the test pass.
or (3) you're _really_ interested in fleshing out the spec and improving test coverage. 21:59
diakopter I would interject that the barrier to entry (into the "writing Perl 6" role) is (currently! but perhaps not for very long) high enough to prevent anyone but the most diligent/vigilant/available/skilled individuals from making any progress and being able to ramp up to making a valuable contribution. This is almost entirely due to the language specification's ever-moving target and the confusion about multiple [all mostly incomplete and largely mutually c
mncharity "incomplete and largely mutually c" ...? 22:01
22:01 nihiliad joined
diakopter oh, hm, some of that got truncated 22:01
pmichaud waits for the truncated part to appear, then has a reply. 22:02
diakopter perl6irc.pastebin.com/d18d2c8d
22:03 Whiteknight joined
pmichaud that was longer than I expected. :-) 22:04
diakopter (that's what she said)
pmichaud Yeah, I get that a lot. :-) 22:05
mncharity re '"I don't want to have to review what's already been done." is nonsense.', I strongly suggest not. Eg, say looking at some corner of the spec and spewing combinations of "feature X1 with Y1 in context Z1. now X1 Y1 Z2. now X1 Y2 Z1. now..." might be a task of cost . repeatedly grepping over the spec, groveling over scattered test files for X's and Y's, can very easily be a task in and of itself much >X
diakopter (twss, again)
mncharity err, 22:06
s/cost ./cost C/; s/much >X/much >C/
diakopter okay, but the tests one writes will need updating if the spec changes. 22:07
(and who commits to that maintenance)
(whoever changes the spec :P)
skids diakopter: The moving target is very frustrating, and I agree the biggest barrier to participation. People don't like implementing something to the letter of a spec and then being told, but no, we didn't mean that in the spec. I'm the patient type though so it doesn't bother me as much.
mncharity re d18d2c8d, yes, nice, but... *I* haven't done many/most of those things. So it's not clear that's really the required level effort to participate. 22:09
re spec changes, I just don't see it.
we are talking about truly trivial volumes of code.
skids The other thing is the heavyweight contributors have to learn to be a whole lot less thorough. If, say jnthn or someone were to implement some feature like say int8, DON't also implement int16, int32 along with it. Leave any work that can be easily done by imitation be done by newbies for learning purposes. 22:10
diakopter for someone who knows the language(s) and the change thoroughly, yes it's a trivial volume of code.
mncharity If spec changes are really a big problem, then p6 has a really big problem. For it's a language one of whose major disadds will be allowing a thousand little incompatible p6 dialects to blossom. 22:11
diakopter my point about the moving target was mostly that it's a psychological deterrent based on the fear of wasted effort, not that it's necessarily a rational fear based on a good model of how the test suite is updated.
mncharity Aside from being the single largest most complex language in existence. 22:12
skids: there aren't a whole lot of people now asking "I'd like to help, by doing something small and easy. please point me". once were, haven't been for a while (years). the "defer doing parts of tasks to provide newbie learning material" is indeed a great approach. but without an active community to suck them into, I'm not sure it's currently worth the cost. aside from their being no newbies.;) 22:15
skids Well, it would be good to set aside a few simple tasks and just leave them undone so you have them ready for newbies. If you keep one, they may have friends that will follow them in. 22:16
diakopter right, without *visible* entry points to the helping task, no one can volunteer themselves. 22:17
mncharity re "psychological deterrent", could be. I'm not sure. I don't recall that being one of the things mentioned when this comes up periodically at the local pm group.
skids From personal experience it is a deterrent, I shoved passed a through "do I really want to continue with this" moments already. 22:19
diakopter the larger problem is that it (the task of writing tests) *can't* really be broken down into X1/Y1/Z1, because one must first become familiar with the entirety of the Synopses (and the existing test suite) to know you're writing tests that tests things for which there's not already tests, and to know you're writing tests that actually test the specified language 22:20
mncharity hmm. my fuzzy recollection is, even when pugs had a very active community, having things like TASKS lists and undone things we're really helpful. the most helpful thing might have been having big open targets like writing tests. and "here is a place where you can insert the random module X which is dear to your heart". and accessible infrastructure (bot, test, build, etc). ... 22:21
skids "We need a killer app" ... heheh. (Should go in the hall of fame next to "imagine a beowolf cluster of..."
mncharity skids: re deterrent, ah, thanks, good to know. 22:22
22:22 pmurias joined
diakopter re: X1/Y1/Z1 above, and my claim is that the task of getting past that hump is ultimately impossible for nearly everyone (perhaps 100%, including those who actually do attempt it) who are considering undertaking the task. 22:23
mncharity in the category of a random idea, any interest in defining a "minimal core perl" set of features? pugs is dead, but all other impls could aim for / only be declared usable once they do the minimal core. then we could at least say "if you write X, it will run everywere". p6 is such a big language, without that... 22:24
skids A lot of the currently undone stuff is very entangled. I'm looking at helping firm up S17 right now, and IO and that really need to be done at the same time, and events, and before any of that I need to understand something far afield from my normal fair: CPS and stack handling, just to know what's realistic. But then I'm an EE not a CS. 22:25
diakopter I mean, yes, we can have a syntactic shorthand to do something (no, everything!) you can make a (wordier, definitely!) API for in a slightly-less-complex language, but perhaps that should be in a syntactically sugary sub-language, not the CORE STD
mncharity re: X1/Y1/Z1 above, I claim there are at least some cases of it being really easy, even trivial. Eg, "take rx flag X1 and combine it with Y2" (I almost guarrentee there *wont* be an existing test[1]), and iterate. 22:26
diakopter :) okay, but what's the correct result to test against
mncharity re [1], could someone explain to me why there is so much concern over duplicates? has it been a problem? what's going on? who cares? create a second t/ the same size as t/ with 50% overlap and 50% new stuff, and I'd be unreservedly delighted. 22:27
diakopter we can use STD to generate applications that match the syntax automatically, but truly understanding what they're supposed to return/output?
skids Maybe if you could find a couple more masak's in different time zones, we could just tell people drop by IRC there's a 24/7 coverage team and if you can convince them you can make rakudo do something lame, they'll file a bug. 22:28
pmichaud I don't mind too much if there are duplicates in t/spec 22:29
I do mind if there are lots of duplicates that I'm expected to filter into t/spec
(where "I'm" == maintainer who is limited in tuits)
mncharity skids: Indeed. For a while audrey was that 24/7 coverage, and said "you find a bug, I'll fix it (fast)", and did, and it was indeed very popular and effective at building community.
skids Maybe if we had a t/99-contributed-tests and any new test goes in there as long as it is a correct test, even if it is duplicated, and then someone goes through periodically and garners things. 22:30
diakopter further proliferation of bug reports doesn't help anyone (I'm still insisting); adding failing test cases (that may or may not match spec) also doesn't help since they're not known to be correct... who's going to spend all the time to review those commits?
mncharity gotcha is, at least over the last couple of years, it seems many of the rakudo bugs have been parrot bugs, and very not tractable.
skids Parrot does seem to be stabilizing, though. 22:31
diakopter in both cases you need someone who's already an expert in the language to spend scads of time reviewing them... and even then he (pmichaud, this means you :P) has to consult TimToady on many of them, online/offline/whatever
mncharity re "who's going to spend all the time to review those commits?", see, that's the thing. if there was actually a community around, that's the kind of thing the community would help with.
someone should do a webpage on "all the things dev teams say as reasons why they need to work for years without help because getting help would be too costly". :/ 22:32
diakopter costly for the helpers, yes 22:33
pmichaud this latter point (reviewing commits) gets back to why I'm looking for a better patch review workflow than what we have now.
TimToady any particular reason everyone chose today to get discouraged? :)
pmichaud TimToady: I'm not at all discouraged -- I think we're all constructively looking for ways to increase our momentum. 22:34
diakopter if it's planned/done correctly, the dev team can recruit tons of available helpers
skids isn't discouraged. Just always has 2 cents in his pocket.
mncharity anyone discouraged? (other than me)
diakopter (not discouraged; trying to point out that perhaps many others are discouraged from joining the fray)
skids steals "decommuting" from TimToady 22:35
renormalist I just read the discussion for a while. My 2c: the community doesn't need more tests or spec. They need a perl6 exe with basic functionality like subs, methods, classes, basic data types and especially external libs to structure their first programs. 22:36
pmichaud rakudo has all of that, with perhaps some work needed on external lib management. 22:37
renormalist the community wants to code in any subset of perl6, it just needs to be somewhat useable, kind of perl4 would be enough
diakopter renormalist: most languages have those things.. that wouldn't be learning anything new/fun/perlish
renormalist pmichaud: yes, probably, especially the latest announcement was a very good one with those make instructions. really.
pmichaud renormalist: yes... it was good to finally be able to separate rakudo from Parrot's build process. 22:38
mncharity waits to see renormalist has additional thoughts before asking questions...
renormalist diakopter: I would immediately start writing perl6 programs if I would have some confidence that the bsaic stuff like skalar/arrays/hases and "the dot" generally work, maybe some file IO
pmichaud In retrospect I wish we had made that separation quite a bit sooner... but I was really expecting Parrot to have it's "make install" sequence in place long before its 1.0 release.
renormalist diakopter: I just lost the track of following the progress though all the lots of stuff, as I said, the latest announcement brought it back into my personal wishlist, really 22:39
I, personally just wanted to read whether there is something to make .pm files and a PERL5INC path and file io 22:40
then I would replace my typical one-shot perl5 logfile converters with perl6 experiments 22:41
the same stuff, that perl started at all
perl1 I mean
renormalist has ended this thought
pmichaud renormalist: yes, we can do .pm files. The path is PERL6INC for Rakudo. 22:42
renormalist pmichaud: that's great, really, this makes it even higher on my wishlist
mncharity wonders what "do .pm files" means... fears confusion
renormalist and I think starting people to *use* the whatever subset of perl6 makes the community
mncharity: external modules that I can "use" 22:43
mncharity p6, don't have to be p5?
pmichaud renormalist: projects like November and others are already doing .pm modules
renormalist mncharity: just to structure code a bit more in contrast to big .pl files
pmichaud renormalist: in fact, in Rakudo it's possible to pre-compile the .pm files so that you don't incur the compilation overhead each execution.
mncharity ah, ok. elf too has that. 22:44
elf doesn't precompile... goes for much lower overhead. :)
hmm, no, not true
renormalist maybe a summary of what topics those ~7000 passing tests cover would be useful in the next announcement. Or in a readme. 22:45
mncharity caches parser results. though fairly fast without.
renormalist maybe there already is, I'm just thinking loud
mncharity summary idea++
diakopter mentions again the tabular listing of passing/failing
(if only by .t filename) 22:46
mncharity areas of the language/implementation, syntactic and semantic, which are "rock solid", "can play with", "don't work", etc.
renormalist indeed
pmichaud diakopter: I can easily make a list of passing/failing per .t file
I already do it per-synopsis 22:47
diakopter cool; I thought I might have read somewhere that such a list existed
mncharity pugs and it's derivatives had the smoke report pages... but which never really seemed addequate to answer that kind of simple question: should I use feature foo? will it bite me later? etc.
renormalist should now start to actually execute the make instructions from the latest release
btw, having releases of Rakudo, similar to the Parrot releases, at all are a great progress. thanks for that, too. 22:48
pmichaud sure, I'm happy to be doing it. 22:49
renormalist it all made a similar positive effect (to me) as in the times, when there were pugs releases of audrey. in those times I also started to play
pmichaud being able to break away from Parrot's trunk development really helps.
i.e., Parrot trunk changes don't immediately affect what we're doing in Rakudo's trunk/head
renormalist that sounds contradictory, from a far point of view, but if it is so, well, ok 22:50
it's probably a sign of maturity of Parrot
pmichaud we've had trouble that people would make a change to Parrot that would cause Rakudo to stop working.
mncharity It might be nice to have something like: "arrays: never break, method and function operations (push, pop, etc) are rock solid, ... <any caveats to "if its an array, it works and can be counted on">", hashes, etc, etc, etc.
renormalist I see
22:51 awarefish joined
pmichaud Now Rakudo lags Parrot head, and we periodically update the Parrot revision pointer to whatever new version of Parrot we work with. 22:51
latest rakudo spectest results, by synopsis
perl6irc.pastebin.com/m1c25f86f
dinnertime, gotta go.
renormalist I see, again. This simple stability and "perl6.exe" made it back to my wishlist. not the test coverage itself. 22:52
and I have to sleep
mncharity thanks for the feedback!
much appreciated
renormalist no problem, I have to thank 22:53
renormalist <--- loosely perl6 follower who sees the progress
mberends renormalist++ # feet firmly on ground
renormalist I have to go to bed now, good night 22:54
TimToady night
mncharity notices "Setting" in official docs. eeep, ok, can live with that... is there any backstory for this phrase? 22:55
TimToady there was quite a bit of discussion both here and on p6l 22:56
but the basic idea is that CORE is not something that comes before your program
it surrounds your program like a lexical scope 22:57
and then we redefine -n and -p to be alternate settings that do loops
(CORE being the outermost lexical namespace now) 22:58
from your file scope you might go OUTER:: one or more times to get teo CORE 22:59
basically, a setting is a snapshot of a particular Perl 6 variant, is another way of looking at it 23:00
but if someone slips up and says prelude, we don't bite their heads off :) 23:01
23:02 pmurias joined
TimToady but basically this is the process of having "hygeinic macros" as applied to prelude scoping; we don't want a copy/paste view of how the prelude interacts with user code 23:03
23:03 buubot joined 23:06 buubot joined
mncharity summary of pm's paste: 23:08
Half working: Bits and Pieces, Operators, Blocks and Statements, Subroutines, Objects, Builtin Functions.
Fractionally working: Regexes and Rules, IO / User / Group. 23:09
Untested or nonexistent: Iterators, Data Structures, Packages, Modules, Overloading, Roles and Parametric Types, Unicode, Processes and Concurrency, Compiling, Command line interface, Introspection, Calling foreign code, CPAN, Security, Testing, ..., Standard perl library, Pragmatic modules, Setting library.
I was rather surprised by the S09 Data Structures, *64* tests. Huh? That can't be right.
23:10 dwhipp joined
wayland76 Keep in mind that about half the ones you mentioned are drafts 23:10
mncharity pmichaud: ^^^ I'm not sure I believe those pasted numbers 23:11
wayland76 Maybe we should be moving some of these towards non-draft status, but that's how they're currently defined
mncharity re drafts, indeed. I was doing a "from the potential p6 random programmer's perspective, what is the state of the various language features".
of the various language features to be potentially used" 23:12
draft-ness simply adds some "you can't count on this not changing", but I didn't even get to that aspect of things. 23:13
dwhipp perl6: my $long_name = 1; $long_name = - $long_name
p6eval pugs: RESULT«\-1»
..elf 25666: RESULT«-1␤»
..rakudo c08b9b: RESULT«-1»
dwhipp perl6: my $long_name = 1; $long_name -= 23:14
p6eval elf 25666: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map'␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤ from
../home/evalenv/pugs/...
..rakudo c08b9b: OUTPUT«Statement not terminated properly at line 1, near "-="␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«*** ␤ Unexpected end of input␤ at /tmp/qTcmDFk0ro line 2, column 1␤»
mncharity I hadn't realized our test coverage was quite that tiny.
dwhipp no assignment-meta-operators for prefix-operators :-(
mncharity um,did you mean 23:15
diakopter in 2004 there were >2M lines in the C# compiler's regression suite
mncharity perl6: my $long_name = 1; $long_name -= 1;
p6eval rakudo c08b9b: RESULT«0»
..pugs: RESULT«\0»
..elf 25666: OUTPUT«Unknown rule: infix_postfix_meta_operator:=␤It needs to be added to ast_handlers.␤ at ./elf_h line 2042␤»
diakopter perl6: my $long_name = 1; $long_name *= 1; 23:16
p6eval rakudo c08b9b: RESULT«1»
..pugs: RESULT«\1»
..elf 25666: OUTPUT«Unknown rule: infix_postfix_meta_operator:=␤It needs to be added to ast_handlers.␤ at ./elf_h line 2042␤»
diakopter perl6: my $long_name = 1; $long_name *= -1;
dwhipp No, I'm really wanting an assignment meta-op for prefix operators -- presumably should become a postfix operator. I guess the "-=" case is ambiguous, though.
p6eval pugs: RESULT«\-1»
..rakudo c08b9b: RESULT«-1»
..elf 25666: OUTPUT«Unknown rule: infix_postfix_meta_operator:=␤It needs to be added to ast_handlers.␤ at ./elf_h line 2042␤»
dwhipp diakopter: yes, for negation "*= -1" works; what would you do for inversion ("!") ? What about a reduction... 23:18
perl6: my @list = 1,2,3; @list [+]= ();
p6eval rakudo c08b9b: OUTPUT«Statement not terminated properly at line 1, near "[+]= ();"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«*** ␤ Unexpected "[+]="␤ expecting operator␤ at /tmp/qbDtiA7KEV line 1, column 25␤»
..elf 25666: OUTPUT«Parse error in: /tmp/yGN9aiPHQz␤panic at line 1 column 18 (pos 18): Can't understand next input--giving up␤WHERE: my @list = 1,2,3; @list [+]= ();␤WHERE: /\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤
..STD_red/std.rb:224:...
dwhipp perl6: my @list = 1,2,3; @list [+]= nil;
p6eval elf 25666: OUTPUT«Parse error in: /tmp/8tXWfTlRCy␤panic at line 1 column 18 (pos 18): Can't understand next input--giving up␤WHERE: my @list = 1,2,3; @list [+]= nil;␤WHERE: /\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ 23:19
..STD_red/std.rb:224...
..rakudo c08b9b: OUTPUT«Statement not terminated properly at line 1, near "[+]= nil;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«*** ␤ Unexpected "[+]="␤ expecting operator␤ at /tmp/DHnF9uexH3 line 1, column 25␤»
mncharity off to monthly ruby hackfest. goodnight all. 23:20
oh, a sortof upbeat note: given this shootout.alioth.debian.org/u32q/ben...&box=1 , and recent js speedups, javascript is becoming an attractive "might even be faster than p5" backend. 23:21
has even integrated the regexp vm ops into the full vm ops. so get jit and all. 23:22
23:22 bacek_ joined
mncharity dwhipp: I note you can also just say elf: or pugs: or rakudo: ... 23:22
(I took that out of the /topic to save space :/ ) 23:23
dwhipp std: my @list = 1,2,3; @list [+]= ( 4, 5 );
p6eval std 25666: OUTPUT«ok 00:02 37m␤»
dwhipp std: my @list = 1,2,3; @list [+]= ( );
23:23 Ariens_Hyperion joined
p6eval std 25666: OUTPUT«ok 00:02 38m␤» 23:23
dwhipp rakudo: my @list = 1,2,3; @list [+]= ( ); 23:24
p6eval rakudo c08b9b: OUTPUT«Statement not terminated properly at line 1, near "[+]= ( );"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pugs_svn r25667 | putter++ | [elfparse] Tweak previous revision. 23:27
TimToady dwhipp: note that [+]= is identical to += 23:38
[] means reduce only as a prefix op
so if it works at all to say: my @list = 1,2,3; @list [+]= ( 4, 5 ); 23:39
I'd expect it to be equiv to @list += 3 + (4,5) 23:40
and set @list to [5]
as for unary assignops, I don't see much use for 'em apart from obfu 23:41
dwhipp The only one I regularly find myself wanting is "invert this boolean" -- $long_name = ! $long_name; 23:43
23:43 orafu joined
dwhipp (the reduction-assign can from an reverse-polish calculator, where I wanted to say "@stack = [+] @stack") 23:45
std: $long_name.=prefix<!> 23:47
p6eval std 25667: OUTPUT«Potential difficulties:␤ Variable $long_name is not predeclared at /tmp/UELJgZL9S7 line 1:␤------> $long_name.=prefix<!>␤ok 00:02 34m␤»
dwhipp std: my $long_name; $long_name.=prefix<!>
p6eval std 25667: OUTPUT«ok 00:02 35m␤»
dwhipp rakudo: my $long_name = 0; $long_name.=prefix<!> 23:48
p6eval rakudo c08b9b: OUTPUT«Could not find non-existent sub prefix␤current instr.: '_block14' pc 79 (EVAL_19:46)␤»
wayland76 btw, if ruoso's around, I think my language development was much like yours; BASIC, Pascal, Delphi, Perl 23:49
23:49 frioux joined
TimToady you mean prefix:<!> instead 23:50
though :<!> is supposed to work too
frioux rakudo: my %h1 = {'foo' => 'bar', 'baz' => 'bif'}; my %h2 = {'staion' => 'frew'}; %h1 .= cat %h2;
p6eval rakudo c08b9b: OUTPUT«Method 'cat' not found for invocant of class 'Perl6Hash'␤current instr.: '_block14' pc 201 (EVAL_17:66)␤»
dwhipp std: my $long_name; $long_name.=prefix:<!> 23:51
p6eval std 25667: OUTPUT«ok 00:02 35m␤»
TimToady but I think you really just want $longname.not
.=not rather
frioux rakudo: my %h1 = {'foo' => 'bar', 'baz' => 'bif'}; my %h2 = {'staion' => 'frew'}; cat(%h2, %h1);
p6eval rakudo c08b9b: OUTPUT«Could not find non-existent sub cat␤current instr.: '_block14' pc 195 (EVAL_17:64)␤» 23:52
dwhipp rakudo: my $long_name = 0; $long_name.=not
p6eval rakudo c08b9b: OUTPUT«Statement not terminated properly at line 1, near ".=not"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
dwhipp rakudo: my $long_name = 0; $long_name.not
p6eval rakudo c08b9b: OUTPUT«Method 'not' not found for invocant of class 'Int'␤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)␤»
TimToady unimpl presumably 23:53
frioux rakudo: cat(1..5);
p6eval rakudo c08b9b: OUTPUT«Could not find non-existent sub cat␤current instr.: '_block14' pc 78 (EVAL_18:43)␤»
frioux wurrd
pugs: my %h1 = {'foo' => 'bar', 'baz' => 'bif'}; my %h2 = {'staion' => 'frew'}; %h1 .= cat %h2;
p6eval pugs: OUTPUT«*** No compatible multi variant found: "&infix:%"␤ at /tmp/8tkdhgCnsO line 1, column 75-89␤»
frioux pugs: my %h1 = {'foo' => 'bar', 'baz' => 'bif'}; my %h2 = {'staion' => 'frew'}; %h1 .= cat(%h2);
p6eval pugs: OUTPUT«*** Unimplemented unaryOp: cat␤ at /tmp/e9Trqzl6bM line 1, column 75-90␤»
frioux hmm
bummer
23:54 orafu joined
frioux rakudo: "frew" 23:54
TimToady what are you expecting %h1.cat to do?
p6eval rakudo c08b9b: RESULT«"frew"»
frioux to merge two hashes
TimToady why are you expecting that?
frioux uhh 23:55
concatentate?
how should I do it?
TimToady at the moment, that would be %h1 ,= %h2, but I doubt that's implemented 23:56
presumably %h1 <<== %h2 will work someday, if we ever get feeds 23:57
frioux I have to do real work now :-)
TimToady for now, you'll probably need for %h2.kv -> $k,$v { %h1{$k} = $v } in rakudo
frioux but either way
I prefer ,= 23:58
TimToady it's easy to mistake for .=, alas
pmichaud my %h1 = (foo=> 1, baz=>2); my %h2 = (station=>3); %h1 = %h1, %h2; say %h1.perl;
rakudo: my %h1 = (foo=> 1, baz=>2); my %h2 = (station=>3); %h1 = %h1, %h2; say %h1.perl;
p6eval rakudo c08b9b: OUTPUT«{"foo" => 1, "baz" => 2, "station" => 3}␤»
TimToady was trying to avoid the copy :) 23:59
but yes, that works
pmichaud I was just verifying it.
I'm not sure why we don't have ,= in rakudo yet.
TimToady seems like we talked about %h1.push once upon a time too