»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
sjn | rakudo: say (1..6).roll(10).sort.reverse | 00:00 | |
p6eval | rakudo 405afa: OUTPUT«6543322221» | ||
sjn | much better | ||
00:00
kfo left
|
|||
sjn | although the bench-scripts/dice.pl example uses the sort(-*) way | 00:01 | |
sjn is still a n00b :-P | 00:03 | ||
sorear | * probably shouldn't be treated similarly to *-containing expressions because of the extensionality problem | 00:09 | |
a lot of operators (.. comes to mind) want to treat * very differently from { $^a } | 00:10 | ||
making (*) irregular is the least bad known way | |||
00:11
Vlavv_ left
|
|||
sorear | TimToady: in the long run, should 'v5' be using Perl 6 grammars or LALR(1) with lexer feedback? | 00:13 | |
00:16
ymasory_ joined
00:23
ymasory_ left
00:27
Rotwang left,
Vlavv joined
00:31
whiteknight left
00:39
DarthGandalf joined
00:40
ponbiki left
00:42
ponbiki joined
00:43
awwaiid joined
00:50
Holy_Cow joined,
Holy_Cow left
01:00
noganex_ joined
01:04
noganex left
01:07
[Coke] left,
ponbiki left
01:12
ponbiki joined
01:14
DarthGandalf left
|
|||
colomon | rakudo: my @b := 1, 0, 0, 2, 2, 1, 0, 1, 1, 2, 1 ... *; say @b[^4] | 01:20 | |
p6eval | rakudo 405afa: OUTPUT«1002» | 01:21 | |
01:21
DarthGandalf joined
|
|||
colomon | huh. why isn't that exact same line working in my code? | 01:22 | |
errr, because I'd hopelessly messed up the parser ahead of that point, it appears. | 01:23 | ||
TimToady | sorear: by which you mean, a sane parser, or an insane parser? :) | 01:24 | |
colomon | doh! | ||
colomon was running his code through p5 instead of p6. sigh. | 01:25 | ||
TimToady | heh | ||
rakudo: sub foo([*@x]) { say @x.shift }; my @kay := 1... *; say ~@kay[^4]; foo(@kay); say ~@kay[^4]; | |||
p6eval | rakudo 405afa: OUTPUT«(timeout)» | ||
TimToady | there's a bug | ||
rakudo: sub foo([*@x],[*) { say @x.shift }; my @kay := 1... *; say ~@kay[^4]; foo(@kay); say ~@kay[^4]; | 01:26 | ||
p6eval | rakudo 405afa: OUTPUT«===SORRY!===Malformed parameter at line 22, near "*) { say @"» | ||
TimToady | rakudo: sub foo([*@x],[*@y]) { say @x.shif, @y.shiftt }; my @kay := 1... *; say ~@kay[^4]; foo(@kay, @kay); say ~@kay[^4]; | ||
p6eval | rakudo 405afa: OUTPUT«(timeout)» | ||
TimToady | that should be how you do more than one | ||
er, only with the shift methods spelt righer | 01:27 | ||
*t | |||
somehing is obviously wrong with my tt key | |||
01:43
am0c joined
01:44
Eevee joined
02:01
icwiener left
02:20
UAAGA3J joined
02:22
silug joined
02:25
benabik joined
|
|||
sorear | TimToady: p5 bug-compatibility will ensure that both of them are insane | 02:30 | |
TimToady: I just think that a naturally insane parser might turn out to be saner than trying to emulate an insane parser | |||
02:32
rdesfo joined
|
|||
rdesfo | I was trying out the perl6-examples at github ( | 02:33 | |
github.com/eric256/perl6-examples/...ter/games) | 02:35 | ||
and I get the following error: | |||
$ perl6 connect4.p6 | |||
===SORRY!=== | |||
Unable to parse blockoid, couldn't find final '}' at line 23 | |||
sorear | "eric256" eh. it's nice to see people outside the cabal hacking p6. | 02:38 | |
this is rather old code then | 02:39 | ||
my $user_input = =$*IN; has been invalid for longer than I've been here | |||
I think it's spelled $*IN.get now | |||
rdesfo | ok I'll try that | 02:40 | |
sorear | there are other problems | ||
rdesfo | my $user_input $*IN.get; # changed from $*IN | 02:41 | |
right? | |||
diakopter | 0x2c4e | 02:45 | |
03:00
[hudnix] joined
03:02
larsen_ joined
03:06
am0c left,
woldrich left,
xinming_ left,
alester left,
TiMBuS left,
tadzik left,
amkrankruleuen left,
PZt left,
Bucciarati left,
renormalist left,
knewt2 left,
baest left,
Brandon_W_ATS left,
mdxi_ left,
apejens left,
ribasushi left,
IRSeekBot left,
kolibrie left,
arlinius left,
mux left,
patch_ left,
aloha left,
barika left,
rokoteko left,
benabik left,
f00li5h left,
mberends left,
[particle] left,
felher left,
starcoder left,
sunnavy left,
skangas left,
aesop left,
quotemstr left,
frodwith left,
DarthGandalf left,
plobsing left,
prammer left,
nadim left,
Grrrr left,
betterworld left,
jnthn left,
ponbiki left,
noganex_ left,
orafu left,
rdesfo left,
ingy left,
cognominal left,
jevin left,
jedai left,
HarryS left,
huf left,
spq left,
s1n left,
TimToady left,
itz left,
frettled_ left,
PerlJam left,
ascent_ left,
PacoLinux left,
cotto left,
flatwhatson_ left,
hudnix left,
Juerd left,
literal left,
perplexa left,
nymacro left,
ashleydev left,
Lorn left,
hatseflats left,
mathw left,
cbk_ left,
Helios` left,
ronoreck left,
sjn left,
c1sung left,
meteorjay left,
awwaiid left,
cosimo left,
araujo left,
stepnem left,
pothos left,
gfldex left,
pjcj left,
Vlavv left,
saaki left,
jimmy1980 left,
Trashlord left,
Sarten-X left,
charsbar_ left,
cxreg left,
ggoebel left,
edenc left,
dukeleto left,
kfo_ left,
flussence left,
twinshadow left,
phenny left,
nsh left
03:09
aindilis joined
03:12
cotto joined
03:14
PacoLinux joined,
tomaw joined,
DarthGandalf joined,
plobsing joined,
prammer joined,
nadim joined,
meraxes joined,
szabgab joined,
jjore joined,
slavik1 joined,
Grrrr joined,
betterworld joined,
jnthn joined,
__sri joined,
jpr5 joined,
am0c joined
03:18
nrr joined,
sftp joined,
[sbp] joined,
awwaiid joined,
cosimo joined,
araujo joined,
stepnem joined,
pothos joined,
gfldex joined,
pjcj joined,
flatwhatson_ joined,
jimmy1980 joined,
rdesfo joined,
UAAGA3J joined,
ponbiki joined,
noganex_ joined,
orafu joined,
itz joined,
ingy joined,
cognominal joined,
jevin joined,
jedai joined,
HarryS joined,
huf joined,
spq joined,
s1n joined,
TimToady joined,
shortcircuit joined,
arnsholt joined,
avuserow joined,
krunen joined
03:19
Vlavv joined,
saaki joined,
Trashlord joined,
Sarten-X joined,
charsbar_ joined,
cxreg joined,
ggoebel joined,
edenc joined,
dukeleto joined,
mkramer1 joined,
tty234 joined,
Khisanth joined,
jasonmay joined,
rblackwe_ joined,
hillu joined,
Tene joined,
cotto_work joined,
jrockway joined,
WAAGL8K joined,
jimmy1980 left,
nymacro joined,
ashleydev joined,
sjn joined,
Lorn joined,
hatseflats joined,
mathw joined,
cbk_ joined,
Helios` joined,
ronoreck joined,
spinclad joined,
c1sung joined,
meteorjay joined,
_ilbot joined,
revdiablo joined,
moritz_ joined,
clkao joined,
zb joined,
arlinius joined,
mux joined,
patch_ joined,
aloha joined,
barika joined,
rokoteko joined,
HarryS left
03:20
HarryS joined,
Juerd joined,
woldrich joined,
xinming_ joined,
alester joined,
TiMBuS joined,
tadzik joined,
amkrankruleuen joined,
PZt joined,
Bucciarati joined,
renormalist joined,
knewt2 joined,
baest joined,
Brandon_W_ATS joined,
mdxi_ joined,
apejens joined,
ribasushi joined,
IRSeekBot joined,
kolibrie joined,
chitragupt joined,
zamolxes joined,
frettled_ joined,
PerlJam joined,
ascent_ joined,
benabik joined,
felher joined,
f00li5h joined,
mberends joined,
[particle] joined,
starcoder joined,
sunnavy joined,
quotemstr joined,
skangas joined,
aesop joined,
BinGOs joined,
Raynes joined,
frodwith joined,
kfo_ joined,
flussence joined,
twinshadow joined,
phenny joined,
nsh joined,
shabble joined,
rhr joined,
jerome joined,
LoRe joined,
perigrin joined,
cschimm1_ joined,
yahooooo joined,
llabthgie joined,
frooh joined,
jimmy1980 joined,
jimmy1980 left,
jimmy1980 joined
03:26
Gothmog_ joined,
literal joined,
perplexa joined,
perplexa is now known as Guest34727
03:29
sftp left
03:42
izydor joined
|
|||
sorear | rdesfo: you need an = in there. | 03:43 | |
03:48
jaldhar left
03:49
jaldhar joined
|
|||
rdesfo | sorear: thanks | 03:55 | |
03:59
GinoMan joined
04:02
ponbiki left,
jevin left
04:03
ponbiki joined,
jevin joined
04:04
cbk_ left
04:11
eternaleye left,
eternaleye joined
04:20
mberends left,
woosley joined
04:21
mberends joined
04:23
rdesfo left
04:29
cspencer joined
|
|||
cspencer | rakudo: my $x; say $x++ for 1..10; | 04:29 | |
p6eval | rakudo 405afa: OUTPUT«Any()123456789» | ||
TimToady | which is incorrect by spec | 04:31 | |
cspencer | yes, i was just checking that on the latest build | ||
shall i file a bug report? | |||
TimToady | S03:546 | 04:32 | |
(for any onlookers) | |||
sure, file away | 04:34 | ||
sorear | niecza: my $x; say $x++ for 1..10; | 04:36 | |
p6eval | niecza v4: OUTPUT«Any()123456789» | ||
sorear | hmm I thought I fixed that | 04:37 | |
04:43
alester left
04:51
baest left
04:56
baest joined
|
|||
woosley | pugs: my $x; say $x++ for 1..10; | 05:00 | |
p6eval | pugs: OUTPUT«0123456789» | ||
05:02
cspencer left
05:07
GinoMan left
05:17
birdwindupbird joined
05:19
GinoMan joined
05:26
_dev0_ joined
05:29
snarkyboojum joined
05:31
kaare_ joined
05:33
mberends left
05:48
izydor left
05:57
wtw joined
06:04
donri joined
|
|||
diakopter | pugs: say my $x++ for 1..6 | 06:37 | |
p6eval | pugs: OUTPUT«012345» | ||
diakopter | rakudo: say my $x++ for 1..6 | ||
p6eval | rakudo 405afa: OUTPUT«Could not find sub &for in main program body at line 22:/tmp/78cPQsUwI1» | ||
diakopter | std: say my $x++ for 1..6 | 06:38 | |
p6eval | std 4608239: OUTPUT«ok 00:01 121m» | ||
diakopter | niecza: say my $x++ for 1..6 | ||
p6eval | niecza v4: OUTPUT«Any()12345» | ||
diakopter | (winning) | ||
niecza: say $_++ for 1..10 | 06:39 | ||
p6eval | niecza v4: OUTPUT«12345678910» | ||
diakopter | niecza: say ++$_ for 1..10 | ||
p6eval | niecza v4: OUTPUT«234567891011» | ||
moritz_ | rakudo: say ++$_ for 1..10 | 06:48 | |
p6eval | rakudo 405afa: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in <anon> at line 22:/tmp/qlI5S7Gree in main program body at line 1» | ||
moritz_ thinks this is a bug | |||
and it doesn't seem right that niecza starts at 2 either | 06:49 | ||
TiMBuS | .. why not? | ||
TimToady | 1+1 == 2 | ||
$_ starts at 1, and ++ adds 1 | 06:50 | ||
06:50
cosimo left
|
|||
TiMBuS | TimToady! How is @a[1..*] supposed to work? | 06:52 | |
06:54
chin_up joined
|
|||
TiMBuS | I've asked a few times but no one seems to know | 06:55 | |
i have missed him again :( toads are very slippery | 06:58 | ||
moritz_ | doesn't it start at Any? | 06:59 | |
and Any | |||
+1 == 1 | |||
TimToady | for sets $_ | ||
TiMBuS | for 1..10 | ||
moritz_ | ah | ||
ouch | |||
TimToady | TiMBuS: subscripts are supposed to know when they have a range that runs off the end, and truncate it | 07:00 | |
TiMBuS | oh. ooooohhhh. yeaaah its coming back to me now | 07:01 | |
TimToady | that implies some API to an iterator that can peek at the next bit to see if that's the case | ||
TiMBuS | but we cant do that because assigning to a slice | ||
TimToady | s/because/when/ | 07:02 | |
we know lvalues from rvalues, I hope | |||
TiMBuS looks at hands, traces thumb and forefinger | |||
yes | 07:03 | ||
but i have no idea how we do it in code | |||
TimToady ought to go to bed now, since it's now tomorrow in California... | 07:05 | ||
and tomorrow I have to go to SF in the morning to get a Brazilian visa... | 07:06 | ||
so zzz & | |||
TiMBuS | night | ||
07:17
bacek joined
07:20
mtk left
07:28
mtk joined
07:40
JimmyZ joined
|
|||
TiMBuS | does --target=past no longer work for rakudo? | 07:44 | |
moritz_ | don't try to mix --target with -e | 07:49 | |
TiMBuS | oh.. | ||
07:51
am0c left
07:52
felipe joined,
am0c joined
08:03
awoodland joined
08:05
domidumont joined
|
|||
felher | Can someone explain to me why "subset MStr of Str where { /abc/ }" is not the same as "subset MStr of Str where { $_ ~~ /abc/ }", please? Thought /abc/ matches against $_, unless further specified. | 08:12 | |
08:12
Alias joined
|
|||
felher | and btw: subset-types are just so neat! :D | 08:19 | |
08:28
donri left
08:29
donri joined
|
|||
moritz_ | felher: /.../ only matches against $_ under certain conditions. Use m/.../ if you want it to always match against $_ | 08:30 | |
felher: or just write subst MStr of Str where /abc/; | |||
rakudo: my $x = /foo/; say $x.WHAT | |||
p6eval | rakudo 405afa: OUTPUT«Regex()» | ||
moritz_ | rakudo: $_='foo'; my $x = m/foo/; say $x.WHAT | 08:31 | |
p6eval | rakudo 405afa: OUTPUT«Match()» | ||
moritz_ | rakudo: $_='foo'; my $x = _ /foo/; say $x.WHAT | ||
p6eval | rakudo 405afa: OUTPUT«Could not find sub &_ in main program body at line 22:/tmp/bUUVtNInLV» | ||
moritz_ | rakudo: $_='foo'; my $x = ? /foo/; say $x.WHAT | ||
p6eval | rakudo 405afa: OUTPUT«Method 'match' not found for invocant of class '' in 'Regex::Bool' at line 6295:CORE.setting in 'prefix:<?>' at line 490:CORE.setting in main program body at line 22:/tmp/FcRm9_1p5L» | ||
moritz_ | huh. | ||
felher | Ah, k, moritz_, thnx! | 08:33 | |
moritz_ | dev-tricks.net/pipe-infix-syntax-for-python feeds for python | 08:34 | |
08:36
chin_up left
|
|||
moritz_ | sorear++ # niecza v4, probably the Most Awesome niecza release ever! | 08:38 | |
08:39
nymacro left
08:40
dakkar joined
08:45
nymacro joined
08:46
JimmyZ left
08:48
Gothmog_ left
08:49
Gothmog_ joined
08:52
awoodland left
|
|||
moritz_ | wow, we seem to have quite many gsoc students concentrating on a few ideas | 08:53 | |
that hasn't happened before :/ | 08:54 | ||
09:03
am0c left
09:06
chin_up joined
|
|||
moritz_ | jpwhiting.blogspot.com/2011/03/qtze...eased.html "Today we released version 0.7.0 of libqzeitgeist aka QtZeitgeist (the first release with a tarball) It's basically the same as 0.1.0 but with a new version, some minor fixes, and a license file." | 09:07 | |
just another demonstration of the silliness of classical version numbers | 09:08 | ||
09:09
pmurias joined
|
|||
tadzik | good morning zebraland | 09:24 | |
moritz_ | good morning tadzik | ||
you've got competition regarding the POD GSOC proposal | |||
tadzik | oh? | 09:25 | |
moritz_ | see parrot-dev | ||
docs.google.com/document/pub?id=1J...XGi10YIBaE | |||
seen joseph_ | 09:26 | ||
aloha | joseph_ was last seen in #perl6 2 days 16 hours ago joining the channel. | ||
tadzik | well, that's parrot-dev, is that the same task? | ||
moritz_ | it says "Implement an S26 documentation parser" and "A working POD parser in Perl 6" | 09:27 | |
tadzik | yeah, I see the possible mentors | ||
09:27
[sbp] is now known as sbp
|
|||
moritz_ | so you can either try to to better, convince him to do a different project, or do a different project :-) | 09:28 | |
09:28
SSSS joined
|
|||
tadzik | can one apply to more than one project? | 09:28 | |
moritz_ | yes | ||
you just can't do more than one project at a time :-) | |||
09:29
SSSS left
|
|||
tadzik | yeah, I see | 09:29 | |
anyway, I've got a few important ideas which he doesn't have, but I'm afraid to say them aloud so they won't be stolen :) | 09:30 | ||
moritz_ | :-) | ||
masak++ provided a link to our IRC discussion | |||
I'd really love to the POD thing happen, but there other worthwhile Perl 6 projects too | 09:31 | ||
for example related to module infrastructure/packaging | |||
tadzik | yeah, I see | 09:34 | |
hmm, so maybe I'll hit the module ecosystem, as I've been doing for the last months | |||
any ideas? | |||
moritz_ | there are also lots of 6model-related tasks, but I'm a bit scared of approving those before rakudo-on-6model actually runs | 09:35 | |
tadzik: what does panda do right now? | |||
tadzik | moritz_: installs modules. It has plans to manage the installed ones, being capable of removing them, removing unneeded dependencies and stuff | 09:36 | |
moritz_ | well, then you have ideas already :-) | 09:37 | |
other things you could do: | 09:38 | ||
tadzik | yeah, but those are things I'll do anyway during the nearest few months | ||
moritz_ | a script that generates a META.yaml for modules that makes the PAUSE indexer ignore them | ||
and then upload a few modules to the Perl 5 CPAN | |||
and make panda install them from CPAN | 09:39 | ||
tadzik | I'd like to get for GSoC something else, something challenging and something I probably won't be able to do all by myself in my spare time | ||
if you know what I mean | |||
moritz_ | generate your own indexer for Perl 6 modules, on a separate website | ||
tadzik | yeah, this is the part of my plans, as on feather.perl6.nl:3000 | ||
(that one's probably dead due to feather downtimes) | |||
moritz_ | thus use the p5 mirror infrastructure for module distribution | 09:40 | |
tadzik | up again | ||
09:40
orafu left
|
|||
moritz_ | yes, I see | 09:40 | |
09:41
orafu joined
|
|||
moritz_ | maybe jnthn++ has some 6model-ideas that could be implemented in nqp directly | 09:41 | |
tadzik | Pod parser seems challenging and interesting, and it seems exciting enough so I have plenty of ideas about what to do after it's completed to make it even more awesome | ||
moritz_ | agreed, it's a good idea | 09:43 | |
tadzik | aye, that's why I choose it | ||
but now I have a competition :) | |||
The bad thing is, because my proposal is also based on masak's Grant Draft, my GSoC proposal would look similar to joseph's and thus it'd look like I'm the one stealing projects and ideas | 09:45 | ||
09:45
woosley left
|
|||
tadzik | what happens if I apply to a few projects, who chooses what happens next? | 09:45 | |
moritz_ | the mentors of each organization internally rate the projects | 09:46 | |
and then requests slots from google | |||
google allocates $n slots | |||
and then the top-$n projects are chosen, weeding out duplicates etc. | |||
of course there can be discussions between mentors and students | 09:49 | ||
tadzik | but say I apply for the Pod parser, and for a Shakespeare compiler for Parrot. What if I get accepted for both, I tell Parrot or Rakudo guys "well, how about no", and they stay with an empty slot? Or the organization then picks up someone who didn't make it in the first attempt? | ||
moritz_ | the latter | ||
... unless the don't have enough good proposals (which rarely happens) | 09:50 | ||
in which case they'd give a free slot to another organization, and don't have any hard feelings either | |||
tadzik | one more. Will the expertise in the field, for example I'm an all-star Shakespeare programmer, be a strong point when proposing, or does a Project Schedule or some other things in Proposal matter much more? | 09:52 | |
moritz_ | it all matters | 09:53 | |
the students need to convince us that they | |||
1) know what the actually want to do | |||
2) have spent some time thinking about the project | |||
3) have the necessary background to actually complete it | |||
4) the project is worthwhile for the community | 09:54 | ||
a detailed schedule greatly helps with 1) and 2) | |||
and bio and references to previous work help with 3) | |||
tadzik | one more again :) What happens if something slips in the Schedule, for example I do the first four month in the first week, or get some point of my schedule one week later? | 09:58 | |
moritz_ | if you run ahead, no problem :-) | 09:59 | |
either take some time off (preferably at the end), or do more stuff | 10:00 | ||
if you are behind, student and mentor get together and discuss possibilities | |||
(catch up, don't do some of the planned features, ...) | |||
in the middle and end the mentor needs to fill out an evaluation, and has to make a yes/no decision if you're sufficiently on track to continue/pay out | 10:01 | ||
tadzik | I see | 10:05 | |
anyway, about this: irclog.perlgeek.de/perl6/2011-03-28#i_3434365 | 10:06 | ||
that's basically Perl6::Grammar.parse(:actions(I-Want-Pod-Only.new)), or something far more fancy? | |||
10:06
f00li5h left
10:12
c1sung left
10:13
Guest34727 is now known as perplexa,
perplexa left,
perplexa joined
10:23
f00li5h joined
10:24
[Coke] joined
|
|||
tadzik | oh nevermind, that's a different thing. So I don't know what mberends had on his mind: no Pod so no Pod tokens matched, so me methods called | 10:29 | |
10:29
chin_up left
10:40
agentzh joined
10:42
agentzh left
11:01
Mowah joined
11:22
amkrankruleuen left
11:30
mtk left
11:40
leprevost joined
11:42
shi joined
|
|||
moritz_ | tadzik: I think you should start with a pod parser that lives inside rakudo's Grammar.pm, despite mberends' objections | 11:43 | |
at least the parsers and .WHY attachements need to be available without explicit module loading | 11:47 | ||
11:48
mtk joined
|
|||
tadzik | moritz_: would you have some time to criticise my proposal in a second? I'd really like to get your feedback, especially on the timeline | 11:48 | |
moritz_ | tadzik: sure | ||
tadzik | bah, I sticked everything before the midterms | 11:51 | |
Timeline is the hardest thing to do for me | |||
moritz_ | cram less into a week | 11:52 | |
11:53
Patterner left
|
|||
moritz_ | and it's ok to plan a slack week each before midterm and final to be able to catch up delays | 11:53 | |
Hofstadter's rule: Everything takes longer than you expect, even when | |||
you take Hofstadter's rule into account. | |||
11:54
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
tadzik | the main thing that bothers me is the possibility of "suprise holiday trips" | 12:01 | |
say, a week long. I'll probably have those planned a week before or something :| | 12:02 | ||
moritz_ | it's ok to take a week off, just tell your mentor about it, and catch up later on | 12:03 | |
tadzik | but that should be possible to do two weeks in one and just scheule a cronjob for commiting part of the changes later :) | ||
oh, good, I hoped for that | |||
pmurias | tadzik: do you intend to implement the shakespeare programming language? or is it an hypothetical example? | 12:07 | |
tadzik | pmurias: no, it's just an unrelated example, to not to refer to any particular task | 12:08 | |
I wanted it to be a bit absurd, but it's nice that you asked :) | 12:09 | ||
pmurias | the actuall tasks are secret? ;) | ||
* actual | |||
tadzik | the actual task is the Pod parser :) | 12:12 | |
moritz_: gist.github.com/892249 can I ask you for some opinions? I'd like to know what you think about the schedule, will something take more time than I think and I should split it up, or is it good to join some of the tasks? | 12:15 | ||
To everyone: would you like to see something more done for Rakudo on this project, any desired features? | 12:16 | ||
moritz_ | The project also features fixing and extending Synopses 26 if needed, | 12:18 | |
and if there in a need to do this. | |||
double if | |||
12:19
MayDaniel joined
|
|||
moritz_ | tadzik: I think you need more time for the parsing itself (and testing) | 12:20 | |
you have 2 weeks for blocks, and one for the whole rest | |||
I'd add one for inline markup (I<...>, C<...> and nesting them) | 12:21 | ||
tadzik | hmm, right | ||
moritz_ | also I remember some quite tricky features | 12:23 | |
where you have code blocks which allow certain markup, but not all of it | |||
tadzik | yeah, I remember reading about those | ||
moritz_ | maybe re-read, and allocate another week for it if it seems necessary | 12:24 | |
=begin code :allow<B> The "exeunt" command B<Z<Think about renaming this command?>> is used to quit all applications. | |||
=end code | |||
tadzik | yeah, that might be tricky/interesting | 12:25 | |
12:29
W0rM joined
12:30
pmurias left
|
|||
W0rM | !login sorear | 12:30 | |
who change the login ? | 12:31 | ||
moritz_ | W0rM: what are you talking about? | 12:32 | |
W0rM | bots login i need | ||
moritz_ | most bots here don't require login | 12:33 | |
hugme: hug W0rM | |||
hugme hugs W0rM | |||
moritz_ | see? works without login :-) | ||
W0rM | dalek: hug W0rM | 12:35 | |
12:37
MayDaniel left
12:38
amkrankruleuen joined,
icwiener joined
|
|||
[Coke] | W0rM: Is there something specific we can help you with? | 12:41 | |
12:41
durmitor joined
|
|||
moritz_ | [Coke]: it seems that W0rM is after some blackhat practices (told me in privmsg) | 12:42 | |
[Coke]: I think hugging is the best you can do | |||
12:42
plobsing left
|
|||
[Coke] | might as well ban him, then. | 12:42 | |
W0rM | i gave you | ||
my father credit card :D | |||
just give me login :D | 12:43 | ||
for one ddosing | |||
[Coke] | ah, n00bs. they're so cute. | ||
12:43
durmitor left
|
|||
W0rM | mother fucker | 12:43 | |
:@ im | |||
moritz_ | W0rM: stop it. We discuss programming languages here (well, one in particular). We don't do any attacks | ||
W0rM | operator | 12:44 | |
in bluewin.ch | |||
12:44
durmitor joined
|
|||
W0rM | admin | 12:44 | |
and | |||
i | |||
tell to the FBI | |||
12:44
ChanServ sets mode: +o moritz_
|
|||
W0rM | for this server | 12:44 | |
dont kick me | |||
mother fucker | |||
listening | |||
:d | |||
12:44
moritz_ sets mode: +b *!*ASdas@46.217.36.*,
W0rM was kicked by moritz_ (W0rM)),
moritz_ sets mode: -o moritz_
|
|||
[Coke] | Too much hugging, not enough banning. | 12:45 | |
12:47
meraxes left
|
|||
mux | that was fun | 12:47 | |
moritz_ | we need a new command, /hugban :-) | 12:51 | |
12:51
durmitor left
12:54
chin_up joined
12:55
JimmyZ joined
12:56
JimmyZ left
13:01
tyatpi_ joined
13:03
plainhao joined
|
|||
tadzik | as in * hugme hugs W0rM goodbye | 13:07 | |
13:10
pmurias joined
13:11
Holy_Cow joined
13:18
flatwhatson_ left
13:28
cspencer joined
13:31
meraxes joined,
cspencer left,
_twitch joined
13:32
bluescreen10 joined
13:33
plobsing joined
|
|||
PerlJam | colomon++ | 13:34 | |
tadzik | moritz_: what do you think about me saving the last few weeks for some Justin Case fixes, related mini-projects or something, is it desired? | 13:38 | |
moritz_ | tadzik: it's fine, but you shouldn't do it with more than two weeks in total | 13:39 | |
better yet just one | |||
tadzik | ok | 13:40 | |
13:42
mikehh left
13:57
bluescreen10 left
14:00
cotto left
14:03
nymacro left
14:04
spq left
14:06
stkowski joined
14:09
bluescreen10 joined
14:10
pyrimidine joined
14:12
cotto joined
14:18
cogno joined
14:19
wtw left
14:29
alester joined
14:32
orafu left,
ab5tract joined
14:33
Trashlord left
14:34
sftp joined,
Trashlord joined
14:35
zamolxes left,
zamolxes joined,
slavik2 joined
14:36
orafu joined,
slavik1 left
14:40
cogno left
|
|||
sorear | hi #perl6 | 14:44 | |
moritz_ | hi sorear | 14:45 | |
tadzik | hi sorear | ||
pmurias | sorear: hi | 14:55 | |
14:55
shi left
15:05
bluescreen10 left
15:06
mtk left
15:10
slavik1 joined
|
|||
diakopter | !login sorear indeed | 15:10 | |
moritz_ | :-) | 15:11 | |
tadzik | :D | ||
15:11
slavik2 left
|
|||
tadzik | that was one naive attempt of this guy | 15:12 | |
moritz_ | he thought this was a bot net, because we have bots | 15:13 | |
pmurias | ? | ||
tadzik | pmurias: see the logs, 14:30 or something | 15:14 | |
15:22
bluescreen10 joined
15:25
mtk joined
15:30
birdwindupbird left
|
|||
tadzik | moritz_: I updated the proposal draft, extending the Schedule. Can you take a look? gist.github.com/892249 | 15:37 | |
15:41
Axius joined
|
|||
moritz_ | tadzik: much better... except for the test coverage, which will be hard to determine without the proper tools | 15:42 | |
tadzik | oh, that's right | 15:43 | |
15:45
Axius left,
Axius joined
15:46
bluescreen10 left,
bacek left
15:47
kaare_ left
15:55
birdwindupbird joined,
Axius left
16:00
Mowah left,
bluescreen10 joined
16:01
domidumont left
16:07
hercynium joined
16:08
lestrrat joined,
lestrrat left
16:10
lestrrat joined
16:15
birdwindupbird left
16:16
chin_up left
16:22
masak joined
|
|||
masak | saluton, zebroj! | 16:22 | |
phenny | masak: 28 Mar 21:39Z <moritz_> tell masak you might be interested in books.slashdot.org/story/11/03/28/1...lashdot%29 | ||
masak | I might. will read during dinner :) | ||
tadzik | masak! \o/ | 16:23 | |
masak: wanna read my proposal draft too? I'd very much appreciate your comments | |||
masak | I sure do. | 16:25 | |
url? | |||
tadzik | gist.github.com/892249 | 16:26 | |
masak reads | 16:31 | ||
16:34
pmichaud joined
|
|||
masak | pmichaud! \o/ | 16:34 | |
pmichaud | good morning, #pelr6 | ||
*#perl6 | |||
16:34
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
benabik | good morning, pmachiud! | 16:37 | |
colomon | \o | 16:41 | |
ooo, #phasers today! | |||
masak | ooh! | ||
colomon++ # reminder | |||
pmichaud | I will probably miss #phasers :-( | ||
but I have little to report anyway. | |||
masak | tadzik: the "Deliverables" section is more descriptive than I'm used to with "Deliverables" sections. it has more of the tone of a "Goals" section. "Deliverables" should IMHO be a list of things you intend to implement. | 16:42 | |
pmichaud | "Deliverables" is what we expect to have when the project is done. | 16:43 | |
i.e., what you promise to deliver. it should almost be like a checklist | |||
masak | right. | ||
16:43
estrabd joined,
Axius joined
16:44
_dev0_ left
|
|||
masak | tadzik: and there are distinct advantages for everyone in having "Deliverables" be a checklist. it'll be possible to tell if you succeeded, for one thing. :) | 16:44 | |
so, don't be afraid to be concrete. | 16:45 | ||
pmichaud | as a grant manager, I want deliverables to be a sequence of "yes/no" items... if everything is "yes", then I can say that the grantee gets paid. :) | 16:46 | |
16:46
_twitch left
16:49
am0c joined
|
|||
Util | pmichaud: as the R* pumpking, do you want to review the binary Darwin .dmg build before I upload it to R*'s GitHub Download section? | 16:51 | |
tadzik | masak, pmichaud: thanks for comments. Any other suggestions? | 16:52 | |
16:52
Chillance joined
|
|||
masak | tadzik: ss/Add a tests cases\./Add tests./ | 16:53 | |
(line 92) | |||
tadzik | Fixed that. I wanted to avoid repetitions, but achieved weirdness | ||
pmichaud | Util: if there's anything specific you'd like me to review, I can do that. Otherwise I'd say just do it and we'll take patches as feedback | ||
masak | tadzik: ss/what is wanted to/what is wanted/ (line 71) | 16:54 | |
16:54
benabik left,
pmurias left,
benabik joined
|
|||
pmichaud | my schedule for the next couple of days is likely to be... weird. | 16:54 | |
16:54
benabik left
16:55
benabik joined
|
|||
masak | tadzik: "the specialized blocks like code, list, comment and others" -- I suggest either dropping "and others", or specifying them explicitly. | 16:55 | |
pmichaud | maybe "code, list, and comment blocks" | ||
tadzik | well, "like" is de-generalizing it anyway | ||
but right, bespecific | |||
masak | "This is also the time of modifying the Synopses if needed." -- I wouldn't limit that to a specific week if I were you! :P | ||
tadzik | :) Ok | 16:56 | |
16:56
dakkar left
|
|||
PerlJam | tadzik: ooc, why aren't you using pod for your proposal? :) | 16:57 | |
masak | hypocrite! :P | ||
tadzik | PerlJam: for the Parser is not yet. I'll have the bootstraping problem from the very start :) | 16:58 | |
Also, I wanted that to be nice and shiny, but it turns out I'll have to submit it from a webeditor in a webinterface anyway :| | |||
so I guess "etc" in one-letter blocks is also out? | 16:59 | ||
PerlJam | tadzik: POD is very human readable. Besides, if you did use POD6 for your proposal, you could say for one of your deliverables, "able to succesfully parse this proposal" :-) | ||
tadzik | (: | ||
masak | PerlJam++ | 17:02 | |
masak wonders if that qualifies as an autopun, or if it was just a self-reference | |||
tadzik | rakudo: use Perl6::Grammar | 17:04 | |
p6eval | rakudo 405afa: OUTPUT«===SORRY!===Unable to find module 'Perl6::Grammar' in the @*INC directories.(@*INC contains: lib /home/p6eval/.perl6/lib /home/p6eval//p2/lib/parrot/3.2.0-devel/languages/perl6/lib .)» | ||
tadzik | is that possible, or likely to be possible until the GSoC? I think that would be a prerequisite to reuse the parser in the Perl 6 modules | 17:05 | |
Util | pmichaud: nothing specific, so I will be uploading later this week. | ||
thanks | 17:06 | ||
17:06
Axius left
|
|||
masak | rakudo: say Perl6::Grammar.WHAT | 17:07 | |
p6eval | rakudo 405afa: OUTPUT«Perl6::Grammar()» | ||
masak | tadzik: it's there -- you don't need to 'use' it. | ||
tadzik | oh cool | ||
masak | tadzik: but I'd be interested to know what kind of reuse you have in mind. | ||
tadzik: I wanted to reuse <identifier> the other day, and found I couldn't really. | 17:08 | ||
pmichaud | overload the pod_comment rules, perhaps? | ||
tadzik | rakudo: say Perl6::Grammar.parse("sub sub foo!") or die "nope" | ||
p6eval | rakudo 405afa: OUTPUT«Confused at line 1, near "sub sub fo" in main program body at line 288» | ||
tadzik | rakudo: say Perl6::Grammar.parse("sub foo {}").ast or die "nope" | ||
p6eval | rakudo 405afa: OUTPUT«» | ||
masak | pmichaud: why not just specify them in-place? what is it that needs inheritance/overloading? | ||
tadzik: you're parsing without actions. | 17:09 | ||
pmichaud | masak: for development, it might be easier to inherit/overload | ||
benabik | tadzik: The "or die" doesn't really do much, since Perl6::Grammar is loaded with it's own die calls. | ||
pmichaud | once everything is the way you want it, then put them into the original grammar (and STD) | ||
masak | pmichaud: hm. I think I'd just copy/paste everything into a file and do development outside of the Rakudo make flow. | 17:10 | |
pmichaud | masak: that could work, yes. | ||
PerlJam | oddly, I was thinking this would be a perfect application for roles. | ||
pmichaud | j | ||
ww | |||
masak | YMMV. | ||
tadzik | masak: the Podparser module is likely to use the Perl 6 parser | ||
17:11
st-14258 joined
|
|||
tadzik | rakudo: say Perl6::Grammar.parse("sub foo {}", :actions(Perl6::Actions.new)).ast | 17:11 | |
p6eval | rakudo 405afa: OUTPUT«Contextual %*COMPILING not found in main program body at line 77» | ||
tadzik | oh there we go | ||
rakudo: my %*COMPILING = "wild guess"; say Perl6::Grammar.parse("sub foo {}", :actions(Perl6::Actions.new)).ast | 17:12 | ||
p6eval | rakudo 405afa: OUTPUT«Odd number of elements found where hash expected in '!STORE' at line 5304:CORE.setting in main program body at line 22:/tmp/KD7eCI0oMy» | ||
tadzik | ideas? | 17:13 | |
pmichaud | in Perl 6 it's not really possible to detangle parsing from compiling, I think (more) | 17:14 | |
but if you're doing pod, then you really want to be parsing just the pod and not an entire Perl 6 program, perhaps. | 17:15 | ||
so perhaps you could do :rule<pod_comment> or similar | |||
17:15
awoodland joined
|
|||
pmichaud | rakudo: say Perl6::Grammar.parse("hello", :rule<identifier>); | 17:16 | |
p6eval | rakudo 405afa: OUTPUT«hello» | ||
tadzik | looks good | ||
pmichaud | rakudo: say Perl6::Grammar.parse("hello", :rule<identifier>).perl; | ||
p6eval | rakudo 405afa: OUTPUT«Method 'perl' not found for invocant of class 'Regex;Match' in main program body at line 22:/tmp/3FZiq0SfOq» | ||
pmichaud | rakudo: _dumper(Perl6::Grammar.parse("hello", :rule<identifier>)) | ||
p6eval | rakudo 405afa: OUTPUT«Could not find sub &_dumper in main program body at line 22:/tmp/zJigGiLLgu» | ||
pmichaud | hmmm | 17:17 | |
it's giving back an NQP Match instead of a Rakudo Match | |||
anyway, it's there :-) | |||
tadzik | so there could be a proto token Pod, and the Parser module would use that one only | ||
pmichaud | rakudo: say Perl6::Grammar.parse("123_456_789 any street", :rule<integer>); | 17:18 | |
p6eval | rakudo 405afa: OUTPUT«123_456_789» | ||
tadzik | but I'm still not sure if that'll be entirely possible. There's DOC INIT {} and stuff, so the code has to be compiled somehow | ||
pmichaud | agreed | 17:20 | |
17:21
icwiener left
17:22
icwiener joined
|
|||
tadzik | should that be doable, given the current state of Rakudo? | 17:22 | |
I don't want to have it as a GSoC Goal if it turns out to be impossible :) | |||
pmichaud | it's not at all impossible | 17:23 | |
so yes, it's doable | |||
tadzik | I don't mind it being tricky :) | ||
pmichaud | it may mean refactoring rakudo's compiling guts a bit... but that probably needs to be done anyway | ||
I think the key is to think of pod as being "another language within the compiler" and not necessarily "a separate language from the compiler" | 17:24 | ||
tadzik | finding the temporary impossibilities is one of the goals for the first week | ||
pmichaud | I think it's also useful to think of two forms of pod documentation | ||
one that doesn't require the Perl 6 compiler (i.e., no DOC INIT { }) | |||
and one that does | |||
i.e., it might be useful to develop a version of pod that can standalone, and then figure out how to integrate it with a perl 6 compiler | 17:25 | ||
(full disclosure: I haven't read the proposal(s) yet) | |||
PerlJam | pmichaud: gist.github.com/892249 | ||
tadzik | what about =begin code :allow<B>? That one will surely need a Perl 6 parser too. But maybe it will just do with the single rule for this kind of syntax | 17:26 | |
PerlJam | " What makes my project different is that it's not a separate parser module, but a significant part of the Rakudo compiler itself" | ||
moritz_ | tadzik: no, it does not | ||
PerlJam | tadzik: btw, I don't like that part I just quoted. :) you're drawing the wrong distinction IMHO | ||
pmichaud | you can certainly inherit/borrow specific parsing rules from the Perl 6 grammar | ||
[Coke] | pmichaud: ~~! | 17:27 | |
pmichaud | just avoid the rules that have side effects | ||
Coke: ~~ | |||
moritz_ | tadzik: it means "verbatim text, except for B<...>, which is parsed" | ||
tadzik: not "Perl 6 code + B<...>" | |||
tadzik | moritz_: yes. But it's not only :allo... oh, I see your point | ||
pmichaud | anyway, I'm seriously distracted here so I should probably stop lobbing peanuts | 17:28 | |
tadzik | or not. Hmm. That'd be something like { =begin <pod_identifier> <pair_syntax_or_something> } | 17:29 | |
while <pair_syntax_or_something> is a Perl 6 code and I need it parsed | |||
but as pmichaud said, it that one has no side effects it's ok, otherwise I might write my own one or something | |||
pmichaud | rakudo: say Perl6::Grammar.parse(":allow<B>", :rule<colonpair>) | 17:30 | |
p6eval | rakudo 405afa: OUTPUT«:allow<B>» | ||
pmichaud | seems pretty straightforward :-) | ||
tadzik | oh cool, thanks :) | ||
pmichaud | it gets nastier if the colonpair has curlies or something like that, but for the basic :name<value> syntax it ought to be fine | ||
tadzik | I'm wondering whether that as a whole would make it bad to keep for the last week of work. I guess I'll just silently try it as I implement the rest of things, to know of potential difficulties before | 17:31 | |
well, the 'key => {a=>1, b=>2}' syntax should also be possible | 17:32 | ||
OTOH, I don't think I stated the 100% S26 compatibility anywhere. Even the project description on the ideas page says "or the subset of Pod" | |||
pmichaud | rakudo: say Perl6::Grammar.parse("key => 'value'", :rule<fatarrow>); # testing | ||
p6eval | rakudo 405afa: OUTPUT«Contextual $*QSIGIL not found in main program body at line 1586» | 17:33 | |
pmichaud | yeah, fatarrow is nasty | ||
just having anything to start with would be helpful | |||
PerlJam | tadzik: IMHO, a pod parser that can stand alone and can be integrated into rakudo (or some other implementation) is much more valuable that one that is only integrated into Rakudo. | ||
tadzik | I just have to make sure I don't include in the proposal something I don't plan to do | ||
pmichaud | I agree with PJ, fwiw | 17:34 | |
benabik | +1, FWIW | ||
tadzik | hmm | 17:35 | |
pmichaud | at this stage I'd prefer a standalone pod that omits some of the dynamic features of POD | ||
tadzik | wouldn't that be a problem for the Rakudo compiler to load a module? | ||
pmichaud | tadzik: no, we can precompile it in | 17:36 | |
same as we do for the rest of the core settings :-) | |||
tadzik | hah :) | ||
so Perl6::Grammar will include some Pod::rules, and Perl6::Actions will inclu... that pretty much makes Pod a role which Perl6::Grammar will do, doesn't it? | 17:37 | ||
pmichaud | it can be, yes | ||
PerlJam | tadzik: That's what I think | ||
masak | rakudo: my $*QSIGIL = 42; say Perl6::Grammar.parse("key => 'value'", :rule<fatarrow>) | 17:38 | |
p6eval | rakudo 405afa: OUTPUT«» | ||
tadzik | so that looks a bit different now: A Pod Parser is a separate thingy, and it later gets included into Rakudo, opening the way to the in-compiler features, --doc, .WHY etc | ||
17:39
jferrero joined
|
|||
masak | I haven't been following along closely. what's the advantage of starting separate/outside? | 17:40 | |
moritz_ disagrees | 17:41 | ||
pmichaud | reusability with other compilers | ||
tadzik | Justin Case, what if, in the middle of the project, my work reveals some subtle bug which makes half of the deliverables underiverable, and I'm unable to fix this. What happens to my task then? | ||
moritz_ | Pod allows references into code | ||
for obtaining method signatures, for example | |||
PerlJam | tadzik: you won't be penalized for not being able to predict the future. | ||
moritz_ | this will be *much* harder in a separate module | ||
PerlJam | tadzik: you and your mentor will work out an alternate plan at that poitn | ||
tadzik | sounds good for me | 17:42 | |
moritz_ | and .WHY and friends is speccec as core - why have it separately? | ||
pmichaud | that's why I think it needs to be viewed in two stages | ||
one that looks at pod-as-pod, and another that looks at pod-as-perl6-with-references | 17:43 | ||
and dynamic stuff and th elike | |||
but I can see the value of the other approach as well | |||
(i.e., integrating it with the compiler directly) | |||
I just think the bigger win would be to make a clean API somewhere/somehow. Perhaps that's just not possible with pod6 | 17:44 | ||
in which case we end up with "Only Perl 6 can parse Pod6" which I think would be disappointing somehow. | |||
moritz_ | for one, we don't even yet have the syntax to call a rule from another grammar in from within a rule | ||
tadzik | regarding the GSoC again: if I make a suprising discovery in the early stage of a project, not fatal, can I ask my mentor "that will be harder than expected, can I modify my schedule a bit?" Not neceserilly the deliverables, but if those too, is that possible? | ||
PerlJam | moritz_: that's a mere matter of editing the spec ;) | ||
moritz_ | (which is a TODO since the alpha switchover) | ||
tadzik | oh right, we can edit the spec :) | ||
moritz_ | PerlJam: no, it needs implementing | 17:45 | |
tadzik: yes, possible | |||
17:46
ab5tract left
|
|||
tadzik | ok cool. Bbl | 17:46 | |
PerlJam | moritz_: why do we need to call a rule from another grammar? | 17:47 | |
moritz_ | PerlJam: because that's what you do when you integrate one language with another | 17:48 | |
pmichaud | one *can* call a rule from another grammar | ||
PerlJam | moritz_: if the POD6 parser is a role, it's in the same grammar. | ||
pmichaud | we just don't have a standard syntax for it | ||
masak | :lang(OtherGrammar) ? | ||
moritz_ | PerlJam: do we have pre-parse-time role composition yet? | 17:49 | |
pmichaud | anyway, Rakudo's grammar makes calls to other grammars (regex, etc) all the time | ||
PerlJam | moritz_: do you mean "does anyone have it?" | 17:50 | |
17:50
tyatpi_ left
|
|||
moritz_ | PerlJam: no | 17:50 | |
pmichaud | we have roles in the setting, yes. | ||
moritz_ | PerlJam: I mean "can we use it now for the GSOC thing?" | 17:51 | |
pmichaud | I don't know if that qualifies as pre-parse-time role composition... but it seems like it should | ||
moritz_ | pmichaud: but we can't compose them into Perl6::Grammar yet, can we? | ||
pmichaud | no, because Perl6::Grammar isn't yet a Rakudo grammar | ||
it's still an NQP one | |||
moritz_ | PerlJam: so, integrating the Pod parser into rakudo via role isn't an option right now | 17:52 | |
pmichaud | well... it might work, but it's not something I could commit to yet | ||
17:52
am0c left
|
|||
PerlJam | okay so perhaps tightly coupling is fine for now and we leave it to the future to decide how to tease them apart (if ever) | 17:54 | |
17:54
jevin left
|
|||
masak | I'd say it's a lot more than "fine fore now". it's only in conjunction with the rest of Perl 6 that Pod 6 will really be Pod 6. | 17:57 | |
we seem to fall on a spectrum in how much we believe that to be true/important, though. | |||
pmichaud | it's something of a question about the value of pod6 as markup, I think (more) | 17:58 | |
pod6 as "Perl 6 program documentation" makes sense to have tight integration with compiler | |||
pod6 as "Generic document language" might want to not be so tightly coupled with a perl 6 compiler | |||
but perhaps pod6 will never be used as a generic document language | 17:59 | ||
moritz_ was thinking of "Perl 6 program documentation", because that's what S26 describes, and that's what tadzik++'s proposal references | |||
pmichaud | put another way, if the only way to process a pod6 document is to run it through a Perl 6 compiler... that's a coupling that we might have cause to regret someday | 18:00 | |
anyway, if the focus is on the perl6 source documentation aspect, I totally agree that compiler integration makes more sense as the first step | |||
masak | pmichaud: mberends++ has at times been making the exact same points you are right now. | 18:01 | |
pmichaud: problem is, there *is* no Perl 6-independent Pod 6. | |||
not in the spec, anyway. | |||
it's *deeply* intertwined. | |||
pmichaud | masak: this is what I get for being absent then, and mberends++ | ||
masak | he's mostly been making them AFK, FWIW. | ||
pmichaud | masak: istr that at one time there was discussion that we might want a version of pod6 that doesn't have the deep intertwining | 18:02 | |
masak | one could argue that there's a need for a "staged" Pod 6 spec, one stage which is... right. | ||
moritz_ | ... and then we ran into limitations which made us deviate from that course | ||
masak | but we don't have that today. | ||
pmichaud | right... "staged" is what I've been aiming at. | ||
masak | all we have is the full Pod 6. | 18:03 | |
moritz_ | as far as I remember the process, at least | ||
pmichaud | similar to the way we "staged" the regex grammar and the compiler | ||
having a separate regex/grammar engine is a huge plus | |||
at least in the nqp/parrot world it is | |||
masak | I also suggest that we might learn more from integrating with Rakudo, since that hasn't been done yet. | ||
pmichaud | and I think a similar case can be made for pod6 | ||
regardless of which approach is taken, I think we will learn a ton (and end up with a very useful product) | 18:04 | ||
I don't see that either approach is a dead end | |||
so I'd recommend that tadzik++ take whatever approach is -Ofun for him and go with that | 18:05 | ||
masak | well, the standalone pod6 approach has been tried at least three times. | ||
pmichaud | also, if there's a separate pod6 documentation project for parrot, perhaps that should be the "uncoupled" pod6 track and tadzik++ can work on the "tightly integerated" track | ||
masak: it has? | 18:06 | ||
masak thought it was a separate pod5 project for Parrot | |||
pmichaud | maybe it's pod5 for parrot | ||
[Coke] | I'm not sure parrot needs an independent pod6 parser. | ||
masak | pmichaud: yes, both my draft and tadzik's proposal mentions that. | ||
pmichaud | sorry, I haven't read the drafts. | ||
masak | pmichaud: TheDamian's CPAN module, mberends's parser, and there's another CPAN module by a Russian guy. | 18:07 | |
pmichaud: four if you count lue++'s early-stages project. | |||
PerlJam | After thinking about how POD5 has been used, I think a deeply integrated POD6 will be fine. (POD5 is used as a general purpose markup for various things, but all of the tools that parse it (AFAIK) are written in Perl so we need to "run it through perl" anyway. This would be no different for pod6) | ||
masak | the places where Pod 6 shines over Pod 5 are mostly in deeper integration, IMHO. | 18:08 | |
PerlJam | I also think that moritz_ would make the perfect mentor for this project :) | ||
masak: yes, agreed. | |||
18:09
icwiener left
|
|||
pmichaud | masak: okay. I was familiar with the CPAN modules, but not the others | 18:09 | |
I suspect that CPAN / Perl 5 really isn't a good match for pod6. Also it depends on what level of pod6 they were attempting to parse | |||
anyway, I'll defer here to others' wisdom. | 18:10 | ||
masak | pmichaud: I agree that there are... issues around parsing Pod 6 outside of a Perl 6 compiler. | 18:11 | |
pmichaud | Perl 6 compiler or Perl 6 grammar? | ||
masak | a compiler. | ||
pmichaud | okay. I'll have to re-read S26 and see if I agree. | 18:12 | |
masak | those have to be resolved at some point. I suggest running headlong into these issues to discover them :) | ||
pmichaud | except that writing Pod that relies on a compiler would seem to avoid the issues as opposed to running into them :) | ||
i.e., if we assume a compiler, then we don't really discover the issues that arise from not having one :) | 18:13 | ||
benabik | masak: To find walls, just run forward at top speed? | ||
masak | benabik: that's what I usually do. | 18:15 | |
are you questioning my methods? :P | |||
benabik | Just trying to learn from the masters. Although I think I'll wear a helmet if I try that one. ;-) | 18:16 | |
masak | :) | ||
pmichaud: oh, I meant partly the issues related to not having a compiler handy, and partly the issues related to having one. | 18:17 | ||
PerlJam | It would help if someone came up with a good use-case for no-compiler | ||
masak | PerlJam: CPAN or similar. | 18:18 | |
18:18
GinoMan left
|
|||
masak | I don't remember if the security-related Pod issues brought up on p6l were ever addressed entirely. | 18:18 | |
I think S26 mumbles something about 'compile-time constants' or some such. | |||
anyway, it's *those* issues that I think are next up for exploration. | 18:19 | ||
not the outside-a-compiler, separate-module issues. that's been done a few times. | |||
and experience tells us that those projects have a tendency to fall by the wayside and bitrot rather than become *the* Pod 6 parser. | |||
PerlJam | well correlation is not causation as they say | 18:20 | |
masak | true. nevertheless, that kind of project has been tried. | 18:21 | |
I'd say that TheDamian's module on CPAN is still the authoritative one. it's lagging just a little on S26, but it's still very feature-complete. if I were to write a standalone Pod 6 parser from scratch, I'd probably start by copying that one. | 18:22 | ||
18:23
leprevost left
|
|||
pmichaud | afk, lunch | 18:24 | |
PerlJam | re tadzik's proposal ... I still think that the fewer rakudo-specific features he has, the better and that he shouldn't highlight that it's tightly integrated into *rakudo* so much as integrated into STD or Perl 6 or something that indicates that it could be used for multiple implementations. | 18:25 | |
but at the end of the day he has to pick an implementation to use for his development environment and rakudo is a good choice :) | 18:26 | ||
masak | it would be excellent if (say) Niecza followed along in the development of the Pod features. but it might be a bit much for one GSoC-er to implement Pod in two implementations. | 18:27 | |
when's #phasers, btw? | 18:28 | ||
diakopter | 32 | ||
masak | dz | ||
diakopter | dz? | ||
masak | phenny: "dziekuje"? | ||
phenny | masak: "Thank you" (pl to en, translate.google.com) | ||
diakopter | ahah | ||
18:28
st-14258 left
|
|||
diakopter | pl? | 18:28 | |
18:29
plobsing left
|
|||
masak | I picked up a few bad habits on a board game forum many years ago :) | 18:29 | |
sjohnson | polish | ||
masak | phenny: "zamiana kolorew?"? | ||
phenny | masak: "kolorew replacement?" (pl to en, translate.google.com) | ||
18:30
jevin joined
|
|||
masak | huh. maybe "kolorew" never was a real word... :) | 18:30 | |
sjohnson | masak: what is your first language? | ||
masak | sjohnson: Swedish. | ||
phenny: "ostatnia raz"? | |||
phenny | masak: "last time" (pl to en, translate.google.com) | ||
sjohnson | masak: cool | ||
18:30
kaare_ joined
18:32
mberends joined
|
|||
masak | phenny: "Kiedyś nie mogłem zaklęcia "lingrist", a teraz są jednym!"? | 18:33 | |
phenny | masak: "Once I could not spell "lingrist" and now are one!" (pl to en, translate.google.com) | ||
18:33
s1n left
|
|||
masak | GIGO :) | 18:33 | |
18:35
zby_home joined
18:40
icwiener joined
18:51
_buno_ joined
18:52
_buno_ left
19:07
jaldhar left
19:08
jaldhar joined
19:28
ymasory left
19:35
ymasory joined
|
|||
tadzik | masak: kolorów | 19:35 | |
also, ostatnI raz | 19:36 | ||
and I have no idea what are you trying to say with the last one :) | |||
am I late for #phasers btw? | |||
masak | aye | ||
tadzik: the context is online board games. people don't want to stop playing, but sometimes they have to go because the world intrudes. | 19:37 | ||
19:37
ymasory left
|
|||
tadzik | masak: how does it relate to the lingrist spell? | 19:38 | |
Also, sorry for being late, but I have nothing to report anyway | |||
masak | tadzik: it doesn't relate. that was just a TimToady quote from a couple days ago. | 19:40 | |
tadzik | oic | ||
masak | tadzik: we were discussing GSoC a bit. you might want to backlog #phasers. | ||
tadzik | I surely will | ||
moritz_ | www.perlmonks.org/?node_id=896262 connect-4 with the regex engine :-) | 19:53 | |
masak | is that the Fox from p6cc? | 19:56 | |
moritz_ | might be | 19:57 | |
I don't know | |||
tadzik | my proposal got FixedAgain, if anyone still wants to check that out :) | 20:00 | |
20:01
bacek joined
20:05
ronoreck left,
ronoreck joined
20:15
Rotwang joined
20:21
ymasory joined
20:28
plobsing joined
20:32
tyatpi_ joined
20:41
Holy_Cow left
20:43
pothos left
20:44
y3llow left,
plainhao left
20:45
y3llow joined,
pothos joined
20:48
pothos left,
pothos joined
20:56
kaare_ left
20:57
donaldh joined
21:24
ymasory left
21:27
ymasory joined
21:46
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
donaldh | rakudo: sub test($x is rw) { $x = 'Hello' }; sub indirect(|$args) { test(|$args) }; my $salutation; indirect($salutation); say $salutation; | 21:48 | |
p6eval | rakudo 405afa: OUTPUT«Hello» | ||
donaldh | my $salutation; my $capture = \($salutation); $capture.list.values[0] = 'Hello'; say $salutation; | 21:49 | |
rakudo: my $salutation; my $capture = \($salutation); $capture.list.values[0] = 'Hello'; say $salutation; | |||
p6eval | rakudo 405afa: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/qflPi6hyqf» | ||
donaldh | Is there any way to 'cast' a capture reference to be rw ? | 21:51 | |
rakudo: my $x; my $capture = \($x is rw); | 21:52 | ||
p6eval | rakudo 405afa: OUTPUT«===SORRY!===You can't backslash that at line 22, near "($x is rw)"» | ||
donaldh | Do captures have to be readonly references in rakudo? | 21:58 | |
masak | rakudo: my $signature = :($x is rw); say $signature.^methods | 21:59 | |
p6eval | rakudo 405afa: | ||
..OUTPUT«aritycountparamsACCEPTSperlNumericRealIntRatNumabsconjugateexploglog10sqrtrootsto-radiansfrom-radiansfloorceilingroundtruncatesigncisunpolarchrchrsrandsincostanseccoseccotansinhcoshtanhsechcosechcotanhasinacosatanatan2asecacosecacotanasinhacoshatanhasechacosechacotanhbytescapitaliz… | |||
masak | rakudo: my $signature = :($x is rw); say $signature.params | ||
p6eval | rakudo 405afa: OUTPUT«Parameter()<0x2d9b320>» | ||
masak | rakudo: my $signature = :($x is rw); say $signature.params[0].name | ||
p6eval | rakudo 405afa: OUTPUT«$x» | ||
masak | rakudo: my $signature = :($x is rw); say $signature.params[0].^methods | 22:00 | |
p6eval | rakudo 405afa: | ||
..OUTPUT«readonlynametypeconstraintsrwrefparcelcapturecopynamednamed_namesslurpyoptionaldefaultinvocantmulti_invocanttype_capturessignaturecanisadoeslistACCEPTSStrNumericSeqallanyonenonejoinelemsflatmapsortrotatefirstgrepreverseendminmaxminmaxpickrollclassifyreduceuniqkvkeysvaluespairspostc… | |||
masak | rakudo: my $signature = :($x is rw); say $signature.params[0].readonly | ||
p6eval | rakudo 405afa: OUTPUT«Bool::False» | ||
masak | donaldh: I generally associate readonliness with signatures, not captures. | ||
donaldh | masak: yep, but captures are readonly. | 22:01 | |
masak: signatures can declare rwness but captures cannot. | |||
masak | captures can't be *all* readonly, since they take part both in calling stuff and binding stuff. | 22:02 | |
donaldh | This makes it difficult / impossible to write a generic implementation sub. | ||
masak | not sure I see what you mean. | ||
'night, #perl6. | |||
donaldh | zavolaj binds a generic impl to a sub ($x is rw) is native { ... } | 22:04 | |
I can't find a way to use a capture to write to params that are defined is rw in the signature. | 22:07 | ||
22:20
st-16473 joined,
st-16473 left
|
|||
donaldh | niecza: my $salutation; my $capture = \($salutation); $capture.list.values[0] = 'Hello'; say $salutation; | 22:21 | |
p6eval | niecza v4: OUTPUT«Unhandled exception: Unable to resolve method values in class List at /tmp/V2fjkudTug line 1 (MAIN mainline @ 4) at /home/p6eval/niecza/lib/CORE.setting line 1264 (CORE C525_ANON @ 2) at /home/p6eval/niecza/lib/CORE.setting line 1265 (CORE module-CORE @ 39) at | ||
../home/p6eval/… | |||
donaldh | std: my $salutation; my $capture = \($salutation); $capture.list.values[0] = 'Hello'; say $salutation; | 22:22 | |
p6eval | std 4608239: OUTPUT«ok 00:01 122m» | ||
donaldh | rakudo: my $x; my $capture = \($x); $capture[0] = 'Hello'; say $x; | 22:33 | |
p6eval | rakudo 405afa: OUTPUT«Hello» | ||
22:37
icwiener_ joined
22:42
plobsing joined
22:48
st-16714 joined
22:55
icwiener_ left
22:57
st-16714 left,
nymacro joined
22:58
flatwhatson joined
23:02
plobsing left
23:14
st-16890 joined
23:29
icwiener joined
23:51
st-16890 left
23:54
st-17178 joined
23:55
st-17178 left
23:56
whiteknight joined
23:59
[particle] joined
|