Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-12-03

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:31 vendethiel joined #perl6
00:46 KCL_ joined #perl6
00:48 [Coke] good eventime, sixers.
00:51 [Coke] wow, I didn't know that was there.
00:51 Juerd What was where?
00:53 ash____ joined #perl6
00:54 tony-o p56: class l { method r() { } }; my $l = l.new; $l.^methods.say;
00:54 camelia p5-to-p6 : OUTPUT«Number or Bareword found where operator expected at perlito5.pl line 1160.␤»
00:54 tony-o p65: class l { method r() { } }; my $l = l.new; $l.^methods.say;
00:54 BenGoldberg camelia, help
00:54 camelia BenGoldberg: Usage: <(std|nqp-jvm|nqp-parrot|star-p|b|rakudo-jvm​|rakudo-parrot|rakudo-moar|niecza|star-m|p5-​to-p6|pugs|star-j|nqp-moarvm|nqp-j|nrP|p|p6|​Prn|rp|rn|n|rj|r-jvm|nqp-mvm|sm|p56|perl6|r|​star|rakudo|rm|Pnr|r-m|nom|sp|nPr|P|rnP|nr|r​-p|nqp-p|nqp-m|r-j|j|rPn|m|nqp)(?^::\s) $perl6_program>
00:54 BenGoldberg Alas, there isn't a p65
00:54 tony-o foiled again
00:55 tony-o used http async and router to write a restful type server today
00:55 tony-o works like good
00:56 [Coke] Juerd: p56
00:57 Juerd Oh, wow.
00:58 kurahaupo joined #perl6
00:59 timotimo "like good", eh?
01:04 tony-o timotimo: only problems i've had to fix are in the router :-)
01:05 tony-o also made me enhance DB::ORM::Quicky
01:07 timotimo that sounds good
01:07 tony-o i needed a 'like' operator for searching my lazily created db
01:39 dayangkun joined #perl6
01:39 prime joined #perl6
01:40 raiph joined #perl6
01:57 vendethiel joined #perl6
02:03 tony-o timotimo: i found a different way to write the Request/Response combo for keep-alive, it should be a quick rewrite of those two but it's not as quick as i initially thunk
02:18 jimmy_ joined #perl6
02:21 vendethiel joined #perl6
02:35 KCL joined #perl6
02:42 ash___ joined #perl6
02:53 vendethiel joined #perl6
02:56 telex joined #perl6
03:08 Mso150_p joined #perl6
03:13 chenryn joined #perl6
03:22 noganex_ joined #perl6
03:28 aborazmeh joined #perl6
03:32 vendethiel joined #perl6
04:40 kaleem joined #perl6
04:47 vendethiel joined #perl6
05:03 anaeem1_ joined #perl6
05:05 kaare_ joined #perl6
05:32 kurahaupo joined #perl6
05:51 chenryn joined #perl6
05:56 vendethiel joined #perl6
06:03 jimmy_ s
06:19 vendethiel joined #perl6
06:20 kaare_ joined #perl6
06:29 moritz good morning
06:30 JimmyZ_ morning, moritz
06:30 dayangkun joined #perl6
06:34 anaeem1_ joined #perl6
06:35 anaeem1_ joined #perl6
06:35 rurban joined #perl6
06:43 kaare__ joined #perl6
06:47 vike1 joined #perl6
06:57 fhelmberger joined #perl6
07:06 gfldex joined #perl6
07:07 [particle]1 joined #perl6
07:10 [Sno] joined #perl6
07:15 kaleem joined #perl6
07:16 vendethiel joined #perl6
07:25 dayangkun joined #perl6
07:29 rindolf joined #perl6
07:30 * TimToady is testing a further reduction of NFA states and edges that cuts another 330k from Grammar.moarvm
07:31 TimToady not quite as dramatic as yesterday's reduction, but still...
07:32 JimmyZ_ but still very nice.
07:32 JimmyZ_ ;)
07:34 JimmyZ_ m: say 0.3 / 3.1 * 100 ~ '%'
07:34 camelia rakudo-moar 91d899: OUTPUT«9.677419%␤»
07:37 JimmyZ_ m: say 5330 - 2120 - 330
07:37 camelia rakudo-moar 91d899: OUTPUT«2880␤»
07:40 cognominal r: my @a = [2,4];  @b = 1..20;   say @b[|@a]
07:40 camelia rakudo-{parrot,moar} 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '@b' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32mmy @a = [2,4];  @b[33mâ��[31m = 1..20;   say @b[|@a][0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
07:41 cognominal what is the idiom to get the indexes from @a for the slice?
07:42 cognominal r: my @a = [2,4];  my @b = 1..20;   say @b[|@a]
07:42 camelia rakudo-{parrot,moar} 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '&prefix:<|>' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32mmy @a = [2,4];  my @b = 1..20;   say @b[[33mâ��[31m|@a][0mâ�¤Â»
07:43 cognominal btw, is there a way to feed non strict scripts to camelia?
07:44 vendethiel joined #perl6
07:47 JimmyZ_ r: my @a = (2,4,5); my @b = 1..20;   say @b[@a]
07:47 camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5 6␤»
07:48 JimmyZ_ r: my @a = [2,4,5]; say @a.WHAT
07:48 camelia rakudo-{parrot,moar} 91d899: OUTPUT«(Array)␤»
07:48 JimmyZ_ r: my @a = (2,4,5); say @a.WHAT
07:48 camelia rakudo-{parrot,moar} 91d899: OUTPUT«(Array)␤»
07:48 JimmyZ_ r: my @a = 2,4,5; my @b = 1..20;   say @b[@a]
07:48 camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5 6␤»
07:49 JimmyZ_ r: my @a = [2,4,5]; say @a.perl
07:49 camelia rakudo-{parrot,moar} 91d899: OUTPUT«Array.new([2, 4, 5])␤»
07:49 jnthn morning
07:49 JimmyZ_ morning
07:50 TimToady o/
07:50 JimmyZ_ r: my @a = (2,4,5); say @a.perl
07:50 camelia rakudo-{parrot,moar} 91d899: OUTPUT«Array.new(2, 4, 5)␤»
07:50 jnthn r: my @a = [2,4];  my @b = 1..20;   say @b[@a]
07:50 camelia rakudo-{parrot,moar} 91d899: OUTPUT«3␤»
07:50 jnthn r: my @a = 2,4;  my @b = 1..20;   say @b[@a]
07:50 camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5␤»
07:50 jnthn r: my @a = [2,4];  my @b = 1..20;   say @b[@a[0]]
07:50 camelia rakudo-{parrot,moar} 91d899: OUTPUT«3␤»
07:50 jnthn r: my @a = [2,4];  my @b = 1..20;   say @b[@a[0].list]
07:50 camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5␤»
07:50 jnthn @a there was an array of array due to the [...] assigned to it
07:52 virtualsue joined #perl6
07:55 darutoko joined #perl6
07:56 dalek nqp: 6b22cf4 | TimToady++ | src/QRegex/NFA.nqp:
07:56 dalek nqp: more state, edge suppression
07:56 dalek nqp:
07:56 dalek nqp: * More epsilon removal when optimizer can steal from singleton states.
07:56 dalek nqp:     (Completely stolen singleton states are removed.)
07:56 dalek nqp: * Fates that point to other similar fates are treated as epsilons.
07:56 dalek nqp:     (Also, don't create fates we know are dups in the first place.)
07:56 dalek nqp: * Duplicate edges are now removed from any given state.
07:56 dalek nqp: * Now extends the remap array correctly.
07:56 dalek nqp: * Now relies on autozeroing rather than duplicating array zeroing already
07:56 dalek nqp:     provided by VMs.
07:56 dalek nqp: * Now copies to new state array rather than reusing old one, so reclaimed space can be GC'd.
07:56 dalek nqp: * Gave NQP its own NQP_NFA_DEB env var, distinct from MVM_NFA_DEB, since not all
07:57 dalek nqp:     NQP is MVM, and sometimes you just want some of the debugging output.
07:57 dalek nqp: * Added vim modeline.
07:57 dalek nqp: review: https://github.com/perl6/nqp/commit/6b22cf4b8a
07:57 dalek rakudo/nom: 8651016 | TimToady++ | tools/build/NQP_REVISION:
07:57 dalek rakudo/nom: bump nqp
07:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8651016587
07:59 FROGGS joined #perl6
08:02 cognominal oh, I trip ofen on this one :(
08:02 cognominal thx, jnthn++
08:02 cognominal JimmyZ_++
08:04 TimToady maybe we should just disallow that form, unless you do something extra, like put a comma
08:05 mvuets joined #perl6
08:08 cognominal I won't blame the language on my mistakes. I hope the GLR will makes some things simpler though.
08:09 TimToady not that one :)
08:09 JimmyZ_ GLR makes things faster :P
08:10 zakharyas joined #perl6
08:11 TimToady less slower, anyway...
08:25 ptc_p6 joined #perl6
08:27 Mso150 joined #perl6
08:28 Isp-sec joined #perl6
08:30 ptc_p6 joined #perl6
08:35 kaleem joined #perl6
08:44 bjz joined #perl6
08:48 rurban joined #perl6
08:54 bjz_ joined #perl6
08:55 bjz joined #perl6
09:00 erkan joined #perl6
09:03 eiro hello people
09:04 bjz_ joined #perl6
09:04 moritz \o eiro
09:06 cosimo joined #perl6
09:08 eiro is there an equivalent for circumfix Array contructor for hashes
09:09 eiro perl5 had +{
09:09 eiro oops ... forgive me: http://doc.perl6.org/language/operators#circumfix_{_}
09:10 itz_ joined #perl6
09:18 jnthn TimToady++
09:18 jnthn Looks like some really nice work
09:22 dalek nqp: a32de0c | jimmy++ | src/QRegex/ (4 files):
09:22 dalek nqp: change file mode to 644
09:22 dalek nqp: review: https://github.com/perl6/nqp/commit/a32de0caec
09:25 arnsholt jnthn: The most recent commit in Snake gave me a question: What're the visibility rules for loaded bytecode in NQP?
09:32 onebitboy joined #perl6
09:36 dakkar joined #perl6
09:38 masak morning, #perl6
09:38 eiro \o masak
09:45 vendethiel joined #perl6
09:45 FROGGS joined #perl6
09:46 cosimo joined #perl6
09:46 jluis joined #perl6
09:54 masak there are two related Array things we have to teach Perl 6 beginners because they are likely to garden-path into a different (but wrong) explanation:
09:54 bjz joined #perl6
09:54 masak (a) `my @stuffs = [1, 2, 3]` creates an Array with an Array in it, not an Array.
09:55 masak it makes sense once you internalize that the `@` sigil *already* gives you list assignment.
09:55 masak (b) `my Array @stuffs` declares an Array containing Array elements, not just an Array containing any elements.
09:56 masak it makes sense once you internalize that the `@` sigil makes the type declaration be about the *elements*, not the container itself.
09:56 masak arguably, both these "surprising" features allow you to do more things more easily, so they're nice once you're used to them.
09:57 eiro masak, for (a), you should use the empty list as memo (it clarify things not only in perl6
09:57 eiro i mean: every time you write @something = XXX, you shoud keep in mind that you actually write
09:58 eiro @something = XXX,()
09:58 eiro now it makes sense
09:58 eiro my @stuffs = [1, 2, 3] => my @stuffs = [1, 2, 3], ()
09:58 eiro (at least it works for me)
10:01 onebitboy joined #perl6
10:05 masak eiro: I don't usually like error conditions that assume you're not well-versed in the language.
10:06 masak eiro: see for example `say;` which I find annoying. you can't even turn it off!
10:06 Mso150 joined #perl6
10:09 pecastro joined #perl6
10:09 eiro (b) masak i don't get it. what's annoying with say ?
10:11 eiro damned! once again i fall back to perl5 because of lacking time :(
10:11 eiro i need v5 to work...
10:11 onebitboy joined #perl6
10:11 masak m: say; # I just wanted to print an empty line!
10:11 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/NN10TlfS1m�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument�at /tmp/NN10TlfS1m:1�------> [32msay[33m�[31m; # I just wanted…»
10:12 JimmyZ_ m: .say
10:12 camelia rakudo-moar 91d899: OUTPUT«Nil␤»
10:13 eiro ''.say
10:13 eiro m: ''.say
10:13 camelia rakudo-moar 91d899: OUTPUT«␤»
10:15 eiro masak, ok but why is it related to the (a) point ?
10:16 masak eiro: it's a corner case introduced to catch errors, but preventing experienced users from using the language in a consistent, exception-free way.
10:16 masak eiro: you're proposing the same, if I understand you correctly.
10:17 kurahaupo joined #perl6
10:17 mvuets masak: funny enough yesterday i wrote in perl5 "say;" to do exactly the same.
10:18 mvuets and was hit by it actually printing $_ >_<
10:18 masak mvuets: there's not enough support in Perl 5 for Perl 6-think :P
10:19 masak eiro: I'm simply acting the advocate of the experienced language user here. I don't want training wheels to be put into the language in such a way that they prevent me from getting where I want without workarounds.
10:20 mvuets masak: looking at your example i got a question: does perl6 reduce the use of $_ by functions implicitly?
10:21 huf if that were the only wart on perl5's say... :)
10:21 huf but there's the entire indirect object stuff too
10:22 mvuets masak: So, no more bare say, chomp, m//, etc. But .the_thing() instead?
10:22 kurahaupo joined #perl6
10:22 mvuets indirect_object--
10:22 nwc10 it (Perl 5's) also doesn't handle tied filehandles quite correctly
10:24 eiro masak, i'm not sure writting/reading correctly there (blame my poor english). what i just meant is having ",()" in mind can help people to get the point (which is: you're already in a list so every circumfix constructor contructs a new member of the list)
10:24 eiro but maybe i just confused instead of helping: sorry about that
10:26 pmurias joined #perl6
10:41 masak eiro: ah, I see what you mean.
10:42 masak eiro: well, yeah, I think the main thing is learning about list assignment.
10:42 masak eiro: probably I interpreted you that way because TimToady speculated about an error...
10:46 bjz joined #perl6
10:47 dalek nqp-js: 13785ed | (Pawel Murias)++ | src/vm/js/ (2 files):
10:47 dalek nqp-js: Pass test 18.
10:47 dalek nqp-js:
10:47 dalek nqp-js: Implement QAST::VarWithFallback.
10:47 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/13785ed646
10:50 yoleaux joined #perl6
10:52 danaj_ joined #perl6
11:01 dalek nqp-js: 5a9057c | (Pawel Murias)++ | src/vm/js/ (2 files):
11:01 dalek nqp-js: Implement nqp::eoffh.
11:01 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/5a9057c8b4
11:05 jnthn arnsholt: Well, bytecode files are global, but since Moar provides no global symbol table stuff besides what you build yourself, visibility of loaded symbols is entirely in your hands.
11:07 jnthn masak: The two array-related things feel very related to me, in that they're both cases of the @ sigil already meaning Array.
11:10 dalek nqp-js: 1cf4ad3 | (Pawel Murias)++ | src/vm/js/ (2 files):
11:10 dalek nqp-js: Fix nqp::eoffh. Implement nqp::seekfh.
11:10 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/1cf4ad38b5
11:12 pmurias why does readlinefh behave differently on MoarVM? (the tests mention it won't match \r)
11:13 vendethiel joined #perl6
11:18 jnthn Dunno, not sure if it's even still the case...
11:18 jnthn I know FROGGS++ did some work to generalize end of line handling stuff
11:18 jnthn So if it wasn't easily fixed before, it should be easily done now.
11:23 kaleem joined #perl6
11:23 masak jnthn: yes; they feel related to me too.
11:23 masak jnthn: and it's not even that I disagree with that bit of the design -- I don't. it's just that it takes some explaining and getting used to.
11:25 masak in a way, it's a natural extension to Perl 5's view of arrays and list assignment.
11:28 arnsholt jnthn: Right. And symbols loaded by siblings aren't visible, but symbols loaded by something that loaded you are visible?
11:31 * masak just got http://www.amazon.com/Data-Reality-Perspec​tive-Perceiving-Information/dp/1935504215/ in the mail! o/
11:34 Ugator joined #perl6
11:34 onebitboy joined #perl6
11:35 prevost joined #perl6
11:38 telex joined #perl6
11:41 FROGGS jnthn: we have to review my branch... can you tell when you'll have some time for that?
11:42 jnthn oh, argh
11:42 jnthn FROGGS: Monday at latest.
11:42 FROGGS jnthn: I didn't push it the last two weeks, so I am to blame :o)
11:43 FROGGS k, I'll ask you in the evenings
11:43 denis_boyun_ joined #perl6
11:44 jnthn FROGGS: OK. Next days might be very busy for me.
11:44 FROGGS k
11:56 chenryn joined #perl6
12:00 vendethiel joined #perl6
12:08 rindolf joined #perl6
12:12 onebitboy joined #perl6
12:23 vendethiel joined #perl6
12:44 eiro i can't find it in the doc: can a method be meta'ed with Z ?
12:45 colomon no
12:45 colomon well, not directly, anyway
12:45 eiro @keys Z[.pairs] @values  to create a hash, that's the idea
12:46 colomon eiro: try @keys Z=> @values
12:46 colomon though that's still not a hash (nor was your original)
12:46 Akagi201 joined #perl6
12:46 eiro => is fat comma ?
12:46 colomon pair constructor
12:47 colomon which I guess is sort of fat comma
12:47 eiro yep :)
12:48 jnthn Don't think of it as fat comma in Perl 6, imo. You can't use it anywhere you'd use a comma, and you in many cases can not use a comma when you'd use =>
12:49 eiro i got it reading the colomon answer
12:49 eiro but the thing is: i'im tring to get a list of hashes from  splitted lines
12:50 eiro .IO.lines.map: { < date file title > Z=> .split(/<[\ \t]>+/,3) }
12:50 eiro this returns a list
12:50 eiro .IO.lines.map: {  {< date file title > Z=> .split(/<[\ \t]>+/,3)} }
12:50 ven joined #perl6
12:51 eiro (using the '{ }' hash constructor ) doesn't help because perl6 saw a use of $_
12:51 jnthn .IO.lines.map: { hash < date file title > Z=> .split(/<[\ \t]>+/,3) }
12:51 eiro (that's the way i understand the doc)
12:51 jnthn Yes, you understood correctly
12:51 brrt joined #perl6
12:51 eiro no way to have an unary operator there ? like +{ in perl5 ?
12:52 eiro hash is too long to write ;)
12:52 jnthn but...you save the { and } :P
12:52 jnthn And whitespace inside of them to make it look nice
12:52 jnthn So it works out one char more :P
12:53 eiro i must have a typo: doesn't work
12:55 eiro "one char more", right, but not when i use my vim keybinding because '{' counts for "{|}"
12:55 eiro :)
12:56 rurban joined #perl6
12:57 ven helo, #perl6.
12:58 arnsholt EHLO
12:58 brrt \o
12:59 cognominal joined #perl6
12:59 arnsholt (Incidentally, I really like how most SMTP commands are four characters. After all, being able to read four bytes into an int and do string compares by integer comparison is super-important!)
13:00 eiro RCPT to #perl6
13:00 eiro hello ven
13:00 brrt not sure if sarcasm...
13:01 arnsholt brrt: Well, it's a clever trick =)
13:01 arnsholt But perhaps a bit overkill in the modern world
13:01 brrt yeah, it is clever and handy
13:02 xiaomiao easier to parse if it's fixed-length
13:02 xiaomiao and a large enough address space with 4 chars
13:11 mvuets folks, do you know if any perl6-related events are planned in europe in near future?
13:12 mvuets meetups, hackathons, conferences with perl6 people attending
13:12 brrt fosdem 2015?
13:12 mvuets prior fosdem'15
13:12 nwc10 mvuets: Jan 31st? https://fosdem.org/2015/sched​ule/event/get_ready_to_party/
13:12 brrt ah
13:12 nwc10 aha.
13:12 brrt :-D
13:12 brrt not that i know of
13:12 brrt perl6 christmas party
13:13 colomon new group of modules breaking overnight: http://host08.perl6.com:8080/report
13:13 ven o/
13:13 ven xmas party sounds good
13:13 mvuets that TimToady`s talk actually has awaken my interest into perl6
13:18 lucas_ joined #perl6
13:18 Possum joined #perl6
13:21 * jnthn doesn't know of anything before FOSDEM, fwiw.
13:21 lucas_ nice post, masak++
13:21 lucas_ That TV tropes site is funny. From the Juggernaut entry: "You Shall Not Pass?" It's going to!
13:22 mvuets maybe i'll try some luck among local pm groups
13:22 vendethiel joined #perl6
13:22 jnthn Next year I'm currently planning to do FOSDEM, Netherlands Perl Workshop, Nordic Perl Workshop, YAPC::Asia and YAPC::Europe.
13:23 arnsholt masak: Reading your latest blog post (yeah, I'm slow). I guess the difference between slangs and macros is sort of that macros insert new syntax into the Perl 6 slang, while slangs change the grammar outright?
13:24 ven arnsholt: slang are for language embedding, macro for syntax embedding (to me)
13:25 ven well, "syntax" as in "syntax tree"="code"
13:25 * ven formulated it pretty bad...
13:38 eiro still fighting with my piece of code. a hash in a list context become a list of pairs ? correct ?
13:38 eiro i wrote my @posts = "posts/2014/index".IO.lines.map: {     my %h = < date file title > Z=> .split(/<[\ \t]>+/,3);     %h
13:38 eiro };
13:38 eiro @posts.map: {.WHAT.say}
13:39 eiro it write a list of '(Pair)' back
13:41 eiro (the example j_nthn gave me doesn't work)
13:45 torbjorn is there any good perl6-mode for emacs?
13:47 brrt torbjorn: i use p6-mode by lue
13:47 brrt https://github.com/lue/p6mode
13:49 torbjorn hm yes i had some mixed results with that, but thanks
13:58 [Coke] j: say $*OUT.t
13:58 camelia rakudo-jvm 91d899: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
14:00 colomon No such method 'extension' for invocant of type 'IO::Path' :\
14:02 [Coke] colomon: is that for me?
14:02 colomon [Coke]: no, that's what's blocking me at $work at the moment.
14:02 colomon m: say "lame.cpp".IO.extension
14:02 camelia rakudo-moar 91d899: OUTPUT«No such method 'extension' for invocant of type 'IO::Path'␤  in block <unit> at /tmp/p02mUJuxrR:1␤␤»
14:03 colomon possibly really for lizmat
14:03 cibs joined #perl6
14:04 frew hey guys, I just installed Task::Star with panda and LWP::Simple is failing tests
14:04 frew is that known?
14:05 tadzik frew: it does that sometimes :(
14:05 tadzik frew: you may want to use HTTP::UserAgent instead
14:05 tadzik it's more actively maintained
14:05 frew ok
14:05 frew where can I look at the modules?
14:05 frew metacpan?
14:05 tadzik http://modules.perl6.org/
14:06 frew k
14:06 tadzik frew: ooc, where did you learn about Task::Star?
14:06 mvuets frew: do you mind pastebin tap output?
14:06 frew from the advent calendar
14:06 vendethiel joined #perl6
14:06 tadzik nice :)
14:06 mvuets it works (-:
14:06 tadzik yeah :)
14:07 frew http://paste.scsys.co.uk/450702
14:07 mvuets tadzik: i realized i borked rakudobrew last night )-:
14:07 tadzik mvuets: you did?
14:07 anaeem1 joined #perl6
14:07 frew what's S11?
14:08 mvuets frew: one of synopses http://perlcabal.org/syn/S11.html
14:08 frew yeah I was trying to figure out which it was
14:08 mvuets (i guess the icon should've been said S22)
14:09 frew so this confuses me
14:09 frew a function can be compile time check
14:09 frew it's inputs
14:09 frew I mean
14:09 frew but the output of a function is not checked, according to the cap advent article
14:09 frew well only at runtime
14:09 mvuets tadzik: yeah, when i ripped out my available() i forget to adjust one place, try running `rakudobrew build` and see what i mean
14:09 frew so the compile time checking... does that only work for constants?
14:09 tadzik mvuets: haha, indeed
14:10 mvuets tadzik: sorry (-:
14:10 tadzik happens :)
14:10 tadzik you can easily correct your mistake :)
14:10 mvuets tadzik: an another pl? (-:
14:11 tadzik sure
14:11 lizmat colomon: re .extension, will look at it now
14:12 colomon lizmat: just doesn't seem to be there, except in the spec and spectests
14:12 mvuets tadzik: i'll take a look tonight maybe. in other news, i have this problem with panda: it crashes on startup
14:12 tadzik crashes how?
14:12 eiro jnthn, as i said: your example doesn't work but i found a workaround:
14:12 eiro my %h = < date file title > Z=> .split(/<[\ \t]>+/,3);
14:12 eiro {%h}
14:13 mvuets tadzik: http://paste.scsys.co.uk/450706
14:13 eiro so sad we need an intermediate hash
14:13 tadzik hah
14:13 tadzik 'panda update' will probably fix it
14:13 tadzik but it's definitely missing some error checking when parsing the meta.list
14:13 tadzik er, projects.json
14:14 lizmat colomon: extension lives in the newio branch, will make it work for nom now as well
14:14 mvuets tadzik: nope. same problem. i acutally rebuild moar+panda+rakudo from scratch, still happens.
14:14 colomon lizmat++
14:14 mvuets tadzik: oddly enough it breaks on my work machine only, works fine at home
14:15 mvuets tadzik: oh!.. can it be because i'm behind a proxy?
14:15 tadzik that might be it
14:17 tadzik mvuets: what are the contents of .rakudobrew/moar-HEAD/install/langua​ges/perl6/site/panda/projects.json?
14:17 tadzik probably either empty or invalid :P
14:17 mvuets tadzik: indeed invalid, some html claiming: ERROR: The requested URL could not be retrieved
14:18 tadzik mvuets: panda readme talks a bit about proxies
14:20 mvuets tadzik: wget and git work on their own (aside of panda)
14:20 tadzik hm
14:20 tadzik panda doesn't use wget though
14:21 dalek rakudo/nom: e395e87 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
14:21 dalek rakudo/nom: Give IO::Path an .extension, spotted by colomon++
14:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e395e8758e
14:21 mvuets tadzik: README lies? (-:
14:21 colomon lizmat++
14:22 tadzik mvuets: well, did you set up a proxy according to its instructions? :)
14:22 tadzik if yes, it might, someone else wrote that part :P
14:23 ven eiro: you don't need an intermediate hash, do you?
14:23 mvuets tadzik: i am trying, but that link http://help.github.com/firewalls-and-proxies/ brings me to a wrong page https://help.github.com/articles/ca​ching-your-github-password-in-git/
14:23 tadzik ah
14:25 ven eiro: you can use %() around it, methinks
14:27 mvuets tadzik: i figured! projects.json is hosted on port 3000 which is blocked from my machine
14:27 tadzik ah, yeah
14:27 tadzik we have a ticket for that
14:31 vendethiel joined #perl6
14:33 mvuets tadzik: cool, i left my ¢2 there
14:42 lizmat huh?  In file included from 3rdparty/libuv/include/uv-unix.h:55:
14:42 lizmat 3rdparty/libuv/include/uv-darwin.h:26:11: fatal error: 'mach/mach.h' file not
14:44 FROGGS joined #perl6
14:46 lizmat clean build of MoarVM fails with latest Xcode
14:46 lizmat :-(
14:48 colomon :(
14:49 lizmat there seem to be plenty of mach.h's on my system
14:52 [Coke] lizmat: rakudo isn't bumped to use latest moarvm yet, maybe?
14:52 [Coke] (daily run today worked ok)
14:52 [Coke] ish.
14:52 [Coke] ah, I seem I'm missing the 6.1.1 xcode update. installing....
14:52 lizmat I think it has more to do with updating to the latest Xcode late last night  :-(
14:53 [Coke] oh. Maybe I'll let you be on the bleeding edge, then.
14:53 lizmat and after that, you probably have the same as I do...
14:53 [Coke] let me know when the water's safe. :)
14:53 * colomon stays off the bleeding edge for a reason....
14:54 mvuets colomon: you use perl6, don't you? (-;
14:54 colomon mvuets: yes, but on OS X 10.8.x and an oldish Ubuntu
14:55 arnsholt Sometimes, NQP's error reporting isn't too bad. And sometimes, it's extremely annoying >.<
14:55 mvuets colomon: i meant to say perl6 is kinda bleeding edge by itself
14:55 colomon mvuets: I understood that.  ;)
15:03 eiro ven, i really hope o don't need it but this was the only way i found to return a hash instead of a list of pairs
15:03 brrt xcode o.O
15:03 eiro your solution returns a list of pairs too (at least in my case)
15:03 ven m: say %( <foo bar baz> Z=> 1..* ).perl
15:03 camelia rakudo-moar 91d899: OUTPUT«("bar" => 2, "foo" => 1, "baz" => 3).hash␤»
15:03 ven eiro: definitely a hash.
15:05 lizmat seems like adding a symlink in libuv's include dir, fixes the problem
15:05 eiro m: my @posts = (1..3).map: { <a b c> Z => <you and me> }
15:05 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/TrNoWqrZPP�Preceding context expects a term, but found infix => instead�at /tmp/TrNoWqrZPP:1�------> [32mmy @posts = (1..3).map: { <a b c> Z =>[33m�[31m <you and me> }[0m�»
15:05 eiro m: (1..3).map: { %(<a b c> Z => <you and me>) }
15:05 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wHzlP8Yrdk�Preceding context expects a term, but found infix => instead�at /tmp/wHzlP8Yrdk:1�------> [32m(1..3).map: { %(<a b c> Z =>[33m�[31m <you and me>) }[0m�»
15:06 eiro m: (1..3).map: { %(<a b c> Z=> <you and me>) }
15:06 camelia rakudo-moar 91d899: ( no output )
15:06 eiro m: ((1..3).map: { %(<a b c> Z=> <you and me>) } ).gist.say
15:06 camelia rakudo-moar 91d899: OUTPUT«"a" => "you" "b" => "and" "c" => "me" "a" => "you" "b" => "and" "c" => "me" "a" => "you" "b" => "and" "c" => "me"␤»
15:06 eiro ven, definitely a list of pairs :)
15:07 eiro m: ((1..3).map: { my %h = <a b c> Z=> <you and me>); {%h} } ).gist.say
15:07 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RheFal2Hzgâ�¤Unable to parse expression in block; couldn't find final '}' â�¤at /tmp/RheFal2Hzg:1â�¤------> [32m.map: { my %h = <a b c> Z=> <you and me>[33mâ��[31m); {%h} } ).gist.say[0mâ�¤    e…»
15:07 eiro m: ((1..3).map: { my %h = <a b c> Z=> <you and me>; {%h} } ).gist.say
15:07 camelia rakudo-moar 91d899: OUTPUT«"a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me"␤»
15:10 ven eiro: the %() has to be applied to the map
15:11 ven m: ((1..3).map: { <a b c> Z=> <you and me> } ).hash.perl.say # equivalent
15:11 camelia rakudo-moar 91d899: OUTPUT«("b" => "and", "a" => "you", "c" => "me").hash␤»
15:11 eiro no because the result is a list of hashes, not a single hash
15:12 ven m: ((1..3).map: { %(<a b c> Z=> <you and me>).WHAT } ).gist.say
15:12 camelia rakudo-moar 91d899: OUTPUT«(Hash) (Hash) (Hash)␤»
15:12 ven this is a list of hash.
15:12 ven not "definitely a list of pairs". a list of hashes
15:12 eiro my @posts = "posts/2014/index".IO.lines.map: { my %p = < date file title > Z=> .split(/<[\ \t]>+/,3); {%p}
15:12 eiro };
15:12 eiro that's my code here
15:13 [Tux] joined #perl6
15:14 eiro @posts.map: {.WHAT.say} says it's a list of hash
15:14 ven sure. and it does the same for my code ;)
15:14 eiro not there :)
15:14 eiro and i'm running the last version of rakudo
15:15 ven I don't see any output difference between my version and yours.
15:15 vendethiel joined #perl6
15:15 eiro ven, i'm using it on my system
15:15 ven I'm talking about right here
15:15 eiro want some output ?
15:16 ugexe is it flattening?
15:16 ven I have camelia's output
15:16 Hor|zon joined #perl6
15:17 eiro not really flattening. just doesn't encapsulate in a hash i guess
15:17 ven ugexe: yes, it is.
15:17 ven {} itemize the hash
15:17 eiro @posts.map: {.WHAT.say} gives
15:17 eiro (Pair)
15:17 eiro (Pair)
15:17 eiro (Pair)
15:17 eiro (Pair)
15:17 eiro ...
15:17 ugexe m: my %h = {a => 1, b => 2}; my %h2 = {c => 3}; say (%h, %h2).list;
15:17 camelia rakudo-moar 91d899: OUTPUT«"a" => 1 "b" => 2 "c" => 3␤Saw 2 calls to deprecated code during execution.␤====================================​============================================␤%h = itemized hash called at:␤  /tmp/esEuGuIgQy, line 1␤Deprecated since v2014.7, will be…»
15:17 eiro with the ven solution
15:17 rurban joined #perl6
15:17 eiro with mine, it releases
15:17 ven m: ((1..3).map: { (<a b c> Z=> <you and me>).hash.item } ).gist.say # eiro
15:17 camelia rakudo-moar 91d899: OUTPUT«"a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me"␤»
15:17 eiro (Pair)
15:17 eiro (Pair)
15:17 eiro (Pair)
15:18 eiro oops
15:18 ven if you don't want flattening, itemize it
15:18 eiro (Hash)
15:18 ven this has nothing to do with the intermediary variable. only with the {}
15:18 eiro i can't use it because perl6 detect a use of $_ inthere
15:19 ven eiro: what do you mean?
15:19 eiro < date file title > Z=> .split(/<[\ \t]>+/,3)
15:19 ven m: ((1..3).map: { (<a b c> Z=> <you and me>).hash.item } ).perl.say # eiro
15:19 camelia rakudo-moar 91d899: OUTPUT«({"c" => "me", "b" => "and", "a" => "you"}, {"b" => "and", "c" => "me", "a" => "you"}, {"c" => "me", "b" => "and", "a" => "you"}).list␤»
15:19 ven eiro: ^ this seems correct to me.
15:19 eiro .split is a use of $_, the doc says
15:19 eiro ooooohhh
15:19 ven your {%h} only does `.item` on the hash ;)
15:20 eiro ven, yeaaahhhhh ! this works :)
15:21 eiro i think it doesn't appear in the doc
15:21 eiro (note to myself)
15:22 eiro many thanks everyone! now i have to keep carre on my padawan: enough perl for today
15:22 eiro cya all
15:24 dalek nqp-js: 5fc70e5 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
15:24 dalek nqp-js: Default values for positional arguments.
15:24 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/5fc70e5b48
15:24 ven pmurias++
15:30 kaare__ joined #perl6
15:32 Woodi hallo #perl6 :)
15:34 dalek joined #perl6
15:34 pmurias Woodi: hi
15:34 jnthn travel &
15:35 Woodi I wonder how far list-thingie goes in Perl6. a) 'dosomething arg1 arg2' is list or b) 'dosomething1 arg1a arg1b; dosomething2 arg2a arg2b; ...' is list too ? do programmer need to be avare of program as some "container". usually it was just sequence of actions...
15:35 [Coke] ugh. https://github.com/coke/perl6-ro​ast-data/blob/master/bin/cleanse - this just started failing with "Malformed UTF-8" today
15:35 Woodi ...aware*
15:39 mr-foobar joined #perl6
15:39 jluis joined #perl6
15:40 vendethiel joined #perl6
15:53 treehug88 joined #perl6
16:00 dalek nqp-js: 74871a6 | (Pawel Murias)++ | src/vm/js/ (2 files):
16:00 dalek nqp-js: Pass test 39.
16:00 dalek nqp-js:
16:00 dalek nqp-js: The pointy block to for can take multiple arguments.
16:00 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/74871a6a88
16:03 araujo joined #perl6
16:10 vendethiel joined #perl6
16:13 ugexe joined #perl6
16:14 prevost joined #perl6
16:18 TimToady Woodi: at some point the compiler treats all those as lists, but in the process of compiling, turns those into other structures for efficient execution, so all the user ever sees as a list is the argument lists to each function
16:19 [Sno] joined #perl6
16:20 TimToady though in some contexts, semicolon can still give you a list
16:20 TimToady m: say (1,2,3; 4,5,6).perl
16:20 camelia rakudo-moar 91d899: OUTPUT«(1, 2, 3; 4, 5, 6)␤»
16:20 TimToady m: say (1,2,3; 4,5,6)[0].perl
16:20 camelia rakudo-moar 91d899: OUTPUT«$(1, 2, 3)␤»
16:20 TimToady m: say (1,2,3; 4,5,6)[1].perl
16:20 camelia rakudo-moar 91d899: OUTPUT«$(4, 5, 6)␤»
16:22 davido___ joined #perl6
16:22 TimToady there's really nothing like an s-expr though, unless you make one yourself and write an interpreter for it
16:23 TimToady Lisp tries really hard to pretend that everything is interpreted, even when it's cheating all over the place.
16:23 TimToady In contrast, we're cheating all over the place, but don't pretend we're not.  :)
16:23 TimToady hope this answers your question...
16:25 ugexe joined #perl6
16:27 raiph joined #perl6
16:32 vti joined #perl6
16:32 ugexe joined #perl6
16:32 cosimo joined #perl6
16:34 vti m: perl6 -e 'sub foo {"bar"}; say foo(:foo("bar"))'
16:34 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CTKcbtYtfsâ�¤Two terms in a rowâ�¤at /tmp/CTKcbtYtfs:1â�¤------> [32mperl6 -e [33mâ��[31m'sub foo {"bar"}; say foo(:foo("bar"))'[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stop…»
16:35 vti m: sub foo {"bar"}; say foo(:foo("bar"))
16:35 camelia rakudo-moar 91d899: OUTPUT«Unexpected named parameter 'foo' passed␤  in sub foo at /tmp/1S6XZ3K30c:1␤  in block <unit> at /tmp/1S6XZ3K30c:1␤␤»
16:35 vti m: class Foo { method bar() {"Hi"}}; say Foo.bar(:foo("bar"))
16:35 camelia rakudo-moar 91d899: OUTPUT«Hi␤»
16:35 vti any idea why the second thing works?
16:36 arnsholt vti: Methods have an implicit *%_
16:37 arnsholt So that subclasses don't have to worry too much about their parents' signatures when delegating up the inheritance hierarchy
16:39 arnsholt jnthn: Is there some kind of requirement for objects created at run-time to be added to an SC? I'm getting some weird failures relating to the setting when trying to wrap my functions in objects...
16:41 vti arnsholt: this is very weird
16:41 vti arnsholt: thanks for the tip though
16:42 TimToady vti: well, we actually think about extensibility a lot here
16:43 TimToady that is just one manifestation of it
16:46 KCL_ joined #perl6
17:02 vendethiel joined #perl6
17:03 masak arnsholt: re diff betweens macros and slangs. there are many ways to view it, but part of it I think is a matter of scale. sometimes you want just a regex, sometimes a whole grammar. ditto macros vs slangs.
17:04 TimToady .oO(sometimes you want a script, sometimes you want a program)
17:08 rurban joined #perl6
17:10 sven_123_ joined #perl6
17:16 kaleem joined #perl6
17:19 gtodd in 2010 and in 2013 day 23 of the perl6 advent is about sorting  ...
17:21 gtodd this is not yet a pattern  or tradition within a tradition but ...
17:22 TimToady maybe that's just what people talk about when they have nothign to talk about :)
17:22 gtodd heheh
17:22 TimToady course that never stopped me, which is why they put me on the 24th some years
17:22 gtodd hah day 23 "May the Schwartz be with you" ...
17:22 moritz TimToady: this year too, btw :-)
17:23 moritz TimToady: unless you object very strongly
17:23 gtodd now that is a tradition within a tradition
17:24 gtodd actuallly sorting on the pre penultimate day is a good idea ... each year we get a new way to sort the preceding advent entries ...
17:25 moritz this time it could be sleepsort
17:28 gtodd cool
17:29 gtodd is sleepsort for sorting a stream or an infinite list  ?
17:29 timotimo haha
17:29 timotimo no
17:29 gtodd :-D
17:29 pmurias arnsholt: is it possible to reply to github issues without using the github interface?
17:29 TimToady it's debatable whether sleepsort is smarter or stupider than bogosort...
17:29 moritz gtodd: sleepsort works only works on numbers
17:30 gtodd I'm going to bed now please sort everything continuously
17:30 moritz gtodd: you start a thread or process for each number, and sleep for a length according to the number, then print it out
17:30 moritz gtodd: good night
17:30 TimToady everything can be reduced to numbers :)
17:31 vendethiel joined #perl6
17:31 TimToady another limitation is that it's difficult to sleep a negative time
17:31 gtodd I feel like I do that all the time :-D
17:31 arnsholt pmurias: I think just replying to the notification emails works as well
17:32 gtodd ZZzz .... [alarm rings]
17:32 gtodd wha?!
17:32 timotimo sorting a series of Zs is easy
17:32 gtodd heh
17:32 arnsholt masak: Yeah, that's a good way of framing it too
17:32 gtodd hmm what's that new cool way of programming again ?  I think scala has it so jnthn did a talk about how perl6 has it too :-D  ...
17:32 gtodd "reactive"
17:32 PerlJam new?
17:32 gtodd reactive sorting :-)
17:32 timotimo "sorting a series of Zs is easy".comb.sort(&[leg]).join.say
17:32 masak arnsholt: another perspective that lue++ supplied the other day is that macros are mostly for the side effects, but grammars are mostly for the syntax/language.
17:32 timotimo m: "sorting a series of Zs is easy".comb.sort(&[leg]).join.say
17:32 camelia rakudo-moar 91d899: OUTPUT«      Zaaeeefgiiinoorrssssssty␤»
17:33 pmurias arnsholt: I think it should be possible to handle the python argument passing using the standard Perl 6 calling convention
17:33 gtodd PerlJam: " new " it's relative ... :-)
17:34 gtodd "il n y a de nouveau que ce qui est oublié"
17:35 pmurias arnsholt: all the args will be declared as positionals, if they don't get a value then using the .default attribute of QAST::Var they will try to fill themself using a named argument
17:35 spider-mario joined #perl6
17:36 arnsholt Oh, good idea!
17:36 arnsholt And the named can have as its default the computed default
17:37 pmurias arnsholt: after that we recreate the excess *positionals and **named if neccesary
17:39 arnsholt Yeah, that sounds pretty reasonable
17:39 pmurias arnsholt: no, we need to have something like sub pythony_func($foo = %_<foo> || computed_default()) {...}
17:41 arnsholt Why is that?
17:42 arnsholt pmurias: Oh, if you don't care for Github issues, do you have a preferred way of keeping track of this stuff? ATM I'm using them mostly to keep track of ideas and assorted thoughts
17:43 pmurias if replying to them via email works I'm ok with using them ;)
17:44 pmurias if we declare a named parameter with a default, the default will be calculated when the parameter is pass as a positional
17:44 pmurias * passed
17:45 timotimo executing that tiny sorting task from up there results in about 2 megabytes more maxrss and almost no time difference whatsoever from 'say "hello"'
17:45 timotimo cool.
17:46 arnsholt pmurias: I guess, but Python defaults are computed on declaration, so it's just another entry in the hash
17:53 FROGGS_ joined #perl6
17:54 denis_boyun_ joined #perl6
17:55 rurban joined #perl6
17:57 vendethiel joined #perl6
18:08 spider-mario joined #perl6
18:08 ab5tract joined #perl6
18:10 mvuets joined #perl6
18:10 ab5tract o/ #perl6
18:10 ab5tract i started a blog post, and may have writtne a novel :/
18:11 vendethiel joined #perl6
18:12 TimToady well, if all the parts feel like "christmas present", that's fine :)
18:14 TimToady otoh, if by "novel" you mean you've written fiction, well, sometimes that's fun too :)
18:16 ab5tract TimToady :)
18:21 Alula joined #perl6
18:21 raiph joined #perl6
18:23 mvuets dear #perl6. i know it may be a bit premature, but do you happen to know any success stories about perl6? some useful software or web services done in perl6? something beyond just modules, but rather usable things which you don't think about as written in a particular language and can just use. something beyond sample (yet sensible) code, but tools. and not necessary big things. i think it might very interesting to gather links and short descriptions
18:23 mvuets one particular example i can think of is https://github.com/viklund/november/
18:24 mvuets which has been written (mostly) by masak, as i just found out
18:24 dwarring joined #perl6
18:28 ab5tract mvuets: the application layer is a bit lacking :/
18:31 rurban joined #perl6
18:31 masak mvuets: november is fairly old/out-of-date at this point.
18:31 Sqirrel joined #perl6
18:31 dwarring G'day perl6
18:31 dwarring r: grammar G {token TOP {:i a[3|4|5] | b}}; say G.parse("a4")
18:31 camelia rakudo-{parrot,moar} 91d899: OUTPUT«「a4」␤␤»
18:33 dwarring hmm that's failing to parse for me on latest rakudo build
18:33 dwarring This is perl6 version 2014.11-54-ge395e87 built on MoarVM version 2014.11-64-g650333f
18:33 ab5tract tip for advent writers -- do it all in wordpress!
18:34 woolfy joined #perl6
18:35 dwarring r: say $*VM
18:35 camelia rakudo-parrot 91d899: OUTPUT«parrot (6.10.0)␤»
18:35 camelia ..rakudo-moar 91d899: OUTPUT«moar (2014.11.63.g.8.fa.0.c.7.d)␤»
18:35 masak ab5tract: (a) I'm faster in pure Markdown, and (b) if I draft in Wordpress, only logged-in Wordpress users can review the draft.
18:35 tadzik ab5tract: I have an exactly opposite tip :)
18:36 masak me too! ^^
18:36 mvuets ab5tract: i know, right? that's why my question emerged. i think, a big part of a language success is, arguably, actual software written in it.
18:37 Akagi201_ joined #perl6
18:38 mvuets masak: does that mean it's not worth looking at november as a project example?
18:38 ugexe writing software to have things change often was not very motivating. i imagine we will see more and more applications as things stabalize
18:38 masak mvuets: I'd advise looking at newer things.
18:38 ab5tract masak: yes, but i drafted in markdown and am now banging my head getting it to work correctly in wordpress
18:39 ab5tract mvuets: Panda could be a cool example
18:39 mvuets ugexe: many things to be drastically changed yet?
18:39 masak ab5tract: if I (re-)write my simple conversion script from Markdown to Wordpress busted HTML, I will share it on the channel.
18:40 mvuets masak: hence my question, looking for advices. anything else apart from what's listen in http://perl6.org/documentation/ ?
18:41 mvuets ab5tract: panda is indeed a nice example. sadly it does not apply outside of scope of creating other perl6 apps
18:41 masak the two biggest Perl 6 applications *in actual use* that I can think of: Rakudo. Panda.
18:41 ugexe mvuets: sort of. i mean if i write an application i dont want to have to do <-> $var is rw knowing i will later i can remove the 'is rw'. S11 in the last year for example, or async related stuff
18:41 masak they may be eat-your-own-dogfood examples, but boy are they representative examples.
18:44 raiph mvuets: colomon's ABC ?
18:44 telex joined #perl6
18:45 ab5tract ugexe: wait, '$var is rw' will be going away?
18:45 moritz iirc also colomon++ use p6 for some $work (CAD file munging)
18:45 mvuets Ulti: i remember you recently were very excited about Bags and Ranges and how they come in handy in bioinformatics
18:46 mvuets Util: are you using p6 for real? (cannot await your advent post)
18:46 TimToady dwarring: yes, looks like a bug, and probably my fault :)
18:47 dwarring happening in about the last day
18:47 mvuets raiph: i think ABC's a great example!
18:48 * TimToady is surprised roast didn't catch it
18:48 * dwarring could do with a test
18:50 Alina-malina joined #perl6
18:51 * TimToady sees what happened
18:52 TimToady the edge deduper isn't comparing values correctly for that edge type
18:52 ugexe joined #perl6
18:52 TimToady so it's removing non-redundant edges
18:52 ugexe ab5tract: <-> implies rw
18:53 ugexe well, it will
18:54 raiph mvuets: parse/manip/gen data/code in other langs? I think CSS is best example to date (but also json, snake/python, v5/perl5, v6/perl6, etc.)
18:54 pyrimidine mvuets: not sure about Ulti but my plans over the next year are to work on bioinformatics-related modules.  NativeCall makes this quite a bit easier than with perl5/XS
18:56 hoelzro mvuets: I started on an XMPP bot (I think I showed you while I was at Booking), and I started on a command utility
18:57 hoelzro both times I ended up getting blocked by lack of modules + some problem with Rakudo
18:57 * hoelzro should really finish that XMPP bot
19:00 anaeem1_ joined #perl6
19:04 moritz ab5tract: I just read your advent draft. It's nice, but could use some indenting in the examples
19:08 dalek roast: 62adde9 | (David Warring david.warring@gmail.com)++ | S05-modifier/ignorecase.t:
19:08 dalek roast: test case for regex bug in 2014.11-54-ge395e87
19:08 dalek roast: review: https://github.com/perl6/roast/commit/62adde9885
19:09 ab5tract moritz: thanks man, yeah, still working on it!
19:09 tony-o inline? FROGGS_++
19:12 tony-o FROGGS_: question about the output from inline-c when you get back
19:12 FROGGS_ tony-o: I am here
19:12 FROGGS_ just ask
19:13 tony-o also submitted a PR for deprec
19:13 rurban joined #perl6
19:13 FROGGS_ a PR? for what repo?
19:13 raiph mvuets: are clifford, math::symbolic, and other math modules examples of what you seek? games?
19:14 tony-o FROGGS_: if i put printf() into my inline c and then call the sub then my output from the inline-c comes after all output from the perl part of the script.. https://gist.github.com/to​ny-o/ed50c2ce5aa8c799c761
19:14 tony-o that outputs:   11\nAdding 5 + 6 = 11
19:14 FROGGS_ tony-o: try adding a n
19:14 FROGGS_ err, \n
19:15 tony-o to the script?
19:15 FROGGS_ to line 9:
19:15 FROGGS_ -printf("Adding %d + %d = %d", a, b, a + b);
19:15 tony-o got ya
19:15 FROGGS_ +printf("Adding %d + %d = %d\n", a, b, a + b);
19:15 araujo joined #perl6
19:16 tony-o weird
19:16 tony-o submitted PR to https://github.com/FROGGS/p6-Inline-C
19:16 FROGGS_ tony-o: I don't see a PR
19:16 mvuets raiph: absolutely
19:17 tony-o FROGGS_: refresh?
19:17 FROGGS_ #3 opened 18 seconds ago by tony-o
19:17 FROGGS_ :o)
19:17 tony-o close to the metal, man
19:17 tony-o or slow internet
19:18 tony-o also, your issue seems to be resolved
19:19 FROGGS_ m: sub foo returns Int { '' }
19:19 camelia rakudo-moar 91d899: ( no output )
19:20 FROGGS_ p: sub foo returns Int { '' }
19:20 camelia rakudo-parrot 91d899: ( no output )
19:20 FROGGS_ hmmm
19:20 FROGGS_ ohh, the issue says it crashes when it gets precompiled
19:20 [Coke] (XMPP perl6 bot) WANT
19:21 mvuets hoelzro: ^ you cann't get away now q-:
19:22 hoelzro oh no...
19:22 hoelzro =P
19:22 hoelzro [Coke]: anything in particular you're looking for in a bot?
19:23 [Coke] We use cisco jabber here at work. I want a bot that I can script to help with dev work, like "hey, a build just happened", or "what does this weird acronym mean" or "what are the docs on this coldfusion function"
19:23 Khisanth joined #perl6
19:24 [Coke] I actually got it working using a java framework someone had setup, but etoomanychanges in our corporate setup have broken that.
19:25 hoelzro hmm, that should be possible with what I've done
19:25 hoelzro the bot I made, hexe (a pun on hex), is kind of messy
19:25 hoelzro well, the way it connects to an XMPP server is, anyway
19:25 hoelzro but with Inline::Perl5, that should be easier now
19:25 hoelzro or I could write MuEvent::XMPP
19:26 [Coke] I think we are using mumble-over-http
19:26 hoelzro either way, now I have some extra motivation to finish it =)
19:27 ptc_p6 joined #perl6
19:28 dalek nqp: 1928e4a | TimToady++ | src/QRegex/NFA.nqp:
19:28 dalek nqp: only dedup problematic but easily checkable edges
19:28 dalek nqp:
19:28 dalek nqp: Most of the dups are in epsilons and fates, with occasional codepoints.
19:28 dalek nqp: Since it's more difficult to check the values for fancy edges, and not
19:28 dalek nqp: worth it anyway, just check simple edges.
19:28 dalek nqp: review: https://github.com/perl6/nqp/commit/1928e4a884
19:28 BigBear joined #perl6
19:29 nige joined #perl6
19:29 dalek rakudo/nom: f0ea067 | TimToady++ | tools/build/NQP_REVISION:
19:29 dalek rakudo/nom: bump nqp
19:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0ea067776
19:29 TimToady dwarring++ for the bug report and dwarring++ for the test
19:32 Mso150 joined #perl6
19:32 nige Hi
19:32 masak hi, nige
19:32 nige HI Masak
19:33 nige I'm de-lurking for a mo ;-)
19:33 masak :)
19:33 nige I'm working on an advent post that is a simple translation of a Perl5 module
19:34 nige Here is the code http://pastebin.com/nsGAp54a
19:34 gfldex joined #perl6
19:36 nige The Perl6 version is here
19:36 nige http://pastebin.com/577rqpN8
19:36 gtodd to view the lurking 5th column in my DATA I can do     perl6 -ne '.words[4].say' DATA
19:36 nige open to suggestions for improvements
19:37 gtodd can I also do something like ....  @lines = slurp("DATA_1").split(/\s+/) ; say @lines[*;4]'
19:37 nige (I realise this module is ripe for a role) - but dealing with the simple OO case first
19:37 nige there is a small prob
19:38 nige in the Perl5 version the start_time is set lazily on the first call to record()
19:38 nige in the Perl6 version I think the attribute is initialised at BUILD time
19:39 nige - so there is a subtle difference here in behaviour - is there a way to set an attribute lazily in Perl 6?
19:40 gtodd oh @lines isn't split up there  ... hmm but anyway to get all the subversive fifth column .elems of a two  dimensional array is  [*;4]  politically correct, comrades?
19:41 ab5tract nige: what do you mean by lazily? you can choose to set values on your object at any time, right?
19:41 nige yes - I could add some code to do that
19:42 ab5tract just set the start_time attribute on records
19:42 nige yes - can do it there
19:42 ab5tract with some other variable  "started" which bools :)
19:43 nige yes - that's a nice idea
19:45 ab5tract ooof... i'm having trouble seeing the forest for the trees now in this post.. anyone care to tell me if it makes any sense? http://perl6advent.wordpress.com/?p=230​8&amp;preview=true&amp;preview_id=2308
19:45 ab5tract TimToady: i make some claims about the designs of P5 and P6 that i'd like to fact check by you
19:45 timotimo no need to have a $!started
19:46 ab5tract ah!
19:46 ab5tract timotimo++
19:46 timotimo your $!start_time is already Any, so just use that fact
19:46 timotimo $!start_time //= now;
19:46 ab5tract $start_time //= now :)
19:46 TimToady ab5tract: looking
19:46 ab5tract timotimo: jinx :D
19:46 timotimo on my client i beat you by a second :)
19:47 ab5tract the post still needs some clarifying points and polish in general, i think. but curious to hear back from others
19:48 timotimo hm. how big is our polish audience?
19:48 timotimo tadzik should know
19:49 moritz ab5tract: interseecting ~~ s/ee/e/
19:50 ugexe joined #perl6
19:52 dwarring ab5tract: "Yet Another Potentially Awkward Explanation "  ~ "(YAPAE)"
19:53 dwarring [make acronym a bit clearer]
19:53 [Coke] dwarring++
19:54 moritz ab5tract: "And ().Set gets another calling convention for free: methods defined on Any can be called in subroutine form as well!" that sounds like that's a language feature, when it's not
19:54 [Coke] extra newline after duct tape in the 5th ¶
19:54 moritz wait
19:55 moritz I guess it's close enough to the thruth after all
19:56 nige ab5tract --- maybe use "butterfly" or  "camels" in your set example - or some other simple place holder "wise men" "donkey" etc
19:57 moritz ab5tract: also, some sort of conclusion or wrap-up at the end would be nice
19:58 ab5tract moritz: no?
19:58 ab5tract i thought that methods on Any automatically getting a subroutine form was some form of feature...
19:59 ab5tract nige: better than 'contived example', agreed :)
20:00 psch joined #perl6
20:01 psch good *, #perl6
20:02 TimToady ab5tract: you're missing the ³ in the text.
20:02 psch ab5tract: you're also missing a colon in the first link to the clog
20:02 ab5tract ³ ? i can barely see that, let alone understand it :)
20:03 TimToady you're 3rd footnote doesn't have a corresponding ³ in the text
20:03 TimToady (that I could see)
20:03 ab5tract ah! i gotcha
20:04 ab5tract thanks folks!
20:04 ab5tract first dinner, then i will address your points
20:04 ugexe joined #perl6
20:05 mvuets joined #perl6
20:13 nige thanks for the help
20:14 TimToady ab5tract: it's only type-like things that promote Foo() to ().Foo
20:15 TimToady m: say new(Int)
20:15 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/v9grIzbKX0â�¤Undeclared routine:â�¤    new used at line 1 (in Perl 6 please use method call syntax instead)â�¤â�¤Â»
20:15 TimToady m: say new(Mu)
20:15 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/JGP6IKSvNrâ�¤Undeclared routine:â�¤    new used at line 1 (in Perl 6 please use method call syntax instead)â�¤â�¤Â»
20:16 TimToady anyway, normal method names are kept separate from function names
20:17 TimToady we only confuse them for types because we don't know whether the go-to type or the come-from type will define the coercion
20:18 TimToady m: say Mu.^methods
20:18 camelia rakudo-moar 91d899: OUTPUT«ACCEPTS WHERE WHICH take WHY set_why Bool so not defined new CREATE bless BUILDALL BUILD_LEAST_DERIVED Numeric Real Str Stringy item say print note gist perl DUMP DUMP-PIECES DUMP-OBJECT-ATTRS isa does can clone Capture Method+{<anon>}.new() dispatch:<::> …»
20:18 TimToady m: say gist(Mu)
20:18 camelia rakudo-moar 91d899: OUTPUT«(Mu)␤»
20:19 psch m: Real(Mu)
20:19 camelia rakudo-moar 91d899: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/_TQP2ccP7h:1␤␤»
20:19 TimToady hmm, most of those are also defined as functions
20:19 TimToady roles don't define coercers
20:19 TimToady you can't coerce to an abtraction :)
20:20 psch that does make sense.  the error hints at "it's a Role", too
20:20 TimToady m: say clone(42)
20:20 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/3lYM9HTHqjâ�¤Undeclared routine:â�¤    clone used at line 1. Did you mean 'close', 'none'?â�¤â�¤Â»
20:20 TimToady m: say 42.clone
20:20 camelia rakudo-moar 91d899: OUTPUT«42␤»
20:20 TimToady there we go
20:21 TimToady ab5tract: ^^^
20:25 denis_boyun_ joined #perl6
20:27 TimToady well, that's Mu, not Any, but still
20:27 TimToady m: say Any.^methods
20:27 camelia rakudo-moar 91d899: OUTPUT«infinite exists_key exists_pos delete_key delete_pos list flat eager hash Parcel elems end squish rotor reverse sort values keys kv pairs reduce combinations permutations unique uniq pick roll classify categorize lol map for flatmap duckmap deepmap tree Ar…»
20:28 TimToady m: say elems(42)
20:28 camelia rakudo-moar 91d899: OUTPUT«1␤»
20:28 TimToady m: say infinite(42)
20:28 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/VUKF08JVNcâ�¤Undeclared routine:â�¤    infinite used at line 1â�¤â�¤Â»
20:28 TimToady there, a method in Any that is not callable as a function
20:30 dalek roast: 1db2856 | usev6++ | S03-sequence/misc.t:
20:30 dalek roast: Add tests for chained sequence operators (RT #123329)
20:30 dalek roast: and fix two existing tests (currently fudged)
20:30 dalek roast: review: https://github.com/perl6/roast/commit/1db2856082
20:30 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123329
20:33 Mso150 joined #perl6
20:37 Ulti mvuets I've mostly been exploring/playing I've written a couple of Perl6 programs in anger. Like pyrimidine I've had a go at looking at Bioinformatics tasks especially parsing and simple operations on biological sequences.
20:38 Ulti mvuets I wrote a really great script for sorting out the unicode in my bibtex file of my thesis with Perl6 .uc understanding unicode really well is awesome too for dealing with author names with funny accents
20:39 Ulti I'm sure you could get P5 uc to do what I wanted, but it didn't "just work" like it did in P6
20:41 Ulti mvuets if you are super keen to see some code there is https://github.com/MattOates/BioInfo and https://github.com/cjfields/bioperl6
20:46 ab5tract TimToady: okay, so it is 'methods on Any that are also types get a subroutine for free' ? i think i might leave this particular corner out of the case study ;)
20:49 TimToady has nothing to do with Any, really
20:50 TimToady m: Mu(42)
20:50 camelia rakudo-moar 91d899: OUTPUT«Cannot find method 'Mu'␤  in block <unit> at /tmp/OzA9tij2Mw:1␤␤»
20:52 tony-o is there a pretty printer for .perl ?
20:52 TimToady nothing official yet, though people have been poking at it from time to time
20:53 mvuets thanks Ulti++
20:53 jdv79 tony-o: i've asked that a few times now i think
20:58 tony-o ah
20:58 ab5tract TimToady: is there a synopsis i should look at? if i can't be concise about it, i should probably avoid mentioning it
20:58 tony-o who is working on CompUnitRepo?
20:58 lizmat I guess that would be FROGGS_ and me
20:59 lizmat when we do
20:59 tony-o should .candidates return *all* candidates or just the first available?
20:59 lizmat .candidates should return *all* candidates
20:59 lizmat it's the caller who can then decide what to do with it: just take the first
21:00 tony-o okay
21:00 lizmat or complain if there;'s more than one
21:00 tony-o right now it's returning only the first for me
21:00 lizmat or apply different heuristics
21:00 tony-o i'll post a gist and try to patch
21:00 lizmat tony-o++
21:00 KCL_ joined #perl6
21:01 rurban1 joined #perl6
21:02 lizmat I'm seriously considering *NOT* writing/publishing my "IO - the current fashion" advent post tomorrow
21:03 lizmat I have 2 reasons for that:
21:03 tony-o https://gist.github.com/to​ny-o/644519cc86f68054ff2a
21:03 TimToady ab5tract: well, S13 Type Casting talks about it, though .[] and .{} are no longer methods, so that bit is a fossil
21:03 * colomon is listening to lizmat++
21:03 * tony-o is too
21:04 lizmat 1. the advent posts are more for an external audience, and my post would be very technical and describing something not (yet) in nom
21:04 nige joined #perl6
21:04 lizmat 2. it would incite a lot of discussion, as I noticed yesterday when trying out some of the blog post ideas at the Amsterdam.PM meeting
21:04 nige left #perl6
21:04 FROGGS_ yeah
21:04 lizmat so, I *do* have time set aside for writing an advent post
21:05 lizmat so what should I write about then?
21:05 Mso150 joined #perl6
21:06 lizmat perhaps something about Supplies ?
21:06 FROGGS_ I'd read it :o)
21:06 FROGGS_ but my brane is actually too empty to propose anything
21:07 psch both those arguments make me doubt the sense in writing what i'm planing to write about... :)
21:08 tony-o lizmat: i just submitted a PR to nom, is that the wrong branch?
21:08 lizmat no, that's fine
21:08 FROGGS_ tony-o: that would collect all candidates across all CompUnitRepos
21:09 FROGGS_ and our current thinking is that we only consider candidates of the first CUR that actually has at least one candidate
21:09 baest_ joined #perl6
21:09 tony-o i thought that was what it should do unless you call it from a specific CUR
21:09 TimToady moritz: I suspect that camelia is involved in the same can't-recompile git glitch that we both ran into
21:10 FROGGS_ you'll probably get more than one candidate if you'd have a CUR::Installation
21:10 tony-o ahh, i thought lizmat's reply meant that it should return *all* available
21:10 TimToady anyway, hasn't recompiled since about that time
21:10 FROGGS_ tony-o: all from the first CUR in @*INC
21:11 lizmat Ah, sorry, tony-o I misunderstood
21:11 FROGGS_ tony-o: and in case we invent a CUR::* thingy that closes over other CURs, then you could get candidates for several CURs via that indirection
21:11 tony-o i did too
21:11 lizmat all from the first CUR in @*INC
21:11 tony-o FROGGS_: i see - thank you for clarification, i'll delete that PR
21:12 TimToady moritz: in fact, hasn't recompiled since Nov 30, looks like
21:12 psch to clarify, what i was trying to say is that i didn't percieve "technical" and "not quite finished" as blockers for an advent post
21:12 psch if they are then i'll have to get a different topic as well
21:13 TimToady well, but the question is how "speculative" it is
21:13 lizmat psch: I'm more thinking about the PR value of the advent posts
21:14 psch TimToady: i'm trying to get easy access for overloaded java methods into our jvm interop, and my post was planned to be "how i'm trying to get there" to "how i did it", according to how far i get
21:14 lizmat and since Perl 6 already has the image of not being able to make up its mind
21:14 lizmat putting something in the advent posts that would incite a lot of discussion *there*, does not seem like a good idea to me
21:14 psch as in, not via method descriptors ("method/crc32/([B)I") but via shortnames ("crc32")
21:15 * nwc10 mails perl6-compiler@perl.org with MoarVM fakecutables
21:15 psch lizmat: right, i think that differentiates your topic from mine sufficiently to easy my mind at least.  i wouldn't assume "we're getting easier interop" to be as discussion-inciting as "we're changing IO"
21:15 TimToady psch: well, that's something UIish we all agree should be implemented, but it's just hard.  IO is all about UI though
21:15 moritz TimToady: I'm now cleaning out and trying again
21:16 TimToady thanks
21:16 lizmat having said this: I think that 99% of the IO API will stay the same
21:17 lizmat only if people expected specific object types in certain places, will they notice
21:17 TimToady well, but that's a part of UI too, not just the call siggies
21:17 lizmat so I think I *will* write a blogpost about it, but *not* for the advent
21:17 TimToady and what order you have to call them
21:17 TimToady and what the expected semantics are
21:17 Mso150_o joined #perl6
21:31 lizmat TimToady: re $DISTRO.name being ubuntu on Ubuntu: what would be the way to determine a Linux distribution is an Ubuntu ?
21:32 lizmat or more generally, what kind of distribution is distribution X on linux
21:32 lizmat (how to programmatically determine that)
21:33 mst there's usually a file in /etc
21:33 mvuets usually there is /etc/*-release or /etc/release-* file that should contain a distro name
21:33 huf there's lsb_release -a
21:33 mst debian_version, redhate_release etc.
21:33 huf well, sometimes there is.
21:34 colomon joined #perl6
21:36 mvuets what would it contain on Windows or OS X?
21:36 lizmat well, on OS X, you can call "sw_vers"
21:37 lizmat $ sw_vers
21:37 lizmat ProductName:Mac OS X
21:37 lizmat ProductVersion:10.9.5
21:37 lizmat BuildVersion:13F34
21:38 ab5tract lizmat: maybe $*OS could be a hash, and keys like $*OS<distribution> could be present iff necessary/relevant
21:38 psch /etc/os-release has an ietf rfc, fwiw
21:38 psch http://www.freedesktop.org/softw​are/systemd/man/os-release.html
21:39 lizmat m: $*OS
21:39 camelia rakudo-moar 91d899: ( no output )
21:39 psch that matches the man page i get on debian
21:39 lizmat m: say $*OS
21:39 camelia rakudo-moar 91d899: OUTPUT«linux␤Saw 1 call to deprecated code during execution.␤=====================================​===========================================␤$*OS called at:␤  /tmp/QCpueRkjwv, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤Ple…»
21:39 ab5tract right, but $*DISTRO seems so linux specific
21:40 mvuets psch: works on fedora 20 too
21:40 colomon do we have another advent post we can run instead of lizmat++'s?
21:40 lizmat colomon: I'll write one
21:40 lizmat I just don't know what about yet
21:40 colomon :)
21:40 lizmat I still have ~26 hours
21:40 mvuets i have to admit how much i like this backward compatibility policy! "Deprecated since v2014.9, will be removed with release v2015.9!"
21:43 colomon lizmat: want help brainstorming?
21:44 tony-o FROGGS_: what exactly does CUR::Local::Installation (CURLI) expect for $dist?  i see it's trying to call .metainfo on whatever i pass to create a distribution but i don't really get what i'm passing that has .metainfo.  it seems to partially work if i pass an anonymous class implementing metainfo that just returns a hash that i got from-json'd from META6.json ...
21:44 ptc_p6 joined #perl6
21:44 tony-o link to assist with the confusion i have: https://github.com/rakudo/rakudo/blob/nom/src​/core/CompUnitRepo/Local/Installation.pm#L72
21:45 FROGGS_ tony-o: there is a panda/eleven branch that does that for you
21:45 FROGGS_ tony-o: though there is something rotten that breaks installation of dists into a CURLI
21:47 tony-o is it supposed to move files for me or is it basically just a METAINFO generator?
21:48 tony-o sorry, MANIFEST
21:49 FROGGS_ panda will pass information about a to-be-installed dist to CURLI, and that will install the dist into its storage
21:49 lizmat colomon: yes
21:50 lizmat FROGGS_: I bet in the end what's blocking panda/eleven, is the same that is blocking newio
21:50 [Coke] I wonder if a pretty printer for .perl should be a pretty printer for Perl 6.
21:51 tony-o FROGGS_: what is broken with the installation of dists in a CURLI ?
21:51 FROGGS_ lizmat: and what is it?
21:51 [Coke] (Perl6::Tidy with an optional .perl wrapper, e.g.
21:51 lizmat FROGGS_: I wish I knew
21:51 FROGGS_ tony-o: something about PERL6LIB environment var... panda fails to bootstrap IIRC
21:51 tony-o ah
21:51 lizmat REPR notfound errrors, segfaults, you name it
21:51 FROGGS_ lizmat: okay, that sounds like my problem :o)
21:52 FROGGS_ tony-o: I tried to hunt it down like three weeks ago, but I need to give it another go
21:54 ab5tract "If you define a method whose name is a declared type, it is taken as a coercion to that type"
21:54 gfldex joined #perl6
21:54 ab5tract so Any.Set is what allows an Any to coerce to Set
21:55 [Coke] heh. gmail thinks [perl #123329] thread is in danish.
21:55 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123329
21:55 colomon ab5tract: yes
21:55 ab5tract and Set() looks to see if an object has a coercer method .Set
21:55 ab5tract which, if it is an Any, it does
21:56 bartolin [Coke]: *g*
21:58 masak 'night, #perl6
21:59 bartolin o/
21:59 moritz m: say 'which version?'
21:59 camelia rakudo-moar f0ea06: OUTPUT«which version?␤»
21:59 moritz TimToady: ^^
22:04 dalek rakudo/nom: 1632658 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
22:04 dalek rakudo/nom: Naive fix for getting $DISTRO.name on linux
22:04 dalek rakudo/nom:
22:04 dalek rakudo/nom: Please test, as I on OS X and cannot really test this myself
22:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1632658288
22:04 ab5tract okay folks, if i can trouble you for one last read-through.. http://perl6advent.wordpress.com/?p=230​8&amp;preview=true&amp;preview_id=2308
22:06 bartolin lizmat: there seems to be a typo: s/lb_release/lsb_release/
22:06 tony-o FROGGS_: what method do i have to keep a CURLI in @*INC or ... how do i make the CURLI i created available as a CURLI via environment variable?
22:07 dalek rakudo/nom: 725e26e | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
22:07 dalek rakudo/nom: Fix typo, bartolin++
22:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/725e26e223
22:07 lucas_ joined #perl6
22:07 lizmat tony-o: if I understand your question correctly, you would typically @*INC.unshift it
22:08 colomon ab5tract: seems like there's a spurious CR / <br> in the middle of the third paragraph past the XKCD comic?
22:09 lizmat ab5tract: there seems to a newline in "the duct tape
22:09 lizmat of Perl 5"
22:09 colomon in between the words "duct" tape" and...
22:09 colomon what lizmat said.
22:09 btyler are there any tools around for generating p6 code?
22:09 ab5tract fixed!
22:10 btyler don't need anything robust, just to save myself some typing translating C structs into nativecall/p6 classes
22:10 ab5tract (i hope that's line is as funny to others as it is to me :)
22:10 colomon ab5tract: another in the first paragraph afeter Composers like Set.new() and set()
22:10 ab5tract colomon++ # fixed too
22:10 lucas_ hello channel
22:12 tony-o lizmat: if i unshift a CURLI object and then do 'use <module>' (that i've verified is available via MANIFEST) then i get the 'could not find <module> in any ..'
22:12 tony-o i think i'm missing a step but i don't know what it is
22:13 mvuets g'night #perl6
22:15 ab5tract weird.. i'm not sure why the code snippets at the bottom of the post are in a different font size
22:16 ab5tract but if no one has any other stoppers, i'm going to schedule this and proceed to put my feet up :)
22:16 tony-o lizmat: relevant code here: https://github.com/tony-o/del​eteme/blob/master/install.pl6
22:17 * ab5tract is glad that it even makes sense, it was a pretty dense jungle
22:17 FROGGS_ btyler: not that I am aware of... but I'd like to have that too for libxml
22:18 lizmat tony-o: maybe I'm missing some context, but what are you trying to achieve?
22:18 lizmat install a module without panda ?
22:18 psch ab5tract: looks to me like you have a missing closing <pre> or whatever wordpress uses for code formatting
22:18 lizmat alas, most of the CUR stuff is NYI  :-(
22:19 FROGGS_ lizmat: what is NYI?
22:19 psch ab5tract: second paragraph below "Coercers like ().Set and Set()", at "this allows a Set()⏏ call"
22:19 tony-o FROGGS_: not yet implemented
22:20 FROGGS_ tony-o: :D
22:20 FROGGS_ tony-o: I know, I am asking for details :o)
22:20 tony-o oops
22:20 tony-o i hate being sick
22:20 FROGGS_ because many things are kinda implemented, but not usable with panda/master for example
22:20 lue ab5stract: right where psch put the ⏏ is where I see all the text (not just code snippets) gets a bit bigger and monospace.
22:21 ab5tract lue: thanks for spotting, fixed now
22:21 * gtodd combs old articles in search of an advent posting about IO
22:23 gtodd https://perl6advent.wordpress.com/tag/io/ sort of sparse :)
22:24 btyler FROGGS_: ok, well, I'll keep working on my grody hack to parse C structs, and maybe just spit out P6 with string manipulation
22:25 lizmat gtodd: well, I can say that that code will still work in the newio branch unchanged
22:25 btyler for me it was libgit2 :) so many struct defs!
22:25 gtodd lizmat: Yay!!!
22:25 gtodd lizmat: wait ... you just wrote a oneliner advent article ;-)
22:26 lizmat almost, but there is more nowadays  :-)
22:28 dwarring ab5tract: associativty => associativity
22:29 ab5tract dwarring: thanks!
22:30 dalek mu: 6ca2ba2 | (Elizabeth Mattijsen)++ | misc/perl6advent-2014/schedule:
22:30 dalek mu: Provisionary title for different advent post
22:30 dalek mu: review: https://github.com/perl6/mu/commit/6ca2ba2246
22:31 lizmat "Supplies without Demand"
22:31 ab5tract lizmat++
22:34 ab5tract i've been looking forward to as many concurrency-related posts as possible. this is kind of p6's first advent where the recommended interpreter supports it, if i'm not mistaken?
22:38 virtualsue joined #perl6
22:39 lizmat ab5tract: yes, indeed
22:41 bartolin lizmat: re $*DISTRO.name: it seems to be a bit more complicated. at least on one system with debian 7 I tested with "lsb_release" was not installed. on a second system it was installed but complained to stderr that no lsb modules were installed.
22:42 lizmat bartolin: patches welcome!
22:43 bartolin lizmat: if I find some time, I'll look into it (but not today ;-)
22:43 lizmat ++bartolin
22:43 * lizmat is going to sleep on her new advent post title
22:43 ab5tract that said, a blog post about the complexities of implementing a P6-worthy IO, a few words on the various attempts that have been made, and a brief description of the talking points you'd expect in any discussion (oh, and a few details on how you managed the perforance gains ;) -- that would be a fantastic post as well.
22:44 bartolin g'night, #perl6
22:44 ab5tract maybe for later in the advent? ;)
22:44 lizmat ab5tract: well, maybe I will, but then at least 10 days later
22:44 lizmat really sleep&
22:44 ab5tract night!
22:48 japhb Is it intentional that nqp's `make test` doesn't include the t/docs/ and t/parrot-pmc/ tests on any backend (I would assume t/parrot-pmc would only be for nqp-p, but it's not even run there)?
22:49 japhb My best guess for not running t/docs/ was that there's too much new docs required to pass that we don't try right now?
22:51 japhb Also, would anyone object to a new t/concurrency/ that includes testing for *all* concurrency and async-related NQP stuff?
22:58 colomon joined #perl6
22:59 perturbation joined #perl6
23:02 abraxxa joined #perl6
23:04 tony-o japhb: sounds like a good idea
23:05 ptc_p6 joined #perl6
23:11 TimToady m: say 42
23:11 camelia rakudo-moar 725e26: OUTPUT«/bin/sh: lsb_release: command not found␤42␤»
23:11 TimToady hmm
23:17 japhb Er, why would we care about the lsb_release command?
23:21 TimToady attempt to initialize $*DISTRO with something other than $*KERNEL info, I suspect
23:21 abraxxa joined #perl6
23:26 vendethiel joined #perl6
23:27 japhb Ah, no wonder I didn't see it -- it was from lizmat's most recent Rakudo commits this afternoon, and I hadn't pulled since this morning.
23:28 japhb So yeah, we should probably make that code resilient to not having lsb_release.  Also, given that lsb stands for Linux Standard Base, I suspect it won't work on OS X.  :-)
23:28 japhb Also, shouldn't $*DISTRO be lazily computed?
23:29 lue I don't have lsb_release, so would rakudo break for me if I updated it right now?
23:29 TimToady my machines have the /etc/lsb-release, but the lsb_release programs say No LSB modules are available. on both Ubuntu and LinuxMint
23:30 TimToady well, my ubuntu is obsolete-ish
23:30 lue "ls: cannot access /etc/lsb-release: No such file or directory"  I don't even know what Linux Standard Base _is_, fwiw.
23:31 geekosaur lsb was more or less a power grab by red hat, which is why debian-ish systems don't support it well
23:32 geekosaur the linux standards originally came out of debian (fsstnd / fhs) and lsb was red hat embracing and extending
23:32 lue Or gentoo :) . I could install it, but since my system has apparently never needed it, I don't see why I should install it any time soon.
23:37 TimToady oh, maybe /etc/os-release is more better?
23:37 japhb Gah, it looks like $*DISTRO is lazy, but it's likely to be evaluated.
23:37 lue I have /etc/os-release
23:37 * TimToady can understand the bsds not wanting to use "linux standard base" :)
23:38 lue Or any system that doesn't feel like supporting RPMs, apparently :) .
23:40 TimToady of course, they're confusing matters by calling it "os" :)
23:40 geekosaur fsstnd did start working with the bsds at one point... ian shot it down hard :/
23:41 japhb IIRC LSB was intended for proprietary software vendors and enterprise coders to have a minimum platform that they could rely on.  I don't recall whether it ever managed to be that for anyone, but I think that was the supposed *intent*.
23:41 TimToady Live Free Or Die, unless it's And...
23:45 TimToady otoh, my os-release file says "Ubuntu", and my lsb-release file says "LinuxMint"
23:45 lue My os-release has a bunch of fields.
23:45 TimToady and LinuxMint is more specific
23:46 TimToady there was a webpage mentioned earlier describing os-version
23:48 TimToady I'm on a distro based on a distro
23:48 japhb ... based on a distro
23:48 TimToady right, debian
23:49 * lue ponders the Ur-distro of linux
23:49 TimToady but ubuntu tries hard to hide that
23:49 japhb lue: In the sense of "root of the family tree"?
23:50 TimToady arguably the most derived is the most informative, like with virtual dispatch
23:50 lue japhb: as in https://en.wiktionary.org/wiki/ur-
23:51 TimToady so obviously $*DISTRO have methods that can call 'nextsame', or that can be called with .*
23:51 japhb Yes, I know the definition, I meant "what variation on the theme did you mean in this case?"
23:52 TimToady so $*DISTRO.*name might return LinuxMint, Ubuntu, Debian, GNU/Linux
23:52 lue Ah, I mean that as in "What's at the end of 'distro based on a distro based on a distro...'?" :)
23:52 japhb BTW, I'm going to put a stake in the sand and say now that no "production" release of Rakudo should fork or spawn in order to 'say 42'.  I know how extremely controversial that will be ....
23:53 TimToady but then what do you do with the old SunOS that was derived from both SysV and BSD?
23:53 ab5tract oof.. just can't seem to leave well enough alone http://perl6advent.wordpress.com/2014/12/04/co​mposers-coercers-and-the-case-of-a-camels-curi​ous-corner/?preview=true&amp;preview_id=2308
23:54 lue TimToady:  ("SysV"&"BSD") of course :P .
23:54 ab5tract switched up the flow considerably, i think it may even make sense :)
23:54 japhb lue: For actual linux distros, perhaps Slackware.  Going further involves changing kernel.
23:54 TimToady well, config info of this sort should be discovered at install time and cached somewhere
23:54 japhb TimToady: That would be $?DISTRO, neh?
23:55 timotimo ab5tract: it'd be nice to put an attribution onto the image (even though you expect 100% of nerds to know xkcd, it's still good form)
23:55 TimToady that's the distro you compiled on
23:55 ab5tract timotimo: done :)
23:55 japhb TimToady: Which compiled?  NQP and Rakudo, or your script (This matters in the "precompiled before making an OS package" case)
23:56 TimToady your script/module's compilation time
23:56 telex joined #perl6
23:56 japhb Right, so that could either be the same as install time, or different, depending on local panda-style install or OS package install.
23:56 TimToady if you move your .moarvm to a different machine, we might allow $*DISTRO to change
23:57 TimToady but hopefully we'd have a standard place to look
23:57 japhb I'd argue that we'd *want* $?DISTRO and $*DISTRO to be independent, because the latter tells you much about the environment the script is actually running in, which most of the time is more important than what compiled the script.
23:58 TimToady that's the intent
23:58 japhb :-)
23:58 TimToady when I say "install" time, I mean the installation of your code where it'll run and find libraries, not the installation of the compiler
23:59 japhb So then caching $*DISTRO gets more difficult.  But I think we'd really like to avoid needing to fully populate it just for basic functionality, which as far as I can tell is what's happening, despite the attempt at laziness.
23:59 TimToady and whatever put those libraries there should probably put one that has the current config
23:59 TimToady we're supposed to be able to load libs without forking, which I think was your issue?

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

Perl 6 | Reference Documentation | Rakudo