»ö« 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.
buggable New CPAN upload: IP-Addr-v0.0.2.tar.gz by VRURG modules.perl6.org/dist/IP::Addr:cpan:VRURG 00:51
buggable New CPAN upload: Augment-Util-0.0.3.tar.gz by DOOM cpan.metacpan.org/authors/id/D/DO/...0.3.tar.gz 01:41
New CPAN upload: Object-Examine-0.0.3.tar.gz by DOOM cpan.metacpan.org/authors/id/D/DO/...0.3.tar.gz
New CPAN upload: Symbol-Scan-0.0.3.tar.gz by DOOM cpan.metacpan.org/authors/id/D/DO/...0.3.tar.gz
New CPAN upload: method-menu-0.0.3.tar.gz by DOOM cpan.metacpan.org/authors/id/D/DO/...0.3.tar.gz
Xliff m: use NativeCall; class A is repr('CStruct') { has uint64 $.a; has uint64 $.b; }; my $a = A.new; nativesizeof($a).say 03:01
camelia 16
Xliff m: use NativeCall; class A is repr('CStruct') { has uint64 $.a; has uint64 $.b; }; my $ca = CArray[A].new; my $a = A.new; $ca[0] = $a; nativesizeof($ca[0]).say 03:02
camelia 16
Xliff m: use NativeCall; class A is repr('CStruct') { has uint64 $.a; has uint64 $.b; }; my $ca = CArray[Pointer[A]].new; my $a = A.new; $ca[0] = $a; nativesizeof($ca[0]).say 03:03
camelia CArray of CPointer passed non-CPointer object
in method ASSIGN-POS at /home/camelia/rakudo-m-inst-1/share/perl6/sources/8660F65A7B3492675BB3B2058DB30E411A4C4E54 (NativeCall::Types) line 184
in block <unit> at <tmp> line 1
Xliff m: use NativeCall; class A is repr('CStruct') { has uint64 $.a; has uint64 $.b; }; my $ca = CArray[Pointer[A]].new; my $a = A.new; $ca[0] = nativecast(Pointer, $a); nativesizeof($ca[0]).say
camelia 8
holyghost eco: AI::Agent::Music 05:05
buggable holyghost, Nothing found
holyghost AI::Agent::Music is in zef and should compile 05:11
I have AI::Agent::Embedded in the works but I do not know if I want to publish it, it parses pieces of NES and M68k microcode 05:19
There's also a assembler hash for M68000 e.g. key = "add.l" value = 0xA9 05:21
buggable New CPAN upload: Tika-0.1.0.tar.gz by AZAWAWI cpan.metacpan.org/authors/id/A/AZ/...1.0.tar.gz
holyghost ^-- do hack your irc client :-) 06:19
Xliff holyghost++ 06:20
You've been a machine, lately.
holyghost thx 06:21
Xliff What's the next module on your list? ;)
holyghost Bayes::Learn :-)
holyghost I need to edit as it does not compile yet, it's available though already 06:22
Xliff :) 06:23
What's not working?
holyghost Several classes
Xliff You on github? 06:24
holyghost yes
Xliff nick?
holyghost github.com/theholyghost2
just the Agent packages and Mathx::Stat are on there
Xliff Noticed. 06:25
holyghost I hope I get some feedback :-) but I don't need to publish uncompilable code on github else a flood of messages 06:26
I wouldn't know where to publish the github address ? 06:27
anyway, I'll manage
I'll post it on the mailing list later on, I still need to code a lot to get the agents working 06:30
They to parse each other
s/to/need to
On there, I've got to put in the AI of AI::Agent 06:32
That's how agents work
They're AIs
Xliff LOL! 06:35
Well, if you are having problems, post gists with the problem areas. I'll be glad to help where I can.
BTW - I put uncompilable code on github all the time. It's there to keep your code safe and trackable. 06:37
Just don't publish until you're ready.
I've had my project on there publicly for 2 months now. No flood of messages. 06:38
I also have a private git server on AWS
holyghost ok 06:42
holyghost I'm not too familiar with web interfaces, I need to install a shell git 06:43
jmerelo holyghost: you mean, a regular git 06:44
holyghost The whole github thing is after my knowledge of using CVS 06:45
jmerelo: yes
jmerelo: BTW you wanted to check out AI::Agent, it's on github (github.com/theholyghost2) together with AI::Agent::Music 06:47
It's less a clutter of classes now 06:48
I need to post on the mailing list
But I'm going to look it through first 06:49
jmerelo holyghost: I might when you write tests for it as well as some documentation for every function.
holyghost good to know 06:50
a pod I presume, I'm have to lookup how tests work first, the whole thing is probably for next week
holyghost jmerelo, Xliff : could you post that on github, that you want to help out ? 06:52
jmerelo holyghost: I will when, you know, you write proper tests and document properly the module. 06:54
holyghost Xliff: if you want to help, maybe post something on github of HashedAgent.pm6 in AI::Agent
jmerelo: ok 06:55
Xliff: I mean test HashedAgent.pm6
more or less
jmerelo holyghost: if you want people to help, you have to do your homework first. Just by looking at some of the modules it's clear that they don't compile, since they don't include declaration of some libraries, they don't use the proper syntax 06:56
holyghost: I'm looking at AI::Agent::Agent in particular and it does not seem to do a thing but (with an incorrect syntax) assign an status of 1. 06:57
holyghost It's a base class
I modularize 06:58
jmerelo holyghost: no single method in that file is correct. Please do your homework, write tests as specification of what you want your code to do, check that it effectively does (by compiling it first) and _then_ ask for help
holyghost jmerelo: ok as you wish
I said it was for next week 06:59
so I need tests to show my code, non-base classed, ok I'll do that 07:01
holyghost I saved the irc log so I can continue next week 07:06
Geth doc/master: 10 commits pushed by (Christian Sánchez)++, (Juan Julián Merelo Guervós)++
review: github.com/perl6/doc/compare/8ae1d...c6668311d9
07:07
Xliff holyghost: I will try to write tests for some of the modules, but we will need to get together and discuss how it is all supposed to work. I can help you write tests if you want. 07:13
holyghost Xliff: that'd be great :-) 07:13
Xliff What should I clone first?
holyghost AI::Agent 07:14
so AI-Agent
Xliff OK
holyghost The Agent is superclassed by Actor that's it for an agent base class override. You need to test with an agent derived from AI::Agent::Agent 07:16
holyghost You can see what I mean in AI::Agent::Music::MusicAgent.pm6, AI::Agent::Music is a seperate module 07:16
holyghost The only thing that a test must do is Agent().dispatch($msg, %optargs) {} 07:18
overriden
Then agents parse each other with several messages in "ask about" in the dispatch 07:19
you can call these methods but a regular Agent doesn't return anything, he has to be overriden such a MusicAgent
HTH 07:20
Xliff Yeah. Might want to email me with that. I have the chatlogs, regardless.
I am fixing things, right now.
holyghost thanks 07:21
HashAgent.pm6 probably does not work, but you have to register methods so you can call them from a list or hash (@!dependencies I think) 07:22
s/HashAgent/HashedAgent
again, dispatch gets overriden, not super.dispatch 07:23
s/not/note
holyghost Xliff: If you're done, just post the files on github (no patch -p0 < pathfile please). Else you mail them to [email@hidden.address] 07:26
If you have energy left, clone Mathx-Stat and post tests for it. Just call Covariance().Covariance etc after adding a population's probailities, they're just numbers. The population master class calculates Variance and Expectance for those probabilities 07:30
Xliff holyghost: I sent you a pull-request. Check the diff and if you don't understand anything, comment on the pull request.
holyghost Xliff: thanks 07:30
Xliff: I'll manage next week as I said before 07:31
So for example you have some time left. I do understand directory diffs though
Xliff Read through the pull request. If you have questions about some of the things I did, please ask. 07:32
Xliff Rather comment on the PR to keep this channel clean. If it is generic enough, asking here is fine. 07:32
holyghost ok, I'll just ask test then :-) I'll have a look at the PR next week 07:33
holyghost s/test/tests 07:33
Xliff: If you'd like to look at Mathx::Stat /
s/\//?
It needs what I said above, just add probabilities to a population then calc the variance etc 07:34
If you continue to help out, I just authorize you 07:37
Geth doc: 7075ac4428 | (JJ Merelo)++ | doc/Language/pod.pod6
Some reflow and grammar changes
doc: 4992c97148 | (JJ Merelo)++ | doc/Language/pod.pod6
Some reflow and grammar changes
synopsebot Link: doc.perl6.org/language/pod
Xliff holyghost: Remindme to look at Nathx::Stat, tomorrow. It's gettin late, here. 07:38
holyghost Xliff: ok :-)
You're in what time zone ?
Xliff EST
holyghost I can get up early
Xliff Nah. I sleep late.
holyghost so -6 hours ?
we're at GMT stuff here :-) 07:39
Thanks a lot
Xliff -5
holyghost -5 ?
Xliff Yes
holyghost right
daylight savings time 07:40
Xliff Over. EST, now
EDT is -4, EST is -5
holyghost I get up at 4 or 6 am in central Europe, GMT+1
s/central/western
ok 07:41
Xliff I get up around noon, so that puts my wake time at your 5-6pm
holyghost I don't want to be rude, but do tell your phase
Xliff So it's about 7:40 your time, yes?
holyghost 8:40
Xliff Phase?
holyghost TNHD, the hacker dictionary at catb.org/~esr 07:42
holyghost daylight savings time 07:42
anyway, we'll manage :-) I like testers :-) 07:43
Most of the time I writee out of my head, to gain momentum
Xliff I'm a night-moder
holyghost ok
I get up at 4 or 6 am, so it'll be almost midnight on your timezone when I get up 07:44
holyghost Xliff: anyway, good night :-) I really appreciate 07:45
I just don't do testing as it's silly, there's autotools in C/C++ etc, you don't test your software 07:46
that way
Xliff No. Perl6 testing is different, and it is definitely not silly. 07:47
I will show you what I mean.
G'night!
holyghost apt-get, urpmi, pkg do not do tests. But I know it's perl 07:47
gn
El_Che holyghost: your statement sounds silly to me 07:48
holyghost El_Che: see above, C does not do tests 07:48
El_Che: but never mind, I will adapt to the perl eco 07:49
El_Che I don't see testing as something lang specific 07:50
just an adknowledgement my code always does things I don't always expect
corner cases and the like 07:51
holyghost sure
El_Che I even write test for static langs
s
but certainly dynamic languages need good tests
holyghost I'm not going to start a holy war about it, but as long as packages deploy fullly without tests 07:52
s/fullly/fully
If I check out some code, it'll better deploy instead of refusing 07:54
to work
I hacked gnome 2.4, a 2.4 linux kernel for G3 powermacs fully compiled 07:55
yellowdog linux 07:56
tadzik sqlite would like a word with your "c does not do tests" :P 07:58
sqlite.org/testing.html
holyghost "SELECT * FROM Perl6" :-) 07:59
jmerelo holyghost: C can do whatever it wants, perl6 does do tests. And you should, too. 08:01
holyghost jmerelo: sure, as you say, but Xliff already posted some :-) 08:02
jmerelo untested code is broken code. And, incidentally, code that does not compile is also broken code.
holyghost ok
jmerelo It would be a good idea to look at the code fixes people have done for you and learn from them, do the changes yourself to the rest of your code, and then write tests for them 08:03
holyghost: you haven't even looked at what Xliff has done for you. It's here, and it's not a test github.com/theholyghost2/AI-Agent/pulls 08:04
lizmat opensource.com/article/18/11/how-m...ore-classy
jmerelo holyghost: look at it, and look at the fixes he has done. Do the same for the rest of the your code, starting with the most basic one. Check if it compiles by creating a basic "use" test, as lizmat said, like, 3 days ago. If you don't know how to do something, we're here to help 08:05
lizmat++
lizmat: there seems to be some trouble in the syntax highlighting in the code; for instance, in the Point definition. It's the same thing in GitHub, I think. 08:06
lizmat: great article, BTW. 08:07
holyghost jmerelo: I knew that, but I said I'm going to look into it next week. I'll cooperate with Xliff 08:08
holyghost jmerelo: more heads into my code, matter more 08:10
lizmat jmerelo: I've given up trying to get it to render correctly, it is apparently too much outside of the realm of rendering provided by opensource.com 08:22
Xliff lizmat: This article is really good! :) 08:31
holyghost Xliff : I've merged in your PR 08:44
Xliff: great to have some help :-) 08:45
lizmat Xliff: thank you 08:47
holyghost lizmat: :-) 08:48
buggable New CPAN upload: AI-Agent-0.2.2.tar.gz by HOLYGHOST modules.perl6.org/dist/AI::Agent:cpan:HOLYGHOST 08:51
holyghost Xliff, lizmat: ^-- here you go
Xliff holyghost: Now for tests. Really shouldn't be in CPAN without tests. 08:58
But we will get there.
holyghost thanks :-) 09:01
Xliff: It's 4 am ?
Xliff Yes 09:02
holyghost Xliff: you should sleep :-) I didn't remember the RET syntax, I know it's a lot of perl 5
Xliff I started reading lizmat's articles... and I keep reading "just one more" 09:03
holyghost sure, I have to make an article on advent about Mathx::Stat by 15 dec
I hope tomorrow "we" get in some tests 09:04
I didn't know the PRs were that powerful
tadzik :) I like your spirit 09:07
holyghost of Xliff and me I presume :-)
Xliff: Mathx::Stat needs to compile first, I saw the tag based system in unit module * 09:08
Xliff lol
holyghost: Look at what I did for AI::Agent and see if you can fix it.
We can go through the errors when I wake up.
holyghost sure but for me next week 09:09
tomorrow for Mathx::Stat
Xliff I might not sleep long. I am an insomniac.
Yes Mathx::Stat
holyghost phase of the moon :-)
Xliff But you should look at the changes I've made for AI::Agent, so you can see how to fix common errors.
holyghost opens up vi 09:10
I'm going to fix the class/unit module system 09:11
Xliff Good luck. 09:14
holyghost Xliff: I've fixed it, tomorrow we'll look into it 09:23
Xliff: it's on github
holyghost It's on CPAN in a minute 09:30
buggable New CPAN upload: Mathx-Stat-0.1.13.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST 09:31
El_Che jnthn: you struck the correct tone one #33. jnthn++ 09:46
Altreus hi so 09:47
I have a cro service that outputs statistics like this: content 'application/json', %statistics;
pretty normal
But if I have my $start-time = DateTime.now; ... %statistics<uptime> = (DateTime.now - $start-time); 09:48
Xliff El_Che: I agree
Altreus This Duration renders as {0: null}
I can .Int it, but I wondered why it renders like that
Xliff m: say DateTime.now.later(hours => 5) - DateTime.now 09:49
camelia 17999.99631326
Xliff Altreus: That's weird.
lizmat m: m: say .later(hours => 5) - $_ with now 09:50
camelia No such method 'later' for invocant of type 'Instant'. Did you mean any of these?
Date
eager

