»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
jnthn ...how on earth can such a mature piece of blogging software be that broken? :S 00:00
tobs Mischief managed 00:15
I think
scovit add_multi_method would have been nice and easy to find ;) 00:27
sorry
Geth ecosystem: taboege++ created pull request #420:
Add tobs' modules
00:35
scovit m:my int32 $a; EVAL("") 00:39
evalable6
scovit strange, here I get Unhandled lexical type 'int32' in lexprimspec for '$a'
I guess I have an old perl6 00:41
timotimo bisectable6: use MONKEY; my int32 $a; EVAL("") 01:12
bisectable6 timotimo, Bisecting by exit code (old=2015.12 new=6e7893b). Old exit code: 1
timotimo, bisect log: gist.github.com/7653a7ade7fe47b39c...a44b4edcb8
timotimo, (2018-06-17) github.com/rakudo/rakudo/commit/89...118edc8124
timotimo not that old 01:13
LtStaffel hello 03:49
Kaiepi m: my Supplier $s .= new; $s.emit; 'a'; react { whenever $s.Supply -> $d { say $d } } 03:56
camelia WARNINGS for <tmp>:
Useless use of constant string "a" in sink context (line 1)
Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
Kaiepi m: my Supplier $s .= new; $s.emit: 'a'; react { whenever $s.Supply -> $d { say $d } }
camelia (timeout) 03:57
Kaiepi m: my Supplier::Preserving $s .= new; $s.emit: 'a'; react { whenever $s.Supply -> $d { say $d } }
camelia (timeout)a
Geth doc: ugexe++ created pull request #2515:
Add basic Distribution docs
04:06
Geth doc: ugexe++ created pull request #2516:
Add basic Distribution docs
04:53
crazybill can we see equivalent of the $INPUT_LINE_NUMBER in new 6.d ? 05:53
sjn crazybill: docs say there currently isn't one: docs.perl6.org/language/5to6-perlv...ilehandles 06:00
there's a possible workaround there though 06:03
buggable New CPAN upload: Graphics-TinyTIFF-0.0.3.tar.gz by RYNIX modules.perl6.org/dist/Graphics::Ti...cpan:RYNIX 06:04
jmerelo releasable6: status 06:34
releasable6 jmerelo, Next release will happen when it's ready. 0 blockers. 85 out of 88 commits logged
jmerelo, Details: gist.github.com/8155b76cc7a12da3d1...9229472d8b
Geth doc: b6dcaa05d7 | (Nick Logan)++ | 4 files
Add basic Distribution docs
06:36
doc: 124e701c8c | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 4 files
Merge pull request #2516 from ugexe/distribution-basics

Add basic Distribution docs This is in a branch, so no test has passed; I guess we'll check it more thoroughly when it's merged.
samcv AlexDaniel, moarvm should be released shortly 06:41
holyghost .seen Zoffix
yoleaux I saw Zoffix 30 Nov 2018 23:37Z in #perl6: <Zoffix> huggable: AlexDaniel
jmerelo samcv: good to know :-) 06:42
holyghost jmerelo : I have an unmanaged X11 window (with dragging and resizing) which I need to write a widget kit for, for a perl6 IDE 06:45
I wrote it back in the past for making X11 clients
I need to wait though since I'm going to put design patterns in it and X11 Xlib widgets 06:46
jmerelo holyghost: is X11 still a thing? I thought that X.org and Wayland were all the rage nowadays 06:47
holyghost I have to read up for the implementation. I ordered the smalltalk companion of design patterns
right
It's linux, BSD based 06:48
jmerelo holyghost: that's not a thing either. If it's linux, it's got the Linux kernel. If it's BSD, it's got the BSD kernel. You can have an otherwise-linuxy. OS with a BSD kernel, but the kernel defines the OS. 06:49
holyghost these operating systems should support it
holyghost sure 06:49
jmerelo holyghost: ah, OK. multi-OS
holyghost I'll manage
indeed
it's just C drawn into C++ windowy thingies 06:50
I like to write widget kits, thereon, I need the books as I mentioned 06:51
They're very OOP-wise 06:52
holyghost Like unterpaganperl6 will have a memento for backtracking in the perl6 formulas, best-of for example, several compilation systems in one 06:53
holyghost I will base the IDE thereupon 06:53
prototyping
anyway, I'm off 06:54
jmerelo holyghost: bye
holyghost cya
holyghost jmerelo : just one thing, I might make 3D widgets for the C++ X11 IDE 07:03
no I'm really off :-) HAND
s/no/now
AlexDaniel samcv: \o/ 07:18
Geth doc: 0e2c8fc578 | (JJ Merelo)++ | 2 files
Moved collate to Any since it's not experimental

