»ö« 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:12
lichtkind__ left
00:16
Actualeyes left
00:31
colomon_ joined
00:32
colomon left,
colomon_ is now known as colomon
00:34
dugword left
|
|||
AlexDaniel | notviki++ # cool answer | 00:55 | |
00:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:07
atta joined
01:13
Actualeyes joined
01:21
BenGoldberg joined
01:23
BenGoldberg left
01:24
BenGoldberg joined
01:32
cibs left
01:34
cibs joined
01:35
dugword joined
|
|||
samcv | anybody have any thoughts. we brackets mispaired | 01:36 | |
yoleaux | 2 Jan 2017 22:25Z <AlexDaniel> samcv: perhaps you can take a look at #130419 ? I wonder what you think. | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130419 | ||
samcv | kk | ||
AlexDaniel | nevermind this ↑ | 01:37 | |
samcv | ah | ||
so we have in 6.c-errata a set of brackets matching the wrong one | |||
correct is: (LEFT SQUARE BRACKET WITH TICK IN TOP CORNER, RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER) | 01:38 | ||
we have the top one matching the bottom one and stuff | |||
so that is kind of a problem bigger than the ornate parenthesis | |||
samcv panics | 01:39 | ||
AlexDaniel | u: LEFT SQUARE BRACKET WITH TICK IN TOP CORNER | ||
unicodable6 | AlexDaniel, U+298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER [Ps] (⦍) | ||
samcv | Couldn't find terminator ⦐ (corresponding ⦍ was at line 33) | ||
AlexDaniel | u: RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER | 01:40 | |
unicodable6 | AlexDaniel, U+2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER [Pe] (⦐) | ||
samcv | with my nqp patch to check for the matching brackets | ||
AlexDaniel | u: SQUARE BRACKET WITH TICK | ||
unicodable6 | AlexDaniel, U+298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER [Ps] (⦏) | ||
AlexDaniel, U+298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER [Ps] (⦍) | |||
AlexDaniel, U+298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER [Pe] (⦎) | |||
AlexDaniel, U+2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER [Pe] (⦐) | |||
samcv | but we test them reversed | ||
so tick in bottom => tick top etc | |||
01:40
dugword left
|
|||
AlexDaniel | ⦍⦎ ⦏⦐ instead of ⦍⦐ ⦏⦎, right? | 01:41 | |
samcv | yep | ||
top with top and bottom with bottom | |||
AlexDaniel | samcv: ok but what defines that it should be this way? | ||
samcv | unicode | ||
AlexDaniel | I may have missed some of that stuff during the last few days | 01:42 | |
samcv | also look at them | ||
increase text size | |||
⦍⦎ ⦏⦐ instead of ⦍⦐ ⦏⦎ | |||
you can clearly see they don't match | |||
the ones on the left are not matching brackets | 01:43 | ||
also note that the matching bracket for 「 IS 」 | |||
AlexDaniel | I'm not sure I can see it files.progarm.org/2017-01-03-03430..._scrot.png | ||
samcv | so if it was meant for where the tick would be | ||
it would be that way | |||
(as in bidi mirrored glyph does not ONLY take vertical axis flipping into account) | |||
left is wrong | 01:44 | ||
AlexDaniel | samcv: alright, so… why not change it in errata then? | ||
samcv | that is fine with me. wanted to ask before making a change to 6.c-errata | ||
AlexDaniel | the thing is, most likely nobody is using this, so there's no reason for panic | 01:45 | |
samcv | yeah | ||
yeah and probably not using the incorrect ones either | |||
AlexDaniel | the question is, however, should we willy-nilly change the errata or wait for 6.d or something | ||
samcv | tho maybe ornate parens should be removed too idk. maybe can we warn on ornate? | ||
well it's incorrect | |||
TEttinger | hehe those flippin' ornate parens | 01:46 | |
samcv | it's one thing to allow additional delimiters. like < > are not technically brackets | ||
and another thing to have it mapped to the wrong one | |||
TEttinger | and newline is not technically whitespace if you believe unicode all over | ||
samcv | it's not though TEttinger | ||
TEttinger | it's in one of the C categories, yeah | ||
samcv | it's a control character | ||
TEttinger | but in text it should absolutely be parsed as space | ||
samcv | yeah | 01:47 | |
AlexDaniel | samcv: well, perhaps we should do it “right” and start giving a warning for them right now? | ||
TEttinger | also, tab is considered a control too, which is similarly silly | ||
samcv | it is though | ||
it just renders as space | |||
TEttinger | :( | ||
samcv | wait. but it has semantic value | ||
AlexDaniel | personally I would've changed it right away without too much thinking, but this kinda breaks our promise to keep stuff compatible as we move on… | ||
TEttinger | anything can render as space | ||
samcv | in language. so idk | ||
TEttinger | that depends on your font | ||
samcv | render all text as space | ||
yeah AlexDaniel | 01:48 | ||
TEttinger | it is semantically whitespace | ||
samcv | in nqp i can make like, depreciated brackets | ||
the ornate and the mismatched ones? | |||
ugh tho, really sucks to support incorrect things? | |||
i mean it wasn't intentional we did that | |||
they were meant to be matching parens, but we reversed them | |||
i think that's a little different than the ornate ones | 01:49 | ||
AlexDaniel | u: 「 | ||
unicodable6 | AlexDaniel, U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「) | ||
timotimo | we acccidentally match the top-left and bottom-right? or top-left and top-right? | ||
AlexDaniel | u: corner bracket | ||
unicodable6 | AlexDaniel, U+23A3 LEFT SQUARE BRACKET LOWER CORNER [Sm] (⎣) | ||
AlexDaniel, U+23A4 RIGHT SQUARE BRACKET UPPER CORNER [Sm] (⎤) | |||
AlexDaniel, U+23A1 LEFT SQUARE BRACKET UPPER CORNER [Sm] (⎡) | |||
AlexDaniel, gist.github.com/ba85380edefac8eba1...e77836e3d3 | |||
samcv | yeah timotimo | ||
timotimo | which one is it? %) | ||
samcv | the top left and bottom right match and bottom left and top right match | 01:50 | |
but that's reversed | |||
BenGoldberg | m: '⦎'.uniprop('na').say; | ||
camelia | rakudo-moar a566ef: OUTPUT«RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER» | ||
samcv | and if they were meant to be flipped horizontal axis, it would. like 「 matches 」 | ||
^ that is a bracket pair | |||
i think the tick ones are probably designed so they can be easily nested and be visually distinguishable | 01:51 | ||
so should def not be matched the way they are | 01:52 | ||
01:53
jast joined
|
|||
samcv | like we match these brackets ⦋' => '⦌', | 01:55 | |
m: "⦋' => '⦌'".uninames.say | |||
camelia | rakudo-moar a566ef: OUTPUT«(LEFT SQUARE BRACKET WITH UNDERBAR APOSTROPHE SPACE EQUALS SIGN GREATER-THAN SIGN SPACE APOSTROPHE RIGHT SQUARE BRACKET WITH UNDERBAR APOSTROPHE)» | ||
samcv | underbar and underbar match. | 01:56 | |
correctly. so it's totally an error | |||
AlexDaniel | u: underbar | ||
unicodable6 | AlexDaniel, U+22F8 ELEMENT OF WITH UNDERBAR [Sm] (⋸) | ||
AlexDaniel, U+234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR [So] (⍊) | |||
AlexDaniel, U+2358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR [So] (⍘) | |||
AlexDaniel, gist.github.com/2bc6c5081d2b7eb780...c221cdd7a2 | |||
AlexDaniel | samcv: but there's no overbar | ||
or is there | |||
samcv | i said underbar | ||
AlexDaniel | u: square bracket bar | 01:57 | |
unicodable6 | AlexDaniel, U+298C RIGHT SQUARE BRACKET WITH UNDERBAR [Pe] (⦌) | ||
AlexDaniel, U+298B LEFT SQUARE BRACKET WITH UNDERBAR [Ps] (⦋) | |||
samcv | where did i say overbar | ||
AlexDaniel | samcv: I mean, there was no possibility to make it other way because there are no characters for this | ||
samcv | i suppose | ||
or you could just say unicode haven't added it yet | |||
and there are brackets without matches | 01:58 | ||
at the present time | |||
AlexDaniel | hmmm en.wikipedia.org/wiki/Bracket | 01:59 | |
samcv | how will that help AlexDaniel | ||
AlexDaniel | samcv: it lists them the way they are now | ||
I'm just wondering why | 02:00 | ||
samcv | it lists them in codepoint order | ||
AlexDaniel | not saying that it's right, but at least we are not the only ones who made this mistake, right? :) | 02:01 | |
samcv | yeah i suppose. | ||
AlexDaniel | the page has them grouped as well, not just listed | ||
samcv | For bidirectional processing, the brackets with ticks are paired on the basis of their left/right symmetric glyphs, rather than on the basis of an open/close pairing inferred from code point order. | 02:02 | |
very specific | |||
though actually | |||
need to think more | |||
ack | |||
samcv double checks some things | |||
that doesn't really even mean anything. but it's not entirely clear | 02:03 | ||
AlexDaniel | “[…] are paired the same way their glyphs form mirror pairs, according to their bmg property values. They are not paired on the basis of a diagonal or antidiagonal matching of the corner ticks inferred from code point order.” | ||
yea, same thing | |||
samcv | The brackets with ticks U+298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER | 02:04 | |
# through U+2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER are paired the | |||
# same way their glyphs form mirror pairs, according to their bmg property | |||
# values. They are not paired on the basis of a diagonal or antidiagonal | |||
# matching of the corner ticks inferred from code point order. | |||
yeah | |||
that's pretty clear | |||
that they are 'paired' | |||
not just "mirrored" for visual identification | |||
BenGoldberg | m: '⦎'.uniprop('bmg').say; | 02:05 | |
camelia | rakudo-moar a566ef: OUTPUT«⦏» | ||
samcv | but there are pages on using bidi brackets to find matching brackets in a text. and i think it highly unlikely they would pair the wrong one | ||
and then specifically say that they form a match | |||
BenGoldberg | m: '('.uniprop('bmg').say; | ||
camelia | rakudo-moar a566ef: OUTPUT«)» | ||
BenGoldberg | m: my $x = '⦋'; my $y = $x.uniprop('bmg'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | 02:07 | |
camelia | rakudo-moar a566ef: OUTPUT«⦋LEFT SQUARE BRACKET WITH UNDERBAR⦌RIGHT SQUARE BRACKET WITH UNDERBAR» | ||
BenGoldberg | m: my $x = '⦍'; my $y = $x.uniprop('bmg'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | ||
camelia | rakudo-moar a566ef: OUTPUT«⦍LEFT SQUARE BRACKET WITH TICK IN TOP CORNER⦐RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER» | ||
BenGoldberg | m: my $x = '⏜'; my $y = $x.uniprop('bmg'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | 02:08 | |
camelia | rakudo-moar a566ef: OUTPUT«⏜TOP PARENTHESISNil» | ||
BenGoldberg | m: my $x = '〈'; my $y = $x.uniprop('bmg'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | 02:09 | |
camelia | rakudo-moar a566ef: OUTPUT«〈LEFT ANGLE BRACKET〉RIGHT ANGLE BRACKET» | ||
BenGoldberg | m: my $x = '〈'; my $y = $x.uniprop('Bidi_Mirroring_Glyph'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | 02:13 | |
camelia | rakudo-moar a566ef: OUTPUT«〈LEFT ANGLE BRACKET〉RIGHT ANGLE BRACKET» | ||
samcv | the main point is basically, it's easy enough to fall back to things unicode doesn't define as brackets and add our own, but basically really horrible if we have to switch two of them, we have to check those brackets before trying to find the _actual_ matching delimiter | 02:15 | |
are people ok with me matching the correct brackets in roast 6.c-errata? | |||
i think we should only change 6.c-errata because a mistake was made with the writing of the test. and i think that is the case here | 02:16 | ||
BenGoldberg | How *did* we end up with the wrong brackets, anyway? | 02:17 | |
samcv | by accident | ||
idk whoever made this test file :) | |||
the test file is aply named 'quoting-unicode.t' | 02:18 | ||
so one would assume it had quoting using unicode brackets ;P | |||
timotimo | if you really want to find out, you can "git blame" | ||
BenGoldberg | m: my $x = '〈'; my $y = $x.uniprop('Bidi_Paired_Bracket'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | 02:19 | |
camelia | rakudo-moar a566ef: OUTPUT«〈LEFT ANGLE BRACKET0NULL» | ||
timotimo | or "git annotate" if you want the command name to be more neutral | ||
samcv | so if going by the title the ornate parens shouldn't be there either. but that's beside the point | ||
wollmers seems to have added it | 02:20 | ||
or at least edited that line | |||
BenGoldberg | m: my $x = '('; my $y = $x.uniprop('Bidi_Paired_Bracket'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | ||
camelia | rakudo-moar a566ef: OUTPUT«(LEFT PARENTHESIS0NULL» | ||
timotimo | "git gui blame" lets you right-click on individual lines and "blame parent commit" which helps you figure out the history of a line | ||
BenGoldberg | m: my $x = '('; my $y = $x.uniprop('bpb'); say $x, $x.uniprop('na'), $y, $y.uniprop('na'); | ||
camelia | rakudo-moar a566ef: OUTPUT«(LEFT PARENTHESIS0NULL» | ||
BenGoldberg | Why don't Bidi_Paired_Bracket or bpb work here? | 02:21 | |
samcv | for what? | ||
we don't have bpb | 02:22 | ||
only bmg | |||
BenGoldberg | Shouldn't the paired bracket of ( be )? | ||
So we're ignoring www.unicode.org/Public/UNIDATA/BidiBrackets.txt ? | |||
samcv | bpb is nyi. but bpb is defined as Pi/Pf or Ps/Pe that are bmg and map to each other | ||
02:22
shayan_ joined
|
|||
samcv | well there's not a dedicated bracket one. but ^ is the spec | 02:23 | |
and the stuff in that file is derived from bmg and the general categories | |||
plus we support some things that aren't ""brackets"" but are bidi mirrored like < > | |||
< and > are less than and greater than symbol | 02:24 | ||
m: '<'.uniname.say | |||
camelia | rakudo-moar a566ef: OUTPUT«LESS-THAN SIGN» | ||
timotimo | right ... ugh | ||
i'm glad my keyboard layout has ⟨⟩ somewhat easily available | 02:26 | ||
samcv | the main issue being we should never define anything that conflicts with unicode's brackets. but we can add additional ones if we really want to | ||
but swapping them is just news for bad news | |||
timotimo | right | 02:27 | |
samcv contemplates what 'news for bad news' even means or what i meant | |||
bad news. something something | |||
timotimo | we can have a long deprecation cycle for that | ||
samcv | ornate parens are easier to depreciate. but the ones with ticks | ||
timotimo | so if someone actually did use those brackets, they'll be getting warnings for a year or so before they get "mismatched brackets" problems | ||
samcv | hm | 02:28 | |
ok | |||
i will do that | |||
timotimo | but also: we can have extra code in our parser that notices when the wrong one was found before running senselessly to the EOF | ||
you think brackets with ticks are common? | 02:29 | ||
samcv | no | ||
timotimo | why are they harder to deprecate? | ||
samcv | i mean the compiler already shows you what glyph it was looking as a closing | ||
because they're reversed | |||
err swapped is more accurate | 02:30 | ||
timotimo | right, rakudo currently matches topleft with bottomright and vice versa you said | ||
samcv | yeah | ||
timotimo | i thought we had the same problem with the ornate brackets? | ||
02:30
shayan_ left
|
|||
samcv | nope those aren't actual brackets per unicode | 02:30 | |
so depreciating them would be easy | |||
to give a warning for that. since it doesn't conflict with the actual matching brackets. since we already define some of our own things not defined as brackets | 02:31 | ||
timotimo | oh | ||
02:31
shayan_ joined,
shayan_ left
|
|||
BenGoldberg | m: say q< foo [ bar >; | 02:32 | |
camelia | rakudo-moar a566ef: OUTPUT« foo [ bar » | ||
samcv | for my matching bracket code for nqp i'm just going on, is it bidi mirrored, find the matching mirroring glyph | 02:34 | |
which allows us to match < > as well | |||
and any mirrored thing should never be used as an arbitrary delimiter, so it is good to catch that too | |||
i mean the module thing broke some code right, but it fixed an existing bug | 02:36 | ||
i think this is a bug, since they were specified with the wrong matches. | |||
02:37
kalkin- left,
kalkin-_ joined
|
|||
samcv | but i could i guess have code that would catch that case. idk i think a year is too long | 02:37 | |
can depreciate the ornate ones over much longer, but i think the ticked brackets should be depreciated quicker since it's an error | 02:38 | ||
timotimo | we can make it explode when the user uses 6.d (or uses v6 which always gives you the latest if i'm not mistaken) | 02:39 | |
samcv | i'm ok with doing that for ornate. but not the ticked ones :( | 02:40 | |
it just seems bad to keep something incorrect in, that is 100% incompatible with 6.d | 02:41 | ||
timotimo | yeah | ||
samcv | if people write their code then use v6.d and then it tries to match a different delimiter. that's horrible | 02:42 | |
anybody else want to weigh in? | |||
notviki | If they're wrong, I don't see a problem with changing 6.c-errata. | ||
02:42
grondilu left
|
|||
samcv | anybody else object to changing 6.c-errata? | 02:43 | |
02:45
grondilu joined
02:46
ilbot3 left
02:48
ilbot3 joined
|
|||
timotimo | aaargh! "fadd, fmul" "floating point operations, running time depends on the operands", "bypassing firefox's same origin policy via SVG filter timing attack" | 02:49 | |
side channel attacks are scary | |||
(not relevant to perl6 ... yet!) | 02:50 | ||
03:04
ufobat left
03:13
noganex_ joined
03:16
shayan_ joined,
noganex left
03:19
dugword joined,
Sgeo left
03:20
pyrimidine left
03:21
pyrimidine joined
03:24
Gasher joined
03:28
xtreak joined
03:29
rpburkholder left
03:30
Sgeo joined
03:34
Sgeo left,
jast left,
xtreak left,
noganex_ left,
ilbot3 left,
colomon left,
Actualeyes left,
dugword left,
kalkin-_ left,
xtreak joined,
noganex_ joined,
Sgeo joined,
jast joined
03:35
dugword joined,
kalkin-_ joined,
ilbot3 joined,
colomon joined,
Actualeyes joined,
Actualeyes left
03:37
skids left
03:49
rburkholder joined
|
|||
samcv | m: say q⦍ test ⦎ | 04:00 | |
camelia | rakudo-moar 76283f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Couldn't find terminator ⦐ (corresponding ⦍ was at line 1)at <tmp>:1------> 3say q⦍ test ⦎7⏏5<EOL> expecting any of: ⦐» | ||
samcv | yey | ||
luckily the error is pretty damn informative as to what it's looking for | 04:01 | ||
samcv goes to edit wikipedia | |||
timotimo has tea | 04:03 | ||
04:05
rburkholder left
04:08
cooper_ joined
04:13
cooper_ is now known as cooper
04:19
shayan_ left
04:22
shayan_ joined
04:40
kaare_ left,
aborazmeh left
04:41
kaare_ joined
04:42
xinming_ left
04:43
xinming joined
|
|||
AlexDaniel | samcv++ | 04:43 | |
04:43
shayan_ left
04:47
BenGoldberg left
04:51
BenGoldberg joined
04:52
pyrimidine left,
shayan_ joined,
pyrimidine joined
04:58
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
05:00
Actualeyes joined
05:19
Actualeyes left
05:23
khw left
05:24
Gasher left
05:26
labster left
05:38
AlexDaniel left
05:40
Actualeyes joined
05:44
bwisti left
05:45
kaare_ left
05:50
grumble left
05:51
labster joined
05:52
grumble joined
05:54
Cabanossi left
05:55
Cabanoss- joined
05:56
Cabanoss- is now known as Cabanossi
05:57
kaare_ joined
06:05
kaare_ left
06:11
shayan_ left,
wamba joined
06:12
kaare_ joined
06:26
andrzeju joined
|
|||
andrzeju | hello perl! | 06:26 | |
06:46
wamba left
06:48
abraxxa joined
06:51
BenGoldberg left
06:52
RabidGravy joined
07:00
domidumont joined
|
|||
samcv | hi! | 07:01 | |
andrzeju | samcv, :) | ||
don't worry I am good | |||
07:01
dugword left
07:03
FROGGS joined
07:04
domidumont left
07:05
domidumont joined
07:08
jonas2 joined
|
|||
RabidGravy | erp! | 07:13 | |
07:16
CIAvash joined
|
|||
andrzeju | guy what do you think about future of Perl6 on microcontrollers? | 07:20 | |
timotimo | perl6 on microcontrollers is very unlikely. we require an operating system, and a memory management unit. microcontrollers usually don't have that | 07:21 | |
well, technically speaking SOCs are "microcontrollers", too | |||
andrzeju: do you mean things like an STM32, arduino, ... or do you mean things like smartphones, intel galileo, ...? | 07:22 | ||
andrzeju | avr , arm | 07:23 | |
improve coding speed with perl | |||
on C | |||
timotimo | you do realize that there are really tiny as well as really beefy ARMs, right? | ||
andrzeju | sure | 07:24 | |
avr is very tiny | |||
timotimo | but you mean the lower end where you wouldn't have a linux run on it | ||
yeah, they are | |||
andrzeju | but arm should be okay | ||
yep | |||
my idea is static C code | |||
with dynamic Perl6 parts | 07:25 | ||
timotimo | but yeah, at least rakudo/moar is not going to run without a linux or something similar below it | ||
andrzeju | timotimo, personally I don't believe in rakudo | ||
and moar | |||
timotimo | i seem to remember you said something like that at some point | 07:26 | |
andrzeju | yeah | ||
these vm's it is temporary solution | |||
while language specs are not ready | 07:27 | ||
but in the future the code should be transported to native one | |||
timotimo | feel free to work on that. i don't think it's a good idea, though | ||
andrzeju | I am not vm expert :) | 07:28 | |
07:28
bjz joined
07:32
petrutrimbitas joined
07:34
bjz left
07:35
petrutrimbitas left
|
|||
samcv | define native | 07:36 | |
timotimo | "superfast" | 07:37 | |
andrzeju | exactly | ||
07:38
bjz joined
|
|||
timotimo | well, that's a very useless answer | 07:38 | |
samcv | yes | ||
jast | would JIT compilation qualify as "superfast" | ||
samcv | why can't vm's be as fast? | ||
timotimo | vms can be faster than compiled code | ||
samcv | it's just seperated componentwise | ||
07:39
holli left
|
|||
dalek | osystem: f13a92c | (Alexey Melezhik)++ | META.list: correct link to Meta6.json |
07:39 | |
osystem: 4bbbc1c | (Alexey Melezhik)++ | META.list: Merge pull request #279 from melezhik/master correct link to Meta6.json |
|||
andrzeju | look at Swift implementation | 07:40 | |
it also JIT | |||
working on all apple device | |||
jast | I'm not familiar with moar's internals specifically, but my impression is that the harder thing to make efficient with implementations of highly dynamic languages isn't CPU time but memory use | ||
andrzeju | superfast | ||
we need copy Swift design to Perl6 | 07:41 | ||
jast | though of course the two are very interrelated if you're carrying around lots of meta info | ||
well, you could just use Swift then :} | |||
andrzeju | and start conquer the world | ||
it is no matter what I want to use | |||
stmuk | I thought swift was AOT and based on LLVM rather than using a VM | 07:42 | |
timotimo | the smallest google search seems to show there's some kind of jitting involved somehow | 07:43 | |
jast | Swift programs need an objc-style runtime at least | ||
stmuk | oh it supports both AOT and JIT | 07:44 | |
arnsholt | jast: There are probably several tricky things. But an important one is getting good enough optimizations (JIT, AOT, or both) so that you can sidestep the highly dynamic bits whenever possible | 07:45 | |
jast | I don't really know Swift but at first glance it's not nearly as flexible as Perl5/6 and so copying Swift's design probably would be similar to copying a jet plane's design to a tank | 07:46 | |
or vice versa | |||
arnsholt: yeah, that was my thinking... and it can be really tricky to figure out good places to do that for at least some practically relevant code :) | 07:47 | ||
I'll refrain from speculating too much because I'm sure quite a few people here have a lot more practical experience with this kind of thing than I do | 07:49 | ||
07:53
ChoHag left
|
|||
timotimo bbl | 07:54 | ||
07:55
darutoko joined,
Wanderer68 joined,
ChoHag joined
08:02
dugword joined
|
|||
andrzeju | do you think Perl can be rewritten to llvm? | 08:03 | |
I mean Perl6 llvm implementation | |||
08:04
petrutrimbitas joined
08:06
pierre_ joined
08:07
dugword left,
pierre_ left,
pierre_ joined
|
|||
jast | I looked up past conversations. consensus seems to be that LLVM's IR and MoarVM don't align very well, and it wouldn't be a good fit. I guess nobody has thought that spending heaps of time on this would be worth the effort... and it probably wouldn't be as much of a magical speed-up as people have come to associate with LLVM | 08:11 | |
08:13
rindolf joined
|
|||
stmuk | I think new nqp backends would be welcomed (like the JS one) | 08:13 | |
08:14
petrutrimbitas left
08:16
zakharyas joined
08:17
petrutrimbitas joined
08:28
xtreak left
|
|||
masak | m: "abcdefg" ~~ /cd./; say $/.from | 08:28 | |
camelia | rakudo-moar 76283f: OUTPUT«2» | ||
masak | what's an idiomatic Perl 5 analogue of the above? | 08:29 | |
length($`) ? | |||
perldoc keeps neurotically bringing up global de-optimizations if I use $` et al. | |||
jast | $-[0] perhaps? | 08:31 | |
08:31
xtreak joined
|
|||
samcv | need a perl6 backend for my brain | 08:33 | |
jast | with @- and @+ it's fairly easy to work around using $` and such | 08:34 | |
masak | is it cheaper, too? | 08:35 | |
jast | I believe so, it's missing the de-optimization warnings | ||
DrForr | $` and friends aren't as much of a problem with optimization these days, I believe. | ||
jast | but in this case $-[0] is actually more straightforward | 08:36 | |
DrForr | There was a time when simply use'ing the English module was a performance penalty because it touched $`. But as jast says, $-[0] and $+[0] are better solutions. | ||
lizmat clickbaits p6weekly.wordpress.com/2017/01/02/...rime-time/ | 08:39 | ||
masak | lizmat++ | 08:40 | |
El_Che | morning | ||
DrForr waves at El_Che. | 08:43 | ||
lizmat wonders who would like to answer www.reddit.com/r/perl6/comments/5l...ernatives/ | 08:45 | ||
timotimo | i'll put down a few words, but by no means a complete answer | 08:46 | |
done | 08:50 | ||
lizmat | timotimo+ | 08:51 | |
08:53
pyrimidi_ joined,
pyrimidine left
08:56
g4 joined,
g4 left,
g4 joined
|
|||
petrutrimbitas | Hi, I’m trying to match the content of a <td>. I’m getting no matches and also the regex looks ugly. Is there a way to fix it? ideone.com/diw83Y | 08:58 | |
timotimo | for one you can write '</td>' instead of \<\/td\> | 08:59 | |
and '<td' instead of \<td | 09:00 | ||
i'm not entirely sure that the space directly after the :s will also turn on sigspace for you | |||
jast | when I try it, both an unquoted < and an unquoted / are invalid | 09:01 | |
DrForr | I'd definitely use '..' instead of backslashing. It might not hurt to break out '</td>' as a separate regex term as well. | 09:02 | |
timotimo | well, yeah, that's why you put the ' around it | ||
jast | oh, I kind of didn't read that as literal quoting. whoops. | ||
arnsholt | Yeah, I think the space after :s would be leading space in sigspace, which is disregarded | ||
09:02
girafe2 left
|
|||
timotimo | it's difficult to send that kind of thing over irc :P | 09:02 | |
arnsholt | Try replacing the :s with <.ws> | 09:03 | |
petrutrimbitas | I tried it like this if ($response.Str ~~ m/ '<td class="task">'(.*)'</td>' /) but now it behaves like an infinite loop | ||
DrForr | I must say I'm impressed that ideone.com picks up on Perl 6 and does syntax highlighting, although it's not *quite* there yet. | ||
09:03
dugword joined
|
|||
petrutrimbitas | it worked, I think | 09:04 | |
dalek | href="https://perl6.org:">perl6.org: a7dec0f | moritz++ | source/resources/index.html: Clarify book section |
||
09:08
dugword left
09:12
hartenfels joined,
Tonik joined
|
|||
lizmat wonders what would need to be done to get Rakudo Perl 6 listed on github.com/showcases/programming-languages | 09:14 | ||
gfldex | lizmat: there is a Contact GitHub link at the bottom of the page | 09:17 | |
lizmat | that feels more like a newbie support page than anything pertaining specifically to the programming languages list | 09:18 | |
DrForr | There's also a "Great for new contributors" link on github.com/showcases # although that might not be the smartest move :) | 09:19 | |
shadowpaste | "kaare_" at 217.168.150.38 pasted "Native call" (35 lines) at fpaste.scsys.co.uk/540471 | ||
gfldex | lizmat: sometimes ppl forward e-mails to where they need to go | 09:20 | |
09:21
brrt joined
|
|||
samcv | lizmat, isn't that list automated? | 09:23 | |
jast | according to their blog it's curated from trending repos | ||
samcv | oh | ||
are we trending though | |||
jast | from what I can see, /contact is the only official place to talk to them | 09:24 | |
samcv | www.google.com/trends/explore?q=perl%206 | ||
seems to be holding pretty constant | |||
lizmat sent them a message | 09:25 | ||
timotimo | apparently only muricans are interested in perl6 ... ?! | ||
jast | Google Trends related topics: "JSON - Programming Language" | ||
timotimo | also, clearly iPhone 6, JSON, and Nexus 6 are related to perl6 | ||
samcv | though www.google.com/trends/explore?q=pe...rogramming | ||
heh | 09:26 | ||
jast | they forgot IPv6 | ||
timotimo | www.google.com/trends/explore?q=pe...%2F0j3djl7 | ||
julia pwns us still | 09:27 | ||
samcv | where do you get related queries that aren't related to perl 6 | ||
see this www.google.com/trends/explore?q=%2...rogramming | |||
timotimo | www.google.com/trends/explore?q=pe...m%2F0dbjtf - here's something that's closer to our niche | ||
you're comparing "julia programming", i'm comparing vs "julia the programming language" | |||
samcv | help | ||
DrForr | opensource.com/article/16/12/yearb...rends-2016 is available as well. | 09:28 | |
timotimo | coq and agda also both surpass us by far | 09:29 | |
samcv | somebody should write a really fast C hex to integer converter for moar | 09:30 | |
so we can be faster until we actually don't have to always parse the hex digits in the unicode database for normalization ... | |||
timotimo | utf8_c8 has a hex2int function | 09:31 | |
brrt | DrForr: that article is horrible, unfortunately :-( | 09:32 | |
samcv | nice timotimo | ||
brrt | how is go something that system operations people should learn | ||
samcv: if you want fast hex-to-integer conversion, you want to use SIMD | 09:33 | ||
also, it's not really all that much work, is it | |||
dalek | c: e708888 | gfldex++ | doc/Language/typesystem.pod6: fix typo |
09:35 | |
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
samcv | converting from hex? | ||
well it is how it does in now using strtol | |||
idk it takes up like 14% of the cpu reading a string from a file | |||
that seems slow to me | 09:36 | ||
brrt | well, 'conversion' means substracting the integer of '0' from '0'-'9' and 'a' + 10 from 'a'-'f' | ||
samcv | yeah something like that | ||
brrt | and then packing them more tightly together (nibbles to bytes) | ||
it's a very simple operation reall | |||
timotimo | that'? what hex2int does | 09:37 | |
jast | is that actually faster than using a lookup table? I know nothing anymore with modern computers | ||
timotimo | but it only works on a single codepoint | ||
so it doesn't do the packing | |||
brrt | jast: it ought to be faster if you implement this as SIMD | ||
09:37
bjz left
|
|||
samcv | idk whatever we do, would be nice to just be able to inline it | 09:37 | |
jast | right | ||
samcv | until ucd2c.pl gets totally redone, that's what we're stuck with | ||
brrt | the thing with recent CPUs is that computation is basically free compared to memory access | 09:38 | |
caching helps with that, of course | |||
samcv | 16% isn't free though :P | ||
brrt | true enough | 09:39 | |
09:39
thayne joined
|
|||
timotimo | yes. | 09:39 | |
09:39
bjz joined
09:41
gregf_ joined
09:49
Gothmog_ left
09:50
Gothmog_ joined
09:52
ufobat joined
09:53
Actualeyes left
10:17
dalek left
10:18
dalek joined,
ChanServ sets mode: +v dalek
10:21
xtreak left
10:25
xtreak joined
10:29
grondilu left
|
|||
El_Che | I am happy to seeing a nice mix of perl5 and 6 talks at fosdem. Schedule should be up very soonish | 10:36 | |
DrForr | Reminds me, I need to book flight &c. | 10:38 | |
10:38
bjz left
|
|||
El_Che | DrForr: yeah, looking forward to your talk :) | 10:38 | |
DrForr | It's basically going to be "Here's my git history, here's why I did X and Y." | 10:39 | |
El_Che | I'll throw rotten fruit if I don't like it :) | ||
DrForr | As long as by "rotten" you mean properly brewed and I can catch the bottle :) | 10:40 | |
Especially it it's framboise :) | |||
El_Che | hehe | ||
10:42
bjz joined
10:46
Tonik left
10:47
bjz_ joined
10:48
bjz left
10:51
pierre_ left,
rafschi joined,
pierre_ joined
10:53
cibs left
10:54
pyrimidi_ left,
pyrimidine joined,
cibs joined
11:05
dugword joined
11:09
buggable left,
buggable joined,
ChanServ sets mode: +v buggable,
dugword left
11:12
xtreak left
11:14
TEttinger left
11:15
Actualeyes joined,
hartenfels left,
user9 joined
11:20
cooper_ joined
11:23
cooper left
11:24
Actualeyes left
|
|||
tadzik | is there a slurp() that gives me bytes back, instead of complaining about invalid utf8? | 11:26 | |
rafschi | .read | 11:28 | |
psch | m: say &slurp.candidates[0] | ||
camelia | rakudo-moar ee3872: OUTPUT«sub slurp (IO::ArgFiles:D $io = { ... }, :$bin, :$enc = "utf8", |c is raw) { #`(Sub|75010192) ... }» | ||
psch | m: slurp(:bin)[0].WHAT.say | 11:29 | |
camelia | rakudo-moar ee3872: OUTPUT«(Int)» | ||
tadzik | .read requires arguments, C-style | 11:36 | |
ach, slurp:bin sounds good, thanks :) | |||
11:41
labster left
11:43
petrutrimbitas left
11:44
iH2O joined
11:48
iH2O left
11:55
petrutrimbitas joined
11:57
Actualeyes joined
12:03
brrt left,
brrt joined
12:07
pierre_ left
12:17
ilmari joined
12:19
tbrowder left,
leego left,
notviki left,
unicodable6 left,
notviki joined,
leego joined
12:22
tbrowder joined
12:25
SmokeMachine joined
12:27
petrutrimbitas left
12:29
pierre_ joined
12:37
pmurias joined
12:38
petrutrimbitas joined
|
|||
pmurias | brrt: re why should system operations people should learn go, wasn't the idea that it will enable them to patch docker? | 12:38 | |
12:41
hartenfels joined
|
|||
jast | wait, docker is written in go? | 12:42 | |
it's funny how things I don't care for tend to cluster together | 12:43 | ||
12:44
petrutrimbitas left
|
|||
masak | I would kind of expect that to happen, given how people's interests in general cluster together | 12:45 | |
jast | sure. it definitely comes in handy often enough | 12:46 | |
makes it so much easier to apply my prejudice | |||
12:47
brrt left
|
|||
rafschi | jast: yesterday someone was talking about an 'init system written in go'. Didn't deal withg SIGCHILD. | 12:49 | |
jast | I'm sure one single signal can't be that important | ||
12:50
cibs left
|
|||
arnsholt | What could possibly go wrong?! =D | 12:50 | |
jast | and I mean it's not like it would get raised often | ||
you can do some sort of polling I guess | |||
should be close enough | |||
12:51
cibs joined
12:53
rafasch joined
12:54
rafschi left
12:57
pyrimidine left,
pyrimidine joined,
rafasch is now known as raschip
13:03
teksteiner joined
13:06
dugword joined
13:11
brrt joined,
dugword left
13:13
brrt left,
brrt joined
13:21
bjz_ left,
bjz joined
13:30
aries_liuxueyang left
13:31
AlexDaniel joined
13:32
telex left
13:33
telex joined
13:35
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
rumble joined
13:36
grumble is now known as Guest79268,
rumble is now known as grumble
13:40
pierre_ left
13:43
aries_liuxueyang joined
|
|||
notviki | Is mt1957 here? | 13:44 | |
13:47
esh left,
literal left,
skaji_ joined,
literal joined,
felher joined,
dalek left,
cgfbee left,
Guest79268 left,
baest_ joined
13:48
xxpor joined,
Wanderer68 left,
CIAvash left,
simcop2387 joined
13:49
esh joined
13:52
lizmat left
13:53
cgfbee joined
|
|||
AlexDaniel | b: use Test; subtest ‘description’, { say ‘hello’ } | 13:55 | |
bisectable6 | AlexDaniel, Bisecting by exit code (old=2015.12 new=fb4f161). Old exit code: 1 | ||
AlexDaniel, bisect log: gist.github.com/6fb4814451435f2f28...8d8d18ba4f | |||
AlexDaniel, (2016-05-16) github.com/rakudo/rakudo/commit/e2...dbdaeb9c75 | |||
13:58
aborazmeh left
|
|||
AlexDaniel | cool | 13:59 | |
14:02
bjz left
|
|||
teksteiner | Quick question on grep and its syntax, so taking Euler Problem 10 (summation of primes smaller than 2m), I know I can simply use `my @primes = (2...*).grep(*.is-prime)` to create a lazy list of primes, Im not sure if and how I can include the upper bound in there, `my @primes = (2...*).grep(*.is-prime, * < 2000000)` does not work, also will I have to explicitly make the resulting list strict if I want to sum it | 14:04 | |
afterwards? | |||
14:05
holli joined
|
|||
raschip | m: say (2..20).grep(.is-prime) | 14:05 | |
camelia | rakudo-moar fb4f16: OUTPUT«No such method 'is-prime' for invocant of type 'Any' in block <unit> at <tmp> line 1» | ||
notviki | m: say [+] (2...* < 2000_000).grep: *.is-prime | ||
camelia | rakudo-moar fb4f16: OUTPUT«2» | ||
psch | m: (2..*).grep(*.is-prime).grep(* < 2000000).is-lazy.say | ||
camelia | rakudo-moar fb4f16: OUTPUT«True» | ||
teksteiner | Aaah I see | 14:06 | |
jnthn | Using a .. Range is probably a lot faster than using ... | ||
notviki | .oO( 2? ) |
||
psch | m: (lazy 2..2000000).grep(*.is-prime).is-lazy.say | ||
camelia | rakudo-moar fb4f16: OUTPUT«True» | ||
notviki | m: say [+] (2..2000_000).grep: *.is-prime | ||
AlexDaniel | m: (2..2000_000).grep(*.is-prime).grep(*.is-prime).is-lazy.say | ||
teksteiner | Totally overlooked that the grep is used on a list already | ||
AlexDaniel | :| | ||
camelia | rakudo-moar fb4f16: OUTPUT«(timeout)» | ||
rakudo-moar fb4f16: OUTPUT«False» | |||
AlexDaniel | m: (2..2000_000).grep(*.is-prime).grep(*.is-prime).is-lazy.say | ||
camelia | rakudo-moar fb4f16: OUTPUT«False» | ||
AlexDaniel | wait, False? | 14:07 | |
psch | mhm, can't lazy infix:<..> with known bounds it seems | ||
or the grep reifies, i'm not sure | |||
AlexDaniel | m: say (2..2000_000).grep(*.is-prime).grep(*.is-prime)[^20] | ||
camelia | rakudo-moar fb4f16: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71)» | ||
AlexDaniel | no it's totaly fine | ||
m: say (2..2000_000).grep(*.is-prime).grep(*.is-prime) | |||
camelia | rakudo-moar fb4f16: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 …» | ||
AlexDaniel | m: say WHAT (2..2000_000).grep(*.is-prime).grep(*.is-prime) | ||
camelia | rakudo-moar fb4f16: OUTPUT«(Seq)» | ||
14:07
blah joined
|
|||
AlexDaniel | oh, that's a Seq, ok | 14:07 | |
14:07
ChoHag left
|
|||
psch | ...what's with the two .is-prime greps ooc? | 14:08 | |
AlexDaniel | ah sorry | ||
xD | |||
m: say WHAT (2..2000_000).grep(*.is-prime) | |||
camelia | rakudo-moar fb4f16: OUTPUT«(Seq)» | ||
AlexDaniel | doesn't change anything though :) | ||
psch | right | ||
teksteiner | :) | ||
notviki | m: say [+] (2... * > 2000_000).grep: *.is-prime | ||
k | |||
camelia | rakudo-moar fb4f16: OUTPUT«(timeout)» | 14:09 | |
raschip | m: say [+] (2... * > 1_000).grep: *.is-prime | ||
camelia | rakudo-moar fb4f16: OUTPUT«76127» | ||
AlexDaniel | but… why? | ||
notviki | Why what? | ||
AlexDaniel | why * > 42 when you can just do … 42 ? | 14:10 | |
or …^ 42 if that's what you mean | |||
14:10
lizmat joined
|
|||
raschip | m: say [+] (2..1_000).grep: *.is-prime | 14:10 | |
camelia | rakudo-moar fb4f16: OUTPUT«76127» | ||
notviki | Because reasons | 14:11 | |
raschip | m: say (2..1_000).grep:( *.is-prime).is-lazy | 14:12 | |
camelia | rakudo-moar fb4f16: OUTPUT«===SORRY!===Cannot find method 'has_compile_time_value' on object of type NQPMu» | ||
raschip | m: say (2..1_000).grep( *.is-prime).is-lazy | ||
14:12
blah left
|
|||
camelia | rakudo-moar fb4f16: OUTPUT«False» | 14:12 | |
raschip | m: say (2... * > 1_000).grep( *.is-prime).is-lazy | ||
camelia | rakudo-moar fb4f16: OUTPUT«False» | ||
raschip | teksteiner: do you really need it to be a lazy list? | 14:14 | |
teksteiner | No, I was just curious about this | 14:15 | |
raschip | m: say (2... * > 1_000).grep( *.is-prime) | ||
camelia | rakudo-moar fb4f16: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 …» | ||
notviki | It is lazy, in a sense that only the values you need are produced | 14:17 | |
m: say (2... * > 1_0000000000000000).grep( *.is-prime)[^5] | |||
camelia | rakudo-moar fb4f16: OUTPUT«(2 3 5 7 11)» | ||
raschip | Noice | 14:18 | |
14:20
Xliff left
|
|||
teksteiner | but it seems like this way of solving it would take a while :) | 14:20 | |
14:20
Xliff joined
|
|||
notviki | That's prolly why it's a Euler problem | 14:21 | |
You need a fancy pants algo instead of brute force | |||
14:21
aindilis left
|
|||
teksteiner | Yeah I know | 14:21 | |
notviki | m: put [+] (2..2_000_000).race(:batch).grep(*.is-prime) | 14:22 | |
AlexDaniel | do we explain the difference between seqs and lazy lists somewhere in the docs? | ||
camelia | rakudo-moar fb4f16: OUTPUT«(signal XCPU)» | ||
notviki | heh | ||
AlexDaniel | what's XCPU :o | ||
e: put [+] (2..2_000_000).race(:batch).grep(*.is-prime) | |||
evalable6 | AlexDaniel, rakudo-moar fb4f161: OUTPUT«(signal SIGHUP) «timed out after 10 seconds, output»: » | ||
notviki | m: put [+] (2..2_000_000).race(:500000batch).grep(*.is-prime) | 14:23 | |
camelia | rakudo-moar fb4f16: OUTPUT«0» | ||
notviki | Close enough! | ||
AlexDaniel | ok-ok, please no .race | ||
notviki | Why? | ||
AlexDaniel | I don't think it has ever been fixed | 14:24 | |
notviki | XCPU is it hit the limit of CPU time it can use or something | ||
If no one uses it, no one will fix it./ | |||
m: put [+] (2..2_000_000).race(:500000batch).grep(*.is-prime) | |||
camelia | rakudo-moar fb4f16: OUTPUT«0» | ||
notviki tries a 24-core box | |||
AlexDaniel | notviki: if no one will fix it, no one will use it | 14:25 | |
notviki | But if no one will use it, no reason to fix it :P | 14:26 | |
m: say 2_000_000 / 24 | |||
camelia | rakudo-moar fb4f16: OUTPUT«83333.333333» | ||
14:28
Khisanth left
|
|||
notviki | hm, interesting... | 14:28 | |
m: say gather { for (2..2_000_000).race(:83333batch, :24degree) { take $_ if .is-prime } } | |||
camelia | rakudo-moar fb4f16: OUTPUT«take without gather in block at <tmp> line 1take without gather in block at <tmp> line 1take without gather in block at <tmp> line 1take without gather in block at <tmp> line 1take without gather in block at…» | ||
notviki | "take withotu gather"? | 14:29 | |
jnthn | That's not going to work. | ||
The code runs on a totally different thread | |||
notviki | awwww | ||
jnthn | Where the gather is not in dynamic scope | ||
Vasyl | Is there a way to easily set up an HTTP server using Crust? like "crustup -s somethingThatCanHTTPS --enable-ssl --ssl-key-file=... --ssl-cert-file=... /my/app.p6sgi" | ||
notviki | m: say do for (2..2_000_000).race(:83333batch, :24degree) { next unless .is-prime; $_ } | 14:30 | |
camelia | rakudo-moar fb4f16: OUTPUT«(signal XCPU)» | ||
14:31
awwaiid left,
aries_liuxueyang left
|
|||
notviki | cpan@perlbuild2~$ time perl6 -e 'm: say [+] do for (2..2_000_000).race(:83333batch, :24degree) { next unless .is-prime; $_ }' | 14:33 | |
142913828922 | |||
real 1m1.550s | |||
user 18m5.796s | |||
pretty good! | |||
AlexDaniel: it works after all :) | |||
14:36
awwaiid joined
14:40
Actualeyes left
14:44
aries_liuxueyang joined
14:45
hartenfels left
14:54
cdg joined
|
|||
masak | sometimes I'm surprised by how much quality open content there is online | 15:00 | |
I'm coding up a simple recipe app (for a class). searched "open content recipes". found wikibooks Cookbook, with tons of recipes | 15:01 | ||
all under cc:by-sa | |||
AlexDaniel | sure | 15:07 | |
15:08
dugword joined
15:11
acrussell joined
|
|||
masak | I've had the same thought at some point with all the libre math/physics/CS learning material online. there's just so much of it. | 15:12 | |
maybe it's time to collect it all into a list somewhere. | |||
15:13
dugword left
|
|||
jast | you mean like DMOZ? ;) | 15:13 | |
masak | not exactly like that, no | 15:14 | |
jast | though I think they don't care about the 'open' bit that much | ||
masak | just a personal list of things I've found that are free and that I could read at some point | ||
those Feynman physics books, for example | |||
jast | oh, right. I started making a list like that a few years ago and then stopped updating it because it only ever grows :) | 15:15 | |
15:19
lizmat_ joined
15:21
lizmat left
|
|||
masak | I think I've come to terms with the fact that list of good/worthwhile things only grow | 15:21 | |
still like that better than no lists | |||
today's autopun spotting: twitter.com/iamdevloper/status/808...1669498881 | |||
oh! oh! and today's unexpect JS trivia quiz: | 15:22 | ||
:P | |||
what's the one operational difference between `undefined` and `null`? | 15:23 | ||
(I only know of one -- there may be more) | |||
psch | i think one of them does methods? | ||
masak | decommute & | ||
psch | hm, i googled it, and i'm wrong :) | ||
15:26
lizmat_ left,
yoleaux joined,
ChanServ sets mode: +v yoleaux,
khw joined
15:27
wtw joined,
pierre_ joined
|
|||
brrt | well, what is the difference? | 15:30 | |
15:30
AlexDaniel left
|
|||
brrt still has a plan to convert those darn books to an ePub at some point | 15:30 | ||
knowing well I could probably buy them or bittorrent them, but not bothering to figure out how | 15:31 | ||
15:31
lizmat joined
|
|||
psch | brrt: undefined is a type object, null is an empty reference | 15:32 | |
that's what the googling says at least vOv | |||
"empty reference" as our Nil that is, not like *(0x0) | 15:33 | ||
ufobat | i'd like to zip 2 arrays together, but if one is longer then the other i'd like to have something like Any,ElementOfLongerArray. is that possible? | ||
15:33
dalek joined,
ChanServ sets mode: +v dalek
|
|||
psch | m: my @a = 1,2,3; my @b = <a b c d e>; say @a[^(@a max @b)] Z @b[^(@a max @b)] | 15:34 | |
camelia | rakudo-moar fb4f16: OUTPUT«((1 a) (2 b) (3 c) ((Any) d) ((Any) e))» | ||
psch | m: my @a = 1,2,3; my @b = <a b c d e>; say @a[^$_] Z @b[^$_] with @a max @b # cleaner i guess | 15:35 | |
camelia | rakudo-moar fb4f16: OUTPUT«((1 a) (2 b) (3 c) ((Any) d) ((Any) e))» | ||
geekosaur | "you have a problem and you decide to use threads. nonw owy ou yoauv e hatwvo e ptrowbo plerombsle imns teinrtleearlveeda.ed." | ||
ufobat | geekosaur, :D | ||
jast | nice one | ||
ufobat | psch, thanks | ||
15:35
pierre_ left,
g4 left
15:36
lizmat left
|
|||
ufobat | what is @a max @b | 15:39 | |
psch | m: say 2 max 3 | ||
camelia | rakudo-moar fb4f16: OUTPUT«3» | ||
ufobat | its not the array with more elements :( | ||
psch | uh | ||
15:39
bwisti joined
|
|||
psch | that'd be weird? | 15:39 | |
oh | 15:40 | ||
ufobat | m: my @a = 1..10; my @b = 99..100; say (@a max @b) | ||
camelia | rakudo-moar fb4f16: OUTPUT«[99 100]» | ||
El_Che | Fosdem will have a nice mix of Perl 5 and 6 talks. /me happy | ||
ufobat | is it summing all values, or what? | ||
psch | ohh | ||
m: (1, 3, 5) max (5, 3, 1) | |||
camelia | rakudo-moar fb4f16: OUTPUT«WARNINGS for <tmp>:Useless use of "max" in expression "(1, 3, 5) max (5, 3, 1)" in sink context (line 1)» | ||
psch | m: say (1, 3, 5) max (5, 3, 1) | ||
camelia | rakudo-moar fb4f16: OUTPUT«(5 3 1)» | ||
psch | hm, not ohh actually | ||
ufobat | just considders the first value? | 15:41 | |
psch | ufobat: you apparently need .elems (or prefix:<+>) | ||
ufobat | aye | ||
notviki | s: &infix:<max>, \([1,2], [1, 2, 3]) | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/fb4f...s.pm#L1961 | ||
psch | m: say (1,2) cmp (2,1) | ||
camelia | rakudo-moar fb4f16: OUTPUT«Less» | ||
psch | m: say (2,2) cmp (2,1) | ||
camelia | rakudo-moar fb4f16: OUTPUT«More» | ||
notviki | s: &infix:<cmp>, \([1,2], [1, 2, 3]) | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/fb4f...t.pm#L1460 | ||
psch | oh geez, that probably has a good reason for why it is like that :) | 15:42 | |
notviki | :S I don't see max documented :/ | 15:43 | |
psch | docs.perl6.org/routine/max | ||
notviki | Doesn't show up in search | ||
psch | did show up here? | ||
granted, i had to scroll | 15:44 | ||
notviki | Ah, I see. The border on title was visible just enough to look like end border of the popup... | 15:45 | |
psch & | |||
15:47
awwaiid left
|
|||
raschip | m: say (1,1,1) cmp (1,1) | 15:49 | |
camelia | rakudo-moar fb4f16: OUTPUT«More» | ||
raschip | m: say +((1,1,1) cmp (1,1)) | 15:50 | |
camelia | rakudo-moar fb4f16: OUTPUT«1» | ||
SmokeMachine | m: use Test; pass Q[\] | 15:51 | |
camelia | rakudo-moar fb4f16: OUTPUT«ok 1 - \» | ||
raschip | m: my @a=(1,1,1);my @b=(1,1); say @a max @b | 15:52 | |
camelia | rakudo-moar fb4f16: OUTPUT«[1 1 1]» | ||
raschip | m: my @a=(1,1,1);my @b=(1,1); say +(@a max @b) | ||
camelia | rakudo-moar fb4f16: OUTPUT«3» | ||
notviki | You have the plus at the wrong place | 15:53 | |
m: my @a=(1,1,1);my @b=(9,9); say +@a max +@b | |||
camelia | rakudo-moar fb4f16: OUTPUT«3» | ||
notviki | m: my @a=(1,1,1);my @b=(9,9); say +(@a max @b) | ||
camelia | rakudo-moar fb4f16: OUTPUT«2» | ||
raschip | m: my @a=(1,1,1);my @b=(9,9); say @a max @b | 15:54 | |
camelia | rakudo-moar fb4f16: OUTPUT«[9 9]» | ||
15:55
brrt left
|
|||
raschip | Do the docs explain what cmp does with lists? Do I understand it correctly that it stringify them? | 15:56 | |
notviki | raschip: it uses cmp to compare each element with the corresponding elemens of the other list. If they're all the same, then it compares the two lists by length | 15:57 | |
s/length/number of elements/; | 15:58 | ||
using <=> | |||
raschip | In a few days I will send my first pull request, then. | 15:59 | |
notviki | cool | ||
16:05
dugword joined
16:06
dugword left
|
|||
ufobat | and as soon as one element is not equal then the corresponding other element it makes this list to be the "max"ed one | 16:06 | |
s/not equal/larger/ | |||
raschip | Does anyone have a link to the Order:: doc? | ||
16:07
xinming left
|
|||
raschip | Found it. | 16:08 | |
notviki | docs.perl6.org/type/Order | ||
16:09
domidumont left
|
|||
raschip | m: my Order $n =3; say $n | 16:11 | |
camelia | rakudo-moar fb4f16: OUTPUT«Type check failed in assignment to $n; expected Order but got Int (3) in block <unit> at <tmp> line 1» | ||
raschip | m: my Order $n =Less; say $n | ||
camelia | rakudo-moar fb4f16: OUTPUT«Less» | ||
16:13
xinming joined
16:16
hartenfels joined
|
|||
colomon | nine: any hints on how to make python method calls with named arguments with the current Inline::Python? Don’t care if it’s ugly, but it would be very helpful to project if I could make it work somethow. | 16:21 | |
nine: I mean, I guess I can do it with run? | 16:22 | ||
16:23
cschwenz joined,
thayne left
16:25
shayan_ joined
|
|||
notviki | m: '$x'.EVAL.say; my $x = 42; | 16:26 | |
camelia | rakudo-moar fb4f16: OUTPUT«(Any)» | ||
notviki | hehe :) | ||
magic | |||
colomon | nine: have workaround going using run :eval | 16:28 | |
notviki | m: '"x is $x"'.EVAL.say; constant $x = 42; | 16:29 | |
camelia | rakudo-moar fb4f16: OUTPUT«x is 42» | ||
notviki | haha :) even moar magicks | ||
raschip | Sorcery! | ||
notviki | m: '"x is $x"'.EVAL.say; my $x = BEGIN 42; | ||
camelia | rakudo-moar fb4f16: OUTPUT«Use of uninitialized value $x of type Any in string context.Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at EVAL_0 line 1x is » | ||
notviki | wonder why that one doesn't set the value tho | ||
psch | m: '"x is $x"'.EVAL.say; my $x = 10; sub term:<$x> { $x }; # *real* magic | ||
camelia | rakudo-moar fb4f16: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 325872 bytes» | ||
psch | :P | 16:30 | |
m: '"x is $x"'.EVAL.say; my @x = 10; sub term:<$x> { @x[0] }; | |||
camelia | rakudo-moar fb4f16: OUTPUT«Use of uninitialized value of type Any in string context.Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at EVAL_0 line 1x is » | ||
notviki | m: '"x is $x.perl()"'.EVAL.say; BEGIN my $x = 42; | ||
camelia | rakudo-moar fb4f16: OUTPUT«x is 42» | ||
notviki | ahhhh | ||
psch | i suppose "insert a HLL handler for mem alloc failures in moar" might be somewhat LHF-ish | 16:31 | |
notviki | That one's not very magic because you can use subs even if they're postdeclared by you can't post-declare variables :) | ||
psch | ...well, FSDO "LHF" | ||
notviki: eh, the fact that @x[0] is still Any is somewhat magic i think :) | |||
(the mem alloc is purely $x-recursion, so yeah) | 16:32 | ||
notviki | m: '"x is $x.perl"'.EVAL.say; BEGIN my @x = 10; sub term:<$x> { @x[0] }; | ||
camelia | rakudo-moar fb4f16: OUTPUT«x is 10.perl» | ||
notviki | m: '"x is $x.perl()"'.EVAL.say; my @x = 10; sub term:<$x> { @x.head }; | ||
camelia | rakudo-moar fb4f16: OUTPUT«x is Nil» | ||
notviki | ah, right | 16:33 | |
the EVAL eval runs before @x is set | |||
psch | right | 16:34 | |
it is still the same magic, just hidden behind a term | |||
raschip | How does the value travel back in time? | ||
psch | raschip: in which example? | ||
notviki | raschip: there's compile time and run time | ||
raschip | "method CALL-ME". FFS | 16:35 | |
So, the asignement happens at compile time? | |||
psch | explicitly not | 16:36 | |
m: my $x = "foo"; say BEGIN $x | |||
camelia | rakudo-moar fb4f16: OUTPUT«(Any)» | ||
psch | as for "how does it travel back in time" the answer is either (1) it doesn't or (2) it only looks like it does | ||
notviki | Well, in my example, the magick is that I can use a variable before it's declared.. But in reality, it gets declared at compile time but my EVAL uses it during runtime, so even tho it's "before" declaration in the source, it's still after it's declared temporally | ||
raschip | Shouldn't the compiler emit a warning if that happens? | 16:37 | |
notviki | And the rest of the magics above is just moving the assignment of value into compile time with either a constant or a BEGIN block so that it also happens prior to my use of it | ||
Why a warning? | 16:38 | ||
It usually just dies. | |||
m: say $x; my $x = 42 | |||
camelia | rakudo-moar fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$x' is not declaredat <tmp>:1------> 3say 7⏏5$x; my $x = 42» | ||
notviki | And you have to bend over backwards to bypass that :) | ||
psch | m: say ::('$x'); my $x = 42 | ||
camelia | rakudo-moar fb4f16: OUTPUT«(Any)» | ||
raschip | m: say $x; my constant $x = 42 | ||
camelia | rakudo-moar fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$x' is not declaredat <tmp>:1------> 3say 7⏏5$x; my constant $x = 42» | ||
psch | raschip: constant is a declarator | ||
raschip | m: say $x; constant $x = 42 | ||
camelia | rakudo-moar fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$x' is not declaredat <tmp>:1------> 3say 7⏏5$x; constant $x = 42» | ||
raschip | typo | 16:39 | |
notviki | m: say constant; constant constant = 42 | ||
camelia | rakudo-moar fb4f16: OUTPUT«5===SORRY!5===Whitespace required after keyword 'constant'at <tmp>:1------> 3say constant7⏏5; constant constant = 42Missing initializer on constant declarationat <tmp>:1------> 3say constant7⏏5; constant constant = 42» | ||
notviki | m: 'say constant'.EVAL; constant constant = 42 | ||
camelia | rakudo-moar fb4f16: OUTPUT«42» | 16:40 | |
notviki | ^_^ | ||
raschip | barewords | ||
confuse everyone but the compiler | 16:41 | ||
notviki | m: sub infix:<say> { "$^a $^b say".say }; "you" say "don't" | 16:42 | |
camelia | rakudo-moar fb4f16: OUTPUT«you don't say» | ||
notviki | m: sub infix:<+> { $^a - $^b }; say 2+2 | ||
camelia | rakudo-moar fb4f16: OUTPUT«0» | ||
notviki | m: sub infix:<<> { $^a - $^b }; say 22 | 16:43 | |
camelia | rakudo-moar fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Placeholder variable $^a may not be used here because the surrounding block takes no signatureat <tmp>:1------> 3sub infix:<<> { $^a - $^b }7⏏5; say 22 expecting any of: hor…» | ||
notviki | m: sub infix:<> { $^a + $^b }; say 22; | 16:44 | |
camelia | rakudo-moar fb4f16: OUTPUT«4» | ||
raschip | m: say 22 | ||
camelia | rakudo-moar fb4f16: OUTPUT«22» | ||
jnthn | .u <> | ||
yoleaux | U+003C LESS-THAN SIGN [Sm] (<) | ||
U+003E GREATER-THAN SIGN [Sm] (>) | |||
U+2063 INVISIBLE SEPARATOR [Cf] (<control>) | |||
jnthn | haha :) | ||
notviki | :) | ||
jnthn | I was like "huh, I thought we disallowed empty operators" :P | 16:45 | |
psch has seen this before :P | |||
notviki wrote about this before: perl6.party/post/Anguish--Invisible...Data-Theft | 16:46 | ||
raschip | You guys introduced the same problem Python has, semantic whitespace. | ||
psch | waaay smallerin scope, and not much worse than e.g. C or Java have it though | ||
raschip | m: say 22 | 16:47 | |
camelia | rakudo-moar fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Bogus postfixat <tmp>:1------> 3say 27⏏52 expecting any of: infix infix stopper postfix statement end statement modifier state…» | ||
psch | ...people purposefully using wicked unicode aside :) | ||
mspo | I get dots in the browser for some of that stuff | ||
notviki | Yeah me too. | ||
16:47
acrussell left
|
|||
psch | m: say "\x2063".uniprop("Space") | 16:47 | |
camelia | rakudo-moar fb4f16: OUTPUT«AL» | ||
mspo | which looks nice | ||
notviki | Back when I wrote it I was using an older install and they were all blank | ||
psch | ...i don't actually understand that property | 16:48 | |
raschip | There was someone talking about defining every symbol from Prolog in Perl6. | ||
mspo | and APL? | ||
16:49
pyrimidine left
|
|||
raschip | APL looks more fun | 16:50 | |
16:55
darutoko left
|
|||
stmuk | hmm the only feedback I got from the R* blog post was a suggestion to abandon it :) | 16:57 | |
although they may be because blogs.perl.org is having its usual auth issues | 16:58 | ||
moritz | stmuk: my feedback: the problem with R* is that it lacks a clear vision | 17:04 | |
back when it started, we had hardly any modules, so we just took the ones that seemed useful | |||
that doesn't scale | 17:05 | ||
how do you even discuss which modules to include when the distribution lacks a vision or criteria for inclusion? | |||
it wouldn't hurt to include zef; it wouldn't hurt to add other modules you mentioned | 17:06 | ||
but what's the future of R*? who is the target audience? | |||
we could morph it into a "dev tools" distribution: debugger, grammar tracer, module installer, readline, docs | 17:07 | ||
raschip | I think there should be a distribution that target newbs. | ||
stmuk | moritz: yes that's probably true about the vision (although I see it as a sort of std library - not necessarily a definative one) | ||
moritz | or into a minimal one: just oen or two module installers and their dependencies | ||
raschip | targets* | 17:08 | |
stmuk | I have wondered about just a module installer and p6doc in a distro | ||
moritz | raschip: what does a newb needs? | ||
raschip | Whatever is used in intros to the language. | 17:09 | |
stmuk | its useful I think even if there is no clear direction (isn't muddling along the perl way anyway?) | ||
or organic growth | |||
raschip | There has to be a std lib, P5 suffered because it didn't have one. | ||
17:09
girafe joined
|
|||
stmuk | raschip: the perl 6 vision is multiple R* type distros not just one | 17:10 | |
raschip | I agree with 1 or more. It's a problem if the vision is 0 or more. | ||
stmuk | an obvious one might be a bioperl one | 17:11 | |
notviki | .oO( Rakudo with all the docs and entire ecosystem... Call it... FatRak ) |
||
moritz | a web developer one | 17:12 | |
raschip | Each framework will have it's own. | ||
17:13
user9 left
|
|||
notviki | A little out of the box thinking: ship just rakudo and module installer with a build script that can fetch a preset of modules. And the presets could be for webdev, bioinformatics, whatever, and the same basic toolset would be shipped tested, with the only difference is maintainers of those module sets would test their sets | 17:13 | |
that's really just a META6.json file that can be given to zef | 17:14 | ||
raschip | notviki: not a bad idea, the only usecase I know where that would be a problem is with noobs. The language needs bateries included. | ||
stmuk | notviki: a good idea .. the hard bit is getting people to test their sets | 17:15 | |
moritz | notviki: right; minimal distro + zef install Task::{Webdev,BioInformatics,DevTools} | ||
stmuk | there are corporates without git access so bundling the software in a tar ball is useful for many people | 17:16 | |
notviki | raschip: Why would it be a problem? The batteries ARE included, they're just fetched off network on installation. The usecase where this would be a problem is offline installs | ||
raschip | Well, we need to give an indication of what to install by default to distros. | 17:17 | |
stmuk | you can't even build the monthly releases without github access | ||
notviki | yeah | ||
raschip | They won't allow fetching from the network. | ||
kalkin-_ | btw perl6 is missing here github.com/showcases/programming-languages | 17:18 | |
moritz | .oO( point-and-click distro builder ) |
||
kalkin-_ | Adding Perl6 to the list of programming languages developed @Github would get some attention | ||
notviki | kalkin-_: contact the authors of that page and add it? | 17:19 | |
I'd be kinda weird tho, 'cause our leading compiler isn't even part of /perl6/ org | 17:21 | ||
17:21
lizmat joined
|
|||
notviki | And we'd be right below "dart-lang / sdk" and "FascinatedBox / lily" heh | 17:22 | |
CIAvash[m] | irclog.perlgeek.de/perl6/2017-01-03#i_13844198 | 17:23 | |
notviki | Interesting that I get Perl 6 in the trending list: github.com/trending | 17:24 | |
wondering if the algo just looks at langs I write in and puts those higher | |||
17:25
khw left
|
|||
dogbert2 | notviki: you around? | 17:27 | |
notviki | heh, a Perl 6 script to scan for hackable IoT devices github.com/rapid7/IoTSeeker | ||
diakopter | whoa | 17:28 | |
notviki | dogbert2: maybe, why? | ||
"High parallelism. So that it can scan thousands of IoT's at the same time" | |||
:D | |||
diakopter | wait what | ||
notviki: how is that Perl 6 | |||
dogbert2 | notviki: I'm about to write a spectest for RT 125135. jnthn says it should be in S12-meta. do you have any file suggestion= | ||
? | |||
notviki | ah crap | 17:29 | |
diakopter: GitHub misled me | |||
diakopter: I clicked on trending developers for Perl 6 and that script showed up as written in Perl 6 :( | |||
diakopter | oh :) | ||
17:29
shayan_ left
|
|||
profan | notviki: i think you're right it picks langs you write in though | 17:29 | |
kalkin-_ | notviki, will do | 17:30 | |
profan | as examples D, Lua, OCaml show up on mine, but aren't actually super popular in general | ||
diakopter | I was gonna say, a cyberattack/protection script written in Perl 6, that's something | ||
notviki | profan: heh, my list is totally different. I have C++, JS, PLpgSQL, Perl, Perl 6, Python, Shell | 17:31 | |
profan | ah yeah, Python, C, C++, JS on mine as well :p | 17:32 | |
raschip | Shell? | ||
notviki | dogbert2: no idea | ||
dogbert2 | ok, I'll figure something out | 17:34 | |
17:35
Actualeyes joined
17:36
pierre_ joined
17:38
ChoHag joined
17:41
pierre_ left,
girafe left
|
|||
stmuk | I hate that pause between a reboot and ping replying | 17:42 | |
kalkin-_ | What should I submit to github? I would prefer to submit something like perl6/perl6. Submitting rakudo/rakudo is weird | 17:44 | |
Or maybe create a perl6/perl6 project which will be the starting point for new Perl6 users? | 17:46 | ||
notviki | But would people "star" it? | ||
17:47
hartenfels left
|
|||
mspo | kalkin-_: you have a patch? | 17:47 | |
kalkin-_ | notviki I don't think that starring it is important. It's more important to have heard about Perl6. I.e I just discovered a programming language called red. Currently I'm not interested in it at all, but it's stuck in my mind | 17:48 | |
mspo: what kind of patch? I really don't know what would be the best way to create a "patch" for that :) | |||
notviki | kalkin-_: well, the list is ordered by number of stars. And you'd have "perl6/perl6" listed at the very bottom, linking to a repo with a README instead of proper language :) | 17:49 | |
17:49
shayan_ joined
|
|||
kalkin-_ | ahh havent thought about it | 17:50 | |
mspo | kalkin-_: sorry I'm out of context. What are you trying to do? :) | ||
kalkin-_ | Then I think it would make sense to link rakudo/rakudo, even if it's not directly obvious how rakudo and perl6 are connected | 17:51 | |
mspo: I want to add perl6 here github.com/showcases/programming-l...s=language | |||
notviki | +1. I think it kinda reinforces the "new language" idea | ||
mspo | ah ha | 17:52 | |
kalkin-_ | Is there a reason why rakudo & star are developed in a different organization | ||
? | |||
raschip | There's no language called "rosalyn", for exampe. | ||
notviki | kalkin-_: rakudo and star are both in /rakudo/ org | ||
kalkin-_ | notviki: right and what is the reason for that? | 17:53 | |
notviki | oh | ||
mspo | so you want an "entry point" for perl6 | ||
kalkin-_ | mspo: exactly | ||
notviki | kalkin-_: dunno. I guess it just started that way. The idea is it's just one of many possible Perl 6 compilers. | ||
while /perl6/ org is about the language itself | 17:54 | ||
mspo | github.com/perl6/roast is probably the defining repo but.. you know | ||
notviki | MoarVM isn't in perl6 org either... | 17:55 | |
mspo | github.com/MoarVM | 17:56 | |
yeah it's all over the place | |||
17:58
RabidGravy left
17:59
espadrine joined
|
|||
pmurias | rakudo has a different commit bit policy then the perl6 organization | 17:59 | |
notviki | Aye that too | ||
pmurias | because CLA are required | ||
kalkin-_ | I mean I get it that everything is interchangeable, but this doesn't simplify the marketing work. | ||
pmurias | there is only one viable Perl 6 compiler at the moment | 18:01 | |
18:01
perigrin joined
|
|||
kalkin-_ | Look at ruby there the original Ruby & JRUBY & Whatever, but the original interpreter is ruby/ruby | 18:01 | |
but still people know there're different ruby interpreters | |||
for people who never heard about perl6 it's just complicated to search all over the place | 18:02 | ||
pmurias | kalkin-_: I'm not sure if we need to emphasize the rakudo/Perl 6 distinction in marketing work | ||
notviki sees this discussion gradually slide into the Great Name Bikeshed™ | |||
kalkin-_ | pmurias: yeah this is what I'm trying to say, but you guys do. | ||
stmuk | people will google and find perl6.org .. I don't see any of this is a real problem | ||
kalkin-_ | so which of the repos should be submitted to the Github team for adding it to the languages showcase? | 18:03 | |
notviki | stmuk: hehe, well, the problem is above: kalkin-_ doesn't have a "perl6" repo to add to GitHub's list that has actual perl6 compiler in it :) | ||
kalkin-_: rakudo/rakudo would be my choice. | 18:04 | ||
It'll still say "Perl 6" just below it anyway | 18:05 | ||
kalkin-_ | ok | ||
stmuk | well the perl6 compiler is split up into 3 parts anyway | ||
pmurias | raschip: why do we need a "std library"? | ||
kalkin-_: I would submit rakudo/rakudo to the languages showcase | 18:06 | ||
raschip | pmurias: xkcd.com/353/ | 18:07 | |
18:08
hankache joined
|
|||
kalkin-_ | pmurias & notviki will do | 18:09 | |
notviki | kalkin-_++ | ||
hankache | Good * #perl6 | 18:10 | |
notviki | \o\ | ||
18:10
mr_ron joined
18:14
RabidGravy joined
|
|||
kalkin-_ | I contacted Github via contact form. I hope this will work out | 18:21 | |
18:21
jonas2 left
|
|||
tadzik | do I recall correctly that there was a protobuf library somewhere in the ecosystem | 18:23 | |
? | |||
I can't seem to find it | |||
mr_ron | I am trying to rakudobug a memory leak. Is it best tagged [BUG] or [PERF] or something else? Is there a list of those tags someplace? | 18:24 | |
kalkin-_ | tadzik github.com/samuraisam/p6-pb | ||
tadzik | kalkin-_: thanks! | ||
kalkin-_ | tadzik: github search is sometimes very helpful github.com/search?utf8=%E2%9C%93&a...rchresults | 18:25 | |
notviki | huggable: eco protobuf | ||
huggable | notviki, nothing found | ||
notviki | that was fast :o | ||
huggable: eco pb | |||
huggable | notviki, nothing found | ||
notviki | huggable: eco test | 18:26 | |
huggable | notviki, nothing found | ||
notviki | umm... OK | ||
jnthn | huggable: eco Test | ||
huggable | jnthn, nothing found | ||
18:26
skids joined
|
|||
jnthn | heh | 18:26 | |
notviki | Oh, wrong robot | ||
pmurias | raschip: having modules easily installable module is crucial, having a standard library full of obsolete things is crucial | ||
notviki | buggable: eco protobuf | ||
buggable | notviki, Nothing found | ||
notviki | buggable: eco pb | ||
buggable | notviki, Found 5 results: RPi, RPi::Device::SMBus, RPi::Device::PiGlow, RPi::Device::PiFace, RPi::Wiring::Pi. See modules.perl6.org/#q=pb | ||
notviki | \o/ | ||
kalkin-_ | #perl6 has to many bots :) | ||
18:26
kalkin-_ is now known as kalkin-
|
|||
jnthn | Maybe we should make a bot that routes your query to the bot you probably intended? ;) | 18:27 | |
notviki | :D | ||
dogbert2 | notviki: want to take a look at github.com/perl6/roast/pull/213 ? | ||
notviki | not really :} | 18:28 | |
dogbert2 | :), I can always merge it unseen | ||
jnthn | bah :P | ||
dogbert2: I guess it fails before the fix and works fine after? :) | |||
raschip | RT 125135 | ||
jnthn | Indentation in TestHOW.pm is a little funky but otherwise looks good | 18:29 | |
dogbert2 | jnthn: yes, when I applied your changes the problem disappeared | ||
jnthn | \o/ | ||
dogbert2 | I guess I'll merge then :) | 18:32 | |
DrForr | .seen TimTowtdi | 18:33 | |
yoleaux | I haven't seen TimTowtdi around. | ||
tadzik | kalkin-_: thanks, noted :) | ||
DrForr | Grumble. | ||
psch | .seen TimToady | ||
yoleaux | I saw TimToady 1 Jan 2017 08:04Z in #perl6: <TimToady> I should have showed Instant.now instead :) | ||
grumble | Grumble. | ||
DrForr | Dank u wel. | ||
.tell TimToady private question for you when you have a few minutes. | 18:35 | ||
yoleaux | DrForr: I'll pass your message to TimToady. | ||
notviki | Way to get 323 people curious! | 18:37 | |
18:38
domidumont joined
|
|||
DrForr | Hee. | 18:39 | |
18:39
zakharyas left,
domidumont left
18:40
domidumont joined
|
|||
DrForr goes back to fixing the remaining 44 Perl6::Parser tests. | 18:40 | ||
18:46
mr_ron left
18:48
cschwenz left
18:52
ufobat left
18:54
cdg left
18:57
domidumont left
|
|||
lizmat | wheee, Perl 6 listed in github.com/showcases/programming-languages | 18:59 | |
notviki | \o/ | ||
I like how our activity graph is sloping upwards. | 19:01 | ||
which seems to be a rarity on that list | |||
raschip | That was fast. kalkin-++ | 19:02 | |
19:02
acrussell joined
|
|||
DrForr | Very spiky as well. | 19:05 | |
19:05
notbenh left
|
|||
notviki | Few developers | 19:05 | |
19:05
notbenh joined
|
|||
DrForr | Well, of course, compared to Go or Swift. | 19:05 | |
timotimo | the trend is, of course, just part of the story | ||
DrForr | Or .. well, if we're being honest, lots of entries on the list. | 19:06 | |
notviki | What's the other part of the story? | ||
19:07
notbenh left,
sufrostico joined
|
|||
timotimo | how small we are in relation to everything else | 19:07 | |
i.e. one of our biggest spikes may be a day-to-day difference for another project | |||
19:08
notbenh joined
|
|||
DrForr | Well, one nice thing about sparklines is there's no legend. | 19:08 | |
kalkin- | Wow I didn't expect GitHub to respond so quickly | 19:09 | |
timotimo | "nice" | ||
DrForr | While it does cut both ways, it also makes team size less of a visible factor. | 19:10 | |
kalkin- | if every one here stars rakudo/rakudo we will overtake lily, dart harlan & ocaml probably | ||
DrForr | Done. | 19:11 | |
notviki | And join the Delphi team in history of spiking shoddy ratings? :) | ||
I already have it starred | |||
masak too | 19:12 | ||
19:13
labster joined
|
|||
timotimo | does it make sense for me to star it? | 19:14 | |
notviki | Well, only if you like it :P | ||
.seen dugword | |||
yoleaux | I saw dugword 2 Jan 2017 23:07Z in #perl6: <dugword> Did you have to agree to new terms or something? I've seen something similar with xcode | ||
timotimo | i already have starred it | ||
19:15
Sqirrel joined,
shayan_ left,
labster left,
labster joined
19:19
labster left,
RabidGravy left,
labster joined
19:20
petrutrimbitas joined
19:22
wamba joined
|
|||
SmokeMachine | m: sub infix:<op>(|c) {c.perl.say}; say 1 Rop 2 # this works | 19:24 | |
camelia | rakudo-moar d48765: OUTPUT«\(2, 1)True» | ||
SmokeMachine | m: sub infix:<op>(|c) {c.perl.say}; say 1 Sop 2 # why not this one? | ||
camelia | rakudo-moar d48765: OUTPUT«\()No such method 'CALL-ME' for invocant of type 'Bool' in block <unit> at <tmp> line 1» | ||
notviki | .tell dugword The test you added seems to hang on my VM. It prolly doesn't have IPv6 support. Do you know how to detect that and only run the test on boxes where it would not hang? I fudged it for now in github.com/perl6/roast/commit/b3d3a736ee | 19:26 | |
yoleaux | notviki: I'll pass your message to dugword. | ||
SmokeMachine | Is the S "operator modifier" working? | 19:27 | |
notviki | God this network is terrible.... | ||
I think in movie Martial they had less lag... | 19:28 | ||
19:28
hankache left
|
|||
SmokeMachine | And that's a strange error message... | 19:28 | |
notviki | m: sub infix:<op>(|c) {c.gist.say}; say 1 Sop 2 | 19:29 | |
camelia | rakudo-moar d48765: OUTPUT«\()No such method 'CALL-ME' for invocant of type 'Bool' in block <unit> at <tmp> line 1» | ||
notviki | m: sub infix:<op>(|c) {c.gist.say; -> {say "hi"} }; say 1 Sop 2 | ||
camelia | rakudo-moar d48765: OUTPUT«\()Too many positionals passed; expected 0 arguments but got 2 in block <unit> at <tmp> line 1» | ||
SmokeMachine | m: sub infix:<op>(|c) {c.perl.say; {$^a.say}}; say 1 op 2 | 19:30 | |
camelia | rakudo-moar d48765: OUTPUT«\(1, 2)Too few positionals passed; expected 1 argument but got 0 in sub infix:<op> at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
notviki | m: sub infix:<op>(|c) {c.gist.say; -> ($a, $b) {say "$a, $b hi"} }; say 1 Sop 2 | ||
camelia | rakudo-moar d48765: OUTPUT«\()Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at <tmp> line 1» | ||
notviki | m: sub infix:<op>(|c) {c.gist.say; -> $a, $b {say "$a, $b hi"} }; say 1 Sop 2 | ||
camelia | rakudo-moar d48765: OUTPUT«\()1, 2 hiTrue» | ||
notviki | SmokeMachine: looks like S expect its args thunked | ||
not that I ever used it... | 19:31 | ||
... or even know what it's for :P | |||
SmokeMachine | Serial... | ||
Sorry, sequential | |||
docs.perl6.org/language/operators#..._Operators | |||
19:31
girafe joined
|
|||
SmokeMachine | notviki: ^^ | 19:31 | |
notviki | SmokeMachine: yeah, that doesn't tell me much; especially with that example | 19:33 | |
19:34
RabidGravy joined,
shayan_ joined
|
|||
SmokeMachine | Neither for me... that was what I was trying to discover... | 19:34 | |
notviki | I guess it'll make more sense once we have autothreading | ||
19:34
shayan_ left
|
|||
RabidGravy | Brr | 19:35 | |
19:35
geekosaur left
|
|||
notviki | SmokeMachine: my understanding of that doc is that Perl 6 compiler/optimizer may autothread or otherwise execute stuff non-serially and using that operator forbids it from doing so for that operation | 19:35 | |
SmokeMachine | But for me it looks that it should act as the original operator but not in parallel... | ||
19:35
leego left,
notviki left,
buggable left,
kaare_ left,
Cabanossi left,
atta left,
synopsebot6 left,
effbiai left,
Undercover left,
timotimo left,
Ulti left,
hoelzro left,
sammers left,
NeuralAnomaly left,
pierrot left,
Ulti joined,
hoelzro_ joined,
atta_ joined,
synopsebot6 joined
19:36
benchable6 joined,
statisfiable6 joined,
notviki joined,
SourceBaby joined,
Undercover joined,
NeuralAnomaly joined,
effbiai joined,
buggable joined,
timotimo joined,
leego joined,
kaare_ joined,
grumble left,
geekosaur joined,
ChanServ sets mode: +v benchable6,
ChanServ sets mode: +v SourceBaby,
ChanServ sets mode: +v Undercover,
effbiai left,
effbiai joined,
ChanServ sets mode: +v NeuralAnomaly,
ChanServ sets mode: +v buggable,
Cabanossi joined,
sammers joined,
sftp joined,
k-man joined
19:37
pierrot joined,
BuildTheRobots left
|
|||
SmokeMachine | So, if I really understood, it should work as the original operator... | 19:38 | |
19:38
pierre_ joined,
dp[m] joined
19:39
Matthew[m] joined
19:42
pierre_ left
19:44
sufrostico left
19:48
grumble joined
19:49
lukaramu joined
19:50
bjz joined
19:52
BuildTheRobots joined
|
|||
RabidGravy | arnsholt, if you get a minute take a look at github.com/arnsholt/Net-ZMQ/pull/9 - may need a little more work but I wanted to get it to at least compile without warnings :) | 20:01 | |
20:07
kyan joined
20:08
FROGGS left
|
|||
dalek | c: 1df275d | (Zoffix Znet)++ | doc/Type/Mu.pod6: Mention Mu.clone's tweedles only tweedle public attrs Also reword |
20:09 | |
synopsebot6 | Link: doc.perl6.org/type/Mu | ||
20:10
shayan_ joined
20:11
susmus left
20:12
domidumont joined
|
|||
SmokeMachine | m: say 1 S+ 1 | 20:13 | |
camelia | rakudo-moar f9ed73: OUTPUT«No such method 'CALL-ME' for invocant of type 'Int' in block <unit> at <tmp> line 1» | ||
mst | notviki: oh! *twiddles* | 20:14 | |
SmokeMachine | m: say True S& True | ||
camelia | rakudo-moar f9ed73: OUTPUT«all()» | ||
mst | notviki: your commit message is spelled wrong | ||
20:16
raschip left
|
|||
SmokeMachine | Empty all? | 20:16 | |
notviki | m: say True & True | ||
camelia | rakudo-moar f9ed73: OUTPUT«all(True, True)» | ||
notviki | heh | ||
RabidGravy | tweedle dum and tweedle dee | ||
SmokeMachine | m: say True S| True | 20:18 | |
camelia | rakudo-moar f9ed73: OUTPUT«any()» | ||
20:18
AlexDaniel joined
|
|||
notviki | mst: heh. And I went to change the variable name in rakudo source and the docs, but both of them have 'i'... | 20:19 | |
I need to get my eyesight checked :P | |||
SmokeMachine | notviki: the S& and the S| should be working? | 20:20 | |
notviki | SmokeMachine: I don't know anything about that operators | 20:21 | |
20:21
shayan_ left
|
|||
notviki | SmokeMachine: junctions are meant to be autothreaded... so maybe there's a glitch with that aspect? | 20:21 | |
m: say 42 S| 45 | 20:22 | ||
camelia | rakudo-moar f9ed73: OUTPUT«any()» | ||
notviki | m: say 42 S| 45 S| 55 | ||
camelia | rakudo-moar f9ed73: OUTPUT«any()» | ||
notviki | yeah, looks wrong | ||
AlexDaniel | S doesn't work, yes | ||
notviki | k | ||
AlexDaniel | and I don't think that it ever worked even | ||
SmokeMachine | But it "auto created" operators to... | ||
AlexDaniel | c: all say 42 S| 45 S| 55 | ||
committable6 | AlexDaniel, gist.github.com/9422d5f5ea2a794aa9...7da46c6b8f | 20:23 | |
AlexDaniel | yea… | ||
20:23
ufobat joined,
shayan_ joined
20:24
susmus joined
|
|||
SmokeMachine | m: sub infix:<op>(|){say "worked"}; say 1 Sop 2 # I didn't create the Sop, only the op... | 20:24 | |
camelia | rakudo-moar f9ed73: OUTPUT«workedNo such method 'CALL-ME' for invocant of type 'Bool' in block <unit> at <tmp> line 1» | ||
SmokeMachine | It created the Sop... | 20:25 | |
20:26
Tonik joined
|
|||
SmokeMachine | It gave an error, but ran the op first... | 20:26 | |
20:26
domidumont left
|
|||
notviki | hmmm | 20:27 | |
m: say [ZRZRZRZRZSRSZSRSZRSRSZRZSRSZRZSRZSRZSRSZSRZR] 5 | |||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3RZRZSRSZSRSZRSRSZRZSRSZRZSRZSRZSRSZSRZR]7⏏5 5 expecting any of: infix infix stopper postfix statement end …» | ||
notviki | m: say [ZRZRZRZRZSRSZSRSZRSRSZRZSRSZRZSRZSRZSRSZSRZRZ] 5 | ||
camelia | rakudo-moar f9ed73: OUTPUT«No such method 'CALL-ME' for invocant of type 'Seq' in block <unit> at <tmp> line 1» | ||
notviki | That TTIAR.... | ||
m: say [ZRZRZRZRZRZRZRZR] 5 | 20:28 | ||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3say [ZRZRZRZRZRZRZRZR]7⏏5 5 expecting any of: infix infix stopper postfix statement end statement modi…» | ||
notviki | m: say [ZRZRZRZRZRZRZRZRZ] 5 | ||
camelia | rakudo-moar f9ed73: OUTPUT«((((((((((5))))))))))» | ||
notviki | werd | ||
jnthn | It's 'cus Z is a normal operator as well as a meta-op, but R ain't | ||
timotimo | right, Z is also Z, | ||
notviki | What does normal Z does? | ||
jnthn | zip | ||
SmokeMachine | R is the reverse, isn't it? | ||
notviki | Z, | ||
jnthn | Shortcut for Z, | ||
notviki | OK | ||
jnthn | shop & | ||
notviki | m: say("is") R say("it") R say("yes,") | 20:29 | |
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing infix inside Rat <tmp>:1------> 3say("is") R7⏏5 say("it") R say("yes,") expecting any of: infix infix stopper» | ||
notviki | m: say("is") R, say("it") R, say("yes,") | ||
camelia | rakudo-moar f9ed73: OUTPUT«Potential difficulties: Useless use of R, in sink context at <tmp>:1 ------> 3say("is") R, say("it") 7⏏5R, say("yes,")isityes,» | ||
SmokeMachine | m: sub infix:<op>(|c){say c.perl}; say 1 Rop 2 | ||
camelia | rakudo-moar f9ed73: OUTPUT«\(2, 1)True» | ||
20:30
[particle] joined
|
|||
notviki | camelia: it wasn't useless! | 20:30 | |
oh yeah, it was | 20:31 | ||
m: say "is" R, "it" R, "yes," | |||
camelia | rakudo-moar f9ed73: OUTPUT«(yes, it is)» | ||
notviki | \o/ | ||
SmokeMachine | m: say <1 2 3> RZ <a b c> | ||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing infix inside Rat <tmp>:1------> 3say <1 2 3> RZ7⏏5 <a b c> expecting any of: infix infix stopper» | ||
SmokeMachine | m: say <1 2 3> ZR <a b c> | 20:32 | |
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing infix inside Rat <tmp>:1------> 3say <1 2 3> ZR7⏏5 <a b c> expecting any of: infix infix stopper» | ||
SmokeMachine | m: say <1 2 3> ZR, <a b c> | ||
camelia | rakudo-moar f9ed73: OUTPUT«((a 1) (b 2) (c 3))» | ||
SmokeMachine | Makes sense... | ||
20:34
Sqirrel left
|
|||
notviki | neat | 20:37 | |
AlexDaniel | “it wasn't useless! … oh yeah, it was” is exactly why I love our “useless use of” warnings | ||
I write stupid things aaall the time | 20:38 | ||
notviki | :) | ||
20:40
lizmat left
20:42
bjz left
|
|||
notviki | mc: dd [ $*PROGRAM, $*PROGRAM-NAME ] | 20:50 | |
committable6 | notviki, ¦«2015.12»: ["/tmp/UhpqC0Mb53".IO(:SPEC(IO::Spec::Unix),:CWD("/home/bisectable/git/whateverable")), "/tmp/UhpqC0Mb53"] | ||
notviki | ehehe | ||
It's possible to make committable6 ghost itself off freenode :P | |||
20:54
kurahaupo__ joined
|
|||
mspo | a lot of perl (5) love on news.ycombinator.com/item?id=13310159 | 21:02 | |
dalek | line-Python: e45adf8 | niner++ | / (3 files): Implement calling Python functions with named arguments |
21:03 | |
nine | colomon: ^^^ | ||
colomon | \o/ | 21:04 | |
AlexDaniel | notviki: how? | 21:05 | |
nine | Methods still to do but as the patch for functions shows this is fairly easy | 21:06 | |
colomon | I think methods are what I need, but still like progress! | ||
will try it out in a sec | |||
AlexDaniel | notviki: I mean which method do you have in mind exactly? For example, you can actually find the password for these bots and ask nickserv do do the job… | 21:07 | |
they're not running securely right now. Like, at all | |||
dalek | line-Python: 73adb59 | niner++ | / (3 files): Implement calling static Python methods with named arguments |
21:10 | |
nine | colomon: getting there ;) | ||
Inline::Python could use so much love :/ | 21:11 | ||
AlexDaniel | like everything! | 21:13 | |
colomon | nine: this is actually the second time I’ve used it. really handy for using Python libraries from the comfortable world of perl 6. | 21:14 | |
21:15
pierre_ joined
|
|||
colomon just had his $work test suite “pass” despite what looked like serious errors flying by. argh. | 21:17 | ||
timotimo | oof | 21:18 | |
colomon | and on reinstalling Inline::Python — pyhelper.c:1:20: fatal error: Python.h: No such file or directory | ||
timotimo | that's just your installation missing that header file | 21:19 | |
python-dev or python-devel or whatever | |||
colomon wonders if it is too late to become a lumberjack | |||
RabidGravy | it's never too late | 21:21 | |
timotimo | yup | 21:22 | |
colomon is now doing apt-get update | 21:23 | ||
dalek | line-Python: 7ecee5c | niner++ | / (3 files): Implement calling Python object methods with named arguments |
||
nine | colomon: there ^^^ we go | ||
dalek | line-Python: fa0cb9d | niner++ | META.info: Version 0.2 |
21:24 | |
colomon installs python-dev and latest Inline::Python | 21:28 | ||
dalek | line-Python: 4222945 | niner++ | lib/Inline/Python.pm6: OpaquePointer has been just Pointer for a year or two |
21:29 | |
notviki | AlexDaniel: yeah, by using Async sock to connect to irc, logging in with the passowrd and asking nickserv to ghost the real wheneverablr :) | 21:30 | |
colomon | nine++ | ||
before: $py.run(qq/client.get_tasks("%lists<Personal><id>", completed=True)/, :eval); | |||
after: $client.get_tasks(%lists<Personal><id>, completed => "True"); | |||
notviki | won't just :completed work? | 21:31 | |
colomon | completed => True didn’t but let’s see | ||
notviki | aww | ||
colomon | nope | ||
Seems to actually need the string “True” rather than a true value. | 21:32 | ||
21:33
pierre_ left
|
|||
colomon | nine++ | 21:34 | |
nine | Oh, seems like Inline::Python doesn't know how to translate Bools | 21:35 | |
colomon has no idea on what level the problem is | 21:36 | ||
RabidGravy | it's a load of old Bools | 21:39 | |
21:39
Tonik left
|
|||
geekosaur | guess that;s a new take on boolean blindness :p | 21:41 | |
21:46
bjz joined
21:49
petrutrimbitas left
21:55
rindolf left
|
|||
AlexDaniel secretly hopes that RT #130494 is going to fix whateverable as well | 21:56 | ||
22:00
rindolf joined
|
|||
jnthn | Note the code in that ticket is a bit dubious | 22:01 | |
It starts *1* process | |||
And so is trying to tap the same output over and over | |||
And never actually awaits $proc-prom | 22:02 | ||
oh wait | 22:04 | ||
we're feeding it input | |||
OK, it does make sense :) | |||
jnthn totally missed the all important line | |||
22:04
colomon left
22:10
petrutrimbitas joined
22:12
skids left
22:17
bjz left
22:19
TEttinger joined
22:21
shayan_ left
22:23
RabidGravy left
|
|||
jnthn | Valgrind provides one lead. Will see if I've time to look into it tomorrow. | 22:24 | |
22:26
acrussell left
22:28
ufobat left
22:40
bjz joined
22:44
AlexDaniel left
22:47
Gasher joined,
bjz left
22:50
bjz joined
22:56
solarbunny joined
22:59
thib left
23:00
bjz left,
bstamour left
|
|||
webstrand | What is the nom branch of rakudo? Which version of moarvm and nqp is nom built against? | 23:01 | |
notviki | webstrand: the "best latest" | 23:02 | |
not bleed but close to it | |||
nom is the master | |||
And you can find exact versions in rakudo/tools/build/NQP_VERSION and in nqp/tools/build/MOAR_VERSION | |||
webstrand | So development happens on nom and then gets moved to master? | 23:03 | |
notviki | webstrand: no, there's no master. For historical reasons we named our master "nom" and development happens on it | ||
23:04
espadrine left
|
|||
notviki | There are plans to create a "stable" branch and have a bot pull to it tested commits, but IMO that's a bad idea | 23:04 | |
23:05
kurahaupo_ joined,
kurahaupo__ left
23:25
awwaiid joined
|
|||
notviki | heh... after fixing bugs, while waiting for spectests to finish, I play this game, "Letter Quest".... And I just found a bug in it. | 23:25 | |
a meta bug | |||
23:34
lizmat joined
23:35
wamba left,
MasterDukeLaptop left
23:39
kurahaupo__ joined
23:41
kurahaupo_ left,
bwisti left,
anon joined,
anon is now known as Guest79293
|
|||
Guest79293 | p6: say '' ~~ /[\s*]+/ | 23:42 | |
camelia | rakudo-moar f9ed73: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 2052030464 bytes» | 23:43 | |
Guest79293 | Should the above regex work or not? | ||
notviki | Nope | 23:44 | |
You're asking for 1 or more nothings | |||
And there's an infinite number available, so it keeps matching | |||
There's this ticket that has some discussion that IIRC also goes into explaining why some other langs can figure out that the above should stop: rt.perl.org/Ticket/Display.html?id...et-history | 23:45 | ||
Guest79293 | Perl 5 can do it without any problem. | ||
Thanks, will check out. | |||
japhb | Guest79293: perl5 (the interpreter) has extensive regex optimizations that look for accidents like that and try to avoid unending or otherwise worst-case behavior. | 23:46 | |
timotimo | it's quite advanced | ||
japhb | Those don't exist in Rakudo yet. | 23:47 | |
Guest79293 | So ideally, should a full-featured Perl 6 implementation be able to handle that? Or is that something not covered in the spec? | 23:48 | |
timotimo | if we have tests for it, it should be handled | 23:49 | |
if we don't, they can land in a later language version, like v6.d | |||
japhb | Guest79293: I suspect that over time, more such checks will exist in the grammar engine. But that's not a matter of Perl 6 compliance (unless we decide to spectest it), that's a matter of being a smarter compiler. | ||
notviki | timotimo: japhb if you have a method that should work only for SetHash, BagHash, and MixHash, would you put it in each of those clases (impl. is identical) or put it in Setty (done by Set/SetHash) and Baggy (done by Bag/BagHash and Mix/MixHash) and add type check on whether the method is called on the immutable variant? | 23:50 | |
Feels like the former approach is saner, but I see we already done the latter for some of the methods... | 23:51 | ||
lizmat | notviki: do we? I thought I'd split all of them into separate Bag/BagHash classes ? | ||
notviki | lizmat: the two I changed today are that, isn't it? | 23:52 | |
23:53
kurahaupo__ left
|
|||
notviki | Or I guess one. the AT-KEY on QuantHash: github.com/rakudo/rakudo/commit/c1...21c9aac0e8 | 23:53 | |
lizmat | notviki: good point :-) | ||
23:53
petrutrimbitas left
|
|||
lizmat | now, there was a reason for not splitting those | 23:53 | |
but I forget atm and am now tired after driving ~ 1:40 hour | |||
so will look at it tomorrow in depth if still needed :-) | 23:54 | ||
afk& | |||
japhb | Why aren't the common bits (shared not for semantic similarity but purely common implementation) just in a hidden role? | ||
(Note: have not actually looked at that code to see if my question is nonsensical.) | 23:55 | ||
notviki | lizmat: ah, I remember the reason (or at least can think of). If we add it just to mutables, in immutables it'll autoviv to a Hash, but we want to die instead of autoviving | ||
23:55
shayan_ joined
|
|||
notviki | japhb: dunno. I scrolled through code and nothing obviously similar jumps out | 23:57 | |
Except for the .clone method I'm adding. | 23:58 | ||
You could say the fact that it's the same in all three versions is an accident: both Setty and Baggy name their elems attr '%!elems' |