»ö« 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.
00:03 cpan-p6 left 00:04 cpan-p6 joined 00:06 Sgeo_ joined 00:07 MidCheck joined 00:09 Sgeo__ left 00:11 Black_Ribbon left, Sgeo__ joined 00:14 Sgeo_ left 00:22 aborazmeh joined, aborazmeh left, aborazmeh joined 00:26 ufobat_ joined 00:30 ufobat left, cpan-p6 left, cpan-p6 joined 00:31 w_richard_w joined 00:39 mowcat left 00:43 mowcat joined 00:44 mowcat left, cpan-p6 left
kawaii tbrowder: I use Dovecot for incoming and Postfix for outgoing. 00:44
00:44 mowcat joined 00:45 cpan-p6 joined 00:47 kurahaupo left, kurahaupo joined 00:52 rindolf left 00:57 w_richard_w1 joined, w_richard_w left, w_richard_w1 is now known as w_richard_w, ferreira left 01:06 netrino left 01:10 cpan-p6 left, cpan-p6 joined 01:16 w_richard_w left, w_richard_w joined 01:17 zacts left 01:22 ayerhart left 01:23 ayerhart joined, cwilson joined 01:38 zacts joined 01:39 ryn1x joined 01:45 markoong left
MasterDuke nqp-j: is(nqp::sprintf('%17.3g', [3.000000000000e-04]), ' 0.0003', '%17.3g 3.000000000000e-04'); 01:55
02:05 squashable6 left 02:07 aborazmeh left 02:10 squashable6 joined, ChanServ sets mode: +v squashable6 02:17 MidCheck left, w_richard_w left 02:20 molaf_ left 02:21 mowcat left 02:26 aborazmeh joined, aborazmeh left, aborazmeh joined 02:28 squashable6 left 02:31 squashable6 joined, ChanServ sets mode: +v squashable6 02:33 molaf_ joined 02:34 aborazmeh left 03:02 zacts left 03:14 squashable6 left 03:18 squashable6 joined, ChanServ sets mode: +v squashable6 03:35 zacts joined
tbrowder kawaii: thnx 03:42
03:57 MidCheck joined 04:05 zacts left
zostay m: my @a = "a" => $=1, "b" => $(2); @a[0].value = 3; dd @a; @a[1].value = 4; dd @a 04:22
camelia Array @a = [:a(3), :b(2)]
Cannot modify an immutable Int (2)
in block <unit> at <tmp> line 1
zostay I would expect both of those to work the same. 04:23
But clearly one pair is getting a scalar in the pair value and the other is being treated the same as if "b" => 2.
While tracking down a recent regression in ArrayHash, I noticed also that @a = "a" => 1 behaves differently in 2018.10 from 2018.06 and earlier. In earlier rakudo's, the Pair got a Scalar container for the value, but not so anymore. 04:25
However, if we make a hash that's assigned the same way, the value still always gets a Scalar container. I am only assuming there's a reason for the difference, but the new behavior feels slightly less consistent. 04:26
m: my %h = "a" => 1; %h<a> = 2; dd %h; my @a = "a" => 1; @a[0].value = 2; dd @a 04:27
camelia Hash %h = {:a(2)}
Cannot modify an immutable Int (1)
in block <unit> at <tmp> line 1
zostay Anyway, just an interesting TIL discovery this evening. You can see here for more of my write-up: github.com/zostay/perl6-ArrayHash/issues/11 04:28
AlexDaniel zostay: that's right, $(2) is just 2 in scalar context 04:31
04:35 zacts joined 04:37 abraxxa joined, abraxxa left, abraxxa joined 04:44 isomorphismes left 04:45 abraxxa left
Kaypie when i run this, it prints "Beginning ping/pong..." but exits without printing any of the pings or pongs hastebin.com/inesirejuk.pl 04:46
04:46 Kaypie is now known as Kaiepi
Kaiepi is this a bug? 04:46
04:50 Sgeo_ joined
zostay AlexDaniel: I was given a different impression from reading this sentence in the lead paragraph of docs.perl6.org for the Scalar class: A literal Scalar may be placed around a literal value by enclosing the value in $(…). 04:51
04:51 Cabanossi left 04:53 Sgeo__ left
AlexDaniel zostay: ahh… yeah that's weird 04:54
single argument rule kicking in again? I'm not sure
sortiz m: $(2,).VAR.WHAT.say 04:55
camelia (Scalar)
sortiz m: $(2).VAR.WHAT.say
camelia (Int)
sortiz Yep. 04:56
04:58 Cabanossi joined 05:00 abraxxa joined, k_ joined 05:01 cwilson1 joined
zostay Kaiepi: no, you're emitting ping to a live Supply before tapping, so the message is already gone when the taps start 05:02
you want to use a Supplier::Preserving to buffer the messages until tapped or move the emit ping out of the ENTER and just put it at the end of the react block after all the whenevers
that way the taps are already setup when you perform the first ping emission 05:03
05:04 cwilson left 05:05 sno left
zostay Kaiepi: see here: gist.github.com/zostay/9873b4af942...a26df711d9 05:06
05:16 sjn left 05:20 k_ left 05:23 sauvin joined
Kaiepi ah, ok 05:35
thanks zostay 05:36
05:57 curan joined 05:58 ryn1x left 06:14 zakharyas joined 06:19 kerrhau left 06:27 Xliff_ joined 06:29 phogg left, Xliff left 06:34 zacts left 06:35 phogg joined 07:12 Black_Ribbon joined 07:23 ravenousmoose joined 07:26 sena_kun joined 07:34 pistacchio left 07:35 pistacchio joined 07:51 ab6tract joined
ab6tract camelia: seen japhb 07:52
camelia: !seen japhb
ah, i don't remember how that works.. obviously...
sena_kun .seen japhb
yoleaux I saw japhb 10 Mar 2019 23:29Z in #perl6-dev: <japhb> jnthn: Do you still have time on your Perl 6 grants left, or are those coffers emptied?
ab6tract .ask japhb Did you get my email about the future of Terminal::Print? I sent it to the account listed in the perl6 contributors doc. 07:53
yoleaux ab6tract: I'll pass your message to japhb.
ab6tract thanks sena_kun :)
08:05 squashable6 left 08:06 squashable6 joined 08:20 vrurg left 08:21 robertle joined 08:45 |oLa| joined 08:46 ayerhart left 08:56 kensanata joined 08:58 dakkar joined 09:16 MidCheck left 09:19 molaf_ left
SmokeMachine English isn't my first language, so it is very difficult to me... could some one help me, please? github.com/FCO/Red/issues/121 09:26
09:28 ayerhart joined 09:31 scimon joined
masak has anyone called into libgit2 from Rakudo's Perl 6? is there prior art on Github somewhere? 09:35
ah, modules.perl6.org/dist/LibGit2:cpan:CTILMES 09:37
AlexDaniel squashable6: status 09:39
squashable6 AlexDaniel, Next SQUASHathon in 23 days and ≈2 hours (2019-04-06 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel releasable6: status
releasable6 AlexDaniel, Release manager is not specified yet.
AlexDaniel, Next release in ≈38 days and ≈9 hours. 7 blockers. 0 out of 32 commits logged
AlexDaniel, Details: gist.github.com/f8ee4f6308eac444c6...d3d946f37e
09:44 pmurias left 09:46 Cabanossi left
El_Che lo 09:55
SmokeMachine does anyone think more stuff should be added here? github.com/FCO/Red/projects/1 09:57
09:57 drclaw3 joined 09:58 Cabanossi joined 09:59 drclaw2 left 10:00 MidCheck joined 10:01 drclaw3 left 10:06 pmurias joined 10:10 rindolf joined, ravenousmoose left 10:11 ravenousmoose joined 10:20 ravenousmoose left 10:24 Black_Ribbon left 10:35 sjn joined 10:43 ravenousmoose joined 10:52 kerrhau joined
tbrowder SmokeMachine: wiki home "laud" => "loud" 10:52
SmokeMachine tbrowder: thanks! 10:55
tbrowder you're welcome. i am a real db novice, but i think i could get used to a red interface to a db. 10:56
11:03 lizmat_ joined, rindolf left
kawaii speaking of database interface documentation, it's always nice to have more basic examples for novice users. I personally had problems when I first started using DBIish because nothing told me how to just get a single value from a single SELECT statement, instead I had to figure out that I needed to put the result into an array and access it like `@data[0]`, because such a simple example was missing. 11:04
11:05 lizmat left
kawaii I think that Perl 6 is a really fun and _easy_ language to learn, but that module developers get ahead of themselves and write documentation geared towards experts primarily - which is why languages and ecosystems such as node and npm thrive with new developers attracted to it because the documents are super newbie friendly 11:05
El_Che SmokeMachine: to my shame I haven't used Red yet. There is a feature I like a lot on other database lib that may be handy. Specifically I like how they can create tables from the defined data structures 11:08
tbrowder can red have a column containing an array or a hash? 11:10
hahainternet req: I'd like to be able to call phasers directly, to avoid code duplication (rather than refactoring it out into a tiny ugly function)
but &LAST() would be lovely, i don't know if there are fundamental incapabilities there
SmokeMachine El_Che: like this, for example? 11:11
tbrowder: not yet... but: github.com/FCO/Red/issues/58
lizmat_ m: my $b = { FIRST say "hello world" }; $b.phasers("FIRST")[0]() # SmokeMachine 11:12
camelia hello world
11:12 kerrhau left
lizmat_ oops, I meant hahainternet ^^ 11:12
SmokeMachine lizmat_: wasn't that to hahainternet ?
yes...
11:12 lizmat_ is now known as lizmat
hahainternet lizmat_: oh interesting, i don't have a named block though, this is within the block :( 11:12
jnthn tbh, I'd just extract the common code to a subroutine and do `LAST the-sub()`
hahainternet jnthn: yeah, just makes it a little ugly 11:13
atm it is LAST { take ($c => $l) }
jnthn You can even do `LAST sub foo() { blah }();` but don't tell anyone it was me who suggested it :P
hahainternet i assume i could define the block in-line so it closes
but it'd still be more verbose and just about as ugly :p
still, that's very close to what i'd like lizmat tyvm 11:14
lizmat m: my $b = { LEAVE say "hello world"; &?BLOCK.phasers("LEAVE")[0]() }; $b()
camelia hello world
hello world
lizmat looks like the FIRST phaser is guarded at being called more than once
hahainternet oh intriguing, i was totally unaware of &?BLOCK
well this is fine, it's just an operation that has to be carried out periodicaly inside a loop, /and/ as the loop exits 11:15
so just trying to make it succinct, going to google &?BLOCK now, thanks again
El_Che SmokeMachine: doc.gorm.io/database.html#migration
food
SmokeMachine El_Che: yes, we have the `.^create-table` and we are planning a "migration" also... github.com/FCO/Red/issues/15 11:17
hahainternet lizmat: hmm looks like that isn't on the site anywhere? i may be blind
11:17 rindolf joined
lizmat he... docs.perl6.org/language/variables#...26%3FBLOCK works though... 11:18
will fix
hahainternet oh, sorry lizmat i meant the .phasers method 11:19
there's one entry for a .phaser
but no entry for phasers in Block or Sub or through the search
tbrowder SmokeMachine: i have a simple use case, one table, one row per person with a bunch of data columns. will it work basic crud ops with sqlite? 11:21
SmokeMachine tbrowder: sure... 11:22
tbrowder ok, then i'll give it a whirl. i can fake an array for now! 11:23
SmokeMachine tbrowder: you can use custom inflators/deflators to use array... it does not have a default type yet... github.com/FCO/Red/blob/master/exa...dex.p6#L18 11:24
tbrowder: this example uses a Set... 11:25
timotimo we don't have an API to "create" a CArray that refers to the contents of another CArray, but offset by a given amount, right? 11:26
only by going via CPointer?
tbrowder it looks like the set suits my needs perfectly, thanks! 11:28
SmokeMachine tbrowder: www.irccloud.com/pastebin/LcPYe8Zl/ 11:31
tbrowder: oh! great! 11:32
Geth doc: 0e30141204 | (Elizabeth Mattijsen)++ | doc/Language/variables.pod6
Remove erroneous X-ref for &?BLOCK
tbrowder SmokeMachine: thnx, i'll report experience after i get the db working 11:36
SmokeMachine tbrowder: thanks! 11:38
11:42 zakharyas left 11:46 clarkema joined
sortiz timotimo: Some kind of subcarray(CArray:D, Int :$offset, Int :$size) ? 11:51
12:01 pistacchio left 12:02 pistacchio joined 12:08 pistacchio left
timotimo sortiz: CArray doesn't even have $size :) 12:17
that's what makes it CArray, more or less 12:18
pmurias kawaii: by novice users you mean ones new to Perl 6 or new to the module? 12:19
tbrowder .ask jmerelo have you seen any student interest in gsoc for p6? 12:21
yoleaux tbrowder: I'll pass your message to jmerelo.
pmurias tbrowder: I saw at least one student interest in the docs 12:22
sortiz timotimo: A "managed" CArray have .elems, so an allocated size of .elems * sizeof(arr.^array_type), no?
tbrowder pmurias: thnx
timotimo hm, does CArray actually do bounds checks?
sortiz No, they simple grow. 12:23
timotimo oh, duh
of course they do
sortiz But a CArray[t] returned by nativecast is "unmanaged", so with an undetermined size. 12:27
kawaii pmurias: both I suppose :) although someone might argue that if you're experienced with all the core parts of perl 6 then you should have no problem reading a poorly documented module's code and figuring it out yourself.
speaking from experience, new people are afraid of joining places like the IRC to ask newbie questions because just the mention of 'perl' has this intimidating vibe around it, despite how friendly and helpful everyone here is :) 12:28
12:30 AlexDaniel left
kawaii I think we're also approaching a future where, 'the next generation of programmers' are not familiar or comfortable with communication. methods such as IRC. They grew up with Slack, Discord and such, IRC must seem positively archaic in comparison. :) 12:31
pmurias Slack doesn't seem significantly different from IRC 12:33
lizmat so what does Discord have that IRC doesn't ?
12:34 molaf joined
pmurias lizmat: familiar gui? 12:34
kawaii Discord is a proprietary communication platform (i.e. a walled garden), it has a lot of features that we don't need or care about such as voice and video chat, instances are split into 'servers' which have 'channels' as children.
lizmat kawaii: I see 12:35
kawaii I'm not advocating for us to use it, we already have a discord->IRC bridge here anyway
mst kawaii: people have been saying that for a while though - I remember back in '02 or so when web forums meant mailing lists were dead. usenet eventually died, mailing lists continue, and forums tended to evolve into things with threads that functioned mailing list like
kawaii I suppose the point I'm trying to make is more about getting 'new blood' into the language 12:36
I'm willing to bet I'm one of the youngest people here, and I'm only 24
Some kid fresh out of college is going to look at Node.js or Go or something and see that they have a forum and a Slack, then look at Perl 6 and see 'IRC...?' 12:37
mst sure. though equally, what I see is a community that doesn't hate disabled people
(which having only a slack or a discord basically means) 12:38
anyway, this sort of navel gazing never, ever goes anywhere, so "let people use whatever they like but bridge them as much as possible" is the Correct answer
meanwhile, you're 100% right about the intro docs but that's always always been a problem for everybody - it's hard to know what isn't obvious once it's already obvious to you 12:39
hence why I've always had a stupid question credits for doc patches policy for my code
but when you find a synopsis that's confusing like that, please *please* send a quick PR, even if you're not sure if it's accurate 12:40
because it's a lot easier for an author to correct a wrong patch for that sort of thing than to know what they need to cover in the patch in the first place
pmurias synopsises are great, they help a ton in Perl 5 land as figuring how to get started with a module is often the hardest part 12:41
(even if you are willing to read the code) 12:42
kawaii DBIish was my earlier example, which has some really good examples of more advanced things, but a newbie just wants to know how to SELECT and INSERT single rows and values most of the time. :)
once you have the baseline of a module's functionality, you can normally guess your way around the rest of the features 12:43
timotimo xinput test 14 | perl6 -e 'use Audio::PortMIDI; my $pm = Audio::PortMIDI.new; my $stream = $pm.open-output($pm.default-output-device, 32); my %note-map = <24 11 25 12 26 27 14 28 15 29 16 30 31 18 32 19 33 34>.antipairs; for lines() { my $noteNumber = .words.tail; my $onOff = .words[1] eq "press" ?? NoteOn !! NoteOff; with %note-map{$noteNumber} { my $note = Audio::PortMIDI::Event.new(channel => 1, data-one =>
50 + $_, data-two => 127, timestamp => 0, event-type => $onOff); $stream.write($note) }; if $noteNumber == 36 { last } }; $stream.close; $pm.terminate;'
kawaii as a beginner, I'd like a module's docs to start out explaining it to me like I'm 5 years old :)
timotimo ^- how to turn a keyboard that you made floating with "xinput float" into a midi keyboard 12:44
mst kawaii: yes. I got your example. I am suggesting that rather than explaining repeatedly what is obvious to people *once they've read what you said* but not before, you immortalise your thoughts in the form of a patch, because that's how documentation improves
timotimo annoyingly, i can't find out how to turn off key repeat 12:45
so holding down keys doesn't actually work right
kawaii mst: agree, and I will probably at least attempt to do that in the near future, even if how I figured out how to do my thing was the wrong way. I know I'm not going to be ridiculed here or on Github for asking a really basic question, but others don't and we probably need to emphasise that more. :) 12:47
the perl 6 website actually seems to use pretty friendly wording, so I'm not sure why more people new to programming don't pick up the language 12:48
I came from a background of about 7 years of PHP, so was extremely surprised to learn how easy it is to pick up and use Perl 6
(considering what people say about 'perl' in general)
pmurias kawaii: I don't think people new to programming make the choice by going through all the programming language websites and choosing one they like the most 12:50
kawaii not sure, I was 17 and Googled 'learn programming', the first result was PHP and there we go ¯\_(ツ)_/¯ 12:51
then I started a job at $work, where we're mainly a perl5 shop making webapps and such (though my role is sysadmin, not dev), when a colleague suggested (as a joke) we make some stuff in perl 6, and here we are :) 12:52
funnily enough, we wanted to make a Discord bot, but we needed a library to do so, and that's how we got started on API::Discord 12:53
pmurias one idea to make skimmpy (or less precise docs) easier to read would be to bring back "smart links" 13:00
sortiz timotimo: Any way, seems that creating a CArray that "refers" to the content of a "managed" CArray is a bad idea, bc the latter can be moved with no way to be noticed.
pmurias back in the pugs days the roast tests had a way to mark which part of the synopsis (specs/docs) they where testing 13:01
timotimo i'm hoping i can fix things by giving every CArray and CPointer a pointer to the "original" that they're based on, but that's mostly for ownership stuff
pmurias so the tests could be displayed inline in the docs
timotimo since currently CArrays embedded inside CStructs will try to free their own pointer even though their pointer points to a place inside an actually allocated piece of memory
that makes malloc rather unhappy
13:03 ab6tract left
pmurias example of smart links: design.perl6.org/S04.html#The_repeat_statement 13:05
sortiz That the reason that I only use "unmanaged" ones when embedded in CStructs :) (i.e Never ever create them with .new) 13:07
13:08 rindolf left
timotimo sadly, accessing a CStruct's embedded CArray also creates one that thinks it's managed 13:10
i think
13:16 rindolf joined
Geth doc: aa2ae69355 | (Ben Davies)++ | doc/Language/js-nutshell.pod6
Document types in the JS nutshell
13:17
doc: d51cadd378 | (Ben Davies)++ | doc/Language/js-nutshell.pod6
Correct Hash types documentation, document Routine types
doc: 3f668ae638 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/js-nutshell.pod6
Merge pull request #2656 from Kaiepi/nodejs

