»ö« 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.
japhb r-m freezes trying to 'panda install p6doc' at: Compiling lib/Perl6/TypeGraph/Viz.pm to mbc 00:56
timotimo is experimenting with docker 02:03
japhb r: say "$_" for < a b >; say "{$_}" for < c d >; 02:04
camelia rakudo-parrot 358582: OUTPUT«a␤b␤c␤d␤»
..rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«a␤b␤␤␤»
japhb ^^ Why the difference here? 02:05
timotimo oh yikes
japhb Yeah, that led to a rather strange bug, let me tell you. 02:06
timotimo i can imagine
but i don't have time to hunt that right now :\
japhb .tell jnthn Two r-m bugs: irclog.perlgeek.de/perl6/2014-04-02#i_8527156 and irclog.perlgeek.de/perl6/2014-04-02#i_8527351 02:07
yoleaux japhb: I'll pass your message to jnthn.
japhb timotimo: Understood. 02:07
japhb .tell moritz Since I wasn't around when you announced it, congrats re: irclog.perlgeek.de/perl6/2014-03-31#i_8519218 :-) 02:14
yoleaux japhb: I'll pass your message to moritz.
japhb .tell jnthn On a positive note, your r-j hang-on-exit fix did indeed work for me. :-) 02:26
yoleaux japhb: I'll pass your message to jnthn.
moritz japhb: thanks 05:55
yoleaux 02:14Z <japhb> moritz: Since I wasn't around when you announced it, congrats re: irclog.perlgeek.de/perl6/2014-03-31#i_8519218 :-)
lizmat oohh, wow, congrats moritz++ and mom! 05:59
moritz lizmat: thanks 06:02
lizmat decommute& 06:13
arnsholt o/ 07:01
FROGGS morning 07:45
arnsholt Moin
nwc10 \o/ 07:46
jnthn morning o/ 08:40
yoleaux 02:07Z <japhb> jnthn: Two r-m bugs: irclog.perlgeek.de/perl6/2014-04-02#i_8527156 and irclog.perlgeek.de/perl6/2014-04-02#i_8527351
02:26Z <japhb> jnthn: On a positive note, your r-j hang-on-exit fix did indeed work for me. :-)
jnthn .tell japhb yes, the panda p6doc thing is known to fail install on both JVM and MoarVM. It's not entirely clear why yet, but the failures are likely related. 08:41
yoleaux jnthn: I'll pass your message to japhb.
jnthn I'm surprised the other one didn't trigger a spectest... 08:42
dalek ar: d381a68 | (Tobias Leich)++ | modules/ (2 files):
update submodules to newer revision
09:36
ar: f9a0c4c | (Tobias Leich)++ | tools/star/release-guide.pod:
no special handling needed, PR got applied
09:39
FROGGS TheDamian++ # www.infoq.com/interviews/conway-perl 12:26
seems to be more than a year old, but is still very very good 12:27
Ven r: FROGGS "“Isn’t Pearl dead?” - What do you answer to that?" erm :( 12:39
camelia rakudo-parrot 358582, rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> l dead?” - What do you answer to that?" ⏏erm :(␤ expecting any of:␤ …»
moritz Ven: Mu 12:39
Ven Seems like my brain is thinking "this is #perl6, I need to prefix my message with r:" sorry moritz 12:40
FROGGS *g*
but yeah, that typo is slightly annoying
moritz Ven: I actually meant that 'Mu' is a good answer to such a question 12:41
Ven moritz: Then I'll just keep on wondering what that means
moritz compare en.wikipedia.org/wiki/Mu_%28negative%29
in particular en.wikipedia.org/wiki/Mu_%28negativ...e_question 12:42
Ven moritz: I'm only talking about the typo, I don't care about the question haha ... Didn't realize that's what you were talking about 12:43
[Coke] FROGGS: I think the typo is intentional. "this user knows so little about perl they misspell it" 12:48
sorry, I meant PERL, of course.
That's a shibboleth for me when looking at resumes. we don't perl here, but I don't want people who claim to have PERL'ed.
FROGGS yeah, that might be true 12:49
Ven "no system is as good as Haskell’s type system, but also unlike Haskell’s type system, ordinary human beings can understand it" I get sad when I read that 12:51
[Coke] booking.com++ # perl5 core maint fund
Ven [Coke]: might be, yeah
[Coke] Ven: I loved that quote!
also, if you speak haskell, do you want to try to get pugs back up on crutches?
Ven [Coke]: I'm not sure it's even kinda up-to-date enough for it not to blow up with recent ghc updates 12:52
also, I'm not smart enough
Ven notes - that looks like a really neat project to have, though ... 12:54
[Coke] ven - if you speak haskell, you're already a step ahead of me. 12:55
let me grab a snapshot of what the issue looks like here.
FROGGS Ven: I tried to fix a bug in pugs like two months ago, and I was able to build it but was not able to fix the bug 13:01
Ven FROGGS: well, I'm just waiting for the day to end anyway, do you remember what the bug was ? 13:05
FROGGS ohh, now I remember...
it wasn't even a bug, I wanted to change sub "eval" to "EVAL"
but [Coke] has the problem that his pugs installation does not run the spectests... 13:06
so I dunno what is the problem there
Ven FROGGS: you mean it refuses to *run* the spectests themselves? 13:07
[Coke] I'm getting the build output, one sec. 13:08
no, it runs them, they just nearly all fail.
FROGGS Impl date percentage roast sha1 pass fail todo skip plan spec notes 13:09
pugs 2014-04-01 00.06% 2f754e1 19 14733 0 1 14753 28848
pugs 2014-02-03 21.86% a4574df 6331 4691 2884 856 14762 28451
FROGGS so, it passes >6k at one point 13:09
passed*
Ven 20% for an implementation that's been dead since 2009 seems good ;o)
(not really sure about the date, sry)
FROGGS I have heard about 2007, but that was way before my time here :o) 13:11
[Coke] lots of deprecation warnings...
FROGGS it passed 9.1k tests in may 2012
Ven (I actually work on an altJS where au is a contrib, though)
That's still cool 13:12
"it will probably be based on ideas from languages like Erlang" mmh ? 13:13
[Coke] "this version of PCRE compiled without utf8 support" is oft-repeated. 13:14
s/utf8/UTF/
[Coke] assumes he hasn't gone back and tried to fix this lately. 13:17
Util r: my @x = [<a b>], [<c d>]; say .perl for [@x.list], [@x.flat], [@x>>.flat], [@x>>.list]; 13:18
camelia rakudo-parrot 358582, rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«[["a", "b"], ["c", "d"]]␤[["a", "b"], ["c", "d"]]␤["a", "b", "c", "d"]␤["a", "b", "c", "d"]␤»
Util How can I flatten @x into <a b c d> ?
I have tried .list and .flat as methods and hyper-methods.
TimToady it appears the latter two worked, but you put an extra [] around them after 13:21
Ven also, @x.list returns an array ?
r: say [].^HOW.name;
camelia rakudo-parrot 358582, rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot use .^ on a non-identifier method call␤at /tmp/tmpfile:1␤------> say [].^HOW⏏.name;␤ expecting any of:␤ …» 13:22
TimToady HOW is already ^-ish
doesn't need ^
Ven r: say ([1]).HOW.name;
camelia rakudo-moar 358582: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in any name at src/gen/m-Metamodel.nqp:69␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 358582: OUTPUT«Wrong number of arguments passed; expected 2..2, but got 1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 358582: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤ in any name at gen/parrot/Metamodel.nqp:66␤ in block at /tmp/tmpfile:1␤␤»
Util TimToady: Thanks! (/me needs to `git pull` and re-make) 13:23
TimToady say [1].^name
r: say [1].^name
camelia rakudo-parrot 358582, rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«Array␤»
Ven ;( thanks
r: [1].list.^name
r: say [1].list.^name 13:24
camelia ( no output )
rakudo-parrot 358582, rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«Array␤»
TimToady r: say [1].list.WHAT
Ven Looks weird to me,though
camelia rakudo-parrot 358582, rakudo-jvm 358582, rakudo-moar 358582: OUTPUT«(Array)␤»
Util I was working from local: Jan 20 12:54 perl6-p
TimToady that's like...ancient... 13:25
[Coke] Ven: feather.perl6.nl/~coke/PUGS_BUILD.txt 13:26
the PCRE bug is the most obvious issue, googling.. 13:27
arnsholtAtHome o/ 13:27
[Coke] I don't see how to have cabal tell me what versions I have installed locally. :P 13:29
ven: any any tips on how to diagnose that issue? 13:33
FROGGS hi arnsholtAtHome 13:45
[Coke] (or anyone)
.seen au?
yoleaux I haven't seen au? around.
[Coke] .seen au
yoleaux I haven't seen au around.
[Coke] yoleaux: help
FROGGS TimToady: I've heard you are/were travelling around and give talks... are any of them recorded? 13:46
[Coke] .mangle is perl six the best perl?
yoleaux River, Pearl used?
TimToady FROGGS: they had a camera there, dunno anything else 13:47
FROGGS hmmm... do they have a website? :o)
nvm, I've seen a website... I was just not able to read it 13:48
[Coke] .gcs "perl" "perl 5" "perl 6" 13:49
yoleaux [site] "perl" (32,000,000), "perl 6" (872,000), "perl 5" (366,000)
[Coke] .gcs "rakudo"
yoleaux [site] "rakudo" (186,000)
FROGGS .gcs "peril" 13:50
yoleaux [site] "peril" (6,930,000)
FROGGS /o\
[Coke] we can't search that, it's too dangerous.
dalek kudo-star-daily: 7718ffb | coke++ | log/ (5 files):
today (automated commit)
13:51
kudo-star-daily: 9937ef2 | coke++ | log/ (5 files):
today (automated commit)
FROGGS +Makefile:45: *** missing separator. Stop. 13:52
:/
Woodi hi + :) 13:53
FROGGS hi Woodi 13:54
Woodi new R* ! I was missing it for some time... but it's just emotions :) 13:55
Woodi I hope OpenLDAP bindings would work via NativeCalls 13:57
and can we have { ... } are export sugar ? 13:58
FROGGS ++Woodi # I'd like to be your tester!
hmmm, we have nothing like that atm... so I'd say not in the near future 13:59
ahh, btw:
Woodi brave FROGGS :) Just yesterday I realy understand programming is not realy for me :)
FROGGS TimToady: when we autogenerate a proto because we just declare a multi, should the proto inherit some of the traits?
TimToady: I am think of "is hidden_from_backtrace" for example 14:00
Woodi: bah... don't you give up! :o)
thinking*
Util TimToady: `perl6-p` updated from git HEAD; problem resolved. Thanks! 14:04
Woodi FROGGS: and few days before my brain decided: "C++ ! this is the language ! why so furiously stick to C ? with C++ all GUI frameworks can be used ! even Perl6 should be done in C++ !" 14:06
FROGGS ohh noes!
Woodi but I try and now trying WxPerl with some success :) 14:07
Perl - it's so nice and easy language :)
FROGGS btw, do we meet in Poznan in may?
Woodi hmm, probably not if you ask Woodi :) 14:09
FROGGS Woodi: why not?
ascent_ what's in Poznan in May?
retupmoca on rakudo-moar, $?FILE is a relative path. Is there a way to get the absolute path to the current file? 14:10
FROGGS ascent_: the polish perl workshop
retupmoca IO::Path.absolute just gets me $*CWD ~ $?FILE
Woodi I didn't know that
Woodi now I will try to mess a bit there :) 14:10
jnthn hasn't been to Poznan before. :) 14:11
FROGGS me neither :o)
I was in Poland once but just because I was driving wrongish
Woodi heh :) 14:12
jnthn Driving wrongish isn't allowed in Germany, so you went to Poland to do it instead? :P
FROGGS m: say $*PROGRAM
camelia rakudo-moar 358582: OUTPUT«===SORRY!===␤Dynamic variable $*PROGRAM not found␤»
Woodi we are allowed to drive limit+10km/h unofficially :) 14:13
retupmoca My use case: I want to load a library.so file that's in the same directory as the installed library.pm6
FROGGS m: say $*PROGRAM_NAME
camelia rakudo-moar 358582: OUTPUT«/tmp/Rr4xo9uSSC␤»
FROGGS m: say $*PROGRAM_NAME.path.directory # retupmoca> 14:14
camelia rakudo-moar 358582: OUTPUT«/tmp␤»
FROGGS dunno what that does in a .pm though
jnthn Same; it's about the original program 14:15
FROGGS it perhaps gives you still the script that invoked it
jnthn Is there a %*INC for "hwere did modules we used come from"?
FROGGS if we had CompUnitRepos in nom you could query that :o)
retupmoca if we had $?RESOURCES in nom/panda master I could use that instead :) 14:16
jnthn FROGGS: How far off are having CompUnitRepos in nom? :) 14:18
retupmoca yeah, it looks like $*PROGRAM_NAME just gives the .pl file 14:19
even when used in a .pm
jnthn $* means dynamically coped
*scoped
retupmoca yeah, that's what I expected
jnthn So not so surprising.
FROGGS jnthn: we would need to discuss its "design" 14:21
and then do some testing, but there is not that much left to do for it 14:22
Woodi btw. R* is annoingly long... IMO "Pleas note..." and all below should be refactored to separate "todo" page... 14:22
Woodi /R\*/R* release text/ 14:23
Ven [Coke]: I'm back -- sorry ! Looking at it right now 14:24
Ven Lots and lots of deprecation warning, uh 14:28
retupmoca so, I can scan @*INC to find the .so file 14:30
next problem: is native($path-to-library) gets compiled in staticly
so I get "Cannot locate native library '.../.work/1396448921_1/blib/lib/...' 14:31
FROGGS mhpf
Ven Never seen that "this version of PCRE is compiled without UTF support". Google results blame apache but that's with php so meh
retupmoca even when $path-to-library is completely different
Woodi R* README: "To build R* you need at least a C compiler, a 'make' utility, and Perl 6.1.0 or newer." Hmm ? 5.16 ? 14:32
FROGGS ohh
Woodi: that was me
FROGGS there was a 5.9.0 before and that was the Parrot revision we had in the past... 14:33
damnit
dalek ar: 0757d26 | (Tobias Leich)++ | README:
fixed thinko in version bump, Woodi++
14:34
Woodi also no MoarVM mentioning in README
can I run R* on Moar now ? 14:35
FROGGS if you wait a minute, I fix a vcs conflict in the makefile 14:39
Woodi: a few modules will fail tests though
and one module (something::graphviz::something) will hang when you build it, just ctrl+c it 14:40
dalek ar: f79eaed | (Tobias Leich)++ | tools/build/Makefile.in:
fix VCS conflict
14:41
FROGGS Woodi: let me give you a release tarball where you can build moar... 14:41
Woodi there is INSTALL.txt in rakudo/ 14:42
Woodi FROGGS: I wgetted one from rakudo.org... 14:42
FROGGS Woodi: this one does not build for moarvm
FROGGS I've just made a release tarball that contains MoarVM/nqp/rakudo HEAD as of now 14:44
there are quite some fixes since 2014.03
Woodi I see rakudo/src/vm/ but it will not build ?
FROGGS Woodi: you are able to build the compiler, but not the modules I think 14:45
Woodi means: not automatically/via panda or at all ? 14:46
FROGGS Woodi: it does not use panda, no
damn
that tarball I created will not build rakudo, because of an outdated MANIFEST :/ 14:47
Woodi upload the .patch :)
jnthn train & 14:50
Ven [Coke]: Seems like its' missing that HsBridge.pm, though. (even if you have some custom code to deal with it) 14:52
[Coke] s/you/pugs/ :) 14:53
Ven [Coke]: haha yeah, that's what I mean : `unshift @INC, '/home/coke/.cabal/share/Pugs-6.2.13.20120717/blib6/pugs/perl5/lib';` 14:54
[Coke] *blank stare* Ok. 14:58
Woodi actually I would be happy to just have the list of 3 or 4 urls to parot/moar/nqp/rakudo .tgz files and build them as usual on *nix systems... Packaging R* could have such nice side effect, declaration: "R vX recuires: Parrot vY, Moar vZ and NQP vAA" 14:59
FROGGS moarvm.org/releases/MoarVM-2014.03.tar.gz 15:01
rakudo.org/downloads/rakudo/
rakudo.org/downloads/rakudo/rakudo-....01.tar.gz
rakudo.org/downloads/nqp/nqp-2014.03.tar.gz 15:02
ftp.parrot.org/releases/all/6.1.0/p...1.0.tar.gz 15:03
FROGGS Woodi: and finally: froggs.de/perl6/rakudo-star-2014-04...IAL.tar.gz 15:05
FROGGS bbiab 15:06
Ven [Coke]: I'll try to understand why that error pops up, though I can't say anything atm :( 15:07
Util moritz++ (quite literally!) # irclog.perlgeek.de/perl6/2014-03-31#i_8519218 15:11
Ven thanks FROGGS 15:17
moritz thanks Util :-) 15:18
btyler one of the things TheDamien mentions in the interview linked earlier is something like "my Str $foo where length > 20"; does that (or something like that) actually exist in rakudo? 16:05
FROGGS[mobile] it would be chars instead of length, but I've not seen it 16:09
m: my Str $foo where chars > 20 16:10
camelia rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/UMpCNXHQmn␤Preceding context expects a term, but found infix > instead␤at /tmp/UMpCNXHQmn:1␤------> my Str $foo where chars >⏏ 20␤»
FROGGS[mobile] m: my Str $foo where { *.chars > 20} 16:11
camelia ( no output )
Ven m: my Str $foo where .chars > 20 # should work ?
camelia ( no output )
FROGGS[mobile] can you assign something?
it is hard to type on a phone :o) 16:12
Ven m: my Str $foo where .chars > 20; my $foo = "abc; say "alive"; my $foo = "x" x 50; say "alive"; # should work ? 16:12
btyler m: my Str $foo where .chars < 5; $foo = 'abc';
camelia rakudo-moar 358582: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/v3HNxstdST:1␤------> where .chars > 20; my $foo = "abc; say "⏏alive"; my $foo = "x" x 50; say "alive";␤ expecting any of:␤ postfix␤ infix stopper␤…»
( no output )
Ven m: my Str $foo where .chars > 20; my $foo = "abc"; say "alive"; my $foo = "x" x 50; say "alive"; # should work ?
camelia rakudo-moar 358582: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $foo␤ at /tmp/jmly5TGVk_:1␤ ------> my Str $foo where .chars > 20; my $foo ⏏= "abc"; say "alive"; my $foo = "x" x 50␤ Redeclaration of symbol $foo␤ at /tmp/jmly5…»
Ven m: my Str $foo where .chars > 20; $foo = "abc"; say "alive"; $foo = "x" x 50; say "alive"; # ;_; 16:13
camelia rakudo-moar 358582: OUTPUT«alive␤alive␤»
Ven m: my Str $foo where .chars > 20; $foo = "abc"; say "alive - $foo.chars()"; $foo = "x" x 50; say "alive - $foo.chars()"; # let's see
camelia rakudo-moar 358582: OUTPUT«alive - 3␤alive - 50␤»
Ven FROGGS[mobile]: apparently doesn't check
FROGGS[mobile] perhaps that only works in sub or method calls 16:14
Ven m: sub a(Str where .chars > 20); a('a'); say "alive"; a('a' x 50); say 'alive';
camelia rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/WOAv1Nj6kA␤Cannot do non-typename cases of type_constraint yet␤at /tmp/WOAv1Nj6kA:1␤------> sub a(Str where .chars > 20⏏); a('a'); say "alive"; a('a' x 50); say␤ expe…»
Ven m: sub a(Str $foo where { *.chars > 20}) {}; a('a'); say "alive"; a('a' x 50); say 'alive';
camelia rakudo-moar 358582: OUTPUT«alive␤alive␤»
Ven FROGGS[mobile]: apparently no 16:15
FROGGS[mobile] someone needs to implement that then :o) 16:17
btyler I saw that in the interview and thought "wait whaaaaaat. that is too cool!" 16:19
FROGGS[mobile] m: sub a($foo where {$_.chars > 20} ) {}; a "bar" 16:21
camelia rakudo-moar 358582: OUTPUT«Constraint type check failed for parameter '$foo'␤ in sub a at /tmp/n7UVxcehma:1␤ in block at /tmp/n7UVxcehma:1␤␤»
FROGGS[mobile] \o/
note: no whatever star in a block
sub a($foo where *.chars > 20) {}; a "foo" 16:22
damn -.- 16:23
can somebody paste that to a m: ?
lizmat m: sub a($foo where *.chars > 20) {}; a "foo"
camelia rakudo-moar 358582: OUTPUT«Constraint type check failed for parameter '$foo'␤ in sub a at /tmp/vB_KHslriv:1␤ in block at /tmp/vB_KHslriv:1␤␤»
lizmat cycling&
FROGGS[mobile] thanks!
so it works as it should in subs 16:24
btyler hm, so it works in sub parameter checks, but not for regular declarations
cool
FROGGS m: :($foo where *.chars > 20); $foo = "abc" 16:30
camelia rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/s43Y15YPnD␤Variable '$foo' is not declared␤at /tmp/s43Y15YPnD:1␤------> :($foo where *.chars > 20); $foo⏏ = "abc"␤ expecting any of:␤ postfix␤»
FROGGS :/ 16:31
Ven FROGGS: uuh, matching signatures with blocks gotta be nasty 16:55
dalek rl6-roast-data: 7752803 | coke++ | / (6 files):
today (automated commit)
17:40
[Coke] yay, no more hangs. If someone is bored, they could add the ulimit stuff to the harnesses for the remaining implementations. 17:41
r.j - 3 fails, r.m - 5 fails, r.p - 179 fails. 17:42
All the r.p fails are aborts in the concurrency tests.
can probably fudge those to skip all if r.p
pugs refuses to die at 00.06% 17:43
colomon \o/ 17:45
FROGGS [Coke]: btw, your star tests should run tomorrow again 17:48
[Coke] FROGGS: they run every day? 17:48
[Coke] I can do another run today if that bug is fixed. 17:49
FROGGS [Coke]: "rakudo-star-daily" implies every day, no? :o) 17:50
but yeah, the bug is fixed
[Coke] oh, I see. you meant "should run and work this time"
I gets it now. 17:51
FROGGS ahh
k
[Coke] I kicked off a run right now, will post results when it finishes. 17:52
FROGGS cool!
retupmoca jnthn: I posted a PR for NativeCall when you get a chance 18:02
vendethiel opens [Coke]'s log to try and look what's going on for pugs now that he's home 18:03
dalek osystem: e8dd3c5 | (Andrew Egeler)++ | META.list:
Add LibraryMake

