Parrot 4.8.0 "Spix's Macaw" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 11 October 2012.
00:01 pjcj joined 00:22 whiteknight joined
whiteknight good evening, #parrot 00:23
sorear good evening whiteknight
00:23 benabik joined
whiteknight hello sorear 00:26
00:52 bubaflub joined 04:29 rurban_ joined 05:53 PacoAir joined 06:56 rurban_ joined 06:59 brrt joined 07:17 particle joined, Mike-PerlRecruiter_ joined 11:15 brrt joined 12:02 sivoais joined 12:39 PacoAir joined 13:04 Psyche^ joined 13:12 rurban_ joined 13:30 bluescreen joined 13:54 mtk joined 13:58 rurban_ joined 14:33 benabik joined 14:36 benabik_ joined 14:38 rurban_ joined 15:01 dmalcolm joined 15:07 contingencyplan joined 16:08 skew joined
skew hi... anybody here who would explain to me how to compile Ruby to bytecode with cardinal or at least point me in the general direction? 16:10
tadzik I can try, I worked with cardinal for a while 16:11
I'm not sure in what state it is now
do you have it running?
skew yes 16:16
tadzik does --target=pir produce some cryptic output? 16:17
16:18 mvorl joined
skew yep. found that myself by analogy. however, writing it into a file fails on execution of the file with parrot 16:18
tadzik aw
skew parrot hello.pir "load_bytecode" couldn't find file 'cardinal.pbc'
tadzik ok. What if you had a program that loads a module, and then you precompiled the module only? 16:19
oh, that may simple be a missing 'make install of sort'
skew could be true cause I can start cardinal with full path only
what is better, installing from source, from gem, from plumage? 16:21
tadzik from source is the way I'm more-less familiar with :)
oh, hold on
try 'parrot /path/to/cardinal.pbc /path/to/pir'
skew ok that's what I did too. I remember doing a sudo make install, at least I believe... however, I need to give the path to cardinal, so maybe 16:22
Ah I'll try
16:24 cosimo joined
skew ok, now it fails later, both with the .pir and the .pbc.. syntax error in line 1 16:25
and it's only puts "Hello world"...
tadzik no idea then :(
skew np, thank you very much! 16:26
tadzik I didn't touch cardinal for at least a year, probably more
but wait. If you run make test, does it use precompiled Test.rb by any chance?
skew "no rule for make test", but there is a Test.rb in the dir 16:27
maybe there's a test in the rakefile, I'll look
There's a "rake test"... I did run the "rake smolder" before, with all ok but one exception 16:29
There was 1 file that completely failed to compile: 16:30
gen_01-stmts.pir
dalek kudo/nom: 6e5ae1f | jnthn++ | src/Perl6/Grammar.pm:
Start cleaning up custom operators.

Move the check for if the operator is already parsed into gen_op, and rename it to add_categorical, to move towards STD.
16:32
kudo/nom: d9ae366 | jnthn++ | src/Perl6/Grammar.pm:
First pass at mixing in roles for categoricals.

Basically works. However, the new operators don't participate in LTM yet, which will need fixing.
kudo/nom: 13581d0 | jnthn++ | / (5 files):
Merge branch 'nom' into categorically-better

Conflicts:
  \tsrc/Perl6/Grammar.pm
kudo/nom: 70b4b22 | jnthn++ | src/Perl6/ (2 files):
Get eval with custom operators to work again.

It stopped working because it relied on global grammar modification before, which won't fly now we're doing mixins.
kudo/nom: 2ad86ea | jnthn++ | src/Perl6/Grammar.pm:
Remove premature optimization.

Need to always update %?LANG.
kudo/nom: 78cf73f | jnthn++ | src/Perl6/World.pm:
Process categoricals at import time.
kudo/nom: 503d19c | jnthn++ | src/core/traits.pm:
Sketch precedence trait implementations.

Adds equiv, looser, tighter, assoc.
kudo/nom: 54ce622 | jnthn++ | src/Perl6/ (2 files):
Have parser pay attention to precedence traits.
kudo/nom: 0faf6fa | jnthn++ | src/core/operators.pm:
Attach precedence info to a bunch of operators.

Not beautiful, but doing it this way due to some circularity sawing issues.
kudo/nom: 1cb742a | jnthn++ | src/Perl6/Grammar.pm:
Scope changes to actions also.

Custom circumfixes generate action methods. Refactor this to also be handled by mixins, so the changes are properly scoped.
kudo/nom: c487a59 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for roles and NFA improvements.
16:36 mtk joined 17:05 mtk joined 17:19 mtk joined 17:58 mtk joined 18:10 mtk joined 18:11 preflex joined 18:13 rurban_ joined 18:36 rurban_ joined 18:47 brrt joined 19:12 rurban_ joined 19:20 Mike-PerlRecruiter_ joined
dalek p: cb13fd5 | jnthn++ | src/QRegex/Cursor.nqp:
Sketch a method for pre-computing protoregex NFAs.
19:33
p: 0fdb57e | jnthn++ | src/ (3 files):
Refactor handling of alternation NFAs.

Don't stash the label offsets in the fates list. This is just as efficient, but should enable us to compute the NFA at compile time.
19:34
p: 161fa44 | jnthn++ | src/stage0/ (9 files):
Update bootstrap.
p: 995a21b | jnthn++ | src/ops/nqp.ops:
Eliminate now-unused op variant.
19:38 brrt left
dalek p: f221da4 | jnthn++ | src/ (4 files):
Finish up NFA pre-computation logic.

Has to take special care to include alternation NFAs from nested code objects (like nibbler for before, or positional captures). Otherwise, nothing surprising. Note that catching them all is important if we're to cache them, or we risk getting things spanning bootstrap phases.
19:53
p: 234daad | jnthn++ | src/ops/nqp.ops:
Fix nqp::ishash for deserialized hashes.
p: b6c88ff | jnthn++ | src/how/NQPClassHOW.pm:
Make NFA cache an attribute rather than lexical.

This means that the compile time computation will be serialized, so the NFAs for protoregexes and alternations need not be re-calculated each run, at least for use of the standard grammar.
p: 444537f | jnthn++ | src/stage0/ (9 files):
Update bootstrap.
kudo/nom: 8fa4c58 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get compile-time NFA calc.

This means that we don't need to compute a bunch of them on-demand as we parse. This saves some work on each invocation. The spectests get a
  ~10% win from this.
19:57
kudo/nom: 027f8c1 | jnthn++ | docs/ChangeLog:
Start ChangeLog for 2012.11.
20:05
kudo/nom: 226b3bd | jnthn++ | src/core/traits.pm:
Make looser/tighter actually work.
20:21
20:23 lucian joined 20:27 rurban_ joined 20:51 rurban_ joined
dalek kudo/nom: 8293d69 | jnthn++ | src/core/traits.pm:
Fix is assoc(...).
20:51
kudo/nom: 714593d | jnthn++ | src/core/operators.pm:
Don't override assoc when doing equiv etc.

Turns out that you should be able to use the precedence of an infix when declaring a prefix and the like.
21:21 benabik joined 22:44 whiteknight joined 22:53 bluescreen joined 23:39 slavorg joined 23:41 jsut joined, cosimo joined 23:42 perlite joined, mj41 joined, whiteknight joined, mtk joined, sivoais joined, awwaiid joined, woosley joined, ligne joined, PerlJam joined, Hunger joined, pmichaud joined, p6eval joined, ingy joined, ttbot joined, simcop2387 joined, szbalint joined, knewt joined, wagle joined, contingencyplan joined, Patterner joined, pjcj joined, japhb joined, Khisanth joined, woolfy_ joined, tadzik joined, nemesys_ joined, jlaire joined 23:43 particle joined, drift joined 23:46 Mike-PerlRecruiter_ joined