»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend! Set by Tene on 14 May 2009. |
|||
00:04
H1N1 joined
00:38
kst joined
00:43
aindilis joined
00:45
bacek joined
00:47
agentzh joined
01:08
alc joined
01:19
LadyLuna1y joined
01:20
agentzh joined
01:23
ZuLuuuuuu joined
01:24
alc joined
01:28
eternaleye joined
01:33
eternaleye joined
01:40
kst joined
01:41
Kisu joined
01:58
agentzh joined
|
|||
meppl | good night | 02:09 | |
02:15
eternaleye joined
02:21
eternaleye joined
02:25
eternaleye joined
02:33
eternaleye joined
02:34
davidad joined
02:41
justatheory joined,
alester joined
02:47
eternaleye joined
|
|||
JDlugosz | hi all. | 02:49 | |
all | hi | 02:50 | |
02:56
eternaleye joined
02:57
agentzh joined
|
|||
JDlugosz | is this syntax for returning a typed array correct: | 02:57 | |
sub foo of Type @ { ... } | |||
02:59
eternaleye joined
03:03
eternaleye joined
|
|||
wayland76 | Don't think so | 03:08 | |
S02 says... | |||
03:08
eternaleye joined
|
|||
wayland76 | (among other options): sub get_pet() of Animal {...} | 03:09 | |
so I'd imagine it'd be something like sub get_pet() of Array {...} | |||
JDlugosz | That syntax came up before, in the mailing list. | 03:10 | |
wayland76 | (In case I haven't said, I'm no expert -- I don't even have a working Perl 6 installation at the moment :) ) | 03:11 | |
JDlugosz | I'd argue that there is no such thing. | ||
wayland76 | Well, but I mean, no installed Rakudo or SMOP or anything like that | ||
I'm getting closer, though. See, I'm not going to install Rakudo until I can turn it into an RPM, and thanks to Parrot changes over the weekend, I'm one step closer :) | 03:12 | ||
JDlugosz | Care to read something (not too long)? | 03:13 | |
wayland76 | Btw, when you say "That syntax", do you mean what I said, or what you said? | ||
JDlugosz | What I said. | ||
wayland76 | I'd be happy to, if I can finish it before my compile finishes | ||
JDlugosz | Still editing, but I'll push it up... | ||
wayland76 | Well, mailing list tends to be golfy. Who said it? | 03:14 | |
if it was Moritz, it's probably right :) | |||
rakudo: sub foo of Type @ { ... } | |||
p6eval | rakudo 23718a: OUTPUT«Malformed routine definition at line 1, near "foo of Typ"in Main (src/gen_setting.pm:0)» | ||
wayland76 | rakudo: sub foo of Type @ { say "hi" } | ||
p6eval | rakudo 23718a: OUTPUT«Malformed routine definition at line 1, near "foo of Typ"in Main (src/gen_setting.pm:0)» | ||
wayland76 | rakudo: sub foo as Type @ { say "hi" } | ||
p6eval | rakudo 23718a: OUTPUT«Malformed routine definition at line 1, near "foo as Typ"in Main (src/gen_setting.pm:0)» | ||
wayland76 | rakudo: sub foo as Array { say "hi" } | 03:15 | |
p6eval | rakudo 23718a: OUTPUT«Malformed routine definition at line 1, near "foo as Arr"in Main (src/gen_setting.pm:0)» | ||
wayland76 | rakudo: sub foo returns Array { say "hi" } | ||
p6eval | rakudo 23718a: ( no output ) | ||
wayland76 | rakudo: sub foo returns Array { say "hi" }; foo() | ||
p6eval | rakudo 23718a: OUTPUT«hi» | ||
wayland76 | rakudo: sub foo returns Array { return ("hi") }; say foo() | ||
p6eval | rakudo 23718a: OUTPUT«Type check failed on return valuein sub foo (/tmp/E4kfYo8Xvh:1)called from Main (/tmp/E4kfYo8Xvh:1)» | ||
JDlugosz | <www.dlugosz.com/Perl6/web/code.html> | ||
wayland76 | That last golf I did there is something that might be heading in the direction you want :) | 03:16 | |
JDlugosz | Who? I'd have to look back and check. August, I think. | ||
Oh, 'returns' is gone as a synonym for 'of'. | |||
wayland76 | Maybe, but S02 still says it's there :) | 03:17 | |
03:17
eternaleye joined
|
|||
wayland76 | Oh, have you looked at S32/Callable? | 03:18 | |
JDlugosz | I saw it disappear in a diff, S06, "subroutine traits". | ||
I see old example in S02, par for the course. | 03:19 | ||
Check "blame" for S06 to make sure that was done on purpose. | |||
03:21
agentzh joined
|
|||
wayland76 | JDlugosz: Not sure I followed that | 03:21 | |
I was referring to: svn.pugscode.org/pugs/docs/Perl6/Sp...llable.pod | |||
oops, | 03:22 | ||
perlcabal.org/syn/S32/Callable.html | |||
JDlugosz | "blame" is a command on version control systems. Shows who changed each line last. | ||
Change 23431 larry on S06 | |||
Yes, that changed returns to of. No more returns trait. | 03:23 | ||
^^^^ Larry -- that was on purpose, right? | 03:24 | ||
wayland76 | JDlugosz: Ah, I understand. I thought you were talking about Callable, and was confused :) | ||
ping TimToady (this may make his IRC client go "bing" :) | 03:25 | ||
03:25
eternaleye joined
|
|||
JDlugosz | No need to bother him, he looks back at the log. | 03:25 | |
wayland76 | Sorry, it's my sense of instant gratification :) | 03:26 | |
JDlugosz | Tim Nelson... that you? | ||
wayland76 | I'm exemplifying one of the Perl virtues -- impatience | ||
JDlugosz: Yes, that's me | |||
JDlugosz | I see your name on the S32 you just cited. | ||
wayland76 | Yeah, that's right | 03:27 | |
JDlugosz | It is dated Feb this year, but does not cover any of the stuff that was discussed on the mailing list last summer. | ||
wayland76 | Basically, I have no clue, but write synopses in hopes of provoking someone to improve them :) | ||
JDlugosz | Including "Code" being an obsolete name for Callable, before Roles were introduced and the name changed to be an adjective. | ||
So.... how about updating that based on the HTML file I just showed you? | |||
wayland76 | Well, I think pretty much everything I wrote was drawn from other specs | 03:28 | |
JDlugosz: I'd love it if you'd do that | |||
JDlugosz | I'm reworking my old "proposal" doc to be up to date and more imperitive than speculative, and makeing syntax current. | ||
Yea... nobody was updating the docs based on discussions. Pestering them on that is why I now have commit access myself. | |||
I lovingly went through and fixed all the Code/Callable and used concrete types where sensable, but nobody merged in until this week. | 03:29 | ||
wayland76 | I was hoping that eventually, S32 would become a sort of "object/role reference manual", and other docs could be written to say things like "See S32/whatever for details" | ||
JDlugosz | Anyway, check out my link. Does that make sense? | ||
Sounds good to me. | |||
03:29
eternaleye joined
|
|||
wayland76 | So far, but remember, I'm no expert, so I have to take it slowly :) | 03:30 | |
JDlugosz | The sigs I mentioned I gathered from mentions in the | ||
Synopses, too. Just fixed contradictions. Probably you did the same. | |||
no expert... well, is anyone? These classes need to be properly engineered based on rough ideas of uses cases. Until that is done and accepted, nobody can be an expert. | 03:31 | ||
I can answer some of you questions you wrote. | 03:32 | ||
"what does do return.... method body? | |||
wayland76 | Well, yes, but the person who should really be checking this is probably Moritz -- he'll make the time, etc | ||
JDlugosz | Hmm, well, I can answer it for Routine. Does it make sence to have it on the abstract base class? | 03:33 | |
Did you look at my HTML file? | 03:34 | ||
wayland76 | I'm in the process of reading it. But like I said, I have to take it slowly :) | ||
JDlugosz | Ah, I missed .assuming, mentioned in S02. | 03:37 | |
03:37
eternaleye joined
|
|||
JDlugosz | Oh, no I didn't. | 03:37 | |
03:40
nihiliad joined
03:41
davidad joined
|
|||
wayland76 | I haven't finished reading it yet, but I'm being called for lunch. afk& | 03:41 | |
03:45
eternaleye joined
04:00
eternaleye joined
04:02
alester joined
|
|||
JDlugosz | Uh... this doesn't make sense in S03 | 04:04 | |
my $args = \(@foo: @bar); | |||
is instead equivalent to: | |||
@foo.push(@bar); | |||
Taking the capture doesn't cause the method to be called. In contrast to the previous example, the second line is missing. Should it also say: push |$args; | |||
In that case, push becomes a method call because the |$args contains the invocant. But we don't keep track of it as such anymore (it's just the fist positional), and it only parses if push is already a function anyway... ? | |||
04:07
eternaleye joined
04:09
eternaleye joined
|
|||
pugs_svn | r26929 | jdlugosz++ | Code to Callable, clarify "Type" under smart matching (see <irclog.perlgeek.de/perl6/2009-05-24...171474> | 04:10 | |
04:22
eternaleye joined
|
|||
wayland76 | JDlugosz: I'm not very good about this myself, but it's customary to put the name of the Spec(s) changed into the commit message | 04:22 | |
ie. "[S01] Made some changes here" | 04:23 | ||
JDlugosz | You mean svn doesn't know?! | ||
wayland76 | Oh, it does, but you'll notice the message on the IRC channel didn't say | ||
JDlugosz | I see. | ||
wayland76 | It doesn't actually matter, but if you're only changing one or two specs, then that can be helpful to people :) | 04:24 | |
(and like I implied, I often forget myself) | |||
JDlugosz | I'll keep it in mind. | 04:25 | |
wayland76 | Oh, you wrote "upwrap" in your essay. I suspect you mean "unwrap" :) | 04:26 | |
04:26
eternaleye joined
04:28
szabgab joined
04:30
eternaleye joined
|
|||
wayland76 | I was surprised that the document ended where it did :) | 04:36 | |
I was sort of expecting something more conclusion-y on the end :) | |||
But for the sort of document this is, that's find :) | 04:37 | ||
04:49
ssm joined
05:03
Kisu joined
|
|||
wayland76 | s/find/fine/ | 05:06 | |
05:09
hanekomu joined
05:44
iblechbot joined
05:46
araujo joined
05:47
justatheory joined
06:52
lu_zero joined
|
|||
lu_zero | hi | 06:52 | |
I just tried to build rakudo with an installed parrot 1.2.0 | |||
is help needed to get the process in shape or it's just too early and everything is fine? | 06:53 | ||
TimToady | well, you don't say what went wrong | 06:54 | |
moritz_ | currently compiling against an installed parrot is not supported | ||
patches to change that are welcome. | |||
lu_zero | TimToady basically it could break in parrot_config stating the build dir but not the install dir | 06:55 | |
and rakudo asking for something it isn't currently installed | |||
like PCT.pbc | 06:56 | ||
moritz_ | that's installed if you did a 'make install-dev' | ||
lu_zero | (and using the build dir value) | ||
moritz_ good to know =) | |||
lu_zero updates that part | |||
06:57
lambdabot joined
|
|||
moritz_ | (oh, and you'd need the Stockholm release, not the current HEAD, because that requires a newer parrot than 1.2.0) | 06:57 | |
06:57
davidad joined
|
|||
lu_zero | I was planning to package that one | 06:58 | |
btw which is the version scheme? | |||
06:58
sri_kraih_ joined
|
|||
lu_zero | right now versions have a plain number (17) but the package has a snapshot date (2009-5) | 06:59 | |
/tools/* like dynpmc.pl are still missing | 07:06 | ||
07:08
DemoFreak joined
|
|||
wayland76 | I'm actually working on related problems | 07:14 | |
I'm turning rakudo into an RPM | |||
lu_zero: What Distro? | 07:15 | ||
lu_zero | wayland76 gentoo | ||
wayland76 | Ah, ok | ||
I'm doing Fedora 10 at the moment | |||
I'm also finding that I need extra Parrot files | 07:16 | ||
lu_zero | so once I beat the Makefile to submission I have to handle the fact parrot still report build location instead the right ones... | ||
wayland76 | But I suspect that RPM works differently than eg. emerge in that regard | ||
Maybe :) | |||
lu_zero | wayland76 not that different | ||
07:16
ZuLuuuuuu joined
|
|||
wayland76 | Do you want a copy of my current patch? | 07:17 | |
lu_zero | would be useful | ||
wayland76 | send me your e-mail address in a private message :) | ||
lu_zero | btw do you have a bug tracking rakudo for fedora ? | ||
wayland76 | Not sure | ||
I've been working on getting some necessary stuff into Parrot for Rakudo install process | 07:18 | ||
And that just came through today | |||
I may've created a bug ages ago, but I forget :) | |||
07:21
iblechbot_ joined
07:22
agentzh joined
|
|||
wayland76 | Btw, I should say that parts of the patch came from something Allison was doing ages ago | 07:24 | |
So I don't understand it all 100% | |||
lu_zero | hmm | ||
wayland76 | Especially the makefile stuff :) | ||
But it seemed to improve the situation | |||
Am I correct in guessing you know who Allison is? | 07:25 | ||
lu_zero | the makefile part from what I see just need a PARROT_DIR variable that points at the installed dir more or less | ||
wayland76 no ^^ | |||
wayland76 | Ok, Allison is one of the big Parrot people (big = notable :) | 07:26 | |
When I was doing stuff on Parrot, and no-one else could help me, then we had to bother Allison :) | 07:27 | ||
lu_zero | I see | 07:29 | |
wayland76 | So that's why I trust her patches | 07:31 | |
At least, to a certain extent :) | |||
But any bugs in it are problably mine | 07:34 | ||
Unless they're due to bitrot :) | |||
lu_zero | ^^; | 07:35 | |
wayland76 | The main bit I'm unsure about is the changes to t/harness | 07:36 | |
07:38
amoc joined
|
|||
wayland76 | The patch is basically everything I hacked together 2 months ago, adapted to today's Rakudo, but with no more updates than that | 07:41 | |
lu_zero | the patch looks working | 07:42 | |
let me see how much =) | |||
wayland76 | Also, I forgot some files in the first e-mail (git diff didn't pick them up), so I just sent them | ||
Just stick them in the "build" dir | |||
Are you making an official Gentoo package? | 07:43 | ||
I'm not doing anything official for the RPM, just making something that works | |||
lu_zero | I aim to have an official package | 07:44 | |
hmm | |||
could you please send me the git diff as file? | |||
wayland76 | Done. I presume you mean as an attachment. | 07:46 | |
How does the Gentoo packaging creation setup work? | 07:47 | ||
With RPM, you just make a spec file, and that contains everything | |||
But I know on Debian, they create a whole directory structure with a bunch of different files | |||
07:48
agentzh joined
|
|||
lu_zero | in gentoo you make an ebuild file and that's all more or less | 07:52 | |
wayland76 | Ok. Anyway, we should be able to pool our work on the build system for the most part then | 07:54 | |
You'll notice that a new version of tools/dev/install_files.pl was checked into to Parrot over the weekend | 07:55 | ||
I'm planning to rely on this for doing the actual installation | |||
Basically, we make a manifest like the one that Parrot has, and hopefully the scripts will be able to do most of the rest | 07:56 | ||
lu_zero | hmm | 07:57 | |
the patch broke Configure.pl | |||
wayland76 | In what way? | ||
lu_zero | Global symbol "$short" requires explicit package name at Configure.pl line 76. | ||
and %valid_options being %options now | |||
wayland76 | Ah, I think I know the problem. Let me check | 07:58 | |
Oh, it does it to me too | 07:59 | ||
My build must've broken before I got to there | |||
I'll fix it | |||
lu_zero | ok | ||
I have to run | |||
wayland76 | ok | 08:02 | |
I've sent the fixes | |||
Just problems created by trying to integrate last month's code with this month's :) | |||
lu_zero | btw | 08:04 | |
this is the gentoo tracking bug for parrot bugs.gentoo.org/show_bug.cgi?id=247125 | 08:05 | ||
wayland76 | ok | ||
lu_zero | I appended a rakudo bug that's currently empty ^^ | ||
now I must run ^^ | |||
wayland76 | bye | ||
lu_zero | btw | 08:08 | |
+RAKUDO_DYNEXT = @buildroot@@slash@usr@slash@lib@slash@rakudo@slash@@rakudoversion@@slash@dynext doesn't look right if I understood where it will be used | |||
08:10
masak joined
|
|||
wayland76 | What's wrong with it? | 08:11 | |
08:13
agentzh joined
08:16
padd173_ joined
08:43
agentzh joined
08:51
dakkar joined,
meppl joined
09:08
xinming joined
09:15
SamuraiJack joined
09:19
riffraff joined,
LadyLunacy joined
09:27
agentzh joined
09:32
pmurias joined
09:43
jferrero joined
10:15
DanielC joined
|
|||
DanielC | Hello. What does the dot (.) mean when it comes before a function (such as .print .odd .whatever). What does it do? Thanks. | 10:17 | |
lambdabot | DanielC: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
jnthn | DanielC: It means "call on $_" | 10:18 | |
DanielC | ah | ||
So .print means print $_ | |||
jnthn | Well, $_.print | ||
Though those two are about equivalent. | 10:19 | ||
DanielC | ?? Is print now a method? | ||
lambdabot | Plugin `compose' failed with: Unknown command: "" | ||
jnthn | You can call it as a method, yes. | ||
It's available as a function too. | |||
Seem for .say | |||
erm, | |||
*same | 10:20 | ||
And most other things that were just functions in Perl 5. | |||
DanielC | So with Perl 6 you'll be able to write $myString.print or print $myString ? | ||
jnthn | Right. | ||
DanielC | That's interesting. | ||
jnthn | There's no list of "functions that take $_ by default" any more. | ||
You use the .foo construct instead. | |||
DanielC | Ok. That sounds like a good change (more rationalized). | ||
jnthn | Yes, Perl 6 is very much trying to get rid of lists that you have to memorize. | 10:21 | |
DanielC | So... when do I get to use Perl 6 in production? :-) | ||
jnthn | Hard to say, and depends what your demands are for using something in production (as with anything, there's those that are in a position to early adopt, and those who have stability needs meaning they don't deploy anything too shiny and new.) | 10:23 | |
The Rakudo implementation is coming along pretty well, feature wise. | |||
sjohnson | DanielC: do you mean like, $string.trim; ? | 10:24 | |
DanielC | Ok. When can an early adopter expect to use it? | ||
Is Rakudo going to be the "official" Perl 6? I know it's the one that compiles to the Parrot VM. | |||
jnthn | I guess when they feel comfortable doing so. Personally I wouldn't yet, on the other hand I know people who have written little Perl 6 scripts to do useful bits here and there. | 10:25 | |
wayland76 | An early adopter who doesn't demand feature completeness or many libraries can use it now | ||
jnthn | Right. | ||
There's no "official" Perl 6. | |||
Other than the spec and test suite. | |||
DanielC | ok | ||
wayland76 | The "official" Perl 6 is the Specs, the tests, and the standard grammar (called STD) | 10:26 | |
jnthn | The implementations are all equally official (or unofficial). :-) | ||
wayland76 | There will be multiple implementations | ||
DanielC | Is the language still in flux? Or is the language decided and we just need to wait for the implementations? | ||
wayland76 | The ones that are seeing progress are Rakudo and SMOP | ||
The language changes, but it's mostly when the spec is unclear, it's clarified | |||
But occasionally there's something completely new | 10:27 | ||
DanielC | Ok. That gives me an idea of where things are. | ||
wayland76 | Mostly as a result of arguments about clarity | ||
jnthn | Much of the spec are pretty stable now, but implementations tend to run across bits that need clarification. | ||
Other bits of the spec are still in flux, but not so much things I'd consider "core". | |||
wayland76 | (like threads :) ) | ||
jnthn | Right, the concurrency stuff is still muchly in flux. On the other hand, the spec for the object model is mostly just in clarifications mode. | 10:28 | |
DanielC | wayland76: What is SMOP? I don't know that one. I thought Pugs was the most complete implementation. | 10:29 | |
wayland76 | Btw, I saw someone point out that the problem with the threads-on-events model is that it requires co-operative multithreading, not pre-emptive | ||
SMOP is the C version that's intending to integrate well with Perl 5 | |||
jnthn | DanielC: Rakudo has in many areas caught up with and in others surpassed Pugs now. | 10:30 | |
wayland76 | Rakudo is the Perl 6 on Parrot one, and I suspect it's more feature-complete than Pugs now, since there's no Pugs activity at the moment | ||
10:30
Chillance joined
|
|||
jnthn | Still behind it in some (e.g. lazy lists). | 10:30 | |
DanielC | ok | ||
thanks | |||
If you Google for Perl 6 you hit Pugs. | |||
wayland76 | Parts of Rakudo are being written in Perl 6 now :) | ||
DanielC: Yeah, our Google-foo probably needs some work | 10:31 | ||
But if I write www.rakudo.org/ Perl 6 perl 6 perl 6 in the IRC log, it will probably help :) | |||
DanielC | :-) | ||
wayland76 | Although the Official Perl 6 is really at perlcabal.org/syn/ | 10:32 | |
Rakudo is just the implementation that I personally lean towards | |||
DanielC | I would say that Perl 6 is "production ready" when Rakudo is self-hosting, because Rakudo is far more complex than anything I'll ever write. | ||
wayland76 | Because I've adopted the Parrot dream :) | ||
Carl Masak has written a wiki that runs on Rakudo :) | 10:33 | ||
DanielC | neat | ||
wayland76 | It's called "November" | ||
DanielC notices that Rakudo's website is PHP-based ... | 10:34 | ||
wayland76 | He's using it to develop a suite of modules that we're calling Web.pm | ||
Oh, definitely. We haven't gotten to the CMS stage yet | |||
DanielC | I understand. I like Drupal anyways. Rakudo's website uses Drupal. | 10:35 | |
wayland76 | That's the third project on my list after I have a Rakudo RPM :) | ||
jnthn | Heh, rakudo.org running on a web-app written using Rakudo would be kinda neat. | ||
10:35
agentzh joined
|
|||
wayland76 | jnthn: Why stop there. I want to run perl.org on Rakudo :) | 10:35 | |
(well, I want someone to, anyway :) ) | 10:36 | ||
(just to clarify, I don't run perl.org) | |||
DanielC | I just expected rakudo.org to run on Perl 5. I just thought it was funny that it used a PHP CMS (nothing against PHP, Drupal is a good CMS). | ||
10:37
_Chillance_ joined
|
|||
jnthn | DanielC: We're generally a pragmatic bunch. If the best tool for the job is Drupal, who cares what it's written in. :-) | 10:38 | |
wayland76 | Besides, it's only temporary :) | 10:39 | |
jnthn | Not to mention that some of those working on Rakudo also work more generally on Parrot, and thus are working towards dynamic language interoperability anyway. | ||
DanielC | Yeah. In fact, I use Drupal myself, even though I like Perl better than PHP. | ||
10:40
icwiener joined
|
|||
DanielC | Anyways, now I have a much better idea of where Perl 6 / Rakudo is ("wiki -> yes, CMS -> no"). | 10:41 | |
wayland76 | Probably a fairly basic Wiki compared to MediaWiki, though :) | 10:47 | |
10:52
hcchien_ joined
|
|||
avar | someone make a mediawiki grammar in perl6 :) | 10:54 | |
wayland76 | I don't doubt that it will happen :) | 10:55 | |
I'm hoping we can get a complete collection of grammars for /etc too :) | 10:57 | ||
10:57
hcchien joined
|
|||
avar | even /etc/mail/sendmail.cf ?:) | 10:57 | |
masak | avar: November has a partial MediaWiki grammar. | 11:02 | |
11:02
payload joined
|
|||
wayland76 | avar: Well, there *are* limits :) | 11:02 | |
Then again, if someone sent one in, I'd include it :) | |||
11:08
DemoFreak joined
11:13
hcchien_ joined
11:15
hanekomu_ joined
11:17
clkao joined
11:23
payload joined
11:25
tulcod joined
11:28
hcchien joined
11:34
ruoso joined
11:35
SamuraiJack left
11:41
tulcod joined,
DanielC joined
11:49
Kisu joined
11:51
orafu joined
|
|||
masak | I'm thinking about .reduce and MMD again. It's an interesting issue, because the argument are in a list, not all of which need match for the MMD to be successful. After that, the process is repeated. | 12:01 | |
wayland76 | I'll happily enter the lists to present the argument on MMD's part, and reduce the other argument to nothing :) | 12:03 | |
masak | example: multi foo(Num $a, Num $b) { $a + $b }; multi foo(Num $a, Str $b) { $a + $b.chars }; | ||
wayland76 | (actually, I won't, I just wanted to say that :) sorry ) | ||
masak | and then [1, 2, 3, "grok", 5].reduce(&foo) | ||
12:04
Kisu joined
|
|||
masak | hm, it's an example of reduce and MMD, but not a good example of why it's different from just normal MMD... | 12:04 | |
jnthn | I suspect if anything is going to happen here, reduce will just need to be a bit smarter about how it uses MMD, rather than introducing special casses into MMD itself. | 12:05 | |
12:06
Whiteknight joined
|
|||
masak | jnthn: guess so. | 12:07 | |
jnthn: if one of the candidates has a slurpy param, MMD will be much easier. :) | 12:08 | ||
hm, the reduce-on-URLs that ruoso has been toying with might be a good use case for how one wants reduce/MMD to work... | 12:09 | ||
ruoso | masak, yes... I'm wating anxiously for that ;) | 12:11 | |
regex-based dispatch is cool | |||
but multi-based dispatch is even cooler | |||
wayland76 | How about using a grammar of regexes to recognise them, and MMD to dispatch each one as a separate, event-firing thread! | 12:12 | |
masak | ruoso: what I meant was that maybe such an application needs to be written before we know exactly how reduce/MMD needs to behave. | ||
wayland76 | (sorry, I'm getting carried away here :) ) | ||
masak | wayland76: you're not very much off the mark, actually. | 12:13 | |
ruoso | masak, hmm... I see... | ||
but is there that many options? | |||
masak | ruoso: I don't know. my brane hertz when I think about it. | ||
wayland76 | ...and if you keep going, in Megahertz? | 12:14 | |
jnthn | Mine too, which is why I wonder if we really want this to be something built-in to reduce... | ||
wayland76 | s/in/it/ | ||
pmurias | ruoso: hi | ||
masak | jnthn: we might, if there turns out to be a really simple but amazingly cool way to resolve things. :) | ||
ruoso | hi pmurias | ||
wayland76 | masak: I'd settle for it even if it was mundane :) | 12:15 | |
pmurias | unsigned char foo = 0; | ||
while (1) { | |||
foo++; | |||
printf("%d\n",foo); | |||
sorry | |||
jnthn | masak: Sure. Maybe first step is to write a reduce that does what's needed as something non-core and then propose it to be official. | ||
pmurias | touchpad-- | ||
12:15
finanalyst joined
|
|||
pmurias | ruoso: i'm blocking on the circularity cause by $?BLOCK | 12:17 | |
finanalyst | pmichaud: i worked last night to get a small program to replicate a segfault I was hitting. I sent to rakudobug, but didnt add [BUG] to the start. Ticket has ID of [perl #65956] | ||
12:18
clintongormley joined
|
|||
finanalyst | the script made Parrot run out of memory | 12:18 | |
ruoso | pmurias, that's why we included WEAKREF | ||
pmurias | how will we expose weakrefs to Perl 6? | 12:21 | |
ruoso | a SMOP-specific macro, maybe? | 12:22 | |
pmurias | SMOPWeakRef seems dicouraging enough | 12:23 | |
or SMOP::WeakRef | |||
ruoso | or even | 12:24 | |
SMOP::WEAKREF | |||
pmurias | ruoso: do you think any of the automatic cycle removal algorithms could work for smop? | 12:25 | |
ruoso | pmurias, I'm not that familiar with that kind of solution... is there any of that which works in refcount gc? | 12:26 | |
12:29
ZuLuuuuuu joined
|
|||
pmurias | i found some stuff on google (a few papers and a mention on wikipedia) but i haven't fully groked the algorithms yet | 12:29 | |
www.research.ibm.com/people/d/dfb/p...urrent.pdf | 12:30 | ||
12:40
payload1 joined
12:41
hanekomu joined
12:45
mizioumt joined
|
|||
DanielC | If Perl 6 is a spec rather than an implementation, will there still be point releases? 6.1, 6.2, 6.3, etc? Will you be able to write something like "use 6.2" ? | 12:51 | |
pmurias | DanielC: the spec will be versioned | ||
DanielC | ok | ||
Will you get to write "use 6.2" or similar? | 12:52 | ||
pmurias | ruoso: weak-refs delegate all method calls? | ||
masak | DanielC: 'use v6.2', probably. | ||
DanielC | thanks. | ||
masak | DanielC: have you tried Rakudo yet? | ||
DanielC | I haven't. Until just now I thought it was not very mature. | 12:53 | |
masak | DanielC: it's pretty impressive, I would say. | ||
not done yet, mind you, but there's lots you can do already. | 12:54 | ||
clintongormley | I just wish you guys would hurry up and finish it! (Not in the sense of "you're so slow", but in the sense of "I can't wait!") :) | ||
masak | people are already writing sizeable applications in top of Rakudo. | ||
DanielC | I wouldn't mind using it for my personal scripts. | ||
masak | clintongormley: wait for what, exactly? some specific feature you'd like? | ||
wayland76 | Admittedly, the ROADMAP needs an update :) | ||
masak | wayland76: no, not anymore. :) | 12:55 | |
pmichaud++ | |||
wayland76 | Oh? YAY! | ||
masak | \o/ | ||
DanielC | If I use Rakudo for my personal scripts, it won't matter if it's "production ready" or not. | ||
clintongormley | i've downloaded and tried it out a few times, with varying degrees of success | ||
masak | DanielC: that's the spirit! | ||
clintongormley | actually, the biggest block is not knowing about all the new stuff | ||
wayland76 | Why wasn't that sent to my local newspaper as a world-changing story :) | ||
clintongormley | and not having the time to investigate properly | ||
masak | clintongormley: feel free to ask about anything at all. | ||
clintongormley wishes for more time | |||
wayland76 | ...and the antidote to that block is to hang out here :) | ||
wayland76 suggests polyphasic sleep to clintongormley | 12:56 | ||
clintongormley | masak: thanks for the offer. i read all the p6 posts I can find | ||
wayland76 | clintongormley: Have you seen JDlugosz's stuff? | ||
masak | clintongormley: I've found that the very best way to learn is to have an itch and scratch it with Perl 6. | ||
clintongormley | it's one of those "i don't know what i don't know until i try to do something" | ||
masak | clintongormley: exactly. | ||
start with a small script, and see how far you get. | 12:57 | ||
clintongormley | wayland76: i've seen some of his stuff - i find his writing quite difficult to follow | ||
wayland76 | ...or a small grammar :) | ||
Really? | |||
clintongormley | well, he tends to write long essays about eg the meaning of undef | ||
i think he has a CS background, which I don't, so i tend to get a bit lost | 12:58 | ||
masak | I find JDlugosz hard to follow too sometimes. his texts are quite high-level. | ||
DanielC | masak: You said people are writing sizeable apps with Rakudo. Can you name a couple? I know about a wiki called "November". | ||
wayland76 | I thought he was quite good when he was in tutorial mode. His main problem seems to be that he's writing before he has an up-to-date spec in his mind :) | ||
clintongormley | i haven't seen his tutorials | ||
masak | DanielC: that's one. I wrote a 3D board game called Druid. and there's a project installer called Proto. :) | ||
DanielC | That sounds impressive. | 12:59 | |
clintongormley | i've tried to get involved with dev a couple of times, but there is so much you need to know before being useful, that my efforts have been failures | ||
masak | DanielC: then there's the Pod parser by mberends, and the Form port by Matt-W. | ||
clintongormley | ENOTENOUGHTIME | ||
masak | DanielC: yes, try my board game! I'd like some feedback on it. | ||
DanielC: you can download it using proto. :) | |||
DanielC | masak: Sure, I enjoy games. Where can I find it? | ||
masak | clintongormley: we all have little time here. | ||
wayland76 | clintongormley: Did you see the one on "Meditations on a loop"? | ||
clintongormley | wayland76: no - link? | 13:00 | |
masak | DanielC: github.com/masak/druid/ | ||
DanielC | *click* | ||
wayland76 | clintongormley: Well, it's wrong, so I hesitate to provide a link. But the link is www.dlugosz.com/Perl6/web/med-loop.html | ||
When I say "Wrong", I mean that bits of the syntax were wrong when I read it. He may've updated it now | 13:01 | ||
masak: Do you remember whether he has? | |||
masak | wayland76: no idea. | ||
13:01
abra joined
|
|||
clintongormley | gaaah - i look at that and my eyes glaze over | 13:01 | |
wayland76 | Ok | ||
I guess to me it reads like a Tom Christiansen FMTEYEWTK, and I like those | 13:02 | ||
masak | clintongormley: that's not the desired effect. maybe start at the other end? :) | ||
clintongormley | masak: at the bottom? | ||
masak | (I mean, by writing code instead of trying to read it) | ||
clintongormley | ah yes :) exactly | ||
wayland76 | clintongormley: Keep in mind, though, I've been doing Perl 5 for ... Wow, approaching 15 years (well, maybe 14 or so) | 13:03 | |
clintongormley | wayland76: me for 12 | ||
i'm in design mode at the moment, which makes me scurry off to find snippets of things to read to avoid actually designing. but there is this elemental contention between work and work-avoidance, so long tutorials lose | |||
wayland76 | oh, ok. | ||
clintongormley | the last time i had actual free time to play on new stuff was between christmas and new year | 13:04 | |
</sigh> | |||
wayland76 | :) | ||
Just out of interest, what did you think of Tom C's FMTEYEWTK documents? | 13:05 | ||
clintongormley | wayland76: the last time i looked at them was probably 12 years ago, when they were way over my head. | 13:06 | |
wayland76 | Oh, ok. The thing I liked about them was that they would take an example of a short but complex piece of code, and explain it *completely* | 13:07 | |
Maybe 5 lines or so | |||
clintongormley | i should take another look | ||
my perlfoo is reasonable (excluding anything to do with C) | |||
wayland76 | I'll link you the one that I liked | ||
www.perl.com/doc/FMTEYEWTK/sort.html | 13:09 | ||
clintongormley | that looks good | 13:10 | |
wayland76 | It may be moderately basic for you now, but I thought it was good. | ||
(well, the pieces may be basic; I suspect the algorithm is clever :) ) | 13:12 | ||
clintongormley | yes - pretty much a schwartzian transform | ||
but nicely written | |||
13:12
mizioumt joined
|
|||
masak | did you know that Perl 6 has the Schwartzian transform built-in? | 13:12 | |
clintongormley | yes i've seen that | 13:13 | |
wayland76 | Well, it was written by Randal Schwartz, what do you expect :) | ||
clintongormley | :) | ||
wayland76 | (ie. the code in the FMTEYEWTK was written by Randal, with Tom explaining) | 13:14 | |
clintongormley | yes | ||
one question (and i don't that Perl6 doesn't have builtin keywords), but from my frequent glances at p6, it looks like there is an explosion of keywords | |||
wayland76 | Ok, so you like the FMTEYEWTK, but not JDlugosz's stuff | ||
It has builtin keywords, but not functions | |||
Well, and some built-in types | |||
clintongormley | ah right, ok - but the question remains | ||
what i'm wondering is if we're going to need a PHP style index, to make head or tail of it | 13:15 | ||
(this coming from a by-stander, rather than somebody immersed in p6) | |||
wayland76 | Well, something like that, and a good point | ||
masak | moritz_: I see you license under a cc license. do you think it's risk-free, if I want to borrow parts of your p5-to-p6 tutorial, to copy-and-adapt things into u4x, which is licensed under Artistic 2.0? | ||
wayland76 | S32 heads in that direction. masak, will your u4x project cover that? | 13:16 | |
clintongormley | i suppose a lot of them are convenience methods, which obviate writing the same thing from scratch (as we'd have to do in p5 now) | ||
so as soon as you discover them, you stop doing it manually | |||
wayland76 | ( clintongormley: u4x = userdocs for Christmas = user-friendly documentation) | ||
pmurias | masak: do you think moritz_ would sue you? | ||
clintongormley | wayland76: yes - i saw that mentioned previously. last time i looked i didn't see any docs (but it was a while ago) | ||
wayland76 | clintongormley: There's some of that. .say and .slurp for example | 13:17 | |
clintongormley | yes | ||
masak | pmurias: no. and I do think he's ok with it. | ||
pmurias: I'm mostly interested about the interactions between cc and Artistic in the abstract. | |||
afk & | 13:18 | ||
clintongormley | although, most of the new keywords seem to either be pretty obvious, or easy to remember once explained | ||
it's probably the punctuation that is going to hurt my head initially :) | 13:19 | ||
wayland76: here's an example of why i'm not crazy about JDuglosz's stuff: | 13:20 | ||
The result of the expression now looks like this: ⋖ ⋖ ⋖ ⋖ ⋖ Nil ⋗ ⋗, ⋖ ⋖ 2 ⋗ ⋗, ⋖ ⋖ 3 ⋗ ⋗, ⋖ ⋖ Nil ⋗ ⋗, ⋖ ⋖ 5 ⋗ ⋗, ⋖ ⋖ Nil ⋗ ⋗, ⋖ ⋖ 7 ⋗ ⋗, … ⋗ ⋗ ⋗ with the 93 iterations not shown in the ellipses. | |||
wayland76 | Those all show up here as a box with an X in it :) | 13:25 | |
clintongormley | ah :) | ||
i'm going to give him some feedback - don't like talking about the guy behind his back! | |||
wayland76 | Oh, yes, I see them when I look at the document | 13:26 | |
Well, I expect he backlogs :). But I could be wrong | |||
clintongormley | i think it's just a matter of style really | ||
wayland76 | I've already sent him some feedback | ||
clintongormley | i'll msg him | ||
wayland76 | Then again, I've just spent a week looking at Unicode parentheses, so it's no problem for me :) | ||
clintongormley | heh | 13:27 | |
wayland76 | Get used to unicode, though :) It's going to be a part of life in Perl 6 | ||
www.fileformat.info/info/unicode/ca.../index.htm | 13:28 | ||
clintongormley | oh sure - i'm happy with that | ||
wayland76 | Click on a category. Then choose "list". It has all the characters there | ||
clintongormley | but that same info could have been presented with nesting, and have been more readable | ||
wayland76 | There are 4 special categories for parentheses | ||
I agree it could've been improved :) | 13:29 | ||
Incidentally, if you have autocomplete in your IRC client, you can spell JDlugosz's name correctly by typing "JD" and pressing tab :) | 13:31 | ||
I find it makes it easier for me :) | |||
clintongormley | Waaaay! I'm using pidgin - i had no idea it could do that! | 13:32 | |
DanielC | Woot! Rakudo comes with an interactive shell. I've always wanted that for Perl. | ||
I always use Python as a calculator because Perl 5 isn't an interactive shell. | |||
clintongormley | perl -de 5 | ||
perl -e print 5 + 10 | 13:33 | ||
perl -e 'print 5 + 10' :) | |||
DanielC | clingtongormley: I usually want to do a lot more than just one calculation. | ||
wayland76 | I use bash as my calculator | ||
$(( 5 + 10 )) | |||
DanielC | I appreciate having a real shell where I can create functions, variables, etc. | ||
wayland76 | echo $(( 5 + 10 )) | 13:34 | |
But it only does integer division :( | |||
DanielC | so a real interactive shell is much better than perl -e 'print 5+4' or $(( 4 + 3 )). | 13:35 | |
clintongormley | DanielC: why not just put perl into debugger mode: perl -de 5 | 13:36 | |
DanielC | My only annoyance with the Rakudo shell is that it doesn't display the result of each calculation. | ||
clintongormley | i live in the debugger | ||
DanielC | clintongormley: I didn't know about that option. | ||
clintongormley | perl -de 5 | 13:37 | |
> x $a = 5 + 10 | |||
> x $a ^ 2 | |||
lambdabot | <no location info>: parse error on input `=' | ||
Couldn't match expected type `a -> b' | |||
finanalyst | what is the syntax to make rakudo emit the pbc for a program? | ||
clintongormley | heh :) | ||
DanielC | With Rakudo you have to say 'say'. | ||
clintongormley | with the perl debugger, you just use 'x' | ||
DanielC | What does x do? | ||
clintongormley | which acts like a dumper | ||
it's similar to : print Data::Dumper::Dumper(....) | 13:38 | ||
in the p5 debugger, just type 'h' for help | |||
13:38
araujo joined
|
|||
clintongormley | there will be lots of options that you won't need initially, but just ignore those until you do need them | 13:38 | |
DanielC | I just played with it a little. It feels a bit like a hack. I think I'd still use python for that (even though I don't actually like python). | ||
What annoys me about python is that if you do "3 / 2" it does integer division, which is almost never what I want. | 13:39 | ||
clintongormley notes that the p5 debugger DWIM ;) | 13:40 | ||
DanielC | :-) | ||
I think it would be groovy if the Rakudo shell had a flag or something to make Perl output the return value of each statement (just add an implicit 'say' before every line). | 13:42 | ||
wayland76 | I think it would be groovy if it output the flag of a random country as ASCII art :) | 13:44 | |
clintongormley | that'd be cool until the return value is a large object, which results in a 4,000 line dump | ||
wayland76 | Better idea, though; a repl container function :) | ||
lu_zero | ^^; | ||
DanielC | clintongormley: Somehow that has never been a problem for me, and I have been using the Python shell for at least a decade. | 13:45 | |
clintongormley | maybe it returns the equivalent of MyClass=HASH(0x7c1838) | 13:46 | |
DanielC | Maybe. | ||
clintongormley | depends what you use it for, i suppose | ||
DanielC | I would consider MyClass=HASH(0x7c1838) to be a sensible output for the shell, as long as it still does the right thing for simple numbers and arrays. | 13:47 | |
I would not expect a shell to print out the contents of a hash. | |||
(without an explicit command to do so) | 13:48 | ||
clintongormley | sure | ||
13:48
FurnaceBoy joined
|
|||
clintongormley | i was being facetious :) | 13:48 | |
DanielC | Any Rakudo developers here? Where do I submit a feature request? | ||
pmurias | the shell should propably print out .perl of the value | 13:50 | |
DanielC | What is .perl? | 13:51 | |
pmurias | perl6: say [1,2,3].perl | 13:52 | |
p6eval | elf 26929: OUTPUT«[1,2,3]» | ||
..rakudo 23718a: OUTPUT«[1, 2, 3]» | |||
..pugs: OUTPUT«\(1, 2, 3)» | |||
13:52
FurnaceBoy left
|
|||
DanielC | I just experimented a little. I like the output of .perl, it looks sensible for a shell. | 13:54 | |
13:54
skids joined
|
|||
DanielC | Hmm... It looks like you can't define variables in the Rakudo shell. | 13:54 | |
$foo = 1 gives "Symbol '$foo' not predeclared in <anonymous> in Main ..." | 13:55 | ||
clintongormley | my $foo ? | 13:56 | |
DanielC | That works. | ||
Is there a reason why the my is mandatory in the shell? | |||
13:57
finanalyst1 joined
|
|||
pmurias | use strict is default in Perl6 | 13:58 | |
13:58
PacoLinux joined
|
|||
DanielC | pmurias: Really? I thought it wasn't going to be. | 13:58 | |
e.g. for one-line programs, use strict seems wrong. | 13:59 | ||
But I assume that the Perl6 guys know what they are doing. | |||
jnthn | DanielC: my should be optional in -e "..." | 14:00 | |
(Though isn't yet.) | |||
In the REPL, not so sure what's right there... | 14:01 | ||
DanielC | ok | ||
That sounds fine then. So in a real program 'use strict' is on by default but in "perl -e" it is off by default. | |||
masak | DanielC: I think I agree that the return value should be printed by default in the REPL. | 14:04 | |
DanielC: but have you discovered the largest deficiency yet with the current Rakudo REPL? | |||
DanielC | REPL == shell? | ||
masak | DanielC: yes. | 14:05 | |
DanielC | No, I haven't. What's the largest deficiency? | ||
masak | DanielC: Read, Eval, Print, Loop :) | ||
DanielC | ah | ||
jnthn | masak: Is that the deficiency? ;-) | ||
masak | DanielC: the deficiency is that variables don't survive. | ||
jnthn | masak wants a REPRL | ||
masak | from one evaluation to the next. | 14:06 | |
jnthn | Read, Eval, Print, Remember, Loop | ||
DanielC | Man... you are right. | ||
say $foo => gives an error. | |||
masak | DanielC: cf this post. use.perl.org/~masak/journal/38279 | ||
DanielC | Even though the previous line clearly said 'my $foo = 1' | ||
*click* | 14:07 | ||
jnthn | DanielC: It's exactly the same semantics as if you eval'd each line (at the moment). | 14:08 | |
If you eval('my $foo = 42') you wouldn't expect $foo to exist after that eval. | |||
masak | that's the reason, but it still sucks. | ||
DanielC | And that's probably how it works internally. | ||
jnthn | I agree it's not the most helpful behavior in the REPL though. | ||
Yes, that's almost exaclty how it wroks internally. :-) | |||
DanielC | I once wrote my own Perl shell that did exactly that: while(1) { print eval (<STDIN>) }. I stopped using it after a few hours. | 14:09 | |
masak | I'd argue that the keep-variables behaviour would be good not only for Rakudo, but for all PCT languages. | ||
jnthn | masak: And conveniently enough, the places we really need to solve this are probably outside of Rakudo. :-) | 14:12 | |
And in PCT. | |||
DanielC | What is PCT? | ||
masak | DanielC: it's the toolkit for creating new compilers, i.e. new languages under Rakudo. | ||
DanielC | ok | 14:13 | |
masak | s/Rakudo/Parrot/, sorry. :) | ||
DanielC | ok | ||
PCT = Parrot Compiler Toolkit? | |||
jnthn | DanielC: Yes | 14:15 | |
Too many TLAs! | |||
DanielC | heh | ||
jnthn | OK, time for me to hack on Rakudo some. :-) | 14:17 | |
clintongormley cheers : GO JNTHN GO! | |||
masak | oh, is today a Rakudo day? | 14:18 | |
jnthn | masak: No, but I haz a grant. ;-) | ||
DanielC | Paul Graham opines one of the things that makes a language successful is the ability to make quick throw-away programs with it. Maybe we can extrapolate from that that "perl -e" and an interactive shell are important. | 14:19 | |
masak | jnthn: \o/ | ||
DanielC | I can tell you that those are some of my favourite features of Perl and Python (resp). Most of my Perl programs are "perl -e". I don't know if I'm alone in that. | ||
masak | DanielC: using the up and down arrows, tab completion, interactive help... | 14:20 | |
all those would make throw-away programming easier. | |||
DanielC nods | 14:21 | ||
jnthn already did a bit of his grant and should blog about it. | 14:22 | ||
DanielC | Why is it so hard to make an interactive shell for Perl? Is it something I would understand or is it very complicated? | ||
jnthn | The persisting lexicals issue is a tad tricky. | 14:23 | |
masak | DanielC: no, it's simple. the community as a whole doesn't seem very interested in creating tools that are externally impressive. | ||
jnthn | But solvable. | ||
clintongormley | jnthn: why would lexicals need to persist? as opposed to just turning off strict and using globals? | ||
jnthn | That's the only hard technical blocker I'm aware of. | ||
masak | they can be technologically impressive on the inside. but they seldom have the glitz that Ruby and Python manages to add to their REPLs and other apps. | ||
clintongormley: that wouldn't always be what one wants. | 14:24 | ||
jnthn | clintongormley: 'cus people will still type my $x = 42; <nl> say "omg the answer is $x" | ||
And expect it to work. | |||
clintongormley | ok | ||
jnthn | So it's probably best that we make it work. :-) | 14:25 | |
clintongormley | well, you don't seem to have much else on your plate ;) | ||
clintongormley waits | 14:26 | ||
is it done yet? | |||
masak & jnthn? you both going to YAPC::EU this year? | |||
jnthn | clintongormley: :-P | 14:27 | |
clintongormley: I'm going to YAPC::EU, yes. Speaking even. :-) | |||
clintongormley | i wouldn't expect any less :) | ||
we've passed each other in previous YAPCs | |||
but i don't think we've spoken | |||
i'll introduce myself this time round | 14:28 | ||
DanielC | Dang. I'll be away on 3-5 August so I can't go to the conference. | ||
DanielC makes a mental note to look up more Perl conferences in Europe. | |||
clintongormley | where are you DanielC? | ||
DanielC | Germany. | ||
On the side close to France. | 14:29 | ||
clintongormley | i'm in spain, on the side close to france :) | ||
barcelona | |||
jnthn | I'm in Slovakia, on the side close(st) to France. ;-) | ||
clintongormley | heh | ||
you in bratislava? | |||
jnthn | Aye. | 14:30 | |
clintongormley | is the IP still going? | ||
jnthn | IP? | ||
.oO( my IP address is still fine... ) |
|||
clintongormley | Irish Pub | ||
jnthn | Oh, in Stare Mesto? I think so... | ||
clintongormley | which was about the only restaurant worth going to about 12 years ago | 14:31 | |
jnthn | I believe there is one centrally anyways. | ||
clintongormley | (according to the friends i was visiting) | ||
jnthn | I don't tend to go out in the center so much... | ||
clintongormley | i bet it's changed a lot since then | ||
like prague has | |||
ok laters all - must crack on | 14:32 | ||
jnthn | Most probably, but no idea. First time I came here was only a couple of years back. | ||
Well, yes, I have an idea from what I've been told, but not from personal experience. :-) | |||
jnthn was still doing high school 12 years ago. | 14:33 | ||
OK, time to re-arrange Object.pir some and hopefully not break excessively much. | |||
DanielC | masak: In your post you write about Ruby's ri... What does ri / u4x have that perldoc doesn't have? | ||
I have always thought highly of perldoc. | 14:34 | ||
masak | DanielC: me too. perldoc does a lot of things right. | 14:35 | |
DanielC: here's what I imagine. svn.pugscode.org/pugs/docs/u4x/README | |||
DanielC | *click* | ||
masak: So you'll be able to run "grok map" to learn how the map function works instead of going to "perldoc perlfunc" ? | 14:37 | ||
masak | DanielC: correct. | ||
clintongormley | what about adding a "Perl6 Concepts" page, to navigate your way through roles, adverbs, sigils, slang etc | ||
masak | clintongormley: there will likely be tutorials, perhaps connected through something like that. | 14:38 | |
clintongormley | cool | ||
DanielC | I think I like where you are going with this "grok" program. | ||
masak | see svn.pugscode.org/pugs/docs/u4x/TODO for what we currently think we'll document. | ||
DanielC: glad to hear it. | |||
DanielC: literal is tasked to write it as a GSoC project this summer. | 14:39 | ||
erm, I mean literal++. | |||
DanielC | cool | ||
I remember that one of the things I loved about Perl when I began learning it was perldoc. | |||
masak | yes. this will be like that, only more so. :) | 14:40 | |
clintongormley | btw, DanielC do you know about the form: "perldoc -f map" | ||
DanielC | I liked that perldoc had both great tutorials and great reference (and not just one or the other). | ||
masak | DanielC: indeed. | ||
DanielC | clintongormley: No, I didn't know that. Thanks. | ||
masak: Will grok also support the documentation for all the CPAN modules the way perldoc does? | 14:43 | ||
masak | DanielC: I don't know. I don't have 20/20 vision forwards. | 14:44 | |
DanielC | Ok. | ||
masak | but it sounds desirable. | 14:45 | |
I'm presently thinking about how best to store the documentation tied to Perl 6 itself (core subs, classes, operators) in such a way that the 'grok' program can easily access it. | 14:46 | ||
DanielC | What's wrong with the current man page format? | ||
masak | that's a different question, but I think we can do better than that. | 14:47 | |
I liked the color-coded version of the ri output, for example. | |||
at least as an option. | |||
HTML should be another option. | |||
DanielC | My ri is not in colour... | ||
masak | DanielC: no, not by default. | ||
see _why's tutorial linked from my blog post. | 14:48 | ||
DanielC | ok | ||
masak | we'll probably want to put u4x docs on the web as early as possible, autogenerated just like the specs. | ||
DanielC | I don't think u4x is a very memorable name (neither is ri). I think "perldoc" and "grok" are much better names. | 14:49 | |
masak | me too. | 14:50 | |
u4x is a throwaway name. | |||
14:50
payload joined
|
|||
masak | it's just the name of the effort to write the documentation for grok. | 14:50 | |
and perhaps to write grok itself. | |||
I chose it because I think that the thought of Christmas is a decent way to motivate people to think about documentation. | 14:51 | ||
people realize that if Christmas ever comes, we'll need to be ready, I think. | |||
DanielC | ok | ||
masak | it would be quite embarassing to have all other aspects of Perl 6 ready, but to have no or very poor documentation. | 14:52 | |
DanielC | Indeed. | ||
masak | like it or not, people go a lot by first impressions. | ||
DanielC | Especially since documentation has "always" been one of the selling points of Perl. | ||
masak | indeed. | ||
it's one of the things we have to rebuild from scratch, and that naturally takes time. | 14:53 | ||
DanielC | Perl6 will still use POD, so at least that won't change. | ||
masak | DanielC: sure, but there's also Pod, a new version written for Perl 6. | 14:54 | |
I expect that the u4x documentation will be written in Pod. | 15:00 | ||
DanielC | The new pod is almost the same as the old pod, isn't it? | 15:01 | |
masak | no, I wouldn't say that. | ||
DanielC | ok | 15:02 | |
masak | it has a great number of similarities, but just as the rest of Perl 6, it's a cleaned-up version with lots of cruft removed and lots of neat ideas put in. | ||
DanielC | Is there a guide to the new pod somewhere? | ||
masak | and just as the rest of Perl 6, it hadn't really congealed yet. TheDamian is allegedly working on a new draft. | ||
DanielC: there's S26. and the CPAN module Perl6::Pod. | 15:03 | ||
DanielC: and lots of email discussion scattered on p6l around 2006. | |||
DanielC finds S26 and starts reading | 15:04 | ||
15:11
iblechbot joined
15:19
sri_kraih joined
|
|||
ruoso | pmurias, weak-refs do delegate all the calls | 15:20 | |
15:23
icwiener joined
15:32
Gothmog_ joined
15:33
Gothmog_ joined
15:36
ejs joined
15:46
abra joined
15:47
orafu joined
15:49
simcop2387 joined
|
|||
literal | DanielC: masak probably meant to say Perl6::Perldoc, not Perl6::Pod | 15:49 | |
masak | oh, right. aye. | 15:51 | |
it currently resides in the perl6-examples repository on github. | 15:52 | ||
jnthn | *sigh* | ||
So I think I've got a refactor about right...apart from it fails one spectest. A really bizzare one to fail too. :-| | 15:53 | ||
literal | masak: no, Pod::Parser is in perl6-examples :) | ||
Perl6::Perldoc is the Perl 5 module on CPAN | |||
masak | yes. my brain isn't 100% today. | ||
arranging Esperanto Youth meetings tends to sap one's powers a bit, at least mine. :) | 15:54 | ||
jnthn | rakudo: role C { }; class HasC { has C $.x is rw; }; HasC.new.x = 42; say "alive" | ||
p6eval | rakudo 23718a: OUTPUT«Type mismatch in assignment; expected something matching type but got something of type Int()in Main (/tmp/n7Ah6FMEon:1)» | ||
masak | and I'm sneezing a bit to often, which makes me suspect that I'm on my way to getting a cold if I don't watch out... | ||
rakudo++ | 15:55 | ||
jnthn | masak: Yeah, bizzarely it fails to fail after the refactor I did. But nothing else anywhere else fails. :-| | ||
It's like...why *that* test... | |||
masak | :) | 15:56 | |
it's today's puzzle. | |||
jnthn | I guess I shouldn't complain. It was a fairly major-ish change that I did, so to only hit this issue is kinda not so bad. | 15:57 | |
oh hmmm, I think I know what's up with it. | 15:59 | ||
masak | even better than today's puzzle is _solving_ today's puzzle. :) | 16:02 | |
jnthn | rakudo: class A { has Int $.x is rw; }; my $y = A.new; $y.x = "oh noes"; | ||
p6eval | rakudo 23718a: OUTPUT«Type mismatch in assignment; expected something matching type Int but got something of type Str()in Main (/tmp/edV7WWyPnS:1)» | ||
jnthn | gah | ||
OK, so our spectests are missing a test or ten. | 16:03 | ||
masak | o_O | ||
masak submits rakudobug | |||
jnthn | masak: Erm | ||
The above output is correct. | |||
masak | oh, right. | ||
I misread. | |||
jnthn | masak: The point is we don't have a test for that. | ||
masak | thought things went wrong at construction. | ||
man, I'm really not working at full speed today. :/ | 16:04 | ||
jnthn | So it turns out actually I didn't break just attributes typed with roles (which woulda been SO weird) but just typed scalar attributes in general. | ||
Which makes complete sense. | |||
masak | ah. | ||
jnthn | I was just pretty sure I'd fail other tests, that's all. | ||
masak | & # going swimming | 16:05 | |
literal | < DanielC> masak: So you'll be able to run "grok map" to learn how the map function works instead of going to "perldoc perlfunc" ? | ||
DanielC: you can already do "perldoc -f map" :) | |||
oh, it seems someone already told you about it | 16:07 | ||
JDlugosz | Howdy y'all. | 16:08 | |
I just got to the stuff about me in the backlog... | 16:09 | ||
If "meditations on a loop" isn't correct now, let me know. It's been updated based on the initial readings' feedback. | |||
I'm also marking the status within the document, though in this case it was at the bottom. | 16:10 | ||
For those interested, my current attempts at writing something have run into issues, but that's how I find such issues in my knowledge (as well as in the spec), by organizing it and writing about it. Writing is a great way to learn. | 16:12 | ||
In the 90's I wrote a lot for magazines. | |||
literal | does the guy who created the Period Table of Perl 6 Operators hang out here? | ||
JDlugosz | Yes, I have a degree in Computer Science. | ||
literal | Periodic | ||
clintongormley | JDlugosz: hiya John i sent you a number of messages - not sure if you got them | 16:13 | |
JDlugosz | What (where) is "FMTEYEWTK"? | ||
clintongormley | www.perl.com/doc/FMTEYEWTK/index.html | ||
JDlugosz | Messages: I'll try now. But lambdabot's didn't mentionanything when I came back. | ||
clintongormley | JDlugosz: no sorry - i meant direct IRC, as opposed to in #perl6 | 16:14 | |
JDlugosz | I'm up to 13:12 UTC in the backlog. | ||
clintongormley | ok - i suppose it depends on your IRC client :) | 16:15 | |
JDlugosz | "⋖ ⋖ ⋖ ⋖ ⋖ Nil" ... well, I'm trying to show what goes on underneith. Using parens would conflict with the meaning I'm explaining of how parens wrap things up in a Capture. | 16:16 | |
16:16
iblechbot joined
|
|||
clintongormley | i was thinking more about nesting, there | 16:16 | |
sorry - vertical whitespace | |||
dalek | kudo: 3eb18eb | jnthn++ | src/classes/Object.pir: Refactor class creation somewhat. We now have a kind of proto-instance (which ain't - yet anyway - the proto-object) that we set up once with all of the containers, and then we clone it. This is a step on the road to being able to do traits on attributes right and also to allowing custom BUILDs. We temporarily regress on 1 spectest (not 1 file, just 1 test). |
16:17 | |
JDlugosz | How might I describe it other than nesting, since the layers of wrappers is what I'm pointing out? | ||
clintongormley | < | 16:18 | |
< | |||
< | |||
JDlugosz | vertical whitespace? You mean make it on multiple lines? OK. | ||
Never wrote in LISP, I take it? | |||
clintongormley | heh - no :) | ||
JDlugosz | I don't see any "messages to me". | 16:20 | |
In the backlog on the web site, that is. My client reset at some point so nothing before 10:39 UTC. | 16:21 | ||
pugs_svn | r26930 | hinrik++ | Add some links to other Perl 6 docs | 16:22 | |
clintongormley | JDlugosz: here's what i wrote: | 16:23 | |
I have 12 years experience with p5, but don't have a CS background, and I find your tutorials quite hard to read. I have to really sit and study them. | |||
the result is, I either skim, or get bored and leave - either way not doing your content justice | |||
i would suggest: | |||
- smaller blocks of text | |||
- single concepts, rather than trying to explain too much in one place | |||
- better layout, eg show nested data structures with line breaks, rather than on a single line | |||
- trim the words to what is necessary, eg "Wow, the built in Int class has a .prime method! Well, no, it doesn’t. Once upon a time methods that were not found would fail-over to ordinary sub calls. That has been removed and this example was not updated. Perl 6 is a moving target!" | |||
I appreciate the effort you're putting into it, which is why i'm giving you my feedback - I'd like to use your docs in the future :) Hope I haven't caused any offence | |||
Since I wrote that, I've thought more about your tutorials, and maybe they're aimed at somebody who knows more about p6 than I do currently (ie very little) | 16:24 | ||
in which case, the level may be appropriate | 16:25 | ||
JDlugosz | Thanks, noted. | 16:27 | |
skids | JDlugosz: just wanted to make sure you knew about this: www.perlfoundation.org/perl6/index.cgi?WITCH | 16:28 | |
JDlugosz | skids: what about it? | 16:29 | |
skids | Just that it exists | 16:30 | |
In case it's foldable somehow into what your doing | |||
JDlugosz | OK, I bookmarked it. | ||
And I'll keep it in mind if I write about one of those. | |||
16:31
DemoFreak joined
|
|||
skids | It's not necessarily aimed at linking just to the spec -- it only started that way because I layed out the initial stuff onmy first read through the synopsis. | 16:32 | |
So it could link into u4x pages as well. | |||
Does u4x have a stable web location yet, or will it be prone to move around for a bit? | 16:34 | ||
16:35
eMaX joined
|
|||
literal | I'm not sure | 16:36 | |
will be in pugs svn for now | |||
JDlugosz | Why not start a github for something new? | ||
literal | it might end up there, I think we first have to figure out the layout of the docs and such | 16:37 | |
skids | .oO(If roads moved as much as websites...) |
16:38 | |
16:42
nsh joined
16:45
Psyche^ joined
|
|||
DanielC | Doesn't ~~ man something special in Perl 6? But ~~ is already used by the i18n module (search.cpan.org/~audreyt/i18n-0.10/lib/i18n.pm) | 16:54 | |
s/man/mean/ | |||
skids | ~~ is smart match in Perl6. | 16:57 | |
(and in perl 5.10 I am told) | |||
DanielC | So there is a conflict with i18n... What is a smart match? | 16:58 | |
literal | I think they intentinally left ~~ unused so they could use it later, and i18n was written before 5.10 :P | 16:59 | |
skids | perlbuzz.com/2007/12/perl-510-now-available.html (5.10 version) | ||
were il8n to be Perl6-ified likely it would use a cusom defined set of flags to Q. | 17:02 | ||
jnthn | rakudo: class A { has Int $.x is rw }; my $x = A.new; $x.x = "dies" | 17:09 | |
p6eval | rakudo 3eb18e: ( no output ) | ||
jnthn | (dies now locally) | 17:11 | |
skids | jnthn: I was looking into making (...) xx * work (to the limit that Ranges currently work) but wonder where would .Iterator get jammed ... that is what's the internal class of an in-progress list operation lke that? | 17:13 | |
I'm guessing we would not want one class per kind of list operation, nor a per-instance anonymous role... | 17:14 | ||
jnthn | As far as I know, Iterator is a role and we'd hand back something that does Iterator. | 17:17 | |
Which may be the thingy itself. | |||
I'm not quite sure how it'll play out for List and Array. | |||
skids | Well, externally it will just look like a list, but we need some hook to hanf the state and the logic that actually performs the iteration on. | 17:18 | |
s/hanf/hang/ | |||
e.g. right now, 1..* hangs RangIterator in Range. | 17:19 | ||
But I'm guessing we don't want ReplicationIterator, ZIPiterator, etc, etc. | |||
jnthn | Well, I think it returns a RangeIterator when you ask for .iterator on a range. | ||
17:20
LadyLuna1y joined
|
|||
jnthn | No, we don't, but since I believe all of those would - like map and grep - be buildable on the gather/take primitive... | 17:20 | |
17:20
fridim_ joined
|
|||
skids | Yeah, in that case they are just subs... | 17:21 | |
jnthn | Then I expect it will all fall out of making gather/take lazy. | ||
skids was kind of thinking to be able to do something in the interim. | |||
So maybe I should just make an internal Any class that we hope will vanish later. | 17:22 | ||
erm subclass. | |||
jnthn | Perhaps, yeah. I kinda fear any workaround is going to get messy though. | 17:23 | |
17:23
nbrown_ joined
|
|||
skids | Well, just follow Range's example :-) | 17:23 | |
Excep hide it away. | 17:24 | ||
jnthn | Yeah but even Range isn't very lazy. | ||
Not when you stick it into a for loop anyway. | |||
skids | Ah, I guess not. I thought I remembered 1..* working more than it does. | 17:26 | |
jnthn | I appreciate that you want the laziness, but my own experience of trying to get us in that direction is that it's just going to be even more work that trying to do laziness proper. I suspect that more productive in the long run, if you want to work on this area, is looking at re-writing the operators that need to be lazy in terms of gather/take. | 17:27 | |
(also note pmichaud has thought this stuff through more than me...) | 17:28 | ||
It's possible to write operators in the setting now. | |||
So looking at moving a couple to work in terms of gather/take that will need to is probably a quite interesting thing to try. | 17:29 | ||
skids | I already have zip/roundrobin eritten in those terms (pending slices) | ||
jnthn | ah, cool | ||
skids | (Even have a workaround using PIR to get around binding array elements so it lvalues properly) | 17:30 | |
It does feel a bit wrong though knowing any callbacks with takes that users are expecting to go to an outer gather in them are going to blow up. | 17:33 | ||
moritz_ | @tell masak Artistic 2.0 is fine | 17:37 | |
lambdabot | Consider it noted. | ||
finanalyst1 | moritz_: hi. i was looking at your blog on making an executable | 17:38 | |
moritz_ | somebody looks at my blog ;-) | 17:39 | |
finanalyst1: I have to run now, but I'll backlog, if you have any questions | |||
finanalyst1 | is it possible to get part way there? eg. is it possible to have perl6 emit pbc, which can then be used with parrot? | 17:40 | |
moritz_ | yes | ||
finanalyst1 | i read your blog at least once a week | ||
moritz_ | if the rakudo runtime is available | ||
dinner & | |||
finanalyst1 | bon appetite | ||
i need to go eat too | |||
dalek | kudo: b0e33e2 | jnthn++ | (4 files): Add a stub p6opaque, and start making objects we create use that instead of Object as their repr. Fill out its clone vtable method enough to un-regress the test my last commit had us fail. This also lays the foundations for starting dispatch refactor. |
17:48 | |
18:03
DanielC joined
|
|||
skids ponders slice laziness. | 18:05 | ||
Essentially, can a function return two or more infinite lists as captures. | |||
And at the same time support these "flatten in list" behaviors. | 18:06 | ||
When there's no want-like construct... | |||
I suppose just return <some lazy object> for each slice. | 18:12 | ||
Or rather ( <some lazy object> ) I guess. | 18:15 | ||
18:15
sjohnson1 joined
18:17
justatheory joined
18:18
mizioumt joined
18:34
sjohnson1 joined
18:39
rjbs joined
|
|||
rjbs | Camelia. Cute! | 18:40 | |
Hm. Is S26 (perlcabal.org/syn/S26.html) still the latest, more or less? | |||
18:42
r0bby_ joined
18:44
sjohnson2 joined,
r0bby joined
|
|||
skids | rakudo: y sub a { return gather for 1..3 { take ( gather {take 1; take 2; take 3;} ) } }; a().perl.say | 18:52 | |
p6eval | rakudo b0e33e: OUTPUT«Could not find non-existent sub y» | ||
skids | rakudo: my sub a { return gather for 1..3 { take ( gather {take 1; take 2; take 3;} ) } }; a().perl.say | ||
p6eval | rakudo b0e33e: OUTPUT«[1, 2, 3, 1, 2, 3, 1, 2, 3]» | ||
skids | rakudo: my sub a { return gather for 1..3 { take \( gather {take 1; take 2; take 3;} ) } }; a().perl.say | ||
moritz_ | oops, t/spec/S12-methods/indirect_notation.t aborts after 11 tests | ||
18:52
mizioumt joined
18:54
jferrero joined
|
|||
skids | hrm evalbot seems to take much longer for that to fail than on my system. | 18:55 | |
cmon ulimit, u can do it. | |||
moritz_ | it's on a rather slow machine | ||
jnthn | moritz_: On current Rakudo? | 18:56 | |
moritz_: With the Parrot in PARROT_REVISION? | |||
moritz_ | jnthn: with rakudo b0e33e21a689a91176805a32be5971298c6df24f | 18:57 | |
p6eval | rakudo b0e33e: OUTPUT«maximum recursion depth exceededin method List::list (src/gen_setting.pm:722)called from method Any::map (src/gen_setting.pm:34)called from method List::perl (src/gen_setting.pm:732)called from method Any::map (src/gen_setting.pm:732)called from method List::perl | ||
..(src/gen_sett… | |||
moritz_ | jnthn: and parrot r39159 | ||
which is a bit newer than required | |||
jnthn | moritz_: OK. Maybe it's heisenbug, or maybe it's an issue in Parrot. | 18:58 | |
18:59
kst joined
|
|||
moritz_ | maybe time for another realclean | 18:59 | |
19:00
sjohnson3 joined
|
|||
skids | rakudo: (\(1,2),\(3,4)).perl.say # .perl of any list of captures will explode | 19:02 | |
moritz_ | skids: then please don't make evalbot explode in such a way | ||
skids | is that bad? | ||
moritz_ | well, it wastes resources, and evalbot isn't available to others during that time | 19:03 | |
dalek | kudo: d23ef7a | moritz++ | t/spectest.data: [t/spectest.data] three more passing test files |
||
skids | oh, I thought it was pretty much fair game for abuse, sorry. | ||
moritz_ | it's fair game for use ;-) | 19:04 | |
just like it's not safe against run()/qx and that kind of fun | |||
skids hunts for preexisting RT | |||
p6eval | rakudo d23ef7: OUTPUT«maximum recursion depth exceededin method List::list (src/gen_setting.pm:722)called from method Any::map (src/gen_setting.pm:34)called from method List::perl (src/gen_setting.pm:732)called from method Any::map (src/gen_setting.pm:732)called from method List::perl | 19:06 | |
..(src/gen_sett… | |||
19:07
rjbs left
19:15
hanekomu_ joined
19:17
icwiener_ joined
19:22
TheMyster joined
19:24
pmurias joined
19:25
finanalyst joined
|
|||
pugs_svn | r26931 | moritz++ | [ext] kill Sudoku, it was wrong in several ways, and rather outdated. | 19:33 | |
r26931 | moritz++ | I'll probably redo do it on perl6-examples for rakudo | |||
r26932 | moritz++ | [ext] some small syntax updates (and a few WTF comments) | 19:36 | ||
19:37
jferrero joined
|
|||
jnthn | rakudo: say grep * % 2, 0..6; | 19:40 | |
p6eval | rakudo d23ef7: OUTPUT«135» | ||
moritz_ | jnthn: btw, congratulations to your now accepted grant | 19:43 | |
TimToady | rakudo: say grep * !% 2, 0..6 | ||
p6eval | rakudo d23ef7: OUTPUT«Statement not terminated properly at line 1, near "!% 2, 0..6"in Main (src/gen_setting.pm:0)» | ||
jnthn | moritz_: Thanks | 19:44 | |
moritz_: Already working away at it. :-) | |||
moritz_ | TimToady: should that work? I thought ! as a prefix infix meta op was only available for operators that return Bool | 19:45 | |
jnthn | TimToady: Is that classed as a meta-op? | ||
moritz_ | std: 3 !% 2 | ||
p6eval | std 26932: OUTPUT«ok 00:02 35m» | ||
moritz_ | std: 1A2 | ||
p6eval | std 26932: OUTPUT«Can't call method "cursor_fresh" on an undefined value at STD.pm line 40804.FAILED 00:02 35m» | ||
moritz_ | the shortest script that can crash STD.pm ;-) | ||
TimToady | o_O | ||
moritz_ | std: 1A | 19:46 | |
p6eval | std 26932: OUTPUT«Can't call method "cursor_fresh" on an undefined value at STD.pm line 40804.FAILED 00:02 35m» | ||
moritz_ | ah, even shorter | ||
jnthn | std: A | ||
p6eval | std 26932: OUTPUT«Undeclared name: A used at 1 ok 00:02 35m» | ||
jnthn | phew :-) | ||
std: = | |||
p6eval | std 26932: OUTPUT«Undefinedok 00:02 35m» | ||
TimToady | S03 allows !% as a special case | ||
moritz_ | ah | ||
19:47
sjohnson3 joined
|
|||
moritz_ | ouch, perlcabal.org/syn/S03.html shows an encoding mess | 19:47 | |
TimToady | has a BOM on the front | 19:48 | |
19:49
lichtkind joined
|
|||
pugs_svn | r26933 | moritz++ | [S03] maybe a newline after the BOM unconfuses the POD parser? | 19:50 | |
moritz_ | so it returns a Bool? | 19:52 | |
lichtkind | do i can access the internal perl objects via perl 6? | ||
moritz_ | what do you mean by "internal perl objects"? | 19:53 | |
TimToady | !% returns a Bool | ||
% doesn't, of course | |||
moritz_ | right | 19:54 | |
jnthn | TimToady: So it's really just an op in its own right rather than falling out of anything else? | ||
oh | |||
token infix:sym<%> ( --> Multiplicative) { <sym> <?{ $<O><iffy> = 1; }> } # Allow !% operator | |||
TimToady | it can be viewed either as a metaop or not, doesn't much matter, except unless there's an LTM conflict | ||
pugs_svn | r26934 | moritz++ | [t/spec] test !% from S03 | 19:55 | |
moritz_ | std: 1 !!% 2 | ||
TimToady | but as you can see, STD views it as a metaop | ||
p6eval | std 26934: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/dn5YqBmWYQ line 1:------> 1 !!% 2 expecting any of: infix or meta-infix infix stopper infix_prefix_meta_operator standard stopper statement modifier loop terminatorFAILED | ||
..00:02 35m» | |||
jnthn | *nod* | 19:56 | |
TimToady | ! disallows !! | ||
since !! usually means ??!! | |||
moritz_ | I just read it in S03, and wondered what the error message would be | ||
skids | std: 1 ?% 2 | 19:57 | |
p6eval | std 26934: OUTPUT«##### PARSE FAILED #####Obsolete use of ?: for the conditional operator; in Perl 6 please use ??!! instead at /tmp/iUY90kxwUc line 1:------> 1 ?% 2FAILED 00:02 35m» | ||
skids | not that I actually would use that... | ||
19:58
dduncan joined,
ilogger2 joined
|
|||
moritz_ | I found that the very accurate hilighting of the error position makes the error message much less important ;-) | 20:02 | |
TimToady | still... | 20:03 | |
lunch & | 20:04 | ||
lichtkind | TimToady: is true that you can give perl 6 variables new properties vio self written roles ? | 20:09 | |
20:09
eMaX joined
|
|||
lichtkind | ahh | 20:10 | |
moritz_ | like, traits? | 20:11 | |
or, mixins? | |||
lichtkind | moritz_: doesnt matter | 20:13 | |
moritz_ | "yes" | ||
rakudo: role A { method newmethod { say "OH {self}" } }; ("HAI" but A).newmethod | 20:14 | ||
p6eval | rakudo d23ef7: OUTPUT«OH HAI» | ||
lichtkind | moritz_: i mean traits, the things you declare with but | ||
or is | 20:15 | ||
doenst matter if run or compiletime | |||
what i mean that variable can doting the couldnt do before | |||
jnthn | Actually, the thing that does matter about traits is that they are "compile time" :-) | ||
lichtkind | yes but i had the feeling you had to acess some internal values of var objects and how you coukld do that in a role | 20:21 | |
is ther eany example code to that? | 20:22 | ||
s1n | jnthn: i'm seeing warnings about /* within comments, looks like there's one ending up in perl6_ops_switch.c. that looks like it was caused by ops2c.pl | 20:23 | |
jnthn | lichtkind: It's not yet implemented, there maybe are some tests somewhere...but that bit of the spec is currently up for revision. | 20:24 | |
20:24
nacho__ joined
|
|||
jnthn | s1n: Oddness. | 20:24 | |
s1n | jnthn: even odder is with parrot r39171, it eats up all my memory and is killed :/ | 20:25 | |
err during the compile anyways | |||
jnthn | Ouch, sounds like Parrot bug. | ||
20:25
azawawi joined
|
|||
azawawi | hi | 20:26 | |
moritz_: ping | |||
jnthn | s1n: Is taht while compiling the dynop? | 20:27 | |
I just looked at the file and don't see anything suspect in the commenting. :-S | |||
azawawi | is this still working in the latest rakudo - perlgeek.de/blog-en/perl-6/my-first....writeback ? | ||
jnthn | s1n: Oh, one weird thing...I missed something | ||
s1n | jnthn: if by dynop you mean the perl6_ops_*, then yess | ||
jnthn: keep in mind i'm daring to try trunk instead of PARROT_REVISION | 20:28 | ||
pugs_svn | r26935 | pmurias++ | [re-smop] fixed memory leak | ||
jnthn | s1n: Yeah, very possibly my bad in the .ops file | 20:29 | |
pugs_svn | r26936 | pmurias++ | [re-smop] fix leak | ||
s1n | jnthn: glad i could help :) | ||
azawawi | jnthn: is perl6 pbc 2 exe method still working in latest rakudo? | 20:30 | |
s1n | jnthn: let me know if there's anything else i can help with. i never got around to testing that problem i mentioned yesterday | ||
azawawi: it's not a real exe, but close enough to be called "fakexecutable" | |||
pmurias | ruoso: do you think i should chase down leaks or work on RoleHOW and other thing for my GSoC project? | 20:31 | |
ruoso | pmurias, I think you can start on RoleHOW... | ||
azawawi | s1n: cool but it was working before and now it is not... | ||
jnthn | s1n: Let me know if d23ef7a helps clear up the warning. | ||
s1n | azawawi: you could write a bug on RT, but given parrot's inability to install still, it might be stalled | ||
jnthn | azawawi: Were you compiling a Perl 6 program down to a pbc? | 20:32 | |
ruoso | pmurias, I think you will be able to go a lot forward before one of that leaks really bite you... and I hope we get to it before it bloks you... | ||
azawawi | jnthn: yeah, i was making a 'generate perl6 executable' action for Padre::Plugin::Perl6... | 20:33 | |
pmurias | getting Failure correctly require not leaking memory | ||
s1n | jnthn: hmm, i'm at c6df24f (just pulled), is that a newer commit or am i up to date enough? | ||
ruoso | pmurias, what do you mean by "getting Failure"? | ||
jnthn | s1n: Hmm. | ||
s1n: Doesn't match my push ID here, but maybe :-) | 20:34 | ||
pmurias | ruoso: implementing Failure | ||
s1n | jnthn: wha?? okay, lemme go see what i have then | ||
dalek | kudo: 37e6703 | jnthn++ | src/ops/perl6.ops: Oops, mistake in the .ops file. |
||
azawawi | jnthn: it generates the executable but when you execute it; you get sial.org/pbot/36804 | ||
jnthn | s1n: That one that just went by there. :-) | ||
ruoso | pmurias, ah... because it's currently segfaulting... | ||
pmurias | failures throw themself when they get garbadge collected, which never happens if they get leaked | 20:35 | |
jnthn | azawawi: It looks to me as if it's somehow failing to find the dyn PMCs. | ||
azawawi: Are you running the exe/building the exe in the same place as your Rakudo tree, out of interest? | 20:36 | ||
ruoso | pmurias, no... they do not throw themselves at that point | ||
s1n | jnthn: i'm at github.com/rakudo/rakudo/commit/b0e...298c6df24f | ||
ruoso | pmurias, it's the block itself that checks for unhandled exceptions in $! | ||
s1n | so sans your ops fix, i should be current | ||
azawawi | jnthn: yeah on the latest rakudo tree; i ran the commands there to double check it... | 20:37 | |
ruoso | pmurias, btw... you removed the init_destr_2 test... did you add any other test to reproduce that bug? | ||
jnthn | s1n: OK, but that fix should hopefully ahve removed the warning you were seeing. :-) | 20:38 | |
pmurias | At scope exit, C<$!> discards all handled exceptions from itself, then performs | ||
a garbage-collection check for all remaining (unhandled) exceptions. | |||
ruoso | pmurias, it doesn't mean "garbage-collection" as *the* garbage collector | 20:39 | |
it's just a generic use of the term | |||
(note that I did think what you're thinking, but TimToady told me what it means) | |||
pmurias | if so it's extremly miss-leading | 20:40 | |
s1n | jnthn: i didn't pull, but reverting back to PARROT_REVISION compiles fine | 20:41 | |
pmurias | ruoso: i overzealously deleted test init_destr_2 | ||
DanielC | I have an idea for Perl6 Pod. Is there a mailing list I should join or should I send an email directly to Damian Conway? | 20:42 | |
moritz_ | azawawi: last time I tried it worked | ||
jnthn | s1n: OK. I still had made a mistake in the perl6.ops file anyway though. :-) | ||
moritz_ | DanielC: to the list, I'd say | ||
s1n | jnthn: and i'm still seeing that "Method 'foo' not found for invocant of class ''" problem without a stacktrace | ||
jnthn: other than the comment warning, would that cause other problems? | |||
jnthn | s1n: Aye, I didn't yet work out whether the breakage was in Parrot or Rakudo... | ||
s1n: You're getting a build failure with latest Parrot? | 20:43 | ||
s1n | jnthn: yes | ||
DanielC | moritz_: perl6-users? perl6-language? | ||
moritz_ | DanielC: language | ||
DanielC | thanks | ||
jnthn | s1n: Paste? | ||
s1n | jnthn: on building the fakexecutable | ||
jnthn | (build log) | ||
Oh | |||
s1n | jnthn: sure, give me a few minutes | ||
jnthn: though there's nothing special | 20:44 | ||
jnthn: it just runs out of memory and is killed | |||
azawawi | moritz_: this is what happened here (script+output): sial.org/pbot/36806 | ||
ruoso | pmurias, btw... t/role in re-mildew loops infinitely | ||
s1n | jnthn: still want to see it? | ||
jnthn | s1n: No, I doubt it'll be revealing in this case. | 20:45 | |
s1n | jnthn: lemme know if there's anything i can do to help | ||
jnthn: i don't know how to track down either of these problems | |||
moritz_ | azawawi: ah, fails here too with latest rakudo | 20:46 | |
azawawi | moritz_: then it is not a win32-only issue; cool :) | ||
jnthn | s1n: I don't see anything much in the recent Parrot change log about the pbc2exe. | 20:48 | |
(as in the timeline at trac.parrot.org/parrot/timeline) | |||
azawawi | moritz_: i added it btw in Padre::Plugin::Perl6 to generate fakexecutables... | ||
s1n | jnthn: i'm not really knowledgable about the parrot build system (maybe i will be after the PVMW :) ) | 20:49 | |
jnthn | Tracking down the exception backtrace - I'm a bit unsure where to start too. I'll probably get the C debugger out and stick a breakpoint in the "throw exception from c" code. | ||
s1n | jnthn: now i do know my way around a debugger :) | ||
jnthn | Or in the .backtrace() method in Exception perhaps. | ||
There's an ATTR thrower that is meant to be populated. Either it isn't being, or something else is adrift. | 20:50 | ||
s1n: Gotta go deal with something else - be back in a bit. | |||
s1n | jnthn: sure, lemme know if you want my help when you get back | 20:51 | |
pmurias | ruoso: i think having SMOP_MOLD_DEBUG as an env variable would be nice (being able to toggle it at runtime) | 20:52 | |
ruoso | pmurias, that's an interesting idea... but I think it would be just to add the env var check when the compiling switch is defined | 20:53 | |
20:53
nacho__ left
|
|||
azawawi | jnthn: so shall i RT it then as a rakudo/parrot bug? | 20:53 | |
ruoso | so we can disable it entirely if we want | ||
pmurias | yes that's sensibl | ||
e | |||
azawawi | ruoso: what's the status on mildew? can i test it now or not? :) | 20:55 | |
ruoso | azawawi, you can... on the re-mildew directory... using re-mold | 20:56 | |
re-smop | |||
azawawi tests it | |||
21:05
daemon joined
21:18
azawawi left
|
|||
ruoso just got the news that a Perl 6 presentation at the International Free Software Forum (FISL) was accepted | 21:19 | ||
moritz_ | cool | 21:20 | |
ruoso | it's a 5k people event | 21:21 | |
moritz_ | who gives the talk? | ||
ruoso | me | 21:22 | |
moritz_ | so what will you tell them? that it's a smop? ;-) | 21:23 | |
ruoso | heh... | 21:24 | |
it's a more generic talk | |||
"Perl 6 - the quest for the holy grial" ;) | |||
*grail | |||
moritz_ | make sure that it's recorded, and then point us to the video ;-) | 21:26 | |
ruoso | it will be... every talk is in FISL | ||
but it will be in portuguese | |||
21:26
donaldh joined
|
|||
ruoso decommute & | 21:27 | ||
moritz_ | :) | ||
21:28
tulcod joined
|
|||
TimToady | U t/spec/S32-num/log.t | 21:33 | |
U t/spec/S32-num/sqrt.t | |||
21:33
ZuLuuuuuu joined
|
|||
TimToady | whoops | 21:34 | |
21:39
r0bby joined
21:41
eMaX left
21:43
donaldh left
21:44
tulcod left
21:49
payload joined
21:50
sjohnson joined
21:58
mizioumt joined
|
|||
jnthn | s1n: I'm quite tired and in need of sleep so not really got the energy to look at any more Rakudo bits tonight, I'm afraid. | 21:59 | |
dalek | kudo: 2376c44 | jnthn++ | src/pmc/p6opaque.pmc: Fix build on C++. Patch courtesy of NotFound++. |
22:00 | |
sjohnson | jnthn: how do you feel about the Perl 6 progress overall? | ||
22:02
mizioumt left
|
|||
jnthn | sjohnson: Pretty good. We're maintaining a decent pace of development. | 22:03 | |
And the community around Perl 6 seems to be growing. | |||
Both of which are good things. | |||
The recent Rakudo releases have all gained nicely on the test suite, and brought significant new features. | |||
sjohnson | i have found rakudo the best one so far | 22:04 | |
jnthn | It has at the moment the best mix of active development and features. | ||
IMO. | |||
sjohnson | neato | 22:06 | |
i'm excited for Perl 6 to replace Perl 5 | 22:07 | ||
jnthn | Perl 6 is both the more interesting, and the most challenging, project I'm involved with. | ||
skids | when the goals are to get it right on principle, rather then just good enough for the task at hand, the challenge level definitely goes up sharply | 22:09 | |
sjohnson | jnthn: could you say you are excited at the same time? | 22:10 | |
jnthn | sjohnson: Oh, for sure. | ||
sjohnson | im so glad i found this channel as Perl 5 was lacking enough to make me consider abandoning Perl and scripting in Ruby | ||
but then by fluke I found out about this channel | |||
and am patiently waiting for Perl 6 to arrive in a release-form | |||
as I have some feelings for Perl, if that makes sense | 22:12 | ||
jnthn | Perl 6 is certainly a fascinating language. Both on the surface, but also once you dig deeper too. | ||
sjohnson | i am happy as a lot of basic things you don't need to reply on CPAN anymore | 22:13 | |
ie, String::Strip; | |||
with p6's trim method | |||
skids | nor any of those grammar definition things like Parse::RecDescent now that I think of it... | 22:21 | |
sjohnson | what was that stuff used for? | 22:22 | |
don't recall ever having to use that stuff | |||
skids | the most common use was probably for creating parsers for application config file syntax. | 22:23 | |
sjohnson | i've be doing it all by hand | ||
maybe there was an easier way | |||
22:24
alester joined
22:26
japhb joined
22:29
kate21de joined
22:31
kst joined
|
|||
sjohnson | skids: do you have a job where you use perl often? | 22:34 | |
skids | only for scripts. I don't have a coding job. | ||
sjohnson | what kind of scripts? personal stuff? | 22:39 | |
skids | no work stuff. | ||
sjohnson | o | 22:40 | |
skids | abrij.org/~bri/hw/splitp for example | 22:41 | |
22:41
alester left
|
|||
JDlugosz | TimToady ^^^^ please see my short email on the language mailing list. I really want to get my concepts straight, and everybody seems to have different ideas. | 23:07 | |
23:11
japhb left
|
|||
jnthn | JDlugosz: fwiw, I'm with ruoso on: | 23:13 | |
%a<b> := 1; | |||
is an operation in the hash itself, not in that specific cell of the | |||
hash. | |||
JDlugosz | You mean the <b> is ignored? | ||
jnthn | No, just in so far as you have to actually know both the hash and which storage cell in the bash to do the binding. | ||
JDlugosz | And the Int doesn't do Associative. | 23:14 | |
jnthn | Sure, but you're binding to a single storage location in the hash. | ||
JDlugosz | what binding? | ||
jnthn | Huh? | ||
JDlugosz | Binding applies to "names", e.g. things in the symbol table. | ||
jnthn | The one I wrote abobe. | ||
*above | |||
JDlugosz | I mean "what does binding have to do with that?" | 23:15 | |
jnthn | I don't see the issue. | ||
skids | any := is a binding | ||
jnthn | I know. | ||
JDlugosz | Symbol table names are "bound". | ||
jnthn | JDlugosz: Contrast the meaning with assignment. | ||
JDlugosz | The cell in the hash is not a container. | 23:16 | |
jnthn | my %a; my $x = 42; %a<b> = $x; $x = 43; say %a<b>; # 42 | ||
my %a; my $x = 42; %a<b> := $x; $x = 43; say %a<b>; # 43 | |||
Oh. That's where you're going wrong. | |||
23:16
sri_kraih joined
|
|||
jnthn | The cell in the has *is* a container. | 23:16 | |
Same as the cell in $x[42] for example. | 23:17 | ||
(But if you were assuming not, then your confusion all makes sense to me now.) | |||
skids | .oO(it's at the very least an autobox) |
||
JDlugosz | Er... the other containers (Array and Hash) are made up of a bunch of Item containers, rather than being something on the same level as one? My understanding is that an Item Container is like an array with one element. | 23:18 | |
It has one "slot" inside it, that may be changed via assignment. | |||
The hash has lots of slots. They are inherent in the hash, not separable. | |||
jnthn | OK, but in %a<x> := $x; you are talking about one of those slots. | 23:19 | |
JDlugosz | But that slot can't become a different kind of container. It is a small part of a container having many slots. | ||
23:19
japhb joined
|
|||
jnthn | I'm not quite sure I follow. | 23:20 | |
%a<x> = [1,2,3] works and is example enough that the slot can hold another container. | |||
23:21
ruoso joined
|
|||
JDlugosz | let me look at your example when not on one line: | 23:21 | |
my %a; | |||
my $x = 42; | |||
%a<b> = $x; # or := in the other example | |||
$x = 43; | |||
say %a<b>; | |||
Ah, so you are using := there to mean %a<b> = \($x); | |||
jnthn | I hadn't ever seen it like that... | ||
JDlugosz | I agree with "a slot can hold another container". | ||
ruoso | hah... you're here | 23:22 | |
pugs: my %a; %a<b> := 1; %a<b> = 2; say %a.perl; | |||
p6eval | pugs: OUTPUT«*** Can't modify constant item: VInt 1 at /tmp/j9Tp5bvvRN line 1, column 20-29» | ||
ruoso | rakudo: my %a; %a<b> := 1; %a<b> = 2; say %a.perl; | ||
p6eval | rakudo 2376c4: OUTPUT«rtype not setin Main (src/gen_setting.pm:3166)» | ||
JDlugosz | Ah.... so IF a slot in anything holds another container, assinment normally drops through and it's invisiable. But := will let you replace that at a higher level. | ||
OK. | |||
That's not described in the Synopses, but I understand it. | 23:23 | ||
jnthn | I just see %a<b> := $x as meaning "take the address of $x and stick it in the slot %a<b> so $x and %a<b> both refer to the same thing" | ||
At a memory level. | |||
The only hard bit is that %a<b> in "binding context" needs to hand back some kind of proxy that knows both the container and the slot. | |||
JDlugosz | jnthn I see how that would work. Again, not described in S02, S03, or S06. | ||
jnthn | erm, the index | ||
JDlugosz | Clearly the syn are not the "whole story" by a long shot. | 23:24 | |
skids | .o0(which is sure going to be fun to implement on a packed typed array) | ||
ruoso | jnthn, in SMOP, that is implemented with a "bvalue" | ||
23:24
ZuLuuuuuu left
|
|||
jnthn | ruoso: How do you determine when to hand back the bvalue? Or do you do so always from postcircumfix:<{ }>? | 23:24 | |
ruoso | jnthn, it always return a bvalue for now... | 23:25 | |
jnthn | In Rakudo we've discussed a :bvalue adverb. | ||
JDlugosz | Diagrams would really help. | ||
What is a bvalue? | |||
jnthn | Since it's a) not the common case and b) more expensive for us to make one when we don't need one. | ||
ruoso | jnthn, basically I see removing the bvalue being an optimization | ||
skids | ruoso: JFYI the non-implementation TODO RT for that feature under rakudo is #61412 | ||
23:26
nsh_ joined
|
|||
jnthn | ruoso: IIRC there was discussion that you could always syntacticly know when you'd need a bvalue and thus it'll be an easy optimization. | 23:26 | |
ruoso: OTOH it may not be an important one for you because of differences in smop's architecture etc. | 23:27 | ||
ruoso | jnthn, probably... I just didn't try doing any optimizatino yet | ||
jnthn | ruoso: We either, we just went for implementing the common case first, which was assignment. ;-) | ||
ruoso | JDlugosz, a bvalue is a proxy object that points to the origin of that value | ||
jnthn | Nicely put. | ||
ruoso | JDlugosz, %a<b> returns a bvalue that says "I'm from %a, trying to access key "b" | 23:28 | |
and in SMOP, it doesn't even do any lookup at that point | |||
it's "lazy lookup" | |||
then later, if you try to use it in any context, it should delegate that to the actual value | 23:29 | ||
but if you try to bind something to it | |||
it can go back to the original value and replace the container | |||
JDlugosz | ❝I just see %a<b> := $x as meaning "take the address of $x and stick it in the slot %a<b> so $x and %a<b> both refer to the same thing"❞ | ||
I can understand that as being a synonym for %x<b> = \($x); , but that might give a different morphology from simply putting the item container that $x is bound to in the hash's slot. The normal fall-through semantics take over so the existance of an item container there (or a capture there) is invisible for the most part. But you get the aliasing. | |||
ruoso | JDlugosz, it is not a synonym... because %x<b> = \($x) is making an assignment to an item | 23:30 | |
JDlugosz | bvalue is a proxy for a lazy lookup (but below the level of Perl 6 language semantics). OK. | ||
ruoso | which causes it to be used in item context | ||
therefore making the capture useless | |||
JDlugosz | something like that is implied for autovivication (or not) depending on use. | ||
jnthn | Aye, bvalue doesn't (and likely shouldn't) appear in the spec. | ||
23:30
kate21de1 joined
|
|||
jnthn | AFAICT. | 23:30 | |
ruoso | although for someone implementing a Hash that can be target to binding | 23:31 | |
it needs to be | |||
JDlugosz | ruoso: right, the item (one slot in the hash) is given the Capture. | ||
jnthn | Oh, hmm | ||
That's a good point. | |||
JDlugosz | you can't do anything with the slot other than store something in it. | ||
ruoso | probably in S32 | ||
jnthn, but I'm not sure it's really something that needs to be spe | 23:32 | ||
*spec | |||
because it's the natural way of implementing such thing in Perl 6 | |||
JDlugosz | Oh, using the explicit \ prevents the one-item capture from popping open again in item context. | ||
jnthn | ruoso: aye, we already have a category of "things that you'll just have to deal with as per-implementation" | ||
23:32
kst left
|
|||
ruoso | jnthn, hmmm... | 23:33 | |
23:33
kst joined
|
|||
JDlugosz | "bvalue should not appear in the spec" I quit agree. But the promises made or not made about order of evaluation, side effects, and optimization need to be carfully considered so "something like bvalues" will be a valid choice. Without naming it explicitly, that is. | 23:33 | |
ruoso | jnthn, if you implement an object that behaves like the bvalue, every implementation should act accordingly | ||
skids | maybe a separate Synopsis for heisen-thingies is in order, could take the junction detail out of crowded S02 | ||
ruoso | jnthn, there's nothing special in the bvalue | 23:34 | |
except that we might optimize it away in a lot of places | |||
but that will require an object that knows how to behave in the "optimized scenario" | |||
wayland76 | skids: I think there's some junction stuff in S32 | ||
And I agree they belong there | |||
Oh, wait, maybe it's in the S29 stuff that I didn't move to S32 | 23:35 | ||
ruoso | I mean... I don't see anything that stops you from writing a Associative object that implements the bvalue concept | ||
independent of the runtime | |||
jnthn | ruoso: Sure, me either. | ||
ruoso: It's just that the non-bvalue case falls out very easily. | |||
(no proxy required) | |||
ruoso | the issue here is how should BIND behave | ||
jnthn | Like any other nameserver. | ||
oh, wait... | |||
ruoso | and maybe *that* should be spec | ||
wayland76 | I don't want bind to behave like ldapdns :) | 23:36 | |
JDlugosz | It just inlines. In the case where it always takes one path (simple item fetch), the rest of it goes away. | 23:37 | |
ruoso | jnthn, we might even have a "Bindable" role | ||
which implements BIND | 23:38 | ||
then if you want your hash to be bindable, you just return a Bindable object at postcircumfix:<{ }> | |||
ruoso bbl | 23:39 | ||
jnthn | ruoso: That would work. | ||
JDlugosz | In C++, I've implemented a complex nested data structure using operator[] that returns a delayed action proxy that may be assigned to or converted to the value. It has to handle chaining subscripts to get to the final use, and then assignment creates all the levels from the beginning. | ||
sjohnson | Q about p6: Since most systems by default have Perl 5, can anyone predict which default "Perl 6" they'll have in the future? | ||
JDlugosz | Depends on whoever integrates it with the Debian distro. | 23:40 | |
wayland76 | I'd say the answer is "no". I'd presume Debian/Redhat would handle it via something like /etc/alternatives | 23:41 | |
ruoso | JDlugosz, that's precisely how the bvalue works | ||
and how Perl 6 autovivification of arrays and hashes work | 23:42 | ||
TimToady, what do you think about a Bindable role? (look above) | |||
JDlugosz | In Perl 6, with the operators for [] and {} something you can grab and examine, the idea that it returns a binding is possibly more explicit, not only hidden behind the scenes. | 23:43 | |
ruoso | it's a gray area | ||
JDlugosz | And someone might want to make his own collections with the standard behavior, so why not let him reuse that class? | ||
ruoso | not really explicit... | ||
but not magical | |||
JDlugosz | Also, lvalue returns. | ||
ruoso | JDlugosz, surprisingly... lvalue is easy in Perl 6 today | 23:44 | |
JDlugosz | The synopses added an example of a "proxy" class example that delays read/write use. Something like that should certainly be in the standard library. | ||
ruoso | non-lvalue is an issue yet | ||
because of the way capture works | |||
actually... as it currently stands... all returns have an implicit "is ref" | 23:46 | ||
we still don't know how to coerce a capture to the expected semantics of the routine | |||
23:47
kate21de left
|
|||
ruoso | (maybe using a proxy object that limits the access to the original capture) | 23:47 | |
ruoso hides | 23:48 | ||
sjohnson | anyone know a CPAN / std lib way to shuffle an array in Perl 5? | ||
ruoso | sjohnson, List::Util | 23:50 | |
ruoso bbl | |||
23:53
ElectricHeavyLan joined
|
|||
sjohnson | ruoso: ty | 23:54 | |
pugs_svn | r26937 | jdlugosz++ | [s04] put in C<...> tags, fix some <...> that have the C missing, typos, true=>True, etc. Improve one turn-of-the-phrase as discussed with Larry in July. | 23:55 | |
23:58
kate21de1 left
|
|||
jnthn -> sleep | 23:59 |