Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-08-04

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:16 LaVolta joined #perl6
00:17 ruoso joined #perl6
00:26 whee joined #perl6
00:28 snarkyboojum sorear: I suspect they'd enjoy hashing it out there anyway :)
00:31 snarkyboojum the discussion is just so much more dynamic and interesting on IRC :)
00:36 davidfetter left #perl6
00:38 sorear how crazy would I have to be to switch niecza to MSBuild?
00:44 jhuni joined #perl6
01:04 ryan_ joined #perl6
01:13 diakopter sorear: mono's xbuild ?
01:15 Axeman joined #perl6
01:19 Axeman So, I was doing this early-adoption thing with rakudo star. The include directory points to a directory that only has Test.pir and Test.pbc in it.
01:22 HarryS joined #perl6
01:26 Axeman In fact, if I pushed parrot_install/lib/2.6.0-devel/library onto @*INC and I still get Unable to find module 'Archive::Zip' in the @*INC directories.
01:27 ctang joined #perl6
01:29 [Coke] I don't think you can load raw Parrot libs as perl6 modules.
01:30 [Coke] * came with several modules. if you're only seeing Test.pm, I presume there's another directory.
01:30 Tene That's right.
01:30 Tene I never actually worked out if :from<parrot> worked again or not.
01:31 Axeman Well I saw some pms under the tools directory, but those didn't say use v6.
01:31 tylercurtis star: .say for @*INC
01:31 p6eval star 2010.07: OUTPUT«/home/p6eval/.perl6/lib␤/home/p​6eval/rakudo-star-2010.07/install/lib/​parrot/2.6.0/languages/perl6/lib␤.␤»
01:32 whee joined #perl6
01:33 tylercurtis Axeman: Are you sure that $YOUR_RAKUDO_STAR_INSTALL_PREFIX/li​b/parrot/2.6.0/languages/perl6/lib only contains Test.pm and Test.pir?
01:33 Axeman What are the core modules that come with rakudo? I cloned the git repo just like in the instructions.
01:34 tylercurtis Axeman: That's not Rakudo *.
01:34 tylercurtis Axeman: http://github.com/rakudo/star/downloads is Rakudo *. Download either the .msi or the tarball as appropriate.
01:34 Axeman it points to parrot_install/lib/2.6.0-devel/languages/perl6/lib and there is only those two files in that directory.
01:35 Tene star: use Data::Dumper:from<parrot>;
01:35 p6eval star 2010.07: OUTPUT«===SORRY!===␤Parent isn't a Class.␤»
01:35 Tene That's... something, at least.
01:36 Tene star: use Foo::XXLXLXLX:from<parrot>;
01:36 p6eval star 2010.07: OUTPUT«===SORRY!===␤Parent isn't a Class.␤»
01:36 Tene Oh, so it's not actually something.
01:36 Tene Too bad. :(
01:36 Axeman So that was just enough to check that perl6 was built correctly.
01:37 tylercurtis Axeman: You cloned the git repository at http://github.com/rakudo/rakudo? That's the Rakudo compiler. It doesn't include any modules(other than Test.pm). Rakudo * is at http://github.com/rakudo/star/downloads
01:49 sorear diakopter: yeah sure xbuild
01:52 Axeman So I downloaded the tarball, and I looked at the README. It's saying much same thing that I read last night at rakudo.org.
01:52 Axeman Where do I untar it all?
01:56 Eddward joined #perl6
01:56 [Coke] it's a build, not a binary.
01:56 [Coke] so just dump it somewhere (like ~/sources) and build from there.
01:58 Eddward left #perl6
01:58 Axeman Thanks. Do I want to do the --gen-parrot thing again? I've already got about 2 installations of parrot on my machine already.
02:01 tylercurtis What version of Parrot do you have?
02:01 Axeman I have 2.0 installed by apt and I installed 2.6 last night.
02:05 mberends joined #perl6
02:06 sorear mberends: hi
02:07 mberends hi sorear!  We had a nice post -R* meeting yesterday here in Pisa, no earth moving decisions, simply steady progress.
02:09 mberends (good thing the earth didn't move, the Tower might have fallen over onto masak's hotel ;)
02:11 sorear mberends: you said something a while ago about wanting an app for niecza
02:11 mberends I had nice chats with Tim Bunce about DBDI v2 and how MiniDBI can help in the short term.
02:11 mberends sorear: yes I did, and thanks for asking
02:13 ash_ joined #perl6
02:14 mberends two ideas come to mind, most specifically a perldoc utility, and more generally picking something that's already been written in Perl 6, such as projects from proto's projects.list, the Advent Calendar, or the pugs examples directories.
02:18 Axeman So I don't need the git clone?
02:20 agentzh joined #perl6
02:21 tylercurtis Axeman: right. You can either use your installed 2.6(in which case you'll want to pass a --parrot-config=whereveryourparrot_configis option to Configure.pl) or use --gen-parrot. By the way, you may want to specify a --prefix to Configure.pl if you don't want to install it to $BUILDDIR/install, though I don't know if that's necessary with --parrot-config.
02:21 mberends ah, Axeman, you definitely need Parrot 2.6 for Rakudo Star. It may also cause problems to have older Parrots present.
02:22 thepler joined #perl6
02:23 mberends Axeman: getting a newer Parrot will use svn, not git clone, so be sure to have Subversion installed
02:36 mberends sorear: I am planning to de-bitrot http://github.com/perl6/perl6-exam​ples/blob/master/lib/Pod/Parser.pm etc. It's simple in flow and features used, even the grammars could become substring comparisons. I think niecza is probably close to being able to run it,
02:42 sorear mberends: What would niecza's killer feature for Pod::Parser be?
02:43 mberends sorear: speed, memory efficiency (Rakudo is weak there)
02:51 sd_ joined #perl6
02:51 jaldhar joined #perl6
02:55 sorear argh: STD.pm6 doesn't correctly handle the case where a setting has a setting
03:05 cxreg yo dawg i herd u liked settings
03:05 sorear ping moritz_
03:06 mberends sorear: that might take a few hours, it's 5am here (but moritz_ may surprise us)
03:07 sorear Er, why are you talking to me then? :)
03:09 drbean joined #perl6
03:09 dalek niecza: 2d7691a | sorear++ |  (8 files):
03:09 dalek niecza: Refactor signature handling to better support named parameters &c
03:09 dalek niecza: review: http://github.com/sorear/niecza/commit/2​d7691ac84611b09cb924f368918518392ffb607
03:09 dalek niecza: 1d38d31 | sorear++ |  (6 files):
03:09 dalek niecza: Add a SAFE setting
03:09 dalek niecza: This is automatically generated using a fudger-like script which replaces the
03:09 dalek niecza: bodies of I/O operations with die statements.  No, really, I couldn't think
03:09 dalek niecza: of anything better.
03:09 dalek niecza: review: http://github.com/sorear/niecza/commit/1​d38d3180f69c220f76004f5cfdb1b62596c2ccf
03:09 dalek niecza: 31ea5d7 | sorear++ |  (3 files):
03:09 dalek niecza: Add a --safe driver option
03:09 dalek niecza: This forces use of the SAFE setting, and also diables the Q:CgOp backdoor.
03:09 dalek niecza: review: http://github.com/sorear/niecza/commit/3​1ea5d7580aa02aea0edd724140d329445338881
03:10 pugssvn r31898 | mberends++ | [docs/talks/p6.dbi.odp] add examples of p5 and p6 connect() source code
03:12 mberends sorear: quite. I should be asleep too. Unwinding after a hectic few days.
03:20 petdance joined #perl6
03:20 petdance OK, who wants to see my first Perl 6 program?
03:20 * melte
03:20 sorear Does it work?
03:21 melte sorear: no, it's just a trick to get you to fix it! :P
03:21 Andy it does, yes!
03:22 ash_ sorear do you have any tips on building rakudo on a system with low memory
03:22 tylercurtis Andy/petdance/alester/Guest39500: sure!
03:24 alester http://github.com/petdance/r​akudo/blob/master/lab/primes
03:25 alester Anythign I'm doing NON-Perl6y?
03:26 tylercurtis rakudo: say 5 mod 2
03:26 p6eval rakudo efe72c: OUTPUT«1␤»
03:26 tylercurtis Wow. I didn't know there was an infix:<mod>
03:26 tylercurtis rakudo: say 5 %% 2; # divisible by operator, iirc.
03:26 p6eval rakudo efe72c: OUTPUT«0␤»
03:27 tylercurtis alester: infix:<%%> is the divisible by operator, so better to use it than roll your own with  $n mod $i == 0.
03:27 sorear rakudo: say 1882056929 !%% all(2..10000)
03:27 drbean joined #perl6
03:27 p6eval rakudo efe72c: OUTPUT«===SORRY!===␤Infix !% is deprecated in favor of infix %% at line 22, near "% all(2..1"␤»
03:27 sorear rakudo: say 1882056929 ![%%] all(2..10000)
03:27 alester oooh
03:27 alester why don't I get that warning?
03:27 p6eval rakudo efe72c:  ( no output )
03:28 sorear what warning?
03:28 sorear rakudo: say 1882056929 ![%%] 2
03:28 p6eval rakudo efe72c: OUTPUT«1␤»
03:28 sorear rakudo: say 12211 ![%%] all(2..100)
03:28 p6eval rakudo efe72c: OUTPUT«1␤»
03:29 sorear rakudo: say 12213 ![%%] all(2..100)
03:29 p6eval rakudo efe72c: OUTPUT«1␤»
03:29 sorear rakudo: say !(12213 %% all(2..100))
03:29 p6eval rakudo efe72c: OUTPUT«1␤»
03:29 alester OK, I don't know what you're doing, sorear
03:29 sorear trying to see if it works with junctions
03:29 sorear (no)
03:30 alester rakudo: say 5 %% 2
03:30 p6eval rakudo efe72c: OUTPUT«0␤»
03:30 alester Why even have a divisible by?
03:30 sorear because it's useful all over the place
03:31 sorear rakudo: say ?(12213 ![%%] any(2..100))  #oh, I just had it backward
03:31 p6eval rakudo efe72c: OUTPUT«0␤»
03:31 sorear rakudo: say ?(12211 ![%%] any(2..100))  #oh, I just had it backward
03:31 p6eval rakudo efe72c: OUTPUT«1␤»
03:31 tylercurtis say 6 %% all(1..3)
03:31 drbean_ joined #perl6
03:31 tylercurtis rakudo: say ?(6 %% all(1..3))
03:31 p6eval rakudo efe72c: OUTPUT«1␤»
03:33 alester How do I give a sub a return type?
03:33 sorear my Int sub foo() iirc
03:34 alester I tried that with Bool
03:34 alester it didn't like that
03:34 alester oh, wait, a "my"?
03:34 tylercurtis or sub foo(--> Bar) or sub foo() returns Bar
03:34 sorear yeah, needs an explicit scope
03:34 sorear my is the default for subs
03:34 melte interesting
03:36 frooh is there a way to capture what output was sent to $*ERR?
03:37 tylercurtis frooh: sure. Just replace $*ERR with something that logs the output.
03:38 frooh also: how do I disable warn?  In p5 I'd have done $SIG{__WARN__} = sub {};
03:38 frooh er
03:38 frooh I'm guessing the same :-)
03:38 frooh tylercurtis: can you point me to what kind of object that should be?
03:40 agentzh joined #perl6
03:40 frooh pmichaud: you gonna be around next week?
03:41 alester You'd think it would complain if I try to return a non-Bool for a Bool func, no?
03:41 frooh alester: I don't think it does return val checking at all yet
03:41 alester ok
03:42 tylercurtis frooh: $*ERR is an IO. You probably just need say/print for your purpose. Although maybe at some point that will be a built-in class for doing what you want, though.
03:42 mberends frooh: you create a class that has a print or a say multi method (or both) and then create an object of that class. For example lines 13-23 in http://github.com/mberends/http-server-sim​ple/blob/master/lib/HTTP/Server/Simple.pm6
03:43 frooh ty friends
03:43 alester http://github.com/petdance/r​akudo/blob/master/lab/primes
03:43 alester is my latest
03:43 drbean joined #perl6
03:46 mberends alester: sometimes operators get misparsed in Perl 6 if they are not surrounded by spaces. Your `2..$top` worked, but padding with spaces is a good habit.
03:54 molaf joined #perl6
03:59 alester do we have backtracking working yet?
03:59 alester I'm working on the prime regex
04:00 tylercurtis alester: for a really succinct implementation: $n %% none(2 .. $top)
04:00 alester tylercurtis: No, I'm working on the prime regex.
04:01 tylercurtis alester: I know, but for what you were working on earlier.
04:01 alester which in Perl 5 is /^1?$|^(11+?)\1+$/
04:01 alester oh, ok, thanks, I don't wanna be that succinct. :-)
04:02 alester so I've got
04:02 alester return False if $str ~~ / ^x$ | ^ (xx+?) $1+ $ /;
04:02 alester but that never returns
04:11 snarkyboojum ash_: I have a tip for building rakudo on a machine with 256MB RAM, but it requires a precompiled core.pir ;)
04:11 sorear What's a prime regex?
04:11 alester http://montreal.pm.org/tec​h/neil_kandalgaonkar.shtml
04:12 alester Not a, the.
04:12 ash_ snarkyboojum: i can do that
04:12 ash_ snarkyboojum: so, i'd have to pre-compile core.pir and do?
04:12 snarkyboojum ash_: I've used a precompiled version of core.pir from my mac laptop with 4GB of RAM, and transfered it to my linux slice (VPS) with 256MB RAM and got it going
04:13 snarkyboojum ash_: so you still need an env where you can get the same version of rakudo compiled (to get you core.pir)
04:14 snarkyboojum ash_: but if that's ok, then it's a simple matter of hacking the Makefile slightly to not attempt to build core.pir and just use the precompiled one
04:15 snarkyboojum ash_: and Bob's your aunty - even passes spectest - eventually :)
04:15 ash_ kk
04:15 ash_ will do that now
04:15 ash_ thanks for the tip
04:15 ash_ so, you only need to copy over core.pir?
04:16 snarkyboojum ash_: yep - but you can do it with other generated files too if you like
04:16 ash_ could i copy perl6.pbc?
04:16 snarkyboojum ash_: but core.pir is the stickler for machines with limited RAM
04:17 snarkyboojum ash_: don't know - haven't tried
04:17 tylercurtis ash_: I don't think PBCs are (guaranteed, at least) portable.
04:17 ash_ hmmm i might try the perl6.pbc just to see what happens
04:17 snarkyboojum tylercurtis: no? they should be OS agnostic no?
04:17 * tylercurtis may be wrong.
04:17 ash_ i thought that was only true if the system had the same endian ness
04:17 * snarkyboojum doesn't know either
04:18 sorear PBCs are guaranteed portable, except that if you try to copy them they become EVEN SLOWER
04:18 snarkyboojum ah - there you go ;)
04:18 snarkyboojum ash_: but the core.pir idea seems to work - let me know how you travel
04:18 sorear PBCs are always written using native data format
04:18 ash_ alright i'll just move core.pir
04:19 sorear if cross-reading is required, byte swapping and other reformatting has to happen
04:19 snarkyboojum ash_: good luck :)
04:20 snarkyboojum sorear++ # for guts level knowledge :)
04:20 alester ok, anyone see anything wrong with line 35 ? http://github.com/petdance/r​akudo/blob/master/lab/primes
04:25 snarkyboojum alester: first capture is $0
04:26 alester oh?
04:26 snarkyboojum not $1 as in Perl 5
04:26 alester wow
04:26 alester that's a big gotcha
04:26 alester thak you
04:26 snarkyboojum aye, but a well documented one :)
04:26 ryan_ joined #perl6
04:27 alester Yes, where?
04:27 alester Please.
04:27 alester If you say "S05" i'm going to cry
04:27 snarkyboojum alester: http://perlcabal.org/syn/Differences.html
04:27 snarkyboojum alester: is a handy and quick read
04:27 alester thanks
04:28 alester All of this I am working on feeding into perl101
04:28 snarkyboojum alester++
04:28 alester I want to have "perl 5 way" and "perl 6 way" for everythign in perl101
04:29 snarkyboojum what about ways of doing thing in perl 6 which are impossible in perl 5? :P
04:29 snarkyboojum alester: sounds awesome - do you have a URL for a work in progress?
04:29 alester perl101.org has been around forever
04:30 snarkyboojum ah.. I remember visiting perl101 some time ago
04:31 alester ok, that diffs doc is huge
04:31 alester huge as in hugely helpful.
04:32 snarkyboojum alester: I guess it doesn't capture everything, but I found it useful early on
04:32 alester Also didn't know about :P5 operator
04:32 alester or modifier
04:32 tylercurtis alester: I don't think Rakudo implements that.
04:32 snarkyboojum alester: yeah, not implemented yet AFAIK, but specced
04:32 tylercurtis rakudo: say 'a' ~~ rx:P5 / a /
04:32 p6eval rakudo efe72c: OUTPUT«Could not find sub &rx:P5␤  in main program body at line 22:/tmp/09Y_mfPl4f␤»
04:33 snarkyboojum that's something someone should convince sorear to work on :)
04:33 sorear niecza: say 'a' ~~ /:P5 a /
04:33 snarkyboojum I bet niecza will get it soon :)
04:33 p6eval niecza 01680b9: OUTPUT«Can't locate STD_P5.pm in @INC (@INC contains: STD_checkout /opt/perl-5.12.1/lib/site_perl/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/site_perl/5.12.1 /opt/perl-5.12.1/lib/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/5.12.1 .) at STD_checkout/STD.pm line 62641.␤»
04:34 sorear niecza uses the STD parser
04:34 sorear which supports parsing rx:P5
04:34 alester what's ARGV now
04:34 sorear but there's no backendsupport
04:34 alester @ARGV
04:34 sorear @ARGV is @*ARGS
04:34 tylercurtis @*ARGS
04:34 snarkyboojum @*ARGS
04:34 sorear <ARGV> is $*ARGFILES
04:34 snarkyboojum 3 simultaneous answers - #perl6++
04:34 snarkyboojum :)
04:34 alester oh, right * twigil because it's global
04:35 alester and ? : is now ?? !!
04:35 tylercurtis alester: and check out http://perlcabal.org/syn/S06.ht​ml#Declaring_a_MAIN_subroutine for command line parsing
04:35 alester don't wanna parse
04:36 alester where's that Differences doc stored anyway
04:36 alester I'd be glad to add to it.
04:37 snarkyboojum alester: I believe it's in pugs SVN - http://svn.pugscode.org/pugs/do​cs/Perl6/Perl5/Differences.pod
04:38 alester thanks
04:38 alester on my to-do now
04:38 alester I want to run perl5->perl6 stories on Perlbuzz, too.
04:38 snarkyboojum alester: if you don't have a commit bit, just ping moritz_ & co
04:38 alester co?
04:39 alester oh, & co.
04:39 alester got it.
04:40 sorear alester: what's your e-mail, I can add you
04:41 alester andy@petdance.com
04:42 sorear hugme: add andy@petdance.com to pugs
04:42 hugme sorear: sorry, you don't have permissions to change 'pugs'
04:42 sorear ... I don't?
04:43 snarkyboojum sorear: I think you can do it via the web interface at http://commitbit.pugscode.or​g/admin/project/Pugs/people
04:44 sorear done.
04:45 alester sorear: Can you redo it so it's user petdance?
04:45 alester it'll be easier for tracking if nothing else
04:46 tylercurtis alester: I think it gives you a choice of username when you set up your password and such.
04:46 alester n
04:47 tylercurtis Or, at least, the username field looked editable when I did so.
04:47 alester well, let me see
04:48 sekimura1 joined #perl6
04:50 ash_ joined #perl6
04:51 yuetiantian joined #perl6
04:55 drbean joined #perl6
04:55 snarkyboojum Mr bean got a PhD!
04:56 pugssvn r31899 | andy++ | add a note about C<@*ARGS>
04:57 alester yay me
04:57 alester and I'm apparently already in there as "andy"
04:58 snarkyboojum alester: it's also traditional to add yourself to the AUTHORS file at http://svn.pugscode.org/pugs/AUTHORS if you haven't already
04:58 alester ok
04:58 alester so how do I coerce a type?
04:58 alester @*ARGS is filled with Str, and I want to coerce to Int
04:59 sorear $foo.Int
04:59 alester ah
04:59 snarkyboojum rakudo: my $a = "Foo"; say $a.WHAT; my $b = $a.Int; say $b.WHAT
04:59 p6eval rakudo efe72c: OUTPUT«Str()␤Int()␤»
04:59 sorear rakudo: say "Foo".Int
04:59 p6eval rakudo efe72c: OUTPUT«0␤»
05:00 LaVolta joined #perl6
05:02 sorear Why am I *now* starting to be daunted by the magnitude of what remains to be done with niecza
05:03 snarkyboojum speaking of niecza, when I try and build it on my box I get "cannot open unicode maps from <home>/lib : No such file or directory"
05:04 snarkyboojum what am I missing?
05:04 sorear Does it literally say <home>?
05:05 snarkyboojum nope
05:05 snarkyboojum it says /Users/adrian i.e. my home dir
05:05 snarkyboojum as far as I know I have all the prereqs installed, but I haven't delved into it
05:06 sorear the unicode maps are found via PERL6LIB
05:06 sorear if PERL6LIB is unset, the internal directories are used
05:07 snarkyboojum sorear: ah.. so the makefile is setting it incorrectly
05:07 snarkyboojum on OS X
05:07 kaare joined #perl6
05:08 snarkyboojum i.e. no 'shell' cmd
05:08 sorear No 'shell' on OSX?
05:08 snarkyboojum as a command? nope
05:10 pugssvn r31900 | andy++ | add my name
05:10 alester well, pugs thinks I'm andy
05:10 TiMBuS joined #perl6
05:11 sorear enough information to go on has not been presented
05:11 sorear when you find out what's wrong, tell me and I'll fix it
05:11 plobsing joined #perl6
05:11 sorear or better yet, patches
05:11 snarkyboojum sorear: sussing it out now
05:17 drbean joined #perl6
05:18 pugssvn r31901 | andy++ | cleaned up inappropriate whitespace and removed embedded tabs
05:31 alester http://perlbuzz.com/2010/0​8/diving-into-perl-6.html
05:34 snarkyboojum alester: good to have you on board :)
05:35 alester I've always been on board
05:35 alester just never actually doing Perl 6 code. :-)
05:35 snarkyboojum alester: well writing Perl 6 :)
05:38 sorear alester: I suppose you've seen http://perl.plover.com/NPC/index.html ?
05:38 alester what about it
05:39 sorear It's possibly relevant to weird things done with regex
05:40 alester my big concern is that the PHP version fails quietly
05:54 snarkyboojum does mjd weigh in on perl 6 at all?
05:58 ashleydev joined #perl6
06:04 Su-Shee joined #perl6
06:07 Mowah joined #perl6
06:10 jfried joined #perl6
06:16 masak joined #perl6
06:16 masak morning!
06:17 masak today's "cute" anti-p6 tweet: http://twitter.com/built/status/20255192116
06:17 sorear masak: How does this "live filter" thing work?
06:18 masak sorear: I bet the technical underpinnings are not that complicated. they're delivered to me through the slick interface of Tweetie on Mac.
06:19 melte funny
06:19 masak the "live" part simply means that, after I've started the program, searches for the terms are done automatically, at regular intervals.
06:19 masak melte: yes, I thought so. as criticisms go, it's fairly clever.
06:21 sorear masak: ok, that would explain why I couldn't find the button on the web site
06:22 masak right. web interface has no live searches.
06:22 masak that's one reason I prefer a non-web client.
06:24 masak the &mkdir builtin creates a directory with mode 000 per default. do we really have the balance between security and least-surprise right in this case?
06:25 sorear sounds like a flat out bug to me
06:25 sorear should be 777
06:26 * masak submits rakudobug
06:27 masak funny how octal is just assumed for that number. :)
06:33 moritz_ good morning
06:33 phenny moritz_: 03 Aug 22:10Z <[Coke]> tell moritz_ Ok, I'll just hold longer. =-)
06:33 snearch joined #perl6
06:33 masak moritz_: \o
06:35 _sri joined #perl6
06:36 mulander morning all
06:37 masak mulander: \o
06:38 abrasive joined #perl6
06:39 azawawi joined #perl6
06:39 agentzh joined #perl6
06:40 pmichaud good morning, #perl6
06:40 azawawi pmichaud: good morning
06:41 masak morning, pmichaud
06:41 azawawi pmichaud: thanks for fixing the fake executable. It now works on strawberry. pmichaud++
06:41 pmichaud preview of my slides for today's talks: http://pmichaud.com/2010/pres/yapceu-rakudo/
06:41 pmichaud comments and suggestions and additions and subtractions welcome
06:44 * mathw reads
06:44 Casan joined #perl6
06:44 * masak is working on his slides generator
06:44 masak it's currently at the stage where it generates 54 blank slides.
06:44 masak would be kinda fun to hold the talk that way. :)
06:44 mathw is that an arbitrary number
06:45 mathw or is it supposed to generate 54 slides?
06:45 pmichaud a talk is finished when there's nothing left to be removed.  :)
06:45 masak no, it's the number of my slides.
06:45 azawawi pmichaud: the index needs fixing on high resolutions http://pmichaud.com/2010/pres/y​apceu-rakudo/slides/index.html
06:45 masak its parses them OK, and creates proper Slide objects.
06:45 masak but then it throws away all that information, and just generates blank slides.
06:45 pmichaud azawawi: I don't worry too much about the index page appearing properly.
06:45 azawawi pmichaud: the footer is in the middle while the rest of the index continues.
06:46 pmichaud azawawi: it's primarily a slide show for project presentations; not necessarily meant to be "perfect" in all web clients.
06:46 pmichaud *projector
06:46 azawawi pmichaud: I see. Then totally ignore my comment :)
06:46 pmichaud someday I'll fix that.
06:47 sorear good morning pmichaud
06:47 pmichaud sorear: good morning
06:47 sorear in some ways hashes are simpler than arrays
06:47 sorear no support for laziness, no [*-1]
06:48 * pmichaud adds the neat notes moritz_++ sent via email
06:49 mathw pmichaud: I like your slides
06:49 mathw pmichaud: I have no comments other than wishing I was at YAPC::EU
06:50 masak mathw: you usually say that when we have a conf. you should go for it some day.
06:51 mathw yeah but then I go and spend all my money on musical instruments
06:51 sorear niecza is only at 6,500 LOC so far
06:51 * sorear wonders if he can make a meaningful comparison out of this number
06:52 masak "OMG HOW CAN IT BE SO SLOW?!" pmichaud++
06:52 masak much better than using the word "honest" :)
06:52 masak the ladybugs-on-a-pole are *so* cute!
06:53 sorear hmm.  I could probably implement heredocs.
06:53 oha joined #perl6
06:54 ashleydev joined #perl6
06:56 masak pmichaud: excellent slides. I have nothing to add/subtract.
06:56 * sorear neither
06:56 pmichaud masak: thanks
06:56 pmichaud sorear: thanks
06:57 masak sorear: I know at least one p6er whom you'd make very happy by implementing heredocs.
06:57 * tylercurtis also likes the slides and also wishes he was at YAPC::EU
06:58 snarkyboojum the play by play on IRC re release day excietement is fun :)
06:58 pmichaud any other twitter quotes or things worth pointing out?
06:58 pmichaud (play by play) -- yeah, I'm not sure how that will work out in the presentation itself.  We'll see.
06:59 kaare_ pmichaud: You'll answer "No" to "Where is the official Perl 6 compiler?"
06:59 pmichaud kaare_: correct.
06:59 pmichaud if someone asks "Where is the best Perl 6 compiler", I know how to answer.  :)
07:00 pmichaud (although that answer may change over time :)
07:00 sorear Do you have a single answer in mind for the worst Perl 6 compiler?
07:00 masak rakudo: my @slides = "" xx 5; .say for 1..@slides
07:00 cotto Not "Mu"?
07:00 p6eval rakudo efe72c:  ( no output )
07:00 snarkyboojum masak: are you writing slide presentation software in Perl 6? :D
07:00 Ross joined #perl6
07:01 pmichaud sorear: no, no answer yet for "worst Perl 6 compiler"
07:01 masak rakudo: my @slides = 42 xx 5; .say for 1..@slides
07:01 p6eval rakudo efe72c: OUTPUT«1␤2␤3␤4␤»
07:01 masak snarkyboojum: yes, the one for today's presentation is in Perl 6.
07:01 * masak submits rakudobug
07:01 snarkyboojum masak: yapsi or rakudo? ;)
07:01 pmichaud I suspect the worst one hasn't been written yet.  When it is written, it can be called "Rats Odukar"  :-)
07:02 masak snarkyboojum: rakudo :)
07:02 sorear interesting, niecza is perfectly willing to compile heredocs right now
07:03 sorear they show up as empty strings at runtime
07:03 * kaare_ didn't know "no" could be an answer to a where-question :-)
07:03 snarkyboojum got a chuckle out of the same joke :)
07:04 sorear Q:to/EOA/ is the right syntax?
07:04 tylercurtis pmichaud: Can Bennu be the worst Perl 6 compiler?
07:04 masak pmichaud: maybe include this one? http://twitter.com/freekey/status/19752653473 -- it's a good summary of 'underpromise/overdeliver'
07:06 masak rakudo: my $slides = 5; .say for 1..$slides
07:06 p6eval rakudo efe72c: OUTPUT«1␤2␤3␤4␤5␤»
07:07 kaare_ pmichaud: I may have paged too quickly through the slides, but...
07:07 kaare_ ... do you have a slide spelling out the goals of star as compared to the regular releases.
07:07 kaare_ not the content, but the goals.
07:08 Scotl joined #perl6
07:08 sorear What if we made {} *always* a block, and let people who want to make hashes use hash()?
07:10 pmichaud kaare_: there's the one that describes the difference between a compiler release and a distribution release
07:10 pmichaud just a sec
07:12 pmichaud http://www.pmichaud.com/2010/pres/​yapceu-rakudo/slides/slide38.html
07:16 kaare_ pmichaud: OK, just testing your slides ;-)
07:16 pmichaud kaare_++
07:16 pmichaud okay, time to head down to the conference rooms
07:16 pmichaud bbiab
07:16 tylercurtis masak: speaking of Bennu (is it socially acceptable to say "speaking of $foo" where $foo is something that only I mentioned?), after GSoC is over, I hope to find some time to actually start working on it again. And I'm probably going to stop using Yapsi as my parser(mostly because I plan to define all sorts of weird bootstrappy things that let me write C in Perl 6 so that I can write EVERYTHING in Perl 6. It just might happen that some of the things I
07:16 tylercurtis write in Perl 6 use nonstandard pragmas/traits that give them much easier to compile semantics.
07:16 go|dfish joined #perl6
07:19 kaare_ hm, bennu isn't on http://perl6.org/compilers/
07:19 tylercurtis kaare_: that's good. People might hear about it and expect it to actually work. :)
07:19 Ross joined #perl6
07:20 kaare_ Do all the other compilers there work?
07:20 masak tylercurtis: sounds exciting. let me know how it goes.
07:21 tylercurtis masak: anyway, after that mostly useless burst of information that might have actually been interesting if I had managed to emit all of the thoughts relevant to it currently into my head, I'm going to go to bed now. I'll try to remember to actually write up some code examples of the sorts of things I plan to do regarding bootstrapping at some point. Have fun at YAPC::EU!
07:24 tylercurtis kaare_: I don't know. But as long as Yapsi isn't there, Bennu definitely shouldn't be(at least, not until the rewrite mentioned above actually happens to some extent), given that it's currently impossible for Bennu to implement anything Yapsi doesn't, and it doesn't implement most things Yapsi does.
07:26 sorear phenny: tell tylercurtis to check out Niecza/Grammar.pm6, subclassing STD to add implementation-specific hooks actually works reasonably well
07:26 phenny sorear: I'll pass that on when tylercurtis is around.
07:27 tylercurtis Also, if Bennu was there, as I said, people might hear about it and expect it to work, and I'd have to figure out how to compile the runtime library with a LLVM C compiler instead of gcc, and make the compile process less likely to violate the Geneva Conventions, and fix the runtime's Makefile so that it didn't hardcode the path to libtool (and then I'd have to fix that the wrong libtool comes first in my path), and so on.
07:27 phenny tylercurtis: 07:26Z <sorear> tell tylercurtis to check out Niecza/Grammar.pm6, subclassing STD to add implementation-specific hooks actually works reasonably well
07:27 tylercurtis Much easier to pretend it doesn't exist and only make jokes and grandiose plans about it.
07:28 sorear That's the great thing about .net as a compiler target
07:28 sorear I can ship Niecza.exe and pretend the build system doesn't exist
07:37 tylercurtis sorear: I'm hoping to, instead of having something like a Q:CgOp or Q:PIR helper for bootstrapping, something more like what I'm guessing "is rawcall" in your setting does. Traits and pragmas that cause a given segment of syntactically normal Perl 6 to have more low-level semantics. E.g., a "use static-typing;" pragma that forces all code in the lexical scope to have appropriate type declarations(unless I can manage to inference it, which would probabl
07:37 tylercurtis not be worth the effort), and for all dispatch to be resolved at compile time.
07:40 tylercurtis Anyway, as I was saying, I'm going to bed. Good night, #perl6.
07:40 sorear is rawcall switches off the generation of a binder stub; code in the function has to handle calling itself
07:40 sorear night
07:40 kaare_ Yeah, I missed Yapsi as well. After all, it's an official and complete Perl 6 implementation :-)
07:41 tylercurtis sorear: sounds precisely like the sort of thing I'm thinking about, though with my ignorance of Niecza's internals, I might be totally wrong. :)
07:43 Psyche^ joined #perl6
07:51 synth joined #perl6
07:52 foodoo joined #perl6
07:54 dalek niecza: 3a5bf4e | sorear++ | CodeGen.pm:
07:54 dalek niecza: Make string literals robust against non-printable characters
07:54 dalek niecza: review: http://github.com/sorear/niecza/commit/3​a5bf4e174b58d7a4403ca5bfb62a39c423b99b2
07:54 dalek niecza: 868644c | sorear++ |  (2 files):
07:54 dalek niecza: Implement here documents
07:54 dalek niecza: review: http://github.com/sorear/niecza/commit/8​68644c7a807453b17209bc0b58cf2ad1d9eab1b
07:54 dalek niecza: bbc3800 | sorear++ | test.pl:
07:54 dalek niecza: Tests for heredocs
07:54 dalek niecza: review: http://github.com/sorear/niecza/commit/b​bc3800066be14d3fa3b5959e3a8a347646f7a9a
07:56 LaVolta hey guys, if i want port my Perl 5 script to Perl 6, what's the best choice for undef? Whatever?
07:58 avar what are you using undef for?
07:58 LaVolta for an empty string
07:58 LaVolta undefined string...
07:59 sorear Str
07:59 mberends joined #perl6
07:59 sorear hello mberends!
07:59 mberends good *
08:00 LaVolta whatif a undefined scalar value, that can hold a ref or whatever...
08:00 mberends YAPC::EU is just launching!
08:00 avar rakud; my Str $meh; $meh
08:00 avar rakudo; my Str $meh; $meh
08:00 avar rakudo: my Str $meh; $meh
08:00 p6eval rakudo efe72c:  ( no output )
08:00 avar eval: my Str $meh; $meh
08:00 avar meh
08:02 vlad0 joined #perl6
08:08 ambs joined #perl6
08:11 [Coke] joined #perl6
08:15 * sorear starts attacking S02-literals/quoting.t
08:16 sorear I am annoyed by the interdependance of testing
08:16 sorear quoting.t wants me to implement list assignment!@
08:18 mberends sorear: unpicking any of those interdependencies would be a Good Thing
08:23 sorear mberends: the trouble is that they're pretty necessary stuff :/
08:24 ambs what's the difference between 1..6 and 1..^6?
08:24 mberends ambs: ^6 means up to but not including 6
08:24 snarkyboojum ambs: one constructs a range from 1 to 6 inclusive, and the other from 1 to 5
08:25 ambs ok, 1..5
08:25 ambs thanks
08:25 PZt joined #perl6
08:25 mberends ambs must be wall-shadowing ;-)
08:26 sorear you found the wall?
08:26 mberends The Wall is addressing YAPC::EU
08:26 ambs yeah, listening to the wall
08:27 snarkyboojum how many Pink Floyd references does The Wall use during his keynotes? :D
08:28 * sorear envy
08:30 * snarkyboojum seconds that
08:30 sorear I am, sadly, far away.
08:31 sorear So far away that the distance is measured in miles.
08:31 snarkyboojum Sydney -> Pisa is a very long way as well
08:34 drbean joined #perl6
08:34 Khisanth joined #perl6
08:34 alexm joined #perl6
08:42 plol joined #perl6
08:47 IllvilJa joined #perl6
08:52 sorear perl6: say (2 === "2")
08:52 p6eval rakudo efe72c: OUTPUT«0␤»
08:52 p6eval ..pugs: OUTPUT«␤»
08:57 jferrero joined #perl6
08:59 wamba joined #perl6
08:59 wtw joined #perl6
09:00 meppl joined #perl6
09:02 ambs joined #perl6
09:03 drbean joined #perl6
09:05 moritz_ colomon++
09:05 moritz_ patrickas++
09:05 moritz_ TimToady show-cased (1, -2, 4 ... *) at his yapc keynote
09:06 timbunce joined #perl6
09:08 frettled yay
09:09 tadzik joined #perl6
09:10 * sorear idly wonders if he's famous yet.
09:12 sorear perl6: say Nil.Str
09:12 p6eval pugs: OUTPUT«*** No such subroutine: "&Nil"␤    at /tmp/TYHhB_JxwO line 1, column 5 - line 2, column 1␤»
09:12 p6eval ..rakudo efe72c: OUTPUT«␤»
09:14 dalek niecza: 616bc42 | sorear++ | Test.pm6:
09:14 dalek niecza: Add plan * and done_testing to Test.pm6
09:14 dalek niecza: review: http://github.com/sorear/niecza/commit/6​16bc42430f527641cb3ae58e41af00e295df9e1
09:14 dalek niecza: b034cd5 | sorear++ | Test.pm6:
09:14 dalek niecza: fix broken fudged multi in Test.pm6
09:14 dalek niecza: review: http://github.com/sorear/niecza/commit/b​034cd57e21bde89c5166237fd7cd52a5978e34b
09:14 dalek niecza: 7beb95b | sorear++ | Test.pm6:
09:14 dalek niecza: Add crude is() for spectest purposes
09:14 dalek niecza: review: http://github.com/sorear/niecza/commit/7​beb95b347c5c336baaf8406aa456af4dac29257
09:14 dalek niecza: 8fedca5 | sorear++ |  (4 files):
09:14 dalek niecza: Add an ArrayP hook for defining the backing class for my @foo
09:14 dalek niecza: review: http://github.com/sorear/niecza/commit/8​fedca51b7421313e59ecd35a0d0d5a4fdd41850
09:23 timbunce anyone got a url for blitzkost info?
09:25 alexm left #perl6
09:28 mj41 joined #perl6
09:32 felliott__ joined #perl6
09:32 mutewit joined #perl6
09:32 dukeleto joined #perl6
09:33 xinming joined #perl6
09:33 [Coke] joined #perl6
09:35 Ross joined #perl6
09:36 cognominal joined #perl6
09:44 dalek niecza: f13a472 | sorear++ | CORE.setting:
09:44 dalek niecza: Rework LLArray.new to be more direct and avoid a dependency loop with Array.new
09:44 dalek niecza: review: http://github.com/sorear/niecza/commit/f​13a4726ef84436f92bb6903a11ee17865cb2818
09:44 dalek niecza: ff2f9de | sorear++ | test2.pl:
09:44 dalek niecza: Prototype of the Array class
09:44 dalek niecza: review: http://github.com/sorear/niecza/commit/f​f2f9decfce83a1d89be479557b6958a4811cefc
09:44 NOTevil joined #perl6
09:49 TiMBuS joined #perl6
09:55 uniejo joined #perl6
09:57 briang joined #perl6
09:59 mberends joined #perl6
09:59 tadzik oh, mberends. Is HTTP::Server::Simple(::PSGI) ready to add it to proto?
10:01 mberends tadzik: yes, it's ready enough. It will get more features later on, but runs its current examples without problem.
10:02 tadzik great
10:04 timbunce joined #perl6
10:04 * sorear is testing a fix for the nested settings but
10:04 sorear bug
10:10 azert0x joined #perl6
10:10 azert0x joined #perl6
10:10 timbunce anyone got a url for blitzkost info?
10:11 sorear github.com/jnthn/blizkost?
10:13 timbunce sorear: d'oh. I looked but missed it. thanks.
10:13 bbkr rakudo: my $ = 'a'; $ = 4; # bug or not?
10:13 p6eval rakudo efe72c: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "$ = 4; # b"␤»
10:13 bbkr rakudo: my $ = 'a'; my $ = 4; # hmm
10:14 p6eval rakudo efe72c: OUTPUT«===SORRY!===␤Redeclaration of symbol $ at line 22, near " = 4; # hm"␤»
10:14 tadzik std: my $ = 5;
10:14 p6eval std 31901: OUTPUT«ok 00:01 117m␤»
10:14 tadzik oh
10:15 sorear my $ = 5 is absolutely legal
10:15 sorear it creates an anonymous variable
10:15 sorear it's most useful in parameter lists
10:16 sorear it prevents unused variable warnings
10:22 pugssvn r31902 | sorear++ | [STD] Correctly handle setting chains other than NULL->CORE->UNIT
10:25 ambs joined #perl6
10:26 moritz_ rakudo: say 0o777
10:26 p6eval rakudo efe72c: OUTPUT«511␤»
10:27 bbkr i know that "my $ = 5" is legal. still "my $ = 'a'; my $ = 4;" IMO should not warn about redeclaration, because symbol is anonymous :)
10:27 moritz_ rakudo: my $ = 5; my $ = 7; say "alive"
10:28 p6eval rakudo efe72c: OUTPUT«===SORRY!===␤Redeclaration of symbol $ at line 22, near " = 7; say "␤»
10:28 bbkr same as ([1,2,3], [1,2,3]) is legal code and those are two anonymous arrays in the same scope
10:28 sorear niecza: my $ = 'a'; my $ = 4; say "alive"
10:28 p6eval niecza 01680b9: OUTPUT«[31m===[0mSORRY![31m===[0m␤Non-simple variables NYI at /tmp/GPz2nPpQWs line 1:␤------> [32mmy $[33m⏏[31m = 'a'; my $ = 4; say "alive"[0m␤Use of uninitialized value $t in pattern match (m//) at Niecza/Actions.pm line 1086.␤Use of uninitialized value $t in pattern match
10:28 p6eval ..(m//)…
10:28 moritz_ bbkr: that's right; it's a bug
10:28 sorear moritz_: I've added a safe mode to niecza; to use it, change 'make' to 'make safe' and add --safe to the niecza_eval command
10:29 moritz_ sorear++
10:29 * bbkr reports
10:32 moritz_ sorear: thanks - I have a local patch, and will commit as soon as pugs svn works again for me
10:32 muixirt joined #perl6
10:32 sorear niecza: say slurp("/etc/passwd").substr(0,1)
10:32 p6eval niecza 01680b9: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'slurp' used at line 1␤Check failed␤»
10:33 bbkr what is "niecza" evalbot?
10:33 sorear oh, it hasn't updated since July
10:33 sorear seriously wtf is wrong with the update cron job
10:34 sorear bbkr: http://github.com/sorear/niecza
10:34 sorear (and/or wtf is wrong with my Makefile that only manifests under cron)
10:35 bbkr sorear: thanks for info
10:36 moritz_ niecza: say slurp("/etc/passwd").substr(0,1)
10:36 p6eval niecza bbc3800: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'slurp' used at line 1␤Check failed␤»
10:38 moritz_ niecza: say slurp("/etc/passwd").substr(0,1)
10:38 p6eval niecza ff2f9de: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'slurp' used at line 1␤Check failed␤»
10:38 moritz_ that's the newest niecza I could get
10:39 * TimToady is afraid what phenny will say
10:39 phenny TimToady: 27 Jul 09:42Z <sorear> ask TimToady what do CallFrame.line and $?LINE mean in your LF-polymorphic model?
10:39 phenny TimToady: 27 Jul 09:43Z <sorear> tell TimToady STD bug: my module CORE; my class Bool { our constant False = 0; } # Can't call method "id" on an undefined value
10:39 phenny TimToady: 28 Jul 04:15Z <sorear> ask TimToady I feel like I'm using phenny a bit much.  Does STD.pm6 have a bug tracker?
10:39 sorear niecza: say 2
10:40 p6eval niecza ff2f9de: OUTPUT«2␤»
10:40 sorear niecza: say Q:CgOp { (null Variable) }
10:40 p6eval niecza ff2f9de: OUTPUT«MAIN.cs(38,77): error CS0023: The `.' operator cannot be applied to operand of type `null'␤Compilation failed: 1 error(s), 0 warnings␤"gmcs" unexpectedly returned exit value 1 at (eval 39) line 13␤ at CompilerDriver.pm line 82␤»
10:41 sorear moritz_: if you've switched the build to 'make safe', the evaluator also needs to be switched to '--safe'
10:41 bbkr http://rt.perl.org/rt3/Tic​ket/Display.html?id=69010 - yesterday I got no answer - is 'break' command used in this ticket something that was removed from spec?
10:41 sorear using one but not the other fails in a very LTA way
10:49 vcrini joined #perl6
10:50 moritz_ sorear: could you please apply http://nopaste.snit.ch/22555 for me?
10:53 moritz_ I can't access pugs right now :(
10:53 sorear I suspect that patch is corrupted
10:53 sorear It only changes one character
10:54 sorear It appears to have been chopped at 80 chars
10:56 meppl joined #perl6
10:58 yannt joined #perl6
10:59 timbunce joined #perl6
11:04 redicaps joined #perl6
11:09 jferrero joined #perl6
11:12 funkymonk0 joined #perl6
11:12 PZt joined #perl6
11:15 yannt The perl6 site says, 'if you are looking for production ready code please use perl5'. When will perl6 be ready in that way?
11:16 tadzik yannt: not soon
11:16 tadzik yannt: The date is "when it's ready"
11:17 TiMBuS i recall duke nukem forever had the same release date :x
11:17 tadzik the difference is that you can use Perl 6
11:17 yannt Is the transition going to be smooth? Are there plans for that?
11:17 TiMBuS lol
11:18 tadzik yannt: plans for what?
11:18 TiMBuS yannt, the plan is to run a perl5 interpreter alongside parrot for backwards compatibility for things like cpan modules
11:19 yannt ok
11:19 tadzik this is actually the reality, not the plan :)
11:20 TiMBuS well i'd assume the long term goal is to convert all perl 5 modules to perl 6
11:20 tadzik iirc it's not
11:20 sorear *very* long term goal
11:24 tadzik 2010-07-26 12:17:35     sorear  tadzik: computers are cheap.  replacing CPAN will cost billions.
11:24 tadzik so it is a goal eventually?
11:25 bjarneh joined #perl6
11:25 phenicsl joined #perl6
11:26 Italian_Plumber joined #perl6
11:28 TiMBuS has anyone made p5top6 yet
11:29 uniejo joined #perl6
11:30 gfldex TiMBuS: no and that might not be needed
11:31 TiMBuS hm?
11:31 gfldex the idea is to run perl5 and perl6 in the same program
11:32 tadzik blizkost works
11:44 iloveperl6 joined #perl6
11:45 TiMBuS I know that backwards compatibility is needed, but I think it would be nice to encourage authors convert their modules to perl 6.
11:45 mberends TiMBuS: we do, we do :)
11:46 TiMBuS so a (probably not-so-)simple preprocessor for converting perl 5 to 6 could really help
11:46 gfldex it most cases it wont
11:46 gfldex perl6 != per5+1
11:47 moritz_ even parsing perl 5 isn't simple
11:47 gfldex look how many cpan modules bring some c code with them
11:47 gfldex you dont need tha c code with perl6
11:47 gfldex hopefully .)
11:49 TiMBuS well I don't mean a full conversion. that's pretty insane. but I've seen a lot of people saying that most perl 5 code runs as perl 6 with only a bit of search&replace (sigils mostly)
11:50 dalek rakudo: 8f8ad30 | moritz++ | src/core/IO.pm:
11:50 dalek rakudo: fix RT #76978, mkdir() umask should default to 0o777
11:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​f8ad30c63be28b668fb99366426e1fadbe7406b
11:55 takadonet joined #perl6
11:55 takadonet morning all
11:56 moritz_ o/
11:56 takadonet moritz_: how are u?
11:57 moritz_ takadonet: busy :-)  - at YAPC::EU, waiting for the next talk
11:57 tadzik are the talks streamed maybe?
11:57 moritz_ no :(
11:58 timbunce joined #perl6
11:58 takadonet moritz_: any online?
11:58 moritz_ takadonet: probably not yet
12:06 envi^home joined #perl6
12:07 timbunce sorear: am I right in thinking that the README at http://github.com/jnthn/blizkost is very outdated?
12:08 tadzik it is
12:09 amkrankruleuen joined #perl6
12:09 timbunce tadzik: great. any chance of an update? and can it talk well with the perl5 DBI?
12:09 ruoso joined #perl6
12:10 sorear it can talk to the perl5 dbi, though you may need a bit of glue
12:10 tadzik timbunce: poke jnthn, I have no access to blizkost
12:10 sorear the only things that roundtrip very well are strings and closures
12:12 M_o_C joined #perl6
12:12 timbunce I'm thinking of doing a 'perl5 dbi' driver for DBDI using blitzkost
12:19 macroron joined #perl6
12:24 bluescreen joined #perl6
12:32 timbunce joined #perl6
12:33 drbean joined #perl6
12:40 Guest86395 joined #perl6
12:43 Alias joined #perl6
12:44 grai joined #perl6
12:47 muixirt joined #perl6
12:47 masonkramer joined #perl6
12:53 LaVolta joined #perl6
13:07 perlygatekeeper joined #perl6
13:15 cibs joined #perl6
13:19 Holy_Cow joined #perl6
13:33 tadzik does IO::Socket::INET need some love?
13:35 TiMBuS yes
13:36 mberends joined #perl6
13:38 xinming joined #perl6
13:38 ambs joined #perl6
13:38 [1]Casan joined #perl6
13:39 timbunce joined #perl6
13:40 TiMBuS does recv still close the socket when it's done? that was terrible
13:41 TiMBuS or it did something else that was terrible, i forget what
13:41 TiMBuS hrmmmm yeah it only returns once a connection is closed
13:42 TiMBuS unless you specify a buffer size
13:48 javs joined #perl6
13:51 timbunce joined #perl6
13:53 thrn joined #perl6
13:56 oha joined #perl6
13:56 clintongormley joined #perl6
13:57 amkrankr1leuen joined #perl6
14:02 masak joined #perl6
14:02 masak \o/
14:03 takadonet masak: ?
14:04 masak takadonet: first talk down -- it went reasonably well.
14:04 takadonet masak: sweet!
14:04 masak now I just need to *write* the next talk before Friday. o.O
14:05 dalek rakudo: e41c47b | moritz++ | src/ (2 files):
14:05 dalek rakudo: :ii is a synonym for :samecase
14:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​41c47b5db0ea07ec9ccdb47b7d967cc438418c1
14:05 kthakore left #perl6
14:07 briang joined #perl6
14:12 envi^home joined #perl6
14:12 LaVolta joined #perl6
14:12 LaVolta rakudo: if "abc" ~~ m:i/ B / { say "matched"; }
14:12 p6eval rakudo 8f8ad3: OUTPUT«===SORRY!===␤Missing block at line 22, near ""␤»
14:12 dalek rakudo: 0185653 | moritz++ | src/Perl6/Actions.pm:
14:12 dalek rakudo: :ii/:samecase now implies :i, as per spec
14:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​18565394a8e64af50941616eff59ec12062ed0e
14:12 mberends joined #perl6
14:12 moritz_ LaVolta: I noticed that m// doesn't work if I implement it according to the spec - needs some tweaking by TimToady++
14:13 _ilbot2 joined #perl6
14:13 Topic for #perl6is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released!
14:13 LaVolta btw, where's TimToady these days? :)
14:13 PerlJam vacation
14:13 moritz_ LaVolta: YAPC::EU
14:14 masak szabgab: you've been using the verb "crashes" in recent bug reports in a manner which confuses me slightly. it seems to me you really meant "dies" each time.
14:15 masak szabgab: at least to me, "crashes" means that it dies with some kind of casualties, such as a bus error or segfault.
14:15 LaVolta seems like I am a fake Perl lover here...
14:15 moritz_ LaVolta: it took me 4 years in the perl community to make it to my first YAPC
14:15 Guest23195 joined #perl6
14:17 LaVolta I did not even know that it's YAPC::EU time...
14:18 masak LaVolta: maybe you can make it to YAPC::Asia instead?
14:19 LaVolta masak:  I know there's PerlChina around...but I've never meet someone
14:20 LaVolta and it seems to me Perl needs some hype/buzz/whatever here
14:22 masak and good p6 user docs for someone to translate to Mandarin.
14:23 LaVolta masak:  I don't know if someone already start translating, or may be we can work together
14:24 LaVolta or...I may just try to do it
14:25 masak LaVolta: ISTR that JimmyZ did some translating of the Synopses.
14:25 Holy_Cow joined #perl6
14:29 alester joined #perl6
14:29 moritz_ rakudo: $_ =  'Foo'; s/foo/bar/; .say
14:29 p6eval rakudo 8f8ad3: OUTPUT«Foo␤»
14:29 moritz_ \o/
14:29 moritz_ wait
14:29 * moritz_ borked it
14:30 moritz_ rakudo: $_ =  'Foo'; s:ii/foo/bar/; .say
14:30 p6eval rakudo 8f8ad3: OUTPUT«Found adverb ii␤===SORRY!===␤Adverb 'ii' not allowed on substitution at line 22, near "; .say"␤»
14:30 masak "Found adverb ii"?
14:30 plobsing joined #perl6
14:30 moritz_ sutpid debugging output
14:30 moritz_ which I've fixed locally
14:31 masak in HEAD on Github? :)
14:31 moritz_ yes :(
14:31 masak yes, that counts as borking it. :P
14:31 moritz_ that's not the only bork
14:31 moritz_ look again
14:31 masak "'ii' not allowed"?
14:31 moritz_ 16:29 < moritz_> rakudo: $_ =  'Foo'; s/foo/bar/; .say
14:31 moritz_ 16:29 <+p6eval> rakudo 8f8ad3: OUTPUT«Foo␤»
14:32 masak that's ok, no?
14:32 moritz_ rakudo: say 'Foo' ~~ /foo/
14:32 p6eval rakudo 8f8ad3: OUTPUT«␤»
14:32 melte case sensitive
14:32 moritz_ right
14:32 * masak doesn't see the other bork
14:32 moritz_ and I accidentally it for s///
14:33 moritz_ masak: s/foo/bar/ should be case senstive
14:33 masak no wai!
14:33 masak oh wait.
14:33 masak yes.
14:33 masak case *sensitive*
14:33 masak it is, in your example above.
14:33 moritz_ rakudo: $_ =  'Foo'; s/foo/bar/; .say
14:33 masak that's why it doesn't do the substitution.
14:33 p6eval rakudo 8f8ad3: OUTPUT«Foo␤»
14:33 melte it doesn't match so it doesn't substitute
14:33 masak right.
14:33 moritz_ ah
14:33 masak as it shouldn't.
14:34 * moritz_ really confused
14:34 masak the bork isn't in Rakudo in this case :)
14:34 moritz_ rakudo: $_ =  'Foo'; s:ii/foo/bar/; .say
14:34 p6eval rakudo 8f8ad3: OUTPUT«Found adverb ii␤===SORRY!===␤Adverb 'ii' not allowed on substitution at line 22, near "; .say"␤»
14:34 moritz_ that will print Bar soon
14:34 moritz_ it does locally
14:34 dalek rakudo: ecb4b0a | moritz++ | src/Perl6/Actions.pm:
14:34 dalek rakudo: remove left-over debugging output, moritz--
14:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​cb4b0a5c4f85dc76b7f2bb866b93ea244e42c4e
14:37 LaVolta masak:  sorry...it's the latency...where can I find him? I don't see him around...
14:38 masak LaVolta: he's around irregularly.
14:38 LaVolta ah...then I have to wait or could you point me somewhere in the doc to start?
14:39 moritz_ rebuilding parrot failed :(
14:39 moritz_ on the p6eval server
14:41 moritz_ a distclean helped
14:46 pugssvn r31903 | moritz++ | [t/spec] RT #75900
14:47 pugssvn r31904 | moritz++ | [syn/] remove broken S26 link
14:47 pugssvn r31905 | moritz++ | [evalbot] enable niecza safe mode
14:47 pugssvn r31906 | moritz++ | tests for :ii and :samecase implying :i
14:47 ashleydev joined #perl6
14:48 molaf joined #perl6
14:48 masak LaVolta: far be it from me to tell someone else what to do, and this documentation stuff is complicated enough without involving other languages. :) but (hint, hint) I see far too little Perl 6 blogging in Chinese. :)
14:53 LaVolta masak:  there actually are some bloggin/announcing of the release of R*, but yes too few...
14:54 LaVolta ex: solidot (Slashdot-alike site) http://developers.solidot.org/de​velopers/10/07/29/1542236.shtml
14:56 LaVolta and CSDN: http://java.csdn.net/a/20100802/277561.html (right news, wrong place, I guess, put in "Java channel")
14:56 Kodi joined #perl6
14:57 masak yeah. I meant more like people in China using Perl 6 and blogging about their experiences.
14:57 Kodi masak: Would you prefer I bug somebody else about my Instants and Durations patch? :) http://gist.github.com/493037
14:58 uniejo joined #perl6
14:58 LaVolta I know, even Perl 5 didn't get its population I guess :p
14:59 masak Kodi: if you want it reviewed in the next 2-3 days, you'll probably want to recruit someone else, yes.
14:59 masak Kodi: let me just say at this point that I like your work so far with Temporal, and I'm very happy you're taking the time to do it. sadly I don't have time to review things right now.
15:00 Kodi masak: Come to think of it, I'll be in a better position to make changes in the week of the 15th than now. Will you be less busy then, too?
15:01 moritz_ Kodi: that .perl method is ugly... why not use the default one? it will preserve $.x too
15:01 masak Kodi: I can guarantee that I won't be *more* busy. :)
15:01 Kodi moritz_: I did indeed screw up with Duration.perl, but Instant.perl needs to be silly in order to be spec-compliant, I think.
15:02 Kodi masak: Let's just wait and see, I guess.
15:02 ambs joined #perl6
15:03 moritz_ and from looking at the code, it seems it might benefit from Instant inheriting from Rat instead of having one
15:04 Kodi moritz_: Maybe? The thing with both of these datatypes is that more standard numeric operations should be *disallowed* on them than *allowed*. Although I admit I haven't really thought through whether you should be able to, e.g., take the sine of a Duration.
15:04 patrickas joined #perl6
15:05 patrickas good *
15:05 moritz_ Kodi: that's why I wrote "maybe" :-)
15:06 patrickas moritz_ o/ How is YAPC::EU going ?
15:06 dolmen joined #perl6
15:06 moritz_ patrickas: great
15:07 masak moritz_: re http://nopaste.snit.ch/22523, D2 is something I've been considering doing at times. my plan was to trawl through S?? and identify each possible error condition. your way of doing it seems more reasonable.
15:09 pmurias joined #perl6
15:09 moritz_ pmurias: http://nopaste.snit.ch/22523
15:09 moritz_ masak: thanks
15:11 bgs100 joined #perl6
15:13 pmichaud moritz_: proposal +1
15:13 patrickas is 1...^5 the ... op with ^5 on the rhs or is it ...^ op with 5 on the rhs ?
15:13 pmichaud patrickas: the latter
15:14 masak patrickas: NYI in Rakudo.
15:14 ash_ joined #perl6
15:14 masak (last I looked)
15:14 patrickas masak I am asking in order to I :-)
15:14 jferrero joined #perl6
15:14 smash joined #perl6
15:14 justatheory joined #perl6
15:14 ambs hmms, how should (1...^6) expand?
15:15 smash moritz_: ping
15:15 moritz_ smash: pong
15:15 pmichaud ambs: 1,2,3,4,5
15:15 patrickas ambs: 12345
15:15 ambs that was my guess
15:15 ambs but
15:15 ambs > (1...^6)
15:15 ambs 1 0 1 2 3 4 5
15:15 moritz_ smash: your idea of copying the svn dir to anothermachine worked well, thank you
15:15 moritz_ smash++
15:15 pmichaud ambs: looks like a  bug to me
15:15 masak ambs: as I said, NYI in Rakudo.
15:15 moritz_ ambs: it's not yet implemented, and mis-parses
15:15 patrickas ambs: that's because it is not yet implemented
15:16 patrickas ambs: so it is getting parsed at 1...0 1 2 3 4 5
15:16 ambs oh, ok.
15:16 M_o_C joined #perl6
15:16 smash moritz_: just changed my "benchmarking" script, it now gets the programs to run from a repository, which means that to add your program to the benchamarking suite just add it to the repository
15:16 patrickas since ^6 on its own is equiv to 0..^6
15:16 jkramer joined #perl6
15:16 jkramer Ahoy
15:17 dukeleto jkramer: salutations
15:17 moritz_ smash: which repo? pugs or rakudo?
15:17 masak jkramer: greetings!
15:17 ambs patrickas: understood
15:17 jkramer I've been playing with rakudo star and it's incredibly slow. So I wondered if I can compile my .p6 files to .pir/.pasm and then run them directly with parrot
15:17 smash moritz_: i created a new one but it can be moved anywhere else
15:17 jkramer perl6 --target=pir seems to emit pir, but how can I run it?
15:17 PerlJam jkramer: what makes you think that'll make them faster?  :)
15:17 moritz_ smash: new repo is fine too
15:17 smash moritz_: (svn workaround) glad it worked
15:18 moritz_ jkramer: you currently can't - but you will be able to in the next release
15:18 pmichaud jkramer: parrot file.pir
15:18 jkramer PerlJam: Hmm, I though probable compiling the script all the time makes it so slow :)
15:18 pmichaud jkramer: oh, it doesn't work with Rakudo Star yet, correct
15:18 smash moritz_: i can even create a new one on github
15:18 jkramer Ah, ok
15:18 pmichaud it does work for the next release
15:18 moritz_ or in the rakudo development version from git :-)
15:18 pmichaud jkramer: you're correct, compilation is slow for large input programs
15:19 jkramer pmichaud: Well, I was talking about something like 'say "Hello, world"' :)
15:19 pmichaud jkramer: ah, that problem is likely startup cost.  Converting it to .pir won't improve the speed much.
15:19 * pmichaud checks
15:19 jkramer Hello world takes 3.254s here
15:20 [Coke] pmichaud: http://trac.parrot.org/parrot/ticket/1728 (basically didn't apply it in case it does something other than make my life easier. =-)
15:20 grai left #perl6
15:20 rcfox pugs: class foo { has $.text is rw; has $.code is rw; method postfix:<()> { $.code(); } }; macro newfoo(Str $code) { "foo.new(text=>\"$code\",code=>{$code})"; }; my $a = newfoo("1+1"); say $a();
15:20 p6eval pugs: OUTPUT«*** Cannot cast from VObject (MkObject {objType = (mkType "foo"), objAttrs = <Hash:0x2adc7bf3e169>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 4}}) to Pugs.AST.Types.VCode (VCode)␤    at /tmp/rJBMjyhIxW line 1, column 184-188␤»
15:20 rcfox Why doesn't this work?
15:20 masak rcfox: because Pugs is old?
15:20 [Coke] rcfox: why are you trying in pugs?
15:21 moritz_ rcfox: because macros weren't properly implemented
15:21 [Coke] try again with "rakudo: "
15:21 rcfox Rakudo doesn't support macros.
15:21 pmichaud http://gist.github.com/508293   # timings of precompiled versus non-precompiled
15:21 masak rcfox: neither does Pugs, AFAIK.
15:21 masak jkramer: needless to say, the fact that "Hello world" takes 3 and a quarter seconds to parse and execute, is evidence that there is some room for optimisation.
15:21 rcfox pugs: macro f { "1" }; say f;
15:21 pmichaud [Coke]: wifi is slow here, so may take me a while to load up the ticket
15:21 p6eval pugs: OUTPUT«1␤»
15:22 masak rcfox: I stand corrected.
15:22 rcfox ;)
15:22 [Coke] pmichaud: no rush. just adding a few piropsigs.
15:22 moritz_ just not "properly" implemented
15:22 rcfox I see.
15:22 rcfox STD doesn't work seem to support macros either.
15:22 rcfox Is there anything that might work?
15:22 [Coke] rcfox: I'm not sure anyone does, no.
15:22 moritz_ right, because it actually needs to run code to executed macros
15:23 rcfox Aw.
15:23 moritz_ there's a rakudo branch on sorear's github account that supports some basic macros
15:24 rcfox Well, I really should be studying instead of playing with Perl 6. :P
15:25 rcfox I just thought it'd be neat to see if I could get a textual representation of a Block.
15:25 rcfox But then Pugs didn't support the 'does' keyword for adding a role to a block, so I made a new class.
15:25 masak rcfox: .perl should give a textual representation of a block, but no implementation does that right now.
15:26 shelling_lab joined #perl6
15:26 [particle] hrmm... is there a way to list all the Types in the current scope?
15:26 moritz_ no
15:27 rcfox masak: I was going to do it by using a macro to grab the code as a string, and then store it in an actual string, as well as code.
15:27 masak [particle]: what are *you* doing? :)
15:27 [particle] should there be?
15:27 moritz_ yes
15:27 masak rcfox: ooh, nice.
15:27 [particle] i'm thinking if you could do that, you could see which types didn't have .perl (or some other method) implemented, and provide LHF
15:33 masak [particle]: I know I will want to do such introspection for an eventual class browser.
15:34 [particle] absolutely.  i imagine all the Types are known, but not exposed.
15:34 rcfox [particle]: Just do every character permutation as a class name. :P
15:35 masak they're only countably infinite.
15:36 pyrimidine joined #perl6
15:37 [particle] all declared types are known, and considerably less than infinite.  in fact, one might be able to count them on his fingers while rakudo loads. :P
15:39 masak not while "Hello World" loads :) Rakudo has more types than that.
15:41 rcfox There's even a Whatever type, I think.
15:41 rcfox rakudo: class foo { has $.bar; } my $a = foo.new; say $a.bar;
15:42 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤Confused at line 22, near "class foo "␤»
15:42 rcfox rakudo: class foo { has $.bar; }; my $a = foo.new; say $a.bar;
15:42 p6eval rakudo ecb4b0: OUTPUT«Any()␤»
15:42 rcfox Oh, Any...
15:42 rcfox Hrm, I thought I saw Whatever at some point.
15:47 cxreg rakudo: *.WHAT.say
15:47 p6eval rakudo ecb4b0: OUTPUT«Whatever()␤»
15:47 [particle] yep.
15:48 [particle] rakudo: **.WHAT.say
15:48 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤HyperWhatever (**) not yet implemented at line 22, near ".WHAT.say"␤»
15:48 alester You know what we need?
15:48 [particle] lol
15:48 cxreg [particle]: is *** PlaidWhatever?
15:48 alester 100 of these: http://perlbuzz.com/2010/0​8/diving-into-perl-6.html
15:48 alester in 100 different blogs
15:49 patrickas rakudo: sub infix:<...^>($lhs, $rhs) {my @all := ($lhs ... $rhs);gather {loop {my $current = @all.shift();last if $current eqv $rhs;take $current;}}}; say 1 ...^ 5 ; say 9 ...^ 5; say (1,*+2) ...^ 7 ; say (1,-2 , 4) ...^ 16;
15:49 p6eval rakudo ecb4b0: OUTPUT«1234␤9876␤135␤1-24-8␤»
15:49 tadzik joined #perl6
15:49 patrickas I think I just implemented ...^
15:50 PerlJam alester: I agree.  Though we could use a little less of the first comment I think.
15:50 alester yes, agreed
15:50 PerlJam (only comment)
15:51 alester 3 posts like that are worth more than all the comment replies to the FUD in Infoworld.
15:51 alester In terms of visibility and positivity.
15:52 [particle] alester++: i may have used a MAIN sub there, but that's something for you to investigate in another post :)
15:52 stefan_ joined #perl6
15:52 moritz_ MAIN is a feature I really love
15:53 [particle] dear rakudo... if HyperWhatever isn't implemented how do you know that's what ** is? kthxbye
15:53 moritz_ by parsing it.
15:53 masak [particle]: parsing vs implementation
15:53 [particle] well, it's LHF to get **.WHAT working, that's for sure
15:53 tadzik moritz_: is there anything that can be done for IO::Socket::INET?
15:53 alester what's MAIN?
15:54 patrickas moritz_ I bet I love it more ;-)
15:54 * dolmen is leaving. Time to go to the hotel
15:54 [particle] alester: http://perlcabal.org/syn/S06.ht​ml#Declaring_a_MAIN_subroutine
15:55 alester so basically, automagic arg parsing.
15:56 [particle] aye
15:56 stefan_ joined #perl6
15:57 [particle] multi MAIN(@list of Int) {...}; multi MAIN() { my @list = 2..100; ...}
15:57 pmichaud rakudo:  sub ipvf($n) { ?(2..($n.sqrt)).grep( $n %% * ); };   say ipvf(47);
15:57 p6eval rakudo ecb4b0: OUTPUT«0␤»
15:57 pmichaud rakudo:  sub ipvf($n) { !(2..($n.sqrt)).grep( $n %% * ); };   say ipvf(47);
15:57 p6eval rakudo ecb4b0: OUTPUT«1␤»
15:58 pmichaud rakudo:  sub ipvf($n) { !(2..($n.sqrt)).grep( $n %% * ); };   say ipvf($_) for 0..50;
15:58 alester The js on that page makes my Firefox choke.
15:58 p6eval rakudo ecb4b0: OUTPUT«1␤1␤1␤1␤0␤1␤0␤1␤0␤0␤0␤1␤0␤1␤0␤​0␤0␤1␤0␤1␤0␤0␤0␤1␤0␤0␤0␤0␤0␤1␤0␤1␤0␤0​␤0␤0␤0␤1␤0␤0␤0␤1␤0␤1␤0␤0␤0␤1␤0␤0␤0␤»
15:58 pmichaud rakudo:  sub ipvf($n) { !(2..($n.sqrt)).grep( $n %% * ); };   say $_ if ipvf($_) for 0..50;
15:58 p6eval rakudo ecb4b0: OUTPUT«0␤1␤2␤3␤5␤7␤11␤13␤17​␤19␤23␤29␤31␤37␤41␤43␤47␤»
15:59 pmichaud ( "is prime via factors" )
15:59 smash x/quit
16:00 smash ups
16:00 jkramer left #perl6
16:01 Ross joined #perl6
16:01 pmichaud rakudo:  sub ipvf($n) { !(2..($n.sqrt)).grep( { say $_; $n %% $_ } ); };   say ipvf(15);  # checking laziness
16:02 NiiHiiL joined #perl6
16:02 p6eval rakudo ecb4b0: OUTPUT«2␤3␤0␤»
16:02 pmichaud \o/
16:02 pmichaud oh, wait.
16:02 pmichaud rakudo:  sub ipvf($n) { !(2..($n.sqrt)).grep( { say $_; $n %% $_ } ); };   say ipvf(100);  # checking laziness
16:02 p6eval rakudo ecb4b0: OUTPUT«2␤0␤»
16:02 pmichaud \o/
16:03 patrickas interresting!
16:03 pmichaud rakudo:  sub ipvf($n) { !(2..($n.sqrt)).grep( { say $_; $n %% $_ } ); };   say ipvf(97);  # checking laziness
16:03 p6eval rakudo ecb4b0: OUTPUT«2␤3␤4␤5␤6␤7␤8␤9␤1␤»
16:03 pmichaud \o/
16:04 clintongormley joined #perl6
16:04 patrickas rakudo: sub ipvfj($i) { $i %% none(2 .. $i.sqrt ) }; say $_ if ipvfj($_) for 0..50; #does NONE ever short circuit? pseudo lazyness!
16:04 p6eval rakudo ecb4b0: OUTPUT«0␤1␤2␤3␤5␤7␤11␤13␤17​␤19␤23␤29␤31␤37␤41␤43␤47␤»
16:04 pmichaud currently our junctions aren't short-circuiting
16:04 pmichaud (at least, I don't think they are)
16:05 pmichaud we can probably fix that now that we have lazy lists, though.
16:06 timbunce joined #perl6
16:06 patrickas shortcircuiting and parallel :-)
16:06 patrickas that would be a good day!
16:23 patrickas how do I tell rakudo the precedence of my operator ?
16:25 pnate joined #perl6
16:26 justatheory joined #perl6
16:29 alester pmichaud: That prime via factors is sexy.
16:30 cdarroch joined #perl6
16:30 cdarroch joined #perl6
16:32 Trashlord joined #perl6
16:33 alester It seems silly to call $n.sqrt instead of sqrt($n).
16:33 alester That just seems methody for the sake of methody.
16:34 PerlJam Perl 6 has more of a methody feel about it.
16:34 alester and yet, I see no benefit to that.
16:34 wtw is my terminal broken or why can't i see proper output of the rakudo-bot? anyone have a clue? ;)
16:34 rcfox patrickas: http://perlgeek.de/blog-en/perl-​5-to-6/13-custom-operators.html
16:34 PerlJam $n.sqrt is fewer characters and keystrokes than sqrt($n)
16:35 PerlJam how about that?  :)
16:35 exodist alester, chaining, $thing->a->b->c-D  instead of d(c(b(a($thing))));
16:35 exodist * $thing->a->b->c->d
16:35 exodist oops /->/./
16:35 tadzik * $thing.a.b.c.d :)
16:35 exodist still in perl5 mode...
16:35 alester I understand the notional benefit to method chaining.
16:35 alester In this case, I don't see it.
16:36 alester I think of taking "square root of $n", not "$n's square root"
16:36 tadzik but there is a way to sqrt(n) right?
16:36 tadzik star: say sqrt(4)
16:36 exodist for 1 thing like sqrt it is meaningless which is used, but having the option means you can decide for yourself instead of being dictated to.
16:36 p6eval star 2010.07: OUTPUT«2␤»
16:36 tadzik so where's the problem?
16:37 alester exodist: Yes, I undestand that.
16:37 [particle] alester: fewer shift keystrokes, less visual noise
16:37 [particle] and evaluation reads in ltr order
16:37 Trashlord joined #perl6
16:37 tadzik when there are many things chained it's easier to read the whole sentence
16:37 patrickas rcfox: Thanks!
16:38 alester tadzik: Yes, and there are not many things chained.
16:38 PerlJam why would it seem silly to say $n.sqrt rather than sqrt($n)?  It's all just syntax.  if the former weren't tied to OOP in your head, would it seem just as silly?
16:38 alester I'm not saying .methods don't make sense.
16:38 alester fuck it.
16:38 alester I haven't said anything.
16:38 exodist alester, you mean $thing.fuck_it? or fuck_it( $thing )?
16:39 exodist :-D
16:39 exodist sorry, could not resist
16:39 ghyspran that was kind of lame...
16:39 ghyspran hi exodist
16:39 PerlJam exodist: well, you botched the joke a bit too because "it" is spelled $_ in Perl  :)
16:39 exodist hola, yes, very lame
16:39 alester Right, it should be $thing.fuck
16:40 [particle] actually, .fuck  is "fuck it"
16:40 alester Which I think is an album by Marilyn Manson.
16:40 tadzik it.fuck
16:40 patrickas rcfox: ... seems NYI
16:41 rcfox NYI?
16:41 [particle] not yet implemented
16:41 rcfox Oh.
16:41 patrickas rakudo: our sub infix:<...^> ($lhs, $rhs) is equiv(&infix:<...>) {...};
16:41 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤Unexpected named parameter 'equiv' passed␤»
16:42 [particle] hrmm... it doesn't like equiv?
16:42 rcfox They haven't implemented most of the fun stuff. :P
16:42 ruoso joined #perl6
16:43 patrickas but there should eb some workaround! otherwise how would half of the operators be implemented in perl6 with the correct precedence ?!
16:43 PerlJam ruoso: "they" is you too you know :)
16:44 hercynium joined #perl6
16:45 rcfox PerlJam: Er, was that supposed to be directed at me?
16:45 PerlJam rcfox: aye
16:46 GeneralMaximus joined #perl6
16:48 Trashlord joined #perl6
16:48 rcfox PerlJam: I wouldn't know how to begin.
16:49 PerlJam rcfox: that's okay, I don't know how to begin most of the time either.  But there are lots of people on #perl6 who are willing to help.  :-)
16:49 rcfox Also, I'm supposed to be studying right now... :P
16:49 rcfox But maybe I'll look into it after next Saturday.
16:52 molaf joined #perl6
16:53 ruoso PerlJam, I think I missed something
16:54 PerlJam ruoso: no, just me not paying attention to my tab completion quick enough
16:55 NiiHiiL joined #perl6
16:58 risou joined #perl6
16:59 tadzik joined #perl6
17:00 Su-Shee_ joined #perl6
17:01 clintongormley joined #perl6
17:01 tadzik joined #perl6
17:03 bbkr rakudo: say "M"~$_ x 3 ~ ~Mu ~"st be f" ~ $_ ~ " in the rich man world" # Rakudo sings Abba :P
17:03 p6eval rakudo ecb4b0: OUTPUT«MAny()Any()Any()Mu()st be fAny() in the rich man world␤»
17:04 bbkr rakudo: say ("M"~$_) x 3 ~ ~Mu ~"st be f" ~ $_ ~ " in the rich man world" # Rakudo sings Abba v2.0
17:04 p6eval rakudo ecb4b0: OUTPUT«MAny()MAny()MAny()Mu()st be fAny() in the rich man world␤»
17:06 _macdaddy joined #perl6
17:09 exodist ghyspran!  I only just looked at your ident! how ya been?
17:10 exodist oops, /msg fail
17:10 ghyspran haha
17:11 tadzik phenny: seen alexm
17:23 pnu S02: "type object responds to the function call interface, so [..] argument [..] is coerced", so "Num(1/2).isa(Num)" and "Num(1/2) == Num(0.5)" should be true, right? Not implemented in rakudo or am I missing something?
17:24 pnu But (1/2).Num seems to work..
17:24 rcfox rakudo: say Num(1/2) ~~ Num;
17:24 p6eval rakudo ecb4b0: OUTPUT«Could not find sub &Num␤  in main program body at line 22:/tmp/Bet0PGzb7z␤»
17:24 rcfox rakudo: say (1/2) ~~ Num;
17:24 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:25 rcfox :O
17:25 rcfox rakudo: say 1/2 ~~ Num;
17:25 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:25 pnu rakudo: say 1/2 ~~ Rat;
17:25 p6eval rakudo ecb4b0: OUTPUT«1␤»
17:26 rcfox rakudo: say Rat ~~ Num;
17:26 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:26 rcfox rakudo: say Rat ~~ Any;
17:26 p6eval rakudo ecb4b0: OUTPUT«1␤»
17:26 rcfox Huh.
17:26 pnu yeah
17:27 [particle] rakudo: say 1/2.WHAT
17:27 p6eval rakudo ecb4b0: OUTPUT«Inf␤»
17:27 rcfox rakudo: say Num ~~ Rat;;
17:27 [particle] rakudo: say (1/2).WHAT
17:27 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:27 p6eval rakudo ecb4b0: OUTPUT«Rat()␤»
17:28 rcfox rakudo: say (1/2) + 1;
17:28 [particle] you can find something's type by calling .WHAT
17:28 p6eval rakudo ecb4b0: OUTPUT«1.5␤»
17:28 pnu rakudo: (+ 1/2).WHAT
17:28 p6eval rakudo ecb4b0:  ( no output )
17:28 pnu rakudo: say (+ 1/2).WHAT
17:28 p6eval rakudo ecb4b0: OUTPUT«Rat()␤»
17:28 [particle] rakudo: say Num(1/2)
17:28 p6eval rakudo ecb4b0: OUTPUT«Could not find sub &Num␤  in main program body at line 22:/tmp/vReOptLVv6␤»
17:28 [particle] rakudo: say (1/2).Num
17:28 p6eval rakudo ecb4b0: OUTPUT«0.5␤»
17:28 donaldh joined #perl6
17:28 pnu even the prefix + doesn't coerce to Num, but it's still Rat.. shouldn't it?
17:29 [particle] rakudo: say (1/2).Num == 0.5
17:29 p6eval rakudo ecb4b0: OUTPUT«1␤»
17:29 rcfox Num is a method.
17:29 [particle] rakudo: say 1/2 == (0.5).Rat
17:29 p6eval rakudo ecb4b0: OUTPUT«1␤»
17:29 rcfox rakudo: say 1.can('Num');
17:29 p6eval rakudo ecb4b0: OUTPUT«Num␤»
17:30 rcfox Er. I wasn't expecting that.
17:30 rcfox rakudo: say 1.can('bake_cookies');
17:30 p6eval rakudo ecb4b0: OUTPUT«␤»
17:30 rcfox rakudo: say 1.can('Num')();
17:30 p6eval rakudo ecb4b0: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in 'Int::Num' at line 3471:CORE.setting␤  in main program body at line 22:/tmp/laJG_G9gB_␤»
17:31 rcfox rakudo: say 1.can('Num')(3);
17:31 p6eval rakudo ecb4b0: OUTPUT«3␤»
17:31 rcfox rakudo: say 1.can('Num').WHAT;
17:31 p6eval rakudo ecb4b0: OUTPUT«Method()␤»
17:31 rcfox Wait, Method is a type too?
17:32 [particle] of course!
17:32 rcfox rakudo: say {}.WHAT;
17:32 p6eval rakudo ecb4b0: OUTPUT«Hash()␤»
17:32 rcfox rakudo: say {1}.WHAT;
17:32 p6eval rakudo ecb4b0: OUTPUT«Block()␤»
17:32 rcfox Why is there Block and Method?
17:32 [particle] because they are different types
17:33 rcfox rakudo: say sub {1}.WHAT;
17:33 [particle] rakudo: my $s = sub{...}; say $s.WHAT
17:33 Exodist one has an invocant for example.
17:33 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤Confused at line 22, near "say sub {1"␤»
17:33 p6eval rakudo ecb4b0: OUTPUT«Sub()␤»
17:33 [particle] rakudo: my $s = method{...}; say $s.WHAT
17:33 p6eval rakudo ecb4b0: OUTPUT«Method()␤»
17:33 [particle] rakudo: my $s = rule {...}; say $s.WHAT
17:33 rcfox Hm.
17:33 p6eval rakudo ecb4b0: OUTPUT«Regex()␤»
17:33 rcfox Is there a hierarchy for these?
17:33 [particle] rakudo: my $s = module {...}; say $s.WHAT
17:34 p6eval rakudo ecb4b0: OUTPUT«error:imcc:syntax error, unexpected ')' (')')␤     in file 'EVAL_8' line 35241149␤===SORRY!===␤syntax error ... somewhere␤»
17:34 pnu and about Num/Rat/coercion.. should this work?
17:34 pnu rakudo: sub foo (Num $bar) {}; foo(1/2);
17:34 p6eval rakudo ecb4b0: OUTPUT«Nominal type check failed for parameter '$bar'; expected Num but got Rat instead␤  in 'foo' at line 22:/tmp/MuvUkCdG2l␤  in main program body at line 22:/tmp/MuvUkCdG2l␤»
17:35 Exodist it would be awesome to see an inheritance hierarchy for /ALL/ built-in types including roles used, does such a map exist?
17:35 rcfox Uh.
17:35 rcfox rakudo: say (1/2).can('Num');
17:35 p6eval rakudo ecb4b0:  ( no output )
17:36 rcfox rakudo: say 1.can('Num');
17:36 p6eval rakudo ecb4b0: OUTPUT«Num␤»
17:36 rcfox rakudo: say 1/2.can('Num');
17:36 p6eval rakudo ecb4b0: OUTPUT«Method 'Num' not found for invocant of class 'Method'␤  in 'Cool::Numeric' at line 1746:CORE.setting␤  in 'Cool::Numeric' at line 1747:CORE.setting␤  in 'infix:</>' at line 6552:CORE.setting␤  in main program body at line 22:/tmp/qNgt4QS8h4␤»
17:37 rcfox Guh?
17:37 [Coke] rcfox: can is for methods
17:37 [Coke] no?
17:37 rcfox rakudo: say 1.can('sdfd');
17:37 p6eval rakudo ecb4b0: OUTPUT«␤»
17:37 [particle] rcfox: see http://feather.perl6.nl/syn/​S02.html#Built-In_Data_Types
17:38 rcfox [Coke]: Why does 1.can('sfsdf') return nothing, but 1/2.can('Num') crashes?
17:38 [particle] rakudo: say 1.isa('Num')
17:38 rcfox rakudo: say 1/2.can('fgdfg');
17:38 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:38 p6eval rakudo ecb4b0: OUTPUT«Divide by zero␤  in 'infix:</>' at line 3785:CORE.setting␤  in 'infix:</>' at line 3423:CORE.setting␤  in 'infix:</>' at line 436:CORE.setting␤  in main program body at line 22:/tmp/HlR8iKLWLl␤»
17:38 [particle] rakudo: say 1.0.isa('Num')
17:38 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:38 [particle] rakudo: say 1.0.does('Num')
17:38 PerlJam precedence
17:38 p6eval rakudo ecb4b0: OUTPUT«0␤»
17:38 [particle] ah, yeah.
17:38 rcfox rakudo: say (1/2).can('fgdfg');
17:38 p6eval rakudo ecb4b0: OUTPUT«␤»
17:39 rcfox rakudo: say (1/2).can('Num');
17:39 p6eval rakudo ecb4b0:  ( no output )
17:39 rcfox Something's weird there.
17:41 rcfox rakudo: say i.WHAT;
17:41 p6eval rakudo ecb4b0: OUTPUT«Could not find sub &i␤  in main program body at line 22:/tmp/PS8GGk57Ir␤»
17:41 rcfox rakudo: say <1+i>.WHAT;
17:41 p6eval rakudo ecb4b0: OUTPUT«Str()␤»
17:42 rcfox :\
17:42 tadzik :)
17:42 tadzik star: say (1 + i).WHAT
17:42 orafu joined #perl6
17:42 p6eval star 2010.07: OUTPUT«Could not find sub &i␤  in main program body at line 22:/tmp/gOS72zk2E9␤»
17:42 tadzik star: oh you
17:42 p6eval star 2010.07: OUTPUT«Could not find sub &you␤  in main program body at line 22:/tmp/QTtyP26nJB␤»
17:42 tadzik star: (2 + 5i).WHAT.say
17:42 p6eval star 2010.07: OUTPUT«Complex()␤»
17:42 tadzik I can haz a bug?
17:42 rcfox What is star?
17:43 tadzik star: (2 + i).WHAT.say
17:43 p6eval star 2010.07: OUTPUT«Could not find sub &i␤  in main program body at line 22:/tmp/li7TVaoSEe␤»
17:43 tadzik rcfox: Rakudo Star
17:43 rcfox What's difference between star and rakudo then?
17:43 tadzik a bug, isn't it?
17:43 wormwood_ joined #perl6
17:43 tadzik rcfox: rakudo is the latest rakudo from git, star is a… star :)
17:43 PerlJam tadzik: depends on your point of view :)
17:43 rcfox star: (2+1i).WHAT.say;
17:43 p6eval star 2010.07: OUTPUT«Complex()␤»
17:43 tadzik hmm
17:44 tadzik std: (1 + i).WHAT.say
17:44 p6eval std 31906: OUTPUT«ok 00:01 116m␤»
17:44 tadzik a bug :)
17:44 PerlJam std: (fred + george).WHAT.say
17:44 p6eval std 31906: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routines:␤     'fred' used at line 1␤    'george' used at line 1␤Check failed␤FAILED 00:01 116m␤»
17:44 PerlJam okay
17:45 tadzik Do I have a blessing to report?
17:45 rcfox rakudo: say (1e2342/2).WHAT;
17:45 PerlJam you don't need a blessing from anyone.
17:45 p6eval rakudo ecb4b0: OUTPUT«Num()␤»
17:45 tadzik well, I'd rather be sure it's a bug, not a feature
17:45 rcfox rakudo: say (1e-2342).WHAT;
17:46 p6eval rakudo ecb4b0: OUTPUT«Num()␤»
17:46 [particle] star is a distribution of rakudo compiler with additional modules
17:46 PerlJam tadzik: err on the side of caution and report things you *think* are bugs just in case they are.  :)
17:46 PerlJam tadzik: though, you may want to check RT to see if it has already been reported.
17:46 rcfox rakudo: say (1e-23475675675684345564747483458458685672).WHAT;
17:46 p6eval rakudo ecb4b0: OUTPUT«Num()␤»
17:46 tadzik that's right
17:47 rcfox rakudo: Now.WHAT.say;
17:47 p6eval rakudo ecb4b0: OUTPUT«Could not find sub &Now␤  in main program body at line 22:/tmp/ZGoHFq488b␤»
17:47 rcfox rakudo: now.WHAT.say;
17:47 p6eval rakudo ecb4b0: OUTPUT«Could not find sub &now␤  in main program body at line 22:/tmp/7eYAxIgray␤»
17:47 rcfox Hm.
17:47 tadzik st
17:47 tadzik std: i
17:47 p6eval std 31906: OUTPUT«ok 00:01 114m␤»
17:47 tadzik :)
17:48 tadzik as masak tought…
17:48 * tadzik files rakudobug
17:50 rcfox rakudo: my $me = Cool.new; say $me ~~ Cool;
17:50 p6eval rakudo ecb4b0: OUTPUT«1␤»
17:51 pnu rakudo: say (0.5).WHAT; say (0.5) ~~ Num;
17:51 p6eval rakudo ecb4b0: OUTPUT«Rat()␤0␤»
17:51 pnu That Rat()'s a feature, but coercion back doesn't work, right?
17:51 rcfox rakudo: say $*DISTRO;
17:51 p6eval rakudo ecb4b0:  ( no output )
17:52 rcfox pnu: ~~ isn't coercion.
17:52 pnu yes, sorry, but this:
17:52 pnu rakudo: sub foo (Num $bar) {}; foo(1/2);
17:53 p6eval rakudo ecb4b0: OUTPUT«Nominal type check failed for parameter '$bar'; expected Num but got Rat instead␤  in 'foo' at line 22:/tmp/fP_xPdrE3h␤  in main program body at line 22:/tmp/fP_xPdrE3h␤»
17:53 rcfox Right.
17:53 rcfox That's because Rat doesn't have the Num method.
17:54 pnu actually, even more disturbing:
17:54 pnu rakudo:  sub foo (Num $bar) {}; foo(0.5);
17:54 p6eval rakudo ecb4b0: OUTPUT«Nominal type check failed for parameter '$bar'; expected Num but got Rat instead␤  in 'foo' at line 22:/tmp/lLh391DciM␤  in main program body at line 22:/tmp/lLh391DciM␤»
17:54 rcfox rakudo: use MONKEY_TYPING; augment class Rat { method Num { return self+0; } }; sub foo (Num $bar) {}; foo(1/2);
17:54 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤A method named 'Num' already exists in class 'Rat'. It may have been supplied by a role.␤»
17:54 rcfox Oh!
17:54 rcfox Well then...
17:55 pnu and, please note:
17:55 pnu rakudo: say (+ 0.5).WHAT;
17:55 p6eval rakudo ecb4b0: OUTPUT«Rat()␤»
17:58 plol joined #perl6
17:58 rcfox rakudo: use MONKEY_TYPING; augment class Rat is Cool { }; sub foo (Num $bar) {}; foo(1/2);
17:58 p6eval rakudo ecb4b0: OUTPUT«Nominal type check failed for parameter '$bar'; expected Num but got Rat instead␤  in 'foo' at line 22:/tmp/iwTBI2kwTV␤  in main program body at line 22:/tmp/iwTBI2kwTV␤»
18:00 risou_ joined #perl6
18:02 rcfox rakudo: use MONKEY_TYPING; augment class Rat is Num { }; sub foo (Num $bar) {}; foo(1/2);
18:02 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤Modifications to classes are not allowed after instantiation.␤»
18:03 rcfox Well, I'm out of ideas. :P
18:04 ashleydev joined #perl6
18:06 sorear good * #perl6
18:06 rcfox rakudo: say 1/2 ~~ Numeric;
18:06 p6eval rakudo ecb4b0: OUTPUT«1␤»
18:07 rcfox rakudo: say 1/2.pred;
18:07 p6eval rakudo ecb4b0: OUTPUT«1␤»
18:07 rcfox rakudo: say 1/2.pred.pred;
18:07 p6eval rakudo ecb4b0: OUTPUT«Inf␤»
18:07 lucs What's
18:07 lucs Er, what's 'pred'?
18:08 rcfox "Returns the predecessor of $x. This method is used by prefix:<--> and postfix:<--> to decrement the value in a container."
18:08 rcfox rakudo: say --1/2;
18:08 lucs Ah, thanks ('predicate' came to mind)
18:08 p6eval rakudo ecb4b0: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/dJM05ByWAC␤»
18:08 rcfox Whoops.
18:08 rcfox rakudo: my $x = 1/2; say --$x;
18:09 p6eval rakudo ecb4b0: OUTPUT«-0.5␤»
18:09 rcfox rakudo: my $x = 1/2; say $x.pred;
18:09 p6eval rakudo ecb4b0: OUTPUT«-0.5␤»
18:09 rcfox Oh, precidence got me again.
18:09 rcfox rakudo: say (1/2).pred;
18:09 p6eval rakudo ecb4b0: OUTPUT«-0.5␤»
18:09 rcfox Yeah.
18:10 rcfox rakudo: say Inf.pred;
18:10 p6eval rakudo ecb4b0: OUTPUT«Inf␤»
18:10 donaldh joined #perl6
18:12 rcfox rakudo: say (1/2).nude;
18:12 p6eval rakudo ecb4b0: OUTPUT«12␤»
18:12 rcfox Teehee, nude.
18:14 rcfox Oh, Num is finite-precision, while Rat is infinite-precision, theoretically.
18:15 rcfox rakudo: say (1/9).Num;
18:15 p6eval rakudo ecb4b0: OUTPUT«0.111111111111111␤»
18:22 rcfox rakudo: sub foo (Numeric $bar) {}; foo(1/2);
18:22 p6eval rakudo ecb4b0:  ( no output )
18:22 rcfox pnu: This is how you should do it. ^
18:28 meppl joined #perl6
18:28 aya1 joined #perl6
18:28 aya1 Hi
18:28 aya1 can anyone give me 2 advices?
18:28 aya1 to perl6 packages
18:29 sorear sure
18:29 aya1 Is there a method to use v5 packages? Or some v6 packages like:
18:29 aya1 1) URI::Escape
18:29 aya1 2) XML::Simple
18:29 aya1 3) Digest::HMAC_SHA1
18:29 aya1 Just not found it in v6 libs
18:30 sorear rakudo star?
18:30 aya1 yup :)
18:30 sorear use URI::Escape:from<perl5>;
18:30 aya1 2010.07.
18:30 aya1 one sec i'm try
18:30 sorear say uri_escape("10% is enough\n");
18:31 aya1 yup i'm know how use in v5 :)
18:31 sorear the perl5 interop layer is not very complete
18:31 sorear it only well supports strings and subs
18:31 sorear if you want to access other kinds of data you'll probably need to wrap it in a sub
18:31 aya1 this is what i'm get whan i'm use "use URI::Escape:from<perl5>;"
18:31 aya1 ===SORRY!===
18:31 aya1 "load_language" couldn't find a compiler module for the language 'perl5'
18:32 sorear you might need to do a separate build step for it
18:32 aya1 in v5 URI Escape work fine
18:32 sorear blizkost is included in the R* package
18:32 sorear but I have no idea if the build is automatic
18:32 aya1 Hmm can you please explain how do it? I'm seek in docs but no luck to use v5 libs :(
18:32 aya1 Or kick me in a doc where can found info to it :)
18:33 sorear what I gave you was correct.  if you have blizkost installed, that line will work.
18:33 aya1 Oh :) 5 min i'm look for blizkost
18:33 rcfox make blizkost-install
18:33 sorear rcfox++ maybe I should learn star sometime
18:33 rcfox Well, it's in the README.
18:34 aya1 making it now :) maybe i'm miss this part in README
18:34 desertm4x joined #perl6
18:34 rcfox Yep, after building that, it works for me.
18:35 aya1 hmm 1 more question :) what is lperl ?
18:35 aya1 it required to blizkost
18:35 aya1 found it :)
18:35 aya1 installing :)
18:38 aya1 yup after it all fine :) thanks a lot for help
18:39 jonas1 joined #perl6
18:40 ash_ ping moritz_
18:46 aya1 left #perl6
18:56 whiteknight joined #perl6
18:57 janosik joined #perl6
18:58 * _sri is a little unhappy about the bad quality of the logo on the cover of UsingPerl6-draft.pdf and the lack of attribution
18:59 sorear oh wow 208
19:01 takadonet sorear: ?
19:01 PerlJam _sri: you have my apologies on behalf of everyone working on the book.
19:01 slavik is there a link?
19:02 PerlJam _sri: would a mention in the acknowledgements satiate you wrt attribution?
19:02 _sri PerlJam: anything would have been nice
19:03 flatwhatson joined #perl6
19:03 _sri PerlJam: why didn't you just poke me and ask for a cleaned up version?
19:03 PerlJam I have no idea who added the logo or why they didn't give you attribution.
19:05 [particle] git blame
19:05 cono joined #perl6
19:05 [particle] it is a draft, but it did get released.
19:08 kst joined #perl6
19:15 tylercurtis joined #perl6
19:15 Huesitos joined #perl6
19:15 Huesitos left #perl6
19:25 hercynium joined #perl6
19:28 ash_ http://try.rakudo.org/shel​l?input=say%201%20%2b%203;
19:28 ash_ hey, its working
19:29 tadzik damn
19:29 ash_ if anyone wants to give it a shot, if you go to just try.rakudo.org/ it's still the temp page
19:29 tadzik awesome
19:29 ash_ until someone decides that the sites ready
19:29 rcfox ash_: That's amazing!
19:29 ash_ but if you know about it, try it out
19:29 tadzik but I can't press enter when I type 'help'
19:29 ash_ ya, i am working on that...
19:30 tadzik and it died on 'chapter index'
19:30 ash_ right now, its really more of a repr
19:30 tadzik but some things work, it's awesome :)
19:30 tadzik ash_++
19:30 ash_ none of the special commands are working yet
19:30 ash_ but it is evaluating the perl6
19:30 ash_ and saves stuff between calls
19:30 tylercurtis "my $x = 5;
19:30 tylercurtis
19:30 tylercurtis say $x;
19:31 tylercurtis → 5"
19:31 tylercurtis ash_++
19:31 PerlJam weird
19:31 PerlJam I just did the same thing.
19:31 PerlJam (except I said $a instead of $x)
19:31 tadzik as for the speed, I see that many, many people are now using it :)
19:31 huf 5 is always the answer.
19:31 tadzik my $a = 5;
19:31 tadzik
19:31 tadzik say $a + 7;
19:31 tadzik → 12
19:32 tadzik I was different :)
19:32 ash_ try.rakudo.org/shell?input=my​+%24a+%3D+5%3B%0Dsay+%24a%3B
19:32 PerlJam say 1, 4, 16 ... 100;
19:32 PerlJam → 141664
19:32 ash_ i should make a sortcut so it will copy your session into a single link
19:33 ash_ right now, its completely stateless
19:33 tylercurtis use Test; actually works. Although plan is weird.
19:34 PerlJam now what would be cool is if we each had our own persistent perl 6 environment based on our session.
19:34 ash_ tylercurtis: i am cheating a bit, i save up all the stuff your writing, and send it as a single command each time you press enter
19:34 rcfox What is ... supposed to do exactly?
19:34 ash_ the command history is saved in javascript
19:34 tylercurtis It looked like that might be the case.
19:34 tadzik series operator
19:34 PerlJam rcfox: watch
19:34 ash_ rakudo: say 1...5;
19:34 p6eval rakudo ecb4b0: OUTPUT«12345␤»
19:34 PerlJam star: say 1,3 .. 15;
19:34 p6eval star 2010.07: OUTPUT«13456789101112131415␤»
19:34 PerlJam star: say ~(1,3 .. 15);
19:34 p6eval star 2010.07: OUTPUT«1 3 4 5 6 7 8 9 10 11 12 13 14 15␤»
19:35 ash_ rakudo: say ~(1,3 ... 15);
19:35 PerlJam easier to read that way :)
19:35 p6eval rakudo ecb4b0: OUTPUT«1 3 5 7 9 11 13 15␤»
19:35 ash_ dang, PerlJam++ types faster
19:35 PerlJam ash_++
19:35 PerlJam yeah, but you get the dots right
19:35 ash_ lol, ya, i guess i did
19:35 rcfox rakudo: say 1, 1, 2, 3, 5 ... 20;
19:35 p6eval rakudo ecb4b0:  ( no output )
19:35 ash_ rakudo: say 1, 1, 2, 3, 5 ... 21;
19:35 p6eval rakudo ecb4b0:  ( no output )
19:36 ash_ hmm
19:36 PerlJam rcfox: it's the "series" operator.  It takes a list on either side and generates a series of items as specified
19:36 rcfox rakudo: say 1, 1, 1 ... 5, 5, 5;
19:36 p6eval rakudo ecb4b0:
19:36 p6eval ..OUTPUT«1111111111111111111111111111111111111111​1111111111111111111111111111111111111111111111111​1111111111111111111111111111111111111111111111111​1111111111111111111111111111111111111111111111111​1111111111111111111111111111111111111111111111111​1111111111111111111111111111111111111111111111…
19:37 rcfox :o
19:37 tylercurtis rakudo: say (1, 1, *+* ... 50).join(' ')
19:37 p6eval rakudo ecb4b0: OUTPUT«1 1 2 3 5 8 13 21 34␤»
19:37 ash_ tylercurtis: the shell is very simple currently, each time you press enter, it resends everything its gotten so far, it saves it if it returns as valid, if its invalid, it (currently, i need to correct this) alerts you and doesn't save the last line you input
19:37 PerlJam rcfox: it uses the values in the first list to decide how to "increment" subsequent values to get to the values in the second list
19:38 rcfox rakudo: say 1, 4, 9 ... 100;
19:38 p6eval rakudo ecb4b0:  ( no output )
19:38 rcfox :(
19:38 PerlJam rcfox: It doesn't do everything  :)
19:39 PerlJam rakudo: say ~(1, 2, 4 ... 100);
19:39 p6eval rakudo ecb4b0: OUTPUT«1 2 4 8 16 32 64␤»
19:40 PerlJam rakudo: say ~(1, 2, 4, 7 ... 100);
19:40 p6eval rakudo ecb4b0: OUTPUT«Unable to figure out pattern of series␤  in main program body at line 1␤»
19:40 rcfox So it does algebraic series?
19:40 PerlJam heh, I wasn't sure if it would figure that one out
19:41 rcfox rakudo: say ~(1, 3, 5 ... 22);
19:41 p6eval rakudo ecb4b0: OUTPUT«1 3 5 7 9 11 13 15 17 19 21␤»
19:41 rcfox rakudo: say ~(1, 3, 5 ... 22, 23, 24);
19:41 p6eval rakudo ecb4b0: OUTPUT«1 3 5 7 9 11 13 15 17 19 21 23 24␤»
19:41 rcfox :o
19:41 rcfox I broke it.
19:41 PerlJam no you didn't
19:42 rcfox rakudo: say ~(1, 3, 5 ... 22, 24, 26);
19:42 p6eval rakudo ecb4b0: OUTPUT«1 3 5 7 9 11 13 15 17 19 21 24 26␤»
19:42 rcfox rakudo: say ~(1, 3, 5 ... (22, 24, 26));
19:42 p6eval rakudo ecb4b0: OUTPUT«1 3 5 7 9 11 13 15 17 19 21 24 26␤»
19:43 Ross joined #perl6
19:43 rcfox rakudo: say ~('a', 'b', 'c' ... 'z');
19:43 p6eval rakudo ecb4b0: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y z␤»
19:43 rcfox Nice.
19:43 tadzik out of curiosity, why actually CATCH is inside the try block in Perl 6, not aside like everywhere else?
19:43 ash_ rakudo: say ~(10 ... 1);  #counts backwards too
19:43 p6eval rakudo ecb4b0: OUTPUT«10 9 8 7 6 5 4 3 2 1␤»
19:44 [Coke] rakudo: say ~('a', 'e', 'i', ... 'z');
19:44 p6eval rakudo ecb4b0: OUTPUT«===SORRY!===␤Comma found before apparent series operator; please remove comma (or put parens␤    around the ... listop, or use 'fail' instead of ...) at line 22, near " ... 'z');"␤»
19:44 [Coke] rakudo: say ~('a', 'e', 'i' ... 'z');
19:44 p6eval rakudo ecb4b0: OUTPUT«a e i j k l m n o p q r s t u v w x y z␤»
19:44 [Coke] BROKEN!
19:44 PerlJam rcfox: start at http://perlcabal.org/syn/S03​.html#List_infix_precedence and work your way down.  there are lots of cool operators in there  :)
19:44 [Coke] ;)
19:44 rcfox rakudo: say ~('a', 'e', 'i' ... 'u');
19:44 p6eval rakudo ecb4b0: OUTPUT«a e i j k l m n o p q r s t u␤»
19:45 PerlJam tadzik: so it can access the lexical environment of the block that's throwing the exception
19:45 tadzik I see
19:46 rcfox rakudo: say {rand}...*;
19:46 p6eval rakudo ecb4b0:
19:46 p6eval ..OUTPUT«0.8070732751834560.7293311679187690.7451​491922574360.6014154922568940.4528439415007450.33​68658778693680.3919666554257550.2282488502009170.​9818373139139570.4657848265649530.831791008114557​0.6331214132087450.8537497262821180.3686461582115​010.6741737009434630.6577108178469790.18307104…
19:47 ash_ rakudo: my $a = * + 3; say $a(2);
19:47 p6eval rakudo ecb4b0: OUTPUT«5␤»
19:47 ash_ i really like the whatever operator
19:47 rcfox Huh.
19:48 ash_ * = whatever, its a placeholder
19:48 rcfox rakudo: say * + 3;
19:48 justatheory joined #perl6
19:48 p6eval rakudo ecb4b0: OUTPUT«_block114␤»
19:48 ash_ so my $a = * + 3  is the same as $a = -> $x { return $x + 3; }
19:48 janosik left #perl6
19:49 ash_ rakudo: say (-> $x { return $x + 3; })(2)
19:49 p6eval rakudo ecb4b0:  ( no output )
19:49 rcfox rakudo: my $a = * + 3; say $a.WHAT;
19:49 ash_ rakudo: say (-> $x { $x + 3; })(2)
19:49 p6eval rakudo ecb4b0: OUTPUT«WhateverCode()␤»
19:49 p6eval rakudo ecb4b0: OUTPUT«5␤»
19:49 ash_ rakudo: say *.WHAT
19:49 rcfox WhateverCode?
19:49 p6eval rakudo ecb4b0: OUTPUT«Whatever()␤»
19:50 ash_ its like a code block, but specifically made from a whatever
19:50 ash_ rakudo: say { }.WHAT
19:50 p6eval rakudo ecb4b0: OUTPUT«Hash()␤»
19:50 ash_ err
19:50 PerlJam heh
19:50 ash_ rakudo: say { 1 + 3; }.WHAT
19:50 p6eval rakudo ecb4b0: OUTPUT«Block()␤»
19:50 PerlJam say { ; }.WHAT
19:51 PerlJam rakudo: say { ; }.WHAT
19:51 p6eval rakudo ecb4b0: OUTPUT«Block()␤»
19:51 ash_ rakudo: say ~{ ; }.^parents
19:51 dalek book: ca3fd5a | (Nikolai Prokoschenko)++ | lib/book.sty:
19:51 dalek book: * Move authors to the second page to un-litter the front page
19:51 dalek book: * Attribute kraih for his Amelia logo. Subject to change, since a proper CC
19:51 p6eval rakudo ecb4b0: OUTPUT«Code() Cool() Any() Mu()␤»
19:51 dalek book: license might be upcoming
19:51 dalek book: review: http://github.com/perl6/book/commit/ca​3fd5a14a6d8bab5d95ac8c9e05d38c32b8b8b1
19:51 tadzik Amelia?
19:51 ash_ all things executable inherit from Code
19:51 ash_ Code means you can .()
19:52 rcfox Parents? Huh.
19:52 Ross joined #perl6
19:52 rcfox raduko: say (1/2).^parents;
19:53 rcfox rakudo: say (1/2).^parents;
19:53 p6eval rakudo ecb4b0: OUTPUT«Cool()Any()Mu()␤»
19:53 rcfox Hm.
19:53 ash_ rakudo: say (1/2).WHAT
19:53 p6eval rakudo ecb4b0: OUTPUT«Rat()␤»
19:53 ash_ Rat 's inherit from Cool, Any, and Mu
19:53 rhr joined #perl6
19:54 ash_ rakudo: class A { }; class B is A { }; say B.^parents; say A.^parents;
19:54 rcfox Yeah, we were trying to figure out why a Rat couldn't be used as a Num earlier.
19:54 Casan humm I was just thinking about introspection and intelliperl(padre)/intellisense(visualstudio).. is there a .OPTIONS or something, where you can do a .OPTIONS on any object and get a list of the methods available in the related classes within a given scope?
19:54 p6eval rakudo ecb4b0: OUTPUT«A()Any()Mu()␤Any()Mu()␤»
19:54 ash_ .methods(:local)
19:55 ash_ rakudo: class A { method b { } }; say A.methods(:local);
19:55 p6eval rakudo ecb4b0: OUTPUT«Method 'methods' not found for invocant of class ''␤  in main program body at line 22:/tmp/1A7o31bEFe␤»
19:55 PerlJam Casan: "the related classes"?
19:55 ash_ rakudo: class A { method b { } }; say A.^methods(:local);
19:55 p6eval rakudo ecb4b0: OUTPUT«b␤»
19:55 rcfox rakudo: class A { method b { } }; say A.^methods(:global);
19:55 p6eval rakudo ecb4b0: OUTPUT«belemsendallStrpostcircumfix:<[ ]>postcircumfix:<{
19:55 p6eval ..}>keysuniqclassifypairskvoneACCEPTSflatpickan​ySeqminmaxdoesrotatejoincanreducelistreverseat_​keyisamapminat_posmaxsortfirstgrepnonevaluesNum​ericCaptureCREATEPARROTblessWHENCEWHEREnotdefBU​ILDALLnewBoolprintsayitemWALKdefinedBUILDclon…
19:56 rcfox Heh.
19:57 Casan PerlJam: ignore that part, but I "think I was thinking of" any classes that would have been pulled in, by any other classes inheriting methods and overrides etc.
19:58 ash_ :global doesn't exist as a named param, so its just being passed as a slurpy option, in other words, thats the same as just A.^methods;
19:58 ash_ just so you know
19:58 Casan rakudo: say "string".methods(:local);
19:58 p6eval rakudo ecb4b0: OUTPUT«Method 'methods' not found for invocant of class 'Str'␤  in main program body at line 22:/tmp/9IMIUk7CfV␤»
19:58 ash_ rakudo: say "string".^methods(:local);
19:58 p6eval rakudo ecb4b0: OUTPUT«encodesuccNumperlWH​ICHACCEPTSStrIntpredBool␤»
19:58 Casan rakudo: say "string".methods(:global);
19:58 p6eval rakudo ecb4b0: OUTPUT«Method 'methods' not found for invocant of class 'Str'␤  in main program body at line 22:/tmp/oj6fF4QJT3␤»
19:58 ash_ rakudo: say ~"string".^methods(:local);
19:58 p6eval rakudo ecb4b0: OUTPUT«Num ACCEPTS perl WHICH Str Int pred Bool encode succ␤»
19:58 ash_ rakudo: say ~"string".^methods;
19:58 p6eval rakudo ecb4b0: OUTPUT«ACCEPTS perl WHICH Str Int pred Bool encode succ Num comb floor atan asech acos eval round chop tanh split match exp acosh words cotan atan2 lcfirst uc sec cis log substr from-radians sprintf trans sin pred acosec subst sinh cosech acosech abs chomp index ceiling trim asec
19:58 p6eval ..trim-lea…
19:59 Casan ash: super, the last one was what I was looking for,.
19:59 rcfox What other ^ methods are there?
20:00 ash_ ^ is meta, so it calls the meta model's method, its a shortcut for .HOW
20:00 ash_ rakudo: say ~"string".HOW.methods;
20:00 p6eval rakudo ecb4b0: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 22:/tmp/Lydu7lRl_t␤»
20:00 Casan why object.^methods; and not just object.methods?
20:00 ash_ rakudo: say ~"string".HOW.methods(Str);
20:00 p6eval rakudo ecb4b0: OUTPUT«Num WHICH ACCEPTS perl Str Int pred Bool encode succ cis samecase log capitalize sprintf trans sin flip lc p5chop subst to-radians abs acotan acosech chomp index ceiling cotanh comb unpolar trim-trailing atan ord acos eval chop tanh atanh cosec chars roots uc lines ucfirst
20:00 p6eval ..substr t…
20:01 ash_ the method doesn't exist on the object itself, its on the meta object
20:01 rcfox rakudo: say ~HOW.methods(WhateverCode);
20:01 ash_ rakudo: say "Foo".HOW
20:01 Casan ok gotta say this.. p6 introspecition \o/
20:01 p6eval rakudo ecb4b0: OUTPUT«Could not find sub &HOW␤  in main program body at line 22:/tmp/CjTw7x_iqq␤»
20:01 p6eval rakudo ecb4b0:  ( no output )
20:01 rcfox Boo.
20:01 rcfox rakudo: say ~1.HOW.methods(WhateverCode);
20:01 ash_ rakudo: say "Foo".HOW.WHAT
20:01 p6eval rakudo ecb4b0: OUTPUT«acotanh ACCEPTS from-radians pred atanh cosec exp Bridge sinh to-radians WHICH acotan roots Complex isNaN ln sec asec cotanh cis log sech log10 rand truncate sqrt sin asin Int Bool cosh succ sign asinh acosech abs reals ceiling unpolar floor asech Rat round acosh acosec Num
20:01 p6eval ..cotan c…
20:01 p6eval rakudo ecb4b0: OUTPUT«ClassHOW()␤»
20:02 ash_ the are 3 major HOW's currently, ClassHOW, RoleHOW and GrammarHOW
20:02 PerlJam It's not quite turtles all the way down yet.
20:02 ash_ GrammarHOW and RoleHOW are children of ClassHOW,
20:03 tylercurtis "In particular, the .^ forms will automatically supply the invocant as the first argument to methods of the metaclass, while the other forms require you to pass this explicitly."
20:04 ash_ the ClassHOW is useful for describing objects, you can list attributes, inheritance, roles, methods, etc
20:05 jaldhar joined #perl6
20:06 PerlJam rakudo: Str.HOW.WHAT
20:06 p6eval rakudo ecb4b0:  ( no output )
20:06 PerlJam rakudo: Str.HOW
20:06 ash_ rakudo: Str.HOW.WHAT.say
20:06 p6eval rakudo ecb4b0:  ( no output )
20:06 p6eval rakudo ecb4b0: OUTPUT«ClassHOW()␤»
20:06 kiffin joined #perl6
20:06 ash_ rakudo: Str.HOW.perl.say
20:06 p6eval rakudo ecb4b0: OUTPUT«Method 'attributes' not found for invocant of class ''␤  in 'Mu::attribs' at line 1198:CORE.setting␤  in 'Mu::perl' at line 1207:CORE.setting␤  in main program body at line 22:/tmp/PgPwHkjD08␤»
20:06 kiffin left #perl6
20:07 PerlJam ah, I keep forgeting the bot doesn't act like the REPL
20:07 ash_ lol that's probably not going to work, since the HOW's are still written in pir
20:07 ash_ (in regards to the .perl)
20:07 PerlJam right.
20:07 PerlJam locally Str.HOW.WHAT says "ClassHOW()" but Str.HOW dies with "Method 'Str' not found for invocant of class 'ClassHOW'"
20:07 PerlJam I find that ... weird
20:08 gfldex it knows the typename but the method is not visible to rakudo
20:09 tylercurtis PerlJam: The REPL is trying to print a ClassHOW, and it doesn't stringify. Whereas Str.HOW.WHAT is a proto-object that does stringify.
20:10 ash_ rakudo: my $a = class { has $.b }; say $a.new(:b(10)).perl # lol
20:10 p6eval rakudo ecb4b0: OUTPUT«.new(b => 10)␤»
20:10 BooK joined #perl6
20:10 ash_ .perl isn't always that smart it seems
20:12 PerlJam ash_: what would you have it do in that case?  Regurgitate the anonymous class def?
20:12 pyrimidine left #perl6
20:12 pyrimidine joined #perl6
20:13 ash_ well, at least blocks will say _block123 (123 = some random number), but in that case it's just .new which seems weird, it seems like its missing something
20:13 ash_ rakudo: say { ; }.perl
20:13 p6eval rakudo ecb4b0: OUTPUT«{ ... }␤»
20:13 ash_ ah, nevermind, i am thinking of when you print block, not .perl
20:14 ash_ rakudo: say { ; }
20:14 p6eval rakudo ecb4b0: OUTPUT«_block113␤»
20:17 sjohnson rakudo: say 'mama' ~~ s/a/A/;
20:17 p6eval rakudo ecb4b0: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/bmgzXdcks6␤»
20:19 sjohnson perl6 hates me
20:19 huf ;(
20:19 huf hugme: hug sjohnson
20:19 * hugme hugs sjohnson
20:19 BooK it hates everyone in the same way, I think
20:20 PerlJam with hugs!
20:20 huf the new cool way to hate.
20:20 [particle] sheep go to heaven.
20:21 sjohnson :)
20:21 sjohnson p6 == abusive husband
20:24 _sri how about a real book cover? http://kraih.com/usingperl6-sri.jpg
20:24 _sri could have had that from the start...
20:24 Tene I like it.
20:26 sorear +1
20:27 Exodist book cover +1
20:27 _sri lower left corner is perfect for a publisher logo
20:31 [particle] _sri: the kerning looks funny, between Us and in, they seem wider than the other kerns
20:34 tylercurtis sjohnson: have you tried .subst?
20:34 PerlJam [particle]: it looked fine to me until you mentioned it  ;)
20:34 [particle] :D
20:35 Casan rakudo: run('perl6 --version');
20:36 p6eval rakudo ecb4b0: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/YDTxRzLv4E␤  in main program body at line 22:/tmp/YDTxRzLv4E␤»
20:36 jferrero joined #perl6
20:36 Casan nice.
20:36 tylercurtis rakudo: say $*PERL
20:36 p6eval rakudo ecb4b0: OUTPUT«name       rakudo␤version    2010.07-69-gecb4b0a␤␤»
20:36 tylercurtis rakudo: say $*PERL.version
20:36 p6eval rakudo ecb4b0: OUTPUT«Method 'version' not found for invocant of class ''␤  in main program body at line 22:/tmp/Ovr5rYcwgT␤»
20:37 tylercurtis rakudo: say $*PERL<version>
20:37 p6eval rakudo ecb4b0: OUTPUT«2010.07-69-gecb4b0a␤»
20:37 Casan ash_: is try.rakudo.org also running in safe mode?
20:37 PerlJam star: say $*PERL<version>
20:37 p6eval star 2010.07: OUTPUT«2010.07-47-g9fd5eaa␤»
20:38 ash_ Casan: yea, its using safe mode
20:38 Tene star: say $*PERL.perl
20:38 p6eval star 2010.07: OUTPUT«{"name" => "rakudo", "version" => "2010.07-47-g9fd5eaa"}␤»
20:38 Casan star: say $*VM;
20:38 p6eval star 2010.07: OUTPUT«name        parrot␤config     cc_shared       -fPIC␤has_socklen_t       1␤rpath  -Wl,-rpath=␤msvcversion    ␤cc_inc -I./include -I./include/pmc␤pmc   default.pmc null.pmc env.pmc key.pmc unmanagedstruct.pmc managedstruct.pmc exception.pmc parrotlibrary.pmc parrotinterpreter.pmc
20:38 p6eval ..parrotthread.pmc lexpad.pmc time…
20:38 ash_ anda a few other restrictions, like a timeout limit of 10 seconds
20:38 Tene star: say @*ARGS.perl;
20:38 p6eval star 2010.07: OUTPUT«[]␤»
20:39 PerlJam star: $*IN.lines.say
20:39 p6eval star 2010.07: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil du inmitten,einem starken
20:39 p6eval ..Herzen …
20:39 tommyd joined #perl6
20:39 Casan ash_: good. maybe you also want to restrict eg say $*VM  or well.. dunno if it will reveal anything of importance.
20:40 orafu joined #perl6
20:40 mava_ joined #perl6
20:40 Guest86395 joined #perl6
20:40 Tene what are you thinking it might reveal??
20:40 PerlJam try.rakudo.org needs a handy default text on $*IN too methinks
20:41 sjohnson nice book
20:41 ash_ it has one
20:41 mava_ Is the official perl 6 out yet?
20:41 ash_ the same as p6eval actually
20:41 vlad0 left #perl6
20:42 sjohnson it's still in development
20:42 PerlJam mava_: There is Rakudo Star.  http://github.com/rakudo/star/downloads
20:42 sjohnson but a usuable download by rakudo is available
20:42 sjohnson i guess you can say it's in beta still?
20:42 tadzik alredy in beta? :)
20:43 PerlJam mava_: Also, see the Rakudo Star announcement: http://rakudo.org/announce/rakudo-star/2010.07
20:43 Exodist shouldnt that be alpha or even pre-alpha?
20:43 sjohnson from the website:  "Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6"
20:44 mava_ @sjohnson: Thank you for the links.
20:44 sjohnson http://rakudo.org/
20:44 tylercurtis mava_: There is no official Perl 6 implementation. There's an official specification, an official test suite, and an official standard grammar, but there are a variety of implementations with varying levels of completeness.
20:45 tylercurtis mava_: Rakudo, as has been mentioned, and especially Rakudo *, is probably the most suitable for trying out right now.
20:45 Tene There is an "official Perl 6 specification", which is unfinished.
20:45 sjohnson dont thank me... thank PerlJam
20:46 sjohnson hugme: thank PerlJam
20:47 sjohnson ... maybe he's too modest !
20:47 mava_ @tylercurtis: Thanks.  Got it.  To think I was at the conference in 2004 where Larry announced the start of perl 6 development.  I never thought it would take over half a decade.
20:47 nimiezko joined #perl6
20:47 gfldex we had the 10th perl6 birthday a few days back
20:48 mava_ 10th birthday?  Didnt development start in '04?
20:48 gfldex mava_: http://use.perl.org/~masak/journal/40451?from=rss
20:48 sorear mava_: hehe, came from twitter?
20:56 mava_ Perl 6 sounds so different it makes me wonder if it's worth learning if I already can make do well enough with perl 5.
20:57 sorear as an update to perl 5?  probably not
20:57 sorear but learning entirely new languages is always great
20:58 gfldex mava_: I totally agree with you. That's why I stick with this nice macro assembler written by peter norton.
20:58 avuserow in my opinion, Perl 6 follows a lot of Perl 5 philosophies and has the same feel, so it's relatively easy to pick up
20:59 [particle] there is no "the official perl 6".
20:59 [particle] any perl 6 that passes the official test suite is "official perl 6"
21:00 * [particle] back from scrollbackland, and sees tylercurtis++ beat him to it
21:03 * x3nU likes perl 5 but loves perl 6
21:05 cotto_work joined #perl6
21:06 mava_ when you need to get work done, you fall back on what's going to get the job done, but ...
21:09 mava_ left #perl6
21:09 jt__ joined #perl6
21:11 Exodist git status
21:11 Exodist oops.
21:11 Exodist lol
21:11 avuserow fatal: Not a git repository (or any parent up to mount parent )
21:11 tadzik :)
21:13 Exodist does rakudo compile perl6 to parrot? or is it an interpreter running on parrot?
21:13 gfldex it compiles
21:15 PerlJam Exodist: could you elucidate the difference between those two items?
21:15 PerlJam (as you see it)
21:15 Exodist Im actually trying to deduce that myself PerlJam
21:16 PerlJam ah, then carry on!  :)
21:16 Exodist I think of a compiler as converting one language (perl 6) into something higher level like c/assebly/cpu code.
21:17 PerlJam rakudo compiles perl6 down to parrot op codes which are then executed by the parrot runtime
21:17 tadzik Exodist: did You mean: lower level?
21:17 Exodist Wheras I think of an interpeter as turning the code into datastructurpes and then following some as procedures, other as data.
21:17 PerlJam tadzik: perhaps his trees are upside down too
21:17 Exodist yes, lowor, sorry
21:18 Exodist *lower
21:18 tadzik you mean with roots at the bottom? :/
21:18 gfldex Exodist: technicly parrot got a JIT
21:18 [particle] parrot doesn't have a jit
21:18 Exodist so, which is rakudo more like?
21:18 Exodist JIT?
21:19 [particle] parrot is a virtual machine, like the java virtual machine.
21:19 PerlJam gfldex: parrot *had* a jit-like-thingy
21:19 [particle] parrot runs bytecode.
21:19 Exodist I know what parrot is
21:19 [particle] the rakudo compiler produces bytecode
21:19 Exodist ok, that answered my question
21:19 tylercurtis exodist: Rakudo is like the java compiler. It takes source-code and turns it into bytecode for its target VM.
21:19 sorear "bytecode" is a bit of a misnomer
21:20 Exodist yeah, close enough
21:20 sorear Parrot instructions are fullwords
21:20 PerlJam tylercurtis: just as slowly too!  ;)
21:20 [particle] yes, i'm lying to get the point across
21:20 sorear (this is why your perl6.pbc is twice as big on a 64 bit machine)
21:20 PerlJam sorear: at least until lorito is born
21:20 [particle] rakudo is a compiler
21:20 [particle] no an interpreter
21:20 [particle] *not
21:20 Exodist lol
21:20 sorear PerlJam: the current plan for lorito is to not change the bytecode much
21:21 sorear PerlJam: lorito insns are not memory safe, whereas .pbc files are supposed to be untrusted
21:28 meppl joined #perl6
21:32 IllvilJa joined #perl6
21:32 supernovus joined #perl6
21:35 briang joined #perl6
21:57 Guest23195 left #perl6
22:24 justatheory joined #perl6
22:26 buubot joined #perl6
22:29 cxreg "... the tickets are now Perl 6.  I'm on a Parrot."
22:30 ascent_ joined #perl6
22:31 snarkyboojum just discovered a old page on rakudo.org http://rakudo.org/parrot/
22:32 snarkyboojum in fact, there are several more linking from that page
22:33 Italian_Plumber joined #perl6
22:39 Helios joined #perl6
22:44 aya1 joined #perl6
22:44 aya1 is there in perl6 other method for typecasting than "$obj.Str" ?
22:47 avuserow some types have prefixes: ~$obj, +$obj, etc
22:47 cognominal rakudo:   ([ { :pos<5>, :val<toto> }, { :pos<4>, :val<tutu> } ].sort: *.<pos> ).perl
22:48 p6eval rakudo ecb4b0: OUTPUT«postcircumfix:<> not defined for type Whatever()␤  in <anon> at line 1␤  in 'List::sort' at line 2580:CORE.setting␤  in main program body at line 22:/tmp/GKOxP1o3cB␤»
22:48 aya1 Hmm one min i'm show you what i'm mean
22:49 aya1 "my $tst = uri_escape($string).Str;"
22:49 aya1 return me
22:49 aya1 Can't call method "Str" without a package or object reference.
22:50 aya1 So it why i'm seeking to diff method to convert to string :) uir_escape also not return .WHAT or .HOW, it with same error, cant call method
22:52 aya1 uri_escape from v5
22:53 avuserow my $tst = ~uri_escape($string);
22:53 avuserow try that?
22:53 aya1 one sec
22:54 [particle] what is uri_escape returning?
22:54 [particle] my $tst = uri_escape($string); say $tst.WHAT;
22:54 aya1 avuserow yup it looks like help
22:55 aya1 particle, $tst.WHAT return error
22:55 aya1 one sec
22:55 aya1 show
22:55 [particle] ok, i wasn't sure of that, or if uri_escape(...).WHAT returned the error
22:55 aya1 Can't call method "WHAT" without a package or object reference.
22:55 [particle] ok
22:55 [particle] i haven't used blizkost
22:56 aya1 but ~uri_eacape return fine
22:56 [particle] so i don't know what th ebugs are or the reasons for them
22:56 aya1 i'm use blizkost cos some libs not in v6 :)
22:56 aya1 it just looks like blizkost not always return correct type or object
22:58 [particle] aye
22:58 avuserow rakudo: say WHAT("foo")
22:58 p6eval rakudo ecb4b0: OUTPUT«Str()␤»
22:58 avuserow aya1: see if that form gives you something
22:59 aya1 one sec
23:00 aya1 say WHAT("foo") return Str()
23:01 avuserow well, try it on uri_escape
23:02 aya1 one sec
23:03 aya1 >say WHAT(uri_escape($string));
23:03 aya1 Can't locate object method "HOW" via package "edd9b222a7f537eacdea38cff89954216696f8aa" (perhaps you forgot to load "edd9b222a7f537eacdea38cff89954216696f8aa"?)
23:03 diakopter heh
23:03 aya1 "edd9b222a7f537eacdea38cff89954216696f8aa" is a string
23:04 avuserow apparently WHAT() is implemented using .HOW
23:04 aya1 :)
23:04 aya1 also small other question, doesh "has" work like in examples ?
23:05 aya1 just consturction
23:05 aya1 >has $!method = 'GET';
23:05 aya1 in class return in print
23:05 aya1 >print $!method;
23:05 aya1 "Any()" but not "GET"
23:08 aya1 or i'm wrong define it?
23:08 avuserow not sure.
23:10 sorear aya1: Please stop assuming that uri_escape will return a Perl 6 Str.
23:11 aya1 hmm sorear what you mean?
23:12 sorear uri_escape($string) returns a Perl 5 string
23:12 sorear not a Perl 6 one
23:12 aya1 yup i'm know
23:12 ingy greetings
23:12 sorear so you can't expect it to support operations like HOW
23:12 sorear :(
23:12 sorear or WHAT
23:12 sorear hello igny
23:12 sorear ingy
23:12 aya1 I'm just ask to advice how make it as string in v6
23:13 aya1 Becouse i'm found in documentation method as $obj.Str but it not work in this case, avuserow get me other solution to make it :)
23:14 ingy hi sorear
23:18 aya1 now i'm just trying to understand why ro values not defined, like in example
23:18 aya1 has $.name = "fido";
23:18 aya1 in class, but if you call $.name in some method it return only Any() but not value
23:18 aya1 but in case if ro attributes not defenid why it needs? :)
23:18 [particle] are there codepoints in unicode that may be either upper-case or lower-case, depending on your charset?
23:19 sorear please send a complete working example to nopaste.snit.ch or similar service
23:22 aya1 Yup it unicode utf-8, but no difference between uppercase or lower case, 5 min make short example and paste it
23:23 ash_ is it 'tell username' to send a message? i keep forgetting...
23:24 justatheory joined #perl6
23:24 [particle] msg username message
23:25 [particle] i think, on this channel.
23:27 ash_ msg moritz_ I have a sample of the try.rakudo.org setup at http://try.rakudo.org/shell if you want to test it out. The default index is still the temp page that was up before, but if you go there you can try the shell for now, until i get more of the bugs worked out. Its running perl6 and executing basic commands properly. The code in the github repo is up to date, so if you'd like to see my work and let me know of any security measur
23:27 ash_ would help, let me know. Its mostly all contained in the frontend/cgi/try.pl file.
23:28 sorear ooh, looks like we're about to see another Zombie Thread
23:29 aya1 sorear look on http://nopaste.snit.ch/22564
23:29 aya1 i'm make a test class with rw and ro attributes
23:30 aya1 information about ro attributest getted here: http://perlcabal.org/syn/S12.html#Attributes
23:30 aya1 >has $.name = "fido";
23:30 aya1 :)
23:30 sorear aya1: don't use BUILD and initializers in the same class
23:30 aya1 hmm but BUILD is a constructor method
23:31 aya1 in documenation be info about it, it why i'm use it
23:31 sorear BUILD is an initializer method
23:31 sorear it replaces the initializers of all attributes
23:31 aya1 hmm strange, maybe wrong docs, than which ones is constructor method?
23:32 sorear new
23:32 aya1 as method? or as submethod?
23:32 sorear method
23:32 aya1 one sec
23:33 ash_ rakudo: class A { has $.b; method new($a) { self.bless(*, b => $a * 3); } }; say A.new(3).b
23:33 p6eval rakudo ecb4b0: OUTPUT«9␤»
23:33 sorear it doesn't make sense to use both BUILD and initializers in the same class, because they do the same thing
23:33 ash_ is an example of how to make your own new
23:37 snarkyboojum ash_: w00t, it works :)
23:37 ash_ snarkyboojum: i got perl6 built on the system with low memory after i copied the core.pir over
23:37 ash_ thanks
23:37 snarkyboojum ash_: ah - great :)
23:38 snarkyboojum ash_: camelia hides long lines in the stdout div, but I guess you're aware of that
23:44 aya1 ash_ new method is abstract? not allow rw attributest defenition in this case? like a BUILD
23:46 risou joined #perl6
23:47 aya1 also btw why in your example of clas you can overwrite $.b if it ro attribute?
23:55 wayland76 joined #perl6
23:59 Psyche^ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo