»ö« | 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:03 muixirt2 joined, muixirt2 left
DanielC Does the Perl 6 spec actually say that you can insert Parrot (ie. PIR) inside Perl 6 code? 00:09
Isn't that equivalent to saying that all Perl 6 implementations must support Parrot?
jnthn no, no 00:13
fuck I hate git sometimes
DanielC switch to darcs :-)
jnthn Sometimes I wish we'd stayed with svn *sigh* 00:15
DanielC jnthn: If the spec doesn't say that you can embed parrot in Perl 6, how does Rakudo get away with embedding Parrot in Perl? 00:19
00:19 Muixirt left 00:20 DemoFreak left
jnthn DanielC: We'll probably requite a use directive for it. 00:21
Rather than having it available by default.
DanielC ok
jnthn But anyone, the spec does say that quoting constructs are extensible.
And we just use one of those.
DanielC ok 00:22
jnthn So it fits well. Just shouldn't be allowed by default.
DanielC Ok. So it's just part of the language being very malleable.
A different program might have embedded C. 00:23
jnthn Yes.
OK, who knows how to tell git that I can commit because I *have* resolved the conflicts?
Now it won't let me, claiming they're unresolved.
DanielC dunno
jnthn oh, hmm 00:24
got it to do something, who knows what...
DanielC That doesn't sound very encouraging... ("git did something, don't know what")
jnthn well, I pushed it 00:25
we'll find out if anybody screams.
dalek kudo: 3f839b2 | jnthn++ | src/pmc/perl6multisub.pmc:
Improve Perl6MultiSub's caching. The main performance win is that we can cache multi-method dispatch requests as well as multi-sub dispatch ones. We also lazily create the MMD caches so we don't allocate them at all for multis that never get invoked (was cheap anyway so a very minor win). Finally, we cache a little later, so that if we get down to one candidate through an C<is default> then sometimes we cna cache that result too.
kudo: 24460c8 | jnthn++ | :
Merge branch 'master' of [email@hidden.address]
00:25 bacek joined
jnthn OK, after half an hour of fucking around with git, I can go to bed. *sigh* 00:26
Night all.
DanielC night
jnthn <- unimpressed
DanielC Is any character allowed in the module name? Can the module be called Foo::B$a*r ? 00:27
dalek kudo: d396ab4 | jnthn++ | src/pmc/perl6multisub.pmc:
One for change that git decdied it'd rather forget about. *sigh*
00:31
00:38 amoc^ joined 00:39 amoc^ left 00:46 agentzh joined
meppl good night 00:54
00:56 meppl left 01:04 lichtkind left 01:06 justatheory_ is now known as justatheory 01:13 DanielC left 01:20 nbrown joined 01:25 japhb left, pnu left, pugs_svn left, clkao left, antiphase left, Caelum left, zev left, jiing left, bacek left, cotto left, drbean left, JDlugosz left, Matt-W left, lumi left, frettled left, breinbaas left, shachaf left, buubot left, betterworld left, nsh left, ashizawa left, TimToady left, kolibrie left, omega left, tarbo2 left, sri_kraih left, presh is now known as bigpresh, bigpresh left 01:26 literal_ left, kane__ left, Patterner left, nnunley left, meteorjay left, presh joined, TimToady joined, omega joined, nsh joined, ashizawa joined, lambdabot joined, kolibrie joined, tarbo2 joined, irc.freenode.net sets mode: +o TimToady, agentzh left, andreasg_ left, szabgab left, cognominal left, Tene left, krakan left, frew|wor1 left, pnu joined, pugs_svn joined, clkao joined, antiphase joined, patmat joined, Caelum joined, jiing joined, zev joined, bacek joined, cotto joined, drbean joined, JDlugosz joined, BinGOs joined, betterworld joined, breinbaas joined, frettled joined, buubot joined, lumi joined, shachaf joined, Matt-W joined, agentzh joined, andreasg_ joined, szabgab joined, cognominal joined, Tene joined, krakan joined, frew|wor1 joined, felipe left, sri_kraih joined 01:27 literal_ joined, kane__ joined, Patterner joined, nnunley joined, meteorjay joined, pastorn joined 01:29 rhr_ joined 01:30 Whiteknight left 01:41 rhr left, japhb joined 01:58 zippete left 02:13 amoc^ joined 02:37 justatheory left 02:38 literal_ is now known as literal 02:40 snarkyboojum left, snarkyboojum joined 02:42 skids left
pasteling "japhb" at 76.191.190.8 pasted "Perl 6 routine to pull Linux 2.6 memory usage info (used for quickly measuring total memory leakage from within the process)" (13 lines, 414B) at sial.org/pbot/36967 02:47
japhb Thought that might be useful, though of course measuring a leak from within a leaking process risks finding itself .... 02:49
02:57 alester joined 03:03 justatheory joined 03:07 charsbar left 03:09 charsbar joined 03:18 araujo joined 03:20 donaldh left, donaldh joined 03:28 dukeleto left 03:29 dukeleto joined 03:30 dukeleto_ joined 03:34 dukeleto left 03:41 justatheory left 03:53 dukeleto_ left 03:54 Sark joined
JDlugosz hello all. 03:58
Sark hi, is perl5 != perl6 or why is #perl6 seperated with #perl ? 04:00
JDlugosz Perl 6 is very different.
We're also very elitist. 04:01
araujo #perl are perl6 phobic
Sark ahh ok :)
araujo except for TimToady ... he is the only one with no ego here
04:05 dukeleto joined 04:09 FurnaceBoy left
TimToady that's because everything is always my fault 04:11
04:16 FurnaceBoy joined 04:19 felipe joined
araujo :D 04:21
04:25 viirya joined, jrockway_ joined 04:31 dukeleto left, araujo left, charsbar left, snarkyboojum left, bloonix left, rewt left, jiing_ left, dalek left, phenny left, rewtv6 joined
cotto blame San Andreas. 04:31
04:31 jrockway left 04:32 windsok joined, dalek joined
TimToady that's only my most obvious fault 04:32
FurnaceBoy groans
you flawed me 04:33
04:33 Maddingue joined, charsbar joined 04:35 jnthn joined, jiing_ joined, buu joined
cotto There's no point in getting shaken up over it. 04:35
04:35 bloonix joined 04:37 dukeleto joined, araujo joined, snarkyboojum joined, rewt joined, phenny joined, yahooooo joined 04:38 yahooooo left, araujo left 04:39 yahooooo joined, araujo joined 04:42 FurnaceBoy left 04:44 jrockway_ left, jrockway joined 04:46 amoc^ left 04:51 rewt left 05:14 snarkyboojum left 05:15 snarkyboojum joined 05:19 dukeleto left 05:21 finanalyst1 joined 05:32 amoc joined 05:38 alester left, dukeleto joined 05:44 frew|work left 05:46 justatheory joined 05:53 kimtaro joined 05:55 awarefish joined 05:57 justatheory left 06:09 eMaX joined 06:50 eMaX left, DemoFreak joined 06:52 unitxt left 07:09 frew|work joined, eMaX joined 07:10 agentzh left 07:11 iblechbot joined 07:20 donaldh left, donaldh joined
Matt-W Good morning 07:33
araujo morning
07:36 barney joined 07:44 agentzh joined 07:48 flexibeast left 07:52 Muixirt joined 08:02 sparc joined
bloonix morning 08:14
08:14 awarefish left 08:21 snarkyboojum left 08:22 frew|work left 08:29 bacek left, tarskial joined 08:44 kimtaro_ joined 08:46 DanielC joined 08:49 kimtaro_ left 08:52 tarskial left 08:53 barney left, phenny left 08:54 barney joined, phenny joined 08:55 agentzh left 09:00 iblechbot left 09:01 kimtaro left 09:02 DemoFreak left 09:11 tulcod joined 09:12 kimtaro joined 09:16 eMaX_ joined 09:18 eMaX left 09:26 kimtaro left 09:38 flexibeast joined 09:40 zamolxes joined
DanielC Will Perl 6 have the equivalent of XS to allow people to use C in a module? (e.g. all the database related modules need C). 09:43
Matt-W there will be a way to call C libraries, yes 09:44
DanielC k
Matt-W currently you can do it via Parrot, but there'll be a way directly from Perl 6 at some point
AFAIK
jnthn o/ 09:45
DanielC Ok, so if someone wanted to, they could start doing that already via parrot.
Matt-W hi jnthn
DanielC o/ jnthn
Matt-W to a certain extent, yes
parrot's foreign function calling interface seems a little limited, but I've only glanced at it
DanielC ok
Matt-W there are opengl bindings and things for parrot floating around
DanielC I was thinking that in the not too distant future someone will have to write a package manager for Perl 6 packages, and that package manager probably wants to use a database to track dependencies. 09:46
Matt-W there has been much discussion on such subjects 09:47
DanielC Much of it here, in this very channel :-)
Matt-W yes
but I'd say that's the less obvious requirement for a DBI 09:48
web apps!
one of perl's traditional strengths
DanielC Less obvious, but more near-term.
09:48 sparc left
DanielC Package management will have to be dealt with relatively early on. 09:49
jnthn: You are not an op anymore?
jnthn DanielC: Seems there was some kind of network issue and I dropped off the channel.
09:51 viirya left 10:01 viklund joined 10:06 rewt joined
Muixirt is there some low level stuff like getting the address of a variable? 10:06
10:07 rewtv6 left
jnthn .WHICH 10:07
erm
.WHERE sorry
Muixirt rakudo: my Buf buffer='Test'; say buffer.WHERE 10:08
p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf buffer"␤in Main (src/gen_setting.pm:0)␤»
Muixirt rakudo: my Buf buffer; say buffer.WHERE; 10:09
p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf buffer"␤in Main (src/gen_setting.pm:0)␤»
Muixirt looks in the docs 10:10
payload rakudo: my Buf $buffer='Test'; say buffer.WHERE 10:11
p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf $buffe"␤in Main (src/gen_setting.pm:0)␤»
payload near $buffe without r? :-\ 10:12
Muixirt oh sigils 10:13
10:14 flexibeast left
Muixirt rakudo: my Buf @buffer; say buffer.WHERE; 10:14
p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf @buffe"␤in Main (src/gen_setting.pm:0)␤»
payload why is the _r_ gone in the error message?!
rakudo: my $a = 'bla'; say $a.WHERE 10:15
p6eval rakudo d396ab: OUTPUT«-1229246280␤»
payload rakudo: my $a = 'bla'; say $a.WHERE
p6eval rakudo d396ab: OUTPUT«-1229578056␤»
Muixirt ok payload 10:17
Muixirt still wonders what sigil is necessary for a Buf var 10:18
jnthn buf not yet implemented
payload rakudo: say Buf
p6eval rakudo d396ab: OUTPUT«Could not find non-existent sub Buf␤»
Muixirt buf and Buf? 10:19
10:21 pmurias joined
jnthn Muixirt: right. 10:25
Muixirt jnthn, assume that i have to call a C-function via nci, and that func requires the address and length of a chunk of already allocated memory 10:27
jnthn, what is the right way doing this? 10:28
pmurias ruoso: hi
ruoso hi pmurias 10:29
Matt-W that'd be a buf, I believe
jnthn Muixirt: At the Perl 6 level, probably something involving buf. Not sure that the foreign library stuff is spec'd much yet.
pmurias ruoso: i should start a blog for gsoc? 10:30
ruoso pmurias, it certainly would be interesting...
and actually, dukeleto kinda asked that 10:31
10:31 riffraff joined 10:35 flexibeast joined 10:39 barney left 10:41 DanielC left 10:46 tulcod left 10:50 sjohnson left 10:51 sjohnson joined
ruoso commute & 10:55
10:55 iblechbot joined, masak joined
masak greetings, versioned camels. 10:57
10:58 sjohnson left 10:59 sjohnson joined
viklund masak: what was it you wrote to Juerd? 11:00
masak viklund: that this has been a problem for quite some time.
viklund what?
masak viklund: the out-of-memory thing. 11:01
during Rakudo build.
viklund oki
the main problem is compiling the old pm files though...
masak :/ 11:02
viklund but hey, at least lichtkind has an account now ;)
masak indeed. viklund++ 11:03
11:04 DemoFreak joined
viklund idea for lightning talk: clone proto, install parrot/rakudo/web, write a weblog. 11:05
end with "Start develop in perl6 today!"
masak sounds wonderful. 11:06
viklund: you sure you're not coming to Lisbon?
viklund me and travel... I don't know, sounds scary. Besides, it's on average 30 degrees Celsisu in Lisbon in August... 11:07
masak hm, that actually hasn't crossed my mind. :)
interesting.
viklund have you checked the cost for travel and hotel? 11:08
masak not yet, no.
guess I should RSN. 11:09
viklund RSN??
reallly soon now?
masak aye.
pmurias viklund: 30 degrees isn't that bad :) 11:13
11:14 ruoso left
viklund pmichaud: pfft, 15 is perfect. 11:14
pmurias i meant... 11:15
11:16 tlb joined
masak viklund: welcome to the Tab Completion Fail Club here on #perl6. :) 11:16
11:17 tlb left
viklund masak: thx 11:17
11:17 tlb joined 11:20 donaldh left
viklund cleans up daughter after lunch... 11:20
11:20 donaldh joined 11:29 sjn joined, DanielC joined
pmurias meal& 11:33
11:35 buubot left
masak literal: ping 11:35
11:35 buubot joined
Muixirt rakudo: my $str="TEST"; say $str.bytes 11:38
p6eval rakudo d396ab: OUTPUT«ResizableStringArray: Can't shift from an empty array!␤in method Any::bytes (src/gen_setting.pm:242)␤called from Main (/tmp/3DrPPC3bDf:2)␤»
Muixirt rakudo: my $str="TEST"; say $str.lc
p6eval rakudo d396ab: OUTPUT«test␤»
masak oops. 11:39
masak submits rakudobug
I wrote that code. :/
jnthn masak: Heh, you can't let having a masakbug filed against your code hurt your pride too much. ;-) 11:40
masak jnthn: guess not. :)
literal masak: pong
masak jnthn: at least I get to submit another ticket. :)
literal: hello, you wrote a few days ago that we should discuss u4x storage decisions a bit more. I agree. 11:41
literal yeah
masak I suggest we go for the simplest thing we can conceive of, whatever that is.
literal would be good to settle on some initial structure
masak let's list some requirements: 11:42
we want it to find the sub 'map' when we type 'grok map'.
ditto class names and operators.
ditto keywords, and special variables. 11:43
now, we _could_ put everything in One Big File, but it feels like we can do slightly better...
literal maybe do something like perldoc -q does when it extracts relevant sections from a Pod file 11:44
masak hm, but that's the retreival part. I'm not too worried about that.
the -q flag is simply a grep over the FAQs, isn't it? 11:45
literal yeah
masak I think we can do much better than that, by (no pun intended) grokking the syntax of the thing asked for.
see metaop examples in u4x/README.
11:48 icwiener joined
masak literal: but you're right, we need to do some searching, practically of all files in the documentation/ directory. 11:52
literal: perhaps we can narrow the search if the user types '+' and we have one file with all the operators.
but moritz_ suggested that it would be a mistake to single out operators like this, when they are in effect ordinary subs in Perl 6. 11:53
I'm still of two minds about this.
literal: I think I'll focus on finishing up P2T1A today. also, I think we both would do best to thin about the following very simple question: how will the grok tool know where to look, based on what the user asks for? 11:56
also, actual code trumps even the most detailed design idea. 11:59
DanielC masak: Does that mean that if I want (say) a package manager for Rakudo, I can just write something myself and people will actually use it? 12:01
masak: I would think that you'd need to get some consensus, otherwise nobody will use it.
masak hm, actually... this is the simplest I can think of right now: search through the =headN directives of all files. collect all direct matches. do something nifty with operators, since they look like infix:<+> etc.
DanielC: consensus is very important. specifically, one gains nothing from alienating people by disagreeing. 12:02
DanielC: but yes, I wrote a package manager for Rakudo, and people actually seem to use it. :)
DanielC masak: That's what I was thinking. Writing something on your own goes against consensus. 12:03
masak DanielC: not in itself, no.
DanielC masak: You already have a finished package manager for Rakudo? I thought Rakudo didn't even support packages...
jnthn DanielC: Writing something and suggesting it as something others might like to use or help with is fine. It's just like building a proof of concept. :-) 12:04
I figure natural selection by the community at large will probably decdie what lives and what doesn't.
masak DanielC: it's a broad term. the 'proto' manager knows about all public Perl 6 projects, and can install them, and the projects they depend on.
DanielC: it doesn't do the fancy thing with versions and auths, and it likely never will.
DanielC masak: If I'm interested in the topic of a package manager, should I start by looking at your work? 12:05
12:05 cognominal left
masak DanielC: that might be a good idea. 12:05
DanielC Does proto understand metadata, dependencies and the like? 12:06
masak DanielC: yes.
that's all it does.
really.
DanielC Ok, so it looks like the right place to start. Got a link?
masak github.com/masak/proto
start with the README.
DanielC You also must have designed a package format for Perl 6 packages. 12:07
masak no.
DanielC reads the README
How does it install Perl 6 modules? 12:08
masak via git or svn.
DanielC hm 12:09
ok
Sounds like a good solution, actually.
Ok, I'm not a fan of svn.
masak it's not built to be a long-term solution, just to solve the immediate pain of dependencies that we started to feel when we started splitting things up in the November project into different projects. 12:10
DanielC So it just makes a directory for each module and runs 'git clone' on it?
masak DanielC: I don't know about the mkdir part, but yes. 12:11
DanielC ok
masak it does 'git clone' on projects from github.
DanielC ok 12:12
Where does it get the list of available modules?
masak locally, in its own repo. projects.list. 12:13
DanielC ok
So you update that list manually from time to time, yes?
masak every time someone announces a new project.
or when a project changes location or author.
it doesn't happen too often (yet), so it's not that much work. 12:14
DanielC How does a module list dependencies?
masak by means of a deps.proto file in its top directory.
DanielC ok
masak the file format is described in the PIONEER file.
DanielC will read PINEER next 12:15
mberends is involved in proto? I see his name next to PIONEER 12:16
masak DanielC: he has the pumpkin a lot, yes.
sometimes viklund has it, too.
DanielC Is Configure.pl a standard file format like Makefile.PL? 12:22
pasteling "muixirt" at 91.47.92.163 pasted "Str.bytes" (14 lines, 232B) at sial.org/pbot/36976 12:26
Muixirt masak, would that be a solution to Str.bytes problem?
masak Muixirt: it looks too good to be true, but I'll try it. :) 12:30
DanielC: is Makefile.PL a standard file format? 12:31
DanielC masak: I thought it was... I haven't written one of those in a long time, but I thought there was a library and you were supposed to put things in certain places and all.
Muixirt masak, the problem is i really don't understand our Int multi method bytes() in src/setting/Any-str.pm 12:32
masak DanielC: I'm not sure what is and what isn't a standard. proto basically assumes a couple of things that are the same in the Perl 5 world, such as lib/ and t/ directories.
DanielC: thing is, it goes to great lengths not to get disappointed if its assumptions are not met. 12:33
DanielC Ok. Is the lib/ directory the standard place where Perl 5 modules put their code?
masak Muixirt: I think I understand it, after having written it and then reading it several times. but it seems not to be working any more...
DanielC: aye.
DanielC ok
masak DanielC: each CPAN package has a lib/ directory, at least if it carries code. 12:34
DanielC updates his wiki page to rename "src" to "lib".
masak "src" is from the Java tradition, methinks. "lib" is the Perl name for that dir.
DanielC masak: I wouldn't know that, I don't even know Java. 12:35
But in GNU/Linux "src" is very popular.
That was my inspiration.
./configure; make; make install ... 12:36
masak DanielC: what CPAN does is take the files in lib/ and copy them over to a location listed in @INC. Perl 6 package managers could do the same, if not for the fact that we want to handle versions and auths.
DanielC: that's what interests me about the problem.
DanielC cp -r lib/ /<perl6>/<path>/lib/Foo/Bar-v1.2.0--0 12:37
Something like that? 12:38
Where Foo::Bar is the package name.
masak DanielC: seems like it could work.
12:38 cognominal joined
masak but the direct relation between @INC and the module name is lost. I guess that's inevitable. 12:38
DanielC Yesterday mberends and I were talking about a counter in the directory name (--0) instead of using hashes. 12:39
masak that could work.
it would mean searching becomes linear on the number of installed modules with the same name, no? 12:40
unless there's an index somewhere.
DanielC Yes. But 99.999% of the time there should be only copy of each module+version.
masak indeed.
DanielC Same name *and* version
masak right. 12:41
so the counters are only there to distinguish auths.
DanielC Yeah.
mberends was concerned that if we use a hash there is still a chance of collisions. I think he worries too much, but no matter, the counter is a neat solution to the problem. 12:42
masak the counter is a much smaller solution. I like it better.
no need to bring out elaborate solutions to small problems.
DanielC Good point. 12:43
Btw, if a user writes 'use Foo::Bar', the search will be linear in the number of versions of Foo::Bar that are installed.
But that's not the fault of the storage method. 12:44
masak Muixirt: I think the string "你好" contains 6 bytes. but your .bytes implementation gives 12 as the answer.
DanielC rakudo: say @INC.perl 12:45
p6eval rakudo d396ab: OUTPUT«Symbol '@INC' not predeclared in <anonymous> (/tmp/TFnwgSOrwN:2)␤in Main (src/gen_setting.pm:3180)␤»
masak DanielC: you're right. but that search might be as simple as doing an `ls` and picking the last item.
DanielC Has @INC been renamed? Maybe @*INC?
masak DanielC: it's @*INC in Perl 6.
DanielC thanks
masak DanielC: that's a general rule. globals have the * twigil.
DanielC masak: Yes, the search is easy.
rakudo: say @*INC.perl
p6eval rakudo d396ab: OUTPUT«["lib", "."]␤»
12:47 _eMaX_ joined
Muixirt masak, encoding? and did your approach took encoding into account? 12:48
masak Muixirt: mine assumed utf-8, which pulled down some TimToady wrath on me... 12:51
Muixirt: I'm tempted to patch in your solution, because it's much shorter and it works. 12:52
and we'll deal with the encoding and other issues eventually.
12:53 eMaX joined
masak I'll wait until I've talked to pmichaud, though. 12:53
Muixirt has no clues about rakudos notion of strings and parrots respectivly
12:58 ruoso joined, snarkyboojum joined
ruoso back 12:59
DanielC wayland76: ping? 13:01
@seen wayland76 13:02
lambdabot I saw wayland76 leaving #perl6 2d 23h 48m 15s ago, and .
DanielC hm
13:03 _eMaX_ left, masak left, payload left 13:06 eMaX_ left 13:18 payload joined 13:24 unitxt joined 13:28 cmarcelo joined 13:30 lambdabot left 13:32 exodist joined, lambdabot joined 13:34 FurnaceBoy joined, decasm joined 13:36 sri_kraih left
pmurias ruoso: i'm labeling both re-mildew and re-smop with a [re-smop] tag as the most commits affect both 13:37
13:38 Util joined
ruoso pmurias, ok... 13:38
pugs_svn r26984 | pmurias++ | [re-smop] sketched a non-sorting Multi - dispatches on only on the number of params atm 13:39
r26984 | pmurias++ | added t/if_bug.t which exposes an if bug
13:40 hanekomu joined
Util masak: ping 13:40
13:40 sri_kraih joined 13:46 mizioumt joined
DanielC Where can I find the arguments to a Perl 6 program? Is it @ARGV or @ARGS or something like that? 13:46
pugs_svn r26985 | pmurias++ | [re-smop] fix bug in LOST
jnthn @*ARGS
lambdabot Unknown command, try @list
DanielC thanks 13:47
pmichaud good morning #perl6 13:51
jnthn hi pmichaud 13:52
Matt-W hi pmichaud 13:54
pmurias ruoso: do you think it would make sense for the .eval method on continuation not to return a value, but forcing the continuation to always .goto to something
Util hi pmichaud
ruoso pmurias, hmm.... not sure... "return false to stop" seems like a good idea 13:55
pugs_svn r26986 | pmurias++ | [re-smop] 14:04
r26986 | pmurias++ | fix bug in LOST
r26986 | pmurias++ | fix test count in t/signature.t
viklund @list
lambdabot code.haskell.org/lambdabot/COMMANDS
viklund ahh
pmurias ruoso: it used to be return false to stop the current continuation but nowdays it's return false (not return true actually) to stop the whole interpreter 14:05
ruoso stopping the current continuation means stopping the interpreter
and it always meant that
pmurias, btw... the progress with Multi is impressive 14:08
I thought it would be much harder to get where you are now...
14:08 alester joined 14:09 eMaX left 14:11 eMaX joined
DanielC rakudo: `ls` 14:13
p6eval rakudo d396ab: OUTPUT«Syntax error at line 2, near "`ls`"␤in Main (src/gen_setting.pm:0)␤»
DanielC :-(
Help. How do I run a shell command from Perl 6? 14:14
jnthn run
DanielC rakudo: run "ls"
p6eval rakudo d396ab: OUTPUT«operation not permitted in safe mode␤in Main (lib/Safe.pm:25)␤»
viklund runs
DanielC :-P
But it works in my local machine... 14:15
jnthn yay
Note if you want to capture output use qx
DanielC How do you change directory? Do I have to do: run "cd .." ?? 14:16
14:16 meppl joined
jnthn Not sure about that, sorry. 14:16
DanielC I'll use run for now...
pmichaud we still want/need a chdir() function
DanielC Yeah, chdir was my first guess but it didn't work. 14:17
pmichaud note that run "cd .." won't change the directory of the currently running script.
DanielC I wasn't sure if it was gone from the spec, or just not implemented.
pmurias ruoso: how do i check if one type is narrower than the other?
DanielC pmichaud: :-(
pmichaud DanielC: I'm not sure where it is in the spec.
ruoso pmurias, in abstract... you do a cross-check
jnthn pmurias: In Rakudo, we're hanging the whole comparsion of ACCEPTS, which has worked out well. 14:18
pmurias: You need to do it in both directions, as ruoso said.
pmurias: Take a look at src/pmc/perl6multisub.pmc and grep for is_narrower
ruoso pmurias, basically if A.ACCEPTS(B) is true but B.ACCAPTS(A) is not, then you know A is narrower than B
jnthn It's not a lot of code.
pmichaud looks like it's in S32
jnthn ruoso: Right. 14:19
viklund DanielC: in proto we chdir for caommands by doing run("cd $dir; $command")... 14:20
DanielC viklung: Yeah, that's what I just did in my script. Thanks. 14:21
ruoso pmurias, but I think you will only be able to implement type check in the signatures after the ClassHOW bootstrap
pmurias, you probably need to support slurpies before you need type check
DanielC rakudo: if -e "foobar" {say "y"} else {say "n"} 14:22
p6eval rakudo d396ab: OUTPUT«y␤»
DanielC rakudo: if -e "dfhweufsdf" {say "y"} else {say "n"}
p6eval rakudo d396ab: OUTPUT«y␤»
ruoso pmurias, except for native types, native check is something you're going to need
viklund DanielC: to test for file existence smartmatch against :e
DanielC ah, thanks
pmichaud rakudo: if "foobar" ~~ :e { say 'y' } else { say 'n' }
p6eval rakudo d396ab: OUTPUT«n␤»
DanielC thanks
pmichaud rakudo: if "perl6" ~~ :e { say 'y' } else { say 'n' } 14:23
p6eval rakudo d396ab: OUTPUT«y␤»
14:23 snarkyboojum left
DanielC pmichaud: Shouldn't Rakudo given an error if you use it wrong? 14:23
pmichaud DanielC: Rakudo should've complained about two terms in a row, yes. 14:24
14:24 sri_kraih_ joined
pmichaud At the moment Rakudo treated -e "foobar" as the same as -e("foobar") 14:24
which was the same as - e("foobar")
that's on my list of things to fix (possibly this morning, now)
DanielC k 14:25
rakudo: "fwfie2" ~~ :e or die "No such file directory" 14:26
p6eval rakudo d396ab: OUTPUT«No such file directory␤in Main (/tmp/49KnsDhZ1U:2)␤»
DanielC Oops... did I just kill rakudo?
ah...
14:29 DemoPhreak joined 14:30 [particle]1 joined, masak joined
masak Util: pong. 14:32
viklund masak: maybe someone should implement the functionality described in PIONEER? 14:33
masak viklund: aye, I saw that too...
Util masak: please see message from me 1h15min ago in #parrot
masak looks 14:34
viklund: seem Util can build Rakudo on feather.
Util: when we build Rakudo, we get an out-of-memory error. 14:35
Util when? how recently?
masak today.
masak ssh:s and tries again 14:36
viklund masak: I'm doing the dishes currently, but I'll watch the conversation and jump in if needed
masak viklund: thank you.
Util fresh checkouts with `git clone` and `perl Configure.pl --gen-parrot`?
14:36 sri_kraih left
viklund yes 14:36
Util: yes 14:37
Util viklund: at what point does the error occur? Is it during the `pbc_to_exe` on perl6.pbc?
viklund yes 14:38
pasting...
gist.github.com/122263 14:39
Util from the rakudo directory, what is your output from running `(cd parrot && svnversion)` ? 14:40
masak 39308 14:41
14:41 barney joined
viklund 38955 14:41
masak I haven't failed yet, still building.
Util mine is 39308 14:42
viklund what does it mean
masak it's the Parrot revision.
14:42 [particle]2 left, DemoFreak left
masak viklund: yours is probably from the Stockholm release. 14:42
hey, look at that. it built.
Util++ 14:43
14:43 justatheory joined
masak viklund: so, the solution might be to run November on bleeding this month. 14:44
viklund ok, i'm retrying
14:46 icwiener left, icwiener_ joined 14:47 jferrero joined 14:51 payload left, payload joined 14:58 PacoLinux left 15:02 nihiliad joined 15:06 PacoLinux joined
viklund Util, masak: it worked 15:06
Util excellent! 15:07
masak does that mean that Parrot has a smaller memory footprint now than it did in r38955? 15:08
Util I am still working on the Win32/MSVC part of that patch (maybe today?) but it should be fixed for all GCC.
masak: only during the build. 15:09
same footprint when running perl6
masak Util: ok.
still good news.
DanielC masak: Problem with the 'cp -r lib ...' idea. Some modules also create object files (e.g. .so) that must be installed too. 15:13
Would it be reasonable to require that 'make' put all module files (.pm, .so, etc) in a 'build' directory so that we can run 'cp -r build /perl/path/Foo/Bar-v1.2.0--2'
Or alternatively, require that all object files be placed in "lib/" so we can just "cp -r lib/ ...". 15:14
masak DanielC: I'm not certain about the consequences, but both sound reasonable. I envisaged something like that anyway. 15:16
DanielC I'm not sure about the consequences either...
15:20 donaldh left, donaldh joined
viklund DanielC, masak: Compare the directory tree before and after compile and copy the new files? ;) 15:20
15:21 riffraff left
DanielC viklund: That would copy temporary files, and the Makefile. 15:22
viklund yes, I know, it wasn't a serious suggestion...
15:22 zamolxes left
masak scowls 15:22
DanielC :-)
pmurias ruoso, jnthn: thanks for the pointer to ACCEPT 15:23
viklund but it would be cool if it just did the right thing without requiring alot
15:23 DemoPhreak left
DanielC viklund: yeah 15:23
masak viklund: yeah, let's do it that way.
DanielC :-)
I'm working on a toy script, to experiment with the basic idea.
masak that's kinda the motto for proto as well.
DanielC++
"doing the right thing without asking for much structure" 15:24
viklund what is it you're trying to do?
masak also known as Postels Law, I think.
DanielC I'm finding that writing the scripts helps me find potential issues, which I then bring up here.
s/scripts/script/
Muixirt is away: bbl 15:25
FurnaceBoy pmichaud, i played a little building parrot 1.2.0 on ppc64; hit this: www.nntp.perl.org/group/perl.perl6....45155.html
pmichaud, there is a workaround. be nice to have a real fix :)
15:25 mizioumt left
DanielC viklund: wiki.github.com/perl6/misc/cpan-and...age-format <-- scan this page first. I'm writing a first (toy) implementation of the "par" command described here. 15:26
dalek kudo: d03217d | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 395 files, 11346 passing, 2 failing

   S02-lexical-conventions/unicode.rakudo aborted 2 test(s)