Refs #2434.
07:31
doc: e6f7466c05 | (JJ Merelo)++ | doc/Language/operators.pod6
Eliminates indexing refs #2434
synopsebot Link: doc.perl6.org/language/operators
doc: b4a003b4a4 | (JJ Merelo)++ | doc/Language/operators.pod6
coll added to Str. Closes #2434
samcv AlexDaniel, moarvm is released 08:22
pushed to moarvm.org right now
moritz samcv++ 08:32
jmerelo samcv++ 08:52
harmth Hi, can someone explain to me, or point me to the documentation, to why returning a list from a method and assigning it to an @-variable is different from doing the same except with a subroutine? 11:36
Example here: pastebin.com/skxVDF2F
jnthn harmth: $.bar means $(self.bar) 11:37
So you're itemizing the result of the call
Just write self.bar, or @.bar 11:38
HarmtH Thanks
tobs` Is there a best practice for shipping 3rd party code with my module, which is used by Build.pm? I'm currently using a git submodule to avoid copying all the files over, but I don't know if zef can be made to check that out before trying to build the module. I assume this would also be incompatible with CPAN? 12:12
timotimo well, cpan is based on tarballs 12:14
timotimo and it's probably not encouraged for a cpan dist to hit the network to download extra stuff? 12:14
maybe zef could be made to pull every git repo with --recursive by default?
tobs` I'll check it out 12:17
timotimo by "made to" i'm suggesting a pullrequest to zef if that wasn't clear 12:18
jnthn I guess for a CPAN tarball I'd just bundle the stuff inside of it
tobs` timotimo: it was :) 12:26
jmerelo releasable6: status 14:15
releasable6 jmerelo, Next release will happen when it's ready. 0 blockers. 85 out of 88 commits logged
jmerelo, Details: gist.github.com/334d4d30136405a558...dcbe8f21ca
Geth ecosystem: taboege++ created pull request #421:
Begin adding tobs' modules
14:45
loops think there is a tiny typo on docs.perl6.org/language/list#Itemization: ... and it is less well enforced that typechecks in typed arrays. 14:55
AlexDaniel samcv++ # release 15:56
Geth doc: finanalyst++ created pull request #2517:
make links cannonical
17:30
buggable New CPAN upload: Tomtit-0.0.7.tar.gz by MELEZHIK modules.perl6.org/dist/Tomtit:cpan:MELEZHIK 17:44
ufobat_ there are some resources that explain how to compile perl6 on windows. but i cant find it via google. any hint? 18:08
timotimo rakudo.org/files/star/source 18:20
timotimo also possible: steal from the .appveyor.yml in rakudo's git repo 18:21
ufobat_ hm with windows git and strawberry i do have a c compiler as wellß
ufobat_ uh what is windows subsystem for linux? 18:23
timotimo ubuntu on windows 10
it's only like a year old
ufobat_ is it good? 18:23
timotimo it's a one-button built-into-windows install-something-quite-like-linux solution
i hear good things about it, though having to have windows 10 to be able to use it makes it a total no-no for some 18:24
El_Che my linux packages run on the WSL 18:27
there is a one-line script to make it work
ufobat_ i think i go the "windows" way, now with my 5year old win notebook :) 18:29
my new emacs is now "visual studio code"
:D
timotimo can't spell emacs without MS 18:40
jmerelo releasable6: status 18:46
releasable6 jmerelo, Next release will happen when it's ready. 0 blockers. 85 out of 121 commits logged
jmerelo, Details: gist.github.com/4efae63e19dbe4e55a...e4054ed379
Geth doc: 6c9a97c230 | (Richard Hainsworth)++ (committed using GitHub Web editor) | 66 files
Merge pull request #1 from perl6/master

update
18:49
doc: d8c2b04256 | finanalyst++ | 156 files
single word L<> to /type/link
doc: c5fb804374 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 156 files
Merge pull request #2517 from finanalyst/master

make links cannonical We should probably add some recommendation and/or test to avoid this kind of links in the future. Great job, as usual, Richard
lucasb in '(something).Foo', if something is defined, then I would expect a defined Foo object 19:14
but when something is undefined, and it still makes sense the coercion, would you expect a *defined* Foo object or the Foo type object itself?
or maybe you think $undefvar.Foo should always die to avoid gratuitous coercions between type objects? 19:17
jmerelo lucasb: that's a good question for StackOverflow 19:21
lucasb: there's also $undefvar.?Foo, which might return Foo only if Foo is defined for that particular kind of undefinition...
Also, depends on what you mean by undefined. For many variable it might mean Any or Mu... 19:22
lucasb by 'undefined' I mean the type object, as in 'my Bar $bar', $bar is undefined, so it's the type object Bar 19:26
timotimo m: say Int.?Str 19:27
camelia Use of uninitialized value of type Int in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.

in block <unit> at <tmp> line 1
timotimo m: say (Int.?Str).perl
camelia Use of uninitialized value of type Int in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
""
in block <unit> at <tmp> line 1
timotimo .? is not about the definedness of the invocant, though. or did i misunderstand the question? 19:28
lucasb m: dd (Hash.Hash, Map.Hash, Hash.Map, Map.Map, Int.Hash, Num.Map) 19:31
camelia (Hash, Hash, Map, Map, {}, Map.new(()))
moritz timotimo: it is not
timotimo: but maybe we should create a ?. that is
lucasb ^^ I mean thing like these, while Hash.Hash return Hash (ok!), an arbitrary type object like Foo.Hash returns an actual hash
*a concrete hash 19:32
"Yeah, let's make Hash.Hash return a defined hash" NO! :D I meant to propose the other way: make SomeArbitraryTypeObject.Hash return the Hash type object 19:33
but taking this idea to the extreme, you reach things like should 'Numeric.Numeric' return itself or an real number (+ warning) ? :) 19:35
m: dd (Int.Int, quietly Int.Numeric) # a little funny to me :) 19:36
camelia (Int, 0)
timotimo yeah, that *is* funny
i mean, Int is already an Int, so no-op should be fine
but Int is also already a Numeric, so that should also be a no-op, then?
anyway, gotta AFK for a bit
lucasb timotimo++ o/
Geth doc: 5bd198b613 | (JJ Merelo)++ | doc/Language/experimental.pod6
Starts works on macros refs #2514
19:41
synopsebot Link: doc.perl6.org/language/experimental
lucasb Yeah, I think timotimo touched on yet another detail: In '$subclass.SuperClass', you asked an object of type SuperClass, but $subclass *isa* SuperClass ('cause SubClass extends SuperClass), so it should be fine to return itself 19:47
But I think objects in the P6 API goes the extra effort of converting to a parent class type 19:48
SmokeMachine m: say {}.Associative.^name 19:49
camelia No such method 'Associative' for invocant of type 'Hash'
in block <unit> at <tmp> line 1
lucasb m: dd ([1,2,3].List, {a=>1,b=>2}.Map, True.Int) 19:52
camelia ((1, 2, 3), Map.new((:a(1),:b(2))), 1)
lucasb ^^ I mean thing like these: an Array already is a List, a Hash already is a Map, an Bool enumeration already is an Int 19:53
well, maybe it's ok and natural and P6 choosed this for pragmatic reasons :) 19:54
SmokeMachine m: say Array ~~ List 19:56
camelia True
SmokeMachine m: say Hash ~~ Map 19:57
camelia True
ryn1x What is the best way to create a new Buf of num32 of a specified size? Something equivelant to buf8.allocate(1024) 20:26
ryn1x but with num64 instead of uint8 20:31
timotimo m: say Buf[num64].allocate(64); 20:38
camelia Could not instantiate role 'Blob':
Bufs with native num64 not yet implemented. Sorry.
in any protect at gen/moar/stage2/NQPCORE.setting line 1101
in any protect at gen/moar/stage2/NQPCORE.setting line 1101
in block <unit> at <tmp> line 1…
timotimo m: say Blob[num64].allocate(64);
camelia Could not instantiate role 'Blob':
Blobs with native num64 not yet implemented. Sorry.
in any protect at gen/moar/stage2/NQPCORE.setting line 1101
in block <unit> at <tmp> line 1
timotimo m: say CArray[num64].allocate(64);
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
CArray used at line 1. Did you mean 'array', 'Array'?
timotimo m: use NativeCall; say CArray[num64].allocate(64);
camelia NativeCall::Types::CArray[num64].new
jnthn buf is only really for integers
timotimo (carrays don't have sizes, so it won't print numbers there)
jnthn There's also num64 arrays 20:39
Which are packed
ryn1x Maybe a better question is I need to pass a Blob to a native call function for it to fill.. I then want to be able to manipulate that data in a normal perl6 type so I can use things like Math::Matrix 20:47
ryn1x I can pass the nativecall function a buf32, but I either want to convert what it fill to floats, or just pass it an appropriate data type that will auto fill at floats 20:48
timotimo sounds like the API of that module should be changed to also accept CArray 20:49
ryn1x hmm... let me try that. thanks. 20:50
timotimo i asked xliff to investigate if changing the type constraint in the native called function to Positional[intblah] would work properly with Buf, Blob, native arrays, and CArrays 20:51
also i suppose Pointer[intblah] would also be acceptable
ryn1x cool 20:52
timotimo i don't think there was a result yet. maybe you want to investigate that instead? :D 20:53
Xliff m: use NativeCall; sub a(Positional[uint8] $p) { say "{$p.^name} is Fine" }; my uint8 @a = ^10; my $b = Blob[uint8].new(@a); my $c = CArray[uint8].new(@a); a(@a); a($b); a($c) 20:55
camelia array[uint8] is Fine
Blob[uint8] is Fine
NativeCall::Types::CArray[uint8] is Fine
Xliff So... yes! ;)
timotimo that's not "is native" though
which is where my worry comes from. though it should probably be fine
Xliff Ah. Haven't gotten there, yet.
timotimo thanks for looking into it! 21:02
timotimo goes hopefully make dinner
Xliff Yeah... subs with "is native" trait will choke on Positional parameters. 21:07
timotimo damn 21:34
timotimo it does kind of make sense that nativecall wouldn't just accept any Positional. though it could totally do a very expensive .list at the start and .STORE at the end dance 22:03
Geth doc: 92ebebf1bc | Coke++ | 2 files
prefer 'filesystem'
22:23
doc: f726356cff | Coke++ | doc/Type/Distribution.pod6
prefer 'filesystem'
synopsebot Link: doc.perl6.org/type/Distribution
Geth doc: 5a44730757 | Coke++ | doc/Type/Distribution/Hash.pod6
remove duplicated 'a'
22:24
synopsebot Link: doc.perl6.org/type/Distribution::Hash
SmokeMachine It’s published! 23:17
timotimo that's rad 23:28
jnthn SmokeMachine++ # nice work on red, and nice advent post! :) 23:57
Using the meta-level for the database interactions is nice. 23:58