Document types in the JS nutshell
13:17 pistacchio joined
13:19 vrurg joined
tbrowder SmokeMachine: Red v0.3 hangs on test for me while installing with zef. my p6 version is 2019.03 13:22
SmokeMachine tbrowder: what's your OS? 13:23
tbrowder deb 9, 64-bit
i have forked red, i'll check if that tests ok... 13:25
SmokeMachine tbrowder: odd... but it's a Mac... www.irccloud.com/pastebin/skNXFmpA/ 13:27
tbrowder: im installing rakudobrew on a vm... 13:28
tbrowder well, let me check agan, the test hung so i killed it maybe too early... 13:29
SmokeMachine tbrowder: it can take some time...
tbrowder ok...testing now... 13:30
it would be very cool if zef could incorporate estimated test time from ecosystem history somehow... 13:32
still testing... 13:33
success! 13:34
SmokeMachine tbrowder: \o/ 13:36
13:40 socomm joined
sortiz o/ #perl 13:43
13:46 sortiz left 13:55 rindolf left 14:00 rindolf joined 14:21 john_parr left 14:22 john_parr joined
pistacchio hi, i have a quick question, don't know if this is a grammar thing or a language thing. anyway, i was looking at this perl6 example here www.rosettacode.org/wiki/Poker_hand...ser#Perl_6 and i'm not quite sure about the "@<face-card>" in "PokerHand::Actions"' "sub n-of-a-kind($/)". what is it? the only other part where i can find "face-card" is within the grammar. how and why does the method of a class access a token 14:23
of a grammar defined in another place? also, what's the "@<face-card>" syntax?
Geth doc/coke/clean-spell: fa046b0058 | Coke++ | 2 files
remove words that are no longer needed

