Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-04-23

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 dpk joined #perl6
00:09 kst` joined #perl6
00:09 rjbs joined #perl6
00:10 rjbs Ah, another channel I forgot to make irssi autojoin after I reboot.
00:11 dpk joined #perl6
00:15 fgomez joined #perl6
00:19 adu joined #perl6
00:30 drbean joined #perl6
00:30 kshannon joined #perl6
00:30 lue joined #perl6
00:30 colomon joined #perl6
00:30 Timbus joined #perl6
00:30 BinGOs joined #perl6
00:30 ruoso joined #perl6
00:32 grondilu joined #perl6
00:35 kurahaupo left #perl6
00:36 kurahaupo joined #perl6
00:55 obra joined #perl6
01:05 dalek tablets: ea9bc96 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
01:05 dalek tablets: fix utf in B and update smartmatch table
01:05 dalek tablets: review: https://github.com/perl6/tablets/commit/ea9bc96113
01:07 dalek tablets: 40e7bd4 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
01:07 dalek tablets: lost one op
01:07 dalek tablets: review: https://github.com/perl6/tablets/commit/40e7bd45af
01:10 yoleaux joined #perl6
01:11 anuby joined #perl6
01:27 dayangkun joined #perl6
01:51 FROGGS_ joined #perl6
02:05 sqirrel joined #perl6
02:09 Chillance joined #perl6
02:16 lustlife joined #perl6
02:22 diakopter r: my Int $x = Int(9); say $x.WHAT
02:22 camelia rakudo ef73eb: OUTPUT«(Int)␤»
02:22 diakopter r: my Int $x = Int(9/1); say $x.WHAT
02:22 camelia rakudo ef73eb: OUTPUT«(Int)␤»
02:22 diakopter uh-huh.
02:23 sorear what surprises you
02:23 diakopter .oO(  to the pyromaniac, everything looks like flamebait...  )
02:24 diakopter <-- the pyro
02:24 toddr joined #perl6
02:24 diakopter toddr: WAT.
02:24 diakopter sorear: well, what shouldn't surprise me?
02:25 sorear diakopter: stuff working as designed
02:25 sorear unless I'm missing somethin
02:25 diakopter n: my Int $x = Int(9/1); say $x.WHAT
02:25 camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Int␤  at /tmp/2awbbvbVqZ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583…
02:26 diakopter n: my Int $x = (9/1).Int; say $x.WHAT
02:26 camelia niecza v24-37-gf9c8fc2: OUTPUT«(Int)␤»
02:26 sorear Int(whatever) is a coercion, just like c++ and javascript
02:26 sorear NYI in niecza
02:27 diakopter er. I'm a dummy.  The .WHAT isn't supposed to be there
02:27 diakopter *facepalm*
02:27 diakopter r: my Int $x = Int(9); say $x;
02:27 camelia rakudo ef73eb: OUTPUT«9␤»
02:27 diakopter r: my Int $x = Int(9/1); say $x
02:27 camelia rakudo ef73eb: OUTPUT«9␤»
02:27 diakopter oh.
02:28 diakopter ergh. misreading/mistyping.
02:30 diakopter rn: my Associative $spot .= new; $spot
02:30 camelia niecza v24-37-gf9c8fc2:  ( no output )
02:30 camelia ..rakudo ef73eb: OUTPUT«Cannot modify an immutable value␤  in method dispatch:<.=> at src/gen/CORE.setting:1057␤  in any  at src/gen/Metamodel.nqp:1352␤  in block  at /tmp/L3OLJ03SIp:1␤␤»
02:31 diakopter no clue who's right.. sorear, halp?
02:32 sorear Neither one of them.
02:32 diakopter should it give some different error?
02:32 sorear rn: my role Assoc { method at_key() { ... } }; Assoc.new
02:32 camelia rakudo ef73eb: OUTPUT«Method 'at_key' must be implemented by Assoc because it is required by a role␤  in any  at src/gen/Metamodel.nqp:2207␤  in any compose_method_table at src/gen/Metamodel.nqp:2198␤  in any apply at src/gen/Metamodel.nqp:2216␤  in any  at src/gen/Metamodel.nqp:2356␤  â€¦
02:32 camelia ..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Method 'at_key' must be implemented by 'Assoc' because it is required by role 'Assoc[curried][...]'␤  at /tmp/MoF3Td_sMk line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/li…
02:33 diakopter hunh.
02:33 sorear Associative is a role with required methods.  "my Associative $spot .= new" tries to pun it, and should fail at that point.
02:33 skids joined #perl6
02:33 sorear p: Associative.new
02:33 camelia pugs: OUTPUT«*** No such subroutine: "&Associative"␤    at /tmp/hmBR1NWIRT line 1, column 1 - line 2, column 1␤»
02:34 sorear mildew: Associative.new
02:34 sorear perlito: Associative.new
02:34 diakopter rn: say (role { }).new
02:34 camelia rakudo ef73eb: OUTPUT«<anon>.new()␤»
02:34 camelia ..niecza v24-37-gf9c8fc2: OUTPUT«ANON.new(...)␤»
02:35 diakopter okay..
02:36 diakopter rn: say (role { method new { ... } }).new
02:36 sorear looks correct
02:36 camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Method 'new' must be implemented by 'ANON' because it is required by role 'ANON[curried][...]'␤  at /tmp/MnogE2C3Mu line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/COR…
02:36 camelia ..rakudo ef73eb: OUTPUT«Method 'new' must be implemented by <anon> because it is required by a role␤  in any  at src/gen/Metamodel.nqp:2207␤  in any compose_method_table at src/gen/Metamodel.nqp:2198␤  in any apply at src/gen/Metamodel.nqp:2216␤  in any  at src/gen/Metamodel.nqp:2356␤  in…
02:36 sorear also looks correct, but the error messages could be improved
02:36 diakopter k
02:37 diakopter nqp-jvm: say((role boo { method new() { ... } }).new)
02:37 camelia nqp-jvm: OUTPUT«Cannot stringify this␤  in FAILGOAL␤  in blockoid␤  in method_def␤  in routine_declarator:sym<method>␤  in !protoregex␤  in routine_declarator␤  in term:sym<routine_declarator>␤  in !protoregex␤  in term␤  in termish␤  in EXPR␤  in statement␤  in statementlist␤  in block…
02:37 diakopter hehee
02:38 diakopter nqp: say((role boo { method new() { ... } }).new)
02:38 camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "... } }).n"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
02:38 diakopter oh
02:38 diakopter nqp-jvm: say((role boo { method new() { nqp::die } }).new)
02:38 camelia nqp-jvm: OUTPUT«Operation 'die' requires 1 operands␤  in <anon>␤  in <anon>␤  in compile_op␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤  in as_jast␤  in as_jast␤  in <anon>␤  in compile_all_the_stmts␤…
02:38 diakopter nqp-jvm: say((role boo { method new() { nqp::die('') } }).new)
02:38 camelia nqp-jvm: OUTPUT«Method 'new' not found␤  in <anon>␤  in <anon>␤  in eval␤  in evalfiles␤  in command_eval␤  in command_line␤  in MAIN␤  in <anon>␤  in <anon>»
02:38 orafu joined #perl6
02:38 diakopter nqp: say((role boo { method new() { nqp::die('') } }).new)
02:38 camelia nqp: OUTPUT«Method 'new' not found for invocant of class 'Sub'␤current instr.: '' pc 56 ((file unknown):44) (/tmp/c67uRzCaPo:1)␤»
02:38 diakopter hm, ok
02:50 diakopter r: my int @array; @array = 5,6;
02:50 camelia rakudo ef73eb: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/wEtJI29Lly:1␤␤»
03:00 diakopter rn: class Sub { }; say(5); sub foo { say 55 }; say &foo.WHAT
03:00 camelia niecza v24-37-gf9c8fc2: OUTPUT«5␤(Sub)␤»
03:00 camelia ..rakudo ef73eb: OUTPUT«===SORRY!===␤Can not bind attribute '$!signature' declared in class 'Code' with this object␤»
03:16 perigrin joined #perl6
03:30 cibs joined #perl6
04:28 Psyche^ joined #perl6
04:49 awwaiid joined #perl6
05:20 SamuraiJack joined #perl6
05:31 rindolf joined #perl6
06:02 baest joined #perl6
06:13 jnthn (from backlog) roles in NQP don't pun into classes (and mostly likely never will get that feature)
06:22 jnthn teaching &
06:24 berekuk joined #perl6
06:27 kaleem joined #perl6
06:34 frdmn joined #perl6
06:36 domidumont joined #perl6
06:42 jerome_ joined #perl6
06:42 FROGGS_ joined #perl6
06:45 FROGGS morning pals
06:45 diakopter slap gninrom
06:46 FROGGS :o)
07:04 domidumont joined #perl6
07:06 brrt joined #perl6
07:08 salv0 joined #perl6
07:15 tgt joined #perl6
07:19 grondilu joined #perl6
07:19 daxim joined #perl6
07:24 baest joined #perl6
07:26 lustlife joined #perl6
07:26 rindolf FROGGS: morning.
07:26 rindolf FROGGS: what's up?
07:27 pupoque joined #perl6
07:27 Khisanth joined #perl6
07:28 cognominal :) seen in magit.el:   (error "Don't push a detached head. That's gross.")
07:29 FROGGS rindolf: $work
07:29 rindolf FROGGS: ah.
07:40 quester joined #perl6
07:57 rindolf joined #perl6
08:01 rindolf joined #perl6
08:05 berekuk joined #perl6
08:05 rindolf joined #perl6
08:16 rindolf joined #perl6
08:17 pupoque joined #perl6
08:29 masak cognominal: :)
08:29 masak morning, #perl6
08:32 masak ooh, seems we're live: http://www.reddit.com/r/perl/comments/1cwhwe/join_masakism_may_1st_to_seelearn_simple_readable/
08:32 masak I should probably make a blog post, too.
08:32 rindolf joined #perl6
08:33 cognominal morning, *
08:37 arnsholt o/
08:40 mathw o/
08:44 masak o/
08:46 dakkar joined #perl6
08:47 mathw Today is the day my new laptop comes. I'm spending a lot of time staring down the road looking for the big brown UPS van
08:47 mathw How is everyone else?
08:47 sorear good!
08:48 cosimo joined #perl6
08:48 bloonix joined #perl6
08:49 mathw :)
08:50 berekuk joined #perl6
08:51 masak yes, good indeed.
08:54 SHODAN joined #perl6
08:55 SamuraiJack joined #perl6
08:56 berekuk joined #perl6
08:58 quester left #perl6
09:01 tadzik hello hello
09:02 tadzik mathw: eh, you're tempting me again and again :)
09:06 spider-mario joined #perl6
09:10 mathw hehe
09:11 mathw It's not deliberate, I'm just excited
09:11 tadzik I can understand that
09:14 mathw As yet another vehicle enters the street which !~ Van::Delivery::UPS
09:17 masak surely you mean !~~
09:20 mathw probably
09:20 mathw I'm not exactly concentrating very well this morning
09:21 mathw Also been writing far too much C# lately
09:21 masak :)
09:21 masak mathw: I'm gaining respect for C# day by day.
09:21 masak mathw: especially the things Microsoft Research are doing with the language.
09:22 mathw it has some very, very cool stuff in it
09:22 masak yeah.
09:22 masak mathw: if you haven't looked into Rx yet, you probably should.
09:23 mathw In my last job once we started using Reactive Extensions and some stuff built on that, UI programming became glorious
09:23 masak heh :)
09:23 mathw It's not so obviously useful in the new job which is all web stuff
09:23 masak you know of it, then. good.
09:23 mathw heck yes :)
09:23 mathw I'm a bit of an FRP enthusiast
09:23 mathw so I simply had to check it out
09:24 mathw and then today I discovered Elm
09:24 mathw which is a Haskell-derived FRP solution for building client-side web stuff
09:29 masak ooh
09:31 tgt joined #perl6
09:33 mathw Very interested in that kind of thing right now, since I find JavaScript so unpleasant
09:34 mathw although AngularJS let me build a basic pure-client-side web app with reasonable ease (especially since I actually wrote it in CoffeeScript :))
09:35 spider-mario CoffeeScript has its own problems, though
09:35 mathw true
09:35 mathw but it was preferable to JavaScript for that particular project
09:35 spider-mario I don’t like its variable scoping, for example
09:36 mathw what don't you like about it?
09:36 spider-mario the lack of a keyword for declaring variables
09:37 spider-mario I don’t like that in Python and Ruby either, and that’s actually one of the reasons why I prefer Perl
09:37 spider-mario superficial as it sounds.
09:38 hoelzro spider-mario: that's one thing I strongly prefer about Perl as well
09:39 hoelzro its scoping rules make sense
09:40 FROGGS and the topping are the dynamic variables...
09:40 mathw yeah I do like having explicit variable declarations
09:40 mathw I like it even better if they're subject to static type checking, which CoffeeScript does not give me
09:41 fgomez joined #perl6
09:41 masak mathw: I teach a lot of JavaScript. it *is* a pleasant language, if you navigate the reefs a bit. and if you're prepared to lift much of the complexity stack yourself.
09:41 masak mathw: check out KnockoutJS if you haven't already.
09:42 masak it's not a framework like AngularJS, but it's a nice implementation of the Observer pattern.
09:42 woolfy joined #perl6
09:44 mathw I've heard about it
09:44 mathw I'll take a look
09:45 masak in my course, I usually demo it through http://learn.knockoutjs.com/ -- it's a nice intro.
09:49 mathw just did the first lesson
09:49 mathw looks really nice
09:49 mathw might re-implement my AngularJS thing in it to see how they compare :)
09:52 pupoque joined #perl6
09:53 masak I would be interested in hearing about your findings. I haven't used AngularJS at all.
09:54 masak my impression from a distance is that KnockoutJS is more "library" and AngularJS is more "framework".
09:54 mathw maybe
09:55 masak (with no value judgement beyond that. slightly different niches, is all)
09:57 mathw heh
09:57 mathw I like their test data
09:57 mathw meal options: standard (sandwich), premium (lobster), ultimate (whole zebra)
09:57 mathw not sure that'd fit on an airline meal tray
09:59 masak this is why it's important to keep your seat upright while eating.
09:59 masak to fit the whole zebra on the tray table.
10:04 mathw isn't it so the person behind you can fit the zebra on their tray table?
10:05 masak yes, of course.
10:05 masak I was assuming the usual axiom of golden-rule transitivity here.
10:07 daxim airplane seats should be arranged in a circle so that everyone can kick the seat in front to annoy its occupant
10:08 masak make the plane donut-shaped, while we're at it ;)
10:10 mathw That works for helicopters
10:10 mathw if you put iwngs on the outside and spin it fast enough it should take off
10:10 mathw you might need some fairly elaborate systems to help the pilot see where it's going though
10:10 masak the passengers will be so delighted by the sensation of flying very fast in a tight circle, that they will all order the zebra.
10:11 mathw but there's only room on board for twenty-four zebras!
10:11 masak of course, you could use some kind of ball-bearing design, so that the insides are actually stationary...
10:11 tadzik bull-bear desin
10:11 drbean joined #perl6
10:26 moritz full-bear design?
10:26 tadzik All black and brown and covered in hair
10:27 daxim with the camelia fair!
10:33 masak moritz! \o/
10:33 masak moritz: #masakism is a thing now. could you ilogger2 it? :)
10:35 pupoque joined #perl6
10:36 moritz masak, no just _ilbot it :-)
10:36 _ilbot joined #perl6
10:36 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
10:40 moritz [X] done
10:48 masak moritz++
10:53 masak (for those who don't know what #masakism is about -- here's the context: https://gist.github.com/masak/5431185 )
10:58 mathw hehe
10:58 mathw elegant code in PERL???
10:58 mathw you must be sane, sir :)
10:59 mathw My colleagues don't believe it's possible
11:00 * masak .oO( well, maybe not if you code in PERL, not Perl... )
11:00 moritz that's when you start calling them cow-orkers :-)
11:00 mathw that was emphasis, not error :P
11:01 brrt joined #perl6
11:04 masak moritz suggests a new mailing list: perl6-freezers.
11:04 masak for people interested in bringing the spec to a frozen state.
11:05 moritz which would be like p6l, but without all the design astronautism
11:06 mathw would there still be yak shaving?
11:06 masak it could be a platform for good work like the one lizmat++ is doing.
11:08 drbean joined #perl6
11:24 Timbus joined #perl6
11:53 sorear joined #perl6
11:56 cognominal What is the rationale behind the systematic use of named parameters in its A{I instead of positional ones?
12:00 masak cognominal: parse failure near "in its A{I". could you rephrase?
12:00 masak cognominal: are you mauvaise-fenetring again? :)
12:00 hoelzro is jnthn around?
12:01 pupoque joined #perl6
12:01 masak no, he's at $dayjob.
12:01 hoelzro =(
12:01 hoelzro I have a question about NativeCall, but it can wait
12:10 brrt don't wait
12:10 lizmat masak: I didn't realise that I'm working towards having the spec in a frozen state ?
12:11 hoelzro well, it's regarding a very...odd behavior in a module I'm writing that uses NativeCall
12:11 nwc10 lizmat: I read it as "you're working towards something similarly useful"
12:11 nwc10 ie "aiming *at* something" and "trying hard not to go in circles or get distracted"
12:11 lizmat I see… ok  I guess I am…  :-)
12:12 lizmat away again&
12:13 cognominal oops
12:14 cognominal What is the rationale behind the QAST API systematic use of named parameters instead of positional ones?
12:16 FROGGS cognominal: I'd say that if you have quiet a bunch optional parameters then these should be named ones
12:17 FROGGS so you dont have to pass 10 positionals, if ten usecases exist which want to set one (named) argument
12:20 cognominal ok, I get the logic
12:20 FROGGS cognominal: but that is just my opinion...
12:21 cognominal contrary to what I said there are positional parameter to constructors but they represent child nodes
12:21 cognominal reading https://github.com/perl6/nqp/blob/master/docs/qast.markdown
12:23 PacoAir joined #perl6
12:24 masak lizmat: what nwc10 said. in order to be able to freeze the spec, we must align it with reality/implementation, and remove fossils and stuff.
12:25 masak lizmat: as opposed to "hey, I've got this wonderful idea that really should be spec!"
12:25 cognominal and this new constructor is inherited by derived nodes  https://github.com/perl6/nqp/blob/master/src/QAST/Node.nqp#L12
12:26 cognominal I did not know that .new could be inherited.
12:26 nwc10 masak: effectively, also somewhat triage it?
12:26 nwc10 in terms of "too hard to implement before launch", "must be implemented before launch", "would be nice, but not essential"
12:26 nwc10 and concentrate on the middle
12:27 masak that will almost have to be part of perl6-freezers' mission.
12:27 masak triage comes very hard in these circles.
12:27 masak it's one of our biggest weaknesses.
12:28 masak since we don't really have a central authority. the closest we have is a set of core members.
12:29 nwc10 I think a chunk of it *can* be done at consideration of implementation
12:29 nwc10 "too hard to implement" is relatively easy to tag
12:29 nwc10 and then it's between the other two
12:32 masak yeah.
12:33 masak the spec already has "Conjectural" markers for some things which are either not very well-explored or deemed to hard for 6.0.0
12:33 cognominal Also there is "performance wise irrealistic"
12:34 pmichaud good morning, #perl6
12:34 cognominal Should we use github comments for that? I think one can comment line by line?
12:34 FROGGS hi pmichaud
12:34 cognominal ...or not?
12:35 cognominal hi pmichaud
12:35 pmichaud I also wonder if at some point we should consider the 6.0.0 "spec" in the same vein as an Internet STD -- i.e., it comes after implementations, not before.
12:35 masak yeah.
12:36 pmichaud and for a really interesting exercise, create the spec from the roast tests.
12:36 pmichaud (since they officially define the language, at least according to S01)
12:37 pmichaud also, I still think we should separate "Synopses" and "spec"
12:37 pmichaud i.e., the Synopses have conjectural markers, the 6.0.0 minimal specification might not have them.
12:37 woosley1 joined #perl6
12:38 cognominal I discover pulse :  https://github.com/perl6/nqp/pulse
12:40 FROGGS cognominal: github's line comments are cool, but one might loose the overview over issues
12:40 nwc10 there is an option not on the drop-down menu https://github.com/perl6/nqp/pulse/yearly
12:40 pmichaud Last year I had some preliminary designs for a toolset that would be able to easily pick out sections of the synopses to produce specific views of them, and still keep them in sync with changes.
12:41 pmichaud e.g., an extract that contains only the sections that Rakudo implements, or (in this conversation) the 6.0.0 spec.
12:41 nwc10 I like the graphs on ohloh better https://www.ohloh.net/p/nqp
12:42 pmichaud oh, is ohloh not up-to-date on its stats?
12:42 * pmichaud fixes.
12:43 spider-mario I like ohloh comments such as “with a well-commented source code”
12:44 cognominal FROGGS: in fact, I don't remember how they work. Searching.
12:45 pmichaud hopefully the ohloh stats will be up-to-date soon.
12:45 pmichaud checking other projects
12:48 kaleem joined #perl6
12:52 moritz joined #perl6
13:08 Targen joined #perl6
13:14 SamuraiJack_ joined #perl6
13:26 masak raiph: http://www.reddit.com/r/perl/comments/1cwhwe/join_masakism_may_1st_to_seelearn_simple_readable/ -- "via IRC and email". I'm actually not planning to use email.
13:28 sqirrel joined #perl6
13:39 tgt joined #perl6
13:39 gtodd how to automagically build rakudo using parrot-5.3?  twiddle with Configure.pl/config.default?  add --gen-parrot=5.3.0 when I run perl ./Conffgure.pl  ??
13:40 gtodd or wait for official change to occur :-)
13:41 tgt joined #perl6
13:45 gtodd /usr/local/bin/perl Configure.pl --gen-parrot=RELEASE_5_3_0 --gen-nqp --prefix=$HOME/perl6  seems to work
13:46 arnsholt Awesome module idea of the moment: (De)serialize arbitrary objects to/from a graph database using MOP introspection
13:51 gtodd sort of like that ZODB thingie in python?
13:53 arnsholt Yeah, that looks pretty close to what I really want instead of ORM systems
13:54 gtodd hmm speed could happen :-)
13:55 gtodd argh ... always errors with new parrot build
13:56 [Coke] are you on OS X?
14:15 gtodd freebsd
14:15 gtodd discussing a bit with Util in #parrot
14:17 kbenson joined #perl6
14:25 gtodd [Coke]: Using Configure.pl with --gen-parrot=RELEASE_5_3_0  to build everything there's some breakage trying to build pod files
14:26 census joined #perl6
14:27 gtodd [Coke]: the build cd's into parrot/docs and tries to make packfile-c.pod and ops/bit.pod but does something strange
14:27 gtodd when trying to run"  /usr/local/bin/perldoc -ud packfile-c.pod ../src/packfile/api.c
14:28 skids joined #perl6
14:28 gtodd from rakudo's Configure.pl it cd's into parrot/docs and then it seems we try to build docs for "/usr/local/bin/perldoc" and "-ud" and "packfile-c.pod " instead of building "packfile-c.pod" from  ../src/packfile/api.c using "/usr/local/bin/perldoc -ud ... as if the ARGS were shifted wrong somewhere
14:29 gtodd [Coke]: that is all :-)
14:35 obra left #perl6
14:40 toddr_ joined #perl6
14:41 kaare__ joined #perl6
14:54 census that section of my code is Time::HiRes::sleep(0.01*int(rand(50)+100*$num)) #$num is the last two digits of the birth year
14:55 census open (my $n, '<', 'file.txt') or die "Cannot open file.txt $!"; while ($<n>) {next unless $_; $name = $; last; } close $n;
14:55 census oops
14:55 census forget that!
14:56 census i was writing notes to myself :(
14:56 census wrong window
15:15 mtk joined #perl6
15:17 mtk joined #perl6
15:21 mtk joined #perl6
15:27 snearch joined #perl6
15:34 rjbs seen TimToady
15:36 diakopter .seen TimToady
15:36 yoleaux I saw TimToady 11 Apr 2013 17:07Z in #perl6: <TimToady> thanks
15:44 Rix joined #perl6
15:50 FROGGS joined #perl6
15:57 Chillance joined #perl6
16:14 dmol joined #perl6
16:15 domidumont joined #perl6
16:16 pupoque joined #perl6
16:17 census joined #perl6
16:17 jnthn evening o/
16:17 diakopter hi
16:17 diakopter jnthn++
16:17 census hi!
16:17 jnthn ...what for? :)
16:19 diakopter jnthn++
16:19 diakopter for karma!
16:19 moritz general awesomeness in Perl 6 context
16:19 census :)
16:19 census #perl6++
16:20 jnthn :)
16:21 jnthn Last day of teaching tomorrow, and on Thursday I can spend the day on Perl 6 things :)
16:22 moritz \o/
16:22 jnthn Things I learend today: 1) Boeing 717s exist. 2) They are still being flown. 3) I will fly on one next month. o.O
16:23 tadzik :D
16:23 jnthn And 2...propeller planes...
16:23 nwc10 where are you going to?
16:23 jnthn KOK
16:24 jnthn (Which is the airport in Kokkola, which is in the north of Finland.0
16:24 jnthn The place name looks terribly like koka kola... :)
16:26 * jnthn wonders how many people just hit google maps up :P
16:28 tgt joined #perl6
16:29 [Coke] gtodd: does your build dir have a space or some other non-alpha-non-ascii char?
16:29 cognominal Boing 717 dates from 1995. Is that so old for a plane?
16:30 gtodd [Coke]: no
16:30 [Coke] r: say 2013-1995 ~ " years, YES"
16:30 camelia rakudo ef73eb: OUTPUT«18 years, YES␤»
16:30 tgt joined #perl6
16:30 gfldex Kokkola seams to be the right place to go if one needs cobalt or zinc, or wants to go to the only town in a region
16:30 gtodd [Coke]: and it works with parrot RELEASE_5_2_0
16:31 jnthn cognominal: huh, I thought from the number it would be much older...
16:32 jnthn Like, the one that came before the 727, which in turn came before the 737..
16:32 kaleem_ joined #perl6
16:32 gtodd jnthn: you may still be able to ski at that time
16:32 jnthn So basically, version numbers are useless indicators of any kind of anything. :)
16:32 diakopter well they didn't all go in order
16:32 [Coke] gtodd: ok. any chance you can open a ticket with parrot/parrot on github?
16:36 gtodd will do if it's not just me :-)  ... just trying to make sure it is not an new perl or old groff perldoc related thing there was a perldoc UTF8 bug in 5.16
16:38 gtodd https://rt.cpan.org/Public/Bug/Display.html?id=77465  not sure why that would break with perldoc on parrot 5.3 but not with parrot 5.2 though
16:39 cognominal imagine perl A300-600T, the perl cargo compiler for big programs, also named beluga. btw, we did spot an airbus beluga with jnthn  when we went back and forth between Toulouse and Blagnac in the way to Albi with copious indirecttions
16:42 gtodd [Coke]: building parrot all by itself:  cd parrot ./perl Configure.pl ;make  ... works fine ... but "make docs" then breaks but then (inside parrot) ... cd docs  ; make then errm works fine ?
16:42 gtodd boggle
16:42 cognominal from the front, the beluga has an odd hydrocephalic look  http://www.youtube.com/watch?v=UwLI4QDRM-A
16:45 isBEKaml joined #perl6
16:47 rindolf joined #perl6
16:48 jnthn time to find some dinner, bbl &
17:08 diakopter jnthn: 717-200 entered service long after (1999) the 767. 717-100 was the KC-135 stratotanker (1957)
17:13 isBEKaml joined #perl6
17:19 fgomez joined #perl6
17:28 GlitchMr > grep('a', 'a', 'b', 'c', 'd'|'a', 'e', 'a', 'abc').perl
17:28 GlitchMr ("a", any("d", "a"), "a").list
17:28 GlitchMr Smartmatching is so interesting
17:29 kaleem joined #perl6
17:29 moritz what did you expect?
17:30 GlitchMr I didn't expected it to work with subroutine.
17:30 GlitchMr Looks like Perl 5 brought me some confusion.
17:30 GlitchMr I always was doing grep * ~~ /something/... without even knowing it uses smartmatching.
17:34 mavcunha joined #perl6
17:37 moritz the dir() function internally uses something like  readdir().grep(none('.', '..'))
17:38 moritz which is a case where junctions, smartmatching and grep just work together really well
17:38 lichtkind joined #perl6
17:38 lichtkind_ joined #perl6
17:46 mavcunha joined #perl6
17:52 dmol1 joined #perl6
17:54 jercos joined #perl6
17:56 jercos 'lo gentlefolks. So basically either I'm completely confused about perl6 regex, or rakudo 2013.02 is doing something odd... My regex is /^ \d+ 'd' \d+ $/, which in my mind should match a die class string like "6d6".
17:56 jercos But that helpfully informs me there's a "Missing block" just before the second \d
17:57 tadzik the error must be somewhere else
17:58 tadzik r: '4d20' ~~ /^ \d+ 'd' \d+ $/; say $/
17:58 camelia rakudo ef73eb: OUTPUT«「4d20」␤␤»
17:58 tadzik jercos: can you paste the entire code somewhere?
17:58 mavcunha joined #perl6
17:59 jercos shoot, you're right, the regex before it used a perl5-style case insensitive flag >.>
17:59 jercos thanks :p
17:59 jercos I spent entirely too much time trying to "fix" that regex.
17:59 masak std: /foo/i
17:59 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of suffix regex modifiers; in Perl 6 please use prefix adverbs at /tmp/eGtUaCElo5 line 1:�------> [32m/foo/i[33m�[31m<EOL>[0m�Other potential difficulties:�  Unsupported use of /i; in Perl 6 please use :i at /tmp/eGt…
18:01 jercos Which is odd, given I didn't get that error...
18:02 masak r: /foo/i
18:02 camelia rakudo ef73eb: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of /i; in Perl 6 please use :i�at /tmp/zMn4NtUW2Y:1�------> [32m/foo/i[33m�[31m<EOL>[0m�»
18:02 isBEKaml r: /foo/i
18:02 camelia rakudo ef73eb: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of /i; in Perl 6 please use :i�at /tmp/MZpCsXwdQ9:1�------> [32m/foo/i[33m�[31m<EOL>[0m�»
18:02 jercos well, for educational purposes, here's the code :p http://pastebin.com/3QzNqYsx
18:03 jercos or rather, the not-code, as evidenced by that random mess of variables that don't exist any more.
18:04 cognominal jercos, you will discover that if you plan ahead, you are better moving to a grammar and the associated actions
18:05 masak r: given "42" { when /^'0x'?<[0..9a..f]>+?$/i { say "OH HAI" } }
18:05 camelia rakudo ef73eb: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse regex; couldn't find final '/'�at /tmp/JQO87X2ZKm:1�------> [32m'0x'?<[0..9a..f]>+?$/i { say "OH HAI" } [33m�[31m}[0m�    expecting any of:�        postfix�        statement end�        statement modifier�        s…
18:05 flussence r: /^'0x'?<[0..9a..f]>+?$/i
18:05 camelia rakudo ef73eb: OUTPUT«[31m===[0mSORRY![31m===[0m�Regex not terminated�at /tmp/NClLoxBYvm:1�------> [32m/^'0x'?<[0..9a..f]>+?$/i[33m�[31m<EOL>[0m�    expecting any of:�        statement list�        prefix or term�        prefix or meta-prefix�        single quotes�        infix …
18:05 flussence r: /^'0x'?<[0..9a..f]>+?$ /i
18:05 camelia rakudo ef73eb: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of /i; in Perl 6 please use :i�at /tmp/e2iVRXhhFC:1�------> [32m/^'0x'?<[0..9a..f]>+?$ /i[33m�[31m<EOL>[0m�»
18:05 jercos cognominal: could you clarify that?
18:05 masak cognominal: I agree in general and in this particular case.
18:05 flussence the $/ confuses it
18:05 masak cognominal: er, "disagree"/
18:06 masak cognominal: grammars are very useful, but they're not a given until you reach a certain level of complexity.
18:06 jercos Oh, never mind, I gotcha. Sorry, I got woken up at 6AM by some random router going down, I'm quite out of it.
18:06 cognominal plan ahead is http://de.webfail.com/2d891ddaad4
18:07 cognominal masak: anyway, to learn. It's better to start with regexen instead of full fledged grammars
18:07 jercos cognominal: currently straight-over porting a piece of perl5 code with some small changes in idiom as part of my journey into learning perl6.
18:08 jercos So while a grammar might be the correct tool for the job, it's a bit out-of-scope for this project :p
18:08 cognominal jercos, that's a good way to start.
18:09 cognominal I tend to want to go too fast and to fall flat on my face.
18:11 masak cognominal: saying "you need grammars, not regexes" is like saying "you need classes/objects, not nested data structures". it's true some of the time and not true some of the time.
18:11 jercos Heh, well, I hear that :)
18:12 jercos this nice self-pacing is a change in pace.
18:13 DarthGandalf joined #perl6
18:20 dalek perl6-roast-data: 2aff1db | coke++ | / (4 files):
18:20 dalek perl6-roast-data: today (automated commit)
18:20 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/2aff1db632
18:23 tgt joined #perl6
18:58 rafl joined #perl6
19:00 diakopter r: my \ç„¡ := Mu; say ç„¡
19:00 camelia rakudo ef73eb: OUTPUT«(Mu)␤»
19:09 Targen joined #perl6
19:10 kurahaupo joined #perl6
19:13 grondilu joined #perl6
19:15 dickinsm joined #perl6
19:18 berekuk joined #perl6
19:28 * jnthn back
19:31 tgt joined #perl6
19:33 dickinsm joined #perl6
19:36 berekuk joined #perl6
19:44 thou joined #perl6
19:46 [Coke] jnthn: are we there yet? are we there yet? are we there yet? ;)
19:46 FROGGS hehe
19:47 jnthn :P
19:47 jnthn No, but I did find non-lager beer tonight :)
19:49 FROGGS so the driver has beer, ehh?
19:49 FROGGS O.o
19:49 * FROGGS fastens his seat belt
19:53 * japhb imagines a bar that will serve any beer except lager
19:54 tadzik that's my future bar
19:54 jnthn japhb: I've heard of some that overprice lager to put off that kind of clientelle :)
19:54 tadzik . o O ( A lager walks into a bar. "We don't serve your kind here" )
19:55 FROGGS how do one walk into a "beyond all repair?"
19:57 Targen joined #perl6
19:58 geekosaur clearly not a sysadmin there :p
20:04 tadzik haha
20:06 dalek tablets: 7b796e4 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
20:06 dalek tablets: added rify to A
20:06 dalek tablets: review: https://github.com/perl6/tablets/commit/7b796e4981
20:12 census joined #perl6
20:12 pupoque joined #perl6
20:23 dalek rakudo/jvm-support: 61e1e2a | jonathan++ | src/ (3 files):
20:23 dalek rakudo/jvm-support: Prepare for getting rid of Parrot property use.
20:23 dalek rakudo/jvm-support:
20:23 dalek rakudo/jvm-support: We use them in a few places to hang things off of code objects, but
20:23 dalek rakudo/jvm-support: there's no reason they can't just be in an attribute.
20:23 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/61e1e2a5b4
20:23 dalek rakudo/jvm-support: ab9a836 | jonathan++ | src/Perl6/ (2 files):
20:23 dalek rakudo/jvm-support: First pass at eliminating setprop usage.
20:23 dalek rakudo/jvm-support:
20:23 dalek rakudo/jvm-support: Gets rid of them all, but unfortunately breaks the build.
20:23 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/ab9a836cb1
20:28 bruges joined #perl6
20:30 mykle joined #perl6
20:31 * mykle taps microphone ...
20:32 FROGGS ya, we can hear you
20:32 mykle howdy.  i have a perl6 problem & no idea where to start with it ...
20:33 [Coke] this is an excellent place to start.
20:33 [Coke] what's wrong?
20:33 FROGGS well, one option is to tell us :o)
20:33 mykle it looks like on OS X, the Rakudo compiler i built today can't open internet sockets.
20:33 mykle and/or something else is wrong with HTTP::Client
20:34 mykle i installed it with panda, but the tests didn't run,
20:34 FROGGS there is an open parrot ticket for IO::Socket::INET issues :/
20:34 mykle aha.  where's the ticket system live?
20:34 [Coke] for parrot, github.com/parrot/parrot/issues
20:35 mykle newbie question: rakudo uses parrot?
20:35 [Coke] Yes, it's built on top of nqp, which is built on parrot.
20:35 [Coke] nqp was just recently ported to also run on the JVM.
20:35 FROGGS https://github.com/parrot/parrot/issues/942
20:36 [Coke] (rakudo hasn't quite caught up to that)
20:36 mykle when i built rakudo and ran the tests, i had a few test failures.  is that normal?
20:36 mykle t/spec/S32-num/is-prime.t ................................. Failed 6/35 subtests
20:36 raiph joined #perl6
20:36 [Coke] on OS X, unfortunately, yes.
20:37 [Coke] is-prime is common. I have others related to ICU that don't happen to everyone.
20:37 mykle those were the only errs.
20:37 [Coke] (it is hard to fudge rakudo tests for just one platform>)
20:37 mykle meta-q: is rakudo the right way to run perl6 on os x?
20:38 [Coke] it's a way. You can also try niecza which runs on mono, or pugs that runs on haskell. rakudo is probably the most complete implementation at this point.
20:38 Targen joined #perl6
20:39 FROGGS niecza isnt bad though, but pugs is pretty outdated
20:39 [Coke] mykle: I don't actually see a ticket for the is-prime issue. If you send an email to rakudobug@perl.org, it'll open a ticket. (be sure to include your OS version and the output from the failed test.)
20:39 [Coke] prn: say is-prime(1234567)
20:39 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«False␤»
20:39 camelia ..pugs: OUTPUT«*** No such subroutine: "&is-prime"␤    at /tmp/w25Y1ZwIbw line 1, column 5 - line 2, column 1␤»
20:40 [Coke] e.g.
20:40 mykle will do, much thanks.
20:40 mykle froggs, i found this on github, not much else that matched:  https://github.com/parrot/parrot/issues/942
20:40 mykle is that what you meant?
20:40 [Coke] mykle: he actually gave you that URL about 24 lines ago. ;)
20:41 mykle doi!
20:41 mykle thx.
20:41 FROGGS :o)
20:41 FROGGS so, yes
20:42 mykle much thanks, everybody.
20:43 mykle ohbtw: is there a make command to just run one test & get its output?  all i did was "make test" for the whole suite.
20:43 flussence you can make path/to/test.t too
20:43 FROGGS jnthn: is it possible that nqp::loadbytecode() behaves differently if I invoke it again for the same file?
20:44 FROGGS mykle: make sometests TESTFILES=t/spec/S11-modules/require.t
20:44 toddr_ left #perl6
20:44 FROGGS this has the cool fudgy-stuff too
20:44 jnthn FROGGS: Sure, we don't duplicately load moduloes. A bunch of stuff in ModuleLoader takes care of that.
20:45 FROGGS hmmmm, sad that is
20:45 FROGGS jnthn: I am currently working on: { use v5 }; { use v5 }
20:45 mykle cool.  the first recipe seems to give all the output.
20:45 FROGGS I mean, if the module isnt precompiled, I could just re-eval it
20:46 FROGGS jnthn: I'd like to do the same for precompiled modules
20:47 jnthn FROGGS: Sounds like you want to be writing an EXPORT sub or so, which is certainly run every load.
20:47 jnthn FROGGS: Uh, every use I mean.
20:47 FROGGS ohh, nice
20:47 grondilu Please suggest a better way of coding SHA-256:   http://rosettacode.org/wiki/Talk:SHA-256
20:51 MrMeek joined #perl6
20:56 FROGGS jnthn: and EXPORT subs are working too for nqp modules?
20:57 FROGGS mine doesnt get called :/
20:57 jnthn Oh...
20:57 jnthn No, just Rakudo at present.
20:57 FROGGS hmmm
20:57 FROGGS so, back to the beginning *g*
20:58 jnthn May not be hard to update it to do it though.
20:58 FROGGS can you point me at the right place?
20:58 FROGGS do_import?
20:59 skids grondilu: I implemented SHA-256 in Sum already.
20:59 jnthn That sounds like it...I'd check where Rakudo does it, as I think things are factored similar
20:59 jnthn Search for &EXPORT or so
20:59 FROGGS k, thanks!
20:59 FROGGS ya, do_import
21:00 skids grondilu: All the Sum stuff is designed such that it should not in theory take it all into memory, but last I checked rakudo did due to some extra unwanted laziness.
21:04 dalek tablets: 0866fd0 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
21:04 dalek tablets: added .iterator to A
21:04 dalek tablets: review: https://github.com/perl6/tablets/commit/0866fd0daa
21:05 jnthn .oO( iterator doesn't start with A... )
21:05 * skids decommute
21:05 Targen joined #perl6
21:12 dalek tablets: e76261a | (Herbert Breunung)++ | docs/appendix- (2 files):
21:12 dalek tablets: added .infinite to A
21:12 dalek tablets: review: https://github.com/perl6/tablets/commit/e76261a808
21:12 lichtkind jnthn: i ment the tablet index A
21:23 lue hello o/
21:28 jnthn 'night, #perl6
21:28 colomon \o
21:28 masak 'night, jnthn.
21:32 colomon masak: does Text::CSV only read files?
21:32 masak good question.
21:32 masak it's years since I wrote it.
21:32 * masak checks
21:32 colomon I'm not seeing anything else in there.
21:33 masak yeah, it only reads files.
21:33 masak it doesn't feel all that unreasonable that it should be able to write them, too.
21:33 colomon not a big deal, but I've just taken "use Text::CSV" out of my code.  ;)
21:33 masak heh :)
21:33 masak adding that functionality would mean thinking a bit about how to fit it into the current API, though.
21:34 colomon yes
21:35 FROGGS r: module A {  sub EXPORT { say 1 } }; import A;
21:35 camelia rakudo ef73eb:  ( no output )
21:35 FROGGS r: module A {  sub EXPORT { say 1 } }; import A <x>;
21:35 camelia rakudo ef73eb:  ( no output )
21:36 Targen joined #perl6
21:36 FROGGS masak: jnthn said that EXPORT sub are always called when I use a module... but locally this doesnt work... do you have a one-liner for me?
21:36 FROGGS subs*
21:40 masak 'fraid not.
21:40 masak maybe look at the spectests?
21:41 FROGGS searching for EXPORT shows nothing useful
21:41 FROGGS it only checks that things are inside GLOBAL::Module::EXPORT::... after importing
21:41 masak I'm not sure I've heard about an EXPORT sub before...
21:41 masak yeah.
21:42 masak that sounds more familiar.
21:42 FROGGS r: use Test <x>;
21:42 camelia rakudo ef73eb: OUTPUT«===SORRY!===␤Error while importing from 'Test': no EXPORT sub, but you provided positional argument in the 'use' statement␤»
21:42 FROGGS no EXPORT sub...
21:44 * lue though arglist case of use was still NYI. Huh.
21:46 timotimo joined #perl6
21:53 bruges joined #perl6
21:53 kurahaupo joined #perl6
21:54 dpk joined #perl6
21:57 silug joined #perl6
22:02 mavcunha joined #perl6
22:05 frdmn joined #perl6
22:08 FROGGS okay, declaring a sub EXPORT($@a) { ... does it, but putting it in a module-scope doesnt work
22:17 kivutar joined #perl6
22:25 diakopter FROGGS: our scope?
22:25 FROGGS maybe
22:25 diakopter er
22:25 diakopter method EXPORT or sub EXPORT
22:25 FROGGS sub
22:32 lichtkind moritz: ping
22:32 lichtkind FROGGS: du kannst doch bisserl p5 ? :)
22:35 FROGGS lichtkind: a bit :o)
22:36 lichtkind FROGGS: i just rmembered that we have to wrench moritz p6doc into the module Perl6::Doc and subsequently into grok and btw updates the tablets entries too
22:39 grondilu rn: subset Prime of Int where &is-prime; say 7 ~~ Prime
22:39 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«True␤»
22:50 japhb rn: subset Prime of Int where &is-prime; say 12 ~~ Prime
22:50 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«False␤»
22:50 japhb (Well, at least they got those two right.)
22:51 flussence .oO( it'd be nice if I could do things like «$doc = require 'whatever.pod'; foo($doc.WHY)» )
22:56 masak 'night, #perl6
22:56 FROGGS gnight masak
22:58 xinming joined #perl6
22:58 flussence ooh, this is a horrible hack but it works...
22:59 flussence my $doc = eval slurp('whatever.pod') ~ "\n$=pod"
23:00 diakopter rn: subset Prime of Int where &is-prime; say 2**57885161-1 ~~ Prime
23:00 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«(timeout)»
23:01 diakopter rn: subset Prime of Int where &is-prime; say 2**521-1 ~~ Prime
23:01 flussence (well, it worked when that line was manually edited into the file... not quite as good in code though)
23:01 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«True␤»
23:01 diakopter rn: subset Prime of Int where &is-prime; say 2**607-1 ~~ Prime
23:01 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«True␤»
23:01 adu joined #perl6
23:02 FROGGS jnthn++ # that EXPORT hint solved my problem
23:02 diakopter rn: subset Prime of Int where &is-prime; say 2**1279-1 ~~ Prime
23:03 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«True␤»
23:04 cognominal joined #perl6
23:05 diakopter rn: subset Prime of Int where &is-prime; say 2**2203-1 ~~ Prime
23:05 flussence /facepalm... of course it won't work without escaping the $...
23:05 camelia niecza v24-37-gf9c8fc2: OUTPUT«(timeout)»
23:05 camelia ..rakudo ef73eb: OUTPUT«True␤»
23:07 census hi!  is anybody university affiliated here?
23:08 lichtkind was there a reason to call the method "bounds" and not "list"
23:10 FROGGS gnight all
23:10 lichtkind sleep well FROGGS
23:10 BenGoldberg joined #perl6
23:16 dalek tablets: 861d018 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
23:16 dalek tablets: added .bounds to A
23:16 dalek tablets: review: https://github.com/perl6/tablets/commit/861d018b75
23:17 census good night FROGGS
23:32 BenGoldberg joined #perl6
23:34 grondilu diakopter: I wrote this Prime subset as a way to suggest a syntactic alternative to dealing with prime numbers in Perl6.  I was not questioning the semantics, actually.  I actually have no idea on how &is-prime works.
23:34 diakopter I thought it used native libraries
23:34 diakopter in both rakudo and niecza
23:37 japhb One of the probabilistic methods, I believe
23:38 japhb (I don't recall if the test count was properly tuned to have very low failure likelihood across the entire range of Int that Rakudo could handle on real hardware, but the fact that it times out on very large inputs seems to indicate there is size-based tuning of some sort.)
23:39 diakopter it's timing out on the multiplication, I'm sure
23:39 diakopter er, exponentiation
23:39 diakopter rn: 2**57885161-1
23:40 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«(timeout)»
23:42 BenGoldberg IIRC, is-prime is spec'ed to use rabin-miller
23:42 BenGoldberg err, miller-rabin
23:42 japhb diakopter, yes, that is quite possible -- and means we still don't know if the is-prime test is properly tuned yet.  (I don't have the tuits to research that at the moment.)
23:45 diakopter what do you mean tuned
23:46 BenGoldberg r: say 5.expmod(7,13)
23:46 camelia rakudo ef73eb: OUTPUT«8␤»
23:47 BenGoldberg Is perl6's &is-prime is using exponentiation, rather than expmod?
23:48 japhb A probabilistic test needs to run a certain number of tests to reduce the likelihood of incorrect result below some threshold P. But only the user of the test can say what P should be, so it is my understanding that many libraries make P (or equivalently, the iteration count) one of the inputs to the test library.
23:48 BenGoldberg rn: 2.expmod(57885161, 3)
23:48 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2:  ( no output )
23:48 BenGoldberg rn: say 2.expmod(57885161, 3)
23:48 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«2␤»
23:49 BenGoldberg rn: say 2 ** 57885161 % 3
23:49 camelia rakudo ef73eb, niecza v24-37-gf9c8fc2: OUTPUT«(timeout)»
23:50 BenGoldberg If perl6 were to automatically turn a**b%c into a.expmod(b,c), there's a chance that the problem would be avoided
23:51 Subterra joined #perl6
23:53 japhb BenGoldberg, note that the miller-rabin implementations may actually be in C code.
23:54 japhb So Perl 6 is having to exponentiate the huge number and pass it off to a black box -- no opportunity to rewrite.

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

Perl 6 | Reference Documentation | Rakudo