»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 sch left 00:04 BenGoldberg joined 00:07 kliph joined
TimToady m: say 9**99999999999 00:08
camelia Numeric overflow
in block <unit> at <tmp> line 1
TimToady "You can't be serious." -- The Computer
00:11 kliph left 00:18 mr_ron left 00:19 mr-foobar left 00:25 kliph joined 00:29 kliph left 00:30 pierre_ joined 00:36 kliph joined, aindilis left 00:37 aindilis joined 00:40 Cabanossi left, kliph left 00:42 Cabanossi joined 00:47 skids left 00:51 kliph joined 00:55 kliph left 00:56 kliph joined 00:58 ChoHag left 01:01 kliph left 01:10 kliph joined 01:11 Cabanossi left 01:12 Cabanossi joined
seatek can you coerce class attributes into a certain type, using the attribute definition? 01:13
m: class C { has Num $.n is rw; }; say C.new.n = '5.25'; 01:14
camelia Type check failed in assignment to $!n; expected Num but got Str ("5.25")
in block <unit> at <tmp> line 1
01:14 kliph left
seatek like the signature coersion maybe... (Num(Int)) sorta thang 01:14
i was thinking i'd just do my own accessor methods for the attributes and do it there, using a private attribute 01:16
but it's hot out and i'm so lazy
Zoffix m: class C { has Num $.n is rw; submethod TWEAK (Num() :$!n) {} }; say C.new.n = '5.25'; 01:21
camelia No such method 'Num' for invocant of type 'Any'. Did you mean 'sum'?
in submethod TWEAK at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix huh
Oh 01:22
seatek: right, no, you can't make a variable auto-coerce (yet)
seatek Zoffix: yeah I tried with TWEAK too. :) all the magic i could think of 01:23
i read in the docs that type coersion like the (Num(Int)) that you can do in signatures will be able to be used everywhere else some day, but didn't know if there was something i was missing on attribute definitions 01:24
01:24 dj_goku_ joined 01:25 pierre_ left 01:26 kliph joined 01:27 dj_goku left 01:28 kliph left, kliph joined
Zoffix Well, you can just use a Proxy, but I don't get why it doesn't like me 01:30
m: class C { has Num $.n; submethod TWEAK (:$n) { my $_n; $!n := Proxy.new: :FETCH{ $_n }, STORE => -> $, $_n { }; Nil } }; say C.new
camelia Type check failed in binding; expected Num but got Any (Any)
in submethod TWEAK at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix Where did the typecheck fail what is it whining about?
01:31 pierre_ joined, pierre_ left
Zoffix Ah, OK 01:31
m: class C { has Num $.n is rw; submethod TWEAK (:$n) { my Num $_n; $ = $!n := Proxy.new: :FETCH{ $_n }, STORE => -> $, Num() $n { $_n = $n }; } }; say C.new.n = '5.25' 01:32
camelia 5.25
01:33 kliph left
seatek Zoffix: :) I think I'll just have it call a method to either set/corece or return the value ;) 01:34
Zoffix m: class C { has Num $.n is rw; submethod BUILD (:$n) { my Num $_n; $!n := Proxy.new: :FETCH{ $_n }, STORE => -> $, Num() $n { $_n = $n }; $!n = $_ with $n } }; say C.new(:42n)
camelia C.new(n => 42e0)
seatek i'll forget all that tomorrow
Zoffix m: class C { has Num $.n is rw; method n is rw { Proxy.new: :FETCH{ $!n }, STORE => -> $, Num() $!n {} } }; say C.new.n = '42' 01:35
camelia 42
Zoffix Though that won't let you set it via non-Num in new 01:36
seatek that's interesting 01:37
01:44 shyam_ joined
seatek i had no idea about Proxy's - thanks Zoffix++ 01:45
very DIY that ;) 01:46
shyam_ What are the "Real Perl Programmers" dos/don'ts ?
raschipi Perl 6 has a motto that as long as your boss is happy, it's proper programming. 01:49
shyam_ raschipi: I'm unemployed (NEET). 01:52
raschipi So you're your own boss.
Zoffix shyam_: "write code that's very easy to throw away" 01:56
shyam_ Zoffix: Why is that a good thing?
Zoffix shyam_: because then each part of the program can be easily modifed and extended. 01:57
shyam_ Zoffix: Do you mean modularity?
I'm already doing modules...
Zoffix shyam_: another term I heard in use is "YAGNI" (You Ain't Gonna Need It). Which means just because you can implement 100 features, doesn't mean it's a good idea to do so and you'll likely won't really need them all. 01:58
shyam_ Zoffix: I think that's more of a design pattern, than anything to do with Perl? 01:59
Zoffix shyam_: the suggestion is quite literal: look at any piece of code (a loop, a subroutine, a class, a module). It should be easy to throw it away; both technically and emotionally. The whole "modularity" and "re-usability" and not suffering from featuritis all converge on just throwing code away. 02:00
shyam_: yeah, I guess. I don't think language matters much. 02:01
02:01 raschipi left
Zoffix There aren't any published Perl 6 Best Practices I'm aware of. 02:02
If that's what you're looking for.
shyam_ Zoffix: "One of my most productive days was throwing away 1000 lines of code." — Ken Thompson 02:03
Zoffix :D 02:05
AlexDaniel shyam_: this is not what you asked for, but perhaps you'll find it useful: docs.perl6.org/language/traps 02:08
shyam_ AlexDaniel: Do you know how to do something like this: Char @char 02:10
02:10 Cabanossi left
Zoffix int8 @char 02:10
:)
shyam_ Zoffix: This is the full thing I'm using, and it didn't work: int8 @char=(('0'..'9'), ('a'..'z'), ('A'..'Z')).flat 02:12
02:12 Cabanossi joined 02:14 noganex_ joined
Zoffix shyam_: you don't have to type your Arrays in Perl 6 02:14
m: my @char = |('0'..'9'), |('a'..'z'), |('A'..'Z'); say @char
camelia [0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
02:16 noganex left
shyam_ Zoffix: It's parametric, and if it's longer than a single char then it will attract Camelia. 02:17
geekosaur also '0' is not an int8, it is a Str 02:18
Zoffix m: subset Char of Str where .chars == 1; my Char @char = |('0'..'9'), |('a'..'z'), |('A'..'Z'); say @char
camelia [0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
Zoffix shyam_: ^ you could do that, but I think trying to stick types all over the place will only lead to frustration :) 02:19
Relevant blog post: rakudo.party/post/Perl-6-Types--Made-for-Humans
shyam_ Zoffix: I heard type-level programming is the best practice? 02:23
Zoffix I don't know what that is. 02:25
:)
Type is not King in Perl 6, as it is in Haskell. Perhaps that best practice applies to Haskel but not Perl 6?
shyam_ Zoffix: There's only one "best" practice. 02:29
Zoffix What is it?
seatek it's secret and powerful ;)
shyam_ Zoffix: I mean, you can't say going east is the best practice for some people, and going west is the best practice for others. 02:32
Zoffix shyam_: it is if the first group of people is traveling using a different method of transportation ;) 02:33
seatek i would drive my car into the sea 02:35
hmm. that's west
shyam_ Zoffix: You can't, because eventually they all reach an obstacle; whether it be the coast, or some other formidable barrier, or just running out of fuel. 02:41
AlexDaniel
.oO( what if somebody has a teleport? … I mean, you have to be open-minded… )
02:43
shyam_ AlexDaniel: I would say it's just a dream. 02:45
AlexDaniel shyam_: I think in software development sometimes dreams come true 02:48
shyam_: and what I mean by that is that things that may seem impossible (or too hard) are eventually done by a right person :)
03:00 TimToady left 03:02 TimToady joined
shyam_ AlexDaniel: By "a right person", do you mean our second brain? 03:07
AlexDaniel shyam_: no, some superman coming in and solving the task :)
shyam_ AlexDaniel: Our future selves? 03:08
03:08 pierre_ joined
AlexDaniel possibly! 03:08
shyam_: for example, at some point I was impressed by this: fastcompression.blogspot.com.ee/201...ed-of.html 03:10
shyam_: for me it seemed that we are not going to have any kind of breakthrough or significant improvement in compression algorithms
shyam_ AlexDaniel: And then I came along? 03:11
AlexDaniel shyam_: not you, but the guy who wrote the article :P
03:42 Cabanossi left 03:43 Cabanossi joined 03:54 Cabanossi left
ugexe hackerrank allows submissions in LOLCAT but not perl6 03:55
er LOLCODE 03:56
03:56 Cabanossi joined
skaji Hi, 04:11
I noticed that with recent rakudo, it takes a lot of time to call non-existing methods.
please take a look at this: gist.github.com/skaji/b597ec5ecef2...46ab53bd30
llfourn skaji: That's strange. Looks like it's worth reporting as bug. 04:14
04:15 AlexDaniel left
ugexe Foo.?not-exists; is still fast it seems though 04:16
llfourn maybe exception handling got slow
skaji for ^30 { try die; } is not slow. 04:17
llfourn, ugexe: thanks. I'll open a ticket in rt.perl.org. 04:19
04:20 pilne left
llfourn skaji: cool. I'd put [PERF][REGRESSION] in the title. 04:21
you can just email [email@hidden.address] fyi
skaji llfourn: I'll put the tags in the title, thanks! 04:22
llfourn skaji: also japhb was thanking you for making mi6 earlier in perl6-dev (he didn't know where to find you) :)
skaji 😄 04:23
llfourn (actually perl6-toolchain)
irclog.perlgeek.de/perl6-toolchain...i_14841761
04:33 gdonald left
skaji created. rt.perl.org/Ticket/Display.html?id=131721 04:40
llfourn skaji++
MasterDuke skaji: i'm pretty sure i know why it's slower 04:46
04:46 gdonald joined
skaji MasterDuke: wow! 04:46
MasterDuke about a month ago, i added a feature where it will suggest methods that are similarly named 04:47
m: say Int.son
camelia No such method 'son' for invocant of type 'Int'. Did you mean any of these?
sin
so

in block <unit> at <tmp> line 1
MasterDuke like so ^^^
llfourn MasterDuke: can we make that lazy? ie only calculate it when .gist is called. 04:48
MasterDuke hm, not sure
llfourn (MasterDuke++ btw that's an awesome feature)
MasterDuke it's happening when the $.message is created 04:49
here: github.com/rakudo/rakudo/blob/nom/...#L155-L205 04:50
llfourn :o we have A StrDistance class? 04:51
is that spec'd?
MasterDuke not really
skaji like github.com/yuki24/did_you_mean ?
MasterDuke there was some discussion about that yesterday in #perl6-dev i believe
llfourn tbh I would be a +1 on including .levinstein or something on Str 04:52
MasterDuke skaji: yeah. we already had it for sub and variables, i added it for methods
llfourn because I find myself needing it all the time
skaji I also think it is nice feature! 04:53
04:53 Cabanossi left
MasterDuke the code to generate the suggestions is not very optimized, since i assumed this would be in a failure path 04:54
llfourn mmm
I don't think .message should be called unless it's actually .gisted
MasterDuke but it people are noticing the slowdown it could be made some faster
llfourn no matter how fast it can become I don't think we want it running unless we are actually producing the error message. 04:55
MasterDuke that would be a bigger change
llfourn would it? 04:56
04:56 Cabanossi joined
llfourn it looks like it's because .throw does self.?message to check if there's a message before installing a default '{self.^name} exception produced no message' 04:57
MasterDuke well, right now Exception.throw calls .message
jinx
llfourn well, my intuition would be to re-work that so the message default is done in .gist instead. 04:58
(actually looking at the code it already does that so it might be dead code anyway?)
MasterDuke .throw seems to call .message it so that it can nqp::setmessage with the result 05:00
llfourn mm but maybe we can just do that in .gist instead
MasterDuke maybe 05:01
llfourn that could be a big win in general for code that catches a lot of exceptions
05:04 khw left 05:08 pierre_ left
MasterDuke well, just removing those couple lines from .throw breaks ~20 spectests 05:10
05:11 pierre_ joined
MasterDuke one problem is you lose the argument to die() 05:12
llfourn that would be expected, unless you get the message at the start of .gist?
05:16 kyan_ joined 05:19 kyan left 05:28 pierre_ left 05:40 Cabanossi left 05:41 Cabanossi joined, Todd_ joined
Todd_ anyone home 05:42
??
guess not. I will post on the mailing list 05:43
llfourn o/ Todd_ 05:47
Todd_ I just got gobsmacked by github.com/retupmoca/P6-Net-SMTP/issues/16 Were Net:SMTP gives the following error: Type check failed in binding to parameter '@seps'; expected Positional but got Str ("\r\n") Anyone know a workaround? Any way to get git to cough up a prior version? This is kind of urgent as it is affecting a security program.
llfourn hmm I'm not familiar with that codebase 05:49
Todd_ It happened just after installing Fedora 25 updates (dnf upgrade) 05:50
I re-cloned from git and uninstalled and reinsalled with zef. No joy.
llfourn you mean you reinstalled rakudo? 05:51
or the module or both?
Todd_ zef uninstall Net::SMTP 05:52
perl6 -v This is Rakudo version 2017.06 built on MoarVM version 2017.06 implementing Perl 6.c. 05:53
Am I out of date, again?
llfourn no but I can tell you that @seps is a parameter in rakudo not in NET::SMTP 05:54
it was introduced 2017-05-19
Todd_ How do I fix? 05:55
llfourn maybe you can run with --ll-exception and put the output in a gist?
05:55 BenGoldberg left
Todd_ what do you mean? 05:56
llfourn perl6 --ll-exception my_program.p6
if you just want a quick fix maybe go back to an older rakudo like .04 05:57
Todd_ will try 05:59
llfourn Todd_: it doesn't look like a problem with a module. I doubt there's a prior version of the module that works. It looks like a regerssion/change in rakudo.
Todd_ dnf downgrade rakudo Last metadata expiration check: 2:51:02 ago on Fri Jul 7 20:10:02 2017. Package rakudo of lowest version already installed, cannot downgrade it. Error: Nothing to do. 06:01
poop!
06:04 wamba joined
Todd_ I see rakudo-star-0.0.2016.07-1.fc25.x86_64 in pbone 06:04
llfourn Todd_: looks like you either have to investigate the bug in the module and fix it or just uninstall your rakudo and install an older version from here: rakudo.org/downloads/rakudo/ 06:05
06:06 araraloren joined
Todd_ got a link for rpm's? 06:06
llfourn Todd_: not sure about the rpm situation 06:07
Todd_ I found github.com/nxadm/rakudo-pkg/releases, but they only have current versions 06:08
I have to give up for the night. Thank you for the help! I did post on the mailing list if anyone thinks of anything. 06:11
llfourn Todd_: np sorry I couldn't be of more help
Todd_ I appreciate the help anyway. 06:12
bye bye
06:12 Todd_ left 06:17 Atomic_qm8UY joined 06:21 skids joined 06:32 mr-foobar joined 06:38 espadrine_ joined 06:39 Cabanossi left 06:41 Cabanossi joined 06:45 ChoHag joined 06:50 Atomic_qm8UY left 06:51 skids left 07:07 setty1 joined
ab5tract m: m: my Int $v = 5 but role { method Int() { 42 }}; say $v+$v; say +$v + +$v 07:36
camelia 10
10
ab5tract I guess the optimizer filters out the Int coercion?
m: m: my Int $v = 5 but role { method Int() { 42 }}; say $v+$v; say +$v + +$v; say $v.Int + $v.Int 07:37
camelia 10
10
84
ab5tract ah, prefix:<+> is a .Numeric coercer, which makes a lot of sense 07:45
07:46 hankache joined
ab5tract m: m: my Int $v = 5 but role { method Int() { 42 }; method Numeric() { 23.3 } }; say $v+$v; say +$v + +$v; say $v.Int + $v.Int 07:50
camelia 10
46.6
84
llfourn MasterDuke: You were right. It's tougher than I imagined to make exceptions generate their messages lazily. 07:51
07:58 nadim joined 08:01 domidumont joined 08:03 pierre_ joined, pierre_ left 08:06 domidumont left 08:07 domidumont joined 08:16 hankache left, FROGGS joined
FROGGS o/ 08:16
08:20 hankache joined
timotimo it's quite strange that the current IO-Socket-INET test didn't catch this problem with nl-in not being a list, because it does look like it has a test specifically for that case 08:22
08:25 Cabanossi left 08:26 Cabanossi joined
timotimo aha 08:34
it doesn't explode if you get() once before you have set an nl-in
only if you create the socket, set the nl-in, and then get will it explode
hankache m: say "à; 08:35
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"'
at <tmp>:1
------> 3say "à;7⏏5<EOL>
expecting any of:
argument list
double quotes
term
hankache m: say "à"; 08:36
camelia à
08:41 LeCamarade joined 08:42 rindolf joined 08:44 hankache_ joined 08:46 hankache left 08:47 mr-foobar left 08:48 Atomic_qm8UY joined 08:49 mr-foobar joined, Atomic_qm8UY left 08:55 Cabanossi left 08:56 Cabanossi joined, hankache_ left 09:01 kent\n joined 09:03 hankache joined
hankache hello * 09:04
09:04 doks joined
hankache say "\n" 09:05
evalable6
hankache m: say "\n"
camelia
hankache :( and another irc client bites the dust on Windows 09:06
09:09 gdonald left 09:17 kmel joined
kmel m: say "\n" 09:17
camelia
09:19 kyan_ left 09:21 gdonald joined 09:22 kmel left, hankache left 09:30 rindolf left 09:32 rindolf joined, kyan_ joined 09:37 kyan_ left 09:38 kyan_ joined, doks left 09:42 domidumont left 09:43 kyan_ left 09:46 mr-fooba_ joined 09:47 mr-foobar left 09:50 seatek left
ab5tract .tell lizmat Well, the failing test in t/spec/S03-operators/mix.t used to pass when I pushed it.. 09:54
yoleaux ab5tract: I'll pass your message to lizmat.
lizmat . 09:56
yoleaux 09:54Z <ab5tract> lizmat: Well, the failing test in t/spec/S03-operators/mix.t used to pass when I pushed it..
lizmat ab5tract: that doesn't mean it is/was correct :-)
10:01 andrzejku joined, kyan_ joined 10:02 pecastro left, pecastro joined
ab5tract it was accepted as the behavior in the PR ... 10:03
10:05 kyan_ left
ab5tract to be honest, I'm not sure what I'm supposed to do with changing a test that changes the behavior of this operator 10:10
seems more the province of the person who changed the behavior/
?
10:11 pecastro left 10:12 TEttinger left
ab5tract lizmat: github.com/rakudo/rakudo/pull/911#...-257941267 10:12
10:19 pecastro joined 10:22 kyan_ joined
ab5tract or even: github.com/rakudo/rakudo/pull/911#...-257932401 10:23
hmmm... my mistake. It seems that this PR was reverted in the end. 10:29
I had forgotten about that 10:30
.tell lizmat here is the PR that was finally merged github.com/rakudo/rakudo/pull/934 10:31
yoleaux ab5tract: I'll pass your message to lizmat.
ab5tract and ab5tract-- for not following through on updating the documentation request from Zoffix 10:33
10:34 mr-fooba_ left 10:36 mr-foobar joined
lizmat . 10:41
yoleaux 10:31Z <ab5tract> lizmat: here is the PR that was finally merged github.com/rakudo/rakudo/pull/934
lizmat shit happens :-)
ab5tract does that mean you will revert your behavioral changes? 10:42
i promise to begin hacking on the documentation :)
10:43 Rawriful joined
lizmat ab5tract: I was away most of yesterday and will be distracted most of today and tomorrow 10:44
need some quality time to digest all that has happened there 10:45
so I think Sunday evening at the earliest
ab5tract ok, fair enough 10:46
not a blocker for documentation, anyway 10:47
10:47 labster left
Geth ecosystem: 50c772e99f | loren++ (committed using GitHub Web editor) | META.list
Add Getopt::Advance

deprecate Getopt::Kinoko, use Getopt::Advance instead
10:59
11:03 mr-foobar left 11:09 mr-foobar joined
tbrowder hi #perl6 11:11
llfourn o/ tbrowder
tbrowder o/ llfourn! 11:12
i just noticed a new behavior and wonder if it's worth a fix: i'm in process of converting a p5 module to p6 and named it the same but with a pm6 extension instead of pm. 11:14
timotimo i sure hope retupmoca can apply my PR soon and toddandmargo gets what they need
llfourn timotimo++ # fixing Net::SMTP 11:15
tbrowder when i use it the p6 prog first find the pm version which causes a failure. couldn't perl6 favor pm6 over pm?
llfourn tbrowder: to me that sounds like some added complexity we don't need 11:17
11:17 ChoHag left
tbrowder so renaming is the way to go in this case? 11:18
timotimo tbrowder: do you have a META file?
llfourn I'd say not having it in the same directory
timotimo if so, you should -I. instead of -Ilib and it will pick up what the provides section of the meta file has in it
llfourn had no idea that was a thing 11:19
tbrowder no meta file, this is a more casual setup, renaming is easy
11:20 kyan_ left
tbrowder ref rakudo build: i'm having some sucess in user build and root install but i get one funny write error when i'm root; i'll gist it in a while 11:22
timotimo looking at the code, it does try .pm6 first, and then .pm 11:23
oh, haha
it doesn't abort when it's found a match
so if all match, it'll give the last match only
fixed it 11:24
tbrowder: ^
11:25 ChoHag joined
llfourn timotimo++ 11:25
tbrowder www.irccloud.com/pastebin/fUzFwQIK/ 11:26
note i renamed that file to .p6 instead of .pl 11:27
error is funny because permissions on that perl6 dir are: drwxr-sr-x 12 tbrowde tbrowde 11:28
i don't understand why, as root, that would cause a no-write. however, the offending line in the referenced file use $*CWD and i know that has had some changes lately 11:30
llfourn does it happen if you are browde? 11:31
moritz m: say (^0x1ffff).map(&chr).grep({ m/ \n / xor m/ \v /}).elems 11:33
camelia 0
moritz I'm a tad surprised that \v and \n end up matching exactly the same characters
11:33 mr-foobar left
tbrowder i'll try again, but i think the killer is it dies when it tries to create the instdir--going off to try it... 11:33
llfourn m: say so "\x[b]" ~~ /\v/ 11:35
camelia True 11:36
llfourn m: say so "\x[b]" ~~ /\n/
camelia True
llfourn moritz: eh \n matches vertical tab?
11:37 mr-foobar joined
timotimo does \n match form feed? 11:37
llfourn m: say so "\x[c]" ~~ /\n/
camelia True
llfourn (yes)
tbrowder yes, it makes it through that step. i have been trying to get the build harness to change the perms on the offending dirs but no luck yet. the default perms i think are set by the debian system (i think they may be new in jessie), so the build system will have to deal with it. 11:38
timotimo interesting
tbrowder a kludge would be to create the complete install dir structure as a first step 11:39
with "ordinary" user perms 11:40
for the acrual install-instdir target i'm using the system install command to create the instdir and copy the ./install dir contents to it. 11:41
...well i'm wrong about the default dir perms, trying to find where those perms come from... 11:47
moritz umask, most likely 11:55
12:03 mr-foobar left 12:05 mr-foobar joined 12:15 ChoHag left
tbrowder i found that a r-s higher up in my dirs was causing the default r-s with mkdir. i changed that all the way down and that fixed the perms problem with mkdir. 12:16
however, when root, i still get the error about cannot write!! $*CWD ?? 12:17
i'll go back to a vanilla nom and see how that works for me...see ya'll later 12:19
llfourn tbrowder: afaik root can usually write to anywhere :S 12:30
tbrowder correct--that's why i wonder about the $*CWD maybe doing one thing and reporting another??? or the script it's in??? 12:32
12:32 mr-foobar left
tbrowder so far a real mystery 12:32
llfourn hmm maybe
tbrowder to me, that is 12:33
12:37 mr-foobar joined 12:40 Cabanossi left 12:41 Cabanossi joined 12:45 jcast left 12:57 domidumont joined 13:02 mr-fooba_ joined 13:04 mr-foobar left 13:24 Cabanossi left 13:26 Cabanossi joined 13:28 pilne joined
moritz so "Perl 6 Fundamentals" has been through the production phase, and I'm proof-reading the result 13:44
and their proof-reading platform has a somewhat erratic placement of index terms
I have this sentence in there: "or one could read Unicode’s Technical Report 44 for the gory details"
13:45 BenGoldberg joined
moritz and it shows "gory" as the anchor term for "Unicode Technical Report 44" :-) 13:45
MasterDuke erratic? or nearly sentient?
timotimo nothing wrong to see there 13:46
moritz MasterDuke: that's the question here :-) 13:48
13:53 Cabanossi left 13:54 skids joined 13:56 Cabanossi joined 13:59 ptolemarch left, ptolemarch joined 14:01 ChoHag joined 14:06 domidumont left 14:17 kurahaupo left 14:29 kurahaupo joined
moritz also, pro tip: If you don't want to proof read so much text, write less! 14:33
llfourn
.oO(if you don't want to maintain so much code, write less)
14:34
moritz (this is text, not code, but the same rules apply :-) 14:40
14:44 khw joined 14:54 Cabanossi left 14:56 Cabanossi joined 15:03 nickadlakha joined 15:07 nickadlakha left 15:08 AlexDaniel joined 15:10 freeze joined 15:13 mr-fooba_ left 15:16 mr-foobar joined 15:20 konsolebox left 15:21 mdl joined 15:24 cdg joined 15:25 mdl left 15:29 Atomic_qm8UY joined 15:30 konsolebox joined, mdl joined 15:31 mdl left, Atomic_qm8UY left, mdl76 joined 15:32 committable6 left 15:36 Atomic_qm8UY joined 15:44 Atomic_qm8UY left 15:49 mdl76 left 15:55 |oLa| left 16:11 lucasb joined 16:25 kurahaupo_ joined 16:36 cdg_ joined 16:38 cdg left 16:40 Cabanossi left 16:41 Cabanossi joined 16:45 |oLa| joined 16:51 skids left 16:54 skids joined, TreyHarris left
timotimo c: 2017.04.3 $*ERR.say: "1. this is an error"; $*OUT.say: "2. this is standard out" 16:57
commit: 2017.04.3 $*ERR.say: "1. this is an error"; $*OUT.say: "2. this is standard out"
not on line i see 16:58
16:58 yubimusubi left
MasterDuke timotimo: test bot running in #whateverable 17:00
timotimo ah
17:07 TreyHarris joined 17:12 araraloren left 17:13 araraloren joined
Zoffix .tell jdv79 I think your segv was due to unpacking in Proc::Async.new (discussed in irclog.perlgeek.de/perl6-dev/2017-...i_14844751 ). I'm about to remove unpacking (mostly 'cause of 10x speed boost) and I think other devs are working on the actual fix too 17:15
yoleaux Zoffix: I'll pass your message to jdv79.
17:17 Resol joined 17:19 ChoHag left
Resol Hi there! 17:20
I'm trying to use DBIish to access the Postgres database
Zoffix \o
Resol The result of my execute is always DBIish: DBDish::Pg needs 'pq', not found
17:20 ChoHag joined
Zoffix "pq"? Are you sure it's not asking for "pg"? 17:21
Resol I've done a few searches for this error, and it seems to have shown up in some of the Toast testing, but I haven't sorted out a way around it so for
er, far
Yeah, that's a direct cut-n-past from my window 17:22
This will be ugly, but here's the entire output from the run:
C:\tools\fbdc>perl6 rugged-status.p6 DBIish: DBDish::Pg needs 'pq', not found in block at C:\rakudo\share\perl6\site\sources\F18EA8A0FD337C840672427703CC68 FA0720FEDF (DBIish) line 38 in any at C:\rakudo\share\perl6\site\precomp\18598AE3617EC45C44E4BEB01DD0B51C 03A9498C.1493925935.62509\F1\F18EA8A0FD337C840672427703CC68FA0720FEDF line 1 in method setup at C:\rakudo\share\perl6\sources\24DD121B5B4774C04A7084827BFAD 92199756E03
17:22 cdg_ left
Resol I'm running Rakudo version 2017.04.3 on Windows 17:23
Zoffix Do you have libpq.dll on your system? 17:24
Resol p6: use DBIish;
camelia ===SORRY!===
Could not find DBIish at line 1 in:
/home/camelia/.perl6
/home/camelia/rakudo-m-inst-1/share/perl6/site
/home/camelia/rakudo-m-inst-1/share/perl6/vendor
/home/camelia/rakudo-m-inst-1/share/perl6
CompUnit::Repo
Resol I guess I can't try to execute the connection here
Zoffix Seems it wants a PG lib and isn't finding it www.postgresql.org/docs/9.3/static...libpq.html stackoverflow.com/questions/383417...or-windows 17:25
Resol I'll have a look ... standby!
17:25 Cabanossi left 17:26 Cabanossi joined
Resol Yup, it's there, in bothc:\Program Files (x86)\PostgreSQL\9.4\bin and lib. But I wonder now if that's on my path. 17:27
It's not, so I suppose I need to have th elib directory in my path 17:28
Geth doc: eb8df0cde7 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/nativecall.pod6
Make it clearer code shows what NOT to do
17:30
zengargoyle that DBIish error message could use a clue that 'pg' is libpq.so or libpq.dll or at leas 'a library'.
/pg/pq/ 17:31
Zoffix No idea where NativeCall looks for libraries 17:32
Resol I tried adding the location to the libpq.dll to my path, but that didn't help.
17:33 |oLa| left
Resol pgAdminIII works fine ... I installed everything using the system defaults. 17:33
zengargoyle does Windows have a 'LD_LIBRARY_PATH' like env variable?
17:33 bioexpress joined
Resol Doesn't look like it ... at least not on my installation ... 17:34
Geth DBIish: 2f35130e91 | (Zoffix Znet)++ (committed using GitHub Web editor) | README.pod
panda's ded
zengargoyle it could maybe be possible that DBIish is loading a different library that itself requires 'pq'. so like maybe NativeCall is finding the first library and that library is not finding the 'pq' library.... 17:35
Resol Boy I had shared libraries ... back in the good old days when memory was limited and expensive sure, but now, it's always something that doesn't work ...
zengargoyle doesn't really do windows, just thinking out loud.
Resol I always seem to run into these load path, location issues ... never seems to "just work" ... sigh ... I'm done ranting now. 17:36
zengargoyle Resol: i get ya. :) last $WORK put every program/library into it's own directory so futzing with LD_LIBRARY_PATH and wrappers and OMG HELL was the norm. 17:37
Resol Yeah, more than half the battle is getting things set up right! 17:38
17:39 bioexpress left
Zoffix dunno, seems like adding the dir to PATH should've worked 17:40
Did you restart your "command prompt" so it'd see the change?
Resol Yes, I did ... and verified that the directories are in the %path% 17:42
Zoffix *shrug* No clue, sorry. 17:43
Resol: if you figure it out, can you post the steps to make it work as an Issue on github.com/perl6/DBIish/issues/new ? This is really something that should be added to install instructions.
Resol C:\Users\AD-Msanders>echo %path% C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\Sy stem32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Python26;C:\rakudo\bi n;C:\rakudo\share\perl6\site\bin;C:\Program Files (x86)\PostgreSQL\9.4\bin;C:\Pr ogram Files (x86)\PostgreSQL\9.4\lib
Yes, If I figure it out, I'll certainly do it ... 17:44
(The formatting of the pasted echo results are off, there's not actually any spaces there) 17:45
Windows does know how to "find" the lib:
:\Users\AD-Msanders>where libpq.dll :\Program Files (x86)\PostgreSQL\9.4\bin\libpq.dll :\Program Files (x86)\PostgreSQL\9.4\lib\libpq.dll :\Users\AD-Msanders> 17:46
17:51 mingdao left, |oLa| joined
zengargoyle does windows have a 'ldd' like command? it could also be that 'pq' needs another library that 'psql' or other postgresql programs can find and work but p6 can't. 17:51
my libpq has 27 libraries it uses....
17:51 mingdao joined 17:53 cpage_ left
Resol So how do you "find" where things are in Perl6. 17:53
Zoffix What sort of things?
Resol In Unit module DBDish::Pg::Native I see a line: 17:54
constant LIB = NativeLibs::Searcher.at-runtime('pq', 'PQstatus', 5);
zengargoyle were it linux.... i'd write a little p6 script that shells/runs the `ldd /path/to/libpq.dll` and inspect the output to see if all libraries get resolved correctly.
Zoffix constant, eh?
Resol I'd like to have a look at NativeLibs::Searcher
Zoffix Resol: can you try re-installing the module? zef --force install DBIish
Resol But for the life of me, these crazy long, non-intuitive directory names that seem to store modules is baffeling
Zoffix constants are compile time, so that value won't ever change anymore 17:55
Resol Sure ..
17:55 Cabanossi left
Resol That's a grand idea 17:55
zengargoyle oh hahaha.
17:56 Cabanossi joined
Zoffix Resol: as for crazy directory names. The modules are actually precompiled and stored as bytecode. I *think* source is also kept somewhere, but it's not used, as in, if you change it, the behaviour of the module won't change. 17:56
Resol And it continues :
So, I guess I can't do an install without git?
C:\tools\fbdc>zef --force install DBIish ===> Searching for: DBIish Enabled fetching backends [path pswebrequest] don't understand git://github.com/ perl6/DBIish.git You may need to configure one of the following backends, or install its underlyi ng software - [git wget curl] in method fetch at C:\rakudo\share\perl6\site\sources\A48CF21F42885E27DBC7EBC4 927226101DEAD45B (Zef::Fetch) line 12 in code at C:\rakudo\share\perl6\site\s 17:57
Zoffix Resol: zef --force install github.com/perl6/DBIish/archive/master.zip
Resol: you can, if you give it non-git source
And the source for the Searcher is here: github.com/perl6/DBIish/blob/maste...bs.pm6#L57
Resol Forgive me for being dense, but I'm not understanding this ... 17:58
I've tried both of your suggested zef --force commands, neither work.
Zoffix Resol: how does the second one fail? The one with the URL to a zip? 17:59
Resol C:\tools\fbdc>zef --force install github.com/perl6/DBIish/archive/master .zip No extracting backend available in method extract at C:\rakudo\share\perl6\site\sources\26BEE6DE3D8587782D7BFB CA96F730387710091D (Zef::Extract) line 8 in code at C:\rakudo\share\perl6\site\sources\4B1D5A60B59D9541E13F76E0E2A2D55 0E0144053 (Zef::Client) line 239 in method extract at C:\rakudo\share\perl6\site\sources\4B1D5A60B59D9541E13F76 E0E 18:00
So it's complaining about no extracting backend available
Zoffix That space in "master .zip" is not actually there, is it?
Resol right, the space isn't there ... 18:01
18:01 skf joined
Resol I'm running Perl on a remote machine that I'm connected to via RDP, and then I have to use Windows command prompt Mark / Copy ... 18:01
Zoffix weird. I get the same error :o
zengargoyle download the .zip, unzip it, cd into the directory and 'zef --force install .' 18:02
geekosaur mrhm. doesn't apply here but it looks to me like the lib-prefix fallback never tries versions
Resol It's a little Rube Goldberg, but it's the way I have to do it to deal with corporate Information Security
Okay, I'll try that
Zoffix hm, yeah, zef looks for `unzip` which isn't there on Windows. Wonder what the command name is 18:03
lizmat
.oO( pkunzip :-)
18:04
zengargoyle would probably 'zef uninsatall DBIish' and then check to make sure. there are ways to get a module installed in two different places depending on how much you muck with thing. :)
Zoffix C:\Users\zoffi>pkunzip 'pkunzip' is not recognized as an internal or external command, operable program or batch file.
Resol C:\Users\AD-Msanders\Downloads\DBIish-master>zef --force install . No meta file? Path: . in method new at C:\rakudo\share\perl6\site\sources\D2D7BE27C4415C0CA56E7907E1 8AF2E002594255 (Zef::Distribution::Local) line 12 in sub MAIN at C:\rakudo\share\perl6\site\sources\09969B10D9F270B8DBAAB9961FA7 E6CDB8AD58C9 (Zef::CLI) line 93 in block <unit> at C:\rakudo\share\perl6\site\resources\8E4CA8253915139305439E F9E20B7FC58E97260C line 18:05
Zoffix oh boy :)
Resol must be the unluckiest Perl 6 user of the day :)
lizmat en.wikipedia.org/wiki/PKZIP # Zoffix
Resol Why do you think I picked that nickname (it's best read backwards!)
:-) 18:06
Zoffix heh
Resol It's a real shame ...
this was a fresh install of Rakudo ...
I have a really simply little thing to do ... suck some events out of an event log, and summarize them ... 18:07
Zoffix Yeah, but someone dropped the ball with testing releases on Windows.
Resol figured Perl6 would be a snap to do this ...
What's that old saying about the best laid plans? ;-)
zengargoyle hrm, that zip *does* have a META6.json file... 18:08
Resol Yeah, I can see it there ...
18:09 ChoHag left
Resol Okay so for whatever reason, doing the zef uninstall first allowed the zef --force install to work ... 18:10
zengargoyle try without the --force?
Zoffix Resol: well, I don't have good solutions for you. One of them involves building Rakudo from source. You'll need git and tools (like the stuff that comes with Strawberry Perl 5), but as I've said the Rakudo's release manager dropped the ball and wasn't testing properly on Windows, so I can't guarantee latest Rakudo works fine on Windows. The other alternative is to install older Rakudo Star (2017.01
rakudo.org/downloads/star/ ), but that was before IO refactor and I can't guarantee zef and some more modern modules still work with it
zengargoyle ... or .... uninstall first. :P
Zoffix huggable: star
huggable Zoffix, Estimated Rakudo Star releases for 2017: .01, .04, .07 & .10
Zoffix The third option is to wait a few weeks until Rakudo Star 07 :P 18:11
Resol interesting ... so when the install runs, the pq isn't found:
18:11 ChoHag joined
Resol Here are some of the output from it: 18:11
# DBIish: DBDish::mysql needs 'mysql', not found # Can't continue. t\27-mysql-datetime.t ..... ok t\30-pg.t ................. ok # DBIish: DBDish::Pg needs 'pq', not found # Can't continue. t\34-pg-types.t ........... ok # Testing DBDish::Pg t\35-pg-common.t ..........1/107# DBIish: DBDish::Pg needs 'pq', not found # Can't continue. t\35-pg-common.t .......... ok # DBIish: DBDish::Pg needs 'pq', not found # Can't continue. t\36-pg-arr
Zoffix :(
Sucks
Resol So the testing is doing the same thing as my little program ...
So I'm back to not being able to locate that library I guess
Zoffix OK. Good. 18:12
Resol I just need to coerce Windows into finding the library ...
Zoffix Fails on my box too "# DBIish: DBDish::Pg needs 'pq', not found" gonna poke at a bit
Resol and that seems to be in NativeCall right?
zengargoyle find where libraries normally go and copy all the PG related .dll's there.
Resol So I look through that source you provided the link to, and I might get lucky?
Zoffix Resol: yeah. Though I don't see what the paths it looks in for libraries are: github.com/rakudo/rakudo/blob/nom/...veCall.pm6
zengargoyle it probably uses the system's DLL loader (like ld.so on linux) so the paths aren't in p6 or NativeCall. 18:13
Resol So, on Windows I imagine that's going to be registry setting or something then 18:14
Zoffix Says it looks in PATH too: docs.microsoft.com/en-us/cpp/build...cate-a-dll
Resol The output of set which shows all the environment variables doesn't yield anything that looks like a library path
zengargoyle you could maybe place them under master/resources/something and install the dll's into the CUR, but it'd take some "i don't know windows"....
18:15 pilne left
Resol Hmmm ... and I have the path pointing to both the PostgreSQL lib and bin directories, where the libpq.dll is 18:15
zengargoyle does windows stil have a registry? if you haven't already set an env variable to override the defaults, there won't be an env variable to be seen by set. 18:16
Zoffix hehe, DBIish currently has 666 commits :)
Resol Chuckle ...
The devil is in the details I guess
18:16 gdonald left
zengargoyle isn't ....\system32\ where DLL's are normally found? 18:17
18:17 bioexpress joined
geekosaur I think windows smacks your fingers if you try to put userspace dlls there 18:18
these days 18:19
zengargoyle ah, must admit, i haven't windows'd in ages.
18:20 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Make it clearer code shows what NOT to do' 18:20
travis-ci.org/perl6/doc/builds/251527375 github.com/perl6/doc/compare/6ffd2...8df0cde7df
18:20 travis-ci left
buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0). 18:20
Resol Unfortunately I don't have any other options besides Windows 18:21
geekosaur apps dumping their dlls in there was a major support nightmare for microsoft; as of win7 you need LSA to put stuff there and iirc the shell at least still warns you
("the shell" in windows parlance being the gui, so maybe not if you do it from cmd.exe)
zengargoyle elaborates.. as in there was that one $WORK thing that requred WINE and some google sleuthing and questionable downloading of .dll's to get working. :)
18:25 cdg joined
bioexpress Hello, is this code gist.github.com/kuerbis/54bd232ecb...3b87a26911 OK? There are some code points, which return the same charakter, but i suppose the such a charakter has always the same width. 18:26
Zoffix bioexpress: %cache.EXISTS-KEY( char ) is typically written as %cash{char}:exists %cache.BIND-KEY( char, wcwidth($_) ) is usually written as %cache{char} = wcwidth $_; %cache.AT-KEY( char ); is usually written as %cash{char}. 18:28
bioexpress Zoffix: I thought %cache.EXISTS-KEY( char ) is faster. 18:29
Zoffix And $res = $res + is usually written as $res +=
18:29 gdonald joined
Zoffix bioexpress: premature optimization is the root of all evil 18:29
18:30 cdg left
Zoffix You're writing awkward code on mere assumption that X is faster than Y and will definitely make your program faster when your bottleneck is likely elsewhere 18:31
bioexpress But is it bad to use EXISTS-KEY? It is mentioned in the documentation.
Resol So it looks like Search.try-versions calls $*VM.platform-library-name()
So I need to search for that, and see how it is being called
Zoffix s: $*VM, 'platform-library-name', \() 18:32
SourceBaby Zoffix, Something's wrong: ␤ERR: Could not find candidate that can do \()␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
Zoffix s: $*VM, 'platform-library-name'
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/05c2.../VM.pm#L44
Resol $*VM is a reference to the Rakudo star VM right? 18:33
So basically it's the place that should be interfacing to the Windows system?
18:38 bioexpress left
skf Newbie question. What does the line 'unit module modulname' in a module mean? 18:40
geekosaur means the whole file is the module. instead of having to wrap the whole thing in module modulename { ... } 18:41
18:41 cpage_ joined
skf Aha, thanks! 18:42
18:43 Atomic_qm8UY joined 18:44 BenGoldberg left
Zoffix Resol: looks like the issue isn't with it failing to find lib but with it trying to load a symbol. 18:45
Resol Going back to the beginning ... how did we decided that it was libpq.dll that DBIish was looking for?
18:46 labster joined
Resol Since I know that that is in the PATH, perhaps it's looking for something else? I've not been able to follow the thread to find the code that has libpq.dll in it 18:46
Zoffix: sorry, I typed over you
Zoffix wipes the type prints off the shirt 18:49
Resol Do you say that it's having touble with th esysmbol because the stack trace ends with "in block <unit> at <unknown file> line 1? 18:53
Zoffix It goes to call NativeCall's cglobal with "libpq.dll", "PQstatus", Pointer and gets Any in return. 18:55
geekosaur ...what?
Zoffix and it wants a Pointer in return
18:57 Atomic_qm8UY left
Zoffix hm, nm, it does fail to find the library 18:58
C:\Temp\DBIish>perl6 -MNativeCall -e "dd cglobal 'libpq.dll', 'PQstatus', Pointer"
Cannot locate native library 'libpq.dll': error 0x7e
Resol Okay, so at least for sure it's looking for libpq.dll and not finding it 19:03
So that means it's not using my PATH env variable ...
Zoffix digs into nqp/MoarVM source to see where it's looking for libs 19:06
rindolf Zoffix: meow! 19:07
Zoffix: sup?
Resol I also tried moving the .dlls to the current working directory and my "home" directory since Windows says it looks in those places, but that didn't help.
19:08 cdg joined
Zoffix rindolf: \o 19:08
rindolf Zoffix: sup? 19:09
Zoffix nothing 19:10
Is Windows using dyncall? 19:11
mst rindolf: if people have already responded politely to your lame attempt at trapping them into a conversation, repeating it is a violation of human social norms
MasterDuke i don't know anything about this particular tool (or have a windows machine to test on), but maybe this will help? www.drmemory.org/strace_for_windows.html
Resol Dunno ... way above my pay grade ... 19:12
MasterDuke or the sysinternals procmon tool
19:12 cdg left
Resol So here's a question ... 19:13
did this ever work?
On windows that is? 19:14
If so, it might be possible to see what's changed ...
But if it's never worked, well, then I guess that idea would be out
19:15 rindolf left
geekosaur that was the point of zoffix's earliier snark about testing on windows 19:15
Resol Okay, right ... I guess I missed that. 19:16
Maybe I can find a way to export the PostgreSQL tables inot sqlite3 and then use DBIish with sqlite3 ...
Zoffix Snark? 19:17
Do we use nativecall or libffi on Windows? 19:22
I can't figure out which MVM_nativecall_load_lib ends up being
19:23 andrzejku left
Zoffix C:\Temp\DBIish>perl6 -MNativeCall -e "sub PQstatus () is native('C:\Program Files\PostgreSQL\9.6\lib\libpq.dll') {}; PQstatus" 19:23
Cannot locate native library 'C:\Program Files\PostgreSQL\9.6\lib\libpq.dll': error 0x7e
0x7e is "The specified module could not be found."... What module? :/ 19:25
Resol Hmmm ... odd, since you passed the whole path to native ...
Zoffix Yeah.
FROGGS you're talking about libffi vs dyncall 19:26
Zoffix Well, the "cannot locate" is not exactly accurate. That message is printed when MVM_nativecall_load_lib errors out, regardless of the reason
FROGGS and we use dyncall I think
Zoffix FROGGS: yeah, dyncall
OK. Then yeah, the above should "find" the lib. 'cause the path is just passed to dlLoadLibrary()
It errors out for some other reason
Zoffix gives up 19:27
FROGGS hmmm
Zoffix: what if you chdir to its directory and use the dll name without the path?
19:28 skf left
Zoffix FROGGS: tried that. Same error 19:28
Opened an Issue on DBIish: github.com/perl6/DBIish/issues/95 19:29
C:\Program Files\PostgreSQL\9.6\lib>perl6 -MNativeCall -e "sub PQstatus () is native('libpq.dll') {}; PQstatus"
Cannot locate native library 'libpq.dll': error 0x7e
C:\Program Files\PostgreSQL\9.6\lib>dir libpq.dll [...] 06/05/2017 07:07 AM 183,296 libpq.dll 19:30
I'm guessing libpq.dll has something in it that dyncall don't like
FROGGS unlikely I'd say 19:31
there is nothing to like in such a dll
Resol I get a slightly different error than you do ... 19:32
when I execute that, it says : Cannot locate native library 'libpq.dll': error 0xc1 19:33
Zoffix That code is "%1 is not a valid Win32 application."
Resol I wonder what that error code is referring to?
jdv79 Zoffix: yeah, that fixed the new conc bug
yoleaux 17:15Z <Zoffix> jdv79: I think your segv was due to unpacking in Proc::Async.new (discussed in irclog.perlgeek.de/perl6-dev/2017-...i_14844751 ). I'm about to remove unpacking (mostly 'cause of 10x speed boost) and I think other devs are working on the actual fix too
Zoffix \o/
Sweet 19:34
jdv79 but now i'm still up against another one from 5 months ago:(
haha
Zoffix :)
jdv79 rt.perl.org/Ticket/Display.html?id=130690
good times
2 steps backwards 1 step forwards? 19:35
thanks
19:35 ugjka joined
geekosaur sounds like programming :p 19:36
jdv79 the old one seems to happen a lot less so maybe it won't block me
19:43 cosimo left, andrzejku joined 19:44 Sgeo_ left 19:45 Sgeo joined 19:46 ChoHag left
Resol Do you know of any other modules that use NativeCall and a .dll? Maybe I could try another one, and see if the error is the same? 19:46
MasterDuke github.com/Skarsnik/perl6-gumbo maybe does 19:48
Resol Thanks ... I'll take a peek at that
19:49 BenGoldberg joined 19:52 cdg joined
Zoffix Is sixfix author still around? 19:52
MasterDuke greppable6: \.dll 19:53
greppable6 MasterDuke, Sorry, can't do that
19:53 espadrine_ left
MasterDuke greppable6: .dll 19:53
greppable6 MasterDuke, Sorry, can't do that
Zoffix The Day 2 answer page has a bug. ""Life, the Universe, and Everything".WHY" <--- we no longer have the second comma there
19:53 espadrine_ joined, TEttinger joined
MasterDuke greppable6: dll 19:53
greppable6 MasterDuke, Sorry, can't do that
Zoffix sent to an email on the site 19:54
AlexDaniel MasterDuke: why can't it? 19:55
Resol Sigh ... running on Windows is kind of a PITA for this.
I download gumbo, and install, but it needs XML. 19:56
Zoffix Get VirtualBox and run a linux VM in it?
Resol So I download XML and try to install, but it fails some tests ... a repo.lock operation isn't permitted
Zoffix That's what I'm doing ATM. Host Win10 and Bodhi Linux in Virtual Box 19:57
Resol The problem is that I have to run all of this on a server that's running Windows.
19:57 greppable6 left
AlexDaniel slaps greppable6 19:57
Resol Due to firewalls, etc. etc. etc. I can't just do this on my Mac and access the database remotely.
mst AlexDaniel: btw, we *can* do I-lines but if you can get extra IPs that's probably simpler 19:58
Resol It's got to be a local access ...
mst Resol: this is the point at which I set up a bunch of ssh tunnels
Zoffix Or just merge features into fewer bots :)
mst and hope the network admins don't spot what I've done
AlexDaniel mst: I-lines?
Resol How do yo uget Windows to allow you to set up tunnels?
putty?
mst I do it with the standard openssh stuff 19:59
Resol I *might* be able to do that ...
mst but that's because I run cygwin on all my windows machines
because screw not having a command line
Resol I think though, that the firewalls are set up to only allow Remote Desktop Protocol access to the sever ...
Ah, yes ...
well, I probably can't get cygwin installed :-(
It's a Windows Server 2012 box ... 20:00
mst looks like www.skyverge.com/blog/how-to-set-u...ith-putty/ is doable
I've just never done it
Resol Thanks, I'll look at that and see about setting it up to use the RDP ports 20:01
20:02 committable6 joined, greppable6 joined, ChanServ sets mode: +v committable6, ChanServ sets mode: +v greppable6
Resol Still, even if I get it running on my Mac, the corporate standard is Windows, so even if I'm successful, I won't be able to hand over the tools to anyone else. 20:02
Sigh ...
Still, a good way to try a proof of concept though
20:03 committable6 left 20:04 committable6 joined, ChanServ sets mode: +v committable6
El_Che Resol: ssh tunneling with putty works fine 20:07
Resol: as does SOCKS proxy
Geth whateverable: 2513807d70 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Greppable.p6
Oops

