»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
ggoebel joined
|
|||
ssutch | yeah | 00:02 | |
force of habit (python,ruby,js) | |||
masak | yes, the rule is this: if you use the '@' sigil, you already have an array for free. | 00:03 | |
r: say my @a = 1, 2, 3 | |||
camelia | rakudo b4d858: OUTPUT«1 2 3» | ||
ssutch | yeah | ||
masak | r: my $s = 1, 2, 3; say $s | ||
camelia | rakudo b4d858: OUTPUT«WARNINGS:Useless use of "," in expression "my $s = 1, 2, 3" in sink context (line 1)1» | ||
ssutch | is there any copying going on there? | 00:04 | |
masak | in what sense? | ||
r: my @a = 1..3; my @b = @a; say @a === @b; say @a eqv @b | |||
camelia | rakudo b4d858: OUTPUT«FalseTrue» | ||
ssutch | if i say my @list = %hash{'list_item'} it doesn't do any copying | ||
what if it has to coerce say, a parcel? | 00:05 | ||
r: my @a = 1..3; my @b = @a; push @b, 4; say @a === @b; say @a eqv @b | |||
camelia | rakudo b4d858: OUTPUT«FalseFalse» | ||
masak | r: my %hash = list_item => [1, 2, 3]; my @list = %hash<list_item>; say @list === %hash<list_item> | 00:06 | |
camelia | rakudo b4d858: OUTPUT«False» | ||
masak | looks like copying to me. | ||
ssutch | yeah | ||
masak | r: my %hash = list_item => [1, 2, 3]; my @list := %hash<list_item>; say @list === %hash<list_item> | ||
camelia | rakudo b4d858: OUTPUT«True» | ||
masak | use binding if you don't want a fresh copy :) | ||
ssutch | ah | ||
so @liast stays a parcel in that case | 00:09 | ||
@list | |||
is it possible to get an element from an array, defaulting to some value if it doesn't exist? like @arr.some(0, 'alternative') | 00:14 | ||
timotimo | @arr[10] // "yarr!" | 00:15 | |
ssutch | simple enough | 00:16 | |
00:18
BenGoldberg joined
00:19
xilo_ joined
00:20
xilo_ left,
xilo_ joined
|
|||
dalek | p: aa3dd30 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Split-aware instruction base size calculator |
00:26 | |
p: 4fd1847 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Fragment size calculator |
|||
masak | 'night, #perl6 | 00:29 | |
moritz_ | good knight, masak | 00:30 | |
timotimo | even if my pod changes work now, i'm doubtful they will ever be accepted into rakudo >_< | 00:32 | |
(except they don't work) | 00:36 | ||
colomon is getting frustrated at trying to program in p5. Why do we not have Email::Sender::Simple in p6 yet? | |||
timotimo | er, wait, what? my debug outputs don't show up for perl6 --doc=HTML foo.p6 | 00:37 | |
oh, i was just redirecting the output | 00:38 | ||
dalek | p: 43db7b3 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Optimize try-catch edge generation for large methods |
00:42 | |
00:46
btyler joined
00:59
benabik joined
|
|||
timotimo sprinkles the code with debug statements and sadness | 01:01 | ||
ssutch | hah | ||
why wouldn't your patch be accepted? | |||
timotimo | it's a big amount of changes and they don't look good | 01:02 | |
it's kind of disorganized at the moment and touches all the places | |||
ssutch | my significant other would describe me the same way | 01:04 | |
timotimo | in that case it's adorable, in my case it's ... frustrating | ||
ssutch | break it up into small, palatable changes? | 01:05 | |
timotimo | oooh, i think i see where i went wrong | ||
wow, that was not a mistake a smart person would have made | |||
benabik | Clever people make clever mistakes. | 01:07 | |
colomon | Clever people sometimes make the biggest mistakes... | 01:08 | |
timotimo | basically there was a token looking like { something something || <.typed panic> }, i added an assertion at the beginning of something something hoping it'd skip the block | ||
instead it skipped right into the typed panic every time | |||
even worse. i apparently misread that whole thing and it was fine before. also didn't make my code work magically | 01:09 | ||
01:09
cooper joined
|
|||
timotimo | i hope that once i can make it work i can refactor most of the changes | 01:12 | |
01:13
btyler left
01:18
Chillance_ is now known as Chillance,
Chillance left
01:19
Chillance joined
|
|||
ssutch | when dynamically generating classes, if i want it to descend from ann object, i should use $type.HOW.mixin($type, Class::A, Class::B) | 01:21 | |
does that seem right? | |||
01:21
FROGGS_ joined
01:23
btyler joined
|
|||
timotimo | github.com/timo/ADT/blob/master/lib/ADT.pm6 - i'm not sure but i think i have something in here about that | 01:23 | |
i don't get it. i get an exception, but a closure i put before it isn't being run | 01:25 | ||
i think i'm getting tireder and the code isn't getting righter. i should probably head to bed. | 01:28 | ||
01:33
hypolin joined
|
|||
timotimo | i made most blocks in the documentation turn into 1s ... i should really get rest. good night! | 01:41 | |
[Coke] | masak: p6a removed from sixplanet. | 01:48 | |
(will take a few minutes to percolate) | |||
sorear | [Coke]++ | 01:49 | |
segomos | who is in charge of accepting pull requests for modules in META.list? | ||
ssutch | [Coke]++ | ||
[Coke] | half the people here can do it. | ||
sorear | segomos: tell me your github ID | ||
segomos | sorear: hosted on bitbucket as segomos | 01:51 | |
need to me to suck it into github? | |||
sorear | hmm | ||
I'm trying to give github.com/tony-o a commitbit | |||
but github is being dumb | |||
there it goes | 01:54 | ||
segomos: you should now be able to merge the pull request. :) | 01:55 | ||
segomos | thank you | 01:56 | |
ssutch | seems like in order to make a class that inherits from another class at runtime i should just do eval | 01:59 | |
colomon | do bitbucket repos work in the ecosystem? | ||
sorear | segomos: use the metamodel | 02:00 | |
colomon | sorear: did you mean ssutch there? | ||
and o/ | |||
ssutch | sorear: i don't see a way to do that with the metamodel | ||
sorear: with roles, maybe | |||
dalek | osystem: a790671 | segomos++ | META.list: Update META.list |
02:06 | |
osystem: d2a7691 | (Philip Mabon)++ | META.list: Merge pull request #26 from tony-o/patch-1 Update META.list |
|||
02:08
kst`` joined
02:09
yves joined
|
|||
segomos | sorear: use the metamodel? | 02:14 | |
oh - | 02:16 | ||
02:18
SamuraiJack joined
02:23
Chillance left
02:27
potatogim joined
|
|||
JimmyZ | good morning, #perl6 | 02:29 | |
02:34
silug_ joined
|
|||
ssutch | 'morning! | 02:34 | |
colomon | \o | 02:42 | |
02:55
abnorman left
03:11
ztt joined
|
|||
sorear | o/ | 03:11 | |
03:13
fridim_ joined
|
|||
ztt | howdy! I can not find where rakudo REPL code placed. I just wannar to see how this REPL works | 03:14 | |
Can anyone tell me which file do the REPL? sorry for my english | 03:15 | ||
ssutch | ztt github.com/rakudo/rakudo/blob/8976...mpiler.nqp is a good place to start | 03:17 | |
ztt | oh thx! | 03:19 | |
ssutch | ztt that class descends from github.com/perl6/nqp/blob/master/s...mpiler.nqp | ||
03:19
eternaleye joined,
ldthien0 joined
|
|||
ssutch | which has more of what you probably want in it (see the .interactive method) | 03:19 | |
ztt | thank you ssutch! you show me a new world! ° △ ° | 03:22 | |
ssutch | hah i like that emoticon | 03:24 | |
03:26
atroxaper joined
03:29
ldthien0 left
03:30
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex_ is now known as preflex
03:31
btyler left
03:32
xilo_ left
03:35
xilo_ joined
|
|||
ssutch | is there a prettier way to do this? # $.gen-class($_) for $pkg.messages | 03:35 | |
03:39
Guest1337 left
|
|||
sorear | ssutch: I promise you, everything which can be done with classes using eval can also be done with the MOP | 03:49 | |
ssutch | sorear: that's good, i'd rather do things that way | ||
this is how im doing it right now, but haven't yet figured out how to use MOP to generate a class which descends from another class: github.com/samuraisam/p6-pb/blob/6...nerator.pm | 03:52 | ||
regardless, it's probably more "correct" to use roles anyway, which ClassHOW.add_role($cls, $role) seems to work | 03:53 | ||
03:55
BenGoldberg left
04:00
skids left
|
|||
sorear | ssutch: can you paste the code which is supposed to add a parent but doesn't work? | 04:01 | |
ssutch | sorear: im not sure what to do, i tried saying $type is $parent; - that didn't work | 04:02 | |
sorear | ssutch: I suggest looking at the definition of is | 04:04 | |
search the setting for trait_mod:<is> | |||
ssutch | sorear: that makes sense :) | ||
sorear | generally speaking metamodel stuff involves lots of uppercase letters, especially H and W... | 04:06 | |
ssutch | derp, the role was in Metamodel::MultipleInheritance | 04:15 | |
$typ.add_parent($typ,$parent) # DOH! | 04:17 | ||
and it works! | |||
now if only i could make namespaces at runtime, i'd be rich! | |||
sorear | $typ.HOW.add_parent surely | 04:19 | |
ssutch | yeah, that's what i meant | 04:20 | |
diakopter | o_O | ||
ssutch | thanks for the hand sorear \o | ||
diakopter | gchat is down-ish, for once | 04:25 | |
04:27
Psyche^ joined
04:31
Psyche^ is now known as Patterner
|
|||
sorear | ssutch: btw, $foo.^bar($baz) is short for $foo.HOW.bar($foo, $baz) | 04:34 | |
ssutch | yar | 04:37 | |
04:39
ztt left
04:47
fridim_ left
04:51
zby_home_ joined
04:53
xinming joined,
birdwindupbird joined
04:59
nitestryker joined
05:08
fridim_ joined
05:13
SamuraiJack left
05:17
SamuraiJack joined
05:18
abnorman joined
05:19
arlinius left
05:30
nitestryker left
05:36
FROGGS_ left
05:38
rs0_ joined
05:40
nitestryker joined
05:45
fridim_ left
05:46
nitestryker left
05:49
arlinius joined
05:54
kaleem joined
06:11
FROGGS_ joined
06:12
nitestryker joined
06:13
eternaleye left,
eternaleye joined
06:20
dukeleto joined,
dukeleto left,
dukeleto joined
06:23
kaleem left
06:26
dmol left
06:34
xlat joined
06:37
dukeleto left
06:45
kaleem joined
06:55
drbean joined
07:09
SamuraiJack left
07:11
SamuraiJack joined,
domidumont joined
07:16
nitestryker left,
nitestryker joined
07:31
berekuk joined
07:36
domidumont left
07:37
domidumont joined
07:45
fhelmberger joined
07:49
sqirrel joined
|
|||
TimToady | commuting to York & | 07:52 | |
Teratogen | wow | 07:54 | |
08:09
cosimo joined,
cosimo left,
cosimo joined
08:10
cosimo left,
cosimo joined,
cosimo left
08:11
cosimo joined
08:12
cosimo left,
cosimo joined
08:14
cosimo left,
ssutch left,
cosimo joined
08:15
cosimo left
08:20
cosimo joined
08:36
djanatyn joined
08:41
Tene joined,
Tene left,
Tene joined
08:46
dakkar joined
09:02
daxim joined
09:11
kst`` left
09:12
kst`` joined
|
|||
dalek | ecs: fce8a2f | (Elizabeth Mattijsen)++ | S99-glossary.pod: Framework for a Perl 6 glossary |
09:46 | |
lizmat | please note it is just a framework with some empty lemma's so far | ||
patches welcome! | |||
09:50
snearch joined
|
|||
lizmat | robocup& | 09:54 | |
dalek | ecza: 7bae012 | (Solomon Foster)++ | lib/CORE.setting: Port lizmat++'s classify to Niecza. |
10:04 | |
10:05
Chillance joined,
zby_home_ left
|
|||
dalek | ast: 10f1993 | (Solomon Foster)++ | S32-list/classify.t: Refudge for Niezca. |
10:06 | |
sorear | morning colomon :) | 10:07 | |
colomon | \o | ||
sorear | hrm. I made a small change to rakudo and I worry I may have caused an optimizer regression | 10:13 | |
because it made the setting marginally *bigger*, and I think that change should only have been capable of causing shrinkage | |||
FROGGS_ | sorear: that could be my patch too | 10:15 | |
sorear | FROGGS_: I think I pulled and measured after yours | 10:16 | |
FROGGS_ | before my object-flush patch the setting.bpc was 17meg, afterwards 18meg | ||
sorear | so the "big method" in the output from rx.t was causing the method splitter fits | ||
~100,000 instructions, 2018 local variables | |||
200M (insn,variable) pairs needing type deduction | 10:17 | ||
i made some changes to nqp&rakudo which have the same method down to 25 locals (near-same insn count) | |||
unfortunately, it doesn't verify. | 10:18 | ||
jnthn | 2018 to 25? Whoa. :) | 10:19 | |
sorear++ | |||
sorear: I may be able to guess if I see the patch, or alternatively I may have no clue. | |||
sorear | jnthn: also, the splitter was having a bit of trouble with the splitting. 2018 locals doesn't leave much room after the save epilogue/restore prologue :) | 10:20 | |
huh, nqp passes tests and rakudo passes coretests | |||
jnthn | right :) | ||
sorear isn't sure how to square this with the new verifier rejecting output | 10:21 | ||
jnthn | Verifier being pickier than the JVM's own? | ||
10:22
fridim_ joined
10:23
rindolf joined
|
|||
sorear | mustbe. | 10:24 | |
dalek | ecza: 39ab531 | (Solomon Foster)++ | lib/CORE.setting: Add Any.classify. |
10:29 | |
ast: 6f8898b | (Solomon Foster)++ | S32-list/classify.t: Unfudge for Niecza. |
|||
timotimo | hmm. do i want to bang my head against Pod6 again today? | 10:30 | |
masak | good afternoon, #perl6 | 10:31 | |
colomon | \o | 10:32 | |
it's barely morning here... | |||
timotimo | i was wondering, D<...> is supposed to offer a link target for future usages of the term and its synonyms. making those links seems like a job for Pod::To::*, right? | ||
sorear | ah, I just screwed up the lload stack signature | 10:39 | |
had it marked as returning a reference with no type (L) | 10:40 | ||
10:42
pecastro joined
|
|||
dalek | p: 4d574a2 | sorear++ | src/ (4 files): Add a local_lifetime hint op This tells the code generator that the named locals don't need to escape the scope of the op. Note that this is more than just a scope analysis, since it affects behavior in loops: you're telling the codegen that it's OK to clobber the named variable between iterations. As such, to automatically generate it would require a dataflow analysis. A future dataflow analyzer might do so. |
10:48 | |
p: 968a0b4 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Fragment-sizing logic |
|||
p: 25887f2 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Fix L/J typo |
10:50 | ||
p: 7718394 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Intern type descriptors for speed |
|||
p: 4e644af | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Switch to BFS for type inference. Seems to result in fewer iterations for most functions. |
|||
p: c0cffa0 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Better debug output for fragment sizer |
|||
masak | sorear: wow, looks like you're hitting really interesting problems there. | 10:52 | |
dalek | kudo/nom: a07c211 | sorear++ | / (2 files): Generate local_lifetime hints. |
||
sorear | jnthn: I've optimistically pushed | ||
running a parrot test build in parallel | |||
apparently updating NQP_REVISION requires rebuilding parrot. bleh. | 10:53 | ||
jnthn | sorear: We quite consistently don't put underscores in nqp::op names except for things like the _n type suffixes. | 10:54 | |
sorear | oops. | ||
jnthn | sorear: Did you change anything about the Parrot code-gen, beyond making it not explode when it sees locallifetime? | 10:55 | |
sorear | jnthn: No | 10:56 | |
sorear wanted to do the minimal possible change to minimize the chance of a failure now | |||
jnthn | *nod* | ||
10:56
xinming left
|
|||
sorear | jnthn: What's the best way to take a --gen-parrot rakudo build tree and update the NQP without rebuilding Parrot? | 10:57 | |
sorear suspects this rakudoparrot build will fall over | |||
jnthn | sorear: Mess with tools/build/PARROT_REVISION is one way | 10:58 | |
(in the nqp repo) | |||
10:58
xinming joined
|
|||
jnthn | sorear: Once you have got an NQP that knows to install to the right place, you can just make install it | 10:58 | |
So if you already have one, just tweak PARROT_REVISION, configure/install it. So long as the NQP revision is at least hihg enough, it's all good. | 10:59 | ||
11:02
atroxaper left
|
|||
dalek | p: 418457e | sorear++ | src/ (4 files): s/local_lifetime/locallifetime/g |
11:04 | |
jnthn | sorear++ | ||
Util | sorear++ # For getting the ball rolling in the direction of dataflow analysis. | 11:08 | |
dalek | kudo/nom: e63ebb6 | sorear++ | / (2 files): s/local_lifetime/locallifetime/g |
||
11:08
Stygia joined
|
|||
sorear | the rx.jast:qb_1 now has 25 locals and 89075 instructions, and the autosplitter identifies seven fragments it could be broken into | 11:09 | |
jnthn | \o/ | 11:10 | |
sorear | next: extend autosplitter to actually generate said fragments, and the glue code | ||
FROGGS_ | that sounds pretty cool | ||
jnthn | That'll win us some tests. | 11:11 | |
In fact, with all the test files this manages to pull it, it may be enough to push us into the 80%s | |||
FROGGS_ | \o/ (I'm from the 80s too) | 11:13 | |
sorear | I'm not. :p | ||
jnthn | Don't worry, we'll reach the 90%s soon after :P | 11:15 | |
masak | was the autosplitter written out of necessity (as in "this code won't run otherwise") or was it more of a performance thing? | 11:16 | |
jnthn | nec | 11:18 | |
sorear | right now the biggest test files die with "Method code too large!" | 11:19 | |
kind of annoying. | 11:20 | ||
jnthn | Indeed...especially as a bunch of them are regex ones, and the regex engine is already powerful enough to parse Perl 6, so it should be able to pass a good number of them. | 11:29 | |
self.endTime = ko.computed(function () { | |||
dammit | |||
FROGGS_ | jnthn: you are calculationg your own endtime? | 11:31 | |
jnthn | Not quite... :/ | 11:33 | |
sorear | this method autosplitter is dangerously close to "debugging code takes twice as much cleverness as writing it in the first place" territory | ||
11:39
rindolf left
|
|||
FROGGS_ | :/ | 11:40 | |
11:51
snearch left
|
|||
timotimo | r: say "<C<<FOO>>>" ~~ / $<code>=<[A..Z]> $<begin>=['<'+] [ <!before '>'> \N]+ [ $<end-tag>=['>'+] <?{ $<end-tag>.Str.chars == $<begin>.Str.chars }>] / | 12:00 | |
camelia | rakudo a07c21: OUTPUT«「C<<FOO>>」 code => 「C」 begin => 「<<」 end-tag => 「>>」» | ||
timotimo | neato! | ||
r: say "<C<<Foo I<Bar> baz>>>" ~~ / $<code>=<[A..Z]> $<begin>=['<'+] [ <!before '>'> \N]+ [ $<end-tag>=['>'+] <?{ $<end-tag>.Str.chars == $<begin>.Str.chars }>] / | 12:02 | ||
camelia | rakudo a07c21: OUTPUT«「C<<Foo I<Bar>」 code => 「C」 begin => 「<」 end-tag => 「>」» | ||
timotimo | oh no :( | ||
r: say "<C<<Foo I<Bar> baz>>>" ~~ / $<code>=<[A..Z]> $<begin>=['<'+] <!before '<'> [ <!before '>'> \N]+ [ $<end-tag>=['>'+] <?{ $<end-tag>.Str.chars == $<begin>.Str.chars }>] / | 12:03 | ||
camelia | rakudo a07c21: OUTPUT«「I<Bar>」 code => 「I」 begin => 「<」 end-tag => 「>」» | ||
timotimo | i wish i could run rakudo-debugger :( | ||
12:04
SamuraiJack left
|
|||
timotimo | r: say "<C<<Foo I<Bar> baz>>>" ~~ / $<code>=<[A..Z]> $<begin>=['<'+] <!before '<'> [\N]+ [ $<end-tag>=['>'+] <?{ $<end-tag>.Str.chars == $<begin>.Str.chars }>] / | 12:04 | |
camelia | rakudo a07c21: OUTPUT«「C<<Foo I<Bar> baz>>>」 code => 「C」 begin => 「<<」 end-tag => 「>>」» | ||
timotimo | ah, thit is the problem | ||
it's a good thing there are spectests about this. | |||
timotimo makes more | |||
12:05
preflex left
12:06
preflex joined,
ChanServ sets mode: +v preflex
|
|||
timotimo | r: say "I<<<This is nested B<<within I<and within>>>>>>" ~~ / $<code>=<[A..Z]> $<begin>=['<'+] <!before '<'> [\N]+ [ $<end-tag>=['>'+] <?{ $<end-tag>.Str.chars == $<begin>.Str.chars }>] / | 12:06 | |
camelia | rakudo a07c21: OUTPUT«「I<<<This is nested B<<within I<and within>>>>>>」 code => 「I」 begin => 「<<<」 end-tag => 「>>>」» | ||
timotimo | cool beans | ||
r: say "I<<<This is nested B<<within I<and within>>>>>>" ~~ / $<code>=<[A..Z]> $<begin>=['<'+] <!before '<'> $<content>=[\N]+ [ $<end-tag>=['>'+] <?{ $<end-tag>.Str.chars == $<begin>.Str.chars }>] / | 12:07 | ||
camelia | rakudo a07c21: OUTPUT«「I<<<This is nested B<<within I<and within>>>>>>」 code => 「I」 begin => 「<<<」 content => 「This is nested B<<within I<and within>>>」 end-tag => 「>>>」» | ||
dalek | p: bd00194 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Code generators for saving/restoring values |
12:11 | |
sorear | sleep& | ||
FROGGS_ | gnight sorear | ||
timotimo | but does it already work?! | ||
timotimo tries it out | |||
src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java:847: error: cannot find symbol case AbstractInsnNode.IINC_INSN: | |||
jnthn | 'night, sorear | 12:12 | |
timotimo | it seems like something wasn't added to the nqp repo or something? | ||
masak | 'night, sorear | ||
jnthn | timotimo: Did you re-configure? | ||
timotimo | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java:8: error: package org.objectweb.asm.commons does not exist | ||
jnthn | Makefile may have changed | ||
timotimo | oh! | ||
that would explain it nicely | |||
sorear | timotimo: uh... | ||
timotimo | it works now | 12:13 | |
sorear | timotimo: gist.github.com/sorear/5866922 apply this | ||
timotimo | is that just for debugging? | ||
sorear | yes | ||
then try some variation on: java -cp nqp-runtime.jar:3rdparty/asm/asm-debug-all-4.1.jar org.perl6.nqp.jast2bc.JASTToJVMBytecode ../rakudo-jvm/rx.jast rx.class | |||
that's how I've been doing the test runs | 12:14 | ||
it's not ready for full integration yet | |||
timotimo | well, for now, re-configuring it helps | ||
sorear | sleep for reals& | ||
timotimo | good night! | ||
JimmyZ | 'night, sorear | 12:15 | |
12:15
snearch joined
|
|||
timotimo | is there some trick to tell backtracking "be eager until you find this token, then see if you can advance, but if you can't, become eager again"? | 12:16 | |
if not, no problem, i suppose i can do nongreedy forward search instead | 12:17 | ||
jnthn | "keep going until we can match the next token" is basically what frugal quantifiers are doing | 12:21 | |
timotimo | is there a speed enhancement to going greedy until a specific token that in many but not all cases signifies that parsing should end anyway is found? | 12:24 | |
i think i made the pod parsing significantly slower :| | 12:27 | ||
i wonder if it'll finish. | 12:28 | ||
all it's doing is eat more and more memory, so ... i guess something is happening? | 12:31 | ||
FROGGS_ | if it is perl6 code you could use the debugger | 12:32 | |
(which makes it even slower :P) | |||
timotimo | no, it's in the Grammar again :| | 12:33 | |
it's almost constant at 2.4gb now | |||
i wonder if i could try develop this atop jvm? it would certainly be a bit faster to compile. | |||
but i don't know if i can install Pod::To::HTML there? | 12:34 | ||
if and how. | |||
FROGGS_ | no idea | 12:35 | |
can you show a diff? | |||
timotimo | oh, since it's a crazy slowdown, i could perhaps get away with not turning it into HTML at all | ||
gist.github.com/timo/d7018f9f3f75321bc9b7 - this is my diff | |||
especially note how it removes the <!before '>'> from the content section | 12:36 | ||
the +? was after the ] in my last try, too. | |||
FROGGS_ | typo: end-teg | ||
last added line | |||
timotimo | whoops! | 12:37 | |
wow. | |||
that would certainly kill it :) | |||
thanks, i needed that second pair of eyes :) | |||
FROGGS_ | :o) | 12:38 | |
12:38
p5eval joined
|
|||
FROGGS_ | btw, you could add a param to token pod_string_character like: pod_string_character($*POD_IN_FORMATTINGCODE = 1), and then pass 1 on line 12 and 15 | 12:40 | |
this way you dont need to set the dynvar in line 11, 13 and 15 | |||
timotimo | don't i need to pass that around everywhere in that case? | ||
FROGGS_ | no | 12:41 | |
ohh, the signature should be pod_string_character($*POD_IN_FORMATTINGCODE = 0) | |||
timotimo | sounds good. i'll finish my test cycle first. | ||
FROGGS_ | of course | ||
timotimo | ah, it'll stay a dynamic variable in that case? | ||
sounds useful, thanks! | |||
FROGGS_ | no premature optimization please :o) | ||
yes | |||
seen it somewhere in the grammar | |||
timotimo | about to see my results :) | 12:42 | |
aaw, crud | |||
"These synonyms can then be inserted into subsequent Pod using the L<{Pod::FormattingCode<3718923960175712333>.type}<> formatting code>|Alias placements." | |||
>_> | |||
FROGGS_ | O.o | 12:44 | |
timotimo | ah, it gets classified as "todo", interesting | 12:45 | |
mls | Hi! | 12:47 | |
JimmyZ | hello | ||
12:47
konundra joined
|
|||
mls | here's my first try to get rid of the priorInvokation element: gist.github.com/mlschroe/5867111 | 12:48 | |
timotimo | i think i just need to add handling so that C<...> will not cause formattingcodes inside to be parsed | 12:50 | |
jnthn | commute & | 12:52 | |
mls | all nqp testcases pass, but I'm not happy about the somewhat "sprinkled" captureouter calls. jnthn++ probably knows a much better place to do it. | ||
FROGGS_ | timotimo: is C<...> a separate token? | ||
mls | argh, missed him ;) | ||
I'll retry in an hour or so ;) | |||
timotimo | no, it's not | 12:53 | |
FROGGS_ | hmmm, maybe it makes sense to treat pod formatting like q and qq ? | 12:54 | |
timotimo | i don't know exactly how that's being done | ||
at least there's a range of parameters that defines what gets parsed inside blocks and what doesn't | |||
you can give a =code block an :allows with any subset of the letters A through Z | |||
FROGGS_ | you have a nibbler, and roles like q and qq, and depending on what you want to parse you mixin the right rule | 12:55 | |
timotimo | at least i know now why the output of Damian Conway <L<C<damian@conway.org>|mailto:damian@conway.org>> looks bugged with my changes: | ||
because the input is bugged! | |||
there's no reason for pod to put that second > outside of the L<...> | |||
FROGGS_ | yeah | ||
timotimo | but now that i've made these changes, i can just use « instead of < | ||
do you think i can make these changes to the docs before the changes to rakudo are merged? | 12:56 | ||
FROGGS_ | these A..Z allow letter sounds pretty much the the quote rules | ||
if you fix the doc, yes | |||
timotimo | the docs will renderfail in the non-fixed version of rakudo, though | 12:57 | |
FROGGS_ | ohhh, hmmm | ||
then I would wait | |||
timotimo | it seems like there's another b0rkedness still ... | 12:58 | |
FROGGS_ | :/ | ||
timotimo | found the problem! :) | 12:59 | |
FROGGS_ | \o/ | ||
timotimo | anyway. yesterday i experimented with different ways to make these letter combinations work and figured out that a single integer as a bitfield is the most workable solution | ||
a list of ones is easier to access, but passing that list on through the dynamic variables made me bang my head on the table a few times too often | 13:00 | ||
integers are nice, they are kind of atomic, immutable, singlets ... what's not to like? | |||
tadzik | Captain's log, stardate 2606201.3. A suspected meteorological phenomena caused the crew to sleep for 14 hours and still feel tired as hell | 13:01 | |
good afternoon, #perl6 | |||
FROGGS_ | hi tadzik | ||
I like ints :o) | |||
13:02
rindolf joined
|
|||
timotimo | hm, i'm getting lots and lots of unrecognized formattingcodes from pod::to::html, i didn't even know there were that many! | 13:04 | |
before: You can use a set of single angles (C«<...>»), a set of double angles («...»), or multiple single-angles (C«<<<...>>>»). | |||
after: You can use a set of single angles (<...>), a set of double angles («...»), or multiple single-angles (<<<...>>>). | |||
\o/ | |||
i think this kind of error: C<{Pod::FormattingCode<-8207415112293251889>.type}<>> :comes from suddenly functional formatting codes inside C<...> | 13:06 | ||
13:11
PacoAir joined,
bbkr joined
13:14
Kelder joined
|
|||
moritz_ | it's just LTA stringification of Pod block objects | 13:15 | |
timotimo | oh, you're right! it's not something new i broke! | 13:16 | |
it's something that got rebroken by me | |||
qq{<kbd class="pod2html-todo">{$node.type}<} - yeah, how is that supposed to work exactly? :D | |||
13:23
colomon joined
13:25
benabik left
13:31
bluescreen10 joined
13:33
kaare_ joined
13:34
btyler joined
13:40
snearch left
13:41
skids joined
|
|||
timotimo | anyone feel like reviewing my changes to Pod::To::HTML? github.com/perl6/Pod-To-HTML/pull/2 - i consider them pretty much mergable now. the real improvements start happening when the rakudo stuff hits nom, though. | 13:43 | |
aw, shucks. B<R<foo> R<bar>> doesn't work any more :| | 13:48 | ||
13:48
stevan_ left
|
|||
FROGGS_ | :/ | 13:49 | |
timotimo | the second R gets parsed as R<bar>> instead of R<bar> | ||
i wonder if i can :my $endstr; and later match $endstr? | 13:51 | ||
rather than doing the alteration between » and '>'+ and then checking the length of '>'+ vs the length of '<'+ in the beginning | |||
did some macro spectests break while i was working on pod things? | 13:52 | ||
FROGGS_ | nqp: say("abchurzabc" ~~ /:my $t; $<t> :=[\w**3] { $t := ~$<t> } $<middle>=[.+] <$t>/) | 13:53 | |
camelia | nqp: OUTPUT«Unrecognized regex metacharacter = (must be quoted to match literally) at line 2, near ":my $t; $<"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | 13:54 | |
13:54
stevan_ joined
|
|||
FROGGS_ | nqp: say("abchurzabc" ~~ /:my $t; $<t>=[\w**3] { $t := ~$<t> } $<middle>=[.+] <$t>/) | 13:54 | |
camelia | nqp: OUTPUT«abchurzabc» | ||
timotimo | nice | ||
that should make the whole process a bit cleaner, perhaps also faster. | |||
FROGGS_ | nqp: say("abchurzabc" ~~ /:my $t; $<t>=[\w**3] { $t := ~$<t> } $<middle>=[.+] <$t> { say(~$<middle>) } /) | ||
camelia | nqp: OUTPUT«hurzabchurzabc» | ||
FROGGS_ | worx | ||
nqp: say("abchurzabc" ~~ /:my $t; $<t>=[\w**3] { $t := ~$<t> } $<middle>=[.+] <$<t>> { say(~$<middle>) } /) | |||
camelia | nqp: OUTPUT«hurzabchurzabc» | ||
FROGGS_ | nqp: say("abchurzabc" ~~ / $<t>=[\w**3] $<middle>=[.+] <$<t>> { say(~$<middle>) } /) | 13:55 | |
camelia | nqp: OUTPUT«Null regex not allowed at line 2, near ""current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
FROGGS_ | nqp: say("abchurzabc" ~~ / $<t>=[\w**3] {} $<middle>=[.+] <$<t>> { say(~$<middle>) } /) | ||
camelia | nqp: OUTPUT«hurzabchurzabc» | ||
FROGGS_ | see | ||
timotimo | nqp: say("<<<".subst("<", ">")) | ||
camelia | nqp: OUTPUT«Method 'subst' not found for invocant of class 'String'current instr.: '' pc 51 ((file unknown):40) (/tmp/_mXxpffWrH:1)» | ||
timotimo | nqp: say(nqp::subst("<<<", "<", ">")) | ||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::subst(\"<<<\", \"<\", \">\")"): Error while compiling op subst (source text: "nqp::subst(\"<<<\", \"<\", \">\")"): No registered operation handler for 'subst'current instr.: '' pc 50797 (src/sta… | ||
FROGGS_ | nqp: say("abchurzabc" ~~ / $<t>=[\w**3] {} $<middle>=[.+] < $<t> > { say(~$<middle>) } /) # readability, note that the {} is needed | 13:56 | |
camelia | nqp: OUTPUT«Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near " $<t>=[\\w*"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | oh, don't even need to substitute | ||
FROGGS_ | nqp: say("abchurzabc" ~~ / $<t>=[\w**3] {} $<middle>=[.+] <$<t>> { say(~$<middle>) } /) # no readability, note that the {} is needed | ||
camelia | nqp: OUTPUT«hurzabchurzabc» | ||
timotimo | nqp: say(">" xx 4) | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say(\">\" xx"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | nqp: say(">" * 4) | ||
camelia | nqp: OUTPUT«0» | ||
timotimo | nqp: say(">" xx 4) | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say(\">\" xx"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | er, how do? | ||
nqp: say(nqp::repeat(">", 4)) | |||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::repeat(\">\", 4)"): Error while compiling op repeat (source text: "nqp::repeat(\">\", 4)"): No registered operation handler for 'repeat'current instr.: '' pc 50797 (src/stage2/QAST.pir:18547) (s… | ||
FROGGS_ | nqp: say(nqp::repeat("x", 4)) | ||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::repeat(\"x\", 4)"): Error while compiling op repeat (source text: "nqp::repeat(\"x\", 4)"): No registered operation handler for 'repeat'current instr.: '' pc 50797 (src/stage2/QAST.pir:18547) (s… | ||
FROGGS_ | there was an op.... | 13:57 | |
hmmm | |||
timotimo | nqp::repeat seems to exist somewhere | ||
nope. | |||
FROGGS_ | no | ||
timotimo | will need to write a loop. | 13:58 | |
is there no for loop in nqp, btw? there's no range operator at least. | |||
13:59
logie joined
14:00
woosley1 joined
|
|||
FROGGS_ | nqp: say(x("a", 4)) | 14:01 | |
camelia | nqp: OUTPUT«Could not find sub &xcurrent instr.: '' pc 47 ((file unknown):138690247) (/tmp/vBfw5Ajt6j:1)» | ||
FROGGS_ | nqp: say(nqp::x("a", 4)) | ||
camelia | nqp: OUTPUT«aaaa» | ||
FROGGS_ | timotimo: ^^ | ||
timotimo | ah, neato :) | 14:02 | |
14:04
benabik joined
|
|||
timotimo | FROGGS_: can you explain what the {} is for? | 14:06 | |
also, i don't have the option to use <$<t>> or something, because i want to derive a string to be matched from a previous string | 14:07 | ||
FROGGS_ | it is a code block basically, and I think the match variables will be computed at that time | 14:08 | |
timotimo | ah, ok | ||
FROGGS_ | (that is a bug btw) | ||
timotimo | but i've already got a code block there with things in it | ||
nqp: say "C<<< foo bar >>>" ~~ / :my $end; C $<start>=['<'+] { $end := nqp::x(">", nqp::chars($<start>)); say($end) } \N+? <$end> /; | 14:09 | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say \"C<<< "current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
14:09
Guest1337 joined
|
|||
timotimo | nqp: say("C<<< foo bar >>>" ~~ / :my $end; C $<start>=['<'+] { $end := nqp::x(">", nqp::chars($<start>)); say($end) } \N+? <$end> /); | 14:09 | |
camelia | nqp: OUTPUT«>>>Unrecognized regex metacharacter > (must be quoted to match literally) at line 2, near ">>>"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | oh, do i need to generate valid regex in the string? | ||
nqp: say("C<<< foo bar >>>" ~~ / :my $end; C $<start>=['<'+] { $end := "'" ~ nqp::x(">", nqp::chars($<start>)) ~ "'"; say($end) } \N+? <$end> /); | |||
camelia | nqp: OUTPUT«'>>>'C<<< foo bar >>>» | ||
timotimo | neato :) | ||
nqp: say("C<<< foo bar >>>>>>" ~~ / :my $end; C $<start>=['<'+] { $end := "'" ~ nqp::x(">", nqp::chars($<start>)) ~ "'"; say($end) } \N+? <$end> /); | 14:10 | ||
camelia | nqp: OUTPUT«'>>>'C<<< foo bar >>>» | ||
timotimo | that's also exactly how i want this to work :D | 14:11 | |
FROGGS_ | yeah, that's cool | 14:12 | |
PerlJam | timotimo: why \N ? Can't formatting codes span lines? (or was that just for camelia's sake?) | 14:13 | |
14:16
xenoterracide joined
|
|||
timotimo | yes, it can. this is just shortening for camelia | 14:18 | |
Missing or wrong version of dependency '<unknown>' ...... | |||
FROGGS_ | -.- | 14:19 | |
timotimo make clean'd just in case | 14:21 | ||
14:25
spider-mario joined
|
|||
cognominal | o/ all-* people | 14:25 | |
timotimo | i don't know what i've done to cause this strange error :| | 14:27 | |
cognominal | I have a question. How SO5 PEG rules applies when a rule is not left anchored. Can a longest string match can win over a shorter one if its start position is greater than the short string? | 14:28 | |
timotimo | ah, Term::ANSIColor breaks it apparently | 14:29 | |
moritz_ | cognominal: no | ||
cognominal: left-most match is more important than longest token | |||
cognominal | so that should be rule 0 in github.com/perl6/specs/blob/master...ex.pod#L45 ? | ||
moritz_ ? | 14:30 | ||
moritz_ | not really, it applies well before the pecking order mentioned there | ||
it's not an ambiguous parse | |||
cognominal | Depends on the defenition of ambiguous parse :) | 14:31 | |
timotimo | is the definition of ambiguous parse ambiguous? | 14:32 | |
cognominal | timotimo: I am not sure it is even given anywhere | ||
My initial question was falsely naive. I was almost sure about the answer but in a spec so called obvious things must be stated explicitely. | 14:35 | ||
14:35
Stygia left
|
|||
hoelzro | could other people +1 my PR for pygments.rb? github.com/tmm1/pygments.rb/pull/73 | 14:36 | |
cognominal | I understand that historically synopses build on Perl 5 knowledge by difference but eventually synopses must be self contained. | ||
hoelzro | the author decided to rear his head yesterday, and I don't want him to continue to ignore it. | ||
cognominal | hoelrzro, is there examples of docs usings your pygment lexer ? we can't just blindly +1 it. | 14:39 | |
hoelzro | cognominal: you use it just like any other pygments lexer | 14:40 | |
you just provide language = 'perl6' | 14:41 | ||
JimmyZ | we had a js highlighter for perl6, fyi | ||
hoelzro | I wrote a Perl 6 highlighter for pygments so that Perl 6 code may be highlighted on GitHub | ||
it's in the main pygments (python) repo already, but getting it into pygments.rb is the next step towards GH citizenship | 14:42 | ||
bbkr | hoelzro++ | ||
cognominal | I don't care how I use it because I don't want to go to the trouble right now. I just want to see a non trivial page that use it so I can +1 if I am convinced. | ||
hoelzro | cognominal: I would say that GitHub highlighting for Perl 6 files isn't trivial =) | 14:43 | |
JimmyZ | Is it js highlighter in mu repo? | ||
14:46
rindolf left
|
|||
cognominal | hoelzro: you don't answer my question. I want to see a html page that demonstrates Perl 6 highlighting on a complex Perl 6 file. | 14:47 | |
hoelzro | oh | 14:48 | |
I misunderstood | |||
cognominal | So far, all highlighting goes astray | ||
hoelzro | cognominal: how's this: hoelz.ro/files/perl6-pygments.png | ||
14:48
SamuraiJack joined
14:49
woosley1 left
|
|||
cognominal | nice but this does not qualify yet . I want to see heredoc, complex quoting, complex string interpolations (like methods call) | 14:50 | |
hoelzro | cognominal: would you mind writing up an example? I'd be happy to run the highlighter on it and post the results! | ||
14:51
ecocode joined
|
|||
cognominal | sure. Not a complete one but a challenging one. | 14:51 | |
hoelzro | sweet =) | ||
FROGGS_ | BATTLE!!! | 14:52 | |
timotimo | oh lord. i typed in the command to do a spectest run and went AFK for fifteen minutes, come back to see that i forgot to hit return on the command | 14:53 | |
FROGGS_ | hoelzro: I could give you some P6/P5 code mix to highlight :P | ||
[Coke] | is the autosplitter java only? | ||
FROGGS_ | -.- | ||
[Coke]: think so, yes | |||
[Coke] | timotimo: if it's java, you didn't lose much time! | ||
hoelzro | FROGGS_: hmm...that brings up a great point. I don't think the highlighter handles that *at all* | ||
timotimo | nope, it's on parrot. | ||
FROGGS_ | hoelzro: nvm, I dont think that this is a common case within the next one or two years | 14:54 | |
hoelzro | it's good to prepare for, though | ||
FROGGS_ | timotimo: the autosplitter is on parrot? sure? | 14:55 | |
hoelzro: having it pluggable like the slangs would make sense (use COBOL) | |||
hoelzro looks at slang docs | 14:56 | ||
cognominal | hoelzro, gist.github.com/cognominal/5868054 | ||
that's a short one but a challenging one. | |||
timotimo | JimmyZ: the js highlighter has this to say about itself: github.com/perl6/mu/blob/master/mi...erl6.js#L9 | 14:57 | |
FROGGS_: why are we thinking about the autosplitter? | |||
this is for my pod work ;) | |||
cognominal | btw, I am not sure that pygment has a css class for interpolation in strings | ||
FROGGS_ | timotimo: that was [Coke]++'s question | ||
timotimo | oh | ||
anyway, i've already reached S32 | 14:58 | ||
cognominal | hoelzro: I want you to succeed doing hilighting but I am not sure pygment is the tool for that. | ||
FROGGS_ | I am a lvl86 dwarf | ||
hoelzro | cognominal: hoelz.ro/files/perl6-pygments4.png | ||
cognominal | hoelzro, Perl 6 is so challenging. | ||
hoelzro | keep in mind that the pygments standard is not to highlight interpolated vars | 14:59 | |
the Perl 5 lexer does this as well | |||
FROGGS_ | hoelzro++ | ||
hoelzro | oh, I know P6 is challenging. It took me a long time to "perfect" the lexer | ||
cognominal | hoelzro, that's my point | ||
hoelzro | but I feel pretty good about its state | ||
FROGGS_ | does it handle heredocs as parts of sub calls too? | 15:00 | |
hoelzro | let's see | ||
cognominal | hoelzro. is it able to recognize the end of the heredoc? | ||
hoelzro | yes | ||
timotimo | cognominal: if we want syntax highlighting on github, there is no other way than to make a pygments highlighter. | 15:01 | |
i'm pretty sure github will not let us deploy a perl6-to-js-translated STD.pm6.js for our niche language. | |||
hoelzro | FROGGS_: unfortunately not =/ | ||
cognominal | timotimo: ha, ok. So the focus is to get something good enough on github. | ||
15:02
ecocode left
|
|||
hoelzro | yes | 15:02 | |
I thought I'd mentioned that =) | |||
timotimo | i thought he'd mention that as well | ||
15:02
ecocode joined
|
|||
timotimo | so i'm currently working on the pod stuff and i've stumbled upon V<C<boo> B<bar> asd> | 15:02 | |
cognominal | ok, so I agree that I must ++ it. | 15:03 | |
timotimo | is there any reason whatsoever for <...> inside V blocks to have to be balanced? | ||
hoelzro | \o/ | 15:04 | |
cognominal | hoelzro, I added my positive comment. | ||
hoelzro | cognominal: thanks! | ||
(and thanks to the others that +1'd as well!) | |||
cognominal | you are welcome. | ||
hoelzro++ | |||
timotimo | because i'm pretty sure if you want to have C<boo> inside a V<...>, you'll just use V<< >> instead or V« » (and this test just used it that way because <<... and « were NYI) | 15:05 | |
cognominal | hoelzro, sorry about my Saint Thomas attitude | 15:06 | |
hoelzro | it's cool | ||
my solicitation was kind of out of context =) | |||
benabik would think that whatever brace you use for the V should be balanced or non-existant inside it. | |||
timotimo | cognominal: "we need perl 6 highlighting in github" sounds a bit strong ;) | ||
timotimo reads the specs more carefully | 15:07 | ||
15:07
ecocode left
|
|||
timotimo | ah, indeed | 15:08 | |
this complicates things :| | |||
15:08
ecocode joined
|
|||
timotimo | dayum, pod6 is kinda complicated. | 15:09 | |
cognominal | timito: I think Perl 6 not highlighted in github marks it as an irrelevant language. | ||
FROGGS_ | yepp | ||
benabik | Why should the doc format be any simpler than the language itself. ;-) | ||
15:09
xlat left
15:11
snearch joined
|
|||
timotimo | oof, keeping track of what may be balanced and what mustn't inside deeply nested formattingcodes is *not* going to be easy | 15:11 | |
FROGGS_ | timotimo: have a look at the nibbler | 15:12 | |
[Coke] wonders if sorear is going to get this fix in to run more spec tests in the next 40min. :) | 15:15 | ||
15:16
fhelmberger left
|
|||
timotimo | that's surprisingly simple! | 15:17 | |
15:17
ecocode left
15:18
ecocode joined
15:20
ecocode left,
ecocode joined
|
|||
JimmyZ | timotimo: thanks, I found another github.com/perl6/std/tree/master/std_hilite | 15:25 | |
timotimo | oh, interesting | ||
15:26
benabik left
|
|||
timotimo | i don't understand how it works | 15:26 | |
i don't see a grammar in there | |||
15:26
crab2313 joined
15:27
bluescreen10 left,
bluescreen10 joined
|
|||
FROGGS_ | I guess it is using the STD_P5.pm6 grammar | 15:28 | |
timotimo | but how? | ||
i don't see a mention of it anywhere | |||
FROGGS_ | ask him :o) | ||
15:28
snearch left
|
|||
JimmyZ | hoelzro: nice, I was just +1 to there | 15:29 | |
hoelzro | JimmyZ: great, thanks! | ||
15:29
xenoterracide left
|
|||
JimmyZ | hoelzro: thanks for your work! | 15:29 | |
hoelzro | happy to be of help =) | ||
timotimo | oh, i get it | 15:30 | |
it's not js code that does the highlighting | |||
you have to preprocess code with a running perl. | |||
15:33
ecocode left,
ecocode joined
15:34
daxim left
15:36
FROGGS_ left
15:49
FROGGS_ joined
15:50
dmol joined
|
|||
lizmat | back from robocup | 15:54 | |
thinking more about S11, I was thinking that maybe we should put the auth/ver information of a compunit in pod | |||
as it is needed only during installation of a file, really | |||
because from then on, the "database" will contain all the necessary information to select the compunit | 15:55 | ||
timotimo | Standard semantic blocks include: =NAME =VERSION =DEPENDENCY =AUTHOR - like those? | ||
lizmat | during compiletime / runtime | 15:56 | |
yup | |||
15:56
domidumont left
|
|||
lizmat | doesn't that make sense? | 15:56 | |
timotimo | dunno, those blocks would have to be standardised | 15:57 | |
15:58
xenoterracide joined
|
|||
timotimo | so ... inside <<, only sequences of << have to be balanced, right? | 15:59 | |
and inside « » any sequence of < and > may appear, balanced or otherwise | 16:00 | ||
but if i have I«C<<< ... >>>», inside the C, there can only be imbalanced < and <<, but not <<<? | |||
so it only goes "a level deep" if there's a new formatting code? | |||
16:00
konundra left
|
|||
tadzik | gist.github.com/tadzik/5868712 | 16:02 | |
might interest someone :) | |||
timotimo | hey, that's neat! | 16:03 | |
tadzik | it still needs support for typed arrays to make any sense | ||
timotimo | commute& | 16:04 | |
16:04
konundra joined
|
|||
tadzik | also throws nice exception on missing fields, like "Type check failed in assignment to '$!race'; expected 'Str' but got 'Nil'". I like how Perl 6 gives them for free | 16:04 | |
16:06
ingy left,
ingy joined
|
|||
tadzik | r: class A { has Int @.b }; say A.^attributes[0].type.perl | 16:10 | |
camelia | rakudo e63ebb: OUTPUT«Positional» | ||
tadzik | that's bad. I don't see a way to know that it's of type Int | ||
jnthn: ^ | |||
16:13
vk joined
|
|||
lizmat | r: class A { has Int @.b }; say A.^attributes[0].of | 16:14 | |
camelia | rakudo e63ebb: OUTPUT«No such method 'of' for invocant of type 'Attribute' in block at /tmp/mQAv2yAA2B:1» | ||
lizmat | seems to me Attribute needs an "of" method? | ||
tadzik | I suppose the above Positional should just say Positional[Int] or such | 16:15 | |
it works for scalars alright: | |||
r: class A { has Int $.b }; say A.^attributes[0].type.perl | |||
camelia | rakudo e63ebb: OUTPUT«Int» | ||
tadzik | may be NYI | ||
lizmat wonders why it is called "type" there, while it is "of" in other places | 16:17 | ||
tadzik | what other places? | 16:18 | |
gfldex | did anybody use Grammar::Debugger successfully lately? | 16:19 | |
tadzik | I usually use Grammar::Traces | ||
* tracer | 16:20 | ||
but not recently | |||
lizmat | why it is .type: Attribute.HOW.add_attribute(Attribute, BOOTSTRAPATTR.new(:name<$!type>, :type(Mu), :package(Attribute))); | ||
tadzik | yeah. But where is it .of? | 16:21 | |
timotimo | i was not able to compile the debugger lately | 16:22 | |
lizmat | r: my Int @a; say @a.of | ||
camelia | rakudo e63ebb: OUTPUT«(Int)» | ||
tadzik | oh | ||
lizmat | r: my @a of Int; say @a.of | ||
camelia | rakudo e63ebb: OUTPUT«(Mu)» | ||
timotimo | tadzik, your interpretation of formatting code nesting; does it match mine as stated above? | ||
lizmat | of xxx apparently is NYI | ||
dalek | ast: d770a94 | (Solomon Foster)++ | S32-io/io-path.t: Refudge for Niecza. |
16:23 | |
lizmat | but I guess that's the reason for the .of method | ||
tadzik | timotimo: yes, that matches my understanding of it | ||
dalek | ecs: cf6767c | (Cédric VINCENT)++ | S99-glossary.pod: Add TTIAR entry in S99-glossary.pod |
||
16:24
SamuraiJack left
|
|||
dalek | kudo/nom: 5c0dae4 | tadzik++ | src/core/Attribute.pm: Nicer Attribute.gist |
16:24 | |
tadzik | yay, I commited to rakudo | ||
16:25
kaleem left
16:30
crab2313 left
|
|||
dalek | ecs: 896dcf3 | (Elizabeth Mattijsen)++ | S99-glossary.pod: Expanded some acronyms |
16:33 | |
16:33
apejens left
|
|||
timotimo | tadzik: can i put an I«…» into a B<> and put arbitrary combinations of <> into the inner I? | 16:36 | |
16:37
dmol left
16:38
dmol joined
|
|||
timotimo | that would make things simpler at least. | 16:39 | |
16:39
kaleem joined,
kaleem left,
Guest5246 joined,
Guest5246 left
16:40
apejens joined,
Guest5246 joined
|
|||
Guest5246 | helo | 16:40 | |
16:40
Guest5246 left
|
|||
lizmat | hi Guest5246! | 16:41 | |
16:44
stevan_ left
16:46
mikemol joined,
konundra left
|
|||
lizmat | latest spectest I just ran, has some error that it didn't have before | 16:47 | |
timotimo | macro errors? | ||
lizmat | t/spec/S06-macros/opaque-ast.t | ||
timotimo | phew. i thought i broke those! | ||
lizmat | t/spec/S06-macros/quasi-blocks.t | ||
t/spec/S06-macros/unquoting.t | 16:48 | ||
shall I gist the errors for you? | |||
timotimo has no need for them; i have them locally, too, but not in my shell scrollback | |||
lizmat | Method 'evaluate_unquotes' not found for invocant of class 'String' | 16:49 | |
they all have the same error | 16:50 | ||
16:50
abnorman left
17:00
rindolf joined
17:07
dakkar left
17:08
birdwindupbird left
17:10
ecocode left
17:11
stevan_ joined
|
|||
GlitchMr | rn: my $a = 4; if $a = 2 { say "Hello, world!" } | 17:15 | |
camelia | rakudo 5c0dae, niecza v24-86-g39ab531: OUTPUT«Hello, world!» | ||
GlitchMr | std: my $a = 4; if $a = 2 { say "Hello, world!" } | ||
camelia | std d4cc5ab: OUTPUT«ok 00:01 44m» | ||
GlitchMr | While this isn't error, I think this case should have warnings, just like Perl 5 had. | ||
17:15
abnorman joined
|
|||
GlitchMr | Assigning constant to variable and checking "if" is never what you meant. | 17:16 | |
17:17
kaleem joined
|
|||
ugexe | how do i push a hash into an array without flattening it? | 17:18 | |
lizmat | push @array, %hash | 17:19 | |
? | |||
ugexe | that pushes the key value pairs | ||
timotimo | push @array, %hash.item | 17:20 | |
lizmat | indeed… | ||
r: my @a; my %h; push @a, $(%h); say @a.perl | |||
camelia | rakudo 5c0dae: OUTPUT«Array.new({})» | ||
lizmat | need to itemize it with $() | ||
ugexe | ah | ||
lizmat | r: my @a; my $h=Hash.new; push @a, $h; say @a.perl | ||
camelia | rakudo 5c0dae: OUTPUT«Array.new({})» | 17:21 | |
timotimo | .item doesn't work? | ||
r: my @a; my %h = 1 => 2; push @a, %h.item; say @a.perl | |||
camelia | rakudo 5c0dae: OUTPUT«Array.new({"1" => 2})» | ||
timotimo | that works, too | ||
lizmat | r: my @a; my %h; push @a, %h.item; say @a.perl | ||
camelia | rakudo 5c0dae: OUTPUT«Array.new({})» | ||
lizmat | yup, one is just syntactic sugar for the other, or they're both syntactic sugar :-) | ||
depends on how you look at it | 17:22 | ||
ugexe | sweet, thanks | ||
moritz_ | see also doc.perl6.org/type/List | ||
GlitchMr | std: << | 17:23 | |
camelia | std d4cc5ab: OUTPUT«===SORRY!===Unable to parse shell-quote words at /tmp/zk2_BLkECV line 1:------> <BOL>⏏<<Couldn't find final '>>'; gave up at /tmp/zk2_BLkECV line 1 (EOF):------> <<⏏<EOL>Parse failedFAILED 00:00 41m»… | ||
lizmat | r: my $a=Array.new; my @a; say $a.perl; say @a.perl # wonders whether there is some kind of mixup here | 17:28 | |
camelia | rakudo 5c0dae: OUTPUT«[]Array.new()» | ||
17:28
ldthien0 joined
17:29
ldthien0 left
|
|||
timotimo | tadzik, feel like looking over my pod::to::text changes? | 17:34 | |
17:34
snearch joined
17:41
snearch left
|
|||
dalek | ecs: e0c90ef | (Elizabeth Mattijsen)++ | S26-documentation.pod: Some background for new S11 |
17:42 | |
ecs: 49c6564 | (Elizabeth Mattijsen)++ | S99-glossary.pod: Added API |
|||
17:45
xlat joined
17:46
konundra joined
|
|||
lizmat | dinner& | 17:46 | |
tadzik | timotimo: I will, yes | 17:49 | |
timotimo: as for the preios question, I suppose that should work | |||
and probably doesn't at this moment :) | 17:50 | ||
17:56
vk left
18:00
xlat left,
xlat joined,
xlat left
|
|||
timotimo | tadzik: that's what i'm trying to make work at the moment | 18:03 | |
18:08
ssutch joined
18:14
rindolf left
|
|||
tadzik | ossom | 18:18 | |
18:35
benabik joined
18:58
vk joined
|
|||
timotimo | i'm getting a Assignment ("=") not supported in NQP, use ":=" instead at line 567, near "> 1 }>\n " where i don't actually seem to use a = | 19:00 | |
m) | 19:01 | ||
=> instead of >= | |||
19:02
konundra left
|
|||
lizmat | NQP only does binding | 19:05 | |
aka := | |||
timotimo | yes, the problem was that i didn't see where i put the accidental = | ||
19:07
domidumont joined
19:11
snearch joined
19:12
rindolf joined
|
|||
dalek | ecs: 199df7e | (Elizabeth Mattijsen)++ | S26-documentation.pod: Bring in line with S11 to come |
19:17 | |
cognominal | jnthn : github.com/jnthn/grammar-debugger/issues/4 | 19:18 | |
19:20
kaleem left
19:25
domidumont left
19:30
stevan_ left
|
|||
timotimo | my parsing is progressing. except there's a strange bug in it. | 19:33 | |
19:34
stevan_ joined
19:39
ecocode joined
19:43
sqirrel left
|
|||
dalek | ecs: 431f3d3 | (Elizabeth Mattijsen)++ | S26-documentation.pod: Some more addition for S11 |
19:47 | |
ecs: 1691d9e | (Elizabeth Mattijsen)++ | S11-modules.pod: Take 2 at unslushing S11 Highlights: - unit statement no longer exists, pod is now used to specify meta-information - eradicated the use of "namespace", use "package" instead - introduction of repository, with @*INC containing CompUnitRepo objects - completely removed dir/file dependency, except for CompUnitRepo::Local::File - -I now unshifts CompUnitRepo::Local::File object in @*INC |
|||
lizmat | *phew* | 19:48 | |
lizmat hopes to restart discussion | |||
on S11, that is | |||
sorear | o/ | 19:49 | |
timotimo | hola sorear | ||
lizmat | sorear! | 19:50 | |
sorear | ¡hola! ¡hola! | 19:51 | |
timotimo | parsing blind is hard :( | 19:56 | |
19:56
havenwood joined
|
|||
flussence | lizmat: this stuff looks good, does it mean the "class Foo:auth<bar>" syntax is also going away in favour of Pod? | 20:00 | |
lizmat | yes, that's the idea | 20:01 | |
of course, use Foo:auth<bar> will stay | |||
flussence | sounds like a good reason to start actually putting docs in my code :) | ||
lizmat | that was the idea, and the version will automatically be up to dat ;-) | 20:02 | |
*date | |||
timotimo has finally made a breakthrough | 20:10 | ||
copied a bit of code from a token where there was a $<begin-tag> into a token where there is a $<start> | |||
close, but no cigar | |||
i had the debug output that should have raised a red flag for about 4 cycles, but didn't realize what was going on >_> | 20:12 | ||
ooooh yeah! :))) | 20:14 | ||
lizmat is glad as well | 20:15 | ||
20:18
kaare_ left
|
|||
timotimo | hey, i can *actually* develop my pod improvements on the jvm | 20:26 | |
i should have done this from the start >_< | |||
so much time i could have saved | |||
and now i'll see if the rendering of S26-documentation.pod works properly | 20:27 | ||
does nqp have a say-replacement that logs to stderr? | |||
r: nqp::note("testing?"); | |||
camelia | rakudo 5c0dae: OUTPUT«===SORRY!===Error while compiling block (source text: "nqp::note(\"testing?\");"): Error while compiling op call: Error while compiling block : Error while compiling op note: No registered operation handler for 'note'» | ||
timotimo | i'd like such an op, tbh | 20:28 | |
dalek | ecs: 0f0f99a | (Elizabeth Mattijsen)++ | S99-glossary.pod: Some more glossary lemmas added / updated |
||
20:28
Rotwang joined,
ggoebel left
20:30
ggoebel joined
20:32
omakase left
|
|||
PerlJam | .oO( why is the glossary S99 instead of S00? ) |
20:32 | |
benabik | PerlJam: Because the glossary goes in the back? | 20:34 | |
lizmat | that was my idea as well, it goes in the back | 20:35 | |
it is not required reading beforehand | |||
:-) | |||
20:37
autumn left,
rindolf left
|
|||
PerlJam | I don't know ... The Synopses are littered with ordinary-ish words used in very specific ways that are liable to confuse the poor reader unless they'd at least looked through the glossary. | 20:38 | |
(or been a denizen of #perl6 for a while) | |||
lizmat | actually, I also intend it for denizens of #perl6, not just for Synopses lurkers :-) | 20:40 | |
PerlJam | That just makes me think that it should be required reading even more :) | 20:41 | |
lizmat | I'm not sure the explanation of autopun cuts it yet | ||
20:47
konundra joined,
ggoebel2 joined
20:48
ggoebel left
20:53
xenoterracide left
20:57
xenoterracide joined
20:59
ggoebel joined
|
|||
timotimo | i fear i'm getting crazy backtracking in my pod grammar :( | 21:00 | |
21:00
ggoebel2 left
21:02
skids left,
ggoebel2 joined
21:03
ggoebel left
|
|||
timotimo figured out what's wrong | 21:04 | ||
21:04
bluescreen10 left
21:05
Rotwang left
21:06
cognominal left
21:07
cognominal joined
21:08
konundra left
21:09
bluescreen10 joined
|
|||
FROGGS_ | what was it? | 21:12 | |
timotimo | i started requiring any < sequences at all to be balanced, not only inside formattingcodes | 21:13 | |
but it's still terribly slow | 21:14 | ||
21:14
benabik left
|
|||
timotimo | the parser is finding all manner of balanced braces in the code, but not very many formatting codes | 21:14 | |
perhaps S26-documentation.pod is just partially improperly nested? | 21:15 | ||
lizmat wouldn't be surprised | |||
dalek | p: 5237853 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: fragment code generation |
||
timotimo | oh yeah! :) | 21:16 | |
lue | hello world o/ | ||
timotimo | oh yikes | ||
"finished a formatting code S", "finished a formatting code E" xx 100, "finished a formatting code D" | |||
oh, i know where that is from | 21:17 | ||
dalek | : 3f63eed | (Tobias Leich)++ | / (4 files): fix prefix `not`, add .P5Bool and fix regex modifier `g` |
21:18 | |
: 646276d | (Tobias Leich)++ | t/test.pl: fix sub `is` for arguments of type Any |
|||
timotimo | i think it'll be finished soon and i'll see what it's doing wrong | ||
it seems like it's parsed prefectly | 21:20 | ||
except it took about 10x as long :( | |||
FROGGS_ | :/ | 21:21 | |
21:25
ecocode left
|
|||
timotimo | [2a02:8071:2909:7b00:5604:a6ff:fe93...n.pod.html if you're interested in looking for errors | 21:25 | |
Anything enclosed in an C<N<>> code is an inline B<note>. - this seems to be misparsed :( | 21:26 | ||
21:26
stevan_ left,
PacoAir left
21:31
bruges_ joined
|
|||
lee_ | fyi rakudo-jvm is failing to build for me with this error: gist.github.com/leedo/5871909 | 21:31 | |
21:32
dmol left
|
|||
lee_ | (was building fine yesterday) | 21:32 | |
timotimo | you need to get a newer nqp for that | ||
the op was added recently | |||
lee_ | hmm, ok. thought i was all up-to-date. but perhaps it is not installing correctly | ||
timotimo | i suggest cd nqp && make && make install && cd .. && make | 21:33 | |
lee_ | doh, yes that was it | ||
i re-ran ConfigureJVM without the prefix arg | |||
timotimo | ah :) | ||
lee_ | thanks! | ||
timotimo | this thing i've started here is apparently too much for my tiny brain | 21:34 | |
lue faintly recalls someone adding N<> when he used it in a Pod6 document. | |||
tadzik | newer nqp, heh. I need a newer IP for seeing that ;P | 21:36 | |
timotimo fails to explain the fix | |||
running a new attempt now | |||
i hope it won't take the same time it did last time :( | |||
21:37
spider-mario left
21:38
Timbus joined,
nqr joined
|
|||
lue tries to get firefox to understand The Future™ (IPv6) | 21:40 | ||
21:41
felher left
|
|||
timotimo | already up to 1.9 gb | 21:41 | |
ssutch | chrome also refuses to recognize the url | 21:42 | |
timotimo | it should work exactly like that | ||
of course only if you already have ipv6 connectivity | |||
(at the moment it's unfinished, so only a bunch of debug output that should have gone to stderr instead) | |||
ssutch | cl.ly/image/2x2Y1M0A0p0G | ||
21:43
felher joined
|
|||
timotimo | can you ping6 the ipv6? | 21:43 | |
2.5gb | |||
it feels like it's parsing lots and lots of balanced texts even if it isn't inside a formattingcode ,but i thought i just fixed that :| | 21:44 | ||
21:45
Guest1337 left
21:46
berekuk left,
stevan_ joined
21:47
stevan_ left
|
|||
lue | Can't even ping6 ipv6.google.com (I can ping ::1 though). My ISP appears to be LTA | 21:47 | |
21:47
berekuk joined
21:48
stevan_ joined
|
|||
dalek | ecs: da1d9ca | (Elizabeth Mattijsen)++ | S99-glossary.pod: Less Than Awesome |
21:54 | |
lue | :) | ||
timotimo runs another test :( | 21:55 | ||
tadzik | ooh, S99 | ||
lue has never seen GIT mean get it together on #perl6 | 21:58 | ||
flussence | timotimo: I think IPv6 and/or the firewall is acting up on your end | ||
timotimo | on my end? | ||
i don't think so. | |||
wakelift.wakelift.de.ipv4.sixxs.org/ | |||
(that is the same address) | |||
(but unfortunately not the right port) | 21:59 | ||
flussence | that one worked... | ||
lizmat | lue: artistic license, patches welcome | ||
flussence | (but that's a v4 and it seems to just be sixxs' proxy server) | 22:00 | |
lue | I think I'll leave it and add 'git' as our favorite VCS. | ||
flussence | I definitely have working connectivity on my end so... *shrug* | ||
timotimo | *groan* | 22:01 | |
it appears i've written a { ... } where i meant to write a <?{ ... } | |||
> | |||
dalek | ecs: a1c99c7 | duff++ | S99-glossary.pod: [S99] invocant, pad |
||
timotimo | i'm not making it easy for me | ||
22:01
arlinius left
|
|||
flussence | I wish we had something that showed a realtime heatmap of running code, like rxrx does... | 22:03 | |
tadzik | rxrx? | 22:04 | |
timotimo | i don't know what that is :( | ||
22:05
snoopy joined
22:06
ggoebel joined,
vk left
22:07
ggoebel2 left
22:08
havenwood left
|
|||
flussence | p5 regex debugger thing, there's a demo of it on youtube iirc | 22:09 | |
timotimo | ooooh | 22:10 | |
sorear | duff = PerlPilot? | 22:11 | |
timotimo | i fear the pre-nested-formattingcodes version will run circles around the new version :( | ||
tadzik | sorear: I think so | ||
timotimo | yeah, it very much so does :( | ||
(0avgtext+0avgdata 397220maxresident)k - when not caring about nestedness | |||
2.6gb resident set size on the other computer which isn't even finished yet | 22:12 | ||
that's crazy, i'm clearly doing something very wrong. | |||
22:12
snoopy left
22:13
nitestryker left
|
|||
timotimo | fer chrissakes, it's even *wrong* now :| | 22:14 | |
FROGGS_ | I'd suggest you stop for today :/ | 22:17 | |
22:18
nitestryker joined
|
|||
lizmat | inspiration a good night's rest will bring | 22:18 | |
timotimo | i've identified the mistake that led to this very problem | ||
just 5 more minutes! | |||
tadzik | :) | ||
flussence | yay | 22:19 | |
FROGGS_ | okay :o) | ||
timotimo | don't think i'll get a 'working' version now, though. | 22:20 | |
sorear | curious what the mistake was | 22:21 | |
timotimo | i had <$endtag> <!before '>'>, which i then turned into <$endtag>, where in reality it should have been <!after '>'> <$endtag> | ||
i hope i didn't have to write <!before> there | 22:22 | ||
my little test case will now be executed. | |||
FROGGS_ | I'm goign to bed... gnight | ||
timotimo | nope, wrong again | ||
gnite FROGGS_ :) | |||
Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("", Pod::FormattingCode.new(type => "C", config => ().hash, content => Array.new("N<")), ">"))))) | |||
nqp: "foo bar" ~~ { $<foo>=['foo'] { say(nqp::chars($<foo>)) } } | 22:23 | ||
camelia | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near "['foo'] { "current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | nqp: "foo bar" ~~ rx{ $<foo>=['foo'] { say(nqp::chars($<foo>)) } } | ||
camelia | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near "['foo'] { "current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | nqp: "foo bar" ~~ / $<foo>=['foo'] { say(nqp::chars($<foo>)) } / | 22:24 | |
camelia | nqp: OUTPUT«3» | ||
timotimo | hm, weird, that should have been right | ||
22:24
skids joined
|
|||
timotimo | nqp: say("foo bar" ~~ / <!after ' '>bar /) | 22:24 | |
camelia | nqp: OUTPUT«» | ||
timotimo | nqp: say("foo bar" ~~ / <!after 'a'>bar /) | 22:25 | |
camelia | nqp: OUTPUT«bar» | ||
timotimo | yeah, that should be right | ||
OH | 22:28 | ||
*OH* | |||
i had a + where a * would have been correct | |||
i'm making *all* the mistakes today. wow. | |||
yet another step towards eventual correctness! wow. | |||
sorear | timotimo: are you sure <$endtag> shouldn't be $endtag ? | 22:29 | |
<$endtag> means to eval the contents of $endtag as a regex | |||
$endtag is a literal string | |||
I'm not sure you want to be evalling anything in this code | |||
22:30
benabik joined
|
|||
timotimo | i didn't know i could just write $endtag | 22:30 | |
thanks! | |||
i bet that will make a big difference in ram usage and speed, too! | |||
22:30
arlinius joined
|
|||
lizmat | inspiration a good night's rest will bring, lizmat repeats | 22:31 | |
timotimo | no, inspiration an attentive sorear will bring | 22:32 | |
dalek | ecs: b44c0b1 | (Elizabeth Mattijsen)++ | S99-glossary.pod: More lemma's and more explanations |
||
timotimo | sorear: say, is your fragment code generation working? :) | ||
lizmat takes her own advise, she will& | 22:33 | ||
timotimo | :) good night! | 22:34 | |
sorear | timotimo: sort of? It does generate code fragments | 22:36 | |
timotimo | and the verifier supposedly makes sure those fragments will work together like the original did, right? | 22:37 | |
22:39
nitestryker left
22:42
tomyan joined
|
|||
timotimo | perl6 --doc=HTML specs/S26-documentation.pod > 68.46s user 0.26s system 99% cpu 1:09.06 total - much better than before, hopefully also correct this time. | 22:43 | |
(but still there are mistakes) | |||
sorear | timotimo: it chops the function into segments, then modifies each segment so that at each external jump, it generates code to save and restore local variables to an Object[] | 22:47 | |
the verifier is needed to get the types so that the correct casts can be generated in the restore | |||
timotimo | yeah | 22:48 | |
so, does it cause the huge test files to work properly now? :) | |||
sorear | no | ||
timotimo | aaw | ||
i'm very glad you told me about $foo instead of $<foo> | 22:51 | ||
er, <$foo> | |||
22:52
tomyan left
|
|||
sorear | makes a big difference huh? | 22:52 | |
timotimo | yeah | ||
it seems like it uses way less ram, too | |||
probably because each time it had a value it would create a new regex instance/class? | 22:53 | ||
ooooooh snap! it seems to work! :D | 23:01 | ||
how is that even possible?! | |||
now to render the whole S26 with this code | |||
tadzik | awesome! | 23:03 | |
timotimo | aaw hell no :( | 23:05 | |
it choked on nested formatting codes *again* | |||
23:06
arlinius left
|
|||
timotimo | i changed nothing and thus made it work. i feel good now. | 23:10 | |
tadzik: if you have v6 connectivity: [2a02:8071:2909:7b00:5604:a6ff:fe93...n.pod.html | 23:14 | ||
tadzik | I have, but only at $work | 23:15 | |
so I can check it out tomorrow :) | |||
I didn't find time to review your patch today, sorry :( | 23:16 | ||
lue should perhaps look into one of those 6-to-4 things for the time being | |||
timotimo | you will only be able if i keep the computer running | 23:17 | |
but i can upload the result somewhere | |||
i almost lost my code to cd .. <Return> <Up> <Return> | 23:18 | ||
where the <Up> pulled in a git reset --hard | |||
tadzik | uh | ||
timotimo | fortunately i had all changed files open in vim via sftp | ||
23:20
BenGoldberg joined
|
|||
flussence | timotimo: sorry, I think v6 is screwed up on *my* end. Just tried from my server and it worked fine. | 23:22 | |
timotimo | yeah, i know. | ||
hm, parsing something to keep newlines and spaces in the result isn't implemented yet? | 23:23 | ||
sorear | no ipv6 in the usa | ||
pretty much | |||
timotimo | wat. | 23:25 | |
23:25
thundergnat joined
|
|||
flussence | hm, maybe it's the 2a02 that confuses it... I see a 2002/16 and 2000/3 on my router so one must be confusing it. | 23:26 | |
23:27
btyler left
23:34
pochi joined
|
|||
timotimo | tadzik, flussence: t.h8.lv/S26-documentation.pod.html | 23:38 | |
this is ipv4 for you legacy people :) | 23:39 | ||
flussence | the frustrating part is I can get a *ping* response, just not a http one... | 23:40 | |
timotimo | perhaps the port is blocked for you? | 23:41 | |
at least you have a v4 version now to look at my nice output | |||
(hopefully you'll like it) | |||
lue | .oO( s/legacy people/people with LTA ISPs/ , I've set up my linux for IPv6 iirc) |
||
timotimo | the hardest part is still before me :| | 23:43 | |
making =allow work |: | |||
lue | looks good so far. timotimo++ | ||
sorear | cute | ||
timotimo | thanks :) | 23:44 | |
flussence | timotimo++ # looks much better than where I left s26.html at | ||
tadzik | timotimo: cute! | 23:45 | |
timotimo | it seems like paras will now tend to create contents arrays starting and ending with "" | 23:46 | |
did i make a regression that cause dthat? | |||
tadzik | no | ||
timotimo | and arrays of a single piece of text, is that a regression? | ||
tadzik | Twines should always start and end with strings | 23:47 | |
timotimo | ah, great | ||
tadzik | even if those are "" | ||
timotimo | it'll be pretty hard to make :allow work properly in conjunction with the code blocks | ||
can i pick your brain a bit on that, tadzik? | |||
tadzik | timotimo: yeah, but not today, I'll be sleeping soon :) | 23:48 | |
timotimo | oh | 23:50 | |
just tell me one thing | |||
tadzik | ok | ||
timotimo | how do i handle =end foobar inside =code blocks? | ||
tadzik | you don't | ||
timotimo | for example if they are flush with the left side | ||
so the only thing that isn't allowed after a =begin code is =end code at the beginning of a lin? | |||
23:51
cognominal left
|
|||
tadzik | at the same level of indentation | 23:51 | |
(as begin) | |||
timotimo | right | ||
23:52
cognominal joined
|
|||
tadzik | yep, correct | 23:52 | |
timotimo | i'll try to go on in that case. | ||
tadzik | good knight timotimo :) | ||
timotimo | good night tadzik! | 23:53 | |
lue would like Pod::To::HTML to indent implicit code blocks in the output like the Pod5 converter does. | 23:54 | ||
timotimo | which are those implicit code blocks again? | ||
lue | Indented lines in the middle of a =para or =pod block (S26:861) | 23:57 | |
(Not sure if explicit code blocks should do the same, and in any case it shouldn't be too difficult to make CSS fake the indentation anyway) | 23:59 |