Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-04-24

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:02 hoverboard joined #perl6
00:05 segomos nice
00:07 rurban joined #perl6
00:08 xenoterracide_ joined #perl6
00:24 * colomon is intoxicated at the ease of working with rakudobrew
00:26 timotimo keeping my own rakudos, nqps and moarvms up to date is simple enough for me, but it really is a tiny bit annoying to be cding into pandas folder and rebootstrapping
00:26 timotimo at least rebootstrap will re-install the modules you had before
00:26 newperl joined #perl6
00:26 newperl hello
00:27 timotimo hello, newperl!
00:27 timotimo what can we do for you today? :)
00:27 newperl after using for a bit i really like the ability today
00:27 newperl i new to perl and perl6
00:27 colomon timotimo: rakudobrew does that automatically when you rebuild!
00:28 timotimo how does rakudobrew handle having local patches?
00:28 colomon timotimo: I've got no clue.  :)
00:28 timotimo probably doesn't, so it's not for me i fear :)
00:28 timotimo but i'll keep recommending it to everyone
00:29 newperl i have a question is their a way to submit a perl mascot concept? i would love to make one
00:29 timotimo newperl: glad to hear you're enjoying your time with The Perls
00:29 timotimo at least the Perl 6 mascot (camelia, the butterfly) has been in use for a long time now; i'm not sure if people are willing to give her up
00:29 timotimo i don't know anything about Perl 5
00:32 newperl well the butterfly is nice, i something in mind to draw and to give a symbol of animal that represent it. perl have great ability for all types of things especially today that we need more automation
00:32 newperl for example their lot more data than ever before
00:32 newperl and perl is the key
00:33 timotimo rakudo is currently much too slow to handle "big data" payloads, but at least we can parallelize
00:33 timotimo and perl could very well be a tool for Everybody™ to handle whatever data they come across in their lives
00:33 newperl true
00:33 timotimo though to be honest, excel/libreoffice spreadsheets are already pretty powerful (but only for numbers, not really text)
00:34 newperl so what would people think as a platypus,  since its uniq and perl does many things well
00:34 newperl for icon
00:34 timotimo platypuses are really adorable
00:35 timotimo the artistic license 2 says you can distribute your own version of rakudo with a modified name and logo if you want to :)
00:35 newperl sounds cool
00:39 xenoterracide_ joined #perl6
00:39 newperl its most likely going a tough road but i am going to work on it,
00:41 newperl once i create the platypuses icon, is their a way email it to everyone of the perl community?
00:42 TimToady you should know that Darwin already claims the platypus as a mascot...
00:45 TimToady and no, there's no way to mail everyone, thankfully :)
00:48 colomon TimToady!  \o/
00:51 timotimo gaaaah i'm looking for this gif
00:51 timotimo and i'm not finding it
00:51 timotimo and i have now spent like 15 minutes :(
00:52 colomon afk # off to pub
00:58 atroxaper joined #perl6
00:59 autark joined #perl6
00:59 xenoterracide_ joined #perl6
00:59 dayangkun_ joined #perl6
01:05 BenGoldberg I know of an animal which is much stranger than a platypus... namely, the Tardigrade.  Maybe you should make a logo of one of them?
01:06 kbaker joined #perl6
01:06 klapperl joined #perl6
01:16 gfldex joined #perl6
01:18 timotimo BenGoldberg: well, rakudo isn't as stable and robust as a tardigrade yet :)
01:19 BenGoldberg You mean, we can't send it into out space without a suit?  Drat.
01:20 bowtie joined #perl6
01:24 newperl how about an odder they can adapt to many things
01:25 newperl as an icon, i forgot darwin use it
01:25 newperl the platypus
01:25 gfldex joined #perl6
01:30 newperl good bye
01:41 bcode joined #perl6
01:45 geekosaur joined #perl6
01:53 brother joined #perl6
01:59 klapperl_ joined #perl6
02:04 hovercraft joined #perl6
02:08 lue joined #perl6
02:21 pecastro joined #perl6
02:27 raiph joined #perl6
02:32 xragnar_ joined #perl6
02:39 ssutch joined #perl6
02:52 Sqirrel joined #perl6
03:04 atroxaper joined #perl6
03:16 Khisanth joined #perl6
03:37 bjz joined #perl6
03:54 atroxaper joined #perl6
04:02 kaare_ joined #perl6
04:15 anaeem1_ joined #perl6
04:19 arturo_ joined #perl6
04:30 Psyche^ joined #perl6
04:32 dj_goku joined #perl6
05:07 kaare_ joined #perl6
05:07 atroxaper joined #perl6
05:10 atroxaper joined #perl6
05:31 atroxaper joined #perl6
05:51 atroxaper joined #perl6
05:53 atroxape_ joined #perl6
06:02 xinming_ joined #perl6
06:03 Timbus r: my ($a,$b) = 'a,b,c--1,2,3'.split('--')>>.split(',').lol; say $a.perl, ' and ', $b.perl;
06:03 camelia rakudo-moar 375404: OUTPUT«().list.item and ().list.item␤»
06:03 camelia ..rakudo-{parrot,jvm} 375404: OUTPUT«("a", "b", "c").list.item and ("1", "2", "3").list.item␤»
06:03 Timbus moar cannot lol; a very serious matter
06:04 dayangkun joined #perl6
06:18 SamuraiJack_ joined #perl6
06:24 darutoko joined #perl6
06:41 sergot morning o/
06:53 lizmat Timbus: please rakudobug it if you think it should not escape attention :-)
06:54 xinming_ joined #perl6
06:58 donaldh joined #perl6
07:02 ojandi joined #perl6
07:05 ojandi Hey guys, does anybody know analog of caller for Perl6 ? How can I get stack trace ? Thanks
07:05 FROGGS joined #perl6
07:07 moritz ojandi: there's the callframe() sub, and for backtraces there Backtrace.new
07:08 moritz m: sub f() { g() }; f(); sub g { say Backtrace.new }
07:08 camelia rakudo-moar 375404: OUTPUT«Backtrace::Frame.new(file => "src/gen/m-CORE.setting", line => 11086, code => -> () { #`(Block|140291048873912) ... }, subname => "") Backtrace::Frame.new(file => "src/gen/m-CORE.setting", line => 11087, code => method new(Backtrace: *%_) { #`(Method|74501…»
07:08 moritz m: sub f() { g() }; f(); sub g { say Backtrace.new.pretty }
07:08 camelia rakudo-moar 375404: OUTPUT«No such method 'pretty' for invocant of type 'Backtrace'␤  in sub g at /tmp/rWpZvbn1ui:1␤  in sub f at /tmp/rWpZvbn1ui:1␤  in block  at /tmp/rWpZvbn1ui:1␤␤»
07:08 moritz m: sub f() { g() }; f(); sub g { say Backtrace.new.Str }
07:08 camelia rakudo-moar 375404: OUTPUT«  in method new at src/gen/m-CORE.setting:11086␤  in sub g at /tmp/9PWv8Tf64A:1␤  in sub f at /tmp/9PWv8Tf64A:1␤  in block  at /tmp/9PWv8Tf64A:1␤␤»
07:08 moritz there you go, backtrace without any exception
07:08 ojandi Cool, that's what I need. Thanks
07:08 brotherBox joined #perl6
07:09 xinming__ joined #perl6
07:10 ojandi m: say "This is a test. I'm newbie )"
07:10 camelia rakudo-moar 375404: OUTPUT«This is a test. I'm newbie )␤»
07:12 atroxaper joined #perl6
07:14 zakharyas joined #perl6
07:15 ojandi m: sub t { sub f { say callframe() } }
07:15 camelia rakudo-moar 375404: ( no output )
07:15 moritz ojandi: you also need to call it :-)
07:15 moritz m: sub t { sub f { say callframe() }; f() }; t()
07:15 camelia rakudo-moar 375404: OUTPUT«Cannot find method 'perl': no method cache and no .^find_method␤  in method perl at src/gen/m-CORE.setting:9140␤  in method perl at src/gen/m-CORE.setting:1063␤  in method gist at src/gen/m-CORE.setting:1055␤  in sub say at src/gen/m-CORE.setting:1…»
07:15 moritz eeks
07:15 ojandi Yes. ^-)
07:16 moritz m: sub t { sub f { say callframe().^name }; f() }; t()
07:16 camelia rakudo-moar 375404: OUTPUT«CallFrame␤»
07:16 ojandi m: sub t { sub f { say callframe() } }; t();
07:16 camelia rakudo-moar 375404: ( no output )
07:16 moritz m: say CallFrame.^methods
07:16 camelia rakudo-moar 375404: OUTPUT«new line file callframe <anon> <anon> <anon>␤»
07:16 moritz m: sub t { sub f { say callframe().file }; f() }; t()
07:16 camelia rakudo-moar 375404: OUTPUT«/tmp/5T71W60Ea0␤»
07:16 moritz m: sub t { sub f { say callframe().line }; f() }; t()
07:16 camelia rakudo-moar 375404: OUTPUT«1␤»
07:17 ojandi m: sub t { sub f { say callframe().line }; f() }; t();
07:17 camelia rakudo-moar 375404: OUTPUT«1␤»
07:17 moritz m: sub t { sub f { my %möp; say callframe().my.keys.perl }; f() }; t()
07:17 camelia rakudo-moar 375404: OUTPUT«("\%möp", "\$!", "\$/", "\$_", "\$*DISPATCHER", "\&?ROUTINE", "RETURN").list␤»
07:17 moritz m: sub t { sub f { my %möp; say callframe(1).my.keys.perl }; f() }; t()
07:17 camelia rakudo-moar 375404: OUTPUT«("\$!", "\$/", "\$_", "\&f", "\$*DISPATCHER", "\&?ROUTINE", "RETURN").list␤»
07:18 moritz you see that if you go one level up, it finds sub f (written as &f) in the lexpad
07:18 ojandi Yep
07:19 ojandi I see. What does it mean syntax my.keys. Key it's a hash keys, but "my" i didn't catch
07:22 moritz ojandi: CallFrame.my returns a hash of lexical variables
07:22 moritz 'cause they are declared with 'my'
07:23 xinming_ joined #perl6
07:23 atroxaper joined #perl6
07:31 denis_boyun_ joined #perl6
07:33 Ven joined #perl6
07:38 lizmat do Backtraces work now in moar?  Seem to remember they didn't reliably  :-(
07:39 dayangkun_ joined #perl6
07:40 moritz lizmat: there seems to be a problem with the one-line version of backtraces that warnings use
07:40 moritz r: sub f() { warn 42 }; f()
07:41 camelia rakudo-{jvm,moar} 375404: OUTPUT«42␤»
07:41 camelia ..rakudo-parrot 375404: OUTPUT«42  in sub f at /tmp/tmpfile:1␤␤»
07:44 ojandi m: my $caller = callframe(1); say $caller.^methods(:all);
07:44 camelia rakudo-moar 375404: OUTPUT«new line file callframe <anon> <anon> <anon> infinite exists exists_key exists_pos delete delete_key delete_pos list flat eager hash elems end uniq squish pick roll reverse sort values keys kv pairs reduce combinations permutations classify categorize lol …»
07:45 ojandi m: my $caller = callframe(1); say $caller.keys;
07:45 camelia rakudo-moar 375404: OUTPUT«0␤»
07:46 ojandi m: my $caller = callframe(1); say $caller.perl;
07:46 camelia rakudo-moar 375404: OUTPUT«CallFrame.new(level => 3, annotations => ("file" => "/tmp/jKgIcOTEqy", "line" => "1").hash, my => EnumMap.new())␤»
07:48 ojandi m: my $caller = callframe(1); say $caller.line;
07:48 camelia rakudo-moar 375404: OUTPUT«1␤»
07:48 ojandi m: my $caller = callframe(1); say $caller.file;
07:48 camelia rakudo-moar 375404: OUTPUT«/tmp/ImZwAEKDsk␤»
07:48 ojandi m: my $caller = callframe(1); say $caller.level;
07:48 camelia rakudo-moar 375404: OUTPUT«3␤»
07:52 ojandi What I like in Perl6 is object introspection :-)
08:16 rindolf joined #perl6
08:23 brotherBox left #perl6
08:23 kaare_ joined #perl6
08:25 dmol joined #perl6
08:31 fhelmberger joined #perl6
08:40 jnthn morning, #perl6
08:40 FROGGS morning jnthn
09:04 jnthn o/ FROGGS
09:10 atroxaper joined #perl6
09:19 atroxaper joined #perl6
09:55 spider-mario joined #perl6
10:04 dalek nqp/async_ops: 31884dd | (Donald Hunter)++ | src/vm/jvm/ (2 files):
10:04 dalek nqp/async_ops: Add stubs for async ops on JVM.
10:04 dalek nqp/async_ops: review: https://github.com/perl6/nqp/commit/31884dde33
10:06 [Sno] joined #perl6
10:07 denis_boyun_ joined #perl6
10:09 jnthn ooh :D
10:10 jnthn donaldh++
10:19 a3gis joined #perl6
10:23 mathw \o/
10:25 timotimo o/
10:25 atroxaper joined #perl6
10:33 atroxaper joined #perl6
10:34 atroxaper left #perl6
10:35 chenryn joined #perl6
10:36 atroxaper joined #perl6
10:38 atroxaper joined #perl6
10:45 prevost joined #perl6
10:53 a3gis_ joined #perl6
10:58 Ven https://gist.github.com/paulp/10885699 :p
11:10 tadzik it seems to be missing „” :)
11:13 ssutch joined #perl6
11:21 a3gis joined #perl6
11:23 dalek specs: 9d68384 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
11:23 dalek specs: Spec Supply.uniq( :expires )
11:23 dalek specs: review: https://github.com/perl6/specs/commit/9d68384065
11:26 bjz joined #perl6
11:33 colomon tadzik++
11:40 kaleem joined #perl6
11:59 dalek specs: cd4164c | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
11:59 dalek specs: Spec Supply.unchanged
11:59 dalek specs: review: https://github.com/perl6/specs/commit/cd4164c718
12:03 dalek specs: a3348d4 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
12:03 dalek specs: Attempt at speccing Supply.migrate
12:03 dalek specs: review: https://github.com/perl6/specs/commit/a3348d4afc
12:07 dalek specs: 339fada | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
12:07 dalek specs: Stub spec Supply.(schedule_on|start)
12:07 dalek specs: review: https://github.com/perl6/specs/commit/339fadafc0
12:08 lizmat capturing recent async developments
12:10 * woolfy in awe of the Perl6-goodness!
12:12 telex joined #perl6
12:19 kurahaupo joined #perl6
12:23 * moritz in awe of the Perl6 godess
12:25 a3gis joined #perl6
12:29 * Ven is looking at https://github.com/manastech/crystal
12:29 Ven (really good type inference, simple ruby-like syntax, looks really neat)
12:29 Ven m: sub a { 5 }; sub b { my String $s = a(); };
12:29 camelia rakudo-moar 375404: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'String' is not declared. Did you mean 'Stringy'?�at /tmp/L3F_5JCrCA:1�------> [32msub a { 5 }; sub b { my String[33m�[31m $s = a(); };[0m�Malformed my�at /tmp/L3F_5JCrCA:1�------> [32msub a { 5 }; sub…»
12:30 Ven m: sub a { 5 }; sub b { my Str $s = a(); };
12:30 camelia rakudo-moar 375404: ( no output )
12:30 Ven :(
12:30 * Ven thinks about that "successful typing with erlang" paper he read
12:33 Ven Well, maybe Perl 6.5 will find it
12:33 lizmat Ven: what should be found?
12:33 Ven lizmat: that should totally fail.
12:33 Ven you can't assign something that will always return an Int to a Str
12:33 lizmat why, Perl 6 has gradual typing
12:34 Ven m: sub a returns Int { 5 }; sub b { my Str $s = a(); };
12:34 camelia rakudo-moar 375404: ( no output )
12:34 lizmat ah, that
12:34 Ven I believe this should fail
12:34 lizmat yes, that could be statically analyzed: the infrastructure is there
12:34 lizmat it's just that we didn't have the tuits yet to do that at compile time
12:35 lizmat m: m: sub a returns Int { 5 }; sub b { my Str $s = a(); }; b
12:35 camelia rakudo-moar 375404: OUTPUT«Type check failed in assignment to '$s'; expected 'Str' but got 'Int'␤  in sub b at /tmp/QclT927jvs:1␤  in block  at /tmp/QclT927jvs:1␤␤»
12:35 lizmat m: m: sub a  { 5 }; sub b { my Str $s = a(); }; b
12:35 camelia rakudo-moar 375404: OUTPUT«Type check failed in assignment to '$s'; expected 'Str' but got 'Int'␤  in sub b at /tmp/lL2ixlxowO:1␤  in block  at /tmp/lL2ixlxowO:1␤␤»
12:39 jnthn Yes, the promise is "fails at runtime at latest", and compilers are free to rule out things that couldn't possibly work at runtime during compile time.
12:40 jnthn But they're not obligated to.
12:40 jnthn Not in the 6.0 spec at least. Maybe in the future we make some stronger promises there.
12:41 kbaker joined #perl6
12:48 anaeem1_ joined #perl6
12:54 masak good day, #perl6
12:58 FROGGS hi masak
12:58 FROGGS jnthn: you mean 1.0 spec perhaps :o)
12:58 * FROGGS is picky right now
12:59 * Ven would really, really, really like it.
13:00 jnthn lol its masak
13:00 masak whose masak? :)
13:00 jnthn Ven: Well, if you annotate it with "returns" we can likely catch thta one without too much trouble.
13:00 jnthn masak: No eye deer
13:01 * jnthn has almost finished his slides :)
13:01 Ven jnthn: like my second example :) ?
13:02 jnthn Ven: yes
13:02 jnthn Ven: It's just that the optimizer isn't analysing assignments yet
13:02 jnthn Ven: It'll need to do that for various opts I want to put in, and at that point I suspect it might be fairly easy to make that particular example blow up at compile time.
13:03 guru joined #perl6
13:04 Ven yay !
13:04 jnthn all of the type check at compile time stuff we have today actually is done by the optimizer.
13:05 jnthn It's trying to prove things about the program in order to do inlines and compile time dispatch, and as a side-effect sometimes proves the code could never possibly work.
13:06 jnthn Makes sense to do it in the same pass, since it's basically the same work.
13:06 jnthn Anyway, if you ever wonder what the difference between --optimize=off and --optimize=0 is, that's in :)
13:06 jnthn *it
13:06 dalek ufo: db7e553 | (Rob Hoelz)++ | bin/ufo:
13:06 dalek ufo: Actually filter dirwalk entries
13:06 dalek ufo:
13:06 dalek ufo: We pass in a filter argument via $f, but it never gets used.
13:06 dalek ufo: review: https://github.com/masak/ufo/commit/db7e553d2e
13:06 dalek ufo: 85b015a | tadzik++ | bin/ufo:
13:06 dalek ufo: Merge pull request #11 from hoelzro/master
13:06 dalek ufo:
13:06 dalek ufo: Actually filter dirwalk entries
13:06 dalek ufo: review: https://github.com/masak/ufo/commit/85b015a07b
13:06 tadzik I took a liberty to merge that
13:06 jnthn off doesn't run the analysis at all. 0 runs it, complains about things that'll never work, but then does not actual program transformations.
13:06 tadzik sweet karma
13:09 cognominal joined #perl6
13:22 dalek Perlito: bce7e2e | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
13:22 dalek Perlito: Perlito5 - regex - simplify AST
13:22 dalek Perlito: review: https://github.com/fglock/Perlito/commit/bce7e2ea19
13:29 thilp joined #perl6
13:29 kaare_ joined #perl6
13:35 dalek Perlito: 296edfe | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
13:35 dalek Perlito: Perlito5 - regex - more rules
13:35 dalek Perlito: review: https://github.com/fglock/Perlito/commit/296edfe076
13:38 BigBear joined #perl6
13:42 a3gis_ joined #perl6
13:43 btyler joined #perl6
13:44 JimmyZ r: 'abc'.subst(/.+/, 'a')
13:45 camelia rakudo-{parrot,jvm,moar} 375404: ( no output )
13:45 JimmyZ r: say 'abc'.subst(/.+/, 'a')
13:45 camelia rakudo-{parrot,jvm,moar} 375404: OUTPUT«a␤»
13:57 masak "One of the hard lessons is that you need symbol tables and flow analysis to do good program analysis or transformation. ASTs are necessary but not sufficient. This is the reason that Aho&Ullman's compiler book doesn't stop at chapter 2." -- http://stackoverflow.com/questions/3455456/what-kinds-of-patterns-could-i-enforce-on-the-code-to-make-it-easier-to-translat
13:57 masak interesting. sounds relevant to macros, too.
13:58 masak as well as automated tools to do program transformations and refactors.
13:58 [Coke] fdd
13:58 dalek rakudo-star-daily: 358d8d2 | coke++ | log/ (5 files):
13:58 dalek rakudo-star-daily: today (automated commit)
13:58 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/358d8d24e0
13:58 dalek perl6-roast-data: 80228e4 | coke++ | / (6 files):
13:58 dalek perl6-roast-data: today (automated commit)
13:58 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/80228e4813
14:01 lizmat commuting to DPW&
14:03 dalek rakudo/nom: 1ae0b29 | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
14:03 dalek rakudo/nom: First stab at implementing Supply.live
14:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ae0b29f7c
14:08 jnthn &
14:11 woolfy left #perl6
14:13 Ulti if I want to keep something moarvm can run directly what do I --target= with Rakudo?
14:13 FROGGS --target=mbc --output=foo.moarvm
14:13 FROGGS Ulti: ^^
14:14 Ulti hmmm I did that but without the --output
14:14 * Ulti tries
14:14 Ulti thanks FROGGS++
14:14 Ulti ahh ok it was just that
14:14 Ulti maybe a less than awesome error message
14:14 Ulti "Cannot dump this object; no dump method"
14:15 FROGGS the code it on github :P
14:15 FROGGS is*
14:15 Ulti heh ok
14:17 * [Coke] is surprised the target is mbc since I thought moarvm didn't use that extension
14:17 [Coke] ok, the rakudo.jvm daily run is looking much better. I just need to update the memory or time limit to close the gap.
14:17 FROGGS [Coke]: it is not an extension, see :o)
14:18 FROGGS but yeah, confusing
14:18 [Coke] FROGGS: yah, but still confusing.
14:18 [Coke] heh.
14:19 [Coke] there are two legit jvm failures in that report, though, both in S17-concurrency/supply.rakudo.jvm
14:24 salv0 joined #perl6
14:25 Ulti hmmm I get a segfault from moar if I run the dumped .moarvm file :S weird
14:25 Ulti the invocation is basically the same as how perl6 is itself calling moarvm apart from with my .moarvm file
14:27 treehug88 joined #perl6
14:28 bluescreen10 joined #perl6
14:29 [Coke] Ulti: can you gist it and maybe get a backtrace via gdb?
14:31 dalek Perlito: 225dd50 | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
14:31 dalek Perlito: Perlito5 - regex - capture counter
14:31 dalek Perlito: review: https://github.com/fglock/Perlito/commit/225dd50762
14:31 colomon avuserow: just looking at your latest changes to Audio::Taglib::Simple, have you considered using Proxy to allow something like $tl.title = "Awesome Song" ?
14:38 BigBear joined #perl6
14:42 Ulti [Coke]: https://gist.github.com/MattOates/11257194
14:44 Ulti I should probably be finishing off my thesis corrections rather than playing anway ;)
14:46 JimmyZ [root@li618-176 ~]# perl6 -e 'say "abc".subst(/.+/, "a")'
14:46 JimmyZ a
14:46 JimmyZ [root@li618-176 ~]# perl6
14:46 JimmyZ > my $s = 'abc';
14:46 JimmyZ abc
14:46 JimmyZ > $s.subst(/.+/, 'a')
14:46 JimmyZ Segmentation fault (core dumped)
14:46 JimmyZ A bug...
14:46 a3gis joined #perl6
14:50 Ulti [Coke]: sorry 'list' isn't working out since I'm running gdb from my home
14:51 Ulti I assume
14:51 masak JimmyZ: reproduced locally.
14:51 * masak submits rakudobug
14:51 masak JimmyZ: um, why are you running as root? :)
14:52 Ulti because he is god
14:52 JimmyZ because it's my friends vps, he changed my jimmy id to 0
14:53 Ulti sudo ftw
14:54 JimmyZ I only use it to compile rakudo, since my x86 system can't compile nqp due to some moarvm bug
14:54 JimmyZ s/my/my local/
14:58 masak JimmyZ: https://rt.perl.org/Ticket/Display.html?id=121726
15:00 FROGGS Ulti: do you also run the perl6.moarvm file in the same run?
15:01 JimmyZ masak++
15:03 masak I live to serve.
15:05 guru joined #perl6
15:11 anaeem1 joined #perl6
15:13 araujo joined #perl6
15:13 araujo joined #perl6
15:21 guru joined #perl6
15:26 japhb TimToady: Is there somewhere a set of "guiding principles" you think about in the design of Perl 6?  I'm looking to give people a sense of the "flavor" of the language in my lightning-talk-in-progress.
15:29 moritz japhb: have you read S01?
15:30 moritz also, TIMTOWTDI, DWIM, keep things lexical
15:30 PerlJam That doc where Larry talks about the waterbed theory of langauge design has some good guiding principles.
15:31 PerlJam http://www.perl.com/pub/2003/06/25/perl6essentials.html
15:31 masak japhb: also, self-clocking principle.
15:31 masak japhb: also, LTM.
15:32 japhb moritz: Yeah, read S01, but pretty much back when it was first written.
15:32 japhb moritz, PerlJam, masak: Thank you.
15:36 masak japhb: also, TimToady has said at some point that he seldom makes decisions due to one thing, more often due to two or more things.
15:37 masak I think that partly explains why some features turn out to be terrific unifications.
15:40 japhb masak: Yeah, I always saw it as many soft constraints
15:43 Ven masak: "terrific unifications" ?
15:44 moritz for example the colonpair notation, which works for named arguments, quoting adverbs, regex adverbs
15:45 masak or roles, which soak up the good parts of contracts, traits, abstract classes, and interfaces.
15:46 moritz or that quoted strings work in regexes too
15:46 Ven r: role Foo { method abstract { ... } }; class A does Foo {};
15:46 camelia rakudo-jvm 1ae0b2: OUTPUT«(timeout)»
15:46 camelia ..rakudo-{parrot,moar} 1ae0b2: OUTPUT«===SORRY!===␤Method 'abstract' must be implemented by A because it is required by a role␤»
15:47 Ven yeah, that's cool
15:47 masak or signatures, which fill a role in both assignment and invocation.
15:47 moritz Ven: it goes match faster if you just ask m:
15:47 Ven moritz: I know, I do it most of the time
15:47 Ven I just tend to forget from time to time ;_;
15:47 FROGGS[mobile] joined #perl6
15:48 moritz no problem
15:48 anaeem1__ joined #perl6
15:48 FROGGS[mobile] joined #perl6
15:50 Ven reminds me of http://www.infoq.com/presentations/noether
15:54 TimToady you guys do a better job of listing the design principles than I could :)
15:54 japhb TimToady: clearly you did something right then.  :-)
15:55 Ven Though "terrific unifications" can be executed poorly, like I think it's the case in Scala : Small building blocks, yet thousands of corner cases
15:56 masak yeah, Perl 6 totally doesn't have thousands of corner cases :P pffffft
15:56 masak wait, is "millions" bigger than "thousands"?
15:56 TimToady well, that's kind of the Unix mode of failure; it's all very well to do one thing and do it well, but if your various bits are speaking different languages to each other, they won't work together
15:57 a3gis_ joined #perl6
15:57 geekosaur but people tend to at least think about how to deal with them...
15:57 Ven masak: having been bit by one of those that "can't be fixed" not so long ago : "I didn't say that !"
15:57 masak Ven: :)
15:57 masak Ven: we all agree there are corner cases that should be removed; we just disagree on which ones.
15:57 TimToady the most underlying design principle is that communication can only happen when you agree on the language
15:58 masak oh, that reminds me:
15:58 masak japhb: "always know which language you're in" (when parsing)
15:59 TimToady but also, two entities have to agree on how they talk to each other
15:59 Ven masak: which one would you remove :) ?
15:59 masak japhb: also "sublanguages (regex, quoting, etc) are first-class citizens and should be treated as such"
15:59 masak Ven: I would start listing things, but I'm at $work...
15:59 TimToady not to mention grammars, but we're not quite there yet
16:06 japhb Wow, lots of good stuff this morning
16:08 xinming_ joined #perl6
16:10 segomos this is valid, yea? /bookstore/book[price>35]
16:10 masak japhb: re community design principles, check out TimToady++'s two advent posts.
16:10 segomos oops
16:10 masak segomos: no :)
16:10 TimToady it's valid only if you agree on the language :P
16:10 segomos xpath :)
16:11 * Ven is being back into the past -- http://www.perl.com/pub/2005/03/03/pugs_interview.html
16:12 masak segomos: ...which we don't agree on :P
16:12 segomos i disagree with you about that
16:16 cxreg joined #perl6
16:16 masak well, we agree on that, at least.
16:16 masak "I keep hitting the limit of p5." -- au++ is scary :>
16:18 fhelmberger joined #perl6
16:19 moritz the question is always, what limit?
16:19 FROGGS[mobile] there is a limit?
16:21 masak the interview goes on to describe some shortcomings/needs for kludges of Perl 5.
16:22 Ulti FROGGS[mobile] no I didnt (re: perl6.moarvm)
16:23 PerlJam It would be interesting to get a then-and-now perspective from au++
16:23 PerlJam (regarding Perl 6)
16:23 masak aye.
16:23 masak she does pop by, very occasionally.
16:24 FROGGS[mobile] Ulti: do "cat /path/to/perl6-m" and replace $@ by foo.moarvm -e1
16:28 Ulti FROGGS[mobile]: Error while reading from file: Malformed UTF-8
16:29 FROGGS[mobile] hmmm
16:29 [Coke] au: if you pop by, please help me fix pugs on host07.
16:29 Ven masak: that's still nice. I talked to her for quite some time before even hearing of perl6, because she's a contrib on an altJS i'm a developer on. I only realized she was well-known in a community like that ~2 months ago
16:30 FROGGS[mobile] Ulti: can you gist the thing you invoke?
16:30 adu joined #perl6
16:30 masak Ven: LiveScript, no?
16:30 Ven masak: right
16:31 masak neat.
16:32 FROGGS joined #perl6
16:32 FROGGS Ulti: forget what I wrote, you must run them as -Mfoo -e1
16:33 vaskozl should I type: use strict; and use warnings; in my files?
16:34 FROGGS vaskozl: in Perl 5 yes, in Perl 6 no
16:34 vaskozl what is the default behaviour?
16:34 FROGGS vaskozl: both is turned on
16:34 vaskozl nice
16:35 FROGGS strict is meant to be off for one-liners for example, but that is NYI
16:35 woosley joined #perl6
16:36 vaskozl what is NYI?
16:36 vaskozl not yet implemented...
16:36 masak quick, someone get the list of terms!
16:37 masak vaskozl: you might enjoy reading https://github.com/perl6/specs/blob/master/S99-glossary.pod
16:37 vaskozl well that's the firs time I've seen this one, and I got a bunch of new york shit when i googled it
16:37 vaskozl so it took me some time to figure it out :D
16:37 FROGGS *g*
16:37 masak *gasp* -- NYI is not *in* that list!
16:37 FROGGS wow
16:38 masak how... ironic.
16:38 FROGGS yeah :/
16:39 vaskozl gotta learn that regex
16:40 vaskozl OOH the :i goes infront
16:41 masak :)
16:41 masak we like to be up-front about things in Perl 6.
16:42 vaskozl help the me! I'm trying : curl https://github.com/perl6/specs/blob/master/S99-glossary.pod | perl6 -e 'if(:i/nyi/){say}'
16:42 vaskozl *I've only one month perl experiences (most of which has been perl5 up to now)
16:43 vaskozl or rather perl6 -p -e
16:43 anaeem1 joined #perl6
16:44 moritz you probably want -n -e
16:44 moritz also, no parens around the condition
16:44 moritz and finally, stuff doesn't default to $_ anymore
16:44 moritz but you can use .say to call a method on $_
16:44 vaskozl WHAT?
16:45 moritz what WHAT?
16:45 vaskozl what does stuff doesn't default to $_ mean?
16:45 moritz perl 5 has lots of subroutines that use $_ as a default if no argument was supplied
16:45 moritz but it's always hard to remember which ones do and which ones don't
16:46 vaskozl arligth but it tells me that I need brackets when I try: curl https://github.com/perl6/specs/blob/master/S99-glossary.pod | perl6 -n -e 'if :i/nyi/ {.say}'
16:46 moritz so, in Perl 6, only syntactic constructs (like m//, s///) default to $_
16:46 moritz instead there's a short syntax for calling methods on $_
16:46 moritz std: say
16:46 camelia std ec3d853: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/SM5uA5cdGA line 1:�------> [32msay[33m�[31m<EOL>[0m�Check failed�FAILED 00:00 120m�»
16:46 vaskozl masak: oh ok
16:47 vaskozl what does: Expression needs parens to avoid taking the block
16:47 vaskozl at -e:1
16:47 vaskozl mean?
16:47 moritz oh, if you need modifiers, use m:i/../ instead of just :i
16:48 vaskozl ok
16:48 vaskozl ok it worsk!
16:48 moritz in general, it means if you write   if stuff { ... }  and 'stuff' is a subroutine, that could be parsed as   if stuff({...}) { block here to come }
16:48 vaskozl s/sk/ks/
16:48 moritz so the compiler tells you to either write if stuff() { } or  if stuff({...}) { }, depending on which one you meant
16:49 moritz in this case it was parsed as   if :i / nyi ...
16:49 moritz and the nyi was interpreted as a subroutine call without parens
16:49 moritz which is why you got that error
16:50 moritz vaskozl: as a piece of general advice: use more whitespace
16:51 moritz vaskozl: there are some places where whitespace disambiguates
16:51 moritz foo(1, 2) # calls &foo with two arguments
16:51 moritz foo (1, 2) # calls & with a single argument, which is a two-element list
16:51 vaskozl moritz: arlight
16:51 vaskozl thx
16:52 vaskozl I can still use () around conditions right?
16:52 moritz vaskozl: yes, but you need to put a blank before the (
16:52 moritz vaskozl: because stuff that looks like word( is always parsed as a subroutine call
17:03 a3gis joined #perl6
17:04 timotimo what did i miss besides teaching?
17:04 timotimo (teaching is awesome, btw. moritz++)
17:07 timotimo i thought about TheDamian's latest talk abstract, the one about "perl 6 without the awe-inspiring parts" and i think that might make a pretty nice talk
17:07 timotimo like, here's how perl 6 has your back for things you used to use python/ruby/php/scala/haskell for
17:11 * Ven is not sure what timotimo is talking abut
17:13 timotimo i'm also not yet sure what i'll be talking about
17:13 timotimo that's the problem :)
17:13 timotimo here's the context: i want to give a talk about Perl 6 at this year's GPN
17:13 timotimo i've read the abstract of damian conway's talk "everyday perl 6": http://www.oscon.com/oscon2014/public/schedule/detail/33839
17:13 timotimo which has now inspired me
17:23 zakharyas joined #perl6
17:24 anaeem1 joined #perl6
17:28 btyler I've been poking off and on at a collection of blog posts or book sections called "plain old perl 6" with the same core idea (but with rather less expertise than TheDamian, of course). I think one of the things that's challenging about p6 outreach is that so many code samples are written by experts/core hackers trying to maximally demonstrate the language's power in as little space as possible
17:28 denis_boyun joined #perl6
17:28 btyler which makes for some pretty dang intimidating pieces of code to look at
17:31 a3gis joined #perl6
17:32 a3gis left #perl6
17:32 timotimo hehe
17:32 timotimo aye.
17:36 [Sno] joined #perl6
17:36 zakharyas joined #perl6
17:37 guru joined #perl6
17:43 hoverboard joined #perl6
17:49 [Coke] oh. someone here might know, esp. TimToady - anyone familiar with the phrase "jump jesus" ? (used in the Grapes of Wrath)
17:50 * TimToady hasn't heard that one
17:51 FROGGS TimToady: can you please look at that and tell me if this would make things better or worse? https://gist.github.com/FROGGS/a78ff92ec5e7ce2f8fda
17:51 FROGGS TimToady: the comment box shows what it does in short
17:56 [Coke] TimToady: it was something like "I could fight you now or jump jesus"
17:56 FROGGS wikipedia says it is the same as saying "Jesus Christ!"
17:57 FROGGS but that does not fit well to your sentence
17:58 TimToady FROGGS: I can argue that one both ways, since * has a different meaning already in signatures, and it might or might not be confusing
17:58 TimToady it might be better to do the other thing, and allow $ where we know it's an lvalue list
17:59 FROGGS well yes, I'd like to have the "my (...) = ..." and "(...) = ..." form at least use the same thingies
17:59 FROGGS I do not really care if it is dollar or the asterisk
17:59 FROGGS well, that is not really true
18:00 FROGGS I'd prefere the asterisk because even in the signature it would mean "slurp that one thing" (and throw it away)
18:00 TimToady except it doesn't mean slurp, which implies flattening the rest of the args
18:01 FROGGS hmmm, that did not imply flattening to me yet :o)
18:02 TimToady perl6: sub foo(*$a, *$b, *$c) { say "$a $b $c" }; my @a = 1,2,3; foo(@a)
18:02 camelia rakudo-{parrot,jvm,moar} 1ae0b2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Calling 'foo' will never work with argument types (Positional)â�¤    Expected: :(Any $a, Any $b, Any $c)â�¤at /tmp/tmpfile:1â�¤------> [32m*$c) { say "$a $b $c" }; my @a = 1,…»
18:02 camelia ..niecza v24-109-g48a8de3: OUTPUT«1 2 3  ␤»
18:02 TimToady niecza++
18:02 FROGGS I see
18:03 TimToady er, except niecza-- for wrong semantics
18:03 FROGGS m: my ($, $, $x) = 1, 2, 3; say $x
18:03 camelia rakudo-moar 1ae0b2: OUTPUT«3␤»
18:03 FROGGS m: my $x; ($, $, $x) = 1, 2, 3; say $x
18:03 camelia rakudo-moar 1ae0b2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CQ92eBnSgqâ�¤Unsupported use of $, variable; in Perl 6 please use $*OUT.output_field_separator()â�¤at /tmp/CQ92eBnSgq:1â�¤------> [32mmy $x; ([33mâ��[31m$, $, $x) = 1, 2, 3; say $x[0mâ�¤    expe…»
18:04 FROGGS ahh, the $, var...
18:04 FROGGS std: my $x; ($, $, $x) = 1, 2, 3; say $x
18:04 camelia std ec3d853: OUTPUT«[31m===[0mSORRY![31m===[0m�Non-declarative sigil is missing its name at /tmp/0Nlk20iYAS line 1:�------> [32mmy $x; ([33m�[31m$, $, $x) = 1, 2, 3; say $x[0m�Use of uninitialized value $first in string eq at STD.pm line 67059.�Use of uninitialized…»
18:04 TimToady yes, we'd have to not check that anymore
18:04 TimToady but might be worth it for the unification
18:04 FROGGS "nice" --> Use of uninitialized value $first in string eq at STD.pm line 67059
18:04 raiph joined #perl6
18:04 FROGGS might be the missing name
18:05 TimToady m: my $x; (anon $, anon $, $x) = 1,2,3; say $x
18:05 camelia rakudo-moar 1ae0b2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RAsDb_0VvQâ�¤anon scoped variables not yet implemented. Sorry. â�¤at /tmp/RAsDb_0VvQ:1â�¤------> [32mmy $x; (anon $[33mâ��[31m, anon $, $x) = 1,2,3; say $x[0mâ�¤    expecting any of:â�¤        s…»
18:05 FROGGS at least it is sorry
18:05 TimToady n: my $x; (anon $, anon $, $x) = 1,2,3; say $x
18:05 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Unsupported use of $, variable; in Perl 6 please use .join() method at /tmp/5cyqsvCL9F line 1:�------> [32mmy $x; (anon $,[33m�[31m anon $, $x) = 1,2,3; say $x[0m��Parse failed��»
18:05 TimToady n: my $x; (anon $ , anon $ , $x) = 1,2,3; say $x
18:05 vaskozl joined #perl6
18:05 camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
18:05 TimToady niecza++ again :)
18:05 FROGGS bah
18:06 FROGGS :P
18:06 TimToady anyway, we could turn those into anons and let the optimizer throw them away :)
18:06 FROGGS that sounds sweet
18:06 FROGGS :o)
18:07 TimToady and then $ as rvalue would just be Any
18:07 TimToady but maybe we could catch that as std currently does
18:08 TimToady well, much like, but not the same
18:08 TimToady would depend on rvalue-ness, not non-decl-ness
18:08 TimToady so you'd have to notice after the initial parse of the $, somehow
18:10 TimToady alternately, just forget about the check, and let people pass $ as function args
18:10 TimToady which might have a use
18:10 TimToady for rw params that you don't care about the result
18:11 TimToady I think I'd be happier with that than with overloading * in signatures
18:11 molaf joined #perl6
18:11 FROGGS sure sure :o)
18:18 a3gis joined #perl6
18:19 dalek perl6-roast-data: 1642c10 | coke++ | / (6 files):
18:19 dalek perl6-roast-data: today (automated commit)
18:19 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/1642c10980
18:35 arturo_ joined #perl6
18:42 dalek Perlito: e806fd8 | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
18:42 dalek Perlito: Perlito5 - regex - quotemeta
18:42 dalek Perlito: review: https://github.com/fglock/Perlito/commit/e806fd8f08
18:47 Rotwang joined #perl6
18:58 vendethiel It's interesting how niecza gets some stuff right
19:00 vaskozl joined #perl6
19:02 dalek Perlito: f4073d4 | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
19:02 dalek Perlito: Perlito5 - regex - cleanup
19:02 dalek Perlito: review: https://github.com/fglock/Perlito/commit/f4073d4635
19:05 hoelzro_ joined #perl6
19:05 yogan_ joined #perl6
19:06 Bucciarati_ joined #perl6
19:07 isacloud___ joined #perl6
19:10 Shozan joined #perl6
19:12 timotimo joined #perl6
19:13 _sri joined #perl6
19:26 dalek perl6-roast-data: efdeeb4 | coke++ | bin/rakudo.jvm.sh:
19:26 dalek perl6-roast-data: rakudo.jvm needs more memory & time than others
19:26 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/efdeeb48db
19:26 [Coke] there. now any remaining failures should be real. Still one in concurrency.
19:31 _sri joined #perl6
19:32 treehug8_ joined #perl6
19:46 vendethiel m: say $*SCRIPT_NAME;
19:46 camelia rakudo-moar 1ae0b2: OUTPUT«===SORRY!===␤Dynamic variable $*SCRIPT_NAME not found␤»
19:46 * vendethiel is trying to get the script dir
19:47 FROGGS m: say $*PROGRAM_NAME
19:47 camelia rakudo-moar 1ae0b2: OUTPUT«/tmp/EMOMdQX3wJ␤»
19:47 FROGGS m: say $*PROGRAM_NAME.directory
19:47 camelia rakudo-moar 1ae0b2: OUTPUT«No such method 'directory' for invocant of type 'Str'␤  in block  at /tmp/Q3DAz9sKrf:1␤␤»
19:47 FROGGS m: say $*PROGRAM_NAME.IO.directory
19:47 camelia rakudo-moar 1ae0b2: OUTPUT«No such method 'directory' for invocant of type 'IO::Handle'␤  in block  at /tmp/8iqrbigFw4:1␤␤»
19:47 FROGGS m: say $*PROGRAM_NAME.IO.dir
19:47 camelia rakudo-moar 1ae0b2: OUTPUT«No such method 'dir' for invocant of type 'IO::Handle'␤  in block  at /tmp/_PgzIpD0H3:1␤␤»
19:47 FROGGS m: say $*PROGRAM_NAME.path.directory
19:47 camelia rakudo-moar 1ae0b2: OUTPUT«/tmp␤»
19:47 FROGGS vendethiel: ^^
19:48 vendethiel ty :-)
19:48 molaf joined #perl6
19:57 vendethiel http://i.imgur.com/yDXWI4r.png No pugs on windows I guess ...
19:57 * vendethiel failed to install pugs on 2 windows and a mac, only stuff he found on SO and such where "reinstall haskell" )=(
20:00 FROGGS :/
20:01 geekosaur pugs is a pain to install, yes
20:09 [Coke] it's still not installed properly on the semi-official testing box. :)
20:09 [Coke] every time I move to another box, i have to pray au will show up and rescue me. :)
20:18 treehug88 joined #perl6
20:18 [Coke] s/pray/hope/, to be more precise.
20:33 FROGGS does this make sense in nqp?
20:33 FROGGS $push_target.push($check);
20:33 FROGGS $push_target := $check;
20:37 effbiai joined #perl6
20:38 kurahaupo joined #perl6
20:40 Alina-malina joined #perl6
20:46 Alina-malina joined #perl6
20:48 timotimo opinions on renaming "SORRY!" to become "BEG YOUR PARDON?"
20:52 FROGGS *g*
20:54 * vendethiel votes to change "sorry" to "s-s-sorry !" with a cute smiley :)
21:06 timotimo moe?
21:08 vendethiel ~
21:08 btyler joined #perl6
21:43 timotimo i feel a bit bad about not being productive today :(
21:44 colomon joined #perl6
22:15 timotimo i suppose i was eductive at least
22:19 grep0r joined #perl6
22:21 ssutch joined #perl6
22:38 lizmat joined #perl6
22:42 BenGoldberg joined #perl6
22:47 ssutch joined #perl6
22:50 BenGoldberg joined #perl6
22:53 arturo_ joined #perl6
22:57 treehug88 joined #perl6
22:59 adu joined #perl6
23:01 effbiai joined #perl6
23:01 ssutch_ joined #perl6
23:03 ashleydev joined #perl6
23:03 [particle] joined #perl6
23:04 xinming_ joined #perl6
23:05 gfldex joined #perl6
23:09 nebuchadnezzar joined #perl6
23:17 Ben_Goldberg joined #perl6
23:20 BenGoldberg joined #perl6
23:21 BenGoldberg_ joined #perl6
23:35 moistcherry joined #perl6
23:40 adu joined #perl6
23:44 nebuchad` joined #perl6

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

Perl 6 | Reference Documentation | Rakudo