Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-13

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 ugexe the secret of the name submethod is revealed
00:13 Gardner joined #perl6
00:14 Ben_Goldberg joined #perl6
00:14 zengargoyle joined #perl6
00:16 tony-o quietfanatic: are you trying to figure out why 'foo' doesn't work? it's only scoped for class A..
00:18 tony-o m: class A { our sub foo { 'foo'.say; }; }; class B is A { method bar { A::foo; }; }; B.new.bar;
00:18 camelia rakudo-moar af886d: OUTPUT«foo␤»
00:18 tony-o if the sub isn't 'our'ed then it's not as available
00:18 tony-o m: class A { sub foo { 'foo'.say; }; }; class B is A { method bar { A::foo; }; }; B.new.bar; #should error out
00:18 camelia rakudo-moar af886d: OUTPUT«Could not find symbol '&foo'␤  in method bar at /tmp/UDCYTK9Nyv:1␤  in block <unit> at /tmp/UDCYTK9Nyv:1␤␤»
00:20 ugexe perl6-m -e 'my $sock = IO::Socket::INET.new(:host<httpbin.org>, :port(80)); $sock.send("GET / HTTP/1.1\r\nHost: httpbin.org\r\n\r\n"); my $x = $sock.get; say "<start>{$x}<end>"'
00:20 ugexe <end>t>HTTP/1.1 200 OK
00:20 zengargoyle joined #perl6
00:22 flussence it's printing the \r but not the \n...
00:27 tony-o nice
00:29 * geekosaur watches inbox start smoldering >.>
00:30 ugexe yeah... they should both get stripped off
00:30 ugexe m: say lines("a\r\nb\n").perl
00:30 camelia rakudo-moar af886d: OUTPUT«("a", "b")␤»
00:34 quietfanatic Is there any way to procedurally generate routine signatures to pass to NativeCall?
00:34 quietfanatic I don't want to have to EVAL.
00:36 lembark joined #perl6
00:39 tony-o quietfanatic: i'm guessing you'd have to write something to look at the stubs in .h or the functions in the .c ..
00:40 tony-o still, a stub that looks like int '(*ss_callback)(int, char*);' would be difficult to handle
00:40 quietfanatic I'm doing that.  What I mean is
00:40 quietfanatic how to give NativeCall the information
00:41 quietfanatic I have a structure representing the function I've parsed out of the .h, I just need to convert that into something NativeCall understands.
00:42 quietfanatic re: class scoping, I get it now, I was just thinking with C++ brain.
00:43 tony-o ah, your question is more along the lines of making that sub available in scope of whatever dynamically
00:46 quietfanatic right
00:46 quietfanatic It may be possible to create subroutines with, say, Routine.new(signature => ...) or something like that.  I'll look into it.
00:49 ugexe m: class A { has $.foo = sub foo { say 1 }; }; class B is A {  method bar { $.foo.() } }; B.new.bar
00:49 camelia rakudo-moar af886d: OUTPUT«1␤»
00:50 tony-o m: class A { method foo { say 1; } }; class B is A { method bar { $.foo; } }; B.new.bar;
00:50 camelia rakudo-moar af886d: OUTPUT«1␤»
00:50 tony-o m: class A { method foo { say 1; } }; class B is A { method bar { foo; } }; B.new.bar;
00:50 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/woSVYxkkDY␤Undeclared routine:␤    foo used at line 1␤␤»
00:58 mr_ron joined #perl6
01:18 elimik joined #perl6
01:22 bin_005_i joined #perl6
01:28 aborazmeh joined #perl6
01:28 aborazmeh joined #perl6
01:28 dduncan joined #perl6
01:29 Khisanth joined #perl6
01:31 dduncan TimToady - thank you for your response of "the intention is that auth dominate version, such that each auth gets its own independent versioning scheme, and if two different auths match up their versions, it's by agreement or by accident, but not enforced"
01:31 yoleaux 12 Jun 2015 13:31Z <TimToady> dduncan: the intention is that auth dominate version, such that each auth gets its own independent versioning scheme, and if two different auths match up their versions, it's by agreement or by accident, but not enforced
01:31 dduncan ... so that's how it works, anyway ...
01:32 dduncan However, this didn't answer my question.
01:32 erdic joined #perl6
01:33 dduncan My question assumes what you said, that the versioning schemes of different auth don't in general line up...
01:34 dduncan The scenario I am asking about concerns when two different auth at different times whether by intention or coincidence happen to be compatible in all the ways that affect some user...
01:35 dduncan The question is how does the user request, if auth is X, I know I'm compatible with versions 5-7, or if auth is Y, I know I'm compatible with versions 42-45.
01:35 dduncan and by 'or' I mean 'and'
01:36 dduncan I assume that sometimes branches will strive to be mutually compatible in some ways even if they differ in other ways, and the common ground may be what the user wants.
01:37 dduncan Or do you think this scenario would be so rare that users should just pick one auth?
01:37 dduncan in their 'use'
01:38 dduncan Note, here I thought yoleaux would message me when I simply joined the channel, rather than after the first post, but there you go.
01:45 geekosaur lots of people idle on IRC and their clients may disconnect and reconnect randomly; be bad to lose a message bvecause that happened and then it scrolled away
01:45 geekosaur (or netsplits, etc.)
01:45 dduncan Right, that makes sense.
01:45 dduncan I knew about the response because I saw it on the web archive, then came here to reply as my first thing.  Guess I could have said 'ping' or something to trigger the bot and provide context for my response that way.
02:08 xinming joined #perl6
02:09 Khisanth joined #perl6
02:17 diakopter JIT isn't supported on arm-linux-gnueabihf-thread-multi-64int yet.
02:17 diakopter *lolcry*
02:27 noganex_ joined #perl6
02:29 Khisanth joined #perl6
02:35 rmgk_ joined #perl6
02:44 zengargoyle joined #perl6
02:48 Sqirrel joined #perl6
03:09 Sqirrel joined #perl6
03:10 kaare__ joined #perl6
03:11 tinyblak joined #perl6
03:33 pmichaud good evening, #perl6
03:39 skids o/
03:56 Ben_Goldberg It's almost gone past 'evening' in my timezone ... 'afternight' ? ;)
04:02 ][Sno][ joined #perl6
04:12 BenGoldberg_ joined #perl6
04:17 skids m: grammar foo { my $x = 0; regex TOP { <f> b || b <f> }; regex f { :let $x; { $x++; $x.say; } a } }; foo.parse("ba") # should a failed rule count as unsuccessful for the purpose of "let"?
04:17 camelia rakudo-moar af886d: OUTPUT«1␤2␤»
04:20 Celelibi joined #perl6
04:27 zostay i'm noting 408 errors from Travis CI when trying to fetch http://ecosystem-api.p6c.org/projects.json, anyone else encounter that problem?
04:27 khisanth_ joined #perl6
04:28 skids I've had to wget it myself, and so have others.
04:28 skids Worse it hangs for ages before it barfs.
04:29 zostay yeah, i noticed... it was working until fairly recently
04:49 dduncan joined #perl6
04:54 lizmat joined #perl6
04:58 Sqirrel joined #perl6
04:59 ugexe dduncan: this sort of covers the topic you bring up: https://github.com/perl6/specs/blob/m​aster/S22-package-format.pod#emulates (although its not implemented yet)
05:00 * lizmat waves from the town where we will make First Contact in 2063
05:02 dduncan ugexe, thank you, I thought something like emulates might be the answer, I'll have a look.
05:14 molaf joined #perl6
05:15 dduncan So this seems to be going at it from a different angle; rather than the consumer module enumerating the options they know they work with, they just list one, and its up to alternate suppliers to say they can step in for what was asked for.
05:17 skids Has anyone figured out a way to run a bit of "undo" code or roll back state when a rule is backtracked over?  Seems tough, given the current state of Cursor.
05:18 lizmat skids: can't you do something with temp ?
05:19 Woodi literal: it is already scheduled ? but talking implies some for of contact... ;)
05:19 Woodi lizmat: ^ :)
05:20 lizmat http://plancast.com/p/tkm/firs​t-contact-party-2063-star-trek   # seems we missed last year's party
05:21 skids lizmat: Was part of why I was asking about :let above, but things like that and dynamics can handle it for descent, but not concatinations. e.g. rx/a <rule> b || <rule> <rule> c/.
05:22 lizmat ah, ok, I believe you
05:23 lizmat I'm too tired after driving 9 hours today + some impressive sightseeing in Yellowstone Park
05:24 virtualsue joined #perl6
05:24 lizmat good night, #perl6!
05:24 skids sleep well, lizmat
05:28 ugexe dduncan: there is always interfaces, dependency injection, and monkey typing
05:30 ugexe you can already do try require Dog1; try require Dog2; my $dog = ::("Dog1") ~~ Failure ?? ::("Dog2").new !! ::("Dog1").new I'm not sure how you add the auth/version requirements to those, but assuming they have the same interface you can use $dog as whichever one gets loaded
05:31 dduncan ok
05:31 diana_olhovik_ joined #perl6
05:35 bjz joined #perl6
05:42 aborazmeh joined #perl6
05:42 aborazmeh joined #perl6
05:43 Woodi oh, and if we need more special ascii symbols we can introduce some control character followed by already used symbols :)  ':' already works like this
05:44 Woodi but probably it's like with to much energy in one place - it can create black hole...
05:45 Psyche^ joined #perl6
05:54 Sqirrel joined #perl6
05:55 Woodi or maybe '#' is under utilized... we could have comments in .oO( comment ) :)
05:57 FROGGS[mobile] joined #perl6
06:09 virtualsue left #perl6
06:11 FROGGS joined #perl6
06:11 tinyblak joined #perl6
06:13 FROGGS flussence: merged your panda PR
06:13 FROGGS @all: please test latest panda, it should be able to download its projects.json again # flussence++
06:13 domidumont joined #perl6
06:18 domidumont joined #perl6
06:19 heyy joined #perl6
06:20 virtualsue joined #perl6
06:24 skids I can panda update now, yes.
06:26 [Sno] good night, lizmat
06:26 [Sno] FROGGS: I've added some time for cross-compiling perl6 for our homepilot platform to use NativeCall :)
06:27 [Sno] so I might ping you in a few weeks ...
06:27 FROGGS [Sno]: hi
06:28 FROGGS [Sno]: what's a homepilot platform?
06:28 [Sno] FROGGS: that's an embbedded environment (linux) built by a cross-compiling platform (open-embedded) with local adoptions
06:30 [Sno] my next steps are: migrate our current environment (daisy based, > 1yr old) to fido (recent Yocto/poky/open-embedded release), update kernel and device drivers to a supported version, build jvm8, build moarvm, build nqp for jvm & moarvm
06:30 [Sno] hopefully not to many hacks will be needed :)
06:31 laouji joined #perl6
06:31 [Sno] FROGGS: it's i.MX6 based, fyi
06:31 dalek nqp/mingw32: 50b8354 | FROGGS++ | Configure.pl:
06:31 dalek nqp/mingw32: allow to build using gmake/gcc on windows
06:31 dalek nqp/mingw32: review: https://github.com/perl6/nqp/commit/50b83547b6
06:32 FROGGS [Sno]: sounds like fun :o)
06:32 [Sno] I'll report when I enter the MoarVM/JVM fun ^^
06:33 [Sno] there is probably a reason why meta-java is still on v7 using icedtea :/
06:33 [Sno] I planned 3 weeks to build java and another week for nqp
06:33 dalek rakudo/mingw32: a862c41 | FROGGS++ | / (2 files):
06:33 dalek rakudo/mingw32: allow to build using gmake/gcc on windows
06:33 dalek rakudo/mingw32: review: https://github.com/rakudo/rakudo/commit/a862c417f5
06:34 FROGGS [Sno]: yeah, keep me/us posted
06:34 [Sno] sure
06:35 FROGGS .tell cygx please test the three mingw32 branches if you have time... it should work without hacks
06:35 yoleaux FROGGS: I'll pass your message to cygx.
06:44 espadrine joined #perl6
06:49 laouji joined #perl6
07:34 gfldex joined #perl6
07:34 * vendethiel waves
07:45 bjz joined #perl6
08:00 FROGGS vendethiel: can you please test the three mingw32 branches on osx?
08:01 FROGGS bbl
08:05 labster joined #perl6
08:10 Ven joined #perl6
08:12 RabidGravy joined #perl6
08:14 darutoko joined #perl6
08:15 Ven FROGGS: I did `git checkout mingw32 && cd nqp && git checkout mingw32 && cd MoarVM && git checkout mingw32 && make && cd .. && make && cd .. && make`
08:16 Ven Am getting this now: ld: can't map file, errno=22 file 'rakudo/install/lib/' for architecture x86_64 (said directory contains "libmoar.dylib" and "MAST/")
08:23 dduncan left #perl6
08:33 AlexDaniel joined #perl6
08:40 FROGGS[mobile] aha
08:40 mr-foobar joined #perl6
08:40 FROGGS[mobile] will investigate later
08:44 telex joined #perl6
08:46 cygx joined #perl6
08:46 cygx o/
08:46 yoleaux 06:35Z <FROGGS> cygx: please test the three mingw32 branches if you have time... it should work without hacks
08:48 cygx .tell FROGGS your branches work as expected (with the caveat that you have to set MVM_SPESH_DISABLE to compile the setting)
08:48 yoleaux cygx: I'll pass your message to FROGGS.
08:50 cognominal joined #perl6
08:53 cygx .tell FROGGS instead of looking for $ENV{VisualStudioVersion}, one could also try to detect if your Perl5 has been compiled using MinGW, eg by looking at $Config{ccname} or $Config{gmake}
08:53 yoleaux cygx: I'll pass your message to FROGGS.
08:54 cygx FROGGS[mobile]: ^^
09:00 cygx .tell FROGGS the one thing that is not quite right is that the import library libmoar.dll.a ends up in /bin - it probably should go into /lib
09:00 yoleaux cygx: I'll pass your message to FROGGS.
09:02 spider-mario joined #perl6
09:10 Gardner joined #perl6
09:19 FROGGS[mobile] cygx: we want to be independend from P5 (in theory)
09:22 xfix joined #perl6
09:22 xfix joined #perl6
09:33 cygx FROGGS[mobile]:
09:33 cygx FROGGS[mobile]: also note that going with $ENV{VisualStudioVersion} won't detect the Windows SDK shell
09:34 cygx probably not all that much of a problem in practice, though
09:42 Ven m: module A{module B{class C{}}}; say A::B::C.^name; # any way to get the fully-qualified name?
09:42 camelia rakudo-moar af886d: OUTPUT«C␤»
09:52 cygx bye o/
09:52 cygx left #perl6
09:55 kaare__ joined #perl6
10:19 itz_ oops panda :)
10:23 Ven is "Empty" supposed to disappear post-glr? (as in, is it just a temporary band-aid?)
10:26 FROGGS[mobile] cygx: my windows sdk shell sets it AFAIK
10:27 Ven "and the temporary Empty type." I see
10:39 Ven oh, the debugger still segfaults. seems to happen when you try to navigate around after an exception has been played. "+ Exception Thrown | Died"
10:42 uncleyear joined #perl6
10:54 AlexDaniel all links that have a dot are broken: http://doc.perl6.org/routine.html < . .() .* .+ .. ... ..^ etc >
10:56 smls joined #perl6
11:02 ash_ joined #perl6
11:02 lolisa joined #perl6
11:06 smls .tell pmichaud In your new GLR design, will if/when/unless blocks return Nil or () or Slip on a false condition, and will this idiom continue to work:   say "foo{'bar' if $verbose}baz"
11:06 yoleaux 12 Jun 2015 13:51Z <TimToady> smls: just to clarify, http://irclog.perlgeek.de/p​erl6/2015-06-11#i_10735146 is not quite truthy enough to be true; assignment to @ does not enforce Positional, it merely coerces any non-positional to a list of one element
11:06 yoleaux smls: I'll pass your message to pmichaud.
11:08 smls TimToady: Oh right, it's only when you bind with := that you need to make sure the RHS is already Positional.
11:13 moritz assignment to % and @ is generaly coercive
11:13 yoleaux 12 Jun 2015 17:23Z <ab5tract> moritz: done, done, and done ;)
11:14 moritz ab5tract: then merge away!
11:24 tinyblak joined #perl6
11:31 diana_olhovik joined #perl6
11:49 nys joined #perl6
11:55 Gardner joined #perl6
11:55 oetiker joined #perl6
11:59 flussence this is weird, `panda install Linenoise` always fails on a clean reinstall of rakudo, but `panda install $any-other-module Linenoise` works fine...
12:00 flussence oh, it's already known
12:09 oetiker joined #perl6
12:11 tinyblak_ joined #perl6
12:14 mr_ron joined #perl6
12:15 Ven joined #perl6
12:16 mr_ron no strict; %h<a> = 42; {temp %h<b> = 8}
12:16 mr_ron m: no strict; %h<a> = 42; {temp %h<b> = 8}
12:16 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding cont; expected 'Any' but got 'Mu'␤  in block <unit> at /tmp/AYhNmfAB9o:1␤␤»
12:17 mr_ron m: no strict; %h<a> = 42;
12:17 camelia rakudo-moar af886d: ( no output )
12:17 oetiker joined #perl6
12:17 mr_ron bug I think
12:19 Ven m: temp %h<b> = 8
12:19 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3g1OTkzVIM␤Variable '%h' is not declared␤at /tmp/3g1OTkzVIM:1␤------> 3temp 7⏏5%h<b> = 8␤»
12:19 yqt joined #perl6
12:19 Ven m: (temp %h)<b> = 8
12:19 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QXsCghabZ8␤Variable '%h' is not declared␤at /tmp/QXsCghabZ8:1␤------> 3(temp 7⏏5%h)<b> = 8␤»
12:19 Ven m: no strict; temp %h<b> = 8
12:19 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding cont; expected 'Any' but got 'Mu'␤  in block <unit> at /tmp/dvEGWzXNXu:1␤␤»
12:19 Ven m: no strict; (temp %h)<b> = 8
12:19 camelia rakudo-moar af886d: ( no output )
12:19 Ven mr_ron: I think that's the issue :)
12:22 mr_ron Good golf anyway ...
12:25 mr_ron left #perl6
12:33 zengargoyle joined #perl6
12:35 rindolf joined #perl6
12:45 zengargoyle joined #perl6
12:50 tinyblak joined #perl6
12:59 JimmyZ_ joined #perl6
13:16 dalek doc: 02e357f | ab5tract++ | bin/p6doc:
13:16 dalek doc: Add a disambiguation prompt when there is more than one match for -f
13:16 dalek doc: review: https://github.com/perl6/doc/commit/02e357f0ea
13:16 dalek doc: f9b7d83 | ab5tract++ | bin/p6doc:
13:16 dalek doc: Theoretically support single-value matches
13:17 dalek joined #perl6
13:17 Sqirrel joined #perl6
13:32 FROGGS joined #perl6
13:35 masak good afternoon, #perl6
13:35 FROGGS .
13:35 yoleaux 08:48Z <cygx> FROGGS: your branches work as expected (with the caveat that you have to set MVM_SPESH_DISABLE to compile the setting)
13:35 yoleaux 08:53Z <cygx> FROGGS: instead of looking for $ENV{VisualStudioVersion}, one could also try to detect if your Perl5 has been compiled using MinGW, eg by looking at $Config{ccname} or $Config{gmake}
13:35 yoleaux 09:00Z <cygx> FROGGS: the one thing that is not quite right is that the import library libmoar.dll.a ends up in /bin - it probably should go into /lib
13:35 FROGGS o/
13:36 FROGGS .tell Ven you did not 'make install', right?
13:36 yoleaux FROGGS: I'll pass your message to Ven.
13:38 FROGGS .tell cygx I was able to compile the setting without disabling spesh.... can you tell what windows/perl/gcc versions you have?
13:38 yoleaux FROGGS: I'll pass your message to cygx.
13:41 RabidGravy what do I have to do get  "$some_object ~~ $some_enum_value" to work properly?  It seems to always ignore the sub infix:<~~> and want a Numeric method on the LHS
13:41 kaare__ joined #perl6
13:41 zengargoyle joined #perl6
13:43 FROGGS RabidGravy: an enum is a numeric thing... so only a numeric thing can possibly match
13:44 Ven_ joined #perl6
13:45 RabidGravy but can't you make it go with a more specific overload of '~~'?  I have a case where I want it to possibly smart match a number of different enums in different attributes of the object
13:45 FROGGS RabidGravy: can you show some example code here?
13:46 RabidGravy i.e. $obj ~~ Sometype  $obj ~~ Somesubtype  etc
13:46 FROGGS what about  obj ~~ Sometype|Somesubtype  ?
13:50 RabidGravy that's not quite what I mean
13:51 FROGGS then I misunderstand
13:53 RabidGravy I've got for instance "multi sub infix:<~~> (Audio::Sndfile:D $as, Audio::Sndfile::Info::Format $type) { $as.info.type == $type }" - it appears to ignore that
13:54 FROGGS RabidGravy: ohh, you probably want to implement an ACCEPTS method on Audio::Sndfile::Info::Format instead
13:54 RabidGravy can you do that on an enum?
13:54 zengargoyle joined #perl6
13:55 FROGGS hmmmm
13:56 FROGGS m: role Bar { method ACCEPTS($lhs) { True } }; enum Foo does Bar < bar baz >; say "foo" ~~ bar
13:56 camelia rakudo-moar af886d: OUTPUT«True␤»
13:59 RabidGravy ah hah! I had it the wrong way round
13:59 RabidGravy FROGGS++ # top suggestions
13:59 FROGGS yeah, ~~ is compiled to a call to ACCEPTS... they way it is implemented it will ignore sub infix:<~~>
14:07 jdv79 is there a way to know if an op is overrideable, or a list of ones that cant be?
14:08 FROGGS hmmm, good question
14:08 FROGGS there are only a few ops where we cheat
14:13 Ven_ \o masak
14:13 Ven_ FROGGS: I couldn't
14:13 FROGGS Ven_: you could not?
14:13 Ven_ FROGGS: it failed before
14:14 Ven_ trying to `make` rakudo itself
14:14 FROGGS Ven_: I am talking about MoarVM and nqp
14:15 Ven_ oh!
14:30 RabidGravy panda-test
14:31 RabidGravy Boo! wrong window
14:34 Ven_ FROGGS: re-making rakudo
14:34 Ven_ FROGGS++: can confirm it works :)
14:37 elimik31 joined #perl6
14:45 FROGGS Ven_: thanks!!
14:45 FROGGS :D
14:46 Alina-malina joined #perl6
14:46 Gardner joined #perl6
14:50 hoelzro happy Saturday, and good mroning #perl6!
14:51 RabidGravy is the number of bits in 'int' always the same as $*KERNEL.bits?
14:52 uncleyear joined #perl6
14:53 Ven_ uh, even after `make install`, `perl6` fails (but `./install/bin/perl6` works...). I have both rakudo/ and rakudo/install/bin in my path
14:53 lizmat good *, #perl6!
14:53 Ven_ hi lizmat
14:54 RabidGravy erp
14:54 lizmat Ven_ RabidGravy hoelzro FROGGS jdv79 o/
14:54 hoelzro o/ lizmat
14:54 lizmat RabidGravy: not 100% sure: I guess you *could* build a 32-bit Moar on a 64bit kernel
14:55 lizmat and then they would differ
14:56 lizmat m: say $*KERNEL.hardware
14:56 camelia rakudo-moar af886d: OUTPUT«x86_64␤»
14:56 FROGGS hi lizmat
15:03 RabidGravy lizmat, Hmm true. I'll put this aside for a bit.
15:06 Ven_ FROGGS: any step I'm missing? global `perl6` invocation just says "Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/Perl6/Pod.nqp')"
15:06 RabidGravy if you're in the build directory it seems to do that
15:07 Ven_ oh, yes. wow, it's been a long time. hahaa
15:10 RabidGravy never been sufficiently curious as to find out why
15:13 dalek rakudo/nom: 6884d0b | lizmat++ | src/core/List.pm:
15:13 dalek rakudo/nom: If it's good enough for unshift, it's ok for push
15:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6884d0b644
15:15 zengargoyle joined #perl6
15:16 diana_olhovik joined #perl6
15:20 dalek nqp/mingw32: ef6cbe9 | FROGGS++ | Configure.pl:
15:20 dalek nqp/mingw32: ask moar for the make utility used
15:20 dalek nqp/mingw32: review: https://github.com/perl6/nqp/commit/ef6cbe9417
15:21 dalek rakudo/mingw32: f2abc9d | FROGGS++ | Configure.pl:
15:21 dalek rakudo/mingw32: check for nmake/cl/gmake/gcc instead of trusting env vars
15:21 dalek rakudo/mingw32: review: https://github.com/rakudo/rakudo/commit/f2abc9d387
15:22 FROGGS .tell cygx now it works in the windows sdk shell too
15:22 yoleaux FROGGS: I'll pass your message to cygx.
15:22 hoelzro m: my @lines = 'foo=1', 'bar=2'; my @result = gather for @lines -> $line { take $line.split('=') }; say @result.perl
15:22 camelia rakudo-moar af886d: OUTPUT«[]<>␤»
15:22 hoelzro should that stick 'foo', '1', 'bar', '2' into @result?
15:22 lizmat m: my @lines = 'foo=1', 'bar=2'; say @lines
15:23 camelia rakudo-moar af886d: OUTPUT«foo=1 bar=2␤»
15:23 hoelzro m: my @lines = 'foo=1', 'bar=2'; my @result = gather for @lines -> $line { my ( $k, $v ) =  $line.split('='); take $k, $v }; say @result.perl
15:23 camelia rakudo-moar af886d: OUTPUT«["foo", "1", "bar", "2"]<>␤»
15:24 lizmat m: (a => 42).split("=")
15:24 camelia rakudo-moar af886d: OUTPUT«Method 'split' not found for invocant of class 'Pair'␤  in block <unit> at /tmp/3D9YG92J70:1␤␤»
15:24 lizmat ??
15:25 lizmat m: my @lines = 'foo=1', 'bar=2'; say @lines[0].WHAT
15:25 camelia rakudo-moar af886d: OUTPUT«(Str)␤»
15:25 lizmat ah
15:25 * lizmat is not quite awake yet, apparently
15:25 hoelzro lizmat: are you still in SLC?
15:25 lizmat no, in Bozeman, MT
15:25 lizmat looking for the place of First Contact  :-)
15:26 hoelzro ah ha =)
15:26 kurahaupo1 joined #perl6
15:28 * TimToady whistles a five-note tune
15:30 lizmat m: say (gather take "a=42".split("=")).perl   # this feels like a bug
15:30 camelia rakudo-moar af886d: OUTPUT«()␤»
15:31 lizmat m: say gather .take for "a=42".split("=")  # this seems to work
15:31 camelia rakudo-moar af886d: OUTPUT«a 42␤»
15:32 lizmat m: say (gather .take for "a=42".split("=")).perl  # to be more precise
15:32 camelia rakudo-moar af886d: OUTPUT«("a", "42")␤»
15:33 lizmat hoelzro: perhaps this is a better workaround for now?
15:33 hoelzro lizmat: ah, interesting
15:33 virtualsue joined #perl6
15:34 hoelzro I decided to just use some explicit variables; I'll RT up the bug
15:34 lizmat hoelzro++
15:36 dalek rakudo/mingw32: f6e73df | FROGGS++ | Configure.pl:
15:36 dalek rakudo/mingw32: make quecking for cl.exe not blocking endlessly
15:36 dalek rakudo/mingw32: review: https://github.com/rakudo/rakudo/commit/f6e73df3b8
15:40 hoelzro alright, ticketed a RT #125401
15:40 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125401
15:44 JimmyZ_ joined #perl6
15:46 lolisa joined #perl6
15:57 hoelzro gtodd1: I changed how Linenoise gets its constant values; could you try installing it again and see if it works?
16:04 dalek rakudo/mingw32: aec5fb4 | FROGGS++ | Configure.pl:
16:04 dalek rakudo/mingw32: use moar's make utility if possible
16:04 dalek rakudo/mingw32: review: https://github.com/rakudo/rakudo/commit/aec5fb449a
16:09 zacts joined #perl6
16:09 zacts hi
16:11 yqt joined #perl6
16:14 ab6tract joined #perl6
16:14 ab6tract m: 9457079caa
16:14 camelia rakudo-moar 6884d0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RAN5cPQ1Td␤Confused␤at /tmp/RAN5cPQ1Td:1␤------> 94570797⏏5caa␤    expecting any of:␤        whitespace␤»
16:14 ab6tract m: https://gist.github.com/ab5​tract/9457079caa93244511b1
16:14 camelia rakudo-moar 6884d0: OUTPUT«1 what what 1 how how 2 this this␤»
16:16 ab6tract How would one go about having an index value that will increase by every element of lists found in %hash.values
16:17 uncleyea1 joined #perl6
16:18 FROGGS m: https://gist.github.com/FR​OGGS/3ab0151f513b570eeb4e
16:18 camelia rakudo-moar 6884d0: OUTPUT«1 what 1 what 2 how 2 how 3 this 3 this␤»
16:21 ab5tract FROGGS: should have known :)
16:23 FROGGS[mobile] that's not what you wanted, though, right?
16:24 ab6tract not really, no
16:24 ab6tract it's closer, but not quite there. in this case it would be index 1-6
16:24 ab6tract *indexed
16:32 ab6tract m: https://gist.github.com/ab5​tract/9457079caa93244511b1
16:32 camelia rakudo-moar 6884d0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/74mbom9ifN␤Variable '%hash' is not declared. Did you mean '&hash'?␤at /tmp/74mbom9ifN:3␤------> 3my $size = [+] 7⏏5%hash.values.map({ +@^a });␤»
16:32 ab6tract m: https://gist.github.com/ab5​tract/9457079caa93244511b1
16:32 camelia rakudo-moar 6884d0: OUTPUT«1what 2what 3how␤»
16:33 RabidGravy does @array1 ~~ @array2 definitely stop comparing when it reaches the end of @array1?
16:34 RabidGravy so if one wanted the two arrays to be exactly the same you''d have to compare the length too
16:35 molaf joined #perl6
16:35 TimToady it must be an exact match
16:36 TimToady m: say [1,2] ~~ [1,2,3]
16:36 camelia rakudo-moar 6884d0: OUTPUT«False␤»
16:36 TimToady m: say [1,2,3] ~~ [1,2]
16:36 camelia rakudo-moar 6884d0: OUTPUT«False␤»
16:36 TimToady easy enough to test...
16:37 RabidGravy ah, okay my original test of the behaviour was completely stupid
16:37 RabidGravy m: say (^10) ~~ (^30);
16:37 camelia rakudo-moar 6884d0: OUTPUT«True␤»
16:37 TimToady those are ranges, not arrays :)
16:37 RabidGravy yes
16:37 TimToady and the first range is definitely within the second
16:38 TimToady and it should be testing just the endpoints
16:38 TimToady m: say ^10000000 ~~ ^100000000000
16:38 camelia rakudo-moar 6884d0: OUTPUT«True␤»
16:39 TimToady m: say 0..10 ~~ ^10
16:39 camelia rakudo-moar 6884d0: OUTPUT«False␤»
16:39 TimToady m: say 0..9.99999999999 ~~ ^10
16:39 camelia rakudo-moar 6884d0: OUTPUT«True␤»
16:40 smls_ joined #perl6
16:41 TimToady smls: slip() should not be any less useful than Empty wrt false conditions working in list-comprehensional situations
16:43 RabidGravy why when:
16:44 RabidGravy m: class Foo {}; class Foo {}
16:44 camelia rakudo-moar 6884d0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7TQoHbS5s_␤Redeclaration of symbol Foo␤at /tmp/7TQoHbS5s_:1␤------> 3class Foo {}; class Foo7⏏5 {}␤    expecting any of:␤        generic role␤»
16:44 RabidGravy does:
16:44 RabidGravy m: class Array {}
16:44 camelia rakudo-moar 6884d0: ( no output )
16:44 RabidGravy not complain?
16:44 RabidGravy this is, er, somewhat dangerous IMO
16:45 RabidGravy (my limited research suggests that this is the case for all classes defined in the setting)
16:51 pecastro joined #perl6
16:52 diana_olhovik_ joined #perl6
16:52 skids joined #perl6
16:57 domidumont joined #perl6
16:58 dalek doc: 0f40e8d | ab5tract++ | bin/p6doc:
16:58 dalek doc: Use numbers for interactive disambiguation if there is a first letter collision
16:58 dalek doc: review: https://github.com/perl6/doc/commit/0f40e8d7ce
16:58 dalek doc: f9032c0 | ab5tract++ | lib/Language/io.pod:
16:58 dalek doc: Add line-by-line example to Language::io
16:58 dalek doc: review: https://github.com/perl6/doc/commit/f9032c0703
16:59 * TimToady -> Park City
16:59 TimToady afk &
16:59 ab6tract o/ TimToady !
17:13 RabidGravy is there a way of populating a new (potentially large) CArray from a regular Array without copying the contents element by element?
17:13 zengargoyle joined #perl6
17:16 ugexe wondering the same thing myself
17:17 skids If you were asking about making a Buf, the answer would be "no" because reasons: https://gist.github.com/skids/aabd2aad3d0b5ad8481b
17:17 skids I do not know what the formally specced disposition of CArray is for memory contiguity.
17:18 ugexe on that same note, is there a more efficient way to slice up a Buf into a single Buf made up of subbufs of the original Buf? creating a new Buf for each subbuf and then creating a new Buf for each of those seems like im doing something wrong
17:20 skids I think the general idea there was that you would use subbuf and that would just be a window into the original memory, but as to implementation efficiency there...
17:20 ab5tract skids: "not guaranteed on all implementations" <-- do you mean it is not supported by all Rakudo backends?
17:20 skids ab5tract: looking I wrote that long ago.
17:21 ab5tract the next paragraph clears up the intent of the example, though
17:23 skids ab5tract: I think I was meaning, "not bolted to the floor in the spec"
17:26 ab5tract skids: gotcha
17:26 ab5tract A very interesting read
17:27 skids Theoretically if you made a bunch of subbufs from a buf, and then threw away all refs to the buf itself, GC could be made smart enough to realloc to only hold the memory actually pointed to by the subbufs that you still have held, but as to whether we ever get there...
17:28 skids So if we are talkig about long-lived subbufs, copying might be better.
17:29 skids Also last time I looked at subbuf handlig code it was of the "first make it work" variety.
17:32 ugexe skids++ good stuff to know
17:36 khisanth_ joined #perl6
17:39 RabidGravy okay, looks like it'll have to be "use NativeCall; my @foos = (^10000); my $foo = CArray[int32].new; $foo[$_] = @foos[$_] for ^@foos.elems;"
17:40 RabidGravy we'll have to wait for nice things
17:41 skids :-)
17:45 skids CArray seems to exist primarily for the "I can't carry a .elems alongside this ref" purpose so maybe the "nice thing" would be .subbuf($elems) and a is-rw-shaped-native-array coercer method on that class.
17:49 zengargoyle joined #perl6
18:06 dalek nqp: 50b8354 | FROGGS++ | Configure.pl:
18:06 dalek nqp: allow to build using gmake/gcc on windows
18:06 dalek nqp: review: https://github.com/perl6/nqp/commit/50b83547b6
18:06 dalek nqp: ef6cbe9 | FROGGS++ | Configure.pl:
18:06 dalek nqp: ask moar for the make utility used
18:06 dalek nqp: review: https://github.com/perl6/nqp/commit/ef6cbe9417
18:06 dalek nqp: 4e607b7 | FROGGS++ | tools/build/MOAR_REVISION:
18:06 dalek nqp: bump moar rev for {n,g}make detection
18:06 dalek nqp: review: https://github.com/perl6/nqp/commit/4e607b73aa
18:08 dalek rakudo/nom: 5cf73fe | FROGGS++ | / (2 files):
18:08 dalek rakudo/nom: allow to build using gmake/gcc on windows
18:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5cf73fea7f
18:08 dalek rakudo/nom: 8642a71 | FROGGS++ | Configure.pl:
18:08 dalek rakudo/nom: check for nmake/cl/gmake/gcc instead of trusting env vars
18:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8642a7138f
18:08 dalek rakudo/nom: 92ecd03 | FROGGS++ | Configure.pl:
18:08 dalek rakudo/nom: make quecking for cl.exe not blocking endlessly
18:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/92ecd034e6
18:08 dalek rakudo/nom: 103728d | FROGGS++ | Configure.pl:
18:08 dalek rakudo/nom: use moar's make utility if possible
18:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/103728d870
18:08 dalek rakudo/nom: 9ab84bb | FROGGS++ | tools/build/NQP_REVISION:
18:08 dalek rakudo/nom: bump nqp/moar rev for {n,g}make detection
18:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ab84bb43e
18:10 vendethiel FROGGS++
18:14 dalek rakudo/nom: 9c8cb67 | FROGGS++ | docs/ChangeLog:
18:14 dalek rakudo/nom: mention mingw in changelog
18:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c8cb676ee
18:24 _mg_ joined #perl6
18:36 telex joined #perl6
18:47 kaare__ joined #perl6
18:58 yqt joined #perl6
19:16 vendethiel tadzik: I have a Bailador PM ready
19:17 tadzik oh :)
19:17 masak "PM"? Prime Minister?
19:17 tadzik let me see
19:17 tadzik bailador having a prime minister would be huge
19:18 vendethiel uh
19:18 vendethiel PR*
19:18 vendethiel .oO( my R and M keys are too close )
19:18 tadzik vendethiel: hmm, I wonder if PSGI specifies whether the list must be 3 elements long
19:18 tadzik so whether we should have Any or not
19:19 vendethiel tadzik: there's another issue opened for that, though :)
19:19 vendethiel I figured I'd just fix the tests for now
19:19 tadzik I think there should be a clear answer for that
19:19 vendethiel ah, but my PR would close it...
19:20 zengargoyle joined #perl6
19:20 tadzik let's figure out the answer then
19:20 diana_olhovik_ joined #perl6
19:20 tadzik also, travis I'd like to keep working, let's see if we can get ahold of szabgab and see what we can do
19:21 tadzik but I think the solution ultimately boils down to tagging module releases and making panda understand them
19:22 tadzik or even teach meta.info to know what rakudo version is required for what and whatnot
19:22 tadzik I wonder if Perl 5 has a good solution for it
19:22 tadzik probably not, since they don't break stuff too much
19:23 dj_goku joined #perl6
19:23 dj_goku joined #perl6
19:23 skids tadzik: yeah I've had multiple times where I really wish I could say what tag/rev to pull for what rakudo version you are using.
19:26 ab5tract "probably not, since they don't break stuff _at all_"   # small niggle :)
19:28 ab5tract But it's a good question.. I don't know if cpan bails when it encounters 'use 5.14' in a package on a box that only has perl 5.8
19:29 lolisa joined #perl6
19:33 FROGGS ab5tract: it does, but what we want here is that cpan/panda would choose an older dist version that works on the older compiler
19:33 FROGGS and vice versa
19:33 ab5tract ah, I see what you mean
19:34 FROGGS one problem is though that you cannot tag an old release that it stops working with compiler version X
19:34 FROGGS (because releases are immutable)
19:36 ab5tract "With ES6 arrows on top of its other strengths, JavaScript can reasonably claim to be the best language for exploring the λ-calculus." -- https://hacks.mozilla.org/2015/0​6/es6-in-depth-arrow-functions/
19:37 ab5tract THEM'S FIGHTIN WORDS
19:37 skids Really?  I would have just gone with "put up yer dukes".
19:38 ab5tract FROGGS: an excellent point.. I think the Ruby world would be a good place to look for failures/successes
19:39 ab5tract skids: sorry, the sarcastic Southern accent that I was saying it with in my mind didn't translate well
19:39 masak I always thought the λ-calculus was the best language for exploring the λ-calculus :P
19:40 ab5tract masak: right above that statement are a few examples that show why a non-CS programmer might be able to grokk the arrow version better
19:40 davido_ joined #perl6
19:41 ab5tract well, one contrasting example
19:41 * skids tries to picture a greasy hick saying λ-calculus
19:41 masak "with the addition of plurals, Italian is arguably the best language for exploring French!"
19:47 RabidGravy why would I be getting " Wrong kind of access to numeric CArray" when doing "$buff[$_] = @items[$_] for ^@items.elems;" where $buff is a CArray[num64] and @items is an array of Num?
19:47 ely-se joined #perl6
19:47 ely-se left #perl6
19:47 RabidGravy it works fine with a CArray[num32]
19:48 ab5tract FROGGS: the Ruby ecosystem is well-fragmented and code has been (at least historically) highly temperamental to version changes
19:49 * ab5tract meant "well-fragmented" in the UK style of "quite fragmented"
19:49 FROGGS I see
19:49 RabidGravy see also "proper fragmented" and "righteously fragmented"
19:49 FROGGS :P
19:50 RabidGravy righteously > proper > well
19:50 RabidGravy in terms of how somethinged the thing is
19:51 vendethiel m: module A{module B{class C{}}}; say A::B::C.^name # any way to get the flly-qualified name?
19:51 camelia rakudo-moar 9c8cb6: OUTPUT«C␤»
19:51 jepeway joined #perl6
19:55 ab5tract RabidGravy: Then I probably meant 'proper fragmented' ;)
19:56 skids vendethiel: IIRC there is some known brokenness in that area, unless it has been fixed since.
19:56 vendethiel skids: ah!
19:57 skids Though whether doing it from inside the parent class would give the short or long forms was up in the air.
19:58 * skids wishes irclog.perlgeek could search colons
19:59 steve_mc joined #perl6
19:59 masak gross.
19:59 vendethiel ?
19:59 skids eww.  what a mind you have.
19:59 vendethiel oh...
19:59 dalek Inline-Python: ad9c980 | (Stefan Seifert)++ | lib/Inline/Python.pm6:
19:59 dalek Inline-Python: Fix "No such method 'py_dec_ref' for invocant of type 'Inline::Python'"
19:59 dalek Inline-Python:
19:59 dalek Inline-Python: No idea why this code path seems to be run when panda is running the
19:59 dalek Inline-Python: tests but not when the tests are run manually. But the fix is obvious.
19:59 dalek Inline-Python:
19:59 dalek Inline-Python: Fixes GH #5
19:59 dalek Inline-Python:
19:59 dalek Inline-Python: Thanks to Noel Maddy for reporting!
19:59 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/ad9c9809dc
19:59 vendethiel nine++
20:00 masak the perils of knowing languages, I guess.
20:03 skids vendethiel: http://irclog.perlgeek.de/p​erl6/2015-02-20#i_10150528
20:06 RabidGravy if I wanted to check that all the elements of any array were a particular type, what would I use (short of iterating the lot)?  I thought all(@array) ~~ Int should work but evidently it doesnt
20:06 skids first !~~?
20:07 skids Would be more efficient than an all in the average case, anyway.
20:19 jepeway how, do, p6peeps?
20:19 skids o/
20:20 jepeway m: 0.new(7) # still hoping this will one day work...
20:20 camelia rakudo-moar 9c8cb6: OUTPUT«Default constructor for 'Int' only takes named arguments␤  in block <unit> at /tmp/owSPORikjH:1␤␤»
20:21 moritz jepeway: then make it work :-)
20:21 jepeway m: 0.new(value => 7) # or this...
20:21 camelia rakudo-moar 9c8cb6: ( no output )
20:22 jepeway hrm.  yes, I s'pose.  last I mentioned it, though, there was a bit of 'erm, why' and "t'ain't needed."
20:22 moritz I know why it's needed
20:22 moritz subclassing
20:22 jepeway yuppers. among other reasons.
20:23 jepeway ok, so any quick pointers how? will it be all p6 code, or will I be diving into nqp?
20:23 zakharyas joined #perl6
20:23 moritz method new($value) { nqp::box_i($value, self.WHAT) }
20:23 jepeway oh, dear, is that all?
20:24 moritz I think so
20:24 * moritz tries it
20:25 moritz m: augment class Int { method new($value) { nqp::box_i($value, self.WHAT) } }; class MyInt is Int { }; say MyInt(42); say MyInt(42).^name
20:25 camelia rakudo-moar 9c8cb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/epOrsxlm2i␤augment not allowed without 'use MONKEY-TYPING'␤at /tmp/epOrsxlm2i:1␤------> 3augment class Int7⏏5 { method new($value) { nqp::box_i($valu␤    expecting any of:␤        generic role␤»
20:25 moritz m: use MONKEY-TYPING; augment class Int { method new($value) { nqp::box_i($value, self.WHAT) } }; class MyInt is Int { }; say MyInt(42); say MyInt(42).^name
20:25 camelia rakudo-moar 9c8cb6: OUTPUT«======================================​=========================================␤The use of nqp::operations has been deprecated for non-CORE code.  Please␤change your code to not use these non-portable functions.  If you really want␤to keep using nqp:…»
20:25 skids m: say (4.2.new + 7).perl, (4e2.new + 7).perl, (42.new + 7).perl
20:25 camelia rakudo-moar 9c8cb6: OUTPUT«7.07e07␤»
20:25 moritz m: use MONKEY-TYPING; use nqp; augment class Int { method new($value) { nqp::box_i($value, self.WHAT) } }; class MyInt is Int { }; say MyInt(42); say MyInt(42).^name
20:25 camelia rakudo-moar 9c8cb6: OUTPUT«Cannot find method 'MyInt'␤  in block <unit> at /tmp/k65mbElnv9:1␤␤»
20:25 moritz m: use MONKEY-TYPING; use nqp; augment class Int { method new($value) { nqp::box_i($value, self.WHAT) } }; class MyInt is Int { }; say MyInt.new(42); say MyInt.new(42).^name
20:25 camelia rakudo-moar 9c8cb6: OUTPUT«42␤MyInt␤»
20:26 moritz don't need the two pragmas in rakudo's setting
20:28 jepeway okeydoke.  well, I'll take a whack at it, then. forewarning: newly in grad school for 1st time in 30 yrs, v. short on time.
20:29 moritz jepeway: understood; if the spectest comes out clean, I'll commit and push myself
20:31 jepeway check.
20:31 mj41 joined #perl6
20:35 mj41 hi, looking at https://github.com/perl6/specs​/blob/master/S07-glr-draft.pod ... IMHO "Flattening contexts" paragraph missing example with my @b = [ 1, 2, @a, 6..9 ]; # nine or six elements (or four) ?
20:37 jepeway .tell lizmat i left some comments on cead6f13c7e537b7a6b16454a66e41d2d55dfcf0; there's a stray say or so to remove, and reliance on Int.new() that either needs implementation (moritz++) or changing
20:37 yoleaux jepeway: I'll pass your message to lizmat.
20:38 steve_mc joined #perl6
20:38 jepeway well, gotta reboot to pick up some updates. back to lurk in a bit.
20:46 skids mj41: 4 elements, by implication of whats lower in the doc.  That's not "flattening" but decontainerizing IIRC, by the "rule of comma".
20:46 mj41 skids: ok, still reading ... probably not yet there
20:47 jepeway joined #perl6
20:49 uncleyear joined #perl6
20:56 mr_ron joined #perl6
20:56 mr_ron m: my $x = 2.new; say $x
20:56 camelia rakudo-moar 9c8cb6: OUTPUT«0␤»
20:56 mr_ron why 0?
20:56 masak conceivably because that's the value a new Int gets.
20:57 masak remember, .new is a method on Int, not on 2.
20:57 masak (conceptually)
20:57 masak m: class Person { has $.name }; my $fred = Person.new(:name<Fred>); my $sam = $fred.new; say $sam.name
20:57 camelia rakudo-moar 9c8cb6: OUTPUT«(Any)␤»
20:57 masak same deal.
20:57 mr_ron sorry - got it
21:00 awwaiid joined #perl6
21:00 masak good news is, if you want a 2, you just go `my $x = 2` ;)
21:09 masak 'night, #perl6
21:10 asds joined #perl6
21:10 asds hi
21:14 skids GLR in a nutshell: https://gist.github.com/skids/eee195166e8ded9393c2 # hope I got that right.
21:24 skids asds: hello
21:25 skids oh.  friggin pidgin not scrolling again.
21:27 dagurval m: my num32 $a = 42.0;
21:27 yoleaux 7 Mar 2015 07:29Z <moritz> dagurval: your module perl6-gd-raw  declares a dependency on NativeCall, but that is now shipped with rakudo. Please remove it from the deps
21:27 camelia rakudo-moar 9c8cb6: OUTPUT«This type cannot unbox to a native number␤  in block <unit> at /tmp/rgK967JvMY:1␤␤»
21:28 dagurval I'm having trouble assigning to a num32 (or any num*). Any workarounds?
21:28 dagurval old message is old yoleaux :-)
21:30 RabidGravy I don't think NativeCalls to something like "int foo(int *foos, int num_foos)" works properly - it appears to be losing the values
21:31 nys joined #perl6
21:31 RabidGravy I'll sleep on it and do a small test in the morning
21:32 awwaiid joined #perl6
21:36 RabidGravy dagurval, I don't think you need to do that
21:37 skids m: my num32 $n32; my $alias := $n32; $alias = 4e0; $n32.say; # dagurval workaround, and the tests fail to catch your case, which is kinda awful.
21:37 camelia rakudo-moar 9c8cb6: OUTPUT«4␤»
21:37 dagurval using scientific notation kinda works
21:37 dagurval r: use Test; my num64 $a = 3e0; my num32 $b = 3e0; is $a, $b;
21:37 camelia rakudo-moar 9c8cb6: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/tmpfile line 1␤# expected: '0'␤#      got: '3'␤»
21:37 camelia ..rakudo-jvm 9c8cb6: OUTPUT«ok 1 - ␤»
21:37 RabidGravy if you must then:
21:38 RabidGravy m: use NativeCall; my num32 $a = Num(1.67)
21:38 camelia rakudo-moar 9c8cb6: ( no output )
21:38 dagurval skids: thanks
21:38 dagurval RabidGravy: nice
21:39 dagurval skids: my case should work right? I don't mind adding it to roast
21:40 skids dagurval: I'm looking to see if it is RTd first.
21:41 skids https://rt.perl.org/Public/​Bug/Display.html?id=124084 is probably the same thing, just did not notice the general brokenness.  I cannot edit RT tickets, could someone paste the above in?
21:43 skids Oddly enough there is also this:
21:43 skids my num32 $a; $a = 42e8; $a.say;
21:43 skids m: my num32 $a; $a = 42e8; $a.say;
21:43 camelia rakudo-moar 9c8cb6: OUTPUT«2␤»
21:43 skids m: my num32 $a; $a = 42e9; $a.say;
21:43 camelia rakudo-moar 9c8cb6: OUTPUT«131072␤»
21:43 skids So... endian/offset?
21:50 skids dagurval: have at it with roast.  We obviously need more basic tests :-)  also reference the above RT#.
21:54 Obbi_ joined #perl6
21:55 dagurval ok :-). I almost feel bad though about changing the plan in native.t, it's currently "plan 42;"
21:55 dagurval m: my num $a; say $a; # <- NaN is correct, right?
21:55 camelia rakudo-moar 9c8cb6: OUTPUT«NaN␤»
21:56 skids I don't actually know.
21:57 skids It kinda makes sense in an OO way and not in a C way.
21:57 skids But if it is supposed to be 0e0, then num32 is working for the wrong reasons.
21:59 skids S02: "native floating-point types default to NaN, while integer types (including bit) default to 0."
22:00 skids So the premise of 124084 is off, but it does highlight the bug with num32.
22:02 hoelzro timotimo: if you have time, could you have a look at https://rt.perl.org/Ticket/Display.html?id=125403 ?
22:03 hoelzro it's causing a panda install issue, and you're the one who made the commit
22:04 skids Yeah that's been hosing up a few things.
22:06 zengargoyle joined #perl6
22:12 RabidGravy Okay I take back what I said above about r/w CArray parameters not working
22:12 RabidGravy though I may add it to the tests, it actually does work
22:19 RabidGravy so it seems there is something wrong with my code but buggered if I can see where
22:19 dalek roast: 966e2b4 | (Dagur Valberg Johannsson)++ | S02-types/native.t:
22:19 dalek roast: added native num tests RT 124084
22:19 dalek roast: review: https://github.com/perl6/roast/commit/966e2b4ebc
22:21 skids dagurval++
22:25 timotimo hoelzro: i have no idea what could be causing it
22:25 timotimo maybe it should be bisected?
22:26 skids timotimo: maybe line 1574?
22:27 timotimo oh!
22:28 timotimo you have already bisected it?
22:28 skids No I was just doing some light reading
22:28 timotimo huh, so try_reuse was bad?
22:28 timotimo that could explain things
22:28 timotimo remove the "try_reuse" and try again?
22:28 timotimo it's just an optimization
22:28 skids I'm working on the assumption that the RT correctly identified that.
22:29 timotimo *sigh* i broke things by not being smart enough ... again
22:29 skids Or, maybe that code that removes duplicate spesh slots just needs adjusting.
22:29 timotimo in a different context, i'd probably get fired
22:30 timotimo i was certain it'd be safe in that spot :(
22:30 skids In those contexts they should have lots of people maintaining staging environments :-)
22:47 timotimo right :S
22:47 timotimo is anybody trying to build without that "try_reuse"?
22:47 timotimo hoelzro: are you trying?
22:48 timotimo i'm quite distracted here
22:50 hoelzro timotimo: yes, it works without try_reuse
22:50 timotimo could you please go ahead and push that commit?
22:50 * hoelzro is juggling Perl 6 and houseguests
22:50 timotimo i bow my head in shame
22:50 hoelzro sure
22:51 * hoelzro builds new rakudo
22:58 hoelzro I'm off for the evening. later #perl6
22:58 skids o/
23:00 mr_ron joined #perl6
23:00 skids Actually, pulling that particular try_reuse did not fix panda install Sum for me, assuming rakudobrew used my local changes.
23:00 skids Which is hard to tell for me.
23:00 Ven joined #perl6
23:13 timotimo hm, using local changes?
23:13 timotimo i don't think so
23:13 skids Is what is left unpacked in git_reference what is actually built?
23:14 timotimo git_reference sounds like it's just for making local clones without hitting the 'net
23:14 vendethiel joined #perl6
23:15 ugexe Sum problems look like its precomp order related. if you try to precompile once, it fails once it hits tiger. try to precompile to the same directory (with the modules that did precompile still there) again and it will succeed
23:15 timotimo if you commit and use "rakudobrew triple" with the commit id it you get, you'll get your local changes definitely (if they are available in the place rakudobrew looks for it)
23:25 ugexe looks like Sum::MDPad is not in the right order after a topological sort
23:25 ugexe might just have to add a hint in there that can be parsed out by panda
23:27 skids Is that an order-preserving sort, I could just adjust the META.info
23:28 El_Che_ joined #perl6
23:29 b2gills1 joined #perl6
23:29 shamu_ joined #perl6
23:29 ugexe it iterates through your provides and parses the source with a primitive regex that can easily miss things (as well as any dynamic stuff like require ::($var))
23:30 Sqirrel joined #perl6
23:31 ugexe so that may or may not work
23:32 skids worth a try I guess.
23:33 ugexe with all your elaborate POD it might be the strip-pod messing with it before it parses the source
23:34 skids Yeah.
23:34 ugexe maybe try putting all your `use` statements at the very top
23:38 skids Is strip-pod smart enough to preserve .WHYs?
23:39 ugexe im unsure... you can see its probably not meant to be a perm solution: https://github.com/tadzik/panda/bl​ob/163ed783c2d49cc8a27fe24ab96008b​4bb9f49e9/lib/Panda/Builder.pm#L12
23:39 BenGoldberg joined #perl6
23:41 ugexe since $=pod can output all the pod, couldnt something output everything *but* the pod?
23:45 skids Well, my test files test the pod synopsis; I wonder why that has even been working.
23:46 ugexe because panda doesnt parse out the code to run for your test
23:47 ugexe panda is just parsing source code for 'use/require/import <something>' and then putting it into an array. it does not properly parse pod like rakudo does, so it can overlook things possibly like try {require XX} which means the order it makes is off
23:48 skids OIC the strip-pod is just to temprarily eliminate cruft while it is searching for the use/requires?
23:48 ugexe yes, so if you had 'use Example' in your synopsis it wouldnt think it was part of the dependency chain count
23:48 skids got it.
23:50 * skids food run.  Too hungry to deal.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo