Camelia, the Perl 6 bug

IRC log for #parrot, 2009-03-19

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 jonathan Lennie: Yes, it's known that Parrot's startup is not exactly lean, and Rakudo adds some on top of that too.
00:01 jonathan Lennie: I don't know if you did an optimized build, if so that probably helps some.
00:03 Lennie jonathan: not yet, I went the Configure.pl --gen-parrot && make route
00:03 jonathan Lennie: Aha. I expect you'll have an unoptimized build.
00:04 jonathan IIRC, chromatic did a while back an analysis of startup time and why it's not as fast as would be desired.
00:09 AndyA joined #parrot
00:09 particle2 joined #parrot
00:11 moritz t/op/string_cs Parse errors: Bad plan.  You planned 51 tests but ran 52
00:12 moritz r37565 changed the plan from 52 to 51
00:12 moritz that's... weird.
00:16 rg i wonder if he intended to commit that in a branch
00:20 Lennie jonathan: an optimized build does help to take the overhead of parrot it self of, the building of a perl6-program is faster now, running it from the commandline even after pbc_to_exe and strip (which all help) gives me: real    0m0.766s
00:20 Lennie it's a start ;-)
00:20 dalek parrot: r37566 | allison++ | trunk/ports/ubuntu/changelog:
00:20 dalek parrot: [ubuntu] Integrating 4.x ubuntu releases into the changelog.
00:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37566/
00:21 Whiteknight joined #parrot
00:22 Lennie anyway it's passed my bedtime, have a nice evening
00:29 * gravity is very very thankful that the parrot packaging is using debhelper and not cdbs
00:29 dalek parrot: r37567 | allison++ | trunk/ports/ubuntu/changelog:
00:29 dalek parrot: [ubuntu] Adding in previous Ubuntu releases made by the Parrot team.
00:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37567/
00:34 dalek parrot: r37568 | allison++ | trunk/ports/ubuntu/changelog:
00:34 dalek parrot: [ubuntu] Resynchronizing Ubuntu changelog with Debian changelog.
00:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37568/
00:39 neopallium joined #parrot
00:42 dalek parrot: r37569 | cotto++ | trunk/tools/dev/parrot-fuzzer:
00:42 dalek parrot: [tools] add copyright, license and svn id
00:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37569/
00:47 dalek parrot: r37570 | cotto++ | trunk/tools/dev/parrot-fuzzer:
00:47 dalek parrot: [tools] spell "$Id" correctly
00:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37570/
00:51 dalek parrot: r37571 | allison++ | trunk/ports (3 files):
00:51 dalek parrot: [debian] Integrate Ubuntu packaging changes to automatically generate
00:51 dalek parrot: debian/control.
00:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37571/
00:52 Woody4286 joined #parrot
00:53 bacek_ joined #parrot
01:04 japhb joined #parrot
01:13 dalek parrot: r37572 | cotto++ | trunk (2 files):
01:13 dalek parrot: [PMC] make PMCProxy isa work when not proxying anything
01:13 dalek parrot: fuzzing++
01:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37572/
01:22 dalek parrot: r37573 | cotto++ | trunk/t/op/string_cs.t:
01:22 dalek parrot: [t] revert (accidental?) test count change
01:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37573/
02:06 eternaleye joined #parrot
02:17 rg coke: were the ppds not updated for the 1.0 release? they're missing the footer
02:25 Coke the docs are all just from "make html"
02:30 rg hmm that doesn't seem to build an index.html, which incidentally is the only page that has the version in the footer. i guess somebody wrote that page by hand.
02:30 Coke it does build an index.
02:31 Coke docs/html/index.html ?
02:31 rg oh, there it is. i was looking for docs/html/docs/index.html
02:31 Coke yah, the version footer should be on every page.
02:33 mdmkolbe joined #parrot
02:35 * gravity puts way too many "properly"s in his changelog
02:39 mdmkolbe Which docs should I look at for info about how parrot bytecode gets converted to native machine code?  (I'm a grad student studying PL.  So I'm mostly interested to see which techniques are used and how efficient the result is.)
02:43 rg sorry, that doesn't look like an easy thing to fix
02:46 rg mdmkolbe: you're probably looking for jit documentation. there is docs/jit.pod that explains the basics. other than that, i haven't looked at jit (much)
02:49 mdmkolbe thx rg
02:56 Andy joined #parrot
03:29 mdmkolbe How are parrot registers mapped to machine registers and/or memory?
03:29 clunker9_ joined #parrot
03:40 dalek parrot: r37574 | allison++ | trunk/ports/debian (1 files):
03:40 dalek parrot: [debian] Shift the install manifests over to generated files, so
03:40 dalek parrot: versioned paths can be substituted.
03:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37574/
03:41 jsut_ joined #parrot
03:42 janus joined #parrot
03:56 tetragon joined #parrot
03:56 dalek parrot: r37575 | allison++ | trunk/ports/debian (3 files):
03:56 dalek parrot: [debian] Fix some of the lintian warnings. Thanks to David Nusinow for
03:56 dalek parrot: the patch.
03:56 purl We don't need no stinking patch!
03:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37575/
04:09 dalek parrot: r37576 | allison++ | trunk/ports/debian/changelog:
04:09 dalek parrot: [debian] changelog entry for renamed files.
04:09 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37576/
04:13 dalek parrot: r37577 | allison++ | trunk/ports/debian/control.in:
04:13 dalek parrot: [debian] Alter substitution character from % to @.
04:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37577/
04:17 dalek parrot: r37578 | allison++ | trunk/config/gen/makefiles/root.in:
04:17 dalek parrot: [cage] Also clean installable pbc_to_exe.
04:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37578/
05:00 dalek parrot: r37579 | coke++ | trunk/t/dynpmc/dynlexpad.t:
05:00 dalek parrot: Avoid deprecated .HLL_map directive
05:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37579/
05:04 dalek parrot: r37580 | coke++ | trunk/t/op/box.t:
05:04 dalek parrot: remove usage of Deprecated .HLL_map directive
05:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37580/
05:05 sjn joined #parrot
05:08 dalek parrot: r37581 | coke++ | trunk/t/compilers/imcc/syn/hll.t:
05:08 dalek parrot: Remove instance of DEPRECATED HLL_map.
05:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37581/
05:11 Coke if I'm in a non-specified HLL, and I'm trying to get a sub that's defined in .HLL 'foo', no namespace... what's the get_*_global call?
05:11 Coke I would have thought get_root_global ['HLL'], 'subname'
05:13 dalek parrot: r37582 | coke++ | trunk/t/compilers/imcc/syn/hll.t:
05:13 dalek parrot: Whoops. remove actual HLL_map (which was duplicated at runtime with 'hll_map'())
05:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37582/
05:20 dalek parrot: r37583 | coke++ | trunk/editor (2 files):
05:20 dalek parrot: Don't reference Deprecated .HLL_map in editor highlighting.
05:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37583/
05:49 Tene Coke: get_root_global ['foo'], 'subname'
05:49 Coke Tene: yah, it's not working. =-)
05:49 Tene Coke: details?
05:49 Coke trying to update t/dynpmc/subproxy.t to use .'hll_map'() instead of .HLL_map
05:49 Tene Coke: have some PIR to reproduce?
05:50 * Tene looks
05:50 Coke first step: get rid of the .const's
05:50 Coke to do that, I replace them with runtime get*global calls; I can't get the one for 'f' to succeed.
05:51 Coke (I'm assuming I need to get rid of the consts since .'hll_map' is runtime, not compile time.
05:51 Tene Coke: does it help to add a .namespace [] before .sub 'foo' ?
05:52 Tene also, I wonder about hll_map'ing Sub
05:52 Tene are subs created before or after :init time?
05:53 Coke Tene: yes, that might be impossible.
05:53 Coke I couldn't even get the non-.const version with .HLL_map to pass, though.
05:53 Tene Coke: :immediate might work
05:55 Coke Tene: ok. but I can't get the non-.const version to work. =-)
05:55 Tene oh, that's after being compiled.
05:55 Tene Coke: what does the typeof return?
05:55 Tene 'Sub'?
05:55 purl i think 'Sub' is a reserved keyword right?
05:56 Coke ... tene, which typeof?
05:56 Coke currently, the test passes.
05:56 Tene Coke: the one that fails
05:56 Tene Coke: yes, in your non-.const
05:56 Coke I cannot get it to /find the sub/
05:56 Coke I get a NULL when I try to get a get_root_global ['Some'], 'foo'
05:57 * Tene looks.
05:59 Tene ah
05:59 Tene Coke: hll namespaces are all-lowercase, recardless of the case of the .HLL directive
05:59 Coke *smacks forehead*
06:00 * Coke knew that.
06:00 Tene yeah, it's awesome.  you might want to lcfirst the .HLL to make it less dumb.
06:01 nopaste "tene" at 166.70.38.237 pasted "looks like this works (Coke++)" (30 lines) at http://nopaste.snit.ch/15919
06:02 Tene doesn't work with :init, though
06:02 Tene requires :immediate
06:02 Coke yup.
06:02 Coke about to commit. =-)
06:03 Tene Thank you for doing this.
06:04 dalek parrot: r37584 | coke++ | trunk/t/dynpmc/subproxy.t:
06:04 dalek parrot: remove another Deprecated .HLL_map
06:04 dalek parrot: Tene++ # HLL namespaces are lowercase
06:04 dalek parrot: Tene++ # a version of this patch I didn't read.
06:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37584/
06:06 Coke np
06:17 Coke hurm. I am unable to remove .HLL_map from IMCC; if I remove it from imcc.[ly], I get:
06:17 Coke compilers/imcc/imcc.l: In function 'define_macro':
06:17 Coke compilers/imcc/imcc.l:1088: error: too many arguments to function 'parrot_new_cstring_hash'
06:17 Coke so, feel free to steal my thunder, I'm abed.
06:22 Coke_ZZZ ah, it's cotto's fault!
06:23 cotto um... ctrl-z
06:23 Coke looks like an unchanged hash invocation in IMCC guts.
06:23 Coke no clue why it wasn't tripped until I ripped out HLL_map.
06:24 Coke probably the code was never invoked.
06:24 cotto I need to remember to use ack --all
06:25 cotto I know I caught one in compilers/imcc/imclexer.c
06:26 Coke Might not hurt to recheck, JIC. (after my commit)
06:26 cotto yup.  looks like not using ack --all is to blame.  with the extra option, ack catches it
06:26 cotto coke++
06:27 * cotto goes off to look for other similar goofs
06:27 Coke :27:09] t/op/string_cs.t .. 22/52 # Looks like you planned 52 tests but ran 51
06:27 Coke looks like jim was right. =-)
06:28 dalek parrot: r37585 | allison++ | trunk/ports/debian (8 files):
06:28 dalek parrot: [debian] Rework the Parrot packages for 1.0 installation expectations.
06:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37585/
06:31 cotto That's odd.  On my machine it runs 52.
06:32 Coke I'm doing a realclean/update to check.
06:33 dalek parrot: r37586 | coke++ | trunk (8 files):
06:33 dalek parrot: Remove deprecated .HLL_map directive. (use .hll_map() on an interp object instead)
06:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37586/
06:34 Coke do you have ICU installed?
06:35 cotto yes
06:36 Coke I do not.
06:36 Coke perhaps that is the clue.
06:36 cotto very suggestive
06:36 Coke make the skip unconditional and see what happens?
06:37 cotto only several ways to find out
06:37 dalek parrot: r37587 | allison++ | trunk/docs/project/release_manager_guide.pod:
06:37 dalek parrot: [doc] A few fixes to the release manager guide, found while making the
06:37 dalek parrot: release.
06:37 purl NO! it will ESCAPE and leave behind a bloddy trail of QA
06:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37587/
06:38 Coke ah. I fail 15 tests instead of the 16 skipped... counting...
06:39 Coke er, perhaps I passed 15? the skip should be 17. fixing...
06:39 cotto looks like that was the only hash function I missed
06:40 Coke fixed t/op/string_cs.t
06:41 dalek parrot: r37588 | coke++ | trunk/t/op/string_cs.t:
06:41 dalek parrot: This is the fix that jkeenan++ was trying to make;
06:41 dalek parrot: the skip count was wrong for the block, so the harness got confused.
06:41 dalek parrot: This should now pass for icu and non-icu builds alike.
06:41 dalek parrot: cotto++   # testing on ICU
06:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37588/
06:42 cotto Coke, looks good.
06:43 cotto coke++
06:45 dalek parrot: r37589 | coke++ | trunk/DEPRECATED.pod:
06:45 dalek parrot: It's always after the 1.0 release, now.
06:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37589/
06:47 * Coke needs to stop drinking caffiene after... heck, 5pm.
06:49 dalek parrot: r37590 | coke++ | trunk/DEPRECATED.pod:
06:49 dalek parrot: Clarify language a bit for end users.
06:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37590/
06:53 dalek parrot: r37591 | allison++ | trunk/ports/ubuntu/control.in:
06:53 dalek parrot: [ubuntu] Porting over control.in changes from debian/control.in.
06:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37591/
06:56 dalek parrot: r37592 | allison++ | trunk/ports/debian/control.in:
06:56 dalek parrot: [debian] A few fixes in control.in caught while porting to ubuntu.
06:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37592/
07:07 uniejo joined #parrot
07:13 korshak joined #parrot
07:17 dalek parrot: r37593 | allison++ | trunk/ports (2 files):
07:17 dalek parrot: [debian/ubuntu] Changelog updates for new packages and timestamps
07:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37593/
07:17 korshak left #parrot
07:40 Gerd joined #parrot
07:41 dalek parrot: r37594 | allison++ | trunk/ports/debian/rules:
07:41 dalek parrot: [debian] Also delete dummy debian-control-stamp.
07:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37594/
08:27 masak joined #parrot
09:08 TiMBuS joined #parrot
09:43 kj joined #parrot
10:27 mikehh r37594 - codetest and examples_tests failures
10:30 mikehh codetest - src/ops/experimental.ops - podchecker (r37553 too much removed?)
10:34 mikehh examples_tests: t/examples/catchall.t - Failed tests:  45, 69, 118, t/examples/pir.t - Failed test:  10
12:12 kid51 joined #parrot
12:34 rg1 joined #parrot
12:52 korshak joined #parrot
13:26 korshak left #parrot
13:34 Coke-zzz those are probably both my fault. checkin.
13:34 Coke-zzz "checking"
13:34 purl somebody said "checking" was still too vague.
13:40 dalek tracwiki: v2 | coke++ | Deprecation
13:40 dalek tracwiki: https://trac.parrot.org/parrot/wiki/D​eprecation?version=2&action=diff
13:40 shorten dalek's url is at http://xrl.us/bekudb
13:42 mikehh Coke: didn't get that much zzz did you
13:45 Coke not really.
13:50 dalek parrot: r37595 | coke++ | trunk/src/ops/experimental.ops:
13:50 dalek parrot: fix POD. mikehh++
13:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37595/
13:58 dalek tracwiki: v3 | coke++ | Deprecation
13:59 dalek tracwiki: document substr_r replacement.
13:59 dalek tracwiki: https://trac.parrot.org/parrot/wiki/D​eprecation?version=3&action=diff
13:59 shorten dalek's url is at http://xrl.us/bekuez
13:59 dalek parrot: r37596 | coke++ | trunk/examples (3 files):
13:59 Coke mikehh++
13:59 Coke mikehh++
13:59 dalek parrot: Fixup usage of removed substr_r experimental opcode. (plain substr works)
13:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37596/
13:59 Coke # forgot karma in commit message.
14:06 mikehh Coke: thanks
14:12 zpmorgan src/interpreter.c: In function ‘get_core_op_lib_init’:
14:12 zpmorgan src/interpreter.c:432: error: ‘Parrot_DynOp_core_cgp_1_0_0’ undeclared (first use in this function)
14:12 gryphon joined #parrot
14:31 AndyA joined #parrot
14:33 riffraff joined #parrot
15:02 Theory joined #parrot
15:07 tuxdna joined #parrot
15:26 agnislav joined #parrot
15:33 Khisanth joined #parrot
15:51 davidfetter joined #parrot
15:56 agnislav hi all. is it possible already to compile perl6 script to bytecode?
15:57 jonathan agnislav: Yes.
15:57 jonathan perl6 --target=pir script.p6 > script.pir # gets you PIR file
15:57 jonathan parrot -o script.pbc script.pir # PIR to bytecdoe
15:57 jonathan (Yes, we should be able to do it in one step soon too.)
16:00 agnislav yes, it helps. but now parrot doesn't see perl6.pbc . How can I specify the path?
16:01 agnislav -I | -L will help?
16:01 agnislav no, it doesn't help
16:02 agnislav sorry
16:03 agnislav another error
16:03 agnislav trying to resolve
16:06 donaldh joined #parrot
16:07 agnislav can't find PCT.pbc...
16:08 skv joined #parrot
16:09 moritz what are you trying to do?
16:10 particle1 seems like trying to compile p6 to bytecode, then running it
16:10 agnislav exactly
16:11 agnislav now have another error
16:11 agnislav Parrot VM: Can't stat test.pbc, code 2
16:11 moritz that works here with the steps that jonathan wrote, from within rakudo's directory
16:11 agnislav main: Packfile loading failed
16:12 agnislav hm
16:12 agnislav i'll try
16:14 agnislav Couldn't find file 'PCT.pbc'
16:14 agnislav Where should it be located? I didn't find it.
16:15 moritz parrot/runtime/parrot/library/PCT.pbc
16:15 moritz agnislav: did you install parrot?
16:16 particle1 probably need to, for this to work easily
16:16 agnislav Yes.
16:17 agnislav I found this file - it's located under directory where I ran 'make'
16:17 agnislav but it absent in directory that was created with 'make install'
16:17 particle1 try make install-dev
16:17 agnislav one moment
16:17 particle1 i wonder if that's the problem...
16:19 moritz agnislav: and did you remove parrot's source tree after that?
16:19 agnislav moritz, no
16:19 moritz afaict rakudo doesn't yet work together with an installed parrot
16:19 moritz agnislav: good
16:19 agnislav i have another error :)
16:20 agnislav Class 'Perl6MultiSub' not found
16:20 moritz try to 'make clean; perl Configure.pl' again in the rakudo directory
16:20 moritz and then 'make'
16:21 agnislav one moment
16:21 moritz ... passed :-)
16:21 tuxdna left #parrot
16:22 agnislav not yet :)
16:22 agnislav jonathan, hello from Kyiv (PerlMova) ;)
16:23 * jonathan is back
16:24 jonathan Sorry, someone visited...
16:24 jonathan agnislav: Hi! :-)
16:24 agnislav moritz, failed. the same error
16:24 agnislav jonathan, hi :)
16:24 jonathan Ah, PerlMova was fun.
16:25 jonathan Ukraine was fun in general. :-)
16:25 agnislav jonathan, it is permanent state of Ukraine :)
16:26 jonathan It seems the problems are to do with libraries not being found etc...I'm not quite sure why. I'm curious to know if this works when you are in the directory in which you built Rakudo.
16:26 agnislav one moment...
16:29 agnislav_ joined #parrot
16:30 agnislav_laptop gnislav[rakudo]$ parrot ~/tmp/test.pbc
16:30 agnislav_laptop Class 'Perl6MultiSub' not found
16:30 agnislav_laptop current instr.: 'parrot;Perl6Role;!add_variant' pc 3030 (src/classes/Role.pir:42)
16:30 agnislav_laptop called from Sub '!keyword_role' pc 18919 (src/builtins/guts.pir:999)
16:30 agnislav_laptop called from Sub '' pc 3475 (src/classes/Abstraction.pir:15)
16:30 agnislav_laptop agnislav[rakudo]$
16:30 agnislav_laptop sorry... not all strings were passed
16:30 jonathan agnislav: How's it finding parrot executable?
16:31 moritz agnislav_laptop: try using the parrot which is used to build rakudo
16:31 moritz that is, either in ./parrot/parrot or ../../parrot
16:33 agnislav_laptop moritz, I've made make install-dev for parrot, than have recompiled rakudo, then recompiled my script
16:33 agnislav_laptop I'll try all these things one more time later, now going to go home
16:33 agnislav_laptop thanks for help!
16:33 moritz agnislav_laptop: yes... but recompiling rakudo requires a parrot that's not installed, but that's in specific dir
16:34 moritz either in parrot/ or in ../..
16:34 agnislav moritz, I'll keep it in mind when trying next time
16:34 agnislav thanks!
16:34 agnislav bye all!
16:46 davidfetter is there a packagers list?
16:47 particle1 moritz: you can point rakudo's configure at an installed parrot
16:48 particle1 perl Configure.pl --parrot-config=</path/to/parrot_config>
16:55 Psyche^ joined #parrot
16:57 moritz particle1: that's what I think might cause the troubles... because I don't do that, and I don't have these problems
17:18 jonathan rakudobug?
17:18 purl rakudobug is mailto:rakudobug@perl.org
17:34 davidfetter packager?
17:34 purl i heard packager was very excited about the features list
17:34 davidfetter hrm
17:34 davidfetter packagers?
17:34 purl packagers are constantly having to minimise deps
17:37 jonathan purl being useful?
17:37 purl no idea, jonathan
17:38 jonathan It shows.
17:41 gravity Would a packagers list even be useful for just parrot?
17:42 Coke isn't that just parrot-dev at this point?
17:42 gravity Yeah. We do have one specifically for Debian
17:43 Coke seen alias?
17:43 purl alias was last seen on #poe 4 hours, 48 minutes and 9 seconds ago, saying: NON_EXISTING_HANDLE
17:47 moritz HUNGA
17:47 moritz sorry, wrong channel :-)
18:05 * Coke has a realization that he can patch the crap out of 1.0.0 to get it to install cleanly on osx.
18:05 * Coke can probably get by with a judicious replacement of some config steps.
18:09 * Coke grumbles.
18:38 Coke is it possible to write plugins for pod2html so we could format things like =begin PIR / =end PIR as simple <code> blocks?
18:39 Tene That would be nice.
18:39 Tene Didn't someone write a POD grammar?
18:39 Coke I'm not really interested in reimplementing anything. =-)
18:39 moritz allison did, I think
18:40 particle1 nobody wrote a html emitter, though
18:40 allison Tene: yes, it's in the languages repository
18:40 Tene Hmm.
18:40 particle1 hrmm... ast2html would be a nice pct emitter
18:40 Coke allison: is that something we can do with our existing toolchain?
18:40 allison Coke: yup
18:41 Coke Ok. if you cantell me how, I can do it, and steal #41765
18:41 Coke any pointers?
18:41 purl any pointers are welcome
18:41 allison Coke: it's a pretty straightforward task
18:41 allison Coke: sure, I can write it up
18:41 Coke allison: I believe you but see nothing int eh Pod::Html docs to make me feel confident. =-)
18:42 allison Coke: that's because it's implemented horribly
18:43 allison Coke: if you take a look at Pod::PseudoPod::HTML it'll give you a better idea
18:47 Tene Looks like a few people hav ebeen trying to get fedora packages accepted, but they're pending review.
18:50 Coke parrot fedora packages?
18:52 Coke bah. I suspect we'll have similar problems with just "perldoc"
18:52 allison Coke: ?
18:54 Coke perldoc foo.pod where pod contains =begin PIR/=end PIR just drop the block on the floor.
18:58 dalek joined #parrot
19:00 Tene_ joined #parrot
19:03 Coke IWBNI if we had something that was parsable to satisfy the ticket, and renderable by default and via pod2html.
19:04 Coke allison: is "=begin PIR/ =end PIR" the way to do those blocks?
19:04 Coke and we can fix rendering/testing issues later?
19:05 allison Coke: it depends on what you want to do with the code
19:05 allison Coke: just indenting the text marks it as "code" as far as Pod is concerned
19:05 Coke I wish to both extract it for testing and rendering it via "perldoc" and "pod2html".
19:06 Coke satisfying the first seems to break the latter 2. =-)
19:06 allison Coke: so you want to render it as text within the document, but also have the ability to pull it out later
19:06 allison then, yes, =begin PIR is the right way to do it
19:06 allison but, you need a pod parser smart enough to be told to accept additional "targets"
19:07 allison (targets is what those named begin blocks are called
19:07 allison at least in a lot of the existing pod parsers)
19:07 Coke Can you do that with perldoc ?
19:07 allison Pod::Simple does
19:07 allison whether perldoc does depends on which version of perldoc you've got
19:08 allison so, it's not reliable
19:08 Coke I don't know if we must have perldoc as one of doc-reading clients.
19:08 Coke or if it's just a "nice to have"
19:08 allison I'd say it's "soon to be deprecated"
19:09 Coke also, we need to rename our "noop" operator to "...". =-)
19:09 allison in line with our general move toward being independent of existing perl installs by 3.x
19:09 allison :)
19:09 Coke ok. so if I break perldoc, no tears.
19:10 allison Coke: yup, we just need a solution in the repository for generating the html and man formatted versions
19:10 allison I'd much rather be doing that ourselves than depending on external tools anyway
19:13 Coke to parse code snippets, I think we'll want 3 different begin/end types: PIR, PASM, and PIR-wrapped
19:13 Coke (except with a better name) last one being something that implicitly has a .sub '' :anon /\\.end wrapper
19:13 dalek parrot: r37597 | coke++ | trunk/docs/compiler_faq.pod:
19:13 dalek parrot: Remove reference to long-gone syntax.
19:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37597/
19:14 Coke ... man do we need this. :|
19:14 Coke lots of broken examples in our compiler_faq.
19:15 Coke arg. also C examples.
19:17 tewk Does Test::Harness run individual tests in parallel, or just .t files in parallel.
19:19 Coke just .t
19:35 allison Coke: you can have an infinite number of different begin/end types, it's extensible
19:36 Coke Yes, more ranting about the amount of work to fix all these examples. =-)
19:36 allison Coke: if we're doing it internally as a parrot tool, we can even say "if you include a =begin <yourlanguage> block, our parser tool will check any language installed
19:37 Coke I thinkw e've got a long way to go there, but ok.
19:37 Coke so, what tool can I use to extract the targets?
19:39 Coke (can target types have spaces in their names?)
19:39 Coke anyone care to vote on something nicer than
19:40 Coke =begin PIR chunk
19:40 Coke for snippets that aren't complete programs?
19:41 Coke fragment, snippet, bit, ...
19:48 dalek parrot: r37598 | coke++ | trunk/docs/compiler_faq.pod:
19:48 dalek parrot: remove reference to old syntax
19:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37598/
20:10 davidfetter seen jhorwitz
20:10 purl jhorwitz was last seen on #parrot 8 days, 1 hours, 31 minutes and 42 seconds ago, saying: has lots of $FOO  [Mar 11 18:37:23 2009]
20:15 Tene_ davidfetter: what are you looking for him for?
20:16 davidfetter design decisions in mod_parrot
20:17 Tene_ davidfetter: you might try him on aim.  that's where I always talk to him.
20:17 davidfetter ah
20:17 davidfetter handle?
20:17 purl The pump don't work 'cause the vandals took the handles.
20:17 * davidfetter tries to picture purl with a voice like bob dylan's
20:18 Tene_ Looks like he's offline now.  I'll /msg it to you.
20:18 Tene_ He's pretty responsive to email, though.
20:29 Coke allison: pod is so simple, I'm just cheating and doing a RE.
20:30 allison Coke: yup, that's what Pod is for :)
20:33 Coke allison: committed.
20:33 Coke t/examples/pod.t
20:35 dalek parrot: r37599 | coke++ | trunk (3 files):
20:35 dalek parrot: First pass at RT# 41765 - test examples in pod.
20:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37599/
20:40 Coke allison: opened a ticket for the pod2html question.
20:42 allison Coke: excellent, thanks!
20:45 Tene_ allison: ETA on load_language op?
20:46 allison Tene: still working on packaging, but I can probably have it in by tomorrow
20:46 Tene_ allison: no rush, just curious.
20:47 allison Tene: absolutely certainly by next parrotsketch
20:47 Tene_ Okay.
20:47 Tene_ allison: I plan to make tickets for the HLL PMC issues in the next few days.
20:48 allison Tene: (I'll be away this weekend watching my son perform at an "honors recital")
20:48 allison Tene: btw, any preferences on the name of the second opcode?
20:49 Tene_ what does it do?
20:49 allison I'm thinking just make it "load_bytecode" with a second argument for HLL name
20:49 Tene_ I don't remember the proposal.
20:49 allison i.e. load_bytecode 'tcl', 'foo.pbc'
20:49 particle1 hll_load_bytecode 'hll', 'bytecodefile'
20:50 allison particle: yeah, I've considered load_hll_bytecode and other similar variants
20:50 allison or load_bytecode_language
20:50 allison Tene: once we start segmenting languages into different directories, we don't want to pollute the global namespace
20:51 Tene_ right...
20:51 allison so, instead of calling 'load_language' and after that all your files are available directly as 'foo.pbc'
20:51 allison or, instead of requiring everyone to put in a dummy 'mylanguage/foo.pbc'
20:51 allison we add an opcode that searches only the library paths for that language
20:52 Tene_ ah, library path
20:52 particle1 can the library paths be controlled at runtime?
20:52 allison hmmm.... if we use load_hll_bytecode, then we could have it default to the *current* hll...
20:52 allison and only add a second argument if they want a *different* hll
20:52 particle1 yes, like *_hll_namespace
20:53 particle1 i was just thinking about load_root_bytecode
20:53 allison particle: yes, the code is in place, but doesn't currently have a corresponding opcode to access it
20:53 Tene_ allison: I remember rumors of plans for load_whatever 'hll', 'foo' to try using the compiler registered for hll to compile HLL source files.
20:53 particle1 ok, if you can change library paths at runtime, i'm for that.
20:54 Tene_ load_whatever 'perl6', 'Foo' # first looks for Foo.pm, then Foo.pir, then Foo.pbc
20:54 particle1 don't go assuming there will only be one compiler for a language
20:55 allison ah, that's mostly what I'm talking about with load_hll_bytecode
20:55 allison though, hadn't planned on adding the "your language" suffixes, but it's perfectly possible
20:55 allison quite easy really
20:56 allison the "load_language" option is just a shortcut for loading the compiler libraries for a particular language, setting up its include, dynext, and library paths
20:56 allison but, it could also set up a file extension to associate with the language
20:57 allison s/option/opcode/
20:57 particle1 we don't have a shebang-like construct, to specify that in pir
20:57 allison particle: and shebangs wouldn't really work for a number of languages anyway
20:57 particle1 i know my file extension is .foo, but compile me for 'bar'
20:57 allison particle: so, it has to be something portable
20:58 particle1 right. in the pir.
20:58 allison that's what load_language does
20:59 Coke blah. all this perl code is so refactored it's unusable.
21:00 Coke there's more to life than test coverage.
21:00 Coke ... of test files.
21:08 dalek parrot: r37600 | coke++ | trunk/docs/book/ch03_pir_basics.pod:
21:08 dalek parrot: test a few more PIR snippets. (at least when TT #478 is fixed)
21:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37600/
21:28 Whiteknight joined #parrot
21:41 gryphon joined #parrot
22:20 donaldh joined #parrot
22:25 tetragon joined #parrot
22:34 kid51 joined #parrot
22:52 dalek rakudo: c26021b | (Moritz Lenz)++ | t/spectest.data:
22:52 dalek rakudo: we pass the (newly moved) parsing-bool.t
22:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​26021b5ff4b8dd1216095ff97455c6d9c6e4b88
22:52 shorten dalek's url is at http://xrl.us/bekwud
23:02 bacek_ joined #parrot
23:26 rg since there haven't been that many 1.0 newbie questions, let me ask one ;) Is there support for compile time type checking or is that generally frowned upon in parrot (being for dynamic languages and all)?
23:27 Tene_ rg: rakudo does it.
23:27 rg kind of ... yes.
23:27 moritz Tene_: really? where?
23:27 Tene_ Parrot doesn't offer anything to help you, though.
23:27 moritz it checks the existence of types
23:28 moritz but nothing more, afaict
23:28 Tene_ I thought that it did... huh.
23:28 rg it's supposed to check that my int $i = "hello"; fails
23:28 rg (not sure about the syntax)
23:28 rg but i wonder if it does so at compile time
23:29 Tene_ > my Int $x = "hello";
23:29 Tene_ Type mismatch in assignment.
23:29 moritz it does not
23:29 moritz ./perl6 -c -e 'my Int $i = "hello"'
23:29 moritz syntax OK
23:29 Tene_ Huh.  Okay.
23:29 moritz -c only does the syntax check + all compile time stuff
23:29 Tene_ moritz++
23:30 rg I guess it would be possible to write your actions to check types, but the information would need to be stored somewhere
23:30 jonathan I expect that, in the future, Rakudo will be able to catch things like my Int $i = "hello"
23:30 jonathan (At compile time.)
23:30 moritz rg: I think in this simple example it would be enough to promote assignment of constants to compile time
23:31 moritz and do a bit of constant folding where possible
23:31 jonathan It's not a requirement that Rakudo does, but compilers are free to complain at compile time about things they know will fail at runtime.
23:31 moritz .oO( and I'll have to change dozens of dies_ok to eval_dies_ok in the test suite )
23:31 jonathan Ouch, yes.
23:32 moritz well, I can cope with that, now that outer lexicals work in eval
23:34 dalek parrot: r37601 | jkeenan++ | trunk (5 files):
23:34 dalek parrot: Merge remove_pmc_option branch into trunk.  This removes the '--pmc' option
23:34 dalek parrot: from Configure.pl along with associated documentation and tests. Cf.:
23:34 dalek parrot: https://trac.parrot.org/parrot/ticket/310.
23:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37601/
23:36 rg so i take it nobody is planning to develop it any time soon, but patches would be accepted ;)
23:39 dalek parrot: r37602 | jkeenan++ | branches/remove_pmc_option:
23:39 dalek parrot: Branch has been merged into trunk and is no longer needed at HEAD.
23:39 purl i already had it that way, dalek.
23:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37602/
23:39 Tene_ http://pastie.org/421589 -- weird segfault during Parrot build
23:40 Tene_ reporting for a friend.
23:42 Tene_ Anyone have any ideas?
23:42 purl Anyone have any ideas is 5.004 basically impossible to build on newer boxes?
23:42 Tene_ purl: forget anyone have any ideas
23:42 purl Tene_: I forgot anyone have any ideas
23:42 rg somebody said using nci with a jit enabled parrot didn't work right. i'd suggest building with --jitcapable=0

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced