Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-25

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:07 lizmat_ joined #perl6
00:25 laouji joined #perl6
00:26 tinyblak joined #perl6
00:40 laouji joined #perl6
00:47 kaare_ joined #perl6
00:49 laouji joined #perl6
01:03 tinyblak joined #perl6
01:11 tinita joined #perl6
01:24 hoelzro [ptc]: I added PKGBUILD files for Arch
02:03 fhelmberger joined #perl6
02:09 skids m: my $cu = CompUnit.new(@*INC[0] ~ "/Test.pm"); $cu.has-source.say; $cu.load("Test", Hash.new);
02:09 camelia rakudo-moar 9746e8: OUTPUT«True␤Invocant requires an instance, but a type object was passed␤  in method protect at src/gen/m-CORE.setting:22739␤  in method load at src/gen/m-CORE.setting:26208␤  in block <unit> at /tmp/qyJFDGWWJy:1␤␤»
02:10 * skids scratching head over what else .load needs to work.  It seems to not think it has $!lock.
02:20 skids m: use Test; my $cu = CompUnit.new(@*INC[0] ~ "/Test.pm"); $cu.is-loaded.say; # also wondering why !is-loaded after a use.  Should be in the cache.
02:20 camelia rakudo-moar 9746e8: OUTPUT«False␤»
02:29 chenryn joined #perl6
02:30 raiph joined #perl6
02:37 tinyblak_ joined #perl6
03:07 noganex_ joined #perl6
03:07 dalek rakudo/tab-completion: 883d4cc | hoelzro++ | src/Perl6/Compiler.nqp:
03:07 dalek rakudo/tab-completion: Perform completion logic in NQP
03:07 dalek rakudo/tab-completion: review: https://github.com/rakudo/rakudo/commit/883d4ccdc9
03:07 dalek rakudo/tab-completion: 7d04536 | hoelzro++ | src/Perl6/Compiler.nqp:
03:07 dalek rakudo/tab-completion: Load tab completion hash from CORE
03:07 dalek rakudo/tab-completion: review: https://github.com/rakudo/rakudo/commit/7d045362f0
03:08 dalek rakudo/tab-completion: ed71f78 | hoelzro++ | lib/Completion.pm:
03:08 dalek rakudo/tab-completion: Remove Completion.pm
03:08 dalek rakudo/tab-completion:
03:08 dalek rakudo/tab-completion: Its functionality is in NQP now
03:08 dalek rakudo/tab-completion: review: https://github.com/rakudo/rakudo/commit/ed71f7835c
03:12 telex joined #perl6
03:13 kaleem joined #perl6
03:21 kurahaupo1 joined #perl6
03:27 gtodd1 joined #perl6
03:28 pochi_ joined #perl6
03:30 ingy joined #perl6
03:32 kaleem joined #perl6
03:38 ponbiki joined #perl6
03:51 ilbot3 joined #perl6
03:51 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! | feather will shut down permanently on 2015-03-31
04:04 fhelmberger joined #perl6
04:15 yoleaux joined #perl6
04:43 laouji joined #perl6
04:47 laouji joined #perl6
04:58 moritz \o
04:59 chenryn joined #perl6
05:03 pierrot joined #perl6
05:06 pierrot joined #perl6
05:11 gtodd joined #perl6
05:13 lolisa joined #perl6
05:14 chenryn joined #perl6
05:34 diana_olhovik_ joined #perl6
05:38 laouji joined #perl6
05:56 [ptc] moritz: hi!
05:56 [ptc] wow, you get up early!
05:57 Sqirrel joined #perl6
05:58 chenryn joined #perl6
06:02 moritz not by choice
06:02 kaare_ joined #perl6
06:02 moritz @daughters[1] has fever, and didn't let me sleep
06:41 dabockster joined #perl6
06:47 SamuraiJack joined #perl6
06:58 anaeem1_ joined #perl6
07:03 xprime joined #perl6
07:05 gfldex joined #perl6
07:12 mr-fooba_ joined #perl6
07:12 diana_olhovik_ joined #perl6
07:15 kaleem joined #perl6
07:21 rindolf joined #perl6
07:29 sivoais joined #perl6
07:34 anaeem1__ joined #perl6
07:40 bjz joined #perl6
07:43 Rounin joined #perl6
07:44 anaeem1 joined #perl6
07:46 espadrine joined #perl6
07:46 darutoko joined #perl6
07:46 abraxxa joined #perl6
07:47 eiro joined #perl6
07:58 [Tux] The profiled code ran for 41312.35ms. Of this, 6366.49ms were spent on garbage collection and dynamic optimization (that's 15.41%).
07:59 [Tux] http://tux.nl/Files/20150325085906.png <= reify is the big time-eater
08:01 [Tux] http://tux.nl/Files/20150325090050.png split and push are the two "slow" parts of the process if I read this image correctly
08:06 FROGGS joined #perl6
08:20 mephinet joined #perl6
08:21 Ven joined #perl6
08:25 kjs_ joined #perl6
08:30 [Sno] joined #perl6
08:30 fhelmberger joined #perl6
08:32 Ven joined #perl6
08:38 tinyblak joined #perl6
08:52 mathw morning
08:57 nwc10 correct! It's always morning on #perl6 :-)
08:57 nwc10 and it's always good.
08:57 nwc10 violators will be hugged.
09:02 spider-mario joined #perl6
09:03 jnthn Good Chinese Aft^W^Wmorning!
09:04 Ven \o
09:07 skids joined #perl6
09:12 FROGGS o/
09:13 kjs_ joined #perl6
09:14 kurahaupo1 joined #perl6
09:15 skids joined #perl6
09:15 masak good antenoon, #perl6
09:17 dombo joined #perl6
09:18 jnthn o/ masak
09:22 * FROGGS hugs masak
09:24 cdc joined #perl6
09:24 cdc Hello #perl6
09:25 * masak feels warm from FROGGS' hug :)
09:25 cdc m: my $mode-32bit
09:25 camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W8lZwQC6XS␤Confused␤at /tmp/W8lZwQC6XS:1␤------> 3my $mode-327⏏5bit␤»
09:25 cdc is this ^ expected?
09:25 jnthn Yes
09:25 cdc ok :)
09:25 FROGGS masak: not as warm as a baby that just woke up :o)
09:25 jnthn Segments of a ' or - separated variable have to match <ident>
09:25 masak FROGGS: no, probably not
09:26 cdc jnthn: ok, it makes sense.
09:26 jnthn (So, start with an alpha)
09:26 jnthn It keeps us from confusing var name bits with subtraction :)
09:26 masak cdc: think of it as a mechanism that disambiguates what you wrote from `$mode-32`
09:26 masak right. :)
09:27 jnthn m: sub postfix:<bit>($n) { $n +& 1 }; my $mode-32bit # now it parses :P
09:27 camelia rakudo-moar 9746e8: OUTPUT«use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/xlVJw26Rtm:1␤␤»
09:29 masak jnthn: you're like a genie in a lamp, giving people their wish even when it ruins them :P
09:29 cdc :D
09:30 masak new sport: "hey, can I do this in Perl 6?" -- person A: "no, because..." -- person B: "sure, just..." *proceeds to corrupt the parser, the compiler, and the runtime to achieve the desired thing*
09:30 jnthn masak: That comment rubs me the right way... :P
09:31 masak haha
09:31 jnthn Hm, I should probably actually write the talk I'm giving this evening. :)
09:32 cdc timotimo: maybe you could add this snippet ^ to your next post (about #perl6 snippets)
09:32 jnthn In better news for Perl 6, it's the last talk/class I'll be doing for the next month and a half, so I'll have a lot more Perl 6 tuits very soon :D
09:32 nwc10 but first you need to return to your lonely beer fridge?
09:33 jnthn The beer fridge is a little empty at present.
09:33 * jnthn should pay a visit to el system at some point to fix that...
09:34 [ptc] left #perl6
09:34 [ptc] joined #perl6
09:35 FROGGS "The beer fridge is a little empty at present." -- that's false
09:36 FROGGS it is not wrong, just false
09:36 dakkar joined #perl6
09:36 masak m: sub a-little-empty(@fridge) { !@fridge }; say a-little-empty my @beer-fridge
09:36 camelia rakudo-moar 9746e8: OUTPUT«True␤»
09:36 jnthn m: say so "The beer fridge is a little empty at present."
09:36 camelia rakudo-moar 9746e8: OUTPUT«True␤»
09:36 masak FROGGS: no, it's true :)
09:36 masak jnthn: great minds think different :P
09:37 masak (but reach the same result)
09:37 * FROGGS .oO( FridgeBoolSpec )
09:37 jnthn masak: Yours thought of lists first, which probably means you've been making a better effort at the SICP reading circle than I have :)
09:43 mathw I applied for a Perl job. I intend to bring the Perl 6 enlightenment.
09:44 nwc10 mathw: where(ish) in the world?
09:45 mathw nwc10: more or less the middle of England :)
09:45 tadzik joined #perl6
09:45 nwc10 so, nearer the sea than I am.
09:45 mathw maybe
09:46 mathw we're nearly as far from the sea as you can get on this landmass, but that's still not really very far
09:46 nwc10 I'm more than 76 miles from the sea.
09:46 mathw yeah
09:46 wingfold joined #perl6
09:46 FROGGS nwc10: and that does not even change much when you go thousands of years back in time :P
09:46 mathw there are advantages to having a relatively narrow island
09:46 FROGGS but, who needs the sea anyway
09:47 nwc10 indeed. I'm more bothered by the relative lack of cider and lamb.
09:47 FROGGS ohh yeah, food is important
09:48 jnthn nwc10: You have plenty of nice sees, even if no seas.
09:48 nwc10 (most kebab selling things only do chicken, even though they sell Efes.)
09:49 nwc10 (I like Efes. But I like lamb more)
09:52 espadrine joined #perl6
09:53 mathw nwc10: where are you now then?
09:54 nwc10 Vienna.
09:54 mathw and we do need the sea, because without the sea you can't have the seaside
09:54 mathw and there's nothing like eating sandwiches which have actual sand in them
09:54 nwc10 The Austrians do have tea figured out a lot better than the Germans. (Or at least most of the bits of Germany I've visited)
09:54 mathw nwc10: I've not made it to Vienna yet. But it is a long way from the sea, yes.
09:55 nwc10 Compared with the UK, one aspect of the road signs amuse me a lot
09:55 nwc10 there are at least two here which show *six* different coutnries on them (as destinations)
09:55 mathw yeah we can't really do that here
09:56 brrt joined #perl6
09:56 mathw there are an insufficient number of crazy bridges and tunnels
09:56 nwc10 and in central S-bahn station (effectively, the equivalent of what Crossrail will be) at least one train service reaches another country.
09:56 nwc10 and I think I can see Slovakia from my balcony on a clear day.
09:56 nwc10 (Hungary is behind a few too many hills)
09:56 mathw I remember taking an ICE from Dusseldorf to Freiburg, which was actually going from Amsterdam down into Italy
09:57 nwc10 the other bonkers bit - as best I can work out, there isn't even a fence now where the Iron Curtain used to be.
09:57 nwc10 One field.
09:58 * jnthn used to take afternoon walks to Austria, and just saw a few now-disused buildings there
09:58 jnthn uh, where the Iron Curtian used to be, I mean.
09:59 jnthn There was a few more things in Austria itself :P
09:59 nwc10 lots of wind turbines.
10:00 FROGGS yeah, somebody has to make all that wind
10:01 * masak .oO( what part of "turbine" did you miss? ) :P
10:02 FROGGS :P
10:02 mathw my uncle's a wind farm...
10:02 masak my uncle's a Beowulf cluster.
10:04 tadzik my uncle is a human, is there a support group? :o
10:04 masak People With All Too Human Uncles Anonymous
10:05 masak "hi, I'm tadzik." -- "hi, tadzik." -- "my uncle's a human." -- *gasps*
10:05 mathw gosh
10:05 mathw I don't think I could cope
10:05 masak happens in the best of families
10:05 mathw one of my other uncles is a bicycle with a human avatar
10:06 * masak .oO( he was like the black sheep of the fa... -- no, *my* uncle is a black sheep! )
10:06 * masak .oO( what is this, Friday? )
10:08 mathw I'm in a silly mood
10:08 mathw for some reason
10:09 masak ;)
10:10 masak m: sub a-little-empty(@fridge) { !@fridge }; say a-little-empty my @uncle
10:10 camelia rakudo-moar 9746e8: OUTPUT«True␤»
10:10 masak my uncle is a somewhat empty fridge.
10:12 * arnsholt is doing actual stuff with Perl 6 for the first time o/
10:12 arnsholt About damn time too, it might be added
10:12 masak arnsholt++
10:13 arnsholt I suspect sub MAIN is going to be a fave feature
10:17 mathw wooo
10:17 mathw yes I think sub MAIN is awesome for writing all those handy tools
10:19 mathw I just love the extra tidiness
10:19 mathw I can say things in Perl 6 more concisely than anything that isn't Haskell
10:19 arnsholt Yeah. For a single-purpose tool it's nice. For a tool with more complex argument constraints, I think it'll save quite a bit of hassle
10:19 mathw and yet they are still readable. Awesome.
10:20 tinyblak joined #perl6
10:25 andreoss joined #perl6
10:26 andreoss where are POSIX module subs in perl6?
10:26 skids joined #perl6
10:35 [ptc] yay, just got moarvm, nqp and rakudo building as Debian packages :-)
10:42 bjz joined #perl6
10:42 larion joined #perl6
10:43 chenryn joined #perl6
10:45 arnsholt Do we have a way to do mktemp or mkstemp yet?
10:46 Foxcool joined #perl6
10:54 anaeem1__ joined #perl6
10:55 anaeem1_ joined #perl6
10:57 prime joined #perl6
11:02 coffee` joined #perl6
11:05 Akagi201 joined #perl6
11:09 arnsholt Mmmmm. SIGPIPE
11:09 prime joined #perl6
11:09 arnsholt Are there any convenience wrappers around Proc::Async?
11:10 andreoss joined #perl6
11:18 grondilu joined #perl6
11:18 grondilu m: say "$_ {.perl}" for ^5
11:18 camelia rakudo-moar 9746e8: OUTPUT«0 Nil␤1 Nil␤2 Nil␤3 Nil␤4 Nil␤»
11:18 grondilu m: say "$_ {$_.perl}" for ^5
11:18 camelia rakudo-moar 9746e8: OUTPUT«0 Nil␤1 Nil␤2 Nil␤3 Nil␤4 Nil␤»
11:18 grondilu that does not look right to me
11:19 grondilu star: say "$_ {.perl}" for ^5
11:19 camelia star-m 2015.02: OUTPUT«0 Nil␤1 Nil␤2 Nil␤3 Nil␤4 Nil␤»
11:19 camelia ..star-p 2015.02: OUTPUT«0 0␤1 1␤2 2␤3 3␤4 4␤»
11:19 FROGGS the block in the string still gets the "it is a callable with an optional $_" thing, even there
11:20 FROGGS m: say "$_ {$_.perl}($_)" for ^5
11:20 camelia rakudo-moar 9746e8: OUTPUT«0 Nil(0)␤1 Nil(1)␤2 Nil(2)␤3 Nil(3)␤4 Nil(4)␤»
11:20 FROGGS ahh, too bad
11:20 FROGGS m: say "$_ {&?ROUTINE.signature.say}" for ^5
11:20 camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lUnLqwLW1E␤Undeclared routine:␤    &?ROUTINE used at line 1␤␤»
11:21 FROGGS hmmm, I might know about a fix....
11:22 jnthn I suspect the block doesn't get shuffled correctly into the thunk
11:22 jnthn And so ends up with the wrong scope
11:24 FROGGS I'd thought it gets the default signature
11:25 FROGGS ahh, hmmm, no
11:26 anaeem1 joined #perl6
11:27 bjz joined #perl6
11:27 FROGGS m: say "$_ {$^a.perl}" for ^5
11:27 camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/200oHqMpBt␤Placeholder variable $^a may not be used here because the surrounding block takes no signature␤at /tmp/200oHqMpBt:1␤------> 3say "$_ {$^a.perl}7⏏5" for ^5␤    expecting any of:␤      …»
11:28 kurahaupo1 joined #perl6
11:28 FROGGS k
11:59 lichtkind joined #perl6
12:06 hoelzro o/ #perl6
12:06 FROGGS hi hoelzro
12:14 masak the biggest threat to any refactor I make in my code is... me.
12:14 masak usually I try to do the refactor *and* something else too, that I find along the way. usually it's another refactor.
12:15 masak and they interact somehow, or I forget to to half of one of them, and stuff breaks.
12:15 masak then I go back and do things one at a time, and it works.
12:15 masak there's some kind of wild overconfidence in my own ability to juggle stuff going on.
12:15 FROGGS same here
12:16 masak as the years pass, more and more I recognize this kind of confusion as a source of mishaps in my code.
12:16 masak "refactoring greed" :)
12:16 jnthn In the good cases, "git stash -p" helps you put half of it aside :)
12:16 telex joined #perl6
12:16 FROGGS though, often I realize to stop changing yet another thing before it actually breaks, so I say to myself: "focus on that one thing, commit, next"
12:16 masak that happens sometimes, yes.
12:17 jnthn If it *can't* then your two refactors are very entangled, which means the risk is likely higher.
12:17 masak in either case, you're likely left with a blank slate and two nice refactors to try out, sequentially :)
12:17 jnthn I often have a couple of irons in the oven, but if I see I can't separate the two out come commit time, it's a kind of alarm bell. :)
12:17 arnsholt masak: I suspect it's one of those pervasive bugs in himan cognition
12:18 arnsholt We think we're great at multitasking, but in reality we're absolutely terrible at it
12:18 masak also, if you ever extract a sub or method, and suddenly think "wait, I have to send *that* in as a parameter? that doesn't feel right" -- consider whether what you actually want is a callback.
12:19 masak arnsholt: when you put it like that, it sounds like the same cognition bug that underlies bad threading code.
12:19 jnthn Both humans - and computers - are better at sequential units that communicate at their boundaries.
12:20 jnthn Thus stuff like promises (work on something, report it back)
12:20 masak troo
12:20 jnthn And producer/consumer channels (grab something, do my thing on it, shove it in the output and never speak of it again)
12:21 masak I think that's just a restatement of the reductionism core idea.
12:21 arnsholt Speaking of promises and such; I noticed today that the supplies Proc::Async gives you for stdout/stderr are never .done (thus you can't .wait on them to make sure you read everything)
12:21 arnsholt Bug or feature?
12:21 masak "the whole thing is made of parts. to the extent the parts interact, they do so between the parts, not inside the parts"
12:22 jnthn arnsholt: Probably bug
12:22 arnsholt Yeah, that's what it felt like to me
12:26 arnsholt Not sure if just calling .done on the supplies after the process promise has been fulfilled will actually DTRT though
12:26 * FROGGS .oO( Do The Rong Thing )
12:30 arnsholt Oh. I guess adding supply.done here might do it: https://github.com/rakudo/rakudo/bl​ob/nom/src/core/Proc/Async.pm#L129
12:30 skids joined #perl6
12:31 FROGGS nqp-m: use QAST; QAST::SVal( :value<foo> ) # I don't like that error message :o(
12:31 camelia nqp-moarvm: OUTPUT«Cannot invoke this object (REPR: P6opaque, cs = 0)␤   at /tmp/dy4Pw5w02K:1  (<ephemeral file>:<mainline>:48)␤ from gen/moar/stage2/NQPHLL.nqp:1253  (/home/camelia/rakudo-inst-1/share​/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1451  (/ho…»
12:32 arnsholt Yeah, it's less than awesome
12:32 FROGGS that's state it is 'not quite awesome' :o)
12:36 grondilu given two infinite lists of integers, how could I build a list of integers that are in both lists?
12:37 grondilu I managed to to it but in a very ugly way.  There has to be a smart way to do it.
12:37 arnsholt Only possible if they're both sorted I think
12:38 tinyblak joined #perl6
12:38 arnsholt But then drop elements from the one list until you find an element that's greater than the head of the other (or the same as it)
12:39 rmgk_ joined #perl6
12:39 grondilu the result does not have to be sorted.  The elements must show up in a "low-indices" first way.
12:40 grondilu but really in truth the order does not matter, as long as elements are indeed provably in both lists.
12:40 grondilu (and without repetition of course)
12:41 jnthn gather { my %occs; for @a Z @b { .take if %occs{$_}++ } }
12:42 jnthn Works *iff* the lists are unique.
12:42 grondilu they aren't, unfortunately.
12:42 grondilu but I guess I could make them.
12:43 grondilu which makes me wonder if .unique works for infinite lists.
12:43 jnthn Think so
12:44 grondilu m: my @a := (^100).roll(*); say @a.unique[^10]
12:44 camelia rakudo-moar 9746e8: OUTPUT«75 65 85 89 2 56 26 55 58 57␤»
12:58 skids joined #perl6
12:59 hoelzro alright, p6-linenoise now installs via panda install \o/
12:59 hoelzro that tab completion checklist is getting shorter =)
13:01 tadzik awesome!
13:01 tadzik hoelzro++
13:01 [ptc] hoelzro++
13:04 Ulti hoelzro++
13:05 Ulti is there a karma counting bot after all this time?
13:05 Ulti otherwise I might update my emobot from Text::Emotion to do it
13:06 psch .karma Ulti
13:07 psch vOv
13:07 psch also hi \o
13:08 psch !karma Ulti
13:08 psch i thought i remembered something...
13:09 psch @karma Ulti
13:09 psch according to the clog there were 3 in 2007
13:10 Ulti well I think I'd have my bot estimate the implicit karma too :) by looking at the distribution of positive/negative sounding utterances with their nick
13:10 skids joined #perl6
13:10 psch karma Ulti
13:10 psch hm, now i tried everything that i could see in the clog
13:11 FROGGS there is no karma bot here atm
13:12 Foxcool joined #perl6
13:18 raiph joined #perl6
13:19 sergot 18:39 < FROGGS> sergot: are you going to work on updating pointers passed from P6?
13:19 sergot FROGGS: what do you mean?
13:20 jnthn .oO( That probably means "no" :) )
13:20 sergot yeah :))
13:22 skids joined #perl6
13:23 raiph .oO( That probably means "yeah" :) )
13:25 FROGGS sergot: I was talking about what I said earlier in privmsg
13:25 Foxcool joined #perl6
13:25 sergot oh, let me read and recall what it was about
13:26 FROGGS sergot: https://gist.github.com/FR​OGGS/979e81a79100b465bcab
13:27 sergot thanks
13:27 Foxcool joined #perl6
13:32 skids joined #perl6
13:35 kaleem joined #perl6
13:35 xfix joined #perl6
13:39 colomon joined #perl6
13:43 eli-se joined #perl6
13:43 FROGGS jnthn: should a Pointer[long].new malloc a long* ?
13:43 eli-se I need to do OCR. :(
13:53 larion joined #perl6
13:53 ab5tract hoelzro: can you elaborate a bit on what p6-linenoise does? are we removing linenoise from core?
14:00 masak it's a readline replacement
14:00 skids joined #perl6
14:00 masak it handles up/down keys, history, etc
14:04 FROGGS linenoise is also a C library, a replacement of readline
14:04 FROGGS and hoelzro++ does a high level implementation of our REPL
14:11 hoelzro ab5tract: I intend to remove linenoise from MoarVM, because 1) I think it doesn't belong as an op, but mainly because 2) that way we can have nifty tab completion when you run the REPL
14:12 ab5tract do i have a dunce cap on or somethinfg? i just asked whether linenoise was being removed from core. one would hope that this implies that i know what the heck it is doing in there...
14:12 hoelzro ab5tract: it was there in case readline was not used, partially as a license-safe alternative to readline
14:12 sirhouseboat joined #perl6
14:12 Sqirrel joined #perl6
14:12 hoelzro I think GNU readline is GPL, so we can't distribute a compiled MoarVM without relicensing it as GPL
14:12 ab5tract hoelzro: ah, i understood it as used-always-over-readline
14:13 hoelzro I removed readline from MoarVM (and co) as well
14:13 ab5tract regardless, can I start getting excited about a hackable and extensible REPL? :)
14:13 hoelzro right now my code only looks for Linenoise.pm
14:13 hoelzro ab5tract: heh, I don't know how extensible my work is =)
14:13 hoelzro ab5tract: what modifications do you have in mind?
14:14 ab5tract well, being able to paste multiple lines coherently is probably my number one
14:14 hoelzro ahhh
14:14 hoelzro someone else was talking about their work on that
14:14 * hoelzro backlogs
14:15 hoelzro psch, I believe
14:15 ab5tract also being able to create configs that are run on startup or shutdown.. logging..
14:16 zakharyas joined #perl6
14:17 ab5tract and then of course the ultimate would be to be able to embed a repl whenever/however/wherever you might like
14:17 psch yeah, i'm fiddling with that
14:17 psch a few cases work
14:17 hoelzro that would be great, ab5tract
14:17 psch easy things like «say 1 +\n1;»
14:17 hoelzro right now all REPL modifications are done in NQP; I would like for them to be done in Perl 6 instead, personally
14:17 ab5tract so is Linenoise.pm a NativeCall wrapper around liblinenoise ? or a PP version?
14:18 ab5tract hoelzro: indeed, we discussed this before, you and I. so I guess my original question was along the lines of "is p6-linenoise an example of you taking us in this direction?"
14:18 hoelzro ab5tract: NativeCall
14:19 hoelzro ab5tract: I suppose it is
14:19 hoelzro a PP version of Linenoise would totally be doable
14:20 FROGGS hoelzro: a PP version would sound a very good thing to me
14:21 TimToady and maybe we could even make it handle Unicode right...
14:21 nwc10 I hope that it wouldn't delay Christmas
14:22 hoelzro FROGGS: I'll add it to my TODO list =)
14:22 TimToady NFG should help in the counting of glyphs, so all you need to know is width of the grapheme
14:23 TimToady it's obvious that the current linenoise doesn't have a clue that multiple UTF-8 bytes represent single graphemes
14:24 hoelzro yeah, it's kind of dumb
14:24 hoelzro but that's part of its goal, I think
14:24 ab5tract hoelzro: I haven't gotten it into the ecosystem yet, but you might be able to leverage some things from Terminal::Print
14:24 ab5tract but it probably needs some optimization
14:25 hoelzro ab5tract: I probably won't work on a PP version of Linenoise for a little while
14:25 ab5tract fair enough
14:25 hoelzro I need to move apartments and finish my Coursera courses before I get deeply involved with anything =)
14:25 nwc10 I might be biased/opinionated/incorrect/believi​ng-something-I-read-on-the-internet, but I believe that its (self-)justification was roughy "Why is readline 30k lines of code? Everything is pretty much a VT-100 superset these days - it's got to be mostly legacy cruft"
14:26 hoelzro I stupidly thought I could finish the tab completion code in an evening =)
14:26 ab5tract :)
14:26 nwc10 and as a side effect of actually trying to fix the bugs and reach feature parity, it's closing in on readline's size.
14:26 hoelzro nwc10: that's from the project's README, I think
14:26 hoelzro that's a fair point
14:26 nwc10 this wasn't my point. This was the thing from someone else
14:27 nwc10 but it might well have been on a mongodb ticket with roughly "why have you switched from readline to linenoise, as now X Y and Z no longer work"
14:27 hoelzro ah
14:27 nwc10 also, IIRC, there's a BSD licensed equivalent already
14:27 nwc10 (IIRC from reading these grumbles)
14:27 hoelzro yeah, libedit, or editline
14:27 hoelzro I think it's even binary compatible with readline
14:28 nwc10 which means that any valid thought of "can't use readline, it's GPL" does not mean that the right answer is "re-implement" (without other reasons that rule out libedit)
14:28 nwc10 sorry if I'm sounding cynical.
14:29 nwc10 but it's often not clear whether new wheels were actually needed
14:30 hoelzro nwc10: re-implement as far as a PP version is concerned? or the motivation for linenoise itself?
14:31 nwc10 linenoise
14:31 nwc10 I can see benefits of doing a PP version
14:31 nwc10 in that we have one codebase for MoarVM, JVM, (potentially JS, ressurected parrot, etc)
14:31 nwc10 and deal with NFG
14:32 nwc10 without needing a dependency on a shared object that might not be there.
14:32 FROGGS in my imagination you probably replace/wrap->extend->replace so much stuff of linenoise/readline for a nice REPL so a PP really makes sense at some point
14:32 hoelzro mhmm
14:32 nwc10 not faulting "use linenoise to get to where we are"
14:32 nwc10 I'm more somewhat wondering why linenoise needed to exist at all, given that libedit existed
14:32 hoelzro I think for a very fancy REPL, we'll need to write a PP line editor
14:32 hoelzro nwc10: oh, ok
14:33 hoelzro nwc10: NIH syndrome? =)
14:34 FROGGS "Large programs with configure scripts disabling line editing if readline is not present in the system, or not supporting it at all since readline is GPL licensed and libedit (the BSD clone) is not as known and available as readline is (Real world example of this problem: Tclsh)."
14:34 FROGGS "Smaller programs not using a configure script not supporting line editing at all (A problem we had with Redis-cli for instance)."
14:34 FROGGS that's the motivation for linenoise
14:35 nwc10 OK, off topic I know, but why is the solution of "bundle libedit" any harder than "Write our own"?
14:35 FROGGS :o)
14:36 FROGGS nwc10: because one can just paste it to his/her project folder? I dunno
14:36 nwc10 No, I don't know either.
14:37 cschwenz joined #perl6
14:43 Sqirrel joined #perl6
14:46 rararara joined #perl6
14:53 molaf joined #perl6
14:57 eli-se joined #perl6
14:58 eli-se what a beautiful day
14:59 masak \o/
15:01 masak I just updated https://github.com/masak/007/blob/master/README.md for added surrealism.
15:05 colomon joined #perl6
15:09 morjo joined #perl6
15:09 hoelzro is there a way to iterate over a Perl 6 List/Array from within NQP?
15:11 * Ven isn't fan of 007's README, because he doesn't gain anything from reading it
15:11 FROGGS does my $iter := nqp::iterator($thing); my $elem := nqp::shiftiter($iter); say(nqp::iterval($elem)) work?
15:13 FROGGS otherwise you might have to pull out some $!list or $!storage
15:13 FROGGS ... via getattr_o
15:13 FROGGS err, getattr
15:13 Akagi201 joined #perl6
15:16 TimToady hoelzro: yes?
15:16 morjo_ joined #perl6
15:16 hoelzro ok, that's what I thought
15:17 TimToady I mean, Perl 6 is *is* implemented in NQP, after all...
15:17 hoelzro the trick with doing that in Perl6::Compiler is I don't have List and friends in my namespace, so in order to do nqp::getattr($p6list, List, '$!list'), I need to do something like my $List := self.eval('List')
15:17 hoelzro I was wondering if there was another way
15:19 [Coke] hoelzro: isn't there a page on that in the course info from jnthn++'s compiler class?
15:19 FROGGS nqp-m: say(nqp::what(42))
15:19 camelia nqp-moarvm: OUTPUT«␤»
15:19 FROGGS nqp-m: say(nqp::what(42).HOW.name(nqp::what(42)))
15:19 camelia nqp-moarvm: OUTPUT«BOOTInt␤»
15:19 hoelzro [Coke]: perhaps
15:19 hoelzro I'll look into that
15:19 FROGGS hoelzro: nqp::getattr($p6list, nqp::what($p6list), '$!list')
15:19 [Coke] though I'd expect it to look an awful lot like what FROGGS posted.
15:20 hoelzro FROGGS: would that work if $p6List were not a List, but rather a subclass?
15:20 hoelzro because nqp::getattr needs the class that '$!list' is declared in, right?
15:20 FROGGS hmmm
15:23 FROGGS it is hard to explain... it is actually easier to try and eventually get right :o)
15:23 hoelzro FROGGS: that's what I've found as well =)
15:24 hoelzro no need to wrack brains; I just thought I'd ask if someone knew off hand
15:24 FROGGS lol: https://www.youtube.com/watch?v=iNPVqgh0u4Q
15:25 FROGGS Sqirrel: you've gotta watch: https://www.youtube.com/watch?v=iNPVqgh0u4Q
15:25 ShimmerFairy joined #perl6
15:25 eli-se joined #perl6
15:26 prime joined #perl6
15:28 eli-se joined #perl6
15:32 gfldex joined #perl6
15:32 [Coke] mmhehehe. forwarded that to my beatboxing son.
15:33 larion joined #perl6
15:34 anaeem1 joined #perl6
15:34 prime joined #perl6
15:41 J-L Hey, I notice that there's two new Rakudo *.msi files to bundle.  One with JIT, and one without.  I'd like to download and try out the new version; would downloading the one with the experimental JIT be advised, or should I just stick to the one without it?
15:42 kjs_ joined #perl6
15:43 FROGGS J-L: what windows version do you have?
15:43 [Coke] I'm sure we'd appreciate feedback on whether the JIT one worked for you.
15:44 [Coke] oh - one is _64, one is not.
15:44 [Coke] that might be more relevant.
15:44 [Coke] FROGGS++
15:44 timotimo yes, that's more relevant indeed
15:44 timotimo we don't have a jit for x86 without 64 yet
15:44 FROGGS one is built on windows xp, the other one on windows 7
15:52 abraxxa nwc10: welcome to Vienna!
15:55 prime joined #perl6
16:00 gtodd just to confirm ... there has been no GLR code of any kind land in the main repo, right?  I ask because even so I keep seeing steady small improvements in various "naive benchmarks" that are sort of list related ! :-)
16:00 gtodd so ++
16:01 FROGGS yes, the GLR code has landed so far
16:03 Ven joined #perl6
16:06 [Coke] *no* GLR code.
16:06 [Coke] nor in branches, for that matter.
16:06 [Coke] pmichaud: If you a project plan, I'm sure we can find some minions to help with actual coding.
16:06 Ven what's pmichaud++'s timeline? I mean, the time he said he'd let someone else have a try if he didn't find time
16:16 retupmoca A couple of notes on setting up a P6 GTK application on a non-developer windows machine: - a batch file to run 'panda install' for dependencies works well, but: - have to also install git into path for panda, and - have to panda --notests install since prove isn't available.
16:17 Akagi201_ joined #perl6
16:17 retupmoca install process was just 1) install rakudo star msi, 2) install git, 3) unzip and double-click this .bat file
16:18 retupmoca so it actually works fairly well
16:18 retupmoca although I don't think we can hide the terminal window popup for perl6 yet
16:20 gtodd yes for sure ++GLR ... I only wanted to say improvements elsewhere seem to somehow make small dents in speeding up listy things
16:22 gtodd by that I mean things like this http://www.perlmonks.org/?node_id=1099617 (that I try with a set of test log files every once in a while) now taking 37 instead of 44  seconds ...
16:24 gtodd m: 7/44
16:24 camelia rakudo-moar 9746e8: ( no output )
16:24 gtodd m: say 7/44
16:24 camelia rakudo-moar 9746e8: OUTPUT«0.159091␤»
16:24 gtodd m: say (7/44)*100
16:24 camelia rakudo-moar 9746e8: OUTPUT«15.909091␤»
16:24 gtodd :)
16:26 timotimo er
16:26 timotimo m: say (37/44)*100
16:26 camelia rakudo-moar 9746e8: OUTPUT«84.090909␤»
16:26 timotimo i think you meant this
16:26 timotimo oh
16:26 timotimo actually, 44 - 37 == 7
16:26 timotimo so never mind me
16:27 larks maybe one day there will be gotos ;_;
16:30 Ven larks: we at least have one form of gotos :P
16:31 timotimo aye, labeled loops
16:31 timotimo how does the cmd.exe window vs no cmd.exe window distinction work on windows anyway?
16:32 retupmoca I'm not sure tbh; but we currently start everything with batch files, which force a command window
16:33 retupmoca idk if running moar.exe directly makes one pop up
16:34 larks I program C a lot and having gotos for things like clean up, etc etc is nice.  I don't use them a ton, but they are very handy to have when needed and used responsibly
16:35 Ven I'm not sure why you want them in perl6, tho :)
16:35 grondilu how could I test if all elements of a list are different?  @a.unique == @a would work right?
16:36 timotimo yeah, that'd work
16:36 * Ven was about to say "you should compare lengths!" but then realized this was perl's == :)
16:37 coffee` joined #perl6
16:37 * grondilu wonders if there is more efficient and considers [&&] map { $_ == one(@a) }, @a
16:38 Ven grondilu: seems like this is less efficient to me :P
16:39 Ven you need to traverse the list two times, it's O(2n)? whereas unique would be O(log n)?
16:39 Ven n^2 rather than 2n, I guess.
16:40 TimToady is it expected that the list will usually be unique?  if not, you want to falsify in a short-circuity way
16:40 grondilu no, it will not usually be unique.
16:43 grondilu 0.003% won't be unique to be exact
16:43 TimToady I think you just contradicted yourself...
16:44 grondilu oh yeah
16:44 grondilu I meant 0.003% will be unique
16:45 TimToady two nested loops with a last on match will be pretty fast
16:45 masak Ven: heh -- I would be more worried about the lack of serious tone in 007's README.md if I was expecting the language to ever have a serious user base. :)
16:45 grondilu FYI it's for project euler stuff and pandigital numbers (trying not to be mysterious about what I'm doing)
16:45 masak in that sense, it's a bit more worrying/strange that ufo got such a weird README
16:47 grondilu @a.unique == @a can't be optimal since .unique will look for all the list when I want to stop whenever I encounter at least one repetition.
16:47 TimToady we need a better way to visit triangles with X
16:47 grondilu one part of me would like to write all(@a) == one(@a) but I know that's not how it works.
16:48 masak TimToady: I respectfully petition that X not be used for that...
16:48 masak TimToady: X has the connotations of a cartesian product. the nice thing about cartesian products is that the rhs and the lhs are independent.
16:49 masak it makes sense that if someone is looking for moar powar, the look for it in another operator or construct.
16:49 masak maybe that's what we should use Y for :P
16:49 TimToady @list.combinations(2)
16:49 masak or, since you want triangular things, maybe Δ
16:50 masak or ◺
16:51 TimToady for (^10).roll(10).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK"
16:51 TimToady m: for (^10).roll(10).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK"
16:51 camelia rakudo-moar 9746e8: OUTPUT«False␤  in block <unit> at /tmp/0goLrY13F_:1␤␤»
16:51 TimToady m: for (^10).pick(10).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK"
16:51 camelia rakudo-moar 9746e8: OUTPUT«OK␤»
16:51 TimToady grondilu: ^^^ should even be lazyish
16:52 TimToady m: for (^1000000000).roll(1000).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK"
16:52 TimToady maybe not lazy enough
16:53 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
16:53 jdv79 is it within the realm of possibility perf could improve 2 orders of mag anytime soon?
16:53 TimToady define "soon"
16:53 grondilu m: my @a = (^10).roll(10); say [&&] map { [!=] @$_ }, @a.combinations(2)
16:53 camelia rakudo-moar 9746e8: OUTPUT«False␤»
16:53 jdv79 i just got a port of a dsl parser i wrote in p5 and its more or less that much slower
16:53 jdv79 :(
16:54 jdv79 got it passing its tests i meant to say
16:54 grondilu [&&] would stop if it should, right?
16:54 geever joined #perl6
16:54 jdv79 < 1y
16:54 grondilu (I mean if it encounters a False)
16:55 grondilu m: my @a = (^10).roll(100); my $count; say [&&] map { $count++; [!=] @$_ }, @a.combinations(2); say $count;
16:55 camelia rakudo-moar 9746e8: OUTPUT«False␤4950␤»
16:55 grondilu m: my @a = (^10).roll(10000); my $count; say [&&] map { $count++; [!=] @$_ }, @a.combinations(2); say $count;
16:56 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
16:56 TimToady combinations is returning pairs, why all the fancy @$_ stuff?
16:56 grondilu it's shorer to write?
16:56 grondilu I could write .[0] != .[1] I guess
16:57 TimToady first * != *
16:57 grondilu oh
16:57 grondilu no
16:57 TimToady oh, wait
16:57 TimToady first -> [$x,$] { $x != $y }
16:57 TimToady *y
16:58 moritz brrt++ # http://brrt-to-the-future.blogspot.de​/2015/03/advancing-jit-compiler.html
16:58 grondilu m: my @a = (^10).roll(10); say defined first { [==] @$_ }, @a.combinations(2)
16:58 camelia rakudo-moar 9746e8: OUTPUT«True␤»
16:58 grondilu m: my @a = (^10).roll(10); say !defined first { [==] @$_ }, @a.combinations(2)
16:58 camelia rakudo-moar 9746e8: OUTPUT«False␤»
16:59 TimToady m: (^20).combinations(2)[0].say
16:59 camelia rakudo-moar 9746e8: OUTPUT«0 1␤»
16:59 TimToady m: (^200).combinations(2)[0].say
16:59 camelia rakudo-moar 9746e8: OUTPUT«0 1␤»
17:00 TimToady m: (^2000).combinations(2)[0].say
17:00 jdv79 https://github.com/jdv/p6-data-selector is what i'm talking about
17:00 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:00 TimToady definitely a bit too eager
17:01 FROGGS[mobile] joined #perl6
17:02 FROGGS[mobile] larks: you might find phasers at least as enjoyable as gotos in C
17:03 moritz masak++ # p6u answer to Henk
17:03 grondilu m: say [&&] map * > .01, rand xx 100000;
17:03 anaeem1 joined #perl6
17:03 camelia rakudo-moar 9746e8: OUTPUT«False␤»
17:03 grondilu m: say [&&] map * > .01, rand xx *;
17:03 grondilu ^should this work?
17:03 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:04 coffee` joined #perl6
17:04 spider-mario <timotimo> how does the cmd.exe window vs no cmd.exe window distinction work on windows anyway?
17:04 spider-mario iirc, with mingw, you get a “gui” application by building it with -mwindows and providing a WinMain function instead of main
17:04 grondilu I mean, shouldn't [&&] stop as soon as it encounters a False?
17:04 spider-mario (the default being -mconsole)
17:04 spider-mario so it’s a property of the resulting executable to open a console or not
17:05 spider-mario that’s why there are python.exe and pythonw.exe
17:05 timotimo ah, interesting
17:06 spider-mario libraries like SDL and Qt provide a WinMain function that just calls main so that the user doesn’t have to
17:06 spider-mario (-lSDLmain)
17:07 timotimo ah, so THAT is what SDLmain is for!
17:07 * grondilu writes $string.comb.combinations(2) and finds the repetition of "comb" weird.
17:08 coffee` joined #perl6
17:10 [Sno] joined #perl6
17:10 timotimo hehe
17:13 TimToady jdv79: I would suggest not using .caps if you want efficiency; also, why do you reparse things?
17:14 eli-se joined #perl6
17:15 grondilu what is "comb" short for anyway?
17:16 raydiak good morning #perl6
17:17 TimToady it's not short for anything.
17:17 grondilu what does it mean then?
17:17 TimToady it's just the English verb "to comb"
17:17 grondilu oh
17:17 * grondilu looks in wiktionary
17:17 TimToady "combing the beach for pretty driftwood"
17:18 * grondilu learnt a word today
17:18 * masak always thinks of the "combing the desert" scene in Space Balls
17:19 * TimToady also gets suspicious when he sees a grammar that contains nothing but rules, and wonders if whitespace is really allowed everywhere
17:19 anaeem1 joined #perl6
17:21 TimToady so comb is really kind of a pun; it not only combs through something looking for patterns, but it returns a sort of comb structure
17:21 ashleydev
17:21 masak ashleydev: you have to speak up
17:22 ashleydev sorry.
17:22 TimToady space, the final frontier...
17:22 * masak hugs ashleydev
17:27 muraiki joined #perl6
17:29 Mouq RE: http://irclog.perlgeek.de/p​erl6/2015-03-25#i_10338849 I volunteer as tribute (to a pminion)
17:29 Mouq *be
17:29 masak Mouq++
17:30 spider-mario the term “kebab case” makes me hungry :(
17:31 rurban_ joined #perl6
17:33 masak spider-mario: would it help to call it "shashlik case" instead? :P
17:37 Mouq grondilu: I think we could optimize [&&], [~], etc, but I don't think the user should rely on these optimizations being anything more than an implementation detail…
17:38 bayprogrammer joined #perl6
17:39 Mouq m: say ?any map * > .01, rand xx 100000;
17:39 camelia rakudo-moar 9746e8: OUTPUT«True␤»
17:39 Mouq m: say ?all map * > .01, rand xx 100000;
17:40 camelia rakudo-moar 9746e8: OUTPUT«False␤»
17:40 spider-mario Mouq: on the other hand, isn’t [op] 1, 2, 3 specced to be equivalent to 1 op 2 op 3?
17:40 Mouq spider-mario: I think of it as being equivalent to (1, 2, 3).reduce(&[op])
17:41 spider-mario after all, [==], [<], etc. work as intended, whereas they would not with a traditional reduce
17:41 Mouq spider-mario: Ah… hm
17:43 Mouq m: say &[==].prec
17:43 camelia rakudo-moar 9746e8: OUTPUT«iffy => 1, pasttype => chain, prec => m=␤»
17:43 Mouq m: say &[&&].prec
17:43 camelia rakudo-moar 9746e8: OUTPUT«prec => l=␤»
17:46 grondilu I'm not sure it's just an optimization detail, considering that [&&] map * > .01, rand xx *; would stop in one case and hang in the other.  So the behavior would be different, not just performance.
17:48 grondilu m: say ?any map * > .00001, rand xx *;
17:48 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:48 grondilu m: say ?any map * < .001, rand xx *;
17:49 tinyblak joined #perl6
17:49 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:49 grondilu m: say ?any map * < .1, rand xx *;
17:49 azawawi joined #perl6
17:49 azawawi hi #perl6
17:49 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:50 grondilu m: say any True xx *
17:50 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:50 azawawi m: say @*INC
17:50 camelia rakudo-moar 9746e8: OUTPUT«file:/home/camelia/ra​kudo-inst-1/share/perl6/lib inst:/home/camelia/rakudo-inst-1/share/perl6␤»
17:50 grondilu m: say ?any True xx *
17:50 camelia rakudo-moar 9746e8: OUTPUT«True␤»
17:50 grondilu m: say ?any map * < 1, rand xx *;
17:51 camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
17:51 azawawi moritz: ping
17:51 moritz azawawi: pong(ish)
17:52 azawawi moritz: is it by design that @*INC has (core) libs before (site) share libs?
17:54 azawawi moritz: looking at rakudo star, any existing panda-installed (rakduo/share/lib) module cannot override its predecessor in rakudo/lib
17:56 telex joined #perl6
17:57 anaeem1_ joined #perl6
17:59 * TimToady believes search strategy for officially installed modules should be entirely independent of @*INC ordering, because @*INC is only for pulling in mutable modules in development
17:59 anaeem1 joined #perl6
18:00 TimToady in other words, I think that ordering repostitories in @*INC is a botch
18:00 azawawi TimToady: I see. Thanks :)
18:00 raydiak grondilu: S03:4718 looks relevant...its precise meaning is a little murky to me but I think it says short-circuiting won't work with metaop reduce
18:00 synopsebot Link: http://design.perl6.org/S03.html#line_4718
18:00 TimToady s/post/pos/
18:01 TimToady if a site lib wants to override a module of a given version, it must use a different auth, not @*INC ordering
18:01 TimToady identity, identity, identity...
18:03 TimToady and auth ordering needs to be independent of @*INC order too
18:04 Hor|zon joined #perl6
18:04 TimToady @*INC is far too crude of an ax for this
18:05 azawawi I just came from a meeting with lots of smokers... so im trying to clear my mind from all the passive smoking :)
18:05 AndChat|228864 joined #perl6
18:06 TimToady at most, @*INC order could be used for a final tiebreaker for two auths that are otherwise not ordered in desirability
18:07 TimToady but picking an older version merely because it's earlier in @*INC is just not gonna fly, if that's what's happening here
18:07 anaeem1_ joined #perl6
18:08 TimToady official repos should be searched in parallel, not depth first, to put it another way
18:09 azawawi that's not even the case now... i cannot override HTTP::Easy without deleting it and reinstalling it with all its deps
18:09 azawawi using panda that is
18:10 * azawawi begins building rakudo on his amd64 win7 machine
18:12 diana_olhovik_ joined #perl6
18:14 azawawi so after doing a `panda install HTTP::Easy` on rakudo star 2015.03 msi jit x64. I have two HTTP::Easy instances... one in lib and one in site/lib (aka share/lib) and the old one is picked first because of the current @*INC ordering
18:17 TimToady lizmat: see my rant above; depth-first ordering by repo is Not Right
18:17 * azawawi wonders when panda will have an option to specify version while installing. i.e. `panda install pkg@version`
18:18 TimToady long-term, panda must understand complete package identities, yes
18:19 molaf joined #perl6
18:20 * PerlJam wonders what "official repos" are
18:20 * TimToady has been harping on this notion of complete identity for about ten years now...
18:20 TimToady official repos contain only immutable modules with complete identity
18:21 TimToady but Perl 6 should see all the local ones as a single repo, and it shouldn't matter if multiple repos contain the same module, since they're immutable under name/version/auth
18:23 * flussence wonders how well git-as-a-module-database would work
18:23 TimToady well, git understands immutability at least
18:23 PerlJam TimToady: Remember that the future is unevenly distributed both in time and space  :)
18:24 TimToady yes, which is why I'm so anxious to distribute the future sooner and further
18:25 Peter_R joined #perl6
18:25 flussence I figure if it's good/fast enough for a million objects, it'll be fine for the average hacker type with <1000ish modules. ...and people have done stranger things with VCS storage than storing files.
18:27 noganex joined #perl6
18:30 PerlJam flussence: Are you going to hack together a prototype?
18:31 flussence I've thought about it... would have to learn how git actually works first, and that'd take a long time.
18:31 PerlJam (previously I thought that a sqlite database would work well for modules)
18:32 flussence sqlite's a good choice too, works everywhere.
18:33 TimToady might be worthwhile to prototype with flat files first just to get the obvious bugs out
18:34 flussence (also I note that I haven't used PHP in almost a decade, and they're *still* figuring out a built in autoloader for metadata-less files...)
18:34 TimToady module/version/auth/md5/location is most of the tuple you need
18:36 azawawi btw, sqlite actually scales to storing 24x7 recorded video :)
18:36 * azawawi takes a look at https://www.sqlite.org/limits.html
18:37 flussence I'd recommend sha1 over md5, purely on the grounds that it's got more fancy cpu-specific optimized implementations floating around :)
18:37 * raydiak started a p6 port of Git::PurePerl yesterday, too
18:37 flussence raydiak++
18:38 azawawi raydiak++
18:38 * TimToady was using "md5" generically :)
18:39 * jercos Xeroxes TimToady's Hoover
18:39 PerlJam jercos: have some Kleenex
18:40 * timotimo is being treated to Hogan's Heroes
18:40 * masak .oO( if you don't get these references, just google them )
18:40 azawawi raydiak: any link for Git::PurePerl?
18:40 jdv79 TimToady: what if not caps?
18:41 TimToady just directly capture to a named list when you quantify, because .caps assumes you're getting fancy with nesting and sorts everything into the order it already was captured in this case
18:41 TimToady so it's a wasted sort
18:42 TimToady do you have a dataset you're timing with?
18:42 TimToady I wouldn't mind running the profiler on it to see what pops out
18:43 azawawi 51 perl6 modules with ':ver<...>', 31 with ':auth<...>'
18:44 TimToady authless modules have no...authority...
18:44 raydiak azawawi: not yet but I'll have it in shape to be put on github soon here, next few hours I'll get back to it
18:44 TimToady according to original S11, we should not allow authless modules in official repos ever
18:45 TimToady (or versionless)
18:45 azawawi raydiak: awesome. keep me posted plz. I may need your module to do some git ops in farabi6
18:45 PerlJam azawawi: you could use Git::Wrapper for now :)
18:45 TimToady it's a form of accidental genericity we must avoid, just as bad as multi-pass parsing
18:46 TimToady otherwise people will Xerox modules poorly and then require Kleenex
18:46 azawawi PerlJam: perfect. https://github.com/perlpilot/p6-Git-Wrapper/ :)
18:46 TimToady this is all part of knowing exactly what language you're running
18:47 * TimToady suspects he's not done with the identity rant yet... :)
18:48 raydiak azawawi: will do, I'm hoping to just kick it off with a couple basics like cloning and checkouts or so and hope the community takes it over
18:49 TimToady jdv79: okay, I see your .t and that it probably has enough data in it to profile
18:49 azawawi raydiak: how will you handle https connections btw?
18:49 azawawi raydiak: s/connections/github urls/
18:50 FROGGS[mobile] joined #perl6
18:51 raydiak azawawi: idk, right now the working part is only git://
18:51 retupmoca azawawi: are you aware of IO::Socket::SSL? Or wouldn't that work here?
18:51 raydiak left off at "I can download a packfile but can't get objects out of it yet", so a bit early to worry about ssl :)
18:52 larion joined #perl6
18:53 azawawi retupmoca: nope... i didnt know that existed. thanks for sharing it :)
18:55 raydiak retupmoca: and I left off on what may be a Compress::Zlib::Stream bug; maybe you'd be willing to look at my code after I get it up on github later and see if I'm doing something dumb on my end?
18:56 retupmoca raydiak: sure - just let me know where it is
18:57 jdv79 bear in mind i'm a p5 coder that's trying to port something to p6 and i have no idea what i'm doing
18:57 jdv79 its likely very wrong - it just happens to pass the tests
18:59 * azawawi panda install IO::Socket::SSL :)
19:02 jdv79 yes, it should be all tokens.  not sure why i used all rules...
19:02 Perl6_newbee joined #perl6
19:03 jdv79 TimToady: thanks
19:04 mr-foobar joined #perl6
19:04 iv joined #perl6
19:07 FROGGS[mobile] joined #perl6
19:11 moritz azawawi: re @*INC order: once modules are precompiled, you can't replace their precompiled dependencies anyway
19:11 azawawi moritz: i noticed
19:14 jdv79 s/.caps/.hash/g doesn't seem to change much
19:15 psch m: say ("a" ~~ /a/).caps.WHAT
19:15 camelia rakudo-moar 9746e8: OUTPUT«(Array)␤»
19:16 nine_ flussence: I think, you could learn how git works quite quickly. Its awesomeness comes from the fact that it's very simple at heart.
19:16 yoleaux 24 Mar 2015 17:19Z <japhb> nine_: Gah, OK, I'll see what I can do, thanks for trying!
19:17 Hor|zon joined #perl6
19:18 FROGGS joined #perl6
19:21 kjs_ joined #perl6
19:22 FROGGS TimToady: I envision that one will install a CompUnitRepo::Group in an (early) @*INC slot to allow searching in CURs in parallel
19:22 masak m: my %h = 1, 2, 3 X=> 1; say %h.perl
19:22 camelia rakudo-moar 9746e8: OUTPUT«("3" => 1, "1" => 1, "2" => 1).hash␤»
19:22 masak \o/
19:24 FROGGS TimToady: btw, atm panda cannot even handle two differnt Foo dists... I put two of them in the ecosystem for testing purposes
19:25 FROGGS TimToady: but btw, much of S11 works when you use panda/eleven to install dists into your CUR::Installation "database"
19:27 * azawawi good night #perl6
19:27 FROGGS gnight azawawi
19:27 krunen Everyone, OSDC.no (including Nordic Perl Workshop, Oslo, 8-10. may) talk submission deadline is this friday! Please submit your talks ASAP.
19:30 larion joined #perl6
19:30 coffee` joined #perl6
19:38 raydiak retupmoca: https://github.com/raydiak/Git-PurePerl/​blob/master/lib/Git/PurePerl/Pack.pm#L78 is where I get "Cannot inflate stream: incorrect header check", is a port of https://github.com/broquaint/git-pureperl​/blob/master/lib/Git/PurePerl/Pack.pm#L93
19:40 raydiak retupmoca: I have a little time into hunting it but admit I haven't conclusively ruled out all other possibilities outside of Compress::Zlib either
19:40 retupmoca raydiak: is your data compressed as type 'zlib', 'deflate', or 'gzip'? Compress::Zlib defaults to 'zlib'
19:40 retupmoca but 'gzip' has a different header, and 'deflate' has no header at all
19:41 abraxxa joined #perl6
19:41 raydiak retupmoca: I'm not really sure but I think zlib...at least the first 1k inflates correctly with it set to zlib, the others don't work at all
19:42 * raydiak hasn't really conclusively gathered all the info he needs on packfiles
19:43 masak lizmat++ # making arrays and hashes more typed in Rakudo, and making me surprised and delighted that the type information shows up when I .perl
19:44 japhb FROGGS: You might consider merging panda/eleven now since 1. We've got a few weeks to deal with fallout, and 2. It might reduce TimToady's stress levels.  ;-)
19:45 FROGGS I'll think about it
19:45 retupmoca raydiak: that's my first thought when I see "incorrect header" anyway. I'll take a deeper look at it a bit later
19:52 Hor|zon joined #perl6
19:53 raydiak retupmoca++ appreciate you checking it out; tried all 3 last night, only zlib even begins to work; I'll hopefully get to work on it more later today, will let you know when I have any more info
19:53 eli-se joined #perl6
19:54 raydiak .tell azawawi the url is https://github.com/raydiak/Git-PurePerl though it's far from working yet :)
19:54 yoleaux raydiak: I'll pass your message to azawawi.
19:57 _edwin joined #perl6
19:59 dalek perl6-roast-data: e982369 | coke++ | / (8 files):
19:59 dalek perl6-roast-data: today (automated commit)
19:59 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/e9823698e9
20:02 [Coke] nqp-parrot still broken.
20:02 moritz and it seems that hack is doing much better these days
20:02 moritz no freezes / hangups for 4 days
20:03 nwc10 must have been those resouce hogging IRC clients
20:03 moritz nope
20:03 brrt joined #perl6
20:04 moritz FROGGS++ disabled some cron jobs; maybe that's related
20:05 FROGGS moritz: every time the machine got stuck I had cron mails about segfaults of perl6-m too
20:05 FROGGS I dunno if these are related or if the mails where generated hours or days earlier
20:05 FROGGS but this could be connected somehoe
20:05 FROGGS how*
20:06 moritz FROGGS: my suggestion would be re-enable them, but with a smaller frequency, and some extra resource limits in place
20:06 moritz FROGGS: and with an flock (1) in place to ensure that no two instances of the job are running at the same time
20:07 FROGGS moritz: I use plain files that I create when the job starts and remove when it is done
20:07 FROGGS because you cannot lock a file yet
20:09 moritz FROGGS: there's a command line tool called flock, which you can use to wrap your calls to perl6-m
20:10 moritz FROGGS: that way you don't spawn a full perl6 process just to check for the lock
20:10 FROGGS ahh
20:12 moritz */5     *       *       *       * flock -n ~/update.lock -c ./doc/util/update-and-sync > update.log 2>&1
20:12 moritz that's the doc.perl6.org rebuild script
20:14 FROGGS will do that
20:15 Mouq raydiak: ([&&]) right, but that's about thunking, so `[&&] eager map * < 1, rand xx *` should definitely hang. Lazy lists may be a different case though
20:15 yqt joined #perl6
20:19 Mouq TimToady: I'd think we want a scheme that works with both flat files and immutable identities anyway…
20:19 colomon joined #perl6
20:32 abraxxa joined #perl6
20:35 dalek specs: c25d86e | Mouq++ | S03-operators.pod:
20:35 dalek specs: Update and clarify description of reduce on ops beginning with backslash
20:35 dalek specs:
20:35 dalek specs: infix:<\x> was wrongly stated to completely mask triangle reduce with
20:35 dalek specs: infix:<x>, but we now have the [\[x]] syntax for disambiguation.
20:35 dalek specs: review: https://github.com/perl6/specs/commit/c25d86e7fb
20:53 FROGGS[mobile] joined #perl6
20:54 spider-mario joined #perl6
20:54 kurahaupo1 joined #perl6
20:56 sno joined #perl6
20:59 _edwin m: msb(-2)
20:59 camelia rakudo-moar 9746e8: ( no output )
21:00 _edwin m: -2.msb.say
21:00 camelia rakudo-moar 9746e8: OUTPUT«1␤»
21:01 _edwin m: say -2.msb == (-2).msb
21:01 camelia rakudo-moar 9746e8: OUTPUT«False␤»
21:02 _edwin d'oh, the .msb binds tighter, stupid me
21:10 jdv79 aw c'mon.  i can't even sort the profiles:(
21:10 jdv79 chrome and FF both die off when trying
21:11 moritz time to write a better browser, eh?
21:12 jdv79 how do you guys load profiles for decent runs?
21:12 jnthn jdv79: By keeping the decent runs small, mostly...
21:13 hoelzro I know that GPL affects libraries that are linked via a linker, but how does NativeCall play into that? I guess it's just another way of linking, right?
21:13 jdv79 ok
21:13 jnthn jdv79: The profiler UI was written using AngularJS
21:13 jnthn jdv79: Which was all I had time to do, but unfortunately the "wrote it fast" has come with "it runs slow" :(
21:14 * masak still wants to do something about that
21:14 jnthn ++masak :)
21:14 masak heh.
21:14 jnthn I'm hoping somebody who is decent at JavaScript and web stuff will take care of it. masak is, sadly I'm not :)
21:14 FROGGS hoelzro: there is no problem with dynamically linking against another lib
21:15 masak I'd consider it an interesting exercise in de-Angularifying something.
21:15 FROGGS hoelzro: the problem pops up when you wan to bundle and ship it me thinks
21:15 hoelzro FROGGS: with GPL (not LGPL), I think that meant the linking program constituted a derivative work
21:15 hoelzro oh, is that it?
21:15 hoelzro that makes sense, then
21:16 FROGGS isnt that the reason why you have to thing about static vs dynamic linking?
21:16 FROGGS I often read questions "am I allowed to statically link again library X"
21:16 FROGGS and for libSDL they've changed their license to make static linking easier
21:17 FROGGS https://www.libsdl.org/license.php
21:20 mohij joined #perl6
21:21 hoelzro I see
21:21 hoelzro I guess that if you distribute the .so/.dll/.dylib, that's what affects it
21:21 hoelzro FROGGS++ # clearing up GPL for me
21:22 colomon joined #perl6
21:23 jdv79 i'm not really sure how to use the profile to optimize.  it looks to me like death by listy stuff in my profile - http://jdv.devuyst.com/pro​file-1427318478.92143.html
21:32 tbrowder joined #perl6
21:34 FROGGS[mobile]2 joined #perl6
21:34 [Coke] .u sad
21:34 yoleaux U+0635 ARABIC LETTER SAD [Lo] (ص)
21:34 yoleaux U+069D ARABIC LETTER SAD WITH TWO DOTS BELOW [Lo] (ڝ)
21:34 yoleaux U+069E ARABIC LETTER SAD WITH THREE DOTS ABOVE [Lo] (ڞ)
21:34 [Coke] .u sadface
21:34 yoleaux No characters found
21:34 arnsholt jdv79: Yeah, looks like a lot of it is spent in code that isn't yours
21:34 arnsholt jdv79: Although looks like something grammar-y there, maybe you can optimize the grammar a bit?
21:35 jdv79 the code - https://github.com/jdv/p6-data-selec​tor/blob/master/lib/Data/Selector.pm
21:36 jdv79 i would appreciate any pointers.  TimToady said he might take a look at some point.
21:36 timotimo 0x7fa6ed3a8000
21:37 arnsholt First thing that strikes me is that you can probably merge selector_group, selector_path_part and named_selector into a single proto regex
21:37 arnsholt That should remove the need for the lookahead in path_part
21:37 arnsholt Although that can be avoided in other ways too, I think
21:38 arnsholt Like <-[.$]><-[.]>* rather than <!before \$><-[.]>+
21:38 arnsholt Not sure how much of a difference that makes though
21:39 jdv79 dumping the lookahead doesn't show any diff for mr
21:39 jdv79 *me.  except breaking some tests
21:39 jdv79 ;)
21:40 * masak considers henceforth referring to himself as "mr"
21:40 masak "works for mr"
21:41 dalek rakudo-star-daily: 83caa39 | coke++ | log/ (7 files):
21:41 dalek rakudo-star-daily: today (automated commit)
21:41 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/83caa39dff
21:41 masak "are you talking to mr?"
21:41 jdv79 oh, it is a little faster - thanks arnsholt
21:41 jdv79 mr. me?
21:41 jdv79 idk
21:42 timotimo is that like mini me?
21:42 jdv79 perhaps
21:50 tgt joined #perl6
21:50 tgt left #perl6
21:54 lichtkind_ joined #perl6
22:11 BenGoldberg joined #perl6
22:13 hoelzro are the semantics of redeclaring a variable spec'd anywhere? a cursory search of the specs don't turn up anything
22:13 smls joined #perl6
22:13 hoelzro the following surprised me a bit:
22:13 hoelzro m: my $v = 5; my $v; say($v)
22:13 camelia rakudo-moar 9746e8: OUTPUT«Potential difficulties:␤    Redeclaration of symbol $v␤    at /tmp/4fBivSTY4O:1␤    ------> 3my $v = 5; my $v7⏏5; say($v)␤5␤»
22:14 hoelzro part of me expected $v to be (Any)
22:14 flussence I guess the default for undefined behaviour is "do what perl5 does"
22:15 hoelzro flussence: I think Perl 5 undef's $v in that case
22:16 smls o/  [Sorry for opening the topic of a new Perl 6 website and refined Camelia colors a week ago, and then promptly disappearing. Life happened... :/ ]
22:16 yoleaux 17 Mar 2015 16:37Z <TimToady> smls: I think your Camelia looks like she didn't get enough sleep. :) And I think Camelia should be the accent on a page, not match the page.
22:16 yoleaux 17 Mar 2015 16:39Z <TimToady> smls: also, the colors are not meant to appeal to people who are too old to enjoy life anymore :)
22:17 smls TimToady: It's true that many logos use very drab and 'corporate' colors in order to not irk people who are "too old to enjoy life anymore". Camelia shouldn't do that. However, rather than jumping to the opposite extreme, there's imo an optimum to be found somewhere.
22:23 flussence .oO( maybe a version that uses the Tango icon palette, to appeal to gnome-types... )
22:28 retupmoca raydiak: install the newest Compress::Zlib, and then try: https://gist.github.com/ret​upmoca/5ea886e6d75f62d450b8
22:31 LonelyGM joined #perl6
22:33 japhb nine_: I just rebuilt from scratch again this afternoon, and Inline::Perl5 installed perfectly.  I don't know what changed, or if the problem is just plain flakey, but I'm happy to have it working now!
22:34 japhb I guess that should have been a .tell ...
22:34 japhb .tell nine_ I just rebuilt from scratch again this afternoon, and Inline::Perl5 installed perfectly.  I don't know what changed, or if the problem is just plain flakey, but I'm happy to have it working now!
22:34 yoleaux japhb: I'll pass your message to nine_.
22:35 retupmoca .tell raydiak install the newest Compress::Zlib, and then try: https://gist.github.com/ret​upmoca/5ea886e6d75f62d450b8
22:35 yoleaux retupmoca: I'll pass your message to raydiak.
22:37 larion joined #perl6
22:45 smls TimToady: Rather than spam the channel, I've expanded by response re Camelia colors into a gist: https://gist.github.com/smls/6f24f81ffd80492e98b2
22:47 smls ^^ also contains link to my WIP mockup for a new (post-6.0.beta) perl6.org, in case anyone is interested or wants to contribute
22:52 virtualsue joined #perl6
23:21 xxx joined #perl6
23:24 skids joined #perl6
23:30 flussence I went digging in the profiler stuff and noticed something a bit off - there's a whole bunch of nqp code to serialize stuff into json, while escaping *that* for a javascript string, to put it into a JSON.parse()... you could skip those last two steps entirely.
23:35 eli-se cool, I wrote a video game
23:35 eli-se it's been a long time since I did that
23:43 jacksnipe joined #perl6
23:43 masak 'night, #perl6
23:52 colomon joined #perl6
23:54 telex joined #perl6

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

Perl 6 | Reference Documentation | Rakudo