»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
jepeway s/time/Instant/ 00:01
err...s:2nd/time/Instant/
jack_rabbit oh, duh. 00:02
[Coke] is down to the last bisect.... slooow 00:03
jepeway camelia's CTCP Time'ing requestor seems a keen idea to me...might need a way to say "nope, camelia's time, not mine," too. 00:06
*requester
TimToady well, all you're gonna get is their server's time, which in my case is 3 hours off from what I'd want... 00:07
jack_rabbit Where do I get the bitmask for IO::Socket.poll? 00:10
jepeway maybe "TZ=US/wherever irssi" (or whichever client) would help there? 00:12
TimToady my client is not in my timezone either 00:13
nick__ hello 00:14
[Coke] annnnd, TimToady broke rakudo-parrot. :)
98c32aaa8b2219 is the first bad commit.
nick__ well thats good?
right 00:15
jepeway well, understood, but if you're on a nix/nux box, can't you just declare your timezone with the TZ envariable and client & OS will DTRT?
nick__ hey i was think an mascot like otter for perl6? any ideas 00:16
[Coke] nick__: hello. Whats up?
nick__: we already have camelia. (the butterfly on perl6.org) 00:17
nick__ new guy, pretty new to perl, coming from perl 5...
how much is a diffs in syntax? between the two 00:18
so far i don't see much of a diff
jepeway hopes he's not coming across as cheeky 00:23
nick__ so what does everyone think of using otter instead of a camelia
??? 00:25
jepeway .tell masak hey, I'm poking at RT 122319; would you have time to peek at clog around irclog.perlgeek.de/perl6/2014-09-01#i_9282046? 00:28
yoleaux jepeway: I'll pass your message to masak.
nick__ Hello? 00:29
[Coke] nick__: it's not going to fly, sorry 00:30
nick__ why?
jepeway well, gtg. g'nite (from US/Eastern aka EDT5EST) #perl6
geekosaur this may not always work anyway. I'm in EST5EDT but my IRC client I force into UTC 00:31
nick__ :/ butterfly, should use the camel instead
[Coke] nick__: perl6.org/about/
"Camelia as the logo for Perl 6 and perl6.org is not negotiable. 00:32
"
timotimo t.h8.lv/p6bench/2014-09-02-since_release.html - the json benchmarks really got a nice little boost from the recent jit and optimization improvements
[Coke] You can imagine that having someone who is not yet part of the community suggest a change about the logo isn
t going to get much traction.
timotimo: nice.
nick__: I do imagine an otter would also be cute, however. 00:33
timotimo i wonder what the otter would symbolize
"this is the otter perl language"? %)
TimToady
.oO(endangered species fighting for existence)
00:34
timotimo .tell japhb_ I'm still wondering why the benchmark plots don't disappear when there is 0 data at all, like the non-nqp-implemented benchmarks in a pure-nqp-comparison
yoleaux timotimo: I'll pass your message to japhb_.
nick__ otter (Joy Agility Energy Curiosity Creativity Dexterity Protection Friendship Playfulness) , i think it would help and i can comeup with a samples 00:35
timotimo does any other language have an otter? 00:36
nick__ also i had came to the chat b4, many time to the community
no, that i know of
we can always otter for automation, since perl has been really good for scripts in that area and master text process 00:37
timotimo .tell japhb_ i wonder when it'll be time to re-implement the perl5 portions of p6bench in pure perl6 :)
yoleaux timotimo: I'll pass your message to japhb_.
nick__ plus i tired many language for admin,script work,system, and web but perl power seem to a lot of bulltin goodness (not talking the library) but the language itself 00:39
Fearlessness is another great symbolic attribute of the otter 00:41
also Native American Zodiac Sign Meanings A little quirky, and unorthodox, the Otter is a hard one to figure sometimes. Perceived as unconventional, the Otter methods aren't the first ones chosen to get the job done. This is a big mistake on the part of others - because although unconventional, the Otter's methods are usually quite effective. Yes, the Otter has unusual way of looking at things, but he/she is equipped with a brilliant i 00:42
allowing him/her an edge over every one else. Often very perceptive and intuitive, the Otter makes a very good friend, and can be very attentive. In a nurturing environment the Otter is sensitive, sympathetic, courageous, and honest. Left to his/her own devices, the Otter can be unscrupulous, lewd, rebellious, and isolated
timotimo cut off after "equipped with a brilliant i" 00:43
nick__ so i truly believe perl, even with a lot people say the syntax or the doing things in more than one way is not good, i disagree. having freedom to write your code give you better option 00:44
look i know i am new, but i seen how can a simple but yet logo can boost perl6. 00:45
i just saying whats on my mind 00:46
i.dailymail.co.uk/i/pix/2014/03/06/...34x424.jpg otter fighting 00:48
nick__ otter can eat snake too ;) 00:50
TimToady
.oO(Proposed order of subject merit: relationships > jokes > culture > philosophy > principles > features > sugar > bikesheds > mascots > competition > licenses...)
01:07
nick__ ?? 01:09
[Coke] nick__: I appreciate your desire to make the otter the mascot for perl6. But we already have a mascot, and we're really not likely to switch it at this point. Thanks, though. 01:18
nick__ ok, i will come back in 15years,then lol 01:19
TimToady ooh, the old take my marbles and go home ploy... 01:25
TimToady suspects Camelia has succesfully fended off another potential troublemaker 01:28
TimToady [Coke]++ # unfailingly polite 02:04
[Coke] I'm glad we can take turns being polite. it's hard to do all the time. :) 02:07
TimToady you said it 02:08
grondilu when given filenames on the command line, isn't perl6 supposed to execute all of them? $ echo 'say "foo"' > foo.t; echo 'say "bar"' > bar.t; perl6 *.t # shows only bar 02:10
TimToady no, only the first one 02:11
the rest are arguments
gotta have something left to stick into $*ARGS 02:12
er @
grondilu ok
grondilu for some reason I'd swear I had already ran something like perl6 *.t 02:13
I probably did, without knowing that was wrong :/
dj_goku_ so with the work to beable to use p5 in p6 to allow a wider audience use p6 while those big libraries on p5 are built in p6?
TimToady there are many migration strategies, and that supports some of them 02:15
jack_rabbit Are there async socket IO or concurrency implementations available? 02:18
TimToady doesn't know the status of that offhand; there has certainly been some work on it 02:19
dj_goku_ TimToady: are you still at craiglist? 02:20
TimToady yes
they take good care of me
dj_goku_ so do they have you work on anything other than p6?
TimToady not yet :)
dj_goku_ are they using p6?
TimToady not yet :) 02:21
dj_goku_ either way it is pretty awesome they are supporting that development. 02:23
TimToady for sure!
jack_rabbit Well their goal is to use it I would guess.
TimToady their goal is to support the concept of paying it forward, and if that works out to pay somthing back in the long run, all the better 02:28
they're a great bunch of people
dj_goku_ looking at a job posting. sounds like it. 02:29
jack_rabbit sweet. 02:30
dj_goku_ TimToady: so I presume you work from home? 02:35
TimToady mostly, yes 02:44
haven't been able to get away from home as much as I expected this year :) 02:45
[Coke] ah, ymd-from-daycount is the likely culprit for parrot breakage. 03:00
dj_goku_ TimToady: nice. I recently switched jobs back in march, from a perl shop to now python. though I am still a fan of perl. Learning mojolicious and writing web APIs on the side right now. 03:07
pyrimidine I kind of get the impression that python is starting to lose a bit of it’s new/shiny. Like, Google basically creating Go as it’s (eventual) python replacement 03:15
dj_goku_ pyrimidine: there are a couple things I really like about python, but then there are somethings not so much. 03:16
TimToady Go is not really a suitable replacement for any scripting language
pyrimidine TimToady: I haven’t looked at it to be honest. Just like dj_goku_ I find some things about python nice, others not so much. 03:19
dj_goku_ we use pandas a lot, which is really nice, but sometimes with my lack of knowledge I bang my head around. 03:20
pyrimidine We actually have been sticking with R for any data analysis. It can be like pokers to the eyes sometimes, but it’s been around long enough 03:23
TimToady we might get better leverage making sure p6 works with some python libs than some p5 libs :)
pyrimidine might 03:24
xiaomiao Go ... some good ideas, with added extra braindamage stapled in
pyrimidine heh
xiaomiao e.g. static linking to make distro packaging impossible
e.g. "deploy from github" as feature
TimToady they fixed a lot of things from C, including a fair number of things that didn't need fixing :)
dj_goku_ pyrimidine: I don't deal with the data analysis portion, just the loading. :D
pyrimidine dj_goku_: like those guys that set up the dynatmie charges for road work? 03:26
*dynamite
dj_goku_ pyrimidine: it feels that way sometimes. 03:27
pyrimidine well, as long as you just push the trigger and can stand far enough away to not get hurt :)
not that R is much better. But it was at least written by statisticians (and it shows) 03:29
dj_goku_ since I have started I have mostly building API interfaces to interface with APIs like (facebook, google, salesforce) to pull in all sorts of data for our clients. 03:30
dj_goku_ Adding a lot of tests too. There weren't a lot of tests when I started. 03:33
pyrimidine: so are you writing R stuff and executing in python?
pyrimidine dj_goku_: nope. Straight R/Perl/Python. 03:34
(not in that order)
Basically, ‘whatever is needed for the job at hand’ 03:35
dj_goku_ pyrimidine: sounds like me, but we have other people doing R and the reporting side. 03:36
pyrimidine We do genome assemblies, look at gene expression data, etc. The tools vary, can be a mix of C, Perl (with XS), R, Python, Java, and in some cases Ruby 03:37
We run most tasks on high-performance clusters (local, but sometimes AWS). We even have access to this: bluewaters.ncsa.illinois.edu 03:38
xiaomiao pyrimidine: sounds like great fun 03:39
pyrimidine yes, it is. Can be very frustrating as well
ggoebel1111112 hey dj_goku
xiaomiao pyrimidine: frustration is part of the job 03:40
pyrimidine xiaomiao: yep. much of it in my case comes from working with users w/ little to no compute knowloedge 03:40
dj_goku_ ggoebel1111112: hey garrett! how goes it?! 03:41
pyrimidine: that sounds fun.
pyrimidine it is 03:44
xiaomiao hehe. "It'd be so much easier without users"
pyrimidine xiaomiao: yeah. Can’t they just leave us alone :) 03:45
xiaomiao I'd be happy if all the ADHD kiddies stopped writing code for a while and started creating software instead
users are relatively easy to tolerate, bad code is much more frustrating
pyrimidine xiaomiao++ 03:46
couldn’t agree more
we get lots of that now. Everyone is writing up the coolest viz tools in d3.js or similar, but not really thinking through that the damn thing needs to be actually useful at some point. 03:48
pyrimidine lots of ‘thesis-ware’ 03:48
xiaomiao well, I'm seeing that a lot on the linux front now ... 03:55
deterministic boot? who needs that! 03:56
ggoebel1111112 working through Let's Build A Compiler and translating it to perl targetting MSIL 04:05
filling in the gaps and looking to delurk in a useful capacity someday 04:06
good to hear from you... <and back to being a lurker> 04:08
TimToady ggoebel1111112++
that makes you, what, ggoebel1111113 or so? 04:09
ggoebel1111112 all those 1's blur together... :-)
probably means its time for bed
sergot hi o/ 06:14
TimToady where is #75010 06:43
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=75010
danaj I still have more testing, cleanup, and API discussion, but looks like my new is-prime is running ~20x faster than the current one. 06:52
TimToady danaj++ 06:55
dalek ast: 7a6c919 | TimToady++ | S32- (2 files):
:p is supposed to weed out non-existing
07:31
ast: 2befb5e | TimToady++ | S32-array/splice.t:
unfudge, works now in rakudo
ast: 79039df | TimToady++ | S12-class/attributes.t:
all ranges now autotruncate on subscripting
ast: 7060722 | TimToady++ | S0 (4 files):
parcels no longer autoflatten for .elems or .[]
kudo/nom: a8df1c9 | TimToady++ | src/core/array_slice.pm:
all ranges autotruncate on subscripting overrun
07:33
kudo/nom: ef380d2 | TimToady++ | src/core/ (2 files):
Parcel no longer autoflattens for .elems or .[]
FROGGS o/ 07:37
moritz \o 07:38
TimToady: I can imagine those commits make list stuff a bit faster
dalek ecs: 366eca4 | TimToady++ | S02-bits.pod:
Parcels are not so ephemeral anymore
07:39
nwc10 after the ASAN build, I'll have another go with optimisation 07:40
and see how startup now looks
TimToady moritz: well, possibly, possibly not
TimToady was going for correct semantics first, and we may need the list refactor to make them faster 07:40
slicing continues to make far too many decisions at run time that should be made at compile time 07:41
moritz well, not doing a .flat for each .elems call should be a win
nwc10 good * mberends 07:43
is this "good Jet Lag, mberends"?
TimToady m: say (1,(2,3),4).elems 07:44
camelia rakudo-moar 0a4af1: OUTPUT«4␤»
TimToady that will say 3 when my changes recompile 07:45
TimToady and you'll have to say .flat.elems if that's what you actually want 07:45
one fallout of this is that I had to work really hard to get .kv not to return a parcel for each key/value pair 07:46
mberends haha, yes, sitting at AMS waiting to fly on to LJU in a few mins ;-) 07:46
TimToady so .kv always flattens itself rather than relying on parcel to do it
nwc10 good *, mberends 07:47
mberends good am, nwc10
nwc10 [nick@gcc1-power7 rakudo]$ ./perl6-m -e 'say $*DISTRO' 07:48
linux (2.6.32.279.19.1.el.6.ppc.64)
with SPESH disabled it fails one spectest.
with SPESH it fails quite a few, but all seems to be the same underlying problem
moritz nwc10: have you tried it with with spesh, but MVM_SPESH_OSR_DISABLE=1 ? 07:49
nwc10 not yet
anyway
mberends: you might find that it builds on more debian platforms than the two usual suspects
mberends nwc10: excellent! Moar on ARM32 seems viable :-) 07:51
nwc10 mberends: you have tested this recently? 07:51
mberends nwc10: no, I think tadzik++ reported success on Android. 07:52
tadzik nah, that was SailfishOS
and a partial success :)
mberends ah, thanks
nwc10 it was a complete sod to get MoarVM to work on ARM 07:53
(hidden alignment assumptions in the NQP code)
and I've not re-checked whether something else then broke it
also, a Raspberry Pi is considerably slower than other stuff, even (I believe) more beefy ARM boards 07:54
mberends a special interest group at DebConf discussed designing a totally open source laptop motherboard with a very beefy ARM V8 (64 bit) to fit into an existing case such as a ThinkPad X220. 07:57
dalek kudo/nom: a640aab | (Elizabeth Mattijsen)++ | src/core/Int.pm:
Unbreak 98c32aaa8b2219 for parrot (RT #122681)
08:03
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122681
FROGGS "XXX temporary fix" *g* 08:05
I bet it will still be there in 2020 :o)
FROGGS ohh, a nativecall test relied on the parcel flattening as it seems 08:06
lizmat FROGGS: but will parrot make it to 2020 ? 08:14
anyway, I thought it would be too early to let breakage of that kind persist 08:15
as it was clearly an opt directed towards developments on MoarVM
FROGGS lizmat: no idea about parrot... I think depends on new devs joining #parrot or not 08:16
dalek ecs: c6647e2 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Added "opt" lemma and moved OSR to right place
08:18
FROGGS this fails: 08:21
my $carray = nativecast(CArray[uint32], ReturnArray());
is $carray[0..2], [1, 2, 3], 'casting int * to CArray[uint32] works';
but this passes:
is $carray[0,1,2], [1, 2, 3], 'casting int * to CArray[uint32] works';
ohh, it might be the role IntTypedCArray in NativeCall 08:23
nwc10 of course. Parrot 12.0 will be released on Tuesday 21st Jan 2020 08:24
this is the benefit of a predictable release schedule
sometimes I wonder why it's not automated with cron
FROGGS nwc10: because you cannot automate documentation patches </troll>
moritz ah, but then we wouldn't notice when the last parrot developer has given up
FROGGS (yes, I know there were very nice patches during this GSoC) 08:25
lizmat as jnthn said in his latest performance presentation: without parrot we wouldn't be with rakudo where we are now 08:26
FROGGS that's totally true
you need a solid base to do experiments which let you grow
nwc10 not specifically in the context of Rakduo VMs - too many people think of GSoC as free labour. And ignore the cost of training. And fail to pay attention to how many students carry on with open source afterwards
moritz lizmat: I'm not questioning parrot's past contributions, merely its future 08:27
timotimo .tell mberends have these debian arm laptop special interest group looked closely at the Pyra? the Open Pandora successor? it'll be quite beefy indeed
yoleaux timotimo: I'll pass your message to mberends.
moritz (and iirc I still qualify as a parrot developer, and have a commit bit, and all that) 08:28
FROGGS hmmm, in $carray[0..2] the Proxy.FETCH is only called with $pos==0, and for $carray[0,1,2] its is called with 0, then 2 then 3 08:31
err, 0 then 1 then 2
dalek ast: 447e63c | (Elizabeth Mattijsen)++ | S02-types/WHICH.t:
Separate concurrency to avoid parrot breakage
08:37
dalek ast: c738362 | (Elizabeth Mattijsen)++ | S02-types/WHICH.t:
some more tweaks
08:39
FROGGS that shows it: 08:40
m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤»
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0,1,2] 08:41
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤1␤1␤1␤1␤1␤1␤1␤2␤2␤2␤2␤2␤2␤2␤True True True␤»
lizmat afk for a few hours&
FROGGS o/
timotimo m: say (0..2).list.perl 08:45
camelia rakudo-moar a640aa: OUTPUT«(0, 1, 2).list␤»
timotimo m: say (0..2).list.elems
camelia rakudo-moar a640aa: OUTPUT«3␤»
timotimo :\
method infinite() { nqp::p6bool(nqp::istype($!max, Num)) && $!max eq 'Inf' } # ← is this a workaround? the eq part? 08:46
FROGGS looks like 08:47
timotimo gets distracted too easily 08:49
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say POSITIONS($a, 0..2)
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤0␤»
FROGGS m: say POSITIONS(my $a, 0..2) 08:50
camelia rakudo-moar a640aa: OUTPUT«␤»
FROGGS m: say POSITIONS(my $a = [], 0..2)
camelia rakudo-moar a640aa: OUTPUT«␤»
FROGGS m: say POSITIONS(my $a = [0], 0..2)
camelia rakudo-moar a640aa: OUTPUT«0␤»
FROGGS m: say POSITIONS(my $a = [0,1,2,3,4,5], 0..2)
camelia rakudo-moar a640aa: OUTPUT«0 1 2␤»
timotimo m: class Foo { method at_pos($p) { say "atpos $p"; Proxy.new: FETCH => method () { say "fetch $p" }, STORE =>-> | { } } }; my $a = Foo.new; say $a[0..2]; say POSITIONS($a, 0..2) 08:53
camelia rakudo-moar a640aa: OUTPUT«atpos 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤True␤0␤»
timotimo m: class Foo { method elems() { 5 }; method at_pos($p) { say "atpos $p"; Proxy.new: FETCH => method () { say "fetch $p" }, STORE =>-> | { } } }; my $a = Foo.new; say $a[0..2]; say POSITIONS($a, 0..2) 08:54
camelia rakudo-moar a640aa: OUTPUT«atpos 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤True␤0␤»
timotimo m: class Foo { method elems() { 5 }; method exists_pos($p) { 1 }; method at_pos($p) { say "atpos $p"; Proxy.new: FETCH => method () { say "fetch $p" }, STORE =>-> | { } } }; my $a = Foo.new; say $a[0..2]; say POSITIONS($a, 0..2)
camelia rakudo-moar a640aa: OUTPUT«atpos 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤True␤0␤»
timotimo m: class Foo { method elems() { say "elems"; 5 }; method exists_pos($p) { say "exists pos $p"; 1 }; method keys() { say "keys"; (0, 1, 2, 3, 4) }; method at_pos($p) { say "atpos $p"; Proxy.new: FETCH => method () { say "fetch $p" }, STORE =>-> | { } } }; my $a = Foo.new; say $a[0..2]; say POSITIONS($a, 0..2) 08:55
camelia rakudo-moar a640aa: OUTPUT«atpos 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤fetch 0␤True␤0␤»
timotimo hm.
i don't know how this part of the whole thing works, tbh
FROGGS me neither 08:57
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say $a.gimme(0) 09:01
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤No such method 'gimme' for invocant of type 'Foo'␤ in block <unit> at /tmp/8QvcsSRCIm:1␤␤»
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say $a.list.gimme(0)
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤0␤»
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say $a.list.gimme(1)
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤1␤»
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say $a.list.gimme(2)
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤1␤»
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say $a.list.
camelia rakudo-moar a640aa: OUTPUT«===SORRY!=== Error while compiling /tmp/7mykzsYbTI␤Missing semicolon.␤at /tmp/7mykzsYbTI:1␤------> $a = Foo.new; say $a[0..2]; say $a.list.⏏<EOL>␤ expecting any of:␤ method arguments␤ post…»
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]; say $a.list
camelia rakudo-moar a640aa: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤Foo.new()␤»
nine asrabkin.bitbucket.org/papers/oopsla13.pdf "Second, intrinsic features have only secondary importance in adoption. Open source libraries, existing code, and experience strongly influence developers when selecting a language for a project. Language features such as performance, reliability, and simple semantics do not." 10:32
carlin m: $*TZ=43200; say DateTime.new("2014-09-01T12:00:00Z").local 10:48
camelia rakudo-moar a640aa: OUTPUT«2014-09-02T00:00:00+1200␤»
carlin m: say DateTime.new("2014-09-01T12:00:00Z").local 10:49
camelia rakudo-moar a640aa: OUTPUT«2014-09-01T12:00:00Z␤»
carlin that's easier than getting camelia to do CTCP time requests :p 10:50
dalek kudo/nom: 69d7051 | (Elizabeth Mattijsen)++ | src/core/Parcel.pm:
Hack a Parcel.WHICH solution

