»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
kyclark joined
|
|||
kyclark | Sorry, one more question. How do I print Unicode if I have something like “U+26FA"? | 00:01 | |
“say” just prints that literally. | |||
timotimo | you want either \x26fa or chr(0x26fa) | 00:02 | |
and of course there's also \c[SOME LETTER WITH SOME ACCENT OR SOMETHING] | |||
AlexDaniel | u: U+26FA | 00:06 | |
unicodable6 | AlexDaniel, U+26FA TENT [So] (⛺) | ||
00:06
mcmillhj joined
|
|||
raiph | m: put "\c[%]" # LTA error message; I thought it was complaining about the '\c'; plan to RT if not already RT'd | 00:06 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized \c character at <tmp>:1 ------> 3put "\c[7⏏5%]" # LTA error message; I thought it wa expecting any of: argument list double quotes term |
||
AlexDaniel | m: say “\c[TENT]” | 00:07 | |
camelia | ⛺ | ||
AlexDaniel | raiph: I don't think there's an RT for that | ||
00:07
kyclark left
|
|||
AlexDaniel | raiph: mostly because it's hard for me to see any problem here :) | 00:07 | |
but LTA is LTA, if you think that it is | 00:08 | ||
raiph | m: put "\c[U+26FA]" # I started with a guess ("I seem to recall a \c[...] thing; lemme try that") | 00:09 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized character name [U+26FA] at <tmp>:1 ------> 3put "\c[U+26FA7⏏5]" # I started with a guess ("I seem to |
||
raiph | One more time... | 00:11 | |
m: put "\c[“U+26FA"]" # I started with a guess ("I seem to recall a \c[...] thing; lemme try that") | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized \c character at <tmp>:1 ------> 3put "\c[7⏏5“U+26FA"]" # I started with a guess ("I expecting any of: argument list double quotes term |
||
raiph | but yeah, too marginal, not RT worthy | 00:13 | |
00:13
imcsk8 left
|
|||
raiph | AlexDaniel: thx | 00:13 | |
AlexDaniel | u: star | ||
unicodable6 | AlexDaniel, U+066D ARABIC FIVE POINTED STAR [Po] (٭) | ||
AlexDaniel, U+06DE ARABIC START OF RUB EL HIZB [So] (۞) | |||
00:13
mcmillhj left
|
|||
unicodable6 | AlexDaniel, 63 characters in total: gist.github.com/c14acb047bbb675d22...4aaccb2fc2 | 00:13 | |
00:14
pierre_ joined
00:25
mcmillhj joined
|
|||
Geth | ecosystem: 49113f4144 | (Rob Hoelz)++ | META.list Remove Native::Resources from ecosystem It's deprecated |
00:26 | |
timotimo | oooh hoelzro is here! | 00:27 | |
:) | |||
00:31
mcmillhj left
|
|||
hoelzro | o/ | 00:31 | |
blame Zoffix and samcv for filing PRs against modules and forcing me to do work ;) | |||
samcv | clicking one button ;P :? heh | 00:32 | |
hoelzro | haha, yes | ||
although I'm going to look into that Linenoise multibyte stuff this weekend | |||
samcv | oh that issue. yeah | ||
will love you so much if you get that working! | 00:33 | ||
that's the only reason Readline is better than the linenoise one, becuase of the utf-8 support | |||
hoelzro | I'll do what I can! | ||
samcv | and since it's in Star, you'll be a 🌟 if you can do it! | ||
thank you :) | |||
hoelzro | I started on it last April (ugh so long ago), but I decided "oh hey, maybe I'll just write a pure Perl line editor" | ||
that way lies madness | |||
and demotivation to work on Perl 6 stuff | 00:34 | ||
samcv | heh | ||
timotimo | hoelzro: we're putting a cflag into moarvm to make sure our linux-based devs don't break the msvc build, but stuff like LibraryMake will take the CFLAGS and run with 'em for any random code out there | 00:35 | |
we need a way to fix this | |||
also, wanna kick the parrot code path out? :D | |||
hoelzro | "make sure our linux-based devs don't break the msvc build" - haha, that *never* happens... | 00:36 | |
;) | |||
timotimo: kick out as in remove it? | 00:37 | ||
timotimo | well, we have at least the one thing that keeps us from committing obviously broken stuff | ||
yeah | |||
we haven't had rakudo supporting parrot for a long while | |||
hoelzro | right | ||
I need to get back up to speed | |||
I've been thinking about contributing again | |||
timotimo | neato | ||
samcv | timotimo, why do will still not have Appveyor for MoarVM? | 00:39 | |
need to bug jnthn to add/authorize it or what? | 00:40 | ||
timotimo | right, jnthn will have to push the magic button | ||
00:41
pat_js left,
mcmillhj joined
00:45
mcmillhj left,
Cabanossi left
00:47
Cabanossi joined
00:50
zacts joined
00:51
Actualeyes joined
01:01
labster left
01:24
poohman joined
01:26
wigner joined
01:29
poohman_ joined
|
|||
poohman_ | m: say "test"; | 01:30 | |
camelia | test | ||
01:30
poohman left
01:35
pierre_ left,
mcmillhj joined
01:41
mcmillhj left
01:42
poohman_ left,
poohman joined
|
|||
poohman | m: say " test"; | 01:43 | |
camelia | test | ||
01:45
pierre_ joined
01:46
ilbot3 left
01:48
KDr2 joined
01:49
ilbot3 joined,
ChanServ sets mode: +v ilbot3,
raschipi joined
|
|||
AlexDaniel | m: say ‘test test test!’ | 01:58 | |
camelia | test test test! | ||
skids | m: my $a = "H"; say $a [R~]= "T"; $a.say; $a [R~]= "W"; $a.say | 02:00 | |
camelia | Potential difficulties: Useless use of [R~]= in sink context at <tmp>:1 ------> 3 $a = "H"; say $a [R~]= "T"; $a.say; $a 7⏏5[R~]= "W"; $a.say TH TH WTH |
||
skids | useless useless use. :) | ||
skids looks for prexisting RT. | 02:01 | ||
02:05
AlexDaniel left
|
|||
skids made RT#131251 | 02:14 | ||
raschipi | #131251 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131251 | ||
BenGoldberg | m: use experimental :macros; macro infix:<plus>($a, $b) { return quasi { {{{$a}}} + {{{$b}}} } }; say 2 plus 3; | 02:16 | |
camelia | WARNINGS for <tmp>: Useless use of constant integer 2 in sink context (line 1) Useless use of constant integer 3 in sink context (line 1) 5 |
||
BenGoldberg | skids, Think it's related? | 02:17 | |
02:20
mcmillhj joined
02:23
lookatme joined
02:25
mcmillhj left
|
|||
skids | I'd be more inclined to think it has something to do with something not figuring out it's an assignment op, as it complains about the operator not operands. | 02:26 | |
(And probably macro "bugs" are premature given that whole area is likely to be overhauled before making it out of experimental) | 02:27 | ||
not that roast tests are ever premature. | 02:28 | ||
02:39
labster joined
02:45
Eddward joined
|
|||
Eddward | Anyone seen an error like this when building star? pastebin.com/BGmHhVfh | 02:45 | |
oh. I'm an idiot. Nevermind. | 02:48 | ||
lookatme | :) | 02:51 | |
02:52
mcmillhj joined
02:56
mcmillhj left
02:59
Cabanossi left
03:02
Cabanossi joined
03:03
cpage__ joined,
john51 joined
03:04
bjz joined
03:05
jcallen_ joined,
xfix_ joined,
cpage___ joined,
kentnl joined
03:06
ilmari_ joined,
bonsaikitten joined
03:07
avalenn_ joined,
Woodi_ joined,
rblackwe joined,
petercommand joined,
mr-fooba_ joined
|
|||
skids | Mr. Meeseeks? | 03:08 | |
03:08
Actualeyes left
03:11
rblackwe_ left,
petercom1and left,
mr-foobar left,
robertle left,
xiaomiao left,
john51_ left,
xfix left,
cpage_ left,
grondilu left,
kent\n left,
clkao left,
Spot__ left,
jcallen left,
ilmari left,
cpage left,
Woodi left,
avalenn left,
cpage___ is now known as cpage_,
cpage__ is now known as cpage,
ilmari_ is now known as ilmari
03:14
robertle joined,
khw left
03:15
bjz left
03:16
grondilu joined,
lookatme left
03:17
lookatme joined
03:20
poohman_ joined
03:21
bjz joined
03:22
poohman__ joined
03:23
poohman left
03:24
Actualeyes joined,
poohman_ left
03:26
kurahaupo left
03:27
bjz left
03:29
Cabanossi left
03:31
Cabanossi joined
03:33
bjz joined
03:34
Eddward left
03:40
bjz left
03:53
dj_goku left
03:55
mcmillhj joined
03:56
dj_goku joined
03:59
mcmillhj left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:04
BenGoldberg left
04:19
colomon left
04:21
raschipi left
04:27
wamba joined
04:40
curan joined
04:52
skids left
05:10
AlexDaniel joined
05:12
clkao joined,
Spot__ joined
05:13
pierre_ left
05:18
wigner left
05:25
colomon joined
05:27
lowbro joined,
lowbro left,
lowbro joined
05:29
Cabanossi left
05:31
Cabanossi joined
05:33
AlexDaniel left
05:35
ufobat joined
05:37
pierre_ joined
05:38
rindolf joined
05:41
xtreak joined
05:42
azawawi joined
|
|||
azawawi | Good morning | 05:42 | |
pasteboard.co/26lEVUa0L.png # Perl 6 ASCii Art 3D Cube , Sine/Cosine waves and kitchen sink example in all-in-one screenshot :) | 05:43 | ||
github.com/azawawi/perl6-terminal-...r/examples # :) | 05:44 | ||
Feedback welcomed | |||
05:44
wamba left
05:45
mcmillhj joined
05:47
titsuki joined
05:49
mcmillhj left
05:52
astj_ left
05:54
astj joined
05:57
KDr2 left
05:58
raiph left
05:59
raiph joined
06:02
azawawi left
06:04
raiph left,
raiph joined
06:11
aborazmeh left
06:13
CIAvash joined
06:22
raiph left
06:23
raiph joined
06:26
labster left
06:27
raiph left,
raiph joined,
wamba joined
06:28
Cabanossi left
|
|||
lookatme | m: sub f(*%args) { dd %args; }; try { f(1 => 2, 3 => 4); CATCH { default { "FAIL!!".note; } } }; f(f => 5, z => 6); | 06:29 | |
camelia | FAIL!! {:f(5), :z(6)} |
||
lookatme | Why first call with `1 => 2, 3 => 4` failed ? --? | ||
06:30
raiph left,
raiph joined
|
|||
samcv | lookatme, because (1 => 2, 3 => 4) is two pairs | 06:31 | |
06:31
Cabanossi joined
|
|||
samcv | m: say (1 => 2, 3 => 4).WHAT | 06:31 | |
camelia | (List) | ||
samcv | m: sub f(*%args) { dd *%args; }; try { f(1 => 2, 3 => 4); CATCH { default { "FAIL!!".note; } } }; f(f => 5, z => 6); | 06:32 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: args used at line 1 |
||
lookatme | m: say (f => 5, z => 6).WHAT | ||
camelia | (List) | ||
06:32
poohman joined
|
|||
samcv | hmm see you have *%blah | 06:32 | |
06:32
mcmillhj joined
|
|||
samcv | m: sub f(*%args) { dd %args; }; try { f({1 => 2, 3 => 4}); CATCH { default { "FAIL!!".note; } } }; f(f => 5, z => 6); | 06:32 | |
camelia | FAIL!! {:f(5), :z(6)} |
||
samcv | hmm sec lemme look closer | 06:33 | |
at first thought you didn't use *%args | |||
lookatme | em | ||
What should i use ? | |||
06:34
poohman__ left
|
|||
lookatme | m: sub f(%arg) { say %arg.WHAT; dd %arg; }; f(1 => 2); f(f => 5); | 06:35 | |
camelia | (Pair) 1 => 2 Too few positionals passed; expected 1 argument but got 0 in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
samcv | hmm ok so that wasn't the reason but | ||
since f(f => 5, z => 6) is a list of paris too | 06:36 | ||
gonna try something out hold on | |||
06:36
mcmillhj left
|
|||
lookatme | m: sub f(%arg) { say %arg.WHAT; dd %arg; }; f(f => 5); | 06:37 | |
camelia | Too few positionals passed; expected 1 argument but got 0 in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
lookatme | But on my rakudo, it's work fine | 06:38 | |
This is Rakudo version 2017.03 built on MoarVM version 2017.03 | |||
Let me try again. | 06:39 | ||
samcv | m: my $b = f => 5, z => 6; | ||
camelia | WARNINGS for <tmp>: Useless use of "z => 6" in sink context (lines 1, 1) |
||
samcv | ok there is the problem lookatme | ||
m: my $b = 'f' => 5, 'z' => 6; | |||
camelia | WARNINGS for <tmp>: Useless use of "=>" in expression "'z' => 6" in sink context (line 1) |
||
lookatme | m: sub f(%arg) { say %arg.WHAT; dd %arg; }; f(1 => 5); | 06:40 | |
camelia | (Pair) 1 => 5 |
||
samcv | m: my $b = {'f' => 5, 'z' => 6}; | ||
camelia | ( no output ) | ||
samcv | sub f(*%args) { say %args; }; f(:what, :is, :this(4), :hi(10)) | 06:41 | |
m: sub f(*%args) { say %args; }; f(:what, :is, :this(4), :hi(10)) | |||
camelia | {hi => 10, is => True, this => 4, what => True} | ||
samcv | m: sub f(*%args) { dd %args; }; f(:what, :is, :this(4), :hi(10)) | ||
camelia | {:hi(10), :is, :this(4), :what} | ||
samcv | m: sub f(*%args) { dd %args; }; try { f |(1 => 2, 3 => 4); CATCH { default { "FAIL!!".note; } } }; f(f => 5, z => 6); | 06:42 | |
camelia | FAIL!! {:f(5), :z(6)} |
||
lookatme | m: dd \(f => 5); dd \(1 => 5); | ||
camelia | \(:f(5)) \(1 => 5) |
||
lookatme | What's difference from `:f(5)` and `1 => 5` | 06:43 | |
06:43
rindolf left
|
|||
lookatme | s/from/between/ | 06:43 | |
samcv | lookatme, well if you want to pass a list of pairs you should use *@array | 06:45 | |
the *%blah is slurpy parameters not a slurpy list | |||
it suprised me a bit too this different functionality but it makes some sense. *%args is supposed to be parameters, and parameters are usually written :foo('bar') notation when you give it to a sub | 06:46 | ||
so it gives it as different args and not as a list | |||
if that makse sense | |||
this => 'that', foo => 'bar # is a List of pairs | |||
the other one is more than one argument | |||
lookatme | Em, When should I use *%args ? | 06:47 | |
samcv | if you accept arguments | ||
that you want put in a hash | |||
lookatme | What argument ? | ||
06:48
mcmillhj joined
|
|||
samcv | i use one in one of my modules lemme show you | 06:48 | |
github.com/samcv/IRC-TextColor/blo...m6#L68-L76 | |||
and see the pod comment above the function | 06:49 | ||
also lets you have any arguments you want | 06:50 | ||
06:51
rindolf joined
|
|||
lookatme | So I call that fun like this `ircstyle('...', | %irc-styles)` ?? | 06:51 | |
Is this right ? | |||
samcv | no | 06:52 | |
well maybe you can i haven't tried | |||
but | |||
ircstyle('text', :bold, :green) # usually called like that | |||
lookatme | I think it's ok. | ||
samcv | which gives you %hash = 'bold' => True, 'green' => True | ||
06:53
mcmillhj left
|
|||
lookatme | But I think `ircstyle('text', :bold, :green)` and `ircstyle('text', bold => True, green => True)` is equal .. | 06:53 | |
samcv | bisectable6, m: sub f(*%args) { dd %args; }; try { f(1 => 2, 3 => 4); CATCH { default { "FAIL!!".note; } } }; f(f => 5, z => 6) | ||
bisectable6 | samcv, On both starting points (old=2015.12 new=f4cbdb6) the exit code is 0 and the output is identical as well | ||
samcv, Output on both points: «FAIL!!{:f(5), :z(6)}» | |||
lookatme | Maybe I dont' get your point . | 06:54 | |
samcv | hmm | ||
m: sub f(Str $s, *%args) { dd %args; }; try { f('string', 1 => 2, 3 => 4); CATCH { default { "FAIL!!".note; } } }; f('string', f => 5, z => 6) | |||
camelia | FAIL!! {:f(5), :z(6)} |
||
06:55
poohman_ joined
|
|||
samcv | oh i get it! | 06:55 | |
lookatme | I just expect `f(1 => 2, 3 => 4)` is working with that signature | ||
samcv | ok. here you go | ||
lookatme, you can't have arguments that are numbers! | |||
finally clicked in my mind | |||
lookatme | Oh ?why .. | ||
samcv | you can't have a variable named $8 or whatever | 06:56 | |
lookatme | Em. | ||
samcv | sub f ( $8, $3) that's what it's like | ||
and you can't have that | |||
becuse it's passed as arguments to the function (passed as NAMED arguments) | |||
that is | |||
have you learned about named arguments lookatme ? | 06:57 | ||
lookatme | Yeah, I know that. | ||
samcv | m: sub f (:$foo, :$bar) { say $foo, say $bar}; f(:foo('hi'), :bar('no')) | ||
camelia | no hiTrue |
||
lookatme | It can be write like name => value, :name(value) | ||
samcv | so the first thing in the pair is the name of the named argument | 06:58 | |
it doesn't pass as an actual pair | |||
lookatme | Oh, I got it ! | ||
samcv | yeah it confused me too for a while! hah | ||
lookatme | It's a big trap.. | ||
samcv | heh | ||
well when you %*args it assumes they're all named | |||
06:59
poohman left
|
|||
samcv | since that's what it's for. if you did some other variable that wasn't named then you'd probably be fine | 06:59 | |
lookatme | I use `%args` before, it all work fine, so I confused ... | ||
samcv | m: sub f ($a, $b) { dd $a; dd $b }; f(this=>'that', here=>'there') | ||
camelia | Too few positionals passed; expected 2 arguments but got 0 in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
lookatme | m: sub f(Str $s, *%args) { dd %args; }; try { f('string', |(1 => 2, 3 => 4)); CATCH { default { "FAIL!!".note; } } }; f('string', f => 5, z => 6) | ||
camelia | FAIL!! {:f(5), :z(6)} |
||
samcv | m: sub f ($a, $b) { dd $a; dd $b }; f((this=>'that'), (here=>'there')) | 07:00 | |
camelia | Pair $a = :this("that") Pair $b = :here("there") |
||
07:00
Cabanossi left
|
|||
samcv | lookatme, with how many pairs? | 07:01 | |
lookatme | m: sub f(Str $s, *%args) { dd %args; }; try { f('string', |(1 => 2), |(3 => 4)); CATCH { default { "FAIL!!".note; } } }; f('string', f => 5, z => 6) | ||
camelia | {"1" => 2, "3" => 4} {:f(5), :z(6)} |
||
samcv | you can do this: | ||
m: sub f (%args) { dd %args}; f ({a => 'b', b=>'c'}) | |||
camelia | Hash % = {:a("b"), :b("c")} | ||
07:01
Cabanossi joined
|
|||
lookatme | samcv, I just play with that | 07:02 | |
samcv | yeah, use { } around the pairs so it acts as a hash | ||
in most cases you *don't* want *%hash. but *@args is pretty easy to use | |||
and just lets you use as many arguments you want | |||
07:03
parv joined
|
|||
samcv | but yeah, be careful with lists of things vs arguments | 07:03 | |
since f('a', 'b') is two arguments but f(('a','b')) is one etc | |||
lookatme | `|(1 => 2)` work fine. | ||
samcv | yeah it sems so | ||
i had tried to do that before but i guess i did it wrong :| | |||
lookatme | Em, should be careful.. | ||
samcv | let me see what i did wrong | 07:04 | |
07:04
Resol left,
mcmillhj joined
|
|||
samcv | ah i did this: | 07:04 | |
m: sub f(*%args) { dd %args; }; try { f |(1 => 2, 3 => 4); CATCH { default { "FAIL!!".note; } } }; f(f => 5, z => 6); | |||
camelia | FAIL!! {:f(5), :z(6)} |
||
lookatme | I use it for `method new`, so I can dont' care about what passed | ||
samcv | put the | in front of both | ||
lookatme, you are making a custom method new? | 07:05 | ||
lookatme | Em, you can do what you want in that custom new | ||
samcv | curious about your reasons. i've never had to do that myself. i've used TWEAK though, because it's a lot easier. and let perl 6 handle the args | ||
have you heard about TWEAK? | |||
lookatme | No. | 07:06 | |
samcv | it's really nice! | ||
docs.perl6.org/language/objects#in...ntry-TWEAK | |||
07:06
dct joined
|
|||
lookatme | Oh, I will check that | 07:06 | |
samcv | much safer because it doesn't override any perl6 constructor methods :) | ||
i think we got it like start of thsi year | |||
oh november of 2016 actually it was added | 07:07 | ||
lookatme | Is *rakudo* will pass all arguments to TWEAK ? | 07:08 | |
samcv | uhm no | ||
lookatme | I mean you can initialize private attribute. | ||
samcv | so you setup your variables with 'has' | ||
and pass those to 'new' | |||
then in TWEAK you do what you want with those variables | |||
and "get the object ready" and do whatever work or initialize what variables you want | 07:09 | ||
07:09
Actualeyes left,
mcmillhj left
|
|||
samcv | if you make your own new you don't get the built in initialization of passed arguments -> private variables | 07:10 | |
but you may/may not want that, i'm not sure what you're doing :-) | |||
07:10
mcmillhj joined
|
|||
lookatme | Em, you are right | 07:11 | |
samcv | i like to just pass them in with the default .new, and then do all the actions i need in TWEAK. though i haven't needed to have arbitrary arguments before | ||
lookatme | I should do something practice about `TWEAK` | 07:12 | |
samcv | even if it doesn't fix this exact thing you're trying to do, it will surely be very useful in the future | ||
lookatme | Em, override new actually not a good idea. | ||
Em, it could be | 07:13 | ||
And, samcv thanks for your help. | 07:14 | ||
samcv | no problem! | ||
07:15
mcmillhj left
07:17
robertle left
07:18
dct left
|
|||
lookatme | samcv, Great, TWEAK received all named arguments | 07:19 | |
m: class H { submethod TWEAK(|c) { dd c; }; }; H.new(a => 3, b => 3, fa => 4); | 07:20 | ||
camelia | \(:a(3), :b(3), :fa(4)) | ||
07:23
geekosaur left
07:24
geekosaur joined
07:26
mcmillhj joined
07:28
labster joined
|
|||
samcv | oh it did :) good to know | 07:29 | |
awesome! we both learned things :) | |||
07:30
mcmillhj left
07:32
domidumont joined,
dakkar joined
07:34
jonas1 joined
07:36
anton_p joined
07:37
pierre_ left,
domidumont left
07:38
domidumont joined
07:39
Actualeyes joined
07:41
wamba left
07:42
mcmillhj joined
07:43
pierre_ joined
07:44
domidumont left
07:45
Cabanossi left,
domidumont joined
07:46
Cabanossi joined
07:49
zakharyas joined
07:50
mcmillhj left
08:04
TEttinger left
08:11
wamba joined,
lookatme left
08:12
lookatme joined
08:15
bjz joined
08:17
mcmillhj joined
08:21
lowbro left,
lookatme left
08:23
espadrine_ joined,
mcmillhj left
08:24
lookatme joined
08:29
Cabanossi left
08:31
Cabanossi joined
08:32
espadrine joined,
espadrine_ left
08:35
mcmillhj joined
08:36
espadrine left
08:41
xtreak left
08:42
mcmillhj left
08:43
xtreak joined
08:46
El_Che_ is now known as El_Che
08:48
lowbro joined
08:54
wamba left
08:55
CIAvash left
09:01
robertle joined
09:04
xtreak left
09:05
Actualeyes left,
xtreak joined
09:07
colomon left
09:09
mcmillhj joined
09:10
colomon joined
09:13
clkao left,
clkao joined,
parv left
09:15
mcmillhj left
09:16
lookatme left
09:21
Actualeyes joined
09:23
xtreak_ joined,
xtreak left
09:30
labster left
09:43
pierre_ left
09:46
poohman joined,
pierre_ joined
09:47
poohman_ left
09:48
wamba joined
09:49
geekosaur left
09:51
geekosaur joined
09:58
xtreak_ left
|
|||
Geth | Swapped META.info → META6.json in 2 dists in github.com/perl6/ecosystem/commit/8a48a6381c | 09:59 | |
09:59
xtreak joined
10:00
xtreak left
10:01
xtreak joined
10:06
darutoko joined
10:16
anton_p left
10:20
itsame joined
10:28
MorayJ joined
10:30
Cabanossi left
10:31
Cabanossi joined
10:40
itaylor57 left
10:41
anton_p joined
10:48
pierre_ left
11:00
bjz_ joined
11:02
bjz left
11:06
poohman_ joined
11:09
poohman left
11:11
wamba left
11:26
itsame left
11:38
bjz_ left
11:39
bjz joined
11:41
xtreak left
11:42
xtreak joined
11:44
xtreak left,
garas joined,
xtreak joined
|
|||
garas | how does it works with zef? can it download any older version of a module? | 11:44 | |
where does one finds the list of versions? | |||
not from the tags on github, apparently | 11:49 | ||
11:57
araraloren joined
11:59
wamba joined
|
|||
garas | m: my $f; class B { has $!a; }; my $c= B.new: :$f; dd $c; # What is this thing really doing? | 12:02 | |
camelia | B $c = B.new | ||
garas | m: class B { has $a; }; my $c= B.new: "cest", "nimporte", "qua"; dd $c; | 12:07 | |
camelia | Default constructor for 'B' only takes named arguments in block <unit> at <tmp> line 1 |
||
garas | m: class B { }; my $c= B.new: :a("cest"), :b("nimporte"), :c("qua"); dd $c; | ||
camelia | B $c = B.new | ||
jnthn | :$f just means :f($f) | 12:09 | |
The default new just passes the named arguments into the default construction process. That in turn makes them available to each class in the inheritance chain to use. | 12:10 | ||
The default BUILD semantics are to see if there are any public attributes (those declared $.foo) and if there's an argument with name foo, then populate the attribute with that value. | 12:11 | ||
Since your class doesn't declare any custom construction logic nor have any public attributes, then the named arguments being passed go unused. | 12:12 | ||
12:12
brrt joined
12:13
brrt left
|
|||
garas | passing unuseful arguments seems like a really associal behaviour | 12:16 | |
the person which is trying to understand the code will try to figure out what in fact is nothing | 12:17 | ||
12:20
g4 joined,
g4 left,
g4 joined
|
|||
jnthn | Well, yes, I'm not sure why anybody would pass knowingly unused arguments. :-) | 12:22 | |
12:23
nadim joined
|
|||
nadim | morning, how does one say things on STDERR? | 12:23 | |
MasterDuke_ | note() is one way | 12:24 | |
Woodi_ | hi #perl6 :) | ||
we don't use luajit anymore ? there is new version available. but cannot found it in 3rdparty/ | 12:25 | ||
nadim | MasterDuke_: thanks | ||
Woodi_: yo! | |||
Woodi_ | hi nadim :) | ||
MasterDuke_ | Woodi_: i think MoarVM just uses a library from luajit, dynasm maybe? | 12:27 | |
jnthn | Yes, dynasm | 12:28 | |
Which is a build time dependency rather than a runtime one | |||
Woodi_ | right, it's in | 12:29 | |
jnthn | And I believe what we have is actually a dynasm fork | ||
That adds dynamic register selection | |||
Woodi_ | just luajit changelog looked strange to me :) like: some strange bugs was fixed :) | 12:30 | |
12:30
pmurias joined,
pmurias left,
pmurias joined
|
|||
jnthn | Once a VM gets to a certain point, most of the bugs left to fix are strange ones :-) | 12:30 | |
'cus the boring ones were already shaken out | |||
Woodi_ | jnthn: still cannot accept that, even it's pretty logical :) | 12:31 | |
12:31
nadim left,
nadim joined
|
|||
Woodi_ | "just start from Hallo World and proceed with caution" seems so simple :) | 12:32 | |
Dijkstra wrote two things: 1. programing is for smarter ppls; but also 2. abstraction should make things better understendable :) | 12:34 | ||
12:35
raschipi joined
|
|||
Woodi_ | and gov's around the clock trying to craft more programmers ;) | 12:35 | |
[Coke] | ff | 12:37 | |
12:46
ChoHag joined
|
|||
pmurias | jnthn: speaking of boring VM stuff have you seen my coerce_s_n PR? ;) | 12:49 | |
yoleaux | 2 May 2017 16:10Z <Zoffix> pmurias: I was wrong. The .Str/.Stringy/.gist/.perl on Baggies is supposed to be ordered (RT#131244), but the fix will be in Rakudo, so I don't think any chances to JS backend to handle this are needed. | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131244 | ||
12:51
mcmillhj joined
12:52
geekosaur left
|
|||
jnthn | pmurias: Saw it's there; didn't get chance to review it just yet :( | 12:53 | |
Will get to it shortly, I'm almost caught up with stuff :) | |||
12:54
geekosaur joined
|
|||
eater | Woodi_: who is Dijkstra en.wikipedia.org/wiki/Dijkstra | 12:55 | |
found him .-. | 12:56 | ||
12:59
bjz left
|
|||
MasterDuke_ | nadim: also $*ERR.say() | 12:59 | |
Woodi_ | eater: he is proverbial ultimate programmer :) | 13:00 | |
btw. it's crazy ! Knuth was designing algoritms on the beach ! ;) | 13:01 | ||
araraloren | oh, ultimate .. | ||
pmurias | Woodi_: wasn't he more of a computer scientist rather than a programmer? | 13:02 | |
eater | ^ | 13:03 | |
Woodi_ | pmurias: IMO no. before MS Dos there was not many clean computer scientists | ||
uh, *DOS :) | 13:04 | ||
eater | clean? | ||
Woodi_ | but i should not say about things older then me without proper history books :) | ||
13:06
geekosaur left
13:07
geekosaur joined
|
|||
raschipi | TimToady: Do you think? "There wasn't a clear distinction between Computer Scientists and Programmers before microcomputer programming environments" | 13:07 | |
Woodi_: Is my reformulation correct? | 13:09 | ||
garas | jnthn what is the rationale in not explicitly pass the parameters passed to the BUILDs of classes higher in hierarchy | ||
? | |||
raschipi | Woodi_: Because there was BASIC before MS-DOS | ||
13:11
xtreak left
|
|||
Woodi_ | raschipi: if you want 0-1 answer pleas note, that I sayd "not many" :) but for sure before PC's there was much less clean programmers becouse c.s. are usually programmers too. | 13:13 | |
btw. is it incredibly important I'm 100% correct with sentences ? :) tell me better wersion | 13:14 | ||
raschipi | Well, I didn't pretend my formulation wasn't fuzzy too. | ||
timotimo | huh. i'd say a computer scientist who programs is less clean than one who doesn't | 13:16 | |
though i would call it "pure", rather than "clean" | |||
Woodi_ | timotimo: it's the same | 13:17 | |
jnthn | garas: I'm not sure I understand what you're asking; what would be explicitly passed where? | ||
BUILD is called automatically by BUILDALL, which is the thing that calls BUILD/TWEAK methods from the top down | 13:18 | ||
13:25
pat_js joined
|
|||
garas | m: class A { has $.a; }; class B is A { has $.b; }; my $i = B.new: :a(2); dd $i # :a(2) is passed not explicitly to A | 13:26 | |
camelia | B $i = B.new(b => Any, a => 2) | ||
garas | I'm used to C++, it is difficult to understand the logic behind all this | 13:27 | |
m: class A { has $.a; }; class B is A { has $.b; }; my $i = B.new: :c(3); dd $i # :c(3) is just junk | 13:28 | ||
camelia | B $i = B.new(b => Any, a => Any) | ||
13:28
skids joined
|
|||
raschipi | garas: docs.perl6.org/language/objects#in...ntry-TWEAK | 13:29 | |
13:29
imcsk8 joined
|
|||
garas | Imagine I am a programmer, I open lib/B.pm and I search for a; I find nothing.. What am I supposed to do? | 13:30 | |
raschipi | garas: imagine those were C structs instead of objects. | 13:31 | |
wamba | m: say -2.polymod: 3, 3, | ||
camelia | -3 | ||
jnthn | In general, methods in Perl 6 will happily accept and discard unrecognized named arguments. | 13:32 | |
raschipi | You may find this architecture in poor taste, but P6 won't stop anyone from doing it. | ||
wamba | m: say -2.polymod: 3, | ||
camelia | -2 | ||
jnthn | For the sake of allowing inheritance to be useful | ||
wamba | m: say -2.polymod: 3, 3, 3 | ||
camelia | -4 | ||
jnthn | (Presuming that many cases of inheritance will end up calling to to the base class using callsame() or similar) | ||
garas | jnthn raschipi : the problem, from the user point of view, is to understand where a given parameter will be useful | 13:33 | |
since they can end up anywhere in the hierarchy | |||
raschipi | That should be in the docs :) | 13:34 | |
jnthn | Well, that's one argument. The other one is that if you specify it at the point of construction then you tightly couple the instantiation to the implementation structure. | 13:35 | |
Which would in turn frustrate refactoring later | |||
Especially when wanting to pull parts of classes out in to roles, which is relatively common | |||
timotimo | really, perl6 should have taken the object model from hq9++, that way it'd be easiest for the user | 13:36 | |
13:38
perlpilot left
|
|||
raschipi | Yes, HQ9++ objects just work. | 13:38 | |
13:40
nowan_ joined
|
|||
timotimo | no surprises when you have one of those | 13:41 | |
13:43
nowan left
13:45
luiz_lha joined
|
|||
MasterDuke_ | i'd never heard of hq9+ before, i google it and find there's a Parrot implementation ( bschmalhofer.github.io/hq9plus/ ) | 13:45 | |
13:47
curan left
|
|||
pmurias | garas: hopefully our IDE/editor support and/or doc tools will show you what uses a given named argument | 13:48 | |
garas | Thanks, I understood how it works | 13:51 | |
13:53
itsame joined,
dct joined
13:57
itsame left,
itsame joined
14:07
ChoHag_ joined
14:08
ChoHag left
14:14
AlexDaniel joined
14:15
cdg joined,
drrho_ left,
st_elmo joined
14:20
g4 left
14:23
nadim left,
kurahaupo joined
14:24
itaipu joined
14:27
AlexDaniel left
14:29
haxmeist1r is now known as haxmeister,
Cabanossi left,
haxmeister left,
haxmeister joined
14:31
Cabanossi joined
14:32
AlexDaniel joined
14:39
bjz joined,
kyclark joined
14:44
jonas1 left,
kyclark left
14:46
itsame left
14:49
bjz left
14:50
garas left
14:55
Khisanth left,
wamba left
14:58
azawawi joined
|
|||
azawawi | hi :) | 14:58 | |
timotimo: ping | 14:59 | ||
timotimo | hey azawawi | ||
azawawi | timotimo: pasteboard.co/26lEVUa0L.png # Perl 6 ASCii Art 3D Cube , Sine/Cosine waves and kitchen sink example in all-in-one screenshot :) | ||
timotimo | pretty cool | 15:01 | |
azawawi | timotimo: need to figure out the bitmap dithering part. Found an interesting link github.com/algernon/cake-is-a-lie/...is-a-lie.c | 15:03 | |
timotimo: imlib2 + libcaca | 15:04 | ||
timotimo: any progress on libsixel? | |||
15:05
lowbro left
|
|||
timotimo | no progress since we last spoke | 15:05 | |
raschipi | azawawi: Did you get a rount tuit for Camelia? | 15:06 | |
15:07
Khisanth joined
|
|||
moritz | azawawi++ | 15:08 | |
15:10
hoelzro joined
15:14
itaylor57 joined
|
|||
azawawi | raschipi: no i was actually busy eating grape leaves :) | 15:16 | |
moritz: thx | 15:17 | ||
15:19
AlexDaniel left
|
|||
raschipi | Something I always do with grape leaves is to infuse them into liqueur. | 15:21 | |
azawawi | github.com/mrhdias/perl6-Imlib2/pulls # Anyone know if the maintainer of this excellent library is active or not? | 15:23 | |
15:25
dct left
|
|||
TreyHarris | azawawi: you can go to the user's page to see a graph of activity. Looks like from github.com/mrhdias he's been inactive since late February. | 15:27 | |
s/late/mid | |||
hoelzro | ooc, how did I get banned from #perl6-release? | 15:31 | |
15:32
yqt joined
|
|||
azawawi | TreyHarris: thx | 15:32 | |
15:33
domidumont left
15:38
ZofBot left,
ZofBot joined,
ChanServ sets mode: +v ZofBot
15:40
jaush joined
|
|||
jaush | hi. i just downloaded "rakudo-star-2017.04.1-x86_64 (JIT).msi" - after installation, trying to run perl6.bat from cmd.exe, i get the error "The application was unable to start correctly (0xc000007b). Click OK to close the application." | 15:41 | |
then, additional errors from the crash report - where do i sent those? should i paste them here? rakudo 2017.01 works without issue on this machine. | 15:42 | ||
timotimo | please use some on-line pasting service for the additional data | 15:43 | |
jaush | certainly: pastebin.com/chDjkpN3 | 15:44 | |
timotimo | wow, that is spectacularly unhelpful | 15:45 | |
jaush | is that directed toward me? what else would you like - i don't do windows native app programming | ||
timotimo | nah, it's a complaint about microsoft making all their stuff useless | ||
jaush | i'm not opposed to installing a debugger and running it under that if you can point me at some instructions | 15:46 | |
timotimo | i don't do windows programming either :( | 15:47 | |
gfldex | i will test it in a clean VM | ||
timotimo | there have been reports that strawberry perl has to be installed to satisfy some kind of dependency | 15:48 | |
but that supposedly comes with a "couldn't find blahblah.dll" message | |||
not this appcrash thing | |||
jnthn | That error code looks vaguely familiar. A quick google suggests that it can indicate a 32-bit vs 64-bit mess-up (like a 64-bit executable tries to load a 32-bit DLL), which is probably where I've seen it from. | ||
I should add "familiar from elsewhere", not "familiar from trying to use this MSI" :) | 15:49 | ||
15:57
khw joined
15:58
raiph left
15:59
abraxxa left
16:00
Cabanossi left
16:01
Cabanossi joined
|
|||
jaush | fwiw, here's the crash when launched under windbg.exe (not 100% sure the command-line arguments have the same semantics as they do from the .bat): pastebin.com/qJHxTT0D | 16:01 | |
with the "Debug child processes also" option checked | 16:02 | ||
here's one where i actually hit "Go" on the debugger and get the same exception (i have no idea what i'm doing ;)): pastebin.com/uqf39YvR | 16:04 | ||
TreyHarris | Is there an easy way to strip POD from example block code? | 16:07 | |
16:07
mcmillhj left
|
|||
jaush | if i rename C:\Program Files (x86)\GNU\GnuPG\pub\libgcc_s_sjlj-1.dll moar complains it doesn't exist, rather than crashing... | 16:08 | |
timotimo | oh lord | 16:09 | |
so maybe installing strawberry perl will help, because then you'll also have a 64bit version of that? | |||
16:14
Possum left
16:17
mcmillhj joined,
drrho_ joined
|
|||
jaush | 2017.01 worked fine - if 2017.04 added a new .dll dependency, shouldn't that be part of the installer/install process? | 16:21 | |
TreyHarris | m: try { die X::TypeCheck::Binding::Parameter.new(); CATCH { say "inside"; if (.can('resumable') && .resumable) { .resume } }}; say "outside"; | 16:22 | |
camelia | inside This representation (VMException) does not support associative access (for type BOOTException) in block at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
16:22
mcmillhj left
|
|||
TreyHarris | ^^ why? And how, then, can I do this check? | 16:22 | |
sorry | 16:23 | ||
m: try { die X::TypeCheck::Binding::Parameter.new(); CATCH { default { say "inside"; if (.can('resumable') && .resumable) { .resume } }}}; say "outside"; | 16:24 | ||
camelia | inside This representation (VMException) does not support associative access (for type BOOTException) in block at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
TreyHarris | m: try { die X::TypeCheck::Binding::Parameter.new(); CATCH { default { say "inside"; .resume }}}; say "outside"; | ||
camelia | inside outside |
||
TreyHarris | it *is* resumable... I just can't check whether it is in an exception. (At the REPL if I create but do not throw an X::TypeCheck::Binding::Parameter, I can check it. Just not inside a handler.) | 16:26 | |
Granted this is not a generally useful (or wise) thing to do, but it is useful for test cases. | 16:27 | ||
16:27
ribasushi left,
robertle left
16:28
Perl6Noob joined
|
|||
Perl6Noob | m: try { die X::TypeCheck::Binding::Parameter.new(); CATCH { default { say "inside"; if (.^can("resumable")) { .resume } }}}; say "outside"; | 16:29 | |
camelia | inside outside |
||
Perl6Noob | That's just a bug with .resumable method | ||
github.com/rakudo/rakudo/blob/nom/...ion.pm#L75 | 16:30 | ||
16:30
dakkar left,
Cabanossi left,
ribasushi joined
16:31
Cabanossi joined,
mcmillhj joined
|
|||
Perl6Noob | m: use nqp; try { die X::TypeCheck::Binding::Parameter.new(); CATCH { default { dd nqp::getattr(nqp::decont($_), Exception, '$!ex').^name}}}; | 16:31 | |
camelia | "BOOTException" | ||
TreyHarris | try { die X::TypeCheck::Binding::Parameter.new(); CATCH { default { say "inside"; if (.^can('resumable') && .resumable) { .resume } }}}; say "outside"; | 16:32 | |
m: try { die X::TypeCheck::Binding::Parameter.new(); CATCH { default { say "inside"; if (.^can('resumable') && .resumable) { .resume } }}}; say "outside"; | |||
camelia | inside This representation (VMException) does not support associative access (for type BOOTException) in block at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
jnthn | Yowser, that resumable method looks like a fossil from the Parrot days | ||
Perl6Noob | m: use nqp; warn 42; CONTROL { default { dd nqp::getattr(nqp::decont($_), Exception, '$!ex').^name} } | ||
camelia | "BOOTException" | ||
TreyHarris | Perl6Noob: ^^ .^resumable would be incorrect. | ||
Perl6Noob | jnthn: what should it be? | 16:33 | |
jnthn | Probably we should just toss it | ||
Perl6Noob | Ah | ||
jnthn | Well, there's not currently a way to ask | ||
But resuming any old exeption is not likely to go well | |||
Perl6Noob | TreyHarris: $foo.^bar is just a shortcut for $foo.HOW.bar($foo) and .can is just an alias for .^can | ||
jnthn | Those thrown from a low level in the VM simply cannot be | 16:34 | |
And those that in theory can be at a high level aren't liable to do anything sensible :) | |||
mst | jnthn: suddenly reminded of my sysadmin girlfriend getting very angry when a developer asked her how to resume from jgdb | ||
*kgdb | |||
gfldex | install of Rakudo on a clean win10 VM leads to this: s11.postimg.org/kqre91w83/Virtual_..._32_31.png | ||
jnthn | (Like, the code guarded by the exception throw is probably in most cases going to crash and burn really hard :-)) | 16:35 | |
Perl6Noob | gfldex: known and is fixed by installing Strawberry Perl. I believe stmuk was also working on an update to remove telemeh to prevent that error | ||
TreyHarris | Here's my issue: I've been trying to fix the docs for the FETCH/STORE confusion we were discussing yesterday. But I'm running into places where there are exceptions I can resume and ones I can't. I'd like to try to include only examples that can run start-to-completion, not with trailing lines that can never run. I don't intend to put this 'resumable' business into the docs example, but having it would | ||
facilitate discovering what I can include in examples so they will run start-to-finish. | |||
16:35
clkao left
|
|||
Perl6Noob | jaush: yeah, it's a known glitch that new DLL is needed. | 16:35 | |
jaush | Perl6Noob: for 2017.04? | 16:36 | |
TreyHarris | s/never run/never run, unless the very failure to run to completion is being illustrated/ | ||
Perl6Noob | jaush: yeah | ||
16:36
mcmillhj left
|
|||
jaush | Perl6Noob: if known, then why was the installer released without the appropriate .dll? | 16:37 | |
TreyHarris | Let me gist an example so you'll see. | ||
Perl6Noob | jaush: hehe, I meant it's known the release is busted. The bug wasn't identified in the pre-release testing, presumably because the test enviornment had Strawberry Perl already installed | ||
jaush: the fix is coming up ( per irclog.perlgeek.de/perl6-dev/2017-...i_14527813 ). I don't see a tag in rakudo star, so presumably this hasn't been done yet. | 16:38 | ||
16:38
Possum joined
16:39
clkao joined
16:40
wamba joined
|
|||
stmuk | foo | 16:40 | |
jaush | Perl6Noob: well i'm not exactly chuffed - the first iteration of the 2017.04 .msi had a hardcoded path to the packager's homedir, then was removed from the website, and now the revision is still published, despite it being known that it has an error | 16:41 | |
Perl6Noob | jaush: yeah, we should pitchfork the release manager :P | ||
jaush: but the entire 2017.04 release cycle has been a nightmare with many issues and we're currently reviewing and improving our procedures | 16:42 | ||
jaush: there's a post for it: perl6.party/post/The-Failure-Point-of-a-Release | |||
jaush | Perl6Noob: give us the option of a single statically-linked binary ;) | 16:43 | |
Perl6Noob | Would be neat. | ||
TreyHarris | gist.github.com/a7001bf7f52cf64a6a...e35a23a047 | 16:44 | |
timotimo | jaush: we didn't realize we added a dependency | ||
we definitely didn't intend to add a dependency | 16:45 | ||
Perl6Noob | jnthn: there's a single 6.c-errata indirect test that'd block removal of .resumable. Should it be amended? github.com/perl6/roast/blob/master...isc.t#L795 | ||
stmuk | I've a report R* doesn't build on Arm too :) | ||
but looking at windows now | |||
timotimo | stmuk: crap, is that telemeh, too? | ||
jnthn | Perl6Noob: I think it can be, eys | ||
*yes | |||
Perl6Noob | Cool. | 16:46 | |
stmuk | timotimo: maybe or a dodgy gcc (which has been a problem in the past) | ||
16:46
mcmillhj joined
|
|||
stmuk | at least I have an excuse to use my PI3 in a C64 case now :) | 16:46 | |
TreyHarris | Is the argument that .resumable cannot be made to work, therefore it should be removed? Or that .resumable is a bad idea and should be removed? If the latter, how do I solve the problem in my gist above? | ||
Perl6Noob | TreyHarris: from what I understand, the argument is most exceptions can't be resumed anyway, so it'll be removed in about 5 minutes... | 16:47 | |
TreyHarris | Then shouldn't .resume be removed as well? | ||
stmuk | how do I do ldd on windows? | ||
jnthn | TreyHarris: The only exceptions that should be resumed are types of exception that are documented as being sensible to resume, and only thrown in cases where it's sensible to resume them. | 16:48 | |
Perl6Noob | TreyHarris: I think you can .resume warnings | ||
jnthn | No, if you toss .resume then warnings will be fatal :P | ||
CX::Warn is one such exception, CX::Take is another | |||
Perl6Noob | m: warn "meow"; say "mew"; CONTROL { default { say "resuming"; .resume } } | ||
camelia | resuming mew |
||
TreyHarris | Why isn't .resumable useful, then? | 16:49 | |
jnthn | Well, the problem is what is it going to mean? | ||
There's a difference between "can this exception theoretically be resumed" (which we can know) or "can this exception be sensible resumed" (which, in general, we can't, but people could override it in their one Exception subclasses I guess) | 16:50 | ||
*their own | |||
16:51
mcmillhj left
|
|||
TreyHarris | That doesn't seem like an argument; you can override anything, and many possible overrides can be overridden in ways that require other overrides to have behavior that's liskov-consistent. (See many operator overrides.) | 16:52 | |
16:52
xtreak joined
|
|||
TreyHarris | Document that if you override in a way that changes resumability you need to override the return of .resumable too | 16:53 | |
16:53
itaipu left
16:55
awwaiid left,
robertle joined,
awwaiid joined
|
|||
Perl6Noob | TreyHarris: to play the devil's advocate: .resumable isn't part of Perl 6 language, doesn't work, and isn't even documented, so it's strange for you to argue against its removal :P | 16:55 | |
Where did you hear about it anyway? | 16:56 | ||
jnthn | To be clear, I'm not arguing against there being a resumable method *at all*, I'm saying there's no reason to keep the current one that only ever just dies rather than does something useful | ||
And pointing out that the semantics of such a method are open to discussion | |||
My feeling at the moment is that it should probably mean "is this exception intended to be resumed", and we make .resume actually first test .resumable | 16:57 | ||
mst | and if one can implement resumable in perl5 - see Worlogog::Incident - without VM help | ||
maybe it's better trialed that way | |||
jnthn | Then we implement method resumable() { True } in CX::Warn, CX::Take, etc. | ||
TreyHarris | Perl6Noob: I got that weird associative error when I tried to '.can('resume')', initially thinking that's how to check for resumability', and because I couldn't get the name of the exception being thrown because control was out of my hands, I searched the rakudo source, and thus found resumable | 16:58 | |
jnthn | mst: In Perl 6 it's a pretty soft feature in so far as exception handlers run in the dynamic context of the exception, so effectively it's just a return. | ||
Perl6Noob | m: try { die X::TypeCheck::Binding::Parameter.new(); CATCH { say "inside"; if (.can('resume') ) { .resume } }}; say "outside"; | ||
camelia | inside outside |
||
Perl6Noob | TreyHarris: can you repro it? Because the associate exception is due to .resumable not .can('resume'), as far as I can see ATM | 16:59 | |
jnthn | mst: The problem is that I keep seeing people try to resume arbitrary exceptions. | ||
mst | jnthn: sure. just, in perl5 we did it in user space, so maybe try that for a bit *then* consider pushing it into VM space, was my thought | ||
16:59
mcmillhj joined
|
|||
mst shrugs | 16:59 | ||
jnthn | mst: It already is in VM space :) | ||
We're using it for CX::Warn | |||
mst | yes. but ... oh never mind | ||
you know what I was pointing at | |||
17:00
jaush left
|
|||
TreyHarris | Perl6Noob: ah, no, you're right. oh, I see from scrollback what I did: I tried .can('resume') on both resumable and un-resumable exceptions, saw it was defined for both, searched the docs for "resumable", found it mentioned as something you could interrogate but no examples, so then went to rakudo source. | 17:01 | |
(I was actually searching for the word "resumable" in the exception string, but I still haven't figured out where that comes from; it's not in the rakudo source AFAICT.) | 17:02 | ||
jnthn | Maybe the presence of .resume on every exception type, but that throws, is smelly and we should have a Resumable roll. Then .can('resume') actually woulda done the right thing. :) | 17:03 | |
(or that may throw) | |||
17:03
luiz_lha left
|
|||
jnthn | And then we can have Resumable (perhaps Exception::Resumable is better huffmanized) as the thing to test against | 17:04 | |
Meaning `when Exception::Resumable { }` would work | |||
Maybe X::Resumable is more appropriate given we have X::Comp as the role done by all compiler exceptions. | 17:05 | ||
TreyHarris | I just acked my entire perl6 tree and can't find the pattern 'not resumable'. So it must be in a file ack considers cruft or it's hiding somewhere clever or 'not' and 'resumable' are not in a single string literal.... | ||
17:05
araraloren left,
zakharyas left
|
|||
TreyHarris | jnthn: I like that. But can you tell me where the text rakudo is printing ("This exception is not resumable") comes from? It's driving me a bit batty a.t.m. | 17:06 | |
jnthn | TreyHarris: I suspect that's a MoarVM error | ||
moritz | TreyHarris: in MoarVM, src/core/exceptions.c | ||
TreyHarris | ohhh, I have moarvm sibling to my perl6 tree. *sigh* | ||
sorry. | |||
jnthn | So, my provisional suggestion would be: introduce role X::Resumable that carries the resume() method. Constrain it so it can only be used on subclasses of Exception. Make CX::Warn, CX::Take and CX::Emit do the role. Spectest, see what the fallout is, if any. | 17:07 | |
TreyHarris | jnthn++ very elegant. | 17:08 | |
in the meantime, I'll just use Test and use eval-lives-ok to figure out my docfixes for Proxy. | |||
17:09
xtreak left,
xtreak_ joined
17:12
setty1 joined
17:15
Cabanossi left
17:16
Cabanossi joined
17:19
poohman_ left,
poohman joined
|
|||
Perl6Noob | Well great! I went to make a PR to remove Exception.resumable but some guy zoffixznet beat me to it!! | 17:21 | |
THIS IS THE WORST DAY EVER! | |||
17:21
Perl6Noob left
17:23
poohman_ joined,
pmurias left
17:26
poohman left,
poohman joined
17:27
Actualeyes left
17:30
poohman_ left,
Actualeyes joined
17:31
g0d355__ joined
|
|||
geekosaur | well, that answered ny question fo whether I'd recognize zoffix without the usual clue >.> | 17:39 | |
17:43
poohman left
17:46
poohman joined
17:49
poohman_ joined
17:50
poohman_ left,
poohman_ joined
17:52
Zoffix joined
|
|||
Zoffix | Perl6Noo, too slow lulz! | 17:52 | |
geekosaur: so what was the answer? | 17:53 | ||
17:53
poohman left
|
|||
Zoffix | What's the usual clue? | 17:53 | |
perl6.party hostname? | |||
There ain't no party like a perl6.party \o/ /o/ |o| \o\ perl6.party/about | 17:54 | ||
17:54
Zoffix left
|
|||
azawawi | raschipi: ping | 17:55 | |
17:56
poohman_ left
|
|||
geekosaur | yep | 17:56 | |
17:56
poohman joined
|
|||
azawawi | raschipi: Per special request, Camelia in ASCii Art via Terminal::Caca pasteboard.co/2iPW0JLsy.png :) | 17:56 | |
17:57
poohman_ joined
17:58
colomon left,
Sound joined,
colomon joined,
Sound is now known as Guest11331
17:59
Cabanossi left,
Guest11331 left,
Sound_ joined
18:01
poohman left,
Cabanossi joined
|
|||
raschipi | azawawi: Awesome. | 18:02 | |
azawawi | raschipi: need to generalize the code a bit and then you can use any ppm file (maybe later other formats) | 18:06 | |
18:06
raschipi left
|
|||
TreyHarris | Where's camelia's source? Any chance it could stringify and output a trailing expression in sink context a la the REPL? | 18:07 | |
18:10
Sound_ left
|
|||
TreyHarris | ah, it's perl6/evalbot | 18:11 | |
18:11
raschipi joined
18:19
Zoffix joined
|
|||
Zoffix | TreyHarris: no, we want it the way it currently is, so it complains about in-sink-context | 18:19 | |
18:21
azawawi left
|
|||
TreyHarris | Zoffix: ahh, makes sense. | 18:21 | |
18:27
labster joined
18:30
Cabanossi left,
Sound_ joined,
cdg left
18:31
Cabanossi joined
18:33
Zoffix left
18:45
kyclark joined
18:46
ufobat left
19:07
ufobat joined
19:09
Actualeyes left,
xtreak_ left
19:12
darutoko left
19:14
Actualeyes joined
19:24
raiph joined
19:27
perlpilot joined
|
|||
raiph | SO question: "Is it safe, to share an array between threads?" My answer: stackoverflow.com/a/43790809/1077672 Comments, good or bad, or a better answer, are more than welcome... | 19:27 | |
19:28
mscha joined
|
|||
raiph | .tell hoelzro mebbe irclog.perlgeek.de/perl6-release/2017-04-26 | 19:32 | |
yoleaux | raiph: I'll pass your message to hoelzro. | ||
hoelzro | ahhhh thanks raiph | 19:33 | |
yoleaux | 19:32Z <raiph> hoelzro: mebbe irclog.perlgeek.de/perl6-release/2017-04-26 | ||
hoelzro | I thought my IRC client was acting up again! | 19:34 | |
raiph | :) | 19:35 | |
19:37
AlexDaniel joined
19:40
kyclark left,
Actualeyes left
19:41
ChoHag_ left
19:43
ChoHag joined
19:45
mscha left
19:46
MorayJ left
19:55
mcmillhj left
19:56
espadrine joined
|
|||
stmuk | pl6anet.org/drop/rakudo-star-2017.0...0(JIT).msi | 19:58 | |
anyone able to test that on windows? (moving aside any strawberry perl directory | 19:59 | ||
gfldex | stmuk: I will in a clean VM. | 20:00 | |
stmuk | great | 20:02 | |
gfldex | stmuk: works | 20:03 | |
20:03
mcmillhj joined
|
|||
stmuk | Thank $diety | 20:04 | |
20:06
silug left,
dct joined
20:07
kyclark joined,
kyclark left
|
|||
alphah | No such method 'gist' for invocant of type 'NQPMu'. I get this error when trying to print hash property of an object. (The has is created from grammar match, there is token triggers that error, if that token did not match I don't get the error) | 20:09 | |
any hints can help me troubleshoot this issue? I can share the repo as well if needed. | 20:10 | ||
20:12
ufobat left
|
|||
lizmat | NQPMu is a Mu value from NQP land. This most likely means that the hash key you're trying to inspect, does not exist | 20:13 | |
20:14
mscha joined
|
|||
mscha | stmuk: works for me too | 20:14 | |
20:15
Cabanossi left
|
|||
alphah | lizmat: makes sense, probably the grammar does not match so the hash was not created at all. | 20:15 | |
gfldex | stmuk: does the win64 installer run `zef update`? | 20:16 | |
raschipi | The error is LTA, though. | ||
20:16
Cabanossi joined
|
|||
stmuk | gfldex: I don't think it does .. it needs a lot more attention TBH | 20:17 | |
thanks testers | 20:18 | ||
gfldex | stmuk: to bad nobody likes windows :-> | ||
stmuk | I haven't even paid for it :) | ||
20:19
abraxxa joined
20:21
itaipu joined
|
|||
gfldex | stmuk: Test::META seams to be outdated (or buffy). As a result any module depending on it fails to install. | 20:21 | |
raschipi | Nos the New version (10 S), won't be able to run our programs. | 20:23 | |
20:24
abraxxa left
|
|||
Geth | perl6.org: 9f939b8163 | (Steve Mynott)++ | source/downloads/index.html doc current win64 version, mention possible ARM issues |
20:25 | |
20:25
cdg joined
|
|||
gfldex | stmuk: it's Test::META itself | 20:25 | |
20:26
mcmillhj left
|
|||
stmuk | Star doesn't ship with Test::META | 20:28 | |
20:28
mcmillhj joined
|
|||
gfldex | given how many modules use it already it may make sense to add it | 20:28 | |
20:29
itaipu left
20:31
itaipu joined
20:37
AlexDaniel left
|
|||
TreyHarris | eco: Test::META | 20:38 | |
oh, I thought there was a bot for that | 20:39 | ||
20:39
mcmillhj left
20:44
mcmillhj joined
20:47
bjz joined
|
|||
geekosaur | buggable: eco Test::META | 20:56 | |
buggable | geekosaur, Test::META 'Test a distributions META file': github.com/jonathanstowe/Test-META | ||
20:57
Ven joined,
Ven is now known as Guest59987
|
|||
TreyHarris | I found it; I was confused b/c I thought you did 'zef install Test-META', not "zef install Test::META" | 20:57 | |
21:06
mniip left
|
|||
ingy | how do I get a list of the files in a dir and then read them one at a time? | 21:10 | |
when dir is a string pathname | |||
alphah | hi, I found the bug on my code regarding this error I posted earlier: No such method 'gist' for invocant of type 'NQPMu'. and thought to let you know about it: | 21:11 | |
21:11
mcmillhj left
|
|||
jnthn | ingy: Something like `for dir($dir-name) -> $file { my $content = $.slurp; ... }` | 21:11 | |
alphah | as I mentioned that I get the bug when specific token match, this token is the only one I have defined as proto token {*}, I chnaged it to normal type to match only one value,, the error disappeared | 21:12 | |
21:12
mcmillhj joined
|
|||
lizmat | docs.perl6.org/routine/dir | 21:12 | |
21:13
TEttinger joined
|
|||
TreyHarris | ingy: ==jnthn except $file.slurp, or remove the '-> $file' and make it '.slurp' | 21:15 | |
21:15
setty1 left
21:16
mcmillhj left
21:17
raschipi left
|
|||
jnthn | oops, I meant $file.slurp | 21:17 | |
Sorry, tired :) | |||
21:19
wamba left
21:24
skids left
|
|||
raiph | thx everyone. awesome SO answers. :) | 21:25 | |
21:25
st_elmo left
21:35
sivoais_ is now known as sivoais,
sivoais left,
sivoais joined
21:46
imcsk8 left,
imcsk8 joined
21:47
mscha left
21:51
itaipu left
|
|||
samcv | alphah, can you show me the code that has the bug? | 21:52 | |
alphah | samacv: sure, one second | 21:54 | |
21:55
Zoffix joined
|
|||
alphah | s/samacv/samcv/ | 21:55 | |
Zoffix | ingy: dir($your-dir).grep(*.r) { .slurp } use .slurp: :bin if you want content in binary mode | ||
ingy: .grep(*.f & *.r) | 21:56 | ||
stupid junctions | 22:01 | ||
alphah | samcv: this is the repo, Development branch), last commit fixed the issue in my code. github.com/alphah77/galaxy/tree/development (I'll explain more below because I can't make a small program to show the bug, it will take a while I guess) | ||
Zoffix | ingy: third time's the charm, it's actually .grep({.r & .f}) to filter out just files and files you can read | ||
alphah | basically the error appears if I'm using .ast on a token defined with proto token {8}, ,,, if I changed the token to be "toek token-name { 'x86_64' } , it worked fine, | 22:03 | |
22:04
Sound_ left
|
|||
alphah | samcv: I run the program as: "./bin/galaxy.p6 camelia-0.7-x86_64" to get the error... "./bin/galaxy.p6 camelia-0.7" will not show the error because "token core" will not match.... | 22:04 | |
22:05
Sound joined
|
|||
samcv | so this commit fixed the bug? | 22:05 | |
github.com/alphah77/galaxy/commit/...20ce4f04d8 | |||
22:05
kyclark joined,
Sound is now known as Guest19808,
Guest19808 left
22:06
Sound_ joined
22:07
Zoffix left
|
|||
alphah | yes It fixed the bug, it's a workaround, but I'm still thinking that there is abug in token defined with "proto token { * } | 22:07 | |
samcv | hmm none that i know of. so the proto token bug still exists in the most recent commit though? | 22:08 | |
i the NQPMu error the same one caused by proto? | |||
alphah | sorry for the confusion Engilish is not my first language), no it's fixed in last commit ,, but I used work around, instead of calling .ast I directly called .Str on the tokens. | 22:09 | |
and what I mean it's a bug,, because (in my code) .ast worked on all token except the one defined with proto token { * } | 22:10 | ||
samcv | hmm i don't have /etc/galaxy/laws so i can't run it | ||
hm | |||
alphah | there bin/laws in the code.... can run as bin/galaxy.p6 laws bin/laws camelia-0.7-x86_64 | 22:11 | |
samcv | ah ok no method gist for invocant NQPMu | 22:13 | |
i see this | |||
alphah | yup. now if changed $<star-core> from proto token {*},, defintion to token <star-core { '-x86_64' }, the error will disappear | 22:14 | |
github.com/alphah77/galaxy/blob/94...ws.pm#L122 | 22:18 | ||
samcv | yeah i'm looking | 22:22 | |
alphah | Thanks | ||
22:23
dct left
22:26
dct joined
22:28
Sound_ left,
Cabanossi left
22:31
Cabanossi joined
22:32
bjz left
22:33
mcmillhj joined
22:36
asdfgh joined
22:38
stmuk left
|
|||
samcv | alphah, well i got it to print out $u.physics | 22:38 | |
22:38
kyclark left,
mcmillhj left
|
|||
samcv | alphah, this is one commit back gist.github.com/samcv/f9fccd25fff5...1bcf23efdb in development branch | 22:39 | |
22:39
espadrine left
|
|||
samcv | so star => core/tag/form are the ones that have the problem | 22:39 | |
22:40
rindolf left,
aindilis` left
22:41
stmuk joined,
aindilis joined
22:42
skids joined
22:48
asdfgh left,
alphah_ joined
22:49
mcmillhj joined
|
|||
alphah_ | samcv: if i understand correctly, this means $<star-core> does not match and i need to review my grammar again? | 22:50 | |
samcv | possibly | ||
22:52
anton_p left
|
|||
alphah_ | Alright, thanks for your time. | 22:53 | |
22:53
itaipu joined
|
|||
samcv | lemme | 22:53 | |
22:54
mcmillhj left
22:57
mcmillhj joined
|
|||
samcv | alphah_, here's the code gist.github.com/5744ddcbb51cabd9e1...f6591a6d7b | 22:59 | |
use this and that should help you debug it easier since you can see exactly which parts are not matching | 23:00 | ||
alphah_ | Checking.... | ||
I will read about NQP more to get an idea... earlier i was using Grammar::Debugger to track regex, but after updated to latest when use Grammar::Debuger it crashes | 23:04 | ||
samcv | yeah | 23:05 | |
alphah_, that file works for you righ? | |||
i just made a pull with the branch i'm working on | |||
i reverted that NQPMu commit and it has the code i showed you in the gist | |||
alphah_ | Will try a few im not at near compiter at the moment | 23:06 | |
samcv | ah ok | ||
alphah_ | Nice | ||
23:12
yqt left,
alphah_ left
23:13
kurahaupo left
23:15
mcmillhj left
|
|||
samcv | but yeah it seems those tokens are just not matching i think | 23:20 | |
23:20
Guest59987 left
23:26
mcmillhj joined
23:28
itaipu left
23:30
Cabanossi left
23:31
mcmillhj left,
Cabanossi joined
23:42
mcmillhj joined
23:47
mcmillhj left
23:56
ChoHag left
23:58
mcmillhj joined
|