in block <unit> at <tmp> line 1
Xliff m: say .later(hours => 5) - $_ with now
camelia No such method 'later' for invocant of type 'Instant'. Did you mean any of these?
Date
eager

in block <unit> at <tmp> line 1
Xliff m: say .later(hours => 5) - $_ with DateTime.now
camelia 18000
lizmat ah, duh :-)
Xliff lizmat: Yes. I keep forgetting the .method form. 09:51
Altreus I suspect it may be the way Cro serialises objects 09:52
Xliff Ah.
Altreus it's just a weird outcome
because I don't know what in the Duration is 0 or [undef] 09:53
where [undef] is whatever counts as undefined in this new world
Xliff Can you gist what your JSON looks like? 09:54
Altreus Closed everything... hang on :) 09:55
Xliff :)
Altreus Xliff: gist.github.com/Altreus/6646f2effd...705a7be8ab 09:59
Xliff Oohhh 10:07
That's weird.
Skarsnik Hello 10:10
holyghost Hail to Skarsnik :-) 10:11
Xliff Altreus: Added a comment. What version of Perl6?
Altreus this? perl6::version=2018.04.1
Xliff Yeah. Updated my comment with my version of perl6. 10:12
Altreus to be clear, it was a Duration object. Not sure whether you've got one just at a glance
Xliff I have a much later version than you do. I'm still on version v6.c but the compiler is using v6.d by default, now.
Altreus I haven't rebuilt perl6 in a while
Xliff I rebuild mine bi-weekly, at least. 10:13
You using Rakudo Star?
holyghost Altreus: To be rude, I have a Duration object in Tick.pm6 and Time.pm6 in Game::Markov 10:14
It was built for games though
Altreus um, cool
I guess
Xliff: uh yes I think so
I built it once and then sort of forgot. I don't use it in anger 10:15
Xliff Heh.
No problem. You will want to upgrade as soon as the next version is released.
Altreus I should probably make a script to Just Do It
although ISTR it was quite painless 10:16
Xliff You might want to move your old star location to a safe place and do tests before you settle on it, though.
Altreus sounds scriptable
holyghost you shouldn't script it :-) Just use a shell 10:18
Skarsnik m: say "\n" 10:27
camelia
Skarsnik m: sub foo() {return Hash}; ␤␤ my %h = foo(); 10:28
camelia Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash'. Did you forget a '.new'?
in block <unit> at <tmp> line 3
Skarsnik This error look LTA
or is that even an error?
std: sub foo() {return Hash}; ␤␤ my %h = foo(); 10:29
c: 2015.01 sub foo() {return Hash}; ␤␤ my %h = foo(); 10:30
committable6 Skarsnik, ¦2015.01: «»
sacomo m: sub foo(--> Hash); my %h = foo(); 10:36
camelia 5===SORRY!5=== Error while compiling <tmp>
A unit-scoped sub definition is not allowed except on a MAIN sub;
Please use the block form. If you did not mean to declare a unit-scoped sub,
perhaps you accidentally placed a semicolon after routi…
sacomo m: sub foo(--> Hash){}; my %h = foo();
camelia Odd number of elements found where hash initializer expected:
Only saw 1 element
in block <unit> at <tmp> line 1
sacomo m: sub foo(--> Hash()){}; my %h = foo();
camelia ( no output )
sacomo m: sub foo(--> Hash()){}; my %h = foo(); say %h.^name; 10:37
camelia Hash
Skarsnik accodring to bisectable6 it's from github.com/rakudo/rakudo/commit/2f...01b8cba8d5
lizmat m: sub foo(--> Hash) { }; dd foo
camelia Nil
lizmat sacomo: that's the one element seen 10:38
Skarsnik I mean you could sub foo{ return Hash.new}
if it's supposed to be an error, the error message should be more clear maybe ^^
lizmat Skarsnik: it's the equivalent of: 10:39
m: my %h = 42
camelia Odd number of elements found where hash initializer expected:
Only saw: 42
in block <unit> at <tmp> line 1
sacomo yeah
lizmat m: my %h = Nil
camelia Odd number of elements found where hash initializer expected:
Only saw 1 element
in block <unit> at <tmp> line 1
Skarsnik m: my %h = Hash;
camelia Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
lizmat hmmm... why isn't it saying Nil there ?
Skarsnik m: my %h = Hash:U;
camelia Invocant of method 'iterator' must be an object instance of type 'Map', not a type object of type 'Hash:U'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
Skarsnik I think I wanted an undef Hash in the original code x) 10:40
m: my %hash; say "foo" unless %hash.defined
camelia ( no output )
Skarsnik everytime I touch perl 6 I found 10 bugs! 10:43
sacomo m: my %h := Hash; say %h.^name; 10:44
camelia Hash
sacomo welp, another mass shooting.. 11:01
SmokeMachine m: sub foo { {} }; my %h := foo 11:09
camelia ( no output )
Skarsnik m: sub foo { Array}; my @a = foo; say "foo" unless @a.defined; 11:12
camelia ( no output )
Skarsnik m: sub foo { Array}; my @a = foo; say @a; 11:13
camelia [(Array)]
SmokeMachine m: sub foo { Array }; my @a := foo; say @a 11:14
camelia (Array)
SmokeMachine m: sub foo { Array }; my @a = foo; say @a.defined
camelia True
SmokeMachine m: sub foo { Array }; my @a := foo; say @a.defined 11:17
camelia False
SmokeMachine Skarsnik: ^^ 11:20
holyghost .tell Xliff I've updated, if you want to coauthor, AI::Agent::Music
yoleaux holyghost: I'll pass your message to Xliff.
buggable New CPAN upload: AI-Agent-Music-0.2.2.tar.gz by HOLYGHOST cpan.metacpan.org/authors/id/H/HO/...2.2.tar.gz 11:21
holyghost .tell I'm going to bed early so we can fix the modules tomorrow at GMT early night time 11:22
yoleaux holyghost: What kind of a name is "I'm"?!
holyghost .tell I am going to bed early so we can fix the modules tomorrow at GMT early night time
yoleaux holyghost: I'll pass your message to I.
holyghost .tell Xliff I am going to bed early so we can fix the modules tomorrow at GMT early night time 11:23
yoleaux holyghost: I'll pass your message to Xliff.
holyghost .tell jmerelo I'm fixing my modules with Xliff, if it needs be we should incorporate tests, I'll write the documentation 11:26
yoleaux holyghost: I'll pass your message to jmerelo.
jmerelo squashable6: status 12:09
yoleaux 11:26Z <holyghost> jmerelo: I'm fixing my modules with Xliff, if it needs be we should incorporate tests, I'll write the documentation
squashable6 jmerelo, Next SQUASHathon in 23 days and ≈21 hours (2018-12-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo .tell AlexDaniel what's in store for next Squashathon?
yoleaux jmerelo: I'll pass your message to AlexDaniel.
holyghost jmerelo: I didn't see you come online, tomorrow we have 3 modules compilable and running, it's very easy to write tests for AI::Agent* and Mathx::Stat 12:10
jmerelo: just by cooperation 12:11
jmerelo holyghost: yep, it's very easy, and it's something the module author should do _before_ publishing.
buggable New CPAN upload: AI-Agent-Music-0.2.3.tar.gz by HOLYGHOST cpan.metacpan.org/authors/id/H/HO/...2.3.tar.gz
holyghost lol
jmerelo Meaning before you do that ^^^^
holyghost jmerelo: can we manage such things as : 12:13
eco: AI::Agent::Music
buggable holyghost, Nothing found
jmerelo holyghost: you can publish in your repo whatever you want, ask for collaboration any way you want. But you should wait until something actually _works_ before you publish. The fact that one file that did not compile does compile now is not a reason to publish a new version.
holyghost jmerelo: I agree, Xliff told me 12:14
jmerelo holyghost: is a reason for joy because it means you have some work done before you publish anything. Even if they compile, if there are no tests it's impossible to know what they _should_ do.
holyghost jmerelo: yes, writing docs 12:15
and so on
jmerelo holyghost: you have agreed with this the third time, if I haven't lost count. Still, you keep publishing new versions without compiling them and testing them properly.
holyghost jmerelo: if my perl6 zef doesn't work should I login somwhere to test ?
I don't have a zef, I have the latest perl6 rakudo 12:16
jmerelo holyghost: documentation is not spec. Tests are spec. That is why you need tests before you publish anything in CPAN (or, for that matter, anywhere else).
holyghost jmerelo: that's what I comprehended on CPAN
jmerelo holyghost: still, that's something you _don't_ do, because you keep updating versions without checking them that they compile or that they do what they intend to do. 12:17
holyghost jmerelo: I released too early on CPAN, on github I can do my thing
that's all
I didin't realize the diff in github to show my code, not just compilables, I just don't want to remove my reepos on CPAN, that's logic 12:18
s/reepos/repos
holyghost jmerelo: I am used to shell clients, not web stuff 12:19
jmerelo holyghost: _git_ is a shell client. 12:20
finanalyst good time of day. I am having problems understanding inheritance of subclasses. See following
m:perl6 -e 'class A { has $.a; class B { method xx { say $.a }}};my A::B $q.=new(:a(3));$q.xx;'
evalable6 Cannot test 0bc72e0504ade2fbf8a24420332309c37edf8363 (Commit exists, but a perl6 executable could not be built for it)
jmerelo hi, finanalyst !
finanalyst hi jj
m: class A { has $.a; class B { method xx { say $.a }}};my A::B $q.=new(:a(3));$q.xx; 12:21
camelia No such method 'a' for invocant of type 'A::B'
in method xx at <tmp> line 1
in block <unit> at <tmp> line 1
holyghost holyghost: I'll be alright
jmerelo finanalyst: seems to be a Camelia error, right?
finanalyst: A::B does not include a. All attributes are private in Perl6 12:22
docs.perl6.org/language/objects#Attributes
finanalyst but i thought that B as a subclass of A was supposed to inherit attribute of A
jmerelo finanalyst: you have to access a through the public interface
finanalyst: no, it does not. It's private
finanalyst but i set $.a to make it public 12:23
jmerelo m: class A { has $.a; class B { method xx { say self.a() }}};my A::B $q.=new(:a(3));$q.xx;
camelia No such method 'a' for invocant of type 'A::B'
in method xx at <tmp> line 1
in block <unit> at <tmp> line 1
jmerelo hum
timotimo why would you expect self.a to work in an instance of B when it's an attribute of A?
jmerelo No, wait, I'm wrong above. B does not inherit from a, it's a class which is included in A 12:24
So it's not a matter of inheritance, but scope.
timotimo methods are not looked up in scopes :)
jmerelo timotimo: right
Xliff m: class A { has $.a; }; class B is A { method xx { say self.a() }}};my A::B $q.=new(:a(3));$q.xx; 12:25
yoleaux 11:20Z <holyghost> Xliff: I've updated, if you want to coauthor, AI::Agent::Music
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> 3ass B is A { method xx { say self.a() }}7⏏5};my A::B $q.=new(:a(3));$q.xx;
yoleaux 11:23Z <holyghost> Xliff: I am going to bed early so we can fix the modules tomorrow at GMT early night time
finanalyst Oh. So to let B inherit, I need to declare it outside of A
holyghost If you like I have a module for you AI::Agent::Embedded (AWS), I don't want to release it in public as it parses NES and M68000 microcode
Xliff m: class A { has $.a; }; class B is A { method xx { say self.a() }; my B $q.=new(:a(3));$q.xx;
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3y self.a() }; my B $q.=new(:a(3));$q.xx;7⏏5<EOL>
holyghost s/If/ Xliff If
Xliff m: class A { has $.a; }; class B is A { method xx { say self.a() }; }; my B $q.=new(:a(3));$q.xx;
camelia 3
Xliff ^^ finalyst
Er... finanalyst, even 12:26
jmerelo Xliff: thanks, that's what I meant...
finanalyst Xliff: no problem. I mistype too
jmerelo goes AFK to cook. 12:26
holyghost Xliff : see above 12:27
You might want to put it on your priv git server
It's reverse engineering, but I need a place for it 12:28
holyghost It's NESROM and NESROMMusic classed, you just parse agents with it tha carry free ROMs 12:30
You can let the 6502 (NES) processor just play music 12:31
d00d systems
timotimo so you implemented a 6502 emulator?
holyghost timotimo: just a has of NES opcodes
Xliff holyghost: I will do it sometime within the next 36 hours.
holyghost s/has/hash 12:32
Xliff: you may have it but I'm interested in 6502 code, so I want to hack beyond perl6, e.g. a private git server
Xliff I said I'd do it before the weekend. 12:33
holyghost beyond in the meaning that I want to hack the NES code
ok
Xliff I will have to set you up with git creds and a shell account.
holyghost coolness :-)
Xliff Again... weekend.
holyghost ok
I really don't crack but I do like reverse engineering, I can give you much more than that solo 12:34
weekend it is
do .tell me or something
I hacked the CPAN server, without zef 12:35
eco: AI::Agent::Music
buggable holyghost, Nothing found
holyghost prob just a directory make in the META 12:37
Xliff: I just checked my agenda, I'll be here this weekend, login is holyghost, pass you give me 12:38
Xliff 'k
lucasb took the liberty to answer the recenlty closed issue
Xliff heh 12:39
Can someone tell me why I am having problems with a CArray of a CStruct.
lucasb s/answer/reply/
timotimo holyghost: both MusicAgent.pm6 and MusicDB.pm6 still use "super", which is not a thing that exists
and ".db = ..." where no $_ is set, which will also not work 12:40
holyghost timotimo: ah ok
timotimo: I miscompiled the super compiles on my system
Xliff Instead of super, use nextwith or nextsame
holyghost Xliff: I understand
Xliff timotimo: Will that work with overrides? 12:41
timotimo m: class Test { method BUILD { super.BUILD } }
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
super used at line 1
holyghost ok
timotimo Xliff: you mean nextsame and derived classes?
Xliff Yes
holyghost timotimo: I thought otherwise to shorten $! and $.
timotimo you're not supposed to call other BUILD methods from your own BUILD method
Xliff BUILD is a submethod, so it is limited to the class it is defined in. 12:42
holyghost timotimo: I don't know *
timotimo in MusicAgent, BUILD is not a submethod, it's a method
Xliff If you want common code to run across classes like that, you have to define methods.
timotimo which is also problematic
holyghost super should call the next BUILD upwise
Xliff holyghost: Perl6 does that automatically.
holyghost ok, I understand 12:43
Xliff You want to pass something to lower level builds, use the same named parameter.
holyghost Xliff: I cannot self = super.BUILD then, slashing
that's the whole meaning I suppose 12:44
Xliff so: Class A { has $!a; submethod BUILD (:$a) { $!a = $a }; }; class B is A { has $!b; submethod BUILD(:$a, :$b) { $!b = $b; }; };
holyghost $.a gets set 12:45
Xliff So if class B then has: "method new($a, $b { self.bless(:$a, :$b) }" it works as expected.
holyghost $!a
I knew that
Xliff So why try to reinvent the wheel?
holyghost lol, there's more OOP paradigms for that
Xliff Oops... should read: "method new($a, $b) { self.bless(:$a, :$b) }" it works as expected. 12:46
holyghost bless uses super class methods, that's what I knew
Xliff Yes. I got hung up on SUPER myself, when I started.
holyghost It's perl 5 and smalltalk of course 12:47
lizmat lucasb++ lizmat-- # closing the wrong issue 12:48
lucasb lizmat++ reopening :)
holyghost lol
lucasb BTW #33 was already closed 12:48
holyghost Xliff: do watch out with your server this weekend because I get a lot of attention from DOSers 12:50
SmokeMachine m: class A { has $.a; class B is A { method xx { say self.a() }; } }; my A::B $q.=new(:a(3));$q.xx;
camelia 5===SORRY!5=== Error while compiling <tmp>
'A::B' cannot inherit from 'A' because 'A' isn't composed yet (maybe it is stubbed)
at <tmp>:1
12:51
SmokeMachine m: class A { ... }; class A { has $.a; class B is A { method xx { say self.a() }; } }; my A::B $q.=new(:a(3));$q.xx;
camelia 5===SORRY!5=== Error while compiling <tmp>
'A::B' cannot inherit from 'A' because 'A' isn't composed yet (maybe it is stubbed)
at <tmp>:1
lizmat lucasb: that's why I was slightly miffed when I thought it was opened again
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { self."{$classname}::dothething"() } }; Child.new.parentdo("Parent")
camelia No such method 'Parent::dothething' for invocant of type 'Child'
in method parentdo at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { ::{"self.{$classname}"}::dothething"() } }; Child.new.parentdo("Parent") 12:52
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3o($classname) { ::{"self.{$classname}"}:7⏏5:dothething"() } }; Child.new.parentdo("
expecting any of:
colon pair
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { ::{"self.{$classname}"}.dothething() } }; Child.new.parentdo("Parent")
camelia ( no output )
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { ::{"self.{$classname}"}.dothething() } }; Child.new.parentdo("Parent").say
camelia Nil
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { ::{"self::{$classname}"}.dothething() } }; Child.new.parentdo("Parent").say 12:53
camelia Nil
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { ::{"self.{$classname}.dothething"}() } }; Child.new.parentdo("Parent").say
camelia Cannot find method 'Nil' on object of type List
in method parentdo at <tmp> line 1
in block <unit> at <tmp> line 1
scimon lizmat: Today's article on objects and stuff it very nice :)
lizmat scimon: thank you :-) 12:54
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { self."{$classname}::dothething"() } }; Child.new.parentdo("Parent").say
camelia No such method 'Parent::dothething' for invocant of type 'Child'
in method parentdo at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo($classname) { self.{"&{$classname}::dothething"}() } }; Child.new.parentdo("Parent").say
camelia Type Child does not support associative indexing.
in method parentdo at <tmp> line 1
in block <unit> at <tmp> line 1
12:54
Xliff LOL OK I'm done.
m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo { self.Parent::dothething() } }; Child.new.parentdo("Parent").say 12:55
camelia Too many positionals passed; expected 1 argument but got 2
in method parentdo at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing" }; method parentdo { self.Parent::dothething() } }; Child.new.parentdo.say
camelia parent does the thing
True
Xliff holyghost: ^^ A way to do SUPER
holyghost ok, self.Parent::do 12:56
looks like perl 5
then it's ok with me :-)
Xliff m: class Parent { method dothething() { say "parent does the thing" } }; class Child is Parent { method dothething() { say "child does the thing"; say self.Parent::dothething }; }; Child.dothething.say
camelia child does the thing
parent does the thing
True
True
holyghost self.SUPER::new and so on
Xliff Yes, but there is no super. The child must reference the proper namespace. 12:57
holyghost indeed
now I know, thanks
holyghost Xliff, timotimo : I've removed super 13:12
Geth ecosystem: 204be93380 | (Mauro Panigada)++ (committed using GitHub Web editor) | META.list
Add Xmav::JSON to ecosystem