An attempt to simplify native compilation
18:19
dalek kudo-star-daily: b55e7d5 | coke++ | log/ (5 files):
today (automated commit)

second run to grab bugfix.
18:31
FROGGS nice, all module pass 18:32
hoelzro FROGGS: on which backend? 18:34
FROGGS parrot 18:35
hoelzro I figured =/ 18:36
MIME::Base64 just stopped working for me on moar
FROGGS hmmm, but it should work... I works on my boc
box
it* 18:37
hoelzro curious
I'll try it at home
when I get there =/
timotimo i like the sound of "LibraryMake" 18:45
retupmoca timotimo: github.com/retupmoca/P6-Auth-PAM-Simple for usage example 18:48
(needs a NativeCall patch to actually install that library, though) 18:49
timotimo oh cool, pam authentication 18:50
hm, would we need one module for each PAM method, like fingerprint, smartcard, ldap, ... ? 18:51
retupmoca well, Auth::PAM::Simple has an arg for the pam service to auth against 18:51
but honestly I have only a vaguely understand PAM. I just copy-pasted some C code so I could auth against the 'login' service 18:52
s/have only a/only/
timotimo oh, i didn't know you could re-route the library name of a sub at run-time 18:54
that's cool
retupmoca timotimo: that's a NativeCall PR I have up
doesn't work with HEAD yet
timotimo ah 18:55
yeah, i like that
retupmoca and after the PR is merged, doing &sub.libname = '...'; after you call it won't do anything
because the library has already been loaded
but this is my plan for fixing Imlib2 18:56
timotimo fair enough 19:00
how exactly does it have to be fixed?
retupmoca need to remove the existing Makefile and Build.pm and replace it with stuff that uses LibraryMake 19:01
then just need to add code to find the native library like Auth::PAM::Simple uses 19:02
there could be issues with the module itself, but this will get the native library compiled and loaded anyway
which is where it's breaking right now
timotimo well, i'm very glad you've created this 19:03
retupmoca LibraryMake.pm6 needs a couple of patches for parrot and JVM if you want to help (I'm not sure how to get the config for '-l' for them) 19:04
timotimo i haven't looked at that part of the whole thing yet :( 19:04
retupmoca for moar it's $*VM<config><ldusr>, and then strip out the %s
timotimo other than "inspect $*VM<config>", no clue
retupmoca gotcha
I may have to actually install rakudo-j and -p then
timotimo fortunately it's easy :) 19:05
however
you can get the output of that right here on the channel
retupmoca oh, right
p: for $*VM<config>.kv -> $k, $v { if $v ~~ /\-l/ { say "$k: $v" } } 19:06
camelia rakudo-parrot 358582: OUTPUT«archname: x86_64-linux-gnu-thread-multi␤ccwarn: -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -maccumulate-outgoing-args -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wformat-extr…»
FROGGS that gives good hints: github.com/jnthn/zavolaj/blob/mast...TestLib.pm
retupmoca p: for $*VM<config>.kv -> $k, $v { if $v ~~ /^\-l/ { say "$k: $v" } }
camelia rakudo-parrot 358582: OUTPUT«libs: -ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline -lffi ␤»
retupmoca FROGGS: that's what I used for everything else
FROGGS k
retupmoca FROGGS: but that doesn't load any libraries of it's own, so it doesn't give me -l 19:07
FROGGS it uses perllibs for example
retupmoca j: for $*VM<config>.kv -> $k, $v { if $v ~~ /^\-l/ { say "$k: $v" } }
camelia rakudo-jvm 358582: OUTPUT«nativecall.libs: -lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt␤nativecall.perllibs: -ldl -lm -lpthread -lc -lcrypt␤»
retupmoca m: for $*VM<config>.kv -> $k, $v { if $v ~~ /^\-l/ { say "$k: $v" } }
camelia rakudo-moar 358582: OUTPUT«ldlibs: -lm -lpthread -lrt -ldl␤ldusr: -l%s␤ldsys: -l%s␤»
FROGGS j: say $*VM<config><nativecall.perllibs>
camelia rakudo-jvm 358582: OUTPUT«-ldl -lm -lpthread -lc -lcrypt␤»
retupmoca I need the '-l' by itself 19:08
FROGGS do not use libs
retupmoca looks like parrot and jvm don't have that :/ 19:08
FROGGS retupmoca: what do you mean?
a pattern or something?
retupmoca m: say $*VM<config><ldusr>
camelia rakudo-moar 358582: OUTPUT«-l%s␤»
retupmoca something like that
so I can say "Link against pam", which on my machine is 'gcc ... -lpam' 19:09
FROGGS isn't it always the same? 19:09
I mean, we are talking about dynamic linking only 19:10
retupmoca I thought there were some windows compilers that used some other argument for "Link this library in" 19:11
all I know is GNU stuff
timotimo i think it's weirder on mac os x 19:13
FROGGS retupmoca: make it work for your system, and others care for their... (i.e. I have windows and linux) 19:14
... and an osx vm somewhere
geekosaur you're not going to be using PAM on windows anyway
FROGGS why not?
retupmoca geekosaur: right, but you will hopefully be using LibraryMake on windows
geekosaur PAM is only useful if the system uses it, since it's plugins for system authentication/uthorization 19:15
Windows does not use PAM for that
FROGGS ahh, now I understand
geekosaur (Windows has GINA which is a bit different)
(among other things(
FROGGS m: nqp::how 19:16
camelia rakudo-moar 358582: OUTPUT«===SORRY!===␤Error while compiling op how: Arg count 0 doesn't equal required operand count 2 for op 'gethow'␤»
retupmoca Anyway, LibraryMake patches are welcome, and I'll probably try and make Imlib2 use it in the next couple of days if noone beats me to it 19:26
timotimo it's funny; i was about to want to use imlib2 for something fun recently 19:28
retupmoca timotimo: I think that's what started me down this whole LibraryMake path 19:29
timotimo oh!
retupmoca you mentioned it in here and I started poking at it
timotimo \o/ 19:30
retupmoca \o/ indeed
timotimo oh hey 19:42
my optimization isn't the one that breaks trigonometry!
jnthn waves from his rather nice Goteborg hotel 19:44
So design. Such Scandinavian. Wow. 19:45
lue Here's my potential replacement for S32::Str, could use some feedback :) gist.github.com/lue/9941658
FROGGS waves from his couch 19:48
lue wonders what would happen if things like :21<1⑳> were allowed... 19:49
lizmat waves from really
jnthn lizmat: OH ECHT? 19:50
lizmat yes, really! 19:51
FROGGS *groan*
jnthn retupmoca: I'm not too comfortable with the PR. I agree the problem needs a solution, but I think there's probably a better one. Give me a bit of thinking time. :) 19:52
FROGGS we could invent a special var like $- or $; 19:53
we could have plenty of those :P
retupmoca jnthn: not a problem
FROGGS: I can find the .so file fine, but the problem is that it's different at run time and compile time 19:54
lue FROGGS: it should be $# :)
FROGGS we could treat the given path specially if it starts with './'
jnthn $💩 :P
FROGGS hehe 19:55
retupmoca that was my other idea - if the path starts with './', look through @*INC to find it
jnthn m: my \� = 'crap'; say �
camelia rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/HO2404Pagc␤Malformed my␤at /tmp/HO2404Pagc:1␤------> my ⏏\� = 'crap'; say �␤ expecting any of:␤ scoped declarator␤»
jnthn Aww
m: my \term:<�> = 'crap'; say �
camelia rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/jrQJZNeDUk␤Term definition requires an initializer␤at /tmp/jrQJZNeDUk:1␤------> my \term⏏:<�> = 'crap'; say �␤ expecting any of:␤ scoped declarator␤»
FROGGS or use the file location as a base
I dunno
jnthn aww
lue m: my \💩 = 'crap'; say 💩
camelia rakudo-moar 358582: OUTPUT«===SORRY!=== Error while compiling /tmp/K41XmsyJnc␤Malformed my␤at /tmp/K41XmsyJnc:1␤------> my ⏏\💩 = 'crap'; say 💩␤ expecting any of:␤ scoped declarator␤» 19:56
FROGGS there should be a sane solution... somewhere
jnthn m: say '�' ~~ /<ident>/ 19:56
camelia rakudo-moar 358582: OUTPUT«Nil␤»
lizmat FROGGS: the %?RESOURCE hash ?
jnthn Ah, that explains it a bit
FROGGS lizmat: perhaps, yes
retupmoca lizmat: will that be usable during development? Before I've done a panda install? 19:57
FROGGS retupmoca: I think so
retupmoca well then, somebody needs to hurry up and implement that :P
lizmat I would assume a "resource" directory in the -I directory should work in that case
jnthn Well, I think in general we want to have a way to provide a mechanism to resolve a library 19:58
FROGGS because we then do our best to gather the information that would be collection during installation
so, if you had a META6.json we might consider it
lizmat I guess that makes sense, no?
FROGGS I think so, but my brane is somewhere else atm 19:59
lizmat you would only have a %?RESOURCE from an -I directory if there is a META6.json file in there that specifies it
I think that would make a lot of sense :-)
retupmoca that's what I would expect
FROGGS yes
lizmat displaces her brain to bed along with the rest of her 20:04
FROGGS gnight lizmat 20:05
jnthn o/ lizmat
retupmoca hmm, %?RESOURCE will probably have the same issue as currently though - at compile time the path will be different than run time
FROGGS retupmoca: %?RESOURCE will be made up when we load a module I think 20:06
and at that time we know its "path"
if it actually has a path, it can live in a database in theory
retupmoca FROGGS: right, but that will happen after the is native('...') path is compiled and set
FROGGS hmmm 20:07
damn
yeah
then you want to install compiled libs?
retupmoca yes - I'm using Build.pm to compile a library and put it into the lib directory
FROGGS and compile at the target location or so?
retupmoca when you do a panda install 20:08
but so far I haven't found a good way to find and load that library. I can find it at runtime, but NativeCall needs it at compile time right now
so I think it needs some kind of solution in NativeCall.pm6 - and I will defer to jnthn on the best way to do that 20:09
arnsholtAtHome retupmoca: Maybe a bit of a hack, but have you tried just doing "trait_mod:<is>(&my-sub, :native($libname))" at runtime? I think that should work 20:11
jnthn I'd like a solution that lets us get rid of the need to put the library name into "is native" every time also 20:12
arnsholtAtHome There is that too, though
retupmoca arnsholtAtHome: I haven't tried that. It would probably work, but I would rather figure out a "proper" way to do it 20:13
arnsholtAtHome I've been pondering maybe something like "module Library::Internals is native<libname>", but I'm not sure how feasible that is
jnthn Well, I was wondering about something like 20:13
arnsholtAtHome Yeah, a proper way would be great too. But if that works you can keep on hacking and plop in the right way once we know what the right way is =)
jnthn sub res() is native_lib_resolver { return 'foo'; }
And then sub blah() is native { * } 20:14
And it'll use the resolver.
But needs some care over scoping.
arnsholtAtHome Yeah, that sounds neat
And maybe allow for sub res(&the-sub) { ... } as well? 20:15
jnthn And then you can write whatever code you want in there
arnsholtAtHome Yeah, I like that idea 20:15
retupmoca much cleaner than the current solution 20:16
+1 as long as it's runtime :P
FROGGS p: use NativeCall; sub foo is native(-> { 'path/to/lib.so' }) { * }
camelia rakudo-parrot 358582: OUTPUT«===SORRY!===␤Could not find NativeCall in any of: /home/p6eval/rakudo-inst-2/lib/parrot/6.1.0-devel/languages/perl6/site/lib, /home/p6eval/rakudo-inst-2/lib/parrot/6.1.0-devel/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-2/lib/parrot/6.1.0-deve…»
arnsholtAtHome FROGGS: Won't work with current Zavolaj 20:17
FROGGS arnsholt: I know :o)
I just wanted to see how it explodes
if we wanna allow callables in that trait, it should perhaps get either the subname or the sub object as an argument 20:18
jnthn That would be another way 20:19
arnsholtAtHome That's not as useful though, since traits are applied at compile-time, not run-time
jnthn then you could
sub &imlib() { ... }
sub foo is native(&imlib) { * }
And it'd just stash a reference to the sub
and call it on first invocation 20:20
arnsholtAtHome Right. That'd work, of course
jnthn And means we don't have scope trickery to do
timotimo i'd still love to have something that means we don't have to write "is native(&thing)" over and over and over again
jnthn Yeah 20:21
FROGGS but how?
jnthn "is native" should be enough.
jnthn FROGGS: Well, maybe with something like I suggested. 20:21
FROGGS apply a trait over a collection?
hmmm
eiro hello everyone 21:02
timotimo hi there 21:03
dalek kudo/nom: e872810 | (Tobias Leich)++ | src/Perl6/World.nqp:
noop in case method resolved did not run yet

