www.parrotcode.org | Last Release: 0.7.0 "Severe Macaw"
Set by moderator on 3 September 2008.
00:01 Whiteknight joined 00:09 AndyA joined
dalek r31139 | tene++ | trunk: 01:17
: [rakudo]
: Replace another instance of :inline with :pirop('newclosure').
diff: www.parrotvm.org/svn/parrot/revision?rev=31139
01:32 kid51 joined
dalek r31140 | Whiteknight++ | pdd09gc: 01:38
: [pdd09gc] update to trunk from r31138, except for some of the generated files in PIRC/new
diff: www.parrotvm.org/svn/parrot/revision?rev=31140
01:59 grim_fandango joined 02:36 Andy joined 03:03 xiaoyafeng joined 03:24 workbench joined 03:26 TonyC joined 04:04 idemal joined 04:08 bacek joined 04:10 bacek joined 04:17 idemal joined 04:29 grim_fandango joined 05:12 Zaba joined 05:59 uniejo joined 06:12 ian joined 06:47 mberends joined
dalek r31141 | allison++ | pdd27mmd: 06:50
: [pdd27mmd] Some refactoring comments for Andrew Whitworth.
diff: www.parrotvm.org/svn/parrot/revision?rev=31141
06:57 bacek joined
nopaste "cotto_home" at 96.26.202.243 pasted "experimental strerror patch for Parrot (requires make realclean)" (493 lines) at nopaste.snit.ch/14057 07:08
cotto_home If anyone's feeling adventurous (especially non-linux guys), feel free to play with that.
msg cotto_work nopaste.snit.ch/14057 07:09
purl Message for cotto_work stored.
07:09 TiMBuS joined
moritz in the pdd27mmd the trailing_space test loops 07:11
no
must be something other, and the parallel testing harness masks that
dalek r31142 | cotto++ | trunk: 07:12
: [tools] make nopaste.pl default to #parrot
diff: www.parrotvm.org/svn/parrot/revision?rev=31142
07:15 cosimo joined
cotto_home apparently calling a sub with 206 params segfaults parrot 07:26
I'm sure chromatic will be happy. 07:27
moritz "happy" 07:29
07:31 iblechbot joined
cotto_home well, he will be for the 75 seconds it'll take him to find and solve the problem 07:36
07:42 Zaba_ joined
dalek r31143 | fperrad++ | trunk: 07:53
: [Lua]
: - add a Markdown library
diff: www.parrotvm.org/svn/parrot/revision?rev=31143
08:01 johbar joined
johbar hi 08:02
purl hey, johbar.
cotto_home hi 08:03
purl hi, cotto_home.
dalek r31144 | kjs++ | trunk: 08:34
: [pirc/new] refactorings and cleanups
: + invocation struct is now serialized into instructions, so that it properly participates in register allocation
: + this allowed for simplification of data structures
: + added function documentation
diff: www.parrotvm.org/svn/parrot/revision?rev=31144
08:35 barney joined 09:08 paco joined 09:20 kj joined
johbar hey, it is difficult to develop something like uscript (scripting language from the unreal engine) with parrot? 09:25
i looked around, but the most oo-languages are unusabled with parrot :(
ruby, python,...
moritz it's not really difficult, but it's a lot of work 09:26
Tene is working on cardinal (ruby) these days, so if there's something that doesn't work, provide him with a test case
kj there's also a primitive implementation of python, but there's lots of work to be done there 09:27
09:29 paco joined
paco !/set NOVICE off 09:36
09:47 gaz joined
johbar okay, i'll have a deeper look 09:49
kj johbar: what type of information are you looking for? 09:50
johbar hm, parrotcode.org is slow today..
at the moment i'am looking for an language/vm to build up "vm" which is a gameengine 09:53
kj do you want to build your own language, or do you want to use an existing implementation? 09:54
Currently, there's many languages that are not finished yet, although some come close. Lua on parrot is quite complete, I think.
johbar i prefer an existing implementation
well, oo in lua is a mess imho
kj well, it's not pure OO, you're right in that. 09:55
you could build your own language, and tailor it exactly to your needs. but that would take some effort of course. 09:56
09:56 braceta joined
johbar i think i'll use a finished parser/lexer and build my own library 09:56
09:59 dakkar joined
johbar mostly because it would be usefull if the language-pmc's use my enginies-memory manager 09:59
kj Using the parrot compiler tools you can create a parser very fast
dalek r31145 | allison++ | pdd27mmd: 10:26
: [pdd27mmd] Change the p_i variant of 'eq' to a simple equality test: no point
: multiple dispatching on an INTVAL.
diff: www.parrotvm.org/svn/parrot/revision?rev=31145
10:32 Whiteknight joined 10:36 rdice joined
dakkar hmmm. does rakudo implement binding to signatures? as a form of "unpacking assignment"? 10:52
moritz can you give a short example 10:53
(I don't think it does, though)
dakkar something like %h=(a=>1, b=>2); my :($a,$b) := %h;
and I'd expect $a to be 1 and $b to be 2 10:54
moritz rakudo: my %h=(a=>1, b=>2); my :($a,$b) := %h;
dakkar I get a funny "rtype not set"
polyglotbot OUTPUT[rtype not set␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤called from Sub 'parrot;PAST::Compiler;uniquereg' pc 1371 (src/PAST/Compiler.pir:188)␤called from Sub 'parrot;PAST::Compiler;call' pc 3229 (src/PAST/Compiler.pir:856)␤called from Sub
..'parrot;PAST::Compiler;bind' pc 5539 (src/PAST/Compiler.pi...
moritz dakkar: I guess that's a "no" ;)
dakkar I wasn't sure I was writing something sensible 10:55
jonathan dakkar: It's not implemented yet.
moritz rakudo: my $x; my $y := :$x; say "still there"
polyglotbot OUTPUT[still there␤]
moritz so at least it parses signatures 10:56
but it doesn't bind to them
jonathan Yes. But binding to them ain't done. :-)
dakkar jonathan: ok, so what I wrote would work? (in the future)
jonathan dakkar: I think you may want my :(:$a,:$b) := %h; 10:57
But I'd have to check the synopses to be 100% sure.
dakkar right, otherwise they might be taken as positionals
moritz pugs complains about "Wrong number of binding parameters" with either example
dakkar the synopses say :(:x($x), :y($y))
which looks a bit redundant 10:59
moritz should be equivlanent to :(:$x, :$y)
(IMNSIO = In My Not So Informed Opinion)
jonathan It'd expect so - it's a signature, and :$x is how you normally write a named parameter in a sig. 11:00
dakkar all right, so I had gotten that right 11:01
I was trying to decide whether to include a P6 program on the instruction for the Italian Perl Workshop
but I wanted it to run; since making it work means it's not that different from the P5 version, I'll keep the P5 one 11:02
explaining how we'll select the winning bids on items we have in multiple copies, in a silent auction, is not that easy in Italian or English 11:03
11:38 kid51 joined 12:00 UltraDM joined
szbalint kid51: Actually I think smartlinks aren't part of the Perl 6 spec, but the POD draft merely defines L<> in a way so that we can't put smartlinks into POD without them being invalid L<>, because L<> assumes L<protocol:something> while smartlinks are in the style of L<spec/further_info>. 12:05
This is why I said the Perl 6 draft spec contradicts how smartlinks are defined.... 12:06
moritz in Perl 6 we use the smartlink in the test files to link to the specs
not spec cross-linking 12:07
szbalint My point was that if you would want to cross-link, you'd need to change how smartlinks are defined 12:09
moritz or enhance S26 a bit - remember, it's not cast in stone 12:10
kid51 Feel free to post these to the list. We need a thorough discussion. 12:16
szbalint: For some reason, your post yesterday didn't get CC-ed properly from RT to the list. That's why I quoted it in its entirety. 12:17
Knowing out list, it will probably show up on list later today.
kid51 goes to $job
12:19 bacek joined
johbar i'm using windows and notepad++. has someone a syntaxhighlighting-file for notepad++ and parrot-files (.pg, .pm)? 12:28
bacek johbar: I don't think so. 12:40
But there is syntax highlight for both editors.
;)
johbar *.pm is perl of course
bacek evening everyone
johbar hi
purl salut, johbar.
13:04 gryphon joined
dalek r31146 | rurban++ | trunk: 13:11
: [pdd30] + added Layout 1, Variant b "Below - Existing practice"
diff: www.parrotvm.org/svn/parrot/revision?rev=31146
r31147 | coke++ | trunk: 13:12
: [tcl] update internal switch handling output diagnostic if only 2 switches
: are specified. Add a test.
diff: www.parrotvm.org/svn/parrot/revision?rev=31147
r31148 | coke++ | trunk: 13:15
: [tcl] Support [string is <class> -strict <string>] (code.google.com/p/partcl/issues/detail?id=43)
: - rename a variable
: - eliminate some old comments.
diff: www.parrotvm.org/svn/parrot/revision?rev=31148
bacek pmichaud: around? 13:17
dalek r31149 | allison++ | pdd27mmd: 13:19
: [pdd27mmd] Rapid response when comparing a PMC to itself, don't bother with
: multiple dispatch.
diff: www.parrotvm.org/svn/parrot/revision?rev=31149
13:20 space joined 13:21 apeiron joined, masak joined 13:22 schirmer joined
dalek r31150 | rurban++ | trunk: 13:26
: [pdd30] * fix Layout 1b
diff: www.parrotvm.org/svn/parrot/revision?rev=31150
13:36 braceta joined
dalek r31151 | coke++ | trunk: 13:37
: [tcl] bump target version to 8.5.4
diff: www.parrotvm.org/svn/parrot/revision?rev=31151
13:41 PacoLinux joined
space Hello everyone. Does anyone know, how many opcodes the virtual machine of parrot knows. I searched all documentation I found, but found no numbers. 13:46
moritz you could look at src/ops/*.ops 13:47
is that number particularly important? 13:48
space I'am writing an article, that compares different virtual machines. 13:49
It's not important, but I'm only missing this information for parrot. 13:50
moritz I guess that there's a list of ops generated during the build process
but I'm not very familiar with the internals 13:51
space: where are you going to publish your article? 13:52
jonathan space: If you find ops.num and see how many lines are in that file, it'll be a good inidication.
moritz but don't count lines beginning with #
jonathan space: Though a direct comparsion with number of ops that say, JVM or .NET has would be a tad misleading.
moritz 1196 it seems 13:53
grep '^\\w' src/ops/ops.num|wc -l
1197
bacek moritz: Joda???
moritz Joda?
space In Germany. I have only started writing the article. It's about Lua, but I'am also comparing with other virtual machines. Normally I'am writing for the German "Entwickler-Magazin", but I hope I can place the article in iX.
moritz space: cool ;) 13:54
bacek moritz: star wars ;)
space I heard about 1200, but wanted to verify this, because I could not remember, where I found this number. It sounded very high compared to Lua, .NET and Java. 13:55
moritz the iX is one of the most respected IT magazines in Germany
bacek nopaste?
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/
moritz space: well, it's even a bit more
nopaste "bacek" at 122.110.95.159 pasted "Patch for Mapping.values to not stringify values (for moritz to commit ;)" (15 lines) at nopaste.snit.ch/14059 13:57
bacek moritz: pmichaud fixed .kv, but forgot .values
kj space: the number of 1200 includes /all/ variants, for instance there's a variant for each type of 'print'
print 42 -> print_ic (ic stands for integer constant); while print_sc stands for print string constant; likewise there's print_s for print string (register/variable). 13:58
moritz bacek: looks sane
space The Lua VM stated to have about 67 opcodes. I don't think they counted all variants.
kj so that way there's like 4 or 5 different variants (or maybe more, didn't count) of 1 op.
moritz bacek: I'll test and then commit
13:58 Theory joined
bacek moritz: S04/for.t fudged test "rakudo thinks that the values are strings" can be unfudged after commit 13:59
kj space: Lua works a bit different; I think in Lua each Lua object knows what type it is
bacek moritz: of cause it looks sane ;)
kj for lua you could check out the No frills to Lua bytecode manual (or something like that; a google would work here)
moritz bacek: obviously ;)
bacek: and it even uses only the subset of PIR that I speak ;) 14:00
space Oh, I have to join a meeting. Will be back in about an hour.
bacek moritz: ;)
rakudo: my $a={a=>42}; say $a.{a}
polyglotbot OUTPUT[Statement not terminated properly at line 1, near ".{a}"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 24832 (src/gen_grammar.pir:2843)␤called from Sub 'parrot;Perl6::Grammar;statementlist' pc
..23881 (src/gen_grammar.pir:2476)␤called from Su...
bacek rakudo: my $a={a=>42}; say $a{a}
polyglotbot OUTPUT[Could not find non-existent sub a␤current instr.: '_block11' pc 52 (EVAL_13:18)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1078 (src/PCT/HLLCompiler.pir:610)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1257 (src/PCT/HLLCompiler.pi...
moritz bacek: $a<a> 14:01
bacek rakudo: my $a={a=>42}; my $key = 'a'; say $a{$key}
polyglotbot OUTPUT[42␤]
bacek rakudo: my $a={a=>42}; my $key = 'a'; say $a.{$key}
polyglotbot OUTPUT[Statement not terminated properly at line 1, near ".{$key}"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 24832 (src/gen_grammar.pir:2843)␤called from Sub 'parrot;Perl6::Grammar;statementlist'
..pc 23881 (src/gen_grammar.pir:2476)␤called from...
moritz bacek: not yet parsed
bacek moritz: I see. 14:02
14:02 davidfetter joined
bacek There is test in S29-list/reduce that uses dot-syntax... 14:02
Last one.
johbar parrot on windows is not really working, is it? 14:03
bacek If remove dot it triggers very interesting bug in rakudo...
moritz johbar: it is, jonathan regularly develops under windows
bacek afk
johbar well, i try running Configure.pl and get some wierd segfaults in testXXX.exe
dalek r31152 | moritz++ | trunk: 14:04
: [rakudo] Mapping.values shouldn't coerce to string, bacek++
: Patch courtesy by Vasily Chekalkin, <bacek at bacek.com>
diff: www.parrotvm.org/svn/parrot/revision?rev=31152
moritz hope that he wrote bacek's name correctly 14:05
14:06 Zaba joined
kj johbar: parrot on windows is working fine. it's parrot on cygwin which needs some improvements. 14:06
moritz it might be intersting which compiler was used (for others to help you; I can't anyway :/ ) 14:07
johbar gcc with activeperl
moritz is there a native gcc port for windows? wow, I didn't know that 14:08
kj neither did I...
you can download MS visual studio express edition for free
moritz johbar: I think jonathan uses msvc
johbar well, maybe its broken or not finished 14:09
i'll try that
kj msvc is a bit stricter than gcc; meaning it implements C a bit stricter than gcc
and therefore it catches a few more warnings
14:11 Andy joined
bacek moritz: in time - yes ;) 14:11
moritz bacek: after about a dozen failed attempts... :/
bacek moritz: correctly spell russian names is hard job :) 14:12
NotFound kj: gcc can be much more strict. We have a set of warnings enabled in Configure by default softer than possible. 14:13
jonathan I build regularly on MS VC++, yes. 14:14
NotFound By the way, is not stricter by just warning on things. Stricter is to not compile such things at all. 14:15
nopaste "bacek" at 122.110.95.159 pasted "Strange but in rakudo." (8 lines) at nopaste.snit.ch/14060 14:18
moritz bacek: if you want to open a ticket, make sure it doesn't depend on your List.uniq patch 14:20
(which btw still blocks on clarification from p6l) 14:21
bacek moritz: it's not related to List.uniq...
It just... weird...
moritz bacek: rakudo is full of @weird_lexical_issues
bacek: for example RT #58392 14:22
dalek r31153 | coke++ | trunk: 14:24
: [tcl] avoid parrot tailcall bug, allow tcl shell to work again.
diff: www.parrotvm.org/svn/parrot/revision?rev=31153
bacek moritz: yes...
moritz which is a parrot issue at its heart, as the pure PIR example demonstrates 14:26
nopaste "bacek" at 122.110.95.159 pasted "Strange but in rakudo (copmrehensive and simplified version)." (14 lines) at nopaste.snit.ch/14061 14:32
moritz bacek: open a ticket, perhaps that way it's easier to debug than the recursion thing that masak provided so far 14:33
14:43 Whiteknight joined
bacek moritz: I think that this is same problem as in 56612 14:43
#56612 (for your logbot ;)
moritz bacek: if you happen to have some free time, please add that as a test to t/spec/integration/ (directory doesn't yet exists), that's for regression tests that don't belong to one particular synopsis 14:45
moritz has to run now
bacek have to sleep now... 14:46
dalek r31154 | allison++ | pdd27mmd: 15:04
: [pdd27mmd] Check for a null PMC after fetching global multi, when searching
: global scope.
diff: www.parrotvm.org/svn/parrot/revision?rev=31154
r31155 | allison++ | pdd27mmd: 15:15
: [pdd27mmd] Fix signature of overridden multi to match the signature of vtable function.
diff: www.parrotvm.org/svn/parrot/revision?rev=31155
r31156 | allison++ | pdd27mmd: 15:17
: [pdd27mmd] Passing an integer argument to the 'add' opcode invokes the
: 'add_int' vtable function and multi.
diff: www.parrotvm.org/svn/parrot/revision?rev=31156
15:29 particl1 joined 16:10 peepsalot joined 16:13 hercynium joined 17:56 gryphon joined 18:22 iblechbot joined
cotto_work codingstd goof in /usr/src/parrot/parrot-svn-clean/compilers/pirc/new/pirsymbol.c:87 (line length) 18:26
kj cotto_work: I'll fix it 18:27
dalek r31157 | kjs++ | trunk: 18:29
: [pirc/new] fix line length mess-up.
diff: www.parrotvm.org/svn/parrot/revision?rev=31157
cotto_work kj, do you mind adding a test to languages/json? I was going to port some tests from the JSON CPAN module, but the tests in languages/json are just the ones from mk_language_shell.pl 18:31
kj cotto_work: I was not aware of tests in languages/json... 18:32
eh oh right
cotto_work you're mentioned in languages/json/MAINTAINER
kj wait, I misread :-)
yeah that's right.
cotto_work lawl
kj well, maintainer... I'm the author :-)
not much of a maintainer
reason for not adding tests is that I don't know how to do that 18:33
I mean
it's not a language, it's a data description language
cotto_work ok. I've got it on my maybe todo list.
kj I'm not so familiar with the testing infrastructure... 18:34
cotto_work If I get the tuits, I'll poke around JSON and see how it does testing. It has many tests and should provide a clue or two. 18:36
kj cotto_work++ #thanks for that 18:38
18:46 sjansen joined 18:49 Ivatar joined
dalek r31158 | pmichaud++ | trunk: 18:55
: [rakudo]: spectest-progress.csv update: 162 files, 3361 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31158
19:03 AndyA joined
cognominal pmichaud, jonathan, is it possible to do simple regex matching in rakudo? 19:03
pmichaud for various values of "simple", yes. :-) 19:04
November is actually doing full grammars, I think.
btw, I really think that use.perl.org/~masak/journal/37303 ought to be mentioned on rakudo.org somewhere. (Andy: ping)
or even reproduced in its entirety :-)
cognominal well, I just want to avoid explit calls to PGE or doing explicit grammars. 19:05
pmichaud if you're wanting to do "foo" ~~ /pattern/ then yes, that works just fine.
cognominal ok
pmichaud I don't know if matching against $_ works yet though (i.e., w/o the smart match ~~'s)
Andy ?
cognominal I was trying to do a m/.../ on $_ and got a block But ~~ seems to work fine 19:08
rakudo : say m/.../.WHAT
perl6: say m/.../.WHAT 19:09
polyglotbot OUTPUT[Block␤]
pmichaud right, I don't think m/.../ defaults to matching on $_ yet. 19:10
I think rakudo still treats it the same as rx/.../
probably need a rakudobug@perl.org ticket for that, if there's not one already 19:11
cognominal that's ok. I just want to write sone clean Perl6 that I can show on a tutorial without digging in PGE 19:12
pmichaud very little (if any) PGE knowledge is needed for using regexes in Rakudo 19:13
cognominal I am very please by the state of rakudo. Except for the lack of non boxed types, pir inlining, here-in and object attributes initializations, it feels very nice. 19:17
pmichaud++
jonathan++
pmichaud we're getting there, and with increasing velocity :-) 19:18
cognominal I don't checked if argument defaults are supported yet 19:19
pmichaud they are.
perl6: sub foo($x = 'yes') { say $x; }; foo(); foo('yes 2');
polyglotbot OUTPUT[yes␤yes 2␤]
cognominal nice. 19:20
pmichaud perl6: sub foo($x?) { say $x; }; foo(); foo('yes 2');
polyglotbot OUTPUT[Use of uninitialized value␤␤yes 2␤]
pmichaud hmmmm. 19:21
perl6: sub foo($x?) { say $x//$x; }; foo(); foo('yes 2');
polyglotbot OUTPUT[Use of uninitialized value␤␤yes 2␤]
pmichaud perl6: sub foo($x?) { say $x.defined ?? $x !! $x; }; foo(); foo('yes 2');
polyglotbot OUTPUT[␤yes 2␤]
pmichaud obviously something not right there. :-)
particle perl6: say; 19:22
polyglotbot OUTPUT[␤]
particle perl6: say *;
polyglotbot OUTPUT[get_string() not implemented in class 'Whatever'␤current instr.: 'print' pc 13909 (src/gen_builtins.pir:8713)␤called from Sub 'say' pc 13931 (src/gen_builtins.pir:8723)␤called from Sub '_block11' pc 30 (EVAL_11:13)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806
..(src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;...
particle just curious about that last one
pmichaud I'm not sure why $x//$x is giving me the uninitalized value warning.
particle why not? $x is uninitialized 19:23
cognominal what say * would mean?
pmichaud oh, and it's no longer a Failure object. So yes, I guess that makes sense.
my $x = Failure.new; say $x;
perl6: my $x = Failure.new; say $x;
polyglotbot OUTPUT[Use of uninitialized value␤␤]
pmichaud perl6: my $x = Failure.new; say $x//$x;
polyglotbot OUTPUT[Use of uninitialized value␤␤]
pmichaud okay, *that* one is definitely wrong. 19:24
testing a Failure for undef makes it into an uninteresting undef (i.e., should suppress the warning)
that's why the following doesn't give a warning:
perl6: my $x = Failure.new; say $x.defined ?? $x !! $x;
polyglotbot OUTPUT[␤] 19:25
cognominal perl6: my ($host, $port) = "localhost:8080" ~~ /(.*?):(\\d+)/; say "$host:$port" 19:32
polyglotbot OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'␤current instr.: 'parrot;PAST::Compiler;as_post' pc 2878 (src/PAST/Compiler.pir:735)␤called from Sub 'parrot;PAST::Compiler;post_children' pc 1743 (src/PAST/Compiler.pir:367)␤called from Sub 'parrot;PAST::Compiler;as_post' pc 2008
..(src/PAST/Compiler.pir:495)␤called from Sub 'par...
cognominal perl6: my @a = "localhost:8080" ~~ /(.*?):(\\d+)/; say "@a[0]:@a[1]"
polyglotbot OUTPUT[@a[0]:@a[1]␤]
cognominal perl6: my @a = "localhost:8080" ~~ /(.*?):(\\d+)/; say @a[0] ~~ ':' ~~ @a[1] 19:33
polyglotbot OUTPUT[0␤]
particle perl6: .say for "localhost:8080" ~~ /(.*?):(\\d+)/; 19:34
polyglotbot OUTPUT[8080␤]
cognominal I will split it instead 19:37
19:37 japhb joined
japhb Anyone happen to know the status of using PIR modules in Rakudo? 19:39
cognominal arf, : is a metachar 19:40
perl6: my @a = "localhost:8080" ~~ /(.*?) \\: (\\d+)/; say "@a[0]:@a[1]"
polyglotbot OUTPUT[@a[0]:@a[1]␤]
Andy The Czechs, they have been watching Rakudo
translate.google.com/translate?u=ht...&tl=en
cognominal perl6: my @a = "localhost:8080" ~~ /(.*?) \\: (\\d+)/; say @a[0] ~~ ':' ~~ @a[1] 19:41
polyglotbot OUTPUT[0␤]
particle perl6: .say for "localhost:8080" ~~ /(.*?)\\:(\\d+)/;
polyglotbot OUTPUT[localhost:8080␤]
particle perl6: .say for "localhost:8080" ~~ /(.*?) \\: (\\d+)/;
polyglotbot OUTPUT[localhost:8080␤]
particle hrmm
that seems wrong
Andy Again, I do not see much in the intestines parrotu, but it is not something similar as LLVM?
cognominal speaking of VM, I am curious to know if V8 can be pluggable in parrot 19:42
japhb cognominal: I would think more useful for Parrot would be the Tracemonkey design ... 19:43
Well, and a nice GC
cognominal TraceMonkey?
purl TraceMonkey is nice
cognominal forget TraceMonkey 19:44
purl cognominal: I forgot tracemonkey
japhb cognominal: next version of Mozilla's JS engine ... does JIT of execution traces.
Able to optimize away all op vtable calls, and specialize code automagically for runtime type situation 19:45
(if certain variables in a loop always keep certain type info, then specialize code automatically for handling only that type, with fast guard code just in case).
cognominal my @a = ("localhost:8080" ~~ /(.*?) \\: (\\d+)/ ) ; say @a[0] ~~ ':' ~~ @a[1] 19:47
perl6: my @a = ("localhost:8080" ~~ /(.*?) \\: (\\d+)/ ) ; say @a[0] ~~ ':' ~~ @a[1]
polyglotbot OUTPUT[0␤]
japhb Last benchmark I looked at, Tracemonkey was only slower than V8 for recursive calls, and only because Tracemonkey at that time did not support trace JIT for recursion -- it was (or is) planned to be working for Tracemonkey's first release.
My, polyglotbot is fast these days 19:48
cognominal perl6: my @a = ("localhost:8080" ~~ /(.*?) \\: (\\d+)/ ) ; say @a[0] ~ ':' ~ @a[1]
polyglotbot OUTPUT[Use of uninitialized value␤localhost:8080:␤]
cognominal perl6: my @a = "localhost:8080" ~~ /(.*?) \\: (\\d+)/ ; say @a[0] ~~ ':' ~~ @a[1] 19:49
polyglotbot OUTPUT[0␤]
cognominal arf
japhb jonathan, pmichaud: Any update on whether I'll be able to use my PIR OpenGL binding in Rakudo soon?
cognominal perl6: my @a = "localhost:8080" ~~ /(.*?) \\: (\\d+)/ ; say @a[0] ~ ':' ~ @a[1]
polyglotbot OUTPUT[Use of uninitialized value␤localhost:8080:␤]
particle japhb: notfound recently accessed mysql via rakudo 19:51
maybe it's in languages/perl6/examples? 19:52
japhb *excellent* (I've been away from Parrot for a while pretty much because I've been waiting for this, so if it's actually working, that would be great news!)
japhb goes to pull updates .... 19:53
PerlJam particle: I don't think his code is in the repo. 19:54
or, ack -ail mysql only tells me about files in languages/pipp and examples/nci 19:55
particle try ack -ag \\.p6
cognominal perl6: say join ':', ("localhost:8080" ~~ /(.*) \\: (\\d+) / )
polyglotbot OUTPUT[localhost:8080␤]
PerlJam ah yes.
cognominal seems that affecting the Match value does not work 19:56
NotFound japhb: If you have some problem let me know.
cognominal perl6: my $m := "localhost:8080" ~~ /(.*) \\: (\\d+) / ; say $m[0] ~ ':' ~ $m[1] 19:57
polyglotbot OUTPUT[localhost:8080␤]
NotFound particle: examples/nci
cognominal yea 19:58
There is so many way to do it that one is bound to work :)
PerlJam NotFound: do you know if anyone is working on DBDI?
19:59 Theory joined
NotFound PerlJam: some days ago I asked google, and looks like all results are from years ago. 19:59
cognominal I remember Tim Bounce taking of Perl6 DBI to the mongueurs in Paris. That was probably 5 years ago :) 20:00
s/taking/talking/
PerlJam dbdi is supposed to be a parrot-level common DB interface that *all* HLLs could use to talk to a DBMS. (as I understand it) 20:01
particle you mean dbi 2.0?
that's what i remember timbunce calling it
NotFound dbi on steroids.
PerlJam particle: dunno. I only have vague memories 20:02
particle i spoke with him about it at oscon
he's hoping for funding to hook parrot into the jvm and use jdbc
NotFound Some people talked recently about using jdbc via bytecode conversion. 20:03
When rurban started to look at the jvm and cli things
PerlJam seems like a missed opportunity wrt GSoC. 20:04
or maybe I just haven't been paying close enough attention 20:05
pmichaud GSoC depends on students, mentors, and funding
it's possible that there was a proposal for it but that Google declined to fund it
NotFound The problem I see is that few jdbc drivers are pure java.
PerlJam right, I'm saying I don't even remember a proposal 20:06
japhb Tim Bunce also wouldn't qualify as a student, and he's by far the most qualified to do the work.
(And he wants to)
pmichaud there's always the TPF grants, or even a grant from the Ian Hague funds
NotFound And we hope to be able to make Parrot Foundation grants some day. 20:07
PerlJam seems like that would be a bit of stretch for the Ian Hague funds. 20:08
japhb Then there's the question of whether his financial situation can afford a small grant, or whether there is so much work that even a larger grant would equate to too little per hour. (I have no idea what his finances are, it's just a guess.) 20:09
pmichaud I think I could make the case that it's *the* prime case for doing language-interoperable stuff on Perl 6 (and Parrot)
particle a dbi implementation for perl 6 is pretty important, but maybe it is a stretch depending on the terms of the grant
japhb pmichaud: I would agree with that.
pmichaud if we just say "implement DBI", it might be marginal. But if we say "use DBI to flesh out and drive development of these other needed features", then it's pretty clear 20:10
20:10 Zaba_ joined
japhb definitely 20:10
pmichaud and I think that a DBI interface of some sort will be critical to a production implementation of Perl 6
PerlJam perl 6 is stymied by lack of "real world" things like DBI?
particle no doubt
NotFound Having at least one driver can be useful for dbdi, yes ;) 20:11
pmichaud "perl 6 implementation" is to "real world things" as "perl 6 specification" is to "perl 6 implementation"
particle i don't understand where this second d is coming from
PerlJam particle: Data Base Driver Interface ?
japhb What PerlJam said
pmichaud i.e., the perl 6 specification had trouble progressing until there were implementations driving it. I think the same can be said for a perl 6 implementation -- at some point we need real-world stuff to drive the implementations 20:12
November has been incredibly useful in this regard.
particle is dbdi a term used outside the perl world?
japhb Tim was/is unhappy with the interface between DBI and the DBDs, and believes that the driver interface for JDBC is much more solid.
PerlJam particle: doubtful 20:13
japhb pmichaud: that's why I've been pushing for so long for Rakudo to support using Parrot NCI wrappers. It's needed for a whole lot of real world code.
NotFound pmichaud: that is the reason I started the Mysql and Xlib example modules, to have a few real world things to play with. 20:14
pmichaud japhb: I don't disagree. we're getting closer to it every day.
particle ok, well i only know of dbi, and dbd. not dbdi. learn something new every day....
japhb dbdi == dbi <-> dbd api
NotFound japhb: yes, it was a great thing to be able to test those modules from perl6, even with my mininal knowledge of perl6. 20:15
And some help from some guys some here. 20:16
Will be great to do the same from others languages in the repo, BTW 20:17
PerlJam NotFound: what magic is necesary to run mysqltest.p6?
I mean, if I did "make perl6", could I then just "perl6 mysqltest.p6" ?
NotFound PerlJam: compile Mysql.pir to pbc
PerlJam (with appropriate path info)
cognominal NotFound, the problem I have using some PIR module in Perl 6 is that they often use non boxed arguments.
japhb NotFound: OK, it looks like that Mysql.pir is an old style manual PIR NCI wrapper, that's good (because it's the way all my OpenGL / GLUT stuff is written, so I can apply lessons learned there).
pmichaud ...non boxed arguments? 20:19
japhb OK, so given that this works, is this documented anywhere? What limitations do I need to be aware of?
NotFound cognominal: we will need some doc with guidelines for pir modules that want to be usable from any hll.
pmichaud NotFound: I should have something soon along those lines, at least w.r.t. Perl 6 modules and the Parrot Compiler Toolkit 20:20
cognominal maybe I was wrong. and Perl 6 autoconvert Str into str when needed for exemple.
pmichaud Parrot automatically boxes and unboxes arguments 20:21
szbalint 21:04 <@PerlJam> seems like a missed opportunity wrt GSoC.
I tried to rearchitect dbi on Perl 6 for gsoc 2006, sadly it became a dismal failure with only small results
NotFound japhb: what I do was to change parrot for any limitation I found ;)
cognominal sometimes I work around the wrong problem :( 20:22
NotFound For example, the NULL string arguments thing.
japhb NotFound: heh.
20:23 Casan joined
szbalint it was a complex issue, no Perl 6 implementation was as usable as now and plans were much less formulated back then 20:23
japhb NotFound: Ah, speaking of which ... is that 64-bit clean? The nasty hack I needed in call_toolkit_init.pir:93 was not. 20:24
NotFound japhb: I suppose UnManagedStruct and some bits of nci may need some changes for 64, but I don't have a 64 machine to work on. 20:25
szbalint also my dbi knowledge was not up to par for the job - I have to admit that in hindsight. dbi on Perl 6 / parrot is still on my todo list though...
Casan I was reading up on insideout objects, and then wondered if the benefits of the insideout object concept are integrated by default in the perl6 object model? 20:26
particle the benefits including true data abstraction? yes
PerlJam Casan: Depends on what you call "benefits"
japhb Casan: data hiding, yes. Performance, no. 20:27
NotFound Well, I have a Commodore 64 emulator, but can't build parrot on it ;)
PerlJam Casan: some of inside out objects benefits aren't benefits in the world of perl 6.
(i.e., they're only benefits in reaction to the common perl 5 object models)
Casan PerlJam: well, still not sure I have understood all parts of it. The part I am most interested in I think, is the assumed better utilization of memory / lesser memory overhead. 20:28
particle that sounds like an optimization question 20:29
szbalint one of the problems was that I tried to design / write mockup Perl 6 code first while "imagining" the underlying parrot internals based on a jdbc supplement
Casan So when thinking insideout objects, maybe its just recommended to forget all about it, and use the perl6 oo model as intended by the synopsis?
moritz yes
japhb Casan: memory optimization: probably not ... though potentially, if you use unboxed types. But yes, you should just use the Perl6 OO model in the synopsis, and hold off on premature optimization.
particle casan: it's probably easier to start with the perl 6 oo model, and consider optimizations only when needed 20:30
Casan ok thanks, then I won't spend time understanding the ins and outs of the insideout object concept and just focus on perl6 from the getgo.
NotFound To play with new concepts maybe is easier to write a toy language that to play with rakudo.
s/that/than 20:31
PerlJam Casan: or use Moose if you're in Perl 5 lang. 20:32
s/lang/land/
though the former works too :)
japhb Is there a search path for Rakudo's 'use'? 20:34
szbalint so yeah, that's the untold short story :) I wouldn't say the endeavour was totally useless, but it didn't produce much code just experience and better plans - which didn't get going so far given lack of time
moritz japhb: it's @*INC + .
20:35 Whiteknight joined
japhb moritz: is there a plan for what @*INC should default to? 20:36
moritz japhb: the plan is to remove it at some point 20:37
japhb blinks
huh?
moritz japhb: problem is, Perl 6 allows module names that might not be represented as file names
japhb: especially wrt unicode, and it forces case sensitive behaviour even on case insensitive file systems
japhb interesting ... 20:38
purl vedy vedy iinterestink
dalek r31159 | allison++ | pdd27mmd:
: [pdd27mmd] Modify the generator for the delegate PMC so the multiple dispatched
: vtable functions call the default implementation instead of throwing an
: exception. Refactor so the Object PMC and the delegate PMC can share the same
: check for which vtable functions get special treatment for multiple dispatch.
diff: www.parrotvm.org/svn/parrot/revision?rev=31159
moritz also it supports loading of specific version
but as a current approximation @*INC isn't bad 20:39
PerlJam moritz: you don't mean remove it so much as replace it with something more complicated and powerful, right? :-) 20:40
moritz PerlJam: in the end I think we need something like a module database
particle written in nqp, of course ;) 20:41
pmichaud I agree it's likely to be some form of database, because searching for modules will have to be fast
PerlJam particle++
sqlite! :)
particle nqsql
japhb beginning to wonder if 'sqlite' is the new 'magical pixie dust' 20:42
pmichaud magical pixie dust often solves a lot of problems :-)
particle sqlite is a good solution, as long as only one process is accessing the db at any time
japhb For lack of a leading '.', this crashes nicely: ./perl6 -e'say for @*INC'
pmichaud japhb: does that complain about a missing 'for'? 20:43
dalek r31160 | pmichaud++ | trunk:
: [rakudo]: Fix <?before <terminator>> to be <?terminator>.
diff: www.parrotvm.org/svn/parrot/revision?rev=31160
japhb pmichaud: yep, just before blowing up glibc. 20:44
pmichaud heh
I'm actually working on that particular bug at the moment (see r31160 above)
japhb :-)
pmichaud rt #57352 :-) 20:46
japhb Are unrooted and/or relative paths expected to work in @*INC, or only absolute paths? 20:49
szbalint returns to the shadows of dbi2-dev 20:50
dalek r31161 | Whiteknight++ | trunk: 20:58
: [Book] move chapter 8 "Reference" to chapter 9. Create a new chapter 8 for PCT-related topics
diff: www.parrotvm.org/svn/parrot/revision?rev=31161
r31162 | allison++ | pdd27mmd:
: [pdd27mmd] Call the vtable 'cmp' function in COMPARE instead of directly
: calling multiple dispatch, to allow for PMCs that override the vtable function
pmichaud @*INC in rakudo is just "whatever you get" at the moment
dalek : for single dispatch.
diff: www.parrotvm.org/svn/parrot/revision?rev=31162
pmichaud it's not really spec'd.
21:01 johbar joined, jan joined
dalek r31163 | pmichaud++ | trunk: 21:12
: [rakudo]: Fix statement modifier after listops (RT #57352, #57334, #57076)
diff: www.parrotvm.org/svn/parrot/revision?rev=31163
r31164 | chromatic++ | pdd27mmd: 21:13
: [dynpmc] Fixed MULTI declarations in Foo dynpmc.
diff: www.parrotvm.org/svn/parrot/revision?rev=31164
21:13 clunker9__ joined 21:14 mberends left
jonathan pmichaud++ # 1 commit, 3 RTs. 21:15
pmichaud possibly more -- those were just the ones that were linked :-) 21:16
PerlJam you got rid of some of those terminators ... that didn't break any tests? 21:17
I guess the "pipes" aren't really implemented?
pmichaud it didn't break spectest_regression no
besides, STD.pm originally had them as terminators, but they have since moved
i.e., I'm aligning with whatever STD.pm is now doing 21:18
PerlJam ah.
21:29 cotto_w0rk joined
pmichaud in PIR, what's a good mechanism for stringifying a float such that we don't lose precision? 21:32
21:39 cognominal joined
NotFound pmichaud: strigfying a float always lose precision. 21:46
pmichaud NotFound: I mean without going down to 6 digits of precision
yes, I know that I'll lose some, but 6 digits is a bit ridiculous
NotFound Not very good, certainly. 21:47
nopaste "pmichaud" at 76.183.97.54 pasted "stringifying floats loses" (14 lines) at nopaste.snit.ch/14062 21:49
"pmichaud" at 76.183.97.54 pasted "stringifying floats loses #2" (12 lines) at nopaste.snit.ch/14063 21:50
"pmichaud" at 76.183.97.54 pasted "stringifying floats loses #3" (19 lines) at nopaste.snit.ch/14064 21:51
NotFound pmichaud: "%.16g" 21:56
jonathan stares at pm's patch and tries to remember what on earth the --> operator is
moritz coercion?
purl i guess coercion is automagically letting one object act like another object when you need it to. See Param::Coerce for details
pmichaud isn't it a part of signatures?
i.e., specifying the return type?
jonathan OH! Yes, of course! 21:57
Duh.
:-)
sjn jonathan: is it the other end of the less-than-not-autodecremeter? ("<!--" :)
jonathan should get round to implementing the return type stuff at some point
pmichaud NotFound: won't %.16g cause me to always get floating point numbers with sixteen digits after the decimal?
jonathan sjn: where'd the 1 come from? ;-) 21:58
erm, !
moritz that's the 'not'
cognominal perl6: die unless 1
polyglotbot OUTPUT[Could not find non-existent sub unless␤current instr.: '_block11' pc 18 (EVAL_12:13)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1078 (src/PCT/HLLCompiler.pir:610)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1257 (src/PCT/HLLCompil...
moritz cognominal: works with a newer version of rakudo 21:59
jonathan rakudo: my $x = 42; say 40 <!--$x;
polyglotbot OUTPUT[0␤]
jonathan :-D
moritz omfg
jonathan rakudo: my $x = -1; say 40 <!--$x; # of course should be true 22:00
polyglotbot OUTPUT[0␤]
jonathan oh.
oh!
hmm.
moritz rakudo: say !-2
polyglotbot OUTPUT[0␤]
moritz ! is boolean
jonathan Yes. 22:01
Ah. I know what I menat to do. But anyways...
Duh. Fail!
NotFound pmichaud: trailing decimel zeroes are removed.
nopaste "pmichaud" at 76.183.97.54 pasted "stringifying floats loses #4 (%.16g doesn't work)" (19 lines) at nopaste.snit.ch/14065 22:02
dalek r31165 | moritz++ | trunk:
: [rakudo] add newly fudged pick.t to spectest_regression
diff: www.parrotvm.org/svn/parrot/revision?rev=31165
NotFound pmichaud: but of course, it must have enough internal precission to know they are zeros. 22:03
pmichaud NotFound: I'm wanting to take a Float and convert it into a valid literal for PIR 22:05
NotFound pmichaud: not an easy task to do the right thing in general. 22:06
pmichaud Perl does it :-) 22:07
moritz should be easy. Open RT 22:08
pmichaud I'm sending a message to the list
dalek r31166 | Whiteknight++ | trunk:
: [Book] Do some initial introductory work on PCT/PGE/NQP alphabet soup
diff: www.parrotvm.org/svn/parrot/revision?rev=31166
cotto_work pmichaud++ #I was wondering about that too
pmichaud afk, dinner 22:09
22:11 Andy joined 22:15 Limbic_Region joined
cotto_work Infinoid, ping 22:26
Infinoid hi cotto_work 22:27
22:27 Zaba joined
cotto_work nice lag! 22:27
Infinoid what's up? :)
cotto_work can you try re-running the code from rt.perl.org/rt3/Ticket/Display.html?id=53458 ?
It works for me on my cygwin setup (tm)
Infinoid sure, I can install mingw again and give it a try... I've reinstalled that box recently 22:28
cotto_work hmm. Do you think it's good enough to close the ticket if it works for me? 22:29
22:29 moritz joined
cotto_work meh. Give my history with testing, it'd probably be best for you to test it too. ;) 22:30
if you've got the time to test it, give me a ping when it's done.
Infinoid will do. will probably be tomorrow sometime 22:32
(if that's ok)
cotto_work sounds good
thanks
Infinoid and if you don't hear from me, flame me :P
cotto_work checks flame thrower fuel 22:33
looks good
purl O_O
22:48 cotto_w0rk joined
johbar heya :) 22:52
i finaly found some time to play around with parrot
i tryed cardinal
..\\..\\parrot.exe cardinal.pir test.rb
error:imcc:No such file or directory <NL> in file 'cardinal.pir' line 27 22:53
he's right. line 27: ".include 'src/gen_builtins.pir'"
there is no gen_builtins.pir 22:54
gen sounds like generated? did i forgott something?
particle make?
purl i heard make was awful really
particle yes, you forgot to make cardinal
cotto_work botsnack
purl :)
particle you want to run the pbc file, not pir 22:55
johbar ah ok. did that but didnt recognized the error message 22:57
nmake trys to fall back to make
particle what does that mean?
purl That boy needs therapy.
johbar C:\\parrot\\languages>nmake cardinal 22:58
--> 'mingw32-make' is not recognized as an internal or external command
make he get
particle cd cardinal
make
or nmake
nopaste "johbar" at 85.176.71.242 pasted "what is going wrong?" (17 lines) at nopaste.snit.ch/14066 23:20
jonathan johbar: We had something a bit like that happening in Rakudo. 23:22
Try just adding something else (like print statement, however that looks in Ruby) at the end of the program.
It's because it tries I think to check if a_song is true or something, back in HLLCompiler. 23:23
johbar ok. another thing: when i try to run test.rb from the svn nothing happens
jonathan OK, not sure about that - I don't work on and havne't tried Cardinal, I'm afraid.
But it doesn't seem like the Right Thing...
johbar yea 23:24
hm... i like the idea of parrot... but its like 3 years ago... nothing really works :( 23:31
maybe i get some freetime to contribute something useful 23:35