Not sure how it worked at all, but this is how it should be.
20:10
whateverable: fa442f1c52 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Greppable.p6
Oops №2

That was the wrong fix… this is the right one.
20:11
20:12 greppable6 left, greppable6 joined, ChanServ sets mode: +v greppable6
AlexDaniel greppable6: \.dll 20:12
greppable6 AlexDaniel, gist.github.com/238f86ba2879886eff...97c586b295
AlexDaniel MasterDuke: ↑ \o/
MasterDuke Resol: ^^^ modules that probably use dlls 20:14
20:25 walfisch joined, cdg left
kybr how would you go about correcting spelling and grammar on docs.perl6.org? 20:28
moritz kybr: tell me your github username, and I can give you direct push access 20:29
kybr: then you can just edit the source files and push them to github
kybr it's kybr. thanks
moritz kybr: invitation sent. Go wild, and have fun! 20:30
kybr ha! thanks.
20:38 Cabanossi left 20:41 Cabanossi joined
Zoffix Tip: You can use github's web editor to make changes without messing with checkouts and pushes. Just click the pencil icon in top right of the page you want to edit github.com/perl6/doc/edit/master/doc/404.pod6 20:42
El_Che hi Zoffix, how has been the response so far of your latest post? 20:50
Zoffix El_Che: 100% positive from outside the Rakudo community. Within, I'd say overall it's been positive. The non-yes voices mostly say it's impossible to change the name. Some say the name doesn't matter. And a few say the change would be negative (by citing past Google search result). Importantly, I've not heard any reasons for why the current name is *beneficial* 21:02
21:02 wigner1 joined, andrzejku left 21:03 wigner left, wigner1 is now known as wigner
Zoffix And the biggest challenge from the comments I see is many people think a name is something you just type when you want to talk about the thing. They don't make the connection that the name carries a lot of perceptions with it. 21:04
In my notes I'm preparing, currently word "concise" shows up to be a good concept to base Rakudo on. "Concise is not code golf. Concise is working smarter, not harder. Concise is having shorter programs because you don't need to do a lot. Concise occurs naturally in Rakudo. Concise is readable. Concise is smart. Concise is writing a program in 5 hours instead of 10" 21:07
But Perl cannot be "concise". Because Perl's idea of "concise" is line-noise and code golf.
And since we're on a subject. A quote from my $work's marketing book I'm currently re-reading: "The way for the leader to maintain its dominance is to address each emerging category with a different brand name [...] Companies make a mistake when they try to take a well-known brand name in one category and use the same brand name in another category" 21:10
With a following example of Volkswagen having 67% market share when they had their Beetle which shrunk to 4% once they trying to use the brand of "small and ugly" to sell cars of all types. 21:11
Sounds a lot like the story of Perl
21:14 walfisch left, espadrine joined, espadrine_ left 21:16 shyam_ left 21:17 setty1 left 21:26 vendethiel joined 21:32 BenGoldberg left 21:39 Cabanossi left 21:40 seatek joined 21:41 Cabanossi joined 21:49 zacts left 21:55 stmuk joined 21:56 stmuk_ left 22:00 stmuk_ joined 22:01 stmuk left
vendethiel m: ^3 .map: {say $_}; 1 22:04
camelia WARNINGS for <tmp>:
Useless use of constant integer 1 in sink context (line 1)
0
1
2
22:11 BenGoldberg joined
El_Che Zoffix: I have explained the difference between perl 5 and 6 quite a few times. People outside the Perl 5 and 6 world seem to nod politely and keep thinking what they did before 22:12
22:13 FROGGS left
Juerd El_Che: I have the same experience... 22:14
Zoffix Resol: add C:\Program Files\PostgreSQL\9.6\bin to PATH 22:15
Resol: well, the bin of your postgress install
Resol: Hm. I see you had it above in "C:\Program Files (x86)\PostgreSQL\9.4\bin". Is that the actual path? I have 9.6 pg and I used the 64-bit so on my box it's in "Program Files" (without (x86)) and once I added the bin\ to path, DBIish started being happy 22:18
Well, happy enough for its test to tell me it can't connect without a password, but I assume it works as addvertized 22:19
geekosaur could that then be a 32 vs. 64 issue?
dogbert17 probably 22:20
Zoffix maybe. Resol was also getting a different error code than me
geekosaur windows does not handle 32 bit the same way as linux, in particular if you install a 32 bit package on a 64 bit windows it will run it in a 32-bit container
dogbert17 and it will end up in the (x86) directory
geekosaur and it's entirely possible that trying to load a 32-bit dll in a 64-bit process will fail
22:21 ChoHag joined
Zoffix El_Che: "what they did before" meaning thinking something negative? 22:22
22:22 Resol left
geekosaur yep, can't load a 32-bit DLL in 64-bit code support.microsoft.com/en-us/help/2...it-windows 22:25
22:25 |oLa| left
Zoffix Aha 22:25
geekosaur .tell Resol can't load 32 bit DLLs in 64 bit code support.microsoft.com/en-us/help/2...it-windows so find a 64 bit build of postgresql / libpq.dll 22:26
yoleaux geekosaur: I'll pass your message to Resol.
geekosaur should probably be documented as a Windows limitation for NativeCall 22:27
22:28 committable6 left, unicodable6 left, quotable6 left, bloatable6 left, benchable6 left, greppable6 left, coverable6 left, statisfiable6 left, bisectable6 left, evalable6 left
El_Che Zoffix: sorry tablet. Some like perl5 but see it more as useful old school, ohers think perl 6 is,the,new version. 22:30
Zoffix: remember, I am talking about people not in touch with the perl 5/6 ecosystem 22:31
Zoffix Yeah
22:36 unicodable6 joined, bisectable6 joined, evalable6 joined, greppable6 joined, committable6 joined, ChanServ sets mode: +v unicodable6, bloatable6 joined, quotable6 joined, ChanServ sets mode: +v bisectable6, ChanServ sets mode: +v evalable6, ChanServ sets mode: +v greppable6, ChanServ sets mode: +v committable6, ChanServ sets mode: +v bloatable6, ChanServ sets mode: +v quotable6, coverable6 joined, ChanServ sets mode: +v coverable6, benchable6 joined, ChanServ sets mode: +v benchable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6 22:37 lucasb left
dogbert17 bisect: my $f = "\x1F466\x1F3FE"; say $f.chars() 22:45
bisectable6 dogbert17, Bisecting by output (old=2015.12 new=05c255c) because on both starting points the exit code is 0
dogbert17, bisect log: gist.github.com/1ca5b039e9a9900a07...21c68a4277
dogbert17, (2017-01-02) github.com/rakudo/rakudo/commit/7c...50246afcf0
22:46 Resol joined 22:47 Resol left 22:48 Resol joined 22:49 gdonald left
Resol Sorry, got dropped of there. 22:53
yoleaux 22:26Z <geekosaur> Resol: can't load 32 bit DLLs in 64 bit code support.microsoft.com/en-us/help/2...it-windows so find a 64 bit build of postgresql / libpq.dll
Resol So, I see that I can't load 32-bit DLLs in 64-bit code.
And Rakudo Star will be 64-bit, but my install of PostgreSQL is 32-bit 22:54
MasterDuke can you get a 64-bit version of PostgreSQL? 22:55
Resol Perhaps ...
I bet I can get one and then run it in a sandbox ...
The current version of PostgreSQL that I'm using comes "bundled" with a network management application I'm using. 22:56
Funny, it's just been upgraded to the latest / greatest version ...
MasterDuke there's a 32-bit version of rakudo star, but it's a 1.5 years old
Resol Woulda thought they'd go 64-bit ... but well, commercial applications I guess
22:58 nadim left, mattp_ joined
Resol Just for laughs, I'm opening a trouble ticket with the vendor and asking them if I can upgrdae to 64-bit PostgreSQL ... 23:00
That oughta be good for a laugh when I get into the office on Mondya morning ;-)
23:01 gdonald joined
Resol By the way, I really appreciat eall of the help that everyone here provided! 23:09
Zoffix Any time 23:16
23:19 vendethiel left 23:30 wamba left
BenGoldberg m: sub foo($bar) is pure { print $bar }; foo(Bool.pick) for ^3; 23:32
camelia WARNINGS for <tmp>:
Useless use of "foo(Bool.pick)" in expression "foo(Bool.pick)" in sink context (line 1)
FalseTrueTrue
BenGoldberg m: sub foo($bar) is pure { print $bar }; constant A = foo(Bool.pick); constant B = foo(Bool.pick); constant C = foo(Bool.pick); 23:33
camelia TrueFalseFalse
BenGoldberg m: sub foo($bar) is pure { print $bar }; constant A = foo(True); constant B = foo(True); constant C = foo(True);
camelia TrueTrueTrueTrueTrueTrue
BenGoldberg m: sub foo($bar) is pure { print $bar }; constant A = foo(42); constant B = foo(42); constant C = foo(42); 23:34
camelia 424242424242
BenGoldberg m: sub foo($bar) { print $bar }; constant A = foo(42); constant B = foo(42); constant C = foo(42); 23:36
camelia 424242 23:37
BenGoldberg I know that 'is pure' isn't the same as 'is cached', but
, but I think it's really bizzare that it calls the sub twice as often.
ugexe m: my $x = 0; sub foo() is pure { ++$x }; say foo(); say foo(); say $x 23:41
camelia 1
2
0
timotimo "is pure" subs may be evaluated at compile time 23:42
m: sub foo($a) { $a + 10 }; say foo(9); BEGIN { say "compile time ends here" }
camelia compile time ends here
19
timotimo m: sub foo($a) is pure { $a + 10 }; say foo(9); BEGIN { say "compile time ends here" }
camelia compile time ends here
19
timotimo oh, hah 23:43
of course that makes no difference
m: sub foo($a) is pure { say "foo evaluated"; $a + 10 }; say foo(9); BEGIN { say "compile time ends here" }
camelia compile time ends here
foo evaluated
19
timotimo okay.
it's no guarantee anyway
Zoffix m: sub foo($bar) is pure { say $bar }; constant $x = foo 42; BEGIN say "compile time ends here"
camelia 42
compile time ends here
42
Zoffix It gets evaluated during constant folding and then gets run at runtime
hm 23:48
If you turn optimizer off, it prints "42␤compile time ends here"
23:54 Cabanossi left
timotimo constant is always at BEGIN time 23:54
m: constant x = say "hi"; BEGIN say "compile time ends here"
camelia hi
compile time ends here
timotimo ^- see this example 23:55
constants therefor also get baked into precompiled code
23:56 Cabanossi joined