This gets us a little further though this really hides a deeper problem.
jdv79 is there a "pretty print" dump? 21:49
i naively thought .gist would do that
FROGGS jnthn: jvm is unaffected by the patch... I'll fix that tomorrow: gist.github.com/FROGGS/0ea5537eb675588baaa2 21:50
jnthn k
FROGGS jdv79: .gist is just for human beings 21:51
.perl is intended for reevaluation
jdv79 a hash strung out on one line is not "human friendly" at to this human
FROGGS true, this can be improved 21:51
jdv79 so to dump something large a module is needed at this point? 21:52
FROGGS I've not seen a pretty dumper... (except when you take JSON::Pretty into acount)
... which would be okay for hashes 21:53
jnthn FROGGS: Wow, just 2 modules with test fials
*fails
jdv79 ok
FROGGS jnthn: yeah, which is very surprising
[Coke] would hope we'd end up with something like .perl(:pretty) or something.
which would do the nested levels and indents.
jnthn [Coke]: That'd be kinda nice, yes. 21:54
FROGGS: Yeah. April having a Moar star is starting to look pretty good.
jdv79 that would be cool
[Coke] m: say <a b c >.perl() 21:55
camelia rakudo-moar e87281: OUTPUT«("a", "b", "c")␤»
[Coke] m: say <a b c >.perl :thing
camelia rakudo-moar e87281: OUTPUT«("a", "b", "c")␤»
[Coke] m: say <a b c >.perl :pretty
camelia rakudo-moar e87281: OUTPUT«("a", "b", "c")␤»
[Coke] m: say <a b c >.perl :iamtheverymodelofamodernmajorgeneral #huh
camelia rakudo-moar e87281: OUTPUT«("a", "b", "c")␤»
jnthn [Coke]: Methods always slurp up any extra names 21:56
[Coke] a $*perl-indent var would be safe to use for tyhis, yes? 22:01
jnthn 'night, #perl6 22:02
timotimo for what exactly? 22:14
oh 22:15
i see
rurban did you see fperrad's secret nqp already? github.com/fperrad/tvmjit/tree/master/t/nqp 22:29
[Coke] i don't see any info about what kind of nqp that is. 22:33
rurban it written in tvmjit
it's written in tvmjit
and used by github.com/richardhundt/shine (which is nice) 22:34
timotimo secret nap? mhhh 22:36
rurban This is the src for his nqp: github.com/fperrad/tvmjit/blob/mas...mpiler.lua 22:40
timotimo suddenly a bunch of lisp
[Coke] I wonder if it's like parrot/nqp, perl6/nqp, one of the other nqps, or a new nqp. (in terms of what he's trying to support)
rurban yes, tvmjit is featuring a proper s-expr language :)
I guess it's his parrot project 22:41
[Coke] if perl6/nqp, I wonder how much effort it would be to add it as a backend.
raiph lue: comments added to your s32::Str gist 23:33
almost all nitpicky; main thing is confusion about your use of the word "codepoints" 23:34
lue raiph: codepoint is specifically a unicode codepoint; there should be no confusion with that term. 23:35
raiph that's what i thought, but i don't think your spec achieves that
lue well, it's not in isolation. S15 is the actual Unicode spec :) . 23:36
(besides, since NFG-only graphemes don't have codepoints, they don't count as one. I honestly don't see where confusion can arise.) 23:37
raiph Maybe you'll see what I mean when you've read the gist comment. If not, ping me again. 23:39
lue I've read through the whole thing; I still don't see how one could confuse "codepoints" to refer to things that don't have codepoint numbers (that is, NFG graphemes). 23:40
raiph k, let me try explain what's bugging me
"C< Unicodey> operates on the codepoint level as its view of what a character is. It doesn't enforce any particular Normalization Form on its contents."
first, are you counting NFG as a Normalization Form? 23:41
lue on the enforcement statement, yes.
(NFG isn't enforced any more than NFC or NFKD)
raiph so one could have something that does Unicodey that's in NFG? 23:42
and then do .chars on it 23:43
which will give a count of the graphemes
but your statement says Unicodey operates on the codepoint level as its view of what a character is
lue Ah, I think I see now. NFG is meant to be a specialization of Unicodey, so only Str would deal with NFG stuff.
s/Unicodey/Unicode/ 23:44
raiph or, tc: "Returns a string with each codepoint lowercased." 23:45
lue Unicodey and Uni are basically the same thing, fwiw.
tc shouldn't say that.
raiph but what if one is working at the NFG level?
I think it ought to say chars where you've got codepoints
(for tc and cousins)
lue Well no, for Unicodey "codepoints" is the correct term. I didn't think I'd have to restate every method on C<Str> to specify that it operates on graphemes in that class :( 23:46
[Coke] if it's universal, hoist it out and put it at the top. 23:47
said the guy who hasn't read the doc or the gist.
timotimo gnite #perl6 23:48
raiph \o timotimo
raiph lue: aiui tc and cousins work on "characters", not codepoints; if a string is NFG that'll be graphemes, if NFC it'll be codepoints, and so on. 23:49
lue raiph: yes, but the Unicodey role operates on codepoints. Only Str handles NFG graphemes. Those method definitions are attached the Unicodey role. Thus they are described as operating on "codepoints". 23:50
raiph gotchya, so Unicodey explicitly does not include NFG, right? 23:51
lue (note how Stringy's definition of .tc doesn't mention "title case", but rather "upper case", because ASCII has no notion of "title case". Stringy's method definitions don't try to generalize for all things that may do it; neither does Unicodey.)
raiph: yes, Unicodey is meant to be a Unicode-based role, so adding a non-Unicode extension to it is less-than-ideal. 23:52
raiph lue: gotchya 23:54
lue IIRC S15 explains all this already, and I tried to not re-explain things here (esp. stuff that doesn't really fit S32's purpose of laying out the API).
printf, pack, and unpack need expansion, I'll get to those later :) . 23:55
btw, I don't index and rindex have any RTL concerns; RTL text *looks* like it's going in the reverse direction, but the start of text is still at the left side in storage. 23:58
raiph lue: k 23:59