Maybe:
  * Now in dictionary
  * Now unused
  * No longer mistakenly marked as incorrect by xt/aspell.t
14:24
14:24 llfourn left, socomm left 14:25 llfourn joined
SmokeMachine pistacchio: `@< face-card>` is the same as `@($/< face-card >)` 14:30
pistacchio: so it contains what the grammar matched on `<face-card>`
m: "aaaaaaaaaaaaaaaaaaa" ~~ /[$<bla>="a"]+/; say @<bla> 14:31
camelia [「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」 「a」]
pistacchio SmokeMachine: oh, ok, thanks! is this "implicit access to the matched regex element" documented anuwhere? 14:33
SmokeMachine pistacchio: docs.perl6.org/syntax/$$SOLIDUS 14:34
pistacchio SmokeMachine: great, thank you very much 14:35
14:37 john_parr left 14:38 john_parr joined 14:44 cwilson1 left 14:47 Cabanossi left 14:52 brrt joined 14:53 rindolf left 14:56 lizmat left
pistacchio is `+@suits == 1;` equivalent to `@suits.elems == 1`? 14:56
14:58 rindolf joined, lizmat joined 14:59 Cabanossi joined 15:10 woolfy left 15:17 Sgeo__ joined 15:20 Sgeo_ left 15:23 lizmat left 15:25 lizmat joined 15:26 lizmat left 15:27 scimon left 15:33 lizmat joined 15:34 woolfy joined 15:38 curan left
discord6 <Vendethiel> m: ~Date.new(Date.today.year,1,1,:formatter{die}).later(:3days);say "I survived!"; ~Date.new(Date.today.year,1,1,:formatter{die}); say "will not reach here"; 15:45
timotimo m: ~Date.new(Date.today.year,1,1,:formatter{die}).later(:3days);say "I survived!"; ~Date.new(Date.today.year,1,1,:formatter{die}); say "will not reach here";
camelia WARNINGS for <tmp>:
I survived!
Useless use of "~" in expression "~Date.new(Date.today.year,1,1,:formatter{die}).later(:3days)" in sink context (line 1)
Useless use of "~" in expression "~Date.new(Date.today.year,1,1,:formatter{die})" in sink co…
timotimo ah, so using :later just drops the formatter property, he? 15:46
hahainternet is there a way to do the equiv of pull-one from a Seq? I want to loop over the seq, but after i grab the first element 15:47
discord6 <Vendethiel> timotimo: seems like it, yeah :-( 15:48
<Vendethiel> I don't like the formatter too much to start with
timotimo sounds like an easy bug to fix
15:52 olaf joined
discord6 <Vendethiel> certainly. but it's too late for my need, so first I'm gonna think some more how to golf it 15:55
<Vendethiel> nothing built-in for month names either, mmh 15:56
15:59 olaf left 16:04 dantes joined 16:05 cwilson joined 16:10 cwilson left 16:11 cwilson joined, olaf joined 16:16 olaf left 16:18 kensanata left 16:24 cwilson left, sno joined 16:25 cwilson joined 16:26 cwilson1 joined 16:28 olaf joined 16:30 cwilson left
Geth doc/coke/clean-spell: 0b25382e69 | Coke++ | util/clean-spell
Utility script for cleaning up dictionary files

After recent fixes to the spell checker, we have a lot of "words" that aren't needed.
Also finding some that just aren't used anymore.
Also finding some that are included in the dictionary now.
16:38
doc/coke/clean-spell: 01dca5d13f | Coke++ | 2 files
remove words that are no longer needed

Maybe:
  * Now in dictionary
  * Now unused
  * No longer mistakenly marked as incorrect by xt/aspell.t
16:40 pmurias left 16:41 cwilson1 left 16:58 TimToady left 16:59 TimToady joined 17:00 dantes left 17:04 brrt left 17:11 dogbert17 left 17:15 pistacchio left, pistacchio joined 17:19 lelf joined 17:20 pistacchio left 17:23 mowcat joined
lelf m: $*COLLATION.set(:!secondary:!tertiary:!quaternary); say "e"coll"\c[latin small letter e with tilde]" 17:28
camelia More
lelf why not Same?
17:32 dakkar left
timotimo good question 17:40
kawaii Does anything like PSR-2 for PHP, exist yet for Perl 6?
timotimo what is that? 17:41
kawaii PSR-2 is a coding style guide for PHP, to attempt to get PHP developers to write clean code :)
www.php-fig.org/psr/psr-2/
sena_kun I don't think there is one. 17:50
guides such as indentation style and so are usually sanity-driven or company-driven. guides such as "don't use those constructions, but use other constructions" are useless in Perl 6. :) 17:54
17:57 cwilson joined
sena_kun >The PHP constants true, false, and null MUST be in lower case 17:59
is it possible to write "FaLsE" in PHP?
18:00 cwilson1 joined
timotimo ThAt'S tRuE i GuEsS 18:00
sena_kun oh wow 18:01
TIL
anyway, from what I see:
timotimo i have never tried it
sena_kun 1)I'd argue that most of rules are either self-obvious or arbitrary(you rarely want to write "sub foo( $a ,$b ,$c)", for example); 18:02
18:02 cwilson left
sena_kun 2)We do have work in progress implementation of Perl6::Tidy, which should do stuff like trailing newlines, spacing and so on. Don't know what the state exactly though. 18:02
18:03 zacts joined
robertle I don't know, back then the perl best practices book did have quite an effect on me, and I believe on others as well. TIMTOWTDI does not mean it is wise to use each and every way there is all over the place 18:03
sena_kun but yes, 4 spaces indentation for the world. ;>
18:04 cwilson joined
sena_kun I don't mean using every way you know just for the sake of it. More like a "most fitting tool for the task" thing. 18:04
18:05 pistacchio joined
robertle yeah, but also that as a developer, no matter what the language, you need to have restraint and use the least surprising tool that still fits the job 18:05
sena_kun comparing to e.g. Python. I have used it for years, but even know I am like "eh, no case statement? really? eeeeeeeh? sigh". 18:06
agreed on the least surprising way of doing things and commenting otherwise. hard to argue with sanity. :)
18:08 cwilson1 left 18:10 pistacchio left
timotimo hot take: when perl6 gets goto, we should definitely support duff's device 18:11
robertle can't we already do duff's with gather/take? 18:17
18:17 robertle left
timotimo duff's device is kind of an optimization, and gather/take isn't very fast 18:17
18:20 olaf left 18:21 sauvin left 18:26 MidCheck left 18:28 mowcat left 18:40 pistacchio joined 18:44 zacts left 18:45 pistacchio left 18:54 zacts joined 19:02 MilkmanDan left 19:03 MilkmanDan joined, john_parr_ joined 19:04 john_parr left, john_parr_ is now known as john_parr, kst` joined 19:06 leont joined
Kaiepi i had no idea public attributes had methods associated with them until i got stuck debugging some code like this for an hour: 19:08
19:08 kst left
Kaiepi m: class A { has $.a; submethod BUILD { $_.wrap({ return; }) for self.^methods } }; say A.new(:1a).a 19:08
camelia Attempt to return outside of immediately-enclosing Routine (i.e. `return` execution is outside the dynamic scope of the Routine where `return` was used)
in block <unit> at <tmp> line 1
Kaiepi m: class A { has $.a; submethod BUILD { $_.wrap(anon method (|) { return; }) for self.^methods } }; say A.new(:1a).a
camelia Nil
Kaiepi m: class A { has $.a; submethod BUILD { $_.wrap(anon method (|) { return; }) for self.^methods.grep({ .name ne any self.^attributes.map({ .name.substr: 2 }) }) } }; say A.new(:1a).a 19:09
camelia (Any)
Kaiepi m: class A { has $.a; submethod BUILD(:$!a) { $_.wrap(anon method (|) { return; }) for self.^methods.grep({ .name ne any self.^attributes.map({ .name.substr: 2 }) }) } }; say A.new(:1a).a
camelia 1
sena_kun >Note that this is not like declaring a public attribute, as some languages allow; you really get both a private attribute and a method, without having to write the method by hand 19:14
as stated in OOP tutorial.
sena_kun has already spent 3 days debugging a very odd Comma bug related to binary generation and can bet it would turn out to be something silly in the end 19:16
Kaiepi ah 19:18
19:22 molaf left 19:25 a_ joined, a_ left 19:28 zacts left 19:34 netrino joined 19:37 Black_Ribbon joined
tyil apparently there's a Google Summer of Docs too 19:41
is this something the Perl 6 documentation could get in addition to the GSoC?
19:42 netrino_ joined, netrino left 19:46 albongo left 19:47 [Coke] joined, [Coke] left, [Coke] joined, albongo joined, albongo left, albongo joined 19:50 pistacchio joined 19:58 matias joined, matias is now known as matiaslina 19:59 matiaslina left
Geth doc: 352c3d7508 | Coke++ | xt/headings.t
Fix case on JavaScript, allow Node.js also
20:00
[Coke] waves, briefly.
20:01 zacts joined 20:04 Kaiepi left, pecastro joined 20:05 Kaiepi joined
kybr does anyone use Comma? does the IdeaVim plugin work for you? 20:05
sena_kun kybr, I can try it out in a bit.
debugging Comma right now. ;)
20:06 zacts left, zacts joined
kybr i am using CT. i get an exception on the first keystroke. it does not work.. for me 20:07
sena_kun I'll try it out in 10 minutes, I hope, once I'll be able to confirm another issue fix. Then I'll take a look and either try to fix your issue or file a ticket if you are not already. 20:08
El_Che kybr: I hear everyone that uses the vi plugin complained (not related to comma, but in general) 20:09
20:10 brrt joined 20:13 abraxxa left 20:17 dogbert17 joined 20:19 abraxxa joined
[Coke] any idea what the difference is between Comma SE and Comma CP is? 20:20
El_Che SE?
timotimo the profiler and coverage recording for tests 20:21
sena_kun [Coke], SE is Supporter edition, which is now outdated && superseded by CP(which is "ComPlete"). 20:22
El_Che commaide.com/faq <-- the second question show the differences between community and complete if that's what you mean
(ah ok, ignore my answer then)
timotimo oh, oops
[Coke] I just downloaded a version from edument, which I thought had both in it. 20:23
sena_kun firstly there was only paid SE, but now it is CT(which is CommuniTy) and CP(which is a logical continuation of SE development).
[Coke] huh. must have just gotten lucky in my Downloads Folder. 20:24
Thanks.
sena_kun [Coke], if you have participated in early supporter program and so have a copy of SE around, I think you do want to replate it with latest, which is CP. :)
*replace 20:25
[Coke] Ugh, ok, can't open files and getting errors in the GUI (reported them both back out) 20:26
20:26 lelf` joined
sena_kun [Coke], thanks for reports. Is the project oyu are opening open? 20:27
timotimo java: write once, fail everywhere
sena_kun *you
timotimo oh, you're right
java: write once, you everywhere
java: write once, fail you
[Coke] sena_kun: looks like it error several times trying to open the project. I did finally manage to get into the project and edit a file. 20:28
20:28 lelf left
sena_kun [Coke], ugh... I suspect Mac? 20:28
kybr, I can confirm the issue with IdeaVim. However, it comes from the plugin code(considering the stacktrace), so I am not sure we can do anything with it. 20:29
[Coke] Yes, mac. 20:30
4:29 PM Unable to save settings: Failed to save settings. Please restart Comma
timotimo ah, that's fine, i've been getting that forever
sena_kun well, from all Comma devs only jnthn has access to mac for debugging, so I am at no use here. :| 20:31
[Coke] sena_kun: the "unable to save settings" error doesn't seem to be showing up in the possible items to send to edument 20:35
20:35 Kaiepi left 20:36 Kaiepi joined
sena_kun that's internal idea error, so it can't be sent. but we are aware about possible issues on Mac and, well, work on it. 20:36
20:36 lelf` left
kybr im on a mac as well 20:36
moritz jumping to definitions doesn't seem to work at all for me :( 20:38
sena_kun moritz, jumping to what definitions? for your locals? for externals?
moritz I've tried it for a sub, a grammar, and a grammar rule 20:39
sena_kun this should be reported for sure.
moritz nor for a method param
sena_kun if you do simple `my $abc;\nsay $abc` and then execute go to definition when cursor is on second `$abc`, will it move? 20:40
20:41 zachk joined
[Coke] offtopic: anyone here 3dprint? 20:41
moritz sena_kun: that works 20:42
sena_kun: I opened a project (moritz/json on github) from version control 20:43
20:43 zachk left, zachk joined
kybr i just downloaded CLion, an IDEA-based c++ IDE. the same plugin (IdeaVim) works fine. 20:43
sena_kun moritz, ok, so it's not _so_ bad... I'd be very grateful if you could file a ticket for cases that don't work for you.
moritz sena_kun: where?
sena_kun moritz, comma website. if you don't have an account yet, you still start from "Buy", then it'll allow you to specify some data, then you just omit subscription part, and "Submit Feedback" item in the menu. 20:44
you can use markdown. please golf and add up to the report code examples(or specify exact code repository), specify where the caret is, what is expected and so on, so we could turn it into tests and implement later. :) 20:46
20:46 brrt left, pochi_ is now known as pochi
sena_kun I suspect some things may be just in our TODO list, but some may be just usual bugs. 20:46
kybr, I wonder what may be the issue then. Can you file a ticket so I won't forget about it? :) 20:49
El_Che sena_kun: maybe it's be a good idea to distribute Comma CE through the plugin infrastructure of IntelliJ? Downloading zips is not really the intellij way...
sena_kun El_Che, --> jnthn. :) 20:50
El_Che yeah, I highlightened bim a few days ago :)
tadzik well, pycharm is also a standalone thing
I don't know about others
El_Che tadzik: no, all the standalone ide's are available as plugins for intellij 20:51
tadzik oh, I had no idea
El_Che tadzik: I used the plugin equivalent to Gogland
Comma follows the same model, but the plugin is not part of the plugins you can install from the IDE itself 20:52
20:55 kst` left 21:04 drclaw3 joined 21:05 pistacchio_mob joined 21:06 pistacchio_mob left 21:10 pistacchio_mob joined 21:12 pistacchio_mob left 21:18 Sgeo_ joined 21:21 Sgeo__ left
Geth doc: 0b25382e69 | Coke++ | util/clean-spell
Utility script for cleaning up dictionary files

