»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:06 lizmat left 00:07 lizmat_ joined 00:08 eli-se left 00:25 laouji joined 00:26 tinyblak joined 00:31 tinyblak left 00:39 laouji left 00:40 laouji joined, laouji left 00:43 mohij left 00:46 kaare_ left 00:47 kaare_ joined 00:49 laouji joined 00:58 raiph left 01:03 tinyblak joined 01:04 tinita left 01:11 tinita joined 01:21 silug left
hoelzro [ptc]: I added PKGBUILD files for Arch 01:24
02:03 fhelmberger joined 02:08 fhelmberger left
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␤␤»
skids scratching head over what else .load needs to work. It seems to not think it has $!lock. 02:10
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 02:30 raiph joined 02:34 away_op left 02:37 tinyblak_ joined 02:40 tinyblak left 03:07 noganex_ joined
dalek kudo/tab-completion: 883d4cc | hoelzro++ | src/Perl6/Compiler.nqp:
Perform completion logic in NQP
03:07
kudo/tab-completion: 7d04536 | hoelzro++ | src/Perl6/Compiler.nqp:
Load tab completion hash from CORE
kudo/tab-completion: ed71f78 | hoelzro++ | lib/Completion.pm:
Remove Completion.pm

Its functionality is in NQP now
03:10 noganex left 03:11 telex left 03:12 telex joined 03:14 kaleem joined 03:17 skids left 03:19 kaleem left 03:21 kurahaupo1 joined 03:25 pochi_ joined 03:28 pochi left, gtodd1 joined, ingy left, gtodd left 03:30 ingy joined 03:32 kaleem joined 03:37 ponbiki left 03:38 ponbiki joined 03:39 ponbiki is now known as Guest49293, Guest49293 is now known as ponpon 03:43 laouji left, kaleem left 03:44 chenryn left 03:49 kurahaupo1 left, ilbot3 left 03:51 ilbot3 joined 04:04 fhelmberger joined 04:07 Sqirrel left 04:08 bayprogrammer left, fhelmberger left 04:15 yoleaux left, yoleaux joined, ChanServ sets mode: +v yoleaux 04:17 BenGoldberg left 04:24 pierrot left 04:25 raiph left 04:43 laouji joined 04:47 laouji left, laouji joined
moritz \o 04:58
04:59 chenryn joined 05:03 pierrot joined, chenryn left 05:04 pierrot is now known as Guest51874 05:06 Guest51874 is now known as pierrot, pierrot left, pierrot joined 05:08 gtodd1 left 05:11 gtodd joined 05:13 lolisa joined 05:14 chenryn joined 05:24 lolisa left 05:34 diana_olhovik_ joined 05:35 laouji left 05:38 laouji joined 05:47 chenryn left
[ptc] moritz: hi! 05:56
wow, you get up early!
05:57 Sqirrel joined 05:58 chenryn joined 06:01 kaare_ left
moritz not by choice 06:02
06:02 kaare_ joined
moritz @daughters[1] has fever, and didn't let me sleep 06:02
06:35 diana_olhovik_ left 06:41 dabockster joined 06:47 SamuraiJack joined 06:58 anaeem1_ joined 07:04 xprime joined 07:05 gfldex joined, prime left, dabockster left 07:08 sivoais left 07:12 mr-fooba_ joined, diana_olhovik_ joined 07:13 mr-foobar left 07:15 kaleem joined 07:21 rindolf joined 07:29 sivoais joined 07:31 mr-fooba_ left 07:32 [Sno] left 07:34 anaeem1__ joined 07:37 anaeem1_ left 07:40 bjz joined 07:42 eiro left 07:43 Rounin joined 07:44 anaeem1__ left, anaeem1 joined 07:46 espadrine joined, darutoko joined, abraxxa joined 07:47 eiro joined
[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:58
07:58 gfldex left
[Tux] tux.nl/Files/20150325085906.png <= reify is the big time-eater 07:59
08:00 bjz left
[Tux] tux.nl/Files/20150325090050.png split and push are the two "slow" parts of the process if I read this image correctly 08:01
08:06 FROGGS joined 08:18 mephinet left 08:20 mephinet joined 08:21 Ven joined 08:25 kjs_ joined 08:29 Ven left 08:30 [Sno] joined, fhelmberger joined 08:32 Ven joined 08:38 tinyblak_ left, tinyblak joined 08:43 kjs_ left 08:47 espadrine left
mathw morning 08:52
nwc10 correct! It's always morning on #perl6 :-) 08:57
and it's always good.
violators will be hugged.
09:02 spider-mario joined
jnthn Good Chinese Aft^W^Wmorning! 09:03
Ven \o 09:04
09:05 cdc left 09:07 skids joined 09:11 skids left
FROGGS o/ 09:12
09:13 kjs_ joined 09:14 kurahaupo1 joined 09:15 skids joined
masak good antenoon, #perl6 09:15
09:17 dombo joined
jnthn o/ masak 09:18
FROGGS hugs masak 09:22
09:24 cdc joined
cdc Hello #perl6 09:24
masak feels warm from FROGGS' hug :) 09:25
cdc m: my $mode-32bit
camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W8lZwQC6XS␤Confused␤at /tmp/W8lZwQC6XS:1␤------> 3my $mode-327⏏5bit␤»
cdc is this ^ expected?
jnthn Yes
cdc ok :)
FROGGS masak: not as warm as a baby that just woke up :o)
jnthn Segments of a ' or - separated variable have to match <ident>
masak FROGGS: no, probably not
cdc jnthn: ok, it makes sense. 09:26
jnthn (So, start with an alpha)
It keeps us from confusing var name bits with subtraction :)
masak cdc: think of it as a mechanism that disambiguates what you wrote from `$mode-32`
right. :)
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␤␤»
masak jnthn: you're like a genie in a lamp, giving people their wish even when it ruins them :P 09:29
cdc :D
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
masak haha 09:31
jnthn Hm, I should probably actually write the talk I'm giving this evening. :)
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
nwc10 but first you need to return to your lonely beer fridge?
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, [ptc] joined
FROGGS "The beer fridge is a little empty at present." -- that's false 09:35
it is not wrong, just false 09:36
09:36 dakkar joined
masak m: sub a-little-empty(@fridge) { !@fridge }; say a-little-empty my @beer-fridge 09:36
camelia rakudo-moar 9746e8: OUTPUT«True␤»
jnthn m: say so "The beer fridge is a little empty at present."
camelia rakudo-moar 9746e8: OUTPUT«True␤»
masak FROGGS: no, it's true :)
jnthn: great minds think different :P
(but reach the same result) 09:37
FROGGS .oO( FridgeBoolSpec )
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 :)
mathw I applied for a Perl job. I intend to bring the Perl 6 enlightenment. 09:43
09:44 tadzik left
nwc10 mathw: where(ish) in the world? 09:44
mathw nwc10: more or less the middle of England :) 09:45
09:45 tadzik joined
nwc10 so, nearer the sea than I am. 09:45
mathw maybe
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.
mathw yeah
09:46 wingfold joined
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
FROGGS but, who needs the sea anyway
nwc10 indeed. I'm more bothered by the relative lack of cider and lamb. 09:47
FROGGS ohh yeah, food is important
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.)
(I like Efes. But I like lamb more) 09:49
09:49 lizmat_ is now known as lizmat, wingfold left 09:52 espadrine joined 09:53 dombo left
mathw nwc10: where are you now then? 09:53
nwc10 Vienna. 09:54
mathw and we do need the sea, because without the sea you can't have the seaside
and there's nothing like eating sandwiches which have actual sand in them
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)
mathw nwc10: I've not made it to Vienna yet. But it is a long way from the sea, yes.
nwc10 Compared with the UK, one aspect of the road signs amuse me a lot 09:55
there are at least two here which show *six* different coutnries on them (as destinations)
mathw yeah we can't really do that here
09:56 brrt joined
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.
and I think I can see Slovakia from my balcony on a clear day.
(Hungary is behind a few too many hills)
mathw I remember taking an ICE from Dusseldorf to Freiburg, which was actually going from Amsterdam down into Italy
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
One field.
jnthn used to take afternoon walks to Austria, and just saw a few now-disused buildings there 09:58
uh, where the Iron Curtian used to be, I mean.
There was a few more things in Austria itself :P 09:59
nwc10 lots of wind turbines.
FROGGS yeah, somebody has to make all that wind 10:00
masak .oO( what part of "turbine" did you miss? ) :P 10:01
FROGGS :P 10:02
mathw my uncle's a wind farm...
masak my uncle's a Beowulf cluster.
tadzik my uncle is a human, is there a support group? :o 10:04
masak People With All Too Human Uncles Anonymous
"hi, I'm tadzik." -- "hi, tadzik." -- "my uncle's a human." -- *gasps* 10:05
mathw gosh
I don't think I could cope
masak happens in the best of families
mathw one of my other uncles is a bicycle with a human avatar
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? )
mathw I'm in a silly mood 10:08
for some reason
masak ;) 10:09
m: sub a-little-empty(@fridge) { !@fridge }; say a-little-empty my @uncle 10:10
camelia rakudo-moar 9746e8: OUTPUT«True␤»
masak my uncle is a somewhat empty fridge.
arnsholt is doing actual stuff with Perl 6 for the first time o/ 10:12
About damn time too, it might be added
masak arnsholt++
10:13 tinyblak left
arnsholt I suspect sub MAIN is going to be a fave feature 10:13
10:16 chenryn left
mathw wooo 10:17
yes I think sub MAIN is awesome for writing all those handy tools
I just love the extra tidiness 10:19
I can say things in Perl 6 more concisely than anything that isn't Haskell
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
mathw and yet they are still readable. Awesome.
10:20 tinyblak joined 10:23 skids left 10:25 andreoss joined
andreoss where are POSIX module subs in perl6? 10:26
10:26 skids joined
[ptc] yay, just got moarvm, nqp and rakudo building as Debian packages :-) 10:35
10:37 andreoss left 10:42 bjz joined, larion joined 10:43 chenryn joined
arnsholt Do we have a way to do mktemp or mkstemp yet? 10:45
10:46 Foxcool joined 10:49 xprime left 10:54 anaeem1__ joined, kurahaupo1 left 10:55 anaeem1__ left, anaeem1_ joined 10:56 anaeem1 left 10:57 prime joined 10:58 bjz left 11:02 coffee` joined 11:05 Akagi201 joined, prime left 11:08 Akagi201_ left
arnsholt Mmmmm. SIGPIPE 11:09
11:09 prime joined
arnsholt Are there any convenience wrappers around Proc::Async? 11:09
11:10 andreoss joined 11:18 grondilu joined
grondilu m: say "$_ {.perl}" for ^5 11:18
camelia rakudo-moar 9746e8: OUTPUT«0 Nil␤1 Nil␤2 Nil␤3 Nil␤4 Nil␤»
grondilu m: say "$_ {$_.perl}" for ^5
camelia rakudo-moar 9746e8: OUTPUT«0 Nil␤1 Nil␤2 Nil␤3 Nil␤4 Nil␤»
grondilu that does not look right to me
star: say "$_ {.perl}" for ^5 11:19
camelia star-m 2015.02: OUTPUT«0 Nil␤1 Nil␤2 Nil␤3 Nil␤4 Nil␤»
..star-p 2015.02: OUTPUT«0 0␤1 1␤2 2␤3 3␤4 4␤»
FROGGS the block in the string still gets the "it is a callable with an optional $_" thing, even there
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)␤»
FROGGS ahh, too bad
m: say "$_ {&?ROUTINE.signature.say}" for ^5
camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lUnLqwLW1E␤Undeclared routine:␤ &?ROUTINE used at line 1␤␤»
FROGGS hmmm, I might know about a fix.... 11:21
jnthn I suspect the block doesn't get shuffled correctly into the thunk 11:22
And so ends up with the wrong scope
FROGGS I'd thought it gets the default signature 11:24
11:25 skids left
FROGGS ahh, hmmm, no 11:25
11:26 anaeem1_ left, anaeem1 joined 11:27 bjz joined
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
11:28 kurahaupo1 joined
FROGGS k 11:28
11:34 brrt left 11:46 kaleem left 11:59 lichtkind joined
hoelzro o/ #perl6 12:06
FROGGS hi hoelzro
12:10 chenryn left 12:12 tinyblak left
masak the biggest threat to any refactor I make in my code is... me. 12:14
usually I try to do the refactor *and* something else too, that I find along the way. usually it's another refactor.
12:15 telex left
masak and they interact somehow, or I forget to to half of one of them, and stuff breaks. 12:15
then I go back and do things one at a time, and it works.
there's some kind of wild overconfidence in my own ability to juggle stuff going on.
FROGGS same here
masak as the years pass, more and more I recognize this kind of confusion as a source of mishaps in my code. 12:16
"refactoring greed" :)
jnthn In the good cases, "git stash -p" helps you put half of it aside :)
12:16 telex joined
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.
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 :)
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. :)
arnsholt masak: I suspect it's one of those pervasive bugs in himan cognition
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.
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.
Thus stuff like promises (work on something, report it back) 12:20
masak troo
jnthn And producer/consumer channels (grab something, do my thing on it, shove it in the output and never speak of it again)
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)
Bug or feature?
masak "the whole thing is made of parts. to the extent the parts interact, they do so between the parts, not inside the parts"
jnthn arnsholt: Probably bug 12:22
arnsholt Yeah, that's what it felt like to me
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 )
arnsholt Oh. I guess adding supply.done here might do it: github.com/rakudo/rakudo/blob/nom/...nc.pm#L129 12:30
12:30 skids joined
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…»
arnsholt Yeah, it's less than awesome 12:32
FROGGS that's state it is 'not quite awesome' :o)
12:35 sirhouseboat left
grondilu given two infinite lists of integers, how could I build a list of integers that are in both lists? 12:36
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
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:38
12:39 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
grondilu the result does not have to be sorted. The elements must show up in a "low-indices" first way. 12:39
but really in truth the order does not matter, as long as elements are indeed provably in both lists. 12:40
(and without repetition of course)
jnthn gather { my %occs; for @a Z @b { .take if %occs{$_}++ } } 12:41
12:41 kjs_ left
jnthn Works *iff* the lists are unique. 12:42
grondilu they aren't, unfortunately.
but I guess I could make them.
12:43 skids left
grondilu which makes me wonder if .unique works for infinite lists. 12:43
jnthn Think so
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:56 anaeem1 left 12:58 skids joined 12:59 skids left
hoelzro alright, p6-linenoise now installs via panda install \o/ 12:59
that tab completion checklist is getting shorter =)
tadzik awesome! 13:01
hoelzro++
[ptc] hoelzro++
Ulti hoelzro++ 13:04
is there a karma counting bot after all this time? 13:05
13:05 colomon left
Ulti otherwise I might update my emobot from Text::Emotion to do it 13:05
psch .karma Ulti 13:06
vOv 13:07
also hi \o
!karma Ulti 13:08
i thought i remembered something...
@karma Ulti 13:09
according to the clog there were 3 in 2007
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
13:10 skids joined
psch karma Ulti 13:10
hm, now i tried everything that i could see in the clog
FROGGS there is no karma bot here atm 13:11
13:11 Foxcool left 13:12 Foxcool joined 13:18 raiph joined
sergot 18:39 < FROGGS> sergot: are you going to work on updating pointers passed from P6? 13:19
FROGGS: what do you mean?
13:19 skids left
jnthn
.oO( That probably means "no" :) )
13:20
sergot yeah :))
13:22 skids joined
raiph
.oO( That probably means "yeah" :) )
13:23
13:24 Foxcool left
FROGGS sergot: I was talking about what I said earlier in privmsg 13:25
13:25 Foxcool joined
sergot oh, let me read and recall what it was about 13:25
FROGGS sergot: gist.github.com/FROGGS/979e81a79100b465bcab 13:26
13:26 Foxcool left, skids left
sergot thanks 13:27
13:27 Foxcool joined 13:31 kurahaupo1 left 13:32 skids joined 13:35 kaleem joined, xfix joined 13:38 skids left 13:39 colomon joined 13:43 eli-se joined
FROGGS jnthn: should a Pointer[long].new malloc a long* ? 13:43
eli-se I need to do OCR. :(
13:46 eli-se left 13:47 laouji left 13:52 larion left, andreoss left 13:53 kaleem left, larion joined
ab5tract hoelzro: can you elaborate a bit on what p6-linenoise does? are we removing linenoise from core? 13:53
masak it's a readline replacement 14:00
14:00 skids joined
masak it handles up/down keys, history, etc 14:00
14:02 Sqirrel left 14:03 colomon left
FROGGS linenoise is also a C library, a replacement of readline 14:04
and hoelzro++ does a high level implementation of our REPL
14:04 raiph left
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:11
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, Sqirrel joined
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
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? :)
hoelzro right now my code only looks for Linenoise.pm
ab5tract: heh, I don't know how extensible my work is =)
ab5tract: what modifications do you have in mind?
ab5tract well, being able to paste multiple lines coherently is probably my number one 14:14
hoelzro ahhh
someone else was talking about their work on that
hoelzro backlogs
psch, I believe 14:15
ab5tract also being able to create configs that are run on startup or shutdown.. logging..
14:16 zakharyas joined
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
a few cases work
hoelzro that would be great, ab5tract
psch easy things like «say 1 +\n1;»
hoelzro right now all REPL modifications are done in NQP; I would like for them to be done in Perl 6 instead, personally
ab5tract so is Linenoise.pm a NativeCall wrapper around liblinenoise ? or a PP version?
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
ab5tract: I suppose it is 14:19
a PP version of Linenoise would totally be doable
FROGGS hoelzro: a PP version would sound a very good thing to me 14:20
TimToady and maybe we could even make it handle Unicode right... 14:21
nwc10 I hope that it wouldn't delay Christmas
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
it's obvious that the current linenoise doesn't have a clue that multiple UTF-8 bytes represent single graphemes 14:23
hoelzro yeah, it's kind of dumb 14:24
but that's part of its goal, I think
ab5tract hoelzro: I haven't gotten it into the ecosystem yet, but you might be able to leverage some things from Terminal::Print
but it probably needs some optimization
hoelzro ab5tract: I probably won't work on a PP version of Linenoise for a little while 14:25
ab5tract fair enough
hoelzro I need to move apartments and finish my Coursera courses before I get deeply involved with anything =)
nwc10 I might be biased/opinionated/incorrect/believing-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"
hoelzro I stupidly thought I could finish the tab completion code in an evening =) 14:26
ab5tract :)
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.
hoelzro nwc10: that's from the project's README, I think
that's a fair point
nwc10 this wasn't my point. This was the thing from someone else
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
nwc10 also, IIRC, there's a BSD licensed equivalent already
(IIRC from reading these grumbles)
hoelzro yeah, libedit, or editline
I think it's even binary compatible with readline
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
sorry if I'm sounding cynical.
but it's often not clear whether new wheels were actually needed 14:29
hoelzro nwc10: re-implement as far as a PP version is concerned? or the motivation for linenoise itself? 14:30
nwc10 linenoise 14:31
I can see benefits of doing a PP version
in that we have one codebase for MoarVM, JVM, (potentially JS, ressurected parrot, etc)
and deal with NFG
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
hoelzro mhmm
14:32 coffee` left
nwc10 not faulting "use linenoise to get to where we are" 14:32
I'm more somewhat wondering why linenoise needed to exist at all, given that libedit existed
hoelzro I think for a very fancy REPL, we'll need to write a PP line editor
nwc10: oh, ok
nwc10: NIH syndrome? =) 14:33
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
"Smaller programs not using a configure script not supporting line editing at all (A problem we had with Redis-cli for instance)."
that's the motivation for linenoise
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:35 [Sno] left
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 14:39 Sqirrel left 14:43 Sqirrel joined 14:46 rararara joined 14:53 molaf joined 14:57 eli-se joined
eli-se what a beautiful day 14:58
masak \o/ 14:59
15:00 morjo left
masak I just updated github.com/masak/007/blob/master/README.md for added surrealism. 15:01
15:02 eli-se left 15:05 colomon joined 15:09 morjo joined
hoelzro is there a way to iterate over a Perl 6 List/Array from within NQP? 15:09
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:11 zakharyas left 15:13 Akagi201 left
FROGGS otherwise you might have to pull out some $!list or $!storage 15:13
15:13 SamuraiJack left
FROGGS ... via getattr_o 15:13
err, getattr
15:13 Akagi201 joined 15:14 larion left
TimToady hoelzro: yes? 15:16
15:16 morjo_ joined
hoelzro ok, that's what I thought 15:16
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')
I was wondering if there was another way
[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))
camelia nqp-moarvm: OUTPUT«␤»
FROGGS nqp-m: say(nqp::what(42).HOW.name(nqp::what(42)))
camelia nqp-moarvm: OUTPUT«BOOTInt␤»
hoelzro [Coke]: perhaps
I'll look into that
FROGGS hoelzro: nqp::getattr($p6list, nqp::what($p6list), '$!list')
[Coke] though I'd expect it to look an awful lot like what FROGGS posted.
15:20 morjo left
hoelzro FROGGS: would that work if $p6List were not a List, but rather a subclass? 15:20
because nqp::getattr needs the class that '$!list' is declared in, right?
FROGGS hmmm
15:22 ShimmerFairy left 15:23 khisanth_ is now known as Khisanth, prime left
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 =)
no need to wrack brains; I just thought I'd ask if someone knew off hand 15:24
FROGGS lol: www.youtube.com/watch?v=iNPVqgh0u4Q
Sqirrel: you've gotta watch: www.youtube.com/watch?v=iNPVqgh0u4Q 15:25
15:25 ShimmerFairy joined, eli-se joined 15:26 eli-se left, prime joined 15:28 eli-se joined 15:30 eli-se left 15:31 prime left 15:32 gfldex joined
[Coke] mmhehehe. forwarded that to my beatboxing son. 15:32
15:33 larion joined 15:34 anaeem1 joined, prime joined 15:40 Rounin left
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:41
15:42 kjs_ joined
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.
oh - one is _64, one is not. 15:44
that might be more relevant.
FROGGS++
timotimo yes, that's more relevant indeed
we don't have a jit for x86 without 64 yet
FROGGS one is built on windows xp, the other one on windows 7
15:46 J-L left 15:47 Ven left 15:51 prime left
abraxxa nwc10: welcome to Vienna! 15:52
15:55 prime joined
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
so ++
FROGGS yes, the GLR code has landed so far 16:01
16:03 Ven joined
[Coke] *no* GLR code. 16:06
nor in branches, for that matter.
pmichaud: If you a project plan, I'm sure we can find some minions to help with actual coding.
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:13 FROGGS left 16:16 ponpon is now known as ponbiki
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:16
16:17 Akagi201_ joined
retupmoca install process was just 1) install rakudo star msi, 2) install git, 3) unzip and double-click this .bat file 16:17
so it actually works fairly well 16:18
although I don't think we can hide the terminal window popup for perl6 yet
gtodd yes for sure ++GLR ... I only wanted to say improvements elsewhere seem to somehow make small dents in speeding up listy things 16:20
16:20 Akagi201 left
gtodd by that I mean things like this 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:22
m: 7/44 16:24
camelia ( no output )
gtodd m: say 7/44
camelia rakudo-moar 9746e8: OUTPUT«0.159091␤»
gtodd m: say (7/44)*100
camelia rakudo-moar 9746e8: OUTPUT«15.909091␤»
gtodd :)
timotimo er 16:26
m: say (37/44)*100
camelia rakudo-moar 9746e8: OUTPUT«84.090909␤»
timotimo i think you meant this
oh
actually, 44 - 37 == 7
so never mind me
larks maybe one day there will be gotos ;_; 16:27
Ven larks: we at least have one form of gotos :P 16:30
16:31 larion left
timotimo aye, labeled loops 16:31
how does the cmd.exe window vs no cmd.exe window distinction work on windows anyway?
retupmoca I'm not sure tbh; but we currently start everything with batch files, which force a command window 16:32
idk if running moar.exe directly makes one pop up 16:33
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:34
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?
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, coffee` left
grondilu wonders if there is more efficient and considers [&&] map { $_ == one(@a) }, @a 16:37
Ven grondilu: seems like this is less efficient to me :P 16:38
you need to traverse the list two times, it's O(2n)? whereas unique would be O(log n)? 16:39
n^2 rather than 2n, I guess.
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.
0.003% won't be unique to be exact 16:43
TimToady I think you just contradicted yourself...
grondilu oh yeah 16:44
I meant 0.003% will be unique
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. :)
grondilu FYI it's for project euler stuff and pandigital numbers (trying not to be mysterious about what I'm doing)
masak in that sense, it's a bit more worrying/strange that ufo got such a weird README
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
grondilu one part of me would like to write all(@a) == one(@a) but I know that's not how it works.
masak TimToady: I respectfully petition that X not be used for that... 16:48
TimToady: X has the connotations of a cartesian product. the nice thing about cartesian products is that the rhs and the lhs are independent.
it makes sense that if someone is looking for moar powar, the look for it in another operator or construct. 16:49
maybe that's what we should use Y for :P
TimToady @list.combinations(2)
masak or, since you want triangular things, maybe Δ
or ◺ 16:50
TimToady for (^10).roll(10).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK" 16:51
m: for (^10).roll(10).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK"
camelia rakudo-moar 9746e8: OUTPUT«False␤ in block <unit> at /tmp/0goLrY13F_:1␤␤»
TimToady m: for (^10).pick(10).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK"
camelia rakudo-moar 9746e8: OUTPUT«OK␤»
TimToady grondilu: ^^^ should even be lazyish
m: for (^1000000000).roll(1000).combinations(2) -> [$x,$y] { die "False" if $x == $y }; say "OK" 16:52
maybe not lazy enough
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?
TimToady define "soon"
grondilu m: my @a = (^10).roll(10); say [&&] map { [!=] @$_ }, @a.combinations(2)
camelia rakudo-moar 9746e8: OUTPUT«False␤»
jdv79 i just got a port of a dsl parser i wrote in p5 and its more or less that much slower
:(
got it passing its tests i meant to say 16:54
grondilu [&&] would stop if it should, right?
16:54 geever joined
jdv79 < 1y 16:54
grondilu (I mean if it encounters a False)
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␤»
grondilu m: my @a = (^10).roll(10000); my $count; say [&&] map { $count++; [!=] @$_ }, @a.combinations(2); say $count;
camelia rakudo-moar 9746e8: OUTPUT«(timeout)» 16:56
TimToady combinations is returning pairs, why all the fancy @$_ stuff?
grondilu it's shorer to write?
I could write .[0] != .[1] I guess
TimToady first * != * 16:57
grondilu oh
no
TimToady oh, wait
first -> [$x,$] { $x != $y }
*y
moritz brrt++ # brrt-to-the-future.blogspot.de/2015...piler.html 16:58
grondilu m: my @a = (^10).roll(10); say defined first { [==] @$_ }, @a.combinations(2)
camelia rakudo-moar 9746e8: OUTPUT«True␤»
grondilu m: my @a = (^10).roll(10); say !defined first { [==] @$_ }, @a.combinations(2)
camelia rakudo-moar 9746e8: OUTPUT«False␤»
TimToady m: (^20).combinations(2)[0].say 16:59
camelia rakudo-moar 9746e8: OUTPUT«0 1␤»
TimToady m: (^200).combinations(2)[0].say
camelia rakudo-moar 9746e8: OUTPUT«0 1␤»
16:59 Ven left
TimToady m: (^2000).combinations(2)[0].say 17:00
jdv79 github.com/jdv/p6-data-selector is what i'm talking about
camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
TimToady definitely a bit too eager
17:01 FROGGS[mobile] joined
FROGGS[mobile] larks: you might find phasers at least as enjoyable as gotos in C 17:02
17:03 anaeem1 left
moritz masak++ # p6u answer to Henk 17:03
grondilu m: say [&&] map * > .01, rand xx 100000;
17:03 anaeem1 joined
camelia rakudo-moar 9746e8: OUTPUT«False␤» 17:03
grondilu m: say [&&] map * > .01, rand xx *;
^should this work?
camelia rakudo-moar 9746e8: OUTPUT«(timeout)» 17:04
17:04 coffee` joined
spider-mario <timotimo> how does the cmd.exe window vs no cmd.exe window distinction work on windows anyway? 17:04
iirc, with mingw, you get a “gui” application by building it with -mwindows and providing a WinMain function instead of main
grondilu I mean, shouldn't [&&] stop as soon as it encounters a False?
spider-mario (the default being -mconsole)
so it’s a property of the resulting executable to open a console or not
that’s why there are python.exe and pythonw.exe 17:05
timotimo ah, interesting
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
(-lSDLmain)
timotimo ah, so THAT is what SDLmain is for! 17:07
17:07 coffee` left, anaeem1 left
grondilu writes $string.comb.combinations(2) and finds the repetition of "comb" weird. 17:07
17:08 coffee` joined 17:10 [Sno] joined
timotimo hehe 17:10
TimToady jdv79: I would suggest not using .caps if you want efficiency; also, why do you reparse things? 17:13
17:14 eli-se joined
grondilu what is "comb" short for anyway? 17:15
raydiak good morning #perl6 17:16
TimToady it's not short for anything. 17:17
grondilu what does it mean then?
TimToady it's just the English verb "to comb"
grondilu oh
grondilu looks in wiktionary
TimToady "combing the beach for pretty driftwood"
grondilu learnt a word today 17:18
masak always thinks of the "combing the desert" scene in Space Balls
TimToady also gets suspicious when he sees a grammar that contains nothing but rules, and wonders if whitespace is really allowed everywhere 17:19
17:19 anaeem1 joined
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
masak ashleydev: you have to speak up
ashleydev sorry. 17:22
TimToady space, the final frontier...
masak hugs ashleydev
17:23 fhelmberger left 17:27 muraiki joined
Mouq RE: irclog.perlgeek.de/perl6/2015-03-25#i_10338849 I volunteer as tribute (to a pminion) 17:29
*be
masak Mouq++
spider-mario the term “kebab case” makes me hungry :( 17:30
17:30 diana_olhovik_ left 17:31 rurban_ joined
masak spider-mario: would it help to call it "shashlik case" instead? :P 17:33
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:37
17:38 bayprogrammer joined
Mouq m: say ?any map * > .01, rand xx 100000; 17:39
camelia rakudo-moar 9746e8: OUTPUT«True␤»
Mouq m: say ?all map * > .01, rand xx 100000;
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?
Mouq spider-mario: I think of it as being equivalent to (1, 2, 3).reduce(&[op])
spider-mario after all, [==], [<], etc. work as intended, whereas they would not with a traditional reduce 17:41
Mouq spider-mario: Ah… hm
m: say &[==].prec 17:43
camelia rakudo-moar 9746e8: OUTPUT«iffy => 1, pasttype => chain, prec => m=␤»
Mouq m: say &[&&].prec
camelia rakudo-moar 9746e8: OUTPUT«prec => l=␤»
17:45 bayprogrammer left, espadrine left
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:46
m: say ?any map * > .00001, rand xx *; 17:48
17:48 tinyblak left
camelia rakudo-moar 9746e8: OUTPUT«(timeout)» 17:48
grondilu m: say ?any map * < .001, rand xx *;
17:49 tinyblak joined
camelia rakudo-moar 9746e8: OUTPUT«(timeout)» 17:49
grondilu m: say ?any map * < .1, rand xx *;
17:49 azawawi joined
azawawi hi #perl6 17:49
camelia rakudo-moar 9746e8: OUTPUT«(timeout)»
grondilu m: say any True xx * 17:50
17:50 noganex_ left
camelia rakudo-moar 9746e8: OUTPUT«(timeout)» 17:50
azawawi m: say @*INC
camelia rakudo-moar 9746e8: OUTPUT«file:/home/camelia/rakudo-inst-1/share/perl6/lib inst:/home/camelia/rakudo-inst-1/share/perl6␤»
grondilu m: say ?any True xx *
camelia rakudo-moar 9746e8: OUTPUT«True␤»
grondilu m: say ?any map * < 1, rand xx *;
camelia rakudo-moar 9746e8: OUTPUT«(timeout)» 17:51
azawawi moritz: ping
moritz azawawi: pong(ish)
azawawi moritz: is it by design that @*INC has (core) libs before (site) share libs? 17:52
17:53 tinyblak left
azawawi moritz: looking at rakudo star, any existing panda-installed (rakduo/share/lib) module cannot override its predecessor in rakudo/lib 17:54
17:55 telex left 17:56 telex joined, anaeem1 left 17:57 anaeem1_ joined
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
17:59 anaeem1_ left, anaeem1 joined
TimToady in other words, I think that ordering repostitories in @*INC is a botch 18:00
azawawi TimToady: I see. Thanks :)
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
synopsebot Link: design.perl6.org/S03.html#line_4718
TimToady s/post/pos/
if a site lib wants to override a module of a given version, it must use a different auth, not @*INC ordering 18:01
18:01 dakkar left
TimToady identity, identity, identity... 18:01
18:03 Hor|zon left
TimToady and auth ordering needs to be independent of @*INC order too 18:03
18:04 Hor|zon joined
TimToady @*INC is far too crude of an ax for this 18:04
18:04 anaeem1 left, xinming_ left
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
18:05 AndChat|228864 joined
TimToady at most, @*INC order could be used for a final tiebreaker for two auths that are otherwise not ordered in desirability 18:06
18:06 molaf left 18:07 AndChat|228864 is now known as JimmyZ_
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
18:07 anaeem1_ joined 18:08 JimmyZ_ left
TimToady official repos should be searched in parallel, not depth first, to put it another way 18:08
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
using panda that is
azawawi begins building rakudo on his amd64 win7 machine 18:10
18:12 diana_olhovik_ joined
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:14
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`
TimToady long-term, panda must understand complete package identities, yes 18:18
18:19 molaf joined, Hor|zon left
PerlJam wonders what "official repos" are 18:20
TimToady has been harping on this notion of complete identity for about ten years now...
official repos contain only immutable modules with complete identity
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:21
flussence wonders how well git-as-a-module-database would work 18:23
TimToady well, git understands immutability at least
PerlJam TimToady: Remember that the future is unevenly distributed both in time and space :)
TimToady yes, which is why I'm so anxious to distribute the future sooner and further 18:24
18:25 Peter_R joined
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:25
18:27 noganex joined
PerlJam flussence: Are you going to hack together a prototype? 18:30
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 abraxxa left
flussence sqlite's a good choice too, works everywhere. 18:32
TimToady might be worthwhile to prototype with flat files first just to get the obvious bugs out 18:33
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
azawawi btw, sqlite actually scales to storing 24x7 recorded video :) 18:36
azawawi takes a look at www.sqlite.org/limits.html
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
flussence raydiak++
azawawi raydiak++ 18:38
TimToady was using "md5" generically :)
jercos Xeroxes TimToady's Hoover 18:39
PerlJam jercos: have some Kleenex
timotimo is being treated to Hogan's Heroes 18:40
masak .oO( if you don't get these references, just google them )
azawawi raydiak: any link for Git::PurePerl?
jdv79 TimToady: what if not caps?
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
so it's a wasted sort
do you have a dataset you're timing with? 18:42
I wouldn't mind running the profiler on it to see what pops out
azawawi 51 perl6 modules with ':ver<...>', 31 with ':auth<...>' 18:43
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
TimToady according to original S11, we should not allow authless modules in official repos ever
(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 eli-se left
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
otherwise people will Xerox modules poorly and then require Kleenex 18:46
azawawi PerlJam: perfect. github.com/perlpilot/p6-Git-Wrapper/ :)
TimToady this is all part of knowing exactly what language you're running
TimToady suspects he's not done with the identity rant yet... :) 18:47
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:48
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?
raydiak: s/connections/github urls/
18:50 FROGGS[mobile] left, FROGGS[mobile] joined
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?
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
azawawi retupmoca: nope... i didnt know that existed. thanks for sharing it :) 18:53
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:55
retupmoca raydiak: sure - just let me know where it is 18:56
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
its likely very wrong - it just happens to pass the tests
azawawi panda install IO::Socket::SSL :) 18:59
jdv79 yes, it should be all tokens. not sure why i used all rules... 19:02
19:02 Perl6_newbee joined
jdv79 TimToady: thanks 19:03
19:04 iv left, mr-foobar joined, iv joined 19:05 kjs_ left 19:07 FROGGS[mobile] left, FROGGS[mobile] joined 19:09 anaeem1_ left
moritz azawawi: re @*INC order: once modules are precompiled, you can't replace their precompiled dependencies anyway 19:11
azawawi moritz: i noticed
jdv79 s/.caps/.hash/g doesn't seem to change much 19:14
psch m: say ("a" ~~ /a/).caps.WHAT 19:15
camelia rakudo-moar 9746e8: OUTPUT«(Array)␤»
19:16 rurban_ left, Perl6_newbee left
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 19:18 FROGGS joined 19:21 Hor|zon left, kjs_ joined
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
camelia rakudo-moar 9746e8: OUTPUT«("3" => 1, "1" => 1, "2" => 1).hash␤»
masak \o/
FROGGS TimToady: btw, atm panda cannot even handle two differnt Foo dists... I put two of them in the ecosystem for testing purposes 19:24
TimToady: but btw, much of S11 works when you use panda/eleven to install dists into your CUR::Installation "database" 19:25
azawawi good night #perl6 19:27
FROGGS gnight azawawi
19:27 larion left
krunen Everyone, OSDC.no (including Nordic Perl Workshop, Oslo, 8-10. may) talk submission deadline is this friday! Please submit your talks ASAP. 19:27
19:28 azawawi left 19:29 coffee` left 19:30 larion joined, coffee` joined
raydiak retupmoca: github.com/raydiak/Git-PurePerl/bl...ack.pm#L78 is where I get "Cannot inflate stream: incorrect header check", is a port of github.com/broquaint/git-pureperl/...ack.pm#L93 19:38
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'
but 'gzip' has a different header, and 'deflate' has no header at all
19:41 abraxxa joined
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:41
raydiak hasn't really conclusively gathered all the info he needs on packfiles 19:42
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:43
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:44
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:51 skids left 19:52 Hor|zon joined
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
19:53 eli-se joined, colomon left
raydiak .tell azawawi the url is 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
dalek rl6-roast-data: e982369 | coke++ | / (8 files):
today (automated commit)
19:59
20:01 darutoko left
[Coke] nqp-parrot still broken. 20:02
moritz and it seems that hack is doing much better these days
no freezes / hangups for 4 days
nwc10 must have been those resouce hogging IRC clients 20:03
moritz nope
20:03 brrt joined
moritz FROGGS++ disabled some cron jobs; maybe that's related 20:04
FROGGS moritz: every time the machine got stuck I had cron mails about segfaults of perl6-m too 20:05
I dunno if these are related or if the mails where generated hours or days earlier
but this could be connected somehoe
how*
moritz FROGGS: my suggestion would be re-enable them, but with a smaller frequency, and some extra resource limits in place 20:06
FROGGS: and with an flock (1) in place to ensure that no two instances of the job are running at the same time
FROGGS moritz: I use plain files that I create when the job starts and remove when it is done 20:07
because you cannot lock a file yet
moritz FROGGS: there's a command line tool called flock, which you can use to wrap your calls to perl6-m 20:09
FROGGS: that way you don't spawn a full perl6 process just to check for the lock 20:10
FROGGS ahh
moritz */5 * * * * flock -n ~/update.lock -c ./doc/util/update-and-sync > update.log 2>&1 20:12
that's the doc.perl6.org rebuild script
FROGGS will do that 20:14
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
20:15 yqt joined
Mouq TimToady: I'd think we want a scheme that works with both flat files and immutable identities anyway… 20:19
20:19 colomon joined 20:28 gtodd left 20:32 abraxxa left, abraxxa joined
dalek ecs: c25d86e | Mouq++ | S03-operators.pod:
Update and clarify description of reduce on ops beginning with backslash

infix:<\x> was wrongly stated to completely mask triangle reduce with infix:<x>, but we now have the [\[x]] syntax for disambiguation.
20:35
20:40 rindolf left 20:52 abraxxa left, colomon left 20:53 spider-mario left, FROGGS[mobile] left, FROGGS[mobile] joined 20:54 spider-mario joined, kurahaupo1 joined 20:56 sno joined, [Sno] left
_edwin m: msb(-2) 20:59
camelia ( no output )
_edwin m: -2.msb.say 21:00
camelia rakudo-moar 9746e8: OUTPUT«1␤»
_edwin m: say -2.msb == (-2).msb 21:01
camelia rakudo-moar 9746e8: OUTPUT«False␤»
_edwin d'oh, the .msb binds tighter, stupid me 21:02
21:03 _edwin left
jdv79 aw c'mon. i can't even sort the profiles:( 21:10
chrome and FF both die off when trying
moritz time to write a better browser, eh? 21:11
jdv79 how do you guys load profiles for decent runs? 21:12
jnthn jdv79: By keeping the decent runs small, mostly...
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
jnthn jdv79: The profiler UI was written using AngularJS
jdv79: Which was all I had time to do, but unfortunately the "wrote it fast" has come with "it runs slow" :(
masak still wants to do something about that 21:14
jnthn ++masak :)
masak heh.
jnthn I'm hoping somebody who is decent at JavaScript and web stuff will take care of it. masak is, sadly I'm not :)
FROGGS hoelzro: there is no problem with dynamically linking against another lib
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
hoelzro FROGGS: with GPL (not LGPL), I think that meant the linking program constituted a derivative work
oh, is that it?
that makes sense, then
FROGGS isnt that the reason why you have to thing about static vs dynamic linking? 21:16
I often read questions "am I allowed to statically link again library X"
and for libSDL they've changed their license to make static linking easier
www.libsdl.org/license.php 21:17
21:20 mohij joined
hoelzro I see 21:21
I guess that if you distribute the .so/.dll/.dylib, that's what affects it
FROGGS++ # clearing up GPL for me
21:22 colomon joined, captain-adequate left
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 - jdv.devuyst.com/profile-1427318478.92143.html 21:23
21:27 FROGGS left 21:32 tbrowder joined 21:34 FROGGS[mobile]2 joined
[Coke] .u sad 21:34
yoleaux U+0635 ARABIC LETTER SAD [Lo] (ص)
U+069D ARABIC LETTER SAD WITH TWO DOTS BELOW [Lo] (ڝ)
U+069E ARABIC LETTER SAD WITH THREE DOTS ABOVE [Lo] (ڞ)
[Coke] .u sadface
yoleaux No characters found
arnsholt jdv79: Yeah, looks like a lot of it is spent in code that isn't yours
jdv79: Although looks like something grammar-y there, maybe you can optimize the grammar a bit?
21:35 FROGGS[mobile] left
jdv79 the code - github.com/jdv/p6-data-selector/bl...elector.pm 21:35
i would appreciate any pointers. TimToady said he might take a look at some point. 21:36
timotimo 0x7fa6ed3a8000
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
That should remove the need for the lookahead in path_part
Although that can be avoided in other ways too, I think
21:38 bjz left
arnsholt Like <-[.$]><-[.]>* rather than <!before \$><-[.]>+ 21:38
Not sure how much of a difference that makes though
21:39 grondilu left
jdv79 dumping the lookahead doesn't show any diff for mr 21:39
*me. except breaking some tests
;)
masak considers henceforth referring to himself as "mr" 21:40
"works for mr"
dalek kudo-star-daily: 83caa39 | coke++ | log/ (7 files):
today (automated commit)
21:41
masak "are you talking to mr?"
jdv79 oh, it is a little faster - thanks arnsholt
mr. me?
idk
timotimo is that like mini me? 21:42
jdv79 perhaps
21:42 brrt left 21:45 kjs_ left 21:50 tgt joined, tgt left 21:51 xfix left 21:54 lichtkind_ joined 21:58 lichtkind left 22:11 BenGoldberg joined 22:12 spider-mario left
hoelzro are the semantics of redeclaring a variable spec'd anywhere? a cursory search of the specs don't turn up anything 22:13
22:13 smls joined
hoelzro the following surprised me a bit: 22:13
m: my $v = 5; my $v; say($v)
camelia rakudo-moar 9746e8: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $v␤ at /tmp/4fBivSTY4O:1␤ ------> 3my $v = 5; my $v7⏏5; say($v)␤5␤»
hoelzro part of me expected $v to be (Any) 22:14
flussence I guess the default for undefined behaviour is "do what perl5 does"
hoelzro flussence: I think Perl 5 undef's $v in that case 22:15
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.
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 :)
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:17
22:22 muraiki left
flussence
.oO( maybe a version that uses the Tango icon palette, to appeal to gnome-types... )
22:23
retupmoca raydiak: install the newest Compress::Zlib, and then try: gist.github.com/retupmoca/5ea886e6d75f62d450b8 22:28
22:31 LonelyGM joined
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:33
I guess that should have been a .tell ... 22:34
.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!
yoleaux japhb: I'll pass your message to nine_.
retupmoca .tell raydiak install the newest Compress::Zlib, and then try: gist.github.com/retupmoca/5ea886e6d75f62d450b8 22:35
yoleaux retupmoca: I'll pass your message to raydiak.
22:36 larion left 22:37 larion joined 22:38 lizmat left
smls TimToady: Rather than spam the channel, I've expanded by response re Camelia colors into a gist: gist.github.com/smls/6f24f81ffd80492e98b2 22:45
^^ 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:47
22:52 virtualsue joined 23:00 geever left 23:21 xxx joined 23:22 lichtkind_ left 23:24 skids joined
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:30
23:33 smls left
eli-se cool, I wrote a video game 23:35
it's been a long time since I did that
23:37 colomon left 23:43 jacksnipe joined
masak 'night, #perl6 23:43
23:45 eli-se left 23:51 virtualsue left 23:52 telex left, colomon joined 23:54 telex joined 23:55 mohij left