Apparently, a Parcel created by the .Parcel method, consists of a ListIter as its only element. Upon inspection, this is flattened, causing a problem with the .WHICH representation, as the immutable Parcel internally mutes. This fix will just expose the ListIter if the Parcel was created with
  .Parcel, and thereby create a WHICH that indicates the inherit mutability
of a Parcel that is created that way. Suggestions for a better solution are welcome.
11:04
lizmat $ 6 'my @a=^3; say @a.Parcel.WHICH'
Parcel|(ListIter|140616894388608)
moritz why doens't the assignment flatten out the list? 11:14
oh, .Parcel
moritz blind
nuggs I believe I said a goof here yesterday when I cried about rakudo on ARM. I had built MoarVM with optimizations, which was segfaulting in 'optimize_bb'. Now, having built MoarVM with debug enabled and optimizations disabled, I've built an nqp atop it (andd passed tests), and built a rakudo atop that (and passed tests, currently running spectests). 11:32
carlin what's the DateTime incantation to say: give me the second Sunday in March ?
nuggs My apologies for the bad report.
Which leads me to a question, is there a buildbot farm or a somesuch for the Perl 6 compiler chain that I could attatch an ARM build to? 11:34
dalek ast: 04d38c8 | Carlin++ | S32-temporal/local.t:
set $*TZ rather than requiring specific OS setup

