Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-06-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:00 TimToady http://irclog.perlgeek.de/perl6/2012-06-03#i_5678478
00:00 TimToady but comma could also usefully be outlawed there
00:01 TimToady it seems to be a very common failing to assume all() semantics in such casees
00:14 sorear I have no idea how to write that check.
00:34 Guest65107 joined #perl6
00:59 scott_ joined #perl6
01:23 replore_ joined #perl6
01:24 tokuhiro_ joined #perl6
01:25 pair-leto-ingy joined #perl6
01:25 pair-leto-ingy left #perl6
02:11 tokuhiro_ joined #perl6
02:13 dalek niecza/non-bootstrap: 154e541 | sorear++ | lib/RxOp.cs:
02:13 dalek niecza/non-bootstrap: Port regex optimizer
02:13 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/154e5415bb
02:23 crab2313 joined #perl6
02:28 pmichaud 22:47 <felher> pmichaud: this may be and odd/noob question: In your QRPA-Code, when you resize your array, why do you only align to 4096  element boundaries for those little arrays?
02:29 pmichaud "align to 4096 element boundary" is probably an incorrect phrasing.  What really happens is that we size the array to the next largest multiple of 4096 elements
02:29 pmichaud and it only happens for arrays larger than 8192
02:32 sorear shouldn't you be allowing 16 bytes or so for malloc headers?
02:33 crab2313 joined #perl6
02:34 scott_ joined #perl6
02:34 xinming joined #perl6
02:35 Facefox joined #perl6
02:35 dalek nqp/qrpa: fad75ad | pmichaud++ | src/pmc/qrpa.pmc:
02:35 dalek nqp/qrpa: QRPA: Update comment in QRPA.set_integer_native to be a little more accurate.
02:35 dalek nqp/qrpa: review: https://github.com/perl6/nqp/commit/fad75add1a
02:35 pmichaud sorear: so far I'm just copying what Parrot does there; it probably makes sense to tune it a bit, yes.
02:36 hillu joined #perl6
02:36 pmichaud also, it's using Parrot's gc-based allocator, so there might be even more than just the malloc header (I've not researched this).
02:36 sorear ah.
02:44 leprevost joined #perl6
02:55 cognominal joined #perl6
03:18 cognominal joined #perl6
03:36 crab2313 joined #perl6
03:53 dalek rakudo/map: 6941eb1 | pmichaud++ | src/core/List.pm:
03:53 dalek rakudo/map: Temporarily revert the use of qlist in this branch until I make
03:53 dalek rakudo/map: sure it plays okay with the serializer.  This puts 1..BIGNUM lists
03:53 dalek rakudo/map: back to their horribly slow state, but future commits will definitely
03:53 dalek rakudo/map: get us the performance back.
03:53 dalek rakudo/map: review: https://github.com/rakudo/rakudo/commit/6941eb1028
03:53 dalek rakudo/map: 916c59a | pmichaud++ | src/core/ (2 files):
03:53 dalek rakudo/map: Remove (basically unused) :$sink option to .reify(); sinks will be
03:53 dalek rakudo/map: refactored slightly differently.
03:53 dalek rakudo/map: review: https://github.com/rakudo/rakudo/commit/916c59ad84
03:54 drbean joined #perl6
04:07 drbean joined #perl6
04:11 estebann joined #perl6
04:38 adu joined #perl6
04:44 adu joined #perl6
04:54 adu joined #perl6
05:12 dalek niecza/non-bootstrap: 0062b2c | sorear++ | lib/Utils.cs:
05:12 dalek niecza/non-bootstrap: Port GetOptLong
05:12 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/0062b2c5ba
05:17 birdwindupbird joined #perl6
05:28 tadzik good morning #perl6
05:36 crab2313 tadzik: good morning
05:42 bbkr_ joined #perl6
05:43 moritz \o
05:48 GlitchMr joined #perl6
05:49 sorear good morning tadzik, moritz, crab2313, GlitchMr
05:51 crab2313 sorear: how are you doing today
05:54 sorear fine I guess.
05:54 sorear it's always weird to be asked that
05:54 kaleem joined #perl6
05:57 GlitchMr Just wondering, what it is? https://github.com/perl6/std/blob/master/STD_P5.pm6
05:57 GlitchMr Is it grammar for Perl 5?
05:57 sorear it is a WIP grammar for Perl 5
05:57 GlitchMr $¢.worry("Leading 0 does not indicate octal in Perl 6")
05:57 GlitchMr ...
05:57 GlitchMr ok
05:57 sorear TimToady was working on it a few years ago, but has not been touched since
05:59 GlitchMr http://paste.uk.to/bbf2760d
06:00 GlitchMr I find it interesting that you can make stuff like this in few lines
06:03 wtw joined #perl6
06:03 GlitchMr Also, why "multi" isn't default in subs?
06:03 wtw joined #perl6
06:04 benabik Because there's a cost to using multi.
06:05 GlitchMr Performance?
06:05 benabik Yes, and memory.  I suppose in the one candidate case the costs are minimal, but present.  (more)
06:05 sorear also, sanity
06:06 benabik Also helps the compiler know if you did or didn't intend to have two subs with the same name.
06:06 sorear multis have failure modes that can be very confusing if you are expecting onlys
06:07 GlitchMr Failure modes could check if there is just one multi function
06:07 GlitchMr http://paste.uk.to/fe60a017
06:08 GlitchMr (and I should fix highlighting in my pastebin...)
06:09 benabik Failure modes like "I mis-spelled a named parameter and am now calling a completely different function"
06:09 benabik Which is very unexpected if you didn't know it was a multi.
06:11 GlitchMr What about operators? It's almost required to use "multi" there (I guess that answer is no, for consistency).
06:12 benabik Most built-in operators are multis, IIRC.
06:13 GlitchMr Well, but some user may forget about it and second module might be not able to insert operator.
06:14 benabik No matter what default you choose, I bet you'll have a problem.  Perhaps the first module _wanted_ a non-overrideable operator because it does something very non-standard.
06:14 sorear There is no more reason for subs named 'infix:<foo>' to be multi than there is for subs named 'foo'
06:14 benabik And there's- what sorear++ said
06:14 sorear There really isn't a conceptual difference between subs and operators
06:14 sorear They're both subs
06:16 moritz ecept for those operators that thunk
06:16 sorear moritz: Those are just macros with funny names :)
06:17 GlitchMr And you can use prefixes to make funny function names...
06:17 GlitchMr sub prefix:<-e> { 'it exists' }
06:17 GlitchMr (of course, in real life, code would be more complex)
06:18 GlitchMr Well, I guess it's confusing, but makes sense
06:18 grondilu joined #perl6
06:18 benabik We generally spell "this should be more complex" `...`.  :-)
06:18 GlitchMr Right...
06:18 * benabik apparently gets talkative on IRC when he has insomnia.
06:18 grondilu p6: say qx/perl -wE "print pack q(C*), 128..130"/;
06:18 GlitchMr It even protects against code like -exists()
06:18 p6eval pugs: OUTPUT«*** Unsafe function 'Pugs::Internals::runShellCommand' called under safe mode␤    at /tmp/6cE9MVisKQ line 1, column 5-46␤»
06:18 p6eval ..niecza v18-2-gea3d97a: OUTPUT«���␤»
06:18 p6eval ..rakudo 9d2ddd: OUTPUT«qx, qqx is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub QX at src/SAFE.setting:9␤  in block <anon> at /tmp/CSsuLFooAO:1␤␤»
06:19 GlitchMr n: print qx/ls/
06:19 p6eval niecza v18-2-gea3d97a: OUTPUT«boot␤docs␤examples␤FETCH_URL␤lib␤LICENSE␤License-MS-PL.txt␤main.pl␤Makefile␤obj␤p5test␤perf␤perl5␤README.pod␤run␤simple-tests␤src␤t␤test2.pl␤test3.pl␤test.pl␤TODO␤tools␤VERSION␤»
06:19 * sorear gets talkative *period* when ey can't sleep
06:19 GlitchMr ...
06:19 GlitchMr Sandbox is broken
06:19 sorear GlitchMr: there is no sandbox.
06:19 grondilu qx// expects unicode.  What about if I want binary?
06:20 sorear (this is not a bug.  please don't file one for the "lack of a sandbox")
06:20 moritz I don't think that's supported at the moment
06:21 GlitchMr But well... I can run any command
06:21 sorear Yes.
06:21 moritz and if you do, we'll ban you
06:21 sorear We have backups and a generally friendly userbase.
06:22 GlitchMr :)
06:22 grondilu p6: multi sub talk() { say "hello" }; multi sub talk(:$shouting) { say "HELLO!!" }; talk();
06:22 p6eval rakudo 9d2ddd: OUTPUT«HELLO!!␤»
06:22 p6eval ..pugs: OUTPUT«hello␤»
06:22 p6eval ..niecza v18-2-gea3d97a: OUTPUT«Potential difficulties:â�¤  $shouting is declared but not used at /tmp/wx2648IFNO line 1:â�¤------> [32mtalk() { say "hello" }; multi sub talk(:[33mâ��[31m$shouting) { say "HELLO!!" }; talk();[0mâ�¤â�¤helloâ�¤Â»
06:22 sorear diakopter and I decided the benefits of being able to demo CLR interop outweighed the inconvenience of possibly having to clean up after a griefer
06:22 sorear OTOH, this was before the move from diakopter's own server back to feather3
06:23 sorear so we ought to give Juerd and moritz a chance to weigh in
06:23 moritz fwiw rakudo allows nqp:: ops, but disables run/qx/qqx etc.
06:23 moritz because you need to have a pretty good understanding of this stuff to exploit the nqp:: stuff
06:24 diakopter but inline pir..?
06:24 moritz also allowed
06:24 grondilu should I commit a rakudo bug about the failed multi dispatch above?
06:24 moritz but anybody with a bit of p5 knowledge knows qx//
06:24 sorear Anyways it's running as an unpriviliged user in a chroot on a semi-dedicated virtual machine
06:25 grondilu r: multi talk() { say "hello" }; multi talk(:$shouting) { say "HELLO!!" }; talk();
06:25 p6eval rakudo 9d2ddd: OUTPUT«HELLO!!␤»
06:25 GlitchMr http://thedailywtf.com/Articles/Security-by-PostIt.aspx
06:25 GlitchMr Good password :)
06:25 sorear With process time limits
06:26 benabik ulimit is your friend
06:26 moritz BSD::Resource
06:26 sorear Really the worst anyone could do is start sending spam from feather3
06:26 sorear I wonder if it would be possible to throttle feather3's uplink at the Xen level
06:27 sorear There's no reason p6eval and dalek need to be able to transmit data at 100Mbps or whatever Juerd's datacenter allows
06:27 benabik moritz: I'm fine with whatever sugar you want over ulimit(3).  :-D
06:28 sorear setrlimit(2) innit?
06:28 sorear my ulimit(3) says Warning: This routine is obsolete.
06:28 benabik Huh.  Apparently, yes.  Mine says "limited to maximum file size".
06:29 benabik Been a while since I've used that interface.
06:34 dalek rakudo/nom: d351efc | moritz++ | src/core/ (2 files):
06:34 dalek rakudo/nom: typed exception for Set coercion
06:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d351efc62e
06:34 dalek roast: 85f737a | moritz++ | S32-exceptions/misc.t:
06:34 dalek roast: test X::Set::Coerce
06:34 dalek roast: review: https://github.com/perl6/roast/commit/85f737a4f3
06:35 dalek specs: f29d4ce | moritz++ | S32-setting-library/Exception.pod:
06:35 dalek specs: [S32::Exception] general policy for what data to carry around
06:35 dalek specs: review: https://github.com/perl6/specs/commit/f29d4ced93
06:35 dalek specs: d88cbf4 | moritz++ | S32-setting-library/Exception.pod:
06:35 dalek specs: X::IO does X::OS
06:35 dalek specs: review: https://github.com/perl6/specs/commit/d88cbf4074
06:35 dalek specs: 64947f6 | moritz++ | S32-setting-library/Exception.pod:
06:35 dalek specs: note about mixing in X::Comp
06:35 dalek specs: review: https://github.com/perl6/specs/commit/64947f6fbd
06:48 grondilu p6: say "foo" ~~ m:g/./;
06:48 p6eval rakudo 9d2ddd: OUTPUT«False␤»
06:48 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
06:48 p6eval ..niecza v18-2-gea3d97a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Regex modifier g not yet implemented at /tmp/cLavGB_OUR line 1:â�¤------> [32msay "foo" ~~ m:g[33mâ��[31m/./;[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /ho…
06:51 grondilu What is this X::Comp thing about??
06:52 * grondilu has never seen any X class/role in any synopsis.
06:52 benabik X is the exception package.
06:53 grondilu ok
06:53 benabik X::Comp is a type for exceptions thrown at compile type.
06:53 benabik *time
06:53 Juerd sorear: If things on feather3 are run as non-root, and there's a simple iptables firewall, I think that should be enough.
06:54 Juerd sorear: Local root exploits can happen but are much more likely on feather1 anyway.
06:57 brrt joined #perl6
06:58 moritz at some point I'd like to redo feather3 with debian stable
06:58 moritz running unstable when it is only seldomly upgraded is not a good idea
07:01 dalek rakudo/nom: cad7b6c | moritz++ | src/core/ (2 files):
07:01 dalek rakudo/nom: another typed exception for DateTime
07:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cad7b6c29c
07:01 dalek roast: 7a77b2a | moritz++ | S32-exceptions/misc.t:
07:01 dalek roast: test X::DateTime::TimezoneClash
07:01 dalek roast: review: https://github.com/perl6/roast/commit/7a77b2a82b
07:05 fhelmberger joined #perl6
07:06 sorear Juerd: thank you
07:30 icwiener joined #perl6
07:35 moritz oh, my last three patches to S32::Exception have been sent as a single email to p6l
07:35 moritz is that a new feature of github?
07:36 dalek niecza/non-bootstrap: 0747704 | sorear++ | / (4 files):
07:36 dalek niecza/non-bootstrap: Port over top-level driver
07:36 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/0747704823
07:36 sorear non-bootstrap now parses command line options
07:37 sorear can't actually *do* anything with it yet, though
07:42 mucker joined #perl6
07:46 sorear sleep&
07:47 moritz .u ェ
07:47 phenny U+30A7 KATAKANA LETTER SMALL E (ェ)
08:01 kresike joined #perl6
08:01 kresike morning all you happy perl6 people
08:02 dalek specs: 087aac0 | moritz++ | S32-setting-library/Exception.pod:
08:02 dalek specs: [S32::Exception] small nits
08:02 dalek specs: review: https://github.com/perl6/specs/commit/087aac004b
08:02 moritz good morning happy kresike :-)
08:03 kresike hello moritz o/ :)
08:11 cognominal_ joined #perl6
08:15 am0c joined #perl6
08:23 cognominal_ joined #perl6
08:27 crab2313 joined #perl6
08:30 birdwindupbird joined #perl6
08:38 moritz std: use ::;
08:38 p6eval std f179a1b: OUTPUT«Modification of non-creatable array value attempted, subscript -1 at CursorBase.pm line 307.␤FAILED 00:00 40m␤»
08:42 moritz wow, I don't think I've ever seen that error message from p5 before
08:50 birdwindupbird joined #perl6
08:51 dalek specs: 4d6a980 | moritz++ | S32-setting-library/Exception.pod:
08:51 dalek specs: [S32::Exception] first rough import of exception classes from Rakudo
08:51 dalek specs:
08:51 dalek specs: needs more polishing, and some classes also need descriptions
08:51 dalek specs: review: https://github.com/perl6/specs/commit/4d6a9806ec
09:04 Ulti moritz: can you create a file just called .pm and have that work?
09:04 Ulti so like use Fun::   where Fun/.pm exists
09:05 moritz Ulti: I hope not
09:05 moritz r: use ::;
09:05 p6eval rakudo cad7b6: OUTPUT«===SORRY!===␤Could not find :: in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/4.4.0-devel/languages/perl6/lib␤»
09:05 moritz eeks
09:06 Ulti moritz: you totally can
09:06 Ulti I just did it
09:06 Ulti heh
09:06 Ulti neat but also wtf
09:06 moritz we'll disallow that in time
09:06 Ulti this is p5 not rakudo though
09:07 * moritz waits for ACME::Empty
09:07 Ulti lol
09:07 moritz I should release that later today :-)
09:08 Ulti it complained about a lack of 1; at first :3
09:08 moritz let's see how well the CPAN tool chain can handle empty module names :-)
09:08 Ulti because thats the problem with that module
09:09 Ulti might be useful as some kind of meta package
09:09 Ulti so Fun::; describes everything inside Fun
09:09 moritz in p6, Fun:: is the symbol table of Fun
09:09 Ulti yeah so thats like the most sane thing to expect
09:10 moritz eval: package Fun::::; __PACKAGE__
09:10 buubot_backup moritz: Fun::::
09:14 icwiener joined #perl6
09:27 thelazydeveloper joined #perl6
09:31 birdwind1pbird joined #perl6
09:41 dalek specs: 4ef9759 | moritz++ | S32-setting-library/Exception.pod:
09:41 dalek specs: [S32::Exception] elaborate on a few more exception classes
09:41 dalek specs: review: https://github.com/perl6/specs/commit/4ef9759c41
10:06 dalek specs: 6789051 | moritz++ | S32-setting-library/Exception.pod:
10:06 dalek specs: [S32::Exception] elaborate on a few more exception classes
10:06 dalek specs: review: https://github.com/perl6/specs/commit/67890511be
10:12 dalek specs: ba2386f | moritz++ | S32-setting-library/Exception.pod:
10:12 dalek specs: [S32::Exception] finish describing all exception types
10:12 dalek specs: review: https://github.com/perl6/specs/commit/ba2386f30e
10:12 moritz now that was quite a bit of work.
10:39 adu joined #perl6
10:39 dalek specs: a36af6c | gerdr++ | S32-setting-library/Exception.pod:
10:39 dalek specs: [S32-setting-library/Exception.pod] Fix some typos in
10:39 dalek specs: review: https://github.com/perl6/specs/commit/a36af6ce0a
10:44 dalek specs: 11998de | (Gerhard R)++ | S32-setting-library/Exception.pod:
10:44 dalek specs: [S32::Exception] fix some typos
10:44 dalek specs: review: https://github.com/perl6/specs/commit/11998de834
10:44 not_gerd joined #perl6
10:45 * not_gerd rewrites public history
10:45 not_gerd not_gerd--
10:48 JimmyZ joined #perl6
10:51 Facefox joined #perl6
11:07 sergot joined #perl6
11:07 sergot hi o/
11:07 adu joined #perl6
11:10 GlitchMr joined #perl6
11:14 rhr joined #perl6
11:27 not_gerd left #perl6
11:27 moritz not_gerd++ # fixing my stuff
11:59 BooK joined #perl6
12:00 BooK_ joined #perl6
12:01 daxim joined #perl6
12:25 adu joined #perl6
12:31 bluescreen10 joined #perl6
12:35 pmichaud good morning, #perl6
12:35 PacoAir joined #perl6
12:37 daxim joined #perl6
12:37 PacoAir_ joined #perl6
12:37 [Coke] GOOD MORNING, LOWERCASE PERL6 USER!
12:41 Ulti lol
12:41 * pmichaud averts his eyes from the too-early-in-the-morning uppercase shouting on the channel
12:42 cognominal joined #perl6
12:42 birdwindupbird joined #perl6
12:42 * [Coke] has a friend who types in all caps all the time because trying to read her own lowercase typing makes her migraines activate sooner.
12:43 frettled [Coke]'s friend should experiment more with different fonts and sizes.  :)
12:43 Ulti [Coke] YOU SHOULD TALK IN RAINBOWS TOO
12:43 Ulti though thats not going to help anyones migraines
12:45 thou joined #perl6
12:47 birdwind1pbird joined #perl6
12:51 crab2313 Ulti: Wow.
12:53 JimmyZ r: $_ = 2, 3, 5; say ~$_
12:53 p6eval rakudo cad7b6: OUTPUT«2␤»
12:53 JimmyZ is it right?
12:56 crab2313 r: $_ = (2,3,5); say $_;
12:56 p6eval rakudo cad7b6: OUTPUT«2 3 5␤»
12:57 Ulti crab2313: dont worry it was scripted rather than hand tpyed ;)
12:59 crab2313 r: $_ = (2,3,5); say ~$_;
12:59 p6eval rakudo cad7b6: OUTPUT«2 3 5␤»
13:00 crab2313 Ulti: creative
13:03 tyatpi joined #perl6
13:06 crab2313 n: $_ = (2,3,5); say ~$_;
13:06 p6eval niecza v18-2-gea3d97a: OUTPUT«2 3 5␤»
13:06 crab2313 n: $_ = 2,3,5; say ~$_;
13:06 p6eval niecza v18-2-gea3d97a: OUTPUT«2␤»
13:08 Psyche^ joined #perl6
13:12 pmichaud afk, kid to camp
13:13 zb joined #perl6
13:14 birdwindupbird joined #perl6
13:14 birdwind1pbird joined #perl6
13:25 skids joined #perl6
13:31 felher pmichaud: @QRPA: I see, thnx :)
13:40 tokuhiro_ joined #perl6
13:42 birdwind2pbird joined #perl6
13:54 PacoAir joined #perl6
13:55 alvis joined #perl6
14:02 adu joined #perl6
14:02 [Coke] r: say 604-105
14:02 p6eval rakudo cad7b6: OUTPUT«499␤»
14:02 [Coke] < 500 open tickets!
14:03 adu wow
14:03 adu can I help?
14:04 [Coke] rakudo: say 1.++() # RT #73156
14:04 p6eval rakudo cad7b6: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&postfix:<.>' called (line 1)␤»
14:04 [Coke] adu: sure. if you want, go to:
14:05 [Coke] http://rakudo.org/rt/testsneeded - any tickets here need tests added to roast before they can be closed.
14:05 diakopter added to (or found already in) roast
14:05 [Coke] alternatively, go to rt.perl.org/rt3 , perl6 queue, and see if any of the errors reported in those tickets (that are NOT marked testneeded) now work.
14:05 [Coke] diakopter++
14:06 diakopter though I very recently went through them all, doing that
14:07 diakopter but didn't comment on the ones that were stlil broken unless the behavior changed
14:07 slinkylinda joined #perl6
14:08 slinkylinda hello
14:11 diakopter yay, my jury duty today was placed on phone standby
14:13 shinobicl joined #perl6
14:18 adu diakopter: it probably means you're number 13
14:19 diakopter well, I hadn't even gone through the prospective juror process
14:20 diakopter you have to do that first, I think
14:21 adu well, if numbers 1..12 all have heartbeats, then you might never get a call
14:21 kresike and if one of them dies from unnatural causes, then run :)
14:38 kresike bye all
14:44 adu joined #perl6
14:46 JimmyZ joined #perl6
14:55 sorear good * #perl6
14:55 diakopter howdy sorear
14:59 crab2313 diakopter: If a test on http://rakudo.org/rt/testsneeded failed, should I report it?
15:02 sorear moritz: should I read your individual patches to S32/Exception or wait for the final result?
15:07 diakopter crab2313: which one
15:07 diakopter crab2313: sure, just mention it here
15:07 crab2313 diakopter: #104514
15:08 diakopter r: my @a = -> { say 1 }, -> { say 2 }; @a>>.()
15:08 p6eval rakudo cad7b6: OUTPUT«1␤2␤»
15:08 diakopter seems to work okay
15:10 crab2313 my $a; $a>>.()
15:10 moritz sorear: wait a bit, though feedback wouldn't hurt
15:11 crab2313 my $a; $a>>.(); will cause a segfault
15:12 diakopter r: my $a; $a>>.();
15:12 p6eval rakudo cad7b6: OUTPUT«No such method 'Any' for invocant of type 'Parcel'␤  in <anon> at src/gen/BOOTSTRAP.pm:804␤  in <anon> at src/gen/BOOTSTRAP.pm:801␤  in any <anon> at src/gen/BOOTSTRAP.pm:796␤  in sub METAOP_HYPER_CALL at src/gen/CORE.setting:11588␤  in block <anon> at /tmp/orBoNPu…
15:14 crab2313 diakopter: https://gist.github.com/2868992
15:16 preflex_ joined #perl6
15:21 diakopter crab2313: it might be different on the REPL
15:21 diakopter which build of rakudo do you have
15:21 crab2313 diakopter: This is perl6 version 2012.05-167-gcad7b6c built on parrot 4.4.0 revision RELEASE_4_4_0-90-g22d7d59
15:22 diakopter well hm
15:23 icwiener joined #perl6
15:23 diakopter it doesn't segfault for me on windows in the repl; lemme try linux
15:24 diakopter nor on linux
15:24 diakopter oh!
15:24 diakopter but if I hit Ctrl-d at the REPL prompt, it segfaults :)
15:25 diakopter after typing that
15:25 crab2313 diakopter: yes, it is.
15:25 diakopter it exits with error on windows if I Ctrl-Z->Enter, too
15:27 mikemol joined #perl6
15:28 diakopter there, updated
15:28 diakopter crab2313++
15:29 crab2313 diakopter++
15:29 MayDaniel joined #perl6
15:30 * diakopter looks for an MIT-ish licensed codepoint->byte utf8 encoder in C
15:31 JimmyZ nfg?
15:31 diakopter just normal codepoints to utf8
15:31 spider-mario joined #perl6
15:32 colomon diakopter: they're actually very easy to write.
15:32 colomon diakopter: hold on a moment, I did this myself a few weeks ago.
15:32 colomon diakopter: my version was based on this: http://unicode.org/resources/utf8.html  (BSD license)
15:33 colomon diakopter: though I rewrote it to switch from wchar_t to unsigned int for the code points
15:33 colomon diakopter: (it got simpler in the process)
15:37 fgomez joined #perl6
15:38 arnsholt It's mostly a question of figuring out how many bytes you need and doing the bit-shuffling, isn't it?
15:39 moritz what was the difference BSD and MIT licensing again?
15:39 moritz one east coast, one west coast?
15:39 tadzik BSD is longer
15:40 moritz but both allow basically everything, as long as you include the license, no?
15:40 daxim http://www.gnu.org/licenses/license-list.html
15:40 tadzik I think so
15:40 diakopter BSD says you can't use the author/holder's name
15:40 TimToady early BSD had an advertising clause, and language specific to the Regents of California
15:40 TimToady but then they generalized it
15:41 daxim "[…] MIT license, but that term is misleading, since MIT has used many licenses for software."
15:42 daxim better say expat license, x11 license etc.
15:44 not_gerd joined #perl6
15:45 alester joined #perl6
15:45 * not_gerd also has an UTF-8 encoder lying around
15:46 not_gerd diakopter: do you need codepoint verification (exclude non-chars/surrogates), and/or modified UTF-8 (ie encode NUL as an overlong 2-byte sequence)?
15:46 not_gerd I'm happy to donate my code under whatever license you like
15:50 moritz jnthn: I want to implement two module loading related things on which I'd like to get your input
15:50 moritz jnthn: first, some kind of debugging mode for module loading which tells us which modules are actually loaded (ie which path, if .pir or .pbc etc.)
15:51 moritz how should I trigger that? env variable? command line switch?
15:51 diakopter not_gerd: see privmsg
15:52 moritz second, I want to get some module loading traces
15:52 * not_gerd digs out the code
15:53 moritz ie if I get a a compilation error from C.pm, I want to have a backtrace like "used from B.pm line 2\nused from A.pm line 5; use from script.pl line 22"
15:53 moritz s/if/when/
15:54 moritz the question is, where should I stick that information?
15:56 sergot http://perl6.org/community/ : November Wiki and Perl.net.au wiki doesn't work. Should I remove them from there?
15:57 tadzik I think so
15:57 moritz sergot: yes please
15:57 sergot http://perl6.org/documentation/ : Perl 6 Now: The Core Ideas Illustrated with Perl 5 (Apress book) (2004) - doesn't work too, what to do with this?
15:57 sergot :)
15:57 moritz sergot: remove
15:57 sergot ok
15:58 moritz sergot: perl6.org was always meant to contain up-to-date information, rather than comprehensive information
16:01 diakopter not_gerd: fyi, I ended up using the decoder here: http://bjoern.hoehrmann.de/utf-8/decoder/dfa/
16:02 moritz (I'd also appreciate input from others on the two design questions above)
16:02 wooden joined #perl6
16:02 wooden joined #perl6
16:02 diakopter not_gerd: (but I need a time-tested encoder) :)
16:03 krunen joined #perl6
16:03 dalek perl6.org: 92cfd27 | sergot++ | source/ (2 files):
16:03 dalek perl6.org: Broken links removed.
16:03 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/92cfd27e3a
16:05 Chillance joined #perl6
16:05 jnthn evenin'
16:06 simcop2387 joined #perl6
16:06 not_gerd diakopter: needed some time to rip out and sanitize the code (as well as locate the PDCLIB license file)
16:06 not_gerd for what it'S worth, here it is: https://gist.github.com/2869236
16:07 brrt left #perl6
16:07 immortal joined #perl6
16:07 immortal joined #perl6
16:08 diakopter I need some kind of author/copyright attribution so it's known who issued the license - privmsg me your name or website or public email or irc handle if you want to use that :)
16:08 diakopter not_gerd: ^
16:13 diakopter not_gerd: thanks! :)
16:15 pyrimidine joined #perl6
16:16 b1rkh0ff joined #perl6
16:22 spider-mario .u ⏏
16:22 phenny U+23CF EJECT SYMBOL (⏏)
16:25 TimToady that's when the umpire ejects you from the ballgame
16:26 mucker joined #perl6
16:27 Util joined #perl6
16:28 sergot does "andthen" still exist?
16:29 GlitchMr n: use Threads; Thread.new: * + *
16:29 p6eval niecza v18-2-gea3d97a: OUTPUT«␤Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.Frame.MakeChild (Niecza.Frame outer, Niecza.SubInfo info, Niecza.P6any sub) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.GetInferi…
16:31 [Coke] sergot: NO ANDTHEN!
16:31 alvis joined #perl6
16:31 tokuhiro_ joined #perl6
16:31 skids joined #perl6
16:31 crab2313 joined #perl6
16:31 aindilis joined #perl6
16:31 mtk joined #perl6
16:31 crazedpsyc joined #perl6
16:31 rlpeacock joined #perl6
16:31 rsimoes joined #perl6
16:31 mikec__ joined #perl6
16:31 jerome_ joined #perl6
16:32 crab2313 left #perl6
16:32 crab2313 joined #perl6
16:37 flussence Didn't we talk about something almost identical to this?  http://perlmonks.org/?node_id=973015
16:37 TimToady phenny tell JimmyZ http://irclog.perlgeek.de/perl6/2012-06-04#i_5680738 is right behavior, except that the compiler should really warn about "Useless use of 3 in a sink context"
16:38 TimToady phenny: tell JimmyZ http://irclog.perlgeek.de/perl6/2012-06-04#i_5680738 is right behavior, except that the compiler should really warn about "Useless use of 3 in a sink context"
16:38 phenny TimToady: I'll pass that on when JimmyZ is around.
16:41 sergot [Coke]: What do you mean? :)
16:47 slavik1 joined #perl6
16:48 eiro joined #perl6
16:49 [Coke] sergot: from _Dude, Where's my Car_
16:49 Chillance joined #perl6
17:05 kaleem joined #perl6
17:05 tokuhiro_ joined #perl6
17:14 sergot joined #perl6
17:21 xinming_ joined #perl6
17:26 daxim joined #perl6
17:34 drbean joined #perl6
17:34 vlixes joined #perl6
17:40 majrmovies joined #perl6
17:46 [Coke] # 06/04/2012 - rakudo++ (22405); niecza (91.3%); pugs (34.58%)
17:46 pmichaud back again
17:46 jnthn o/ pmichaud
17:47 tadzik hello hello
17:47 sergot o/
17:49 dalek specs: 0fc2c74 | moritz++ | S32-setting-library/Exception.pod:
17:49 dalek specs: [S32::Exception] big reordering
17:49 dalek specs:
17:49 dalek specs: group syntax errors and compilation errors together
17:49 dalek specs: review: https://github.com/perl6/specs/commit/0fc2c74ef5
17:55 [Coke] pmichaud: ~~
17:58 dalek specs: aa0b910 | moritz++ | S32-setting-library/Exception.pod:
17:58 dalek specs: [S32::Exception] bump version and modification date
17:58 dalek specs: review: https://github.com/perl6/specs/commit/aa0b9107ae
18:00 PacoAir joined #perl6
18:03 dalek specs: b469029 | moritz++ | S32-setting-library/Exception.pod:
18:03 dalek specs: [S32::Exception] fix a heading level
18:03 dalek specs: review: https://github.com/perl6/specs/commit/b469029b7e
18:06 dalek specs: cbf1853 | moritz++ | S32-setting-library/Exception.pod:
18:06 dalek specs: [S32::Exception] fix role name
18:06 dalek specs: review: https://github.com/perl6/specs/commit/cbf185339d
18:06 brrt joined #perl6
18:12 dalek specs: 47b29a8 | moritz++ | S32-setting-library/Exception.pod:
18:12 dalek specs: group dispatch errors
18:12 dalek specs: review: https://github.com/perl6/specs/commit/47b29a87f6
18:16 dalek specs: 7ceaeb9 | moritz++ | S32-setting-library/Exception.pod:
18:16 dalek specs: [S32::Exception] notes on the general naming scheme
18:16 dalek specs: review: https://github.com/perl6/specs/commit/7ceaeb9fe3
18:19 [Coke] moritz: I would like to register a small complaint about core exceptions being in the "X" namespace - that reads "user extension" to me.
18:20 pmichaud I think "user extension" should be the "X-" prefix :-)
18:20 pmichaud (istr making a similar complaint when "X" was proposed, though.  :-)
18:21 TimToady I think everything is a user extension that isn't builtin
18:21 moritz I've heard complaints about X::, but no better suggestions so far
18:21 moritz would you prever EX:: or Ex::?
18:22 pmichaud okay, call "X-" the "draft extension prefix" then.  :)
18:22 TimToady the X was my decision, and I haven't changed my mind :)
18:22 pmichaud yes, if you were still uncertain about it, it'd be "X-X"  :-P
18:22 moritz fwiw I like X too
18:22 tadzik I like X
18:22 moritz .oO( X-rated objects )
18:22 pmichaud you can find your errors because they're all marked with X's
18:22 pmichaud just like in school
18:23 TimToady I think people will see exceptions much more often than experimental extensions
18:23 TimToady and if something is experimental is should be reflected in the version, not the name
18:23 TimToady *it
18:24 PerlJam TimToady: what does an experiment version look like?
18:24 PerlJam er, experimental
18:25 TimToady usually v0.0.1 or so  :)
18:25 PerlJam :-)
18:25 thou joined #perl6
18:26 PerlJam In Moose-land, the X is a suffix (MooX, MooseX, etc.),  for exceptions, it's a prefix.  I'm pretty sure people can make the distinction if necessary
18:27 PerlJam (If Perl 6 grows a set of experimental extensions that is)
18:28 cognominal joined #perl6
18:32 thou joined #perl6
18:35 moritz as long as the exceptions aren't experimental :-)
18:35 colomon XfooX
18:37 pmichaud one would want to be careful with the experimental OXO exception type, then :-)
18:38 spaceships joined #perl6
18:42 TimToady I'm reminded of the tee-shirt my wife's sister owns, that shows a princess throwing a frog into a pile of frogs, with the legend "Before you find your prince you have to kiss a lot of frogs."
18:43 moritz :-)
18:44 moritz .oO( people always want a fairtale wedding, but when I then show up and curse their first-born, they all freak out ) # paraphrased from someone on twitter
18:45 colomon nice
18:47 geekosaur *snrk*
18:47 not_gerd left #perl6
18:53 krunen pmichaud: Hi. sjn asked me to contact you about the p5-mop hackaton after YAPC. I'll try to get funding if you want to come.
18:53 pmichaud krunen: I'd love to come, yes.
18:54 pmichaud I think that hackathon will be something really special, plus jnthn++ thinks that would be a good time for he and I to meet/plan again (so do I)
18:56 cognominal joined #perl6
18:57 pmichaud krunen: let me know if I can provide any details to help with funding; I probably cannot make it by relying on my own resources.
18:59 krunen pmichau: Great. sjn talked about a possibility for a Hague grant. I can send an application, if you think there's a chance / time enough. I'd need a bit of help with the details.
19:03 pmichaud I think there's a chance and definitely time enough.  perhaps contact me privately and I can give some details?
19:03 pmichaud email is pmichaud@pobox.com, or we can /privmsg here on irc
19:05 krunen i'll send you a quick email, I don't trust my scrollback
19:07 dalek book: e10953e | alvis++ | authors.pod:
19:07 dalek book: This fixes the Pod error: '=item' outside of any '=over'.
19:07 dalek book: review: https://github.com/perl6/book/commit/e10953e75f
19:07 dalek book: aac7aa1 | moritz++ | authors.pod:
19:07 dalek book: Merge pull request #69 from ayardley/ayardley/fixup_authors.pod
19:07 dalek book:
19:07 dalek book: This fixes the Pod error: '=item' outside of any '=over'.
19:07 dalek book: review: https://github.com/perl6/book/commit/aac7aa1679
19:08 timotimo allow me a stupid question: how similar/dissimilar is perl6's handling of destructors to the RAII model?
19:09 pmichaud krunen: works for me, I can suggest a process to go forward from there.  Thanks!
19:09 sorear timotimo: very dissimilar.  perl6 destructors are closer to Java finalizers
19:09 sorear timotimo: there's no guarantee they will be run in a manner at all timely.
19:09 timotimo okay
19:10 benabik RAII is tied to C++'s destruction of stack objects when you leave a scope.  Finalizers in a GC system are similar, but the timing is very very different.
19:11 birdwindupbird joined #perl6
19:15 pmichaud afk for a while
19:20 dalek specs: 54584ca | moritz++ | S32-setting-library/Exception.pod:
19:20 dalek specs: [S32::Exception] remove redundant error; harmonize error messages to be easier copy&pastable
19:20 dalek specs: review: https://github.com/perl6/specs/commit/54584ca225
19:24 cognominal joined #perl6
19:25 brrt joined #perl6
19:27 pyrimidine joined #perl6
19:34 zby_home_ joined #perl6
19:36 zby_home_ in a role I need to check if something isa WebNano6::Controller
19:36 zby_home_ but I use that role in  WebNano6::Controller
19:37 zby_home_ in result it hangs
19:37 benabik Predeclare either the role or the controller?
19:38 benabik r: role Foo {...}; class Controller { method bar() { Foo.new.baz() } }; role Foo { method baz() { say 'hi' } }; Controller.bar
19:38 p6eval rakudo cad7b6: OUTPUT«hi␤»
19:38 zby_home_ thanks!
19:48 GlitchMr nr: sub infix:[] { $^a, $^b }; my @no-commas = 1 3 6 .. 8; print @no-commas.perl
19:48 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: cannot increment a value of type Parcel␤  at /home/p6eval/niecza/lib/CORE.setting line 1640 (List.gist @ 5) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2895 (RangeIter.reify @ 7) ␤  at <unkno…
19:48 p6eval ..rakudo cad7b6: OUTPUT«No such method 'succ' for invocant of type 'Parcel'␤  in sub postfix:<++> at src/gen/CORE.setting:1318␤  in method reify at src/gen/CORE.setting:4825␤  in method reify at src/gen/CORE.setting:4946␤  in method gimme at src/gen/CORE.setting:5333␤  in method eager at …
19:50 GlitchMr nr: sub infix:[] { @($^a), @($^b) }; my @no-commas = 1 3 6 .. 8; print @no-commas.perl
19:50 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: cannot increment a value of type Parcel␤  at /home/p6eval/niecza/lib/CORE.setting line 1640 (List.gist @ 5) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2895 (RangeIter.reify @ 7) ␤  at <unkno…
19:50 p6eval ..rakudo cad7b6: OUTPUT«No such method 'succ' for invocant of type 'Parcel'␤  in sub postfix:<++> at src/gen/CORE.setting:1318␤  in method reify at src/gen/CORE.setting:4825␤  in method reify at src/gen/CORE.setting:4946␤  in method gimme at src/gen/CORE.setting:5333␤  in method eager at …
19:50 GlitchMr :(
19:50 GlitchMr nr: sub infix:[] { @($^a), @($^b) }; my @no-commas = 1 3 (6 .. 8); print @no-commas.perl
19:50 colomon errr... you're trying to create a zero-length infix operator?
19:50 p6eval niecza v18-2-gea3d97a: OUTPUT«[1, 3, 6, 7, 8].list»
19:50 p6eval ..rakudo cad7b6: OUTPUT«Array.new(1, 3, 6, 7, 8)»
19:50 GlitchMr colomon, yes
19:51 GlitchMr What's wrong with it
19:51 colomon how do you know when you are using it?
19:51 GlitchMr colomon, as long it works I don't care :P
19:51 GlitchMr How it works... I don't know
19:52 GlitchMr But it seems more natural this way
19:52 brrt joined #perl6
19:52 benabik Sadly, the compiler doesn't know how that works either.
19:53 GlitchMr Removing semicolons would be next step, but it would remove adding automatic semicolon insertion, just like in Python
19:53 benabik If every place a null regex could match is an operator, that's an awful lot of work.
19:53 GlitchMr s/remove/require/
19:53 flussence nr: sub infix:["\c[ZERO WIDTH NON-JOINER]"] { @($^a), @($^b) };
19:53 p6eval rakudo cad7b6:  ( no output )
19:53 p6eval ..niecza v18-2-gea3d97a: OUTPUT«Potential difficulties:â�¤  &infix:<‌> is declared but not used at /tmp/1suziu8f6X line 1:â�¤------> [32msub infix:["\c[ZERO WIDTH NON-JOINER]"] [33mâ��[31m{ @($^a), @($^b) };[0mâ�¤â�¤Â»
19:54 GlitchMr But both rakudo and niecza implement this
19:54 GlitchMr It cannot be just illusion
19:54 benabik Implement what?
19:55 GlitchMr Ok, it's more like unintentional side-effect
19:55 colomon you mean, it works for you in incredibly limited test cases
19:55 colomon have you ever gotten a "two terms in a row" error message?
19:55 colomon std: sub infix:[] { @($^a), @($^b) }; my @no-commas = 1 3 (6 .. 8); print @no-commas.perl
19:55 p6eval std f179a1b: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66577.�Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66616.�[31m===[0mSORRY![31m===[0m�Null operator is not allowed at /tmp/8KOrpwYIyg line 1:�------> [32msub infix…
19:55 thou joined #perl6
19:56 benabik Ignoring the warnings, the key is towards the end: "Null operator is not allowed"
19:56 colomon Note there: "Null operator is not allowed "
19:56 GlitchMr But why it works?
19:56 benabik The bug here is that neither niezca or rakudo check for that.
19:56 moritz bug
19:56 colomon what you've done is found a bug
19:56 GlitchMr But I like this bug :P
19:56 TimToady no you don't, you just think you do
19:56 colomon TimToady++
19:57 benabik null or whitespace operators are far more likely to be invoked by accident than intention.
19:57 TimToady great gobs of Perl (both 5 and 6) depend on knowing whether a term or operator is coming
19:57 flussence unless you're using really obscure unicode whitespace...
19:57 TimToady is / division or the start of a regex?
19:57 GlitchMr I'm going to use older versions of Perl 6 if it will be fixed (not really)
19:58 TimToady is ^ the "upto" prefix or the xor operator?
19:58 benabik Even unicode whitespace should be eaten by <ws>...  Null is the only meaningful version, but it's a little crazy.
19:58 TimToady is & the and operator or the start of a function name?
19:58 spider-mario .. is one of my favorites
19:58 TimToady is * a Whatever or a multipy?
19:59 TimToady *ply
19:59 spider-mario or a typo announcer?
19:59 benabik r: say (* * *)(2, 2)
19:59 p6eval rakudo cad7b6: OUTPUT«4␤»
19:59 TimToady is < less than or the start of a <a b c>?
20:00 TimToady is the next +, -, or ~ a unary op or a binary op?
20:00 TimToady you really, really, really, really, really, really, really, really don't want this
20:01 * moritz fully agrees
20:01 * geekosaur likewise; the whole idea screams that it's the sort of hack that comes to bite you very, very hard in the ass when you least expect it
20:01 * colomon TimToady, as usual, is righter than right
20:02 colomon actually, it's likely the sort of hack that will bite you the first time you try using it in a program with more than two lines of code.
20:02 GlitchMr Somehow add automatic semicolon insertion to Perl and it works nicely.
20:02 GlitchMr (ok, it won't be Perl anymore)
20:02 geekosaur and now I'm reminded of the brace inserion rule in haskell98
20:02 moritz automatic semicolon insertion has been a mistake in any language that has doen it
20:03 moritz it's a PITA in javascript and nasty in Go
20:03 GlitchMr What about Ruby and Python?
20:03 moritz python doesn't use semicolon at all
20:04 moritz and I don't know enough ruby to comment on it
20:04 sorear o/ colomon
20:04 colomon \o sorear
20:04 GlitchMr >>> 2; 3
20:04 GlitchMr 2
20:04 GlitchMr 3
20:04 GlitchMr But Python uses semicolon
20:05 geekosaur python uses layout instead of semicolons; not quite the same thing, as there is still no syntactic ambiguity
20:05 moritz right, what geekosaur++ said
20:05 TimToady pythong *allows* semicolons in the middle, as GlitchMr just illustrated
20:05 TimToady *on
20:05 geekosaur yes, you can use semis if you want, but omitting one isn't ambiguous because a continued expression must be indented further
20:07 GlitchMr Perl 6 has mutable grammars
20:07 GlitchMr But are those mutable enough to add automatic semicolon insertion?
20:07 TimToady there are always tradeoffs
20:08 benabik You can probably add it.  No certainty it would be easy though.
20:08 TimToady you can turn Perl 6 into any other language, but then you're stuck with that other language..
20:10 TimToady Perl 6 has removed many of the things that were mandatory in Perl 5; as a result, those remaining things that are mandatory are going to be fairly heavily justified, or at least justifiable.
20:10 sorear Why doesn't statement_control:if take a <blast>?
20:10 bruges joined #perl6
20:10 * sorear ducks
20:11 TimToady it does in the C dialect of Perl 6  :P
20:12 TimToady but then you have C
20:14 flussence (I just noticed the package manager I'm using seems to have typed exceptions - I just wish they'd add useful error strings for them instead of blurting out huge stacktraces...)
20:19 dalek niecza/non-bootstrap: 4ba1fbc | sorear++ | lib/ (3 files):
20:19 dalek niecza/non-bootstrap: Port OpHelpers
20:19 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/4ba1fbc12c
20:24 dalek niecza/non-bootstrap: 7cb2ef1 | sorear++ | lib/CompMgr.cs:
20:24 dalek niecza/non-bootstrap: Port OptBeta
20:24 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/7cb2ef1413
20:39 kboga joined #perl6
20:40 kboga hi #perl6
20:40 [Coke] kboga: hio
20:40 kboga hi [Coke]
20:43 * [Coke] ponders setting up a bot to try to get a []less nick.
20:46 * kboga ponders building rakudo with a forked nqp
20:53 HarryS joined #perl6
20:54 spider-mario is there anything like Haskell’s Data.List.findIndices in Perl 6?
20:54 spider-mario it does ~ what grep does but returns the index of the elements that satisfy the condition
20:54 spider-mario instead of the elements themselves
20:55 tadzik we were once golfing something like this
20:55 tadzik I don't think there's a built-in
20:55 spider-mario actually, it’s Perl5’s List::MoreUtils::indexes
20:55 spider-mario ok, thanks
20:55 spider-mario currently, I grep on .keys
20:56 brrt joined #perl6
20:56 cognominal_ joined #perl6
20:56 spider-mario it’d just be a convenient notation, it is by no mean required
20:56 tokuhiro_ joined #perl6
20:57 jnthn r: my @a = 1, -2, 5, -7; say @r.map: { .key if .value < 0 }
20:57 p6eval rakudo cad7b6: OUTPUT«===SORRY!===␤Variable @r is not declared␤at /tmp/8qsjwyR5nB:1␤»
20:57 jnthn r: my @a = 1, -2, 5, -7; say @a.map: { .key if .value < 0 }
20:57 p6eval rakudo cad7b6: OUTPUT«No such method 'value' for invocant of type 'Int'␤  in block <anon> at /tmp/7yAthpeBBH:1␤␤»
20:58 jnthn r: my @a = 1, -2, 5, -7; say @a..pairs.map: { .key if .value < 0 }
20:58 p6eval rakudo cad7b6: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'pairs' will never work with no arguments (line 1)␤    Expected any of:␤    :($x)␤»
20:58 jnthn grr
20:58 jnthn r: my @a = 1, -2, 5, -7; say @a.pairs.map: { .key if .value < 0 }
20:58 p6eval rakudo cad7b6: OUTPUT«1 3␤»
20:58 * tadzik hands jnthn a cup-o-coffe
20:58 tadzik * cofee
20:58 tadzik grr
20:58 tadzik coffee
20:58 spider-mario thanks
20:58 eiro joined #perl6
20:58 jnthn tadzik: Yeah...I got 3 hours sleep last night or something :/
20:58 spider-mario here is what I did:
20:58 eiro hello
20:58 tadzik oh hai eiro
20:58 spider-mario r: my @a = 1, -2, 5, -7; say @a.keys.grep: {@a[$^i] < 0}
20:58 p6eval rakudo cad7b6: OUTPUT«1 3␤»
20:59 jnthn spider-mario: That also works
20:59 spider-mario yours might be more readable
21:00 spider-mario thanks for mentioning it
21:00 diakopter___ joined #perl6
21:02 diakopter___ jnthn: if you're there, see if you can privmsg this nick; if I don't reply, it's b/'c I don't see it
21:02 spider-mario I fail to understand why ... is not always lazy
21:02 spider-mario well, it doesn’t seem to be
21:02 spider-mario r: say (1, 7 ... *).first(* > 50)
21:02 p6eval rakudo cad7b6: OUTPUT«55␤»
21:02 spider-mario r: say (1, 7 ... * > 100).first(* > 50)
21:02 p6eval rakudo cad7b6: OUTPUT«55␤»
21:02 spider-mario r: say (1, 7 ... 100).first(* > 50)
21:02 p6eval rakudo cad7b6: OUTPUT«(timeout)»
21:02 spider-mario and there, it tries to generate the whole list, it seems
21:03 spider-mario (100 − 1 !%% 6)
21:04 spider-mario (I mean (100 − 1) !%% 6)
21:04 estrabd joined #perl6
21:06 bluescreen10 joined #perl6
21:13 colomon n: say (1, 7 ... 100).first(* > 50)
21:13 p6eval niecza v18-2-gea3d97a: OUTPUT«55␤»
21:13 colomon spider-mario: looks like a  rakudobug to me
21:13 spider-mario I suspected so
21:14 colomon though I guess things can be fuzzy where lazy lists are concerned.
21:14 jnthn That one may well work with pmichaud++'s current efforts
21:22 sivoais joined #perl6
21:24 kurahaupo joined #perl6
21:29 erkan joined #perl6
21:29 erkan joined #perl6
21:37 pupoque joined #perl6
21:37 pochi joined #perl6
21:43 cognominal joined #perl6
21:59 [Coke] r: say (1, 7 ... 100).first(* >= 100)
22:00 p6eval rakudo cad7b6: OUTPUT«(timeout)»
22:00 [Coke] r: say (1, 7 ... * >= 100)
22:00 p6eval rakudo cad7b6: OUTPUT«1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103␤»
22:04 pat_js joined #perl6
22:08 [Coke] jnthn: do you really think that should work?
22:08 sorear I think it ought to work
22:09 sorear with a warning because the semantics of 1,7 ... 100 are somewhat counterintuitive
22:09 lumi_ joined #perl6
22:10 cognominal joined #perl6
22:11 * pmichaud back
22:14 jnthn [Coke]: Yeah, I think if things are lazy enough it can work. .first only needs one result.
22:15 pmichaud 21:02 <spider-mario> r: say (1, 7 ... 100).first(* > 50)
22:15 pmichaud 1, 7 ... 100 isn't lazy because it's not infinite.
22:15 pmichaud I mean, because it's not signalled as infinite.  It has a finite end value, so it assumes infinite
22:16 jnthn ...assumes finite?
22:16 pmichaud sorry, assumes finite  # jnthn++
22:16 jnthn pmichaud: My guess was that this one was vaguely related to MapIter tring to munch a load of stuff though.
22:16 pmichaud and since .map is currently over-eager, we end up eating a lot of stuff.
22:16 jnthn Right.
22:16 jnthn I'm guessing .first is implemetned in terms of MapIter.
22:17 pmichaud in terms of map, yes.
22:17 jnthn Yes, that.
22:17 pmichaud it's still over-eager in my branch, but that will likely be fixed very very soon.
22:18 whiteknight joined #perl6
22:18 simcop2387 joined #perl6
22:18 jnthn yay
22:18 * jnthn should have some tuits for his Rakudo tasks on Wed.
22:19 * pmichaud prepares to rewrite major sections of MapIter
22:19 * jnthn hands pmichaud a Dr Pepper
22:22 lumi_ joined #perl6
22:37 broquaint joined #perl6
22:43 jnthn Time to try and sleep...
22:43 * jnthn guesses he shouldn't miss the momentary darkness :)
22:43 jnthn o/
22:44 cognominal joined #perl6
22:45 kboga jnthn: good night
22:53 * [Coke] consumes a dr. pepper freeze pop
22:55 skids joined #perl6
23:15 adu joined #perl6
23:20 sergot good night! o/
23:43 sunfl0wer joined #perl6
23:45 skids How does one syntactically get at the Routine object of a method, to do wrap/assuming on it?
23:46 skids (of the dispatcher, of course)
23:49 sunfl0wer hi. I am trying to compile rakudo star on windows7 with strawberry perl and it is giving me errors like libdyncall_s.a undefined reference to dcCall_x86...
23:49 sunfl0wer can anyone help?
23:50 sunfl0wer did someone had this error before?
23:51 colomon I don't ever compile Rakudo on windows, but libdyncall_s.a sounds like a linux library rather than a Windows one.
23:51 colomon what steps did you take to build Rakudo?
23:52 sunfl0wer I downloaded rakudo star from git. then installed strawberry perl then opened strawberry perl shell and entered perl Configure.pl --gen-parrot
23:53 sunfl0wer it builds a lot of stuff and then stops at this library
23:53 sunfl0wer I did not installed icu library
23:54 sunfl0wer and my english is bad sorry
23:55 geekosaur sounds like strawberry perl is based on cygwin or msys/mingw
23:55 sunfl0wer it comes with its own gcc version 4.4.7 20111023
23:56 colomon do you still need --gen-nqp in the config line?
23:57 colomon (not directed at sunfl0wer)
23:57 sunfl0wer I tried with that and without that still the same error
23:57 sunfl0wer ah sorry
23:57 colomon well, if you tried both ways then that's not the problem.
23:58 skids http://irclog.perlgeek.de/perl6/2012-02-12#i_5138759
23:59 colomon skids++

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

Perl 6 | Reference Documentation | Rakudo