Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-09-20

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:27 patspam1 joined #perl6
00:27 alester joined #perl6
00:31 tak11 joined #perl6
00:42 quietfanatic rakudo: my Bool $flag = 1
00:42 p6eval rakudo 0d77e4:  ( no output )
00:42 quietfanatic rakudo: my Bool $flag = 1; say $flag
00:42 p6eval rakudo 0d77e4:  ( no output )
00:42 quietfanatic ...
00:42 s1n pmichaud: i built parrot and rakudo on my new laptop in ~15 minutes
00:44 patspam1 joined #perl6
00:52 maja_ joined #perl6
01:23 alester joined #perl6
01:43 payload joined #perl6
01:55 fengc joined #perl6
02:35 msmatsko joined #perl6
02:46 TiMBuS joined #perl6
02:56 FOAD_ joined #perl6
03:12 kent\n joined #perl6
03:32 fengc joined #perl6
03:53 ascent_ joined #perl6
04:14 nothingmuch in the Perl 6 grammar engine stuff, can you do a lookbehind past a comitted point?
04:15 frew__ joined #perl6
04:47 finanalyst joined #perl6
05:08 Zloyrusskiy joined #perl6
05:14 petdance joined #perl6
05:18 petdance joined #perl6
05:31 punter joined #perl6
05:31 punter left #perl6
05:31 TimToady nothingmuch: yes, the commitment is to some transaction in the dynamic context, not to a position
05:32 TimToady though of course it usually looks that way in the absence of lookbehind
05:40 meppl joined #perl6
06:00 azawawi joined #perl6
06:00 azawawi hi
06:01 nothingmuch TimToady: are lookbehinds still restricted like in perl 5?
06:01 nothingmuch (in slurpyness, for lack of a better term)
06:02 nothingmuch i guess some of them could be compiled into bottom up like statements to be matched in parallel
06:02 nothingmuch kinda like an earley parser
06:03 nothingmuch but otherwise it sounds like there needs to be a possibility to at seek backwards in anything, which is a little strange for streams
06:03 nothingmuch results can never be lazy, right?
06:03 nothingmuch you'd need to start the parser and then let it finish (either with success or failure) per chunk to parse something continuuous, right?
06:20 TimToady nothingmuch: it's assumed the entire string parsed up till now is still available unless you've thrown it away explicitly
06:20 TimToady p6 works lookbehind by reversing the match, so it's not restricted like p5
06:22 TimToady see all the _rev routines in src/perl6/Cursor.pmc for the opcodes that run in reverse for lookbehind
06:25 sjohnson hi
06:28 azawawi any idea why rakudo fails to build on 2003 server 64-bit? http://gist.github.com/189558
06:28 azawawi and the 32-bit perl6 binaries fail to output/do anything  on 64-bit also
06:30 azawawi so no stdout/files on 64-bit for 32-bit pre-built Six distribution, http://ahmadzawawi.blogspot.com/2009/09/new-padre-perl-six-updater.html :(
06:34 cotto joined #perl6
06:41 orafu joined #perl6
07:08 jaldhar joined #perl6
07:11 zloyrusskiy joined #perl6
07:17 molaf joined #perl6
08:16 mikehh joined #perl6
08:26 moritz_ good morning
08:28 mberends joined #perl6
08:28 mberends hi moritz_
08:29 mberends viklund++ made some nice progress in proto/installed-modules
08:30 moritz_ great
08:30 mberends phenny, tell viklund pushed some more in proto/installed-modules
08:30 phenny mberends: I'll pass that on when viklund is around.
08:43 iblechbot joined #perl6
08:44 SmokeMachine joined #perl6
09:00 payload joined #perl6
09:01 * carlin is trying to get rakudo running on haiku
09:01 meteorjay joined #perl6
09:02 carlin almost got it I think
09:05 reqamst joined #perl6
09:20 carlin It worked :-D
09:21 ejs joined #perl6
09:37 azawawi joined #perl6
09:38 azawawi hi
09:40 azawawi moritz_: ping
09:40 rfordinal3643 left #perl6
09:43 Whiteknight joined #perl6
09:59 meppl joined #perl6
10:03 jferrero joined #perl6
10:04 moritz_ azawawi: pong
10:04 viklund good day all
10:04 phenny viklund: 08:30Z <mberends> tell viklund pushed some more in proto/installed-modules
10:05 viklund ahh
10:05 azawawi viklund: hi there
10:05 viklund hello azawawi, have you managed to do anything to nvmbr yet?
10:07 azawawi viklund: no, not yet.. i have been busy closing Padre tickets...
10:07 azawawi viklund: so i fork november and then push changes right?
10:08 viklund ah, most probably time well spent
10:08 viklund azawawi: you don't have to fork, just clone with the "clone url" and push
10:08 azawawi viklund: i see
10:08 viklund and create a branch
10:08 azawawi viklund: thanks
10:08 viklund there are really good documentation on the github site (short and to the point)
10:09 * viklund needs to close some tabs (too many youtube videos...)
10:10 viklund http://github.com/guides/push-a-branch-to-github
10:12 viklund no update?
10:12 viklund oh, well
10:14 azawawi i will try it soon
10:15 azawawi thanks
10:17 Test_ joined #perl6
10:19 viklund ahh, found update
10:19 viklund lets do "uninstall"
10:22 moritz_ is installing so far that it needs testing from others?
10:23 viklund I believe that it is, yes.
10:24 viklund there are som projcets (november i'm staring at you) that haven't been updated for installed parrot/rakudo yet though
10:24 viklund they wants perl6.pbc in RAKUDO_DIR (whatever that is)
10:24 moritz_ what's the new policy? expect a perl6 in path?
10:26 viklund I'm not sure, but proto managed to guess where my perl6-exe was somehow
10:26 viklund and I didn't have it in my path
10:27 viklund hmm, should we build projects without a Makefile?
10:28 moritz_ please, yes
10:28 viklund as it is now, the .pm-files are only copied
10:28 moritz_ that's a start
10:29 mberends hi viklund, proto/installed-modules uses a 'Perl 6 executable' setting from config.proto
10:29 viklund yes, I know that
10:29 viklund it was how it managed to guess the right place in config.proto that I don't know
10:30 * 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?
10:30 mberends proto often installs Rakudo for you, so it knows where that happened
10:31 viklund but I installed rakudo meself...
10:31 viklund ahh, I installed it where proto thought it should be ;)
10:32 moritz_ nothingmuch: maybe you do with <( and )> (not sure though
10:32 moritz_ )
10:32 nothingmuch i think you can look behind past that, can't you?
10:33 mberends viklund: proto:267 export PERL6EXE before running proto
10:34 viklund yes, I didn't have that
10:34 NorwayGeek joined #perl6
10:34 mberends viklund: or assume rakudo and proto are sibling directories
10:34 viklund they were
10:34 mberends then it's automagic
10:37 mberends proto:275-278
10:37 viklund mberends: yes I know, that's what I was looking at when saying 'ahh, I installed it...'
10:40 viklund to test a project it should be in state 'built', any other state that is eligible for testing?
10:41 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/
10:43 mberends viklund: always 'built', and 'build' is allowed to be a no-op that still passes
10:44 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
10:45 viklund so we don't test installed things?
10:49 viklund or should test be able to test any state that can come after built
10:51 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:52 mberends 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
10:53 moritz_ http://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
10:53 viklund ah
10:59 ejs1 joined #perl6
10:59 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.
11:00 pugs_svn r28321 | moritz++ | [perl6.org] link to one-page "Perl 5 to 6" series, as suggested by TimToady++
11:06 nothingmuch ah <cut>
11:07 NorwayGeek joined #perl6
11:13 viklund nice.
11:13 viklund now I need to go
11:13 viklund mberends: nice
11:14 moritz_ viklund++ mberends++
11:20 carlin only one failed spectest on Haiku
11:22 pugs_svn r28322 | carlin++ | [S02-magicals] Added haiku as a known/tested OS. Test results were as expected.
11:22 moritz_ carlin++
11:24 FOAD_ joined #perl6
11:28 moritz_ carlin: I'm curious, how do you like haiku so far?
11:30 carlin moritz_: It's not too bad. Definitely a stable system but not a linux replacement (yet, anyway ;-) )
11:37 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:47 molaf joined #perl6
11:50 jan_ joined #perl6
11:50 jnthn Is it just be who gets an error when tyring to reply to something on use.perl.org?
11:51 jnthn "You are not allowed to use this resource."
11:51 moritz_ are you logged in?
11:52 masak joined #perl6
11:52 masak
11:52 jnthn ah, no, but it didn't prompt me to either
11:53 jnthn moritz_: thanks, works after logging in
11:53 jnthn what a pos
11:56 masak jnthn: I've had silent failures lately with use.perl :(
11:56 masak feels like a hard drive is full somewhere or something.
11:57 moritz_ it's time I get perlblog.org working for everybody
11:57 NorwayGeek joined #perl6
11:58 jnthn perlblog.org++
11:58 masak moritz_: 'General blog about Perl and Perl 6' -- maybe 'Perl 5 and Perl 6'?
11:59 moritz_ masak: the headline isn't anything that's going to stay, I think
11:59 masak oki.
12:00 explorer__ joined #perl6
12:02 masak carlin: but... which spectest was it that failed on Haiku? :)
12:03 masak carlin: and, more importantly, will you blog about how you made Rakudo work on Haiku?
12:03 explorer joined #perl6
12:03 carlin masak: the spectest that I fixed by adding haiku as a known OS :)
12:03 carlin and yes, currently working on the blog post
12:04 masak carlin++ carlin++
12:14 gbarr joined #perl6
12:16 mberends "shut down Windows to prevent damage to your computer" - from the horse's mouth too ;)
12:17 jnthn .oO( is that a real error?! )
12:17 masak wouldn't surprise me in the least.
12:17 masak food &
12:20 synth joined #perl6
12:24 alester joined #perl6
12:27 viklund std: say 1
12:28 p6eval std 28322: OUTPUT«ok 00:02 37m␤»
12:29 moritz_ vijs: say 1
12:29 p6eval vijs 28322: OUTPUT«1␤␤    time in interpreter: 0.006691 s␤»
12:29 moritz_ vijs: print 1
12:29 p6eval vijs 28322: OUTPUT«␤     time in interpreter: 0.004773 s␤»
12:52 snearch joined #perl6
12:59 JimmyZ joined #perl6
13:00 diakopter rakudo: my $a=1; say ($a++)++; say $a
13:00 p6eval rakudo 0d77e4: OUTPUT«1␤2␤»
13:01 moritz_ that's wrong, of course
13:01 diakopter should say...?
13:01 finanalyst joined #perl6
13:01 moritz_ "Can't modify read-only value of type Int at ..."
13:02 diakopter known bug?
13:02 moritz_ yes
13:02 diakopter lovely; I spent a while yesterday trying to mimic rakudo. :)
13:03 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_ :)
13:03 finanalyst i mean more seg fault in last few days
13:03 moritz_ finanalyst: did you update to the latest rakudo? It should be fixed in the release version... oh, never mind then
13:03 finanalyst i'll try again with real clean
13:06 diakopter moritz_: what about $a++++
13:07 moritz_ diakopter: same
13:07 diakopter whee
13:08 diakopter makes impl *much* easier. :)
13:08 moritz_ (at least if it parses the same)
13:10 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 diakopter kidding, mostly :)
13:10 moritz_ diakopter: it's call .succ for ++ and .pred for --
13:11 moritz_ the error message is LTA ;-)
13:11 carlin http://theintersect.org/2009/rakudo-in-17-syllables/ # For anyone interested in getting Rakudo working on Haiku
13:13 diakopter LTA?
13:13 moritz_ less than awesome
13:13 diakopter heh :)
13:13 diakopter hadn't heard that one.
13:13 pugs_svn r28323 | moritz++ | [irclog] add LTA and LTM to abbreviation database
13:14 diakopter har
13:18 drbean joined #perl6
13:19 JimmyZ_ joined #perl6
13:27 alester joined #perl6
13:30 finanalyst moritz_: still getting seg faults. deleted parrot & parrot-installed directories, make realclean, git pull and then remade rakudo
13:31 finanalyst any suggestion as to how to what might be causing it so i can try to localise code
13:31 finanalyst ?
13:31 Juerd Could planet.perl6.org be made to redirect to planetsix.perl.org?
13:34 jrockway joined #perl6
13:43 JimmyZ_ joined #perl6
13:47 cognominal joined #perl6
13:55 jnthn finanalyst: what platform? can you use a debugger to get us a stacktrace?
13:56 finanalyst jnth: ubuntu. i've tried installing a debugger, without much success
13:56 finanalyst i'll try again. any preferences?
13:56 TiMBuS you can just use gdb for a stacktrace
13:57 jnthn yup, I almost typed gdb and then considered you might be on a platform without it :-)
13:58 TiMBuS ubuntu has it in the build-essentials list
13:58 jnthn :-)
14:01 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
14:01 carlin gdb --args programname arg1 arg2
14:01 carlin I think
14:04 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
14:05 finanalyst now what?
14:05 TiMBuS once it segfaults type 'bt' and there you have it, a backtrace.
14:05 finanalyst ok
14:06 TiMBuS oh, youll have to type run first
14:06 TiMBuS with no args
14:06 finanalyst its running. thanx
14:06 finanalyst now just have to provoke a seg fault
14:24 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:27 payload joined #perl6
14:30 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:32 JimmyZ joined #perl6
14:35 lisppaste3 finanalyst pasted "seg fault stack trace" at http://paste.lisp.org/display/87352
14:35 nihiliad joined #perl6
14:36 finanalyst jnthn: stack track in no paste
14:37 jnthn finanalyst: ooh, never seen one like that before
14:38 finanalyst it is also irritatingly random. I cant work out quite what provokes it
14:39 finanalyst jnthn: which no paste? I used the link in the channel topic
14:40 jnthn finanalyst: I meant the stack trace. ;-)
14:40 jnthn I've seen quite a few Parrot stack traces.
14:40 jnthn But that one looks unfamiliar
14:41 jnthn oh, unless it's just an existing issue showing up...
14:41 finanalyst i have no clue as to how to decode it
14:41 jnthn ...but differently.
14:41 jnthn are you throwing exceptions in your code?
14:41 finanalyst not explicitly
14:42 jnthn Hmm
14:42 jnthn it may or may not be something related to exceptions and nested runloops. not sure off hand.
14:42 azawawi joined #perl6
14:42 azawawi hi
14:43 azawawi jnthn: ping
14:44 Psyche^ joined #perl6
14:44 finanalyst jnthn: it does seem to be related to loops, as increasing the upper iteration limit seems to affect it
14:46 jnthn azawawi: pong
14:47 diakopter TimToady: did you decide on the $routine.invoke() question
14:48 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 azawawi jnthn: build log http://pastebin.ca/1572708
14:48 azawawi jnthn: seattle tarball
14:50 jnthn azawawi: looks like a segv
14:51 azawawi jnthn: strange but also perl6 32-bit binary does not output anything...
14:51 azawawi jnthn: parrot hello.pir works there
14:51 jnthn azawawi: I suspect Parrot 64-bit issue, as a first guess.
14:51 azawawi jnthn: perl hello.pl => nothing, no output, not writing,
14:52 azawawi jnthn: sorry perl 6 hello.pl
14:52 azawawi perl6 :)
14:52 jnthn Do you have a debugger to hand?
14:52 azawawi jnthn: gdb is not installed by default
14:52 azawawi jnthn: with strawberry
14:53 jnthn ah
14:53 jnthn It's a mingw build there, ok.
14:53 azawawi let me see if i can get it installed
14:53 jnthn *nod*
14:53 * jnthn tends to build with MS VC+
14:53 carlin 'night all
14:59 * azawawi installs gdb
15:03 azawawi jnthn: gdb installed
15:08 masak joined #perl6
15:08 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)␤»
15:08 * masak submits rakudobug
15:09 masak fancy that, a self-contradicting error message.
15:11 masak rakudo: role R {}; Object.new but R; say "Alive!"
15:11 p6eval rakudo 2c40a5: OUTPUT«Alive!␤»
15:11 masak workaround.
15:13 jnthn masak: I think the more general issue is that anonymous roles are a fail.
15:13 masak yes, ISTR previous skirmishes with them.
15:13 jnthn rakudo: my $x = role { }; say $x.WHAT
15:13 p6eval rakudo 2c40a5: OUTPUT«Code()␤»
15:13 jnthn aye
15:13 jnthn just nyi
15:13 jnthn but should be easy.
15:13 JimmyZ rakudo: ( * * * )(2).say;
15:13 p6eval rakudo 2c40a5: OUTPUT«4␤»
15:14 jnthn just not gotten around to it yet.
15:14 JimmyZ rakudo: ({$_ * $_})(2).say;
15:14 p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤invoke() not implemented in class 'Float'␤in Main (/tmp/3WJCvzSaRM:2)␤»
15:14 masak no rush.
15:14 diakopter rakudo: ( * ** * )(2).say;
15:14 p6eval rakudo 2c40a5: OUTPUT«4␤»
15:14 JimmyZ Is this a bug too ?
15:14 masak JimmyZ: no, why?
15:15 JimmyZ masak: * * * translates to { $_ * $_ }.
15:15 masak JimmyZ: but bare closures are executed immediately, no?
15:15 ejs joined #perl6
15:15 JimmyZ yes
15:15 diakopter rakudo: (sub {$_ * $_})(2).say;
15:15 p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤0␤»
15:16 JimmyZ masak: the words is from S02, and I understood it directly.
15:18 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...
15:19 azawawi jnthn: i even tried gdb> run -e "say 1;"
15:19 azawawi jnthn: and it segfaults on win32 32-bit
15:19 jnthn wow, ouch
15:19 jnthn diakopter: maybe you mean http://www.perlfoundation.org/perl6/index.cgi?smop_oo_api
15:20 azawawi jnthn: http://pastebin.ca/1572943
15:20 azawawi jnthn: that's on vista 32-bit
15:21 JimmyZ rakudo: (-> $_ {$_ * $_})(2).say;
15:21 p6eval rakudo 2c40a5: OUTPUT«4␤»
15:22 kbp joined #perl6
15:22 JimmyZ masak: it  translates to -> $_ { $_ * $_ }
15:23 masak aye.
15:23 JimmyZ masak: just from S02, * - 1    means                -> $x { $x - 1 }
15:23 masak aye.
15:24 JimmyZ rakudo: $_ = 2; (* - 1).say;
15:24 p6eval rakudo 2c40a5: OUTPUT«!whatever_closure␤»
15:25 azawawi jnthn: is this a win32-only issue, can u try gdb per6 and gdb> run -e "say 1;" on *inux   ?
15:25 azawawi jnthn: s/per6/perl6
15:25 masak rakudo: $_ = 2; { $_ - 1 }.say
15:25 p6eval rakudo 2c40a5: OUTPUT«_block52␤»
15:25 masak rakudo: $_ = 2; { say $_ - 1 }
15:25 p6eval rakudo 2c40a5: OUTPUT«1␤»
15:26 JimmyZ rakudo: $_ = 2; -> $_ { $_ - 1 }.say;
15:26 p6eval rakudo 2c40a5: OUTPUT«_block52␤»
15:26 JimmyZ rakudo: $_ = 2; (-> $_ { $_ - 1 }).say;
15:26 p6eval rakudo 2c40a5: OUTPUT«_block52␤»
15:26 JimmyZ rakudo: $_ = 2; (-> $_ { $_ - 1 })(5).say;
15:27 p6eval rakudo 2c40a5: OUTPUT«4␤»
15:27 JimmyZ rakudo: $_ = 2; ( * - 1 )(5).say;
15:27 p6eval rakudo 2c40a5: OUTPUT«4␤»
15:28 JimmyZ masak: should S02 be updated for it?
15:28 sm` joined #perl6
15:28 JimmyZ masak: It lost '-> $_'
15:29 masak er, the '-> $_' is implicit.
15:29 masak I'm sure the spec says that somewhere.
15:30 diakopter jnthn: thanks; I meant his metaclass proposal(s) you were generally agreeing with recently
15:30 JimmyZ yes, but with different meaning
15:30 jnthn azawawi: I only have MS VC++ here to hand, I'm afraid
15:30 jnthn (travelling at the moment)
15:30 JimmyZ masak: somewhere was with '-> $_', but somewhere not.
15:31 azawawi jnthn: oh well, i tried :)
15:31 azawawi jnthn: thanks
15:31 jnthn diakopter: diakopter: that's what I linked you to
15:31 diakopter jnthn: cool; thank you
15:31 jnthn azawawi: given somebody did post a backtrace from Linux earlier today though...
15:31 masak JimmyZ: I don't think that's a problem. the '-> $_' is implicit.
15:31 jnthn ...I suspect that's not the issue.
15:31 jnthn I think it'[s win32-specific
15:31 JimmyZ masak: ok ;)
15:32 JimmyZ masak: so why ( { $_ * $_ } )(2).say; should be worked correctly?
15:33 JimmyZ masak: I am a bit confused.
15:33 JimmyZ masak: s/why//
15:33 masak JimmyZ: me too. let me think about it for a bit.
15:33 JimmyZ masak++
15:34 masak rakudo: my $a = { $_ * $_  }; say $a
15:34 p6eval rakudo 2c40a5: OUTPUT«_block52␤»
15:34 masak rakudo: { $_ * $_  }
15:34 p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤»
15:34 masak rakudo: ({ $_ * $_ })
15:34 azawawi jnthn: gdb perl6; gdb> run -e "say 1;" with backtrace... http://pastebin.ca/1572951
15:34 p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤»
15:34 masak rakudo: ({ $_ * $_ })(2)
15:34 p6eval rakudo 2c40a5: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤invoke() not implemented in class 'Float'␤in Main (/tmp/lju3q8ddNL:2)␤»
15:35 masak JimmyZ: I think it's the parentheses. they make the block parse as a bare block, to be executed at once.
15:36 masak walk &
15:36 JimmyZ masak: so where is the problem?
15:36 JimmyZ Spec or we ?
15:36 azawawi JimmyZ: he went for a walk...
15:37 JimmyZ azawawi: I see ;)
15:37 JimmyZ azzwawi: go to sleep; night.
15:38 agentzh joined #perl6
15:41 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 opensourcer joined #perl6
15:42 mberends hi opensourcer
15:43 lionWrk joined #perl6
15:44 lionWork joined #perl6
15:47 ejs1 joined #perl6
15:53 iblechbot joined #perl6
15:53 * jnthn -> sleep
15:54 frew__ joined #perl6
15:56 ejs joined #perl6
15:58 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:59 moritz_ cognominal: it doesn't necessary mean that there's a v6.pm lying around
16:01 cognominal but in blizkost/t/02-eval.t  my tests are never executed because on such file
16:02 cognominal moritz_, I can't figure to integrate my tests in the blizkost harness. With leto corrections they are just skipped
16:03 moritz_ I'm a bit confused by that file
16:03 moritz_ if I remove that BEGIN block and replace it by 'use v6', then rakudo can run the tests
16:04 allbery_b "use v6;" is a pragma, and must come first in the file
16:04 cognominal cool, that's what I want
16:04 allbery_b hm, never mind, I'm not paying close enough attention tot he channel
16:05 moritz_ there is a v6.pm by fglock++ on CPAN, but I doubt that it works together with blizkost very nicely
16:05 moritz_ correction: the first 3 tests work for me
16:05 moritz_ after that it dies with Method 't' not found for invocant of class 'P5Scalar'
16:06 cognominal the problem is that blizkost harness is designed to execute perl5 code and that these tests are perl 6 code
16:10 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:12 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...
16:13 cognominal today I will try to fix the crash I just described
16:14 cognominal aquamacs-- # unable to run gud for gdb
16:14 araujo joined #perl6
16:20 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:21 sm^^^ joined #perl6
16:25 nbrown joined #perl6
16:30 ruoso joined #perl6
16:30 icwiener joined #perl6
16:31 nbrown_ joined #perl6
16:32 ruoso boa tarde, #perl6
16:32 M_o_C joined #perl6
16:32 pugs_svn r28324 | fglock++ | [mp6] Javascript bool() fixes
16:35 frew__ joined #perl6
16:36 abra joined #perl6
16:36 nbrown_ joined #perl6
16:39 * ruoso decided to finally start writing S08
16:44 tak11 joined #perl6
16:46 cognominal ruoso: what would that be?
16:46 ruoso Capture and Parcel
16:47 cognominal good, I don't yet understant that stuff,  number are chapter of Programming Perl?
16:48 cognominal *numbers are chapters
16:49 ruoso yes... it replaces references (although the numbers don't map that well anymore)
16:52 lmc joined #perl6
16:52 ruoso lmc, boa tarde ;)
16:53 diakopter ruoso: what's a Parcel
16:53 lmc ruoso:
16:53 lmc ruoso: boas
16:53 ruoso it's a Capture without named arguments
16:54 diakopter a mere "box"?
16:54 lmc ruoso: quais são as novidades? bom te ver por aqui. O Perl6 precisa de ajuda... ;)
16:54 ruoso a lazy list, if you want to call it that way
16:54 ruoso lmc, toda ajuda é bem vinda ;)
16:55 ruoso hugme, huh lmc
16:55 ruoso hugme, hug lmc
16:55 * hugme hugs lmc
16:55 * lmc hugs hugme
16:55 lmc que poético...
16:55 ruoso hugme can also give you a commit bit if you like
16:56 diakopter it can?
16:56 ruoso at least I understood that
16:56 lmc hugme, give me a commit bit
16:56 pugs_svn r28325 | ruoso++ | [spec/S08] started writing the introduction;
16:57 * ruoso fatherhood calls... later&
17:01 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:02 cognominal 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
17:02 moritz_ the former is much easier to JIT, I presume
17:03 moritz_ because you can know its storage type simply by the type declaration
17:04 cognominal yes, I know that rakudo does only int so far.
17:04 cognominal I meant Int
17:04 ruoso but nothing stops a JIT from detecting that there are only known implementations and go through shortcuts
17:04 moritz_ aye
17:05 moritz_ 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 moritz_ and if that assertion is validated, it it breaks out of the optimized loop
17:05 moritz_ that assumption holds about 95% when applied to integers
17:05 cognominal I hope rakudo star will get ints and JIT so it will not be criticized to be slow in stuff like fibonacci.
17:06 cognominal moritz_, interesting
17:06 moritz_ I hope so too, but I'd be quite surprised if it actually would
17:06 cognominal I don't remember seeing it in the plans
17:08 moritz_ cognominal: http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html (the video to the talk should be also findable)
17:09 moritz_ (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 ;)
17:10 moritz_ sure I can
17:11 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?
17:11 moritz_ lmc: then I can give you a commit bit (for the pugs repo that holds the specs, tests, smop, STD.pm, ...)
17:12 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.
17:19 rindolf joined #perl6
17:19 justatheory joined #perl6
17:19 abbe joined #perl6
17:19 abbe hi everyone
17:19 rindolf Hi abbe
17:20 abbe so can I use perl6 modules with rakudo perl ?
17:20 moritz_ yes
17:21 moritz_ rakudo: use Test; plan 1; ok 1, 'it works';
17:22 p6eval rakudo 2c40a5:  ( no output )
17:22 moritz_ ugh
17:22 moritz_ that was a timeout on the server
17:22 abbe moritz_: oh, okay, so i've to install the modules somewhere in private directory ? or default system path takes care of it ?
17:23 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:24 moritz_ you can also do BEGIN { @*INC.push: '/path/to/modules/lib' }; use Your::Module;
17:24 abbe okay.
17:24 abbe thanks moritz_
17:24 moritz_ oh, it also searches in ~/.perl6/lib/
17:24 moritz_ and proto has an experimental branch that installs modules into ~/.perl6/lib/
17:25 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:33 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␤»
17:35 diakopter considering throwing the BigInt library in there
17:36 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:37 moritz_ then we can also make rakudo.perl6.org -> rakudo.org and other such fun
17:44 kidd what is vijs ?
17:44 diakopter Perl 6 implementation on V8 (linked to Perl 5 using Larry's STD parser) in JS
17:45 diakopter linked to Perl 5 *and* using Larry's STD parser, I mean
17:45 kidd thanks. I never heard of it
17:45 diakopter it's new this week
17:45 diakopter or something.
17:46 diakopter so maybe it'll be done in a decade or 3. :)
17:46 kidd heh ok . I'll wait :)
17:46 diakopter (sorry, just trying to tamp the expectations)
17:46 moritz_ don't wait - help ;-)
17:49 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 kidd btw, should vijs be mentioned in http://perl6.org/compilers/ ?
17:50 diakopter I was going to wait until it can "run" the spectest suite
17:50 diakopter and probably get a better name
17:50 moritz_ and I was going to wait until it had a website that I could link to ;-)
17:50 diakopter e.g. 6js isn't any better :P
17:52 diakopter 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
17:52 moritz_ that's some form of compiling, no?
17:53 diakopter it emits only the serialization of the AST, in json-ish.
17:53 diakopter which is then "eval"d by V8, and then the AST is walked/interpreted
17:53 diakopter fglock's Perl 6 compiler actually compiles to JS...
17:54 diakopter fwict
17:54 cognominal what's the name of fglock's compiler?
17:54 moritz_ I don't see why "serialization of AST" is not compilation
17:54 moritz_ cognominal: mp6
17:55 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:56 moritz_ compilation doesn't have to be enlightened or optimized
17:56 diakopter ok; whichever :)
17:58 diakopter rakudo: my $a=3; say $a + "a" # is this right?
17:58 p6eval rakudo 2c40a5: OUTPUT«3␤»
17:58 diakopter pugs: my $a=3; say $a + "a" # is this right?
17:58 p6eval pugs: OUTPUT«3␤»
17:58 diakopter elf: my $a=3; say $a + "a" # is this right?
17:58 p6eval elf 28326: OUTPUT«Argument "\x{61}" isn't numeric in addition (+) at (eval 124) line 4.␤3␤»
17:58 diakopter mp6: my $a=3; say $a + "a" # is this right?
17:58 diakopter kp6: my $a=3; say $a + "a" # is this right?
17:58 diakopter vijs: my $a=3; say $a + "a" # is this right?
17:58 p6eval vijs 28326: OUTPUT«execute(): execute error: Additive not yet implemented; srsly!!?!? at viv line 137.␤»
17:59 moritz_ 3 is certainly the correct answer
18:00 diakopter ok... Additive always uses the left operand as its "invocant" (for destination type)?
18:00 moritz_ no
18:00 moritz_ it's not a method call
18:00 moritz_ it's a sub call
18:01 diakopter I know; I'm just calling it that as a metaphor
18:01 moritz_ by default the return type is always numeric
18:01 diakopter Num?  ok.
18:02 moritz_ the infix:<+>(Any, Any) just coerces both args to numbers and adds them
18:02 moritz_ well, Int + Int -> Int
18:02 diakopter rakudo: my $a=3; say $a.WHAT, ($a + $a).WHAT
18:02 p6eval rakudo 2c40a5: OUTPUT«Int()Int()␤»
18:02 diakopter ok
18:03 diakopter rakudo: my $a=3; say $a.WHAT, ($a + "3").WHAT
18:03 p6eval rakudo 2c40a5: OUTPUT«Int()Num()␤»
18:03 moritz_ I guess prefix:<+> isn't magical enough in Rakudo yet
18:05 * diakopter looks for masak to bugrakduo
18:05 diakopter or bugrakudo
18:05 moritz_ it's already known and submitted, iirc
18:07 hudnix joined #perl6
18:08 diakopter o
18:10 pugs_svn r28327 | diakopter++ | [vijs] implement Additive (Int only, still, of course :)
18:14 pugs_svn r28328 | diakopter++ | [vijs] make subtraction work
18:16 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.␤»
18:16 diakopter variables only; working on literals
18:16 moritz_ vijs: my $x = 3; say $x + $x
18:16 p6eval vijs 28326: OUTPUT«6␤␤    time in interpreter: 0.012600 s␤»
18:16 moritz_ vijs: my $x = 3; say $x + 3
18:17 p6eval vijs 28326: OUTPUT«6␤␤    time in interpreter: 0.012335 s␤»
18:17 moritz_ vijs: my $x = 3; say $x - 7
18:17 p6eval vijs 28326: OUTPUT«-4␤␤   time in interpreter: 0.012045 s␤»
18:18 Dr_Sunglasses joined #perl6
18:19 abbe i'm getting a compiler error ( http://paste.lisp.org/display/87369 ) when building from http://cloud.github.com/downloads/rakudo/rakudo/rakudo-2009-08.tar.gz
18:20 abbe i'm building on arch gnu/linux (amd64) with parrot 1.6
18:20 Student joined #perl6
18:20 moritz_ never seen that error before
18:21 moritz_ abbe: ah, wrong parrot version
18:21 moritz_ abbe: rakudo 2009-08 needs parrot-1.5, rakudo 2009-09 needs parrot-1.6
18:21 abbe moritz_: oh, okay. thanks.
18:22 moritz_ parrot isn't yet stable enough to ensure longer compatibility ranges
18:25 pugs_svn r28329 | diakopter++ | [vijs] Int Additive works on literals & variables
18:27 abbe moritz_: done, thanks.
18:28 abbe is there any perl6 beginner's guide/tutorial, somewhere ?
18:28 moritz_ abbe: do you know Perl 5?
18:29 abbe yes, moritz_
18:30 moritz_ abbe: then http://perlgeek.de/en/article/5-to-6 should be a good start
18:30 moritz_ (disclaimer: I wrote it)
18:31 moritz_ I also found http://www.programmersheaven.com/2/Perl6-FAQ quite helpful
18:31 abbe moritz_: thanks, i'm sure it would be good.
18:32 cognominal jonathan++
18:45 moritz_ ok, planet.perl6.org now redirects to planetsix.perl.org
18:49 qp_pq joined #perl6
18:49 qp_pq the parrot channel ?
18:49 qp_pq where is it ?
18:49 avuserow #parrot on irc.perl.org
19:08 frew__ joined #perl6
19:11 tak11 joined #perl6
19:19 diakopter std: (a,b)
19:19 p6eval std 28329: OUTPUT«Undeclared routines:␤  a used at 1␤      b used at 1␤ok 00:02 38m␤»
19:19 diakopter std: (a,b)[0]
19:19 p6eval std 28329: OUTPUT«Undeclared routines:␤  a used at 1␤      b used at 1␤ok 00:03 38m␤»
19:24 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:27 ejs1 joined #perl6
19:29 TimToady I'll have to look at it later; family going out to lunch right now...
19:30 TimToady munchings and crunchings &
19:32 awwaiid joined #perl6
19:33 rindolf Hi TimToady
19:33 rindolf TimToady: Shanah Tovah.
19:33 rindolf TimToady: in case you commemorate the Jewish year.
19:42 Chillance joined #perl6
19:46 pugs_svn r28330 | diakopter++ | [vijs] implement List_assignment, barebones Array
19:56 mikehh rakudo (2c40a5b) builds on parrot r41380 - make test / make spectest (up to 28329) PASS - Ubuntu 9.04 amd64
20:05 tak11 joined #perl6
20:06 moritz_ vijs: my @a = 2, 3, 'foo'; say @a, @a
20:06 p6eval vijs 28330: OUTPUT«23foo23foo␤␤   time in interpreter: 0.016182 s␤»
20:07 moritz_ diakopter++
20:09 viklund ehm, bug in proto (I think)
20:10 viklund in method sig, what does this mean method s(:stuff!)
20:10 moritz_ it's a required named parameter
20:10 viklund does that mean required named param stuff
20:11 viklund ok, and if there's no named parameter, but only an unnamed one
20:11 viklund it takes the unnamed?
20:11 moritz_ it should not :)
20:11 viklund ahh
20:12 viklund so this is a bug:
20:12 viklund rakudo: sub t(:$a!){say $a}; t(1)
20:12 p6eval rakudo 2c40a5: OUTPUT«1␤»
20:13 moritz_ aye
20:13 moritz_ parrot--
20:13 viklund proto depends on that bug :p
20:14 moritz_ proto--
20:14 viklund codepaths not walked before I can see...
20:15 viklund Ecosystem wants cache-dir in new, got perl6lib...
20:16 viklund probably leftover from master-branch
20:20 lisppaste3 moritz_ pasted "proto fails to install itself (install-modules branch)" at http://paste.lisp.org/display/87384
20:20 moritz_ viklund: any idea why the above happens?
20:20 viklund yes
20:20 viklund or no
20:20 moritz_ cache/ is empty
20:20 viklund hmm, need to think
20:21 viklund it failed to refresh...
20:21 viklund building is a no-op when there's no Makefile
20:22 viklund 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?
20:22 viklund how does your projects.state look like?
20:22 viklund s/how/what//
20:22 moritz_ proto:\n     state: installed
20:23 viklund aah, there you go, remove that
20:23 viklund should work
20:23 * moritz_ tries
20:23 viklund .oO( famous last words )
20:23 moritz_ same as before :(
20:23 viklund hmm
20:23 * moritz_ tries to install a different module
20:23 viklund do you have proto in your $PERL6LIB ?
20:24 viklund no, shouldn't matter...
20:24 moritz_ no
20:24 viklund hmm
20:25 moritz_ he
20:25 moritz_ I found another bug
20:25 viklund great!
20:25 moritz_ I did a 'install svg-plot'
20:25 moritz_ that has a dependency, svg
20:25 moritz_ it built svg, and installed svg-plot, but it didn't install svg
20:26 viklund ahh
20:26 viklund I can see how that happened
20:26 viklund install only installs what's on the command line, but it fetches and builds all deps ;)
20:27 moritz_ that's LTA ;-)
20:28 viklund LTA?
20:28 moritz_ less than awesome
20:28 viklund yes
20:29 viklund hmm, I'll look into that once I've finished my first draft of the uninstall command
20:30 viklund I think to fix that fetching and building should be separated as well...
20:31 nihiliad joined #perl6
20:37 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:38 viklund ;)
20:49 viklund refreshing svg...
20:49 viklund moritz_: nice plot ;)
20:52 moritz_ well, it showed me two bugs (more or less) in SVG::Plot
20:53 moritz_ 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:55 kst joined #perl6
20:56 viklund yes, well, details ;)
20:56 viklund at least you were able to install using proto, that makes me happy
21:00 moritz_ me too
21:04 viklund pushed uninstall
21:05 viklund time to clean up the kitchen
21:05 viklund o/
21:05 moritz_ \o
21:10 alester joined #perl6
21:18 nbrown joined #perl6
21:20 diakopter moritz_: from looking at the Test.pm whose url you pasted
21:20 diakopter the one from mp6, I think
21:20 diakopter it creates the tap output...
21:20 diakopter but what reads it
21:23 moritz_ prove
21:23 moritz_ or Test::Harness
21:23 * diakopter looks
21:24 moritz_ perl5's prove has a --perl or --exec option
21:24 moritz_ for which you can just provide './viv --js'
21:27 tarbo2 joined #perl6
21:27 diakopter joined #perl6
21:28 diakopter oops
21:29 diakopter moritz_: prove runs all the t\* ?
21:29 moritz_ diakopter: depends on what options you give it
21:41 tak11 joined #perl6
21:47 jrtayloriv joined #perl6
21:50 kst joined #perl6
21:53 diakopter lol.
21:59 frew__ joined #perl6
22:12 jrockway joined #perl6
22:14 diakopter std: [][]
22:14 p6eval std 28330: OUTPUT«ok 00:02 37m␤»
22:16 diakopter std: [*][*]
22:16 p6eval std 28330: OUTPUT«ok 00:02 37m␤»
22:20 jrtayloriv joined #perl6
22:36 diakopter std: [*][*][*]
22:36 quietfanatic std: [*][*][*]
22:36 diakopter erm
22:36 p6eval std 28330: OUTPUT«ok 00:02 37m␤»
22:36 p6eval std 28330: OUTPUT«ok 00:02 37m␤»
22:36 * quietfanatic glares
22:37 diakopter std: ***[*][*][*]***
22:37 p6eval std 28330: OUTPUT«ok 00:02 37m␤»
22:44 jaldhar joined #perl6
22:50 quietfanatic rakudo: my $*a = 1; do {$*a = 2}; say $*a
22:50 p6eval rakudo 2c40a5: OUTPUT«2␤»
22:53 quietfanatic rakudo: sub A {$*a = 2}; my $*a = 1; A; say $*a
22:53 p6eval rakudo 2c40a5: OUTPUT«2␤»
22:56 pugs_svn r28331 | ruoso++ | [spec/S08] section that differentiates Parcel from Capture
22:58 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␤»
23:00 pugs_svn r28332 | ruoso++ | [syn_index] reference the new S08
23:04 zerhash joined #perl6
23:09 nbrown_ joined #perl6
23:10 payload joined #perl6
23:21 ihrd joined #perl6
23:21 ihrd left #perl6
23:24 ruoso std: my $a = 1,(2,(3,(4))); say $a[1;1;1;1];
23:24 p6eval std 28332: OUTPUT«ok 00:03 39m␤»
23:24 ruoso pugs: my @@a = 1,(2,(3,(4))); say $a[1;1;1;1];
23:24 p6eval pugs: OUTPUT«*** ␤    Unexpected "["␤    expecting "::"␤    Variable "$a" requires predeclaration or explicit package name␤    at /tmp/Yl4qEdJdvC line 1, column 31␤»
23:24 ruoso pugs: my @@a = 1,(2,(3,(4))); say @@a[1;1;1;1];
23:25 p6eval pugs: OUTPUT«*** ␤    Unexpected ";"␤    expecting "_", fraction, exponent, term postfix, operator or "]"␤    at /tmp/nHIjf3H4qw line 1, column 34␤»
23:28 frew__ joined #perl6
23:43 wayland76 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo