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 BEGINcurrent 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/Ky3lbVeaZLpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: 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«Strstill 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/yGN9aiPHQzpanic at line 1 column 18 (pos 18): Can't understand next input--giving upWHERE: 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/8tXWfTlRCypanic at line 1 column 18 (pos 18): Can't understand next input--giving upWHERE: 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 prefixcurrent 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 catcurrent 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 catcurrent 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 |