Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-15

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:01 isBEKaml joined #perl6
00:24 laouji joined #perl6
00:28 Akagi201 joined #perl6
00:38 laouji joined #perl6
00:44 laouji joined #perl6
00:46 sue joined #perl6
00:58 Ben_Goldberg joined #perl6
01:22 aborazmeh joined #perl6
01:22 aborazmeh joined #perl6
01:22 tinyblak joined #perl6
01:23 tinyblak_ joined #perl6
01:23 TimToady turns out there's a circularity problem with dwimming all(1,2,3) ~~ Int
01:24 gtodd1 hoelzro++ repl works again yay after Linenoise changes.  I note that the changes seem errm "nontrivial"
01:24 TimToady we rely on Junction not being ACCEPTED by Int in order to trigger autothreading
01:47 ilbot3 joined #perl6
01:47 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!
02:05 TimToady or maybe not, the binder bypasses smartmatching for nominals, I guess
02:10 cognominal hoelzro++ indeed
02:12 cognominal even if I have no (yet any) idea of what he did. :)
02:16 timmac joined #perl6
02:17 timmac left #perl6
02:23 noganex_ joined #perl6
02:31 gerry__ joined #perl6
02:38 rmgk_ joined #perl6
03:00 lizmat joined #perl6
03:05 lizmat_ joined #perl6
03:08 dalek rakudo/nom: 28a7697 | TimToady++ | src/core/ (3 files):
03:08 dalek rakudo/nom: Any types autothread when smartmatching junctions
03:08 dalek rakudo/nom:
03:08 dalek rakudo/nom: This is probably how most people will expect smartmatching to work.
03:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28a76979d9
03:09 dalek roast: 53f4686 | TimToady++ | S03-junctions/autothreading.t:
03:09 dalek roast: tests for new all(1,2,3) ~~ Int semantics
03:09 dalek roast: review: https://github.com/perl6/roast/commit/53f46867ee
03:14 aborazmeh joined #perl6
03:14 aborazmeh joined #perl6
03:21 lsm-desktop joined #perl6
03:37 dalek roast: 7049b15 | lizmat++ | S04-exceptions/pending.t:
03:37 dalek roast: Unfudge passing test
03:37 dalek roast: review: https://github.com/perl6/roast/commit/7049b159e5
03:40 TimToady m: say all(1,2,3) ~~ Int
03:40 camelia rakudo-moar 65a3fe: OUTPUT«False␤»
03:52 TimToady m: say all(1,2,3) ~~ Int
03:52 camelia rakudo-moar 28a769: OUTPUT«all(True, True, True)␤»
03:53 TimToady m: say all(1,2,3) ~~ Junction
03:53 camelia rakudo-moar 28a769: OUTPUT«True␤»
03:56 dalek Heuristic branch merge: pushed 59 commits to rakudo/newio by lizmat
03:58 dalek Heuristic branch merge: pushed 36 commits to roast/newio by lizmat
03:59 dalek Heuristic branch merge: pushed 48 commits to specs/newio by lizmat
04:10 TimToady .tell skids your GLR in a nutshell is assuming that list assignment still flattens, which may not be what we end up with for a default
04:10 yoleaux TimToady: I'll pass your message to skids.
04:21 BenGoldberg_ joined #perl6
04:39 moritz jnthn++ # https://6guts.wordpress.com/2015/06/​14/this-week-fixing-lots-of-things/
04:40 moritz jnthn: typo: "This needed a lock-free solution for the common “it’s not a problem” path, so we would now slow down every single wval instruction" ~~ s/now/not/
04:47 gerry__ joined #perl6
04:49 gerry__ joined #perl6
04:55 gerry__ joined #perl6
05:05 diana_olhovik_ joined #perl6
05:07 gerry__ joined #perl6
05:10 Akagi201 joined #perl6
05:26 gerry__ joined #perl6
05:29 kaare__ joined #perl6
05:43 sue__ joined #perl6
05:46 Psyche^ joined #perl6
05:56 spider-mario joined #perl6
05:56 Woodi joined #perl6
05:57 oetiker joined #perl6
06:02 FROGGS joined #perl6
06:03 oetiker joined #perl6
06:06 oetiker joined #perl6
06:07 _mg_ joined #perl6
06:07 masak morning, #perl6
06:07 FROGGS morning, #perl6
06:11 diana_olhovik joined #perl6
06:16 domidumont joined #perl6
06:17 * masak notices the brief p6u discussion about Interface Consistency from two days ago
06:17 masak every time, same conclusion: "it would be nice if Perl 6 warned about this"
06:17 masak even warning would kind of annul the Liskov benefits we're trying to enable here, though
06:22 domidumont joined #perl6
06:22 andreoss joined #perl6
06:24 oetiker joined #perl6
06:25 steve_mc joined #perl6
06:27 gfldex joined #perl6
06:30 domidumont joined #perl6
06:33 gerry__ joined #perl6
06:33 moritz I wonder if we could get rid of the magical *% for every method, and instead put it into the proto of method new
06:37 masak only the `new` method?
06:37 masak that kind of makes the `new` method a bit more special than it would otherwise be...
06:38 moritz but it's the only example that comes up when discussing why we need it
06:38 raydiak it's also a matter of multidispatch and [next|call]same for other methods, isn't it?
06:38 FROGGS it is an issue for all methods
06:39 FROGGS but I still think the *% is worth it
06:40 raydiak I suppose it'd be terribly expensive to only warn about names that aren't explicit params of any method in the candidate list...???...
06:41 Khisanth joined #perl6
06:42 FROGGS raydiak: you just would have to check if *the autogenerated* *% contains stuff when you are already in the method call
06:44 [Sno] joined #perl6
06:45 masak moritz: the p6u example was about .push, not .new
06:46 moritz masak: yes; and removing the magical *% everywhere (but not in .new) would solve it
06:46 moritz because it'd produce a good error message
06:46 raydiak FROGGS: is a check like that a reasonable thing to do?  it'd be nice if we could at least get warnings when we're accidentally passing pairs as nameds or mistype a name, without breaking interface consistency
06:46 FROGGS I don't see why .new should have *% when other method would not
06:47 FROGGS raydiak: I'm not sure... it certainly would help in some cases, but I fear there would be false positives also
06:47 FROGGS raydiak: and warning about something is the same as discouraging something
06:49 raydiak FROGGS: then it ought to be designed in a way that gives false negatives instead, if it can't be perfect
06:50 [Tux] o/
06:50 FROGGS hi [Tux]
06:50 [Tux] Inline::Perl5 works again!
06:52 raydiak I guess my general thought is just that certainly if I write something simple and obvious like "class {}.new: :abracadabra", it could be easily proven that I've made a mistake...or am I wrong?
06:52 FROGGS raydiak: I would not be so sure
06:53 FROGGS what if you class does a role or inherits from a foreign class you pass the args to, and this gets extended?
06:54 andreoss left #perl6
06:54 andreoss joined #perl6
06:54 FROGGS so your method needs a *%
06:54 FROGGS and I really don't know if dropping named arguments is okay in some scenarios or not
06:55 zakharyas joined #perl6
06:55 raydiak but it doesn't do those things in my example...I suggest in a very vague general way that doing what we can reliably do is better than nothing at all, so would it be hard to prove that those conditions do or don't exist, and only warn if not?
06:55 FROGGS though I bet if we enabled warning on dropped named args, we would reveal a bunch of bugs, potentially even in rakudo/roast
06:56 FROGGS raydiak: I can't answer your question without knowing all applicable scenarios/use cases for *%
06:56 oetiker joined #perl6
06:56 raydiak it would also be a starting point for thinking about how to analyze those more complex cases
06:57 FROGGS we can try things in a branch btw
06:57 andreoss [ptc]: it seems the p6-examples cron job doesn't run again. Also VIM 7.4 with perl6 plugins should be present on the system where this build script runs.
06:58 raydiak but note that I'm not talking about *explicit* *% actually written in the source, which shouldn't ever warn about unrecognized nameds
07:01 darutoko joined #perl6
07:01 FROGGS raydiak: correct
07:02 FROGGS that's what I'd try in a branch:
07:02 FROGGS 1) make a distinction between the autogenerated *% and the literal *%
07:02 FROGGS 2) when a method candidate was chosen, warn with "Unexpected named argument X" if the autogenerated *% contains stuff
07:03 FROGGS (* where "I" is "someone")
07:05 raydiak unless it calls nextsame?
07:05 FROGGS hmmm, potentially
07:05 FROGGS and callsame
07:05 raydiak aye
07:07 raydiak happily, I got a little work for a week or two...sadly, I can't really volunteer anything for at least a week or two, mainly because I'm not all that much of a rakudo internals expert so it takes me extra time and study to get things done sometimes
07:08 [Tux] performance is worse again
07:08 [Tux] test             50000    43.141    43.053
07:08 [Tux] test-t           50000    39.842    39.754
07:08 [Tux] that once was 40/36
07:08 raydiak FROGGS: but I really wanted to at least throw my two cents in for now, I think this is kinda important to have and at least possibly possible to do without breaking subclassing
07:10 FROGGS raydiak: yeah, and it could reduce the onramp for P6
07:11 FROGGS raydiak: well, we can tackle it together
07:11 FROGGS like, trying to get 1) done
07:13 raydiak FROGGS: I was thinking a flag on Signature like $.implicit-slurpy, except named better :)
07:15 raydiak or a flag on the callable thing itself, if that makes anything easier, but seemed like it belongs on the signature
07:16 FROGGS and then we could set that in Perl6::Actions
07:30 gerry__ joined #perl6
07:32 salv0 joined #perl6
07:34 Ven joined #perl6
07:40 raydiak FROGGS: looks like it gets decided in https://github.com/rakudo/rakudo/b​lob/nom/src/Perl6/World.nqp#L1513 and the signature is ultimately constructed in the very next method ("create_signature")
07:41 brrt joined #perl6
07:44 RabidGravy joined #perl6
07:45 FROGGS raydiak: I think we could inject code that checks *%_ after line 1534, by unshifting QAST::Ops to $lexpad[1]
07:51 raydiak FROGGS: I only understand some of the things going on in there, but I do get the basic idea
07:51 FROGGS $lexpad[1].unshift(QAST::Op.new(:op<if>, QAST::Var.new( :name('%_'), :scope('lexical') ), QAST::Op.new(:op<call>, :name<&warn>, QAST::Op.new(:op<callmethod>, :name<keys>, QAST::Var.new( :name('%_'), :scope('lexical') )))));
07:51 FROGGS something like that (untested)
07:52 FROGGS I think we do not need a clean solution here, at least not at this stage
07:53 andreoss m: sub x() returns Array of Int { my @x of Int = 1,2,3 }; x().WHAT.say
07:53 camelia rakudo-moar 28a769: OUTPUT«Type check failed for return value; expected 'Array[Int]' but got 'Array[Int]'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤  in sub x at /tmp/jZUqaqU_2L:1␤  in block <unit> at /tmp/jZUqaqU_2L:1␤␤»
07:56 andreoss m: sub x() returns Array of Int { my @x of Int = 1,2,3 }; sub y() returns Array of Int {  }; sub z() returns Array of Int {  } ; x().WHAT.say;
07:56 andreoss
07:56 andreoss
07:56 andreoss
07:56 camelia rakudo-moar 28a769: OUTPUT«Type check failed for return value; expected 'Array[Int][Int]' but got 'Array[Int]'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤  in sub x at /tmp/eyqYUnrcFj:1␤  in block <unit> at /tmp/eyqYUnrcFj:1␤␤»
07:56 andreoss
07:56 andreoss
07:56 andreoss
07:56 andreoss
07:59 andreoss why does expected type change?
08:02 _mg__ joined #perl6
08:02 masak m: my @x of Int = 1,2,3; say @x
08:02 camelia rakudo-moar 28a769: OUTPUT«1 2 3␤»
08:02 masak m: my @x of Int = 1,2,3; say @x.WHAT
08:02 camelia rakudo-moar 28a769: OUTPUT«(Array[Int])␤»
08:03 RabidGravy marning!
08:05 andreoss http://paste.debian.net/230032/ and in repl it gets even stranger after several redeclarations
08:05 FROGGS I bet there are two composed Array[Int]'s types... it probably should create one, cache and reuse it
08:06 masak andreoss: please submit a rakudobug
08:07 masak seems there's an interview up with some goon or other: http://perlhist.com/perl6/carl-masak :)
08:10 raydiak FROGGS: I will think about trying these things now that I have seen some of what I'll need to know...I appreciate your advice!  but it's 1 AM here, I'm getting up in 6 hours to work in the sun for 10ish hours (some of it 15 or 20 feet up on ladders), so not digging in to it right this moment
08:11 FROGGS raydiak: sure :o)
08:15 Sqirrel joined #perl6
08:16 gerry__ joined #perl6
08:19 gerry__ joined #perl6
08:19 moritz masak++ # interview
08:29 raydiak good night, #perl6
08:41 gerry__ joined #perl6
08:41 FROGGS moritz: interview? what interview?
08:41 FROGGS gnight raydiak
08:43 cognominal joined #perl6
08:44 RabidGravy okay that's a new one on me
08:44 RabidGravy just got a "bug report" from someone trying to use Term::ReadKey in a CGI program :-\
08:46 AlexDaniel joined #perl6
08:53 moritz FROGGS: http://perlhist.com/perl6/carl-masak
08:59 FROGGS ohh nice
08:59 lizmat joined #perl6
09:11 espadrine joined #perl6
09:17 uncleyear joined #perl6
09:20 g4 joined #perl6
09:20 g4 joined #perl6
09:27 laouji joined #perl6
09:37 abraxxa joined #perl6
09:39 abraxxa joined #perl6
09:47 rindolf joined #perl6
09:59 itz joined #perl6
10:03 heto_ joined #perl6
10:13 tadzik I'm quite amused that the sections are called October, November and December
10:13 tadzik like, "before november-the-wiki", "novemeber-the-wiki" and "christmas" :)
10:24 Vlavv joined #perl6
10:30 bin_005 joined #perl6
10:30 psch hrm
10:30 brrt yes, very nice interview indeed
10:30 psch i hate it when i arrive somewhere where 1) things don't work but 2) they don't error at all
10:32 psch oh, but i know why that was :s
10:32 psch yes, the interview is nice, masak++
10:32 psch i had to chuckle at the ecology analogy, thinking of a "moldy masak" :)
10:35 gerry__ joined #perl6
10:35 lolisa joined #perl6
10:37 bin_005_k joined #perl6
10:42 gagalicious joined #perl6
10:44 gagalicious joined #perl6
10:47 gerry__ joined #perl6
10:49 brrt it is truly remarkable how emotional people become over perceived flaws in go (the language, not the game)
10:50 FROGGS the same is true for some trolls...
10:51 brrt hmm
10:51 FROGGS sometimes I think they don't get the relevance right of the project/issue in question
10:51 brrt but this is otherwise reasonable people going nearly berserk
10:51 FROGGS (relevance to their or our life)
10:52 brrt right. something is wrong on the internet, i guess
10:53 FROGGS they should rename 'http://' to 'cats://'
10:54 brrt automatic pervasive distributed troll filtering would be *so* nice
10:58 tinyblak joined #perl6
11:00 TimToady joined #perl6
11:03 moritz FROGGS: and https:// to catses:// ?
11:03 moritz :-)
11:04 gerry__ joined #perl6
11:04 tadzik hotpotatoes://
11:04 FROGGS good point :o)
11:06 telex joined #perl6
11:10 Sqirrel joined #perl6
11:20 * masak .oO( nyan:// )
11:21 masak psch: I like "mouldy masak". it has a certain ring to it.
11:22 _mg_ joined #perl6
11:23 El_Che masak: so, fighting the man (Oracle)? :)
11:23 psch the alliteration even carries to german, as "kahmiger Carl" :)
11:24 El_Che my first meeting with Oracle after the takeover with Sun => can you please sign this NDA?
11:24 El_Che an meeting with no info that wasn't on the internet for month
11:24 El_Che sigh
11:24 itz Oracle? Bad Larry rather than the Good Larry :)
11:24 * psch wonders if there's a distinctions between phonetic and literal alliterations...
11:25 El_Che I think there is one Larry
11:25 El_Che the Many-Faced God they call it on Game of Thrones :)
11:26 psch (yes, the special case of an alliteration that uses the same letter is a tautogram)
11:26 moritz "Frequent First Name" is what I'd call it :-)
11:27 moritz psch: I'd translate it to German as "Gammel-Carl" :-) (but then I'm from Frankonia, where we don't distinguish G and C/K too closely)
11:29 masak El_Che: I figure that if I kvetch on Twitter every time I have to download Java for $work, maybe eventually I'll wear Oracle down and they'll improve their bloody download experience.
11:29 masak it's not like it's all that hard to get right. "here, have a file" is usually enough.
11:30 El_Che well, it's not about easiness, but showing who's the boss
11:30 El_Che click here, sing song, do turnabout...
11:30 masak the experience can be made smoother by detecting the platform/OS in most cases. instead, they annoy me with clicking license radio buttons and signing in, none of which matters in the least.
11:30 itz you can't even download "old" java versions with security patches like java 1.6.x etc without a support contract
11:31 masak yes, I get that the experience is optimized for making me feel inferior. I'm questioning whether that's wise.
11:31 masak itz: that's what I was doing this time, incidentally.
11:32 itz it takes me ages to find the security fixes which are mislabeled as "patches" even although are zips of tars of the jdk or something
11:32 El_Che see what happened with Solaris (I still have a "Solaris Certified System Engineer" somewhere) by killing the source repo and closing security patches
11:32 itz its quicker to compile openjdk from source I bet ;)
11:32 El_Che itz: sadly openjdk is often not good enough
11:34 tinyblak joined #perl6
11:34 El_Che we used Shibboleth SSO on tomcat and openjdk7 supplied by RHEL. Misterious lockups every 3 months. You don't want that when 100 000 people need to login. Moving to the Oracle jdk made the problem go away.
11:35 El_Che sometimes I think having the crashes may be preferable than go to the oracle download page :)
11:36 itz "java just does that what you do expect"
11:36 gerry__ joined #perl6
11:37 aborazmeh joined #perl6
11:37 aborazmeh joined #perl6
11:42 Ven joined #perl6
11:43 psch moritz: "Gammel-Carl" hadn't occured to me, probably because it doesn't quite work in hochdeutsch, as you said
11:43 masak as a linguistic bonus, that's also completely OK Swedish. means "Carl the old man", or thereabouts.
11:44 * masak .oO( 老卡尔 )
11:44 moritz or just "old Carl", if my Norwegian transfers correctly
11:44 masak moritz: yeah. I was trying to approximate the verkleinerung by going from "gamle Carl" to "gammel-Carl"
11:45 masak "old man Carl" probably captures that.
11:46 Ven \o #perl6
11:46 yoleaux 13 Jun 2015 13:36Z <FROGGS> Ven: you did not 'make install', right?
11:47 psch o/ Ven
11:51 yqt joined #perl6
12:01 masak o/ Ven
12:01 masak in other good news, I have two talks accepted for SPW and one for YAPC::EU! \o/
12:01 tadzik oh, right, talk submissions
12:01 masak tadzik: hurry hurry
12:02 tadzik http://www.unige.ch/spw2015/
12:02 tadzik that's not what I was looking for...
12:02 masak tadzik: http://act.perl-workshop.ch/spw2015/
12:02 tadzik yeah, found it :)
12:03 tadzik when does YAPC::EU cfp end, do you know?
12:04 masak never found any data on that.
12:04 * Ven submitted his talk
12:04 masak but they've accepted ~60 talks already, so you might want to submit soon.
12:04 tadzik yeah
12:19 silug joined #perl6
12:28 Akagi201 joined #perl6
12:29 Akagi201_ joined #perl6
12:31 dalek rakudo-star-daily: 6541f07 | coke++ | log/ (2 files):
12:31 dalek rakudo-star-daily: today (automated commit)
12:31 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/6541f07f15
12:31 dalek rakudo-star-daily: cba08e5 | coke++ | log/ (2 files):
12:31 dalek rakudo-star-daily: today (automated commit)
12:31 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/cba08e532e
12:31 dalek rakudo-star-daily: eaad42e | coke++ | log/ (2 files):
12:31 dalek rakudo-star-daily: today (automated commit)
12:31 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/eaad42e8d3
12:31 dalek rakudo-star-daily: d84fbde | coke++ | log/ (2 files):
12:31 dalek rakudo-star-daily: today (automated commit)
12:31 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/d84fbdea51
12:31 dalek perl6-roast-data: c4b985b | coke++ | / (9 files):
12:31 dalek perl6-roast-data: today (automated commit)
12:31 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/c4b985bf4a
12:31 dalek perl6-roast-data: 811f662 | coke++ | / (9 files):
12:31 dalek perl6-roast-data: today (automated commit)
12:31 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/811f6626eb
12:31 dalek perl6-roast-data: c7e5d54 | coke++ | / (8 files):
12:31 dalek perl6-roast-data: today (automated commit)
12:31 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/c7e5d54424
12:31 dalek perl6-roast-data: 358ff65 | coke++ | / (9 files):
12:31 dalek perl6-roast-data: today (automated commit)
12:31 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/358ff65866
12:36 tinyblak_ joined #perl6
12:38 asdasdasd joined #perl6
12:41 psch yay progress
12:41 aliveli joined #perl6
12:42 psch i now get complaints when i try to run a precompiled .class that hasn't been recompiled after i recompiled rakudo
12:42 psch unfortunately it still doesn't do anything when it is compiled with the right version :/
12:43 FROGGS :/
12:48 psch i suspect that's because i'm trying to pretend i'm doing what i think i should be doing... :P
12:48 psch https://gist.github.com/pe​schwa/86e3c6baeed898e1214d
12:48 psch basically just running the interpreter through it's main first, and afterwards invoke the app argless
12:49 psch but i guess the mainThread is "over", so that's why it doesn't do anything anymore
12:50 psch which could mean i either have to pull the normal start-up apart somewhat to find where i can inject my CU
12:50 psch or hack around in CU itself to patch mine into the perl6.jar one
12:50 psch not sure which of those is more feasible or correct...
12:51 psch in any case, what i'm doing seems somewhat backwards :s
12:52 FROGGS hmmm
12:54 FROGGS is Ops.invokeArgless(gc.mainThread, entryRef) somewhat equivalent/related to running main.nqp?
12:54 psch Ops.invokeMain() is running main.nqp, afaiu
12:54 psch invokeArgless runs with an emptyCallSite and new Object[0] as argv
12:55 psch iirc invokeMain() instead of argless complains about trying to box the args when i don't supply any
12:56 FROGGS I'd almost think you have to implement main.nqp in Java, in order to run CUs at the right time
12:56 psch yeah i had tried that
12:56 FROGGS but also considering command line args and running end phasers
12:56 psch but then i have to implement HLL::Compiler too
12:56 psch 'cause that does stuff like setting up %*COMPILING and all
12:56 psch and then i *also* need to run Metamodel/BOOTSTRAP.nqp from java somehow
12:56 psch and CORE.setting
12:57 psch that's what i'm (somewhat) doing by running main.nqp via invokeMain on the perl6.jar CU
12:57 psch it's mostly not clear to me if the GC and TC remain in a usable state after that's run
12:57 psch or if that's why i don't get anything
13:02 masak has anyone ever publicly made the coherent criticism of C macros that because you can change anything into anything, you can make your C look like anything, and that's far too much freedom with far too few deterrents?
13:02 masak aka "it's too easy to make a right mess"
13:03 Ven masak: tons of people, I think
13:03 * moritz is pretty sure he read such a piece, once or twice
13:06 masak or maybe the slogan should be "too much power, too little responsibility" :P
13:06 masak anyway, I'm currently thinking about how to avoid that in Perl 6.
13:06 masak besides cultural self-checking, that is.
13:07 moritz well, macros are lexicals, I hope
13:07 moritz so that already limits the damage you can make
13:07 masak modulo the fact that people will want to export them, yes.
13:08 masak and I'm not sure how many macros will actually want to be just a lexical symbol -- as opposed to a parsing rule or a parsing hook or something.
13:08 masak they can still be lexically scoped, of course
13:10 * Ven really likes explicit imports anyway
13:11 Ven making macros semantic instead of textual already makes it much better
13:11 masak I think we'll want/need something like that
13:12 moritz .oO( Semantic MacroWiki )
13:12 [Coke] (0 vs. 1 indexing) I use a language that is 1-based that is implemented on a language that is 0-based. hilarity.
13:15 moritz I feel like an absolute linux noob again... how do I create a relative symlink in a subdir?
13:15 moritz I want 'ln -s foo/bar.txt foo/bar'
13:16 moritz but that creates a foo/bar that links to foo/foo/bar.txt
13:16 itz joined #perl6
13:16 geekosaur leave off the foo in the first path
13:16 FROGGS would also be my guess
13:16 geekosaur since you want that to be relative to the second path
13:18 moritz thanks
13:19 masak [Coke]: there was a discussion about 0 vs. 1 indexing?
13:19 moritz so much for the "cp" analogy :/
13:19 masak was Dijkstra's essay mentioned?
13:19 masak also, was S09's nice solution mentioned?
13:20 masak something like @a{1} === @a[0]
13:25 masak here's the Dijkstra essay. required reading. http://www.cs.utexas.edu/users/EWD/​transcriptions/EWD08xx/EWD831.html
13:27 itz "rakudobrew triple" sounds like a FOSDEM beer
13:31 tadzik haha
13:35 [Sno] joined #perl6
13:37 wingfold joined #perl6
13:38 gtodd1 hmm this cargo cult coded this benchmark from perlmonks -->  perl6 -e 'for lines(:eager) {  say ~$/ if  m/(<<\w**5>>)/}' some_file-5_klines.txt  ;  perl6 -e 'for lines(:eager) {  say ~$/ if  m/(<<\w**5>>)/}' some_file-10_klines.txt  ; ... etc:up to 150K lines and beyond is pretty slow.
13:38 gtodd1 But compared to a few months ago it is now getting *less* slow the bigger the input file is...
13:40 [Coke] masak: I'm catching up from last thursday - yes, a few days ago
13:40 * [Coke] is now caught up.
13:40 [Coke] good day, everyone.
13:41 FROGGS gtodd1: I remember that thread
13:42 gtodd1 FROGGS: I use it as a "naive benchmark" :-)
13:44 nwc10 good UGT, [Coke]
13:49 masak m: for 1, 2, 3 Z "a", "b", "c" -> $n, $l { say "$n;$l" }
13:49 camelia rakudo-moar 28a769: OUTPUT«1 a;2 b␤Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at /tmp/wtL53Fo0TG:1␤␤»
13:49 masak I'm used to writing it this way, but something seems to have shifted recently in Rakudo.
13:49 masak (and broke 007)
13:49 masak how should I write the above to step through one letter and one number at a time?
13:50 tinyblak joined #perl6
13:51 masak adding (...).flat seems to work. doesn't feel very idiomatic.
13:51 yqt joined #perl6
13:51 psch m: for 1, 2, 3 Z "a", "b", "c" -> $ [$l, $n] { say "$l;$n" }
13:51 camelia rakudo-moar 28a769: OUTPUT«1;a␤2;b␤3;c␤»
13:51 masak m: for 1, 2, 3 Z "a", "b", "c" -> ($l, $n) { say "$l;$n" }
13:51 camelia rakudo-moar 28a769: OUTPUT«1;a␤2;b␤3;c␤»
13:52 masak that's better.
13:52 psch mhm
13:52 masak and even makes some kind of sense.
13:52 psch unnecessary unpacking in mine i think
13:52 psch i'm still a bit fuzzy how that exactly works
13:52 masak no, both do unpacking.
13:53 PerlJam Seems like it's zip that's changed though.
13:53 moritz no, for
13:53 moritz for doesn't flatten its iteration list anymore
13:54 PerlJam Then maybe zip *should* change :)
13:55 moritz I like it that way
13:55 moritz though I'd like see a flattening meta operator
13:55 moritz for 1, 2, 3 FZ 'a', 'b', 'c' -> $l, $n { }
13:58 PerlJam for 1,2,3 I 'a', 'b', 'c' -> $l, $n { }  # alternate reality: "I" for "interleave"
13:59 PerlJam Though, F would come in handy in combination with X too
14:00 gtodd1 and FX is short for "special effects" :-)
14:02 masak now that I know that `($l, $n)` works, I will be gently pushing myself and others in the direction of thinking in that way.
14:02 masak seems cleaner, overall.
14:02 masak I don't see why we should struggle to invent flat versions of the operators, just so that we can consume the things flat.
14:03 masak `($l, $n)` can potentially give better/earlier error messages as well.
14:03 masak instead of failing near the end of the iteration like `$l, $n` sometimes do.
14:03 PerlJam earlier how?
14:04 brrt joined #perl6
14:04 PerlJam oh, I see. With a large list length disparity
14:05 PerlJam I'm just used to thinking of zip like my hypothetical interleave without any operator to be meta upon
14:05 masak `($l, $n)` is a little visual pill, the "unit" that you're iterating over.
14:06 tinyblak joined #perl6
14:06 masak we already have the syntax for it. it both looks nicer and feels cleaner than insisting on making the flattening explicit.
14:08 PerlJam aye.
14:09 Ven joined #perl6
14:12 skids joined #perl6
14:12 * masak .oO( also, it brings us a little step closer to Python's tuples, whee! )
14:16 tadzik hm, have we any reason to not build Tuple as a module?
14:17 masak would it do something that Parcel doesn't already do?
14:17 tadzik does Parcel do type checking?
14:18 Alina-malina joined #perl6
14:18 tadzik from what I understand tuples are like lightweights structs
14:20 masak not in Python, which is more dynamic/loosely typed than that.
14:20 masak more like, in a list (array) the data is homogenous, and position doesn't mean much.
14:20 masak in a tuple the data is heterogenous, and position is significant.
14:22 masak so (2015, 6, 15) is three ints, but they convey different data because of their position in the tuple
14:22 moritz .oO( car, cdr )
14:22 zoosha joined #perl6
14:26 masak moritz: nowadays when I see car and cdr, my brain goes "oh, the Lisp people accidentally invented categorical products"
14:26 tadzik hmm, I thought Python complains when you try to assign (int, str) to a (str, int) thing
14:36 brrt python does no such thing
14:36 brrt python complains when you try to assign to an item in a tuple, period
14:37 skids .
14:37 yoleaux 04:10Z <TimToady> skids: your GLR in a nutshell is assuming that list assignment still flattens, which may not be what we end up with for a default
14:37 skids updated, TimToady++
14:37 tadzik I see
14:40 gerry__ joined #perl6
14:46 * TimToady pretends to be awake
14:51 wingfold joined #perl6
14:52 grondilu joined #perl6
14:54 gagalicious does anyone know how to build a multi faceted search engine from scratch?
14:54 Gardner joined #perl6
14:55 flussence first, create a universe
14:58 moritz gagalicious: what do you mean by "multi faceted"? That you can search for different document properties?
14:58 gagalicious yeah
14:59 moritz gagalicious: and does "from scratch" mean "without using existing search libraries"?
14:59 gagalicious moritz : yes. long time no see. i've known ur nick since 10 years ago. u are very active. u still the same person?
14:59 moritz or database systems, for that matter
14:59 gagalicious basically like sphinx search or lucene or elasticsearch
15:00 cdc joined #perl6
15:00 moritz gagalicious: I like Lucy for such tasks (C library with nice perl bindings, much ligther than lucene)
15:00 gagalicious ok will check it out but i'm asking about.. actually how does the data structure/indexing work for faceted search to happen?
15:00 moritz gagalicious: I've been on IRC, and possibly perlmonks, 10 years ago. But I'm not the same person by most metrics I can think of :-)
15:00 gagalicious same nick i guess?
15:01 moritz gagalicious: mostly just indexes for each facete, and then doing in-memory joins
15:01 moritz yes, same nick
15:01 gagalicious oh well. moritz is always helpful. that's for sure.
15:01 moritz the Lucy devs also have nice book/paper reading clubs about search engine theory
15:02 gagalicious i was wondering how they do it for large datasets... like ... 30 billion or 500 billion records of sorts
15:02 moritz by using many, many machines
15:02 moritz and clustering them
15:02 moritz and that's decidedly non-trivial
15:03 gagalicious can u point me to lucy? and how can i make it for it to respond within 0.1 second? for 500 billion records using ordinary normal computers not more than $1k each? and... around maybe 5,000 computers... is it possible?
15:04 gagalicious i cant seem to find lucy though... u mean lucene?
15:04 hoelzro https://lucy.apache.org/
15:04 hoelzro Lucy I hadn't heard of; I usually use Xapian
15:04 hoelzro but I might change that now, because Xapian is non-trivial to bind to Perl 6
15:05 gagalicious funny when i typed lucy, i only get that movie scarlett johanssen.
15:05 gagalicious xapian is bad for clustering
15:05 hoelzro it's basically the SQLite of search dbs
15:05 hoelzro which is often what I need
15:07 gagalicious i dont like lucene.. i rather go with sphinx... just that i dont like sphinx's indexing structure... it's not memory efficient
15:07 gagalicious i'm looking for something... i think i'm building one ... i've written all the search engine parts except the faceting part... which is kinda... problematic
15:07 gtodd1 what's elasticsearch made out of?
15:08 hoelzro lucene
15:10 moritz yes, https://lucy.apache.org/ is what I meant
15:10 gagalicious elasticsearch is good... problem is it's java and it's decentralized cluster node structures... have some problems if u dont have a lot of redundants... which... seem to me kind of difficult to maintain if u grow beyond 8 nodes.
15:11 moritz lucy also takes the library/embedded approach from sqlite, but not quite as zero-maintenance
15:11 gagalicious if only i can crack the faceting part... my seach will be complete.
15:16 pullphinger joined #perl6
15:16 jb789 joined #perl6
15:20 bartolin hoelzro: I say your bug report #RT 125407. looks like your reported the same problem a while ago: RT #120704
15:20 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=120704
15:20 bartolin hoelzro: do you agree those could be merged?
15:21 hoelzro bartolin: wow, yeah
15:22 hoelzro I had a TODO to report that bug, I must have forgotten that I already had!
15:22 hoelzro 125407 is more fleshed out, I think
15:22 hoelzro but if we just attach the script to 120704, it'll do
15:23 bartolin hoelzro: great. btw I found a similiar behaviour (left instead of right associativity) in RT #80614
15:23 synbot6 Link:  https://rt.perl.org/rt3/Publ​ic/Bug/Display.html?id=80614
15:24 hoelzro that looks similar
15:24 hoelzro I spent so much time digging into that yesterday
15:24 hoelzro and I've made no progress =(
15:24 bartolin I tried to debug it, but it proved to be above my Perl 6-Fu :-)
15:25 hoelzro EXPR is one area of Rakudo that I'm not familiar with =/
15:25 psch EXPR is scary
15:25 hoelzro I did, however, discover that the assignment token is matching twice at the same position when the incorrect code is generated
15:25 kurahaupo joined #perl6
15:26 psch that sounds wrong
15:26 hoelzro my thoughts exactly
15:26 hoelzro the stack traces are different, too
15:29 bartolin I didn't even come that far, I think (assignment token matching twice). hoelzro++
15:29 Ven joined #perl6
15:30 yqt joined #perl6
15:30 psch m: my @a; @a = (); my $y = (@a[0] = 2); say @a[0]
15:30 camelia rakudo-moar 28a769: OUTPUT«2␤»
15:30 psch m: my @a; @a = (); (my $y = @a[0]) = 2; say @a[0]
15:30 camelia rakudo-moar 28a769: OUTPUT«(Any)␤»
15:30 psch vOv
15:31 psch really though, the fact that assigning the empty list in the declaration or seperately changes it...
15:33 psch eh, i suppose my last example makes sense
15:34 bitman joined #perl6
15:41 lizmat joined #perl6
15:41 FROGGS joined #perl6
15:43 kst joined #perl6
15:53 PerlJam m: my @a; @a = (); (my $y := @a[0]) = 2; say @a[0]
15:53 camelia rakudo-moar 28a769: OUTPUT«2␤»
15:53 PerlJam (if you really want that behavior :)
15:54 gfldex joined #perl6
15:56 bjz joined #perl6
15:58 captain-adequate joined #perl6
16:05 lizmat m: my @a; my $y := @a[0]; say @a.elems; $y = 42; say @a.elems  # autoviv at work
16:05 camelia rakudo-moar 28a769: OUTPUT«0␤1␤»
16:08 gcole joined #perl6
16:11 RabidGravy joined #perl6
16:12 jasonmay joined #perl6
16:13 RabidGravy Harr!
16:14 espadrine joined #perl6
16:14 espadrine_ joined #perl6
16:17 TimToady .oO(is that a pirate with bad breath?)
16:17 RabidGravy :-\
16:17 RabidGravy don't live near the sea anymore, had to give up the piracy
16:18 TimToady Ha! I mean...Ah!
16:19 uncleyear joined #perl6
16:20 wingfold joined #perl6
16:20 TimToady it's just an interesting linguistic observation that 'h' is how we convey someone breathing in your face, at least in dramatical settings...
16:20 TimToady I don't recall anyone ever pointing out that trope
16:21 TimToady perhaps it's because, as a quiet, high-frequency sound, we can only hear it when someone is close
16:22 dalek roast: d47ede5 | usev6++ | S03-junctions/misc.t:
16:22 dalek roast: Refer to existing ticket
16:22 dalek roast: review: https://github.com/perl6/roast/commit/d47ede5b8b
16:22 RabidGravy Y'See I think of Arr! being more farmerish
16:22 RabidGravy Rarr! is dinosaur
16:22 TimToady I'll feed ya to the kelp farm!
16:38 itz is anyone interested in reviewing https://github.com/rakudo/rakudo/pull/440 ? particularly my attempt at a proper perl6 regexp rather than cheating with :P5 :)
16:39 itz it's intended to allow removal of the p6doc use of fmt(1)
16:42 TimToady in general we're not limited by interest, but by bandwidth... :)
16:43 * TimToady is still feebly backlogging (and reading masak++'s interview, for instance
16:43 TimToady s/,/),/
16:55 vendethiel TimToady: masak's interview? :o
16:56 jnthn vendethiel: In le backlog somewhere
16:56 jnthn moritz: Fixed the typo, danke :)
16:57 moritz itz_: <[^\s]> looks suspicious
16:57 moritz why handle the ^ character specially?
16:57 spider-mario joined #perl6
16:58 moritz itz_: :wrap($wrap)=75 can be simplified to :$wrap = 75
16:59 moritz itz_: also I don't like the introduction of a new, undocumented environment variable; why not just wrap always?
17:03 dalek perl6-roast-data: d198684 | coke++ | / (9 files):
17:03 dalek perl6-roast-data: today (automated commit)
17:03 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/d19868417f
17:07 jnthn dinner &
17:08 [Coke] https://www.kickstarter.com/projects/keyboardio/t​he-model-01-an-heirloom-grade-keyboard-for-seriou - camelia-board.
17:11 _mg_ joined #perl6
17:14 virtualsue joined #perl6
17:16 TimToady .tell masak one inaccuracy in the interview, somehow it seems to claim that import is not lexical in Perl 6, when it is.  (Or at least primarily lexical, with a few symbols also copied to packages because they're type-like and usually want public names.)
17:16 yoleaux TimToady: I'll pass your message to masak.
17:17 TimToady perhaps an editor inserted the (5 and 6) there?
17:18 TimToady certainly P5 does package-based imports, which is why P6 doesn't
17:21 wingfold joined #perl6
17:21 virtualsue joined #perl6
17:21 dalek nqp: 5865829 | TimToady++ | src/QRegex/Cursor.nqp:
17:21 dalek nqp: allow use of cstack for pos-only advancement
17:21 dalek nqp:
17:21 dalek nqp: fixes RT #125345
17:21 dalek nqp: The cstack is used not only for named captures, but occasionally the top
17:21 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125345
17:21 dalek nqp: element is needed for its position, even if the capture is anonymous.  For
17:21 dalek nqp: now, anyway, when that situation arises, just make sure there is at least
17:21 dalek nqp: one anonymous capture on the stack to carry the position.  (But two or more
17:21 dalek nqp: anonymous captures can be coalesced, reducing load on method MATCH.)
17:21 dalek nqp: review: https://github.com/perl6/nqp/commit/586582983a
17:21 dalek nqp: efc023b | TimToady++ | src/QRegex/Cursor.nqp:
17:21 dalek nqp: delete debugging statements
17:21 dalek nqp: review: https://github.com/perl6/nqp/commit/efc023b02b
17:22 dalek nqp: efbfabd | TimToady++ | src/QRegex/Cursor.nqp:
17:22 dalek nqp: just replace the whole top cursor
17:22 dalek nqp:
17:22 dalek nqp: jvm can't handle the other approach, which is probably not all
17:22 dalek nqp: that much better anyway.
17:22 dalek nqp: review: https://github.com/perl6/nqp/commit/efbfabd26f
17:26 itz joined #perl6
17:27 itz_ moritz: thanks for the comments .. I'll tweak shortly .. the main reason for the new env var was because the ANSI colour was already handled in a similar way
17:28 moritz itz_: there are (pseudo)terminals that don'T handle ANSI colours
17:30 itz_ true but rakudo error messages use ANSI colour
17:45 tinyblak joined #perl6
17:51 lichtkind joined #perl6
17:52 dalek Inline-Perl5: 41bda40 | (Stefan Seifert)++ | / (3 files):
17:52 dalek Inline-Perl5: Support :ver<1.23> when use'ing Perl 5 modules
17:52 dalek Inline-Perl5:
17:52 dalek Inline-Perl5: use Foo:from<Perl5>:ver<2.1>;
17:52 dalek Inline-Perl5:
17:52 dalek Inline-Perl5: Fix GH #15
17:52 dalek Inline-Perl5: "Allow specifying minimum version for Perl 5 modules"
17:52 dalek Inline-Perl5:
17:52 dalek Inline-Perl5: Thanks to hinrik++ for the suggestion!
17:52 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/41bda401eb
17:52 itz_ I suppose error messages are more likely to be interactive and p6doc processing batch driven
17:52 japhb TimToady: I read the interview comment re: lexical module use as being *purely* versus *primarily* lexical -- i.e. that having no non-lexical effects at all means it is much easier to avoid collisions in one of those side effects.
18:05 pmichaud good afternoon, #perl6
18:05 yoleaux 13 Jun 2015 11:06Z <smls> pmichaud: In your new GLR design, will if/when/unless blocks return Nil or () or Slip on a false condition, and will this idiom continue to work:   say "foo{'bar' if $verbose}baz"
18:09 Al-Caveman joined #perl6
18:11 [Sno] joined #perl6
18:12 diana_olhovik joined #perl6
18:14 dalek specs: 7506482 | pmichaud++ | S07-glr-draft.pod:
18:14 dalek specs: Missing example provided by mj41++ .
18:14 dalek specs:
18:14 dalek specs: From http://irclog.perlgeek.de/p​erl6/2015-06-13#i_10746280 .
18:14 dalek specs: review: https://github.com/perl6/specs/commit/750648257c
18:17 [Coke] so, why :[] instead of |[] or $[] or flat[]
18:17 skids (And does it conflict with :{} as Hash[Any] contructor?)
18:18 pmichaud .tell smls  In post-glr, I'm expecting that if/unless blocks will return Slip on a false condition, so that list comprehensions work.   E.g., @evens = ($_ * 2 if .odd for 0..100);
18:18 yoleaux pmichaud: I'll pass your message to smls.
18:18 pmichaud TimToady suggested :[]
18:18 pmichaud |[] already means something else.
18:19 pmichaud $[] itemizes the resulting array, not the values inside the array.
18:22 wingfold joined #perl6
18:23 Al-Caveman hi - i'm reading on perl6. i have a question on junctions: my $x = 0 | 1; my $y = 0 & 1; if ($x == 0); if ($y == 0); # which of the if statements is true?
18:23 PerlJam Al-Caveman: yes
18:23 PerlJam Al-Caveman: or perhaps ...  Mu
18:24 Al-Caveman i am lost. what does it mean?
18:24 nine m: my $x = 0 | 1; my $y = 0 & 1; if ($x == 0) { say "x" }; if ($y == 0) { say "y" }
18:24 camelia rakudo-moar 28a769: OUTPUT«x␤»
18:25 Al-Caveman print is replaced by 'say'?"
18:25 skids No print is still there.
18:25 PerlJam Al-Caveman: say adds a newline
18:25 psch and stringifies differently
18:25 PerlJam Al-Caveman: the best way to learn is to start playing with rakudo
18:26 Al-Caveman i just want to get junctions.
18:26 pmichaud Al-Caveman: the first if statement is like writing   if ( 0 | 1 == 0)
18:26 pmichaud asking if either 0 or 1 is equal to zero, which is true
18:26 pmichaud another way of writing it would be     if  any(0,1) == 0 { ... }
18:27 skids Al-Caveman: you can /msg the bot camelia for a live interpreter and do lines like the above with m: <code>
18:27 pmichaud the second if statement is like writing     if all(0,1) == 0 { ... }
18:27 PerlJam pmichaud++ ready to teach
18:27 Al-Caveman ok, skids
18:27 psch fwiw, my model is "junctions stuff the alternation of multiple conditionals into one side of one conditional"
18:28 psch e.g. «any(0,1) == 0» <=> «0 == 0 || 1 == 0»
18:28 psch (plus autothreading)
18:28 masak m: for flat 1, 2 Z <a b> { .say }
18:28 yoleaux 17:16Z <TimToady> masak: one inaccuracy in the interview, somehow it seems to claim that import is not lexical in Perl 6, when it is.  (Or at least primarily lexical, with a few symbols also copied to packages because they're type-like and usually want public names.)
18:28 camelia rakudo-moar 28a769: OUTPUT«1␤a␤2␤b␤»
18:28 pmichaud psch: that work for limited cases... but you can also do things like     if any(@b) > all(@c)
18:28 psch pmichaud: oh, i recognize it's an approximation, i'm not really regularly using Junctions
18:29 masak TimToady: it's the "type-like" caveat that JavaScript/Node doesn't have at all.
18:29 pmichaud ...interview?
18:29 psch pmichaud: thanks for the clarification, though
18:31 Al-Caveman pmichaud: what does it mean to say "if all(0,1) == 0?
18:31 pmichaud Al-Caveman: it's asking if all of the values in the parens are equal to zero.
18:31 pmichaud In this case, at least one value is not equal, so the resulting condition is fall.
18:31 pmichaud *false
18:31 skids Al-Caveman: Well, it means all(True,False) which collapses to False.
18:31 pmichaud m:  if all(1,2,3,4) > 0 { say "all values are greater than zero" }
18:31 camelia rakudo-moar 28a769: OUTPUT«all values are greater than zero␤»
18:32 Al-Caveman this example from wiki confuses me:  my $all_odd_digits = 1 & 3 & 5 & 7 & 9; # all(1, 3, 5, 7, 9)
18:32 Al-Caveman how can one use this?
18:32 pmichaud m: if all(1,2,3,4) > 1 { say "all values are greater than one" } else { say "not all values are greater than one" }
18:32 camelia rakudo-moar 28a769: OUTPUT«not all values are greater than one␤»
18:33 japhb joined #perl6
18:33 pmichaud Al-Caveman: I don't know how that particular example would be useful.  Not sure which wiki you're referring to.
18:33 Al-Caveman https://en.wikipedia.org/wiki/Perl_6#Junctions
18:34 Al-Caveman but i see it now.. interesting. so if i don't have junctions, i end up creating a loop
18:34 pmichaud I don't think that's a helpful example.
18:34 masak pmichaud: http://perlhist.com/perl6/carl-masak
18:34 Al-Caveman my $any_even_digit = 0 | 2 | 4 | 6 | 8; # any(0, 2, 4, 6, 8)
18:34 Al-Caveman this is helpful, right?
18:34 masak ash++ # interview
18:35 Al-Caveman i don't know. i'd rather test the last bit for evenness
18:35 psch Al-Caveman: that's different though
18:35 psch m: for 1234, 1357, 6420 { if all($_.comb) == any(1,3,5,7,9) { say "$_ is oddly odd" } }
18:35 camelia rakudo-moar 28a769: OUTPUT«1357 is oddly odd␤»
18:35 Al-Caveman hmm autothreading is juicy :) is it really fast?
18:36 psch (or, maybe the possible use cases are different... vOv)
18:36 pmichaud any makes more sense in this example, yes.
18:37 pmichaud my $even_digit = any(0,2,4,6,8);   my $in = prompt "Enter a digit";  if $in == $even_digit { say "You entered an even digit. " }
18:38 japhb Al-Caveman: At the moment, autothreading is not superfast.  *However* there is an optimization in Rakudo to convert some common Junction idioms to faster code internally.
18:39 Al-Caveman syntax wise, is $any_even_digit = all(@array); where @array = (0,2,4,6,8)?
18:40 Al-Caveman is "all" a keyword in perl6? (last silly question of the day; promise)
18:40 ugexe $any_even_digit == any(@array) if you mean a comparison and not an asignment
18:40 skids m: say 2 == (0,2,4,6,8); say so 2 == (0,2,4,6,8);
18:40 camelia rakudo-moar 28a769: OUTPUT«False␤False␤»
18:41 skids m: say 2 == all(0,2,4,6,8); say so 2 == all(0,2,4,6,8);
18:41 camelia rakudo-moar 28a769: OUTPUT«all(False, True, False, False, False)␤False␤»
18:42 skids m: &all.WHAT.say # It is a predined subroutine
18:42 camelia rakudo-moar 28a769: OUTPUT«(Sub)␤»
18:43 skids *predefined
18:43 bin_005 joined #perl6
18:43 Al-Caveman i really like the idea of autothreading
18:44 skids I find it handy for a few short things to avoid big boolean expressions, but haven't found much else to do with it yet.
18:44 skids Every time I think there's a good use case there is a different feature that does it better.
18:46 PerlJam skids: so ... junctions are a solution looking for a problem?  :)
18:46 Al-Caveman haha
18:46 skids Actually they are many solutions looking for a problem :-)
18:46 colomon tadzik: ping?
18:47 PerlJam I don't really use junctions either, but I get the distinct feeling that they are part of that "looking around corners" that Tim O'Reilly talked about once.
18:48 skids Yeah I have this smeking suspicion they will map closely to first-gen quantum computing.
18:48 skids *sneaking
18:49 Al-Caveman junctions solve the maximization problem by which its proposer can look smarter by making the audience think they are stupid
18:52 Al-Caveman sorry that's not true. i am wrong.
18:54 Al-Caveman i like the wild thoughts behind perl. certainly an eye opener
18:54 [Coke] I think every time I thought "oooh junctions", perl 6 really wanted me to be using a set.
18:55 [Coke] I suspect it'll be nicer when autothreading is really threading and you have larger junctions.
18:55 Al-Caveman s/perl/perl6/
18:55 skids m: say so all(1, 3, 5, 7, 9) == any(1,3,5,7,2) # do the digits contain all the odd digits.  use case FTW! :-)
18:55 camelia rakudo-moar 28a769: OUTPUT«False␤»
18:55 PerlJam Al-Caveman: I think you were right to leave it as "perl" :)
18:55 Al-Caveman is that a hint that perl5 suffices? :p
18:56 PerlJam Al-Caveman: perl5 has sufficient wild thoughts for some people.
19:03 rindolf joined #perl6
19:03 skids m: say any("Password0".comb) ~~ all($("a".."z"),$("A".."Z"),$("0".."9"))
19:03 camelia rakudo-moar 28a769: OUTPUT«True␤»
19:05 Al-Caveman i like chained comparisions, is this in other languages?
19:05 hoelzro Al-Caveman: Python
19:05 Al-Caveman neat.. the language of math
19:05 skids Those are so "wish we had those last year" :-)
19:05 Al-Caveman who proposed chained comparisions first?
19:07 PerlJam python has had them for a long time.
19:07 geekosaur icon had them Back In The Day
19:08 itz joined #perl6
19:09 Al-Caveman would be interesting if lazy evaluation (e.g. @ints = 0 .. Inf) could calculusize everything it touches
19:09 Al-Caveman but i guess computationally not wise?
19:11 Al-Caveman so i skimmed throughout major changes from Perl 5 as listed in the wiki, and i am not extremely impressed. i just like autothreading which seems too hard to implement
19:12 Al-Caveman maybe Perl5's  Parallel::Loops is fine\
19:19 dalek doc: cc2c50e | PerlJam++ | lib/Language/5to6.pod:
19:19 dalek doc: typo fixes and add slice example
19:19 dalek doc: review: https://github.com/perl6/doc/commit/cc2c50ea8f
19:20 wingfold joined #perl6
19:21 domidumont joined #perl6
19:22 nine Al-Caveman: from my experience, there's no single difference that really stands out. It's all those small improvements and new features together that make Perl 6 really awesome to use. If I had to name one big feature, I'd name consistency, which is really not visible in a 5to6 document.
19:25 PerlJam signatures + grammars + built-in object model + laziness + consistency + lots of other built-in stuff
19:26 PerlJam Those are things that immediate stand out to me in comparison with P5.
19:26 PerlJam *ly
19:30 tadzik colomon: pong
19:32 wingfold joined #perl6
19:32 nys joined #perl6
19:39 colomon tadzik: Is there any principled reason that we couldn’t make a one of the META.info flags “Do Not Compile” and then install only the source version of the module?  I mean, obviously it’s less than ideal, but it’s been like 6 months since ABC compiling was broken, and I’d just like it to work…
19:40 telex joined #perl6
19:45 masak colomon: is there a last known Rakudo release on which it works?
19:46 captain-adequate joined #perl6
19:47 masak nine, PerlJam: one thing that doesn't get pointed out often enough is that Perl 6 is a little bit of a love letter to Perl. it's like, take Perl, find out what really works, ditch a few known wrinkles, and put it all together into a homogenous, well-thought-out, pleasant language.
19:48 jnthn Hm, http://blogs.perl.org/users/buddy_burde​n/2015/06/breaking-the-fourth-yapc.html worries over the state of using Perl 5 modules from Perl 6, but with nine++'s work I thought we were doing decently on that by now :)
19:49 [Coke] jnthn: I'll login and leave a comment about Inline::Perl5
19:49 jnthn [Coke]++
19:51 unel joined #perl6
19:51 masak "Macros seem like they’re not going to make it into the initial version of Perl 6." -- aww. someone should give that masak a kick in the right direction... :P
19:54 jnthn I'd much rather have awesome macros in name-mange(6.1) than rushed-together macros in name-mangle(6.0) :)
19:55 [Coke] oh, right: unable to find Inline/p5helper.dylib IN @*INC
19:56 * [Coke] redoes this on hack instead of his local box. :P
19:56 masak not talking about rushing anything together. talking about converging sooner rather than later ;)
19:57 masak I'm not crazy enough to try to squeeze anything in before 6.0.0 -- but that doesn't mean we can't peek ahead quite a lot
19:57 jnthn *nod*
19:57 jnthn And +1.
19:58 adu joined #perl6
19:58 * japhb is sad to see that we won't have macros in [whatever we're calling the Christmas release today], but totally agrees with the decision
19:59 masak all of you who want to see macros sooner -- help by joining in the ongoing discussion in some non-trivial way!
20:00 japhb masak: I did.  But I haven't had more brilliant ideas since then.  :-(
20:00 * vendethiel throws papers at masak
20:00 japhb (as if the previous idea was brilliant ...)
20:00 masak vendethiel: was gonna say "you're already done enough", but... I don't really mean that. :P keep 'em coming ;)
20:01 masak I don't feel enough has happened with macros for me to give a talk about them at YAPC::EU. maybe next year. maybe a lightning talk this year.
20:02 jnthn I suspect my biggest contribution will be figuring out how we refactor src/Perl6/Actions.nqp to work in terms of QTrees and move QAST generation into the QTree thing and refactor the optimizer as needed to survive all of this. :-)
20:02 masak that... would be much appreciated, yes.
20:03 jnthn Which of course will mean re-ordering build steps so we build the Perl 6 MOP before the actions...
20:03 masak I kind of have 30% of 50% of a Qtree spec already.
20:03 masak (but don't tell anyone) :P
20:03 japhb heh
20:03 jnthn Thing is, I don't have the time/headspace for that ahead of 6.0, I doubt, nor do we want the risk of such a sizable change at this point.
20:04 bin_005 joined #perl6
20:04 japhb jnthn: Is all the NFG-related stuff done, or is there more coming down the line?
20:05 * japhb opines that his biggest needs are post-GLR speed and milspec level MoarVM robustness.
20:05 japhb .oO( This Side Toward Enemy )
20:05 * PerlJam is seeing a slightly surprising interest in P6 on #yapc
20:05 jnthn japhb: There's some loose ends; you can probably if you try hard enough trip the NFA engine up over NFG semantics, and if you write a cunning enough program you can hit an NYI. :)
20:05 PerlJam (I'm surprised anyway)
20:06 japhb jnthn: Ah, understood.  :-)
20:06 jnthn japhb: But we're basically done; it's on by default, and I've only one RT left that I'd classify as NFG fallout that I need to attend to.
20:07 FROGGS NFG went fairly smooth (to my surprise)
20:07 jnthn (it's a funny one involving isolated combiners and .perl :-)
20:07 FROGGS jnthn++ for that
20:07 masak is there a way we can involve that buddy_burden person in the p6 macros discussion?
20:08 colomon masak: I figured out exactly what commit caused it to start failing.  Didn’t help matters.  :(
20:08 jnthn Well, I did add 70,000 or so tests to try and make sure of that :P
20:08 FROGGS jnthn: that's why you just got karma :o)
20:09 japhb .oO( 50,000 tests: 1 karma, 100,000 tests: 2 karma )
20:10 FROGGS colomon: do you still know what commit is to blame?
20:10 colomon FROGGS: I’m trying to find it in the ir clogs
20:11 colomon FROGGS: http://irclog.perlgeek.de/​perl6/2014-11-15#i_9667960
20:11 FROGGS ahh, that issue
20:12 jnthn Yeah, but the lines of code that patch added are removed again now.
20:13 zacts|skool joined #perl6
20:13 jnthn So there's obviously a bit more to it :-(
20:13 FROGGS that looks more like pre-GLR fallout to me: http://testers.perl6.org/reports/45601.html
20:14 dalek doc: 398a089 | (Steve Mynott)++ | lib/ (3 files):
20:14 dalek doc: fix minor typos
20:14 dalek doc: review: https://github.com/perl6/doc/commit/398a089a36
20:16 colomon hmmm…. actually maybe ABC compiles okay again, and now fails for other reasons.  will investigate
20:16 FROGGS colomon: looks like
20:19 FROGGS colomon: I believe this test is invalid:
20:19 FROGGS # at t/01-regexes.t line 186
20:19 FROGGS # expected: ''
20:19 FROGGS #      got: (Nil)
20:20 FROGGS you won't get back an empty string from the match object when this does not match: token octave { "'"+ | ","+ }
20:21 FROGGS and that Nil does not silently pass an is() test anymore is intentional
20:21 FROGGS start-m: use Test; is Nil, '', 'foo'
20:21 FROGGS star-m: use Test; is Nil, '', 'foo'
20:21 camelia star-m 2015.03: OUTPUT«not ok 1 - foo␤␤# Failed test 'foo'␤# at /tmp/As8dbm7XS4 line 1␤# expected: ''␤#      got: (Nil)␤»
20:22 FROGGS ohh no, is() had it wrong when Nil was on the RHS... nvm
20:22 dalek roast: ff2dc70 | usev6++ | S06-other/misc.t:
20:22 dalek roast: Add test for RT #125376
20:22 dalek roast: review: https://github.com/perl6/roast/commit/ff2dc709fd
20:22 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125376
20:23 masak 'night, #perl6
20:23 FROGGS gnight masak
20:23 jnthn o/ masak
20:23 hoelzro colomon, FROGGS: if that issue is indeed fixed, I RT'd it a while back: https://rt.perl.org/Ticket/Display.html?id=123272
20:32 Ven joined #perl6
20:32 espadrine_ joined #perl6
20:39 colomon joined #perl6
20:40 Khisanth joined #perl6
20:43 smls joined #perl6
20:52 daxim joined #perl6
20:59 atweiden joined #perl6
21:01 RabidGravy m: enum LL <A B C>; my %h = LL.enums.kv.map( -> $k, $v { lc( $k) => LL($v) }); say %h<b>;
21:01 camelia rakudo-moar 28a769: OUTPUT«B␤»
21:02 RabidGravy Is there a better way of doing that? seems a bit clumsy
21:03 Sqirrel joined #perl6
21:08 [Coke] what are you trying to accomplish?
21:08 [Coke] (RG)
21:10 RabidGravy be able too up an Enum by lower case name
21:10 RabidGravy to look
21:10 [Coke] I suppose "use lower case keys" is not an option. :)
21:11 RabidGravy not really
21:11 psch m: enum L ( a => 0, A => 0, b => 0, B => 0 ); say A.WHAT; say a.WHAT # ?
21:11 camelia rakudo-moar 28a769: OUTPUT«(L)␤(L)␤»
21:11 [Coke] m: enum LL <A B C>; say LL(uc "b");
21:11 camelia rakudo-moar 28a769: OUTPUT«(LL)␤»
21:11 psch err
21:11 psch well, b/B should probably be 1 :s
21:11 psch but the uc lookup is definitely more sensible :)
21:12 bin_005 joined #perl6
21:14 skids m: enum LL <A B C>; LL.enums.grep(*.key.lc eq "b").perl.say
21:14 camelia rakudo-moar 28a769: OUTPUT«(:B(1),)␤»
21:14 skids m: enum LL <A B C>; LL.keys.perl.say; # O.o
21:14 camelia rakudo-moar 28a769: OUTPUT«()␤»
21:18 RabidGravy skids, like the first :)
21:21 RabidGravy background is I have a largish enum but want to be able specify on the command line without having to remember the rather immemorable numbers
21:25 smls how do i 'use' a module from a specific .pm file path?
21:25 yoleaux 18:18Z <pmichaud> smls: In post-glr, I'm expecting that if/unless blocks will return Slip on a false condition, so that list comprehensions work.   E.g., @evens = ($_ * 2 if .odd for 0..100);
21:26 PerlJam smls: I'm not sure you can.  If you want a specific file, you "require" it
21:26 PerlJam smls: I guess you can add the path to the front of @*INC and then "use" it as normal though
21:26 smls I cloned GTK::Simple and made a change, and now i want to test it
21:27 smls but 'use GTK::Simple' uses the one installed by panda, not the one from the git clone
21:27 RabidGravy perl6 -Ilib ....
21:27 PerlJam smls: you can twiddle @*INC, or you can install the one in your git clone (with panda)
21:28 uncleyear joined #perl6
21:30 smls hm, I can't get it to load the correct one with @*INC fiffling
21:31 smls I tried:  @*INC.unshift: 'file#/home/smls/dev/src/gtk-simple/lib';
21:31 smls and also with push and without the 'file#'
21:31 PerlJam smls: in a BEGIN block so that it happens earlier enough ?
21:31 smls oooh, right
21:31 PerlJam er, early even
21:32 smls hm no, still no luck
21:32 RabidGravy or y'know "use lib 'foo'"
21:33 smls that works, thanks
21:34 smls wow, loading a non-precompiled version sure makes a difference in loading time...
21:37 dalek doc: 39e8a89 | PerlJam++ | lib/Language/5to6.pod:
21:37 dalek doc: Add examples for required spaces
21:37 dalek doc: review: https://github.com/perl6/doc/commit/39e8a8938d
21:42 Gardner joined #perl6
22:05 cognominal joined #perl6
22:08 AlexDani` joined #perl6
22:11 zostay m: my %x; %x<test> = %x; %x.perl.say;
22:11 camelia rakudo-moar 28a769: OUTPUT«(timeout)»
22:13 zostay is there any plan to make the built-in .perl handle recursive data structures?
22:14 Gardner joined #perl6
22:24 Khisanth joined #perl6
22:44 dha joined #perl6
22:44 raiph joined #perl6
22:45 dylanwh w
22:45 dylanwh woops
22:50 smls m: dd (1, 2.Int, my $x = 3, 4, 5)
22:50 camelia rakudo-moar 28a769: OUTPUT«(1, 2, $(3, 4, 5))␤»
22:50 smls ^^ Strange behavior when passing a function/method-call expression followed by an item assignment expression to a slurpy parameter
22:50 smls this is a bug, right?
22:51 smls I would expect it to print  (1, 2, 3, 4, 5)
22:51 dalek rakudo-star-daily: bb0a1bc | coke++ | log/ (2 files):
22:51 dalek rakudo-star-daily: today (automated commit)
22:51 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/bb0a1bc69b
22:56 timotimo um
22:56 timotimo the = has a looser precedence compared to ,
22:56 smls but only list-assignment =
22:57 smls shouldn't this be item-assignment =
22:57 timotimo do we have that?
22:57 smls m: dd (1, 2, my $x = 3, 4, 5)
22:57 camelia rakudo-moar 28a769: OUTPUT«(1, 2, 3, 4, 5)␤»
22:57 smls ^^ doesn't happen if the preceding element is a literal
22:58 timotimo oh? weird!
23:04 raiph Who sung this Perl 6 song? https://www.youtube.com/wa​tch?v=3xLMG9ELcPI#t=48m17s
23:04 Sqirrel joined #perl6
23:04 smls http://design.perl6.org/S03.​html#List_prefix_precedence  <-- doesn't go into details on how exactly "we have to figure out whether the left side is a list or a scalar destination"
23:05 timotimo this kind of rubs me the wrong way
23:06 tony-o HTTP::Server::Threaded is fairly stable on JVM
23:09 skids joined #perl6
23:14 tony-o on moar, it doesn't segfault anymore, and it continues to server requests now even if a previous request failed
23:16 timotimo very good
23:17 profan joined #perl6
23:19 tony-o redrose
23:20 timotimo and the async version is still very unstable on moar?
23:31 tony-o timotimo: i need to rewrite the async version, i have a feeling the cross thread .read on a socket might still be a problem
23:32 timotimo hm
23:33 timotimo but that sucks :)
23:33 tony-o i'm checking it out tho
23:33 timotimo what was the tool called that you recommended to me to torture the server?
23:33 tony-o i'm using 'ab', it's built as a part of httpd
23:33 tony-o if you have apache installed then you probably have ab, it's full name is apache bench
23:34 tony-o use it with -r flag to avoid it dying with high concurrency
23:34 timotimo oh, i actually do
23:34 tony-o be advised the ab OSX ships with is buggy
23:35 timotimo oh yikes
23:35 timotimo *** Error in `/home/timo/perl6/install/bin/moar': double free or corruption (fasttop): 0x00000000033dc200 ***
23:35 timotimo that happens extremely quickly
23:36 tony-o how old? i compiled about about an hour ago
23:38 timotimo absolutely fresh
23:39 timotimo this si server::async, though
23:39 tony-o ah, yea async still hangs moar
23:39 timotimo yeah
23:40 tony-o can't even install async with panda on JVM (Could not find Shell::Command)?
23:41 timotimo it doesn't have an ab script? HST i mean
23:53 lilgreen joined #perl6
23:57 AlexDani` joined #perl6

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

Perl 6 | Reference Documentation | Rakudo