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