These tests will now run everywhere
11:54
ggoebel1111112 nuggs++ 11:55
nine++ 11:56
hoelzro_ morning #perl6
colomon \o 11:57
lizmat nuggs: [Coke] runs the closest thing we have to a buildfarm 11:58
nuggs lizmat: groovy. You know if ARM is already in the mix? (I'll try to ping him later) 12:01
lizmat pretty sure ARM isn't
nuggs Cool. I'll try to sync up w/ Coke to see if I can provide some cycles there. Thanks. 12:03
lizmat commute to Amsterdam.PM meeting& 12:10
hoelzro_ is =pod considered special? or should it be considered as an abbreviated form of =for pod? 12:12
I've been looking over S26, but that's not helping much =/
nuggs make spectest on 32 bit arm, moar backend built without optimizations: 12:29
tadzik hoelzro: I don't think =pod is anything special
nuggs whups, crappy junky paste, here's a gist: gist.github.com/anonymous/1922aa1acd6fdfa6a02c
hoelzro tadzik: so would you say EVAL "=pod\nsay 1;" should or should not print something? 12:30
nwc10 nuggs: t/spec/integration/99problems-51-to-60.t is failing with ASAN on x86_64
so I'd hope that that would pass with something like
MVM_SPESH_DISABLE=1 ./perl6-m t/spec/integration/99problems-51-to-60.t
tadzik hoelzro: I don't see why it should
nwc10 if so, it's "known cross platform problem"
hoelzro tadzik: well, abbreviated POD blocks are supposed to continue to the next blank line, right? 12:31
tadzik hoelzro: yes 12:32
hoelzro so wouldn't =pod be the same as =for pod?
tadzik should
hoelzro so shouldn't =pod stop at that first newline, and thus the say would not be inside of it? 12:33
tadzik ooh
I see it now
yes, it should say "1"
imoh
hoelzro ok, then I'll update the ticket with that insight =) 12:34
thanks for sanity checking =)
PerlJam good * #perl6 12:36
nuggs nwc10: groovy, MVM_SPESH_DISABLE=1 did the trick there. 12:37
hoelzro o/ PerlJam
oh, you know what? that's *not* a blank line
"=pod\n\nsay 666" would be
hoelzro is crazy
commute &
nwc10 nuggs: what are you building on?
nuggs nwc10: an Ubuntu 14.04 chroot on a Samsung chromebook 2 (ocatcore thingy-dingy) 12:39
nwc10 ah OK 12:43
I built it back in May on a Rasberry Pi 12:44
not that fast
nuggs *octacore, even. Heh, I bet that Pi build took a minute. 12:49
carlin NativeCall is amazing, can't say that enough 12:51
Perl 6 makes C fun 12:53
[Coke] lizmat++ # avoiding failure on r-p 12:54
dalek ecs: 9720a17 | (Stéphane Payrard)++ | S99-glossary.pod:
S99: entries related to Unicode, whitespace, comments
[Coke] Any Perl 6 L</token>s may or must be separated by tokens. 13:02
from that commit. I think that whitespace node could a minor cleanup, otherwise looks good.
cognome WIP 13:04
dalek ecs: 10d91b4 | (Stéphane Payrard)++ | S99-glossary.pod:
S99: boolean context
13:21
[Coke] cognome: tokens must be separated by tokens? 13:22
cognome yea, whitespaces are very special. Not sure if the spec call them tokens 13:23
PerlJam Why mention tokens at all if they 'may or must'? 13:24
(i.e. it doesn't seem to relate directly to whitespace unless there are things that must be separated by whitespace) 13:25
dalek ecs: 5c16468 | (Stéphane Payrard)++ | S99-glossary.pod:
S99: boolean related entries, attempt at fix whitespace
13:27
ecs: e517b60 | duff++ | S99-glossary.pod:
expand on whitespace a little
13:29
PerlJam How about that definition? 13:30
cognome I love it
PerlJam Is there some unicode character property for "whitespace"? 13:36
moritz PerlJam: "Separator", short "Z" 13:37
(I think)
dalek kudo-star-daily: bb4abf4 | coke++ | log/ (14 files):
today (automated commit)
13:40
[Coke] rt.perl.org/Ticket/Display.html?id=72844 is closable now, yes? 14:16
PerlJam p6: say() for ^3; 14:20
p6: say for ^3; 14:21
camelia rakudo-{parrot,jvm,moar} 69d705, niecza v24-109-g48a8de3: OUTPUT«␤␤␤»
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/tmpfile line 1:␤------> say⏏ for ^3;␤␤Unhandled exception: Check f…» 14:21
..rakudo-{parrot,jvm,moar} 69d705: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/tmpfile:1␤------> say ⏏for ^3;…»
PerlJam [Coke]: looks like it to me (Assuming there are appropriate tests in roast)
PerlJam huh ... looks like there's an extra space between the semicolon and "in Perl 6" in Rakudo-land as compared with niecza 14:24
jdv79 so here's a probably irritating question but its vaguely important to me - what would it take to get perl6 compilation to not use so much memory? 14:35
jdv79 the mast stage is where my box ran out of mem 14:36
hoelzro does func; and func(); actually parse differently? 14:37
dalek ecs: ca2464c | (Stéphane Payrard)++ | S99-glossary.pod:
S99: more entries
TimToady jdv79: it would take separate compilation of the pieces of the setting, probably 14:38
hoelzro: you'll have to define your threshold for "differently" 14:39
PerlJam hoelzro: for the case where "func" is really "say", the answer is clearly "yes" ;) 14:40
Woodi hallo perlers :) 14:41
dalek kudo/nom: 83a5f52 | duff++ | src/Perl6/Grammar.nqp:
Remove extra spaces