masak I still think we should rename that directory 'modules' or 'module-experiments' or some such, before it's too late. :) 15:27
everything is misc!
DanielC :-)
pmichaud I'm open for a rename. 15:28
DanielC Maybe we can call it "stuff"
masak it's like calling a script 'code.pl' or a variable '$information'.
pmichaud yes, sooner would be better than later. At the time I didn't have a lot of spare cycles available to come up with a more appropriate name.
15:28 hanekomu left
pmichaud also, at the time, we were just looking for an alternative to the perl6 wiki 15:28
i.e., something other than socialtext 15:29
masak pmichaud: 'module-thinking', perhaps?
pmichaud so the repo wasn't intended to just be about modules, per se
masak ok.
pmichaud if we need a separate repo for modules, I'm totally happy with creating one.
DanielC I like calling my variables $data :-)
masak DanielC: do you call your pets 'Cat' and 'Dog' too? :)
DanielC heh 15:30
PerlJam masak: gedanken-modules
pmichaud 'Mammal'
masak PerlJam: I like. :)
pmichaud 'Cat' and 'Dog' are too specific.
masak pmichaud: either way, they're type objects, thus probably undefined.
they bark and meow, but they don't have a specific number of legs, for example. 15:31
rakudo: class Dog {}; say Dog.defined; Dog .= new; say Dog.defined 15:32
p6eval rakudo d396ab: OUTPUT«0␤1␤»
masak o_O
you can instantiate type objects!
pmichaud well, technically a type object is already instantiated, it's just not defined.
you told the type object to build itself, so it did :-P
masak it's consistent, I guess...
pmichaud I think I definitely want to do our readonly refactor soon, though.
masak oh, that would solve that? 15:33
pmichaud yes.
currently we mark which objects are readonly, and refuse to write to those. I'd like to reverse that, so that we mark the objects that are rw, and refuse to write to anything that isn't so marked
masak so I don't need to submit something for this?
masak grins 15:34
pmichaud you can submit it if you like -- I don't know the timeline for that refactor yet.
PerlJam masak: just patches ;)
masak submits
pmichaud: oh, and did you backlog the thing about .bytes from earlier today?
pmichaud yes. muixirt's patch is more along the lines of what I was thinking/expecting.
masak yes. 15:35
pmichaud if the purpose is to simply return the number of bytes :-)
15:35 barney left
masak but I think it gives the wrong answer sometimes. 15:35
pmichaud example? 15:36
(keeping in mind that TimToady claims .bytes on Str is wrong anyway :-)
15:36 hanekomu joined
masak yes, I know. 15:36
pmichaud pugs: say Str ~~ Buf
p6eval pugs: OUTPUT«*** No such subroutine: "&Buf"␤ at /tmp/4D1CTfyrA0 line 1, column 5 - line 2, column 1␤»
masak it reports "你好".bytes as 12. I think it's 6. 15:37
pmichaud checking
masak pmichaud: anyway, I saved the patch in a branch, so I can easily merge it to master.
15:37 baest left
pmichaud I agree, that looks like it should be 6. 15:37
15:37 baest_ joined
pmichaud checking more... 15:38
15:38 tlb left
masak also, I thought I enabled spectests for .bytes, but now when I looked, I didn't see anything that indicated that I did. so maybe I thought about doing it but forgot. 15:38
pmichaud gist.github.com/122311 # looks right to me 15:41
15:42 TimToady sets mode: +o jnthn
masak oh, well then I'll commit and push. 15:42
er, I mean cherry-pick and push. 15:43
dalek kudo: 63cc77c | masak++ | src/setting/Any-str.pm:
[src/setting/Any-str.pm] a new, shorter .bytes implementation
15:44
masak git++
DanielC masak: What are your thoughts on requiring PGP signatures like Debian does?
I can't decide whether to make PGP recommended or mandatory. 15:45
pmichaud does PGP exist on all platforms we might want to target?
masak DanielC: that's exactly one of those decisions that I don't feel in a position to make. :) 15:46
DanielC ok :-)
masak DanielC: as I said, I like to make minimal solutions, and that wouldn't include PGP unless there was a really compelling reason to have it.
pmichaud DanielC: keep in mind that whatever is done here also has to work on Windows and other operating systems 15:47
DanielC ok
TimToady I'd say, just make sure you know where it will fit in the design when it becomes mandatory :)
pmichaud Exactly.
masak does a double take on pmichaud's gist and sees 'orange rakudo cat'
:) 15:48
pmichaud Have a strategy/plan for the larger system, but start with simple implementations where possible.
DanielC Although simple solutions are nice, we don't want to be stuck with an inflexible solution that can't be extended to meet future needs.
pmichaud "Plan to throw one away." :-)
PerlJam or two or three
FurnaceBoy plans to throw six away
masak DanielC: I agree. it's just that I consider that issue smaller than the current "no solution/massive bikeshedding" issue. 15:49
DanielC If everyone starts making unsigned modules, it will be more difficult to introduce signatures later.
PerlJam DanielC: prove it :)
masak DanielC: there needs to be a compelling reason to sign modules, not just that a packager demands it.
PerlJam unless you really mean, "it will be more difficult to make signatures required later"
DanielC masak: I totally see your point about bikeshedding.
PerlJam: That's what I mean. 15:50
pmichaud more to the point, we don't want to limit the design to a specific signature technique.
"require a signature" is different from "require a PGP signature"
DanielC ok...
15:51 mizioumt joined 15:52 masak left
PerlJam DanielC: a solution is to not make signatures required you know. 15:52
DanielC pmichaud: Do you know any significant alternatives to PGP? I don't expect to see people using SSL certificates from a CA and the like.
15:52 eternaleye left
pmichaud DanielC: just because there are no significant alternatives to PGP today doesn't mean there won't be in the future 15:53
We're trying to design for decades.
DanielC true
PerlJam yeah, perl 6 is a 100-year language :)
pmichaud PerlJam: oh, I hope we'll have it released before that. :-P
TimToady design is just the first 100 years
PerlJam heh
DanielC pmichaud: The package format includes a 'version' parameter. That gives us a lot of room to make significant changes later.
pmichaud: version == package format version 15:54
pmichaud please can we use the same identifiers for the same concepts?
S11 has 'ver'
15:55 iblechbot left
DanielC pmichaud: What word would you use to refer to the version, not of a Perl module, but of the package format? 15:55
pmichaud DanielC: is there an important reason it should not be 'ver'?
PerlJam DanielC: you know how the existing CPAN has ratings, and reviews and such and they are just additional metrics as to the "goodness" of the modules? Maybe the signature could be the same sort of thing. Don't require it, but provide for optional signing of modules. Let reputation and trust do the reest. 15:56
s/ee/e/
DanielC pmichaud: As long as you know what I mean when I say "ver"...
pmichaud I don't mind if we use 'version' as the name and 'ver' as a shortcut, however (much like we do with quoting adverbs) 15:57
15:57 tulcod joined
pmichaud it's just helpful to make sure that we don't end up with lots of different-and-sometimes-incompatible ways of talking about things that are essentially the same 15:58
TimToady there's potentially yet another version floating around, which is the version of the language we're importing a foreign module from
can probably be considered part of the language name, from within Perl
:from<Python-2.5>
DanielC :from<Python-2.5> looks good. 15:59
TimToady or whatever it's supposed to be
PerlJam :from<python3000> :from<Python-3000> :from<python-3> :from<Python> ... er, which is it? :) 16:00
TimToady :from<Python:ver<2.5>> is more extensible though, in a fractally way
pmichaud we already have the notion of :<1.3.4 cpan:JRANDOM>, so it seems like :from<Python :ver<2.5>> or :from<Python 2.5> isn't too far of a stretch. 16:02
TimToady at some point, all questions of identity must be delegated
just as a url lets the server figure out what the end of it means 16:03
16:05 mizioumt1 joined
TimToady which, in our case, means Perl just sees "use Module:from<Python-3.0 pydentification>" 16:06
and doesn't care what's in the pydentification 16:07
what do you think of ignorance and apathy? 16:08
"I don't know, and I don't care"
16:12 iblechbot joined
DanielC Does anyone know how to make 'zip' give you a list of files in a zip archive? (my current script uses a lot of Unix commands, as a temporary measure). 16:13
Looking at the man page, I can't find the option, but it should exist.
PerlJam ~zip -t 16:14
16:14 kidd left
PerlJam er, without the tilde 16:14
DanielC -t -> "Do not operate on files modified prior to the specified date"
dukeleto good localtime() 16:15
pmichaud normally "unzip" would give the list of files, yes?
"zip" is for building the archive.
DanielC does man unzip 16:16
pmichaud yes, "unzip -l"
DanielC thanks
In my mind, getting a list of files was not "unzip".
pmichaud in general, "unzip" is "extract information from archive" 16:17
whereas "zip" is "put stuff in archive"
afk, lunch 16:19
16:19 jferrero left 16:20 TimToady sets mode: +o PerlJam 16:21 mizioumt left 16:24 finanalyst1 left
FurnaceBoy unzip -t on my systems for file list. 16:25
hm, i see -l works too ('short format') 16:26
16:30 REPLeffect left 16:31 justatheory left 16:34 estrabd joined 16:35 hanekomu left 16:36 Psyche^ joined 16:37 Patterner left, Psyche^ is now known as Patterner 16:55 hudnix joined 17:03 mizioumt1 left, pmurias left 17:04 mizioumt joined 17:12 pmurias joined 17:15 ben_m joined 17:20 REPLeffect joined
pugs_svn r26987 | pmurias++ | [re-smop] add t/dollar_bang.t and t/grep.t 17:21
r26987 | pmurias++ | fix typo in Failure
17:25 eMaX left
pugs_svn r26988 | pmurias++ | [re-smop] calling fail makes the caller return a failure 17:31
17:35 M_o_C joined 17:38 Chillance joined 17:59 pmurias left
pmichaud std: class A { has $.x; method foo() { $.x: 'arg' } } 18:03
p6eval std 26988: OUTPUT«##### PARSE FAILED #####␤Illegal use of colon as invocant marker at /tmp/HeCLPPTRoj line 1:␤------> class A { has $.x; method foo() { $.x: 'arg' } }␤ expecting signature␤FAILED 00:02 36m␤»
18:04 eMaX joined 18:10 mberends joined 18:14 buu is now known as buubot3
viklund hmm, previously I could do like this: my $m = "CGI"; use $m; my $c = $m.new(); 18:16
now "use $m" doesn
doesn't work*
pmichaud "use" is a compile-time directive.
viklund ok, is there someway to dynamically use? 18:17
eval?
pmichaud if you just want to load the library and don't need any symbols imported (which you probably don't here), there's still 'require'
But I very much doubt that "CGI".new() will work. 18:18
18:18 buubot3 is now known as buu
viklund hmm 18:18
pmichaud my $m = 'CGI'; require $m; # this much is okay, loads the CGI module
viklund oh well, probably will have to refactor the dynamically used templating system for November then... 18:19
pmichaud I'm a bit surprised that my $c = $m.new() would ever work if $m is a Str
viklund sry, markup system
it worked a few months ago 18:20
pmichaud well, I can believe it would compile, butI would get it would return a Str
and not the type that is in $m
rakudo: my $m = "CGI"; my $c = $m.new(); say $c.WHAT; 18:21
p6eval rakudo 63cc77: OUTPUT«Null PMC access in get_string()␤in Main (/tmp/941m3iXUDP:2)␤»
pmichaud hmmpf.
viklund ahh, so November has been dependent on a bug ;) 18:22
18:24 cj joined 18:25 jhorwitz joined 18:33 iblechbot left 18:34 lichtkind joined 18:35 ejs0 joined
DanielC rakudo: say $$ 18:38
p6eval rakudo 63cc77: OUTPUT«say requires an argument at line 2, near " $$"␤in Main (src/gen_setting.pm:2395)␤»
DanielC :-(
jnthn $$? 18:39
DanielC How do I get the process PID in Perl 6?
I want to make a temp file.
jnthn oh, I'd forgotten that's what I did in Perl 5... ;-)
DanielC :-)
jnthn rakudo: say $*PID; # I think
p6eval rakudo 63cc77: OUTPUT«Use of uninitialized value␤␤»
[particle]1 rakudo: say $*PID
p6eval rakudo 63cc77: OUTPUT«Use of uninitialized value␤␤»
jnthn hmm
[particle]1 jnthn++ beat me to it
jnthn I thought we had some tests that used that...
Maybe not though.
DanielC rakudo: say random() 18:40
p6eval rakudo 63cc77: OUTPUT«Could not find non-existent sub random␤»
DanielC rakudo: say rand()
p6eval rakudo 63cc77: OUTPUT«0.567430558222444␤»
DanielC I'll take that until $*PID starts working.
18:41 mizioumt left, mizioumt joined 18:42 ZuLuuuuuu joined
DanielC rakudo: sub foo($param=3) { say $param } 18:43
p6eval rakudo 63cc77: ( no output )
DanielC rakudo: sub foo($param=3) { say $param }; foo()
p6eval rakudo 63cc77: OUTPUT«3␤»
DanielC :-)
[particle]1 rakudo: say $?PID 18:45
p6eval rakudo 63cc77: OUTPUT«Symbol '$?PID' not predeclared in <anonymous> (/tmp/WRuEaJXaIM:2)␤in Main (src/gen_setting.pm:3180)␤»
[particle]1 phew.
jnthn Heh. "What wsa the process ID of the compiler?" :-) 18:56
18:58 jferrero joined 19:00 japhb left 19:04 synth joined, japhb joined 19:05 fridim_ joined 19:07 perlmongo joined
pugs_svn r26989 | lwall++ | [STD] disallow rand() form to enforce termness at compile time 19:12
19:14 sri_kraih_ left
pochi rakudo: say :2[11] 19:17
p6eval rakudo 63cc77: OUTPUT«1953␤»
viklund dang, found another bug in proto 19:18
pochi strange I get 3908 locally
19:20 donaldh left, ejs0 left, sri_kraih joined, donaldh joined
TimToady rakudo: say :2[1,1] 19:22
p6eval rakudo 63cc77: OUTPUT«1953␤»
TimToady looks quite borken
pochi aye 19:23
TimToady perl6: say :2[1,1]
p6eval pugs: OUTPUT«3␤»
..elf 26989: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
..rakudo 63cc77: OUTPUT«1953␤»
TimToady pugs++
perl6: say :2[11]
p6eval pugs: OUTPUT«11␤»
..elf 26989: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
..rakudo 63cc77: OUTPUT«1953␤»
TimToady well, arguably that should fail
pochi :) 19:24
19:24 cj left
pugs_svn r26990 | lwall++ | [S02] require failure when digits exceed radix 19:28
pochi rakudo: say :2<1_______1>
p6eval rakudo 63cc77: OUTPUT«3␤»
19:28 cj joined
pochi rakudo: say 0b1______1 19:28
p6eval rakudo 63cc77: OUTPUT«Syntax error at line 2, near "say 0b1___"␤in Main (src/gen_setting.pm:0)␤»
TimToady std: say 0b1______1 19:29
p6eval std 26989: OUTPUT«##### PARSE FAILED #####␤Whitespace is required between alphanumeric tokens at /tmp/PhrIiS2yHb line 1:␤------> say 0b1______1␤ expecting any of:␤ POST␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤ terminator␤ whitespace␤FAILED 00:02
..35m␤»
19:30 jferrero left
pochi then it should fail with :2<1__1> as well? 19:30
pmichaud I'm thinking that Rakudo's number converter doesn't do parse validation of the strings it gets 19:31
rakudo: say :2("1____1")
p6eval rakudo 63cc77: OUTPUT«3␤»
pmichaud okay, now I'm not sure what's going on there.
pochi the grammar says $<intpart>=[<[0..9 a..z A..Z _]>]+ 19:32
pmichaud Anyway, should :2("1____1") return 1 or fail?
pochi: string-to-number conversion doesn't use the grammar at present.
but you're correct that $<intpart> is wrong.
pmichaud says "huh?" to himself again.
pochi huh? :)
pmichaud Did an earlier version of STD use that $<intpart>=[...] ? 19:33
19:34 DemoFreak joined
TimToady I don't recall that STD ever mixed _ into the character class 19:36
if it did, it was *very* early 19:37
19:37 iblechbot joined
lichtkind TimToady: thanks again tutorial is now ready :) 19:38
pmichaud ahhhhh, looks like lathos put that particular rule into the grammar 19:39
[particle]1 heh, i was just going to own up to it
glad it's not me :)
19:39 [particle]1 is now known as [particle1
pmichaud well, he may have just modified your change :-) 19:39
19:39 [particle1 is now known as [particle]-
TimToady wait, I thought everything was my fault here... 19:39
pmichaud I'm still blaming that Andreas guy who keeps shaking everything up. 19:40
[particle]- it's @Larry's fault, for certain
TimToady he thinks he's king or something
[particle]- that's just his cnn name
pmichaud [particle]-: you're off the hook, it was lathos who stuck the underscores in there :-) 19:41
viklund lichtkind: you now have an account on november-wiki.org (finally)
[particle]- whee!
19:41 M_o_C left
lichtkind viklund: great i got mail? 19:41
[particle]- lathos++ # excellent particle immitation
viklund if masak sent one
lichtkind viklund: you heard what i want to add?
viklund lichtkind: no 19:42
lichtkind viklund: cant you? its lichtkind@cpan
viklund sent 19:43
what was it you wanted to add? 19:44
lichtkind viklund: not that much just a newbee intro into perl 6 with a lot of pointer
viklund great ;)
lichtkind because there is already a perl 6 wiki
viklund sorry for taking so long in creating the account
lichtkind viklund: it was perfect up to now i wrote my other perl 6 tutorial :) 19:45
[particle]- wonders about :*<42>
19:45 fridim_ left
lichtkind viklund: i finighed puting it online 30 min ago :) 19:45
viklund I just updated the server to the latest november as well, if something misbehaves just let me now...
[particle]- wonders about :*<*> 19:46
lichtkind viklund: great i already have an feature wish :)
viklund ;)
what?
[particle]- (line noise)++
19:49 masak joined
lichtkind [particle] no problem we discuss that in november channel 19:51
viklund masak, I'm implementing the test behavior for proto as per the spec (the PIONEER file)
19:51 cj_ joined
masak looks 19:51
[particle]- lichtkind: no, i meant that :*<*> looks like perl 6 line noise
masak have to remind myself...
[particle]- ...i don't mind your chatting here...
masak viklund: excellent. 19:52
viklund: maybe I should implement the final sentence of PIONEER, then.
19:53 cj left
viklund masak, would be nice 19:55
masak does that
viklund: let me know when you're done with the pumpkin. 19:56
viklund masak: sure thing
TimToady std: :*<*>
p6eval std 26990: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/Ne7vIwT3Ac line 1:␤------> :*<*>␤ expecting any of:␤ prefix or noun␤ statement end␤ statement list␤ whitespace␤FAILED 00:02 35m␤»
TimToady STD thinks it's epic linenoise
masak well, isn't it? :) 19:57
TimToady most epics are longer than that
masak rolls eyes
TimToady but perhaps it can qualify as epicurian linenoise
viklund masak: What do you say about automatically compiling all pm files to pir files if no Makefile exists?
viklund wonders why he test the test functionality with november... 19:58
masak viklund: that kind of goes against the (only now formulated) principle that proto shouldn't do stuff that wouldn't happen if it weren't there.
viklund smiles 19:59
[particle]- std: :10<*>
p6eval std 26990: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/moBO9DOPm9 line 1:␤------> :10<*>␤ expecting any of:␤ noun␤ number␤ number__S_205complex␤ numish␤ prefix or noun␤ statement end␤ statement list␤ value␤
..whitespace␤FAILED 00:04 38m␤»
[particle]- std: :*<10> 20:00
p6eval std 26990: ( no output )
[particle]- ok, well, one edge case discovered. what does :*<10> mean?
silly me, forgetting we had a parser around here. 20:01
TimToady it means that std is being recompiled at the top of the hour 20:05
std isn't gonna like anything that starts :*
[particle]- joy
but, fewer kisses 20:06
viklund masak: html-template is yours right?
20:06 hercynium joined
viklund it makes (false) assumptions about where rakudos Test.pm is 20:06
TimToady rakudo: say *: 20:07
p6eval rakudo 63cc77: OUTPUT«Statement not terminated properly at line 2, near ":"␤in Main (src/gen_setting.pm:0)␤»
viklund I can fix it if you give me a commitbit
TimToady std: say *:
p6eval std 26990: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/87DxDd25OE line 1:␤------> ␤ expecting null term␤FAILED 00:02 36m␤»
masak viklund: interesting. that might explain a few strange behaviours I've observed in it.
viklund: it's mine in the sense that it's on my github account.
TimToady std: say *: 42
p6eval std 26990: OUTPUT«ok 00:02 36m␤»
masak viklund: but several people worked on it.
viklund masak: that's what I meant
masak viklund: is it fixable? the Test.pm thing, I mean. 20:09
viklund yes, and extremely simply so too 20:10
compare line 48 to 52 in Makefile.PL
github is slow...
[particle]- whatever invocant? means no invocant, i guess. 20:11
masak [particle]-: no, it means a block around the method call. 20:12
[particle]-: *.uc translates to { .uc }
20:12 ben_m left
[particle]- *: uc translates to { .uc } ? 20:13
masak not that I know of, no.
jnthn Don't think so.
[particle]- i'm not interested in *.uc.
im' looking at "*: 42"
std: say *: 42 20:14
jnthn std parses it though. So hmm. :-)
masak [particle]-: where in that one do you see an invocant?
p6eval std 26990: OUTPUT«ok 00:02 36m␤»
[particle]- sorry, it's "say *: 42" 20:15
without say, *: is prolly a label
jnthn is "say *: 42" meant to compile down to the same thing as *.say(42) ?
If so, it'll end up making the closure.
[particle]- i don't have a compiler handly locally
jnthn rakudo: say (say *: 42).WHAT # not sure Rakudo groks this
[particle]- jnthn: it parses. i'm wondering what it's meant to do :)
p6eval rakudo 63cc77: OUTPUT«Statement not terminated properly at line 2, near ": 42).WHAT"␤in Main (src/gen_setting.pm:0)␤»
pmichaud rakudo doesn't know the indirect object syntax yet. 20:16
jnthn Is say $*IN: 42 equivalent to $*IN.say(42) ?
pmichaud (or whatever it's called)
[particle]- i've been playing with edge cases involving * in an int position
:*<42>
pmichaud To call an ordinary method with ordinary method-dispatch semantics, 20:17
use either the dot notation or indirect object notation:
$obj.doit(1,2,3) doit $obj: 1,2,3
jnthn OK.
pmichaud (those last two should be on different lines)
jnthn so say *: 42 is going to make a closure.
[particle]- yeah, right, thats why i figured "say *: 42" would be calling .say(42)
pmichaud does .say() take any arguments...?
I guess it does on filehandles
jnthn Aye, it may blow up if you pass something inappropriate in when invoking the closure. 20:18
But that goes for any use of the syntax.
rakudo: $*IN.say(42)
p6eval rakudo 63cc77: ( no output )
jnthn huh? 20:19
oh
rakudo: $*OUT.say(42)
p6eval rakudo 63cc77: OUTPUT«42␤»
jnthn duh. :-)
sjohnson Q: will Perl 6 have a isint method / function that tests whether a string or integer is an integer? ie, "200", 200 => pass, "2004y" => fail
20:19 jhorwitz left
pmichaud sjohnson: $foo ~~ <STD::integer> # probably 20:19
er 20:20
sjohnson: $foo ~~ /<STD::integer>/ # probably
might need anchors there.
sjohnson it would be very nice for sure
instead of always writing /^\s*\d+\s*$/
pmichaud rakudo: say ?("123" ~~ /^<Perl6::Grammar::integer>$/)
p6eval rakudo 63cc77: OUTPUT«1␤» 20:21
pmichaud rakudo: say ?("123y" ~~ /^<Perl6::Grammar::integer>$/)
p6eval rakudo 63cc77: OUTPUT«0␤»
20:21 cj_ left
pmichaud ....but note: 20:21
rakudo: say ?("0x1fd" ~~ /^<Perl6::Grammar::integer>$/)
p6eval rakudo 63cc77: OUTPUT«1␤» 20:22
sjohnson that is great
pmichaud rakudo: say ?("12_34_56" ~~ /^<Perl6::Grammar::integer>$/)
masak Perl 6 is great.
p6eval rakudo 63cc77: OUTPUT«1␤»
sjohnson though, it is a bit wordy
masak I didn't know that worked already.
sjohnson but i suppose i could write it on a cheatsheet text file
masak sjohnson: you could always rebind that rule.
pmichaud well, <STD::integer> is a bit less wordy
rakudo: my &intrx := &Perl6::Grammar::integer; say ?("0x1fd" ~~ /^<intrx>$/); 20:23
p6eval rakudo 63cc77: OUTPUT«Unable to find regex 'intrx'␤Null PMC access in invoke()␤in regex PGE::Grammar::_block51 (/tmp/K3lEhRkiwE:1)␤called from Main (/tmp/K3lEhRkiwE:2)␤»
pmichaud hmmmm.
rakudo: my &intrx := &Perl6::Grammar::integer; say ?("0x1fd" ~~ &intrx); 20:24
p6eval rakudo 63cc77: OUTPUT«1␤»
masak rakudo: token I { ^ <Perl6::Grammar::integer> $ }; say ?("12_34_56" ~~ /<I>/)
p6eval rakudo 63cc77: OUTPUT«1␤»
pmichaud that works :-)
rakudo: token I { ^ <Perl6::Grammar::integer> $ }; say ?("12_34_56" ~~ &I); # checking 20:25
p6eval rakudo 63cc77: OUTPUT«1␤»
pmichaud sjohnson: anyway, answer to your question is "yes, one can get at the grammar's rules"
sjohnson: the other answer is that one could always do something like use CommonRegexes; to import some well-known regexes
20:26 eMaX left
pmichaud and then CommonRegexes becomes a CPAN module or something like that. 20:26
jnthn +3 tests in a week? Ouch! 20:33
20:38 cmarcelo left 20:42 mkfort joined
pmichaud we mostly worked on refactors and speed improvements 20:42
so yes, we only pass three more tests, but we pass the quite about twice-as-fast as we did a week ago :-)
s/quite/suite/ 20:43
20:43 cmarcelo joined
pugs_svn r26991 | jnthn++ | [t/spec] Correct a test that was confused over .+/.* and callsame's interaction, and unfudge it. 20:43
jnthn pmichaud: Yes, I know. It just feels unusual. :-)
Well, there's two more. :-)
masak (twice-as-fast)++ 20:44
Muixirt is back (gone 05:19:43)
masak Muixirt: you might want to turn off those automatic away/back messages. 20:45
[particle]- ...before masak turns them off for you...
masak Muixirt: on MSN, they're ok. on IRC, they can be considered noise.
Muixirt masak, ok
20:45 pmurias joined 20:48 cmarcelo left 20:49 eternaleye joined
masak when should one use 'submethod' versus 'my method'? 20:51
pmichaud iiuc, submethods are still public, they just aren't inherited. 20:52
'my' methods are private
masak pmichaud: right.
viklund and inherited?
pmichaud well, 'my' methods are available to trusted callers -- I'm not sure how it plays with inheritance. 20:53
TimToady my/our is orthogonal, only determines where a sub alias is installed 20:56
masak heh, I just got the idea to make a forwards-compatible qq-interpolating sub, one that understands things like "%hash<key><key>('param')". it could even turn into a no-op automatically once Rakudo gets real variable interpolation, by checking in the beginning if it works.
20:56 cj joined
masak maybe a job for a small exporting module... 20:56
dalek kudo: fc01cda | jnthn++ | tools/benchmark.pl:
Add postfix:<++> test to the set of benchmarks.
20:57
sjohnson pmichaud: common regexes sounds exactly like something i am looking for 20:58
many thanks
masak sjohnson: it's a CPAN module for Perl 5, too.
[particle]- but we don't spell it the perl 5 way
sjohnson use Shortcuts::RegexForPresident; 21:00
masak use More::Acme::ToThePeople; 21:01
mberends Temporal.pm does not hang the Stage 1 compiler any more, and ./perl6 passes all 14 current Temporal tests :) 21:03
masak did we ever arrive at a future-compatible way to use 'index' for checking whether $a has $b as a substring?
sjohnson has anyone talked to the Pugs creator here?
masak sjohnson: you mean, recently?
[particle]- audreyt? 21:04
not for a few months
sjohnson at all
masak sjohnson: in that case, yes. 21:05
sjohnson she sounds very intelligent
she is my age
masak she's a very sympathetic programmer.
sjohnson please elaborate
masak sjohnson: well, she started the Pugs effort, for one thing.
sjohnson: and people sort of just fell in behind her and started helping.
sjohnson: and it wasn't just because there was a vacuum for that kind of thing. 21:06
jnthn mberends: Ooh, nice! :-)
viklund any++
sjohnson yeah i was pretty impressed reading her wikipedia page
viklund perl6 is very nice ;)
21:06 [particle]1 joined
viklund any(map {"$_/prove" }, %*ENV<PATH>.split(":")) ~~ :e 21:06
masak sjohnson: the way she approached people really contributed to making 2005-2006 the Golden Age of this channel. 21:07
sjohnson: oh, and she writes frighteningly smart code, too.
viklund: nice!
viklund: and, coincidentally, just what I needed for my patch. :) 21:08
sjohnson she must like perl too :)
viklund for what? ;)
masak viklund: I'm implementing the last sentence of PIONEER.
viklund ahh
masak which also means mucking around in %*ENV. 21:09
pugs_svn r26992 | jnthn++ | Correct and fudge defer next. Plan to expand it plenty also, we should test the non-multi derefal too. 21:10
21:11 [particle] left
masak viklund: if not all(map { "{%!config-info{'Proto projects directory'}}/$_/lib" }, @projects) eq any(%*ENV<PERL6LIB>.split(':')) { ... } 21:12
21:12 eternaleye left
viklund fantastic 21:13
sjohnson $_ should be known as the "get 'er done" variable
viklund masak: the pumpkin is yours 21:14
masak viklund: grazie.
viklund but I did my work in the bleeding branch 21:15
haven't cherry-pick'd it back to master
masak viklund: what were you doing with the pumpkin so long, then? :P 21:16
viklund ...
masak viklund: it even says "master", right there on the side.
viklund ??? 21:17
masak viklund: hm, what should I say to make you spout the third kind...? I need to make you irritated somehow. :) 21:18
viklund !!!
masak there we have it.
21:19 perlmongo left
masak anyway, thanks for the pumpkin. 21:19
I'll use it in a bit, and then head to bed.
21:24 cj_ joined
viklund no, I think now is the time to read a Tintin comic book and then sleep 21:30
good night all
masak viklund: 'night.
21:30 viklund left 21:33 pmurias left 21:36 cj left, unitxt left 21:37 Limbic_Region joined
pugs_svn r26993 | jnthn++ | Rename defer_call.t to defer-call.t, correct a mistake and fudge it for Rakudo. 21:39
21:41 masak left 21:42 justatheory joined, cj_ is now known as cj 21:45 tulcod left 21:50 Whiteknight joined 22:04 justatheory left
Whiteknight how do I update rakudo with git? 22:06
DanielC git pull
Whiteknight I tried a git pull, but it says it doesn't know what branch to pull from
22:07 justatheory joined
DanielC dunno 22:07
Whiteknight yeah, I can't seem to figure out the correct incantation to do this
22:08 unitxt joined 22:12 DemoFreak left
dalek kudo: 50f15ae | pmichaud++ | src/parser/ (2 files):
Clean up handling of self-accessors and parameters. Fixes RT #61988.
22:19
kudo: c907d37 | pmichaud++ | :
Merge branch 'master' of [email@hidden.address]
22:20 lichtkind left 22:25 ruoso left, alester left 22:26 hercynium left 22:28 iblechbot left 22:34 hudnix left, Patterner left, avar left 22:37 hudnix joined, Patterner joined, avar joined 22:39 hercynium joined 22:49 hanekomu joined 22:50 nihiliad left 22:52 decasm left
pugs_svn r26994 | mberends++ | [Temporal.t] all 15 tests pass with r39308 22:52
jnthn mberends: Has that gotten into Rakudo now? 22:53
mberends jnthn: pasting revised Temporal.pm now... 22:54
jnthn mberends: OK. I'm a bit tired now and need sleep soon - shaking off a cold virus still. :-/ 22:55
But I can get it in tomorrow.
mberends jnthn: get better!
jnthn mberends: Well, I'm working on it.
pasteling "mberends" at 83.161.42.49 pasted "revised Temporal.pm" (190 lines, 6.2K) at sial.org/pbot/36997
jnthn I'm better now than at the weekend. :-)
But still not 100% again yet. 22:56
mberends good night!
22:56 mberends left 23:09 snarkyboojum joined 23:16 sri_kraih left, sri_kraih joined 23:20 donaldh left, synthEEEE joined, donaldh joined 23:21 synth left 23:23 hanekomu left 23:24 Muixirt left 23:30 mizioumt left 23:31 cj_ joined 23:35 jferrero joined 23:38 synth joined 23:43 cj left 23:52 sri_kraih left, sri_kraih joined 23:54 skids joined 23:55 synthEEEE left 23:56 amoc left 23:58 synthEEEE joined