»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
quietfanatic rakudo: my Bool $flag = 1 00:42
p6eval rakudo 0d77e4: ( no output )
quietfanatic rakudo: my Bool $flag = 1; say $flag
p6eval rakudo 0d77e4: ( no output )
quietfanatic ...
s1n pmichaud: i built parrot and rakudo on my new laptop in ~15 minutes
nothingmuch in the Perl 6 grammar engine stuff, can you do a lookbehind past a comitted point? 04:14
TimToady nothingmuch: yes, the commitment is to some transaction in the dynamic context, not to a position 05:31
though of course it usually looks that way in the absence of lookbehind 05:32
azawawi hi 06:00
nothingmuch TimToady: are lookbehinds still restricted like in perl 5? 06:01
(in slurpyness, for lack of a better term)
i guess some of them could be compiled into bottom up like statements to be matched in parallel 06:02
kinda like an earley parser
but otherwise it sounds like there needs to be a possibility to at seek backwards in anything, which is a little strange for streams
results can never be lazy, right? 06:03
you'd need to start the parser and then let it finish (either with success or failure) per chunk to parse something continuuous, right?
TimToady nothingmuch: it's assumed the entire string parsed up till now is still available unless you've thrown it away explicitly 06:20
p6 works lookbehind by reversing the match, so it's not restricted like p5
see all the _rev routines in src/perl6/Cursor.pmc for the opcodes that run in reverse for lookbehind 06:22
sjohnson hi 06:25
azawawi any idea why rakudo fails to build on 2003 server 64-bit? gist.github.com/189558 06:28
and the 32-bit perl6 binaries fail to output/do anything on 64-bit also
so no stdout/files on 64-bit for 32-bit pre-built Six distribution, ahmadzawawi.blogspot.com/2009/09/ne...dater.html :( 06:30
moritz_ good morning 08:26
mberends hi moritz_ 08:28
viklund++ made some nice progress in proto/installed-modules 08:29
moritz_ great 08:30
mberends phenny, tell viklund pushed some more in proto/installed-modules
phenny mberends: I'll pass that on when viklund is around.
carlin is trying to get rakudo running on haiku 09:01
carlin almost got it I think 09:02
carlin It worked :-D 09:20
azawawi hi 09:38
moritz_: ping 09:40
moritz_ azawawi: pong 10:04
viklund good day all
phenny viklund: 08:30Z <mberends> tell viklund pushed some more in proto/installed-modules
viklund ahh 10:05
azawawi viklund: hi there
viklund hello azawawi, have you managed to do anything to nvmbr yet?
azawawi viklund: no, not yet.. i have been busy closing Padre tickets... 10:07
viklund: so i fork november and then push changes right?
viklund ah, most probably time well spent 10:08
azawawi: you don't have to fork, just clone with the "clone url" and push
azawawi viklund: i see
viklund and create a branch
azawawi viklund: thanks
viklund there are really good documentation on the github site (short and to the point)
viklund needs to close some tabs (too many youtube videos...) 10:09
github.com/guides/push-a-branch-to-github 10:10
no update? 10:12
oh, well
azawawi i will try it soon 10:14
thanks 10:15
viklund ahh, found update 10:19
lets do "uninstall"
moritz_ is installing so far that it needs testing from others? 10:22
viklund I believe that it is, yes. 10:23
there are som projcets (november i'm staring at you) that haven't been updated for installed parrot/rakudo yet though 10:24
they wants perl6.pbc in RAKUDO_DIR (whatever that is)
moritz_ what's the new policy? expect a perl6 in path?
viklund I'm not sure, but proto managed to guess where my perl6-exe was somehow 10:26
and I didn't have it in my path
hmm, should we build projects without a Makefile? 10:27
moritz_ please, yes 10:28
viklund as it is now, the .pm-files are only copied
moritz_ that's a start
mberends hi viklund, proto/installed-modules uses a 'Perl 6 executable' setting from config.proto 10:29
viklund yes, I know that
it was how it managed to guess the right place in config.proto that I don't know
viklund is reading the source 10:30
nothingmuch TimToady: so how do you throw it away explicitly? by breaking it up into smaller pieces and parsing those?
mberends proto often installs Rakudo for you, so it knows where that happened
viklund but I installed rakudo meself... 10:31
ahh, I installed it where proto thought it should be ;)
moritz_ nothingmuch: maybe you do with <( and )> (not sure though 10:32
)
nothingmuch i think you can look behind past that, can't you?
mberends viklund: proto:267 export PERL6EXE before running proto 10:33
viklund yes, I didn't have that 10:34
mberends viklund: or assume rakudo and proto are sibling directories 10:34
viklund they were
mberends then it's automagic
proto:275-278 10:37
viklund mberends: yes I know, that's what I was looking at when saying 'ahh, I installed it...'
to test a project it should be in state 'built', any other state that is eligible for testing? 10:40
mikehh rakudo (2c40a5b) builds on parrot r41374 - make test / make spectest (up to 28320) PASS - Ubuntu 9.04 amd64 10:41
viklund s/is/are/
mberends viklund: always 'built', and 'build' is allowed to be a no-op that still passes 10:43
viklund good 10:44
mikehh I still get the occaisional Non-zero wait status: 11 exit (a couple of hours ago) but when I reran the tests it didn't occur
viklund so we don't test installed things? 10:45
or should test be able to test any state that can come after built 10:49
mberends viklund: I've been wondering about testing after install as well, a kind of integration testing. Current testing happens only in the cache/$project directories, and that cannot be dropped. 10:51
if you have installed a project and test it again, it should just test in the cache/$project directories again 10:52
viklund and testing when updating
moritz_ perlgeek.de/en/article/5-to-6 # a page containing all the perl-5-to-6 blog posts in chronological order 10:53
mberends viklund: yes, that's in the rewritten TODO step 12
viklund ah
mberends viklund: thanks to your contribution to method install(), and in the spirit of "release early, release often" it looks like the installed-modules branch is almost in a shape that can be merged into master. We can probably delete all the [DONE] items and work on the remaining TODO items in master, unless masak++ has a reason to hold back. 10:59
pugs_svn r28321 | moritz++ | [perl6.org] link to one-page "Perl 5 to 6" series, as suggested by TimToady++ 11:00
nothingmuch ah <cut> 11:06
viklund nice. 11:13
viklund now I need to go 11:13
mberends: nice
moritz_ viklund++ mberends++ 11:14
carlin only one failed spectest on Haiku 11:20
pugs_svn r28322 | carlin++ | [S02-magicals] Added haiku as a known/tested OS. Test results were as expected. 11:22
moritz_ carlin++
moritz_ carlin: I'm curious, how do you like haiku so far? 11:28
carlin moritz_: It's not too bad. Definitely a stable system but not a linux replacement (yet, anyway ;-) ) 11:30
moritz_ reading their homepage it seems like they want to create an open source alternative to MacOS X 11:37
moritz_ a software stack all from one supplier, with usability in mind 11:37
jnthn Is it just be who gets an error when tyring to reply to something on use.perl.org? 11:50
"You are not allowed to use this resource." 11:51
moritz_ are you logged in?
masak 11:52
jnthn ah, no, but it didn't prompt me to either
moritz_: thanks, works after logging in 11:53
what a pos
masak jnthn: I've had silent failures lately with use.perl :( 11:56
feels like a hard drive is full somewhere or something.
moritz_ it's time I get perlblog.org working for everybody 11:57
jnthn perlblog.org++ 11:58
masak moritz_: 'General blog about Perl and Perl 6' -- maybe 'Perl 5 and Perl 6'?
moritz_ masak: the headline isn't anything that's going to stay, I think 11:59
masak oki.
masak carlin: but... which spectest was it that failed on Haiku? :) 12:02
masak carlin: and, more importantly, will you blog about how you made Rakudo work on Haiku? 12:03
carlin masak: the spectest that I fixed by adding haiku as a known OS :) 12:03
and yes, currently working on the blog post
masak carlin++ carlin++ 12:04
mberends "shut down Windows to prevent damage to your computer" - from the horse's mouth too ;) 12:16
jnthn
.oO( is that a real error?! )
12:17
masak wouldn't surprise me in the least.
masak food & 12:17
viklund std: say 1 12:27
p6eval std 28322: OUTPUT«ok 00:02 37m␤» 12:28
moritz_ vijs: say 1 12:29
p6eval vijs 28322: OUTPUT«1␤␤ time in interpreter: 0.006691 s␤»
moritz_ vijs: print 1
p6eval vijs 28322: OUTPUT«␤ time in interpreter: 0.004773 s␤»
diakopter rakudo: my $a=1; say ($a++)++; say $a 13:00
p6eval rakudo 0d77e4: OUTPUT«1␤2␤»
moritz_ that's wrong, of course 13:01
diakopter should say...?
moritz_ "Can't modify read-only value of type Int at ..." 13:01
diakopter known bug? 13:02
moritz_ yes
diakopter lovely; I spent a while yesterday trying to mimic rakudo. :)
finanalyst hello everyone. I have been getting lots of segmentation faults recently. i havent been able to narrow it down. any one with similar experience? 13:03
moritz_ :)
finanalyst i mean more seg fault in last few days
moritz_ finanalyst: did you update to the latest rakudo? It should be fixed in the release version... oh, never mind then
finanalyst i'll try again with real clean
diakopter moritz_: what about $a++++ 13:06
moritz_ diakopter: same 13:07
diakopter whee
makes impl *much* easier. :) 13:08
moritz_ (at least if it parses the same)
diakopter what about this error message? close enough for now? execute(): execute error: TypeError: Object 4 has no method 'increment' at ./viv line 139. 13:10
kidding, mostly :)
moritz_ diakopter: it's call .succ for ++ and .pred for --
the error message is LTA ;-) 13:11
carlin theintersect.org/2009/rakudo-in-17-syllables/ # For anyone interested in getting Rakudo working on Haiku
diakopter LTA? 13:13
moritz_ less than awesome
diakopter heh :)
hadn't heard that one.
pugs_svn r28323 | moritz++ | [irclog] add LTA and LTM to abbreviation database
diakopter har 13:14
finanalyst moritz_: still getting seg faults. deleted parrot & parrot-installed directories, make realclean, git pull and then remade rakudo 13:30
any suggestion as to how to what might be causing it so i can try to localise code 13:31
?
Juerd Could planet.perl6.org be made to redirect to planetsix.perl.org?
jnthn finanalyst: what platform? can you use a debugger to get us a stacktrace? 13:55
finanalyst jnth: ubuntu. i've tried installing a debugger, without much success 13:56
i'll try again. any preferences?
TiMBuS you can just use gdb for a stacktrace
jnthn yup, I almost typed gdb and then considered you might be on a platform without it :-) 13:57
TiMBuS ubuntu has it in the build-essentials list 13:58
jnthn :-)
TiMBuS personally i cant use gdb for anything past dumping a stacktrace. i kinda get lost without a gui 14:01
finanalyst ok. so how is best to use it. i have a script that takes a variety of arguments. so gdb perl6 script.p6 arg1 arg2
carlin gdb --args programname arg1 arg2
I think
TiMBuS or from inside gdb 'run script.p6 arg1 arg2' 14:04
TiMBuS after starting it with 'gdb perl6' 14:04
finanalyst ok so far. with --args
now what? 14:05
TiMBuS once it segfaults type 'bt' and there you have it, a backtrace.
finanalyst ok
TiMBuS oh, youll have to type run first 14:06
with no args
finanalyst its running. thanx
now just have to provoke a seg fault
colomon pmichaud, moritz_: I will be away on vacation this week, and probably out of contact, but I will take the laptop and keep plugging away on the trig functions. 14:24
TimToady nothingmuch: in theory <cut> commits and throws away the preceding material, but no one implements it yet because it changes all your string offsets 14:30
lisppaste3 finanalyst pasted "seg fault stack trace" at paste.lisp.org/display/87352 14:35
finanalyst jnthn: stack track in no paste 14:36
jnthn finanalyst: ooh, never seen one like that before 14:37
finanalyst it is also irritatingly random. I cant work out quite what provokes it 14:38
jnthn: which no paste? I used the link in the channel topic 14:39
jnthn finanalyst: I meant the stack trace. ;-) 14:40
I've seen quite a few Parrot stack traces.
But that one looks unfamiliar
oh, unless it's just an existing issue showing up... 14:41
finanalyst i have no clue as to how to decode it
jnthn ...but differently.
are you throwing exceptions in your code?
finanalyst not explicitly
jnthn Hmm 14:42
it may or may not be something related to exceptions and nested runloops. not sure off hand.
azawawi hi 14:42
jnthn: ping 14:43
finanalyst jnthn: it does seem to be related to loops, as increasing the upper iteration limit seems to affect it 14:44
jnthn azawawi: pong 14:46
diakopter TimToady: did you decide on the $routine.invoke() question 14:47
azawawi jnthn: two issues, im not able to build perl6 on x64 2003 server, and a pre-built 32-bit perl6 binary does not do anything on the same platform 14:48
jnthn: build log pastebin.ca/1572708
jnthn: seattle tarball
jnthn azawawi: looks like a segv 14:50
azawawi jnthn: strange but also perl6 32-bit binary does not output anything... 14:51
jnthn: parrot hello.pir works there
jnthn azawawi: I suspect Parrot 64-bit issue, as a first guess.
azawawi jnthn: perl hello.pl => nothing, no output, not writing,
jnthn: sorry perl 6 hello.pl 14:52
perl6 :)
jnthn Do you have a debugger to hand?
azawawi jnthn: gdb is not installed by default
jnthn: with strawberry
jnthn ah 14:53
It's a mingw build there, ok.
azawawi let me see if i can get it installed
jnthn *nod*
jnthn tends to build with MS VC+
carlin 'night all
azawawi installs gdb 14:59
jnthn: gdb installed 15:03
masak rakudo: Object.new but role {} 15:08
p6eval rakudo 2c40a5: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/g182D36KU4:2)␤»
masak submits rakudobug
fancy that, a self-contradicting error message. 15:09
rakudo: role R {}; Object.new but R; say "Alive!" 15:11
p6eval rakudo 2c40a5: OUTPUT«Alive!␤»
masak workaround.
jnthn masak: I think the more general issue is that anonymous roles are a fail. 15:13
masak yes, ISTR previous skirmishes with them.
jnthn rakudo: my $x = role { }; say $x.WHAT
p6eval rakudo 2c40a5: OUTPUT«Code()␤»
jnthn aye
just nyi
but should be easy.
JimmyZ rakudo: ( * * * )(2).say;
p6eval rakudo 2c40a5: OUTPUT«4␤»
jnthn just not gotten around to it yet. 15:14
JimmyZ rakudo: ({$_ * $_})(2).say;
p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤invoke() not implemented in class 'Float'␤in Main (/tmp/3WJCvzSaRM:2)␤»
masak no rush.
diakopter rakudo: ( * ** * )(2).say;
p6eval rakudo 2c40a5: OUTPUT«4␤»
JimmyZ Is this a bug too ?
masak JimmyZ: no, why?
JimmyZ masak: * * * translates to { $_ * $_ }. 15:15
masak JimmyZ: but bare closures are executed immediately, no?
JimmyZ yes 15:15
diakopter rakudo: (sub {$_ * $_})(2).say;
p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤0␤»
JimmyZ masak: the words is from S02, and I understood it directly. 15:16
diakopter jnthn: could you point me to ruoso's metaclass writings 15:18
azawawi jnthn: for parrot.exe i can debug it, for perl 6 under vista 32-bit, i get segfault; even though it is working...
jnthn: i even tried gdb> run -e "say 1;" 15:19
jnthn: and it segfaults on win32 32-bit
jnthn wow, ouch
diakopter: maybe you mean www.perlfoundation.org/perl6/index....mop_oo_api
azawawi jnthn: pastebin.ca/1572943 15:20
jnthn: that's on vista 32-bit
JimmyZ rakudo: (-> $_ {$_ * $_})(2).say; 15:21
p6eval rakudo 2c40a5: OUTPUT«4␤»
JimmyZ masak: it translates to -> $_ { $_ * $_ } 15:22
masak aye. 15:23
JimmyZ masak: just from S02, * - 1 means -> $x { $x - 1 }
masak aye.
JimmyZ rakudo: $_ = 2; (* - 1).say; 15:24
p6eval rakudo 2c40a5: OUTPUT«!whatever_closure␤»
azawawi jnthn: is this a win32-only issue, can u try gdb per6 and gdb> run -e "say 1;" on *inux ? 15:25
jnthn: s/per6/perl6
masak rakudo: $_ = 2; { $_ - 1 }.say
p6eval rakudo 2c40a5: OUTPUT«_block52␤»
masak rakudo: $_ = 2; { say $_ - 1 }
p6eval rakudo 2c40a5: OUTPUT«1␤»
JimmyZ rakudo: $_ = 2; -> $_ { $_ - 1 }.say; 15:26
p6eval rakudo 2c40a5: OUTPUT«_block52␤»
JimmyZ rakudo: $_ = 2; (-> $_ { $_ - 1 }).say;
p6eval rakudo 2c40a5: OUTPUT«_block52␤»
JimmyZ rakudo: $_ = 2; (-> $_ { $_ - 1 })(5).say;
p6eval rakudo 2c40a5: OUTPUT«4␤»
JimmyZ rakudo: $_ = 2; ( * - 1 )(5).say; 15:27
p6eval rakudo 2c40a5: OUTPUT«4␤»
JimmyZ masak: should S02 be updated for it? 15:28
JimmyZ masak: It lost '-> $_' 15:28
masak er, the '-> $_' is implicit. 15:29
I'm sure the spec says that somewhere.
diakopter jnthn: thanks; I meant his metaclass proposal(s) you were generally agreeing with recently 15:30
JimmyZ yes, but with different meaning
jnthn azawawi: I only have MS VC++ here to hand, I'm afraid
(travelling at the moment)
JimmyZ masak: somewhere was with '-> $_', but somewhere not. 15:30
azawawi jnthn: oh well, i tried :) 15:31
jnthn: thanks
jnthn diakopter: diakopter: that's what I linked you to
diakopter jnthn: cool; thank you
jnthn azawawi: given somebody did post a backtrace from Linux earlier today though...
masak JimmyZ: I don't think that's a problem. the '-> $_' is implicit.
jnthn ...I suspect that's not the issue.
I think it'[s win32-specific
JimmyZ masak: ok ;)
masak: so why ( { $_ * $_ } )(2).say; should be worked correctly? 15:32
masak: I am a bit confused. 15:33
masak: s/why//
masak JimmyZ: me too. let me think about it for a bit.
JimmyZ masak++
masak rakudo: my $a = { $_ * $_ }; say $a 15:34
p6eval rakudo 2c40a5: OUTPUT«_block52␤»
masak rakudo: { $_ * $_ }
p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤»
masak rakudo: ({ $_ * $_ })
azawawi jnthn: gdb perl6; gdb> run -e "say 1;" with backtrace... pastebin.ca/1572951
p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤»
masak rakudo: ({ $_ * $_ })(2)
p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤invoke() not implemented in class 'Float'␤in Main (/tmp/lju3q8ddNL:2)␤»
masak JimmyZ: I think it's the parentheses. they make the block parse as a bare block, to be executed at once. 15:35
masak walk & 15:36
JimmyZ masak: so where is the problem? 15:36
Spec or we ?
azawawi JimmyZ: he went for a walk...
JimmyZ azawawi: I see ;) 15:37
azzwawi: go to sleep; night.
allbery_b this block behavior makes sense to me; the topic isnt automatically set in a bare block. or am I misunderstanding the focus on $_? 15:41
mberends hi opensourcer 15:42
jnthn -> sleep 15:53
cognominal does anyone know the v6.pm used by dukeleto in blizkost? 15:58
moritz_ cognominal: 'use v6;' is what you say to declare that your code is Perl 6 code 15:58
cognominal: it doesn't necessary mean that there's a v6.pm lying around 15:59
cognominal but in blizkost/t/02-eval.t my tests are never executed because on such file 16:01
moritz_, I can't figure to integrate my tests in the blizkost harness. With leto corrections they are just skipped 16:02
moritz_ I'm a bit confused by that file 16:03
if I remove that BEGIN block and replace it by 'use v6', then rakudo can run the tests
allbery_b "use v6;" is a pragma, and must come first in the file 16:04
cognominal cool, that's what I want
allbery_b hm, never mind, I'm not paying close enough attention tot he channel
moritz_ there is a v6.pm by fglock++ on CPAN, but I doubt that it works together with blizkost very nicely 16:05
correction: the first 3 tests work for me
after that it dies with Method 't' not found for invocant of class 'P5Scalar'
cognominal the problem is that blizkost harness is designed to execute perl5 code and that these tests are perl 6 code 16:06
cognominal anyway, the evals works individually on a perl6 shell but when I ran my original 02-eval.t, the garbage collecting reclains stuff too early and it crashes 16:10
moritz_ cognominal: why not add a perl6/ dir to t/ and special case it in t/harness? 16:12
cognominal I don't know well enough the harness stuff...
today I will try to fix the crash I just described 16:13
aquamacs-- # unable to run gud for gdb 16:14
cognominal interestingly enough the crash happens when I do ' parrot perl5.pir t/02-eval.t ' and not ' perl6 t/02-eval.t ' on my original 02-eval.t file 16:20
ruoso boa tarde, #perl6 16:32
pugs_svn r28324 | fglock++ | [mp6] Javascript bool() fixes 16:32
ruoso decided to finally start writing S08 16:39
cognominal ruoso: what would that be? 16:46
ruoso Capture and Parcel
cognominal good, I don't yet understant that stuff, number are chapter of Programming Perl? 16:47
*numbers are chapters 16:48
ruoso yes... it replaces references (although the numbers don't map that well anymore) 16:49
ruoso lmc, boa tarde ;) 16:52
diakopter ruoso: what's a Parcel 16:53
lmc ruoso:
ruoso: boas
ruoso it's a Capture without named arguments
diakopter a mere "box"? 16:54
lmc ruoso: quais são as novidades? bom te ver por aqui. O Perl6 precisa de ajuda... ;)
ruoso a lazy list, if you want to call it that way
lmc, toda ajuda é bem vinda ;)
hugme, huh lmc 16:55
hugme, hug lmc
hugme hugs lmc
lmc hugs hugme
que poético...
ruoso hugme can also give you a commit bit if you like
diakopter it can? 16:56
ruoso at least I understood that
lmc hugme, give me a commit bit
pugs_svn r28325 | ruoso++ | [spec/S08] started writing the introduction;
ruoso fatherhood calls... later& 16:57
cognominal ruoso, I find scary that thing "everything is an object", I interpret it as meaning one can't JIT a routine manipulating only ints. 17:01
hum, I suppose that's a degenerate case that can bypass all the said mechanisms 17:02
moritz_ well, first there's a distinction between int and Int
the former is much easier to JIT, I presume
because you can know its storage type simply by the type declaration 17:03
cognominal yes, I know that rakudo does only int so far. 17:04
I meant Int
ruoso but nothing stops a JIT from detecting that there are only known implementations and go through shortcuts
moritz_ aye
cognominal: second point is, most dynamic languages are JITted like this: in a loop the optimizer assumes that that each variable holds the same type in each iteration... 17:05
and if that assertion is validated, it it breaks out of the optimized loop
that assumption holds about 95% when applied to integers
cognominal I hope rakudo star will get ints and JIT so it will not be criticized to be slow in stuff like fibonacci.
moritz_, interesting 17:06
moritz_ I hope so too, but I'd be quite surprised if it actually would
cognominal I don't remember seeing it in the plans
moritz_ cognominal: steve-yegge.blogspot.com/2008/05/dy...-back.html (the video to the talk should be also findable) 17:08
(it's quite a bit ranty at times, but it was fun to watch, IMHO) 17:09
ruoso moritz_, would you mind giving lmc a commit bit? I would, but my son started calling ;)
moritz_ sure I can 17:10
cognominal moritz_, thx. I have also read the stuff about v8 that stores object in a table instead of a hash when possible. We will eventually get the best of each wolrd, static _and_ dynamic 17:11
moritz_ lmc: could tell (or /msg) me your email address and desired nickname?
lmc: then I can give you a commit bit (for the pugs repo that holds the specs, tests, smop, STD.pm, ...)
lmc moritz_: nevermind -- I am actually more interested in being a user than a committer. I will ask again whenever I have bugfixes or other contribuitions, ok? Thanks for your availability. ;) 17:12
moritz_ sure.
abbe hi everyone 17:19
rindolf Hi abbe
abbe so can I use perl6 modules with rakudo perl ? 17:20
moritz_ yes
rakudo: use Test; plan 1; ok 1, 'it works'; 17:21
p6eval rakudo 2c40a5: ( no output ) 17:22
moritz_ ugh
that was a timeout on the server
abbe moritz_: oh, okay, so i've to install the modules somewhere in private directory ? or default system path takes care of it ?
moritz_ abbe: currenltly rakudo searches in the current dir, in the installation dir, and in the paths you specify in the PERL6LIB env variable 17:23
you can also do BEGIN { @*INC.push: '/path/to/modules/lib' }; use Your::Module; 17:24
abbe okay.
thanks moritz_
moritz_ oh, it also searches in ~/.perl6/lib/
and proto has an experimental branch that installs modules into ~/.perl6/lib/
pugs_svn r28326 | diakopter++ | [vijs] implement Autoincrement, parentheses (grouping/semilist, essentially), Int .succ and .pred; add more visible Type tag as a key to each AST node 17:25
diakopter vijs: my $var=4; say ($var++;$var++); say "$var $var"; say --$var; say $var--; say $var; 17:33
p6eval vijs 28325: OUTPUT«5␤6 6␤5␤5␤4␤␤ time in interpreter: 0.024546 s␤»
diakopter considering throwing the BigInt library in there 17:35
moritz_ Juerd: re planet.perl6.org: good idea. I contacted the holder of perl6.org and asked him for a catch-all subdomain, so that I we can make such redirects on feather easily 17:36
then we can also make rakudo.perl6.org -> rakudo.org and other such fun 17:37
kidd what is vijs ? 17:44
diakopter Perl 6 implementation on V8 (linked to Perl 5 using Larry's STD parser) in JS
linked to Perl 5 *and* using Larry's STD parser, I mean 17:45
kidd thanks. I never heard of it
diakopter it's new this week
or something.
so maybe it'll be done in a decade or 3. :) 17:46
kidd heh ok . I'll wait :)
diakopter (sorry, just trying to tamp the expectations)
moritz_ don't wait - help ;-)
kidd yeah, I should, the problem is always the same... lack of skills ... but well, one of these days I might jump in and try to make something useful 17:49
btw, should vijs be mentioned in perl6.org/compilers/ ?
diakopter I was going to wait until it can "run" the spectest suite 17:50
and probably get a better name
moritz_ and I was going to wait until it had a website that I could link to ;-)
diakopter e.g. 6js isn't any better :P
also, it doesn't really do any compiling; other than serializing STD's AST, but that doesn't count. 17:52
moritz_ well, you throw a source code in and throws js out
that's some form of compiling, no?
diakopter it emits only the serialization of the AST, in json-ish. 17:53
which is then "eval"d by V8, and then the AST is walked/interpreted
fglock's Perl 6 compiler actually compiles to JS...
fwict 17:54
cognominal what's the name of fglock's compiler?
moritz_ I don't see why "serialization of AST" is not compilation
cognominal: mp6
diakopter b/c it's unenlightened; there's zero optimization that occurs; it's just a different representation. viv does far more "compiling" (hoisting ast nodes, rearranging, categorizing) 17:55
moritz_ compilation doesn't have to be enlightened or optimized 17:56
diakopter ok; whichever :)
rakudo: my $a=3; say $a + "a" # is this right? 17:58
p6eval rakudo 2c40a5: OUTPUT«3␤»
diakopter pugs: my $a=3; say $a + "a" # is this right?
p6eval pugs: OUTPUT«3␤»
diakopter elf: my $a=3; say $a + "a" # is this right?
p6eval elf 28326: OUTPUT«Argument "\x{61}" isn't numeric in addition (+) at (eval 124) line 4.␤3␤»
diakopter mp6: my $a=3; say $a + "a" # is this right?
kp6: my $a=3; say $a + "a" # is this right?
vijs: my $a=3; say $a + "a" # is this right?
p6eval vijs 28326: OUTPUT«execute(): execute error: Additive not yet implemented; srsly!!?!? at viv line 137.␤»
moritz_ 3 is certainly the correct answer 17:59
diakopter ok... Additive always uses the left operand as its "invocant" (for destination type)? 18:00
moritz_ no
it's not a method call
it's a sub call
diakopter I know; I'm just calling it that as a metaphor 18:01
moritz_ by default the return type is always numeric
diakopter Num? ok.
moritz_ the infix:<+>(Any, Any) just coerces both args to numbers and adds them 18:02
well, Int + Int -> Int
diakopter rakudo: my $a=3; say $a.WHAT, ($a + $a).WHAT
p6eval rakudo 2c40a5: OUTPUT«Int()Int()␤»
diakopter ok
rakudo: my $a=3; say $a.WHAT, ($a + "3").WHAT 18:03
p6eval rakudo 2c40a5: OUTPUT«Int()Num()␤»
moritz_ I guess prefix:<+> isn't magical enough in Rakudo yet
diakopter looks for masak to bugrakduo 18:05
or bugrakudo
moritz_ it's already known and submitted, iirc
diakopter o 18:08
pugs_svn r28327 | diakopter++ | [vijs] implement Additive (Int only, still, of course :) 18:10
r28328 | diakopter++ | [vijs] make subtraction work 18:14
moritz_ vijs: say 3+4 18:16
p6eval vijs 28326: OUTPUT«execute(): execute error: TypeError: Object 3 has no method 'do_Additive' at viv line 137.␤»
diakopter variables only; working on literals
moritz_ vijs: my $x = 3; say $x + $x
p6eval vijs 28326: OUTPUT«6␤␤ time in interpreter: 0.012600 s␤»
moritz_ vijs: my $x = 3; say $x + 3
p6eval vijs 28326: OUTPUT«6␤␤ time in interpreter: 0.012335 s␤» 18:17
moritz_ vijs: my $x = 3; say $x - 7
p6eval vijs 28326: OUTPUT«-4␤␤ time in interpreter: 0.012045 s␤»
abbe i'm getting a compiler error ( paste.lisp.org/display/87369 ) when building from cloud.github.com/downloads/rakudo/r...-08.tar.gz 18:19
i'm building on arch gnu/linux (amd64) with parrot 1.6 18:20
moritz_ never seen that error before 18:20
abbe: ah, wrong parrot version 18:21
abbe: rakudo 2009-08 needs parrot-1.5, rakudo 2009-09 needs parrot-1.6
abbe moritz_: oh, okay. thanks.
moritz_ parrot isn't yet stable enough to ensure longer compatibility ranges 18:22
pugs_svn r28329 | diakopter++ | [vijs] Int Additive works on literals & variables 18:25
abbe moritz_: done, thanks. 18:27
is there any perl6 beginner's guide/tutorial, somewhere ? 18:28
moritz_ abbe: do you know Perl 5?
abbe yes, moritz_ 18:29
moritz_ abbe: then perlgeek.de/en/article/5-to-6 should be a good start 18:30
(disclaimer: I wrote it)
moritz_ I also found www.programmersheaven.com/2/Perl6-FAQ quite helpful 18:31
abbe moritz_: thanks, i'm sure it would be good.
cognominal jonathan++ 18:32
moritz_ ok, planet.perl6.org now redirects to planetsix.perl.org 18:45
qp_pq the parrot channel ? 18:49
where is it ?
avuserow #parrot on irc.perl.org
diakopter std: (a,b) 19:19
p6eval std 28329: OUTPUT«Undeclared routines:␤ a used at 1␤ b used at 1␤ok 00:02 38m␤»
diakopter std: (a,b)[0]
p6eval std 28329: OUTPUT«Undeclared routines:␤ a used at 1␤ b used at 1␤ok 00:03 38m␤»
diakopter TimToady: heads nor tails of --ast '(3)[0]' # it's a Methodcall, but .arg is just the invocant, and POST is the postcircumfix__S_Bra_Ket .... is that right? 19:24
TimToady I'll have to look at it later; family going out to lunch right now... 19:29
munchings and crunchings & 19:30
rindolf Hi TimToady 19:33
TimToady: Shanah Tovah.
TimToady: in case you commemorate the Jewish year.
pugs_svn r28330 | diakopter++ | [vijs] implement List_assignment, barebones Array 19:46
mikehh rakudo (2c40a5b) builds on parrot r41380 - make test / make spectest (up to 28329) PASS - Ubuntu 9.04 amd64 19:56
moritz_ vijs: my @a = 2, 3, 'foo'; say @a, @a 20:06
p6eval vijs 28330: OUTPUT«23foo23foo␤␤ time in interpreter: 0.016182 s␤»
moritz_ diakopter++ 20:07
viklund ehm, bug in proto (I think) 20:09
in method sig, what does this mean method s(:stuff!) 20:10
moritz_ it's a required named parameter
viklund does that mean required named param stuff
ok, and if there's no named parameter, but only an unnamed one 20:11
it takes the unnamed?
moritz_ it should not :)
viklund ahh
so this is a bug: 20:12
rakudo: sub t(:$a!){say $a}; t(1)
p6eval rakudo 2c40a5: OUTPUT«1␤»
moritz_ aye 20:13
parrot--
viklund proto depends on that bug :p
moritz_ proto-- 20:14
viklund codepaths not walked before I can see...
Ecosystem wants cache-dir in new, got perl6lib... 20:15
probably leftover from master-branch 20:16
lisppaste3 moritz_ pasted "proto fails to install itself (install-modules branch)" at paste.lisp.org/display/87384 20:20
moritz_ viklund: any idea why the above happens?
viklund yes
or no
moritz_ cache/ is empty
viklund hmm, need to think
it failed to refresh... 20:21
building is a no-op when there's no Makefile
aaah, it thinks that proto exists in cache for some reason and when it doesnt it fails BEFORE it starts to refresh 20:22
moritz_ any quick workarounds?
viklund how does your projects.state look like?
s/how/what//
moritz_ proto:\n state: installed
viklund aah, there you go, remove that 20:23
should work
moritz_ tries
viklund
.oO( famous last words )
moritz_ same as before :(
viklund hmm
moritz_ tries to install a different module
viklund do you have proto in your $PERL6LIB ?
no, shouldn't matter... 20:24
moritz_ no
viklund hmm
moritz_ he 20:25
I found another bug
viklund great!
moritz_ I did a 'install svg-plot'
that has a dependency, svg
it built svg, and installed svg-plot, but it didn't install svg
viklund ahh 20:26
I can see how that happened
install only installs what's on the command line, but it fetches and builds all deps ;)
moritz_ that's LTA ;-) 20:27
viklund LTA? 20:28
moritz_ less than awesome
viklund yes
hmm, I'll look into that once I've finished my first draft of the uninstall command 20:29
I think to fix that fetching and building should be separated as well... 20:30
moritz_ ./proto install svg; ./proto install svg-plot; perl6 -e 'use SVG::Plot; use SVG; say SVG.serialize(SVG::Plot.new(title => "foo", values => ([(1..4).list], [(1..4).map: * ** 2])).plot(:lines))' > plot.svg && inkview plot.svg 20:37
viklund ;) 20:38
viklund refreshing svg... 20:49
moritz_: nice plot ;)
moritz_ well, it showed me two bugs (more or less) in SVG::Plot 20:52
for one the y axis is drawn starting from 1, but the 0 label is still plotted 20:53
moritz_ and secondly the labels on the x axis are 90° rotated, and that looks oh-so-wrong 20:53
viklund yes, well, details ;) 20:56
at least you were able to install using proto, that makes me happy
moritz_ me too 21:00
viklund pushed uninstall 21:04
time to clean up the kitchen 21:05
o/
moritz_ \o
diakopter moritz_: from looking at the Test.pm whose url you pasted 21:20
the one from mp6, I think
it creates the tap output...
but what reads it
moritz_ prove 21:23
or Test::Harness
diakopter looks
moritz_ perl5's prove has a --perl or --exec option 21:24
for which you can just provide './viv --js'
diakopter oops 21:28
diakopter moritz_: prove runs all the t\* ? 21:29
moritz_ diakopter: depends on what options you give it
diakopter lol. 21:53
diakopter std: [][] 22:14
p6eval std 28330: OUTPUT«ok 00:02 37m␤»
diakopter std: [*][*] 22:16
p6eval std 28330: OUTPUT«ok 00:02 37m␤»
diakopter std: [*][*][*] 22:36
quietfanatic std: [*][*][*]
diakopter erm
p6eval std 28330: OUTPUT«ok 00:02 37m␤»
quietfanatic glares
diakopter std: ***[*][*][*]*** 22:37
p6eval std 28330: OUTPUT«ok 00:02 37m␤»
quietfanatic rakudo: my $*a = 1; do {$*a = 2}; say $*a 22:50
p6eval rakudo 2c40a5: OUTPUT«2␤»
quietfanatic rakudo: sub A {$*a = 2}; my $*a = 1; A; say $*a 22:53
p6eval rakudo 2c40a5: OUTPUT«2␤»
pugs_svn r28331 | ruoso++ | [spec/S08] section that differentiates Parcel from Capture 22:56
diakopter rakudo: do { my $*a = 1; sub A { say $*a}; do {my $*a = 2; A; }; say $*a } 22:58
p6eval rakudo 2c40a5: OUTPUT«2␤1␤»
pugs_svn r28332 | ruoso++ | [syn_index] reference the new S08 23:00
ruoso std: my $a = 1,(2,(3,(4))); say $a[1;1;1;1]; 23:24
p6eval std 28332: OUTPUT«ok 00:03 39m␤»
ruoso pugs: my @@a = 1,(2,(3,(4))); say $a[1;1;1;1];
p6eval pugs: OUTPUT«*** ␤ Unexpected "["␤ expecting "::"␤ Variable "$a" requires predeclaration or explicit package name␤ at /tmp/Yl4qEdJdvC line 1, column 31␤»
ruoso pugs: my @@a = 1,(2,(3,(4))); say @@a[1;1;1;1];
p6eval pugs: OUTPUT«*** ␤ Unexpected ";"␤ expecting "_", fraction, exponent, term postfix, operator or "]"␤ at /tmp/nHIjf3H4qw line 1, column 34␤» 23:25