worryobs() and sorryobs() throw X::Obsolete which already puts a space before $.when in the message.
jnthn jdv79: "Lots of little things"
jdv79: Which is an equally annoying answe rat least 14:42
*answer
jdv79: The way we generate bytecode likely will change at some point to something that doens't build a huge tree and then turn it into binary stuff, to instead be something more direct/incremental. 14:43
hoelzro: In terms of "grammar rule used to parse it", yes, certainly differen.t 14:44
brrt jnthn: what do you mean? :-)
yoleaux 1 Sep 2014 16:29Z <timotimo> brrt: if we could see "beginning of inlined frame for function $foobar" in the jit log, that'd be interesting
1 Sep 2014 16:30Z <timotimo> brrt: for example, i see !cursor_pass only jitted like 50% of the time, spesh'd the other 50%, but in the jit log i can only see successful jittings of that frame, so it's probably in-lined versions of that otherwise?
1 Sep 2014 19:46Z <japhb_> brrt: Sorry I missed you, please ping me again when you're back
brrt timotimo i see what you mean 14:45
.tell japhb_ i'm back (for 45 minutes or so)
yoleaux brrt: I'll pass your message to japhb_.
jnthn brrt: I think we'll end up with an API more like the ASM code-gen lib on the JVM
brrt hmmm
as in, moarvm bytecode? 14:46
interesting
jnthn Yes
I don't have a design yet, and it's not high priority
brrt hmm
wingolog has yet another entry on the use of luajit-as-a-trace-compiler for packet filtering 14:47
Woodi I sometimes feel "forced" in Perl to use hashes instead of standard struct/record-like objects... Parcels could be such struct-like thing. hovewer specced Parcels looks a bit array-ish, maybe like degenerate Capture...
brrt or in other words, OMG THERE IS SO MUCH WORK STILL TO DO
TimToady Woodi: you're wanting classes, not parcels 14:48
PerlJam heh ... "standard"
TimToady and we already support native classes to some extent
jnthn *sigh* why on earth does my SSH connectkion keep getting protocol errors... :/ 14:49
hoelzro PerlJam: yes =) 14:50
TimToady: what PerlJam said
so say is special?
Woodi TimToady: but class could be overkill sometimes... and discusion at perlcabal.org/syn/S02.html#Parcels,...d_Captures could be simplified just by having record/struct type
parcels/captures/signatures...
TimToady m: say (1,(2,3),4).elems 14:52
camelia rakudo-moar 69d705: OUTPUT«3␤»
jnthn hoelzro: say parses differently to say(), but I'd not say that "say" is special in any way...what makes you ask that? 14:54
TimToady it's special in the sense that P5 programmers will expect bare say to default to $_ 14:55
but other than that, not, it's just a listop/function
dalek ast: 6f52902 | TimToady++ | integration/advent2013-day10.t:
:kv no longer returns parcels of (k,v)
14:58
hoelzro jnthn: well, PerlJam's experimentation with say vs say() above 15:00
jnthn: does arbitrary-func parse differently from arbitrary-func(), then?
I mean, is the resulting parse tree different?
brrt jnthn: great firewall still?
jnthn hoelzro: Parse tree, yes. QAST tree, no, afaik. 15:02
brrt: Well, it's only happened since I started using this connection to tunnel stuff over. So maybe it's an attempt to sabotage it.
brrt ugly stuff 15:03
jnthn treats it as a great advance in internet connectivity, to go along with the last copule of day's great advancs in democracy in Hong Kong :P 15:04
TimToady hoelzro, jnthn: actually the parse is slightly different these days, insofar as foo() allows semicolons in the argument list, while foo; doesn't 15:05
jnthn TimToady: Oh, hm. :)
brrt uh, i have no news at all from Hong Kong here 15:06
jnthn the listop form kinda can't, no? :)
brrt dutch media has totally ignored anything that might have changed
jnthn brrt: There was a decision that basically means that there are elections in Hong Kong, but Beijing gets to pick who is elligible to stand for election. 15:07
jnthn brrt: It's not a *surprising* ruling, though understandably not one everyone is happy with. 15:09
brrt ... i can imagine 15:10
that really puts the western political landscape into perspective 15:11
jnthn (the "great advance to democracy" comment was actually a quote from the morning news paper :))
[Coke] m: my $a = class { has $a; }; say $a.new(a => 1).perl; 15:15
camelia rakudo-moar 69d705: OUTPUT«<anon>.new()␤» 15:15
[Coke] moritz, TimToady: what is the expected output of the last bit of code on rt.perl.org/Ticket/Display.html?id=77474 ? 15:17
FYI, the current output is 1 0 15:18
TimToady rosettacode.org/wiki/Hamming_numbers 15:19
but we need the list refactor before that has a hope of working 15:20
[Coke] so, "1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 36" is the expected output?
TimToady yes, if Perl 6 were as good as Haskell at recursive definitions... 15:21
[Coke] added [LIST] to that ticket to indicate it's blocked on the list refactor. Feel free to do the same to other similarly blocked tickets. 15:23
masak: RT #64766 "Possibly ..."
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=64766
TimToady I suspect we need to be able to block a gather/take on more than just a take, but also when needed information is not yet generated 15:24
so practically speaking it might depend on some transformation that runs some of our lazy code with push semantics rather than just pull 15:25
but maybe not 15:27
jnthn TimToady: Is there much in the way of a concrete plan for the list refactor?
[Coke] (just another ticket with a suspiciously vague title)
TimToady jnthn: lock you and me and pmichaud in the same room for a month maybe? :) 15:29
I'm feeling my way into it from various directions
jnthn That sounds effective if it's feasible :P
dalek rl6-roast-data: 301112e | coke++ | / (6 files):
today (automated commit)
15:30
TimToady many of my recent changes have been pushing at the list code, from gather/take and the various listop optimizations to the recent .plan and parcel stuff 15:31
[Coke] looks like that fix for parrot didn't fix the broken tests.
TimToady but I still don't understand the reify/REIFY dance 15:32
jnthn Yes, I've noticed you've been digging into the code...
TimToady there's a lot of 3) ??? in there
jnthn I think I've sorta learned how it works 3 times by now. Maybe that's a properly of things involving laziness. :) 15:33
*property
TimToady what I want to get to eventually is that all this dataflow policy is detached from the actual dataflow, so the policy ends up generating functions that have optimized policies baked in, and are just called directly to get the next value or values 15:34
currently gimme and reify intermix policy and dataflow
so in the absence of heroic speshing, nothing can be optimized 15:35
jnthn The present situation is certainly hard to spesh
It'd be nice if sink-context for loops had an API to iterators where they could make a call to a (small, inlinable) method on an iterator to get the next available value in the common case. 15:36
TimToady an analog is the current slicing, where a great deal of decision making could be done once instead of every time you slice
jnthn That way, the loop body could be flattened into the surroundings, as well as logic to access the next value in the common cases. 15:37
TimToady yes, that's the basic idea
jnthn C# gets to have it that way somewhere between its 50 passes. :) 15:38
And the results are pretty speedy. At least, there's not really a "don't use enumerators" meme about. :)
TimToady policy channels and higher-order functions that can often be known at compile time
jnthn OK, sonds good. 15:40
TimToady or if not known at compile time, at least providing simple run-time functions that can spesh/jit
jnthn *sounds
TimToady has the skill of sounding good even when he's bad. :) 15:43
darn, someone drank my first cup of coffee, gotta go get smoar 15:45
PerlJam starts working on a TPF grant to pay for having jnthn, TimToady, and pmichaud kidnapped and locked in a room.
FROGGS TimToady: have you seen this? 15:47
m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0,1,2]
camelia rakudo-moar 83a5f5: OUTPUT«0␤0␤0␤0␤0␤0␤0␤1␤1␤1␤1␤1␤1␤1␤2␤2␤2␤2␤2␤2␤2␤True True True␤»
timotimo is probably less expensive to not kidnap them
FROGGS m: class Foo { method at_pos($p) { Proxy.new: FETCH => method () { say $p }, STORE => -> | { } } }; my $a = Foo.new; say $a[0..2]
camelia rakudo-moar 83a5f5: OUTPUT«0␤0␤0␤0␤0␤0␤0␤True␤»
FROGGS TimToady: I don't see offhand what need to be fixed... perhaps sub POSITIONS? 15:47
moritz FROGGS: method elems? 15:48
TimToady slicing ranges requires a working .gimme, and I suspect proxies are missing that
FROGGS moritz: the changed .elems might have introduced the problem, aye 15:48
moritz FROGGS: I wanted to say that maybe slicing calls .elems (at least in some situations) 15:49
TimToady on range slicing we never call .elems because the base list might be too long to calculate it 15:50
it calls .gimme($_+1)
FROGGS here github.com/rakudo/rakudo/blob/nom/...lice.pm#L6 15:51
TimToady so it's perhaps not tranforming to a proper list with .list
FROGGS so we put the pos ~~ Range case in its own branch an do something fancy?
TimToady you can't call .elems there 15:51
believe me, i tried
FROGGS or... I mean... we could check that SELF is a proxy perhaps 15:52
TimToady .roll(*)[^100] will never return if you doo
FROGGS ohh, no, the at_pos returned a proxy, SELF isnt one
TimToady the current loop assumes that .gimme will return a true value 15:53
maybe that's not true somehow
.oO(current loop vs RS-232, ancient history...)
15:54
FROGGS TimToady: .gimme($_ + 1) returns 1 for $_ being 1
so it lasts 15:55
RS-232? O.o
TimToady yeah, that newfangled stuff 15:56
the ttys like current loop better
m: say Bool.roll(*).infinite 15:59
camelia rakudo-moar 83a5f5: OUTPUT«Nil␤»
TimToady another thing that is difficult in the current list model is passing knowledge of the infinite backwards 16:00
a parcel containing an infinite term does not automatically become infinite, for instance, and doing so appears to be difficult in the current model
dalek ecs: 197e481 | (Stéphane Payrard)++ | S99-glossary.pod:
S99: more entries, typos, reordering
16:02
TimToady purity also needs to be propagated along with infinity; infinity says we must do things in batches, while purity says we may do things in batches without much worry about side effects, other than using up too many resource conjecturally 16:03
(by "must do things in batches" I do not mean that the batches have to be larger than 1, but that they must be smaller than infinity) 16:04
PerlJam suddenly gets the feeling we're reinventing lisp
TimToady WHERE HAVE YOU BEEN!?!
but we're really not
in the sense that Lisp made some bad mistakes, and we're trying to avoid them 16:05
PerlJam sure ... I just don't see that right now :)
TimToady linked lists are a terribly way to approach parallel processing
*ble 16:06
dalek ecs: b6658f6 | (Stéphane Payrard)++ | S99-glossary.pod:
S99: correct many malformed links
TimToady the FP community is still trying to recover from that
and Lisp itself was pretty cavalier about the subject of purity, compared to some of its offspring 16:07
especially Haskell 16:08
we probably need a way to mark our gathers as pure or impure, for instance 16:09
TimToady though we can probably detect that some gathers have no external side effects, so are effectively pure from a batching standpoint 16:10
FROGGS TimToady: I'm spectesting that now: gist.github.com/FROGGS/402a9735c371aa43d157 16:11
the nativecall test passes and also Bool.roll(*)[^100] 16:12
TimToady you've probably broken autotruncation though 16:12
FROGGS yeah, spectests got stuck already >.<
kurahaupo TimToady: when you say linked lists are a terrible way to approach to parallelism, which ways? Obviously the O(n) access is slow, or is there some other aspect to consider 16:15
TimToady kurahaupo: well, xahlee.info/comp/Guy_Steele_paralle...uting.html for instance 16:17
moritz kurahaupo: basically, trees are much better suited for divide-and-conquer, and you can parallelize the divided tasks 16:18
FROGGS dinner & 16:20
kurahaupo ok, I'll have a read, thanks
TimToady historically, most FP languages have enforce a head/tail view of divide/conquer, and that doesn't scale
*enforced
FROGGS jnthn: when you have some brane cells left, can you take a look at the last line of github.com/jnthn/zavolaj/issues/11 ? 16:21
TimToady well, strongly defaulted to, perhaps not enforced
these languages are turing complete, after all
TimToady kurahaupo: so P6 has lists, but they are not based on => cells 16:22
of course, in all fairness, we should point out that Guy Steele's new language, Fortress, turned out to be a failure, at least as far as corporate sponsorship goes 16:23
fortunately, that's not the only way for a computer language to succeed :)
TimToady anyway, that is why good Perl 6 style avoids accumulators, but uses things like reductions and hypers instead 16:28
grondilu m: class Foo { method at_pos($n) { max(0, $n) } }; say Foo.new[-1]; 16:29
camelia rakudo-moar 83a5f5: OUTPUT«Unsupported use of [-1] subscript to access from end of Foo; in Perl 6 please use [*-1]␤ in method gist at src/gen/m-CORE.setting:13294␤ in sub say at src/gen/m-CORE.setting:14249␤ in block <unit> at /tmp/Xje1UOBXMS:1␤␤»
grondilu ^this is a bit annoying.
TimToady and why we need to extend hyper semantics from operators to list functions like map
kurahaupo TimToady: ok, so the wisdom on automatic parallelism hasn't really changed much in 20 years, just been fine-tuned a bit. I just wanted to make sure I wasn't too out of date. 16:30
grondilu suggest the 'unsupported use of [-1]' error only applies to classes in the core. 16:31
TimToady as usual, the devil is in the details
TimToady suggests not violating the [] contract, but using {} instead, as S09 suggests 16:32
P5 got into bad trouble trying to make [] origins other than 0
grondilu looks in S09 16:33
TimToady that part of S09 is NYI, of course :) 16:33
grondilu haha 16:34
oh sorry I thought you meant "not written yet"
kurahaupo wonders what hyper-map would do 16:37
TimToady not care what order the mapping is done, as long as the order of results is conserved 16:38
if you don't care about the latter, it's called "race" instead of "hyper"
kurahaupo oh, just ordinary functional map then 16:39
TimToady yes, fsdo functional not including various funtional programming languages :)
in the sense that they enforce order despite the supposed purity of the function 16:40
kurahaupo hypermap is easier to implement if the return value of the function is of fixed arity 16:41
TimToady well, sure 16:41
except, in p6think, it's always fixed arity of 1
since map returns parcels 16:42
and a .flat is needed somewhere if you mean it
grondilu m: class Foo { method postcircumfix:<{ }>($n) { max(0, $n) } }; say Foo.new{-1}; # this is OK, right?
camelia rakudo-moar 83a5f5: OUTPUT«postcircumfix:<{ }> not defined for type Foo␤ in method gist at src/gen/m-CORE.setting:13294␤ in sub say at src/gen/m-CORE.setting:14249␤ in block <unit> at /tmp/EDbHkwYCne:1␤␤»
TimToady m: say (1..3).map({ 'x' xx $_}).perl 16:43
camelia rakudo-moar 83a5f5: OUTPUT«(("x",), ("x", "x"), ("x", "x", "x")).list␤»
kurahaupo needs to go reread the synopses; stuck in P5-land for $DAYJOB
TimToady m: say (1..3).map({ 'x' xx $_}).elems
camelia rakudo-moar 83a5f5: OUTPUT«3␤»
TimToady see, exactly 3 results (as of last night :)
so it will be perfectly natural to implement hyper-map to return an array of parcels by default 16:44
and each thread can just plonk its results into a known position 16:45
kurahaupo TimToady: is there a reason not to have map do "random order" by default? 16:46
TimToady because we aren't interested in forcing people to do FP
we want to integrate well with non-FP paradigms as well 16:47
so maps can be stateful by default
when it can be proven that a map is not stateful or side-effective, it can be automatically hypered, but we're not going to assume it from the start, unless you call hyper map 16:49
kurahaupo I'd just like to see Huffman favour FP
TimToady well, but lazy is also FP :) 16:50
cognome { ([\*] 1..*)[*-1] }(20) # should the 1..* computed lazily here?
TimToady and we assume that, so we can't also assume hyper, which is kind of the opposite
kurahaupo oh, right
erm, hang 16:51
on
TimToady lazy -> batchy -> eager -> hyper -> race
kurahaupo not necessarily
TimToady one could, of course, have a pragma to default it the other way
kurahaupo lazy at the top level can still chose sequenced/race/all later 16:52
TimToady sure, and batching lazy things where we can is considered cache friendly
that's why we're talking about a big list refactor
but this really needs to be negotiated between supplies and demands, not enforced one way or another in the lexical scope 16:53
TimToady in fact, batchy probably wants to be subdivided into constant batches and scaling batches 16:55
the latter working like TCP slow-start
currently Range objects batch up to about a 1000 values, iirc, but that's wasteful if you're initializing a 10 element array 16:56
so an implementation that produces a larger batch each time could scale nicely
both up and down
timotimo is idly wondering if we should have an nqp:: op that initializes a list with values from $start to $end increasing by $step or something like that 16:57
TimToady well, you can go further and constant fold a range, if it's not to memory intensive; I hacked this into P5 at one point 16:58
*too
PerlJam In a more magical world lists wouldn't need to reify all of the elements either, just the ones you want ;) 16:59
timotimo i *think* we already create the Range instance at optimize-time
which doesn't vivify the list yet
TimToady well, we're lazy by default :)
timotimo right
TimToady but that should just be the default default, in the absence of other information
timotimo what does "constant folding a range" mean?
TimToady we're just not very good at distributing the other information yet 17:00
timotimo aye
TimToady 10..20 is a constant, it just happens to contain 11 subvalues
timotimo mhm
TimToady you can lay those out in memory at compile time if you like, and not even need an nqp op 17:01
timotimo well, a $known_to_be_range[$a] can just be $a.Int + $known_to_be_range.start if $a < $known_to_be_range.end
and having a for loop over a range already turns into a while loop
grondilu m: say (i**2).WHAT # is there a particular reason not to automatically narrow when possible? 17:02
TimToady well, the optimization does not make as much sense these days, when caches are much faster than memory
camelia rakudo-moar 83a5f5: OUTPUT«(Complex)␤»
TimToady otoh, sequential access to memory is usually pretty fast too
what with prefetching
m: say (i*i).WHAT 17:03
camelia rakudo-moar 83a5f5: OUTPUT«(Complex)␤»
TimToady well, Complex are intentionally a bit sticky, since otherwise your sqrt will misbehave
m: say sqrt(-(i*i)) 17:04
camelia rakudo-moar 83a5f5: OUTPUT«1+-0i␤»
TimToady m: say sqrt(i*i)
camelia rakudo-moar 83a5f5: OUTPUT«6.12323399573677e-17+1i␤»
TimToady if you narrow that, it fails
m: say sqrt (i*i).narrow
camelia rakudo-moar 83a5f5: OUTPUT«NaN␤»
itz_ m: say $*DISTRO 17:05
camelia rakudo-moar 83a5f5: OUTPUT«linux (3.2.0.37.generic)␤»
itz_ m: say $*KERNEL
camelia rakudo-moar 83a5f5: OUTPUT«linux (30.Ubuntu.SMP.Wed.May.1.16.35.23.UTC.2013)␤»
itz_ why does the distro name appear in kernel and noit in distro?
grondilu well, it could be possible to define multi sqrt(Real $x where $x < 0) returns Complex {...} 17:06
TimToady it was discussed whether sqrt of a negative number should always just produce a complex, but not everyone wants to suddemly be dealing with the complex plane
grondilu as opposed to multi sqrt(Real $x) returns Real
grondilu ok 17:06
TimToady there's a lot of tradition for that decision as well
so we made Complex a bit stickier instead 17:07
rather like BigRats are sticky
grondilu that's fine. I can understand doing otherwise would hurt a principle of least surprise or something like that, with complicated types suddenly showing up. 17:08
itz_ hmmm maybe I should try and compile on Debian GNU/kFreeBSD to check KERNEL v DISTRO :> 17:24
[Coke] lots of failing tests in nqp's prove -v t/docs 17:29
feather.perl6.nl/~coke/ops_need_docs.out 17:31
timotimo: ^^ there's another boring job. :) 17:32
cognome [coke] why a documented opcode would fail? 17:35
FROGGS [Coke]: not ok 1258 - documented op '' exists in moar
grondilu m: say (my %h{Int} of Real).WHAT; # how can I give a name to this type? 17:36
camelia rakudo-moar 83a5f5: OUTPUT«(Hash[Any,Int][Real])␤»
grondilu something like subset Vector of ???
FROGGS cognome: what line do you mean?
cognome not ok 5 - Opcode 'ctxouterskipthunks' (parrot;jvm;moar) is documented
[Coke] hoelzro: rt.perl.org/Ticket/Display.html?id=71812 17:37
look at the tags.
grondilu (subset Vector of Hash[Any,Int][Real] does not work)
[Coke] FROGGS: that is slightly less LHF. no idea why that's finding an empty opcode name
cognome: that opcode is not documented, so the test fails. 17:38
docs are in nqp's docs/ops.markdown
cognome [Coke] where is the script that generates these errors 17:40
[Coke] t/docs/opcodes.t 17:42
there's another one that checks to see if the opcodes are tested.
dalek ecs: af7df45 | (Kamil Kułaga)++ | S26-documentation.pod:
--doc=html

