»ö« 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. |
|||
tbrowder | SmokeMachine: i'm trying to grok the code but it's too much for my brain, | 00:01 | |
how do i add a constraint to, say, ^create-table so it's a no-op if the table exists? | 00:02 | ||
i need a high-level cookbook example for basic crud. | 00:03 | ||
i'll go find your advent article! | |||
00:05
kurahaupo left,
kurahaupo joined
00:10
pecastro left
00:11
leont joined
|
|||
tbrowder | ah, that helps a lot. but i don't see how to tell red not to throw if a table exists | 00:11 | |
00:22
Sharparam left
00:23
aborazmeh left,
Sharparam joined
00:25
zachk left
00:27
ufobat__ joined,
kurahaupo left,
kurahaupo_ joined
00:30
ufobat_ left
00:32
kurahaupo_ left,
kurahaupo joined
00:39
_uzl joined
00:40
uzl left,
_uzl left
00:45
mowcat left
|
|||
timotimo | you could literally just catch the exception if the table exists :) | 00:46 | |
00:46
netrino_ left
00:53
kurahaupo left,
kurahaupo joined
00:58
w_richard_w joined
01:07
zacts joined,
zacts left
01:10
Actualeyes left
01:12
aindilis left
01:14
Kaiepi left,
aindilis joined,
Kaiepi joined
01:18
jeromelanteri joined
01:25
Khisanth left
|
|||
tbrowder | yeah, but i'm almost positive there is some adverb or test to do the right thing, i just haven't found it yet. | 01:29 | |
01:38
Kaiepi left
01:39
Kaiepi joined,
Khisanth joined
01:41
rindolf left
01:45
Kaiepi left,
isomorphismes joined
01:47
Cabanossi left
|
|||
tbrowder | timotimo: you may be right, catching may be the norm... | 01:47 | |
01:47
Kaiepi joined
01:49
Cabanossi joined
01:58
mniip left
|
|||
Geth | doc: 627fa4e8e4 | cfa++ | 2 files Spelling (whitelist). |
02:05 | |
02:14
kurahaupo_ joined
02:15
kurahaupo left
02:34
kst joined
02:43
w_richard_w left
03:09
mniip joined
03:22
zacts joined
03:53
leont left
04:12
zacts left
04:21
xinming_ joined
04:23
xinming left
05:13
sno left
05:15
MidCheck left
05:29
AlexDaniel joined
05:46
sauvin joined
05:51
curan joined
06:02
abraxxa left,
abraxxa joined
06:12
ufobat__ left
06:24
vike left
06:25
abraxxa left,
abraxxa joined
06:26
abraxxa left
06:27
abraxxa joined
06:28
sno joined
06:33
drclaw4 joined
|
|||
SmokeMachine | tbrowder: Red don’t do that yet... :( | 06:34 | |
06:35
drclaw3 left
06:37
vike joined,
drclaw4 left
|
|||
SmokeMachine | tbrowder: would you mind to open a issue asking for it? | 06:38 | |
06:38
abraxxa left
07:04
cwilson1 joined,
cwilson left
07:08
molaf joined
07:15
vike left
07:33
sno left
07:34
kurahaupo_ left,
kurahaupo joined
07:45
sena_kun joined
07:48
domidumont joined
07:53
jeromelanteri left
07:59
MidCheck joined
08:05
jeromelanteri joined
08:21
isomorphismes left,
molaf left
08:33
abraxxa joined
08:37
robertle joined
08:39
netrino_ joined
08:45
dakkar joined
08:53
antoniogamiz joined
09:00
kensanata joined,
netrino_ left,
w_richard_w joined,
w_richard_w left
09:01
kst` joined
09:02
kst left
09:04
jeromelanteri left
09:05
pmurias joined
09:06
ravenousmoose left
09:15
domidumont left
09:16
ravenousmoose joined,
jeromelanteri joined
09:17
domidumont joined
09:22
vike joined
09:24
scimon joined
09:26
jeromelanteri left
09:29
rindolf joined
09:37
netrino joined
09:39
jeromelanteri joined,
pmurias left
|
|||
antoniogamiz | if I have a file called "a.pm6" in the same directory as another called "b.pm6" and I type in b.pm6 use lib <.> use a; | 09:44 | |
that should load the exported content in a.pm6 right? | |||
09:45
netrino left
|
|||
antoniogamiz | oh I was in other directory that¡s why it didnt work... | 09:50 | |
09:50
kerrhau left
|
|||
kawaii | good morning | 09:52 | |
09:52
domidumont left
|
|||
antoniogamiz | o/ | 09:52 | |
09:56
dakkar left,
dakkar joined
|
|||
tbrowder | .tell SmokeMachine wilco | 10:02 | |
yoleaux | tbrowder: I'll pass your message to SmokeMachine. | ||
SmokeMachine | . | ||
yoleaux | 10:02Z <tbrowder> SmokeMachine: wilco | ||
SmokeMachine | tbrowder: sorry, what means wilco? | 10:03 | |
10:05
domidumont joined
|
|||
tobs | "will comply" | 10:07 | |
10:08
yqt joined
10:09
domidumont1 joined,
molaf joined
10:11
domidumont left
10:12
pistacchio left,
pistacchio joined
10:17
pmurias joined
10:35
bobby left
10:41
bobby joined
|
|||
SmokeMachine | tobs: thanks | 10:44 | |
10:58
john_parr left,
john_parr_ joined
10:59
jeromelanteri left
11:01
Black_Ribbon left
11:13
molaf left
11:17
kurahaupo left
11:18
leont joined
|
|||
tbrowder | SmokeMachine: wilco == will comply (from two-way radio jargon). issue has been filed | 11:20 | |
SmokeMachine: if i define a method on a model is it called like "obj.^mymethod"? | 11:22 | ||
SmokeMachine | no, obj.mymethod | 11:23 | |
the database interacting methods are owned by the meta class... | |||
but your model's methods is owned by your model, so you call it throw your model... | 11:24 | ||
tbrowder | oh! i would like to be able to update a column set by adding a new element somehow. and also the reverse: remove a single element, if it exists. | 11:25 | |
antoniogamiz | how should I test a function that it's not exported? | ||
SmokeMachine | tbrowder: you can do a `method add($new-val) { $!msy-set-col (|)= $new-val; self.^save }`something like that? | 11:28 | |
tbrowder: I don't know if I got it... | |||
tbrowder | SmokeMachine: if i am using a persistent sqlite file, do i have to explicitly close the db after a series of crud ops? | 11:29 | |
11:29
daxim left
|
|||
SmokeMachine | tbrowder: I don't think so... | 11:30 | |
tbrowder | same question for PostgreSQL (disconnect?) | ||
SmokeMachine | tbrowder: you'd you mind to share the code? | ||
tbrowder | no, not at all. but i'm right now just trying to get a very simple but useful db going to track attendees at a local tech expo. | 11:32 | |
11:33
leont left
|
|||
tbrowder | i have forked Red and will submit PR for it as example if i can make it work for my needs. i hate writing sql. | 11:33 | |
11:34
pistacchio left,
pistacchio joined
11:35
daxim joined
|
|||
SmokeMachine | tbrowder: here is a example of something I think is useful done with Red... www.irccloud.com/pastebin/0Y60FiGe/ | 11:53 | |
antoniogamiz | scimon: I've answered your comment | 11:56 | |
12:03
vrurg left
12:18
lizmat_ joined
12:20
lizmat left
12:26
antoniogamiz left
12:31
domidumont1 left
12:33
MasterDuke_ joined
12:35
MasterDuke_ left
12:36
kensanata left
12:37
mowcat joined,
MasterDuke_ joined
12:41
MasterDuke_ left
12:47
pmurias left
12:58
domidumont joined
12:59
lizmat joined
13:03
lizmat_ left
13:17
vrurg joined
13:19
pmurias joined
13:31
yqt left
13:33
pmurias_ joined
13:34
pmurias left,
pmurias_ is now known as pmurias
|
|||
tbrowder | SmokeMachine: yes, *very* useful! thnx | 13:50 | |
SmokeMachine | tbrowder: :) | 13:52 | |
13:55
lizmat_ joined
13:56
lizmat__ joined
13:59
lizmat left
14:00
lizmat_ left,
lucasb joined
14:02
uzl joined
|
|||
uzl | Hello everyone! Does anyone have any comment on this question colabti.org/irclogger/irclogger_lo...03-13#l706 ? | 14:04 | |
moritz | github.com/perl6/mu/blob/master/mi...amelia.txt | 14:05 | |
uzl: ^^ might be relevant | |||
14:09
MidCheck left
14:12
lichtkind joined
|
|||
uzl | moritz: thanks! From what I understand, then my changes fall under the license? | 14:16 | |
moritz | IANAL, but I'd say yes | 14:18 | |
14:20
lizmat__ is now known as lizmat
|
|||
uzl | One last question, moritz. Is perl6/marketing open to submissions? The person in charged(?) seems to had been zoffix but I'm not sure what would the current guideline/procedure. | 14:21 | |
moritz | uzl: sure, it's open to submissions | ||
uzl | moritz: Oh, great! | 14:22 | |
Thanks. Have a wonderful day! | |||
14:22
uzl left
|
|||
Geth | perl6-lwp-simple: 46d3fdb698 | (JJ Merelo)++ | README.md Documentation now is right |
14:23 | |
14:26
jmerelo joined,
jmerelo is now known as jjmerelo
|
|||
jjmerelo | squashable6: status | 14:27 | |
squashable6 | jjmerelo, Next SQUASHathon in 21 days and ≈21 hours (2019-04-06 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
14:27
dogbert joined,
dogbert is now known as Guest4810
|
|||
jjmerelo | Well | 14:27 | |
We are like one week away from the start of the period where students request admission into the Google Summer of Code and interest so far has been zero | 14:28 | ||
Or almost | |||
I would say we need some hype drive during the next week about how great Perl 6 is | 14:29 | ||
14:29
lichtkind left
|
|||
jjmerelo | We know that, you know that, people in general don't know that. And there are 200 different organizations admitted into GSoC, so we're not very likely to find prospects | 14:30 | |
14:30
Sgeo joined
|
|||
jjmerelo | What we need is blog posts, tweets, or whatever media you use (mastodon?) that are introductory to perl 6, with links to GSoC | 14:30 | |
We really need that | |||
14:30
lichtkind joined
14:31
isomorphismes joined
|
|||
jjmerelo | We've got over the first hurdle, which is being admitted into GSoC. We need everyone to help us get over the next one, getting students to actually request joining the organization. | 14:31 | |
So who's in? | |||
14:31
lizmat left
|
|||
moritz | I'll happily retweet stuff, if that's any help | 14:32 | |
@perl6org has 640 folloers | |||
eseyman | jjmerelo: FTR, twitter.com/mongueurs_perl/status/...0172002304 | ||
14:33
Sgeo_ left
|
|||
kawaii | I'd be happy to Tweet something too if someone can put together a somewhat generic message. | 14:33 | |
I think my $workplace would too, we do a lot of Perl 5 stuff already and sponsor various things. | |||
jjmerelo | eseyman: great! But keep doing it at least once a day :-) | ||
kawaii: I'm no good at marketing, but something like "Perl 5 is alive and kicking and participating in this year's summer of code. Want to dive in? (URL to introductory tutorial) Want to participate (URL to GSoC page)" | 14:35 | ||
kawaii | Yeah I'll throw something together later | ||
jjmerelo | It would help if someone prepared presentations in local universities to the tune of "Want to get paid for developing some great software this summer? Join this presentation... " | 14:36 | |
tobs | jjmerelo: I have no idea how GSoC works but I am a student in every conceivable way. Where do I look? | ||
jjmerelo | tobs: github.com/perl-gsoc-2019 | ||
tobs | thanks :) | ||
jjmerelo | That's the repo for ideas, and there are links to the GSoC page | 14:37 | |
tobs | that should get me started | ||
Ulti_ | is there an ordered hash builtin? | 14:40 | |
14:40
Ulti_ is now known as Ulti
|
|||
timotimo | there is not | 14:40 | |
Ulti | okedoke | ||
github.com/FCO/OrderedHash to the rescue I guess | 14:41 | ||
jjmerelo | tobs++ | 14:42 | |
.tell El_Che why don't you prepare a presentation about Perl & Google Summer of Code in your uni? | |||
yoleaux | jjmerelo: I'll pass your message to El_Che. | ||
jjmerelo | .tell AlexDaniel can you prepare a presentation about GSoC in your uni? | 14:43 | |
yoleaux | jjmerelo: I'll pass your message to AlexDaniel. | ||
jjmerelo | and dot-tell everyone: Why don't we prepare a collaborative presentation and start to deliver it in local unis? | ||
kawaii | jjmerelo: how is this? usercontent.irccloud-cdn.com/file/...-43-04.png | ||
jjmerelo | kawaii: looks fine! | 14:44 | |
Kaiepi | can someone familiar with nqp or the MOP tell me why this throws with "getstaticcode requires a static coderef" when i call ^add_method? hastebin.com/yatazodihi.rb | ||
14:45
curan left
|
|||
timotimo | perhaps it needs a nqp::decont around the sub | 14:45 | |
it'd surprise me, but only a little | |||
otherwise, you could gdb into moar, breakpoint the line that actually throws that exception, and output the MVM_6model_get_debug_name(tc, the_object_in_question) to see what kind of object it is | 14:46 | ||
Ulti | hmm actually OrderedHash despite the name is not what I might have expected | 14:47 | |
timotimo | DESCRIPTION | ||
OrderedHash is ... | |||
tobs | jjmerelo: I could do that, too. (Don't know if the computer science department will let me present somewhere sometime, but I'll check what kind of meetings they have.) | ||
timotimo | where does the confusion come from? :P | ||
14:47
Cabanossi left
|
|||
timotimo | huh, it has a default :@keys of 0..9, A..Z, a..z | 14:48 | |
Kaiepi | deconting the sub didn't work, but thanks for the pointer timotimo | ||
14:49
woolfy left
|
|||
jjmerelo | tobs: that would be great | 14:50 | |
timotimo | kawaii: why is cute.im down? :P | ||
tobs | jjmerelo: I prefer collborating on the presentation. You and others may have more experience at where to start than me. | 14:51 | |
jjmerelo | m: my \hash = {}; my %hash = hash; say hash === %hash | ||
camelia | False | ||
tobs | I assume it should include some "flexing" to get people interested in Perl 6. I suspect most of them haven't seen it before. | ||
jjmerelo | m: my \hash = {}; my %hash := hash; say hash === %hash | 14:52 | |
camelia | True | ||
jjmerelo | tobs: that's the problem. Most people I talk to say "But is Perl still a thing?" | ||
tobs: I can brush up a repo with reveal.js | 14:53 | ||
14:54
Cabanossi joined
|
|||
Kaiepi | timotimo the sub's REPR is P6opaque fsr? | 14:58 | |
Geth | doc: eb00a7425d | (JJ Merelo)++ | doc/Language/js-nutshell.pod6 Fixes #2672, it was the example that was wrong |
||
14:59
leont joined
|
|||
kawaii | timotimo: I've been meaning to put a site up there for a long time now, found Uzu recently so might make a static perl 6 blog or something | 15:01 | |
timotimo | Kaiepi: oooh, you might have to nqp::getattr at its $!do attribute | 15:02 | |
15:11
kurahaupo joined
15:13
lizmat joined
15:15
lizmat left,
lizmat_ joined
15:22
lizmat_ left
15:24
Xliff joined
|
|||
Xliff | \o | 15:26 | |
Does my subscription to Comma still work if I was in the supporter program? | |||
jnthn | Xliff: Yes | 15:28 | |
Xliff | jnthn: How do I upgrade to the latest commercial package? | 15:29 | |
15:29
robertle left
|
|||
jnthn | Xliff: Just log in as before and download it | 15:29 | |
tbrowder | SmokeMachine: i want to define my own unique key for a person and i don't define the id but the sql shows two UNIQUE(key) entries | 15:30 | |
i do not explicitly reference .person-id anywhere, always Person.key | 15:31 | ||
SmokeMachine | tbrowder: yes... that's a bug I have to fix... would you mind to open a issue, please? | ||
tbrowder | yes, will do in a short while | 15:32 | |
15:35
robertle joined
15:38
lizmat joined
|
|||
Xliff | m: $*PERL.compiler.version.say | 15:39 | |
camelia | v2019.03.32.g.33.e.2.d.7.f.4.c | ||
Xliff | jnthn: Are there docs on how to set up Comma? | 15:40 | |
15:42
jjmerelo left
|
|||
sena_kun | Xliff, installation docs? Yes. | 15:43 | |
15:44
woolfy joined
|
|||
Xliff | sena_kun: How about docs for setting up a perl6 project? | 15:48 | |
Or docs on how to debug an existing one? | |||
sena_kun | Xliff, sorry, what do you mean by "setting"? Create? Open/import? | ||
jnthn | Xliff: commaide.com/docs/creating-project | 15:49 | |
Covers both new and importing existing code | 15:50 | ||
Xliff | jnthn++ # Thanks! | 15:52 | |
15:54
Black_Ribbon joined
|
|||
AlexDaniel | yes? | 15:59 | |
yoleaux | 14:43Z <jjmerelo> AlexDaniel: can you prepare a presentation about GSoC in your uni? | ||
AlexDaniel | :o | ||
16:01
sena_kun left
|
|||
AlexDaniel | .tell jmerelo I like the idea a lot, and I can totally do something like this… but maybe next year. I'm too busy working on my thesis | 16:01 | |
yoleaux | AlexDaniel: I'll pass your message to jmerelo. | ||
16:03
sena_kun joined,
sena_kun left
16:04
sena_kun joined
16:13
reach_satori_ joined
16:15
ravenousmoose left,
reach_satori left,
clarkema joined
16:23
domidumont left
16:24
ExtraCrispy joined
16:25
mowcat left
|
|||
tbrowder | SmokeMachine: issue was filed | 16:33 | |
Kaiepi | m: use nqp; enum A <B C D>; A.^lookup('CALL-ME').wrap(anon multi method CALL-ME(Str $key --> Int) { my %values := self.^enum_values; nqp::defor(nqp::atkey_s(%values, nqp::decont($key)), nqp::atkey_s(%values, ' ')) }); say A('B') | ||
camelia | MVMHash representation does not support native type storage in method CALL-ME at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Kaiepi | oh right | ||
m: use nqp; enum A <B C D>; my $call-me := anon multi method CALL-ME(Str $key --> Int) { my %values := self.^enum_values; nqp::defor(nqp::atkey_s(%values, nqp::decont($key)), nqp::atkey_s(%values, ' ')) }; A.^lookup('CALL-ME').wrap(nqp::getstaticcode(nqp::getattr($call-me, Code, '$!do'))); say A('B') | 16:34 | ||
camelia | MVMHash representation does not support native type storage in method CALL-ME at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Kaiepi | no wait i'm thinking of when i was writing with the mro | 16:35 | |
SmokeMachine | tbrowder: thanks! and what are you feeling so far? | ||
Kaiepi | fully with the mro i mean | ||
16:35
pmurias left
16:36
st_elmo joined
|
|||
Kaiepi | but anyway the point i was trying to make is Enumeration.CALL-ME's signatures are both (|), which i think may be too loose | 16:38 | |
i'll test out making them stricter | 16:39 | ||
16:40
leont left
16:41
st_elmo left
16:47
Cabanossi left
|
|||
kawaii | AlexDaniel: oh uhh, any sign of my CLA yet? | 16:53 | |
AlexDaniel | hah sign | 16:56 | |
kawaii | hah, unintended | 16:57 | |
tbrowder | SmokeMachine: good so far. i now need to figure out how to update a row and to do some simple queries. | 16:59 | |
SmokeMachine | tbrowder: to update a row, just change the object, than call `.^save` | 17:00 | |
tbrowder | for the moment i have wrapped my table creation code with a try block and then pass $! to an err handing sub where i silently skip expected errors like table exists, etc. | 17:01 | |
17:02
Cabanossi joined
|
|||
tbrowder | ok, save makes sense, i thought it might be something to do with the physical db file. | 17:02 | |
AlexDaniel | kawaii: ok, I've sent an email asking if it was received… | 17:03 | |
kawaii | Hopefully :( | ||
AlexDaniel | kawaii: this process always takes some time, don't worry | ||
I think mine was sent via snail mail | 17:04 | ||
at least the first one… then I remember sending it via email | |||
tbrowder | i will need to handle tables with combined keys or two unique key fields. | ||
AlexDaniel | or maybe not, actually I'm not sure anymore :) | 17:05 | |
Kaiepi | never mind, i was wrong | 17:06 | |
AlexDaniel | jnthn: btw what's the reason to have the CLA hassle? I always wondered how this thing is justified | ||
tbrowder | got to go work on my "honey do list"...back to "red"ing later.. | ||
AlexDaniel | it's not like a huge problem so I'm definitely not insisting that something should be changed, but I'd love to know why we're doing it | 17:07 | |
17:08
pistacchio left
17:09
pistacchio joined
|
|||
SmokeMachine | tbrowder: here's a example of how to update and create a query... | 17:10 | |
tbrowder: www.irccloud.com/pastebin/FHt6aPjc/ | |||
tbrowder: update only works with a primary key... | 17:11 | ||
Xliff | m: my $a = 'b'; my %b = ( $a => '1' ); %b.gist.say | 17:14 | |
camelia | {b => 1} | ||
Xliff | m: my $a = 'b'; my %b = ( do $a => '1' ); %b.gist.say | 17:15 | |
camelia | {b => 1} | ||
Xliff | m: my $a = 'b'; my %b = ( do $a => '1' if rand ); %b.gist.say | ||
camelia | {b => 1} | ||
Xliff | m: my $a = 'b'; my %b = ( do $a => '1' if rand ); %b.gist.say | ||
camelia | {b => 1} | ||
Xliff | m: my $a = 'b'; my %b = ( do $a => '1' if rand ); %b.gist.say | ||
camelia | {b => 1} | ||
jnthn | AlexDaniel: My understanding is that it's because TPF hold the "compilation copyright" | 17:16 | |
AlexDaniel | jnthn: yeah but nqp and other repos? | ||
jnthn | AlexDaniel: I can't usefully explain what that means, alas; somebody involved with TPF probably can. | ||
AlexDaniel: The folks who created those decided not to do things that way, pretty much. | 17:17 | ||
That was my call for MoarVM; nobody from TPF ever asked me "hmm, shouldn't you..." | 17:18 | ||
It may be worth finding out just how much value there is in the paperwork we're doing. | |||
AlexDaniel | kawaii: anyway, any questions so far? :) | ||
tbrowder | SmokeMachine: thanks | 17:19 | |
kawaii | AlexDaniel: just one, is there a comprehensive list of all the IRC bot commands I need to use to see stuff? :P | 17:20 | |
AlexDaniel | kawaii: see github.com/perl6/whateverable/wiki | ||
kawaii | releasable6: status | ||
releasable6 | kawaii, Release manager is not specified yet. | ||
kawaii, Next release in ≈37 days and ≈1 hour. 7 blockers. 0 out of 32 commits logged | 17:21 | ||
kawaii, Details: gist.github.com/9c67603f56a562b6a3...bd4d050008 | |||
AlexDaniel | that first warning you'll be able to fix yourself once your CLA is received :) | ||
kawaii: also join #whateverable to experiment with the bots | |||
kawaii | Alright, I think that's enough time between now and the next planned release for me to bug you enough to understand fully what is required. ;) | ||
Who assigns 'blockers' to that list? Will more be added between now and then? | 17:22 | ||
I assume 'blockers' are only for the most severe rakudo bugs that prevent a stable release? | 17:23 | ||
AlexDaniel | kawaii: you label tickets yourself here: github.com/rakudo/rakudo/issues | ||
17:23
Hotkeys joined,
Hotkeys left
|
|||
AlexDaniel | kawaii: yeah, that's correct | 17:24 | |
17:25
pistacchio left,
pistacchio joined
|
|||
AlexDaniel | kawaii: so, as you'll be running the show, you'll decide these details yourself. But here's what I used to do | 17:25 | |
kawaii: before the release I'd run Blin github.com/perl6/Blin | 17:26 | ||
17:26
pistacchio left
|
|||
AlexDaniel | kawaii: Blin simply takes two rakudo revisions (typically the previous release and the latest commit from master) and tests modules on them | 17:26 | |
17:26
pistacchio joined
|
|||
AlexDaniel | kawaii: by default I used to file a ticket for every module that no longer can be installed cleanly | 17:27 | |
here's an example: github.com/rakudo/rakudo/issues/2705 | 17:28 | ||
kawaii | Ah right yes I understand | ||
17:29
scimon left
|
|||
AlexDaniel | it doesn't necessarily mean that every single issue on that list is a blocker, but it was easier to file a ticket first and investigate later | 17:29 | |
… even doing that I managed to miss some things for way too long :) | 17:30 | ||
kawaii | I will most likely ask yourself or someone more knowledgeable which ones to submit as blockers until I'm comfortable doing it entirely myself :) | ||
Lots of learning to do, but hopefully this will take some of the workload off yourself and others once I'm confident with the process | 17:31 | ||
AlexDaniel | I'd say if you see a serious issue but you're unsure, mark it as a blocker… and devs will complain about it if they disagree :) | 17:32 | |
in my time everything that made existing user code no longer work was a blocker | |||
17:33
dakkar left
|
|||
kawaii | the `--new=2018.09` parameter of Blin... is this just an arbitrary label of what the next release is going to be called? I was of the understanding that it simply used `master` from `rakudo/rakudo`, if I interpreted you correctly. | 17:33 | |
17:33
pistacchio left
|
|||
AlexDaniel | and I was maybe too strict about it, as we ended up doing workarounds for some issues that were clearly bugs that just happened to be used by people | 17:33 | |
kawaii | and that `-old=2018.06` will actually fetch that release of Rakudo to test against? | ||
(because if I'm understanding this right, --new=blah doesn't exist yet) | 17:34 | ||
17:35
zacts joined
|
|||
AlexDaniel | kawaii: that's a git commit or something that's like a commit | 17:35 | |
kawaii: so usually you'd use HEAD | |||
for new | |||
kawaii | alright okay :) | ||
AlexDaniel | bisect: old=2015.12 new=HEAD say 42 | ||
bisectable6 | AlexDaniel, On both starting points (old=2015.12 new=33e2d7f) the exit code is 0 and the output is identical as well | ||
AlexDaniel, Output on both points: «42» | |||
AlexDaniel | same here | ||
kawaii: for running Blin, I don't recommend that doing on an actual system you use | 17:36 | ||
kawaii | Doesn't seem like we have a `Dockerfile` for it, I can add that to my to-do list if you'd like? :) | ||
AlexDaniel | kawaii: google compute engine is nice, set it up with about 24 cores or so | ||
that'd be awesome | |||
but note that even with 24 cores it'll run for a bit more than an hour | 17:37 | ||
kawaii: oh by the way, if somebody reports an issue with some particular module, you can ask blin to test just that module | 17:38 | ||
it'll still test its dependencies, because it has to, but it won't be testing the whole ecosystem | |||
kawaii | It would simply install Blin, and take an environment variable for `--old=` and `--new=`, and a third variable for an array of modules. | ||
That should be fine right? Basic, but fine? | |||
AlexDaniel | sounds about right, yes | ||
kawaii | Sounds like my weekend is planned then. :) | 17:39 | |
AlexDaniel | kawaii: there's this problem that, well, it takes one idiot to upload malicious code to the ecosystem and you're guaranteed to hit it | ||
so it should be isolated as hell, in theory, but then there's a tradeoff because a lot of modules actually use the internet for their tests | 17:40 | ||
kawaii | hmmm, so does Blin install the modules and run their tests too? Because simply installing the module could not be an attack vector unless there is code to run it, no? | ||
AlexDaniel | and you *want* to run as many tests as possible… sooo, sometimes you just can't win :) | 17:41 | |
kawaii: yes, it runs tests, that's sorta the point. But also just installing the module without running tests is dangerous too, I think, because people can stick some things into BEGIN blocks or such | |||
kawaii | ah right, understood | 17:42 | |
no problem, I'll create us a Dockerfile/image for it, and deploy a server at $work for running it :) | |||
timotimo | there's also BUILD.pm | ||
AlexDaniel | oh yeah | ||
timotimo | though there's also some build-replacement stuff for META6.json | 17:43 | |
AlexDaniel | kawaii: if you don't have a google compute engine account yet, then it's probably better to do that | ||
they offer some free credit that'll last you exactly one year (they take it away after one year anyway) | |||
kawaii | I'm an engineer at $work, I do have a GCE account I use for $personal-projects but why do that when I have an entire datacenter to play with? :) | 17:44 | |
17:44
a3f joined
17:45
sno joined,
a3f left,
a3f joined
17:47
Sgeo_ joined
|
|||
AlexDaniel | right, well. If we put potential kernel vulnerabilities aside… :) | 17:48 | |
kawaii: here's a partial list of dependencies that modules have: github.com/perl6/ecosystem-unbitrot/wiki | 17:49 | ||
17:50
Sgeo left
|
|||
AlexDaniel | so highly recommended to install these on the system that will run blin | 17:50 | |
kawaii | AlexDaniel: much appreciated, that'll come in handy | 17:51 | |
AlexDaniel | kawaii: it's not updated regularly and I don't know any good way to do that… it'd be nice if modules had a way to let users know which native dependencies are required | ||
and IIRC there was something for that | 17:52 | ||
or at least something was proposed at some point, I don't remember | |||
kawaii | That'd be something I'd like to see in META6.json for sure, a split key for `apt` and `yum` since package names can differ. | ||
17:53
zacts left
|
|||
AlexDaniel | greppable6: is native | 17:53 | |
Xliff | kawaii: New maintainer? | 17:54 | |
AlexDaniel | Xliff: rakudo release manager | ||
Xliff | For distros? kawaii++ ! | ||
greppable6 | AlexDaniel, 6652 lines, 186 modules: gist.github.com/a01fdb97e1994950d0...6071a42810 | ||
AlexDaniel | for rakudo itself! | ||
Xliff | AlexDaniel: Ooooh! | ||
AlexDaniel | a better me, hopefully :) | ||
Xliff | No one can be a better you than yourself. ;) | 17:55 | |
But seriously good to see new blood involved. | |||
AlexDaniel: Frees up some of your time. Are you finally going to look into this neat new thing called "Rest" ? | |||
;) | |||
kawaii | Hah, I don't think I'll meet those expectations for a long time AlexDaniel , but I'm happy to help out | 17:56 | |
Xliff | kawaii: If you need semi-instantly draftable hands, I don't mind helping. | ||
You get familiarized first. | |||
kawaii | Xliff: if you're just another person for me to bug when Alex isn't around, that'll work :) | ||
Xliff | Just don't call me "flunky" | 17:57 | |
kawaii: =D | |||
17:58
robertle left
|
|||
AlexDaniel | kawaii: heh, I was hoping that greppable would give a nice list and we'd just extract library names from `is native(…)` | 17:59 | |
`is native( LIBREADLINE ) { * }` so wha's LIBREADLINE… | |||
what's* | |||
18:01
domidumont joined
18:03
ravenousmoose joined
|
|||
Xliff | m: class A { has %!a; method BUILD { %!a = ( a => 1 ); }; method a { %!a }; }; my %a = A.new; $a.a<a>.say; $a.a<a> = 2; $a.gist.say | 18:08 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$a' is not declared. Did you mean '%a'? at <tmp>:1 ------> 3 }; method a { %!a }; }; my %a = A.new; 7⏏5$a.a<a>.say; $a.a<a> = 2; $a.gist.say |
||
Xliff | m: class A { has %!a; method BUILD { %!a = ( a => 1 ); }; method a { %!a }; }; my $a = A.new; $a.a<a>.say; $a.a<a> = 2; $a.gist.say | ||
camelia | 1 A.new |
||
Xliff | m: class A { has %!a; method BUILD { %!a = ( a => 1 ); }; method a { %!a }; }; my $a = A.new; $a.a<a>.say; $a.a<a> = 2; $a.a<a>.say | ||
camelia | 1 2 |
||
AlexDaniel | kawaii: by the way, the output of Blin is also used to update issues in this repo: github.com/perl6/ecosystem-unbitrot/issues | 18:09 | |
Xliff | What's the best way to make sure that %!a can be read, but not modified from the outside if exposed like that? | ||
AlexDaniel | kawaii: 220 open issues means that 220 modules have failing tests or other issues | ||
Xliff | m: class A { has %!a; method BUILD { %!a = ( a => 1 ); }; method a { %!a.clone }; }; my $a = A.new; $a.a<a>.say; $a.a<a> = 2; $a.a<a>.say | 18:10 | |
camelia | 1 2 |
||
Xliff | WTF? It doesn't change the clone? | 18:11 | |
18:13
domidumont left
|
|||
tobs | m: my %h; %h.clone<a>.say; %h.clone<a> = 2; %h.clone<a>.say | 18:14 | |
camelia | (Any) (Any) |
||
tobs | m: my %h = a => 1; %h.clone<a>.say; %h.clone<a> = 2; %h.clone<a>.say | 18:15 | |
camelia | 1 2 |
||
18:15
domidumont joined
|
|||
tobs | Xliff: clone clones the scalar container | 18:15 | |
it's a shallow copy | |||
Xliff | Is there a way to return an immutable copy of a container? | 18:17 | |
Or a reference that doesn't allow any contents to be changed? | |||
tobs | I think Map is the immutable equivalent of a Hash | 18:18 | |
m: class A { has %!a; method BUILD { %!a = ( a => 1 ); }; method a { %!a.Map }; }; my $a = A.new; $a.a<a>.say; $a.a<a> = 2; $a.a<a>.say | |||
camelia | 1 Cannot change key 'a' in an immutable Map in block <unit> at <tmp> line 1 |
||
Xliff | tobs++ # That may work, for now. | ||
tobs | (I have no idea how costly that is) | ||
Xliff | Yes. That is the next worry. | ||
What I am trying to accomplish: I want the contents of %!a available to callers, but I do not want the callers to be able to manipulate %!a. | 18:19 | ||
So far it looks like %!a.Map is the easiest solution. | 18:20 | ||
m: class A { has %!a; submethod BUILD { %!a = ( do ('a' + .) => . for ^(26) }; }; my $a = A.new; $a.perl.say; | 18:23 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed postfix call (only alphabetic methods may be detached) at <tmp>:1 ------> 3a; submethod BUILD { %!a = ( do ('a' + .7⏏5) => . for ^(26) }; }; my $a = A.new; $a |
||
Xliff | m: class A { has %!a; submethod BUILD { %!a = ( do ('a' + $_) => $_ for ^(26) }; }; my $a = A.new; $a.perl.say; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3{ %!a = ( do ('a' + $_) => $_ for ^(26) 7⏏5}; }; my $a … |
||
Xliff | m: class A { has %!a; submethod BUILD { %!a = ( do ('a' + $_) => $_ for ^26 ) }; }; my $a = A.new; $a.perl.say; | ||
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏) in code at <tmp> line 1 in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Xliff | m: class A { has %!a; submethod BUILD { %!a = ( do ("a" + $_) => $_ for ^26 ) }; }; my $a = A.new; $a.perl.say; | 18:24 | |
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏) in code at <tmp> line 1 in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
18:26
molaf joined
18:30
molaf left
|
|||
Xliff | m: my @a = 'a'..'z'; class A { has %!a; submethod BUILD { %!a = ( do @a[$_] => $_ for ^26 ) }; }; my $a = A.new; $a.perl.say; | 18:32 | |
camelia | A.new | ||
Xliff | m: my @a = 'a'..'z'; class A { has %!a; submethod BUILD { %!a = ( do @a[$_] => $_ for ^26 ) }; }; my $a = A.new; $a.a<b>.say | ||
camelia | No such method 'a' for invocant of type 'A' in block <unit> at <tmp> line 1 |
||
Xliff | m: my @a = 'a'..'z'; class A { has %!a; submethod BUILD { %!a = ( do @a[$_] => $_ for ^26 ) }; method a { %!a; }; }; my $a = A.new; $a.a<b>.say | ||
camelia | 1 | ||
Xliff | m: my @a = 'a'..'z'; class A { has %!a; submethod BUILD { %!a = ( do @a[$_] => $_ for ^26 ) }; method a { %!a; }; }; my $a = A.new; $a.a<e>.say | ||
camelia | 4 | ||
Xliff | Benchable: HEAD my @a = 'a'..'z'; class A { has %!a; submethod BUILD { %!a = ( do @a[$_] => $_ for ^26 ) }; method a { %!a; }; }; my $a = A.new; $a.a<b>.say | 18:35 | |
benchable6 | Xliff, starting to benchmark the 1 given commit | ||
Xliff, No new data found | |||
Xliff | Benchable doesn't know HEAD? | ||
Benchable: HEAD my @a = 'a'..'z'; class A { has %!a; submethod BUILD { %!a = ( do @a[$_] => $_ for ^26 ) }; method a { %!a; }; }; my $a = A.new; $a.a<2> + 1 for ^10000 | 18:36 | ||
benchable6 | Xliff, starting to benchmark the 1 given commit | ||
Xliff, No new data found | |||
18:39
lichtkind left
|
|||
Xliff | OK. Finally got my answer. | 18:39 | |
Without map... 0.11 seconds to do 10000 loops | |||
With map... 0.7 seconds | 18:40 | ||
Wow. | |||
18:44
lichtkind joined
|
|||
tbrowder | SmokeMachine: in the last example, how do you add a new row? dump a table? | 18:48 | |
SmokeMachine | tbrowder: this is creating a new row: `my $a = A.^create: :42a;`... and Red do not drop tables yet... | 18:49 | |
tbrowder | when i said "dump" i meant show a complete table | 18:50 | |
SmokeMachine | tbrowder: oh! sorry! | ||
tbrowder | my bad, too much "slang" | 18:51 | |
SmokeMachine | tbrowder: I think the easier way would be: `.say for A.^all` | ||
tbrowder | ok, i'll try that... | ||
18:56
domidumont left
18:59
lichtkind left
19:00
lichtkind joined
|
|||
Xliff | SmokeMachine: Why no drop tables, yet? | 19:01 | |
SmokeMachine | Xliff: haven't done it yet... | ||
Xliff | Ah. OK! :) | ||
19:09
lichtkind_ joined
19:10
lichtkind left
19:12
pecastro joined
19:15
robertle joined
19:17
lichtkind_ left
19:25
antoniogamiz joined
|
|||
antoniogamiz | Hi! :D | 19:30 | |
I'm making my first little module in perl6, you can check it here: github.com/antoniogamiz/Math-ConvergenceMethods | 19:31 | ||
any feedback is very welcomed because I'm quite noobie hahaha | |||
AlexDaniel | kawaii: ah, also join these: #perl6-dev #moarvm | 19:33 | |
SmokeMachine | I think its a comma bug: usercontent.irccloud-cdn.com/file/.../image.png | 19:43 | |
usercontent.irccloud-cdn.com/file/.../image.png | 19:44 | ||
Xliff | SmokeMachine: So would you create Red::AST::Drop and handle it that way? | 19:49 | |
SmokeMachine | Xliff: Yes, I will... | ||
Xliff | SmokeMachine: OK. That's a neat design! :) | 19:51 | |
19:51
random_yanek left
|
|||
SmokeMachine | Xliff: thanks! | 19:51 | |
19:52
molaf joined
|
|||
SmokeMachine | Xliff: every thing you do with Red becomes a tree of AST (ok, Im being redundant) and the Red database's driver transform this AST into SQL... | 19:54 | |
Xliff | Yep1 | 19:55 | |
s/1/!/ | |||
19:59
Sgeo joined
|
|||
Xliff | What's the difference between QAST and MAST? | 20:00 | |
discord6 | <Rogue> (I'm interested to know the answer to that question as wel :) | 20:01 | |
20:01
netrino joined
|
|||
Xliff | :) | 20:02 | |
20:03
Sgeo_ left
|
|||
jnthn | QAST is an abstract syntax tree that is backend-agnostic. MAST was a much lower-level AST for MoarVM, which was then fed to the VM for assembling into bytecode, but nowadays we produce the bytecode directly. | 20:05 | |
discord6 | <Rogue> So we're now going straight from QAST to bytecode? Was there a good reason for the more specific MAST format before? | 20:06 | |
20:06
random_yanek joined
|
|||
tony-o | we'll have a nightly circleci/docker image available shortly..does anyone know if we have a `rakudo` user on docker.io's hub? | 20:08 | |
jnthn | It was a bit easier to implement/debug it like that, especially since we started out cross-compiling. Mostly, we jsut didn't have decent/efficient binary writing stuff back when it was done that way. | 20:11 | |
tony-o | if not then i'll reply to the github issue with my docker image %^ | ||
-% | |||
discord6 | <Rogue> thanks for the history lesson :) always interesting to see how implementation details have changed over time | 20:12 | |
20:25
pistacchio joined
|
|||
tbrowder | SmokeMachine: how does one get the column names of a given table A? i can get a row which is also an A object, so A.^columns? or comething like that? | 20:31 | |
20:32
pistacchio left,
pistacchio joined
|
|||
tony-o | use xoos :p | 20:34 | |
SmokeMachine | tbrowder: www.irccloud.com/pastebin/Czie5Fq0/ | ||
tbrowder | A.^columns gives me a hash with col names, i'm getting there... | ||
SmokeMachine | tbrowder: not a hash, a Set... | ||
tbrowder | ah! thanks. | ||
SmokeMachine | tbrowder: I think ill add a `.^column-names` | 20:35 | |
tbrowder | would be nice! | ||
20:38
MilkmanDan left
20:39
ravenousmoose left
20:40
MilkmanDan joined
20:41
sena_kun left
20:42
andrzejku joined
|
|||
SmokeMachine | tbrowder: github.com/FCO/Red/blob/master/lib...el.pm6#L37 | 20:42 | |
andrzejku | tadzik, hej | 20:43 | |
what happen wit that project? www.youtube.com/watch?v=gd2nKxFtFMQ | 20:44 | ||
tony-o | circleci rakudo nightly available for those interested | 20:54 | |
or anyone else using docker, really | |||
tadzik | oh wow, young me :) | ||
andrzejku: pretty much nothing :( | 20:55 | ||
20:55
drclaw4 joined
|
|||
tadzik | that Space Invaders was about as fun as that project went, I think | 20:56 | |
soon-ish after I started working in Game Development and it murdered my passion for game development | |||
20:58
|oLa| left
|
|||
tadzik | andrzejku: if you want to do that for GSoC I can be your mentor ;) | 21:00 | |
andrzejku | tadzik, what you use for game dev? | ||
SDL? | |||
what's GSoC? | |||
21:01
|oLa| joined
|
|||
tony-o | google summer of code | 21:01 | |
andrzejku | aaa | ||
I don't like google | |||
El_Che | andrzejku: google knows | ||
yoleaux | 14:42Z <jjmerelo> El_Che: why don't you prepare a presentation about Perl & Google Summer of Code in your uni? | ||
andrzejku | prefer duckduck.go | ||
tadzik | andrzejku: nothing anymore | 21:07 | |
21:07
|oLa| left,
Kaiepi left
|
|||
tadzik | I just stopped making games :( | 21:07 | |
I merely play them now like a normie | |||
21:09
Kaiepi joined
21:10
|oLa| joined
21:11
|oLa| left
21:13
andrzejku left
|
|||
MasterDuke | Xliff: fyi, benchable6 expects either multiple commits (separated by ',') and one chunk of code or one commit and multiple chunks of code (separated by '|||') | 21:15 | |
tony-o | what was the command to add stuff to the weekly? | 21:17 | |
MasterDuke | (however, the fact that it didn't report a time for a single commit and instead said 'No new data found' is a known issue) | ||
tony-o | articles, or whatever | ||
MasterDuke | tony-o: i think it's notable6: <foo> | 21:18 | |
tony-o | tak | ||
21:20
ravenousmoose joined
21:21
pmurias joined
|
|||
AlexDaniel | actually `weekly: foo` | 21:25 | |
or `notable6: weekly foo` | |||
notable6: list | |||
notable6 | AlexDaniel, gist.github.com/5a1cad8b5d574362f3...88247e1274 | ||
AlexDaniel | notable6: Atikon | ||
notable6 | AlexDaniel, 1 note: 2019-01-20T11:41:08Z <jmerelo>: is looking for Perl 6 programmers (in German) www.atikon.com/at/karriere/jobs/so...eisterung/ | ||
AlexDaniel | weekly: missed note, I don't know if it's relevant: 1 note: 2019-01-20T11:41:08Z <jmerelo>: is looking for Perl 6 programmers (in German) www.atikon.com/at/karriere/jobs/so...eisterung/ | 21:26 | |
notable6 | AlexDaniel, Noted! | ||
AlexDaniel | notable6: this | ||
notable6 | AlexDaniel, 1 note: 2018-12-31T15:34:48Z <lizmat>: is on High Sierra, not Mojave | ||
AlexDaniel | notable6: clear this | 21:27 | |
notable6 | AlexDaniel, Moved existing notes to “this_2019-03-14T21:27:00Z” | ||
AlexDaniel | notable6: clear Atikon | ||
notable6 | AlexDaniel, Moved existing notes to “Atikon_2019-03-14T21:27:05Z” | ||
tony-o | AlexDaniel: i updated the github issue regarding a docker for rakudo nightly build | ||
AlexDaniel | I saw that! | 21:28 | |
I don't know if the issue is resolved now | |||
tony-o | i don't know either, haha | 21:30 | |
21:35
mowcat joined
21:36
drclaw4 left
21:42
|oLa| joined,
|oLa| left
21:56
antoniogamiz left
22:01
avarab is now known as avar
22:06
clarkema left
|
|||
Xliff | SmokeMachine: How would you check if a table has a foreign key constraint? | 22:11 | |
SmokeMachine | Xliff: www.irccloud.com/pastebin/dnCOnIIc/ | 22:15 | |
Xliff | Ooh. Nice. Is there any tracking done between the models? | 22:16 | |
As in, does A know that B is referencing it? | |||
Oh. Wait. That's exactly what that does. Nifty! | 22:17 | ||
SmokeMachine | Xliff: you can use relationships for that... | ||
Xliff | So you'd have to make a relationship in A for it to know that B is referencing it. Right? | 22:18 | |
SmokeMachine | yes... | ||
Xliff | Can you update that paste to show how? | ||
SmokeMachine | Xliff: for example: github.com/FCO/Red/wiki/Time-Tracker | ||
Xliff | Yeah. OK. | 22:20 | |
SmokeMachine | Xliff: www.irccloud.com/pastebin/gAVdZv4N/ | 22:23 | |
Xliff | So a potential way to do .^drop would be something like this? | 22:24 | |
pastebin.com/fXqQDbuT | |||
22:24
drclaw4 joined
|
|||
SmokeMachine | Xliff: www.irccloud.com/pastebin/8KXxMbQm/ | 22:24 | |
22:25
drclaw4 left,
drclaw joined
|
|||
SmokeMachine | Xliff: is that what you expected? | 22:28 | |
Xliff | Still working my head around how things work. | ||
So just looking at examples and code. | |||
SmokeMachine | Xliff: there are some examples on dir "examples" and on the wiki... | 22:29 | |
Xliff: please, let me know if I can help with something... | 22:30 | ||
Xliff | Sure thing. | 22:31 | |
SmokeMachine | Xliff: a small variation of that last example, but a bit more advanced would be: | ||
Xliff: www.irccloud.com/pastebin/LV9qOiwq/ | 22:39 | ||
22:39
isomorphismes left
22:51
leont joined
22:59
pmurias left
23:02
MidCheck joined
23:03
sno left
23:08
leont left
23:09
ravenousmoose left,
sno joined
23:13
tobs left
23:18
netrino left
23:27
tobs joined
23:36
kerrhau joined
23:38
leont joined
|
|||
tbrowder | SmokeMachine: showing the tables with say seems to work fairly well, but i need to extract data by rows and columns to do other things with the values. I've tried several variants but haven't had any success yet. creating, filling, and updating table rows and columns seems fine so far. | 23:58 |