See github.com/shintakezou/Xmav-JSON
ecosystem: 0db2234eeb | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #415 from shintakezou/patch-1

Add Xmav::JSON to ecosystem Thanks!
timotimo there's still things wrong 13:13
BUILD isn't called with any positional parameters, only named parameters
and ".db = ..." won't work in BUILD, and ".db.add(...)" won't work in add_to_music_db
there's still super in method ask
holyghost timotimo: I'm going to rework later on 13:14
timotimo and if anything should be able to derive from AI::Agent::Music::MusicAgent, you really should make BUILD a submethod; just do that always 13:14
holyghost ok 13:15
timotimo in AI::Agent::Music::MusicDB as well
holyghost thanks 13:15
timotimo YW 13:16
how are you making sure that it compiles, btw?
holyghost timotimo: I released too early on CPAN 13:17
timotimo the solution to that is probably not to release much much more :)
holyghost timotimo: I'll fixify with Xliff tomorrow
timotimo OK
holyghost timotimo: I don;t have working zef 13:18
timotimo you don't need a working zef to just try to compile
holyghost I'll post to github for code then release on CPAN
SmokeMachine holyghost: do you try to run the code after you write it?
timotimo you can perl6 -I ../path-to-AI-agent-folder -I lib lib/AI/Agent/Music/Music.pm6
holyghost timotimo: I know but the module system does not work 13:19
timotimo you don't need the module system
holyghost SmokeMachine: There's going to be tests later on
jmerelo holyghost: what do you mean? The module system works perfectly.
SmokeMachine holyghost: Im not talking about tests... do you just runs it? 13:20
holyghost jmerelo: ok
SmokeMachine: I coded it out of my head
timotimo: I used PERL6LIB
jmerelo holyghost: he's not asking that. He's asking if you try to run the code, as in write some program that uses the code and try to run it. It can be as simple as a test that just "uses" the module, or it can be something that exemplifies what it should do. 13:21
timotimo it might be a good idea to write in your README.md that "this code has not been tried yet" perhaps
holyghost jmerelo: again I'll rework tomorrow
timotimo so that a user that just stumbles upon the module and tries it for the first time doesn't get horribly confused when it doesn't compile
holyghost timotimo: sure
Xliff holyghost: Take a look at this script: github.com/Xliff/p6-GtkPlus/blob/m...encies.pl6 13:22
You can modify that for each of your projects. It should create a BuildList file with an optimal build order. 13:23
holyghost ok
Xliff once you have that file you can do the following from shell: time ( for a in `cat BuildList`; do 13:24
(echo " === $a ==="; perl6 --stagestats -Ilib -e "use $a" 2>&1) | tee -a LastBuildResults
; done
)
That should compile EVERYTHING and give you errors in a LastBuildResults file.
holyghost Again, I don't need scripts, I just need a working system with perl6 -I 13:25
moritz btw bash 4+ supports |& tee -a ....
holyghost I can compile m yself
moritz which pipes both stdout and stderr to the same program 13:26
Xliff That first script will also output everything you need for META6.json provides section
holyghost Xliff: again I edit by hand
jmerelo Xliff: nifty trick. Thanks!
Xliff jmerelo: No problem.
holyghost: It's a recommendation. A very strong one. 13:27
At least until the tests can be written.
holyghost Anyway, if Xliff and I find some build errors, I'll refactor/redistribute. I'm sorry I released on CPAN
Xliff holyghost: Refactor, not redistribute until we have tests and they work. 13:28
holyghost Xliff: as you wish
Xliff CPAN is not the place for broken modules. Github is.
holyghost Xliff: that's what you told me :-)
Xliff :P) 13:28
Err.. s/P//
lucasb SmokeMachine: blz bro? se vc ou qualquer outro BR na sala quiser conversar sobre P6 em portugues, a gente entra em #perl6-br (ou #perl6br), ok? 13:30
holyghost I'm AFK ATM 13:31
SmokeMachine lucasb: Im ther on #perl6-br! 13:32
SmokeMachine .seen rschipura 13:34
yoleaux I haven't seen rschipura around.
uzl hello! 13:36
lizmat: great article as always!
hopefully the P6 Weekly articles can come back. If not weekly, at least monthly. It was a great overview of what's going on in the P6 community. 13:40
Xliff What? When did the weeklys stop?
timotimo no weekly this week
jmerelo Plus an incredible amount of work scouting all fora and social networks... 13:41
lizmat uzl: unless strange things happen, I will write a P6W next week 13:42
jmerelo lizmat++ and then lizmat++ :-)
El_Che jmerelo: can you send me a /msg ? I can not send one to you because of stupid freenode spam setup
uzl lizmat: nothing strange will happen ;-)! 13:44
Xliff lizmat++! 13:47
uzl I know there are already several books about P6. But would writing an introductory book about Perl 6, created and maintained by the community, be feasible? 13:48
uzl Like the Rust book?! 13:48
lizmat uzl: I think such a book was once already started?
tadzik indeed :)
github.com/perl6/book
moritz uzl: it turns out that writing doesn't work all that well if there isn't a primary author pushing the project 13:49
moritz uzl: but I did have an idea for something similar: write a Perl 6 book, put it on leanpub (where you can sell early drafts directly to consumers, get 85% royalties), and open-source it once it hits a certain monetary goal 13:50
I'm still undecided whether I should actually do it 13:51
uzl moritz: I'm looking at it and there's a sizable amount of material. You all were doing a great job. 13:53
That sounds like a great idea. 13:54
moritz my topic would be around routines and signatures (and include multi dispatch) 13:54
uzl I've seen many authors do that. I've come across few Python introductory books that were published like that. 13:55
uzl So you mean like the whole book? Or do you intend to have other authors? 13:56
moritz given that there are several introductory books out there, I don't want to crowd that
uzl: everytime I started to write a book with co-authors, it turned out that one of us didn't have enough time, or we didn't really have the same vision, or something
so I'd start out solo, but accept contributions 13:57
uzl Yeah, a common vision must certainly exist! 13:58
Xliff moritz: Do you know if you can assign constants that can be used in sub signatures?
ie for things like Function refs
moritz Xliff: I don't understand the question 13:59
uzl moritz: Now I'm wondering how much one could expand a book about P6's routines and signatures (and include multi dispatch)? 200 pages? 14:00
Xliff moritz: I have a signature like this: sub dothat( &sort_func (Sortee, Sortee, Pointer --> int32) ) 14:01
moritz uzl: that's the wrong thinking, IMHO :) 14:02
Xliff Rather than have to define that over and over, I'd like to put that into a constant. 14:02
moritz Xliff: I don't think that's possible 14:02
Xliff Ah. 14:02
Xliff Any ideas on how to make that easier for re-use? 14:02
moritz not immediately, no 14:03
woolfy uzl: Perl 6 at a Glance is made available freely by AndrewShitov recently: deeptext.media/i/perl6-at-a-glance...adable.pdf 14:07
Xliff moritz: OK, thanks. 14:08
uzl woolfy: Thanks. I also got the Shitov's Perl 6 Deep Dive the other day from the Packt's free ebook deal. Reading through it currently. 14:12
woolfy uzl: have fun 14:17
uzl woolfy: ;)! 14:19
moritz there's also a free ebook version of "Think Perl 6" bei Rosenfeld 14:30
pheix moritz: where? 14:38
uzl pheix: github.com/LaurentRosenfeld/thinkperl6 14:39
moritz: I know about that one. I translated it to Spanish: uzluisf.gitlab.io/piensaperl6/ 14:40
pheix moritz: thanx for link! What's about your contest? ;))) 14:42
moritz pheix: I need time to blog about it :) 14:44
pheix moritz: super! 14:46
[Coke] h 15:01
buggable New CPAN upload: JSON-Path-1.4.tar.gz by JNTHN modules.perl6.org/dist/JSON::Path:cpan:JNTHN 15:21
melezhik Hi! How do I print exception class in catch {} block? 15:41
buggable New CPAN upload: JSON-Path-1.5.tar.gz by JNTHN modules.perl6.org/dist/JSON::Path:cpan:JNTHN
timotimo you can "put .^name"
melezhik thanks 15:42
SmokeMachine m: die "this is an error"; CATCH { default { .say } } 15:43
camelia this is an error
in block <unit> at <tmp> line 1
SmokeMachine melezhik: ^^
oh! sorry! exception class! 15:44
m: die "this is an error"; CATCH { default { .^name.say } }
camelia X::AdHoc
melezhik ok
timotimo no need for the default unless you want to actually catch the exception, rather than have it rethrown
SmokeMachine m: die "this is an error"; CATCH { .^name.say } 15:49
camelia X::AdHoc
this is an error
in block <unit> at <tmp> line 1
[Coke] just got this running 'make xtest' in doc repo: 16:15
Unhandled exception in code scheduled on thread
4
too many open files
Xliff OK. Latest (and to my knowledge...last) hangup I've got with my white whale... 16:29
gist.github.com/Xliff/8e402d623cea...45e820d7fd
Hopefully someone more familiar with NativeCall can help.
Geth modules.perl6.org: 6f471c81bf | (Lucas Buchala)++ (committed using GitHub Web editor) | lib/ModulesPerl6/Controller/Dist.pm
Associate test files (*.t) with file type "perl6"
16:44
buggable New CPAN upload: Algorithm-MinMaxHeap-0.13.4.tar.gz by TITSUKI modules.perl6.org/dist/Algorithm::M...an:TITSUKI 16:51
woolfy uzl : you translated Think Perl 6 to Spanish. Wow. Cool. Thank you. 17:37
El_Che the author tranlated the original to p6 from python, I think I heard him saying ;) 17:38
timotimo woolfy: i'm sure you don't mean it that way, but to me the punctuation in that sentence makes it look like sarcasm 17:38
mst doesn't to me 17:39
especially given the 'thank you' at the end
El_Che mst: Are. You. Sure?
mst El_Che: THERE ARE FOUR LIGHTS
El_Che stay away if they are white, though 17:40
timotimo lock phasers on that vessel
[particle] hands timotimo a fatal stub operator !!!
El_Che Is there an utf8 inverse polarity operator in p6? 17:41
mst use Saucery; 17:43
timotimo buggable: eco sourcery 17:45
buggable timotimo, CoreHackers::Sourcery 'Helper for showing actual source code locations of core subs and methods': modules.perl6.org/dist/CoreHackers:...fix%20Znet
AlexDaniel . 18:00
yoleaux 12:09Z <jmerelo> AlexDaniel: what's in store for next Squashathon?
AlexDaniel .tell jmerelo Haven't decided yet (though I had many ideas). Any suggestions? 18:01
yoleaux AlexDaniel: I'll pass your message to jmerelo.
SmokeMachine AlexDaniel: what are the ideas?
What about helping not yet published modules? (like Red) 18:04
AlexDaniel SmokeMachine: that sounds hard… probably not something people will be able to do casually 18:06
SmokeMachine: one of the cool/crazy ideas I had was “Write a blog post about Perl 6” 18:07
but with recent events… not sure if we want to see a bunch of blog posts about naming :D
El_Che AlexDaniel: hold my beer 18:08
snowfox what sort of recent events
SmokeMachine "Write a blog post about Perl 6 feature, not names" :P
Xliff How about this one? 18:09
gist.github.com/Xliff/8e402d623cea...45e820d7fd
SmokeMachine what about right perl6 applications? 18:09
Xliff It's more a question than an article, but I'm hoping to turn it into one with help.
SmokeMachine AlexDaniel: ^^
AlexDaniel snowfox: v6.d was released, and together with it “Raku” alias became a thing marketing.perl6.org/id/1541379592/pdf_digital 18:10
snowfox: this however turned out to be controversial, so some people who care about Perl 6 and its future got very emotional
snowfox I don't really see the problem there, to be honest 18:11
lucasb AlexDaniel: i.imgur.com/zUEwpV7.png 18:11
AlexDaniel: why not create a wiki there? looks so easy :)
woolfy timotimo: eh, no, no sarcasm. I posted about that translation on the Perl6 group in Facebook, because I thought it was an awesome thing to happen. And I don't know who is behind all the nicknames here (yeah, I know you and mst and El_Che and many others). 18:12
AlexDaniel snowfox: I don't want to bring that discussion back to life again right now, everyone is rather exhausted… but here's a blog post explaining why it may be a problem liztormato.wordpress.com/2018/11/06/on-raku/ 18:13
timotimo <3
SmokeMachine AlexDaniel: what about translating the docs?
AlexDaniel SmokeMachine: we don't have any code for that yet… IIRC there was a PR for Chinese translation, I don't know what we ended up doing with it 18:14
so surely we can tell people to translate the docs, and we'll get a bunch of PRs… but then what?
lucasb: where's that? 18:15
lucasb AlexDaniel: miraheze.org/
SmokeMachine AlexDaniel: dont we have the infrastucture to let the user read the doscs in a different language?
AlexDaniel: if we dont, maybe creating it could be a good idea to a squashathon? 18:16
AlexDaniel SmokeMachine: I think we don't. Related ticket: github.com/perl6/doc/issues/2195 18:17
AlexDaniel SmokeMachine: here's a comment that sums it up: github.com/perl6/doc/pull/2194#iss...-418982608 18:17
creating it, hmm… is again, hard 18:18
what works best for squashathons is when you have a bunch of separate small tasks that can be picked up easily
which is why ecosystem-unbitrot idea turned out to be that great 18:19
and also why doc squashathons used to be fun (until we resolved all easy tickets)
Xliff Ah... unbitrot.. that was fun.
AlexDaniel releasable6: next 18:20
releasable6 AlexDaniel, Next release in ≈9 days and ≈0 hours. 4 blockers. 0 out of 95 commits logged
AlexDaniel, Details: gist.github.com/855562396395a7e0c2...b04f02ab6e
AlexDaniel squashable6: next
squashable6 AlexDaniel, Next SQUASHathon in 23 days and ≈15 hours (2018-12-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel lucasb: it looks easy indeed, but I don't know if there are any downsides 18:21
chsanch There is a propose to redesign the documentation system, I think this will help with the translations later github.com/perl6/doc/issues/2392 18:22
AlexDaniel maybe we wouldn't be able to install extension at will
extensions*
lucasb "Miraheze would be more than willing to host a wiki for Perl 6 and install extensions on request" :) 18:23
AlexDaniel :o 18:24
lucasb :D
Xliff A semi-functional directory browser in Perl6.
github.com/Xliff/p6-GtkPlus/blob/m...iconview.t 18:25
AlexDaniel lucasb: I'm pretty sure that a self-hosted solution will be preferred by most devs, but maybe we can start it anywhere and move later if it ends up being useful 18:30
lucasb: but yeah, I really don't know what's the best way to make it happen, but I do know that I will use it :) 18:31
lucasb I could personally create the 'Unofficial Perl 6' and if you think it's worth you could join my editing the pages :)
SmokeMachine what's the problem with the github's wiki? 18:32
lucasb it's not MediaWiki :)
chsanch I think github's wiki could work fine
Xliff What's so great about MediaWiki?
SmokeMachine so, what's the problem of not being MediaWiki?
Xliff If we really want a blog, I could always port Slashcode to Bailador. 18:33
Xliff flees
AlexDaniel ok, here's the thing
AlexDaniel I'm not agains or for mediawiki, but the point is that we currently don't have any single wiki where you'd be able to do stuff 18:33
lucasb SmokeMachine: j/k about it not being MW, I'll try to expand on that later :)
AlexDaniel There were attempts to abuse github.com/rakudo/rakudo/wiki/ but it does not seem to be very popular 18:34
so please leave comments on github.com/perl6/user-experience/issues/34
like, maybe we should just start github.com/perl6/wiki/wiki
chsanch I'm not really sure we need a wiki right now, those efforts could be used to work on the various proposes to improve the actual documentation 18:35
SmokeMachine is the problem with that that it is on github or the problem is it's a wiki?
lucasb SmokeMachine: I think the GitHub interface may get in the way, but IDK, I never edited a GH wiki
AlexDaniel SmokeMachine: you mean with rakudo/wiki? It's a wiki of the *compiler*, so it doesn't really fit questions regarding the language
or so I think
lucasb wiki.perl6.org would be as general as possible 18:36
AlexDaniel we can make wiki.perl6.org redirect to github, or whatever. We should decide. But there must be some meaningful single place
woolfy uzl: I hope some people came to your help to proofread the Spanish translation for you. I posted this on the 30th of October on Perl6 on Facebook: www.facebook.com/groups/perl6/perm...305329183/ 18:37
SmokeMachine #`(Squashothon idea: github.com/perl6/awesome-perl6)
AlexDaniel SmokeMachine: explain :) 18:37
SmokeMachine AlexDaniel: github.com/search?q=awesome 18:38
poohman Hello all
AlexDaniel poohman: hi! 18:39
poohman a small question
SmokeMachine AlexDaniel: a github repo listing awesome things on perl6
AlexDaniel SmokeMachine: ooooooooohh
lucasb took a while to understand :D
poohman If I declare a Hash, can I assume the values will be initialised to 0?? 18:40
chsanch woolfy: I didn´t know there were a Perl 6 book in spanish, I could help proofread the translation (I'm not in the facebook group, are those announcements also in twitter?)
AlexDaniel m: my %h is default(42); say %h<abc>
camelia 42
AlexDaniel m: my %h is default(0); say %h<abc>
camelia 0
AlexDaniel m: my %h is default(0); say %h<abc>; say %h
camelia 0
{}
poohman I tried it and it seems to be initialised - just wanted to be sure to avoid any surprises later
AlexDaniel poohman: yeah, accessing non-existent values will just give Nil 18:41
SmokeMachine m: Str %a; say %a<qwer>
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%a' is not declared
at <tmp>:1
------> 3Str %a; say 7⏏5%a<qwer>
SmokeMachine m: my Str %a; say %a<qwer>
camelia (Str)
AlexDaniel poohman: what did you try exactly? It shouldn't work unless you use `is default`
SmokeMachine m: my %a; say %a<qwer>++ 18:42
camelia 0
poohman AlexDaniel : let me see if I can try it here - its a bit long
SmokeMachine AlexDaniel: what did you think about github.com/perl6/awesome-perl6 ? 18:43
poohman m: my Int %a; say %a<qwer>++
camelia 0
poohman m: my Int %a; say %a<qwer>++;%a<qwer>++ 18:44
camelia 0
SmokeMachine poohman: that's not the hash that makes it 0... but the ++
m: my $a; say $a++
camelia 0
SmokeMachine m: my $a; say $a
camelia (Any)
SmokeMachine m: my $a; say $a; say $a++ 18:45
camelia (Any)
0
poohman SmokeMachine: Ok - any logic behind the ++ operator??
or History?
SmokeMachine autovivification
is that autovivification? 18:46
poohman: github.com/rakudo/rakudo/blob/de4e...y.pm6#L481 18:47
AlexDaniel SmokeMachine: it's a great idea in general. I'm not fully sure how to turn that into a squashathon though, but feel free to organize that if you see how that can happen 18:48
I have to get some sleep ASAP, so see you all later o/ 18:49
poohman AlexDanil : later - thanks
SmokeMachine I thought of each person searching for awesome perl6 stuff and commiting on the repo...
poohman sorry 18:50
wanted to see if I could reply automatically
SmokeMachine poohman: did you get that? 18:51
poohman SmokeMachine : not yet 18:53
SmokeMachine poohman: if the variable is Any and undefined, so ++ will set its value to 1 and return 0 18:55
lizmat do we have a nice and easy way to have a method dispatch on the value of an *attribute* ? 18:56
moritz m: class A { has $.a = 42 }; multi a ($) { 'fallback' }; multi a ( $ (:$a where 42 ) ) { 'specific' }; say a A.new 18:57
camelia specific
poohman m: my $a; say $a; say ++$a
camelia (Any)
1
moritz lizmat: ^^
timotimo right, you can destructure self in front of a :, too 18:58
just like that
SmokeMachine poohman: I mean postfix:<++> 19:01
lizmat moritz: but that won't be very performant, I guess 19:02
poohman SmokeMachine : was just testing prefix
multi sub postfix:<++>(Mu:U $a is rw) { $a = 1; 0 }
Mu:U means undefined??
SmokeMachine poohman: yes
poohman Mu is Anything I guess
ok 19:03
tobs poohman: no, that would be Any :-)
SmokeMachine poohman: thats it!
poohman: and for prefix: github.com/rakudo/rakudo/blob/de4e...y.pm6#L474
poohman m: my $a; say $a; say $a++; say $a++; 19:04
camelia (Any)
0
1
poohman m: my $a; say $a; say $a++; say $a;
camelia (Any)
0
1
tobs moritz: that's very cool, would have never occurred to me. 19:06
[Coke] .seen makoto 19:07
yoleaux I haven't seen makoto around.
tobs There are definitely some things in Perl 6 (like everywhere, really) that someone else has to show you once. So I hope you save such goodies for the signature book, if you do decide to write it.
poohman SmokeMachine : thanks 19:09
timotimo lizmat: could be faster with a "where" clause directly on the invocant 19:10
rather than using destructuring
lizmat ok, will do some tests 19:10
specifically looking at dispatching to a specific method in Hyper where nqp::eqaddr(&!operator,&infix:<+>) 19:11
woolfy chsanch: the Facebook group is open, you can click on the link and see the post. The translator is uzl who is a regular on this channel, so you can contact him to ask him if he still needs proofreaders. Thank you for offering. 19:26
chsanch: anyway, I wrote this in that post: "Luis F. Uceta needs help, as in Spanish-speaking volunteers willing to be external reviewers and/or proofreaders for this Spanish translation of Laurent Rosenfeld's Think Perl 6." 19:28
chsanch: "My mastery of Spanish is not even enough to order a vegetarian meal, so I am hoping for other members of this Facebook group. I think it is amazing anyway..."
chsanch: "Luis has translated 450 pages of that book into Spanish. And on page 455 you will find a very nice Perl 6 cheat sheet (in Spanish of course)."
chsanch: uzluisf.gitlab.io/piensaperl6/ 19:29
SmokeMachine what do you guys think about the idea of doing a github.com/perl6/awesome-perl6 ? 20:00
lizmat a 404 ? 20:01
SmokeMachine lizmat: no, the idea of creating that... that does not exists yet... 20:02
lizmat what would that be?
A list of awesome Perl 6 things ? 20:03
as a wiki ?
I feel like I'm missing a clue here
SmokeMachine lizmat: a github repo listing awesome things on perl6 20:04
lizmat: like: github.com/search?q=awesome
lizmat aaaah... see, that was what I was missing... 20:05
sounds like a good idea to me
SmokeMachine for example: github.com/vinta/awesome-python 20:06
Xliff m: class A { has $.a = 42 }; multi a ($) { 'fallback' }; multi a ( $ (:$a where 42 ) ) { 'specific' }; say a A.new 20:07
camelia specific
Xliff Hunh?
(:$a where 42) refers to the Attribute from A?
m: class A { has $.a = 42 }; multi a ($) { 'fallback' }; multi a ( $ (:$a where 42 ) ) { 'specific' }; say a A.new(a => 43) 20:08
camelia fallback
SmokeMachine we are not here: github.com/sindresorhus/awesome#pr...-languages
Xliff Where can I read up on deconstruction? 20:10
er... destructuring, rather. 20:11
SmokeMachine m: class C { has Bool $.a = True; method bla { $!a } }; say C.new ~~ :bla; say C.new(:!a) ~~ :bla 20:15
camelia True
False
Xliff Nevermind. Found this: perl6advent.wordpress.com/2017/12/...ignatures/
m: class C { has Bool $.a = True; method bla { $!a } }; say C.new ~~ :bleh; 20:16
camelia No such method 'bleh' for invocant of type 'C'. Did you mean any of these?
bla
bless