s//html/HTML
ecs: 25bbfb5 | (Tobias Leich)++ | S26-documentation.pod:
Merge pull request #68 from teodozjan/master

  --doc=html
hoelzro [Coke]: thank you sir =) 17:44
cognome [coke] I mean in each repository?
* which
FROGGS cognome: nqp 17:45
[Coke] cognome: github.com/perl6/nqp/tree/master/t/docs 17:54
Ven well met, #perl6 17:55
timotimo hmm 17:56
hoelzro o/ Ven 18:02
cognome \o Ven-erable 18:02
Ven oh please.
TimToady it is the ending of one age, and the beginning of another... 18:03
TimToady but all I know is my toes are hairy 18:04
timotimo TimToeHairy?
Ven "Free is a lie" is an incredible talk by Aral Balkan
timotimo++ # eh
TimToady well, at least lies are free :)
well, some of 'em...
.oO("Those words fall too easily from your lips.")
18:05
timotimo "free() is a lie"?
Ven timotimo: yes. please use MVM_free instead 18:06
TimToady "MVM_Free!" —MVM_Pseudolus 18:07
hoelzro MVM_free your mind
TimToady MVM_free Beer! 18:08
hoelzro should it be possible to have an empty table in POD? 18:12
ex. EVAL "=for table\n"
PerlJam er, that would have to be "=for table\n\n" wouldn't it? 18:14
(and IMHO, yes, it should be possible)
hoelzro alright, just sanity checking =) 18:15
PerlJam Maybe as a lint-check or with warnings turned up a little, an empty pod directive should carp about it though. 18:16
er, perl should carp about it. 18:17
nine PerlJam: think about the use case of quickly editing some code, probably copy&pasting and such. Being too strict about senseless constructs can be annoying. 18:19
PerlJam yeah, I'm all about Postel's Law 18:21
nine Is there a way to force a GC run? 18:32
FROGGS nine: programatically? 18:37
or just for testing?
nine Is there a way to force a GC run? 18:38
PerlJam Someone should write a module to expose GC to the Perl 6 programmer.
nine: FROGGS was asking if you wanted this "programmatically" or "just for testing"? 18:39
nine For programmatic testing ;) 18:40
nine I want to write tests that check if Perl 6 objects referenced from Perl 5 objects survive a GC run. 18:40
FROGGS nine: look at MoarVM/src/gc/collect.h
nine: you can reduce the MVM_NURSERY_SIZE to about 600, then it will collect very often 18:41
but do not try to build nqp or rakudo this way, just do it for your test, and undo it afterwards
cognome .u ⦄ 18:43
yoleaux U+2984 RIGHT WHITE CURLY BRACKET [Pe] (⦄)
cognome where is the code for yoleaux .u? 18:45
[Coke] guesses github.com/dpk/yoleaux 18:47
cognome Indeed it answers to the requests described in dpk.io/yoleaux 18:49
.mangle Larry owns the colon 18:50
yoleaux cognome: Sorry, that command (.mangle) crashed.
brrt \o 18:51
nine FROGGS: I could call MVM_gc_collect using NativeCall ;) But then I'd have to get my hands on the MVMThreadContext* somehow and that doesn't seem to be exposed either... 19:09
brrt would advise against it 19:15
TimToady teach the memory allocator that a certain huge number means "not really", and then allocate that number of bytes; GC runs, then the allocator says, oops, nevermind :) 19:18
then you hope that no real code asks for 12345678987654321 bytes, or whatever you picked... 19:20
or maybe just do that on a negative request :)
brrt yeah, i'm totally no authority on it, but i regard programmatic interface to vm internals of a fairly low priority 19:34
we may want to change those internals :-)
nine Well there seems to be a HLL::Backend::MoarVM::force_gc but it's not yet implemented. 19:40
brrt hmm 19:43
brrt i'm not sure if this is an entirely good way to spend an evening, but i suppose it could be hacked together 19:45
let me ask it another way
what is helped by it?
nine brrt: I'd like to write tests that check if Perl 6 objects referenced only from Perl 5 objects survive a GC run. 19:47
brrt hmmm
i see
PerlJam brrt: I dunno, but it seems like a reasonable thing that people working on making Rakudo interoperate with other languages would want to do in order to test their imeplementation. i.e. It could help the Inline::Ruby and Inline::Python and Inline::Whatever implementors actually make an implementation. 19:48
brrt fair enough 19:49
let me see if i can make something quick for you
(the cost is btw adding an op to moarvm. i'd argue that moarvm has plenty of op-space, but then again, i'm hardly authoritive)
brrt hmm 19:57
the designspace is somewhat bigger than my brane
i'll keep it in mind, though
hoelzro m: try { EVAL "die 'nothing'" ; CATCH {} } 20:11
camelia rakudo-moar 83a5f5: OUTPUT«nothing␤ in block <unit> at EVAL_0:1␤ in any <unit-outer> at EVAL_0:1␤ in sub EVAL at src/gen/m-CORE.setting:745␤ in block <unit> at /tmp/kHzZEW2X8y:1␤␤»
hoelzro how does one catch exceptions from an EVAL? 20:12
timotimo with try 20:13
your code is correct except it doesn't mark the exception as handled
m: try { EVAL "die 'nothing'" ; CATCH { default { } } }
camelia ( no output )
hoelzro ah ha, thanks timotimo
FROGGS you just have to call .Bool on the exception (that is what the default block does) 20:14
hoelzro interesting 20:15
FROGGS that is how if-clausing a Failure makes it not explode 20:16
hoelzro oh, that makes sense
FROGGS yeah, a very thought through principle 20:17
timotimo right
vendethiel uh, ocaml added open types back in 20:19
backed in*
timotimo is base.t known t ob9rk? 20:43
b0rk* 20:44
# expected: '0.0000000000000000000010' 20:45
# got: '0.01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
timotimo and i'm failing a bunch of TZ related tests 20:45
can folks try the dynamic_gen2_tuning branch of MoarVM against different kinds of workloads? 20:48
especially multi-threaded stuff would be good
Tony_ Hello? 20:51
PerlJam Tony_: hi!
Tony_ Cool.
timotimo hi there 20:52
cognome r: say ', 2' ~~ m/',' 2/
Tony_ So, I'm trying to Perl for a programming languages course. Choosing between 6 and 5. Can you guys tell me the main differences? Pros, cons, etc. 20:52
camelia rakudo-{parrot,jvm,moar} 83a5f5: OUTPUT«False␤»
Tony_ *to learn
cognome r: say ', 2' ~~ m/','\s2/ 20:53
camelia rakudo-{parrot,jvm,moar} 83a5f5: OUTPUT«「, 2」␤␤»
cognome ho, I am thinking in Perl 5 again :(
need to learn to unlearn or to switch fast :( 20:54
PerlJam Tony_: they are different languages. Perl 5 is more established and has CPAN. Perl 6 is newer and has many things built-in that Perl 5 does not and it does not really have a CPAN yet (it will have CPAN soon, in the mean time it has modules.perl6.org) 20:55
PerlJam Tony_: If I were you, I'd probably try Perl 6 for the course. 20:56
Tony_ mmmk
cognome Tony_, without wanting, I just proved that it takes some effort to switch your muscle brain from one to the other. 20:57
ajr_ Tony, how experienced a programmer are you? Complete beginner, competent in other languages, multi-lingual ace?
Tony_ I have decent experience with the major OOP languages, as well as decent experience with a few functional languages. 20:58
About 2-3 years of experience. Not much, but I'm improving. 20:59
cognome Tony_, the Perl 6 docs assumes in some places that you know Perl 5, but some people were able to go thru them without Perl 5 knowledge.
ajr_ OK, so you're not trying to learn programming at the same time as a language. Still, Perl 5's more firmly defined at the moment, and you'll probably find more examples. 21:00
PerlJam Tony_: There's also rosettacode.org where you can compare the same problem solution as implemented in several languages. (you'll probably find that useful no matter if you use Perl 5 or Perl 6) 21:01
Tony_ I just need to research a new language for my current course and thought perl would be lovely. I definitely know basic programming principals and design patterns.
I also know a bit of bash, if that helps. 21:02
huf i dont think that helps with perl6. it might hinder you if you were learning perl5 :) 21:02
PerlJam Tony_: How many languages do you have to interact with in your course? (IIRC, they usually try to get you to use one of each of the main language types)
ajr_ As an example to describe and explain theories related to programming, 6 would probably be suitable. 21:03
Tony_ For this specific course, we only need to research and learn one language. I've done quite a bit of research on my own for other languages though.
pmurias Tony_: Perl 5 has a really solid ecosystem (tons of libraries, the implementation is well tested and faster, it's widely used), but the language itself is a bit ugly
the core Perl 6 language is much better but it's missing most of the libraries and the implementation is not yet fully done 21:04
cognome like people, languages get less pretty with age.
PerlJam pmurias: what's "fully done" mean? ;) 21:05
cognome When we mark some of the specs as "will be implemented post 6.0" 21:06
pmurias PerlJam: "fully done" for a programming language would mean "dead", so it's good it's not the case for both Perls ;) 21:07
huf "perfect" :)
cognome Tony_, some of advanced the stuff like OO and grammars are pretty stable because they have been deemed necessary to cleanly bootstrap the rest. 21:08
PerlJam Tony_: Perl (either 5 or 6) lets you program in an OOP style, a FP style, a declarative style, a procedural style or some combination of all of them. This is one of the reasons I have gravitated to Perl. It doesn't force you to think of problems in a certain way in order to solve them. You think of them in some "natural" way and then code a solution that maps well to that way.
Tony_: however, Perl 6 has more built-in language support for some of those styles than Perl 5. :) 21:09
pmurias Tony_: what is your selection criteria for the language to research? 21:10
Tony_ Nothing other than we cannot have had any prior experience with the language.
pmurias and what do you want to base your choice on? 21:11
Tony_ Flexibility of language and possible server maintenance interaction. I'm hoping to get into a systems admin career, so learning something in that area would be great. 21:14
PerlJam Tony_: Oh, Perl 5 would be perfect for that IMHO. 21:15
Tony_ Ah ok.
Thank you.
PerlJam (Perl 6 too if only it had more admin stuff in the ecosystem)
Tony_ Well, I'll go ahead and focus on Perl 5, but learn 6 in my free time. 21:16
PerlJam cool.
vendethiel does all his pseudo-sysadmin stuff on p6, and is pretty happy about it :-)
PerlJam Tony_: you can get Perl 5 help from #perl, and Perl 6 help here if ever you need it 21:17
pmurias out of curiosity why go into systems admin instead of programming?
PerlJam vendethiel: Have you written about that in public? Have you shared any P6 programs you use? 21:18
Tony_ Systems administration has just always been an area of interest for me. General programming is just a bit too... baby-ish? Poor choice of words, but it summarizes my feelings pretty well. I just feel like I'm actually doing something relevant and needed when I work with servers and the like. 21:19
Also, one quick question. Installed both and was curious if all I need to do for Rakudo was to add the system path to cmd to do work in it. 21:21
PerlJam Tony_: you don't think the guys that program MRI machines or write the code that pace-makers use are doing something "relevant and needed"? ;)
Tony_ haha Of course they are.
vendethiel PerlJam: I even talked about them ;-)
how to add a suffix to every file in the dir? well, 6 'rename($_, "$_.bak") for dir' 21:22
Tony_ Even in regards to those examples, I still feel like that's a lot of research and development, whereas I prefer to grow in efficiency rather than creativity. Odd, but true haha 21:23
vendethiel on my github I have p6 scripts I use for my "named cd"/version managing/changelog-from-githistory-generator, etc
on that note, 'night, #perl6! 21:24
PerlJam oops, time for me to depart too. later all!
PerlJam &
Tony_ Bye all! Have a nice day. 21:25
dalek p: d1f23dd | (David Warring [email@hidden.address] | examples/rubyish/ (3 files):
rubyish - handle revised nqp::for iteration on hashes

nqp::for on a hash object now returns an iterator object. nqp::iter_key and nqp::iter_val are used to extract the key and value respectively.
21:43
timotimo is now running a benchmark suite run with the adaptive full collection code tuning thingie 21:47
in one of the tests, it ended up not doing a single gen2 collection for about 200 gc runs, then quitting 21:50
timotimo in the benchmarks, an improvement is kind of hard to spot :\ 22:04
in all but one benchmark it seems even slower than it was before 22:05
that's weird.
so. rc-9-billion-names did one full collection taking 45ms and 450 in total spanning from 9.1ms to 4.8ms 22:10
ah, the overview has the data, too
The average nursery collection time was 5.7ms. The average full collection time was 45.42ms.
interesting. for rc-9-billion-names, push takes the 3rd place for exclusive time and is only spesh'd, not jitted. probably because it uses slurpy parameters 22:12
TimToady yes, base.t is known borkuped 22:13
timotimo why the hell wouldn't method Bool of List get spesh'd?! 22:16
it just does self.gimme(1).Bool
ajr_ If Tony's still around, I would discourage him from considering a career in system administration. I don't think meaningful sysadmin jobs are going to be around for very long. 22:20
[Coke] if you count devops, there's some life innit. 22:21
TimToady my brother-in-law told me when I was going into sysadmin that it was a dead-end job :) 22:23
so I wrote a few little tools I could use in sysadmin, and shared them, and...well, you know the rest
TimToady m: (0..9,'A'..'Z').perl.say 23:08
camelia rakudo-moar 83a5f5: OUTPUT«(0..9, "A".."Z")␤»
TimToady m: (0..9,'A'..'Z').[1].say
camelia rakudo-moar 83a5f5: OUTPUT«"A".."Z"␤»
TimToady yeah, that's the base.t screwup
TimToady looks around for someone else to blame, unsuccessfully... 23:11
that's probably gonna screw up a few P5 programmers...
lizmat m: (0..9,'A'..'Z').WHICH.say # just curious 23:18
camelia rakudo-moar 83a5f5: OUTPUT«Parcel|(Int|0)(Int|1)(Int|2)(Int|3)(Int|4)(Int|5)(Int|6)(Int|7)(Int|8)(Int|9)(Scalar|15266784)(Str|B)(Str|C)(Str|D)(Str|E)(Str|F)(Str|G)(Str|H)(Str|I)(Str|J)(Str|K)(Str|L)(Str|M)(Str|N)(Str|O)(Str|P)(Str|Q)(Str|R)(Str|S)(Str|T)(Str|U)(Str|V)(Str|W)(Str|X)(…»
lizmat hmmm.... that feels... weird ?
TimToady surely a Range is defined by its endpoints and exclusions? 23:19
something's .listing it unnecessarily
lizmat it's doing @(self)
TimToady well, that's .list in disguise, don't suggest you ask for the .WHICH of 1..1000000000000 23:20
lizmat m: my $p = (1,2,3); say $p.WHICH 23:21
camelia rakudo-moar 83a5f5: OUTPUT«Parcel|(Int|1)(Int|2)(Int|3)␤»
lizmat need *some* kind of listing for this case
m: (1..10).WHICH.say # this would arguably then also be wrong 23:22
camelia rakudo-moar 83a5f5: OUTPUT«Range|54711744␤»
lizmat as a range is immutable?
TimToady yes, unless you cache range values, in which case a result like that would be okay, as long as identical ranges produce the same WHICH 23:23
dalek kudo/nom: bf4b469 | TimToady++ | src/core/Rational.pm:
gotta flatten parcel before subscripting, oopsie
23:26
TimToady that fixes base.t
lizmat TimToady: why state ? why not simply a lexical at the class level ? 23:27
TimToady it's in a role, so doesn't work
for some reason
lizmat ah, ok
a workaround for a NYI then
TimToady tried constant too, and my constant
none worked, except state
lizmat $ 6 '(1^..^10).WHICH.say' 23:28
Range|1^..^10
better for Range for now, I would think, right?
TimToady yay-ish, modulo the injection bug :)
but that's something for another day
lizmat yup 23:29
TimToady m: my $p = (<a b c>,<d e f>); .perl.say for $p[0..*] 23:30
camelia rakudo-moar 83a5f5: OUTPUT«"a"␤"b"␤"c"␤"d"␤"e"␤"f"␤»
TimToady hmm
m: my $p = (<a b c>,<d e f>); .perl.say for $p[0,1]
camelia rakudo-moar 83a5f5: OUTPUT«"a"␤"b"␤"c"␤"d"␤"e"␤"f"␤»
TimToady m: my $p = (<a b c>,<d e f>); $p.perl.say
camelia rakudo-moar 83a5f5: OUTPUT«$(("a", "b", "c"), ("d", "e", "f"))␤»
TimToady m: my $p = (<a b c>,<d e f>); $p[0].perl.say 23:31
camelia rakudo-moar 83a5f5: OUTPUT«("a", "b", "c")␤»
lizmat the * is forcing a listy ?
TimToady m: my $p = (<a b c>,<d e f>); $p[0].WHICH.say
camelia rakudo-moar 83a5f5: OUTPUT«Parcel|(Str|a)(Str|b)(Str|c)␤»
TimToady yeah, probably
TimToady need to iterate parcel elems without using range, I guess 23:32
m: my $p = (<a b c>,<d e f>); .say for $p.values
camelia rakudo-moar 83a5f5: OUTPUT«a␤b␤c␤d␤e␤f␤»
TimToady maybe we need a special method values in a parcel? 23:33
dalek kudo/nom: 49af621 | (Elizabeth Mattijsen)++ | src/core/Range.pm:
Preliminary Range.WHICH
TimToady m: my $p = (<a b c>,<d e f>); .perl.say for $p.lol[0,1]
camelia rakudo-moar 83a5f5: OUTPUT«$("a", "b", "c")␤$("d", "e", "f")␤»
TimToady well, that's kinda overkill 23:34
and wrongish for ID purposes
well, at least a parcel always has a finite .elems
so you can just loop
m: my $p = (<a b c>,<d e f>); $p[$_].perl.say for 0..^$p.elems 23:35
camelia rakudo-moar 83a5f5: OUTPUT«("a", "b", "c")␤("d", "e", "f")␤»
TimToady m: my $p = (<a b c>,<d e f>); $p[$_].WHICH.say for 0..^$p.elems
camelia rakudo-moar 83a5f5: OUTPUT«Parcel|(Str|a)(Str|b)(Str|c)␤Parcel|(Str|d)(Str|e)(Str|f)␤»
TimToady something like that
nick_____ yellow 23:36
TimToady m: my $p = (<a b c>,<d e f>); .perl.say for $p[*] 23:37
timotimo ohai
camelia rakudo-moar 83a5f5: OUTPUT«"a"␤"b"␤"c"␤"d"␤"e"␤"f"␤Mu␤»
TimToady m: my $p = (<a b c>,<d e f>); .perl.say for $p[]
camelia rakudo-moar 83a5f5: OUTPUT«"a"␤"b"␤"c"␤"d"␤"e"␤"f"␤»
timotimo huh, where does that Mu come from i wonder ...
nick_____ any idea when we can use rakudo jvm for frameworks
timotimo please explain what "for frameworks" means?
TimToady we've already got a Dancer clone(ish) 23:38
nick_____ really cool, i like Dancer
how does it run on jvm
what is the framework called the dancer (ish) one 23:40
dancer6? maybe
TimToady Bailador
haven't tried it, not really a webperson
lizmat $ 6 'my $p = ((1,2,3),(4,5,6)); $p.WHICH.say' 23:42
Parcel|(Parcel|(Int|1)(Int|2)(Int|3))(Parcel|(Int|4)(Int|5)(Int|6))
dalek kudo/nom: 41d7f71 | (Elizabeth Mattijsen)++ | src/core/Parcel.pm:
Don't flatten when creating .WHICH
23:43
nick_____ ok, well i want to spread the perl world, bc i really like useful it is, and the fact that it has a lot freedom to write
timotimo that's cool :)
i'm not a web person myself, but i'm meaning to look into some web stuff when we get an async-io-aware web framework of some kind 23:44
nick_____ any new idea for the mascot, i miss the camel lol
lizmat wonders whether we shouldn't huffmanize the types in .WHICH for value types
I1 instead of Int|1
timotimo ah, you were here last night recommending an otter, was that you? 23:45
nick_____ yea, it be honest lol
to be i mean
timotimo i like the butterfly :P
lizmat S|foo instead of Str|foo 23:46
nick_____ i do scripting and unix working with java for living etc.. in other word a admin 23:46
lizmat N2.71828182845905 instead of Num|... 23:47
nick_____ yea the butterfly is ok, i just want to get the younger crowed they are the future
lizmat R157/50 instead of Rat|157/50
BenGoldberg nick_____, what do you have against butterflies? ;) 23:48
nick_____ when its come to programming everyone seem to want the easy way and not understand something
lizmat anyways, been a long day again with a lot of driving and talking... so going to inspect the inside of my eyelids
gnight, #perl6!
nick_____ lol
welllllllllllll , i was thinking neutral mascot that all, something that shows the odd but efficacy of perl 23:49
like water perl is an language that has a flow to it when you write, it become a bit personal bc not many people what patience to read it etc... 23:51
japhb .ask lizmat What does your '6' alias do? Is it just '/path/to/perl6 -e' ? 23:52
yoleaux japhb: I'll pass your message to lizmat.
BenGoldberg nick_____, On the other hand, "Butterflies are free", and with perl, you are *free* to do what you want :)
lizmat you rang?
yoleaux 23:52Z <japhb> lizmat: What does your '6' alias do? Is it just '/path/to/perl6 -e' ?
lizmat alias 5='perl -E' 23:53
alias 6='perl6 -MTest -e'
alias 6l='perl6 --ll-exception -MTest -e'
sleep&
timotimo useful!
hey japhb :)
japhb: i seem to recall i sent some messages your way 23:54
japhb timotimo: Hello there
timotimo did you get anything?
nick_____ true, and know butterflies help spread the beauty of the lang, but remember the camel represent ugly but efficiency, survivals etc...
japhb timotimo: Really? I didn't get highlighted. But sadly I think irssi's default highlighting is not as smart as whatever I had under xchat-gnome.
Why don't we have yoleaux in #moarvm? Having to .ask here when I really want to talk to e.g. brrt about Moar stuff, seems silly and miss-prone. 23:55
Thanks, lizmat 23:56
timotimo hold on.
diakopter japhb: ask dpk
japhb japhb: I was not asking *how* to request it there, I was asking if there was a reason we *didn't* already. 23:57
timotimo ah
i sent them to japhb_
diakopter diakoper: maybe there's a reason dpk knows
er 23:58
fail at teasing japhb for addressing himself
diakopter .tz 23:59
yoleaux diakopter: I don't currently have a timezone preference set for you.
diakopter .in 0s boo
yoleaux diakopter: Sorry, I don't understand your duration. Try using units: 1h30m, 1d, etc.
diakopter .in 1s boo
yoleaux diakopter: I'll remind you at 23:59Z
diakopter: boo
diakopter .in 999999999999999999y boo
yoleaux diakopter: I'll remind you on 2 Sep 999336057550807353 17:06Z