[00:32] *** Voldenet left [00:37] *** Voldenet joined [00:37] *** Voldenet left [00:37] *** Voldenet joined [01:37] *** squashable6 left [01:37] *** greppable6 left [01:37] *** notable6 left [01:37] *** bisectable6 left [01:37] *** unicodable6 left [01:37] *** releasable6 left [01:37] *** bloatable6 left [01:37] *** reportable6 left [01:37] *** nativecallable6 left [01:37] *** committable6 left [01:37] *** statisfiable6 left [01:37] *** quotable6 left [01:37] *** sourceable6 left [01:37] *** shareable6 left [01:37] *** benchable6 left [01:37] *** coverable6 left [01:38] *** shareable6 joined [01:38] *** greppable6 joined [01:38] *** benchable6 joined [01:38] *** quotable6 joined [01:38] *** committable6 joined [01:38] *** unicodable6 joined [01:38] *** reportable6 joined [01:39] *** nativecallable6 joined [01:39] *** releasable6 joined [01:39] *** bloatable6 joined [01:40] *** sourceable6 joined [01:40] *** coverable6 joined [01:40] *** squashable6 joined [01:40] *** bisectable6 joined [01:40] *** notable6 joined [01:40] *** statisfiable6 joined [01:47] *** kalkin-- joined [01:51] *** kalkin- left [01:53] *** Tirifto left [01:55] *** Doc_Holliwood left [02:31] *** wildtrees left [03:15] *** socomm joined [03:16] going through on of the raku books trying to figure out how to use say and concat a string. [03:17] So something like "say 'x' x 60 . 'word';" [03:20] guess concat is now tilda instead of dot :/ [03:20] *** socomm left [04:20] *** quotable6 left [04:20] *** committable6 left [04:20] *** coverable6 left [04:20] *** shareable6 left [04:20] *** reportable6 left [04:20] *** sourceable6 left [04:20] *** nativecallable6 left [04:20] *** greppable6 left [04:20] *** bloatable6 left [04:20] *** benchable6 left [04:20] *** releasable6 left [04:20] *** notable6 left [04:20] *** bisectable6 left [04:20] *** unicodable6 left [04:20] *** squashable6 left [04:20] *** statisfiable6 left [04:20] *** benchable6 joined [04:20] *** releasable6 joined [04:20] *** quotable6 joined [04:21] *** squashable6 joined [04:21] *** greppable6 joined [04:21] *** statisfiable6 joined [04:21] *** bloatable6 joined [04:21] *** bisectable6 joined [04:22] *** notable6 joined [04:22] *** committable6 joined [04:22] *** sourceable6 joined [04:22] *** shareable6 joined [04:22] *** unicodable6 joined [04:23] *** nativecallable6 joined [04:23] *** reportable6 joined [04:23] *** coverable6 joined [04:32] New module released to CPAN! CSS (0.0.3) by 03WARRINGD [04:55] *** mahmudov left [05:04] *** RobRaku joined [06:04] *** releasable6 left [06:04] *** bisectable6 left [06:04] *** benchable6 left [06:04] *** reportable6 left [06:04] *** unicodable6 left [06:04] *** quotable6 left [06:04] *** statisfiable6 left [06:04] *** bloatable6 left [06:04] *** nativecallable6 left [06:04] *** coverable6 left [06:04] *** notable6 left [06:04] *** shareable6 left [06:04] *** sourceable6 left [06:04] *** squashable6 left [06:04] *** greppable6 left [06:04] *** committable6 left [06:05] *** coverable6 joined [06:05] *** quotable6 joined [06:05] *** squashable6 joined [06:05] *** committable6 joined [06:05] *** unicodable6 joined [06:05] *** sourceable6 joined [06:05] *** greppable6 joined [06:05] *** shareable6 joined [06:06] *** bisectable6 joined [06:06] *** nativecallable6 joined [06:06] *** statisfiable6 joined [06:06] *** benchable6 joined [06:07] *** notable6 joined [06:07] *** releasable6 joined [06:07] *** bloatable6 joined [06:07] *** reportable6 joined [06:27] *** sauvin joined [07:18] *** AlexDaniel joined [07:19] *** AlexDaniel left [07:19] *** AlexDaniel joined [07:52] *** jmerelo joined [07:56] *** RobRaku left [08:04] *** sena_kun joined [08:15] *** gabiruh_ joined [08:18] *** gabiruh left [08:19] *** rindolf joined [08:24] *** sena_kun left [08:28] *** Doc_Holliwood joined [08:45] *** wamba joined [08:57] *** veesh left [09:18] *** veesh joined [09:37] *** Xliff left [09:47] m: Date.^attributes.map(*.type) [09:47] rakudo-moar 672c5d403: ( no output ) [09:47] m: say Date.^attributes.map(*.type) [09:47] rakudo-moar 672c5d403: OUTPUT: «((Int) (Int) (Int) (Int) (Callable))␤» [09:48] Hello all - what is the type of the List shown above? [09:49] do we have a type for types - I just what to send the type as a parameter [09:52] *** wamba left [10:23] Poohman: say again? The type will be actually a meta-type, depending on how it's built [10:24] Poohman: types can be smart-matched, for instance [10:25] m: say Date.^mro [10:25] rakudo-moar 672c5d403: OUTPUT: «((Date) (Any) (Mu))␤» [10:25] m: my $a-class = Date; say $a-class.^mro [10:25] rakudo-moar 672c5d403: OUTPUT: «((Date) (Any) (Mu))␤» [10:25] m: my $a-class = Date; say $a-class.^mro[0] [10:25] rakudo-moar 672c5d403: OUTPUT: «(Date)␤» [10:25] m: my $a-class = Date; say $a-class.^mro[0] ~~ Date [10:25] rakudo-moar 672c5d403: OUTPUT: «True␤» [10:26] m: my $a-class = Date; say $a-class.^mro.first ~~ Date [10:26] rakudo-moar 672c5d403: OUTPUT: «True␤» [10:26] Poohman: is that what you're looking for? [10:27] m: my $as = Int; $bs = 10; say ($bs ~~ $as) [10:27] rakudo-moar 672c5d403: OUTPUT: «5===SORRY!5=== Error while compiling ␤Variable '$bs' is not declared. Did you mean '$as'?␤at :1␤------> 3my $as = Int; 7⏏5$bs = 10; say ($bs ~~ $as)␤» [10:27] m: my $as = Int; my $bs = 10; say ($bs ~~ $as) [10:27] rakudo-moar 672c5d403: OUTPUT: «True␤» [10:28] m: my $as = Int; my $bs = 10; say $as.^mro [10:28] rakudo-moar 672c5d403: OUTPUT: «((Int) (Cool) (Any) (Mu))␤» [10:30] jmerelo: What types are these now (Int) (Cool) etc? [10:30] are they Str? [10:31] What if I want to send only default types as a parameter for a function? I mean, the parameter will be Str or Int or Numeric [10:32] do we have a enum of some sort for types? [10:34] m: my $as = Int; my $bs = 10.111; say $bs.$as; [10:34] rakudo-moar 672c5d403: OUTPUT: «10␤» [10:35] m: my $as = Int; my $bs = 10.111; say $bs.$as; say $as.^mro [10:35] rakudo-moar 672c5d403: OUTPUT: «10␤((Int) (Cool) (Any) (Mu))␤» [10:37] *** RobRaku joined [10:38] m: my $as = Int; my $bs = 10.111; say $bs.$as; say $as.WHAT [10:38] rakudo-moar 672c5d403: OUTPUT: «10␤(Int)␤» [10:38] m: say 10.WHAT [10:38] rakudo-moar 672c5d403: OUTPUT: «(Int)␤» [10:48] jmerelo: Is (Int) a meta-type?? [10:50] *** chloekek joined [10:50] Poohman: in Raku, it's a type like any other type [10:50] *** mahmudov joined [10:50] m: class A { }; my $a = A; say $a.WHAT [10:50] rakudo-moar 672c5d403: OUTPUT: «(A)␤» [10:50] it just happens to be made very early in the bootstrap process [10:55] ok thanks [11:12] *** kalkin-- left [11:13] *** stoned75 joined [11:13] *** chloekek left [11:29] *** RobRaku left [11:30] Poohman: I think you mean Any:U [11:30] m: sub foo(Any:U $type) { }; foo(Int); foo(2); [11:30] rakudo-moar 672c5d403: OUTPUT: «Parameter '$type' of routine 'foo' must be a type object of type 'Any', not an object instance of type 'Int'. Did you forget a 'multi'?␤ in sub foo at line 1␤ in block at line 1␤␤» [11:30] m: sub foo(Any:U $type) { }; foo(Int); [11:30] rakudo-moar 672c5d403: ( no output ) [11:31] Poohman: if you want to restrict the allowed types, you may want to use multi candidates for that [11:31] m: multi foo(Int:U) { return 2; }; multi foo(Str:U) { return "2"; }; dd foo(Str) [11:31] rakudo-moar 672c5d403: OUTPUT: «"2"␤» [11:32] m: multi foo(Int:U) { return 2; }; multi foo(Str:U) { return "2"; }; dd foo(Rat) [11:32] rakudo-moar 672c5d403: OUTPUT: «5===SORRY!5=== Error while compiling ␤Calling foo(Rat) will never work with any of these multi signatures:␤ (Int:U) ␤ (Str:U)␤at :1␤------> 3}; multi foo(Str:U) { return "2"; }; dd 7⏏5foo(Rat)␤» [11:32] *** BlackChaosNL[m] left [11:32] *** unclechu left [11:32] *** uzl[m] left [11:32] *** matiaslina left [11:32] *** EuAndreh[m] left [11:32] *** Demos[m] left [11:32] *** CIAvash left [11:32] *** AlexDaniel` left [11:32] *** rba[m] left [11:33] *** Nasrudin left [11:35] *** chloekek joined [11:36] *** holyghost left [11:38] *** kalkin-- joined [11:40] nine: Im trying to avoid mutliple implementations as the only change is the type which Iwant to give as a parameter [11:42] I want to write one method with parameter being an array of all the types of data members in my class [11:42] the function will not only get the user data but make sure it is of the correct type [12:10] p6: .say for 1, 2, IterationEnd, 3; [12:10] rakudo-moar 672c5d403: OUTPUT: «1␤2␤» [12:11] *** sena_kun joined [12:12] chloekek: that's a case of DIHWIDT [12:12] It could be useful! [12:13] yeah, but it's fragile, as in using an implementation detail [12:14] *** RobRaku joined [12:15] I wish :D and :U were shortcuts for ::?CLASS:D and ::?CLASS:U [12:20] *** Doc_Holliwood left [12:21] *** wamba joined [12:21] m: sub a(:D $a) { } # I guess they could be since it is currently a parse error [12:22] rakudo-moar 672c5d403: OUTPUT: «5===SORRY!5=== Error while compiling ␤Missing block␤at :1␤------> 3sub a(:7⏏5D $a) { } # I guess they could be sinc␤» [12:27] m: class C { method bla(:U: --> :D) { self.new } } [12:27] rakudo-moar 672c5d403: OUTPUT: «5===SORRY!5=== Error while compiling ␤Missing block␤at :1␤------> 3class C { method bla(:7⏏5U: --> :D) { self.new } }␤» [12:29] *** BlackChaosNL[m] joined [12:29] *** unclechu joined [12:29] *** AlexDaniel` joined [12:29] *** rba[m] joined [12:29] *** EuAndreh[m] joined [12:29] *** Demos[m] joined [12:29] *** matiaslina joined [12:29] *** Nasrudin joined [12:29] *** uzl[m] joined [12:29] *** CIAvash joined [12:37] *** rindolf left [12:37] *** chloekek left [12:42] *** benjif left [12:44] *** benjif joined [12:47] *** rindolf joined [12:50] *** mahmudov left [12:50] *** chloekek joined [12:59] *** stoned75 left [13:03] *** mahmudov joined [13:04] Poohman: the multi candidates can each just call the actual (private) implementation [13:06] *** jmerelo left [13:07] *** Doc_Holliwood joined [13:09] *** kalkin-- left [13:31] *** mahmudov left [13:35] *** chloekek left [13:50] *** sena_kun left [13:50] *** chloekek joined [13:51] *** sena_kun joined [13:57] *** veesh_ joined [13:58] *** veesh left [13:59] *** veesh_ is now known as veesh [14:09] *** mahmudov joined [14:13] *** markldevine joined [14:13] *** sena_kun left [14:15] At the office, I need to find a way to `zef` without internet connectivity (intranet only). Is there info on mirroring rakumods locally? Point me in the right direction if you can. [14:17] *** vividsnow left [14:19] [zef locally question]: Maybe pick an internet-connected server, for everything in `zef list`, upgrade any existing & install any not installed yet, then copy ~/.zef/store/* around? [14:23] *** RobRaku left [14:28] *** RobRaku joined [14:30] *** sena_kun joined [14:30] *** chloekek left [14:31] *** stoned75 joined [14:39] *** vividsnow joined [15:09] *** Doc_Holliwood left [15:14] *** cpan-raku left [15:15] *** cpan-raku joined [15:15] *** cpan-raku left [15:15] *** cpan-raku joined [15:21] *** Doc_Holliwood joined [15:25] *** wamba left [15:31] *** RobRaku left [15:33] *** RobRaku joined [16:14] *** sena_kun left [16:18] *** marinin[t] joined [16:30] *** sena_kun joined [16:30] *** RobRaku left [17:12] *** Doc_Holliwood left [17:13] ¦ doc: 2b52179364 | (Stoned Elipot)++ | doc/Language/containers.pod6 [17:13] ¦ doc: xref to type captures [17:13] ¦ doc: review: https://github.com/Raku/doc/commit/2b52179364 [17:41] *** wildtrees joined [17:45] *** vividsnow left [17:52] *** jmerelo joined [17:58] *** RobRaku joined [17:59] *** vividsnow joined [18:00] *** jmerelo left [18:12] *** wamba joined [18:15] *** sena_kun left [18:21] *** wamba left [18:23] *** frithnanth joined [18:28] *** sena_kun joined [19:05] *** Tirifto joined [19:06] Hello all! Is there a common file extension for Pod6? [19:06] (.pod6, I guess?) [19:07] you guessed correctly :D [19:18] Neat! :D [19:25] markldevine: can you use a proxy? [19:27] El_Che The customer has a gateway solution for virtually every internet-based update requirement. No HTTP proxies. [19:28] *** sauvin left [19:28] El_Che I'll ask if they can go with a proxy. More elegant. [19:29] markldevine: I think the rakudo star installer does some magic to use zef locally to install the modules; maybe take a look at that? [19:30] El_Che Okay, I'll scan there. Thanks for the lead. [19:30] a quick and dirsty socks proxy through ssh may be an easy option [19:30] ssh -D 8080 jumhost [19:30] El_Che Govt institution... Nothing is ever quick. [19:31] *** RobRaku left [19:43] :) [19:51] *** Poohman left [20:06] <[Coke]> . [20:14] *** sena_kun left [20:18] moritz shouldn't that be .rakudoc, as stated here: https://github.com/perl6/problem-solving/blob/master/solutions/language/Path-to-Raku.md#extensions [20:26] *** RobRaku joined [20:28] *** sena_kun joined [20:48] frithnanth: it looks like I'm no longer on top of things [20:55] *** rindolf left [21:00] *** chloekek joined [21:02] frithnanth: Noted! [21:02] *** cpan-raku left [21:04] *** cpan-raku joined [21:04] *** cpan-raku left [21:04] *** cpan-raku joined [21:11] *** markldevine left [21:16] New module released to CPAN! Gnome::Gtk3 (0.21.1) by 03MARTIMM [21:26] *** frithnanth left [21:26] *** dakkar joined [21:26] hello again, I'm back with weird questions 😜 [21:26] https://gist.github.com/dakkar/e34d213e43fa7d2fa1b252784dfb36a1 [21:27] feeding a 18k email message to that code, I get suprising timings [21:27] * dakkar adds times to the gist [21:28] doing the whole grammar parsing takes 0.02 seconds, while `~~ /@separators/` takes 1.2 seconds [21:30] dakkar: are those separators not essentially "\n\n" ? [21:30] with Raku's automatic line-ending logic ? [21:31] not really, I'm parsing email messages, so I have to handle all four forms [21:31] but that would be my point: in Raku "\n\n" should be handle all of those [21:32] and in the actual program I'm reading from a Socket (via its .Supply), and Supply::lines seems weird to me [21:32] in particular, I can't redefine its :in-nl [21:33] I see...hhmmm [21:33] (should I raise a bug somewhere about making Supply::lines behave more closely to IO::lines ?) [21:34] yes, that seems appropriate [21:36] where would be the best place? toast, rakudo, somewhere else? [21:36] rakudo, I'd say [21:36] * dakkar submits [21:40] dakkar++ [21:43] https://github.com/rakudo/rakudo/issues/3384 [21:46] New module released to CPAN! Gnome::Gtk3 (0.21.1.1) by 03MARTIMM [21:51] * dakkar has fixed his git web view [21:51] so, the original code for that weird timing: https://www.thenautilus.net/cgit/MaildirIndexer/tree/lib/MaildirIndexer/Parser.pm6?h=bayes#n84 [21:52] the program gets an email on a socket, and needs to parse the headers [21:52] (it doesn't care about the body) [21:53] a few lines above, there's the method that parses from file, and there I use `.lines(:nl-in(@separators))`, and it indeed works fast and correctly [21:54] the weirdness of a "simple" match being sometimes much slower than a full grammar parse, remains [21:55] have you tried not using the array, but just putting the delimiters into the token? [21:55] could be the interpolation that's really the issue [21:56] * dakkar tries [21:57] oh, you're right [21:58] more weird: `//` is still slow [21:58] *** Xliff joined [21:59] * dakkar is still confused [22:00] grammars are still in the stage "make them work" rather than "make them work fast" :( [22:01] the weirdness is that the full grammar is much faster than the /@thing/ [22:02] even if I pre-build the regex object (`my $regex = /@separators/` or `my $regex = //`) [22:03] bah [22:03] I'm pretty sure moritz or jnthn would have an idea why [22:05] what's the easiest way to bring this to their attention (bar just happening to be online at the same time)? [22:06] (do we need a manpage for all the bots here?) [22:07] dakkar: Use .tell [22:08] .tell moritz you may be interested in a case of strange slowness in regex matching: https://colabti.org/irclogger/irclogger_log/raku?date=2019-12-27#l326 [22:08] dakkar, I'll pass your message to moritz [22:08] Xliff: thank you! [22:09] dakkar: np! :) [22:11] (the bot manpage exists: https://raku.org/community/irc, should it be in the topic?) [22:12] just tried "zef install SDL2" and during installation, I got failure messages from testing like: [22:13] ===> Installing: SDL2::Raw:ver<0.3> [22:13] ===> Installing: SDL2:ver<0.0.1>:auth [22:13] ===> Install [FAIL] for SDL2:ver<0.0.1>:auth: ===SORRY!=== [22:13] Could not find SDL2::Raw:ver<0.2> at line 7 in: [22:13] inst#/home/xkr47/s/rakudo/share/perl6/site [22:13] inst#/home/xkr47/s/rakudo/share/perl6/vendor [22:13] inst#/home/xkr47/s/rakudo/share/perl6 [22:13] ap# [22:13] nqp# [22:13] perl5# [22:13] ah, it installed (depended?) on ver 0.3 but verification tried to load ver 0.2 of SDL2::Raw? [22:14] looks like a META6.json issue in the distribution [22:14] it's installing SDL2::Raw 0.3, and then SDL2 wants SDL2::Raw .2 ? [22:14] *** sena_kun left [22:14] sounds like that yeah [22:15] what can I do ? [22:15] https://modules.raku.org/dist/SDL2:cpan:AZAWAWI [22:15] *** wamba joined [22:16] here.. https://modules.raku.org/dist/SDL2:cpan:AZAWAWI/lib/SDL2/Renderer.pm6 [22:17] I guess someone will need to make a PR to have azawawi fix it :-) [22:17] so metafile depends on just "SDL2::Raw" (i.e. does not specify a version?) but the renderer depends on explict version 0.2? [22:17] yes, that's what the code says [22:18] you could try removing ':ver(0.2)' [22:18] so either it does not work with 0.3 or the 0.2 explicit version requirement was forgotten there by accident.. [22:18] yes, that is what it looks like to me [22:18] how do I install it from a local checkout? [22:19] zef install . [22:19] zef install . [22:19] heh [22:19] Xliff++ :-) [22:19] lizmat++ :) [22:20] Xliff++ [22:20] lizmat++ [22:20] *** dakkar left [22:22] ah, fixed already in repo but no release... https://github.com/azawawi/perl6-sdl2 [22:22] * lizmat suggests making an issue to have azawawi make a release :-) [22:24] someone did :D [22:24] or well they just reported the error two days ago [22:24] and the fix is 4 months old [22:24] buut hmm zef install completed without error but my program still can't find SDL2, hmm [22:24] `zef install .` I mean [22:24] ===> Testing: SDL2:ver<0.0.2>:auth [22:25] ===> Testing [OK] for SDL2:ver<0.0.2>:auth [22:25] ===> Installing: SDL2:ver<0.0.2>:auth [22:25] --- [22:26] aha, because SDL2:ver<0.0.1> is apparently.. also installed [22:26] ? [22:27] yeah, installing a newer version of a distribution does *not* remove older ones [22:27] ok removed, still complains [22:28] zef list --installed|grep SDL2 [22:28] ===> Found via /home/xkr47/s/rakudo/share/perl6 [22:28] ===> Found via /home/xkr47/s/rakudo/share/perl6/site [22:28] SDL2::Raw:ver<0.3> [22:28] SDL2:ver<0.0.2>:auth [22:28] perl6 /tmp/foo.p6 [22:28] ===SORRY!=== [22:28] Could not find SDL2 at line 4 in: [22:28] < same list as pasted earlier > [22:29] *** ToddAndMargo joined [22:30] anyone on newbie duty today? [22:30] 2019-11-23T10:12:22Z #raku ToddAndMargo: .rotor(3) ? [22:30] *** sena_kun joined [22:32] Question on native call. When a C++ call to Kernel32.dll wants a reserved word of NULL, how do I define it on the native line? And is a null a 32 bit word full of zeros? [22:37] Cannot unbox a type object (int32) to int [22:39] *** RobRaku left [22:45] Cannot unbox a type object (int) to int. [22:48] ToddAndMargo: What type are you trying to pass? [22:48] Can you paste the native call def you are using? [22:49] Generally you pass the type object of that parameter to represent NULL. [22:50] sub a (Str $a) is native { * }; a(Str) # ...for example [22:50] sub a (uint32 $a is rw) is native { * }; a(uint32) # ...another example [22:54] constant WCHAR := uint16; constant DWORD := int32; constant CPOINTER := int32; sub RegQueryValueExW( DWORD, WCHARS, DWORD, CPOINTER, DWORD is rw, DWORD is rw ) is native("Kernel32.dll") returns DWORD { * }; $RtnCode = RegQueryValueExW( $Handle, $lpValueName, 0, REG_DWORD, $lpData, $lpcbData ); [22:54] can't figure out how to do pretty lines. Would vpaste work better? [22:59] if I use 1 for CPOINTER, I get error 87 ( ERROR_INVALID_PARAMETER). If I use 0, the program just terminates with no error message. If I use int32 for the sub and anything in the call, I get the unbox errors [23:04] ToddAndMargo: OK, so is CPOINTER a pointer? [23:04] Doesn't look like it from your def [23:06] ToddAndMargo: https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regqueryvalueexw [23:06] LPDWORD is basically DWORD* [23:07] So try this: "sub RegQueryValueExW( DWORD, WCHARS, DWORD, CPOINTER is rw, DWORD is rw, DWORD is rw)" and then pass CPOINTER (which is int32) [23:09] Well, I clearly don't know what I am doing. The parameter is called a reserved NULL. I asked the C++ guys and they said that a NULL is a pointer to 0. This is the function I am calling: https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regqueryvalueexw and for reserved, "This parameter is reserved and must be zero." [23:10] changing it to DWORD and 0, the program just exits on me [23:11] would a vpaste of the whole thing help? [23:11] Sure [23:13] *** wamba left [23:15] firefox is giving me a bad time [23:16] http://vpaste.net/z14VG [23:17] lines 130 and 132 are the offenders [23:20] ToddAndMargo, correct me if I'm wrong but doesn't LPDWORD mean actually a pointer to a DWORD and not a DWORD [23:21] xkr47: Yes. It does. [23:22] How do I define LPDWORD for use in my run line? [23:22] anyway I coded windows apis like 22 years ago so I'm not up to speed :D [23:23] but my guess would be lpReserved is fine, and the other parameters are incorrect or something [23:23] sorry this is just a hunch [23:29] Do I at least have the syntax for $lpData, $lpcbData correct? [23:34] that I don't know :) [23:35] but maybe those are the prime suspects :) [23:40] *** vividsnow left [23:40] Gimme a sec and I will look over it. [23:46] I just foundh that I had $lpSubKey and $lpValueName backwards. now I am getting error 6 "The handle is invalid". I am using the $Handle from the return of the RegOpenKeyExW [23:48] http://vpaste.net/FAoFE [23:51] Dang! K:\Windows\NtUtil>perl6 -I. -e "use WinMount :GetLUA; say GetLUA();"RegOpenKeyExWRegOpenKeyExW RtnCode 2RegQueryValueExW1Native call expected argument that references a native integer, but got P6int in method CALL-ME at C:\rakudo\share\perl6\sources\947BDAB9F96E0E5FCCB383124F923A6BF6F8D76B (NativeCall) line 587 in sub GetLUA at [23:51] K:\Windows\NtUtil\WinMount.pm6 (WinMount) line 150 in block at -e line 1 [23:52] what is a P6int error? [23:53] Crap. [23:54] OK. So using "is rw" didn't work as expected. The next thing to try is a CArray; [23:54] Honestly, that SHOULD work and should probably be bugged as an LTA. [23:56] What is an LTA? [23:56] Less Than Awesome [23:57] "uint32 is rw" should allow you to pass in the uint32 type object to represent NULL [23:57] m: use NativeCall; say CArray[uint32].new(1).gist.say [23:57] rakudo-moar 672c5d403: OUTPUT: «NativeCall::Types::CArray[uint32].new␤True␤» [23:57] m: use NativeCall; say CArray[uint32].new(1).gist [23:57] rakudo-moar 672c5d403: OUTPUT: «NativeCall::Types::CArray[uint32].new␤» [23:57] m: use NativeCall; my $a = CArray[uint32].new(1); $a[0].say [23:57] rakudo-moar 672c5d403: OUTPUT: «1␤» [23:57] taking out the rw on the reserved ford give "Cannot unbox a type object (int32) to int." [23:57] m: use NativeCall; my $a = CArray[uint32].new(12345); $a[0].say [23:57] rakudo-moar 672c5d403: OUTPUT: «12345␤» [23:58] ToddAndMargo: One sec.... [23:58] http://vpaste.net/oZ7SG [23:58] is okay. I am confused anyway on the CArray thing [23:59] Well... Arrays are basically pointers. [23:59] By using a CArray I am saying I want an integer pointer. [23:59] You will only set the first value, though. [23:59] Ot [23:59] It's non-intuitive, but it works.