perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~300 days 'til Xmas
Set by moritz_ on 5 March 2009.
s1n moritz_: ping 00:00
00:16 skids joined 00:28 armagad left
wayland76 In response to diakopter's question about reference material for Context... 00:32
There's a section on them in S29 that I'm hoping will someday (soon?) move to S32 00:33
@tell diakopter There's a section on Contexts in S29 that I'm hoping will someday (soon?) move to S32
lambdabot Consider it noted. 00:34
diakopter k.. 00:53
lambdabot diakopter: You have 2 new messages. '/msg lambdabot @messages' to read them.
01:00 bacek_ joined 01:18 M_o_C left
diakopter E2MANYWTDI 01:32
skids Well, I got that but for 3 seconds I was thinking of the hazards involved in accidentally typing your password into IRC :-) 01:34
01:34 shinobi-cl joined
diakopter ESUCKYPASSWORD 01:34
01:37 bacek_ left 01:39 _jaldhar_ joined 01:45 nihiliad joined
diakopter (The Paradox of Choice) 01:48
01:48 shinobi-cl left
pugs_svn r25719 | wayland++ | Made Basics contain Object, Any, Pattern, and Scalar 01:50
r25720 | wayland++ | Any + Scalar -> Basics (along with Object and Pattern) 01:52
wayland76 votes for S08, and hopes someone has the Capture-foo to do it :) 01:59
(i'm backlogging :) ) 02:03
Notes to those keen to expand beyond Latin-1 -- Perl6 can be extended to do this fairly easily, I believe
I predict World War 3 around 2020-2025. I hope I'm wrong :) 02:05
02:05 shinobi-cl joined
wayland76 If we're worried about the hashy component of slice, maybe we could call the slice/capture things "cookies". As in "hash cookies" :) 02:07
(in Australia at least, a "slice" is what some Americans would call a "tray bake"; the same form factor as brownies, but different ingredients, depending on the slice recipe -- lemon slice can be good :) ) 02:08
02:09 shinobi-cl left, shinobi-cl joined 02:10 frodwith joined 02:12 bacek_ joined 02:26 Minazo joined 02:27 _jaldhar_ is now known as jaldhar
skids never heard of a "tray bake" 02:28
In my house we'd call that "what were you too lazy to roll individual cookies?" :-)
wayland76 Well, you can have multi-layered things too 02:29
For example, a layer of biscuit-crumbs in butter
and a layer of opaque white lemon-flavoured jelly-like stuff (or maybe you'd say jello-like) 02:30
and then a layer of semi-transparent jelly/jello
Well, when I explained the Australian use of the word "slice" to Americans and Canadians, the only alternative anyone was able to offer was "tray bake" 02:31
Oh, and when I said "biscuit crumbs", all Americans should read it as "cookie crumbs" :) 02:32
diakopter "____ bars"
lemon, river, etc
wayland76 Oh, good point diakopter :)
02:32 shinobi-cl left 02:33 shinobi-cl joined
skids "homemade pop tarts?" I dunno 02:34
wayland76 A bit like that, I guess (at least, judging by the Wikipedia page on pop tarts :) ) 02:35
skids I think I'll stick with "giant square cookie" 02:37
02:37 Tene joined
wayland76 Feel free to, but if you also understand how I use "slice", you'll get the joke above about hash cookies :) 02:38
Incidentally, skids, we usually cut them into pieces about the size of your index finger after they're all cooked 02:39
as per diakopter's suggestion of ___ bars
skids being that we are particularly unimaginative, we'd probably call them "sticks" 02:40
diakopter river bars will be the death of me.
I like the idea, in general, of breaking up the S__ into smaller portions... has anyone else commented on that? 02:42
02:42 fridim_ joined
skids as long as it is done in moderation, though I suspect there will be places where there was some good "flow" that will be lost. But they are unwieldy unless they get split. 02:43
then again a huge index might be intimidating 02:44
diakopter that's my opinion, too.... it'll need a *lot* more consensus though.....
skids put it this way -- they can always be glued back end to end.
wayland76 I presume S__ means the synopses 02:45
If so, thanks (I did that :) )
My thought is that, to increase manageability, parts of the unwieldy synopses could be moved into S32 02:46
Of course, there's a lot of things that won't go, but there are probably also some that will :)
skids given the corresponding apocolypses etc stay with there numbers, it might be good to have a way to figure out how to find the relevant pairs of sections. 02:47
wayland76 ? 02:48
I presume you mean "their numbers", but I still don't understand
Quick question -- are you aware that the synopses are based on the chapters in the Camel book? 02:49
skids each synopsis in the original set was paired with the apocolyse "justification" that gets into rationale.
wayland76 (Programming Perl, 3rd edition is the one that I have)
skids of that I was not aware.
wayland76 skids: dev.perl.org/perl6/doc/design/apo/A01.html (Apocalypse 1) talks about the chapter correspondance 02:51
By "pairs of sections", you don't by any chance mean the way that perlcabal.org/syn/ matches each Spec with its corresponding Apocalypse, do you? 02:52
skids ok, now how does someone who just clicks on a "perl documentation" pick up on that?
yes, that's what I meant
wayland76 pick up on the chapter arrangement? 02:53
Btw, the long term plan is that the Specs (I really should stop calling them synopses) are supposed to specify the language for implementors, not document it for users
...and when the specs and at least one implementation have settled down a little, some user documentation will be written 02:54
Actually, some people are starting now. That's what U4X (Userdocs for Christmas) is all about.
skids I think the perlcabal page explanatory text might be improved a shade, is all. 02:55
wayland76 You mean the one in /syn/ , or the one at / ? 02:56
02:56 tarbo2 joined
skids syn 02:56
wayland76 In what way? 02:57
Do you want them to declare that they're not user documentation?
skids hold on fingers covered in mango
wayland76 holding on (to my horses, but not to your fingers :) ) 02:59
s1n wayland76: get any other responses for that rakudo newbie email?
wayland76 s1n: No, but there was a thread on IRC where pmichaud et. al. were discussing the fact that they really want some good doco on how a developer can become a Rakudo contributor 03:01
03:03 shinobi-cl left, shinobi-cl joined, shinobi-cl left
skids phew. Mangos: delecious, but very messy. 03:04
wayland76 That's why I've been eating dried pears :) 03:05
I bought a bag of cheap pears, and put them through the dehydrator :)
skids Anyway just to say stuff like: Synopsis are updated, Apocolypses and Exegeneseseseses are historical, the document set is aimed at developers but can be useful for when the user docs do not go into enough detail. Draft means really really draft. SXX above a certain number are overflow from the originals or additions, changed stuff has usually been discussed on p6l or IRC, and STD.pm supersedes everything. 03:08
enough to get people oriented. The stuff people who have been around take for granted. 03:10
wayland76 s1n: The comments are somewhere in the discussion at irclog.perlgeek.de/perl6/2009-03-04 from 00:30 to 01:21 (yes, that's a lot of discussion, but I think it's mostly the early section that will interest you) 03:11
skids (And really as an aside other than p6l summaries changes and clarifications have not been well documented.)
(So if you go on vacation and come back 3 weeks later, you might be in for some surprises unless you sit down and read a LOT of material to catch up) 03:12
wayland76 skids: I agree -- it's hard for an outsider to keep up with things. I was one for about 7 years, so I know :) 03:13
skids Anyway that's enough complaints from me, back to trying to grok Parrot internals. More constructive use of time :-) 03:14
wayland76 It also looks like, according to the current /syn/ I'm wrong about the current docs not being user documentation for Perl 6.
s1n well, i've tried very unsuccessfully to devote 4-6 hours a week to contributing and haven't really gotten anywhere
wayland76 skids: Enjoy :)
s1n so i've been an outsider looking in for a year now 03:15
wayland76 s1n: Yeah, that'd be difficult. Hopefully it will improve in the next month or two, as a few of the current things settle down.
s1n wayland76: i'm always looking for work, solid work, so if you want, feel free to throw things my way 03:16
skids Oh by the way do we have a word for code that is both valid (and same-functional) P5 and P6 at the same time?
s1n otherwise i'm left to my unimaginitive devices
wayland76 s1n: Well, we need some developer documentation 03:17
Or a spec for Captures
s1n i don't think i'd be any good at writing a spec yet 03:18
wayland76 But as for actual coding, I'm afraid I personally am waiting on calls to external languages to be working
s1n but i have dug around rakudo enough to at least keep my head afloat
skids Or I think with "is export" fixed up (?) more setting work is now possible.
wayland76 s1n: Well, the information for a spec on captures is mostly there in other documents, and just needs to be collected in one place and written up friendly-like :)
skids: I don't understand your question about the word for "code" being valid 03:19
s1n: Skids has a point about working on the setting, too
s1n yeah, i thought that sounded most interesting, but for non-contributors, where do i start? 03:20
i mean, if i code something, how am i going to get it into master? 03:21
skids I was just wondering if there's a word for code that parses in two different languages and does the same thing.
wayland76 s1n: Are you familiar with git?
s1n wayland76: only minimally
i tried to manage my own fork on github
it's not easy, especially for beginners, to manage 2 remotes 03:22
wayland76 skids: I don't know if we have a word for that.
s1n: You're ahead of me, then
s1n especially when pmichaud stopped paying attention to the fork queue
wayland76 Judging by the IRC backlog, they're trying to get the hang of git, just like we are 03:23
And are hoping that they'll be able to get back to the fork queue
s1n well, i just joined p6c, so i think i'll pop off an email later 03:24
wayland76 Am I right in presuming you've seen this? wiki.github.com/rakudo/rakudo/steps...te-a-patch
diakopter no. way. 03:27
(sorry, not in reference to any other previous msg)
s1n wayland76: yes, i even appended the last bit about the rebase 03:28
though i think the rebase might night have been right, dunno, it seemed to work :)
wayland76 Ok. Have you seen www.rakudo.org/node/23 ? (the todo list for rakudo.org ) 03:29
skids rebase worked wonders for me.
wayland76 diakopter: In reference to what?
s1n: Actually, have you considered helping with November? 03:31
diakopter erm. you'll see in a day or two. :)
wayland76 diakopter: Ok. That sounds ominous :)
diakopter mruhaha
wayland76 s1n: The devs were just saying how wonderful it was to have people working on November, because it meant that the November team was discovering real bugs in Perl 6 03:32
skids Hrm... found a good DNS name?
(wrt "no. way.")
wayland76 Or, you could go through the bug list, and write tests for them :)
03:33 sri_kraih joined
diakopter no, I just stumbled upon (no, not using StumbleUpon) a project that will make IronPerl in weeks not years. 03:34
s1n wayland76: no i haven't thought of helping with november
i'm actually mostly interested in getting rakudo working more completely 03:35
but it's been real hard trying to become a contributor
i've only had like 1 actual patch accepted, and that was written last summer 03:36
it's frustrating to say the least
wayland76 diakopter: Hooray :) 03:37
diakopter is flabbergasted 03:39
wayland76 s1n: I agree, and feel pretty much the same myself
s1n: Try your message to p6c then. That's probably your best bet :) 03:40
03:42 Minazo left
s1n wayland76: yes, i need to work on my thesis, but i'll get an email out tonight or tomorrow 03:44
wayland76 s1n: Ok, great :) 03:46
pugs_svn r25721 | wayland++ | Added more comments and things, as per suggestions by skids.
wayland76 skids: Try that on for size :) 03:47
Go to perlcabal.org/syn/ and click "refresh".
I think I covered everything you wanted except the part about these not being user docs
skids Thanks! 03:48
03:54 hercynium joined
skids So here's an idea -- after the heavy lifting reorganizing the Synopsis is done, whenever a change happens to one of the more solid Synopsis, the people who would dare do that should take care to link relevent IRC logs and/or p6l threads. 03:56
At that point, we finally have a record of design changes, in the SVN log. 03:57
(or git if that ever happens)
(of course not applicable to grammar tweaks) 03:58
Erm I meant, English grammar tweaks, that is :-)
03:59 nihiliad left
wayland76 skids: Well, I like the idea, but people will forget. It's really one for TimToady to decide 04:00
s1n here's another idea, rather than getting spammed by pugs-commits to the spec, why not just use an RSS feed with links to the diff?
wayland76 s1n: Interesting. I don't think I'm the one to answer that. 04:02
Maybe because replies need to go to the mailing list?
s1n i'm sure we could do something, maybe reply links in the feed message 04:03
i mean, email updates, really? throwback to the early decade for sure 04:04
04:08 alester joined 04:10 bacek_ left 04:11 OuLouFu joined
wayland76 s1n: All I know is they had a similar discussion on the xorg list a few months ago, and couldn't agree on what was noise, and what was signal 04:12
04:13 bacek joined 04:14 bacek left, bacek_ joined
bacek_ hi there 04:14
s1n wayland76: not trying to say it's noise or not, just saying it's easier to read in a feed than in a million email updates 04:15
wayland76 hi where? Oh, here! Hi :)
s1n plus the diff in the email is hard to use when very minor changes occur 04:16
wayland76 s1n: Well, there's been talk about moving the spec stuff to a different repo, and maybe into git :)
04:20 meppuru joined 04:23 Minazo joined
meppuru good night 04:31
04:32 meppuru left
wayland76 Does anyone know who wrote the parrot .spec file? 04:36
04:40 nihiliad joined, nihiliad left, nihiliad joined
wayland76 Don't worry about the spec file question. But does anyone know how the install target is going? 04:42
(ie. "make install" for Rakudo?)
04:51 bacek_ left
skids Jeez I start to finally get into comprehending the Parrot core and then suddenly from out of nowhere I have a social life for a change. Awesome, but bad timing. 05:00
wayland76 Well, I know the cure for that. Explain the Parrot core to those in your social life :) 05:07
05:23 nihiliad left
pugs_svn r25722 | wayland++ | Assuming .^methods returns an array of Method objects, I'mve documented things 05:26
r25722 | wayland++ | appropriately. Now we just have to decide what the attribute descriptors are.
05:30 fridim_ left 05:35 alester left 05:45 sri_kraih_ joined 06:00 |jedai| joined 06:02 sri_kraih left 06:08 Minazo left 06:18 hercynium left 06:22 masak joined
wayland76 masak: hi :) 06:35
masak wayland76: good morning to you, sir. 06:36
06:39 depesz left 06:49 Kimtaro left 07:02 rindolf joined
wayland76 Anyone here vaguely familiar with Configure.pl? 07:08
I'm trying to put it in better shape so it works with a pre-installed parrot 07:09
rather than having to build its own
07:11 AzureStone joined
masak TimToady: for what it's worth, I think 'self' in a sub should be caught at compile time when possible and disallowed, even if (as you wrote) there's no practical barrier to calling the first argument 'self' even in a sub. every time I've written 'self' in a sub so far (and it has happened three or four times), it was because I demoted a method to a sub and overlooked the 'self'. 07:13
07:22 Kimtaro joined
masak use.perl.org/~masak/journal/38601 07:36
07:50 mj41 joined 08:01 frodwith left 08:09 ejs joined
masak use.perl.org/~masak/journal/38602 08:12
08:16 duke_leto joined
masak a blog post about not having the time to blog. how postmodern. 08:17
masak rolls eyes
wayland76 Enabled by Perl 6. The first... you know what I mean :)
masak indeed.
moritz_ "Traversing the AST of a Perl 6 program from inside Perl 6 is, like, awesome." 08:20
how do you do that?
masak I call STD.
and parse the result.
moritz_ ah
masak I wish I had something to show, but I don't, yet. 08:21
that item was the only one which was a bit premature.
the other ones have already happened.
moritz_ ;-)
masak I was hoping no-one would call me out on it. :P 08:22
08:22 zamolxes joined
moritz_ is not going to $work today, has a bit of a flu 08:22
maybe I'll get around to blogging
masak or writing Perl 6 code.
08:22 riffraff joined
moritz_ are there any builtins yet to be written in Perl 6? 08:23
(I mean new ones, not those that could be ported from PIR) 08:25
wayland76 rakudo: Any.^methods.say
p6eval rakudo e47c34: OUTPUTĀ«Method 'methods' not found for invocant of class 'P6metaclass'ā¤current instr.: 'parrot;Perl6Object;!.^' pc 1600 (src/classes/Object.pir:685)ā¤Ā» 08:26
wayland76 Ah well :)
masak rakudo: class A { method !bar() { say "OH HAI" }; method foo() { self.bar } }; A.foo 08:27
moritz_ well, introspection is a bit beyond my scope
p6eval rakudo e47c34: OUTPUTĀ«Could not locate a method 'bar' to invoke on class 'A'.ā¤current instr.: 'die' pc 16351 (src/builtins/control.pir:204)ā¤Ā»
masak rakudo: my %h; say %h<nosuch>.defined; say %*ENV<nosuch>.defined 08:29
08:29 DemoFreak joined
p6eval rakudo e47c34: OUTPUTĀ«0ā¤1ā¤Ā» 08:29
masak another strange thing about %*ENV.
moritz_ it's a known bug that accessing a hash element autovivifies it
and a quite emberassing one, if you ask me 08:30
literal I thought that was a feature
masak moritz_: but look at the output.
moritz_: it's different for %h and %*ENV
literal: it was in Perl 5, I guess. 08:31
moritz_ not even there.
masak literal: but even there, there's an apology about it in perldoc.
moritz_: well, it isn't a bug in Perl 5.
moritz_ in Perl 5 when you access $a{foo}{bar} autovivifies $a{foo}
but never the last indexed key 08:32
masak oh, right.
literal I can see how "say %hash<a><b><c>;" creating 'a' and 'b' would be bad, but creating them when doing "%hash<a><b><c> = 1" would be convenient
masak oh, of course.
moritz_ literal: that's how it specced in Perl 6
masak that's another matter entirely.
literal ok
masak it's the difference between reading and writing.
literal but if you do "if exists %hash<a><b><c>", when 'a' and 'b' don't exist, will it return false or throw an exception? 08:33
moritz_ I guess it'll be false 08:35
literal that would also be convenient
Matt-W false, surely 08:41
because <a><b><c> obviously doesn't exist if <a> doesn't 08:42
masak new slogan: "When Perl 6 becomes endemic, everyone will have STD!"
Matt-W masak: might want to keep that one under wraps
masak Matt-W: perhaps you're right. :)
wayland76 Problems parsing Perl 6? STD will give you AIDS :) 08:43
masak ouch. :P
std: say 42
p6eval std 25722: OUTPUTĀ«ok 00:02 34mā¤Ā»
masak if I get non-ok results from STD locally on that one, what should I do? 08:44
I've done an svn up and a make, but I still get errors.
Matt-W wonder if your build is more recent than the one std is using
moritz_ tries at home
masak I have a feeling it's just a dirty cache or something. 08:45
but I don't know what to do about it.
moritz_ 'make clean'
Matt-W rm -rf, then svn co :)
masak makes clean 08:46
nope, still error. 08:47
Can't locate object method "term__S_390identifier" via package "STD" at /Users/masak/work/hobbies/pugs/src/perl6/STD.pm line 1369.
masak ponders the rm -rf alternative
moritz_ it's all fine here 08:50
masak vewy, vewy stwange.
masak checks out Pugs anew
wayland76 My theory is the problem is you're on an S/390 :) 08:51
masak yes, why didn't I think of that? 08:53
wayland76 (sorry, couldn't resist :) )
masak :)
clean checkout, same problem. 08:56
is it possible that a bug in the automatic translation of STD.pm to Perl 5 manifests only on my computer?
Matt-W yes 08:57
masak oh, good.
and a serviceman from the STD corporation is on the way to my house as we speak, right? 08:58
Matt-W umm 08:59
if they are, it's nothing to do with me
masak Matt-W: by the way: irclog.perlgeek.de/perl6/2009-03-05#i_959401 09:01
moritz_ (line-linkable irc logs)++ 09:03
masak moritz_++ 09:04
Matt-W hmmmm
moritz_ I stole that idea from the previous logger
masak nevertheless. good theft.
Matt-W gargh 09:05
so how do you spell it?
masak Damian.
Matt-W oh right
yes I fixed the readme
masak but not the summary. 09:06
Matt-W yeah
fixed by removing the reference, I'm not directly porting his method
masak goodie.
now, about those tests...
I got the impression that you said that some tests were failing.
Matt-W oh it parses fine 09:07
but the action methods don't trigger
masak Matt-W: so your tests don't fail enough, is that what you're saying? :)
Matt-W yes
masak make them fail, then.
shouldn't be that hard. 09:08
Matt-W I will
masak good. when you do, I'll look at them again.
Matt-W I should test $field ~~ Form::Field
or whatever it needs to be
I'm very, very confused with match objects and result objects and action methods and make
09:08 OuLouFu left
masak it'll pass. 09:09
09:14 mberends joined
mberends happy morning to all 09:14
Matt-W happy morning to you 09:15
moritz_ moinon, god of the greeting, be with you! 09:16
masak mberends: felicitations on the fine morning, sir. 09:17
mberends the old laptop is successfully repaired, but I balked at GBP 140 for a 60GB OCZ SSD. The Asus Eee PC has persuaded me of the merits of flash memory, so it will use LiveUSB henceforth. There are some nice case hacks documented to mount a hub and multiple pendrives inside the laptop. 09:20
literal LiveUSB?
mberends similar to LiveCD as in Knoppix, but in a USB flash drive 09:21
wayland76 I remember reading something where Linus (Torvalds) said that he only trusted one kind of flash memory, and he had some argument that made sense 09:25
But I've forgotten it
His argument, though, was that for standard-type disk usage, it would fail after a while
Unless it was the special kind
mberends all disks fail, it's just a matter of how soon. 09:26
all storage should be backed up, or replicated 09:27
wayland76 Agreed
RAID USB hub?
mberends if the laptop chipset allows (near) concurrent I/O, then yes 09:28
wayland76 Looks like I might be wrong -- torvalds-family.blogspot.com/2008/1...-ssds.html 09:40
mberends Nice review, Intel probably does cacheing in CMOS to speed the writes. SSD is at the start of the learning curve, there will be huge improvements in hardware and filesystems during the next few years. I plan to change all my hard drives to flash memory as they come up for replacement. 09:49
moritz_ www.perlfoundation.org/perl6/index....ure_status "handles handle only String and List of String, Tepy and Regex not work yet" - what does this mean? FTW is Tepy?
masak :) 09:50
Matt-W Tepy??
masak and so, the FUD campaign begins. 09:51
soon, people will say, "what!? Perl 6 doesn't have a Tepy built in?"
people will blog about shunning Perl 6 when they discovered the lack of Tepy.
Guido van Rossum will come out saying that Python has had a Tepy since 2.3. 09:52
Matt-W rofl 09:53
masak TimToady will conjecturally add a Tepy to one of the synopses, but it'll be too late.
Matt-W all the while dodging the question of what a Tepy actually is
masak the damage is already done.
mberends it's a topy^H^H^Hypo
masak I think it should have been "Typo" in the article.
mberends :) 09:54
masak moritz_: btw, you misspelled "WTF" above. "FTW" is almost the opposite.
moritz_ right 09:55
masak Tepy FTW!
maybe I will name my next Perl 6 project Tepy.pm.
moritz_ it was Ilya how introduced that
masak his English is under construction. 09:56
moritz_ :)
10:06 rkendall joined
wayland76 FTW has two meanings that are diametrically opposite. ] 10:06
literal wayland76: huh? how so? 10:07
"what the fuck" and "fuck the world" or something? 10:08
"for the win" and "fuck the world" or something?
even
moritz_ rakudo.org/status 10:09
seems the chart is a bit too broad for the page
mberends Re: www.perlfoundation.org/perl6/index....ure_status , the sequence of headings 1. "Common things that are known to have problems or not work in Rakudo" 2."Things that do (mostly?) work in Rakudo" should be reversed, then the cup would be half full instead of half empty. 10:10
rkendall moritz_ that depends on your screen size (it's a flexible layout)
moritz_ rkendall: ah, good. then it'll display fine for most people, I hope ;-) 10:11
mberends: I'm moving that over to rakudo.org anyway, I can change the order
masak looks ok here.
rkendall although I do think the site could loose one of the sidebars, that would make it work better on smaller screens
moritz_ I thought about it also, but I didn't have the motivation to change it yet 10:12
masak though the search box covers the graph a bit.
literal yeah, the stuff in the right sidebar could be moved to the left one
moritz_ rkendall: aye. The right bar is mostly useless, its content could be stuffed into the left one
rkendall or the other way
moritz_ likes navigation left
masak move it to the left.
mberends the rightmost part of a page is truncated on small displays, so put the important stuff on the left 10:14
moritz_ anyway, regexes++ # let me convert from one wiki markup to another quite fast 10:15
masak though recent experiences have taught me that they are not always enough. I cannot say this with total certainty, of course, since it might be my fault. but I believe that regexes can only get you so far. 10:17
10:17 M_o_C joined
wayland76 literal: en.wiktionary.org/wiki/FTW 10:18
(oh, you got them in a later comment)
(I was referring to "For the Win" and "The world")
moritz_ masak: they worked in my case, that was enough to safe me 15 minutes for boring and error-prone hand edits
Matt-W masak: you're correct, they can only do so much by themselves 10:19
masak moritz_: well, for one-off things, sure, they work.
10:19 DemoFreak left
moritz_ masak: for parsing Perl 6, they also work ;-) 10:21
at least some regexes do ,-)
masak heh.
I think the futility of doing it with regexes is a bit more apparent in the Perl 6 case. 10:22
moritz_ I don't think STD.pm is futile ;-) 10:23
10:25 duke_leto left
mberends wonders whether the PCRE library will eventually be superceded by P6RE 10:26
masak moritz_: I didn't say STD.pm was futile. you know what I mean. :)
by the way, STD.pm works for me if I call it standing in src/perl6/.
it doesn't work for me when I call it from elsewhere. 10:27
I believe that is a recently introduced bug.
moritz_ I never tried it from anywhere else 10:28
masak well, I could cd into the directory, but it's nice if it works from elsewhere. 10:29
masak worksaround for now
you need to set PERLLIB to the src/perl6 dir, and that used to work. doesn't anymore.
that's the problem I was experiencing earlier.
mberends *PERL6LIB 10:33
masak mberends: no, PERLLIB. 10:34
STD is Perl 5.
that is, the translated version is.
mberends retreats
masak by the way, is there a convenient opposite of slurp($file) in Perl 6? 10:35
Matt-W opposite? 10:36
vomit($file)?
masak something like barf($file, $contents)
moritz_ lol
Matt-W print?
masak Perl 6 -- the disgusting language.
mberends i wrote one called squirt()
masak mberends: reminds me of the Zune.
Matt-W what would it do that print can't?
masak Matt-W: open/close the file.
Matt-W ah 10:37
write one!
mberends i did
Matt-W then sneak it into the spec
and try to convince larry he wrote it
and that it's a great idea
masak Tepy.barf
mberends Python surely has it
see lines 65-70 in github.com/eric256/perl6-examples/b...nfigure.pm 10:41
masak mberends: overwrites old files. bug or feature? :) 10:42
mberends "feature"
masak very well. 10:43
Matt-W failure case
masak rakudo: say slurp("nonexistent")
p6eval rakudo e47c34: OUTPUTĀ«Unable to open filehandleā¤current instr.: 'open' pc -90764 ((unknown file):-1)ā¤Ā»
10:45 PacoLinux joined 11:14 masak left 11:20 ejs left 11:21 ejs joined 11:44 ejs1 joined 11:46 parduncia joined 11:51 ejs left 12:05 pmurias joined
rkendall Hi, had a logo idea which I just posted to perl6-users 12:30
moritz_ nice idea 12:32
rkendall (to add speach bubble to Parrot logo as a way to combine it with other logos - such as Rakudo's) 12:33
moritz_ I did read the mail before I commented here ;-) 12:36
rkendall was just in case someone else was listening too. 12:37
12:38 |jedai| left 12:41 pmurias left 12:43 ruoso joined
ruoso Hello! 12:48
rindolf Hi ruoso 12:49
moritz_ rkendall: do you know how to change a redirection link in drupal with command line tools? 12:51
rkendall do you mean the URL alias?
moritz_ yes
dunno
we have 'lastest_release' link for parrot
I think it's a redirect, not an URL alias 12:52
rkendall where is the link, just in a page on the site?
moritz_ yes 12:53
on www.parrot.org/download
the "urrent development Release"
we'd like to automate that it actually follows the latest release
if it can't be made easily, we'll just make a symoblic link latest/ on the ftp server 12:54
rkendall don't think that would be managed by drupal, rather by apache
or like that
would also be handy to have a 'latest' ftp URL 12:56
13:09 pmurias joined
pmurias ruoso: hi 13:09
13:29 bacek joined 13:32 DemoFreak joined
ruoso hi pmurias 13:40
pmurias, have you seen that we need to rewrite SMOP? 13:42
13:47 mberends left
pmurias ruoso: we extract the invocant using a macro in most places so it shouldn't be that big a problem 13:55
got to catch a train& 13:56
13:56 pmurias left, skids left 14:04 rkendall left 14:24 |jedai| joined 14:27 jaldhar left 14:31 renormalist left 14:36 jaldhar joined 14:41 ejs1 left
pugs_svn r25723 | putter++ | [elf_h] EmitSimpleP5.pm: lt,gt added to fastpath operator handling (for elfparse). Some cleanup of same. PrimitivesP5.pm: Added infix:<+&>. 14:42
14:46 frodwith joined
pugs_svn r25724 | putter++ | [elfparse] EXPR now appears[1] to be running. comp_unit accepts '3'. [1]:devEXPR.pm is currently separately compiled so STD lexicals aren't linked up. 14:48
14:52 bigpresh left 14:54 |jedai| left, skids joined 15:02 AndyAway is now known as alester 15:04 Tene_ joined 15:05 bigpresh joined 15:06 |jedai| joined 15:14 parduncia_ joined, fridim_ joined 15:15 fridim__ joined, parduncia_ left, Tene left 15:17 Kimtaro left 15:19 meppl joined 15:30 pjcj left 15:31 parduncia left 15:34 nihiliad joined 15:35 fridim_ left, fridim__ left 15:41 rodi joined 15:48 pjcj joined 15:55 zostay joined
pugs_svn r25725 | lwall++ | [Cursor] add :actions option to parse and parsefile 16:01
r25725 | lwall++ | [viv] use new :actions option
TimToady moritz_: you've got a formato on the $<?>, which eats the "tag" 16:02
@tell masak you've got what appears to be a typo, or perhaps you really meant Just Ducking Foo It 16:03
lambdabot Consider it noted.
16:04 Kimtaro joined
moritz_ TimToady: ah, I should fix that 16:04
moritz_ is so used to perlmonks.org markup... 16:05
16:05 nihiliad left 16:07 nihiliad joined 16:08 nihiliad left 16:09 nihiliad joined 16:11 justatheory joined
rodi should the methods in rakudo/src/setting/Str.pm be largely synyonymous with the ones in S32/Str.pod? 16:11
alester Man, there was this Italian place in the city that made the best formato. 16:12
moritz_ rodi: yes 16:13
rodi: although Str.pod uses more advanced Perl 6 than it's available for Rakudo yet
rodi moritz_: yeah, just trying to find a reasonable place to start a little hacking. 16:15
I think I have a pretty good feel for the limits of which parts of P6 I can use in Rakudo.
moritz_ that's good 16:16
many of the builtins are still written in PIR
so if something isn't in src/setting/ it doesn't mean it's not implemented 16:17
rodi right- in src/classes/Str.pir, for example? 16:18
moritz_ for example 16:19
there's also src/builtins/any-str.pir
diakopter looks at :actions 16:20
rodi moritz_: if you can forgive my ignorance of how things fit together, do these PIR classes eventually merge with the P6 classes in some meaningful way- e.g. is this largely because of bootstrapping, or is it the architectural intent? 16:22
moritz_ rodi: in the end most or all builtins will be written in Perl 6... 16:23
rodi: though to achieve higher efficiency, maybe with embedded PIR 16:24
rodi makes sense.
[particle]1 or where it's not possible to write in p6
like infix:<+> 16:25
rodi also makes sense.
moritz_ [particle]1: you can, with embedded PIR
rodi Now that rakudo supports embedded PIR,
[particle]1 right, sorry, i meant pure perl 6 of course
rodi is there any notion that these should start merging soon?
[particle]1 yes
you're welcome to try :) 16:26
rodi heh
rodi forks
what the hell.
[particle]1 i've written some Str builtins in p6, but they're not handy atm for commit
oh, right. Str.perl
wait, maybe it was Int.perl. 16:27
yeah, that's what it was.
wanna write Str.printf soon
16:34 hercynium joined 16:35 Ariens_Hyperion joined 16:36 Ariens_Hyperion left
diakopter I don't understand what assigning to $::ACTIONS does 16:36
oh, a package global? 16:37
alester moritz++ !!! rakudo.org/status
diakopter I'd be curious to see another metric on that graph 16:38
the green/red/blue/yellow measures adjusted for increases in the gray measure 16:39
(since that would show when and how many items move from fail/todo/regr to pass 16:41
)
16:41 frioux_ joined
dalek kudo: f6cdf9b | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 317 files, 7121 passing, 0 failing
16:42
16:42 ruoso left
diakopter (assuming that no tests are ever removed from spec) 16:43
16:43 M_o_C left, wayland76 left 16:45 tcliou|Away joined, LCamel joined 16:46 moritz_ joined, M_o_C joined, wayland76 joined, szabgab joined, lambdabot joined, buubot joined, simcop2387 joined, ewilhelm joined, pugs_svn joined, literal joined, irc.freenode.net sets mode: +o moritz_
TimToady diakopter: it should be thought of as a context variable, but Perl 5 can only emulate context vars with local currently 16:46
diakopter if I didn't know any better, I'd suspect STD/Cursor is about to get action callbacks :P 16:47
16:50 riffraff left
moritz_ alester: do you think we should link to it from the front page? 16:52
alester you mean up in the menu?
moritz_ yes 16:53
alester done
16:56 zamolxes left
TimToady diakopter: it already had callbacks, which is how viv works. this is just an interface change 17:15
17:21 bsdx joined
diakopter ok. I guess I was hinting that lwall++ might be committing actions for an interpreter soon. ;) 17:25
TimToady I'm not actually much interested in doing that. If I did anything with it near term, it would be to translate gimme5 to viv. 17:30
there are plenty of other interpreters in the works, and I don't care to compete, if only because would be perceived as the automatic winner :)
diakopter lol 17:31
TimToady bad enough that I'm claiming the standard parser
and might have to claim standard Setting if the various current efforts don't converge 17:32
diakopter well, the Setting becomes the bootstrapped compiler eventually anyway
TimToady just trying to get other people to do my work :) 17:33
17:33 schmalbe joined
pugs_svn r25726 | putter++ | [elfparse] Move EXPR into std.pm. 17:51
17:56 M_o_C left 18:05 bsdx left
pugs_svn r25727 | pmichaud++ | Fix a couple of typos, redirect "mailing lists" link to perl6-specific lists. 18:08
18:09 jan_ joined
pugs_svn r25728 | pmichaud++ | Add a link to the Rakudo wiki (on github). 18:10
pmichaud good afternoon, folks. 18:12
PerlJam buenos tardes pmichaud
diakopter howdy
pmichaud yes, it seems I'm often tardy. 18:13
Good work to everyone who's been updating rakudo.org, perl6-projects.org, etc. Exciting stuff.
moritz_ thanks ;-) 18:15
pmichaud anyone know how to create a "permanent top-posted page" on rakudo.org?
i.e., some content that always remains at the top regardless of later posts or edits? 18:16
18:20 FurnaceBoy joined 18:28 ejs joined
diakopter pmichaud: check "Promoted to front page" and "Static on front page" 18:34
pmichaud diakopter: thanks! 18:36
18:40 Psyche^ joined
pmichaud I'm guessing I don't have those privileges. 18:51
or I don't know where to look.
I'll go ahead and create the page first, though. 18:52
18:52 Patterner left, Psyche^ is now known as Patterner 18:53 ruoso joined 18:55 mncharity joined 18:56 japhb joined, spx2 joined
mncharity ooooo, spiffy perl6-projects.org/ and /topic. 18:57
perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas 18:58
[particle]1 pmichaud: how about a git.rakudo.org with a redirect? 18:58
literal how is augment different from monkey patching? is the augmented version only visible in its surrounding lexical scope? 19:00
pugs_svn r25729 | putter++ | [elfparse] Discarded Match variants. rx { } code blocks emitted inline. 19:12
pmichaud [particle]: sounds great to me -- andy controls the domain, though.
alester particle: Add it to the todo list
and what you'd want it to redirect to 19:13
pmichaud probably github.com/rakudo/rakudo, I would think.
19:13 FurnaceBoy left
alester just add a note, and I'll get to it. 19:14
pmichaud I think we can remove "current test results" from the todo list now. moritz++
alester Then do that, and put it at the bottom of the page in the "stuff we did" list.
pmichaud done. 19:15
oh, also "state of rakudo" is done. 19:16
TimToady literal: no, augment changes the existing class. you can use 'my class is Other' to get the other behavior, after all 19:19
literal so the "use MONKEY_PATCHING;" is gone or is it different somehow? 19:21
[particle]1 lazyweb++ beat me to it :) 19:23
TimToady you still need to "use MONKEY_PATCHING" to enable the use of augment or supersede 19:24
we try to make it difficult
we believe in aping, not monkeying 19:27
ruoso I had just now realized that "Foo::Bar::Baz" makes it really difficult to lexically redefine that name 19:29
TimToady why do you think that? 19:30
ruoso because that means
TimToady the current lexical scope may also have a Foo::Bar:Baz
and it will be found in preference to the global one
ruoso take package Foo, look for the package Bar inside it, then look for the package Baz inside the later
TimToady current STD algorithm: find Foo looking outward in lexical scopes, the upward in package scopes. 19:31
only after you have found Foo do you think about the Bar::Baz part
though I suppose I could be argued into the other position 19:32
ruoso yes
does that mean "use" needs to create a new full package hierarchy in the lexical scope?
TimToady but "find me the closest Foo that happens to contain Bar::Baz seems rather perilous 19:33
ruoso hmm
TimToady not if Foo is just an alias
ruoso but then you'll get a lot of packages you didn't ask for
TimToady and nearly all short names will be aliases to long names in any case
eh, but they're all in Foo 19:34
ruoso but you didn't ask for Foo
you asked for Foo::Bar::Baz
TimToady but Bar and Baz don't pollute my namespace 19:35
only the Foo namespacew
ruoso and you'll get Foo::Boing::Boing without any notice, as long as someone already loaded that module
TimToady so?
ruoso I thought that was one of the things we were trying to fix
TimToady what's to fix?
19:35 icwiener joined
ruoso so I can use a different version of Foo::Boing::Boing 19:36
lexically speaking
then I don't need to monkey patch anything
TimToady then ask for a different version of Foo::Boing::Bong, and it should install it in your own Foo. perhaps what we need is a way to pull things in on demand from higher variants of Foo 19:38
if not found in my Foo
ruoso hmm... 19:39
but if Foo is aliased to GLOBAL::Foo 19:40
[particle]1 how do i augment a :auth<cpan> flavor of Foo inside class Foo :auth<mine> ?
ruoso it will install there
[particle]1, same problem I'm trying to deal here
[particle]1 yeah, i'm trying to put it in perl 6 syntax, to expose the problem 19:41
TimToady my class or our class will create a local Foo
[particle]1 what is the default :auth?
TimToady oh, something like www.perl.org
ruoso the problem is not on the declaration side
but on the "use" side 19:42
so I can "use Foo::Boing::Boing :auth<mine>" in a lexical scope
the problem is
if Foo is an alias to GLOBAL::Foo
it will install that in the global namespace 19:43
which is not the intended here
TimToady then don't do the use in the GLOBAL package :P
ruoso it's nto the use that is there
it's the class declaration 19:44
class Foo { } in a package
will cause it to be in GLOBAL::Foo
class Foo::Bar::Baz { } in a file
s/package/file/
TimToady only if it's the first declaration in a file
ruoso which is the case I'm trying to address
TimToady 'kay
ruoso so if I "use Foo::Bar::Baz" 19:45
it will alias Foo
to the Foo on that file
which happens to be GLOBAL::Foo
if I later "use Foo::Boing::Boing :auth<mine>"
and that file has a "my class"
(which means it don't register itself in GLOBAL::) 19:46
it will insert into my locally aliased Foo
which happens to be GLOBAL::Fo
so Foo::Boing::Boing will end up appearing in GLOBAL
one solution I can thikn 19:47
is that "use" always create a new local hierarchy, instead of binding the first package in the name 19:48
so...
"use Foo::Bar::Baz"
will create a local Foo, with a local Bar, that has an alias in Baz that points to the actual package there
so Foo::Bar::Baz would be the same as GLOBAL::Foo::Bar::Baz, as expected 19:49
but then Foo::Boing::Boing won't appear in GLOBAL
of course that only works if you never "use Foo;" 19:50
which means it's a bad solution
TimToady treat package name as single string in lex scope maybe
ruoso unless..
unless we use pmuria's idea 19:51
and always clone the package when importing
TimToady MY::<Foo::Bar::Baz> ::= alias
well, I need to go to work--will backlog 19:52
diakopter work-- indeed
ruoso that basically means... namespace is not hierarchical...
it's a plain list ?
s/list/hash/
TimToady would also have to search hierarchically, I suspect 19:54
this may be wrong any way we decide :)
bbl &
ruoso in which case would the hiearchical search be needed? 19:56
hmmm 19:57
19:59 fridim_ joined
diakopter i'm finding it difficult to follow the scenario w/o test cases 19:59
20:01 Maghnus joined
pmichaud fwiw, the lexical scoping of namespaces has always been a bit opaque to me... but I figured it was just that I hadn't studied it enough. 20:03
looks like you've traversed the same "Huh?" questions that I was having :-|
ruoso pmichaud, I guess we're going to end with a plain namespace after all 20:06
the major implication to that seems to be
module Foo { module Bar { class Baz { } } }
pmichaud where "plain namespace" means "non-hierarchical"? Or did you mean something else? 20:07
ruoso plain as non-hierarchical, yes
pmichaud I think I'll hold judgement and hope another answer is found. A ton of stuff in PCT, PGE, and Parrot has been predicated on hierarchical namespaces. 20:08
Sadly, I started out by doing non-hierarchical as an early simplification, then had to go through various evolutions to become hierarchical. 20:09
ruoso but I don't really see other good solution 20:10
otherwise we loose the lexical meaning of "use"
that...
or we drop support for globals at all
pmichaud agreed, the two had never melded well in my head. 20:11
ruoso and every "use" implies in a new clone of the package
pmichaud that's going to be ugly for pre-compiled stuff.
at least in Parrot.
ruoso yeah... we would need a lot of cow
I think I'm starting to like the idea of dropping support for globals 20:14
of course GLOBAL:: would still be there
20:15 lambdabot left
ruoso and you would still be able to access GLOBAL::Foo::Bar::Baz 20:15
but without the GLOBAL:: in the front, you would always get a local copy
pmichaud feels like PHP somehow. :-)
ruoso it does? 20:16
pmichaud $GLOBAL['some global value']
the notion of "superglobals" (special names that are imported into every package)
etc.
ruoso hmm... I think that goes into the opposite direction
nothing GLOBAL gets aliased in your package 20:17
and every package you "use" is private to you
but if you really want to use globals,
20:17 lambdabot joined
ruoso the GLOBAL:: namespace is still there for you 20:17
pmichaud did we ever get resolution on captures, return, and the like? I didn't see it in the scrollback. 20:18
ruoso pmichaud, I saw the scrollback... but we got no resolution
but anyway... I think I'm really liking the 'use clones packages' solution 20:19
20:24 hercynium left
pmichaud I'm now confused about the meaning of a Capture in item context. A Capture in item context is... itself? 20:26
(going with the "every object in item context is just itself" meme) 20:27
ruoso that was already reverted in IRC 20:28
not yet reverted in the spec, it seems 20:29
pmichaud so, a Capture in item context is what now?
ruoso if a capture contains only a single argument (named or positional) it returns that item in item context
pmichaud okay.
ruoso otherwise it returns itself
pmichaud do you know where that is in the irc logs?
ruoso so "return a => 1" makes it a pair
pmichaud, hmm... actually it was in p6l
"new Capture behavior"
"return 1" makes it a num 20:30
pmichaud I thought I read through that thread... I must've missed that.
ruoso I think I sent the idea in the first email with the subject
and TimToady agreed in his direct reply to that
pmichaud okay, I see it now. 20:32
thanks. 20:33
20:34 FurnaceBoy joined, FurnaceBoy left 20:36 armagad joined 20:40 araujo joined 20:51 [particle]1 left 20:53 ejs left 20:58 [particle]1 joined 21:05 japhb left 21:06 [particle]1 left 21:09 Ariens_Hyperion joined, schmalbe left 21:10 [particle]1 joined 21:11 lambdabot left 21:13 lambdabot joined
pmichaud in what sense are private method calls "private"? 21:19
simply by convention of the !, or something else enforcing it also?
ruoso pmichaud, it doesn't participate in regular dispatch 21:20
you need to call it with an special syntax...
class Foo { method !bar { }; mathod baz { self.bar } } # FAIL 21:21
pmichaud so, there's a private method dispatcher?
ruoso yes
pmichaud okay.
ruoso self!bar
pmichaud and it doesn't do inheritance or stuff like that, I guess?
ruoso exactly
pmichaud so, we have subroutine dispatch, method dispatch, and private dispatch 21:22
ruoso yse
pmichaud any others I'm forgetting?
ruoso hmmm... not that I remember 21:23
21:24 fridim_ left 21:25 rindolf left
[particle]1 since ops are subs, no 21:26
pmichaud prepares to do some jnthn++ code refactoring again. :-|
ruoso I guess meta-ops might have a different dispatch 21:32
[particle]1 can you define your own meta-op? 21:33
pmichaud sure.
[particle]1 i can't remember that new bit of spec
ruoso well, you need a custom grammar, I thnk
but you still can do it
ruoso later & 21:34
21:34 ruoso left
pmichaud for example, the 'R' operator is infix_prefix_meta_operator:<R> 21:35
[particle]1 ah, infix_prefix_meta. sweet.
pmichaud STD says that X is infix_circumfix_meta_operator, but I suspect it's now supposed to be infix_prefix_meta_operator
[particle]1 i bet you're right 21:36
i heard perl6
*heart
21:43 elmex joined 21:58 Ariens_Hyperion left
mncharity "happiness is a working operator precedence parser" 21:58
literal haha 21:59
pugs_svn r25730 | putter++ | [elfparse] /<comp_unit>/ parses '2+3*4'. 22:08
r25730 | putter++ | std.pm: unpod infixish. analysis.pm: bugfix - RxAlt branches get separate "have I seen this subrule multiple times" counters. emit5.pm: run coerce(Match) during matching instead of afterward.
22:15 dduncan joined 22:17 ZuLuuuuuu joined 22:21 awwaiid joined 22:22 rodi left, Ariens_Hyperion joined
mncharity joys of STD.pm :my-ness next. code slow or big, choose one. another day. then onwards to parsing 'say 3'. 22:27
g'night all. &
22:27 mncharity left 22:36 alester is now known as AndyAway 22:39 icwiener left 22:42 cognominal left 22:45 [particle]1 left 22:46 krunen joined
pugs_svn r25731 | lwall++ | [STD] infix_circumfix_meta_operator:<X> should be infix_prefix, pmichaud++ 22:46
r25731 | lwall++ | [STD] all non-transparent metas have transparent precedence, oops!
22:46 cognominal joined 22:56 Whiteknight joined 23:03 Limbic_Region joined 23:06 [particle]1 joined 23:08 milton13 joined 23:09 skids left 23:10 bacek left 23:37 awarefish joined 23:41 M_o_C joined 23:42 Ariens_Hyperion left, Ariens_Hyperion joined 23:48 nihiliad left 23:52 Whiteknight left