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