»ö« 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.
timotimo turns out today's (yesterday's?) p6weekly will be a tad late %) 00:21
raydiak m: say <1/2>.perl 00:31
camelia rakudo-moar 9746e8: OUTPUT«0.5␤»
raydiak m: say <1/2>.WHAT 00:32
camelia rakudo-moar 9746e8: OUTPUT«(Rat)␤»
raydiak m: say 0.5.WHAT
camelia rakudo-moar 9746e8: OUTPUT«(Rat)␤»
raydiak timotimo: ^^^ weekly item: rat literal syntax works now 00:33
(not all the qw/val() stuff yet though) 00:34
timotimo you made it work?
raydiak yep
Mouq++ was kind enough to suggest a refinement and merge it
timotimo awesome :) 00:35
raydiak m: say <0x1F/0o77> 00:36
camelia rakudo-moar 9746e8: OUTPUT«0.492063␤»
timotimo i wonder why rakudo executing -e 'say 1' is faster on my laptop than on my desktop 00:54
hoelzro timotimo: strace? 01:06
dalek kudo/tab-completion: 3e3b22e | hoelzro++ | src/Perl6/Compiler.nqp:
Eliminate redundant loads of linenoise when setting it up
01:10
`7stud Hi. 01:11
hoelzro hello `7stud
`7stud I'm trying to follow the docs and create an iterator for an array. That is not my ultimate goal, but here is the code: 01:12
1. my @a = (1, 2, 3,); 01:13
my $iter <== @a;
print $iter.get;
And the result is: No such method 'get' for invocant of type 'Array'
in block <unit> at 1.pl:16
The docs I'm following are here: moritz.faui2k3.org/pugs/docs/Perl6/...tor%20Role 01:14
hoelzro `7stud: you may want to look at the official, up-to-date docs: design.perl6.org/S07.html#Iterators 01:15
skids `7stud: those are very old docs.
`7stud hoelzro: Okay, I'll check those docs out.
skids Also I think that there may be some not-yet-implemented things in that area of rakudo. 01:17
hoelzro m: my @a <== grep { $_ %% 2 } (1..10); say @a.perl; 01:18
camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QqnsouXycN␤Two terms in a row␤at /tmp/QqnsouXycN:1␤------> 3my @a <== grep { $_ %% 2 }7⏏5 (1..10); say @a.perl;␤ expecting any of:␤ infix stopper␤ infix or meta-infix␤ …»
hoelzro m: my @a <== grep { $_ %% 2 }, (1..10); say @a.perl; 01:19
camelia rakudo-moar 9746e8: OUTPUT«Array.new(2, 4, 6, 8, 10)␤»
hoelzro huh, apparently feed operators are AI
`7stud I looked at those docs, and there doesn't seem to be a way to get an iterator for an array. Basically, I want an iterator that I can call get() or next() on so that I can control the iteration. 01:22
skids m: my @a <== map { .say }, 0..10; @a.shift.say; # hoelzro: I think feeds are not yet properly lazified. 01:23
camelia rakudo-moar 9746e8: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤True␤»
hoelzro ahhh
skids `7stud: You are doing this for concurrency/coroutine type purposes? 01:24
`7stud No.
[Coke] gather/take works.
er, that's to add to an array - if you want one element off the array, .pop? 01:25
`7stud I just want to write a for loop over a lazy list, and then I want to write a while loop inside the for loop that kicks in at some point and can continue the iteration.
In ruby, I would do that with an Enumerator type, eg. e = list.each, then I can call e.next when I want. 01:27
skids Yes, that is what feeds are good for. But unfortunately you are both too early and too late to use that feature -- pugs had it, but rakudo's is not working yet. 01:28
`7stud Okay, thanks. 01:29
skids In the meantime, I am sure we can find an equivalent feature.
If you want to give us a look at a code snippet so we can answer better to your needs.
`7stud I can implement it with a bunch of if statements and flags. 01:30
[Coke] m: my @stuff = 1..Inf; for @stuff -> $i { say $i; last if $i>10}
camelia rakudo-moar 9746e8: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤» 01:31
hoelzro whoa, why didn't that blow up? I thought you had to use := binding or it would try to fill the @stuff container
[Coke] I don't think you can pull more $i's while you're in that particular kind of for loop.
timotimo feeds are working in rakudo partially 01:37
rspr I was checking on contributing to perl6 01:42
rspr But I am not a perler...I am a java developer and outside that I work on python 01:43
rspr anybody could answer my query it would be great 01:45
skids m: my @bigarray = (1,2,3,4); my @a := gather for @bigarray { "take $_".say; take $_ }; loop { my $v = @a.shift; last unless $v.defined; "loop $v".say; if ($v == 2) { $w = @a.shift; "skip $w".say; } }; # gah seconds too late for `7stud 01:46
camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/za7JuMP_tu␤Variable '$w' is not declared␤at /tmp/za7JuMP_tu:1␤------> 3efined; "loop $v".say; if ($v == 2) { $w7⏏5 = @a.shift; "skip $w".say; } }; # gah s␤ expecting any of:␤ postfix␤»
timotimo hey rspr
skids whoops.
timotimo i came directly from python to perl6, i have no perl5 experience whatsoever :)
rspr That's encouraging 01:47
skids m: my @bigarray = (1,2,3,4); my @a := gather for @bigarray { "take $_".say; take $_ }; loop { my $v = @a.shift; last unless $v.defined; "loop $v".say; if ($v == 2) { my $w = @a.shift; "skip $w".say; } }; # just for completeness
rspr I found perl a bit syntactically complex..
camelia rakudo-moar 9746e8: OUTPUT«take 1␤loop 1␤take 2␤loop 2␤take 3␤skip 3␤take 4␤loop 4␤»
timotimo i'm now one of the greatest 100 contributors to the perl6 effort! :D
i find at least perl6 to be quite logical in its makeup of operators
rspr I would like to follow suit.. ☺ 01:48
timotimo like <, >, <=> for numbers, lt, gt, leg for strings
rspr What can a beginner do r perl6f
timotimo as well as: || for or, && for and, ... ?? ... !! ... for the ternary operator 01:49
and having !, ?, &&, || have loose-precedence equivalents not, so, and, or
well, you can give us feedback on our documentation while you learn, you can give us feedback on bugs and performance of rakudo for things you've tried, you can test or make modules; that'd be on the coding side 01:50
rspr okay..sounds good
timotimo i should stop procrastinating the perl6 weekly post :S
rspr Regarding setup and all I can revert back to site I guess 01:51
timotimo hm? 02:13
hoelzro anyone know the licensing for the Rakudo logo (rakudoperl.org/wp/wp-content/upload...1001.png)? 02:30
hoelzro I started a repo for Docker stuff, so that we can have an official rakudo-star repo: github.com/hoelzro/perl6-docker 02:39
it would be fantastic if someone could help me move it under the perl6 org tomorrow!
retupmoca .tell FROGGS I successfully followed your msi build instructions (using strawberry perl), so they must be complete :)
yoleaux retupmoca: I'll pass your message to FROGGS.
adu_ hi everyone 02:41
skids o/
timotimo hola adu
timotimo m: say ":)".comb>>.uniname 03:01
camelia rakudo-moar 9746e8: OUTPUT«No such method 'uniname' for invocant of type 'Str'␤ in method dispatch:<hyper> at src/gen/m-CORE.setting:1415␤ in block <unit> at /tmp/fzbpfAnCRM:1␤␤»
timotimo m: say uniname ":"
camelia rakudo-moar 9746e8: OUTPUT«COLON␤»
adu_ what was >> again? map? fold? reduce? 03:16
timotimo map 03:17
damn, can't finish the weekly like this!
timotimo the cat just came over onto the couch, slammed his body onto the comfy seat and presented his belly to me for rubbing reasons 03:18
d'aaw
adu_ weekly? 03:19
timotimo "come on, slave, it's time for you to earn your keep"
adu_ lol
timotimo p6weekly.wordpress.com
adu_ negative arrays? 03:20
timotimo hm?
adu_ I think I might have had a use case for negative arrays, once, 10 years ago
dalek c: 103c676 | skids++ | lib/Language/glossary.pod:
Add "constraint" to glossary.
adu_ o wait, that says native arrays
oops 03:21
timotimo: I'm sorry I'm a bad reader
timotimo hehe
timotimo ok, looks like the cat has had enough 03:27
adu_ awww 03:29
timotimo the other cat is now licking a corner of a cardboard box 03:31
i've seen (well, heard) her do that at least a dozen times in the short time i've gotten to know her
cats are strange %)
m: say <1+2i>.WHAT 03:35
camelia rakudo-moar 9746e8: OUTPUT«(Str)␤»
timotimo since it's already crazy late, I just went ahead and published the post for monday (yes, yesterday) without asking for reviews before 03:41
adu_ yey for lazy deserialization! 03:45
timotimo :) 03:46
adu_ Coke++ for macports work :) 03:47
[Coke]++ 03:48
skids wonders if RT#124162 which he filed tonight would happen on star (before lazy deserialization was turned on) 04:19
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124162
timotimo skids: there's a #define in moarvm's "sc.h" that you can flip to try it out 04:27
timotimo goes to bed, finally
moritz }o{ 06:23
timotimo++ # p6weekly 06:25
FROGGS[mobile] ohh, have to read 06:26
morning o/
FROGGS . 07:16
yoleaux 02:39Z <retupmoca> FROGGS: I successfully followed your msi build instructions (using strawberry perl), so they must be complete :)
FROGGS retupmoca: \o/ 07:16
[Tux] panda install Inline::Perl6 Slang::Tuxic 07:19
resolve stage failed for Inline::Perl6: Project Inline::Perl6 not found in the ecosystem
in sub die at lib/Panda.pm:180
user error :) Inline::Perl5 of course passes
[Tux] started from scratch after reading perl6weekly 07:20
\o/ RT#123597 also fixed
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123597
FROGGS timotimo++ # weekly 07:42
nine_ .tell japhb I could not reproduce it with a freshly installed Ubuntu 14.04 LTS Server VM :( You're probably using the desktop version? I can try that, too, but have diminishing hopes of success. Could you maybe get me a backtrace? Might at least give me an idea what's going on. 08:01
yoleaux nine_: I'll pass your message to japhb.
bartolin m: $_ = 0; s{^(\d+)$} = sprintf "%3d -", $_ # RT #123597 08:28
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123597
camelia rakudo-moar 9746e8: OUTPUT«use of uninitialized value of type Any in string context in block <unit> at /tmp/CY4s_p_XwN:1␤␤Error while creating error string: No exception handler located for warn␤»
bartolin [Tux]: ^^ this has changed, but doesn't look quite right so me 08:29
lizmat timotimo++ # P6W 08:38
bartolin yeah, timotimo++ 08:42
azawawi hi 09:14
yoleaux 23 Mar 2015 22:08Z <FROGGS> azawawi: github.com/rakudo/star/blob/master...ws-msi.pod
dalek kudo/newio: bc08619 | usev6++ | src/core/operators.pm:
Do not return the previous value when generator function of sequence calls 'last'

fixes things like 'say 10,9,8, { diff - 1 || last } ... *'
09:17
kudo/newio: 9b5d4e2 | FROGGS++ | src/core/operators.pm:
Merge pull request #393 from usev6/nom

Don't return previous value when generator function of sequence calls 'last'
kudo/newio: a57affe | lizmat++ | src/Perl6/World.nqp:
Don't curry if there's nothing to curry

This fixes the LTA error on e.g. Hash[]:
   Too few positionals passed; expected at least 3 arguments but got only 2
kudo/newio: 9746e88 | TimToady++ | src/Perl6/Grammar.nqp:
require existing character before peeking delims
kudo/newio: 6d97b03 | lizmat++ | src/ (3 files):
Merge branch 'nom' into newio
FROGGS hi azawawi
azawawi FROGGS: thanks :) 09:18
lizmat .tell jnthn is STORE_AT_KEY supposed to be a public API or not ? 09:22
yoleaux lizmat: I'll pass your message to jnthn.
bartolin assuming, I provide an additional multi candidate for infix:<cmp> which matches when comparing a user defined class A with an Int with the following code: 09:23
multi sub infix:<cmp> (A $x, Int $n) { $x.val cmp $n }
is that supposed to be visible "everywhere"?
lizmat no, only in the scope you define it, afaik
lizmat or if exported from a module, where you use the module 09:24
bartolin more to the point: somewhere in 'sub SEQUENCE' there is code like '$value cmp $n' and it looks like my multi candidate is not used there 09:24
lizmat is your candidate narrow enough? 09:25
moritz that's what 'lift' is supposed to do
but it's NYI
bartolin lizmat: I think so -- it works if I call it manually
there is a (longish) gist for my problem: gist.github.com/usev6/2e43b83757e5c0e719fc 09:26
lizmat moritz: lift isn't even speculated about anymore
moritz lizmat: uhm, no, it seems I'm more than a year behind things
bartolin has never heard about 'lift' 09:27
lizmat
.oO( it was lifted from speculation )
09:28
bartolin *g*
lizmat moritz: spec commit eb0f21689e70b3280745e2 (4 nov 2013): 09:29
unspec statement_prefix:lift
This is going away in favor of better parameter declarations that can
implicitly default to operators as seen by the caller.
afk for a few hours& 09:30
bartolin o/
Ven It's funny of one of emacs' most liked plugins, magit, uses the same "scheme" as vim...:) 09:31
azawawi FROGGS: which visual studio are you using btw to build the msi? 09:33
FROGGS azawawi: 2010 on the 32bit machine and 2012 on my 64bit 09:44
azawawi: but retupmoca++ just built using strawberry perl last night 09:45
azawawi FROGGS: really? i just tried it and it didnt work
FROGGS: using the 64-bit strawberry perl
azawawi reads yesterday's irc logs 09:47
azawawi tries to build rakudo using VS2012 09:53
FROGGS the build environment is the same as if you build rakudo from the git repositories... 09:54
except that you additionally need the WiX Toolset for the msi
cygx azawawi: it is possible to build rakudo using Strawberry Perl, but you manually have to manually copy around some files that end up in the wrong places 10:24
cygx azawawi: also, the setting won't compile if JIT or optimizations are enabled 10:24
moritz cygx: a summary of files that end up in the wrong places would be very helpful (where they end up, where they should end up) 10:52
azawawi cygx: Thanks for the info. Could you please provide the file list? 10:56
cygx moritz, azawawi: it's a bit more involved than I remember 11:02
first, there's gist.github.com/cygx/bdd2e4b00706aad5d38b to get the import library into lib/
then, moar.dll should probably end up in bin/ instead of lib/ (if you don't want to add lib/ to your path) 11:03
the nqp and rakudo Configure.pl need to be made aware of MinGW's gmake
moritz I'm pretty sure they can handle alternative 'make' names already, in some form or another 11:09
cygx moritz: MoarVM can, but as far as I can see, in Rakudo an NQP. it's just $^O eq 'MSWin32' ? 'nmake' : 'make' 11:11
moritz cygx: maybe it was the parrot backend that extracted config info from parrot 11:12
masak timotimo++ # p6weekly.wordpress.com/2015/03/24/...-comeback/ 11:35
timotimo: I like the idea about blogging about evals, btw.
maybe in a separate blog post from the weekly one?
moritz also note that the IR clogs have a summary feature which you can use for just such a purpose 11:37
that is, mark the eval and response lines as summary, then only view the summary, and copy&paste the summary HTML into your post 11:38
and yes, I'd like that too
retupmoca FROGGS, *: I build the msi using strawberry perl, but I was still using VS for the C compiler - not MinGW 11:54
FROGGS ahh 11:56
that explains it
though, would be nice to be able to build with mingw without manually moving files around 11:59
moritz is this a general Windows thing, that that libraries/dlls are searched in the same path as executables? 12:02
cygx moritz: yes (cf msdn.microsoft.com/en-us/library/7d83bc18.aspx ) 12:04
azawawi moritz: this article explains the DLL search order on win32 msdn.microsoft.com/en-us/library/w...plications 12:06
moritz: so to simplify it... windows system, windows directory then your $PATH 12:07
quick question, should site/lib be first before lib in @*INC? 12:09
otherwise installing stuff from panda cannot override those installed in rakudo star
azawawi perl -e "print \"@INC\"" => C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread 12:12
azawawi m: say @*INC 12:12
camelia rakudo-moar 9746e8: OUTPUT«file:/home/camelia/rakudo-inst-1/share/perl6/lib inst:/home/camelia/rakudo-inst-1/share/perl6␤»
psch \o 12:33
dalek p/no-readlineint: be10c79 | hoelzro++ | src/HLL/Compiler.nqp:
Preserve interactive eval context as an attribute of the compiler
12:46
kudo/tab-completion: 8494d41 | hoelzro++ | tools/build/NQP_REVISION:
Bump NQP_REVISION
12:47
arnsholt We're still using Panda to install modules and stuff, right? 14:13
timotimo correct
ufo is still usable, too
(iirc)
PerlJam I don't know about everyone else, but *I* use panda ;)
timotimo you can use panda-build and panda-test, too instead of ufo 14:14
hoelzro o/ #perl6 14:16
timotimo heyo hoelzro 14:18
lucas___ Hello!
Now that antipairs was added to S32/Containers, it's mentioned 2 times. One on its own and one with kv,pairs,etc. 14:19
hoelzro hello timotimo
lucas___ under the Hash entry... 14:20
retupmoca timotimo: re: GTK .dll files: who do I need to talk to to get the .dll's rehosted? Also, I'd like to add a dep on LWP::Simple so we can automagically download them in Build.pm, if that makes sense 14:21
lucas___ also, why not rewrite Hash.{antipairs,invert} in terms of the pair methods?
%hash.map: *.invert
%hash.map: *.antipair
what do you think? 14:22
hoelzro could someone do me a favor and help me move my docker repo under the perl6 org? 14:27
skids
.oO(do pairs and antipairs annihilate if they hit each other? :-)
14:28
FROGGS hoelzro: what power do you need?
FROGGS has no idea about docker whatsoever
hoelzro FROGGS: I just need to transfer github.com/hoelzro/perl6-docker to github.com/perl6/docker 14:29
FROGGS hoelzro: can you rename it first?
or wait
timotimo it always annoys me that github shows "forked from blah" 14:31
i'd personally build a repo with the correct name and just let hoelzro push there
unless there's wiki or issues
hoelzro that's good with me
there's nothing but commits atm
FROGGS hoelzro: can you add that as a additional remote and then push everything? github.com/perl6/docker 14:35
does that work?
…or push an existing repository from the command line 14:36
git remote add origin [email@hidden.address]
arnsholt How long should the "Fetching panda" step take?
FROGGS git push -u origin master
arnsholt: depends on the size of that dir
timotimo arnsholt: something's making panda's "grab all ze files" very, very slow
FROGGS arnsholt: do you have an .panda-work dirs in it?
arnsholt It's a fresh git clone
FROGGS ahh
hoelzro FROGGS: done, thanks!
FROGGS \o/
arnsholt Just checking, in case something has gotten stuck 14:37
timotimo if nobody objects, i'd build a tiny little progress indicator for panda's stages
FROGGS sounds interesting
arnsholt Definitely 14:38
hoelzro oh, does anyone know the license of the Rakudo logo? 14:39
sergot hi #perl6! 14:43
FROGGS hi sergot
hoelzro hello sergot 14:44
timotimo hoelzro: i do not :( 14:47
hoelzro =(
maybe I should just use Camelia for the docker repo?
FROGGS hoelzro: if in doubt it is this: github.com/rakudo/rakudo/blob/nom/LICENSE
masak sergocie! \o/ 14:50
skids hoelzro: pmichaud might know. 14:51
TimToady lucas___: yes, we could make the language more orthogonol there, but I prefer a fractal geometry closer to natural langauges
hoelzro thanks folks; I'll stick around to see if pmichaud or others know
PerlJam FROGGS: the logo isn't in that repo is it?
masak for once I agree with TimToady about orthogonality vs fractality. 14:52
it makes sense to have those methods on Hash
PerlJam
.oO( for once? )
14:53
lucas___ TimToady, masak: thanks! 14:54
I was just talking about the specs...
masak PerlJam: I still think .ords is very silly
PerlJam: when >>.ord exists
[ptc] FROGGS: do you mean with "a great many links" that the text should be improved? 14:55
TimToady masak: you mean .comb».ords
masak ah, yes. of course. 14:55
anyway, that latter way is how I'd write it.
TimToady er, .comb».ord 14:56
masak :)
TimToady I always thought it was a weird discontinuity to have ord on the first character but not on the rest of them
PerlJam also seems like .ords is more optimizable than .comb».ord (not that that's the primary concern) 14:57
FROGGS [ptc]: is "a great many links" proper English?
TimToady yes, that's fine English 14:58
FROGGS ewww
English--
dalek ar: 438a4c3 | paultcochrane++ | README:
Fix minor typos
ar: 1018ddd | paultcochrane++ | README:
Purge trailing whitespace
ar: fb9b17e | paultcochrane++ | README:
Wrap paragraphs and vertically separate sections consistently
ar: 1e4ea3a | FROGGS++ | README:
Merge pull request #44 from paultcochrane/pr/readme_fixups

Some README fixups
FROGGS PerlJam: I thought it was :/
TimToady more modern English would be "lots of links", but that's not particularly better by any measure except keystrokes 14:59
[ptc] FROGGS: yeah, it's a bit old-fashioned, but it works 15:00
that's why I didn't change it
TimToady so "a great many" is more impressive these days than "lots of"
due to the vague archaicism
FROGGS perhaps it is like "eine große Vielzahl" in German 15:01
TimToady lots of links is just a fact, but a great many links make you open your eyes wider
FROGGS yeah, I see now
[ptc] FROGGS: hrm, I see what you mean, a bit doppelgemoppelt
FROGGS exactly exactly! 15:02
:P
[ptc] grins
TimToady you can say that again
.oO(you can say that that again)
FROGGS I really <3 that channel :D
TimToady: I hear your sentence(s) with echo effect in my voice 15:03
TimToady hopefully like Enya!
or is it more of gated reverb like Madonna?
FROGGS ohh, more like Enya
TimToady wants some exciter and some chorus too, to make me sound like more people 15:04
TimToady (those are actually the four effects I've been using lately on our church's sound board :) 15:04
FROGGS hmmm, now I wanna hear Mike Oldfield :/ 15:06
TimToady the weird thing psychologically is that as you add more reverb, things sound farther away, so you actually have to turn down the reverb if you want something to sound more intimate 15:07
.oO(here we are in the echo chamber being distant from each other...)
15:08
TimToady wanders off into the distance to get more coffee 15:09
dalek k-simple/dllfetch: 9c14014 | retupmoca++ | / (5 files):
Fetch .dll files when installing on windows

Incomplete: still need to figure out where to host .dll files.
15:16
retupmoca timotimo: ^ is this better than the binaries-in-git approach? 15:18
retupmoca (as it does add a dependency; albeit one that is installed already with star) 15:19
[ptc] there don't seem to be Debian control files or RedHat .spec files inside the perl6 GitHub repos. If one wanted to start updating, e.g. the relevant Debian control files, where should one put them? 15:26
Would a new repo be necessary?
hoelzro [ptc]: I started on some debian control files if you want to have a look 15:27
they're not in a repo, though
[ptc] hoelzro: yeah, that sounds good 15:28
hoelzro: I've got the old ones directly from Debian, but they rely on parrot, and are from 2014...
PerlJam [ptc]: do you intend on collecting the various OS dist deployment options in one place? (or just those two?) 15:29
[ptc] PerlJam: I was wondering about that. I'm not 100% sure.
hoelzro I also have an Arch PKGBUILD, but it's pretty out of date
also, where did [Coke] put his work?
[ptc] separate repos sounds like too much work 15:30
but then one would have unrelated changes within the same repo for different OSes
I think one repo is probably best (for a start) and then one can split them if necessary
masak decommute &
PerlJam [ptc]: agreed.
[ptc]++
[ptc] can members of the perl6 GitHub team create new repos? 15:32
if so, then I'll make one and we can start swapping some code. Need a good name though.... 15:33
tadzik I get "insufficient permission"
hoelzro [ptc]: hoelz.ro/files/p6-debian.tar.xz
I tried last night and couldn't =/
[ptc] hoelzro: thanks :-)
hoelzro [ptc]: sure thing! the MoarVM one is the most complete
PerlJam [ptc]: "owners" can. 15:34
[ptc] hoelzro: wow, several different configs. Cool. 15:34
hoelzro [ptc]: I'm no debian expert, so I apologize for the state of those files 15:35
retupmoca someone-with-access-to-p6c-web-directories: can you help me rehost some GTK .dll files somewhere for GTK::Simple windows installs? 15:36
dalek c: 51cb139 | (Edwin Steiner)++ | lib/Language/setbagmix.pod:
Remove some redundant words which probably remained from a copy&paste.
c: bb4d9b3 | (Edwin Steiner)++ | lib/Language/setbagmix.pod:
Attempt to clarify the description of set/bag intersection.

I found the phrase "maximum weight all of the arguments share" a bit confusing. Hopefully this new version is clearer. Your milage may vary, I guess.
c: f64f3cf | paultcochrane++ | lib/Language/setbagmix.pod:
Merge pull request #62 from edwinst/master

A couple of edits for "Sets, Bags, and Mixes"
[ptc] hoelzro: neither am I :-) No need to apologise! We can clean up as necessary. The main thing is they work ;-) 15:38
hoelzro heh, we'll see about that =)
I think that the MoarVM build made lintian a little angry
I think something to do with MoarVM being built with -rdynamic, or something? 15:39
[ptc] I'll have a play with debootstrap in a minute and see what it throws at me
timotimo retupmoca: kind of weary of fetching binary files like .dll over a HTTP link 15:40
retupmoca timotimo: SHA-256 check them on download? or https? other? 15:42
[ptc] PerlJam, hoelzro: how does "os-build-configs" sound as a repo name? Or maybe "linux-dist-build-configs"?
PerlJam, hoelzro: I don't want the name to be too long though... 15:43
skids repodepot!
PerlJam skids++ :)
PerlJam [ptc]: just "os-build" would work for me. 15:43
timotimo retupmoca: a sha-256 check seems prudent
https would be even better, but known hashsums also seem fine 15:44
PerlJam [ptc]: with an appropriate README that explains what the repo is all about
[ptc] PerlJam: yeah, that would do.
PerlJam [ptc]: or, you could go with a cute/catchy name :)
[ptc] PerlJam: for a while there I was thinking "os-build" could be to build different OSes...
timotimo retupmoca: i do have an account on www.p6c.org; should i just pull the exact .dll files from the git repository? 15:45
[ptc] PerlJam: repodepot is cool, however :-)
retupmoca timotimo: please :)
PerlJam [ptc]: I note that timotimo is an "owner" of perl6 too if you want to add the repo there.
timotimo oh, yeah i think i am 15:46
PerlJam timotimo: I just looked, so I *know* you are :)
(I was checking if I was an owner, and I'm not)
[ptc] timotimo: could you make a new perl6 repo called "os-build", please?
hoelzro os-build sounds good 15:47
[ptc] timotimo: the plan is to store build configurations for different OSes there
hoelzro or packages/packaging
timotimo will do
PerlJam timotimo++
[ptc] timotimo: danke dir!
timotimo or perhaps this may be better in rakudo/? 15:48
[ptc] no idea. I'd like it to be somewhere, where I can hack at the files... 15:49
timotimo right 15:49
github.com/perl6/os-build
[ptc] and I don't have rakudo privs (which is probably a good thing ;-) )
\o/ 15:50
PerlJam timotimo: putting it in perl6 could aid in getting people to add non-rakudo builds (if there's ever a demand for such things)
[ptc] timotimo++
timotimo right, PerlJam++
[ptc] timotimo: could you add a stub README in the repo, please? That way it makes it easier to clone the repo 15:51
well, I'm guessing a bit about that, just that I can't see a link on GH atm
timotimo it is done 15:52
[ptc] ... or I could use my brain and stop typing
timotimo: cool, thanks :-)
dalek frastructure-doc: 01fa6a8 | PerlJam++ | hosts/hack.p6c.org.pod:
Add other sudoers
15:54
timotimo retupmoca: did you force-push over the git repo and removed the commit that uploaded the .dll files? :) 15:55
retupmoca no, there are two branches 15:56
timotimo oh
of course
retupmoca one with the bundle, one with the fetch
hmm...Digest::SHA's pure-perl implementation is too slow for these files 15:57
timotimo they probably haven't been updated to take advantage of cool new rw buf stuff?
does windows' WinAPI have something that does sha256?
since we already require NativeCall anyway - and it's in rakudo now - that'd be an option 15:58
retupmoca not sure - I was pure-linux until a few months ago :)
skids Sum does provide SHA1 through libmhash, librhash, or libcrypto.
Or any sha actually.
well not sha3
dalek rl6-roast-data: d3ee0e5 | coke++ | / (8 files):
today (automated commit)
16:02
skids As currently constructed, you should be able to just take lib/Sum/librhash.pm6 (or one of the other native lib support files) out of Sum and use it more or less solo with a bit of massage. 16:06
flussence I wouldn't use the sha3-branded version of keccak - I read that the algorithm authors weren't comfortable with the way NIST "tweaked" their stuff after the fact. 16:10
skids I had read those concerns were a bit overblown. 16:11
flussence yeah, they probably are. There's plenty of other hashes to play with all the same...
flussence (I like the new convention openbsd's been pushing - sha256 with base64, it creates only slightly larger strings than sha1 + hex) 16:14
timotimo i'm not quite sure what i missed ... gtk-dlls.p6c.org isn't up yet
moritz well, if you need a new p6c.org subdomain, I need to add it to the DNS first :-) 16:15
timotimo ah, i thought we had a wildcard and did the rest via apache virtualhosts 16:15
so i'd like you to do that :)
moritz timotimo: should it go to www? 16:16
timotimo yes
moritz timotimo: added, with 2001:780:101:ff00::80:6 as IPv6 address 16:17
timotimo: and fwiw we have a wildcard for perl6.org subdomains, which makes a lot of sense because I don't have control of its zonefile 16:18
timotimo oh 16:22
i could have put the vhost on perl6.org then ... i'll remember that for the next time
TimToady m: gist.github.com/anonymous/48efcb021cc1dd55fdd2
camelia rakudo-moar 9746e8: OUTPUT«Normal: Less␤Lifted: Same␤»
TimToady bartolin, moritz, lizmat: ^^^
we can actually do the right thing now, albeit without much sugar 16:23
lizmat tries it in SEQ 16:25
TimToady though nowadays it looks more like lowering cmp than lifting it...
bartolin oh, great! TimToady++
timotimo wonders about the performance implications
moritz timotimo: well, it can't compile-time resolve, dispatch or inline anything 16:26
TimToady well, it's a way to write code that is generic on your caller
so we can spesh on caller
timotimo oof
moritz the real problem is that it doesn't go all the way for nested calls
TimToady :D
timotimo well, when we inline, we'll be able to spesh on caller 16:27
so we'll capture the lexical environment of the caller early when entering the setting
TimToady moritz: that's a problem of identity, not mechanism
how do you know where to stop, if unspecified? 16:28
lizmat maively adding my &infix:<cmp> = CALLER::LEXICAL::{ '&infix:<cmp>' }; to SEQUENCE does not make bartolin's example work
afk again&
*naively
moritz where to stop inded
*ee
TimToady nested calls might have to look further
or the top call needs to store it someplace handy 16:29
it's really the same interface that carp tries to find in P5 16:30
TimToady "my module" vs "their module" 16:30
P5 does it by detecting the package change
dunno if that'd work in P6 16:31
we haven't though much about carp either... 16:32
TimToady *thought 16:38
timotimo retupmoca: gtk-dlls.p6c.org/ is now reachable from my box 16:43
TimToady m: gist.github.com/anonymous/2fafaef93a43c3cb2dbe 16:44
camelia rakudo-moar 9746e8: OUTPUT«Normal: Less␤Lifted: Same␤» 16:45
TimToady ^^^ there's the "store it in a convenient place" approach
in this case, a dynvar
and force cmp to use the dynvar
the only infix:<cmp> allows us to define a lexical cmp that is really generic on the original caller 16:47
TimToady so the mechanisms are there for correctness, if not for efficiency or ease of expression 16:47
note that in this case, the boundary is defined by the top-level routines that set $*CMP, not by a package change 16:48
bartolin I guess, I have to ponder about that a bit :) 16:50
TimToady note that in this case the package boundary would've worked too, since I put the service routine into a class 16:54
but we don't have a pseudo-package that means CALLER-FROM-DIFFERENT-PACKAGE:: 16:55
(yet... :)
CLIENT:: or so
retupmoca timotimo++ moritz++ 16:56
hoelzro if I have a PseudoStash $ps, I *should* be able to look at its containing scopes via $ps<OUTERS>, right? 16:58
TimToady but CALLER doesn't appear to know the package the caller was compiled in :/ 17:03
TimToady m: sub foo () { say callerframe(1) } 17:05
camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7MpnxDADwA␤Undeclared routine:␤ callerframe used at line 1. Did you mean 'callframe', 'callsame'?␤␤»
TimToady m: sub foo () { say callframe(1) } 17:06
camelia ( no output )
TimToady m: sub foo () { say callframe(1) }; foo
camelia rakudo-moar 9746e8: OUTPUT«CallFrame.new(level => 3, annotations => ("file" => "/tmp/ZzrW7S0Ayw", "line" => "1").hash, my => EnumMap.new("\$=pod" => Mu, "!UNIT_MARKER" => Mu, "GLOBALish" => Mu, "\$!" => Mu, "\$/" => Mu, "::?PACKAGE" => Mu, "EXPORT" => Mu, "\$_" => Mu, "\$?PACKAGE" =…»
TimToady m: class Me; sub foo () { say callframe(1) }; foo
camelia rakudo-moar 9746e8: OUTPUT«CallFrame.new(level => 3, annotations => ("line" => "1", "file" => "/tmp/v5YuIrDC_L").hash, my => EnumMap.new("\$_" => Mu, "::?PACKAGE" => Mu, "\&foo" => Mu, "\$?PACKAGE" => Mu, "\$?CLASS" => Mu, "::?CLASS" => Mu))␤»
TimToady package being Mu there looks like a bug or a NYI 17:08
TimToady can't implement carp if that's wrong... 17:09
m: class Me; sub foo () { say callframe(0) }; foo 17:14
camelia rakudo-moar 9746e8: OUTPUT«CallFrame.new(level => 2, annotations => ("file" => "/tmp/_rxKjhLZ2b", "line" => "1").hash, my => EnumMap.new("RETURN" => Mu, "\$/" => Mu, "\$*DISPATCHER" => Mu, "\&?ROUTINE" => Mu, "\$_" => Mu, "\$!" => Mu))␤»
japhb .botsnack 17:18
yoleaux :D
08:01Z <nine_> japhb: I could not reproduce it with a freshly installed Ubuntu 14.04 LTS Server VM :( You're probably using the desktop version? I can try that, too, but have diminishing hopes of success. Could you maybe get me a backtrace? Might at least give me an idea what's going on.
japhb .tell nine_ Gah, OK, I'll see what I can do, thanks for trying! 17:19
yoleaux japhb: I'll pass your message to nine_.
arnsholt So, um, "Fetching panda" has been running for 55 minutes and is using 2 gigs of memory. Still normal?
arnsholt tries updating NQP and Rakudo 17:21
dalek k-simple/dllfetch: 7161373 | retupmoca++ | Build.pm:
Fix native lib test, add proper URL and SHA verify
17:22
k-simple/dllfetch: b0d561a | retupmoca++ | Build.pm:
Remove undeeded 'use'
17:23
retupmoca timotimo, *: does the above look decent? 17:24
flussence looks pretty sane, imo 17:31
pmichaud hoelzro: (rakudo logo) -- it can be treated under license terms similar to that of the camelia logo. I'll put something "official" together for that next week. 17:32
flussence (um, shouldn't gtk-dlls.p6c also provide a download of the source?)
[ptc] timotimo: are you there? 17:43
timotimo: would it be possible to give perl6 team members write privs to the os-build repo?
timotimo sure
[ptc] timotimo: I just tried to push and was refused due to perms 17:44
timotimo k
[ptc] timotimo: sweet, cheers
timotimo done
[ptc] timotimo++
masak waves from a train 17:50
nwc10 a moving train? 17:51
eli-se hi there
masak nwc10: it moves most of the time. 17:52
nwc10: but this *is* Sweden.
nwc10 I was about to check "forwards?"
masak that's a thorny issue. it's moving in the direction I want. 17:55
it was delayed already as we left the station.
now it stopped again. 17:56
nwc10 I had INVISBLE TRAM this evening
PerlJam masak: but at least you have us! :)
nwc10 the board counted down from 4 minutes to 1, then it blinked (meaning it should be going) 17:57
then it went to 0 (which is *not* normal)
(but by this point I'd figured that I was being lied to)
and then it vanished
I did find a tram later on going in the correct direction
[ptc] nwc10: was it INVISBLE because "I" was missing in it? 17:58
nwc10 (problem seems to have been a serious acident further up, and things getting diverted etc)
[ptc]: I guess so :-)
I fail at both English and LOLCAT
much errors, very fail, whoops.
flussence it's spelled "INVIZIBL"! 17:59
(I think.)
dalek k-simple: 9c14014 | retupmoca++ | / (5 files):
Fetch .dll files when installing on windows

Incomplete: still need to figure out where to host .dll files.
18:02
k-simple: 7161373 | retupmoca++ | Build.pm:
Fix native lib test, add proper URL and SHA verify
k-simple: b0d561a | retupmoca++ | Build.pm:
Remove undeeded 'use'
retupmoca ^ GTK::Simple is now simpler to install on windows
liztormato Isn't it spelled " "? 18:03
raydiak retupmoca++
TimToady liztormato: only if those are uppercase spaces 18:05
hoelzro pmichaud: awesome, thanks! 18:10
eli-se There should be a phaser of which the name consists of uppercase spaces. 18:11
It would be consistent with all other phaser names. 18:12
TimToady .u   18:16
yoleaux U+200A HAIR SPACE [Zs] ( )
FROGGS o/ 18:18
a colleague on mine has HAIR SPACE 18:19
probably because of doing SAP every day 18:20
eli-se ABAP best programming language 18:21
FROGGS >.< 18:23
eli-se: should have been "ABAP best programming language."
timotimo ABAP Best Application Proglang 18:24
FROGGS I am still not sure if we really want an "Inlined" REPR :/ 18:38
sergot: are you going to work on updating pointers passed from P6? 18:39
timotimo FROGGS: wouldn't just an option for the repr composition be enough? 18:53
FROGGS timotimo: that'd mean that you have to declare a CStruct twice, one as the inlined one and one for other purposes 18:54
timotimo actually 18:55
through the magic of the MOP ... maybe you can have a CStruct repr'd object have a meta-method "inlined" that creates the equivalent inlining version?
FROGGS and at what point do I call it? 18:56
moritz IMHO the correct solution would be a trait 18:57
timotimo hmm
probably
FROGGS moritz: it might be too late for a trait
moritz class X { has OtherStruct $.x is inline; has Struct APointerNow }
FROGGS: then a separate declarator 18:58
class X { inline OtherStruct $.x }
FROGGS I'd started to implement an 'is inlined' trait, but I do not see how to get at it when composing the class X in your case 18:59
moritz well, it'd have to alter something in the Attribute 18:59
and the attribute is available through introspection 19:00
doc.perl6.org/type/Metamodel::Attri...attributes
(you might need to add an attribute to Attribute) 19:02
FROGGS I need to pull out some information like in here: github.com/MoarVM/MoarVM/blob/mast...uct.c#L146 19:03
japhb My response to "ABAP best programming language" is ABEND. 19:10
<-- Former SAP employee
FROGGS okay, traits happen too late atm 19:11
moritz japhb: to me, "ABAP" always looks like a variant of "ASAP", presumably "As Bureaucratic As Possible"
FROGGS japhb: but the good thing is you escaped! :D
_edwin hello! I noticed that in Rakudo, Set and Bag (and Mix) seem to preserve order of elements. Is this an accidental property of the implementation? 19:12
moritz _edwin: yes; you shouldn't rely on it
FROGGS rosettacode.org/wiki/Anagrams#ABAP *shudder* 19:13
_edwin moritz, ok, thanks. background: I'm thinking about emphasizing this difference of Set/Bag/Mix vs. List more in perl6/doc 19:14
masak thinks it'd be worthwhile to scramble the order of elements in Set/Bag/Mix, just so people don't get the wrong idea 19:15
moritz _edwin: +1
masak: +1
[Coke] I dislike the thought of performing extra cycles of work there. 19:27
TimToady just do it one time out of 20 :)
or just return things in the opposite order sometimes :) 19:29
timotimo yeah 19:31
i thought about just moving one single item about
like put the first item in a random place
masak haven't looked at the source, but... why is the order preserved in the first place? 19:34
timotimo accidentally, i suppose
masak every single time? 19:35
timotimo i suppose it depends on what operations you do that accidentally preserve order
TimToady m: say set(1,2,3) ∩ set(4,3,2) 19:42
camelia rakudo-moar 9746e8: OUTPUT«set(2, 3)␤»
masak I'm just saying that I wouldn't expect a hash-based collection to preserve insertion order in the first place.
TimToady m: say set(4,3,2) ∩ set(1,2,3) 19:43
camelia rakudo-moar 9746e8: OUTPUT«set(3, 2)␤»
masak that intuitively feels like it would be slower than the fastest possible solution. 19:43
masak since part of the charm of hash-based collections is that they sacrifice ordering for quick access. 19:43
TimToady I believe lists of pairs are currently kept underneath, for some reason I don't understand
masak ick.
std: class GX {}; class C { has GY @.g }
camelia std 28329a7: OUTPUT«5===SORRY!5===␤In has declaration, typename 'GY' must be predeclared (or marked as declarative with :: prefix) at /tmp/KbbhOuLEuy line 1:␤------> 3class GX {}; class C { has GY7⏏5 @.g }␤Malformed has at /tmp/KbbhOuLEuy line 1:␤------> 3class GX…» 19:44
masak m: class GX {}; class C { has GY @.g }
camelia rakudo-moar 9746e8: OUTPUT«5===SORRY!5===␤Type 'GY' is not declared␤at /tmp/v9aBBJBSzF:1␤------> 3class GX {}; class C { has GY7⏏5 @.g }␤Malformed has␤at /tmp/v9aBBJBSzF:1␤------> 3class GX {}; class C { has7⏏5 GY @.g }␤␤»
masak I like STD's error message better here.
moritz masak: it seems on moar, hashes are ordered
masak but I'm curious why both Rakudo and STD feel they need to add "malformed has" -- doesn't feel like it adds something after the first error.
moritz: :(
moritz m: my %h = ('a'..'z') Z=> 0..*; say %h.keys eq %h.keys.sort 19:45
camelia rakudo-moar 9746e8: OUTPUT«True␤»
masak it's not so much that I like my hashes unordered -- it's that I think that making them ordered sets a bad precedent.
we've seen Perl 5 people marry their code to hash order, and then cry foul when the order changes.
arnsholt can haz Panda o/ 19:46
TimToady m: my %h = ('a'..'z').pick(*) Z=> 0..*; say %h.keys eq %h.keys.sort
camelia rakudo-moar 9746e8: OUTPUT«False␤»
PerlJam masak: moreover, perl 5 people did it *accidentally* without realizing. Having ordered hashes invites that history to repeat
moritz masak: agreed
TimToady wonders if moar internals depend on that anywhere... 19:47
moritz m: my @k = ('a'..'z').pick(*); my %h = @k Z=> 0 xx *; say %h.keys eq @k
camelia rakudo-moar 9746e8: OUTPUT«True␤»
arnsholt Hmm. May have to do something to get DBDish::Pg to work though, since I don't have a libpq.so (only libpq.so.5)
TimToady m: say ('a'..'z').pick(*) 19:48
camelia rakudo-moar 9746e8: OUTPUT«v k w l a g q u e b r p t y x i n z c o s h m f d j␤»
TimToady so does .pick imply .flat after the GLR? 19:49
m: say ('a'..'z').elems
camelia rakudo-moar 9746e8: OUTPUT«26␤»
TimToady m: say ('a'..'z',).elems
camelia rakudo-moar 9746e8: OUTPUT«1␤»
TimToady m: say ('a'..'z',).pick(*)
camelia rakudo-moar 9746e8: OUTPUT«o z k m u c p g t n l i s x w q j e a v y d r h f b␤»
TimToady after GLR that last one might just return 'a'..'z' as an item, unless we say .pick flattens 19:52
skids How many holes do we intend to poke in "mysub() flattens ().mymethod does not"? 19:54
japhb Speaking of the GLR ... is that in progress now, or still in queue? 20:00
TimToady well, .for is already an exception
skids I think the bar should be set pretty high personally, enough so that module authors are discouraged from eing wishy washy about their interface. 20:01
masak japhb: I believe pmichaud is gearing up to do it. 20:02
japhb: "during April" is what I've heard, I think.
skids Because flattening behavior changes have accounted for over half the times things have broken under me.
_edwin are both the method and the sub meant to be spelled "unique"? in S32 the sub is still listed as "uniq" 20:09
TimToady uniq is a fossil
we changed from 'uniq' because Unix's uniq is really a squish 20:10
_edwin thanks, yes I saw squish today. this distinction is an example of the thoughtfulness that I love about Perl 6 20:14
dalek ecs: 74e3d75 | (Edwin Steiner)++ | S32-setting-library/Containers.pod:
Replace "uniq" fossil with "unique".
20:18
_edwin woo, my old commit bit still works :) 20:19
timotimo cool! 20:23
[Coke] jnthn++ 20:25
jnthn chuckles 20:26
yoleaux 23 Mar 2015 23:17Z <japhb> jnthn: How scalable are supplies, in terms of sheer volume of Supplies and taps that I can have active before performance falls over or RAM gets prohibitive? My use case is an entity-relationship model for which I'm considering having an "updates" supply on every Entity and Relation, tapped by all clients who care about those nodes. At least thousands x dozens.
09:22Z <lizmat> jnthn: is STORE_AT_KEY supposed to be a public API or not ?
jnthn Wasn't there a discussion yesterday along the lines of "Should .perl sort hashes?" "Hm, yes, sounds OK" "The gist should to!" 20:27
Today: "omgz the gist output of two set intersections is sorted" :P
masak wait -- I thought it was that hashes are intrinsically sorted 20:28
eli-se hashes are unordered
masak eli-se: you don't say ;) 20:29
eli-se: the dangers of jumping straight into a discussion without backlogging... ;) 20:30
jnthn masak: The discussion came up after doing a "say" though :)
TimToady jnthn: but the intersections I did weren't sorted
jnthn Moar curerntly uses uthash
eli-se It's not dangerous.
TimToady one was 2,3, the other 3,2
masak eli-se: no-one in the discussion is unaware that hashes are unordered.
eli-se: trust me, people on this channel are likely to know that ;) 20:31
jnthn Because it's (a) one of the faster off-the-shelf hash implementations there is, and (b) there was no reason to waste time writing custom hash code. :)
masak jnthn: does uthash preserve insertion order?
jnthn: and if it does, how in the world can it also be fast? 20:32
eli-se std::unordered_map!
jnthn masak: You're as capable of using google nad reading C code as I am.
*and
masak: Keeping insertion order doesn't imply not having O(1) lookup.
masak: Finding a bucket = O(1). Adding to a linked list = O(1). O(1) + O(1) = O(1). :) 20:33
Anyway, we won't keep it forever
nwc10 1 plus 1 is 1.
jnthn Not if you're in a big O :P
Uh, yes if you're in a big O. 20:34
:)
nwc10 use more sleep?
jnthn bah, where did I put that ice cream... :)
nwc10 hopefully not on the keyboard
jnthn Anyway, I suspect uthash being used in Moar won't last all that much longer.
It's getting in the way of us representing ASCII strings more compactly for one.
masak jnthn: I thank you for the confidence. I'm pretty sure I'm a fair bit less capable of reading C code than you are. :P 20:35
TimToady has read the C code, and still wonders how it compares with P5 hashes
otoh, p5 hashes aren't trying to do anything other than utf8 20:36
skids Is packages/Test in roast vestigial?
jnthn TimToady: Well, for strings we only have to care about NFG :) 20:38
mj41 hoelzro: Hi. I read a bit of the docs. Now, I'm too tired :-). Let me know (or push) if you have any work in progress. Thx. ... Useful links/repos are github.com/docker-library/official...ary%2Fperl github.com/Perl/docker-perl github.com/docker-library/docs/tree/master/perl
Dobrou noc.
dalek kudo/union: e8992fa | FROGGS++ | / (5 files):
implement trait 'is inlined' for attributes

