Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-01-27

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 Peter_R joined #perl6
00:04 adu joined #perl6
00:04 Adriaaan Hmm k, thanks :D
00:05 raydiak_ m: my $b = Buf.new; $b[$_] = (rand*256).Int for ^1e6; $b[10..20]; # if you want them all up-front, this is faster and lighter on memory, at least under moar, than reifying a 1M-elem lazy list
00:05 camelia rakudo-moar 243c16: ( no output )
00:06 raydiak_ m: my $b = Buf.new; $b[$_] = (rand*256).Int for ^1e6; say $b[10..20];
00:06 camelia rakudo-moar 243c16: OUTPUT«123 40 187 193 207 221 119 32 58 245 82␤»
00:08 raydiak_ m: my $b = Buf.new; $b[$_] = (rand*256).Int for ^1e6; say $b[10..20]; say now - BEGIN now
00:09 camelia rakudo-moar 243c16: OUTPUT«73 31 57 102 32 3 210 95 126 206 237␤10.3548619␤»
00:09 jercos is there currently a way to work with arbitrary FDs in rakudo-moar?
00:10 jercos e.g., ./something.pl 3</tmp/foo, can I read from FD 3, and close it when I'm done?
00:11 jercos I mean, specific to Linux with a mounted /proc I know I can open /proc/PID/fd/3 and get a dup of it
00:16 masak jercos: not to my knowledge.
00:16 raydiak_ would nativecall to posix functions be more portable?
00:17 jercos Probably, at least within Unix-like platforms.
00:17 jercos That would also allow for closing the FD, which to my knowledge can't be done with /proc
00:17 raydiak_ I think the notion of file descriptors like that pretty much rules out windows anyway, no?
00:18 geekosaur I don't think the point was /proc
00:18 Adriaaan thanks raydiak_
00:18 geekosaur perl5 can do open my $fh, '<&3' on both posix and windows
00:18 raydiak_ hm
00:18 raydiak_ what does that do?
00:19 raydiak_ yw Adriaaan :)
00:19 jercos If that dups (which it looks like it should), then it's still not useful for closing the original file descriptor
00:19 jercos which still leaves nativecall as the best option for that specific need
00:19 jercos I'll uh, give it a test :p
00:20 geekosaur that won't close the original, no
00:21 geekosaur if you want sysopen, you're looking at nativecall. probably a wrapper that does the posix or windows versions as appropriate
00:21 geekosaur perl5 probably should have done that except that I don't think the machinery was in place for that kind of thing when sysopen and friends were added
00:22 geekosaur (which iirc was lateish in perl3)
00:28 jercos heh, well, `our sub sysclose(int32) returns int32 is native("libc.so.6") is symbol("close") { * }` works fine for the moment :)
00:37 fil_ joined #perl6
00:37 masak fil_! \o/
00:37 fil_ hey
00:37 fil_ question
00:38 fil_ So I'm looking at https://github.com/supernovus/exemel/blob/master/lib/XML.pm6
00:38 fil_ thinking about how to print out indented XML
00:38 fil_ and I see that I really just want to shim a few lines of code into a couple of methods
00:38 fil_ in that class
00:38 masak *nod*
00:38 fil_ is there some kind of aop I could use to do that?
00:39 masak I would just use multi subs.
00:39 masak why complicate life, eh?
00:39 masak multis are awesome for this.
00:40 masak AOP solves all your problems, but at the cost of someone or something's sanity.
00:40 masak we like sanity
00:40 masak (believe it or not)
00:41 fil_ so the method I want to modify is XML::Element::Str()
00:41 masak oh, an existing method.
00:42 masak I think my multi approach is still viable
00:42 Mouq joined #perl6
00:43 fil_ this method calls itself recursively
00:43 fil_ so it's not clear to me how I would use multi to solve it...
00:43 masak dang :/
00:43 masak no
00:44 Mouq .wrap-ing?
00:44 fil_ I thought I saw some AOP type stuff in the docs
00:44 masak it exists
00:44 masak doesn't mean I endorse it
00:45 fil_ I think they're called Phasers
00:45 masak augmenting stuff is anti-social
00:45 Mouq or doing an `augment` and then doing $indent ~ nextsame
00:45 skids No phasers are flow control.
00:45 skids If you can get the rest of the classes to use a subclass of XML::Element, you could just subclass and supply your own .say.
00:46 skids I mean .Str
00:46 fil_ It's a pretty big method
00:46 fil_ And I only need to change a couple of lines
00:46 fil_ hmmm
00:46 fil_ maybe I need to take a different approach
00:46 fil_ it just seems like a waste to not use the XML structure and recursive print already done...
00:47 fil_ I guess I could just treat it as a string
00:48 fil_ I was hoping there would be some way to intercept the call of XML::Element::Str() and then inject a few lines of code...
00:50 * masak doesn't consider most AOP to be good OOP
00:50 fil_ Well it's not that big a method.  Only 30 lines.  Can I overwrite it?
00:50 masak `augment class`
00:50 fil_ I agree AOP makes for horribly complicated code that's impossible to follow / debug.
00:52 masak it causes a power struggle between auths of classes
00:53 fil_ Can I overwrite a method using augment, or do I need to use supercede?
00:53 fil_ I mean supersede
00:54 masak supersede replaces the class entirely
00:54 fil_ I just need to replace a method
00:54 masak yes
00:57 masak I believe `augment` should work for your use case.
00:58 masak last time I tried, it didn't (and jnthn claimed that was intended)
00:59 masak even if it did work, I know of no good way to refer to the method being replaced from the replacing one
00:59 masak no bad way either, for that matter
01:00 fil_ augment class XML::Element { multi Str() {
01:00 fil_ that takes
01:00 fil_ but within the method I get the error: Variable $.name used where no 'self' is available
01:00 fil_ interesting...
01:00 masak heh
01:00 Mouq multi makes a sub
01:01 Mouq you want multi method
01:01 masak yes
01:02 fil_ I don't know of my multi would take precedence over the original sub, but it won't compile because it doesn't have a self...
01:03 masak you don't want a sub at all
01:03 skids ^^ What Mouq said
01:03 masak `self` is not available in a sub
01:03 masak (or rather, outside of a method)
01:04 fil_ ===SORRY!=== Cannot have a multi candidate for 'Str' when an only method is also in the packa ge 'XML::Element'
01:04 atroxaper joined #perl6
01:04 masak that'd be the original method
01:04 fil_ :-)
01:05 masak it's `only`, meaning not `multi`
01:05 fil_ Well I guess that's a good thing that you can't override other classes methods...
01:06 masak meaning the original author did not intend for you to add a `multi` afterward
01:06 masak yes, but it kinda makes `augment` a lot less powerful
01:06 fil_ ok I guess it's plan B
01:07 fil_ just forget the XML structure and treat it as a string match/replace problem
01:07 masak or just copy/modify the logic in your own routine
01:08 fil_ I'd need to do the whole class because of the recursion
01:08 fil_ I want to make something other ppl can use
01:11 raiph fil_: did you see http://irclog.perlgeek.de/perl6/2015-01-24#i_9997806?
01:11 yoleaux 23 Jan 2015 12:53Z <psch> raiph: i apparently missed fixing marshalling of List-y types for non-overloaded methods.  that's the error you're seeing with "method/update/([B)V"
01:13 raiph fil_: I think FROGGS was suggesting that A) you can use his new module and B) .gist is a better place for indenting logic than .Str
01:16 fil_ looking at XML::LibXML now
01:16 fil_ FROGGS says "will soon be able to prettify XML"
01:16 fil_ How soon is soon?
01:18 fil_ what does "gist" mean?
01:18 raiph Returns a string representation of the invocant, optimized for fast recognition by humans.
01:19 japhb So I'm thinking of pitching Perl 6 to people who are on the fence about it as an excellent language for prototyping, because of the multi-paradigm aspect that makes that statement true almost whatever the "final" language will be, combined with much more compact syntax than most other languages, with the follow-up that they may find the prototype is good enough to not need total replacement (at least in the post-6.0.0 era).  Thoughts?
01:21 fil_ I'd investigate how mature the bindings are to front-end and db frameworks
01:22 japhb fil_: Meaning, without mature for those two things, it's not ready to pitch as a prototyping language?
01:22 fil_ gist() has the same problem as Str() so I can't override it.  I'm making good progress with the string approach.  I won't bother sharing it as it sounds like a more permanent solution is coming.
01:23 colomon japhb: I’ve had some decent luck prototyping in p6.  Though in the biggest case the project got canceled before I could start mangling it into C++...
01:23 fil_ I'm new to perl6, so I'm not a good person to ask.  But in my experience, prototyping needs speed, and speed needs no-brainer bindings to front-end and back-end.
01:23 skids Also now we have Inline::Perl5 to take the pressure off the ecosystem needs a bit.
01:24 fil_ node.js / angular is good for prototyping.
01:24 fil_ it has it all
01:24 fil_ it could be that perl6 has it too
01:24 fil_ perl6 is a dream language if you're doing parsing / integration type work
01:26 masak yep.
01:26 masak 'night, #perl6
01:26 colomon o/
01:29 japhb fil_: OK, good input, thank you.
01:29 japhb skids: Decent point.  Last I looked it could use a little more sugar to make it really smooth, but as a technology, very cool.
01:34 Peter_R I often see a lot of cool features of p6 using very unreadable looking syntax though :s
01:35 Peter_R I hope there is a longer hand, more self explanatory way to use those things
01:38 yeahnoob joined #perl6
01:44 skids Peter_R: people like to show off, is all.
01:44 telex joined #perl6
01:44 Peter_R Ah, thank goodness
02:00 vendethiel Peter_R: right. it's just a "I can do it that way, lol" like we were doing with indirectly named calls earlier
02:02 Peter_R joined #perl6
02:05 japhb Peter_R: Yeah, generally you have a pretty smooth knob for complexity per character of code in Perl 6.  We who have been here a while tend to use shorthand, or even as mentioned above play around and show off.  But you can definitely be more verbose and approachable to beginners, while *still* being more compact than many other languages.
02:06 Peter_R joined #perl6
02:12 Peter_R joined #perl6
02:17 Mouq moritz: So I'm going to manually index the various bits from regexes.pod via X<|> (+, *, <[ ]>, <-[ ]>, etc.)... my question is what category should these things be? "Regex Syntax"? "Regex Metacharacter"? My concern is that the category name(s) should be pithy so it actually fits in the search suggestion list
02:24 skids I dunno "Rx Slang?"
02:27 Mouq "℞ Metachar" seems a little far
02:54 atroxaper joined #perl6
03:02 vendethiel joined #perl6
03:12 Ben_Goldberg joined #perl6
03:18 Patterner joined #perl6
03:27 chenryn joined #perl6
03:27 vendethiel joined #perl6
03:29 skids joined #perl6
03:31 jluis_ joined #perl6
03:48 noganex joined #perl6
03:49 dalek doc: a3701a0 | Mouq++ | lib/Language/regexes.pod:
03:49 dalek doc: Index the various bits of regex syntax
03:49 dalek doc: review: https://github.com/perl6/doc/commit/a3701a0da9
03:49 dalek doc: 36a7751 | Mouq++ | lib/Perl6/TypeGraph/Viz.pm:
03:49 dalek doc: Fix deprecated code warning (uniq -> unique)
03:49 dalek doc: review: https://github.com/perl6/doc/commit/36a77510f6
04:24 TimToady m: say (1..100000).roll(1000)
04:24 camelia rakudo-moar 243c16: OUTPUT«95331 55844 33254 83882 47805 18876 76896 10775 62979 92343 18244 38064 40059 4978 35662 48270 68573 3512 32207 65144 87412 39775 86642 1309 33914 2836 62423 57913 74684 30618 89642 72568 67256 56071 41681 15280 24688 77655 89858 40629 87495 55608 52267 14…»
04:24 TimToady that's probably a better way to produce lots of random integers
04:25 TimToady I guess the original wanted (^100000).roll(1000000) or so
04:29 TimToady wrt the xml method, I'd want to know what in the design prevents overriding/wrapping a method via normal subclassing
04:30 TimToady something is behaving non-virtually to make that difficult, it would seem
04:41 BenGoldberg joined #perl6
04:53 chenryn joined #perl6
05:17 vendethiel joined #perl6
05:44 dalek rakudo/coerce-multi: 9faa0e7 | hoelzro++ | src/ (2 files):
05:44 dalek rakudo/coerce-multi: Start on implementation of COERCE
05:44 dalek rakudo/coerce-multi:
05:44 dalek rakudo/coerce-multi: COERCE is a multi that takes a value and a type object; users wishing
05:44 dalek rakudo/coerce-multi: to define special semantics for how a value of a given type is coerced
05:44 dalek rakudo/coerce-multi: to other type may implement the appropriate candidate for COERCE to
05:44 dalek rakudo/coerce-multi: perform that coercion.  The default is call a method of the same name
05:44 dalek rakudo/coerce-multi: as the type object's class on the value.
05:44 dalek rakudo/coerce-multi:
05:44 dalek rakudo/coerce-multi: This implementation doesn't work on; it fails a few spec tests, because
05:44 dalek rakudo/coerce-multi: sometimes, it seems, COERCE refers to a Null repr?
05:44 dalek rakudo/coerce-multi: review: https://github.com/rakudo/rakudo/commit/9faa0e765e
05:45 hoelzro so I started working on an implementation of COERCE, per the discussion last week
05:45 hoelzro unfortunately, some of the spec tests fail on my code; it seems that in BOOTSTRAP.nqp, it can't find COERCE, which I defined in Any.pm
05:45 hoelzro the line in question is this: https://github.com/rakudo/rakudo/blob/coerce-multi/src/Perl6/Metamodel/BOOTSTRAP.nqp#L2649
05:46 hoelzro if someone could help me diagnose the problem, I'd be grateful!
05:46 hoelzro sleep &
05:50 moritz Mouq: I'd index them just as "regex \N" or so
05:52 Mouq moritz: Hmm, yeah
05:53 dalek doc: 1c80bad | Mouq++ | lib/Language/regexes.pod:
05:53 dalek doc: Classify regex metachars as "regex". moritz++
05:53 dalek doc: review: https://github.com/perl6/doc/commit/1c80badd92
05:55 moritz just for the record, this is the first time I'm doing such big/complex documentation project, so my opinion is as good as any other
05:58 vendethiel joined #perl6
06:07 Mouq moritz: Right, but a) you're really good at documentation b) I hadn't considered just using "regex", kind of an "Oh, duh" moment there
06:31 bjz joined #perl6
06:32 kurahaupo joined #perl6
06:33 atroxaper joined #perl6
06:40 xfix joined #perl6
06:50 erdic joined #perl6
06:57 Rounin joined #perl6
07:03 erdic joined #perl6
07:20 dj_goku joined #perl6
07:20 dj_goku joined #perl6
07:22 FROGGS joined #perl6
07:22 vendethiel joined #perl6
07:25 kaleem joined #perl6
07:26 gfldex joined #perl6
07:28 darutoko joined #perl6
07:46 bjz joined #perl6
08:05 prime- joined #perl6
08:09 [Tux] FWIW The Nil is only droppen on assignment
08:09 vendethiel joined #perl6
08:09 [Tux] m: (1,Nil,2).perl.say
08:09 camelia rakudo-moar 243c16: OUTPUT«(1, Nil, 2)␤»
08:10 [Tux] m: my@x=(1,Nil,2);@x.perl.say
08:10 camelia rakudo-moar 243c16: OUTPUT«Array.new(1, 2)␤»
08:12 zakharyas joined #perl6
08:25 rindolf joined #perl6
08:29 dalek doc: 2385768 | moritz++ | lib/Language/regexes.pod:
08:29 dalek doc: Prevent a newline from breaking apart a code block
08:29 dalek doc: review: https://github.com/perl6/doc/commit/2385768913
08:29 moritz feedback to the pod folks: I find highly annoying that newlines in indented code blocks break up that code block into two
08:32 yeahnoob joined #perl6
08:32 xinming joined #perl6
08:32 virtualsue joined #perl6
08:33 rurban_ joined #perl6
08:38 vendethiel joined #perl6
08:43 yeahnoob joined #perl6
08:44 abraxxa joined #perl6
08:51 jluis joined #perl6
09:10 yeahnoob joined #perl6
09:13 dalek rakudo/nom: da6755b | lizmat++ | src/core/Any.pm:
09:13 dalek rakudo/nom: Fix adverbed slices on the JVM
09:13 dalek rakudo/nom:
09:13 dalek rakudo/nom: Apparently, doing an nqp::atkey on an key that does not exist, creates some
09:13 dalek rakudo/nom: internal confusion on the JVM, causing adverbed slice breakage after my last
09:13 dalek rakudo/nom: optimization in that area.
09:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da6755bc51
09:13 brrt joined #perl6
09:13 brrt \o
09:14 brrt just a thought that occured to me; in python something i'd really want is a shorthand for 'does this compute without raising an exception, and if so, what is it's value'....
09:14 brrt that's what failures are for, aren't they
09:16 nwc10 are you prepared to wait forever for your answer? :-)
09:16 nwc10 I believe a certain Turing chap would have advice for you if you wanted to say "No"
09:16 brrt hmm
09:16 brrt that's not really the kind of thing i'm aiming at
09:17 nwc10 so, "not sure" is an acceptable answer from your function?
09:17 brrt if this only applies to guaranteed-to-terminate functions, like most coercions are, then i'm quite happy
09:17 brrt m: my $x = "foo"; say $x.Int;
09:17 camelia rakudo-moar 243c16: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:14131␤  in method Int at src/gen/m-CORE.setting:6334␤  in block <unit> at /tmp/AISzqMEl5J:1…»
09:18 brrt right, and that'd be something where i'd want a softer version, something that said '.IntPls'
09:18 brrt :-)
09:19 brrt or even: my $x = please $y.Int;
09:20 brrt which i'd think be the perlish thing to do
09:20 chenryn joined #perl6
09:20 andreoss joined #perl6
09:20 brrt and my suspicion is that this is already in the language and that i don't know it
09:24 FROGGS m: my $x = "foo"; say $x.?Int;
09:24 camelia rakudo-moar 243c16: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:14131␤  in method Int at src/gen/m-CORE.setting:6334␤  in block <unit> at /tmp/nCsrdHsP2x:1…»
09:24 FROGGS m: my $x = "foo"; say $x.?hurz;
09:24 camelia rakudo-moar 243c16: OUTPUT«Nil␤»
09:24 FROGGS m: my $x = "foo"; say $x.hurz;
09:24 camelia rakudo-moar 243c16: OUTPUT«No such method 'hurz' for invocant of type 'Str'␤  in block <unit> at /tmp/lbuCWDQvQ_:1␤␤»
09:25 FROGGS m: my $x = "foo"; say $x.Int.WHAT;
09:25 camelia rakudo-moar 243c16: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:14131␤  in method Int at src/gen/m-CORE.setting:6334␤  in block <unit> at /tmp/QCSjRVUTD3:1…»
09:25 FROGGS so, it dies instead of failing
09:26 brrt m: my $x = "foo"; try { say $x.Int; } CATCH { say "OH NO"; }
09:26 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0D481pW9JVâ�¤Two terms in a rowâ�¤at /tmp/0D481pW9JV:1â�¤------> [32mmy $x = "foo"; try { say $x.Int; } [33mâ��[31mCATCH { say "OH NO"; }[0mâ�¤    expecting any of:â�¤        infix stopperâ�¤   …»
09:26 mvuets joined #perl6
09:26 brrt ugh
09:26 FROGGS m: my $x = "foo"; try { say $x.Int; CATCH { say "OH NO"; } }
09:26 camelia rakudo-moar 243c16: OUTPUT«OH NO␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:14131␤  in method Int at src/gen/m-CORE.setting:6334␤  in block <unit> at /tmp/SNMDAC…»
09:26 FROGGS m: my $x = "foo"; try { say $x.Int; CATCH { default { say "OH NO" } } }
09:26 camelia rakudo-moar 243c16: OUTPUT«OH NO␤»
09:27 FROGGS hmmm
09:27 FROGGS there was an RT ticket about that IIRC
09:28 brrt about which of them
09:28 FROGGS about not catchable exceptions and .?foo misbehaviour
09:30 dakkar joined #perl6
09:32 psch http://irclog.perlgeek.de/perl6/2014-10-25#i_9564960 # this is related
09:32 psch coercion passes through CATCH for some reason currently, which is buggy
09:32 psch i'm not aware of any .?-misbehavior
09:33 psch #123053 a ticket
09:33 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123053
09:47 Kristien joined #perl6
09:47 Kristien fortune just told me a quote from TimToady
09:47 Kristien does this mean today is my lucky day?
09:52 moritz Kristien: it means today is your Perl 6 day :-)
09:52 Kristien :D
09:57 espadrine joined #perl6
09:58 yeahnoob joined #perl6
10:03 kjs_ joined #perl6
10:04 brrt oh, try as expression already makes a failure
10:04 brrt that's more sensible than my suggestion
10:04 kaare_ joined #perl6
10:09 psch hm, &die goes past try but fail doesn't, except in "foo".Numeric..?
10:10 psch m: sub foo { die "bar" }; say try foo;
10:10 camelia rakudo-moar 243c16: OUTPUT«Nil␤»
10:10 psch m: class Foo { method Numeric { fail "can't .Numeric Foo!" }; }; my $foo = Foo.new; say (try $foo.Numeric).WHAT; say ($foo.?Numeric).perl
10:10 camelia rakudo-moar 243c16: OUTPUT«(Failure)␤Failure.new(exception => X::AdHoc.new(payload => "can't .Numeric Foo!"))␤»
10:10 psch m: class Foo { method Numeric { die "can't .Numeric Foo!" }; }; my $foo = Foo.new; say (try $foo.Numeric).WHAT; say ($foo.?Numeric).perl
10:10 camelia rakudo-moar 243c16: OUTPUT«Nil␤can't .Numeric Foo!␤  in method Numeric at /tmp/9AV_wkjPUF:1␤  in block <unit> at /tmp/9AV_wkjPUF:1␤␤»
10:10 psch i'm confused :P
10:12 fhelmberger joined #perl6
10:14 psch m: sub foo { fail "bar }; say try foo
10:14 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/2X3zVQPoANâ�¤Unable to parse expression in double quotes; couldn't find final '"' â�¤at /tmp/2X3zVQPoAN:1â�¤------> [32msub foo { fail "bar }; say try foo[33mâ��[31m<EOL>[0mâ�¤    expecting any …»
10:14 psch m: sub foo { fail "bar" }; say try foo
10:14 camelia rakudo-moar 243c16: OUTPUT«bar␤  in method gist at src/gen/m-CORE.setting:14135␤  in sub say at src/gen/m-CORE.setting:16907␤  in block <unit> at /tmp/F0h4_hdEjv:1␤␤»
10:14 psch which one of sub and method is wrong there? it seems to me like that should be consistent...
10:14 psch in sub, fail goes through try, in method die goes through try
10:19 pecastro joined #perl6
10:29 osfameron joined #perl6
10:51 vendethiel joined #perl6
10:59 virtualsue left #perl6
11:04 telex joined #perl6
11:12 kjs_ joined #perl6
11:18 vendethiel joined #perl6
11:22 Kristien joined #perl6
11:25 lizmat m: say (^10).map: { $_ if $_ > 5 }   # this idiom will not work post GLR, right ?
11:25 camelia rakudo-moar 243c16: OUTPUT«6 7 8 9␤»
11:26 lizmat m: say (^10).map: { next unless $_ > 5; $_ }   # a better idiom?
11:26 camelia rakudo-moar 243c16: OUTPUT«6 7 8 9␤»
11:26 vendethiel m: say (^10).grep: { $_ > 5 }; # the better idiom?
11:26 camelia rakudo-moar 243c16: OUTPUT«6 7 8 9␤»
11:27 lizmat vendethiel: yes, but grep is built on top of map  :-)
11:27 vendethiel that seems like an implementation detail, tho :)
11:27 lizmat in any case, it's not really an answer to my question :-)
11:28 andreoss m:  say (^10).map: { last if $_ > 5 ; $_ }
11:28 camelia rakudo-moar 243c16: OUTPUT«0 1 2 3 4 5␤»
11:29 lizmat I think the first case depends on Nil disappearing in lists when it shouldn't
11:30 Kristien vendethiel: what did you mean by flattening yesterday?
11:30 vendethiel Kristien: flattening in general
11:31 Kristien could you give an example?
11:31 vendethiel m: for (1, (2, (3, (4)))) { .say }
11:31 camelia rakudo-moar 243c16: OUTPUT«1␤2␤3␤4␤»
11:31 masak good afternoon, #perl6
11:32 Kristien vendethiel, Oh I see.
11:33 Kristien m: for [1, [2, [3, [4]]]] { .say }
11:33 camelia rakudo-moar 243c16: OUTPUT«1 2 3 4␤»
11:33 Kristien m: for [1, [2, [3, [4]]]] { .gist.say }
11:33 camelia rakudo-moar 243c16: OUTPUT«1 2 3 4␤»
11:33 Kristien :O
11:33 psch Kristien: that's subject to change, see http://pmthium.com/2014/10/apw2014/
11:33 psch eh, wait
11:34 psch it's not, op-ish for stays flattening iirc
11:34 psch anyway, pmichaud++'s blog has details about how we rather want it
11:35 vendethiel Kristien: [] doesn't flatten
11:36 vendethiel m: for [1, [2, [3, [4]]]] { .perl.say; say "||";}
11:36 camelia rakudo-moar 243c16: OUTPUT«[1, [2, [3, [4]]]]␤||␤»
11:36 Kristien oh right should use .perl not .gist
11:36 psch m: my @a = 1,2,3; my @b = 0, @a; .perl.say for @b
11:36 camelia rakudo-moar 243c16: OUTPUT«0␤1␤2␤3␤»
11:37 psch m: my @a = 1,2,3; my $b = [0, @a]; .perl.say for $b
11:37 camelia rakudo-moar 243c16: OUTPUT«[0, 1, 2, 3]␤»
11:37 psch m: my @a = 1,2,3; my $b = [0, @a]; .perl.say for @$b
11:37 camelia rakudo-moar 243c16: OUTPUT«0␤1␤2␤3␤»
11:39 masak for some reason, no other language has looked at Perl and gone "wow, flattening! gotta copy that feature!"...
11:39 vendethiel yeah, for "some" reason ;-)
11:39 Kristien JavaScript did it with futures
11:39 Kristien and it turned out to be a horrible idea in that case
11:39 masak Kristien: really? url?
11:39 Kristien goodbye generic code
11:40 psch lizmat: how do you expect (^10).map: { $_ if $_ > 5 } do turn out post GLR? having ^10 inside $_ and returning the whole Range?
11:40 Kristien masak: http://robotlolita.me/2013/06/28/promises-considered-harmful.html#thenable-assimilation
11:41 lizmat psch: good question: I would need to look at pmichaud's post again  :-)
11:41 Kristien so instead of having map and flatMap (which you should), you have then, which does both depending on the return value of the callback has a property with a certiain name
11:42 Kristien s/depending on/depending on whether/
11:44 lizmat psch: that would iterate over a single range object
11:44 lizmat m: say (^10).flat.map: { next unless $_ > 5; $_ }   # need to flatten the range post GLR
11:44 camelia rakudo-moar 243c16: OUTPUT«6 7 8 9␤»
11:45 lizmat m: say (^10).for: { next unless $_ > 5; $_ }   # would still flatten post GLR
11:45 camelia rakudo-moar 243c16: OUTPUT«6 7 8 9␤»
11:45 psch lizmat: that's how i read it as well, with (^10).for: { ... } probably being the best candidate for a "new" idiom
11:46 lizmat psch: yep
11:46 psch (^10, 10..^20).map: { #`[ work on two Ranges ] }
11:46 psch i have that right too, right? :)
11:49 lizmat psch: yeah, that's the idea
11:57 masak Kristien: oh, that discussion.
11:57 Kristien yes :D
11:57 masak Kristien: I mentally summarized it as "the JavaScript world split between formalists (in minority) and people who just want to get stuff done"
11:58 masak I'm usually on the formalists' side, and they usually end up being "right".
11:58 masak but I don't fully grok what this discussion was about, despite reading lots about it.
11:58 masak including one gargantual github issue in some promises repo.
11:59 dalek rakudo/nom: f65b4c0 | lizmat++ | src/core/Any.pm:
11:59 dalek rakudo/nom: Fix post-GLR mapping behaviour
11:59 dalek rakudo/nom:
11:59 dalek rakudo/nom: (^10).for: { $_ if $_ > 5 } will not work post-GLR: the grep family and all of
11:59 dalek rakudo/nom: the filtering slice adverbs were depending on this behaviour.
11:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f65b4c0f5b
12:04 BenGoldberg joined #perl6
12:10 virtualsue joined #perl6
12:22 masak gargantuan*
12:25 lizmat would it ever make sense to use "gather map {}, @list" instead of "gather for @list {}"  ?
12:25 masak lizmat: that's hard to answer.
12:26 lizmat I mean, inside the map we do a conditional take
12:26 masak lizmat: but I do have a "useless use of gather/take" meme, which sometimes makes me replace "gather/take" with just "map".
12:26 lizmat seems like that's mixing metaphors
12:26 masak yes, that's my feeling too.
12:26 masak but I wouldn't go so far as outlawing it, or saying it would never make sense.
12:27 masak for example, conceivably, the `map` might compute something, and *also*, at the same time, emit stuff through `take`.
12:27 lizmat yeah, but it doesn't in the case I'm looking at
12:28 masak oh, I didn't know you had a case. you said "ever", which made me go hunt for contingenceis.
12:28 masak contingencies*
12:28 lizmat yeah, ok, so there *might* be a case
12:28 masak also, you managed to trigger my "no-one will *ever* need this" fallacy alarm.
12:29 lizmat hehe
12:29 lizmat ok, fair enough
12:31 ab5tract lizmat: are you saying that the two are functionally equivalent? i think flattening will be the "list context"-like gotcha for perl6 .. so when it is possible to remove equivalent approaches, it reduces the strain on the programmer to remember whether this different way of doing a thing actually does anything differently, or if its just a different way to say it
12:32 dalek rakudo/nom: d671638 | lizmat++ | src/core/List.pm:
12:32 dalek rakudo/nom: Stop mixing the metaphors!
12:32 dalek rakudo/nom:
12:32 dalek rakudo/nom: Commit 52262988372 added a gather to fix $a.= uniq.  But that made the map
12:32 dalek rakudo/nom: a bit bogus.  So use a loop instead of a map, for clearer code.  This does
12:32 dalek rakudo/nom: not seem to have any efficiency effects.
12:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d671638151
12:36 ab5tract for instance, is map { }, @things the same as map { } <=== @things ? i think there is an optimal level (N) of linguistic variety after which the advantages of saying things N+Y different ways diminish
12:37 * ab5tract might be committing heresy?
12:38 rmgk_ joined #perl6
12:40 psch ab5tract: ==> and <== are strictly lazy, while map { }, @list is mostly lazy
12:40 hoelzro good morning, #perl6!
12:41 masak \o
12:41 psch hoelzro \o
12:41 psch ab5tract: that distinction is NYI though, afair
12:41 ab5tract psch: so mostly lazy would be, "lazy until demonstrably finite" ?
12:42 psch S07:Levels of laziness
12:42 synopsebot Link: http://perlcabal.org/syn/S07.html#Levels_of_laziness
12:42 ab5tract hiya hoelzro :)
12:42 * ab5tract notices that synopsebot is still linking to perlcabal
12:43 psch ab5tract: so mostly lazy is "eager until encountering something lazy"
12:43 psch * + caveats, i suppose
12:43 masak ab5tract: https://github.com/tadzik/synopsebot
12:44 hoelzro is there a special thing one has to do when invoking Perl 6 multis from NQP land?
12:44 masak don't think so
12:45 hoelzro I'm trying to implement my COERCE idea, but some of the spec tests fail because of "Cannot invoke this object (REPR: Null, cs = 0)"
12:45 psch hoelzro: for the deprecation for :from<java> i got the sub with $*W.find_symbol, but i don't think you have $*W in BOOTSTRAP
12:45 ab5tract okay, i'll withhold tuits from worrying about levels of laziness, map {} vs .map, etc until after the GLR
12:45 hoelzro hmm
12:46 psch hoelzro: you could try bindhllsym and getcurhllsym, like it's done for the ModuleLoader, but i don't know how sensible that is or if it actually works
12:47 psch *gethllsym rather, getcurhllsym does lexical lookup i think
12:48 Kristien joined #perl6
12:48 FROGGS the 'cur' is about the current high level language, like 'nqp' or 'perl6'
12:48 psch ah ok
12:49 chenryn joined #perl6
12:49 Kristien Should .perl use fully qualified names?
12:50 kaleem joined #perl6
12:53 Kristien m: module M { class C { } }; M::C.new.perl
12:53 camelia rakudo-moar 243c16: ( no output )
12:53 Kristien m: module M { class C { } }; M::C.new.perl.say
12:53 camelia rakudo-moar 243c16: OUTPUT«C.new()␤»
12:53 Kristien hmm
12:53 chenryn joined #perl6
12:54 kjs_ joined #perl6
12:54 psch m: { die "foo"; CATCH { default { .perl.say } } }
12:54 camelia rakudo-moar 243c16: OUTPUT«X::AdHoc.new(payload => "foo")␤»
12:55 psch m: module M { class C { method perl { "M::C.new()" } } }; M::C.new.perl.say
12:55 camelia rakudo-moar 243c16: OUTPUT«M::C.new()␤»
12:56 test123456 joined #perl6
13:03 ab5tract m:  module Q { my $deep = 15; my sub ex( $x ) { $deep * 15 }; our sub give_ex { &ex }  }; my $sub = Q::give_ex; $sub(88).say;
13:03 camelia rakudo-moar 243c16: OUTPUT«225␤»
13:04 psch m: module M { class C { } }; my $c = EVAL M::C.new.perl; say $c.perl # it does break the .perl contract like this
13:04 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling EVAL_0â�¤Undeclared name:â�¤    C used at line 1â�¤â�¤Â»
13:04 ab5tract does the value of $deep get inlined into &ex? or does it do a lexotic lookup?
13:11 chenryn joined #perl6
13:14 sqirrel joined #perl6
13:15 andreoss joined #perl6
13:16 ab5tract and how could i determine which of the two is happening, if possible?
13:22 atroxaper joined #perl6
13:24 ab5tract masak: that link implies that synopsebot already should be pointing to design.perl6.org
13:29 adu joined #perl6
13:30 GREATFOLLOW joined #perl6
13:31 GREATFOLLOW hello guys
13:32 lizmat GREATFOLLOW o/
13:33 GREATFOLLOW left #perl6
13:39 hoelzro thanks for the help, everyone! I got it working
13:40 dalek rakudo/coerce-multi: 0ef2b67 | hoelzro++ | src/ (2 files):
13:40 dalek rakudo/coerce-multi: Start on implementation of COERCE
13:40 dalek rakudo/coerce-multi:
13:40 dalek rakudo/coerce-multi: COERCE is a multi that takes a value and a type object; users wishing
13:40 dalek rakudo/coerce-multi: to define special semantics for how a value of a given type is coerced
13:40 dalek rakudo/coerce-multi: to other type may implement the appropriate candidate for COERCE to
13:40 dalek rakudo/coerce-multi: perform that coercion.  The default is call a method of the same name
13:40 dalek rakudo/coerce-multi: as the type object's class on the value.
13:40 dalek rakudo/coerce-multi:
13:40 dalek rakudo/coerce-multi: This implementation doesn't work on; it fails a few spec tests, because
13:40 dalek rakudo/coerce-multi: sometimes, it seems, COERCE refers to a Null repr?
13:40 dalek rakudo/coerce-multi: review: https://github.com/rakudo/rakudo/commit/0ef2b67d19
13:40 kjs_ joined #perl6
13:42 ab5tract hoelzro++
13:44 dalek rakudo/coerce-multi: c3de05f | hoelzro++ | src/ (2 files):
13:44 dalek rakudo/coerce-multi: Start on implementation of COERCE
13:44 dalek rakudo/coerce-multi:
13:44 dalek rakudo/coerce-multi: COERCE is a multi that takes a value and a type object; users wishing
13:44 dalek rakudo/coerce-multi: to define special semantics for how a value of a given type is coerced
13:44 dalek rakudo/coerce-multi: to other type may implement the appropriate candidate for COERCE to
13:44 dalek rakudo/coerce-multi: perform that coercion.  The default is call a method of the same name
13:44 dalek rakudo/coerce-multi: as the type object's class on the value.
13:44 dalek rakudo/coerce-multi: review: https://github.com/rakudo/rakudo/commit/c3de05fe54
13:44 hoelzro sorry for the spam
13:44 hoelzro the part of the commit message saying how it doesn't work was no longer relevant =)
13:53 dalek roast/coerce-multi: 03ed810 | hoelzro++ | S02-types/COERCE.t:
13:53 dalek roast/coerce-multi: Start implementing tests for COERCE
13:53 dalek roast/coerce-multi: review: https://github.com/perl6/roast/commit/03ed810fc6
13:54 Kristien joined #perl6
14:00 * ab5tract must have been really tired when reading the lexotic stuff in the synopses, as it is not related at all to his earlier question
14:01 ab5tract i was using the perl6 spec as bed time reading over the holidays, which clearly is a double-edged sword ;)
14:03 dalek rakudo/coerce-multi: 27c6f9a | hoelzro++ | t/spectest.data:
14:03 dalek rakudo/coerce-multi: Use new COERCE test in roast
14:03 dalek rakudo/coerce-multi: review: https://github.com/rakudo/rakudo/commit/27c6f9adb8
14:08 btyler joined #perl6
14:09 dalek specs/newio: e315952 | util++ | S (10 files):
14:09 dalek specs/newio: Fix typos.
14:09 dalek specs/newio: review: https://github.com/perl6/specs/commit/e315952ce8
14:09 dalek specs/newio: 2f12be0 | lizmat++ | S (10 files):
14:09 dalek specs/newio: Merge branch 'master' into newio
14:09 dalek specs/newio: review: https://github.com/perl6/specs/commit/2f12be01bf
14:10 Kristien can you create a lazy list from a first element and a function that returns a lazy list that is the tail?
14:11 lizmat isn't that what ... is all about ?
14:11 lizmat like the fibonacci sequence?
14:12 Kristien ... is stub
14:12 lizmat m: my @fib := 0, 1, *+* ... *;  say @fib[^20]
14:12 camelia rakudo-moar 243c16: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
14:13 lizmat m: my @fib := 0, 1, {$^a+$^b} ... *;  say @fib[^20]
14:13 camelia rakudo-moar 243c16: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
14:14 lizmat m: my @fib := 0, 1, -> $a, $b {$a+$b} ... *;  say @fib[^20]
14:14 camelia rakudo-moar 243c16: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
14:14 Kristien what does * do there?
14:14 lizmat at the end?  represent Infinity
14:14 lizmat m: my @fib := 0, 1, -> $a, $b {$a+$b} ... Inf;  say @fib[^20]
14:14 camelia rakudo-moar 243c16: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
14:15 lizmat m: my @fib := 0, 1, sub ($a, $b) {$a+$b} ... *;  say @fib[^20]
14:15 camelia rakudo-moar 243c16: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
14:15 ab5tract well, technically it curries to the provided index, right? which is functionally the same as Inf
14:15 Kristien are Code objects special in lists?
14:15 lizmat in the context of the ... list generator, yes
14:15 lizmat as opposed to the .. Range operator
14:15 psch m: say &infix:<...>.signature
14:15 camelia rakudo-moar 243c16: OUTPUT«use of uninitialized value $name of type Any in string context  in block <unit> at /tmp/vNqhpz6pFL:1␤␤:(Any |)␤»
14:16 psch m: say &infix:<...>.^signature
14:16 camelia rakudo-moar 243c16: OUTPUT«No such method 'signature' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/yK9EmOT0_o:1␤␤»
14:16 Kristien ohh I found it http://doc.perl6.org/language/operators#infix_...
14:16 psch huh
14:16 Kristien I was looking at yada yada yada :P
14:17 vendethiel haha
14:17 vendethiel overloaaading
14:18 * psch wonders about an infix:<???> and infix:<!!!> to complement the stubby terms
14:18 vendethiel m: class infix:<foo> {}; 5 foo 6
14:18 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CExhyTDCGFâ�¤Two terms in a rowâ�¤at /tmp/CExhyTDCGF:1â�¤------> [32mclass infix:<foo> {}; 5 [33mâ��[31mfoo 6[0mâ�¤    expecting any of:â�¤        infix stopperâ�¤        infix or meta-infixâ�¤ …»
14:18 vendethiel :P
14:18 psch ...class?
14:18 vendethiel infix classes are fun!
14:18 Kristien nice
14:18 vendethiel but they don't exist.
14:19 Kristien m: say 1, 2, 4 ... 257;
14:19 camelia rakudo-moar 243c16: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
14:20 Kristien most interesting
14:20 vendethiel it's not trying to guess an end
14:20 psch the RHS of ... is smartmatched
14:20 vendethiel m: say 1, 2, 4 ... * > 257
14:20 camelia rakudo-moar 243c16: OUTPUT«1 2 4 8 16 32 64 128 256 512␤»
14:20 vendethiel m: say 1, 2, 4 ...^ * > 257
14:20 camelia rakudo-moar 243c16: OUTPUT«1 2 4 8 16 32 64 128 256␤»
14:20 vendethiel m: say 1, 2, 4 ...^^ * > 257
14:20 camelia rakudo-moar 243c16: OUTPUT«1 2 4 8 16 32 64 128 256␤»
14:20 vendethiel uhm.
14:21 vendethiel m: say 1, 2, 4 ...^^^^^ * > 257
14:21 camelia rakudo-moar 243c16: OUTPUT«1 2 4 8 16 32 64 128 256␤»
14:21 Kristien Oh I thought it'd use <= :P
14:21 vendethiel right...
14:21 psch m: say "a", "c", "e" ... A
14:21 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/n_ha5IYpWlâ�¤Undeclared name:â�¤    A used at line 1â�¤â�¤Â»
14:21 psch m: say "a", "c", "e" ... "A"
14:21 camelia rakudo-moar 243c16: OUTPUT«a c e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq c…»
14:21 psch eh, right...
14:22 vendethiel m: say +("a", "c", "e" ... "A")
14:22 psch vendethiel: timeout
14:22 vendethiel :-)
14:22 camelia rakudo-moar 243c16: OUTPUT«(timeout)»
14:22 Kristien it seems dangerous to have such behavior
14:23 psch m: say ("a", "c", ... "aa").elems
14:23 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/zppNNwuaqAâ�¤Comma found before apparent series operator; please remove comma (or put parensâ�¤    around the ... listop, or use 'fail' instead of ...)â�¤at /tmp/zppNNwuaqA:1â�¤------> [32msay ("a"…»
14:23 psch m: say ("a", "c" ... "aa").elems
14:23 camelia rakudo-moar 243c16: OUTPUT«26␤»
14:23 Kristien 1, 4 ... 256; is ambiguous
14:23 Kristien it could be +3 or *4
14:23 psch m: say 1, 4 ... 256;
14:23 camelia rakudo-moar 243c16: OUTPUT«1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205 208 211 214 217 …»
14:23 lizmat Kristien: I think there are rules specced for that
14:23 psch m: say 1, 4, 8 ... 256;
14:23 camelia rakudo-moar 243c16: OUTPUT«===SORRY!===␤Unable to deduce arithmetic or geometric sequence from 1,4,8 (or did you really mean '..'?)␤»
14:23 Kristien m: say 1, 4, 16 ... 256;
14:23 camelia rakudo-moar 243c16: OUTPUT«1 4 16 64 256␤»
14:25 xinming joined #perl6
14:27 Kristien make it pattern match on OEIS :P
14:30 geekosaur I think it does already
14:33 lestrrat joined #perl6
14:35 xinming joined #perl6
14:35 vendethiel m: say (1,2,3,6,11,23,47,106,235 ... *)[^20]
14:35 camelia rakudo-moar 243c16: OUTPUT«===SORRY!===␤Unable to deduce arithmetic or geometric sequence from 47,106,235 (or did you really mean '..'?)␤»
14:35 vendethiel it doesn't know N0299 :p
14:36 vendethiel m: say 0, 1, 5, 9, 20, 23, 42, 52, 69 ... *;
14:36 camelia rakudo-moar 243c16: OUTPUT«===SORRY!===␤Unable to deduce arithmetic or geometric sequence from 42,52,69 (or did you really mean '..'?)␤»
14:39 geekosaur hm, maybe that got kicked out into a module
14:41 moritz it was never specced to work
14:41 moritz just discussed at some point
14:41 Kristien m: sub is-even(Int $x) { so grep * eq $x, (0, 2 ... *) }; say is-even(42);
14:41 camelia rakudo-moar 243c16: OUTPUT«True␤»
14:42 Kristien don't need a test case for the odd input; it'll work fine :D
14:42 moritz m: sub is-even(Int $x) { so grep * eq $x, (0, 2 ... *) }; say is-even(-2)
14:43 camelia rakudo-moar 243c16: OUTPUT«(timeout)»
14:43 Kristien m: sub is-even(Int $x) { so grep * eq $x, (0, 2 ... *) }; say is-even(43);
14:44 camelia rakudo-moar 243c16: OUTPUT«(timeout)»
14:44 slavik joined #perl6
14:48 andreoss % cat ints.txt | time perl merge-sort.pl5
14:48 andreoss 3.79user 0.03system 0:03.83elapsed 99%CPU
14:48 andreoss % cat  ints.txt |time perl6 merge-sort.pl
14:48 andreoss 767.99user 0.70system 12:49.53elapsed 99%CPU
14:48 andreoss
14:48 andreoss m: say 767.99 / 3.79
14:48 camelia rakudo-moar 243c16: OUTPUT«202.635884␤»
14:49 lizmat j: {;}
14:49 camelia rakudo-jvm 243c16: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
14:49 rindolf joined #perl6
14:49 lizmat m: {;}  # crashes on JVM
14:49 camelia rakudo-moar 243c16: ( no output )
14:51 pdcawley joined #perl6
14:51 andreoss jnthn: is it so due to recursion?
14:52 moritz andreoss: most likely lists being slow
14:52 dalek roast: 058c103 | lizmat++ | S17-supply/categorize.t:
14:52 dalek roast: Remove code block, it breaks on the JVM (#123684)
14:52 dalek roast: review: https://github.com/perl6/roast/commit/058c103d32
14:52 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123684
14:52 moritz perl6-m --profile might give a clue
14:55 pdcawley joined #perl6
14:59 lestrrat joined #perl6
15:06 kjs_ joined #perl6
15:07 andreoss bunch of <anon> calls on top
15:11 lestrrat joined #perl6
15:12 Kristien joined #perl6
15:12 Kristien Is TCO possible in Perl 6?
15:12 Kristien Wondering because CALLER exists.
15:14 lizmat depends on how much you want to pay for it ?
15:14 vendethiel probably because to statically analyze caller's presence
15:14 vendethiel s/because/possible/ # wtf, brain?
15:14 lizmat ah, tail call optimization
15:14 lizmat not total cost of ownership  :-)
15:15 sqirrel joined #perl6
15:15 moritz Kristien: not trivially
15:15 moritz Kristien: Perl 6 allows inspection of stack traces at runtime, so that would have to be faked
15:16 moritz Kristien: ... or specified that optimizations are allowed to muck with it
15:17 Kristien I see!
15:17 nwc10 or, I guess, if the compiler can determine that there's no code within the tail call being considered that is inspecting the stack trace, or capable of mutating the code at runtime to add somethign that inspects the stack trace
15:17 nwc10 ie possibly more cost than it's worth
15:17 vendethiel right.
15:19 burnersk joined #perl6
15:19 Kristien fold.
15:22 kjs_ joined #perl6
15:23 Peter_R I really hope TCO comes in at some point
15:23 Peter_R LISP 4tw
15:23 vendethiel but trampolines are so fun *g*
15:23 vendethiel TCO is mandatory in scheme, but not in CL, afaik
15:24 Peter_R Good point
15:24 Peter_R *Scheme 4tw
15:25 Kristien is CALLER assignable?
15:25 * vendethiel uses COMEFROM in p6 *g*
15:29 moritz m: my $x is dynamic = 42; sub f { $CALLER::x = 0 }; say x; f; say $x
15:29 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/uvjXyXwFtmâ�¤Undeclared routine:â�¤    x used at line 1â�¤â�¤Â»
15:29 moritz m: my $x is dynamic = 42; sub f { $CALLER::x = 0 }; say $x; f; say $x
15:29 camelia rakudo-moar 243c16: OUTPUT«42␤0␤»
15:30 lestrrat joined #perl6
15:31 Kristien m: sub f { say CALLER::CALLER::CALLER }; sub g { CALLER::CALLER = 42; f }; g
15:31 camelia rakudo-moar 243c16: OUTPUT«Cannot modify an immutable CALLER␤  in method assign_key at src/gen/m-CORE.setting:2116␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3089␤  in sub g at /tmp/n236NsgfBc:1␤  in block <unit> at /tmp/n236NsgfBc:1␤␤»
15:31 Kristien m: sub f { say CALLER::CALLER::CALLER }; sub g { $CALLER::CALLER = 42; f }; g
15:31 camelia rakudo-moar 243c16: OUTPUT«Cannot modify an immutable Any␤  in method assign_key at src/gen/m-CORE.setting:2116␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3089␤  in sub g at /tmp/jCz8ExJ0TM:1␤  in block <unit> at /tmp/jCz8ExJ0TM:1␤␤»
15:31 Kristien meh
15:33 dalek specs/newio: 3865941 | lizmat++ | S16-io.pod:
15:33 dalek specs/newio: Spec .v for device id of path
15:33 dalek specs/newio: review: https://github.com/perl6/specs/commit/3865941912
15:33 andreoss say
15:33 andreoss m: say i**2
15:33 camelia rakudo-moar 243c16: OUTPUT«-1+1.22464679914735e-16i␤»
15:34 andreoss m: say sqrt(i**2)
15:34 camelia rakudo-moar 243c16: OUTPUT«6.12323399573677e-17+1i␤»
15:35 Kristien floats yay
15:35 andreoss m: say sqrt(-1) ~~ i
15:35 camelia rakudo-moar 243c16: OUTPUT«False␤»
15:36 psch m: say sqrt(-1); say sqrt(-1.Complex)
15:36 camelia rakudo-moar 243c16: OUTPUT«NaN␤6.12323399573677e-17-1i␤»
15:36 psch m: say 0.1.Num
15:36 camelia rakudo-moar 243c16: OUTPUT«0.1␤»
15:36 andreoss >not a number is a number
15:37 andreoss was it borrowed from javascript?
15:37 moritz just bog-standard IEEE floating point logic
15:37 Kristien m: say (-1 ... -Inf).map(&sqrt)[^10].join ~ ' Batman!
15:37 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/iJOecHEByCâ�¤Unable to parse expression in single quotes; couldn't find final "'" â�¤at /tmp/iJOecHEByC:1â�¤------> [32m. -Inf).map(&sqrt)[^10].join ~ ' Batman![33mâ��[31m<EOL>[0mâ�¤    expectin…»
15:37 Kristien m: say (-1 ... -Inf).map(&sqrt)[^10].join ~ ' Batman!'
15:37 camelia rakudo-moar 243c16: OUTPUT«NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Batman!␤»
15:38 ab5tract Kristien: lol
15:40 Ovid_ So I wanted to alter how my classes behave (locally, not globally) to have all attributes be required by default and allow an “is optional” trait on them, where would I start looking to implement that? I see src/core/traits.pm, but it’s clear to me that I need a better understanding of what’s happening at that level.
15:40 tadzik Ovid_: you may want to look at ClassX::StrictConstructor
15:40 tadzik may help to some extend
15:41 hoelzro Ovid_: I think you may need to create a meta object for that class, and override how add_method works
15:41 hoelzro I don't know if there's sugar for that, though
15:42 Ovid_ tadzik: where would I find that?
15:42 tadzik oh, https://github.com/tadzik/ClassX-StrictConstructor here
15:42 moritz Ovid_: http://modules.perl6.org/ is a good place for finding Perl 6 modules
15:42 Ovid_ Cheers all :)
15:42 spider-mario joined #perl6
15:43 Ovid_ hoelzro: yeah, that’s sort of the approach I’d take in P5 too. Glad to know my knowledge isn’t totally wasted :)
15:43 hoelzro hmm
15:43 hoelzro actually
15:43 hoelzro I bet you could implement a trait for marking a class as strict
15:43 hoelzro so class MyClass is strict { ... }
15:44 tadzik probably
15:44 Ovid_ That looks like inheritance.
15:44 hoelzro and then you wouldn't have to build things with the metaobject API
15:44 lestrrat joined #perl6
15:44 tadzik Ovid_: 'is Parent' is just a special trait
15:44 tadzik is is more general than just inheritance
15:45 Ovid_ So “is” is overloaded in meaning in this case? When I see “is X”, I don’t know if that’s a trait or a parent class?
15:45 tadzik or am I wrong
15:45 * Ovid_ assumes he’s misunderstanding
15:45 moritz Ovid_: no, you're correct
15:45 tadzik Ovid_: see https://github.com/rakudo/rakudo/blob/nom/src/core/traits.pm#L45 and then #59
15:45 tadzik and along
15:46 tadzik "is" itself doesn't indicate much
15:46 FROGGS Ovid_: the naming scheme usually tells you... classes are nouns (starting with uppercase), traits should be adjectives
15:46 * moritz would like a better distinction nonetheless
15:46 Ovid_ FROGGS: I think that’s begging for trouble.
15:47 Ovid_ It sounds like you’re saying “devs *should* do X”, but I strongly hold that when we argue from that standpoint, we lose. Instead, if we say “devs *should* do X, but we make it easy to do the right thing”, then that’s a much better approach.
15:48 Ovid_ So in this case, devs are going to ignore the noun/adjective distinction (and non-English speakers won’t have a ball with that).
15:48 hoelzro we could adopt the Smalltalk-y convention of TStrict
15:49 FROGGS Ovid_: then you could also say that subroutine names and types/classes should be distinguishable without having more context
15:49 FROGGS is 'foo' a sub name or just a lowercase written type name?
15:50 FROGGS and then, other languages have barenames everywhere
15:50 FROGGS variables, types, routines...
15:50 Ovid_ FROGGS: I hadn’t thought about that. I always liked the sigils in P5 because they disambiguated so many things. Hadn’t thought as much about the type system in this case.
15:50 moritz how much would it hurt if the inhertance trait was spelled 'isa' ?
15:50 Ovid_ moritz++
15:50 moritz (except TimToady++ not liking it, IIRC)
15:51 moritz we could even spell it is-a, to make the meaning clearer
15:51 dalek rakudo/newio: 8e7d62b | lizmat++ | src/core/IO (4 files):
15:51 dalek rakudo/newio: Implement .v for device ID of a path
15:51 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/8e7d62bc96
15:51 hoelzro hmm...apparently we *don't* like  $type.HOW does role { ... }
15:51 hoelzro rakudo gets mad at me when I try that.
15:51 moritz or 'inherits-from'
15:51 FROGGS moritz: I guess it would not hurt much except breaking a lot
15:51 PerlJam moritz: not much for me, though it's always bothered me that "is" and "isa" are spelled so closely the same in Moose but have radically different meanings.
15:51 moritz hoelzro: iirc you can use 'method ^flurb { }' if you want to mix in methods to the meta object
15:52 hoelzro ah ha
15:52 * hoelzro tries
15:52 andreoss are there Perl6 naming guidelines? besides common sense.
15:52 moritz FROGGS: well, deprecations and transitional periods exist
15:52 hoelzro "Cannot use 'does' operator with a type object." =/
15:52 FROGGS andreoss: there are...
15:53 FROGGS andreoss: lower case types for native types for example, or that we use a dash instead of underscore to save a keystroke
15:53 FROGGS andreoss: besides that it is quite P5ish
15:53 FROGGS Pascal-casing for package names (and types)
15:53 colomon also CamelCase for object names
15:54 FROGGS :o)
15:54 kjs_ joined #perl6
15:54 lestrrat joined #perl6
15:54 moritz m: class A { method ^flurb(|c) { 42 } }; say A.^flurb
15:55 camelia rakudo-moar 243c16: OUTPUT«No such method 'flurb' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/AoBaZi3nvx:1␤␤»
15:55 * colomon looks up the difference… Pascal case if you think CamelCase means start with a lowercase letter.  :)
15:55 FROGGS colomon: that is what I was thinking, aye
15:55 moritz m: class A { method ^flurb(|c) { 42 } }; say A.new().^flurb
15:55 camelia rakudo-moar 243c16: OUTPUT«No such method 'flurb' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/MAmBoVFnXF:1␤␤»
15:58 sqirrel_ joined #perl6
16:00 hzhou321 joined #perl6
16:01 hzhou321 Hi, I am new. If it is ok, I would like to ask a question. What is the status of Perl 6? Any of you actually are using it on a routine basis? Like replacing Perl 5 in your own projects?
16:02 vendethiel hzhou321: I don't know perl5, but I use perl6 for most of my personal projects, and used to use it as $work for automating boring stuff
16:02 PerlJam hzhou321: Perl 6 is alive and kicking  :)   Yes, some of us use it on a routine basis.
16:02 colomon hzhou321: I’ve not gone so far as replacing stable code that doesn’t need changes, but probably 75+% of my new Perl code has been Perl 6 for several years now.
16:04 hzhou321 Thanks guys! For those who switched from Perl 5, let's say I am right now experienced with Perl 5, and not really having any complaints, would you recommend me try Perl 6?
16:05 FROGGS hzhou321: yes
16:05 PerlJam hzhou321: what is this "switched from Perl 5"?  I use Perl 5 *and* Perl 6.   (and I always recommend that people try Perl 6)
16:05 FROGGS hzhou321: you won't loose anything but gain knowledge while learning it (it really is a fun, powerful and overall awesome language)
16:06 hzhou321 PerlJam: doesn't the subconcisous conflict between perl 5 and 6?
16:06 Peter_R that is freudian era nonsense ;)
16:06 PerlJam hzhou321: only occasionally when I'm coding P5 and accidentally write P6 instead
16:06 FROGGS I sometimes concat string with a dot :S
16:06 tadzik hzhou321: I almost don't write any Perl 5 anymore
16:07 tadzik and by all means try Perl 6:)
16:07 hzhou321 PerlJam, would that cause un-obvious bugs?
16:07 kjs_ joined #perl6
16:08 PerlJam hzhou321: you're asking questions that are best answered by experience  :)
16:08 andreoss hzhou321: usually societies where two closely related languages are spoken develop pigins of some sort. so if your work depends on perl5, learning perl6 is not advised
16:08 FROGGS m: my %foo; say $foo{a} # common P5ism
16:08 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/l3t77HWSaBâ�¤Variable '$foo' is not declared. Did you mean '%foo'?â�¤at /tmp/l3t77HWSaB:1â�¤------> [32mmy %foo; say $foo{a}[33mâ��[31m # common P5ism[0mâ�¤    expecting any of:â�¤        statem…»
16:08 book_ joined #perl6
16:08 lestrrat joined #perl6
16:08 FROGGS hzhou321: you get hints, you see
16:09 hzhou321 PerlJam, or does perl 5 always find those as syntax given that I always using strict. I am asking for your experience.
16:09 andreoss because of no pigins in programming languages
16:11 pyrimidi_ joined #perl6
16:11 hzhou321 FROGGS, thanks, that helps.
16:12 hzhou321 So do you installl perl6 as perl and write scripts as .pl and .pm, or do you do something to seperate from perl 5?
16:12 FROGGS m: if( 1 ) { say 42 } # also this one
16:12 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'if' interpreted as 'if()' function call; please use whitespace instead of parens�at /tmp/y6JP181KBu:1�------> [32mif[33m�[31m( 1 ) { say 42 } # also this one[0m�Unexpected block in infix position (two term…»
16:13 PerlJam hzhou321: I can't say that P5 will always catch you coding P6 and carp about it, but it often does.  There are some syntactically valid statements that are semantically different that P5 will happily accept.  I dunno any off hand, though.
16:13 FROGGS hzhou321: don't install it as perl, that will ask for trouble
16:13 FROGGS hzhou321: install it as 'perl6'
16:13 FROGGS but I also call my scripts .pl and my modules .pm... though, you can call them .pl6 and .pm6 if you want
16:14 hzhou321 FROGGS, thanks
16:15 vike1 joined #perl6
16:15 andreoss FROGGS: no plans for dispatcher which runs perl5 or perl6 according on use v..?
16:15 mst__ joined #perl6
16:15 hzhou321 So is there quick wisdom that is one reason you would think to yourself that "that is the reason I would perl 6 to perl 5"?
16:16 hzhou321 correction: perfer perl 6 to perl 5
16:16 hzhou321 I meant prefer
16:16 spider-mario_ joined #perl6
16:16 FROGGS andreoss: in case you run in with rakudo and have a 'use v5' at the top, it will try to run it as Perl 5 code... though, nine++ is doing a better job with Inline::Perl5
16:16 khisanth_ joined #perl6
16:16 PerlJam hzhou321: anything that really needs objects or grammars I tend to lean towards P6  unless there's some reason I should use P5  (like to be compatible with existing P5)
16:16 FROGGS hzhou321: concurrency probably
16:17 PerlJam FROGGS: oh, that's a good one too!
16:17 FROGGS hzhou321: I tried today to do that in a middleware server written in Perl 5 (using POE)... and I failed :o/
16:17 hzhou321 I see. I hate OOP unfortunately :(
16:17 Kristien all I need for middleware is function composition :D
16:18 FROGGS hzhou321: you can do functional programming as well, nobody forces you to do OOP
16:18 PerlJam hzhou321: why do you hate OOP, ooc?
16:19 hzhou321 Well, a language is a culture, in addition to what you can do with it, it is more about who you get to chat with :) Is OOP a dominant culture in Perl 6 community?
16:19 andreoss why OOP is a culture?
16:19 kjs_ joined #perl6
16:20 * PerlJam isn't quite sure what "oop culture" means
16:20 PerlJam hzhou321: we do lots of OOP here, yes, but not exclusively.  Perl's motto is still TMTOWTDI after all.
16:21 hzhou321 PerlJam: I love perl 5 especially its philosophy that models after natural language. The way I see it, natural language is basically say/write what you are thinking in mind. We do not really think in OOP, we think imperatively.
16:21 huf i dont think we think in either of those ways
16:21 mr-foobar joined #perl6
16:21 PerlJam hzhou321: you're saying some strange things relative to my experience  :)
16:21 huf nor does perl5 really work like a natural language at all, it just has a few quirks that look a bit like some of them
16:21 salv0 joined #perl6
16:22 PerlJam huf: perl has some good smoke and mirrors :)
16:22 Renan_ joined #perl6
16:23 lestrrat joined #perl6
16:23 Alina-malina joined #perl6
16:23 hzhou321 OOP is fine when you are building a library that intend to be only used by others (not by poking around). Objects are difficult to poke around, that is even true for the manufacturer. I guess I am ranting, forgive me :)
16:24 PerlJam hzhou321: "how we think" is how we train ourselves to think.  But some problems are more naturally solved in a FP style, and others may be OOPy.   Perl (as always) doesn't force you to couch your problem in terms of how the Perl compiler writers think, but rather in how *you* think or how you want to solve the problem.
16:25 hzhou321 Any way, I guess my question is, does perl 6 library always written as an object?
16:25 PerlJam hzhou321: of course not.
16:25 hzhou321 PerlJam: that is good :)
16:26 FROGGS hzhou321: you can write a library that just exports subroutines if you want to do that
16:26 PerlJam hzhou321: were you over-exposed to Java or something?  (that tends to poison people against OOP)
16:26 hzhou321 FROGGS: I always do that. I don't even export them.
16:27 PerlJam hzhou321: well, you'll have to be sure to declare them as "our" subs if you aren't going to export them.
16:27 gargamel joined #perl6
16:27 hzhou321 PerlJam, yes, any random programer you met on the street only knows Java :)
16:27 PerlJam (or, jump through other hoops to use them outside of your module)
16:27 hzhou321 PerlJam: yes, always. The package gives namespace protection anyway.
16:28 andreoss left #perl6
16:31 hzhou321 Thanks guys. It is nice to know there is a community here. I'll go ahead try Perl 6.
16:31 andreoss joined #perl6
16:31 * PerlJam wonders how hard it would be to make a module that makes any subs declared with the lexical scope default to "our" rather than "my"
16:32 hzhou321 PerlJam: our is a global space, you always want to be conscious about it. So why would you want that to be default?
16:33 lizmat PerlJam: perhaps we first need a COMPOSE phaser implementation :-)
16:33 PerlJam just 'cuz
16:33 lizmat then it should be rather trivial, I would think
16:34 psch a slang could do it too
16:44 hzhou321 I am reading the perl6 docs. It has more scalar types, and being enforced, that is nice!
16:46 PerlJam hzhou321: did you get at the docs via http://perl6.org/documentation ?
16:46 PerlJam hzhou321: if not, look there for more resources
16:47 hzhou321 I am
16:48 hzhou321 PerlJam, so far I would agree that Perl6 makes a better language than perl 5. I think we only need a kill application to re-dominate the world :)
16:48 hzhou321 correction: [killer]
16:49 psch hm, at least i thought FROGGS++ work on slangs could help to get subs to auto-our, but i don't quite get there
16:50 PerlJam hzhou321: I dunno ... "killer app" sounds like a very short term thing.  Perl 6 has always taken the long view.  Perl 6 is being designed "for the next hundred years" or so
16:50 tadzik I hope it won't end up being designed for the next hundred years :P
16:51 hzhou321 PerlJam: Yeah, like a rock! which never dies, but never going anywhere :)
16:51 PerlJam tadzik: why not?  P5 has been in a constant state of flux its whole life.  Why should P6 be any different?  :)
16:51 tadzik ha, true :)
16:53 thilp joined #perl6
16:53 hzhou321 Guys, is there any good projects in Perl6 out there?
16:54 andreoss hzhou321: rewriting Catalyst in perl6
16:54 PerlJam rewriting Mojo in Perl 6!
16:54 hzhou321 Has them being taken on?
16:55 PerlJam https://github.com/coke/mojo6
16:55 hzhou321 I see. But a port is a port, there not enough freedom in it.
16:56 muraiki I think a P6 killer app would be a web framework that shows use of types and concurrency. I think recreating mojo/catalyst will be a lot of work, but if we can get something simple that shows these two things, you could win over a lot of python/ruby devs looking at go, clojure, and scala
16:56 moritz \o
16:56 andreoss muraiki: mojo is pretty small itself, most of mojolicious code base are tests
16:57 jluis_ joined #perl6
16:57 muraiki andreoss: good to know; I wasn't aware of that
16:58 slavik joined #perl6
16:59 _sri andreoss: 8778 lines of code to be exact
16:59 _sri super tiny
16:59 skids Personally I think P5 got its foot in the door as a better awk, and targetting use for small support scripts is essential to gaining mindshare.
16:59 hzhou321 I have a general source code framework currently written in perl 5. If anyone would join my cause, I'll be happy to change it to perl6. http://huizhou.gitbooks.io/programming-with-mydef/
17:00 muraiki but my point is that while mojo provides a lot of nice things, you need to consider the real pain points of web developers. give them concurrency and you can reduce the need to integrate with message queues. give them types because, well, everybody likes expressive types now right? :)
17:00 _sri muraiki: that's not how you woo web developers
17:01 _sri we have good concurrency in perl5 already
17:01 muraiki you have to woo them enough to learn a whole other language, and to convince their business that it's worth using. non-blocking? use node, that's the hot stuff
17:01 _sri with perl6 you can give them parallelism... it's a powerful buzzword, but it will only get you so far
17:02 muraiki (I wasn't recommending node there, just simulating a manager :)
17:02 btyler particularly when well-architected web apps in p5 (and others) are already effectively parallelized by having multiple processes serving requests at once
17:02 _sri "but our developers have to learn javascript anyway!"
17:02 PerlJam muraiki: yes, managers *are* the right people to make technical decisions  ;)
17:03 muraiki perljam: I'm just trying to take into account what a typical developer has to deal with, not the ideal solution
17:03 btyler maybe it's a failure of imagination on my part, but I'm not sure what you gain by having worker threads instead of worker processes in a webapp deployment
17:04 _sri it's quite amazing how quickly Go has found its niche
17:04 btyler helps when google is funding :)
17:04 muraiki btyler: I think you need to look at the success of Go
17:05 PerlJam btyler: not always ... remember "google wave"?
17:05 tadzik lots of hype and being faster than python. Done
17:05 btyler I tend to agree with tadzik
17:05 muraiki disclaimer: I don't personally like Go
17:05 _sri it also helps that you can learn Go in a day
17:05 btyler go is pretty great, I have fun hacking in it, but I think its really big draw was "you can write not-awful looking code that runs dang fast"
17:06 btyler I grant that being able to write async code without callbacks is also a big design plus
17:06 btyler (at least it seems that way to me)
17:07 andreoss go was popularized by google, that's the secret of success
17:07 muraiki did google really do any sort of heavy marketing for go?
17:08 _sri a killer app like docker certainly helped too
17:08 vendethiel joined #perl6
17:08 andreoss muraiki: not directly
17:08 muraiki I think if you believe that "go is popular because of google," you need to figure out why so many dynamic language buffs flocked to a language with a not-so-great type system, one lacking even generics
17:08 btyler in terms of go's speed, there was a really cool talk at $work about a daemon implemented in both go and perl. perl used lots of forking and EV, go used goroutines. the perl implementation had higher latency at low loads, but killed go at high load (no gc spikes)
17:09 hoelzro is there something special one has to do to invoke a P6 routine with a Capture from NQP? |$c seems to just try and flatten $c
17:09 btyler the conclusion was "perl has some really great C libraries to talk to"
17:09 muraiki yeah
17:10 _sri btyler: very true, say what you will about ref counting in perl5, consistent performance is awesome
17:10 hzhou321 btyler: that is interesting, do you have reference?
17:10 hzhou321 btyler: what is $work? (excuse my ignorance)
17:11 KCL_ joined #perl6
17:12 muraiki so yes, going with go you get a single way to write async/parallel code without the pain of callbacks, vs perl 5's X number of event loops and C wizardry. maybe go's solution isn't ideal, but its certainly resolved enough pain points for devs to result them putting in the time to learn a new language and build stuff with it
17:12 andreoss muraiki: there were languages with same ideas from the same people available before go
17:12 japhb .ask andreoss re: http://irclog.perlgeek.de/perl6/2015-01-27#i_10012190 , please would you turn your benchmarks into tests for https://github.com/japhb/perl6-bench ?
17:12 yoleaux japhb: I'll pass your message to andreoss.
17:12 _sri gc in go is still evolving though
17:12 japhb Oh, and there he is.  :-)
17:12 btyler hzhou321: it was an internal talk, but it would be interesting for the rest of the world. I can maybe ask around a bit on what the policy for publishing them is
17:12 btyler (I didn't give it :)
17:12 btyler hzhou321: I'm writing perl for a living in amsterdam, if that's enough of a clue :)
17:13 hzhou321 btyler: yes. thanks.
17:13 muraiki andreoss: yeah, so wouldn't it be nice if we had them in perl? heh.
17:13 japhb btyler: Gee, can't imagine who that would be .... :-)
17:14 PerlJam btyler: yeah, but are you writing *good* perl?  ;)
17:14 japhb He's here, that's a start.  ;-)
17:14 PerlJam japhb: an excellent point!  :)
17:15 btyler no wizard, but I try my best...
17:15 andreoss muraiki: also, the main book about Go is about 100 pages. I wish Perl had this feature.
17:15 yoleaux 17:12Z <japhb> andreoss: re: http://irclog.perlgeek.de/perl6/2015-01-27#i_10012190 , please would you turn your benchmarks into tests for https://github.com/japhb/perl6-bench ?
17:15 _sri andreoss: on the other hand, go is a very boring language
17:17 btyler if err != nil { return nil, err } all day long
17:17 japhb And one in which you have to understand all the standard libraries in order to avoid wasting time anyway ... so claiming that the language is tiny is only half-ture.
17:17 japhb *half-true
17:17 muraiki _sri: yeah, it's error handling leaves a lot to be desired. but apparently its other features are exciting enough to get people to stop and think.
17:17 muraiki another one to think about is clojure -- who thought a lisp would be being used in any serious enterprise in 2015?
17:17 muraiki disclaimer: I like parentheses
17:18 japhb Well, Pike ground an axe thoroughly on the error handling bit, but I can't fault him for having a strong belief about a technical design issue.
17:18 muraiki I could rant forever, so I'll just conclude by saying that if you want a p6 killer app to fuel adoption, think about what features and apps have made recent underdog languages successful. what pain points do they indicate for devs? how does p6 solve them, and how can you show that in an awesome way?
17:19 _sri perl6 will have to find its own niche
17:20 moritz agreed
17:20 skids Do we have a "perl6 one-liners" doc of some sort?
17:20 ab5tract skids: sillymoose has started a book
17:20 PerlJam I thought perl's niche was "everything"  :)
17:20 ab5tract PerlJam++
17:20 btyler it's worth noting that go had a very consistent story on that front from the very start
17:21 ab5tract that's how i understood it too ;)
17:21 moritz btyler: my understanding was that Go was thought to be a replacement for C in some areas, and it turned out to be mostly used as a replacmenet for python :-)
17:22 muraiki moritz: yeah, the authors have said that
17:22 btyler moritz: fair, I understood it more as "systems programming/plumbing/network daemons"
17:22 baest joined #perl6
17:22 btyler and the most well-known go projects tend to fall in those areas
17:22 ab5tract i do agree that we are in the "next-gen" language territory. stuff like scala, clojure, go, rust, and perl 6... they are not all overlapping, of course, but i'd say they are all playing on the same field
17:23 btyler I mean, there's nothing about docker that you couldn't write in python or perl or ruby (that I know of?)
17:24 ab5tract ie, learning from the mistakes of the previous generation (C++,p5,python) and mostly working past them
17:24 muraiki ab5tract: exactly. there's a lot of competition out there. not that p6 has to "win," but it'd be nice if the hard work you guys have done was used. p6 provides a migration path for dynamic language devs to get these next-gen features, with a lot of thought put into past mistakes (not meaning only p5 mistakes)
17:24 ab5tract (all lists in the last two messages are necessarily missing elements)
17:25 muraiki btyler: there's nothing that you couldn't have written in assembly, either :)
17:25 dalek rakudo/newio: 640c8b0 | lizmat++ | t/01-sanity/51-filetest.t:
17:25 dalek rakudo/newio: Fix/Add some more FILETEST sanity tests
17:25 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/640c8b0e30
17:26 ab5tract muraiki: and also learning from the winners of the previous generation. i think rubyists will find a lot to love in p6, once they get over their sigilophobia ;)
17:26 ab5tract then again i always considered ruby a daughter of perl anyway :)
17:26 muraiki btyler: but I think multiprocessor-exploiting goroutines would be more difficult in perl, python, and ruby. likewise, providing compile time type safety
17:27 btyler muraiki: of course -- so I'm kind of speaking to your earlier point about what sorts of things the langauge is good at. but perhaps we're veering into sapir-whorf territory, and the better angle is "someone smart and creative liked go, so they used their smarts and creativity to make something cool"
17:27 muraiki ab5tract: I don't know ruby, but that's also the impression I've gotten from other ruby devs. that being said, the author of "the pickaxe book" (the definitive book on ruby, apparently) has put his weight behind elixir, and that's probably a weight worth something
17:27 FROGGS joined #perl6
17:27 lizmat http://www.openwall.com/lists/oss-security/2015/01/27/9   # gethostbyname buffer overflow
17:28 muraiki btyler: well, your language can make some things really hard. but p6 seems to provide a lot of features for a great variety of creative people, from those who want simple concurrency, to those writing grammars, to those who want a powerful OO system
17:28 btyler muraiki: for sure, but docker (for example) isn't exactly a case of an application that needs maximum multiprocessor exploitation in order to be viable. in the early iterations it just fired up LXC and did some hashing here and there
17:30 muraiki btyler: see slide 22: http://www.slideshare.net/jpetazzo/docker-and-go-why-did-we-decide-to-write-docker-in-go
17:31 muraiki btyler: it's actually not terribly different than what p5 offers
17:31 muraiki so why wasn't it written in p5? I guess the other slides explain more, shrug
17:32 muraiki ok, I have to eat lunch and get ready for a meeting. sorry if all this was offtopic; I apologize for ranting
17:32 btyler thanks for the link. anyways, yeah. it's all probabilistic, so pack your language with awesome tools and eventually people will make awesome things
17:32 btyler (probably)
17:34 b2gills joined #perl6
17:35 espadrine muraiki: there's slide 28 though (go get). A faulty package system can really bug people out.
17:35 andreoss japhb: perl6-bench seems installing many different version of perl5
17:36 andreoss versions
17:40 skids .oO(what we need is a scene in a hollywood film where a hacker is using perl 6 on the screen)
17:41 PerlJam skids: I'd say that's exactly what we *don't* need.  "Perl 6?  Isn't that a language used by hackers?  We can't have that in our serious, non-hacker, business!"
17:42 skids The managers wouldn't see that, it's only those obsessive enough to pause the movie to see what's being typed that would.
17:42 espadrine that's why they switched from assembly to jvm bytecode
17:43 PerlJam no, but they'd hear about it in conversation.  Some random techie will be talking about it and the manager will overhear.
17:44 skids I think you're being overly worried.
17:44 PerlJam nah, just highly cynical
17:44 skids It isn;t like every language ever protraryed ina  film got blacklisted.
17:44 moritz so, now that you've all discussed factors of language adoption, what is your personal conclusion for how you can help Perl 6?
17:44 espadrine write some crazy hack
17:44 PerlJam skids: though, if that hacker saved the world with perl 6 code, I'm all for it!  :)
17:45 espadrine like a streaming VNC server to a browser tab or something
17:46 telex joined #perl6
17:48 Kristien joined #perl6
17:48 PerlJam After looking at those slides on why they chose to write Docker in Go, I have to wonder if they are insane.   With all the drawbacks, Go does not seem like a good choice.
17:48 skids I think getting a newer rakudo, defaulting to moarvm, into Debian might be a really good thing.
17:49 El_Che hi, #perl6, how are the Fosdem talk going?
17:49 Kristien hi
17:50 japhb PerlJam: Go is a decent language.  It's just ... at an angle to many people's mindsets.  You have to decide to try the Escher walk.
17:50 Kristien PerlJam: I always assume insanity when it comes to programmers.
17:51 japhb andreoss: What did you do with perl6-bench?
17:52 japhb If you quickstart'ed with default options, you will end up extracting and building a number of compilers that people seem to like to do historical comparisons with.
17:53 PerlJam ls
17:53 PerlJam oops
17:53 japhb None of them are installed outside the components tree, however.  It's just making sure it has known builds without vendor interference and such.
17:54 hzhou321 Hi, guys. I am about to install perl 6. Is it  recommended to install moar backend only?
17:54 PerlJam hzhou321: it's the easiest backend to use IMHO
17:54 skids That will be faster.
17:55 hzhou321 thanks. Which mean it is stable enough ?
17:55 El_Che skids: https://lists.debian.org/debian-devel-announce/2014/11/msg00003.html
17:55 PerlJam hzhou321: sure.
17:55 El_Che skids: debian 8 is already frozen
17:55 japhb hzhou321: IT's probably the most stable for general stuff.  JVM is most stable for highly-threaded work, because JVM.
17:56 El_Che skids: I think that providing an debian/ubuntu repository could do the trick in between debian releases. That way people have a recent release (debian stable is outdated fast)
17:56 hzhou321 japhb: thanks, that helps.
17:56 Rounin joined #perl6
17:56 skids bah.  Also RHEL/CENTOS has these airlocks one must get through in time.
17:57 skids El_Che: yeah I often wonder why more projects don't have their own repo.
17:58 El_Che debian stable/rhel/centos is too fast out of date for dynamic projects
17:59 El_Che e.g. for openldap we use the openldap-ltb project repo instead of the rhel packages (a plus: openldap-ltb is run by a perl guy :) )
17:59 hzhou321 Hi guys, another question: I configured using "perl Configure.pl --gen-moar --gen-nqp --backends=moar", I am about to "make install", where it will intall to?
18:00 moritz hzhou321: to ./install/
18:00 moritz hzhou321: ... as Configure.pl told you in its first three lines of output, I believe :-)
18:00 hzhou321 moritz: I see. So I just copy or add it to my $PATH?
18:00 moritz hzhou321: the latter
18:01 moritz hzhou321: if you copy it, it still looks for the libraries in the old install dir, so you can't remove that
18:01 lizmat El_Che: jnthn and TimToady have been relatively absent the past days, so I guess they're working hard on the presentations :-)
18:01 hzhou321 moritz: I got it.
18:01 El_Che lizmat: hehe. That's a good sign!
18:05 b2gills Anyone know a golfed way to sort a list by numbers then lowercase then uppercase?
18:06 kjs_ joined #perl6
18:06 b2gills *.sort does numbers then uppercase then lowercase by default
18:06 moritz .sort(+*)>>.lc>>.uc
18:07 hzhou321 Hi all, I am little confused way about the name rakudo. Is it a distribution like ActivePerl, or is it the official devleopment tree for perl6?
18:07 asdf12z__ joined #perl6
18:07 asdf12z__ why does larry wall always wear the same shirt?
18:07 moritz hzhou321: it's a compiler, like gcc or clang
18:08 moritz hzhou321: and it's not official, just like gcc or clang or icc aren't the "official" compilers for C
18:09 b2gills moritz: no a list of strings that should be sorted so that '8aB' comes before 'aaB'  combs before 'AaB'
18:10 b2gills m: say {('a'..'z','A'..'Z',^10).roll($^b).join xx$^a }(7,3).sort
18:10 camelia rakudo-moar 243c16: OUTPUT«Eor TrL UXO Xhc m7n p4R tvy␤»
18:10 asdf12z__ when will perl6 finally be officially released?
18:10 hzhou321 moritz: I guess that makes sense. But I mean, is it the code base that Larry Wall is at the helm or some other "official team"?
18:10 b2gills Rakudo is really the only one that is in active development
18:11 hzhou321 b2gills: thx, that is the answer I am looking for :)
18:11 PerlJam asdf12z__: what does that mean?
18:12 asdf12z__ fully implemented, mostly bug free
18:12 asdf12z__ have a big splash and fancy announcement that goes along with that
18:12 hzhou321 Another question: Is Rakudo entirely in perl6?
18:12 PerlJam asdf12z__: oh, the "big splash" is slated for sometime this year.
18:13 asdf12z__ yea i've read that, but i've read the quote, but i can't find the video in which larry makes an announcement... to the eventual announcement
18:14 FROGGS asdf12z__: you might be able to watch it live this sunday
18:14 asdf12z__ where?
18:14 FROGGS at the fosdem website...
18:14 PerlJam asdf12z__: FASDEM if you're going :)
18:14 PerlJam er, FOSDEM even
18:14 El_Che asdf12z__: https://fosdem.org/2015/schedule/event/get_ready_to_party/
18:14 FROGGS asdf12z__: https://fosdem.org/2015/schedule/event/get_ready_to_party/
18:15 asdf12z__ oh nice
18:15 FROGGS asdf12z__: though, I dunno how/where/when videos or streams will be available
18:16 pmurias joined #perl6
18:16 El_Che asdf12z__: the idea is to stream the video
18:16 PerlJam asdf12z__: btw, is perl 5 "fully implemented"?  :)
18:17 TimToady it's more like we'll have a satisfactory subset that is unlikely to change much
18:18 TimToady so it's more about stability than feature-complete
18:18 FROGGS TimToady: that subset already is quite awesome :o)
18:18 TimToady as for shirts, some of them photograph better than others
18:19 FROGGS P5 + POE + trying to parallelize jobs made me cringe today
18:19 FROGGS TimToady: you're shirts clearly have a high contrast :o)
18:19 PerlJam I seem to recall that P5 changed quite a bit in the early days.  But then, it didn't have the long gestation that P6 has had.
18:19 raiph joined #perl6
18:19 El_Che TimToady: the one on the fosdem page is a photo I took. I hope it's ok
18:19 FROGGS El_Che: I like that photo fwiw
18:20 TimToady I don't care so much about official photos really; it's the people who come up and say "Can I get a photo with you?" that I want to have good shots
18:22 b2gills m: say +('a'..'aa'); say +('b'..'ab'); say +('b','c'...'ab') # should be 27␤27␤27␤
18:22 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tYMh_QlVrNâ�¤Two terms in a rowâ�¤at /tmp/tYMh_QlVrN:2â�¤------> [32m<BOL>[33mâ��[31m27[0mâ�¤    expecting any of:â�¤        infix stopperâ�¤        infix or meta-infixâ�¤        postfixâ�¤     …»
18:22 TimToady hzhou321: rakudo and the original design have been on a convergent path for quite some time now
18:22 TimToady they both learn from each other :)
18:22 asdf12z__ TimToady: why do you always wear the same shirt?
18:23 TimToady I just answered that
18:23 b2gills m: say +('a'..'aa'); say +('b'..'ab'); say +('b','c'...'ab') #`( should be 27␤27␤27␤)
18:23 camelia rakudo-moar 243c16: OUTPUT«27␤0␤27␤»
18:23 asdf12z__ oh woops
18:24 TimToady hugme: hug asdf12z__
18:24 * hugme hugs asdf12z__
18:25 El_Che TimToady: well, we can organize a "have a pic with TimToady" at the perl booth...
18:25 El_Che TimToady: jk
18:25 hzhou321 TimToady: I am trying to figure this out myself, but since you are here, is it possible to summarize how it works? like "moar in c, and rakudo perl, and compiled into vm", or something that I am totally off.
18:25 FROGGS hzhou321: wait a sec, I'll find you a presentation about the architecture
18:26 PerlJam El_Che: Actually, I was thinking that might make a good fund-raiser for a YAPC :)
18:26 TimToady I suspect the folks...what FROGGS said...
18:26 hzhou321 FROGGS: that'll help. thanks.
18:26 * TimToady is just the chief language designer
18:27 hzhou321 TimToady: that make a lot of sense.
18:27 PerlJam TimToady: So ... what do you think about "isa" for inheritance?  :)
18:27 TimToady I think almost all traits are lower case, and almost all types are uppercase, so there's no problem with "is"
18:27 FROGGS hzhou321: that shows it: https://www.youtube.com/watch?v=XgPh5Li3k4g
18:28 PerlJam Hmm.  Good point.
18:29 TimToady oops, my phone just told me it's time to leave for SEA -> AMS
18:29 El_Che TimToady: good flight!
18:29 FROGGS TimToady: see you there :o)
18:30 TimToady well, will probably check in again at SEA gate
18:39 asdf12z__ 14 or so years ago i had a giant book (the camel book) and then perl kind of went away in obscurity for me
18:39 asdf12z__ so im pretty excited to see the talks coming out of this conference especially since perl6 is coming soon
18:39 FROGGS asdf12z__: I just got to Perl (5) around 2007 or so
18:41 asdf12z__ i wonder what kind of traction perl 6 will have more than anything
18:41 Sqirrel joined #perl6
18:44 mr-foobar joined #perl6
18:49 Kristien I want to write a VM again.
18:49 FROGGS :S
18:50 pyrimidi_ lizmat: re: the comp issue, filed a bug on that: RT #123679
18:50 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123679
18:53 pmurias_ joined #perl6
18:57 Sir_Ragnarok joined #perl6
18:57 gfldex joined #perl6
19:02 Sir_Ragnarok_ joined #perl6
19:06 Sir_Ragnarok joined #perl6
19:09 xfix joined #perl6
19:17 pyrimidine asdf12z__: re: p6 traction, I think there will be the naysayers who will immediately dismiss it w/o trying, then there will be those who actually give it a go
19:17 thilp left #perl6
19:17 pyrimidine asdf12z__: I'm interested in seeing what those latter folks say
19:17 pyrimidine but in my experience I've been pretty happy w/ it
19:17 rurban_ joined #perl6
19:18 nine_ How large is the Perl devroom at FOSDEM?
19:18 FROGGS woolfy: --^ ?
19:18 El_Che nine_: 80 people
19:19 FROGGS ohh, nice :o)
19:19 El_Che (as big as the GO (they use the same room sunday), Java & Ruby
19:19 El_Che python and php have a bigger room
19:19 jdv79 is there live video or at least video after the fact?
19:19 nine_ So I only have to be twice as nervous as in London ;)
19:19 FROGGS nine_: *g*
19:20 El_Che jdv79: it should be streamed
19:20 skids joined #perl6
19:20 jdv79 nice
19:20 jdv79 i remember the streams broke one YAPC not that long ago
19:20 El_Che nine_: don't worry, we'll have a gong to tell you when your time is over :)
19:20 El_Che jdv79: yeah, streaming is tricky
19:20 jdv79 was it houston?
19:21 jdv79 and then years and years ago the videos would be released maybe 6 months later:(
19:21 * jdv79 hopes for better this time
19:21 El_Che TimToady will speak in the big aula
19:22 Kristien joined #perl6
19:22 Kristien hi
19:22 El_Che Jason room (Not JSON, I know you read JSON) is 1400
19:23 skids o/
19:23 jdv79 oh neat how there's a docs.perl6.org and a doc.perl6.org.  i finally know why its never what i think it is and fall back to googling...
19:24 moritz jdv79: I'll alias docs to doc
19:25 jdv79 well, right now docs is the synopsis index; more or less
19:25 jdv79 but sounds like a welcome move
19:27 mvuets joined #perl6
19:31 andreoss joined #perl6
19:33 Kristien Does NQP deal with junctions?
19:34 FROGGS Kristien: no
19:36 moritz jdv79: *.perl6.org should point/redirect to perl6.org, but it seems I've broken that :(
19:36 hoelzro nothing forbids method Str from taking additional arguments, but could that be regarded as a poor practice?
19:36 moritz hoelzro: if they are optional, why not?
19:36 hoelzro I *do* think 16.Str(:hex) could be handy, though
19:37 hoelzro moritz: right, as long as they're optional
19:37 hoelzro just thought I'd take the pulse of the community on this
19:37 hoelzro maybe add some candidates for Numeric.Str
19:38 skids Well, there is already .base(16), but it lacks an "0x" and casing is not adjustible.
19:38 vendethiel Kristien: see the Junction class
19:39 b2gills Will this flatten after the GLR lands `my @c = ^10,@a,@b` ?
19:39 moritz b2gills: yes
19:40 skids hoelzro: Also of course there is .fmt('%x');
19:40 b2gills Good then I don't have to put caveats in my answer to a code golf
19:40 hoelzro true
19:41 moritz public service announcement: the IRC logs will be down for a moment (reboot due to CVE-2015-0235)
19:44 ilbot3 joined #perl6
19:44 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
19:44 hzhou321 FROGGS: thanks for the link to the prensentation. It is quite helpful. Do you know whether there is any documentation for nqp?
19:45 pmichaud GLR landing -- I'm planning to work on it mid-February.  High probability of that occurring.
19:45 moritz joined #perl6
19:46 FROGGS hzhou321: that perhaps: http://edumentab.github.io/rakudo-and-nqp-internals-course/
19:46 pmichaud So, let's say "March release"
19:46 FROGGS O.o
19:46 FROGGS hi pmichaud
19:46 FROGGS that sounds quite awesome
19:46 pmichaud If it doesn't happen by March/April release, then someone else should take that task from me.
19:46 FROGGS March release sounds like a fine goal
19:46 hzhou321 FROGGS: thx.
19:47 FROGGS hzhou321: you're welcome
19:48 pmichaud good afternoon, #perl6
19:49 jnthn any('stomach bug', 'food poisoning)-- :/
19:49 yoleaux 26 Jan 2015 21:59Z <lizmat> jnthn: the latest NQP bump broke parrot build with a segfault (On OS X)
19:49 yoleaux 26 Jan 2015 21:59Z <lizmat> jnthn: nqp 91f6f525b766 or earlier is bad
19:49 colomon pmichaud!  \o/
19:49 FROGGS jnthn: /o\
19:49 jnthn o/ pmichaud, others :)
19:49 moritz \o
19:49 pmichaud jnthn: odd, I have a stomach ailment also.  Just showed up last night.
19:50 jnthn Yeah, so did mine. :/
19:50 pmichaud moritz: see my latest email to you regarding PARROT_REVISION
19:50 virtualsue joined #perl6
19:50 moritz pmichaud: yes, I've already that, thanks
19:50 * jnthn survived the day's teaching, but scrapped the 6 hour trip home after it
19:51 jnthn I suspect I know what I forget when merging 6pe...
19:51 b2gills pmichaud: jnthn: It's a conspiracy to stop Perl6, I tell ya
19:51 moritz b2gills: I've recently heard that most conspiracy theories are actually initiated by the tin foil industry :-)
19:52 pmichaud Perl6?  People are still working on that?  ;-)
19:52 mst__ only until christmas
19:52 pmichaud I would just like to note that as far as I know, I have yet to actually observe an actual piece of "tin foil" IRL.
19:52 mst joined #perl6
19:53 moritz pmichaud: well, it's usually aluminium foil
19:53 pmichaud s/actually//   # too many "actuals", "actually"
19:53 pmichaud moritz: yes... so I wonder about this mythical "tin foil" industry.  Wait, I know... that's a conspiracy too!
19:53 mst rightpondian idiom uses it for any sort of cooking/baking foil
19:54 pmichaud msg:  I think leftpondian does much the same.
19:54 pmichaud s/msg/mst/  # arggh, can't type
19:54 pmichaud I should probably take a nap.
19:54 moritz /mst I can't type either :-)
19:54 mst lol
19:55 mst paging hindley and milner, we have an emergency
19:55 pmichaud And after reading Wikipedia, I'm sure there's a conspiracy going on:  "A tin foil hat is a hat made from one or more sheets of aluminium foil, [...]"
19:55 b2gills pmichaud: It's probably like calling lemon juice "lime-water" which was a remedy for scruvy
19:56 b2gills scurvy even
19:56 pmichaud There are at least 37 protons of difference involved between "aluminum" and "tin".  This is an elemental mistake.
19:57 b2gills but is it a nuclear one?
19:57 moritz it's nucular
19:57 Mouq joined #perl6
19:57 FROGGS there is a German sketch about Poire belle Hélène being made of apple :o)
19:58 * pmichaud decides to craft himself a tin foi.... er, aluminum foil top hat.
19:59 FROGGS "I will eat it but not under that name!"
19:59 pmichaud Okay, Wikipedia's entry on "tin foil hat" comes illustrated with "Man wearing a tin foil hat".  Somehow I find that amusing, bizarre, or other.
20:00 FROGGS err... http://s1268.photobucket.com/user/venoid/media/tinfoilnutcase.jpg.html
20:02 pmichaud anyway, time to run again.  Looking forward to seeing many of you this weekend!
20:02 b2gills FROGGS: I'm fairly certain that is 'shopped as I don't think a ham-operator would be that naive
20:02 pmichaud the ham operator might know something about his transmission equipment that others don't.  :)
20:03 FROGGS *g*
20:03 skids I recall reading hat one of the longest running revert wars on Wikipedia was whether "arachnophobia" should have a big spider picture on it.
20:03 hzhou321 I see there is an Inline::Perl5, does that require perl5 installation or is it a perl5 compiler (parallel to perl6)?
20:03 FROGGS is ham still a TLA for "hold and modify" I remember from the good old Amiga days?
20:05 moritz hzhou321: it requires a perl5 compiler
20:05 FROGGS hzhou321: Inline::Perl5 needs a perl 5 library (you perhaps need to build it), and v5 would be a slang (a compiler module)
20:05 hzhou321 Thanks. Is that compiler simply an embedded perl5 or is it in perl6?
20:06 FROGGS Perl 5
20:06 hzhou321 I see. I wonder is it easy to have one just like how perl6 is.
20:07 FROGGS hzhou321: I cannot parse your question
20:08 hzhou321 FROGGS: a compiler is just translation. So I wonder how perl6 technology is toward general translation. Perl 5 being very similar to perl6, so I wonder how that effort may be.
20:09 skids That's planned.  Inline::P5 was quicker to implement, though.
20:09 hzhou321 FROGGS: the ability to let go of perl 5 dependency is also a point.
20:10 hzhou321 skids: that was what I figured, thanks for you confirmation.
20:10 skids Sure, but it's really not much of a dependency since it is everywhere.
20:10 hzhou321 skids: the idea is to have perl6 take over, right?
20:10 PerlJam hzhou321: take over what?
20:11 skids I think long-term perl6 might get good enough at running perl5 code that you would not need a perl5 installed, but that's long term.
20:11 Kristien The world!
20:11 hzhou321 PerlJam: such as a distribution with no perl 5, only perl 6, but still be able to run all legacy applications.
20:11 FROGGS take over COBOL /o/
20:11 Kristien I'm sure you can make valid Perl 6 code look like COBOL.
20:12 PerlJam hzhou321: why would we re-invent the P5 wheel, when we already have a perfectly good P5?
20:12 FROGGS hzhou321: that is not very likely
20:12 vendethiel Kristien: well, use COBOL is easy to do :P
20:12 vendethiel just need a COBOL slang *g*
20:12 FROGGS vendethiel++
20:12 mst hzhou321: perl5 and perl6 are two separate languages, and perl5 will continue to be developed
20:13 vendethiel FROGGS: I'm sure you're just happy I use "*g*" all the time now :p
20:13 mst hzhou321: as such, referring to perl5 apps as 'legacy' is an error
20:13 nine_ I cannot imagine anything but perl 5 being able to run all legacy applications.
20:13 hzhou321 skids: why would that have to be a long term though? I was really thinking about the perl 6 technology of writing parser in perl6 and nqp, and whether that can be generalized.
20:13 mst personally, I'd rather be able to have an up to date perl6 and an up to date perl5 on my system
20:13 mst and have them talk to each other
20:14 skids hzhou321: I think mainly because its a matter of tuits.
20:14 skids (and priorities)
20:14 mst the only real advantage I can see is getting non-XS perl5 code onto e.g. the JVM
20:14 hzhou321 mst: having two similar language side by side is confusing. It is not about which is better or not, a less confusing guidance is good for general user.
20:14 FROGGS hzhou321: perl 6 already has grammars built in and lets you write parsers... though, reimplementing P5 is a huge task (I did quite a lot in that area)
20:14 PerlJam hzhou321: yeah,  having C and C++ and C# is real confusing  :)
20:15 vendethiel FROGGS++
20:15 hzhou321 especially I believe perl5 habit will be in conflict with perl 6 habit.
20:15 vendethiel why?
20:15 mst hzhou321: sure, and that's why the perl6 developers should just have given up and gone home
20:15 mst no, wait, they shouldn't and didn't
20:15 vendethiel oh
20:15 FROGGS mst: arggh!
20:15 FROGGS :P
20:15 tony-o_ mst: lol.
20:15 nine_ mst: I see a Perl 5 parser in Perl 6 as an exit strategy for a time when there's just no Perl 5 core maintainer available anymore
20:15 PerlJam FROGGS: maybe you can get hzhou321 to pick up where you left off?
20:16 vendethiel I don't think p5 and p6 are that much similar more than ruby and python. and I mean it...
20:16 FROGGS hzhou321: a normal does not care about the installed compilers... and programmers use the compilers they need/like - problem solved
20:16 hzhou321 PerlJam: C++ is having the trouble to maintain C compatibility. Perl 6 on the other hand, is not trying to be compatible to perl 5 at all, which can cause confusion.
20:16 mst nine_: if we ever get to the point where perl5 is no longer actively developed, then yes, that'll be necessary
20:16 mst but I don't see that point coming any time soon
20:16 FROGGS PerlJam: I have not let go off it yet... I just recently fixed several issues so that it is installable again :o)
20:17 mst and there's lots of more important things to do in the mean time, for both languages, I think
20:17 hzhou321 FROGGS: I was referring to normal programmers. But I always think normal users should know how to do basic programming.
20:17 FROGGS very true, P5 is quite healthy
20:17 nine_ mst: not soon, or even mid term. But long term it is a risk and I'm glad that there may be an alternative then.
20:17 FROGGS hzhou321: sure, I talk to my wife about her programming skills :D
20:17 mst I'm in favour of a future where we have two awesome perl family languages stealing ideas from each other
20:18 hzhou321 FROGGS: so I get you are working on P5?
20:18 FROGGS hzhou321: it is called v5: https://github.com/rakudo-p5/v5
20:18 mst nine_: sure. but that's orthogonal to hzhou321's attempt to pretend perl5 is automatically legacy and insult all the people still working on it
20:18 vendethiel hzhou321: c++ is having the trouble to maintain c++ compatibility ;-)
20:18 mst which is what I was trying to make obviously wrong
20:19 FROGGS hzhou321: I submitted like two or three patched to Perl 5, but only documentation and test suite fixes
20:19 mst I know too many people working on both to stand for such small minded thinking :)
20:19 kaare__ joined #perl6
20:19 Kristien Perl 5 is fun.
20:19 FROGGS better then most other languages, aye
20:20 FROGGS (except when you have to use JS)
20:20 mst and, y'know, we stole a load of perl6 OO ideas to get Moose
20:20 FROGGS (or C for that matter)
20:20 mst and then perl6 stole a bunch of practical lessons from Moose
20:20 tony-o_ js is nice
20:20 mst I'm looking forward to many more years of us both repeating that sort of thing
20:20 FROGGS mst: that is how it should be, aye
20:20 nine_ mst: frankly, I do see some advantages to having a somewhat stable Perl 5 and a migration towards Perl 6 AKA the "legacy" viewpoint.
20:20 hzhou321 FROGGS: so if perl 6 programs have special signature that can be recognized, or perl 5 one's do, then in principle, we can have perl6 compiler/parser automatically load either into compatible internal structure and run them, then there will really no need to have perl5 installed anymore.
20:21 psch m: use 5.8;
20:21 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/7De3SDsdy8â�¤Undeclared routine:â�¤    use used at line 1â�¤â�¤Â»
20:21 hzhou321 When that happen, peopel have more inclination to pick up perl 6.
20:21 PerlJam hzhou321: if you say so.
20:21 mst nine_: that's probably because you didn't see the near-disaster we had around 08/09 when people were pushing that viewpoint
20:21 FROGGS hzhou321: the idea is nice, but the reality tells differently
20:21 mst what it nearly resulted in was a complete schism of the two communities
20:21 vendethiel m: use v5.8
20:21 camelia rakudo-moar 243c16: OUTPUT«===SORRY!===␤Could not find Perl5 in any of: /home/camelia/rakudo-inst-2/languages/perl6/lib, /home/camelia/rakudo-inst-2/languages/perl6␤»
20:22 hzhou321 mst: I did not.
20:22 hzhou321 FROGGS: I am having trouble imagine the problem of reality.
20:22 mst it was horrible, and messy, and divisive, and the 'sister languages' narrative was required to get things back to somewhere sensible
20:22 flussenc1 joined #perl6
20:22 integral_ joined #perl6
20:22 integral_ joined #perl6
20:22 yogan_ joined #perl6
20:23 PerlJam hzhou321: I think people will find other reasons to pick up Perl 6 that don't involve Perl 5 *at all*.
20:23 JimmyZ_ joined #perl6
20:23 hzhou321 mst: I guess is all depend on how stable is the perl 6 parsing perl 5 code.
20:23 mst hzhou321: no, it doesn't
20:23 nine_ mst: I'm absolutely convinced that the "sister languages" terminology saved both parts of our community. It was the right thing. I'm just wondering if it's the time to reevaluate it. Or if that time may be not that far away.
20:23 FROGGS hzhou321: the problem of reality is that the problematic P5 code is code that is written badly, decades ago und not bug free but runs on that old P5 it still runs on
20:23 PerlJam hzhou321: again, why would we re-invent the P5 wheel?
20:23 FROGGS hzhou321: you can't run that with a Perl 5 emulation mode in P6...
20:24 mst nine_: not yet, by a long way
20:24 FROGGS hzhou321: other stuff, smaller maintained projects / modules can be "easily" ported to Perl 6
20:24 hzhou321 FROGGS: are you referring to perl 5's "bugs as features"?
20:24 mst nine_: once there's a proven perl6 library ecosystem, if it turns into a good idea, I think people on the perl5 side will start suggesting it by themselves
20:24 FROGGS hzhou321: and there is benefit on both ends... the Perl 6 languages gets more used, and the resulting app is usually written better and more maintainable
20:25 brrt joined #perl6
20:25 mst nine_: but we're several years out from that, minimum
20:25 FROGGS hzhou321: I am talking about evolution, misuse of features that arn't meant that way and platform specificness
20:26 hzhou321 FROGGS: and it is too difficult to emulate those specificness somehow?
20:26 FROGGS hzhou321: I think so, yes
20:26 hzhou321 FROGGS: I see. I get it.
20:27 mst I think it's sufficiently difficult that anybody capable of making it work could probably better spend their time on something more useful
20:27 psch "Only perl can parse Perl." as they say
20:27 nine_ mst: you're very probably right. I'll just work on reducing that time as much as possible by building the best bridge between the languages. Maybe that will bring the community parts closer together again :)
20:27 FROGGS hzhou321: think about these old cobol applications in the financial industry... these run for several decades without being touched
20:27 mst nine_: that's why I want Inline::Perl6 in perl5
20:28 hzhou321 FROGGS: but do you still think it still worth the effort to try? It will be merely a side project to check the perl5 compatibility.
20:28 mst then we can stop playing stupid games about which one is 'primary'
20:28 FROGGS hzhou321: you cannot just write a parser, run that on a current intel processor and hope all will go well
20:28 mst and just accept that there's more than one way to do it
20:28 mst and let the users vote with their editors, as it were
20:28 nine_ mst: give me a couple boring lighting talks and I may give it a shot ;)
20:28 FROGGS hzhou321: I'm not sure if v5 or Inline::Perl5 will get a real market...
20:29 hzhou321 FROGGS: I did not think it would that extreme. In the presentation you sent, he even talks about parsing other completely different languages.
20:30 mst FROGGS: I plan to embed perl6 code in perl5 code, and probably later on the other way around
20:30 hzhou321 They only need be comaptible at vm level.
20:30 nine_ hzhou321: parsing is about 10 % of what you need to run Perl 5 code
20:30 FROGGS hzhou321: we also have something like python, php and rubi in NQP... so, the parser and the VMs are up for it... it just takes a lot of time and hackers to do it
20:30 nine_ hzhou321: but without the missing 90 % you cannot even finish the parsing part
20:31 hzhou321 nine_: I see. You mean an entire object models
20:31 FROGGS mst: that is what I'd like to do from day to day
20:32 psch hzhou321: http://www.perlmonks.org/?node_id=663393 might be of interest
20:32 nine_ hzhou321: the runtime, the libraries, the C interface that exposes pretty much the whole implementation of Perl 5. They all have been used to influence the parser. To parse Perl you have to be able to execute it.
20:32 hzhou321 nine_: right, that makes sense.
20:33 FROGGS one just have to think of PHP... you'd have to bind a gazillion of C-libraries and expose that via weird function names to provide a "real" PHP
20:33 FROGGS the grammar is not that interesting or special for PHP, really
20:33 nine_ Or Python. There are alternative Python implementations. But none of them are 100 % compatible to CPython because of the C interface.
20:33 hzhou321 So mst's idea of embedding perl5 into perl 6 might work. Just have perl6 load perl5 upon perl 5 code.
20:34 mst it's almost as if I've thought this through :P
20:34 nine_ hzhou321: that's Inline::Perl5. What's missing is rakudo automatically loading Inline::Perl5 if it detects Perl 5 code.
20:34 hzhou321 nine_: that is exactly I am thinking.
20:35 PerlJam nine_: so ... when will you have that feature completed?  ;)
20:35 hzhou321 That should n't be difficult right?
20:35 FROGGS nine_: that would be just a matter about a few lines :o)
20:35 hzhou321 All perl 5 scripts have the #! lines
20:35 nine_ PerlJam: implementing use Foo:from<Perl5>; was surprisingly simple. So I guess autoloading Inline::Perl5 will be surprisingly difficult ;)
20:35 dalek rakudo/nom: a7dc209 | Mouq++ | src/Perl6/Grammar.nqp:
20:35 dalek rakudo/nom: Make iffy things :iffy<1>, as in STD.pm6. Fixes RT #120371
20:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a7dc209c71
20:35 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120371
20:36 Kristien Detecting Perl 5 code is easy, just calculate the input entropy.
20:36 FROGGS nine_: no, v5 will already be loaded, and that just wants replacement
20:36 FROGGS m: use v5;
20:36 camelia rakudo-moar 243c16: OUTPUT«===SORRY!===␤Could not find Perl5 in any of: /home/camelia/rakudo-inst-2/languages/perl6/lib, /home/camelia/rakudo-inst-2/languages/perl6␤»
20:36 FROGGS it tries to load that module...
20:36 FROGGS and we can also let it do that for:
20:36 FROGGS m: package Foo;
20:36 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tDAowT4Iw_�This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style package block like "package Foo { ... }", or "module Foo; ...".�at /tmp/tDAowT4Iw_:1�…»
20:37 FROGGS Kristien: *g*
20:37 dalek roast: e589dfb | Mouq++ | S03-metaops/not.t:
20:37 dalek roast: Test for RT #120371
20:37 dalek roast: review: https://github.com/perl6/roast/commit/e589dfb22d
20:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120371
20:37 nine_ FROGGS: I like what you're saying :)
20:37 FROGGS nine_: it is even specced
20:38 hzhou321 FROGGS: I am lost in the conversation. Is it still relavant to my question?
20:39 FROGGS hzhou321: I was more talking to nine++ here
20:39 lestrrat joined #perl6
20:39 hzhou321 FROGGS: I know, I want to know if it is related
20:39 dalek rakudo/nom: 340b7a7 | jnthn++ | src/vm/parrot/guts/s (2 files):
20:39 dalek rakudo/nom: Sync header files with NQP.
20:39 dalek rakudo/nom:
20:39 dalek rakudo/nom: Should hopefully fix the r-p build.
20:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/340b7a79e3
20:40 jnthn sleep, hopefully &
20:40 FROGGS hzhou321: yes, because it is about autodetecting Perl 5 code and treating it like that
20:40 FROGGS jnthn: sleep well :/
20:40 hzhou321 FROGGS: summary?
20:40 FROGGS hzhou321: what?
20:41 hzhou321 FROGGS: so is it easy or impossible?
20:41 PerlJam hzhou321: neither
20:41 FROGGS hzhou321: detecting some scripts as Perl 5 is easy :D
20:41 hzhou321 FROGGS: it has to be all.
20:41 mst I'm not sure I see the gain to autodetection, for me
20:41 FROGGS but... I often don't put a 'use 5.14' at the top
20:41 mst I'd be happy enough with lib/perl5 and lib/perl6
20:42 Kristien use strict and use warnings
20:42 lizmat FWIW, I would *NOT* like to see automatic loading of Perl5 binary interop
20:42 mst Kristien: which don't appear in most of my perl5 code
20:42 hzhou321 FROGGS: I am thinking if perl 6 from now require a special signature, that will make it trivial.
20:42 mst Kristien: because I either 'use Moo;', 'use Moose;' or 'use strictures;'
20:42 Kristien package
20:42 Kristien return 1; at the end :D
20:42 FROGGS lizmat: well, you'd have to explicitly install Inline::Perl5
20:43 FROGGS Kristien: that'd be too late :o)
20:43 lizmat even then, I'm hesitant about it
20:43 Mouq std: /|&foo/
20:43 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null pattern not allowed at /tmp/aEBFq1caq2 line 1:â�¤------> [32m/|[33mâ��[31m&foo/[0mâ�¤    expecting any of:â�¤       statement endâ�¤  statement listâ�¤Parse failedâ�¤FAILED 00:00 134mâ�¤Â»
20:43 lizmat you would need something *more* than just having Inline::Perl5 installed
20:43 Kristien PostgreSQL has a \| operator for square root
20:43 FROGGS lizmat: well, a 'use v5' is something more
20:43 Mouq m: /|&foo/
20:44 camelia rakudo-moar 243c16: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DxMXmRGBQdâ�¤Undeclared routine:â�¤    &foo used at line 1â�¤â�¤Â»
20:44 * mst still thinks having separate inc path lists for the two languages would be quite sufficient
20:44 lizmat FROGGS: but that would be the AST version of Perl 5, no?
20:44 PerlJam mst: indeed.  Too much magic conjures dragons that eat you.
20:44 nine_ lizmat: why?
20:44 lizmat mst PerlJam: they *must* be different
20:45 hzhou321 mst: I agree for the library part. But there are scripts in the bin folder
20:45 lizmat nine_: because if we would have incorporated Perl 4 in Perl 5 like that, we would *still* have people running Perl 4 code
20:45 mst hzhou321: and those can use the correct #! line, or, in the case of perl5 scripts that want to be run under rakudo, an explicit 'use v5;'
20:45 hzhou321 mst: so the conclusion is trivial, right?
20:45 lizmat nine_: to this day
20:46 mst lizmat: actually, I'm pretty sure I know sites that still do
20:46 PerlJam lizmat: I'm sure there are still people running P4 code in their P5 compiler today :)
20:46 nine_ lizmat: we will never get rid of all Perl 5 code.
20:46 lizmat I'm ok with not getting rid of Perl 5 code
20:47 hzhou321 lizmat: especially after 20 years of accumulation.
20:47 lizmat I'n *nott* ok with having to support Perl5.lib ad infinitum
20:47 nine_ I'm just thinking, Perl 6 automatically executing Perl 5 code via Inline::Perl5 and this code can access Perl 6 without having to figure out which compiler/VM/whatever.
20:48 mst lizmat: I see no problem with considering Inline::Perl5 to be another sort of inline - just like perl5 has e.g. Inline::Python
20:48 hzhou321 nine_: if the code is going to access perl 6, what is the reason for it to be writting in perl 5 ?
20:48 nine_ Wrapping on startup script of my Catalyst app in Inline::Perl5 is easy. Doing this for every single test file is tedious.
20:49 nine_ hzhou321: my use case is using a web framework that's written in Perl 5 for an app that's at least partly written in Perl 6.
20:49 lizmat I'm just worried that we will need to maintain the Perl 5 core codebase ad infinitum that way
20:50 lizmat and we will have fewer and fewer people willing and able to do that
20:50 hzhou321 nine_: I see, in that case, having the framework ported to perl 6 in important.
20:50 hzhou321 How difficult is to porting perl5 to perl 6 in general?
20:51 mst lizmat: I would prefer to worry about that problem when we get there
20:51 FROGGS lizmat: a 'use v5' loads whatever Perl5.pm there is, so if Inline::Perl5 ships a Perl5.pm, that is totally up to nine (and totally up to you choosing what Perl 5 implementation you want)
20:51 mst for the moment, making it easier for people to mix both languages is a net win for everybody
20:51 nine_ hzhou321: porting being important did nothing to speed up Python 2 -> 3 migration. I don't want to decide between these languages for several years. I want to use both.
20:51 FROGGS hzhou321: the biggest problem is that dependencies you use might not exist
20:52 mst also, something like DBIx::Class would *not* be fun to port
20:52 FROGGS hzhou321: for example, you are lost if you wanna do SOAP stuff... but I am working on that
20:52 FROGGS mst: it is always fun, isnt it? :o)
20:52 hzhou321 FROGGS: right, the framework have to port that as well.
20:53 nine_ Why use an unfinished, buggy port of DBIx::Class when I can use the real thing right now and switch to an awesome replacement (designed with Perl 6 features in mind) a couple years down the road?
20:53 mst sloccount estimates that just DBIC is close to 20k lines
20:53 FROGGS hzhou321: right, the rest is just writing your code a little bit more nicely, comprehensive and readable
20:53 mst not including its dependencies
20:53 dalek rakudo/nom: 2a3dc1e | lizmat++ | src/core/Any.pm:
20:53 dalek rakudo/nom: Make DELETEKEY a more generically usable primitive
20:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a3dc1e6eb
20:53 pyrimidine Speaking as someone who sits on a mound of crufty code called bioperl:
20:53 pyrimidine I think the important bits will make their way to perl6 naturally.  the less useful ones will not be ported
20:54 FROGGS mst: so, we just have to write about 15k because P6 is not that verbose :P
20:54 lizmat nine_: I'm just worried that that Perl6 version of DBIx::Class will never happen
20:54 lizmat nine_: if we make it too easy to use the "old" one
20:54 FROGGS lizmat: it will happen... a v5 emulation/binding will never be perfect or good enough for all cases
20:55 andreoss joined #perl6
20:55 PerlJam lizmat: surely as more people are using P6, they'll get frustrated that the old module isn't very idiomatic to P6?
20:55 lizmat FROGGS: I hope so
20:55 lizmat PerlJam: I hope so
20:55 mst lizmat: equally, if you don't make it easy, then people won't get the hang of the stupidly rich feature set
20:55 mst lizmat: and what you'll get instead if a dozen poor reimplementations of CDBI
20:55 lizmat mst there's that
20:56 lizmat I wish nwc10 would chime in
20:56 hzhou321 PerlJam: I don't that will happen (more people come to perl6). People only come to what is in fashion,
20:56 FROGGS perhaps he's busy porting stuff :o)
20:56 mst also, honestly, every time you say something like this I start wondering if I even want to use perl6 - I'd much rather you convinced me to use perl6 because it's better than because you're actively trying to kill my current preferred language
20:56 mst as somebody who cares deeply about trying to avoid divides between the communities, it's really demoralising
20:57 nine_ lizmat: people will use DBIx::Class until something much better comes along. As a user and fan of DBIx::Class I can tell you that there is _so_ much room for improvement. And Perl 6 would be a natural fit for a better query language.
20:57 moritz knowing lizmat a bit, I'm pretty sure that's not her intention
20:57 mst I'm sure it isn't, but that's how it feels
20:57 FROGGS mst: in a few months you can judge... compare XML::LibXML and XML::Compile from P5 to P6...
20:58 bjz joined #perl6
20:58 lizmat mst: that was not my intent
20:58 japhb mst: Not having read the whole backlog (because sheesh), I would say I don't think I'm alone in 1. Not wanting to kill Perl 5, 2. Definitely wanting to make it extra-easy to glue to Perl 5.
20:58 FROGGS and in fact, P5 has to stay, a lot of my code needs it /o\
20:58 hzhou321 I think porting only can go so far. Perl 6 really need good application on its own to kick off.
20:58 lizmat I'm not talking about killing Perl 5 source code
20:59 lizmat I'm talking about the need to not have to maintain the Perl 5 core indefinitely
20:59 FROGGS hzhou321: that's always a point.... other langs have a wiki or a blog engine... and a Perl needs that too
20:59 skids Personally I don't weight the "killer app" idea very heavily.
20:59 lizmat If Inline::Perl5 is used indefinitely, then the Perl 5 core would need to be supported for almost as long
20:59 japhb mst: Also, as an -Ofun community, we try pretty hard not to be actively demoralizing on purpose ....
20:59 PerlJam lizmat: but that's p5p's problem, not ours.
21:00 mst japhb: I'm aware, which is why I mentioned it
21:00 japhb Fairy nuff
21:00 mst lizmat: what PerlJam said. stop prophesying our death and let us worry about that.
21:00 lizmat PerlJam: well, if we consider ourselves to be one community, it *is* our problem as well
21:00 hzhou321 About maintaing perl 5 to infinity, what will happen the maintainence just stop today?
21:00 mst lizmat: we're two sub-communities within one wider community.
21:00 lizmat ok, fair enuf
21:00 lizmat I've said what I wanted to say
21:01 andreoss El_Che: will be there a webcast of TimToady's talk?
21:01 woolfy FOSDEM video recording / streaming: we have two volunteers to do the "video duty": Theo van Hoesel (vanHoesel) and Jeff Goff (drforr).  I hope that is enough.  Any more volunteers are welcome.
21:01 PerlJam lizmat: If there is still love for P5, it still needs to be maintained.  We shouldn't try to circumvent that.
21:01 PerlJam (at least, that's how I see it)
21:01 japhb hzhou321: You'll have a great language in which people will slowly find bugs and no one will fix them.  Thankfully very highly unlikely.  c.f. Linux 2.4.
21:01 FROGGS and also, it is not only about maintaining P5, it is also about letting it evolve... a lot happened in the last releases and there is no reason to not keep it that way :o)
21:02 mst right. having said 'perl5 is the new perl4', it's clear that you don't love it anymore, which is completely fine so long as you let the people who do keep doing so
21:02 woolfy andreoss: yes, there will be videorecordings of his talk, but I am not sure if this is broadcast live, but I am sure that quite soon all the videos will be available online
21:02 hzhou321 japhb: well, for me, I have not updated my perl 5 for years with no problem.
21:02 mst I want the people who love perl6 and hate perl5 and the people who love perl5 and hate perl6 to be able to continue using their way to do it, basically
21:02 hzhou321 japhb: perl 5 is losing users anyway
21:02 mst I'm hoping I'll eventually end up being somebody who loves both
21:02 PerlJam hzhou321: citation?
21:03 Kristien I love Perl 5.
21:03 japhb hzhou321: For me, the lack of distro updates for years killed me.  RHEL, I'm looking at you.  With daggers in my eyes.
21:03 woolfy mst: there are more and more P5 people playing and working with P6, so I really feel the two communities are growing back together.
21:03 PerlJam japhb: everybody knows that you have to build your own Perl on redhat!  ;)
21:04 japhb PerlJam: *sigh*
21:04 mst woolfy: that's my hope, but if we let the 'perl6 replaces perl5 no matter what you think' narrative creep back, it'll fall apart again
21:04 hzhou321 japhb: yeah, but if RHEL tell you it is being forked and all effort is there, you would follow , right? Unless is legacy, then it will always stay, like cobol
21:04 mst woolfy: the narrative has to be 'we think perl6 is better and want to show you why so you fall in love with it too'
21:04 Kristien I once wrote a video game in COBOL.
21:04 woolfy mst: I don't know why you bring this up
21:04 Kristien I should do that in Perl.
21:05 nine_ lizmat: I'm building the best bridge between P5 and P6 that I can because I will need such a bridge if I hope to being able to use P6 at my company. A bit of compatability will just not do.
21:05 PerlJam Kristien: and Perl 6!
21:05 FROGGS Kristien: ohh nice... join #perl6-gaming :D
21:05 woolfy mst: who did that?  Do I need to read backlog?
21:05 hzhou321 mst: IMHO, better is a propagada terms. It is hard to prove better.
21:05 japhb hzhou321: I've considered in the past making it a condition of employment that the department in question not be deploying onto RHEL.  :-/
21:05 brrt Kristien: timotimo also did a game in perl6, iirc
21:06 japhb nine_++ for that
21:06 moritz tadzik++ did at least two, iirc
21:06 mst woolfy: lizmat's comments *felt* like that, even though I know that wasn't what she was meaning - I spent quite a while trying to avoid carnage after the 'perl5 is the new perl4' lightning talk :/
21:06 mst I'm trying to pre-file bugs against the communication protocols here
21:06 hzhou321 japhb: I guess I atypical, I always try to live with subset and having my own way.
21:06 mst so we don't end up with miscommunications that cause trouble between people who were never actually trying to be mean to each other
21:07 woolfy mst: well, don't you say again that lizmat does not love P5, because that's the language she has been working with for over 15 years.
21:07 japhb hzhou321: These days I think in that situation, I would just deploy VMs or containers with what I wanted in them.  :-)
21:07 hzhou321 japhb: exactly.
21:08 bjz joined #perl6
21:08 woolfy mst: if it felt that she wrote what you thought what she wrote, it might be your hangup.  You should know lizmat better than this.
21:08 mst woolfy: I'm *not* saying that. I'm saying "here are things that you are saying that I still manage to take personally, even though rationally I know that's not what you think"
21:08 japhb woolfy: I've got her beat on that front.  It's the extra 4 years that really changes you.  ;-)
21:09 woolfy japhb: lizmat is working 20 year with Perl now.  At least 15 years with Perl5, and the last 3 years with Perl 6.
21:09 nine_ woolfy: nevertheless it looks quite clear like lizmat's heart is in Perl 6 nowadays and that's perfectly fine.
21:09 gfldex i had to use P5 at work today.
21:09 japhb woolfy: I'm teasing.
21:09 gfldex i fixed some unicode mess somebody else (who left the company years ago) behind for me
21:09 gfldex it was not fun
21:10 gfldex for me P5 is that old tool that still gets the job done
21:10 woolfy nine: lizmat's heart is indeed with P6.  But the last couple of years we have been at enough workshops and conferences that were mostly (or even "only") P5, to show that our love for P5 is not gone.
21:10 pmurias bringing up the 'perl6 replaces perl5' narrative now seems ultra silly, Perl 6 should just get good enough first that all the perl 5 people will just want to figure out how migrate themself not feel forced too
21:10 japhb Though, wow, I can't believe I've been programming Perl variants for two decades ....
21:10 pmurias and that point feel far away now
21:10 gfldex it's a bit dirty and needs to be bannged against the wall every and then
21:10 gfldex but it's for sure not fun to work with
21:10 mst pmurias: right. I'm mentioning it because there are things people are saying that can easily pattern match to that narrative
21:10 FROGGS gfldex: that is also a point where I hope that P6 gets the job done in a way that I don't loose my mind... how easily do you de-/encode to WTF-8?
21:11 gfldex i would like to have fun with P6 at work
21:11 dalek doc: 8c92426 | moritz++ | lib/Language/regexes.pod:
21:11 dalek doc: example for \S in regex
21:11 dalek doc: review: https://github.com/perl6/doc/commit/8c92426c85
21:11 dalek doc: 09867b7 | moritz++ | lib/Language/regexes.pod:
21:11 dalek doc: Regexes: document :overlap and :exhaustive
21:11 mst especially for those of us who were around the last time we had a stupid pile of in-fighting over people misunderstanding each other
21:11 dalek doc: review: https://github.com/perl6/doc/commit/09867b7eb0
21:11 japhb infighting--
21:11 mst pmurias: and I don't want us to accidentally go back there, given it's obvious that nobody actually *intends* to
21:11 mst but that means we have to be careful not to accidentally talk past each other
21:12 mst open source is made of people. this is both its best, and worst, property :D
21:12 japhb .oO( Only do it intentionally, with cheerleading megaphones )
21:12 pyrimidine mst++ # agreed
21:12 FROGGS my talk at the FOSDEM will cover both Perls, so my duty will be done by then :o)
21:13 dalek doc: 68edd4d | moritz++ | lib/Language/variables.pod:
21:13 dalek doc: Improve a heading (I hope)
21:13 dalek doc: review: https://github.com/perl6/doc/commit/68edd4d662
21:13 pyrimidine Infighting is demoralizing on all sides
21:13 woolfy mst: P6 will only become a success if enough P5 people will also (!) work with P6.  P6 will need P5.  If only because of the enormous amount of modules that at some point have to be converted or rewritten, preferrably by the original authors.
21:13 gfldex that was the culprit btw: https://metacpan.org/pod/HTML::TreeBuilder#parse_file
21:14 gfldex easy to fix right? just change the default of that module to handle utf-8
21:14 gfldex sadly that might or might not break old code
21:14 moritz woolfy: I hope that we can attract programmers from other communities as well, not just from p5
21:14 woolfy Not many P6 authors will talk negative about P5.  If they do, it is in a way as "P6 was once begun because P5 had some problems", and I think P5 still has several of those problems, and P6 fixes most of them.
21:14 woolfy moritz: I hope that too.
21:14 PerlJam "not many"?!?
21:15 woolfy PerlJam: ?
21:15 PerlJam I would think the number is closer to "none"
21:16 PerlJam Unless you count the grousing about missing features or bugs or whatnot, but then die-hard P5 people will also say such things.
21:16 woolfy PerlJam: I've heard some...  and they said some angry things...  but it's like any relationship: it is not just roses and moonshine, sometimes we have to argue...
21:18 FROGGS today I hated Perl 5 (my application) for several hours... but the language is still fine ;o)
21:19 FROGGS and yesterday I hated Perl 6 because NativeCall, circularities and too many types being involved did not play nice, not nice at all
21:20 woolfy Well, for me, I still love P5, and not just because it helped us with our company for so long, and it made life as a website developer so much easier.  It is also because the people are so awesome.  And with P6, programming seems even more wonderful, and the people are at least as awesome as the P5-people.
21:21 vendethiel $awesome-people++
21:21 hoelzro $hyphenated-variable-names++
21:21 FROGGS :P
21:21 * PerlJam hugs #perl6
21:22 jdv79 i, as a majoratively p5 user for the last decade plus, would not mind never using p5 again if p6 repaced it.
21:22 jdv79 both are cool; p6 is just cooler.
21:22 pierrot joined #perl6
21:23 Kristien how many percents cooler is it?
21:23 pierrot left #perl6
21:23 japhb Kristien: ALL THE PERCENTS
21:23 Kristien 6 - 5 = 1, and 1 is 20% of 5!
21:23 Kristien Perl 6 is 20% cooler!
21:23 PerlJam Kristien: you need the Kelvin scale to measure its coolness.
21:23 avar Just speaking as a lurking bystander who works on p5 daily, I just haven't yet seen the value proposition for me moving to p6 as opposed to some other unrelated language, seems like it still requires a FFI to interact with p5, and if I go down that route there's a lot of more mature stuff I could poke at.
21:23 * avar 0.02 EUR
21:24 FROGGS avar++
21:25 FROGGS I don't want an interaction with Perl 5 I think... I just want to have the expressiveness of Perl 6 while still having all the deps I need :S
21:25 avar I mean, at work we do like 95% of our stuff in p5, like 4% of those is "just because I feel like it" and the remaining 1% are Java/C/Go or whatever for speed.
21:26 pierrot joined #perl6
21:26 jdv79 i agree.  i'm more saying that once p6 hits a few points i'll be happy to transition mostly.
21:26 PerlJam avar: and you'd never do the "just because I feel like it" stuff in P6?
21:27 moritz .tell jnthn bisecting of nqp tells me that your commit 98c0b61f8b5fee6e383b6ee03070139ebf04106f "Add parametricity bits to STable." causes the rakudo-parrot core compilation segfault
21:27 yoleaux moritz: I'll pass your message to jnthn.
21:27 avar PerlJam: Sure, but for that stuff I might be more likely to choose CL, Clojure, Go, Rust or whatever. The reason I stay with p5 is compatibility with existing stuff, not really the language per-se.
21:28 PerlJam yeah, figured.
21:28 pmurias avar: would having use Foo:from<perl5> working transparently still count as FFI?
21:28 PerlJam I've only rarely found projects that are divorced enough from our P5 code that I would consider trying P6 for them.
21:30 PerlJam (though there is some P6 code as part of the deliverables to a project I did for the NOS)
21:30 avar pmurias: Yeah some of that new FFI stuff looks nice. In particular one sweet spot that we don't have now is being able to semi-transparently write blocks of code in a different language, but I guess Inline::* comes pretty close..
21:31 avar Any of you going to FOSDEM b.t.w.? I'll be there on Friday.
21:32 avar We at booking are slowly branching into other languages, it would be interesting to find if p6 is practical for stuff like that :)
21:33 mvuets avar: we have a jabber room (-;
21:33 muraiki can I use "is cached" with a multi?
21:33 avar #fosdem you mean?
21:33 mvuets avar: #perl6
21:33 Mouq muraiki: It's probably a better idea to use it on the multi's proto
21:33 muraiki mouq: thanks, I'm still learning, hehe
21:34 lizmat Mouq: muraiki: depends on your need
21:34 Mouq np, that's a good question :)
21:34 avar mvuets: You know that's here, right?:)
21:34 lizmat one MMD candidate might be better suited for caching than others
21:34 mvuets avar: sorry, i meant a Perl 6 _jabber_ room at work
21:34 mvuets avar: here is IRC, right? (-:
21:35 muraiki mouq: how do I write a proto?
21:35 avar Ah, I didn't know that
21:35 nine_ avar: you there on Saturday? I'll be giving a talk on Inline::Perl5 and Inline::Python. Suggestions for content still accepted ;)
21:36 mvuets speaking of Inline::Perl5: someone at work managed to use a DB layer from within Perl 6, kinda fun
21:36 Mouq m: proto foo is cached (|) { }; multi foo ($) { say "called!" }; foo; foo
21:36 camelia rakudo-moar 2a3dc1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ezwDqDozWx�Missing block�at /tmp/ezwDqDozWx:1�------> [32mproto foo is cached [33m�[31m(|) { }; multi foo ($) { say "called!" }[0m�»
21:36 hoelzro mvuets: I still need to finish that bot for you all to use =)
21:37 FROGGS m: proto foo(|) is cached { }; multi foo ($) { say "called!" }; foo; foo
21:37 camelia rakudo-moar 2a3dc1: ( no output )
21:37 mvuets hoelzro: aye, right (-:
21:37 * mvuets parts
21:37 hoelzro o/
21:37 Mouq Oh
21:37 Mouq m: proto foo(|) is cached { }; multi foo ($) { say "called!" }; foo 4; foo 5; foo 4
21:37 camelia rakudo-moar 2a3dc1: ( no output )
21:37 Mouq Hm
21:37 FROGGS m: proto foo(|) is cached { * }; multi foo ($) { say "called!" }; foo; foo
21:37 camelia rakudo-moar 2a3dc1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Calling 'foo' requires arguments (if you meant to operate on $_, please use .foo or use an explicit invocant or argument)â�¤    Expected any of: â�¤    :(Any $)â�¤at /tmp/8O7C7CKukN:1â�¤------> [32m{ * }; multi foo ($) { s…»
21:37 FROGGS m: proto foo(|) is cached { * }; multi foo ($) { say "called!" }; foo 42; foo 42
21:37 camelia rakudo-moar 2a3dc1: OUTPUT«called!␤»
21:38 Mouq FROGGS++
21:38 avar nine_: Yeah I'll be there, arriving on Friday evening, going to delirium
21:39 dalek doc: 58ea8e9 | skids++ | lib/ (3 files):
21:39 dalek doc: Clean up my terminonology and whitspace from a few previous commits
21:39 dalek doc: review: https://github.com/perl6/doc/commit/58ea8e9a49
21:39 FROGGS avar: I'll be there too, probably at the Perl booth :o)
21:39 avar Cool, meet you guys there
21:40 muraiki hrm, here's what I'm trying to do: https://gist.github.com/muraiki/1658a29e82d941507bb5
21:40 muraiki "Type check failed for return value; expected 'NonNegativeInt' but got 'Any'"
21:40 muraiki I guess I need to read more on protos
21:40 * lizmat is glad seeing so many Perl5|Perl6 people around
21:40 FROGGS muraiki: put a * in the proto body
21:41 muraiki nice!!
21:41 FROGGS muraiki: which means: "dispatch to the candidates as usual"
21:41 muraiki man this is so great
21:42 woolfy Anybody here going to FOSDEM should please read https://wendyga.wordpress.com/2015/01/25/fosdem-perl-devroom-schedule-31jan2015-and-booth-31jan1feb2015/
21:42 woolfy and tell me if you want to join for dinner
21:43 woolfy We have dinner both Saturday and Sunday and all are welcome, but we have 70 resp.50 seats reserved, so please tell me (privately) if you want to be on the list for either or both dinners.
21:43 woolfy Thank you for your attention.
21:43 woolfy If you are a speaker, you are automatically on the list for both dinners.  Please tell me if you want off the list.
21:47 FROGGS \o/
21:47 FROGGS woolfy++
21:48 dalek nqp-js: 392de93 | (Pawel Murias)++ | src/vm/js/ (3 files):
21:48 dalek nqp-js: Stub things so we can use a real NQPCORE.setting.
21:48 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/392de93a2f
21:48 dalek nqp-js: 8f534e5 | (Pawel Murias)++ | / (4 files):
21:48 dalek nqp-js: Use the real NQPCORE.setting instead of mini-setting.
21:48 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/8f534e58b0
21:48 FROGGS pmurias++ # these are nice commit messages
21:51 espadrine joined #perl6
21:53 espadrine I feel like http://rakudo.org/ is dead, and http://downforeveryoneorjustme.com/http://rakudo.org/ agrees
21:54 FROGGS ewww
21:54 espadrine I know, it brings tears to my heart too
21:54 FROGGS I wonder who the host is
21:54 lizmat FROGGS: I see a 500 Internal Server Error
21:54 FROGGS lizmat: me too
21:56 bartolin_ dig rakudo.org # 74.200.73.219
21:56 bartolin_ dig -x 74.200.73.219 # pmichaud.com
21:57 obra joined #perl6
21:57 pmurias FROGGS: it turns out the op I was stubbing was a noop anyway ;)
21:57 FROGGS hehe
21:58 timotimo oh, rakudo.org
21:58 timotimo i was just logging into www.p6c.org m)
21:59 dalek rakudo/nom: c377ff6 | lizmat++ | / (8 files):
21:59 dalek rakudo/nom: Make adverbed slices up to 10% faster still
21:59 dalek rakudo/nom:
21:59 dalek rakudo/nom: Some backstory: slicing was done by a large piece of code that handled both
21:59 dalek rakudo/nom: array slices and hash slices.  At various places, a flag was checked to do
21:59 dalek rakudo/nom: either for instance an "at_pos" or an "at_key".  By creating a P6 script
21:59 dalek rakudo/nom: in tools/build (makeSLICE.pl6) that templates that code to generate separate
21:59 dalek rakudo/nom: cases for list and hash slices, we effectively removed a lot of flag passing
21:59 dalek rakudo/nom: and checking.  The generated code should be better optimizable / jittable.
21:59 dalek rakudo/nom: At the expense of a larger core setting, of course.  Which is the reason I've
21:59 dalek rakudo/nom: done this as a single commit, so that we can revert easily if needed.
21:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c377ff6422
22:00 Mouq lizmat++
22:00 timotimo looks cool :)
22:00 lizmat oddly enough, the templating turned out to be relatively trivial
22:01 lizmat using Q:a:to
22:01 * lizmat just loves zen slices
22:01 timotimo <3
22:03 dalek rakudo/nom: eea99e3 | Mouq++ | src/Perl6/Grammar.nqp:
22:03 dalek rakudo/nom: Steal an error message from STD.pm6; fixes RT #79116
22:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eea99e3738
22:03 dalek rakudo/nom: b472a3e | Mouq++ | src/ (2 files):
22:03 dalek rakudo/nom: Make a typed exception for RT #114748
22:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b472a3e914
22:03 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=79116
22:03 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=114748
22:03 dalek rakudo/nom: 4603718 | Mouq++ | / (10 files):
22:03 dalek rakudo/nom: Merge branch 'nom' of http://github.com/rakudo/rakudo into nom
22:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4603718a8e
22:03 dalek roast: fc42158 | Mouq++ | S03-metaops/reduce.t:
22:03 dalek roast: Update test for RT #114748
22:03 dalek roast: review: https://github.com/perl6/roast/commit/fc42158458
22:03 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=114748
22:03 pmurias jnthn: is there any need to setboolspec with mode 5 (MODE_NOT_TYPE_OBJECT) on NQPRoute and NQPRegex, as it appears to be the default anyway?
22:04 bartolin_ Mouq++
22:07 bartolin_ m: $_ = 10; s/1/2/; say $_; say $_.WHAT  ## what would you expect here? 20\n(Str) or 20\n(Int)?
22:07 camelia rakudo-moar 2a3dc1: OUTPUT«Cannot call 'subst-mutate'; none of these signatures match:␤  in method subst-mutate at src/gen/m-CORE.setting:4247␤  in block <unit> at /tmp/m1HuXMlReX:1␤␤»
22:09 timotimo https://twitter.com/ObnoxiousJul/status/559950699903991811 - this could be something interesting to answer, perhaps?
22:09 timotimo like, having a nice little article about that
22:09 timotimo (but what's with the naked lady in the background? >_<)
22:10 gfldex it's a sexy pinup girl with a deformed bum
22:10 timotimo that'd explain it
22:10 timotimo at least it's not a total escher girl
22:13 Kristien yeah, she should be in the foreground. what a sexist!
22:13 hzhou321 Hi experts, if NQP is a subset of perl 6, why rakudo cannot be directly compiled by perl 6 but need nqp to bootstrap?
22:13 Kristien define "compiled by Perl 6"
22:14 hzhou321 Kristien: can perl 6 compile nqp code?
22:14 Kristien define "perl 6"
22:14 gfldex any language that isn't machine code needs at least a little bootstrepping
22:14 hzhou321 Yes, it can have a compiled perl 6 to do that.
22:14 timotimo hzhou321: it's not a fully true subset, there's some semantic differences that make it not possible
22:15 hzhou321 timotimo: thx
22:16 hoelzro is anyone opposed to Type($value) calling invoke/postcircumfix:<( )> with $value, rather than a Capture with $value in it?
22:16 hoelzro I feel like it's more intuitive
22:16 gfldex hzhou321: the plan is to lose nqp at some point by teaching perl6 to be a compiler
22:17 hzhou321 gfldex: that ideed was my question. I see.
22:18 gfldex what leads to an interesting hen-egg-question: what was there fist, Perl 6 or Perl 6?
22:19 FROGGS a cross compiler probably
22:19 dalek doc: 1f4b487 | skids++ | lib/Language/mop.pod:
22:19 dalek doc: Gloss some grammar, redo metamethod name conflicts
22:19 dalek doc:
22:19 dalek doc: The example was obviously expecting .WHY to echo the class
22:19 dalek doc: name.  That does not in fact work.  I tried to give the .WHY a
22:19 dalek doc: Pod value, however, though the example is AFAICT correct,
22:19 dalek doc: it does not compile as is, and also, the proposed "WHY"() trick
22:19 dalek doc: does not in fact work anymore if it indeed ever did.
22:19 dalek doc: review: https://github.com/perl6/doc/commit/1f4b487ad7
22:20 FROGGS gfldex: ... written in PIR IIRC
22:21 timotimo the earliest thing we had was written in PIR, that is correct
22:21 timotimo i think at the very beginning we had the Parrot Grammar Engine or what it was called. from that, NQP grew, if i understand correctly
22:22 FROGGS PGE, that rings a bell
22:22 skids Doesn't pugs predate PIR?  Not that it was used to develop NQP.
22:22 geekosaur more that pugs didn't care much since it was not using parrot?
22:27 timotimo oh, i was just talking about nqp and rakudo here
22:27 timotimo pugs outputted, among other things, PIR
22:33 adu joined #perl6
22:34 skids I wonder if there's a better possible term than "type object" for type objects.
22:34 telex joined #perl6
22:35 lizmat uninstantiated object ?
22:35 lizmat good night, #perl6!
22:36 skids While that does embed the use of them as typed-undefined-values, often you want to emphasise that it is an object representing a type.
22:37 skids "naked type" maybe.
22:37 FROGGS class
22:38 skids Well, there cam be MOP objects that are not classes.
22:45 masak ah, the ambiguaity of `is <Class>` and `is <trait>` in the backlog. interesting.
22:46 masak I find I don't mind so much. even if people mis-capitalize, there shouldn't be a trait with the same name as a class.
22:46 masak but the spec *should* be entirely clear on this: if you have both a class and a trait, which one wins in that case?
22:46 masak I don't remember reading anything about that.
22:47 masak because if *that* bit is spec and not implementation-dependent, then we're fine. even IDEs and similar can always tell what `[Dtis <something>`
22:47 masak what the `is <something>` means
22:50 masak andreoss: re pidgins and knowing both Perl 5 and Perl 6 -- nope, no problem there, in my experience. maybe being well-founded in programming syntax and semantics in general helps, though. fortunately, those who do Perl 5 often have many languages in their quiver.
22:51 kurahaupo1 joined #perl6
22:52 skids Hmm not for "type object," but "haplotype" is an perhaps nicely cross-purposed word.
22:53 raiph joined #perl6
22:54 davido__ joined #perl6
23:11 lestrrat joined #perl6
23:12 dalek doc: 16635bb | skids++ | lib/Language/glossary.pod:
23:12 dalek doc: Enhance "Type Object" definition to include undefinedness
23:12 dalek doc:
23:12 dalek doc: In case a newbie gets a "type object" error message and then looks it
23:12 dalek doc: up in the glossary.
23:12 dalek doc: review: https://github.com/perl6/doc/commit/16635bb6a5
23:12 timotimo i'd love to see something like jsfiddle for perl6 and having this mozilla-made collaboration thingie on top of it would be lovely, maybe even a must-have
23:13 BenGoldberg joined #perl6
23:13 timotimo does somebody want to try this with me? http://jsfiddle.net/#&amp;togetherjs=qhMVrEFqOl
23:13 espadrine mozilla-made collaboration thingie? do you mean together.js?
23:13 timotimo that's the one
23:14 espadrine well, operational transformations
23:15 masak to all the people in the backlog who mumble "maybe it's time to reevaluate [the 'sister languages' message]" -- no. it's not time. you're wrong, and mst is right. I was there too. Perl 6 is great, but not yet stable/production enough to broadcast a "Perl 5 is obsolete" message.
23:15 masak and if you believe it is, consider that *mst* thinks you're wrong and *I* think you're wrong, and you shouldn't do that.
23:17 masak I cannot stress this enough: right now, the focus of the Perl 6 community should be making the language more ready. not claiming that the language is ready.
23:17 masak the world has seen enough high-aiming promises and plans. the way we impress them is with... y'know, actual implemented stuff.
23:18 gfldex how does together.js know that timotimo is my friend? o.0
23:19 jdv79 i think its just an unavoidable consequence of Larry's fosdem declaration.  Relax - 2015 has just begun;)
23:20 masak jdv79: I fear you're right.
23:21 masak don't really know what to do about that.
23:21 timotimo gfldex: huh?
23:21 gfldex timotimo: it told me so and now i can see a little green hand with your name on it
23:22 skids It's in the URL.
23:22 gfldex anyway, i need to dream about a beginning xmas party. good night
23:22 skids Though of course, you could invite all your enemies to a collab, and it would say the same thing :-)
23:23 Alina-malina joined #perl6
23:24 timotimo i told together.js what my name is
23:24 timotimo gfldex: you are friendly fox?
23:27 kurahaupo joined #perl6
23:31 hzhou321 joined #perl6
23:33 * masak caught up with backlog
23:33 masak glad to see the p5-p6 discussion changed to something slightly less divisive
23:34 * timotimo didn't backlog to it
23:34 lestrrat joined #perl6
23:34 masak the real nugget for me was probably http://irclog.perlgeek.de/perl6/2015-01-27#i_10015333 -- an actual p5 user chiming in about his reasons for *not* switching to Perl 6 yet.
23:34 masak if we can make the deal seem sweet to people like avar++... then we'll be onto something.
23:35 masak but we can't cheat our way there. we need to fill in some serious blanks.
23:35 masak heck, we need to start by *enumerating* the blanks, and prioritizing them.
23:36 avar masak: Are you coming to FOSDEM too?
23:39 ab5tract masak: don't worry, i'm working on avar ;)
23:40 dalek rakudo-star-daily: 50ae687 | coke++ | log/ (9 files):
23:40 dalek rakudo-star-daily: today (automated commit)
23:40 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/50ae687b7c
23:40 dalek perl6-roast-data: f4d5a8e | coke++ | / (4 files):
23:40 dalek perl6-roast-data: today (automated commit)
23:40 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/f4d5a8e4ab
23:40 * ab5tract is leaving most of the backlog to $after-sleep
23:41 ab5tract but i agree with your points masak. i was already wondering if we should craft a "before-6.0" checklist somewhere
23:41 avar haha
23:42 ab5tract items like "prune obsolete documentation that appears in google search results"
23:43 ab5tract smaller things like that up to bigger things like nice-to-haves. but a backlog of sorts to get folks motivated
23:43 ab5tract avar: you will be mine.. oh yes, you will be mine
23:44 avar haha
23:45 ab5tract hoelzro++  # after being once again helpfully cluebatted in the right direction by your "did you mean $!var" patch
23:50 timotimo ah, avar is still hanging out here
23:51 timotimo i'm still kind of at the point where perl6 performance is my biggest WANT
23:52 hzhou joined #perl6
23:52 avar timotimo: How does it compare to other stuff you've tried?
23:53 avar I.e. how does it fall on the C > Go > Java > (Perl|Python|Ruby) > * continuum ?
23:53 timotimo i haven't ever used Go or Perl or Ruby
23:53 masak avar: not going to be corporally at FOSDEM this year, no.
23:53 masak avar: I'll try to haunt you in spirit and on IRC, though ;)
23:53 timotimo sometimes it can suck very badly. we're working on it ;)
23:53 timotimo every other week we'll improve the speed of something or other by 10x or something :)
23:56 masak the facts are these: 6 is bigger than 5. of the (diminishing) Perl marketshare, Perl 5 is something like 99% of it. when I wrote that last sentence, I didn't go "hm, maybe it's just 90%", I went "I wonder how many 9s I should put in".
23:56 masak in that situation, it doesn't *matter* if Perl 6 is technically superior. not yet.
23:57 avar In any case the biggest growth market for any "sister" language is probably new users, not bringing the old users in.
23:57 masak the focus should be on filling in gaps, putting Perl 6 on parity with Perl 5 in as many ways as possible, having a story when people comes saying "hey, I wanted to try out Perl 6 but I couldn't X"
23:57 timotimo aye, i'm a new user and i like perl 6 a lot
23:57 avar What do people interested in occasional compiler hacking poke at in perl6 these days? Rakudo/MoarVM? I sometimes hack on perl5
23:58 masak and any "Perl 6 is clearly better than Perl 5 so therefore you should already be using it" should be backed up with *technical* argument, not just hot air
23:58 ab5tract avar: it caguely reminds me of running perl 5.0004 on an sgi o2 workstation in 1999 :)
23:58 timotimo rakudo, nqp and moarvm are compiler hacking targets
23:58 vendethiel timotimo: same here :/
23:58 ab5tract *vaguely
23:58 timotimo most of the compilation happens in NQP rather than rakudo itself
23:58 vendethiel and the toughest selling point
23:58 masak avar: yes, Rakudo/MoarVM, I'd say.
23:58 hzhou321 joined #perl6
23:59 avar Is rakudo still mainly on the "nom" branch?
23:59 timotimo avar: if you're into dynamic optimizations and such, moarvm will be your thing. if you're into static analysis based optimization, you can find an optimizer for NQP code in nqp and an optimizer for perl6 code in rakudo
23:59 ab5tract nom ~~ 'no other master' ? :)
23:59 timotimo and then there's the compilers for QAST to PIRT, MAST and JAST inside nqp
23:59 masak hzhou321: 你中国人吗?

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

Perl 6 | Reference Documentation | Rakudo