in block <unit> at <tmp> line 1
SmokeMachine m: class C { has Bool $.a = True; method bla { say "here"; $!a } }; say C.new ~~ :bla; say C.new(:!a) ~~ :bla 20:17
camelia here
True
here
False
SmokeMachine m: class C { has Bool $.a = True; method bla { say "here"; $!a } }; multi a(C $ where :bla) { say "yes" }; a C.new 20:21
camelia here
here
yes
SmokeMachine m: class C { has Bool $.a = True; method bla { say "here"; $!a } }; multi a(C $ where :bla) { say "yes" }; a C.new: :!a 20:22
camelia here
Cannot resolve caller a(C.new(a => Bool::False)); none of these signatures match:
(C $ where { ... })
in block <unit> at <tmp> line 1
El_Che In case someone is interested, my thought on the the latest debated in underlying issues: nxadm.wordpress.com/2018/11/08/quo-vadis-perl/ (cc: AlexDaniel)
chsanch woolfy: Great, I'll take a look. Thanks! 20:23
El_Che Not meant to rekindle the fire, but a view on where we are today
mst having a decent summary of the multiple overlapping positions involved should hopefully be a net win 20:29
pmurias El_Che: re VMs are interchangable did you mean -mostly Perl *6*'s-? 20:54
El_Che pmurias: I mean that Perl will stay perl even if perl5 is replaced by perl6 20:56
(thx, I will clarify that)
(updated) 20:58
lichtkind is 6.d officially out? 21:49
stmuk the raku specification is out and its default on master of rakudo 22:01
lichtkind rhanks stmuk 22:11
lizmat refrains from making a comment 22:12
benjikun that is a comment
stmuk its an undefined comment just not the most undefined comment :) 22:14
benjikun not with some context heh 22:15
lichtkind i meant thanks stmuk 22:17
lizmat let me put it this way: stmuk is helping me in my argument that "Raku Perl 6" is a thinly veiled attempt at a full rename of Perl 6
benjikun I don't think it's veiled 22:18
El_Che this didn't take long 22:20
stmuk I think the meaning of "refrains" has been overloaded!
woolfy Claudio Ramirez: Hoi, ik ben je stuk aan het lezen... ik hoop dat je deze kleine typo accepteert: "Perl 5 in not really active on Github and the code mirror there..." -> (in -> is) -> "Perl 5 is not really active on Github and the code mirror there ..." 22:29
(sorry for the Dutch... irc did not let me contact Claudio personally... some thing with registration of my nickname dat I tried to do but that did not work out) 22:30
lucasb I thought it was rot13 22:31
j/k :) 22:32
benjikun lol
woolfy Hehe 22:35
Claudio Ramirez: "and a feeling of not being listen to." -> "and a feeling of not being listened to." 22:36
Claudio Ramirez ++: I like the article. We disagree on minor points. Thank you. 22:38
AlexDaniel lichtkind: regarding the language version defaulting to v6.d on master, there's a chance that rakudo 2018.11 will not default to v6.d 23:47
lichtkind: see this ticket: github.com/rakudo/rakudo/issues/2451
I'm a bit busy at the moment so cannot work on submitting PRs to affected modules 23:48