»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moderator on 20 October 2009.
00:03 jrtayloriv joined
carlin WTF? github.com/rakudo/rakudo/commit/c4e...b18e6fcdad vs my patch: rt.perl.org/rt3//Public/Bug/Display...l?id=68402 00:07
00:13 Limbic_Region joined
Limbic_Region pmichaud ping 00:13
00:21 xinming joined 00:25 jonathanturner joined 00:26 lumi joined 00:29 jonathanturner left 00:33 [particle] joined 00:52 lumi joined 00:58 justatheory joined 01:05 agentzh joined 01:09 kent\\n joined 01:12 rgrau` joined 01:18 lumi joined 01:41 KyleHa joined 01:50 Bzek joined 01:53 jaldhar joined 01:56 lumi joined 02:06 c9s joined 02:14 dukeleto joined 02:21 eviel joined
diakopter hears a pin drop 02:30
02:36 lumi joined 02:39 hitsubunnu joined
dalek ok: c170399 | (Solomon Foster)++ | src/multi-dispatch.pod:
Try to rephrase the first constraint paragraph a tad. Still needs work IMO.
02:44
ok: 9099f17 | (Solomon Foster)++ | src/multi-dispatch.pod:
Fix trailing whitespace.
02:46 synth joined 02:54 frew joined 03:08 markmont left 03:25 lumi joined 03:32 agentzh1 joined 03:41 __ash__ joined 03:55 envi^office joined 04:05 Schwern joined
frew pmichaud: you could pronouce NQP: NQP rex 04:06
that's at least easy to say :-)
04:07 lumi joined 04:13 eternaleye joined, eternaleye_ joined 04:20 mspauldi1g joined 04:25 Bzek_ joined
dalek kudo: 0e662a7 | pmichaud++ | docs/spectest-progress.csv:
Revised spectest numbers.

Failure summary: S02-lexical-conventions/unicode.rakudo aborted 5 test(s) S03-junctions/autothreading.rakudo aborted 78 test(s) S12-methods/parallel-dispatch.t aborted 21 test(s)
04:28
04:29 charsbar joined
eternaleye_ (epic backlogging) frettled: If nobody explained Orz over the past few days, it was/is one of the races in the game Star Control II, a.k.a. The Ur-Quan Masters (the latter is the open-sourced codebase of the 3DO version). Very fun game. The Orz were from an alternate spacetime 'below' ours (the Ariloulaleelay [LGMs] were from one 'above' us) whose language could barely be given even a general translation. Somehow, their 04:37
statement managed to be simultaneously cute, amusing, and absolutely terrifying.
dalek p-rx: efe456a | pmichaud++ | src/ (4 files):
Some code for naive token prefixes for regexes.
04:39
04:47 lumi joined 05:29 am0c joined 05:33 justatheory joined 05:48 riffraff joined 05:49 riffraff joined 06:03 Su-Shee joined
Su-Shee good morning. 06:03
06:10 eternaleye joined 06:12 lumi joined 06:13 frew joined 06:14 frederico joined
sjohnson Su-Shee: hi 06:23
dalek p-rx: d025580 | pmichaud++ | (4 files):
Some initial work on leading token prefixes in regexes.
p-rx: c206489 | pmichaud++ | src/ (4 files):
Updated version with simple protoregex token pruning.
p-rx: 29e11dd | pmichaud++ | src/ (2 files):
Clean up some debugging messages a bit.
06:29 lumi joined 06:31 rfordinal joined
frettled eternaleye: Heh, yep, that was epic backlogging :) I don't even recall the occasion! 06:38
dalek kudo: dda5262 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 453 files, 32614 (85.1% of 38326) pass, 83 fail

S02-lexical-conventions/unicode.rakudo aborted 5 test(s) S03-junctions/autothreading.rakudo aborted 78 test(s)
06:39
p-rx: 2577049 | pmichaud++ | src/NQP/ (2 files):
[nqp]: Add elsif/else clauses.
06:40
eternaleye frettled: It was when you suggested .nude as the listifier for Rats, and went /o\\ - TimToady said that looked a little like an orz 06:41
And it does look like the Orz spaceship
frettled eternaleye: ahaha! 06:42
now I remember!
|o| <o> |o|
06:44 namenlos joined
eternaleye Wait, what? So I'm reading XKDB (bash.org for #xkcd), and this one comes up: www.xkcdb.com/?2472 - all of the jokes ar UQM references. (The Thraddash have a ship called the Torch, the Arilou have the Skiff, the supox have the Blade, and another race is the Zoq-Fot-Pik) 06:47
ETOOMANYCOINCIDENCES
moritz_ carlin: sorry, it seems I missed your earlier mkdir patch in RT
eternaleye *XKCDB
07:02 NorwayGeek joined, frew__ joined 07:08 lumi joined 07:16 envi^home joined 07:17 payload joined 07:20 lumi joined 07:22 Schwern joined 07:25 vallor joined, orafu joined 07:28 rfordinal joined 07:29 rfordinal left 07:45 payload joined 07:51 kidd joined
mathw PCC branch landed in Parrot. That's going to be fun... 07:53
07:57 mariuz joined 08:00 lumi joined 08:13 zamolxes joined 08:18 namenlos joined 08:19 mathw joined 08:20 athomason joined 08:23 dukeleto joined 08:24 lumi joined
moritz_ oh wow, the spectest graph starts to look... creative 08:24
mathw moritz_: it does? 08:34
dalek kudo: edb2547 | jnthn++ | build/Makefile.in:
Correction to Makefile for Win32 (regression introduced by accident during resig2 merge).
08:45
08:46 xenoterracide joined 08:53 jrtayloriv joined 08:54 jrtayloriv left
moritz_ can somebody remind me what the difference between <?foo> and <.before <foo>> is? 08:56
or if there is a difference at all
09:03 NorwayGeek joined
colomon Ah, man, my prediction was off. jnthn++'s merge only cleared up 4500 fails. 09:03
moritz_ well 09:04
my predection was "a few hundred" 09:05
09:06 JimmyZ joined
JimmyZ rakudo: <hello foo bar>>>.say; 09:06
p6eval rakudo 073d5e: OUTPUT«hello␤foo␤bar␤»
frettled «only» 4500, tsk tsk 09:18
dalek kudo: 924e4f3 | moritz++ | README:
mention FreeBSD port in README
09:19
09:19 NorwayGeek_ joined 09:24 envi^office joined 09:30 payload joined 09:32 payload joined 09:48 NorwayGeek joined
dalek p-rx: 045112d | pmichaud++ | src/ (3 files):
Rework building of initial tokens in terms of PAST.
09:57
p-rx: 40d3046 | pmichaud++ | src/Regex/Cursor-protoregex-peek.pir:
Some infrastructure to allow protoregex peeks.
p-rx: 503d396 | pmichaud++ | src/PAST/Regex.pir:
More peekability for enumcharclass nodes.
carlin I've written a patch to move mkdir to the setting, it works on its own but if I do `$x = mkdir('foo')` or `say mkdir('foo')` etc. it causes a null PMC. How could I get around that? Putting a `return True` in it would work but that seems wrong. 10:03
(it would throw an exception before it got to there if it wasn't supposed to return true) 10:06
10:08 payload joined
moritz_ carlin: if you return something from inline PIR you might have to box it 10:08
10:08 hanekomu joined 10:11 donaldh joined
carlin moritz_: How do you mean? 10:11
moritz_ %r = box $I0 10:12
carlin Hmm... maybe I've done it wrong 10:22
This is what I've got: gist.github.com/215882 10:23
moritz_ the problem is that probably that $os.mkdir returns an int 10:24
or os
*or so
but in Rakudo all return values must be PMCs
so the solution is probably to make the call to mkdir in PIR too 10:25
carlin Oh okay. That shouldn't be too hard to do 10:26
moritz_ $P0 = new 'OS'
$P1 = find_lex '$dirname'
$S1 = $P1
$P9 = $P0.'mkdir'($S1, ...) 10:27
erm
$I9 = $P0.'mkdir'($S1, ...)
%r = box $I9
or something
10:52 masak joined
masak greetings. 10:52
moritz_ |o|
masak rakudo: class A { constant B = 5; has $!x = B }; A.new 10:54
p6eval rakudo 073d5e: TIMED_OUT
masak glares at p6eval
anyway, that gives a Null PMC access error here. anyone else? 10:55
what about this one?
rakudo: class A { constant B = 5; has $!x = A::B }; A.new
p6eval rakudo 073d5e: TIMED_OUT
masak couldn't we just have p6eval print 'TIMED_OUT' without the delay? :( 10:56
moritz_ I can set the timeout to one second, if that pleases you more
masak it would make it seem more responsive. 10:57
pugs_svn r28878 | moritz++ | [evalbot] handle revision numbers in PARROT_REVISION which also contain a release version 10:59
r28879 | moritz++ | [evalbot] try to do it right this time, moritz-- 11:00
carlin moritz_: that partially worked, but the return value just seems to be a random number 11:03
moritz_ src/runcore/main.c: In function ‘dynop_register’: 11:04
src/runcore/main.c:775: error: ‘Parrot_DynOp_core_cgp_1_7_0’ undeclared (first use in this function)
oh wow, the release version of parrot doesn't build on the server
masak that could explain it. 11:05
moritz_ ah, parallel build it is 11:09
sequential one seems to work
so back to the stone age
mathw Fedora 12 beta announcement includes:
"Cool new stuff for developers beginning with Eclipse Galileo, which
includes more plugins than ever before. Perl 6 is now included, along
with PHP 5.3."
moritz_ YaY
masak brave new world. 11:11
mathw Actually Fedora 12 generally looks very cool 11:12
I feel another distro change coming on
nbrown phenny: tell jnthn edb2547 fixed my make spectest issues, thanks jnthn!
phenny nbrown: I'll pass that on when jnthn is around.
11:14 p6eval joined
Su-Shee oh wow. :) 11:14
moritz_ rakudo: say '45'
p6eval rakudo 073d5e: OUTPUT«45␤»
moritz_ rakudo: class A { constant B = 5; has $!x = A::B }; A.new
p6eval rakudo 073d5e: TIMED_OUT
moritz_ rakudo: say %*VM<config><prefix> 11:15
p6eval rakudo 073d5e: OUTPUT«/home/p6eval//p1␤»
11:15 meppl joined
moritz_ hrmpf 11:15
11:20 payload joined 11:21 c9s_ joined
moritz_ rakudo: class A { constant B = 5; has $!x = A::B }; A.new 11:24
p6eval rakudo 924e4f: TIMED_OUT
moritz_ rakudo: say %*VM<config><prefix>
p6eval rakudo 924e4f: OUTPUT«/home/p6eval//p2␤» 11:25
11:29 NorwayGeek joined 11:40 ihrd joined, ihrd left 11:41 lisppaste3 joined 11:52 lumi joined 12:00 takadonet joined
masak do you guys remember my old article 'Rakudo: good, cool, awesome, bad, ugly, weird'? well, it turns out that only one thing remains among the things I wrote about in that article that needed to be fixed. use.perl.org/~masak/journal/37303 12:02
to me, that's a pretty good indication of the progress we've had in Rakudo over the past year. 12:03
moritz_ so the only thing left is s///?
masak yes.
and that'll be fixed soon.
moritz_ rakudo: class A { constant B = 5; has $!x = A::B }; A.new # if it doesn't work now, I simply have no idea what's wrong, or what else to try
masak of all the 12 criticisms I could possibly conjure up in late August 2008, only one remains. 12:04
p6eval rakudo 924e4f: TIMED_OUT
masak unless you count the fact that I'm starting to hit stability limits in Rakudo/Parrot again, but I think those are new problems, not recurring ones.
moritz_ masak: agreed, on all points
masak moritz_: are you also hitting stability limits? 12:05
moritz_ masak: yes
masak interesting.
moritz_ simply by running 'make spectest'
masak oh, those.
moritz_ some of them segfaults now and then
masak to me, it seems fairly correlated with program length (in seconds). 12:07
also, memory consumption. 12:08
I can bring Parrot down with this Perl 6 program:
rakudo: my @a; for 1 .. 100_000 { @a.push(42) }
p6eval rakudo 924e4f: TIMED_OUT 12:09
masak here on my computer, I get src/gc/api.c:248: failed assertion 'PObj_is_PMC_TEST(obj)'
in fact, I'll go talk to the Parrot people about that one right now.
moritz_ bad timing.
if they fix something, you still can't build rakudo on trunk 12:10
because of the pcc merge
masak I'm in no hurry.
12:18 shinobi-cl joined
shinobi-cl hi... does anyone knows any good examples for reading csv files in perl6? 12:19
masak examples, as in... modules for reading CSV? 12:20
shinobi-cl no, only a code like "while (<FILE<) { say $_.S/; } " etc... 12:21
masak you cannot read CSV files on a line-by-line basis. quoted values may span several lines. 12:22
moritz_ for $file-handle.lines -> $l { my @row = $l.split ','; # do something with @row }
shinobi-cl i found some on the net but they use =file syntax, which are deprecated i think
moritz_ it is
masak feel free to take a look at how github.com/masak/csv does it, though.
moritz_ rakudo: say ='foo'
p6eval rakudo 924e4f: OUTPUT«No applicable methods.␤in Main (file src/gen_setting.pm, line 295)␤»
shinobi-cl aaahh ok that will do, thanks :) 12:23
masak :)
I've not announced that module, because bpetering++ promised to do something extremely cool with it first.
but in my not so humble opinion, the :output(MyType) setting on that module is already very cool. 12:24
shinobi-cl i just want to have a file with translated styrings, and some sort of i18n module.. 12:25
masak translated styrings?
what's a styring, precious?
shinobi-cl sorry for any typos im using my left arm, right has a fracture :o
12:25 lumi joined
shinobi-cl strings i meant 12:25
masak oh. 12:26
and sorry about the arm. :/
shinobi-cl: well, my point is that if you ever conceive of having newlines in your comma-separated values, you shouldn't be reading the file line-by-line.
instead, you should be using a well-written module with many tests, like mine. :) 12:27
shinobi-cl oh thanks, at least i have som days out of work..
dalek p-rx: 0abc653 | pmichaud++ | (5 files):
Convert token peeks to use separate *__PEEK methods.
p-rx: 9197d53 | pmichaud++ | src/ (5 files):
Switch to using !PREFIX__* instead of *__PEEK.
p-rx: c82db7d | pmichaud++ | (5 files):
Initial code for subrule peeking.
p-rx: 4388311 | pmichaud++ | src/Regex/Cursor-protoregex-peek.pir:
Handle the case where !PREFIX_* returns a nested array.
shinobi-cl oh i've did something like that in perl5 once
but im guess im gonna steal your module for now :) 12:28
masak let me know how it goes.
shinobi-cl sure, the i18n part is just a small module... are you familiar with the term Team Syntegration? 12:29
is a very cool idea for organizing big meetings, i want to see i i can represent it and automate the administrative parts of the Team Syntegration protocol using roles and classes 12:31
ok got to go, have to see a doctor for that arm...
bye and thanks masak! 12:32
masak o/
12:32 shinobi-cl left
takadonet masak always giving away code... 12:32
masak that's how the Noosphere works.
moritz_ s/giving away/sharing/ 12:33
takadonet thanks moritz_ :)
moritz_ the important thing about code is that you can give away a copy with virtually no cost on your own 12:34
masak same as all digital creations.
moritz_ many people haven't understood that yet, and are therefore very sceptical about open source
takadonet don't get me wrong, I love open source. That is one of the main reason I love working in a scientific field. Everything I produce is open source 12:36
Su-Shee moritz_: I think, OSS has a pretty good reputation and standing here..
moritz_ takadonet: I didn't mean to imply that you were one of those - just that comment triggered something that has bothered me for long 12:37
Su-Shee: aye :-)
mathw the only place I've really been where open source is distrusted is where I am now... 12:40
Su-Shee our customers are very old business, not very internet-affine. they really have problem to plainly _believe_ that they don't have to buy a postgres (or perl) licence.
mathw Ours is more like... everything we bring in from outside is a risk, and they're always looking at minimising security and stability risks 12:41
and they don't see open source being very good at it, they like to be able to buy incredibly expensive commercial support
sometimes I just think that they don't trust it because it's too cheap
moritz_ well 12:42
we should start a company that sells open source software to incredibly high prices
Su-Shee "get rich fast with rakudo"? :) 12:43
moritz_ not just with rakudo
suppose some desparate sould like mathw wanted to use postgres for his $work 12:44
so he contacts us
12:44 synth joined
moritz_ and we create a commercial postgres version 12:44
mathw and you sell it to my employer for £100,000
moritz_ right
mathw see that would make them feel comfortable
moritz_ we get rich, and you get postgres
mathw because they're already paying vast sums of money to companies like Sun and Oracle
In return, we get the kind of attention anybody with an intelligent question can get in here 12:45
Or on GTK's bugzilla
or...
12:46 SmokeMachine joined
moritz_ aye 12:47
and we could also donate some of that money back
moritz_ likes the idea, but doesn't think it's very feasible 12:48
mathw no probably not
and you'd have to worry about taxes and things
masak have you people seen Mythryl? seems like a cute language, with many commonalities with Perl 6. mythryl.org/index.html 12:50
moritz_ I already like the name :-) 12:51
mathw except that nobody you tell about it will be able to spell it
didn't tolkein spell mythryl with i in it?
12:52 NorwayGeek joined
moritz_ yes 12:53
12:54 PerlJam joined
PerlJam guten Tag meine Freunde 12:54
masak and he usually spelled "Tolkien" with the i before the e. :P
mathw masak: I always get that wrong
Su-Shee PerlJam: ui :)
mathw Guten Tag, Herr PerlJam. 12:55
masak Bonan tagon, sinjoro PerlJam.
mathw Aye up, ducky 12:57
(see I do speak more than two languages... I know some Midlands :) )
PerlJam I speak many languages, but I only know what I'm saying in english and maybe a little spanish ;) 12:58
Su-Shee PerlJam: well you didn't insult us germans accidently, no worries. :)
PerlJam Su-Shee: that's the extent of the german I picked up from Diary of Anne Frank when I was in 8th grade or so. 13:00
that and "mach schnell!"
Su-Shee That's interesting as anne frank's is orginally written in dutch... 13:02
"diary"
PerlJam But the germans who were oppressing her didn't speak dutch :) 13:03
Su-Shee she was german, but lived hidden in amsterdam. I think, her father worked for some dutch company.. 13:05
13:08 NorwayGeek joined 13:09 [particle] joined 13:12 snearch joined 13:15 lumi joined 13:22 abra joined
mathw finds the Mythryl quickstart vaguely patronising 13:25
Su-Shee sticks with Perl 6. ;) 13:33
stays?
13:33 c9s joined
masak both 'sticks' and 'stays' work, methinks. 13:34
but 'stays' sounds slightly more excluding than 'sticks'.
Su-Shee it has a taste of "got stuck with" though :)
masak not really. 13:35
not when it's in the active voice.
mathw Having read a bit past the big overview
I think Perl 6 is more consistent
masak how so? 13:40
mathw Just a general sort of impression 13:41
Also, we don't trumpet every slightly unusual language feature as a major new thing you'll be so excited about 13:42
colomon (think I'd argue that "sticks" is slightly more idiomatic English, though perhaps that's American English...)
13:42 SmokeMachine joined
mathw colomon: it works in British as well, the meanings are slightly different 13:42
PerlJam Su-Shee: perl is glue and glue sticks 13:45
13:45 __ash__ joined
mathw is thoroughly stuck 13:45
PerlJam Am I the only one who finds www.pragprog.com/titles/snfocus/pom...llustrated just a little bit ridiculous? 13:46
Su-Shee I find the pomodoro-technique a total rip-off. 13:50
jnthn oh lol I'm in Italy 13:52
phenny jnthn: 11:12Z <nbrown> tell jnthn edb2547 fixed my make spectest issues, thanks jnthn!
jnthn nbrown: I kinda hoped it would. :-) 13:53
It's relese day, yes? :-) 13:54
PerlJam yes
jnthn \\o/ 13:55
masak jnthn: I did found a regression caused by your merge yesterday.
jnthn: not too serious, though.
jnthn masak: I'm hardly surprised.
masak: I'm surprised it took you this long.
masak heh :)
jnthn Given what it was I ripped out and replaced. :)
What was it that you found? 13:56
masak rt.perl.org/rt3/Ticket/Display.html?id=69967
jnthn oh heh
masak I discovered it when I recompiled some, uh, not-yet-released Perl 6 code.
jnthn And that one is probably nothing to do with the signature binder and everything to do with the changes to package blocked.
*blocks 13:57
masak oh, aha.
you did that recently too?
jnthn (e.g. the ones that fixed lexicals visible outside of classes)
I did it during resig2 because it was blocking me fixing a test.
masak :)
then it's not wrong to say that 'the merge' caused it.
jnthn We were getting away with some stuff (sort of...ish) that we shouldn't have been before.
No, it's very likely.
masak once again, the cheese catches a bug! \\o/ 13:58
jnthn Yes. And a missing spectest too.
oh heh 13:59
That one might be...fun...to fix.
Oh, or it may be easy. Hmm.
Either way, I doubt I can churn out an instant patch.
masak no worries.
it's workaroundable. 14:00
jnthn Aye.
Out of curiosity, does a lexical instead of a constant work?
How about an our-scoped variable?
masak tries
jnthn rakudo: class A { constant B = 5; has $!x = B }; A.new
rakudo: class A { my B = 5; has $!x = B }; A.new
p6eval rakudo 924e4f: TIMED_OUT 14:01
rakudo 924e4f: OUTPUT«Malformed declaration at line 2, near "B = 5; has"␤in Main (file <unknown>, line <unknown>)␤»
jnthn oh dub
rakudo: class A { my $B = 5; has $!x = $B }; A.new
masak jnthn: 'my' doesn't, 'our' works.
p6eval rakudo 924e4f: TIMED_OUT
masak 'my' produces the same error as 'constant'. I'll add that to the ticket.
jnthn masak: OK. And since constants are package scoped, that probably gives us a pointer.
oh, my doesn't work?
masak nod.
jnthn Hmm
oh wait 14:02
I think constants became our scoped in the spec *after* I implemented them. :-/
So they're probably still lexical.
masak aye.
that is consistent with the data.
jnthn *nod*
OK, so it looks like something to do with lexicals and attr initializers. 14:03
Maybe we attach the initializer blocks to the wrong lexical scope. 14:04
masak pleased to be of destructive service.
eiro hello
masak bonjour, eiro.
eiro i didn't work on perl6 tonight: was in familly. but i thought about it 14:05
14:05 xinming_ joined
eiro bonjour masak. comment vas-tu aujourd'hui ? 14:05
masak tres biel, merci. :)
s/biel/bien/
eiro s/l/n
haha :)
bravo
moritz_ "ca va" :-)
easier to type :-)
masak eiro: et toi? 14:06
eiro moritz_, you're right!
moritz_ though I do think it lacks a cedilla
masak it does.
moritz_ ça va?
masak 'c' before 'a' is pronounced as a 'k'.
eiro masak, je suis de charmante tres bonne humeur mais j'ai beaucoup de travail
masak eiro: moi aussi.
eiro ça va
__ash__ masak: i found an interesting issue with proto. If the library your trying to install via proto isn't in the correct directory layout it kinda messes up
eiro is impressed by the masak's french skills 14:07
masak __ash__: oh?
eiro: seven years left some kind of mark, it seems. :P
eiro i want to learn german: my 6 years old daughter have a better level than mine
jnthn Five years left little mark on me.
eiro masak, sure :) 14:08
masak but most of the machinery in my brain that handles French has been co-opted by the machinery that handles Esperanto... :/
nuntempe kiam mi serĉas francan vorton, mi ofte trovas Esperantan...
14:08 am0c joined
eiro well ... i lived 2 years on marocco but my arab is awfull :( 14:08
masak s/arab/arabic/ 14:09
:)
eiro thanks
__ash__ masak: i switched to the installed-module branch, and then copied the projects.list from the master to that branch and tried installing Link-C and thats how i noticed it, Link-C isn't in the right directory layout, its not in a lib folder, and proto assumes that everything in the repo that is a library is in a lib folder, just thought i'd let you know
eiro s/ma/mo
masak __ash__: oh, the installed-module branch. well, then...
__ash__: so, let me see if I get this right: something in the installed-module branch assumes that a downloaded project has the .pm files in a lib/ folder? 14:10
14:11 justatheory joined
masak that sounds simultaneously very reasonable and a tad brittle. I'll make sure to discuss it with mberends++. 14:11
eiro moritz_, i thought about what you told to me about iso2709 and i have a reason to not use the "fixed width" informations inside the file: some of those infos are sometimes fucked (after a reencoding for exemple) 14:12
jnthn coffee break \\o/
__ash__ yeah, it doesn't actually check if there is a file, one sec i'll show you what i mean
eiro so i only want to rely on separators
in this case, a grammar can be a good solution, no ? 14:13
moritz_ probably, yes
eiro i can show you the perl5 code i want to convert (137 lines)
jnthn, 5 years in france ? or did you mean hungary (i think you live there by now) 14:14
masak __ash__: I think you just became our first tester of the installed-modules branch. :) 14:15
14:16 __ash___ joined
__ash___ masak: github.com/masak/proto/blob/install...er.pm#L414 right there, it blindly copies the file from the repo into the perl6 lib, its not actually validating that the @files has any valid files in it, if the repo its pulling from has no lib folder you get an error saying cp is wrong (because it is) 14:16
14:16 cdarroch joined
masak __ash___: hm... if @files is empty, the loop shouldn't run at all. 14:17
this is the first time I'm looking at that code, by the way. I probably should have long ago, but I've been too distracted with other things. 14:18
__ash___ it's running for me, then it stops because cp gives an error
moritz_ patch it! patch it! 14:19
__ash___: do you already have commit access to proto?
if not, what's your github ID?
masak I'm still trying to understand exactly how the wrench stops the machinery in this case.
__ash___ ashgti
moritz_ hugme: add ashgti to proto 14:20
hugme hugs ashgti. Welcome to proto!
masak __ash___: is the problem that $file points to a non-existent file, or that the lib/ dir doesn't exist?
__ash___ masak: when irun it, here's the result: Installing link-c...usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file 14:21
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
installed
so, its doing something, but its not doing the right something 14:22
masak nod.
do you think you could add a 'say $command' after the assignment on line 426?
__ash___ sure 14:23
masak great. 14:24
pmichaud good morning, #perl6
PerlJam good morning Pm
pmichaud PerlJam: need anything from me for today's release?
PerlJam dunno :) 14:25
I update and am running the spec tests now via test_summary.pl
s/update/updated/ 14:26
pmichaud wfm
__ash___ masak: cp /Users/john/Projects/proto/cache/link-c/lib/find: : No such file or directory
2 of those
are the $commands
PerlJam I'm also editing the release announcement, which I'll post here in a little while for commentary. 14:27
__ash___ so, maybe this problem is coming from how the files are found 14:29
masak mornin', pmichaud.
__ash___: quite possibly.
__ash___ masak: the filename is find: : No such file or directory, so yeah, i am gonna look at how you find the files 14:30
masak it's in Ecosystem.pm 14:31
line 83.
there's your assumption right there. it presupposes a lib/ dir.
__ash___++
the obvious patch would be to return an empty list if there is no such dir. 14:32
__ash__ guess just right before that we just need to check for the lib dir
yeah
masak __ash__: will you write that patch, or shall I?
__ash__ i don't know much of the io things, i wouldn't know how to check for the directory 14:33
i can look it up
masak excellent.
ISTR $file ~~ :d is implemented in Rakudo.
that should be enough.
__ash__ kk 14:34
14:34 kent\\n joined 14:36 nihiliad joined
__ash__ should i return an empty array, or should i raise an error of sorts? 14:40
moritz_ maybe warn, and return an empty array?
__ash__ k, that sounds good 14:41
PerlJam okay, so test_summary.pl came back with gist.github.com/215969. what do those failures mean for me exctly?
masak warning and returning an empty array sounds about right. 14:42
moritz_ PerlJam: for the release you should regress on these tests 14:43
either by fudging them, or by commenting them out from t/spectest.data
PerlJam: in either case you should also open a ticket for that
pmichaud ...215969 didn't appear for me
oh, wait, stupid trailing dot 14:44
PerlJam pmichaud: did you copy the trailing . ? )
:) even
pmichaud comment those test files out of spectest.data for the release
you can uncomment them again after the release
i.e., what moritz++ said.
PerlJam okie 14:45
pmichaud I'd comment them out of spectest data rather than fudge.
PerlJam what's the difference?
moritz_ comment out = operation in the rakudo repo
pmichaud we know/suspect that those tests ought to be passing, we've regressed 14:46
if we fudge them, we somewhat lose the "regression" bit
PerlJam gotcha
pmichaud if we keep them as commented entries in spectest.data, then we know that we were passing them at one time but have gone backwards
14:53 Psyche^ joined 14:55 alester joined
moritz_ I'd also put them back in right after the release 15:01
15:03 rdice joined
PerlJam Anyone have anything to add to gist.github.com/215981 ? 15:11
pmichaud nothing to add here. 15:12
__ash__ if i am in a tracking branch and i push do i need to specify the remote branch?
in git
takadonet wait a min.... we are passing 85% of the spec!?!?! 15:14
PerlJam __ash__: the default is to push to "matching" remote branches, but you can change that in your config or by specifying a particular branch to push to
pmichaud yes 15:15
but the spec has increased size significantly
PerlJam takadonet: yeah, that number is perhaps misleading. The total number of tests went up because a bunch of passing tests got added
pmichaud so we're still failing about as many tests as before 15:16
takadonet PerlJam: I know but still little shocking
masak PerlJam: looks good to me. 15:17
takadonet wonder how many test are we going to when we release rakudo star
pmichaud guesses *
takadonet come on 100k!
PerlJam takadonet: well, I could add bunches and bunches of passing tests so that our percentage of spectests asymptotically approaches 100% if you want to be more shocked ;-> 15:18
percentage of *passing* spectests
__ash__ masak: i have a git format patch if you want it for proto 15:20
masak __ash__: you're free to commit it directly if you want. 15:21
trust the anarchy. :)
15:21 lumi joined
__ash__ k, um... well, i am kinda git-retarded, when i do git push it says everything is up to date 15:22
moritz_ rakudo: sub a(::Int $x) { say $x }; a(5) 15:23
p6eval rakudo 924e4f: OUTPUT«5␤» 15:24
__ash__ anyone know what: error: src refspec installed-modules does not match any. mean?
s/mean/means/
15:25 cspencer joined
PerlJam __ash__: you used the text "installed-modules" where you really wanted a refspec 15:25
__ash__ should that be like origin/installed-modules ? 15:26
dalek kudo: 37956bf | duff++ | (3 files):
Updates in preparation for release
PerlJam __ash__: perhaps. Show the command line.
__ash__ git push origin installed-modules 15:27
moritz_ I think needs to be the other way round 15:28
git push installed-modules origin
15:30 NorwayGeek joined
PerlJam __ash__: "git push origin" should probably work if you're on the installed-modules branch (you may need to do "git config push.default current" so that git doesn't complain much) 15:30
__ash__: or, "git push origin refs/heads/installed_modules" to be long-hand about it. (I think) 15:31
pugs_svn r28880 | lwall++ | [S02] refine global linkage policies
__ash__ masak: i just made a new branch accidently, gonna delete that on github 15:32
masak oki.
__ash__ k, got it, masak, its pushed 15:34
masak thanks. will review.
looks good. __ash__++ 15:35
__ash__: hm, wait. what's that you're testing in the second if statement you added? 15:36
that the source file exists and is a file, and that the target file... exists and is a file?
that doesn't feel quite right. :/
__ash__ hmm, yeah, your right, i did mess that up, i should only be checking the source, not the dest 15:37
:-(
masak I think so.
even though the comment above that talks about 'non-clobbering'. 15:38
the question what should happen if there's a file in the target spot already is an interesting one.
if it belongs to the project we're trying to install, then we should probably overwrite it without a warning. 15:39
if it belongs to another project, we should probably stop dead in our tracks...
(because destroying other installed projects without asking is evil)
__ash__ then you'd need to keep track of which projects own which files
pmichaud numeric advantage of using token prefixes in protoregexes to prune the tree:
masak __ash__: aye. 15:40
pmichaud for a simple statement like "if 3 { say(4) }" (in NQP)
__ash__ how does cpan handle that?
PerlJam github requires flash for uploads?
pmichaud without pruning, we call 416 subrules
with pruning, we call 270
moritz_ woah
pmichaud i.e., we avoid calling 146 subrules
masak __ash__: it puts modules in their own dirs.
pmichaud (that will fail anyway)
masak pmichaud++
pmichaud note that this number gets much bigger as we add more subrules... this is using nqp-rx's extremely limited set at the moment. 15:41
__ash__ masak: should you do that with proto?
masak __ash__: no, because that'd destroy the advantage of putting them all in one ~/.perl6/lib dir. 15:42
__ash__: and categorizing modules according to only their names won't work as a long-term strategy in Perl 6 anyway.
not that proto was ever long-term...
15:42 namenlos joined
pmichaud oh wait, I misquoted the numbers above 15:43
__ash__ masak: you could have proto manage them, so if you wanted a lib from proto you might do something like use Proto; Proto::load('Stuff');
pmichaud it's more like 200 versus 130
(each I was counting call+exit)
moritz_ still rather impressive
rakudo: say 70/200 15:44
p6eval rakudo 37956b: OUTPUT«0.35␤»
moritz_ ok, I could have done that in my head ;-)
TimToady rakudo: say 0.35.WHAT
pmichaud gist.github.com/216025 # trace when pruning disabled
p6eval rakudo 37956b: OUTPUT«Num()␤»
TimToady I thing maybe that should say Rat
pmichaud yes, we haven't done that part yet. 15:45
masak __ash__: yes, but I don't want that. I want proto to go away, not to leave marks in people's code.
15:45 kent\\n joined
pmichaud gist.github.com/216026 # trace when pruning enabled 15:45
__ash__ masak: kk, well, does proto have a list of files that projects own currently? I can add one if not and fix my error 15:46
pmichaud note that PROTO prefix is able to fail immediately without having to call any of its subrules :)
moritz_ we should only enable that (0.35 being a Rat) once we have bigints in Rakudo
masak __ash__: please sync that with mberends++, he's in charge of that branch.
__ash__: in the meantime, do have a look at the TODO list at the end of the 'proto' script.
__ash__ k 15:47
dalek p-rx: 076c241 | pmichaud++ | src/ (3 files):
Refactor protoregex token list generation a bit, add some dump methods to
15:52
p-rx: adf59e2 | pmichaud++ | src/ (3 files):
More refactors, add in ability to build peek tokens from subrules.
p-rx: 8ffa9b0 | pmichaud++ | src/ (3 files):
Fix secondary sorting of protoregex candidates.
masak yay, evening reading! \\o/ 15:53
I'm way behind on my nqp-rx commit reading.
pugs_svn r28881 | lwall++ | [S02] document desire to have decimal literals biased toward Rat storage 15:55
15:58 rfordinal joined 16:00 payload joined
__ash__ wow, so 3.14 should be rational, and 3.14e0 will be a float, how is rational performance wise? that seems like it could be scary if you don't realize that 16:01
TimToady if you want speed, you'll be declaring 'num' anyway 16:02
so we bias towards exact instead
and the Rat literal can always cache its Num conversion 16:03
__ash__ makes sense 16:04
TimToady it's also possible that Rat will notice when all its fractions are base 10, and optimize for that
PerlJam rakudo.org/node/57 16:05
TimToady anyway, that's my rationale
masak :P
Guido has a few negative things to say about exact numbers: python-history.blogspot.com/2009/02...pment.html
(paragraph starting with 'Numbers are one of the places where I strayed most from ABC.') 16:06
16:06 rfordinal left
TimToady writing his memoirs already, is he? :) 16:07
masak seems so.
TimToady good :)
masak anyway, I think he brings up a valid point: that Rats might tend to get very large numerators/denominators if they're used in repeated calculations. 16:08
moritz_ we have this problem in rakudo already.
masak yes, we do.
moritz_ maybe we should have a PseudoRat 16:09
masak except that Rakudo halts instead of getting slower and slower. :P
moritz_ that stays exact as long as possible without upgrading the integers
and then auto-decrades to Num
masak in either case, it seems like a situation where it might be outright dangerous not to learn from the lessons of others. 16:10
__ash__ i know in python, you can specify a precision for your floats and if you set it high enough it doesn't use double's or floats to represent the number anymore, at that point it converts them to an arbitrary precision representation 16:11
masak swimming & 16:13
__ash__ are rational's in rakudo handled by parrot or by a different arbitrary precision library? or something else? 16:14
moritz_ just as two ints
src/setting/Rat.pm
__ash__ code.google.com/p/decnum-dynpmcs/ made a library for parrot that does big decimal arithmetic, might be useful to make sure rational's don't get to slow, possibly 16:17
pugs_svn r28882 | lwall++ | [S02] tweak Rat to max out at rat64 by default 16:21
moritz_ PerlJam++ # rakudo release 16:22
dalek kudo: 281e3b2 | duff++ | t/spectest.data:
Uncomment regressed spectests
TimToady hmm, I wonder if rat64 is really big enough for an Instant... 16:26
could cap it out at rat128 by default, I suppose 16:27
16:28 pmurias joined
pmurias hi 16:28
TimToady actually, rat64 would be fine until we start measuring seconds down to 2 ** -60 or so 16:30
and rat64 is probably a performance sweet spot for the near future
masak++, moritz++, guido++ :) 16:31
now if I could only find a performance sweet spot for my backlogging...I'm three days behind... 16:32
16:38 donaldh joined
PerlJam TSa's recent posts to p6l are interesting. 16:45
17:10 fax joined 17:14 quietfanatic joined, __ash__ joined 17:15 stephenlb joined 17:21 jan_ joined
japhb masak, speaking of proto going away ... I'm working on an importer for the proto projects into the Plumage metadata system. It's going OK so far, but at the moment I'm blocked on the problem of what to do about each project's lib/Configure.pm not expecting installed parrot and rakudo, but looking for build directories instead (and in particular locations, no less). What is your plan for the migration to installed parrot/rakudo? 17:32
pugs_svn r28883 | moritz++ | [S02] use old school math, Eirik++ 17:35
moritz_ japhb: mberends did much of the proto branch that deals with installing modules... 17:37
japhb: and he left a large TODO list in github.com/masak/proto/blob/install...ules/proto - maybe that's of interest to you 17:38
17:39 rdice joined 17:41 lumi joined
japhb moritz_, checking, thank you 17:42
17:46 SmokeMachine joined
japhb Holy schnauzer noses, the difference between the installed-modules branch and master is vast. 17:46
When is mberends normally about? 17:48
moritz_ irregularly between 0800 and 2200 UTC 17:50
17:54 namenlos joined 17:57 __ash__ joined
dalek ok: dfc24bd | moritz++ | (2 files):
simplistic Makefile which builds the book in build/book.pdf
18:03
ok: c10a89c | moritz++ | (2 files):
[docs] current status for release announce
18:09 __ash___ joined 18:14 Chillance joined 18:18 desertm4x joined
dalek ok: 3f1f4a1 | moritz++ | (2 files):
[MMD] include the figure into the PDF
18:20
18:25 snearch joined
dalek ok: 630568d | moritz++ | src/mmd-table.svg:
[MMD] crop the SVG to its drawing area, which in turn makes the final PDF more accessible to some viewers like kpdf
18:32
18:35 icwiener joined
dalek ok: f1a7cf6 | moritz++ | README:
[README] explain PDF creation
18:38
18:38 lumi joined 18:39 payload joined 18:48 glurks joined 18:51 nihiliad joined
TSa HaloO 18:58
moritz_ hello TSa
TSa can I just start a discussion? About role invocant slots e.g.? 18:59
moritz_ sure you can
the question if is anybody up for it
PerlJam TSa: your posts to p6l looked interesting and useful. 19:00
moritz_ I for one haven't read the p6l thread
PerlJam (that's about all the input I have :)
pmichaud I haven't read the p6l thread either :)
TSa the one I made a minute ago or the older one?
PerlJam TSa: older one
19:00 fax left, fax joined
PerlJam read the new one 19:00
TSa the idea is to have the class a role is composed into in the invocant slot of the role type sig
pmichaud PerlJam++ # Thousand Oaks 19:01
PerlJam: any comments on the release process itself?
TSa Perljam: the only update is that Foo means Foo[Foo:]
PerlJam pmichaud: not really. Seemed straight-forwardish. There are a couple of grey areas where the release manager has to use his/her own judgement and being self-doubting I kind of would liked to have some more guidelines, but the other than that, no worries. 19:03
dalek p-rx: 981e5ea | pmichaud++ | src/ (3 files):
Allow prefix token peeks to traverse through initial subrules.
19:04
p-rx: 3b82660 | pmichaud++ | src/ (3 files):
Rename some internal methods to be more consistent.
moritz_ PerlJam: feel free to augment the release guide, for example to be more verbose about regressing on tests
pmichaud +1 19:05
PerlJam moritz_: I feel free to modify anything ... it's just doing it without getting distracted that always seems to be the problem :-)
In fact, I'm surprised I was able to go through the release process without distraction (twice even!) 19:06
19:07 lumi joined
pmichaud I'm wondering when nqp-rx's release cycle should be 19:07
I'm guessing one week before Parrot
PerlJam pmichaud: once a month 2 days before the parrot release ;)
pmichaud well, I'm hoping that parrot will include a copy of nqp-rx in its bundles 19:08
PerlJam did I read yesterday or so on #parrot that japhb was going to start using nqp-rx for plumage?
pmichaud yes 19:11
likely so, since I expect the existing nqp/pge to be deprecated
japhb PerlJam, you read correctly. :-) 19:12
TSa is my proposal a worthwile attempt to settle the Dogwood problem? 19:13
PerlJam TSa: I'm not sure I understand the mechanics of it. 19:18
TSa well I bind together role selection and subclassing
the idea is that every role is parametric on the class it's composed into 19:19
PerlJam TSa: automatically and invisibly?
19:19 KatrinaTheLamia joined
TSa most of the time, yes 19:19
actually the notation Foo[Bar:] is *the* type notation of Perl 6 then 19:20
PerlJam Well, you can quibble with TimToady on the syntax, but assuming some sort of notation exists, it sounds useful 19:21
But it's always the repercussions that you *don't* see that get you into trouble ;)
I haven't looked at it long enough to see what I'm not seeing. 19:22
TSa It's backed by f-bounded polymorphism
well, it depends a bit on how convenient coercion routines are to write 19:23
what e.g. is the syntax to meddle with the dispatch table of an object?
spinclad class C is also { method newmethod(...) {...} } 19:24
maybe
$object does C;
(i think that answers a different question than you're asking) 19:27
TSa yeah, I just want to make sure that bark hits Dog::bark in Dogwood
spinclad (question about the meta-obj protocol for adding/wrapping/resolving methods?) 19:28
TSa yes 19:29
spinclad i think neither rakudo nor recentish spec do anything special to resolve methods to the role environment they're invoked from 19:30
(recentish meaning before the recent thread) 19:31
PerlJam spinclad: you are correct.
(thus TSa's musings :)
TSa so at least it's a new thought? 19:32
19:32 lumi joined
PerlJam new to me anyway, dunno about jnthn or TimToady or pmichaud or anyone else who's like to have to implement the mechanisms of method access 19:33
spinclad recently we have $ob.R::method, which i'm not clear on the mechanics enabling it
19:34 icwiener_ joined
PerlJam spinclad: that's different to what TSa is proposing though. That twiddles the method to get the right semantics. TSa wants to attach it to the "type" 19:34
spinclad but that's forcing the choice of role, not following the surrounding environment
agreed 19:35
PerlJam (does anyone else get an icky feeling when they see/hear the word "type"? Like it's too generic these days? e.g. "user") 19:36
TSa Hmm, the only thing it does is invoke the coercion routine as needed
spinclad (i *like* resolving types at compile time!)
TSa I like resolving issues in one spot: the class 19:37
dalek p-rx: b7a03fc | pmichaud++ | src/NQP/Grammar.pm:
[nqp]: Make statements smarter about detecting end of block/arglist/compunit.
19:38
PerlJam TSa: it looks like you're saying attach enough information to the class so that later, you can say things like "for the purposes of this invocation, treat a Dogwood as a Dog so that calls to bark() within the dynamic scope it will call Dog::bark" 19:39
TSa: correct?
spinclad my partial objection to resolving a method to its invoking role: when the role intends to call the overriding method if any
19:39 ShaneC1 joined
TSa Perljam: yes 19:40
spinclad: everything is under control of the object's conversion routine
spinclad in which the role provides interface and implementation, and calls the imterface.
TSa that nicely encapsulates things
contrast that with $object.Role::method 19:41
there the user forces an odd call on the object
spinclad conversion routine: giving the object the aspect of a given role? 19:42
TSa with a potentially wrong object environment
spinclad agreed there
TSa well, the conversions are between classes not roles 19:43
spinclad s/role/class/, then
sounds like one would want to reify the different aspects a bit then (more) 19:44
TSa sorry, could you restate the problem. I didn't get it
I hope conversion routines are a well understood concept 19:45
they are already part of the spec at least
spinclad give a Dogwood two attributes, its Dog aspect and its Wood aspect:
TSa ok
spinclad class Dogwood { ... has Dog $.dog = asDog(self); has Wood $.wood = asWood(self); ... } 19:46
so $dogwood.dog.bark barks and $dogwood.wood.bark grows slowly 19:47
pugs_svn r28884 | moritz++ | [t/spec] tests for RT #69967, constant declarations and classes 19:48
PerlJam spinclad: that's a good solution actually, except you'd use delegation and no conversions. 19:49
(Wanting the same method from two different roles to be present in the same class is a design smell for sure) 19:50
spinclad yes, you could delegate most methods (the unambiguous ones) to $.dog or $.wood directly.
TSa the problem is always where the slot sets overlap 19:51
spinclad i don't see that you can delegate .bark to either, or that $.dog or $.wood could delegate .bark back to their $.self.
TSa correct, the nformation must come from the environment
PerlJam s/environment/programmer/ 19:52
TSa in my proposal the environment are constraints on the container
Perljam: the programmer is not present when calls are performed ;) 19:53
spinclad in this case, the environment within the Dogproxy and Woodproxy attributes, each of which realizes .bark
TSa except when single stepping in the debugger, of course
so the programmer has to encode her intentions into the environment 19:54
spinclad the proxies give separate places to put the different behaviors
PerlJam right.
19:54 hercynium joined
TSa the vehicle in Perl 6 for this purpose are type constraints 19:55
as in most other languages as well btw
spinclad i don't yet see that that is the vehicle at present 19:56
PerlJam Right now, I see this particular problem as a rare-ish edge case. Once people start using roles in the ways we envision (or ways we can't yet envision), we'll get a better handle on how to solve the problem. 19:57
I mean Moose has had roles for a while now and I don't think anyone has seriously run into this problem except as a thought experiement.
moritz_ have they? we should ask the Moose roles
s/roles/guys/
moritz_ distracted 19:58
spinclad i don't see how one passes an object-with-constraint around (as argument, etc) without making it a full proxy object
19:58 dr_df0 joined
TSa this is simple: it is a store or n-store in the container 19:59
dr_df0 hi, all
pugs_svn r28885 | moritz++ | [t/spec] Tests for RT #69893, wrapping subroutines in traits
PerlJam moritz_: good idea.
TSa or call or no-call in dispatch
spinclad and i don't see the type constraints on a container governing the method resolution on the object in it.
TSa indirectly they do 20:00
spinclad (as currently spec'd and implemented, at least)
TSa because they enforce type and type dispatches methods
this is at least my understanding 20:01
the interesting question is when exactly coercion routines are called 20:02
PerlJam TSa: as late as possible ;)
spinclad (on the other hand, in Array[int32], say, the Array is providing the type when boxing and the typecheck when unboxing)
PerlJam Perl 6 is a lazy language after all :)
pmurias TSa: you don't intent for a proxy object to be created?
20:03 NorwayGeek joined
dr_df0 I've got problem with latest rakudo/parrot on snow leopard 20:03
when trying to start in stops with: dyld: lazy symbol binding failed: Symbol not found: _tgetent
any ideas?
PerlJam dr_df0: latest from the repo? 20:04
TSa pmurias: I don't understand that question
dr_df0 PerlJam: yes
moritz_ dr_df0: rakudo is known not to build with newest parrot
dr_df0: itstill needs the 1.7.0 release 20:05
vallor hi hi there -- where can i find a list of targets for the --target option for the Rakudo perl6? And also: I found the --target=pir, but when I try to run it with parrot, I get: error:imcc:syntax error, unexpected PREG, expecting '(' ('$P25')
dr_df0 moritz_: ok, so I need not to run Configure.pl with --gen-parrot then?
PerlJam maybe rakudo should start requiring exact parrot revisions modulo a --dev switch to Configure.pl or something
spinclad dr_df0: i think you should, it should fetch 1.7.0 for you 20:06
pmichaud PerlJam: a range of revisions might work out okay
dr_df0 spinclad, moritz_: that's what I did then, on a freshly updated git repository
spinclad dr_df0: sorry, ignore that maybe, i think i forgot what --gen-parrot does
20:07 Su-Shee left
pmurias TSa: Foo[Bar:] is non-specced syntax? 20:07
lisppaste3 vallor pasted "perl6 vs. parrot -- syntax error" at paste.lisp.org/display/89117
PerlJam pmurias: correct
TSa not yet at least
pmichaud it will all change soon anyway, as Rakudo will have to also specify the version of nqp-rx it's using 20:08
TSa roles don't have an invocant slot in their type signature
but my idea is to put the class it is composed into there 20:09
pmurias what would be the point?
TSa then you always thing in terms of the duo of role and class when you think type in Perl 6
pmurias why would i need to do that? 20:10
s/need/want/
PerlJam TSa: so ... if the roles are parameterized on the class they are composed into and that syntax is exposed, what does class Dogwood does Dog[Fred:] does Wood[Barney:} { ... } mean?
er, s/:}/:]/
japhb pmichaud, this issue is actually coming up for Plumage, as I need to design the tools for upgrading HLLs/modules installed by Plumage, and making sure they don't trip over incompatible Parrot (and soon nqp-rx) versions. I also want to be able to allow the user to ask Plumage to upgrade Parrot to latest version compatible with the installed projects. 20:11
TSa sort of that Dogwood inherits from Barney and Fred
PerlJam "sort of"?
japhb pmichaud, I could use some input on where you see your pain points there.
TSa and installs these classes as contraints on the roles Dog and Wood
PerlJam Hmm 20:12
pmichaud japhb: I hadn't gotten to the pain points for that yet. But in general I've been thinking of extending Rakudo's Configure.pl script a bit for that
it's worked out well, and it's pretty simple
TSa Perljam: sort of because you would otherwse write that with 'is' 20:13
pmichaud in fact, I just stole Rakudo's Configure.pl script for nqp-rx and only needed a couple of small modifications (mostly in messages)
PerlJam TSa: now you're violating one of the perl 6 design principles I think :) 20:14
TSa which one?
japhb pmichaud, hmmm. I guess I'd just request that the version dependencies be easy to parse out of wherever you put them. (build/PARROT_REVISION is a nice idea)
dr_df0 pmichaud: on ubuntu perl Configure.pl --gen-parrot works well
with the lates version of parrot
PerlJam TSa: similar things shouldn't be different (or something like that)
japhb It looks like I need to teach Plumage to be able to read dependencies after fetching the project 20:15
PerlJam is operating mostly on intuition right now
vallor okay, will break it down for ya: perl6 --target=pir myprogram.pl > myprogram.pir ; parrot myprogram.pir # is that supposed to work? could the system's installed parrot be different than that used by rakudo? or...?
japhb Or after configuring it, hmmm
PerlJam TSa: anyway, I think there's a kernel of a good idea in your proposal, but you and TimToady or jnthn will have to work out the details. :) 20:16
pmichaud vallor: that doesn't work yet
vallor ah, okay -- then i'm not crazy :)
pmichaud the myprogram.pir file is missing the dynops and dynpmc loading
and there's traditionally been a bug in parrot that prevents that from working. (The bug may have been fixed, but rakudo hasn't been updated for it yet)
vallor thank you. :) what --target= can I use with perl6 then, that would work with parrot, if any? 20:17
pmurias TSa: how is Foo[Bar:] different from Foo&Bar?
pmichaud vallor: there's not one at present. 20:18
spinclad pmichaud: ooc, is there any obstacle to loading multiple dynops/dynpmc's, say as needed by multiple modules one uses?
pmichaud rakudo won't ever be able to compile completely standalone parrot code -- you'll always need the libraries and dynamic pmcs/opcodes present 20:19
TSa in Foo&Bar both are types in Foo[Bar:] Foo is a role and Bar a class
vallor daaaag nabbit...okay, will wait patiently -- but it's nice to get one's feet wet with perl6 -- I'm a perl5 guy, it's been my favorite language for a long time (though I barely program anymore)
PerlJam vallor: why do you want PIR out of rakudo anyway? 20:20
pmichaud we're trying to shorten the wait :)
TSa in my proposal Foo&Bar actually means Foo[Foo:] & Bar[Bar:]
vallor PerlJam: or pbc -- the idea being being able to pre-compile some often-used bits of perl for faster invocation on web sites
japhb pmichaud, but there should be nothing preventing outputting a PIR file that includes a header to load the dynpmcs/dynops, neh?
s/header/:init sub. 20:21
pmichaud japhb: header
:init sub is too late
PerlJam vallor: you could use mod_perl6
japhb I meant :immediate
sorry
pmichaud no, there shouldn't be anything preventing that. Last time I tried it (several months ago) there was a bug that prevented it from working in a .HLL
PerlJam suddenly wonders if jhorwitz has been keeping up with rakudo
TSa I'll have to think about the meaning of 'class C does A[B:]' though 20:22
pmichaud :immediate seems to be lost inside of .pbc files
20:22 schmalbe joined
vallor PerlJam: that's a possibility, didn't realize there was a mod_perl6 out there 20:22
japhb pmichaud, oh, ouch
PerlJam vallor: mod_parrot and mod_perl6. I'm not sure how up-to-date they are though. 20:23
moritz_ last time I tried one could add the .loadlib lines manually
pmichaud :immediate really does mean "do it now, while I'm compiling". But the code that is executed immediately isn't stored in the .pbc, or at least not in a form where it's loaded via load_bytecode.
s/loaded/executed/
the primary purpose for :immediate seems to be to create constant PMC structures that are pre-compiled into the bytecode 20:24
japhb pmichaud, so if it's not an :immediate sub, what kind of "header" are we talking about? Is there some PBC header that contains a list of dynops/dynpmcs to load? (I haven't read about the disk format for PBC files)
pmichaud .load_library
.HLL 'perl6', 'perl6_group' 20:25
and
.load_library 'perl6_ops'
japhb I thought .identifier was a PIR macro ... or is the syntax dual-purpose?
pmichaud the .HLL line loads in the dynpmcs from perl6_group.so
.identifier is a "directive" 20:26
japhb ah so
japhb has Mental Model Fail
pmichaud in these cases it indicates extra information to be placed into the bytecode that is handled automatically when the bytecode is loaded
(but they aren't executable 'opcodes' in the normal sense, and they live outside of any Parrot sub) 20:27
japhb I think I understand now.
Thank you, pmichaud++
lisppaste3 vallor annotated #89117 "pir file" at paste.lisp.org/display/89117#1 20:28
vallor there are .HLL "perl6" lines in the .pir file
20:28 lumi joined
PerlJam moritz_: there's no build dir in the book repo. Should I make one or just add the mkdir() line in the Makefile? 20:29
pmurias TSa: what class Dogwood does Dog[Dogwood:] {...} does is make Dogwood a Dogwood which does the Dog role but not an Object which does the Dog role? right
?
moritz_ PerlJam: oh, I forgot...
PerlJam I was just going to make an empty dir in the repo (empty except for .gitignore that is) 20:30
make
oops
spinclad pmurias: parsefail
vallor PerlJam: *** No targets specified and no makefile found. Stop. 20:31
:P
TSa pmurias: correct you got it
the strange thing in my proposal is to put another class there 20:32
pmurias TSa: that seems contradictory
spinclad s/is/it/: parsewin
TSa I see no contradiction 20:33
Dog[Object:] is a different type then Dog[Dogwood:] 20:34
but they share everything the Dog role defines
pmurias Dog[Dogwood:] is a subtype of Dog[Object:]
dalek ok: aeb5b66 | moritz++ | build/.gitignore:
gitignore
20:35
pmurias TSa: according to common sense
spinclad & # thanks TSa for discussion 20:36
20:40 namenlos joined
pmurias TSa: your "role invocant slot in type sig (was: unusual invocants)" email seems to imply you don't want Dog[Dogwood:] to be a subtype of Dog[Object:] but that will confuse loads of people 20:40
and doesn't to give us much 20:41
20:41 wayland76 joined
wayland76 I've temporarily dropped out of the P6 community, but I just came to say pmichaud++ for grammar works, and jnthn++ for sig binding :) 20:42
TSa pmurias: hmm, Dog[Dogwood:] is a subtype of Dog[Object:] but not of Dog[Dog:] 20:43
this is the important point
20:44 icwiener joined
pmurias what is a subtype of Dog[Dog:]? 20:44
TSa everything that does the Dog role and is a subclass of the associated Dog class 20:45
but you can prevent the latter subclass relation by explicitly setting the invovant when composing the role 20:46
20:47 snearch joined
PerlJam Hmm. 20:47
TSa then Dogwood is not applicable where a Dog[Dog:] is expected
20:48 jferrero joined
PerlJam TSa: Beagle[Object:] is a subtype of Dog[Dog:]? (assuming that class Beagle is Dog { ... } ) 20:48
TSa no, Beagle is a class so Beagle[Object:] is ill-formed 20:49
PerlJam ah, sorry, I had the relationship backwards for a second. 20:50
never mind me. nothing to see here :)
TSa OK, thanks everybody for your feedback on my idea 20:51
moritz_ PerlJam: now the build/ directory should exit 20:52
21:02 ShaneC1 joined 21:08 ShaneC2 joined 21:13 kent\\n joined 21:15 colomon joined
colomon is in Toronto 21:19
How is the release coming?
moritz_ it's done.
PerlJam++
21:19 quietfanatic joined
colomon \\o/ 21:20
21:20 ShaneC1 joined
cognominal in nqp-rx/src/HLL/Grammar.pm, I have trouble make sense of that rule cail : <OPER=postfix=postfix> 21:20
*call
21:21 lumi joined
cognominal pmichaud? 21:21
moritz_ two aliases 21:22
it calls the postfix rule
and you can access that as $<OPER> or $<postfix>
cognominal two alias by the same name?
moritz_ if you just do <OPER=postfix> you can only access it by $<OPER>, not by $<postfix> anymore 21:23
cognominal ok, thx
is this specced somewhere? 21:24
moritz_ cognominal: somewhere in S05, presumably ;-) 21:25
cognominal :)
21:30 Whiteknight joined
PerlJam moritz_: who is doing the first book release? you or masak? 21:30
moritz_ PerlJam: me
PerlJam: anything you want to get in before? 21:32
21:32 ShaneC joined
moritz_ (oh, you have about 18 hours or so) 21:32
PerlJam Just making some mods to the preface right now and perhaps some minor editing to other chapters later. 21:33
pmichaud <foo=bar=baz> isn't explicitly specced in S05, but it was discussed as being valid on IRC some time ago
I decided I preferred having an OPER= alias instead of explicit closure blocks to hoist the <O> information to the higher rule 21:34
so then the operator precedence parser always just checks the <OPER> binding for any <O> information
21:34 Schwern joined
cognominal pmichaud, thx for the explanations 21:35
pmichaud and yes, <OPER=foo=foo> means that the foo subrule is captured as both <OPER> and <foo>, as moritz++ explained :)
japhb What is <O> ?
moritz_ if it's valid, it shoudl be in S05
21:35 payload joined
pmichaud in STD.pm, the <O> capture contains the operator precedence and associativity information 21:36
japhb ah!
pmichaud for example $<O><prec> is the precedence for whatever operator token was jus tparsed
$<O><assoc> is its associativity
japhb gotcha
pmichaud in STD.pm the <O> information is folded into the match object via the PrecOp role/methods near the top of STD.pm
I decided I preferred to have an explicit <O(...)> subrule to do the same. 21:37
(which also makes sense because it's capturing to <O> )
it also makes it easy to fold in custom <O> information that isn't provided by the role
as in <O({ %associative, :fiddly })> 21:38
21:38 markmont joined
pmichaud (or something like that) 21:38
In NQP's case, it gives us an easy place to hang opcode and structural information 21:41
pugs_svn r28886 | moritz++ | [S05] allow multiple aliases as per IRC consesus
21:41 ShaneC1 joined
PerlJam Hmm. I haven't recieved my announcement email back from p6l. I wonder if it's being moderated because I used my gmail account to send it. 21:49
moritz_ I received one 21:50
don't know if from p6a or p6l
PerlJam well, that's good enough for me then. It'll get back to me eventually :) 21:51
I sent it to p6a and Cc: p6l, p6c
21:51 KyleHa joined 21:56 ShaneC joined, namenlos_ joined 21:58 quietfanatic joined 22:07 Limbic_Region joined
pmichaud PerlJam: I suspect moderation 22:16
22:26 tak11 joined 22:28 Helios- joined 22:29 [1]Limbic_Region joined 22:41 markmont left 22:47 Limbic_Region joined 23:10 justatheory joined 23:27 nihiliad joined 23:44 Helios- joined