Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by Zoffix on 27 July 2018. |
|||||||||||||||||||||||||||||||||||||||
00:00
reportable6 left
00:03
reportable6 joined,
ChanServ sets mode: +v reportable6
00:18
vrurg left
00:19
vrurg joined
01:18
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | Damn gdb is totally broken on macos. :( | 02:26 | |||||||||||||||||||||||||||||||||||||
04:59
pamplemousse joined
06:00
reportable6 left
06:03
reportable6 joined
06:52
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | vrurg: have you tried lldb? | 06:53 | |||||||||||||||||||||||||||||||||||||
06:54
[TuxCM] left
07:32
robertle left
07:33
pamplemousse left
07:54
robertle joined
08:05
|Tux| joined
08:09
vrurg left,
vrurg joined
08:18
[TuxCM] joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 6b444bd896 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Remove mention of "Velvet Divorce" |
08:23 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: I guess one more reason to make sure the naming issue is resolved in weeks and not months or years: github.com/perl6/problem-solving/p...-521101106 | 09:11 | |||||||||||||||||||||||||||||||||||||
vrurg: it affects your PR too ↑ (TL;DR can't have changes to the list of reviewers until naming thing is resolved) | 09:13 | ||||||||||||||||||||||||||||||||||||||
kawaii, SmokeMachine, vrurg: if you have any concerns or feedback regarding the naming issue, feel free to leave a comment on the upcoming PR, I'll make sure these are heard. It's just that you won't be able to demand changes/reject officially | 09:16 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | AlexDaniel: what define what're major language changes and what aren't? | 09:19 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | SmokeMachine: good question | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | will no one be allowed to enter until there are no issues on problem-solving? | 09:20 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | yeah, that's a very good point… | ||||||||||||||||||||||||||||||||||||||
I guess if you have more than 100 comments on the issue, it's a major change :) | 09:21 | ||||||||||||||||||||||||||||||||||||||
it's kinda clear than #81 is just special in its impact, I'm not sure if we should write out a rule for that specifically… | 09:22 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | so, if the PR for adding was created before the 100th comment it should be accepted? (I don't believe in it... just arguing...) | ||||||||||||||||||||||||||||||||||||||
kawaii | AlexDaniel: I'd rather not involve myself in any naming drama, whatever the majority of other community members decide is fine with me :) | 09:23 | |||||||||||||||||||||||||||||||||||||
SmokeMachine | but, it #81 is special, should we be worried to opening a precedence? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | SmokeMachine: I guess it's a bit simpler. Right now it's simply “reviewers decide!”, and in this particular case there are objections, so we wait… | 09:24 | |||||||||||||||||||||||||||||||||||||
kawaii: thank you | |||||||||||||||||||||||||||||||||||||||
SmokeMachine | AlexDaniel: ok... I'm not asking to change anything... | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | SmokeMachine: we haven't had anything like this before, so it's ok to question if it's going to work at all :) | 09:28 | |||||||||||||||||||||||||||||||||||||
09:31
|Tux| left
09:36
|Tux| joined
09:40
MasterDuke left
09:55
MasterDuke joined
10:15
[TuxCM] left
10:21
Kaiepi left,
Kaiepi joined
10:29
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 0b5402e1de | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md The P and 6 in Camelia are not an issue, but a tribute |
10:37 | |||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: d71dc5cf60 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md s/.code/.raku/ As some classes already have a .code method, and this would be a collision. |
10:39 | ||||||||||||||||||||||||||||||||||||||
lizmat | $ perl6 t/spec/S32-io/socket-recv-vs-read.t | 10:40 | |||||||||||||||||||||||||||||||||||||
1..13 | |||||||||||||||||||||||||||||||||||||||
No such method 'recv' for invocant of type 'Any' | |||||||||||||||||||||||||||||||||||||||
is this a local issue, or is this spectest indeed borked at this moment? | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 6d8f4050c8 | (Elizabeth Mattijsen)++ | 13 files s/die X::Foo.new/X::Foo.new.throw/ Inspired by 01b86fa8ab949de91c4 . Also use ternaries where possible. Not sure about the performance aspects, but this decreases the setting.moarvm size by 2K, so that is already a win. |
10:43 | |||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: bf7ab7839b | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Mention what to do with IRC channels |
10:48 | ||||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: e5c5d42930 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Mention channel forwarding |
10:49 | ||||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: 7d0aab8eed | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md "rakudo" should be the main executable |
10:52 | ||||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: a79dde05a3 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md .pod6 to become .rd |
10:58 | ||||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: 1ee09085fc | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Special attention to non-latin script countries Specifically for the announcement of Raku |
11:09 | ||||||||||||||||||||||||||||||||||||||
11:09
pamplemousse joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | cool, 2k off the setting size | 11:22 | |||||||||||||||||||||||||||||||||||||
i like that | |||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 66daa4f1a6 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Open the door for .code |
11:26 | |||||||||||||||||||||||||||||||||||||
Guest37021 | lizmat: t/spec/S32-io/socket-recv-vs-read.t works on my Linux Mint but fails on my RPi 4 running Buster | 11:29 | |||||||||||||||||||||||||||||||||||||
11:29
travis-ci joined
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 's/die X::Foo.new/X::Foo.new.throw/ | 11:29 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/571764413 github.com/rakudo/rakudo/compare/a...8f4050c876 | |||||||||||||||||||||||||||||||||||||||
11:29
travis-ci left
|
|||||||||||||||||||||||||||||||||||||||
Guest37021 | I believe that kaiepi might be looking into that | 11:30 | |||||||||||||||||||||||||||||||||||||
lizmat restarted the only failing build | 11:32 | ||||||||||||||||||||||||||||||||||||||
FWIW, I've always disliked the "use" statement to be abused to indicate the language version of the compilation unit | 11:35 | ||||||||||||||||||||||||||||||||||||||
the only reason for it working like that, is to allow for never implemented transparent Perl 5 support in Perl 6 | |||||||||||||||||||||||||||||||||||||||
I think this would be an excellent opportunity to introduce a more general approach | 11:36 | ||||||||||||||||||||||||||||||||||||||
like adding a :ver and :lang parameters to the `unit` statement, and make the package name declaration optional | 11:37 | ||||||||||||||||||||||||||||||||||||||
unit :ver<D> # equivalent to "use v6.d" | 11:42 | ||||||||||||||||||||||||||||||||||||||
unit :lang<Perl5>:ver<30> # whenever we get direct support for Perl 5.30 | 11:43 | ||||||||||||||||||||||||||||||||||||||
unit :release<2019.07> # also allow reference to releases | 11:50 | ||||||||||||||||||||||||||||||||||||||
masak | +1, I think | 11:51 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
11:52 | |||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 8d86f071c9 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Mention versioning |
11:56 | |||||||||||||||||||||||||||||||||||||
problem-solving/path-to-raku: 3c0fee64d1 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Compilers are free to handle optional nameds in 'unit' |
11:59 | ||||||||||||||||||||||||||||||||||||||
12:00
reportable6 left,
reportable6 joined
12:03
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
Kaiepi | Guest37021, looking into what? i can't really see from all the geth and tux messages | 12:03 | |||||||||||||||||||||||||||||||||||||
lizmat | Kaiepi: t/spec/S32-io/socket-recv-vs-read.t failing on MacOS | 12:05 | |||||||||||||||||||||||||||||||||||||
12:05
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
Kaiepi | that i can't actually fix... i don't own a mac | 12:08 | |||||||||||||||||||||||||||||||||||||
can you tell me what tests are failing? i might be able to work it out from there | 12:09 | ||||||||||||||||||||||||||||||||||||||
it it takes too long to fix someone else may have to fix it since i can't have stuff outside of the scope of my grant interfering | 12:10 | ||||||||||||||||||||||||||||||||||||||
lizmat | Kaiepi: gist.github.com/lizmat/351d306c87f...b1b7e1c91b | ||||||||||||||||||||||||||||||||||||||
Guest37021 | Kaiepi: if I remember correctly (am at $work atm) it's the first test in the file | 12:16 | |||||||||||||||||||||||||||||||||||||
Kaiepi | it is | 12:17 | |||||||||||||||||||||||||||||||||||||
that CATCH block worries me since it should be able to wait until a connection is ready to use before trying to use it | 12:18 | ||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 7188f3974f | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Handwave about support for other languages as a compunit |
12:19 | |||||||||||||||||||||||||||||||||||||
Guest37021 | I vaguely remember using strace on both system (the working one and the failing) one. If I remember correctly (probably not) I saw the flag PF_INET on the failing system but AF_INET on the working one. | 12:20 | |||||||||||||||||||||||||||||||||||||
Kaiepi | PF_INET and AF_INET aliases iirc | 12:21 | |||||||||||||||||||||||||||||||||||||
i'd need to check if that's true or not | |||||||||||||||||||||||||||||||||||||||
were you using any compiler release after i made socket families portable? | 12:22 | ||||||||||||||||||||||||||||||||||||||
Guest37021 | I distinctly remember seeing a 'connection refused' message as well | ||||||||||||||||||||||||||||||||||||||
do you mean c-compiler release? | 12:23 | ||||||||||||||||||||||||||||||||||||||
Kaiepi | no, releases like v2019.07.1 and such | ||||||||||||||||||||||||||||||||||||||
the c compiler probably has nothing to do with this | 12:24 | ||||||||||||||||||||||||||||||||||||||
Guest37021 | nope, not that I can remember but I do run the entire spectest suite on a regular basis | 12:25 | |||||||||||||||||||||||||||||||||||||
I can give it a whirl when I get home | 12:28 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | lizmat: that would also be true for class definition, for example? I mean: `unit :ver<D> class Bla:ver<1.0>;`? | ||||||||||||||||||||||||||||||||||||||
lizmat | SmokeMachine: yes, the bare :ver would apply to the language version, the other :ver to the version of the class | 12:29 | |||||||||||||||||||||||||||||||||||||
that would not be ambiguous, would it ? | 12:30 | ||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 1c2ece9590 | (Elizabeth Mattijsen)++ | PATH-TO-RAKU.md Mention effects on event naming |
12:32 | |||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | 12:41 | |||||||||||||||||||||||||||||||||||||
pamplemousse | vrurg: Just wanted to let you know that I'm still tracking down the reason the precomp stuff for R#3075 , I think I'm nearly there | 12:43 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#3075 [open]: github.com/rakudo/rakudo/issues/3075 [precompilation] Conflicting use statement does not produce an error, but fails dynamic compilation. | ||||||||||||||||||||||||||||||||||||||
12:46
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: e4461ed9f2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | PATH-TO-RAKU.md Simplify versioning |
13:03 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: that's how I see it | ||||||||||||||||||||||||||||||||||||||
vrurg | pamplemousse: Thanks! | 13:04 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: also, please move the document into solutions/language | 13:06 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 4927eae040 | (Paweł Murias)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp [js] Temporary workaround for a bug |
13:10 | |||||||||||||||||||||||||||||||||||||
rakudo: e95582dad7 | (Paweł Murias)++ | src/vm/js/CompUnit/Repository/NodeJs.pm6 [js] Use --> syntax instead of returns Make the code look more like the rest of the setting |
|||||||||||||||||||||||||||||||||||||||
Kaiepi | is using the bsd license compatible with the license we use? i won't be using any significant amounts of code, just a few lines that may fix that test failure from openbsd's man page for connect(2) | 13:16 | |||||||||||||||||||||||||||||||||||||
"bsd license" is too vague, i think they use the two-clause version it | 13:19 | ||||||||||||||||||||||||||||||||||||||
vrurg | Kaiepi: is openbsd on two-clause? I thought for years eveybody switched to three-clause. | 13:35 | |||||||||||||||||||||||||||||||||||||
Kaiepi | i'll need to check, but some people still use two-clause | 13:37 | |||||||||||||||||||||||||||||||||||||
vrurg | Kaiepi: in either case, as I remember from an old discussion, BSD is one way compatible always: as long as you reference the source of borrowed code it's ok to use it. | 13:40 | |||||||||||||||||||||||||||||||||||||
As long as you add a comment mentioning openbsd it should be fine. | 13:41 | ||||||||||||||||||||||||||||||||||||||
Kaiepi | mb, openbsd uses the berkeley license, but its clauses are specific to when you're contributing to openbsd | 13:42 | |||||||||||||||||||||||||||||||||||||
Guest37021, does it still throw if you change IO::Socket::INET.new(:host("$hostname:$port")) to IO::Socket::INET.connect($hostname, $port)? | 13:52 | ||||||||||||||||||||||||||||||||||||||
er, fail | |||||||||||||||||||||||||||||||||||||||
Guest37021 | Kaiepi: will test that when I get home from $work | 14:04 | |||||||||||||||||||||||||||||||||||||
14:10
Ven`` joined
|
|||||||||||||||||||||||||||||||||||||||
Guest37021 | Kaiepi: if I make the above change on my working system I get - No such method 'recv' for invocant of type 'Any' | 14:10 | |||||||||||||||||||||||||||||||||||||
Kaiepi | if you take out the catch block, what error shows up? | 14:13 | |||||||||||||||||||||||||||||||||||||
Guest37021 | disregard my earlier statement, I didn't type in the change correctly | 14:14 | |||||||||||||||||||||||||||||||||||||
Kaiepi | ah | ||||||||||||||||||||||||||||||||||||||
Guest37021 | I initially wrote IO::Socket::INET.new($hostname, $port); | ||||||||||||||||||||||||||||||||||||||
but forgot to change .new to .connect | 14:15 | ||||||||||||||||||||||||||||||||||||||
So the working system continues to work after the change. Will test on my RPi 4 when I get home. | |||||||||||||||||||||||||||||||||||||||
Geth | ¦ problem-solving: AlexDaniel assigned to jnthn Issue Language versioning. github.com/perl6/problem-solving/issues/88 | 14:18 | |||||||||||||||||||||||||||||||||||||
14:19
pmurias left
14:31
pmurias joined
14:41
robertle left
14:59
pmurias left
15:43
Ven`` left
15:59
toddr joined
16:15
robertle joined
16:30
chloekek joined
16:37
mst left,
mst joined
16:44
mst left,
mst joined
17:10
Xliff joined
17:18
chloekek left
|
|||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 985934b855 | (Elizabeth Mattijsen)++ | 2 files Move file to solutions/language |
17:26 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: thanks! | 17:29 | |||||||||||||||||||||||||||||||||||||
lizmat | yw :-) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel++ # guardian of the process | 17:30 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: things are a bit out of control right now, so if I'm that then I'm not doing a great job :) | ||||||||||||||||||||||||||||||||||||||
not in a bad way, actually, it's just that everything is moving a bit too fast | 17:31 | ||||||||||||||||||||||||||||||||||||||
so there's a discussion about the docs and about versioning and in both people are kinda wandering around throwing different weird ideas… | 17:32 | ||||||||||||||||||||||||||||||||||||||
lizmat | fwiw, I'm more interested in momentum rather than speed | ||||||||||||||||||||||||||||||||||||||
AlexDaniel: links ? | 17:33 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | the doc stuff is concentrated here: github.com/perl6/doc/pull/2951 | ||||||||||||||||||||||||||||||||||||||
lizmat looks more closely | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | I thought this one will be really simple, but jmerelo wants a separate doc website for raku? uhhhh?? | 17:34 | |||||||||||||||||||||||||||||||||||||
and turns out .htaccess doesn't work, so it's currently not possible to set up redirects that we will need… and that's part of the infrastructure issue I think | 17:35 | ||||||||||||||||||||||||||||||||||||||
and language versioning here github.com/perl6/problem-solving/issues/88 | |||||||||||||||||||||||||||||||||||||||
the point of my commit was to defer that issue, but now people are discussing it for real | |||||||||||||||||||||||||||||||||||||||
and here three people think that “raku v1” is sensible: github.com/perl6/problem-solving/c...t-34683946 | 17:37 | ||||||||||||||||||||||||||||||||||||||
even though it is definitely not | |||||||||||||||||||||||||||||||||||||||
timotimo | i think the doc data is being delivered via a mojolicious app, so if you want redirects you have to be "in front of" the app, or change the app itself | 17:46 | |||||||||||||||||||||||||||||||||||||
on sena_kun's server i put redirects directly into the nginx config | |||||||||||||||||||||||||||||||||||||||
17:57
toddr left
18:00
reportable6 left,
TimToady left,
reportable6 joined,
TimToady joined
|
|||||||||||||||||||||||||||||||||||||||
dogbert17 | Kaiepi: here's strace output from running the first test from S32-io/socket-recv-vs-read.t on a RPi 4. Output from both 2019.07.1 and HEAD | 18:00 | |||||||||||||||||||||||||||||||||||||
gist.github.com/dogbert17/bbc5f032...3eac78d6ea | 18:01 | ||||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: e35a5ac301 | (Elizabeth Mattijsen)++ | solutions/language/PATH-TO-RAKU.md Add mention about NQP (Not Quite Peanuts) |
18:35 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: hahaha | 18:36 | |||||||||||||||||||||||||||||||||||||
jdv79 | yeah but what is peanuts then? | 18:41 | |||||||||||||||||||||||||||||||||||||
tobs | Not Quite Pottery | 18:42 | |||||||||||||||||||||||||||||||||||||
jdv79 | Potable? | ||||||||||||||||||||||||||||||||||||||
Potent? | |||||||||||||||||||||||||||||||||||||||
endless possibilities really | 18:43 | ||||||||||||||||||||||||||||||||||||||
vrurg | tobs: !!! | 18:49 | |||||||||||||||||||||||||||||||||||||
lizmat | I was going for this meaning of peanuts: 3 (peanuts) informal a very small or inadequate sum of money: he pays peanuts. | 18:54 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: 68da2436ac | (David Warring)++ | 2 files [examples/rubyish] - bring up-to-date with current NQP |
||||||||||||||||||||||||||||||||||||||
lizmat | tobs: FWIW, I also like Not Quite Pottery :-) | 19:01 | |||||||||||||||||||||||||||||||||||||
Kaiepi | dogbert17, from what i'm reading it never binds a socket to localhost properly | 19:02 | |||||||||||||||||||||||||||||||||||||
the only sockets it binds are AF_NETLINK sockets, but that's a kernel thing | 19:03 | ||||||||||||||||||||||||||||||||||||||
which is odd, it should be creating a socket as soon as you call .tap on IO::Socket::Async.listen | |||||||||||||||||||||||||||||||||||||||
er, maybe it's as soon as you call .listen, i forget | 19:04 | ||||||||||||||||||||||||||||||||||||||
tobs | lizmat: it was a serious suggestion, but this is also such a small issue not worth building a bikeshed around imo, so I'm not commenting it to a commit or issue. Feel free to take it into consideration for the next version of the document. | 19:06 | |||||||||||||||||||||||||||||||||||||
Geth | problem-solving/path-to-raku: 48793deddb | (Elizabeth Mattijsen)++ | solutions/language/PATH-TO-RAKU.md Add Not Quite Pottery as a backronym for NQP |
19:08 | |||||||||||||||||||||||||||||||||||||
19:16
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
robertle | I am trying to abuse the perl compiler in various ways to understand a piece of code, e.g. for syntax highlighting. I am confused by why the match object returned does not have any children: | 19:17 | |||||||||||||||||||||||||||||||||||||
m: with nqp::getcomp('perl6').parse('say 3 + 4') { say .made.^name; say .list.elems; } | |||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Could not find nqp::getcomp, did you forget 'use nqp;' ? at <tmp>:1 ------> 3with nqp::getcomp('perl6')7⏏5.parse('say 3 + 4') { say .made.^name; s |
||||||||||||||||||||||||||||||||||||||
robertle | nah, anyway: should the .list not have the children? | 19:18 | |||||||||||||||||||||||||||||||||||||
MasterDuke | m: use nqp; with nqp::getcomp("perl6").parse("say 3 + 4") { say .made.^name; say .dump; } | 19:21 | |||||||||||||||||||||||||||||||||||||
camelia | QAST::CompUnit - statementlist: say 3 + 4 - statement: 1 matches - EXPR: say 3 + 4 - args: 3 + 4 - arglist: 3 + 4 - EXPR: + 4 - 0: 3 - value: 3 - number: 3 … |
||||||||||||||||||||||||||||||||||||||
robertle | right, but I need the actual nodes not the textual representation. and I fail to find the definition of that .dump() as well... | ||||||||||||||||||||||||||||||||||||||
I mean surely the match that produced the QAST::CompUnit will have submatches, right? | 19:23 | ||||||||||||||||||||||||||||||||||||||
vrurg | robertle: nqp/src/QAST | ||||||||||||||||||||||||||||||||||||||
? | |||||||||||||||||||||||||||||||||||||||
[Coke] | AlexDaniel: if the redirects aren't working, I think the right thing is to fix them, not avoid them harder. | ||||||||||||||||||||||||||||||||||||||
but I'm no longer that active on docs, so it's just my 2¢ | |||||||||||||||||||||||||||||||||||||||
lizmat | fwiw, I think dogfooding the docs site using Cro would also be a good thing | 19:24 | |||||||||||||||||||||||||||||||||||||
but that's probably better for another tme | |||||||||||||||||||||||||||||||||||||||
*time | |||||||||||||||||||||||||||||||||||||||
robertle | vrurg: not sure I understand the question. I can walk the QAST tree all right, but have convinced myself that it does not have enough information to highlight the source. perhaps I am mistaken there... so I am trying to get the match tree from the grammar that made the QAST tree | ||||||||||||||||||||||||||||||||||||||
vrurg | robertle: sorry, misunderstood the question. | 19:26 | |||||||||||||||||||||||||||||||||||||
robertle | the reason I think the QAST is already too far processed to allow highlighting is this ugly snippet: gist.github.com/robertlemmen/52dd1...765072fb69 | ||||||||||||||||||||||||||||||||||||||
vrurg | robertle: I think you need to turn off optimizer. | 19:27 | |||||||||||||||||||||||||||||||||||||
robertle | you can see (in the output lines like '# 28-29' which parts of that tree have a node associated, which I think is the only place where I can get locations | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | [Coke]: I totally agree | 19:28 | |||||||||||||||||||||||||||||||||||||
dogbert17 | Kaiepi: I'm no socket expert but looking at last connection attempt made by both programs some differences jump out | 19:32 | |||||||||||||||||||||||||||||||||||||
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 11 # 2019.07.1 | 19:33 | ||||||||||||||||||||||||||||||||||||||
connect(11, {sa_family=AF_INET6, sin6_port=htons(5002), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 28) = 0 | |||||||||||||||||||||||||||||||||||||||
19:33
epony left
|
|||||||||||||||||||||||||||||||||||||||
dogbert17 | socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 11 # HEAD | 19:33 | |||||||||||||||||||||||||||||||||||||
connect(11, {sa_family=AF_INET, sin_port=htons(5002), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused) | |||||||||||||||||||||||||||||||||||||||
Kaiepi | yeah, i saw those | 19:34 | |||||||||||||||||||||||||||||||||||||
robertle | vrurg: I guess you mean on .compile()? .parse() should not do that anyway, right? I think I have done that and it is interesting, needs more digging. But still the QAST does not seem to have location info on everything, e.g. the SVal nodes, which makes it hard to (ab)use for this. this is why I thought the .parse() should be easier | 19:35 | |||||||||||||||||||||||||||||||||||||
Kaiepi | since the host used is localhost, it'll try both 127.0.0.1 and ::1 before giving up | ||||||||||||||||||||||||||||||||||||||
dogbert17 | I don't see AF_INET6 being tried on HEAD | 19:36 | |||||||||||||||||||||||||||||||||||||
vrurg | robertle: You guessed it right. In your snipped you use .compile. Otherwise I have no more guesses. I'm not a QAST expert, but you're right: it's not the place to store detailed source information. | ||||||||||||||||||||||||||||||||||||||
[Coke] | lizmat: could happen at the same time - but we shouldn't make it a blocker. | ||||||||||||||||||||||||||||||||||||||
robertle | vrurg: I guessed that much, so I am trying to use .parse() to get the matches from the grammar instead. but the top-level does not appear to have any children... | 19:39 | |||||||||||||||||||||||||||||||||||||
vrurg | robertle: did you try to introspect it? It likely to be a NQP::Cursor object, not Match. | 19:42 | |||||||||||||||||||||||||||||||||||||
timotimo | cursor and match have been unified | 19:43 | |||||||||||||||||||||||||||||||||||||
robertle | vrurg: actually .^name says it is a Perl6::Grammar itself which confused me a lot at the beginning, but someone here helpfully pointed out that this is expected | 19:44 | |||||||||||||||||||||||||||||||||||||
vrurg | timotimo: Though I see not list method on Cursor. | ||||||||||||||||||||||||||||||||||||||
robertle: it derives from HLL::Grammar, not Grammer from CORE | 19:45 | ||||||||||||||||||||||||||||||||||||||
*Grammar | |||||||||||||||||||||||||||||||||||||||
robertle | yeah, I found that and did some digging in there, but don't get it | ||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: BTW, it seems like I can't call functions using thread context from gdb command line? I tried MVM_print_string – it hangs. I guess there is a mutex somewhere? | 19:46 | |||||||||||||||||||||||||||||||||||||
timotimo | what's MVM_pring_string? | ||||||||||||||||||||||||||||||||||||||
print* | |||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: from strings/ops.c | 19:47 | |||||||||||||||||||||||||||||||||||||
MVM_string_print, actually. | |||||||||||||||||||||||||||||||||||||||
timotimo | right | ||||||||||||||||||||||||||||||||||||||
output does go through locking | |||||||||||||||||||||||||||||||||||||||
just encode it to utf8, you'll get a char* | 19:48 | ||||||||||||||||||||||||||||||||||||||
MVM_string_utf8_maybe_encode_C_string | |||||||||||||||||||||||||||||||||||||||
that should do it | |||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: Aha, was going that way, but forgot about the maybe_encode variant. Thanks! | 19:49 | |||||||||||||||||||||||||||||||||||||
Though I'm not yet sure which way is better: self-format and print or make stripped down simple structs and return them for gdb print? | 19:51 | ||||||||||||||||||||||||||||||||||||||
Or have both and base self-format on simplified structs. | 19:52 | ||||||||||||||||||||||||||||||||||||||
timotimo | um | 19:58 | |||||||||||||||||||||||||||||||||||||
i'm not sure what the goal is | |||||||||||||||||||||||||||||||||||||||
vrurg | timotimo: dump complex things like MVMObject, MVMCompUnit, etc., in readable form. | 20:01 | |||||||||||||||||||||||||||||||||||||
For CompUnit it might be useful to dump symbols it contains... | 20:02 | ||||||||||||||||||||||||||||||||||||||
timotimo | you know, the debugserver kind of has stuff for that | ||||||||||||||||||||||||||||||||||||||
it serializes to messagepack | |||||||||||||||||||||||||||||||||||||||
but you can deserialize it again right away | |||||||||||||||||||||||||||||||||||||||
in general, having the debugserver stuff available under gdb could be a nice thing in and of itself | 20:04 | ||||||||||||||||||||||||||||||||||||||
though gdb doesn't accept commands while the program is running | |||||||||||||||||||||||||||||||||||||||
vrurg | I'll look at it. Since the source is our only book for Moar I need some well-readable data to follow what it does. | ||||||||||||||||||||||||||||||||||||||
timotimo | on the other hand there's a mode where individual threads can be stopped by gdb | ||||||||||||||||||||||||||||||||||||||
rather than all-or-nothing | |||||||||||||||||||||||||||||||||||||||
vrurg | Let me see what I get out of it first. For now insepecting at a breakpoint would be good enough for me. | 20:05 | |||||||||||||||||||||||||||||||||||||
Thanks! Time for lunch anyway... :) | |||||||||||||||||||||||||||||||||||||||
robertle | MasterDuke: you earlier suggested .parse(..).dump(), do you have any idea where that .dump comes from? neither Perl6::Grammar nor the underlying HLL:Grammar does... How could i possibly find out? | 20:23 | |||||||||||||||||||||||||||||||||||||
MasterDuke | it's somewhere in NQP | ||||||||||||||||||||||||||||||||||||||
maybe src/QAST/Node.nqp:134 or src/QRegex/Cursor.nqp:100 | 20:24 | ||||||||||||||||||||||||||||||||||||||
robertle | NQPMatchRole! thanks! | 20:26 | |||||||||||||||||||||||||||||||||||||
MasterDuke | np | ||||||||||||||||||||||||||||||||||||||
robertle | oh dude, I am such a tool! of course they don't all have populated .list, some have populated .hash!!! | 20:31 | |||||||||||||||||||||||||||||||||||||
20:50
pmurias left
20:52
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 88dfe55c01 | (Elizabeth Mattijsen)++ | 11 files Some more "die" removals, inspired by 01b86fa8ab949de9 |
21:11 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: an idea for the next language release: what do we do with all this AdHoc stuff? | 21:38 | |||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel: ?? | 21:39 | |||||||||||||||||||||||||||||||||||||
you mean "die" statements in general ? | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: sometimes you want to catch some particular exception but it turns out that the one you need to catch is AdHoc, which can be anything | 21:40 | |||||||||||||||||||||||||||||||||||||
timotimo | "adding more structured exceptions" was one of the first kinds of contributions i made back then | 21:41 | |||||||||||||||||||||||||||||||||||||
lizmat | well... I guess it would be a nice project to replace all "die" statements with X::versions | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | greppable6: X\:\:AdHoc | 21:44 | |||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, 166 lines, 51 modules: gist.github.com/6627e132b1e07d6782...4750c79eef | ||||||||||||||||||||||||||||||||||||||
22:03
Kaiepi left,
Kaiepi joined
22:05
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: I think you start it from a little wrong direction. Exceptions need some better structuring to be started with. Like, there is X::Comp role and X::Comp::Group which is not X::Comp. | 22:12 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: not going to argue with that :) | ||||||||||||||||||||||||||||||||||||||
vrurg | I would also split Exceptions into a few smaller files. We can plan this (noted). And then wait for a hero to implement it. | 22:14 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/Rat-Precision: 474dc0a5d4 | (Elizabeth Mattijsen)++ | src/core/Rat.pm6 Introduce the $*PRECISION variable This dynamic variable indicates what should happen if a `Rat` is running out of range for its denominator. - when not explicitely set, downgrade to Num - when explicitely set to the `Num` type object, downgrade to Num ... (24 more lines) |
22:15 | |||||||||||||||||||||||||||||||||||||
rakudo: lizmat++ created pull request #3122: Introduce the $*PRECISION variable |
22:16 | ||||||||||||||||||||||||||||||||||||||
22:35
pamplemousse_ joined
22:39
pamplemousse left
22:43
dogbert17 left
22:55
MasterDuke left
22:59
MasterDuke joined
23:09
pmurias left
23:20
epony joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: I just realized that I cannot create projects in problem-solving yet. | 23:30 |