This has only an effect for CUnions so far, but is easily extendable.
20:40
FROGGS jnthn: has Onion $.foo is inlined; # works now
jnthn FROGGS: ooh 20:41
Not sure "inlined" is the word we'll want in the end
But the semantics are the hard part to make work, so if you have those... :)
FROGGS++
FROGGS wants to have this now: has array[int8] $.bar[32] is inlined
jnthn You'll have to wait a bit for that. 20:41
It'd also be spelt has int8 @.bar[32] I think 20:42
FROGGS jnthn: I am open for suggestions :o)
jnthn: bah! doit the Java style!
FROGGS .oO( verbose ftw! )
'for the win' -- even more java
FROGGS jnthn: but serious, if you find a better word for 'inlined'... 20:43
TimToady 'is here' :) 20:44
FROGGS I.... I'll wait for jnthn :P
skids Well the design docs use "compact".
skids But that doesn't capture the full semantic. 20:45
TimToady if the whole thing defaults to compact, then you need 'is there' instead
well, explicit Ptr or so
jnthn TimToady: S09 as far as I remember doesn't actually define how something becomes a compact struct
jnthn I mean, it has: "A class whose attributes are all low-level value types can behave as a struct." 20:46
TimToady yeah, that's a bit wishy-washy 20:47
certainly a 'struct' declarator would default that way though
but maybe that's too C
jnthn "Whether such a class is actually stored compactly is up to the implementation" is also kinda unhelpful given that for C interop it actually matters which is picked ;)
FROGGS +1 for /class is REPR(CStruct)/struct/ 20:48
jnthn Well, class = reference type, struct = value type is actually very C# :)
FROGGS though, I am used to 'class is REPR(CStruct)'
jnthn FROGGS: Oh, I was considering this somewhat REPR-orthogonal.
In so far as a P6opaque is something that could potentially flatten itself into the body of another also. 20:49
The 6model impl on Moar is largely set up to cope with this
On JVM it's...uh...a little more fun :)
TimToady wonders how long till someone aliases a HAS declarator to 'has ... is inlined' 20:51
jnthn I'd probably call it contains :)
psch is ENDSTMT actually supposed to be hit for every full statement? 20:52
TimToady too short, how 'bout incorporates :P
FROGGS hehe
TimToady HAZ
skids inscribed?
TimToady got @.arms; 20:53
jnthn It's not as common as "has", so I'm not sure it needs to be so huffmanized... 20:54
skids Or ingrained? I should really put down aiksaurus now.
TimToady but it often wants to line up with has, is all
jnthn True
TimToady actuallh HAS ain't so bad
timotimo is HAS? 20:55
TimToady no, for the declarator
HAS Engine @.engine;
timotimo .o( is can has be hugs time now? )
TimToady er, $.
assuming you only have one engine... 20:56
jnthn All my transport today had more than one :) 20:58
TimToady you can haz a @
FROGGS what about 'own'? probably not I guess... 21:03
TimToady problem with that one is that it implies indirection just about as much as 'has'
FROGGS 'lay' has three letters... 21:04
jnthn Well, yeah, the "very clearly not indirection" was what I was angling for with "contains" 21:05
FROGGS what about 'ass' for assimilates :P
jnthn That's butt-ugly :P
FROGGS hehe
jnthn The real question, I guess is if we want to put the semantic on the type or the usage, though. 21:07
Or both. :) 21:08
TimToady
.oO(the bike, or the shed, or both...)
21:09
jnthn Well, C puts it on the usage, and C# puts it on the type, so we've got examples out there of both :) 21:10
FROGGS I hope we dont put it on the type
TimToady I think if you want automatic memory management, your type had better know 21:11
jnthn FROGGS: Why, ooc?
FROGGS because that means I have to declare classes twice, one class for inlining, one class for referencing
TimToady the ptr has to know that it's pointing into the middle of someone else's struct
which is sort of neither the usage nor the type 21:12
jnthn TimToady: Well, that's more about taking a reference to the thing
That's actually yet another axis
In C# you can't actually get a reference to the thing that's embedded. If you want to talk about it, you end up copying it out.
FROGGS 'putting it on the type' was the reason I started with 'inlined by default'...
and year, needing to put Pointer[] everywhere sucks 21:13
jnthn FROGGS: Do you have examples of APIs where you need to use the same type both ways?
FROGGS jnthn: libBox2D
there is a Vec2 struct, that's often inlined but equally often referenced 21:14
jnthn ok 21:15
FROGGS jnthn: I rechecked.... b2Vec2 is always inlined, except for the cases it appears as an array... 21:18
jnthn FROGGS: It's not inlined into the array? 21:19
As in, not a comapct array, but array of pointers to b2Vec2s?
FROGGS an array of pointers to, aye 21:20
err wait... inlined into an array in C? 21:21
jnthn Thingy *arr; vs Thingy **arr;
FROGGS google.github.io/liquidfun/API-Ref/...ource.html line 41 21:22
it is b2Vec2* vertices;
ahh, I got it 21:23
jnthn So, it is inlined into the array too then 21:24
FROGGS aye 21:25
J-L If I'm using Perl6's REPL interface, is there a way to re-define a class without getting an error message telling me I'm redeclaring it? (Maybe there's a way to "undefine" a class?) 21:45
jnthn J-L: Try "my class ..." 21:48
hoelzro what about people's thoughts on bundling Linenoise.pm with Rakudo vs having a star module? 21:51
it feels weird to bundle it, but it would greatly benefit Rakudo devs 21:52
jnthn hoelzro: What's the great benefit? :)
vendethiel repl completion :P
hoelzro jnthn: having REPL completion and history 21:53
jnthn ah
:)
hoelzro .tell mj41 I created a repo under github.com/perl6/docker; just waiting on word from the Docker folks 21:54
yoleaux hoelzro: I'll pass your message to mj41.
psch REPL completion and history \o/
psch now if i could just figure out a way to call moreinput only when i don't have a compilable statement 21:55
J-L jnthn: Your "my class ..." suggestion works great. Thanks!
psch i'm not sure what exactly MARKED and MARKER do, either 21:56
what i have keeps reading lines until one is completely empty
and stuff the read line into self.target and self.orig 21:57
jnthn psch: MARKER "marks" the current position we're at with some "tag" 21:59
jnthn psch: MARKED checks if the current position is tagged that way 21:59
psch: It's used for stuff like avoiding duplicate whitespace parsing effort when we already know the current position is that, for example 22:00
psch jnthn: that'd fit with how i'm trying to use it 22:01
jnthn: but i think we're missing markers for ENDSTMT, in that case 22:02
psch or rather "this statement is now valid syntax" 22:02
jnthn psch: I think ENDSTMT is only one condition for "end of statement" 22:06
jnthn (The one where a } ends it, iirc) 22:07
jnthn See eat_terminator for more ways 22:08
[ptc] hoelzro: I've got moarvm and nqp building .debs; the rakudo deb still doesn't work, but it's just a matter of time 22:16
hoelzro: thought you'd be interested :-)
hoelzro [ptc]: awesome!
[ptc]++
[ptc]: let me know if you want my Arch PKGBUILDS
although I imagine I could just push them to the repo =)
[ptc] hoelzro: do you have commit privs on perl6/* 22:17
?
hoelzro yes
[ptc] ah, just what I was going to suggest :-)
I've added a README with directory layout etc, so hopefully it makes sense where to put things
hoelzro cool
I'll try to update them when I get home
[ptc] sounds good :-) 22:18
[ptc] hits the hay
jnthn gets some rest also & 22:23
psch g'night jnthn
also to [ptc] of course, if belated 22:24
psch & 22:52
flussence hashes are naturally ordered, but are hypers naturally randomized or do we still use the original hacky shuffle code for those? 23:13
(would be nice if we mere users had a fastness-security tweaking pragma for this...)
dalek kudo-star-daily: 8754d88 | coke++ | log/ (9 files):
today (automated commit)
23:43
ugexe you gonna eventually do docker images for a daily build or newer? 23:48
it would make this p6 smoke test rpi cluster easier :O) 23:49
eli-se bye! 23:53