»ö« | 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. |
|||
JDlugosz | re always flatten: So while it traverses and copies elements, it notes if items themselves have the Positional role, and recurse into them? | 00:00 | |
00:00
fridim_ left
|
|||
ruoso | JDlugosz, no... it sees if it is a Capture | 00:00 | |
otherwise 1,2,[1,2,3] would also unflatten | 00:01 | ||
and that's not the case | |||
00:01
DemoFreak left
|
|||
JDlugosz | So list assignment doesn't *always* flatten. List assignment with a Capture on the RHS flattens. | 00:01 | |
ruoso | skids, I don't quite see what you mean... would you mind writing an example? | ||
00:01
orafu joined
|
|||
ruoso | JDlugosz, it *always* flatten, but the only things that are subject to be flattened are captures | 00:02 | |
skids | lists flatten, arrays do not <-- ruoso simplified :-) | ||
ruoso | skids, the point is precisely that "list" is an abstract concept... | 00:03 | |
skids | my lvalsub () { return $a, $b, $c }; # want to bind @a[0] := $a, @a[1] := $b, etc | ||
JDlugosz | skids: I don't understand that. Sounds like P5 nomenclature. Array is a concrete container type that does Positional. Lists are casual language for anything that does Positional. | ||
Infinoid | rakudo spectest summary report on NetBSD/i386 4.0 (from netbsd parrot pkgsrc maintainer): nopaste.snit.ch/16582 | ||
ruoso | JDlugosz, exactly... so the Capture is the thing that might be flattened | ||
JDlugosz, Array is *never* flattened | 00:04 | ||
JDlugosz | And that keys in to the ( ) syntax being the capture constructor. | ||
ruoso | exactly | ||
skids | except that it's also the list constructor :-) | 00:05 | |
ruoso | skids, a capture is a list | ||
JDlugosz | so @a = ($a, @b, $c); will flatten during the assignment. | ||
ruoso | yes | ||
not before | |||
so | |||
JDlugosz | and @a = [ $a, @b, $c]; will not. | ||
ruoso | @a = [] produces an array with 1 element | ||
lambdabot | Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v | ||
ruoso | but... | 00:06 | |
JDlugosz | skids: NO. "the" list constructor is a non sequtor. | ||
ruoso | my @a := ($a, @b, $c) #doesn't flatten | ||
my ¢a := ($a, @b, $c) #doesn't flatten | |||
00:06
icwiener left
|
|||
JDlugosz | Are you saying that my last example was wrong? | 00:07 | |
ruoso | it wouldn't flatten... but I think it wouldn't do what you meant | ||
JDlugosz | Doesn't [...] construct an Array ? | ||
ruoso | my @a = [$a, @b, $c]; say @a[1]; # no element | ||
JDlugosz | And an Array (not a "reference"!) will partipate in list assignment. | ||
ruoso | and as the array is not a capture, | 00:08 | |
it is the only element | |||
otoh | |||
JDlugosz | But $x = [ $a, @b, $c]; is a single item. | ||
ruoso | yes | ||
[$a, @b, $c] is always a single item | 00:09 | ||
00:09
bacek_ joined
|
|||
JDlugosz | Why would @a = ... not work that way anymore? Has list assignment changed to *only* take a capture on the RHS? | 00:09 | |
ruoso | I think it always worked that way | ||
I mean... | |||
my @a = [1,2,3]; say @a.elems | 00:10 | ||
would always say 1 | |||
pugs: my @a = [1,2,3]; say @a.elems; | |||
p6eval | pugs: OUTPUT«1» | ||
ruoso | and pugs hasn't changed in a long time | ||
s1n | how do i "convert" a Str to a Callable (or something else that can be executed like Callable, maybe Capture)? | 00:11 | |
ruoso | s1n, er... what is supposed to happen when you invoke a Str? | 00:12 | |
s1n | ruoso: i have it as a string and i want it as a callable | ||
Infinoid | like eval? | ||
00:13
cspencer joined
|
|||
ruoso | rakudo: my $x = "Hello" but Callable; say $x(); | 00:13 | |
p6eval | rakudo 120364: OUTPUT«invoke() not implemented in class 'Perl6Str'» | ||
ruoso | rakudo: role StrCallable { method invoke { return eval ~self } }; my $x = "1 + 1" but StrCallable; say $x(); | 00:14 | |
p6eval | rakudo 120364: OUTPUT«invoke() not implemented in class 'Perl6Str'» | ||
ruoso | I think rakudo is still getting that from lowlevel yet... | 00:15 | |
so you can't really override | |||
s1n | hmm... | ||
am i supposed to? | |||
00:15
FurnaceBoy joined
|
|||
ruoso | rakudo: role StrCallable { method postcircumfix:<( )> { return eval ~self } }; my $x = "1 + 1" but StrCallable; say $x(); | 00:15 | |
p6eval | rakudo 120364: OUTPUT«invoke() not implemented in class 'Perl6Str'» | ||
ruoso | pugs: role StrCallable { method postcircumfix:<( )> { return eval ~self } }; my $x = "1 + 1" but StrCallable; say $x(); | ||
p6eval | pugs: OUTPUT«*** Must only use named arguments to new() constructor Be sure to use bareword keys. at Prelude.pm line 541, column 5-16» | ||
ruoso | pugs: role StrCallable { method postcircumfix:<( )> { return eval ~self } }; my $x = "1 + 1"; $x does StrCallable; say $x(); | 00:16 | |
p6eval | pugs: OUTPUT«*** Unknown syntactic construct: Syn "does" [Var "$x",Val (VType (mkType "StrCallable"))] at /tmp/LnnQjvdxbd line 1, column 89-108» | ||
ruoso | rakudo: role StrCallable { method postcircumfix:<( )> { return eval ~self } }; my $x = "1 + 1"; $x does StrCallable; say $x(); | ||
JDlugosz | I'll have to look for that when I get to it again in the Synopses. Do you remember where it was? | ||
p6eval | rakudo 120364: OUTPUT«invoke() not implemented in class 'Perl6Str'» | ||
s1n | std: role StrCallable { method postcircumfix:<( )> { return eval ~self } }; my $x = "1 + 1" but StrCallable; say $x(); | 00:17 | |
p6eval | std 26867: OUTPUT«ok 00:04 39m» | ||
ruoso | JDlugosz, probably S09 | ||
but I don't really remember... | |||
it's just part of my mindset now ;) | |||
JDlugosz | S03 covers list assignment, but doesn't really cover what it does. | ||
ruoso | because S07 is the one that will get to it | 00:18 | |
since it's really about how to iterate the input list | |||
JDlugosz | I do see that you don't need parens. @x = 1,2,3; | ||
ruoso | yes... but that's because Perl 6 kinda "implies" the outermost parens | 00:19 | |
but the semantics are the same | |||
s1n | ruoso: does the 'but' keyword require roles? | ||
ruoso | s1n, yes | ||
JDlugosz | I guess the [...] thing is because of context. although it is an object that does Positional, it is in item context. Right? | ||
ruoso | JDlugosz, no [...] is intentionally non-flatenable | 00:20 | |
JDlugosz | Looks like for assignment anyway, @x=1,2,3 works because it parses like a listop. So its behavior is the same as binding parameters to a listop. | ||
ruoso | in terms of implementation | ||
yes | |||
it's kinda like... | |||
00:21
orafu left
|
|||
ruoso | my @x = infix:<,>(1,2,3) | 00:21 | |
JDlugosz | sln: you can say but with a value, and the class (not role) is what is mixed in. | ||
Thanks ruoso, I have a lot to re-read and swap in. | 00:22 | ||
I wonder if I can do it effectively part time? | |||
ruoso | glad to help | ||
JDlugosz | less than part time... on the side, so to speak. | ||
In between household chores and other projects. | |||
ruoso | well... the specs without #perl6 log get really harder to grok | 00:23 | |
a lot happens during the discussions here | |||
00:24
justatheory left
|
|||
JDlugosz | When I was travelling and reading the specs, I did not have access. | 00:25 | |
skids | would it be more accurate to say "captures are lists when they are in list context"? | 00:26 | |
JDlugosz | Captures are always lists. They support the Positional role. | ||
00:26
orafu joined
|
|||
skids | lists mean more than that though | 00:27 | |
00:27
agentzh left
|
|||
JDlugosz | What more does it mean? | 00:27 | |
skids | laziness | ||
00:27
agentzh joined
|
|||
JDlugosz | So is it not lazy if you don't look at it in a list context? | 00:28 | |
ruoso | std: sub foo { return 1,2,3,:a<b>,:c<d> }; my @a := foo(); say @a<a>; | ||
p6eval | std 26867: OUTPUT«ok 00:03 38m» | ||
JDlugosz | ruoso: that reminds me. The @% is going to play havoc with custom indexers. | ||
ruoso | "custom indexers"? | 00:29 | |
JDlugosz | The two roles will be fighting over poscircumscript:<{}> | ||
ruoso | which roles? | ||
JDlugosz | indexer: using {} on an @array to do cusom-defined indexing. | ||
00:29
payload left
|
|||
JDlugosz | which roles: Positional and Associative. | 00:30 | |
ruoso | ah... well... it's an API... there are always going to be corner cases | ||
JDlugosz | See "User-defined array indexing" in S09. | 00:31 | |
to DWIM, the user-defined index only works when going through the @-bound variable, eg. seen as a Positional. | 00:32 | ||
skids | JDlugosz: e.g. $a = \(1, 2); # <-- capture, not yet a list, because it doesn't know its context yet | ||
ruoso | skids, $a = \(1,2) is pretty pointless | 00:33 | |
JDlugosz | To make it work under the hood, it implies that the operator resolution does use the static type information, which then imples that this operator has to be an ordinary method, not a MMD. | ||
skids | ruoso: not if you want to pass arguments around with a single handle | ||
JDlugosz | skids: $a[1] will return 2. | ||
skids | yes, captures do Positional, so? | 00:34 | |
JDlugosz | skids: you are missing the new rules that (...) is a Capture constructor, no need for leading \. | ||
ruoso | std: sub foo {}; my $x = (1,2); foo(|$x); | ||
p6eval | std 26867: OUTPUT«ok 00:03 40m» | ||
skids | Those are not in the Synopsis yet? | ||
ruoso | partly | 00:35 | |
JDlugosz | See backlog, yesterday 02:42 UTC. | ||
That's when he explained it to me. | |||
skids: see <irclog.perlgeek.de/perl6/2009-05-17> | |||
skids: changes are in S02 that I've studied, but with some rough edits and things that need to be explained. | 00:36 | ||
ruoso night & | 00:37 | ||
00:42
orafu left,
orafu joined
|
|||
skids | JDlugosz: S02 Literals has some verbiage that probably needs work in <foo bar> -- search for "autopromoted" | 00:51 | |
00:55
leroe left
00:57
clkao_ is now known as clkao
00:58
agentzh left,
agentzh joined
01:03
cspencer_ joined,
cspencer left,
orafu left
01:04
orafu joined
|
|||
skids | now that the line number anchors are gone from Synoposis, has anyone suggested a POD way to add named anchors. Other than the ones that are auto-added to HTML <DT>'s ? | 01:10 | |
01:14
eternaleye left
|
|||
ruoso was looking at the wolframs alpha thing in a hopefull way... but then I just found the following quote in the FAQ: "It only deals with facts, not opinions" -- geez... seriously... how can someone start such an ambitious project with XIX's century philosophical background... | 01:17 | ||
skids | Heh. And their "Sample input" uses such hard "facts" as the US GDP. | 01:19 | |
ruoso | not this time someone will get something at least as usefull as google... | 01:20 | |
wayland76 | Just wanted to comment about the guy "Alexey Grebenschikov" who keeps sending whitelist requests to people on p6l | 01:23 | |
lambdabot | wayland76: You have 3 new messages. '/msg lambdabot @messages' to read them. | ||
skids | These days I'd settle for an astroturf tracker. | ||
wayland76 | I don't think unsubscribing him is going to cut it. I think the only way is to have one of our Russian-speaking members complain to him | 01:24 | |
01:24
orafu left
01:25
orafu joined
|
|||
skids | A few of my friends think they might have got a guy arrested in i think singapore by calling the embassy and saying he was shaming the country. (I thought that was a bit over the top) | 01:25 | |
Probably wouldn't work in Russia though. | 01:26 | ||
JDlugosz | skids: re S02 noted. | 01:43 | |
01:46
orafu left,
orafu joined
01:48
Whiteknight left
|
|||
s1n | skids: wouldn't work in america either, we're use to shaming ourselves :/ | 01:49 | |
skids | Really? I thought we were just shameless. :-) | 01:54 | |
Infinoid | ... is that illegal? | ||
skids | When your government is fascist, illegal is someone's whim. | 01:55 | |
Infinoid | uck, sad but true | 01:56 | |
01:57
eternaleye joined
|
|||
skids | You know, sorta like all the great financial "innovations" we've made here in the US that are somehow less punishable for the "innovators" than smoking a joint is for joe six pack. | 01:57 | |
Infinoid | Well, they own the place. What can you do? | 02:00 | |
Stage 1: make perl 6. Stage 3: profit | |||
02:01
justatheory joined,
eternaleye left
02:04
jonathanturner joined,
eternaleye joined
02:07
orafu left
02:08
eternaleye left,
eternaleye joined
02:09
orafu joined
02:11
agentzh left
02:12
agentzh joined
|
|||
wayland76 | Well, I'm always willing to give people the benefit of the doubt; if we explain things to him, he may feel sufficiently ashamed (and take appropriate action) without anything else being necessary | 02:13 | |
02:28
orafu left
02:34
orafu joined
02:35
cspencer_ left
|
|||
s1n | who's handing out commitbit to github.com/perl6? | 02:39 | |
02:40
sri_kraih_ joined
|
|||
skids | s1n: pmichaud was the one who created that account IIRC | 02:46 | |
s1n | pmichaud: hook me up? | 02:49 | |
02:49
orafu left
|
|||
Tene | s1n: pmichaud doesn't seem to be around tonight. Do you have a CLA with TPF? iirc, they still require committer agreements for commit privs to rakudo. | 02:50 | |
Not completely sure, though. | |||
02:50
sri_kraih left,
orafu joined
|
|||
s1n | Tene: pmichaud said at our p6m meeting on tuesday that CLA wasn't needed for the github account yet | 02:51 | |
supposed to have liberal commit access | |||
Tene | s1n: I'm wrong, then. :) | 02:53 | |
s1n | Tene: who should i talk to about the cla? | 02:54 | |
Tene | s1n: If pmichaud says you don't need cla, then you don't need cla. | 02:55 | |
You need to talk to pmichaud about commit access. | 02:56 | ||
s1n | Tene: right, but i want to ask a question or two about the cla | ||
Tene | i don't know if anyone else has the password to that github account, and github doesn't let you delegate admin privs :( | ||
s1n: several people in #parrot would know more... coke and particle at least. | |||
03:04
agentzh left,
agentzh joined
03:11
orafu left,
orafu joined,
mib_msjzva joined
03:12
mib_msjzva left
03:19
skids left
03:20
donaldh left,
donaldh joined
03:21
Kisu joined
03:32
orafu left
03:33
orafu joined
03:39
agentzh left
03:40
agentzh joined
03:41
orafu left
03:42
orafu joined
03:53
orafu left
03:54
orafu joined
03:55
cspencer joined
04:02
cspencer left
04:11
alester_ joined
04:13
lichtkind_ left
04:15
orafu left
04:16
orafu joined
04:24
agentzh left,
agentzh joined
04:36
orafu left
04:37
orafu joined
04:42
sparc joined
04:57
orafu left
04:58
dukeleto joined,
orafu joined
|
|||
pugs_svn | r26868 | jdlugosz++ | Fix one typo, s/know/known/. Really just low-hanging fruit to test my Commit access and procedures therein. I'm assuming that the VERSION block is updated manually before checking in, and all versions are numbered sequentially even if a typographic change. | 05:01 | |
05:04
justatheory left
05:06
JDlugosz_ joined
05:09
payload joined
05:18
orafu left
|
|||
JDlugosz_ | Question: regarding: for lines($*ARGFILES) {...} | 05:19 | |
is that the same as $*ARGFILES.lines() ? | 05:20 | ||
05:20
orafu joined
|
|||
JDlugosz_ | Or is there some reason for using the sub form there? | 05:20 | |
05:23
JDlugosz left
05:26
frew left
05:38
frew joined
05:39
ejs joined
05:40
JDlugosz joined,
orafu left
05:41
orafu joined
05:43
JDlugosz left
05:49
sri_kraih_ left
05:55
alester_ left
05:57
agentzh left,
JDlugosz_ left,
agentzh joined
05:59
sri_kraih joined
06:00
ejs left
06:01
frew left,
orafu left
06:02
orafu joined
06:04
DemoFreak joined
06:06
sri_kraih left
06:22
orafu left
06:23
orafu joined
06:27
agentzh left
06:28
agentzh joined
|
|||
pugs_svn | r26869 | moritz++ | [t/TASKS] links to p6l mails | 06:33 | |
06:41
_mg_ joined
06:42
harig joined
06:44
orafu left
06:48
agentzh left
06:49
orafu joined
06:51
agentzh joined
07:00
ejs joined
07:05
payload left,
orafu left,
orafu joined
07:07
masak joined
07:11
ejs1 joined
|
|||
masak | a good morrow, fellow seekers of Perl 6. | 07:12 | |
moritz_ | oh hai masak | 07:15 | |
masak: being up earlier than you is kind of a disturbing experience :-) | |||
07:16
FurnaceBoy left
|
|||
masak | moritz_: I'm working on it. :) | 07:16 | |
07:16
finanalyst joined
|
|||
masak | haven't really had the discipline to rise early since Friday two weeks ago. | 07:16 | |
today I got unexpected help from a fellow with a loud drill. | 07:17 | ||
finanalyst | rakudo: my $f=open("README",:r);say $f.get; | ||
p6eval | rakudo 120364: OUTPUT«=head1 Rakudo Perl 6This is Rakudo Perl, a Perl 6 compiler for the Parrot virtual machine.Rakudo Perl is Copyright (C) 2008-2009, The Perl Foundation.Rakudo Perl is distributed under the terms of the Artistic License 2.0.For more details, see the full text of the license in | ||
..the f... | |||
moritz_ | finanalyst: that's clearly wrong, and there's a ticket for that in RT | 07:18 | |
finanalyst | moritz_: ah ok | ||
07:18
ejs left
|
|||
finanalyst | i just figured out why my local perl6 didnt like 'get' | 07:19 | |
then discovered get != lines(1) | |||
masak | .oO( fun to see p6eval say '...the f...' for once ) |
||
moritz_ | hm, I could replace the ... by ellipsis | 07:20 | |
07:20
donaldh left
|
|||
finanalyst | ;) i thought it was part of the get output LOL | 07:20 | |
moritz_ | … | ||
07:21
donaldh joined
|
|||
masak | finanalyst: it was. | 07:21 | |
07:21
payload joined
07:22
_maja joined
|
|||
pugs_svn | r26870 | moritz++ | [evalbot] add ellipsis when truncating output (instead of three dots) | 07:22 | |
07:22
payload left
07:23
p6eval left,
payload joined,
p6eval joined
|
|||
finanalyst | shame it wasnt <... the f... > for everything | 07:23 | |
moritz_ | rakudo: say $*IN.get | ||
p6eval | rakudo 120364: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil du inmitten,einem starken | ||
..Herzen … | |||
finanalyst | does rakudo have a nice way of querying the current working directory? | 07:24 | |
moritz_ doubts that | |||
finanalyst | or is this still unspecified? | ||
07:26
orafu left
07:27
orafu joined
|
|||
masak | finanalyst: do a run(...) call in which you write `pwd` to file, slurp the file into a string, remove the file. | 07:27 | |
finanalyst: that's what I usually do. :/ | |||
finanalyst | masak: thanx. i got something working over the weekend for $work. Outputs to ploticus for nice graphs. but i want some gui widgets to control the input parameters. | 07:32 | |
masak | finanalyst: sounds interesting. | ||
finanalyst | i will be using the png's for a presentation tomorrow. | 07:33 | |
and if anyone wants to reproduce my results, they will have to look at my perl6 code :) | 07:34 | ||
lots of reduce, X, and Z operators! | |||
07:35
Maghnus joined
|
|||
masak | nice. | 07:36 | |
Matt-W | Morning | 07:39 | |
I updated Rakudo, and Form seems to have broken :( | |||
I shall investigate when I'm not at work | |||
Going to hope that I was relying on a broken something in Rakudo | 07:40 | ||
masak | Matt-W: my sympathies, regardless of the cause. | 07:41 | |
Matt-W: now, aren't you glad you have tests? :) | |||
07:47
orafu left
07:48
_maja left
|
|||
Matt-W | masak: very glad | 07:51 | |
I would've fixed it, but I had to go to work :( | |||
Where I get to do unfun programming | |||
masak | Matt-W: there's always the evening. | ||
Matt-W | It's Day Three of Track Down The Deadlock And Figure Out How To Fix It Without Causing Another Problem | ||
masak | Matt-W: been there, done that. | 07:52 | |
Matt-W | I'm going out for dinner this evening! | ||
masak | Matt-W: well, there's always tomorrow. | ||
moritz_ | wow, my blog finally made it into the ironman feed | ||
Matt-W | Recorder lesson and viol group tomorrow :P | ||
07:53
orafu joined
|
|||
masak | Matt-W: now you're just making stuff up. :P | 07:55 | |
moritz_: congrats. | 07:56 | ||
is there a page with a list of how many consequtive weeks people in the ironman feed have kept it up? | 07:57 | ||
moritz_ | not that I know of | ||
masak | it's an app that just begs to be made. | ||
07:58
harig left
|
|||
moritz_ | ...and that was promised to us anyway :-) | 07:58 | |
anyway, May really feels like christmas | 07:59 | ||
custom operators | |||
and annotated backtraces | |||
masak | indeed. | 08:00 | |
pmichaud++ jnthn++ Tene++ | |||
Matt-W | Yeah! | ||
Matt-W hangs up his stocking | |||
...and waits for the antihistamines to kick in | |||
moritz_ | Matt-W: oh, you're one of that unfortunate kind? | 08:01 | |
my girlfriend too | |||
masak cannot process stockings either | 08:02 | ||
Matt-W | moritz_: yeah me and my sister both. Not fun. | 08:04 | |
keepguessing | do we have any good debuggers for multithreaded applications [I am asking for someGUI tool for debugging on linux...] | 08:05 | |
08:05
bacek_ left
|
|||
masak | keepguessing: is this a Perl 6 question? | 08:05 | |
keepguessing | Ah masak ... appologies wrong place :) | 08:06 | |
masak | keepguessing: seems so. :) mind you, people might still give you a good answer. I'd sure like to know about such a debugger. | ||
keepguessing | Hopefully masak :) | 08:07 | |
moritz_ | I learned about verifying such applications, but never debugged them :-) | 08:08 | |
masak | moritz_: sounds like a paraphrase of Knuth. :) | 08:09 | |
Matt-W | I've never encountered a debugger that was very good at multithreaded stuff | ||
masak | Eclipse's debugger is OK, I guess. | ||
Matt-W | Tolerable | ||
Visual Studio's is OK too | 08:10 | ||
masak | aye. | ||
Matt-W | (shame about the rest of it) | ||
moritz_ | masak: I know, but it's actually true :-) | ||
masak | moritz_: :) | ||
moritz_ | we used this tool: spinroot.com/spin/whatispin.html | 08:12 | |
masak | what's the name of Perl 5's $0 in Perl 6? | 08:13 | |
$*PROGNAME ? | |||
moritz_ thinks so | |||
masak | ok, would it be possible to extract the directory of the script from that variable? | 08:14 | |
moritz_ | rakudo: say $*PROGNAME | ||
p6eval | rakudo 120364: OUTPUT«Use of uninitialized value» | ||
masak | more to the point, is a method specced somewhere that gives the directory of a file? | ||
moritz_ | in Perl 5 you can use Cwd::rel2abs(__FILE__) or so | 08:15 | |
masak | let me just dream aloud a little: my $template-dir = Path.join( Path.dirname( $*PROGNAME ), 'templates' ); | 08:16 | |
something like that. modulo exact names of things. | |||
moritz_ | rakudo: print $*PROGRAM_NAME | ||
p6eval | rakudo 120364: OUTPUT«/tmp/vETupwS1cn» | ||
masak | ooh! | ||
halfway there... | 08:17 | ||
moritz_ | notice that p6eval gives absolute pathes to rakudo | ||
masak | yes, good point. | ||
moritz_ | I don't know if it's absolute if the path on the command line is relative | ||
masak | no, it isn't. | ||
and if it's an -e execution, the value is '-e'. | 08:18 | ||
moritz_ | just like in Perl 5 :-) | ||
masak | I can create a file called '-e'. when I execute that, I also get '-e' :) | 08:19 | |
probably not an issue to worry about... | |||
moritz_ | don't name your files '-rf *' | 08:20 | |
masak | I won't. | ||
moritz_ | in case somebody does a run("rm $*PROGRAM_NAME") :-) | ||
of course somebody who does that would deserve the result | |||
pugs_svn | r26871 | pmurias++ | [re-mildew] | 08:23 | |
r26871 | pmurias++ | fixed --valgrind | |||
r26871 | pmurias++ | added make test-no-valgrind | |||
08:23
pmurias joined
08:30
orafu left,
orafu joined
|
|||
finanalyst | is there any way of getting some information about the last line of a program executed before a runtime error? | 08:32 | |
masak | finanalyst: it's funny you ask... | ||
finanalyst: this was added just a couple of days ago. | |||
Matt-W | It made us feel Christmassy | ||
masak | it's not perfect -- if you're in an anon block it won't tell you, for example. | ||
moritz_ | at least for Perl 6 level errors | 08:33 | |
for the famous Null PMC access not | |||
masak | that's because the famous Null PMC access shouldn't be exposed, at all. | 08:35 | |
hence, there's no need to provide a stacktrace. :) | 08:36 | ||
moritz_ | I disagree. | ||
it would help finding the location nonetheless | |||
ideally it would print the Perl 6 stack trace, and on top of that the PIR thing up to where the Perl 6 stack trace starts | 08:37 | ||
I just don't know if that's doable, and worth the effort | 08:39 | ||
Matt-W | It would be nice to know what thing was null | ||
And what it was trying to do to it | |||
moritz_ | I guess that's a non-trivial parrot limitation | 08:40 | |
Matt-W | Otherwise it's no better than 'Segmentation fault' | ||
moritz_ | it's better in that it's not a security risk. | ||
but it *is* parrot's equivalent of a segfault | |||
Matt-W | That is of very little comfort to the working programmer | ||
moritz_ | I know | 08:42 | |
finanalyst | so if I do a git pull, the current rakudo will give more trace support ? | ||
moritz_ | aye | ||
finanalyst | thanx. trying | ||
moritz_ | rakudo: module A { sub b { die "foo" } }; A::b() | ||
p6eval | rakudo 120364: OUTPUT«fooin sub A::b (/tmp/qMhOlCvYNL:1)called from Main (/tmp/qMhOlCvYNL:1)» | ||
moritz_ | that's already much nicer than it used to be | 08:43 | |
08:51
orafu left
08:52
orafu joined
09:03
payload left
09:06
DemoFreak left
09:07
ejs2 joined
|
|||
jnthn | morning, folks | 09:07 | |
moritz_ | oh hai jnthn | 09:08 | |
09:09
bacek joined
|
|||
masak | ako sa maš, jnthn. | 09:10 | |
(took me a while to find 'š' in the slovak input mode in LEIM.) | 09:11 | ||
moritz_ | heh, I just wrote my best commit message so far: 'be nice()' | 09:12 | |
09:13
orafu left
|
|||
jnthn | masak: Mam sa dobre, a ty? | 09:13 | |
09:13
orafu joined
|
|||
masak | jnthn: Mam sa výborný. :) | 09:13 | |
.oO( I might have gotten the ending wrong there... ) |
09:14 | ||
jnthn | masak: No, it's correct. | ||
masak | oh, výborný. :) | ||
what's this 'ý' thing, by the way? is it anything like the Russian 'ы'? | 09:15 | ||
jnthn | That probably wasn't though, since if you've not got something in the sentence to explicitly make you want the masculine form, you tend to to write the neuter form. | ||
09:16
ejs1 left
|
|||
jnthn | No, it's pronounced just like "i" but it doesn't cause auto-paletization of anything before it. | 09:16 | |
masak | oh, ok. | ||
jnthn | If you write various letter combinations, e.g. ti, ni, etc then the t or n in those is implicitly soft. | 09:17 | |
Whereas with ty and ny it wouldn't be. | |||
masak | jnthn: oh, so if I were female, 'Mam sa výborný' would be incorrect too? | 09:18 | |
jnthn | masak: Yes. | ||
masak | jnthn: I get the auto-paletization thing. that's typically slavic. | ||
jnthn | *nod* Happens in Russian too. | ||
masak | there's a macro in Russian, 'ъ', for preventing auto-paletization. | 09:19 | |
jnthn | From what I understood, it's quite rarely used these days. | 09:20 | |
masak | yes, it got de-promoted in the beginning of the 20th century, in some spelling reform. | 09:21 | |
ah, shortly after the 1917 revolution. | |||
09:21
payload joined
09:29
Gothmog_ left
|
|||
jnthn | masak: 65740 is closable now I think | 09:30 | |
jnthn needs to do $other_jobs for a bit | |||
masak checks | |||
rakudo: run('./perl6 -e "die q[OH NOES]" > /dev/null') | 09:33 | ||
p6eval | rakudo 120364: OUTPUT«OH NOESin Main (<unknown>:1)» | ||
masak | rakudo: run('./perl6 -e "die q[OH NOES]" 2>/dev/null') | ||
p6eval | rakudo 120364: ( no output ) | ||
masak | seems fine to me. | 09:34 | |
masak closes | |||
09:34
ejs1 joined,
orafu left,
orafu joined
09:36
payload1 joined
09:37
bacek left
09:39
pichina joined
09:40
bacek joined
09:41
sparc left
09:42
ejs2 left,
payload1 left
09:44
payload left
09:45
jferrero joined
09:47
jferrero left
09:50
payload joined
09:51
pichina left
09:55
orafu left
09:56
orafu joined
09:57
presh joined
09:58
iblechbot joined
10:01
payload left,
payload joined
10:04
NoirSoldats joined
|
|||
pmurias | ruoso: hi | 10:06 | |
ruoso: i'm wondering if writing a valgrind plugin to show the leaky objects as a graph would be a good idea | 10:08 | ||
ruoso | pmurias, it would be cool... but I'm afraid it would take too long | ||
maybe just enabling the old MEM_TRACE | |||
ruoso just woke up... need to go to work... | 10:09 | ||
10:16
Gothmog_ joined,
orafu left
10:17
orafu joined
10:19
bacek left
10:22
bacek joined
|
|||
masak | I sometimes feel the need to create a scope as an object, and run eval on that particular scope. has there been any discussion on that previously? | 10:30 | |
it would solve the REPL suckiness, and it would help in Hitomi, I think. | |||
jnthn doesn't quite get what masak wants | 10:31 | ||
masak | jnthn: my $scope = Scope.new(); $scope.eval('my $a = 5'); #[ $a doesn't exist in this scope ] $scope.eval('say $a') # prints 5 | 10:32 | |
maybe 'environment' or something would be a more appropriate term. | 10:33 | ||
'context' :) | |||
jnthn | Persistent lexical store between evals? | 10:34 | |
masak | that sounds like what I'd want, yes. | 10:35 | |
also known as 'working with your variables at arm's length'. | |||
wayland76 | I like the idea, I'm just not sure if "eval" is the word we want. | 10:36 | |
Because eval usually, as you point out, implies a scope. | 10:37 | ||
jnthn | aye | ||
masak | oh, call it something else if that feels better. :) | ||
my question is: can it be done? | |||
10:38
orafu left
|
|||
wayland76 | I just think that "eval" should replace the existing code, whereas what you want to do sort of appends more code , and execution continues from where it was | 10:38 | |
sort of like "tail -f" with execution or something | |||
masak | my proposal is a generalisation of eval, since eval always works on the current lexical environment. | 10:39 | |
10:39
orafu joined
|
|||
moritz_ | something like eval($code, $pad($pad_object)) | 10:39 | |
something like eval($code, :pad($pad_object)) | |||
masak | it's worth thinking about whether closures constitute such lexical environments, and this generalized eval should simply be a method on Code, or something like that. | 10:40 | |
rakudo: my $a = {;}; say $a.WHAT | |||
p6eval | rakudo 120364: OUTPUT«Block()» | ||
jnthn | "run this code as if it's outer block was this" | ||
masak | on Block, then. | 10:41 | |
jnthn | my $block = { my $x = 42 }; $block.eval_inner('say $x'); # or something | ||
ruoso | jnthn, I think at some point you'll need to expose the lexic | 10:42 | |
*lexical scope as a high level object | |||
jnthn | ruoso: Perhaps; I expect anything doing that is going to be highly platform specific though. | 10:43 | |
ruoso | my $scope = LexicalScope.new; $scope<$a> = 5; eval 'say $a' :outer($scope); | ||
masak | ruoso: so it wouldn't be enough to consider a Block as its own lexical scope? | ||
jnthn | Lexical scopes are (in Parrot) immutable, at least by default. | ||
ruoso | so... | 10:44 | |
jnthn | And I'd rather that didn't chang.e | ||
ruoso | my $scope = LexicalScope.new('$a'); $scope<$a> = 5; eval 'say $a' :outer($scope); | ||
jnthn | Yes, somehting more like that could work. | ||
ruoso | I'd be fine with it... | ||
anyway... | |||
ruoso commute & | 10:45 | ||
10:45
ruoso left
|
|||
Matt-W | Whee! Found the deadlock | 10:48 | |
As usual it's a classic | |||
masak | Matt-W++ | ||
Matt-W | Thread A takes lock A then wants lock B, but thread B already has lock B and is blocking on lock A | ||
The trouble is now my colleague and I need to figure out how to make sure it can't happen | |||
pmurias | masak: having eval as method on LexicalScope instead of a multi is undesirable as the lexical scope don't know what your current language is | ||
Matt-W | Still, at least I managed to strip away the obscuring layers of several other threads which were wanting locks C and D, which those two threads had already taken | 10:49 | |
masak | pmurias: agreed. | ||
Matt-W | This makes Form.pm look easy :) | ||
moritz_ | Matt-W: make thread B want lock A first too | ||
10:49
szbalint joined
|
|||
moritz_ | Matt-W: even if it doesn't need it | 10:49 | |
Matt-W | moritz_: it does need it, but it currently doesn't realise until too late | ||
moritz_ | Matt-W: but if all threads claim all locks in the same order, there can be no such deadlocks | ||
Matt-W | absolutely true | 10:50 | |
there is actually some doubt over whether it needs to hold lock B while it takes lock A | |||
pmurias | it could give back lock B and then take lock A and B in the correct order | ||
10:54
payload left
|
|||
Matt-W | hmm it's looking like it doesn't need lock A at all | 10:57 | |
there's some really twisted stuff going on here. Can I get a job working on Rakudo instead please? | |||
10:59
orafu left
11:00
icwiener joined
|
|||
jnthn | Matt-W: 'cus that's *never* twisted. | 11:00 | |
Matt-W: btw, your first assignment is to hunt down a GC bug cuasing a test fail. ;-) | 11:01 | ||
moritz_ | speaking of which, are we going to regress on slice.t for the release? | 11:02 | |
jnthn | moritz_: May be wise do so in order to avoid lots of reports about it. | 11:04 | |
Plus I don't see it getting fixed before the release. | |||
11:05
orafu joined
11:13
Avada joined
11:15
payload joined
11:19
amoc joined
11:20
donaldh left,
donaldh joined
11:41
orafu left
11:43
orafu joined
11:53
amoc left
11:57
[particle]1 joined
11:59
[particle] left
12:02
szabgab left
12:06
[particle] joined
12:17
ruoso joined
|
|||
ruoso bak! | 12:18 | ||
pmurias | ruoso: i'm working on making memcheck spit out a graph | 12:20 | |
12:21
[particle]1 left
|
|||
ruoso | cool | 12:21 | |
12:24
orafu left,
orafu joined
|
|||
pmurias | ruoso: how are we going to distribute the modified valgrind? | 12:27 | |
ruoso | pmurias, I guess you should cooperate with upstream instead of distributing it as a custom valgrind | 12:28 | |
pmurias | you mean make it a decent patch instead of a quick hack ;) | 12:29 | |
ruoso | yeah... ; | ||
:) | |||
masak | I had t/spec/S32-io/IO-Socket-INET.t fail on me during make spectest, but when I run it independently, it succeeds. | 12:35 | |
12:39
[particle] left
|
|||
pmurias | ruoso: graphviz is the think i should be using to display the graph? | 12:40 | |
ruoso | yeah... it certainly is the easiest thing to do... | 12:41 | |
pmurias | dot is choking on overly big graphs :( | ||
moritz_ | you usually just need enough memory :-) | 12:42 | |
12:46
payload1 joined
12:49
payload left
12:50
abra joined
13:28
orafu left,
orafu joined
|
|||
pmurias | ruoso: is just a simple graph showing the dependency of pointer addreses on each other usefull? | 13:28 | |
ruoso | might be | 13:32 | |
13:34
ejs2 joined
13:40
skids joined
13:43
ejs1 left
13:46
payload1 left,
lambdabot left
13:49
orafu left
13:50
orafu joined,
lambdabot joined,
PacoLinux joined
|
|||
masak | rakudo: $a = my $a | 14:00 | |
p6eval | rakudo 120364: OUTPUT«Null PMC access in getprop()» | ||
14:00
ejs1 joined
|
|||
masak | rakudo: my $a = ($a // 0) + 1; say $a | 14:01 | |
p6eval | rakudo 120364: OUTPUT«1» | ||
masak | when exactly does a variable come into existence in Perl 6? | 14:02 | |
jnthn | after the my $a | ||
masak | jnthn: not sure I grok fully what that means within a statement. | ||
jnthn | my $a = | 14:03 | |
masak | is the first example valid? | ||
Matt-W | no | ||
jnthn | ^ from here you can use it | ||
masak | std: $a = my $a | ||
p6eval | std 26871: OUTPUT«Potential difficulties: Variable $a is not predeclared at /tmp/1YJmrnyyvm line 1:------> $a = my $aok 00:02 36m» | ||
Matt-W | because the $a is used before the my $a happens | ||
masak | fair enough. | ||
jnthn | Right, STD is right there. | ||
masak | so the second example is indeed valid? | ||
jnthn | afaik yes | ||
14:03
bacek left
|
|||
masak | good. | 14:03 | |
jnthn | masak: BTW, that's how my Dog $fido .= new works. | 14:04 | |
masak | oh, right. | ||
Tene | morning all | ||
Matt-W | my Dog $fido = $fido.new, I assume | ||
jnthn | Since it de-sugars to my Dog $fido = $fido.new | ||
masak | Tene: oh hai! | ||
Tene | O HAI MASAK | ||
jnthn | Tene: lolz hai | ||
masak | Tene: today I've been to #python-genshi, talking with the nice Python people. | 14:05 | |
Tene | I don't want to write blog post about inter-hll library loading until I get spec review from pmichaud. | ||
But I got it working! | |||
masak | wow, cool! | ||
Tene++ | |||
jnthn | Tene++ | ||
Matt-W | jnthn: and, if I understand correctly, after my Dog $fido, $fido is a Dog proto-object, so calling .new on it makes it give you a real Dog object | ||
Tene | gist.github.com/113308 | ||
masak | Matt-W: except we call'em "type objects" now. | 14:06 | |
Tene | It works the other direction too. | ||
ruoso | std: $a = my $a; | ||
14:06
FurnaceBoy joined
|
|||
p6eval | std 26871: OUTPUT«Potential difficulties: Variable $a is not predeclared at /tmp/RIZ73liR4O line 1:------> $a = my $a;ok 00:02 36m» | 14:06 | |
Tene | But just in a branch, for rakudo. | ||
masak | Tene: wow, that's... wow. | 14:07 | |
Matt-W | Tene: That is the best thing I've seen all day, by miles | ||
(since all I've seen all day is my own utter stupidity, I may have to upgrade that to all week) | |||
jnthn | Matt-W: Correct. | ||
Matt-W | So now all we need is a completely correct working Perl 5 for Parrot, and we've got a migration path :) | ||
jnthn | Tene: That is The Awesome. :-) | 14:08 | |
Tene | :) | 14:09 | |
masak | Matt-W: it's surely a large project to port Perl 5 to Parrot. but I still think it could be done. | ||
Matt-W: I've been looking for clues why the previous attempts failed. haven't found much. | |||
Matt-W | I think part of the problem is that Perl 5 is so nebulous | ||
How do you know when you've got it right? | |||
masak | tests? | 14:10 | |
jnthn | I suspect with Perl 5 the way it'll go is embedding. | ||
14:10
ejs2 left
|
|||
jnthn | I've already pondered having a crack at embedding Perl 5 and seeing what it'd take ot make it look like a HllCompiler. | 14:11 | |
*to | |||
Which would at least get us able to eval in Perl 5. | |||
Then build it out from there. | |||
avar | What is required to build a HLLCompiler? I'm familiar with Perl embedding but not with parrot | 14:12 | |
ruoso | jnthn, I always thought you would implement it as a parrot language as well | ||
masak | let's leave it open as a possibility, shall we? | 14:13 | |
it's a darned big project, but we gotta have something to look forward to after 6.0.0... :P | |||
avar | masak: The previous attempt (that Nicholas did) failed because Parrot was unstable and didn't implement much of the required features for getting anything basic working, but that was years ago and things might be more mature now. | ||
masak | avar: that was a reason I was hoping for. | ||
Matt-W | well Parrot's good enough for Rakudo, so... | ||
masak | it's definitely not stable, but definitely more stable than a few years ago. | ||
Matt-W | (mostly) | ||
I didn't think Perl 5 was embeddable | 14:14 | ||
avar | Matt-W: *now* it is, but at the time I think you were lucky to be able to implement bc(1) on it:) | ||
Matt-W | avar: yeah it was a bit dodgy back then :) | ||
avar | Matt-W: Perl 5 is very embeddable, although the API isn't ideal, you can even inject your own ops, replace the runloop etc. | 14:15 | |
Which is what perl -d does (replace the runloop) | |||
Matt-W | interesting | 14:16 | |
that would perhaps be a far saner course than reimplementing it | |||
avar | Yes:) | ||
14:17
_mg_ left
|
|||
jnthn | ruoso: I think embed but make it look as much as possible like you're dealing with a Parrot language has a much higher chance of success. | 14:18 | |
ruoso: I'm open to people trying other approaches too of course. But if I was going to help with one, I'm much more inclined to go for the quick win. | 14:19 | ||
ruoso | i see... | ||
but I wonder if having the whole stack in Parrot wouldn't make the integration more powerfull | |||
of course XS would be a problem | 14:20 | ||
jnthn | Right. | ||
I just see far too many problems to solve with anything other than the embeding route. | |||
ruoso | but I wonder if a lot of what's in XS wouldn't be ported to parrot anyway | ||
jnthn | Which in itself will have enough difficulties anyway. | ||
Matt-W | I think embedding is definitely worth a try | 14:21 | |
A serious try | |||
ruoso | the harder issue is the way p5 recurses in the C stack | ||
Matt-W | and if it can be wrapped up in something that looks like a Parrot HLL, that'd be fantastic | ||
ruoso | I already consider a custom p5 for SMOP integration... | 14:22 | |
pmurias | ruoso: Coro takes care of everything | 14:24 | |
14:24
skids left
|
|||
ruoso | not everything... when you 'require', it will still recurse in the C stack | 14:25 | |
14:27
skids joined
|
|||
masak | rakudo: multi infix:<o_O>(Str $a, Str $b) { ($a.comb Z $b.comb).join("") }; say "HloWrd" o_O "el ol!" | 14:30 | |
p6eval | rakudo 120364: OUTPUT«Hello World!» | ||
masak | :-> | ||
Matt-W | that's twisted | 14:31 | |
but rather entertaining | |||
simcop2387 | neat | ||
masak | Perl 6 is deeply neat. | ||
jnthn | omg. | ||
Matt-W feels his internal counter remove a day until Christmas | 14:32 | ||
Tene | jnthn: eh? | ||
14:32
ejs1 left
|
|||
pmurias | ruoso: Coro saves the C stack | 14:34 | |
jnthn | Tene: Just being horrified/impressed by masak's infix. :-) | 14:36 | |
Tene | ah | ||
masak | there's more where that came from! :P | 14:37 | |
not right now, though... | 14:38 | ||
Matt-W | rakudo: multi postfix:<:-)>(Str $a) { $a ~ " :-)"}; say $a :-) | 14:42 | |
bah | |||
p6eval | rakudo 120364: OUTPUT«Scope not found for PAST::Var '$a' in in Main (src/gen_setting.pm:3122)» | 14:43 | |
Matt-W | think before you type | ||
rakudo: multi postfix:<:-)>(Str $a) { $a ~ " :-)"}; say "A" :-) | |||
p6eval | rakudo 120364: OUTPUT«A :-)» | ||
Matt-W | I can cause so much mess with this | ||
muahahaha | |||
Matt-W rewrites Form to use custom operators instead of subs | |||
Can we do circumfix operators yet? | 14:44 | ||
masak | Matt-W: try it! | ||
Matt-W | I can't think of one now | 14:47 | |
Tene | yes, we can. | ||
Matt-W | woohoo! | ||
Tene | rakudo: sub circumfix:<` `> ($a) { say "omg dood: $a" }; `"matt-w"` | ||
p6eval | rakudo 120364: OUTPUT«omg dood: matt-w» | 14:48 | |
Tene | I have a local library I haven't committed anywhere that uses ⦃ 1, 3, 5 ⦄ to define a set. | ||
That's what i implemented the circumfix ops for, actually. | 14:49 | ||
blogs.gurulabs.com/stephen/2009/05/...m-ops.html | |||
Matt-W | nifty | ||
masak | mberends: DO YOU REALIZE WHAT THIS MEANS!?!? | 14:51 | |
masak calms down a bit | |||
mberends: ahem. it means that we can work around the lack of `...` in Rakudo using a syntax that looks exactly like that. | 14:53 | ||
mberends: it should even be possible to make it forwards-compatible. :) | |||
ruoso | masak, it doesn't really look like... because of the extra " " | 14:56 | |
masak | oh no... :/ | ||
masak didn't think of that | |||
oh well, it's back to oval seven, then. | 14:58 | ||
15:03
lambdabot left,
wayland76 left
15:04
lambdabot joined,
wayland76 joined
15:20
donaldh left,
donaldh joined
|
|||
masak | actually, I'm not sure where the `...` effort stalled this time. ISTR writing to the Parrot list, and people answered, "yes, we'll get to it". | 15:28 | |
pmichaud | good morning, #perl6 | 15:29 | |
masak | mornin', pmichaud. | 15:30 | |
pmichaud | (custom circumfix) I should note that the current code for defining custom circumfixes may be particularly fragile | ||
masak | pmichaud: it seems there will indeed be a Perl 6 hackathon in Stockholm by the end of this month. | ||
pmichaud | masak: excellent. So, "Stockholm" for this month's release? Or should we wait? | 15:31 | |
jnthn | hi pm | ||
masak | I think this month is fine. | ||
pmichaud | same possibly for postcircumfix. | 15:32 | |
jnthn | pmichaud: custom postcircumfixes just don't work. | ||
pmichaud | that's what I would expect. | ||
jnthn | Tried that one already. | ||
;-) | 15:33 | ||
masak | pmichaud: all this talk about fragility... is that an invitation to stress-test some particular aspects of the circumfix operators? :) | ||
jnthn | I was surprised custom circumfixes work. | ||
pmichaud | jnthn: they "work" only through luck, I suspect. | ||
masak: you can stress test them if you want, but fixing them will require protoregexes. | |||
masak | aha. | ||
masak remembers discussions about protoregexes from August | 15:34 | ||
moritz_ | back then I wrote something about why they are so important | ||
along with LTM | |||
15:36
cspencer joined
15:38
Psyche^ joined
15:41
meppl joined
|
|||
pasteling | "pmurias" at 78.8.5.128 pasted "how the leaks in an "1;" look like" (856 lines, 21.5K) at sial.org/pbot/36688 | 15:42 | |
15:42
Avada left
|
|||
ruoso | pmurias, I've isolated a less verbose leak case | 15:44 | |
pugs_svn | r26872 | ruoso++ | [re-smop] add another test that shows a memory leak; | ||
pmurias | with --empty-setting we have 6 leaks | ||
Tene | pmichaud: did you see my mail? | 15:45 | |
pmichaud | Tene: I'm catching up on email now. | 15:46 | |
Tene | OK | ||
pmichaud | I'll jump directly to it if you can tell me the subject line :-) | ||
nm, I found it. | |||
Tene | inter-language library loading spec (and implementation) | 15:47 | |
pmichaud | I think it was to be named 'load_library' | ||
Tene | That seems semantically odd to me, but allison felt the same way, so sure. | 15:48 | |
pmichaud | it does actually load the library, doesn't it? | ||
Tene | rakudo, for example, will only *load* the library the first time it's asked for it. | ||
if I ask for the library again, it just returns the cached copy. | |||
pmichaud | that's consistent with 'load_bytecode', fwiw | 15:49 | |
Tene | Yeah. | ||
I don't actually feel strongly about it. | |||
pmichaud | the return value is a hash? | ||
ruoso lunch & | |||
Tene | I didn't know exactly what should be returned, so I thought i'd stuff all potentially relevant information into a hash. | ||
pmichaud | part of me wants it to be a Capture | ||
so we can have positional and named return values. | 15:50 | ||
but a Hash is fine for now. | 15:51 | ||
(less complications to worry about) | |||
why is name: ['list', 'of', 'strings'] ? | |||
why not name: 'list::of::strings' ? | |||
Tene | use Foo::Bar; import Foo.Bar; require 'Foo/Bar' | 15:52 | |
different languages represent libraries differently, but a list of strings seems fairly universal. | |||
pmichaud | I don't understand. Each compiler already has its own "parse_name" method that would dtrt with a string. | ||
Tene | So it's up to the requesting language to split the name according to their own conventions. | 15:53 | |
pmichaud | oh, from the requesting language's perspective... hmmm... | ||
Tene | Right. From perl, I want to say: use Foo::Bar:lang<python>; | ||
jnthn | I don't think the language we're tyring to import the module from should have to know about how to parse modules names from the requesting language. | ||
Tene | not use "Foo.Bar":lang<python>; or whatever | 15:54 | |
pmichaud | right | ||
okay, makes sense to me. | |||
jnthn | Plus parse_name would assume the import syntax matches the other names syntax, which holds in Perl but I ain't 100% sure about everywhere else... | ||
15:55
Patterner left,
Psyche^ is now known as Patterner
|
|||
pmichaud | would it make more sense for the name argument to be a required positional, instead of a named argument? | 15:55 | |
i.e., compiler.'fetch-library'($P0) instead of having to build a 'request' hash for it? | |||
Tene | That certainly might make more sense. | 15:56 | |
I'm not opinionated about that. | |||
pmichaud | I mean, parrot supports true named parameters, we might as well use them :-) | ||
Tene | The only question is whether it's an issue requiring all languages to have a slurpy named parameter in the function signature. I suspect not. | 15:57 | |
pmichaud | I would think "not" -- this is a HLLCompiler object, after all. | 15:58 | |
Tene | Right. | ||
pmichaud | I suppose one might want to create the HLLCompiler object methods in $otherlang... but in that case they can easily shim the slurpy nameds to match the interface. | ||
15:59
exodist joined
|
|||
Tene | That was my original hesitation, yes. | 15:59 | |
pmichaud | since the rest of pct makes use of named arguments and parameters, I'm not sure this is the place to make a distinction. :-) | 16:00 | |
16:00
justatheory joined
|
|||
Tene | Yes, agreed. | 16:00 | |
pmichaud | Anyway, I'm very happy with this. | ||
"Make it so." :-) | |||
Tene | It's not perfect, there are still a few edges that don't work quite right... | 16:01 | |
for example, use Foo:lang<bar>; doesn't register Foo as a symbol for the compiler, doesn't create a Foo namespace, etc. | |||
pmichaud: it's already so. look at the hll-load-library branch in rakudo. | 16:02 | ||
merge it to master and it will be implemented in rakudo and cardinal. the only other big step is adding a similar method to the PIR compiler. | |||
pmichaud | iiuc, use Foo:lang<bar> shouldn't create a Foo namespace as much as it binds a "Foo" lexical into the current scope. | 16:04 | |
Tene | Yes, it doesn't do that either. Yet. | ||
pmichaud | although that Foo lexical really probably ought to be a type-object | ||
Tene | It does work for importing the symbols from the remote namespace, though, as the paste demonstrates. | ||
So adding additional data to support that should be easy. | 16:05 | ||
pmichaud | correct. | ||
Tene | Anyway, can we get that branch merged into rakudo before the release? | ||
pmichaud | if you merge it, yes :-) | ||
pmichaud wields his +1 sword of delegation. | |||
Tene | Pushed. | 16:07 | |
masak | that was fast. | ||
Tene | pmichaud: can you point out the right place for me to add this to the parrot compiler? I might have time to do that today. Or would oyu prefer to wait until after the parrot release? | 16:08 | |
pmichaud | Tene: parrot compiler meaning HLLCompiler or something else I'm not thinking of at the moment? | ||
Tene | use Foo:lang<PIR>; | ||
or :lang<parrot> | |||
or whatever is appropriate there. | 16:09 | ||
pmichaud | do we have a 'parrot' compiler yet? | ||
or are you proposing to create it? | |||
Tene | There's a registered PIR compiler, at least. | ||
pmichaud | yes, but it's not a HLLCompiler, nor does it have methods. | ||
Tene | ah. | ||
pmichaud | my idea has been to create a 'parrot' HLLCompiler, that does support the method interface | 16:10 | |
Tene | Yes, me too. | ||
Loading parrot libraries from rakudo has been a long-requested feature. | |||
pmichaud | well, those libraries will also need to support the exporting interface | ||
Tene | well, as long as they're in a namespace corresponding to their filename, it shouldn't be an issue. | 16:11 | |
the parrot compiler's fetch-library or load-library will just need to locate the .pir or .pbc, load it, and fetch from the namespace. | |||
dalek | kudo: f77ad8a | tene++ | perl6.pir: Initial implementation of the fetch-library method on the compiler. |
||
kudo: 1639d85 | tene++ | (6 files): Switch rakudo to register itself as a compiler for 'perl6' (lowercase) |
|||
kudo: 6b43f5d | tene++ | src/ (2 files): Add support for loading foreign libraries. |
|||
kudo: 23faa00 | tene++ | perl6.pir: Add the namespace to the hash returned by foreign library requests. |
|||
kudo: 26dfbab | tene++ | : Merge branch 'hll-load-library' |
|||
pmichaud | so, it would assume that all symbols are exported? | ||
16:13
pmurias left
|
|||
Tene | That seems reasonable enough for pir-level libraries. If that's awkward for you, just ask that no symbols be exported and look them up individually, perhaps, or specify locally what symbols you want from the library. | 16:13 | |
16:13
masak left
|
|||
Tene | (Which rakudo doesn't support now, and I'm not sure if that's specced) | 16:13 | |
pmichaud | I think that's a bit of a problem for pir-level libraries, personally. | ||
Especially since methods still place themselves in the namespace by default. | 16:14 | ||
Tene | Well, we'll delay that until after the Parrot release, then, to try to work something out. | ||
pmichaud | Yes, I think that might be better. | 16:15 | |
Tene | I'll at least add this to pynie today, though. | ||
pmichaud | okay, that sounds good. | ||
Tene | :) | ||
(Cardinal doesn't quite count as a real language :) ) | |||
pmichaud | we should probably have the 'parrot' HLLCompiler provide some helper methods to make it easier for PIR-based libraries to indicate what should be exported. | ||
16:18
awarefish joined
16:19
finanalyst left
16:21
rewt joined
16:24
cspencer left
|
|||
TimToady | @tell JDlugosz yes, S11:573 specs the separate compilation principle that implies each modules starts in its own SETTING | 16:25 | |
lambdabot | Consider it noted. | ||
ruoso | TimToady, hi... it would be interesting if you review the conversation I had with JDlugosz in the weekend... I said a lot of things, and it would be nice if someone sees if they are correct or not ;) | 16:29 | |
TimToady, the most important being (1,2,3;4,5,6) is equivalent to ((1,2,3),(4,5,6) | 16:31 | ||
) | |||
16:34
cspencer joined
16:41
payload joined,
ZuLuuuuuu joined
16:45
cdarroch joined
16:53
barney joined
16:55
cspencer_ joined,
cspencer left
16:56
ZuLuuuuuu left,
cspencer_ left,
cspencer joined
17:06
cspencer_ joined,
cspencer left
|
|||
TimToady | ruoso: yes, haven't finished backlogging, but both of those are CoC | 17:06 | |
we still use the term "list" in places we really mean capture | 17:07 | ||
17:07
cspencer_ left,
cspencer joined
17:15
ejs joined
17:28
abra left
|
|||
cspencer | perl6: class Foo { constant Num bar is export = 42 }; say "bar: " ~ bar | 17:29 | |
p6eval | pugs: OUTPUT«***  Unexpected "bar" expecting ":" or "(" at /tmp/LMrUPpES6k line 1, column 26» | ||
..rakudo 26dfba: OUTPUT«Null PMC access in get_string()» | |||
..elf 26872: OUTPUT«Permission denied at ./elf_h line 324.» | |||
cspencer | std: class Foo { constant Num bar is export = 42 }; say "bar: " ~ bar | ||
p6eval | std 26872: OUTPUT«Undeclared routine: bar used at 1 ok 00:04 36m» | ||
17:30
M_o_C joined
17:36
eternaleye left
|
|||
TimToady | constants are lexically scoped | 17:38 | |
ruoso | TimToady, note the "is export" | 17:39 | |
TimToady | and nothing defines what to do with "is export" yet | ||
on inlined code | |||
ruoso | ah... right... sure | ||
TimToady | it's not clear whether they should be auto-inline-imported or not | ||
ruoso | I'd say it shouldn't | ||
TimToady | but then what's the syntax for doing so? | ||
use class {...} is kinda bogus | 17:40 | ||
ruoso | import Foo; | ||
TimToady | class is used {...} | ||
ruoso runs | |||
TimToady | import my class Foo {...} could work | ||
ruoso | it doesn't even need to be in the same declaration... | ||
"import Foo" would look for Foo as a package, and run Foo::.EXPORTALL; | 17:41 | ||
TimToady | except in this case, it is a declaration | ||
unlike p5's runtime import | |||
17:41
DemoFreak joined
|
|||
TimToady | or it doesn't happen soon enough | 17:41 | |
inline my class {...} or some such maybe | 17:42 | ||
ruoso | TimToady, but a keyword to import the symbols from an arbitrary package is missing | ||
since require implies loading a module by the file | 17:43 | ||
and it can even be compile-time | |||
TimToady | that's why I was proposing a keyword :) | ||
ruoso | ah... right... so you mean "import Foo;" would also be possible | 17:44 | |
moritz_ | somehow the rss feed of rakudo.org doesn't match what's on the page | ||
TimToady | or "inline Foo", if the import is just the underlying method | ||
inline basically being short for "inlineuse" | 17:45 | ||
or "embed" maybe | |||
ruoso | hmm... | ||
TimToady | maybe not | 17:46 | |
the metaphor I'm looking for is that normally this is a separate file, but we're putting it here | |||
ruoso | I kinda think "import" does express the correct semantics | ||
TimToady | "immediate" | ||
except not to P5ers | |||
mabye can switch it | 17:47 | ||
ruoso | but Foo might have been declared somewhere else | ||
TimToady | point is you give it an argument indicating a module | ||
inline my class Foo {...} is still just an arg to inline | |||
ruoso | suppose you just want to import using a different tag in some scope | 17:48 | |
TimToady | much like in "use Module $foo", $foo is just an arg evaluate at compile time | ||
ruoso | module Foo { sub foo is export(:bla) {}; sub bar is export(:ble) }; { import Foo :bla; foo() } { import Foo :ble; bar() }; | 17:49 | |
TimToady | we can redefine "use" as "BEGIN{require};import" | ||
then import could be compile-time | |||
it will give pyfolk the heebeejeebies | 17:50 | ||
and instead of calling an "import" in the module, it should implicitly call an "export" routine, probably | 17:52 | ||
ruoso | EXPORTALL actually | ||
TimToady | I could live with that | ||
why ALL? | |||
ruoso | it's in S11 | ||
but I guess it accepts ALL the tags you ask | 17:53 | ||
TimToady | I didn't write that part of the spec. :) | 17:55 | |
and it's not exactly clear what it means | 17:56 | ||
and in any case, the current example of nested modules is probably wrong, if we require explicit import from inlined modules | |||
pugs_svn | r26873 | moritz++ | [t] remove test for unspecced feature ("is value" trait) | ||
18:11
fridim_ joined
|
|||
ruoso | TimToady, I always thougth that example to be weird | 18:14 | |
pugs_svn | r26874 | moritz++ | [t/TASKS] remove task for delete file | 18:22 | |
r26875 | moritz++ | [t] remove obsolete object_id.t | |||
18:24
barney left
18:34
awarefish left
18:37
angelixd joined
18:39
dduncan joined
18:47
cspencer_ joined,
cspencer left
19:05
spx2_ joined
|
|||
dalek | kudo: 798856d | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 390 files, 11294 passing, 0 failing |
19:16 | |
19:16
spx2 left
19:20
donaldh left,
donaldh joined,
hercynium joined
19:30
cspencer_ left
19:37
rewt left
19:46
Jurek joined,
Jurek left
19:50
rewt joined
19:53
payload left
19:57
frew|work left
19:59
kane_ joined,
kane_ is now known as kane[laptop]
20:11
lichtkind joined
|
|||
lichtkind | @seen masak | 20:12 | |
lambdabot | I saw masak leaving #perl6 3h 58m 24s ago, and . | ||
Tene | hi lichtkind. | 20:14 | |
what's up? | |||
lichtkind | Tene: im just urging to become the first real november user :) | 20:15 | |
Tene: and want to since up with the guy who makes the gsoc work on p6 doc | 20:16 | ||
since im maintainer of Perl6::Doc | |||
20:16
jferrero joined
|
|||
lichtkind | Tene: yeah and im currently writing the article i had deliver 2 days ago :) | 20:16 | |
jnthn | Tene: ping | 20:17 | |
20:17
jferrero left
|
|||
Tene | jnthn: pong | 20:17 | |
jnthn | hi | ||
Got a moment for some exception-y questions? | |||
Tene | I do. | ||
jnthn | OK, so I'm trying to find, from an exception, where we were when the exception was thrown. | ||
Tene | what specifically do you want? | 20:18 | |
jnthn | I'd assumed that all exceptions had a resume cont. But, they don't... | ||
Tene | ah. | ||
c-level exceptions don't. | |||
jnthn | OK | ||
Tene | :( | ||
jnthn | I've just been trawling through the code to find any way to work this out though. | ||
Tene | i couldn't figure out how to make a resume cont from C, nor what it would mean to invoke it. | ||
jnthn | And haven't come up with much. | ||
I don't need a resume cont really, I just need to know the place we were at (down to the nearest PIR location is fine) when it was thrown. | 20:19 | ||
Tene | now, exceptions do have a backtrace attribute. | ||
jnthn | Aye. It was null... | ||
Tene | I don't know what's in it... Ah. | ||
jnthn | And I didn't find what sets it. | ||
Tene | Yes, this matches what i found. | ||
20:19
cdarroch left
|
|||
jnthn | If we could find out the current exception handler we were running, then in theory we could look at it's from_ctx since it inherits from Continuation. | 20:20 | |
Tene | but look at pdb_backtrace | ||
jnthn | (Though not totally sure how we'd do that either.) | ||
Tene | vim -t PBD_backtrace | ||
jnthn | But then after pondering that I noticed that exceptionhandler overrides invoke and doesn't set from_ctx... | 20:21 | |
Well, the thing about PDB_backtrace is that it just does | |||
Parrot_Context *ctx = CONTEXT(interp); | 20:22 | ||
And starts looking from there. | |||
Tene | Right. | ||
jnthn | That works just fine before we invoked the exceptionhandler. | ||
Tene | When you're in an eh, the caller is the place the exception was thrown from. | ||
wait, yeah, you're right. | |||
jnthn | But ExceptionHandler is a continuation, so we end up without it as a caller. | ||
Though I tried looking at the current caller_ctx first too... :-) | 20:23 | ||
20:23
meppl left
|
|||
jnthn | Then realized...no...that won't work. :-( | 20:23 | |
20:25
payload joined,
payload left,
payload joined
|
|||
Tene | jnthn: I suspect it's likely that eh *should* set from_ctx | 20:27 | |
jnthn | Tene: OK, that's an easy enough change, but then how do I know what eh I am currently in? | ||
As in, from the .backtrace() method of Exception? | |||
Tene | jnthn: ask the interpreter. | ||
walk the call chain up? | |||
jnthn | Ah, yes. | 20:28 | |
20:28
pmurias joined
|
|||
jnthn | OK, let me try that... | 20:28 | |
pmurias | ruoso: the test you commited seems to show a use of a dead value not a leak | 20:29 | |
Tene | jnthn: To be clear, my main message is "I couldn't get it working either" and "I'm very much convinced that exception handling in Parrot is incorrect in various ways, whis being one of them" | ||
jnthn | Tene: Oh, argh...wait. | ||
ruoso | pmurias, is it the test's fault? or is it really a bug? | ||
pmurias, it does say it as a memory leak in the valgrind report | 20:30 | ||
jnthn | Tene: It appears that there is no from_ctx on a cont; I mis-read. | ||
Tene | ah | ||
pmurias | ruoso: checking... | 20:31 | |
jnthn | Tene: oh, wait, there is... | ||
I just can't see where we populate it. | |||
pmurias | ruoso: not in HEAD | 20:33 | |
ruoso | hmm... weird... | ||
20:33
ejs left
|
|||
jnthn | Tene: OK, I'm thoroughly confused... | 20:33 | |
ruoso | oh wait... | ||
pmurias, you're right... | |||
Invalid read of size 4 | 20:34 | ||
ruoso eyes-- | |||
Tene | jnthn: :) | ||
jnthn | struct Parrot_Context *from_ctx; /* sub, this cont is returning from */ | ||
Tene: It feels to me what we really want is just something on Exception that says "who threw me". | 20:36 | ||
Tene | That would not be out of place at all. | 20:37 | |
That would be completely appropriate, iMO. | |||
jnthn | OK, how would you go about it though? I mean, we have a Parrot_Context... | ||
But that's hard to attach. | 20:38 | ||
(Since it's not a PMC, and we already use set_pointer for something else...at least, it's hard without poking into the exception's guts). | |||
We could attach the current ret_cont which points to the correct context though. | 20:40 | ||
And note to attach a context PMC when we have one. | |||
Tene | jnthn: add an attribute to Exception.pmc and add a method to get/set the location it was called from. | ||
don't futz with get/set pointer. | 20:41 | ||
or other overrides. | |||
jnthn | What would it return for getting it though? | ||
Can't be a continuation, and can't easily be a context (since they're not a PMC) | 20:42 | ||
(On that note, what to pass for setting too...) | |||
pmurias | ruoso: it's a more serious error | ||
jnthn | I'm happy enough to make it set-only for now. | ||
ruoso | pmurias, does that mean you found it? ;) | ||
Tene | jnthn: for a workaround for now, you could just add a method to exception.pmc that would build a backtrace report string and return it. | 20:43 | |
pmurias | no :( | ||
Tene | it would be fairly special-use, but wouldn't be too out of place... maybe pending on whiteknight's work on context pmcs? | 20:44 | |
jnthn | Tene: Yeah, when we have context PMCs this all gets a bunch easier. | 20:45 | |
Tene | jnthn: so I wouldn't feel bad about stuffing a context pointer or some such in an attribute and having a method to return a string for now, and punt until later. | ||
20:48
bacek joined
|
|||
jnthn | Tene: OK, sounds good, I'll do something along those lines with comments to that effect. | 20:50 | |
pmurias | ruoso: a commented RELEASE of mold in Code | 20:52 | |
20:54
frew|work joined
|
|||
ruoso | pmurias, hmm... commented RELEASE sounds like trouble... | 20:55 | |
does uncommenting that solve the problem? | |||
Tene | jnthn: also add a reference to the appropriate ticket | 20:56 | |
20:56
pmurias_ joined
|
|||
ruoso decommute & # headache-- | 20:57 | ||
20:57
ruoso left
|
|||
jnthn | Tene: nodnod | 20:57 | |
20:57
pmurias left
20:58
pmurias_ is now known as pmurias
21:00
icwiener left
|
|||
pugs_svn | r26876 | moritz++ | [S02] get rid of the each() comprehension | 21:08 | |
r26876 | moritz++ | [S09] document speculative each() junction with grep semantics | |||
21:10
Chillance joined
21:11
Chillance left,
Chillance joined
21:12
Chillance left,
Chillance joined
21:13
pmurias left
|
|||
jnthn | woohoo | 21:16 | |
Null PMC access in getprop() | |||
in method A::b (crash2.p6:3) | |||
(followed by correct bt) | |||
moritz_ | jnthn++ | ||
jnthn | Tene: Want to peek at my patch? | ||
Tene | jnthn: sure | ||
pugs_svn | r26877 | moritz++ | [t] remove now officially deprecated each.t | 21:17 | |
moritz_ never thought that deleting other people's work could be so satisfying ;-) | |||
jnthn | Tene: gist.github.com/113752 | ||
Tene: Am running tests too. | 21:25 | ||
Tene | jnthn: that looks mostly okay to me... I'm not very awake right now, though. | 21:27 | |
21:39
NoirSoldats left,
NoirSoldats joined
21:40
ElectricHeavyLan joined
|
|||
pugs_svn | r26878 | pmurias++ | [re-smop] comment RELEASE | 21:40 | |
21:44
tulcod joined
|
|||
tulcod | final perl 6 specification: this year/next year/within three years/within five years/within ten years? | 21:44 | |
jnthn | Tene: There was one problem with it, didn't handle context memroy management as it should have... | ||
Tene: Fixed that, comitting now... | |||
Tene | tulcod: when we have everything tested and implemented. | 21:45 | |
tulcod | will it take at least three years? | ||
Tene | tulcod: when we have everything tested and implemented. | 21:46 | |
this is being done by a volunteer effort. | |||
tulcod | i got that | ||
moritz_ | if you help, it will be faster ;-) | ||
tulcod | but i mean.. how much work is still left? | ||
Tene | We have no paid employees. | ||
There is a certain undefined amount of work left to do. We'll be done when we've finished that amount of work. | |||
tulcod | so it'll take at least three more years? | 21:47 | |
Tene | rakudo.org/status shows our general rate. | ||
moritz_ | tulcod: there are major subsystems which are not done yet, and it's hard to estimate how much work they are | ||
tulcod | ah :) | ||
moritz_ | for example concurrency | ||
or Unicode levels for strings | |||
jnthn | tulcod: You may also find it interesting to ask, not just how much is left (which is very hard to answer) but how much has been done already. | ||
Tene | It's been estimated that a complete spec will include maybe about 20k tests, at a vague guess. | ||
I've heard different estimates from different people. | |||
tulcod | jnthn: well, hwat has been done already? :) | 21:48 | |
Tene | So we're maybe around halfway done. | ||
For some definition of "halfway" | |||
tulcod | Tene: hm, i see | ||
moritz_ | object system, multi dispatch, regexes and builtins have mostly been done by now | ||
jnthn | tulcod: The status page Tene pointed you at gives a good overview of where Rakudo - Perl 6 on Parrot - is at. | ||
Tene | tulcod: It's not so much a matter of time as it is a matter of there's still a lot of work to do, and we're relying on volunteers to do it. | ||
We're making good progress for now... but as you can see, we've sometimes gone for a while without much progress. | 21:49 | ||
tulcod | Tene: yeah, i understand it's all a matter of people wanting to do it :) | ||
Tene | If Jonathan gave up, for example, it would take *much* longer. | ||
If we got a second Jonathan, it would be *much* faster. | |||
tulcod | jnthn: hm, i guess the regexes were most of the work? | ||
Tene | So even one person can make a huge change in the amount of time. | 21:50 | |
moritz_ | Tene is right, jnthn's absence can be seen in the graph pretty easily | ||
jnthn | Tene: If you got a second Jonathan, they'd probably just go to the pub together and get nothing done. ;-) | ||
tulcod | Tene: auch - this project has a bus factor of 1.5? | ||
moritz_ | tulcod: that's hard to say... the regexes aren't done in Rakudo itself | ||
tulcod | hm, i guess that's true | ||
moritz_ | bus factor of 1.5 to 2, I'd say | 21:51 | |
jnthn | tulcod: The regexes are a lot of effort, but far from the only bit thing. But yes, they are a bit part of what has been done so far and what remains. | ||
Tene | tulcod: pmichaud is the other big contributor. | ||
jnthn | erm, only *big* thing | ||
tulcod | Tene: okay, that's good to know :) | ||
jnthn | Tene also contributes awesome stuff. ;-) | ||
moritz_ | like cross-language library loading, today ;-) | ||
Tene | tulcod: I think we *could* still get something finished if they both left us, but it would take a lot longer. | 21:52 | |
21:52
[particle]- left
|
|||
moritz_ | or was that yesterday? /me confused.. | 21:52 | |
21:52
Whiteknight joined
|
|||
tulcod | so is it easy to get started on the rakudo source, or is there quite a learning curve (close to gcc's)? | 21:52 | |
jnthn is still very happy to see that. | |||
Tene | moritz_: time zones. :) | ||
tulcod: it's very easy to get started, IMO. | |||
Depends on your existing knowledge and experience, though. | |||
tulcod | is there any documentation? | ||
moritz_ | sure | ||
Tene | but, developing tests is very easy | ||
and a great way to get started | |||
tulcod | Tene: well, i never really worked on a big project... i have read code of fairly big projects, though | ||
Tene | there are still many tests to be written. | ||
moritz_ | there's the docs/ sub directory in Rakudo | 21:53 | |
tulcod | interesting | ||
Tene | I can give you a commit bit for the tests right now, if you'd like. | ||
tulcod | nah, i guess i should read up on stuff first | ||
plus, i'm currently having my final exams, so i shouldn't really be having this chat atm | |||
Tene | tulcod: also, this irc channel is very helpful... we're all glad to help you however we can. | ||
moritz_ | and perlcabal.org/syn/ for the language specification (don't expect to understand it all on first read) | ||
Tene | :) | ||
tulcod | Tene: well yeah, most projects hide behind mailing lists | ||
jnthn | Perl 6 can turn into a...big...distraction. :-) | ||
But a very interesting and fun one. | 21:54 | ||
21:54
skids left
|
|||
Tene | tulcod: there's also a fairly good mailing list, I hear. I don't do so well on mailing lists. I prefer IRC. | 21:54 | |
tulcod | Tene: see: you don't even use the mailing list, apparently | ||
that would be impossible in 95% of all other serious projects | |||
moritz_ | that depends on how you want to contribute | 21:55 | |
if you just ask in the IRC channel "anything I have to read before I implement $feature?", that's fine I think | 21:56 | ||
tulcod | hm | 21:57 | |
well, you might find me back in a week or two :) | |||
moritz_ | that would be nice | 21:58 | |
tulcod | can't promise anything though, my interest moves every day | ||
jnthn | tulcod: There's lots of different interesting things in Perl 6. ;-) | 21:59 | |
tulcod: Good luck with the exams, BTW. | |||
tulcod | jnthn: thanks :) | ||
jnthn | Tene: Comitted patch with tweak to manage context memory right. | ||
Tene | :) | 22:00 | |
jnthn++ | |||
jnthn | Was very keen to get this patched up before the next release. | ||
22:01
tulcod left
|
|||
dalek | kudo: 9d2934e | jnthn++ | build/PARROT_REVISION: Bump Rakudo up to Parrot r38916, to take advantage of the fixes to exception backtrace generation and hll_map of MultiSub. |
22:03 | |
jnthn | I sneaked MultiSub HLL mapping in too. ;-) | 22:04 | |
22:04
iblechbot left
|
|||
jnthn | (Actually wrote taht patch on Friday and never comitted it.) | 22:04 | |
22:09
kane[laptop] left
22:16
alester left
22:17
jferrero joined
|
|||
pugs_svn | r26879 | pmurias++ | [re-smop] MildewSOLoader uses dlclose | 22:18 | |
22:20
M_o_C left
|
|||
s1n | Tene++ for that LolDispatch :) | 22:34 | |
22:37
cognominal left
22:38
lichtkind left
22:41
meppl joined
22:42
mikehh_ joined
22:45
mikehh left
|
|||
Tene | jnthn: does that mean we can get sub in class working now? | 22:46 | |
22:47
mikehh__ joined
22:48
mikehh__ is now known as mikehh
|
|||
jnthn | Tene: It's on piece, others are in a (Rakudo) branch. | 22:52 | |
Tene | jnthn: let me know if you want help there. | ||
jnthn | Tene: Basically, there's some work to do before we can let everything just be a Perl6MultiSub. | ||
Tene: You're very welcome to help. :-) | 22:53 | ||
Tene: First issue is that Perl 6 multi-dispatch only works if it can find/generate a Signature. | |||
Tene: So before all the operators can become Perl 6, they need to respond properly to .signature | 22:54 | ||
I'm pondering that in the absence of a candidate having a signature, we'll check it's arity and generate an (Any, Any) style one. | |||
22:54
nsh joined
|
|||
jnthn | That'd get us all the non-override ops. | 22:54 | |
Then there'd be a little manual fix-up for others. | |||
We will be able to rip out the code to generate the junction variants, since Perl6MultiSub handles junctions for us. | 22:55 | ||
gen_whatever will need a fix but should be straightforward. | |||
Then it'll be looking at what's left over. | 22:56 | ||
But anyway, should ween us completely of Parrot's MultiSub. | |||
23:00
exodist left
23:01
DemoFreak left,
mikehh_ left
23:05
NoirSoldats left
|
|||
Tene | :) | 23:13 | |
23:18
dduncan left
23:20
donaldh left,
Trey left,
Chillance left,
donaldh joined
23:28
skids joined
23:35
bacek left
|