After recent fixes to the spell checker, we have a lot of "words" that aren't needed.
Also finding some that just aren't used anymore.
Also finding some that are included in the dictionary now.
21:35
doc: 01dca5d13f | Coke++ | 2 files
remove words that are no longer needed

Maybe:
  * Now in dictionary
  * Now unused
  * No longer mistakenly marked as incorrect by xt/aspell.t
doc: 568341114d | (Will Coleda)++ (committed using GitHub Web editor) | 3 files
Merge pull request #2662 from perl6/coke/clean-spell

Remove unused words (and provide utility to find them)
21:36 pmurias joined
Geth doc: 7bfdd2c2fb | (Kane Valentine)++ | 5 files
replace 'sigilled' with 'sigiled'

This PR is a very rough draft to fix #2660. Feedback welcome.
21:39
doc: 49f31202d2 | (Kane Valentine)++ | xt/word-variants.t
fix incorrect word variant pair
doc: cfd759d1aa | (Will Coleda)++ (committed using GitHub Web editor) | 5 files
Merge pull request #2665 from kawaii/master

replace 'sigilled' with 'sigiled'
21:47 kurahaupo left, kurahaupo joined
Geth doc/master: 5 commits pushed by Coke++ 21:58
22:01 brrt joined 22:02 bobby left 22:04 bobby joined 22:09 squashable6 left 22:11 Xliff_ left, clarkema left 22:13 squashable6 joined 22:20 sena_kun left
Geth doc: 608d5f8944 | Coke++ | 3 files
Stub over existing role so examples can compile
22:20
22:21 [Coke] left
tbrowder SmokeMachine: in Red's README where is the "me" in sql chunks like "FROM post me" coming from? 22:23
SmokeMachine tbrowder: it was a old version...
tbrowder: there is no more me... :( 22:24
tbrowder woe is me?
me is no mo' 22:25
SmokeMachine I've copied from DBIC...
tbrowder i'm trying to use the code i see there, so it's a bit confusing. 22:26
22:27 pmurias left
tbrowder for a sqlite db what determines the actual file name? 22:27
22:27 pmurias joined
SmokeMachine tbrowder: `my $*RED-DB = database "SQLite", :database<./my-file.db>` 22:28
22:35 molaf joined
SmokeMachine tbrowder: any other problem? 22:36
22:40 zacts left 22:41 molaf left
tbrowder ah, not at the moment--thanks! 22:45
22:50 brrt left 22:51 squashable6 left 22:55 squashable6 joined 22:58 mowcat joined 23:02 leont left
SmokeMachine tbrowder: anything, please let me know 23:08
23:22 pmurias left 23:25 rindolf left 23:30 kerrhau joined 23:31 rindolf joined 23:32 uzl joined
uzl Hello, #perl6! 23:33
So I've been playing around with the Camelia logo and have done some minor changes. Does anybody more knowledgeable than me know if these changes fall under the Camelia logo's license? 23:35
23:36 MidCheck joined
uzl Links to sample images: mega.nz/#F!N2JwHY6B!Bh4Wt2dQbDnVXFGdmalkjw 23:36
23:36 sacomo left 23:46 kurahaupo left 23:47 kurahaupo joined 23:50 aborazmeh joined, aborazmeh left, aborazmeh joined