»ö« 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:02
snowblack left
00:18
mscha joined
00:19
agentzh left
|
|||
mscha | m: my $a = 3; say (^$a+2).join(','); say (0..^$a+2).join(','); # Why inconsistent? | 00:20 | |
camelia | 2,3,4 0,1,2,3,4 |
||
timotimo | operator precedence | ||
prefix operators bind very tightly | |||
that's why -5 + 3 isn't -8, it's -2 | 00:21 | ||
mscha | So ^$a is implemented as a different operator than 0..^$a? I thought it was just syntactic sugar. | ||
timotimo | it is syntactic sugar, but ..^ is an infix operator and ^ is a prefix operator | 00:22 | |
00:22
agentzh joined
|
|||
mscha | OK. Still confusing, though. | 00:22 | |
timotimo | i think it's all-right, but that's personal preference i guess | 00:23 | |
00:24
kurahaupo__ left,
dct left
00:25
labster joined,
_28_ria left
|
|||
MasterDuke | timotimo: would you say there are three parts to the expression ('0', '..^', '$a'), not four ('0', '..', '^', '$a')? | 00:26 | |
timotimo | it's three parts to me | 00:27 | |
maybe that's what's goin gon | |||
00:27
_28_ria joined
|
|||
MasterDuke | i.e., it's infix '..^', not infix '..' + prefix '^' | 00:28 | |
timotimo | correct | 00:30 | |
Geth | ecosystem: 32579e46cd | (Tom Browder)++ | META.list add Text::More to ecosystem |
00:35 | |
00:35
Sound left
00:44
Actualeyes left
00:47
mscha left
00:49
BenGoldberg left
|
|||
spebern | could someone tell me why this example only works when I uncomment the "ws" token? paste.ofcode.org/UBaiQ9q62ekUM5ykYZxG7U | 00:54 | |
00:54
ZzZombo_ left
|
|||
timotimo | did you try Grammar::Debugger (its tracer part, especially) with it yet? | 00:55 | |
spebern | yes | ||
timotimo | WS is not being used? | 00:56 | |
spebern | no, I built a tool to translate ANTLR grammars to perl6 | ||
timotimo | OK | ||
00:57
mr-foobar left
|
|||
timotimo | i'm too sick to think straight :( | 00:57 | |
spebern | there was already a module which translated the grammars but it seems like it broke after glr | 00:58 | |
timotimo | oh damn | ||
spebern | just couldn't fix it -.- | ||
timotimo | one thing that changed at some point is that captures with a ? used to always give you lists, but now they give either the match or a Nil | 00:59 | |
spebern | yes | ||
timotimo | is the test coverage of that translator tool good? | ||
spebern | github.com/spebern/ANTLRv4-Translator | ||
timotimo | ah, that's yours | ||
spebern | I translated csv and json so far | ||
I try to add as much tests as possible, but I'm stuck with the json one right now | 01:00 | ||
timotimo | i see you've contributed code to the existing ANTLR4 module | ||
spebern | I used some | ||
I was jumping from one bug to the next | 01:01 | ||
until I thought that starting again might be easier | |||
timotimo | hopefully no rakudobugs :) | ||
spebern | first time to use grammars so I bet there can be much improvement | 01:02 | |
timotimo | there's potential :) | ||
okay, i'm signing off | |||
01:02
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
spebern | get well soon, bb | 01:02 | |
timotimo | most people here live in european timezones | ||
see you soon :) | |||
spebern | me2 | ||
01:04
Actualeyes joined
01:07
nadim left
01:16
astj joined
01:21
risou_awy is now known as risou
01:28
yqt left
01:31
lukaramu_ left
01:39
BenGoldberg joined
|
|||
BenGoldberg | m: say 3 ..^ ^5 | 01:56 | |
camelia | Range objects are not valid endpoints for Ranges in block <unit> at <tmp> line 1 |
||
TimToady | m: say 3 «..^« ^5 | 01:58 | |
camelia | (3..^0 3..^1 3..^2 3..^3 3..^4) | ||
TimToady | m: say 3 X.. ^5 | ||
camelia | (3..0 3..1 3..2 3..3 3..4) | ||
TimToady | m: say 3 ..^ +(^5) | 01:59 | |
camelia | 3..^5 | ||
02:00
holyghost joined
02:01
holyghost left
02:16
ZzZombo joined,
ZzZombo left,
ZzZombo joined
02:20
labster left,
agentzh left
|
|||
naxieAlDle | m: say 3 ..^ (^5).end | 02:21 | |
camelia | 3..^4 | ||
naxieAlDle | m: say ^5 × ⅗ | 02:22 | |
camelia | 0.0..^3.0 | ||
naxieAlDle | m: say ^5 × 3 ÷ 5 | 02:23 | |
camelia | 0.0..^3.0 | ||
02:27
agentzh joined
02:32
darthdeus left
02:34
spebern left
|
|||
Geth | whateverable: 98d81bb6ad | (Aleks-Daniel Jakimenko-Aleksejev)++ | 6 files Make sure everything has a “Did you mean …?” message Resolves issue #73 (with tests) This commit also changes the output of Benchable (see issue #101). The output is a little bit odd now, but at least consistent with other bots. |
02:45 | |
02:45
ilbot3 left
02:46
cibs left
02:47
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:48
cibs joined
02:57
aborazmeh left
|
|||
Geth | whateverable: b43abf25e8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 10 files More unicode love |
03:11 | |
03:11
kanishka joined
03:13
unicodable6 left,
evalable6 left,
bisectable6 left,
statisfiable6 left,
benchable6 left,
committable6 left
03:14
bisectable6 joined,
unicodable6 joined,
committable6 joined,
evalable6 joined,
ChanServ sets mode: +v bisectable6,
ChanServ sets mode: +v unicodable6,
ChanServ sets mode: +v committable6,
ChanServ sets mode: +v evalable6,
benchable6 joined,
ChanServ sets mode: +v benchable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6
|
|||
SmokeMachine | Did anyone make a vim maps to change Texas ops by Unicode version while writing? | 03:15 | |
03:15
noganex_ joined
03:18
[particle] left
|
|||
naxieAlDle wonders if that's a good idea at all | 03:18 | ||
03:18
noganex left
03:19
[particle] joined
|
|||
naxieAlDle | most likely it is more convenient to set up your compose key. Gives you system-wide way to enter unicode characters without any pain at all | 03:19 | |
03:20
ZzZombo_ joined
03:21
ZzZombo_ left,
ZzZombo_ joined
03:24
ZzZombo left
|
|||
MasterDuke | DrForr said he was going to start working on a Perl6::Tidy soon. hopefully texas <-> unicode would be an option | 03:24 | |
03:27
cdg joined
03:29
labster joined
|
|||
SmokeMachine | naxieAlDle: I think that the best way would be using the Texas ops as entry... maybe something like <cmd + u>(|) transform to ∪ | 03:30 | |
MasterDuke: that will be great! | 03:31 | ||
naxieAlDle | SmokeMachine: compose key | 03:33 | |
that's exactly what it does | 03:34 | ||
SmokeMachine | naxieAlDle: yes... I'm searching to know how to do that! (That would be great for my phone too...) | ||
naxieAlDle | by the way, we have some tips here: docs.perl6.org/language/unicode_entry#XCompose | 03:36 | |
03:38
xtreak joined
04:10
ZzZombo_ is now known as ZzZombo
04:14
wamba joined
|
|||
naxieAlDle | huggable: wget | 04:15 | |
huggable | naxieAlDle, nothing found | ||
naxieAlDle | huggable: curl | ||
huggable | naxieAlDle, nothing found | ||
04:21
ZzZombo left
04:34
cdg left
04:54
Cabanoss- joined
04:58
Cabanossi left,
Cabanoss- is now known as Cabanossi
05:05
khw left
05:18
CIAvash joined
05:23
LeCamarade left,
LeCamarade joined
|
|||
masak | morning, #perl6 | 05:25 | |
05:25
naxieAlDle left,
mcmillhj joined
|
|||
zengargoyle | last i checked i couldn't make XCompose work seamlessly with ibus input method. drove me mad. | 05:30 | |
ibus hijacks XCompose and doesn't honor ~/.XCompose (or /usr/share/X11/locale/???/Compose) and instead uses its own lame table. | 05:33 | ||
so you have to choose between using XCompose w/o ibus or using ibus to get other input methods (RFC1354, unicode, anthy, etc.) | 05:34 | ||
05:34
skids left
|
|||
zengargoyle graaaaarrr | 05:34 | ||
still i found other more common XCompose mappings for the unicode characters that p6 uses to be a bit better than making a compose+texas type of mapping. | 05:38 | ||
ditching ibus is probably fine if you don't tend to use exotic input methods like anthy to type japanese/chinese/etc. XCompose does fine for a few sets of special characters but not for going from say romanji to 日本語 | 05:46 | ||
05:54
cibs left
05:57
cibs joined
06:00
BenGoldberg left
|
|||
zengargoyle offers a thinly veiled plea for somebody to write an ibus compose plugin that supports old-school XCompose | 06:00 | ||
06:05
eroux left
06:07
mcmillhj left
|
|||
samcv | i use ibus with a compose file | 06:17 | |
but i don't use any fancy input methods though | |||
06:23
Actualeyes left
06:36
wamba left
06:41
Actualeyes joined
|
|||
masak | I'm not sure I like the dictum "explicit is better than implicit" all that much | 06:42 | |
I'm guessing Python went with it because Perl does a lot of funky things with $_, which can sometimes be elided -- and other similar DWIMmy stuff | 06:43 | ||
but the more I think about it, the less sure I am that as a rule explicit *is* better than implicit | |||
seems more like you'd pick or create an abstraction level, and you definitely shouldn't be explicit about *everything*, because that'd be really annoying | 06:44 | ||
instead, you single out the things you care about, and make those explicit | |||
the power of the abstraction rests just as much in making the relevant things explicit as in making the irrelevant things implicit | 06:45 | ||
06:52
RabidGravy joined,
xtreak_ joined
06:54
xtreak left
06:55
domidumont joined
06:57
TEttinger left
07:07
llfourn left
07:12
wamba joined,
agentzh left
07:20
agentzh joined,
girafe left,
Khisanth left,
pmurias joined
|
|||
pmurias | masak: isn't "explicit vs implicit" a trade-off? having things more explicit seems a good thing but you pay for it with verbosity and clutter | 07:23 | |
moritz | I'm kinda with masak there. The most implicit program is just a call to dwim(); the most explicit is machine code | 07:25 | |
neither is very useful for the programmer | |||
07:26
eroux joined
|
|||
moritz | also note how python says explicit is better, but foregoes explicit type annotations completely | 07:26 | |
(except as optional, non-enforced annotations in 3.6) | |||
jast | non-enforced annotations? that seems kind of useless... | 07:27 | |
moritz | we had that in Perl 6 before Pugs implemented type checking | ||
turns out a significant percentage (maybe 20?) of type annotations were actually wrong | 07:28 | ||
the python folks talk about them as hints for static analyzers, but I'm not sold that it's a good idea to have types and not enforce them | |||
07:30
xfix left
07:32
xtreak_ left
07:33
Khisanth joined,
ggoebel left
|
|||
jast | yeah... if the annotations are wrong, your static analyzers will give results that are essentially irrelevant to what actually happens | 07:33 | |
07:36
darutoko joined
07:46
ggoebel joined
07:49
Todd joined
|
|||
Todd | Hi All, What is wrong with my syntax here. | 07:50 | |
yoleaux | 4 Mar 2017 10:53Z <IOninja> Todd: what sort of perl5 you got installed? ExtUtils::Embed was part of it since 5.003007, so it's very strange it can't find it. FWIW, I never had problems with perlbrewed one `\curl -L install.perlbrew.pl | bash; echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bashrc; perlbrew install perl-stable -Duseshrplib -Dusemultiplicity; perlbrew switch perl-stable; perlbrew install-cpanm` | ||
4 Mar 2017 17:51Z <b2gills> Todd: the latest version of Perl 5 has subroutine signatures similar to that of Perl 6 | |||
Todd | I am using docs.perl6.org/syntax/qx.html | ||
sub WritePrimaryClipboard ( $Str ) { qxx{ echo "$Str" | xclip -selection primary -o }; } # mouse over | |||
Undeclared routines: clipboard used at line 54 echo used at lines 51, 54 o used at lines 51, 54 primary used at line 51 | |||
07:50
ZzZombo joined
|
|||
Todd | why does it ting all my bash commands are perl6 routines? | 07:51 | |
07:51
ZzZombo is now known as Guest45281,
Guest45281 left,
Guest45281 joined,
Guest45281 is now known as ZzZombo
|
|||
Todd | think not ting | 07:53 | |
{ qx{ echo "$Str" | xclip -selection primary -o }; } | 08:01 | ||
08:01
dct joined
|
|||
Todd | worked | 08:01 | |
when do I use qqx and qx? | |||
08:03
llfourn joined
08:06
abraxxa joined
08:07
ZzZombo_ joined,
ZzZombo is now known as Guest39478,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo_ is now known as ZzZombo
08:08
llfourn left,
Todd left
08:09
Guest39478 left,
mcmillhj joined
08:10
ZzZombo_ joined
08:12
abraxxa left,
ZzZombo left
08:13
abraxxa joined
08:14
rindolf joined,
g0d355__ joined,
mcmillhj left
08:15
ZzZombo_ left
08:19
koki1 left
08:21
faraco joined
08:24
rindolf left,
koki1 joined,
llfourn joined
|
|||
moritz | qqx when you want a string to interpolate | 08:25 | |
08:27
sivoais left
08:28
bjz joined,
rindolf joined
08:39
faraco left
08:42
cibs left
08:44
cibs joined
08:45
wamba left
08:47
dakkar joined
|
|||
DrForr | .tell MasterDuke I wasn't planning to do anything that transforms text, but given the Texas <-> Mexico transformation that could be useful. | 08:50 | |
yoleaux | DrForr: I'll pass your message to MasterDuke. | ||
08:51
xfix joined,
Actualeyes left
09:02
domidumont left
09:03
mcmillhj joined
09:04
jonas1 joined
09:07
domidumont joined,
mcmillhj left
09:09
mcmillhj joined
09:13
llfourn left,
domidumont left
09:14
mcmillhj left,
sivoais joined,
domidumont joined
09:20
xtreak joined
09:24
cibs left
|
|||
timotimo | huh. with a Proc that only has :in, how do i wait for it to terminate? | 09:25 | |
09:26
cibs joined
|
|||
moritz | you have to .close its in | 09:26 | |
and then do a normal await | |||
timotimo | oh, it's awaitable | 09:27 | |
er, no. | |||
Must specify a Promise, Channel, or Supply to await on (got a Proc) | |||
09:27
wamba joined
|
|||
timotimo | i mean i can NativeCall into waitpid for its .exitcode | 09:27 | |
09:32
Actualeyes joined
09:35
llfourn joined
09:37
rindolf left
|
|||
moritz | timotimo: looks like a hole in the API | 09:37 | |
timotimo | yup | ||
09:37
kyan left
|
|||
timotimo | wanna RT it? i gotta make some phone calls and find a doctor's appointment | 09:37 | |
sammers | hi #perl6 | 09:39 | |
moritz | timotimo: it looks like .close waits for the Proc | ||
github.com/rakudo/rakudo/blob/nom/...Pipe.pm#L5 | 09:40 | ||
hi sammers | |||
sammers | hi moritz | ||
is there a way to return a hash of "our $foo" variables defined in a module? | 09:41 | ||
I can return the values like this... | |||
m: unit module B { our $var = 42; our $bar = 84 }; say B::{*}; | 09:42 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use 'unit' with block form of module declaration at <tmp>:1 ------> 3unit module B7⏏5 { our $var = 42; our $bar = 84 }; say B expecting any of: generic role |
||
09:42
xtreak left
|
|||
sammers | oops | 09:42 | |
timotimo | moritz: huh. i don't think that makes a lot of sense? | 09:43 | |
sammers | m: module B { our $var = 42; our $bar = 84 }; say B::{*}; | ||
camelia | (42 84) | ||
Geth | doc: bfddbcd5d6 | (Naoum Hankache)++ | doc/Language/pod.pod6 Add Pod tutorial |
09:48 | |
doc: 4ee2630a90 | (Naoum Hankache)++ | doc/Language/pod.pod6 Merge pull request #1232 from hankache/master Add Pod tutorial |
|||
09:49
nadim joined
|
|||
moritz | timotimo: right, because it might not be the last pipe | 09:53 | |
and it doesn't really wait, it just sets the status | |||
09:53
espadrine joined
|
|||
jnthn | The more confused discussions about Proc with :out and :err I see here, the more I wonder if we should deprecate it in favor of Proc::Async, which at least has a less confusing API... | 09:55 | |
At the very least, we should probably suggest people use that instead. | |||
09:56
lukaramu joined
09:59
kaare_ left
10:01
kaare_ joined
|
|||
moritz | jnthn: is there a sensible way to wait for a Proc to finish if it has pipes open? | 10:02 | |
jnthn: there's confusion around Proc, but some of it might be due to the API not covering all edge cases | 10:03 | ||
jnthn | So far as I understand it, the idea is that .close blocks until process exit | ||
moritz | jnthn: but what if you have multiple pipes open? | 10:04 | |
jnthn | I don't know | ||
And that's why I lean to deprecate rather than repair | |||
I don't actually think this is a fixable API | |||
moritz | :( | ||
jnthn | It confuses *everyone* :( | 10:05 | |
moritz | for the cases where it worked, I really liked it | ||
jnthn | I mean, I'm happy to hear options and stuff | ||
moritz | Proc::Async requires much more hand-holding for the simple cases | ||
jnthn | The simple cases are shell and run where you only care about the exit code | 10:06 | |
moritz | make .close on the handles only close the handles, and make the Proc itself awaitable, or give it a method that returns a Promise or so | ||
jnthn | Well, Proc was meant to be synchronous, so I'm not sure if Promise makes a lot of sense | 10:07 | |
I guess we could give it a .wait method | |||
And you have to make sure you read from and closed the handles *before* you call that | |||
That would be more sensible | |||
But I'm not quite sure there's an obvious migration path. :S | 10:08 | ||
moritz | well, you have to close the .in handle | ||
maybe use v6.d gives you the new behavior? | |||
jnthn | Wouldn't it be important to read from the .out and .err handles to completion also? Otherwise the process could block on a write and never exit. | 10:09 | |
(Provided you declared that you wanted them, of course.) | |||
timotimo | the case i had was about letting the parent process inherit stdout | 10:10 | |
if you don't pass :out, there's currently no way to wait for the process to terminate by itself short of NativeCall + waitpid | |||
jnthn | I guess for the multiple pipes case we could make sure - if it isn't already the case - that the *second* one blocks and gets you the exit code. | ||
timotimo: If you don't pass :out isn't the .run of the process entirely synchronous? | 10:11 | ||
timotimo | i do pass :in, though | ||
jnthn | Oh :S | ||
timotimo | :) | ||
jnthn | This API really wasn't thought out so well. :( | ||
timotimo | in other words: "aaw nuts!" | ||
jnthn | But yeah, I'd say for any multi-pipe cases, suggest Proc::Async. | 10:14 | |
10:16
ZzZombo joined,
ZzZombo left,
ZzZombo joined
10:25
xtreak joined
|
|||
moritz | with a synchronous API, you always have risk of races | 10:25 | |
consider running an application that produces output at a fast rate | |||
so you drain its .out | 10:26 | ||
and then you call .close, and during that time, it already filled its output buffer again | |||
so now it blocks writing to its STDOUT | |||
or does the blocking stop when you closed the pipe? | 10:27 | ||
moritz doesn't know enough UNIX | |||
timotimo | hm | ||
but with .slurp-rest(:close) we're waiting for it to signal completion before we close | 10:28 | ||
jnthn | I think if you close the pipe then either it'll get a write error or a SIGPIPE | ||
moritz | timotimo: but what if it writes to both OUT and ERR? | ||
timotimo | ah, right | ||
moritz | timotimo: then you're draining OUT, for example | ||
and it tries to write to ERR, fills the buffer, blocks | 10:29 | ||
timotimo | right, of course | ||
yeah, an async version there would be preferable | |||
10:30
Gk-1wm-su joined
10:35
Gk-1wm-su left
10:36
espadrine left
|
|||
Geth | ecosystem: 2aed1df39f | (Tom Browder)++ | META.list update version of Text::More |
10:36 | |
10:38
xtreak left
10:43
vike joined
10:45
wamba left
10:46
grondilu_ left
10:48
Celelibi left
10:52
Celelibi joined
10:54
wamba joined
|
|||
IOninja | Todd, but the code you pasted has `qxx` not `qqx` | 10:57 | |
m: qxx|echo "hi"| | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing required term after infix at <tmp>:1 ------> 3qxx|echo "hi"|7⏏5<EOL> expecting any of: prefix term |
||
IOninja | m: qxx{echo "hi"} | 10:58 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: echo used at line 1 qxx used at line 1. Did you mean 'QX'? |
||
IOninja | m: qxx{"hi"} | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: qxx used at line 1. Did you mean 'QX'? |
||
IOninja | .oO( we have QX? ) |
10:59 | |
m: QX{"hi"} | |||
camelia | qx, qqx is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub QX at src/RESTRICTED.setting line 11 in block <unit> at <tmp> line 1 |
||
IOninja | Bahaha | 11:00 | |
11:00
xtreak joined
|
|||
IOninja | AlexDaniel: my Twitter notifications are now chuck full of haters and winers 'cause you added ≤ ≥ ≠ | 11:01 | |
timotimo | wow, people noticed that? | ||
DrForr | Party *on*! We're onto the next stage now! | 11:02 | |
11:03
Celelibi left
|
|||
timotimo | what was it .. there's languages everybody complains about and languages that nobody uses? | 11:03 | |
IOninja | "Good to know you've got your priorities straight.": twitter.com/GPHemsley/status/838583291309658112 | 11:04 | |
"Perl: "hey everyone, we're still relevant! here's a stupid fucking idea! witness me": twitter.com/syn/status/838556934299058176 | |||
"@zoffix Those who do not learn the lessons of APL are doomed to the obscurity of APL.": twitter.com/kittylyst/status/838542323193638913 | |||
11:05
kyan joined
|
|||
timotimo | dude, imagine, if we had spent the fifty paid full-time hours needed to build these operators on Butterfly on Rails instead ... just imagine! | 11:05 | |
IOninja | lol yeah :) | 11:06 | |
"@fugueish @zoffix Please tell me it's just a joke involving a font with ligatures.": twitter.com/RReverser/status/838542276653682695 | |||
11:06
mcmillhj joined
|
|||
IOninja | "sure that's mad altogether": twitter.com/Shawa_a/status/838672611898966016 | 11:06 | |
Well, as someone wise once said. If you don't have haters, you're doing it wrong :) | 11:07 | ||
And to end it on a good note: | |||
"i've always seen perl as a language of cruft and duct tape but even i have to admit this is pretty fucking dope": twitter.com/elisohl/status/838566583706378241 | |||
DrForr | ASCII4LYF, I'm guessing. | 11:09 | |
11:10
Celelibi joined,
xtreak left
|
|||
DrForr | Alternatively "Hey, I'v got nothing worthwhile to say so I'm just going to laugh at you and enjoy the adulation from my homies." | 11:11 | |
jnthn | Even before theset we must already have had a couple of dozen operators which have both ASCII and non-ASCII forms (set and bag ops, composition op, heck even multiplication). | ||
11:11
wamba left
|
|||
jnthn | *these | 11:11 | |
IOninja | jnthn: exactly what I was thinking. ≤, ≥, ≠ are hardly the most outrageous use of Unicode we have :D | 11:12 | |
DrForr | While I'm thinking of it, does zef have an update option? | ||
Eeh, I'll just install. | |||
11:12
wamba joined
|
|||
IOninja | It does | 11:12 | |
zef update WhateEver::Moduly::Or::zef | |||
or upgrade | |||
I forget which :) | 11:13 | ||
jnthn | IOninja: Yeah, but knowing that would mean doing research, and Twitter is mostly about quick snark :P | ||
IOninja | :P | ||
DrForr | Okay, was just writing new docs. | ||
11:14
mcmillhj left,
Sound joined
11:16
Celelibi left
11:28
Unavowed_ left,
Unavowed joined
11:32
Celelibi joined
11:34
andrzejku left
|
|||
samcv | DrForr, `zef upgrade` updates modules that need updating if the version numbers have been bumped | 11:50 | |
11:51
CIAvash left
|
|||
IOninja | Oh, the "sure that's mad altogether" tweet was positive. It's just Irish | 11:54 | |
DrForr | Okay, 'zef install' is all I need then... | ||
11:56
risou is now known as risou_awy
11:57
labster left
12:00
bjz_ joined
12:01
rindolf joined
12:02
bjz left
12:06
geekosaur left
12:08
geekosaur joined
|
|||
tbrowder | ugexe: i just noticed that the dynamic vars $*PROGRAM and $*PROGRAM-NAME are transformed with a zef-installed module so that either var returns a comp-unit hash instead of the actual executable program name. any way around that? | 12:08 | |
i haven't tried panda... | 12:09 | ||
12:25
lep-delete left
12:26
pmurias left
12:27
domidumont left
12:28
lep-delete joined
|
|||
Geth | ecosystem: 95339de6b9 | (Lloyd Fournier)++ | META.list Add Spit to ecosystem github.com/Spit-sh/spitsh <-- check it out |
12:29 | |
12:29
domidumont joined
12:30
xtreak joined
12:31
_28_ria left
12:33
_28_ria joined,
xtreak left
|
|||
tbrowder | i filed an issue with 'ecosystem' | 12:34 | |
12:34
g0d355__ left
12:36
lichtkind_ left
12:37
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:59
wamba left
13:00
Celelibi left
13:02
wamba joined,
risou_awy is now known as risou
13:09
mcmillhj joined
|
|||
[Coke] | (grants committee) Yes, Coke was until recently also a board member, and is now the secretary (taking over from Makoto as soon as we can manage a transition meeting) | 13:11 | |
13:12
Celelibi joined,
sufrostico joined
|
|||
moritz | [Coke]++ # TPF work | 13:12 | |
13:14
domidumont left
|
|||
IOninja | Wooo | 13:14 | |
[Coke]++ | |||
13:14
mcmillhj left,
bjz joined
13:15
domidumont joined,
bjz_ left,
Celelibi left,
Celelibi_ joined
|
|||
IOninja | Wait, I'm confused. You're now the secretary? The news say Makoto is secretary: news.perlfoundation.org/2017/03/mak...ecret.html | 13:16 | |
[Coke] | (in review) my first BASIC was the cartridge on the Atari 400. | 13:17 | |
13:18
sena_kun joined
|
|||
[Coke] | IOninja: I am secretary of the GC committee. He has moved on to secretary of the TPF Board. | 13:18 | |
IOninja | Ah | ||
13:20
risou is now known as risou_awy,
mcmillhj joined,
Celelibi_ left
13:26
mcmillhj left
13:27
bjz left,
bjz joined
13:30
spebern joined
13:33
lukaramu_ joined
|
|||
[Coke] | Naoum Hankache ? | 13:33 | |
13:34
mscha joined
|
|||
mscha | m: say (1/2+1/2, 2/2).unique; # huh? | 13:35 | |
camelia | (1 1) | ||
mscha | m: say (1/2+1/2, 2/2).unique.map(*.perl); # huh? | ||
camelia | (<1/1> 1.0) | ||
mscha | m: say (1/2+1/2, 2/2).unique.map({ *.WHAT }); # huh? | ||
camelia | ((Whatever) (Whatever)) | ||
IOninja | It's the reduction thing all over again | ||
mscha | m: say (1/2+1/2, 2/2).unique.map({ $_.WHAT }); # huh? | ||
camelia | ((Rat) (Rat)) | ||
IOninja | mscha: basically will be resolved as part of rt.perl.org/Ticket/Display.html?id...et-history | 13:36 | |
13:36
lukaramu left
|
|||
IOninja | Well, hopefully. | 13:37 | |
mscha | IOninja: thanks. | ||
13:37
Celelibi joined,
spebern left
|
|||
mscha | A related question: to make a list of numbers (which can include Ints and Rats) unique, you can't use @nums.unique; you have to use @nums.unique(:with(&[==])). Is there a simpler / more elegant way to do this? | 13:38 | |
13:39
sufrostico left,
xtreak joined
|
|||
IOninja | Looks pretty elegant as it is :) | 13:39 | |
lizmat | mscha: no, that's pretty much the way | ||
mscha | Okay. It cost me 15 minutes of debugging to figure this out, though. :-( | 13:40 | |
IOninja | heh | ||
moritz | @nums>>.narrow.unique | ||
13:41
itaipu joined,
sufrostico joined,
aborazmeh left
|
|||
moritz | if you're fine with Rats-that-represent-ints to be cast to Int | 13:41 | |
IOninja | mscha: well, the second sentense of the docs do say "unique uses the semantics of the === operator to decide whether two objects are the same" | ||
mscha | I know, I know, it works as documented. | ||
moritz: that's a nice solution. | 13:42 | ||
MasterDuke | do we need that "the semantics of"? | ||
yoleaux | 08:50Z <DrForr> MasterDuke: I wasn't planning to do anything that transforms text, but given the Texas <-> Mexico transformation that could be useful. | ||
MasterDuke | could it just be "unique uses the === operator to decide whether two objects are the same"? | ||
DrForr | perl6-tidy --no-comments (haven't actually written the flag) works. | ||
IOninja | MasterDuke: that implies the user can override === and expect unique to pick it up. We already had this issue with is-deeply | 13:43 | |
13:43
mcmillhj joined
|
|||
MasterDuke | ok, should stay as is then | 13:44 | |
IOninja | MasterDuke: and it doesn't even use interall ones | ||
mscha | Another, perhaps better, solution would be to ensure I only have Rats (so use literals like 1.0). | ||
IOninja | just goes for the WHICH directly | ||
MasterDuke | IOninja: "interall ones"? | 13:45 | |
IOninja | I mean core ones. | ||
13:45
sufrostico left
|
|||
MasterDuke | oh, "internal" | 13:45 | |
DrForr: "--no-comments", perl6-tidy won't speak to the press? | 13:46 | ||
IOninja | MasterDuke: `is-deeply` does use `infix:<eqv>` but it still won't pick up user's infix:<eqv> because it's not in scope.... So we shouldn't say "uses ===" in unique for that reason alone, but .unique doesn't even use infix:<===> | ||
DrForr | Bool $is-Trump | ||
13:47
sufrostico joined
13:48
sergot joined
13:51
mr-foobar joined
13:55
risou_awy is now known as risou
|
|||
MasterDuke | m: say (1/2+1/2, 2/2).unique(:as(*.Num)) | 13:57 | |
camelia | (1) | ||
13:57
xtreak left
|
|||
IOninja | m: say (1/2+1/2, 2/2)».Num.unique | 13:57 | |
camelia | (1) | ||
13:57
KDr2 joined
|
|||
IOninja | But that destroys precision | 13:58 | |
MasterDuke | kind of odd. "The values are transformed for the purposes of comparison, but it's still the original values that make it to the result list:" | 13:59 | |
doc for :as | |||
m: say (1/2+1/2, 2/2).unique(:as(*.Num)).perl | 14:00 | ||
camelia | (<1/1>,).Seq | ||
14:00
nadim__ joined
|
|||
MasterDuke | m: say (1/2+1/2, 2/2)».Num.unique.perl | 14:00 | |
camelia | (1e0,).Seq | ||
MasterDuke | ok, looks like :as works as docced | 14:01 | |
14:01
nadim left
14:02
eroux left
|
|||
IOninja | m: say (<1000000000000002/1>, 1000000000000000).unique(:as(*.Num)).perl | 14:06 | |
camelia | (1000000000000002.0,).Seq | ||
14:07
yqt joined
|
|||
IOninja | m: say (1/0, 2/0, 3/0, 4/0, 5/0, 6/0, 7/0, 8/0, 9/0, 10/0).unique(:as(*.Num)).perl | 14:08 | |
camelia | (<1/0>,).Seq | ||
IOninja | m: say (1/0, 2/0, 3/0, 4/0, 5/0, 6/0, 7/0, 8/0, 9/0, 10/0).unique.perl | ||
camelia | (<1/0>, <2/0>, <3/0>, <4/0>, <5/0>, <6/0>, <7/0>, <8/0>, <9/0>, <10/0>).Seq | ||
El_Che | www.eclipsecon.org/na2016/sites/de...ntimes.pdf <-- camelia on page 7 | 14:10 | |
IOninja | mscha: BTW, :with() kinda sucks. It has O(n²/2) complexity or something like that. Grinds to a halt when a uniquing list with 4000+ elements | 14:11 | |
Geth | ecosystem: ba18238f62 | (Tom Browder)++ | META.list update module Text::More add work-around for problem with installed modules and variables $*PROGRAM and $*PROGRAM-NAME (issue filed with ecosystem) |
||
14:11
Alikzus joined
|
|||
IOninja | El_Che: neat... but the guy likely just screenshot-copypasted those and may not even know what lang it's for :) | 14:12 | |
El_Che | IOninja: good enough | ||
IOninja | heh | 14:13 | |
IOninja isn't that desperate :P | |||
14:13
bjz left
|
|||
Geth | doc/py-nutshell: 5952a50ef8 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6 consistent use of quotes, spaces in exprs, typos |
14:16 | |
MasterDuke | El_Che: might want to post that link in #moarvm | ||
El_Che | MasterDuke: good idea | ||
IOninja | Uh-oh... There's a serious blocker to the IO Grant :o | 14:19 | |
"Release date: March 21, 2017": en.wikipedia.org/wiki/Mass_Effect:_Andromeda | |||
^_^ | |||
MasterDuke | i've never played any of the mass effects. can you start in the middle or do you have to start with the first? | 14:20 | |
IOninja | MasterDuke: you can start with Andromeda, since it's an entirely different set of characters, but the first three.... I'd say you gotta start with the first one | 14:22 | |
Especially 'cause in 3 you meet again many of the characters from 1... | 14:23 | ||
14:25
cdg joined
14:28
KDr2 left
14:33
skids joined,
cibs left
|
|||
MasterDuke | ugh though, the first three haven't been ported to the PS4 | 14:34 | |
IOninja | Hahaha. Console peasants. | ||
14:34
Sound left
|
|||
MasterDuke | i split between PS and Steam, just depends on the game | 14:35 | |
14:35
cibs joined
|
|||
IOninja | 2nd one is pretty annoying with controls. The jump, hide-behind-cover, and sprint (I think) are all bound to the same key. | 14:35 | |
Thanks to consoles, no doubt. | 14:36 | ||
Oh, jump-over-cover not jump | |||
Or something like that. | |||
MasterDuke | i think max payne 3 will be my next PC game | 14:37 | |
IOninja | Already have it, but never played yet. | 14:38 | |
(proof that steam sales can trick me outta my money :P) | |||
Geth | doc/py-nutshell: 441c3e65b1 | (Brian Duggan)++ | doc/Language/py-nutshell.pod6 mentioned interpolation, used ' for chars and words |
14:39 | |
MasterDuke | the first was one of my most favorite games ever. second wasn't as good. i've heard great things about the 3rd, just haven't gotten around to it yet | ||
14:43
wamba left,
gabiruh_ is now known as gabiruh
14:44
wamba joined
14:46
Sound joined
14:48
rindolf left
14:52
xtreak joined
14:53
Possum left
|
|||
Geth | doc/py-nutshell: 9ecfa4172a | (Brian Duggan)++ | doc/Language/py-nutshell.pod6 whatever |
14:54 | |
14:54
xtreak left,
xtreak joined
|
|||
Geth | doc/py-nutshell: d70beee69b | (Brian Duggan)++ | doc/Language/py-nutshell.pod6 whatever |
14:56 | |
14:57
travis-ci joined
|
|||
travis-ci | Doc build passed. Brian Duggan 'consistent use of quotes, spaces in exprs, typos' | 14:57 | |
travis-ci.org/perl6/doc/builds/208213105 github.com/perl6/doc/compare/032a1...52a50ef836 | |||
14:57
travis-ci left
14:59
xtreak left
15:00
xtreak joined
|
|||
IOninja | m: say IO::Path ~~ Cool | 15:05 | |
camelia | False | ||
ugexe | tbrowder: no there is no way around that. Those sha1 hashes are the actual $*PROGRAM | ||
IOninja | huh... I thought it totally was :/ | ||
ugexe | you want the original path name | 15:06 | |
lizmat | my class IO::Path is Cool | ||
ugexe | well, name-path (lib/Foo/Bar.pm6) | ||
lizmat | so not sure what's going on there ? | ||
IOninja | Ah. restricted bot | ||
lizmat | ah, yes... | ||
IOninja | m: say IO::Path ~~ RESTRICTED-CLASS | ||
camelia | True | ||
IOninja | m: say '.'.IO ~~ Cool # heh | 15:09 | |
camelia | True | ||
IOninja | m: say '.'.IO.^name | 15:10 | |
camelia | IO::Path | ||
IOninja | m: say '.'.IO.WHAT === IO::Path | ||
camelia | Cannot resolve caller infix:<===>(IO::Path, IO::Path); none of these signatures match: ($?) (\a, \b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b) (num \a, num \b --> Bool) (Str:D \a, Str:D \b --> Bo… |
||
IOninja | m: say '.'.IO.WHAT === IO::Path.WHAT | ||
camelia | Cannot resolve caller infix:<===>(IO::Path, IO::Path); none of these signatures match: ($?) (\a, \b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b) (num \a, num \b --> Bool) (Str:D \a, Str:D \b --> Bo… |
||
IOninja | weird that it doesn't fit into (\a, \b) candidate | 15:11 | |
m: say IO::Path ~~ Any | 15:13 | ||
camelia | False | ||
IOninja | Ahhh | ||
15:14
Possum joined
|
|||
DrForr | El_Che: I've done a proof of concept for Perl6::Tidy, I'm open to ideas on how it can be configured. I'm going to suggest a JSON or other configuration file. | 15:15 | |
15:15
travis-ci joined
|
|||
travis-ci | Doc build errored. Brian Duggan 'whatever' | 15:15 | |
travis-ci.org/perl6/doc/builds/208225888 github.com/perl6/doc/compare/441c3...cfa4172a68 | |||
15:15
travis-ci left
15:22
travis-ci joined
|
|||
travis-ci | Doc build passed. Brian Duggan 'mentioned interpolation, used ' for chars and words' | 15:22 | |
travis-ci.org/perl6/doc/builds/208220766 github.com/perl6/doc/compare/5952a...1c3e65b161 | |||
15:22
travis-ci left
|
|||
El_Che | DrForr: have you considered YAML? | 15:25 | |
DrForr: most config stuff I do nowadays I use YAML. It's more readable than JSON | 15:26 | ||
DrForr | I haven't thought too much. | ||
El_Che | I pretty much standarized on it. My own programs, our Puppet config (with encrypted YAML voor secret values), our docker setup (with docker-compose) and so on | 15:27 | |
the rest of the stack is xml and it makes me cry ) | |||
:) | |||
b2gills | I like YAML because it is line oriented so it plays nicer with git | 15:28 | |
mst | somebody (possibly me eventually) needs to port JSONY from pegex to p6grammars | ||
El_Che | b2gills: exactly | ||
DrForr | It's not really going to merge with puppet/docker stuff, but as long as there's a standard to look to, I don't mind. | ||
El_Che | our scm web interface does diff on config and YAML works great | 15:29 | |
b2gills | JSON wouldn't be as bad if it allowed trailing commas | ||
El_Che | DrForr: the choices nowadays, seem to be JSON, YAML, XML and TOML | 15:30 | |
DrForr: by the way, JSON is a subset of YAML | |||
DrForr | Well, XML can bite my shiny metal ass, not sure what TOML is... | ||
El_Che | DrForr: en.wikipedia.org/wiki/YAML#Comparison_with_JSON | 15:31 | |
DrForr | I also don't want a huge dependency there. | ||
El_Che | DrForr: XML, I agree. TOML: haven't seen it that much and too much INI style for me | ||
tbrowder | ugexe: did you see the suggestion i made in the issue for ecosystem? would that be a possibility? | ||
15:31
wamba left
|
|||
El_Che | DrForr: true for dependencies. Although for me, config must be human readable/writable in the 1st place | 15:32 | |
DrForr: there is where xml fails badly and json is meh | 15:33 | ||
DrForr | JSON doesn't allow comments, though you can always create a "comments" : "foo bar" tag. But then we get namespace collisions and I go ballistic. | ||
El_Che | hehe, you answered your own question | 15:34 | |
DrForr | Teddy bear. | ||
15:34
alimon joined
|
|||
El_Che | what's bad about json is that "pretty" json is not the default, so more often than not you get a long line that makes git diff useless | 15:35 | |
perigrin | <bite target="DrForr's Shiney Metal Ass" /> | ||
El_Che | haha | 15:36 | |
perigrin | the secret being that won't parse cleanly. | 15:37 | |
mscha | IOninja: re ":with sucks"; I noticed, yes. I'm now using my Rat @nums; ."REDUCE-ME for @nums" as workaround for the reduce bug, and @nums.sort.squish. That gives the best performance. ( | 15:39 | |
IOninja | mscha: note that .REDUCE-ME is an internal method, and considering it has a race issue, one that's likely to be removed. | 15:40 | |
Hoping to do the Rat stuff after IO grant so... removed soon is a possibility as well :D | |||
Oh! | |||
Do `.= norm` instead | 15:41 | ||
mscha | I know, but by the time it starts failing, I can remove that entire statement - hopefully. | ||
IOninja | m: (<1/2> + <1/2>).norm.say | ||
camelia | 1 | ||
IOninja | m: (<1/2> + <1/2>).norm.nude.say | ||
camelia | (1 1) | ||
IOninja | m: (<1/2> + <1/2>).nude.say | ||
camelia | (1 1) | ||
mscha | nude already normalizes, so that proves nothing. | ||
(1/2+1/2).nude | 15:42 | ||
m: say (1/2+1/2).nude | |||
camelia | (1 1) | ||
IOninja | m: dd [.numerator, .denominator] with (<1/2> + <1/2>).nude | ||
camelia | No such method 'numerator' for invocant of type 'List' in block <unit> at <tmp> line 1 |
||
IOninja | m: dd [.numerator, .denominator] with (<1/2> + <1/2>) | ||
camelia | [2, 2] | ||
IOninja | m: dd [.numerator, .denominator] with (<1/2> + <1/2>).norm | ||
camelia | [1, 1] | ||
IOninja | There. .norm works and is public API | ||
mscha | OK, thanks. | ||
IOninja | u: { *.uniprop eq 'Nd'|'Nl'|'No' } | 15:45 | |
unicodable6 | AlexDaniel, MasterDuke: Hey folks. What's up with me? | ||
IOninja, Oops, something went wrong! | |||
15:46
travis-ci joined
|
|||
travis-ci | Doc build passed. Brian Duggan 'whatever' | 15:46 | |
travis-ci.org/perl6/doc/builds/208226725 github.com/perl6/doc/compare/9ecfa...0beee69be8 | |||
15:46
travis-ci left
15:51
smls joined
|
|||
smls | bisectable6: say <a b> Z=> |(1, 2); | 15:52 | |
bisectable6 | smls, On both starting points (old=2015.12 new=9da50e3) the exit code is 0 and the output is identical as well | ||
smls, Output on both points: «(a => 1 => 2)» | |||
smls | Is |-interpolating arguments into the argument list of Z, supposed to behave like that? | 15:53 | |
m: say <a b> Z 1, 2, 3; | 15:54 | ||
camelia | ((a 1) (b 2)) | ||
smls | m: say <a b> Z |(1, 2, 3); | ||
camelia | ((a 1 2 3)) | ||
mscha | m: my Rat @nums = (1.0, 1/2+1/2)».norm; say @nums.unique; | 15:56 | |
camelia | (1) | ||
mscha | m: my Rat @nums = (1.0, 1/2+1/2); .REDUCE-ME for @nums; say @nums.unique; | ||
camelia | (1) | ||
mscha | Huh, that first one gives (1 1) on my Rakudo Star 2017.01. | ||
IOninja | m: say ߃ +߄ +߅ +߆ +߇ +߈ | ||
camelia | 33 | ||
mscha | I guess .norm must have been fixed after that. | ||
IOninja | mhm | 15:57 | |
bisect: old=2017.01 new=HEAD my Rat @nums = (1.0, 1/2+1/2)».norm; say @nums.unique; | |||
bisectable6 | IOninja, Bisecting by output (old=2017.01 new=9da50e3) because on both starting points the exit code is 0 | ||
IOninja, bisect log: gist.github.com/17405cfc6b8a6bccb6...d57b68f2d4 | |||
IOninja, (2017-02-13) github.com/rakudo/rakudo/commit/aa...a639722a10 | |||
IOninja | feb 13. So it'd be in 2017.02 compiler release | ||
mscha | Oh, right, I remember now; .norm was a no-op. | 15:58 | |
Maybe I'll need to stop using Star releases only... | 15:59 | ||
IOninja | Maybe we need to start releasing Star releases more frequently... | 16:00 | |
mscha | That'd be even better. :-) | 16:01 | |
IOninja | :) | ||
16:01
cibs left
|
|||
timotimo | didn't we want to release star less often at one point? :S | 16:03 | |
16:03
cibs joined
|
|||
SmokeMachine | u: ߃ | 16:03 | |
unicodable6 | SmokeMachine, U+07C3 NKO DIGIT THREE [Nd] (߃) | ||
IOninja | timotimo: don't recall that point. Though, it'd make sense to make Star releases less frequently if we make compiler releases more end-user-like. E.g.: Compiled (where needed to) Rakudo with zef and install script that asks "Would you like me to install modules for X?" that would just fetch the modules over network and install them with zef | 16:07 | |
And in that paradigm, Star would be a release with packaged modules, for people who can't/don't want to fetch them from network during install. | 16:08 | ||
m: say ߈߈ | |||
camelia | 88 | ||
IOninja | m: say ߈߈/2 | ||
camelia | 44 | ||
IOninja | :) | ||
m: say ½*߈߈ | 16:09 | ||
camelia | 44 | ||
16:09
raschipi joined
|
|||
IOninja | Hm | 16:10 | |
16:10
xtreak left
|
|||
IOninja | I just realized I can do that on my own. | 16:10 | |
Like without bikeshedding committee. And then see if anyone uses the releases. | |||
s/bikeshedding committee/piece-meal discussions that don't get written down :)/ | 16:11 | ||
timotimo | .o( Rakudo Stoar ) | ||
Rakudo Stork: it brings the modules | 16:12 | ||
El_Che | IOninja: that exactly how I hoped Rakudo Star worked when I first heard of it | ||
IOninja: all precompiled with modules on a "Star" level release | 16:13 | ||
IOninja | I'm gonna name mine "Perl 6 ١∧only" | 16:16 | |
16:20
cdg_ joined
16:22
imcsk8 left,
imcsk8 joined
16:23
cdg left
|
|||
timotimo | what's those characters? | 16:24 | |
.u ١∧ | 16:25 | ||
yoleaux | U+0661 ARABIC-INDIC DIGIT ONE [Nd] (١) | ||
U+2227 LOGICAL AND [Sm] (∧) | |||
timotimo | oh | ||
16:25
alphah joined
|
|||
stmuk | IOninja: I have wondered about monthly compiler releases with p6doc and zef | 16:26 | |
timotimo | Rakudo JustTheBones | ||
El_Che | stmuk++ | ||
stmuk | but there have been monthly releases with major platform breakage as well :/ | ||
IOninja | Because it's only tested on Debian... | 16:31 | |
Is there no way to test/make a release for OSX unless you own an Apple computer? | 16:32 | ||
stmuk | I believe its possible to run OS X under virtualbox now | 16:33 | |
not sure how legal | |||
IOninja | Last I looked, it was illegal. | ||
stmuk | there is also a project called "puredarwin" but it's fairly dead | 16:34 | |
timotimo | you'll go to jail | ||
16:36
domidumont left
16:37
xxpor_ left,
smls left
16:38
m0ltar left
16:40
imcsk8 left
16:41
imcsk8 joined,
xxpor joined,
m0ltar joined
|
|||
IOninja | ugh, $1,750 for a MacBook Pro that has the same stats as my 11 year old Dell laptop... | 16:42 | |
No way I'm buying one just to test Perl 6 releases on :( | |||
ilmari | "same"? as in same number of cores and mhz? | 16:43 | |
[Coke] | www.perlmonks.org/?node_id=1183351 - perhaps some with an account could also point to stackoverflow as a potential source for getting helpful responses to your Perl 6 questions. | ||
ilmari | I bet it does more work per cycle and can boost to higher frequencies | 16:44 | |
[Coke] is not sure he can respond without snark. | |||
IOninja | Lemme double check (it's still running and I use it to look up guitar tabs in my music room) | ||
stmuk | I think processor speed increases have been pretty flat for about 7-10 years. Battery life is better on laptops but that's about it | ||
[Coke] | There are several core devs who currently have macs and can probably sign up for testing, IOninja. | ||
stmuk | my MacBook Air 2011 isn't that much slower than a MacBook Pro 2015 | 16:45 | |
16:46
IONinja_Lappy joined
|
|||
IONinja_Lappy | Here's what's my lappy is like: gist.github.com/anonymous/b2eca82c...954afadb11 | 16:47 | |
IONinja_Lappy goes back to normal computer | |||
16:47
IONinja_Lappy left,
n1ce left
|
|||
IOninja | And here's the one I was talking about, last one in the list: www.apple.com/ca/shop/buy-mac/macbo...ro/13-inch | 16:48 | |
Well, OK, it has 8GB of RAM and a slightly better processor, but it's an ELEVEN YEAR OLD laptop :) | |||
(lappy has 4GB) | 16:49 | ||
16:49
n1ce joined
|
|||
IOninja | [Coke]: yeah, but in a perfect world all that would be automated :) | 16:50 | |
stmuk | www.youtube.com/watch?v=_9mzmvhwMqw is quite revealing | 16:51 | |
IOninja | Hm, though I guess maybe I could buy something like this junker and just ssh/connect another screen to it: www.ebay.ca/itm/like/172505474037?chn=ps | ||
stmuk | moores law is just going into cores which aren't much use anyway | ||
[Coke] | (automated) of course. | 16:52 | |
mj41 (I think) setup a job service that let us have machines sign up for work to do and report back on it back in the parrot days. wonder if any of that survived. | |||
was used to get reports from various hw/OS revisions that weren't easily available. | 16:53 | ||
stmuk | en.wikipedia.org/wiki/Amdahl's_law | ||
16:53
domidumont joined
|
|||
stmuk | a distributed smoke build/testing service would be great | 16:54 | |
16:55
spebern joined
|
|||
tbrowder | i have an unused mac mini to offer for a distributed build host | 16:59 | |
IOninja | I'm gonna call my distro "Perl 6 Ice"... 'cause it's cool... | ||
And the tag text will be "Includes Compiler, Etc." | 17:00 | ||
17:00
risou is now known as risou_awy
|
|||
IOninja | :P | 17:00 | |
17:01
risou_awy is now known as risou
|
|||
IOninja wonders if .ice is available as a TLD | 17:02 | ||
stmuk | maybe we could just add a "make smoke" which posts JSON or whatever to a central server | ||
I think that's what parrot did (?) | 17:03 | ||
geekosaur | afaik TLDs are now wide open | ||
if you have the $$$ | |||
[Coke] | stmuk: there was a perl5 service that ate TAP zip files. | 17:04 | |
IOninja | or maybe "Perl 6 Black", 'cause there's a .black TLD and black is cool too | ||
[Coke] | I started writing a replacement in mojo because adminning the old version was painful. | ||
stmuk | [Coke]: I've used smoulder to do that | ||
[Coke] | We could easily write the server in Perl 6 now. | ||
17:04
cale2 joined
|
|||
[Coke] | stmuk: smolder! yes, that was the thing that was a PITA to admin. :) | 17:05 | |
cale2 | How do I turn an array of pairs into a map? | ||
[(this => that) (this => that) ] should be {this => that, this => that} | |||
IOninja | m: [:42a, :72b].Map.say | ||
camelia | Map.new((:a(42),:b(72))) | ||
stmuk | [Coke]: yeah its not great but it does work | ||
17:05
cdg_ left
|
|||
IOninja | m: [:42a, :72b].Hash.say | 17:06 | |
camelia | {a => 42, b => 72} | ||
17:06
cdg joined
|
|||
cale2 | what is that syntax? :42a ? How does Perl6 not consider that to be all one thing? | 17:06 | |
m: say :42a.WHAT | |||
camelia | (Pair) | ||
cale2 | shouldn't that be one symbol called "42a"? | 17:07 | |
IOninja | Symbols can't start with a digits | ||
[Coke] | m: say :42a.perl; | ||
camelia | :a(42) | ||
stmuk | google "parrot make smoke" gets unhelpful youtube hit :) | ||
[Coke] | it's to support things like :1st | ||
17:08
TEttinger joined
|
|||
IOninja | It's a colonpair. it's just an alternate syntax. Same as foo => 42, :foo[42], :foo<42>, :foo{:42a}, and :foo{say "hi"} are | 17:08 | |
[Coke] | stmuk: github.com/coke/muddle has my proof of concept mojo5 version, which I haven't touched in 3years. | ||
17:08
rurban joined
|
|||
cale2 | [(Alabama => Montgomery) (Alaska => Juneau)] that's my data structure. Hash.new didn't work :/ | 17:08 | |
It turned it into {Alabama Montgomery => (Alaska => Juneau)} | 17:09 | ||
17:09
rurban left
|
|||
[Coke] | cale2: what are you trying to make? a Hash? | 17:09 | |
17:09
domidumont left
|
|||
cale2 | Coke: anything with keys and values on the top level. | 17:09 | |
[Coke] | and what are you starting out with? is this hardcoded, do you have a bunch of pairs already? | 17:10 | |
stmuk | yeah parrot used to use smoulder | ||
[Coke]: thanks | |||
cale2 | I want it to be {Alabama => Montgomery, Alaska => Juneoua} | ||
perlpilot | cale2: sounds like you might need .flat in there at first blush | ||
[Coke] | cale2: Ok, but what are you starting with? | ||
cale2 | [12:08] <cale2> [(Alabama => Montgomery) (Alaska => Juneau)] that's my data structure. Hash.new didn't work :/ | 17:11 | |
perlpilot | cale2: Could you show actual code please? | ||
[Coke] | cale2; oh dear, we seem to be talking past each other. | ||
SmokeMachine | u: 「 | ||
unicodable6 | SmokeMachine, U+300C LEFT CORNER BRACKET [Ps] (「) | ||
[Coke] | m: my %a = (a=>'b', c=>'d'); | ||
camelia | ( no output ) | ||
SmokeMachine | m: say 「bra」 | ||
camelia | 5===SORRY!5=== Argument to "say" seems to be malformed at <tmp>:1 ------> 3say7⏏5 「bra」 Bogus postfix at <tmp>:1 ------> 3say 7⏏5「bra」 expecting any of: infix infix stopper postfix… |
||
stmuk | smolder.parrot.org/app/projects/smoke_reports/1 | ||
[Coke] | if that doesn't help, please provide code as perlpilot++ suggested and show us the error, and what you expected. | 17:12 | |
IOninja | m: say 「bracket」 | ||
camelia | bracket | ||
SmokeMachine | u: 「 | ||
unicodable6 | SmokeMachine, U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「) | ||
SmokeMachine | IOninja: thanks! | ||
m: say 「bla」 | 17:13 | ||
camelia | bla | ||
cale2 | github.com/WildYorkies/peregrinati...itial-code | 17:14 | |
TBH I have no idea why an array of pairs won't convert to a hash. It seems pretty straightforward. Must be missing something | |||
Any attempt to convert to a Hash just makes the first pair the key and the pair after it the value. I probably need to flatten at some point, but I don't know how I can step into the coersion process and introduce a flat in there | 17:15 | ||
IOninja | hm | 17:16 | |
zoffix@VirtualBox:~$ perl6 -e '"/tmp/z.td".IO.lines.map({/(.+?)(\$<-[$]>+)/; printf "%10s %s\n", |$/})' | |||
Unexpected named argument '' passed | |||
in block <unit> at -e line 1 | |||
Wonder what's on about... | |||
17:16
kaare_ left
|
|||
IOninja | m: "x" ~~ /(.)/; dd $/ | 17:16 | |
camelia | Match $/ = Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), to => 1, orig => "x", from => 0),), hash => Map.new(()), to => 1, orig => "x", from => 0) | ||
17:16
kaare_ joined
|
|||
IOninja | m: "x" ~~ /(.)/; dd [|$/] | 17:16 | |
camelia | [Match.new(ast => Any, list => (), hash => Map.new(()), to => 1, orig => "x", from => 0)] | ||
IOninja | lol, .luxury TLD is $799.99 | 17:18 | |
17:20
rurban joined,
khw joined
|
|||
IOninja | :o perl6.ninja is available.... | 17:23 | |
perlpilot | cale2: I would suggest that @data does not contain what you think it does. | ||
[Coke] | cale2: to troubleshoot, attempt to reproduce the problem with a small amount of code that shows the issue. | 17:24 | |
If you can reproduce the issue, share that code with us, and we can possibly help you. | |||
If you can't, perhaps that will help point you towards the differencde between the small functioning code, and the larger non-functioning code. | |||
raschipi | geekosaur: To get a new TLD, just money isn't enough, one needs to run a register or get one to run it for you. You can't get a TLD and then keep it just for you. | 17:25 | |
17:25
kyan left
|
|||
IOninja | Didn't cale2 already show the data? | 17:25 | |
cale2 │ [12:08] <cale2> [(Alabama => Montgomery) (Alaska => Juneau)] | 17:26 | ||
m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)].say | |||
camelia | [(Alabama => Montgomery) (Alaska => Juneau)] | ||
17:26
eroux joined
|
|||
geekosaur | thought the likes of Network Solutions would be happy to run it for you for... more $$$, which was the point (both my point and why they lobbied to open up the top level) | 17:26 | |
IOninja | m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)]».Slip.flat.Hash.say | ||
camelia | {Alabama => Montgomery, Alaska => Juneau} | ||
[Coke] | m: my @a = a=>'b',c=>'d'; my %b=|@a; say %b.perl; | ||
camelia | {:a("b"), :c("d")} | ||
17:26
wamba joined
|
|||
IOninja | That's not the data tho. Each pair is in its own list. | 17:26 | |
[Coke] | m: my @a = a=>'b',c=>'d'; my %b=@a; say %b.perl; | ||
camelia | {:a("b"), :c("d")} | ||
IOninja | m: my @a = (a=>'b',), (c=>'d',); my %b=@a; say %b.perl; | 17:27 | |
camelia | {"a\tb" => $(:c("d"),)} | ||
[Coke] | IOninja: if he'd show code, I'd know that. :) | ||
IOninja | They showed the data ¯\_(ツ)_/¯ | ||
[Coke] | but not code; how do I know how he's formatting what he's showing ups? | ||
*us | 17:28 | ||
IOninja | It looks like a copy-pasted output of `say`, I just reconstructed the original from that :) | ||
m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)].flat.say | |||
camelia | ((Alabama => Montgomery) (Alaska => Juneau)) | ||
IOninja | Wonder why... oh nm, Array containerizes its stuff | 17:29 | |
cale2 | IOninja: you got it... is Slip and flat really needed? | ||
[Coke]: glot.io/snippets/enqr2rapsg | |||
[Coke] | This is why I suggested showing the actual code, and why perlpilot suggested that the array may not contain what cale2 thought it did. | ||
cale2 | that's my smaller code to reproduce | ||
IOninja | cale2: well, yeah, to make flat work.. | ||
cale2: but maybe there's a better way without that... | 17:30 | ||
m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)]».<>.Hash.say | |||
cale2 | You can only put "say" so many places... I couldn't possibly know MORE about the data lol | ||
camelia | {Alabama Montgomery => (Alaska => Juneau)} | ||
IOninja | m: [(Alabama => "Montgomery",), (Alaska => "Juneau",)]<>.Hash.say | ||
camelia | {Alabama Montgomery => (Alaska => Juneau)} | ||
[Coke] | cale2: that code doesn't compile. | ||
IOninja | dang | ||
cale2 | I know it doesn't. That's the problem. | ||
I'm trying many different methods to get it to work | |||
[Coke] | ok, but that's NOT the problem you stated earlier. | 17:31 | |
raschipi | geekosaur: The other stake-holders did stop the TLD plans on the tracks when it was giving registers and registrars too much power. TLDs were changed to take power away from them. Altough the'll get more money, they lose control because there's more competition. | ||
cale2 | [Coke]: do you want me to share the happy path, or the not happy, but sort of functioning paht? | ||
IOninja | m: say [(Alabama => "Montgomery",), (Alaska => "Juneau",)]»<>.flat.Hash | 17:32 | |
camelia | {Alabama => Montgomery, Alaska => Juneau} | ||
[Coke] | cale2: I want you to ask questions that help you get your answer. :) | ||
asking us about the unhappy path and then switching questions makes it challening for us to help you | |||
so, sticking with the sample we have here ... | 17:33 | ||
17:33
naxieAlDle joined
|
|||
[Coke] | the split is giving you Seq, not Pairs, btw. | 17:33 | |
and then the pairup gives you the Pairs... | |||
and then you're trying to make a hash = a list of 7 things (which happen to be pairs). | 17:34 | ||
raschipi | geekosaur: TLDs are an attack on Verisign stranglehold over domain names. | ||
[Coke] | This is going to make pair 1 the key, pair2 the value... | ||
and then you run out. | |||
17:34
Ven left
|
|||
[Coke] | I would tend to write this as my %capital; and then assign each key/value pair as we go through the for loop. | 17:36 | |
17:37
Ven joined
|
|||
IOninja | cale2: glot.io/snippets/enqrb2pmpv | 17:37 | |
[Coke] | IOninja++ # I was getting there. :) | 17:38 | |
IOninja | [Coke]++ You're right. It was better to wait for actual code than give an answer based on dumped data. | ||
17:38
domidumont joined
|
|||
[Coke] | you don't want to try to use pairs here, when you can work with a even numbered list. | 17:38 | |
[Coke] wonders if IOninja is responding to private sends in #perl6 as a social thing, or if his client isn't tell him they're private. :) | 17:39 | ||
as this is not the first time that's happened. | |||
cale2 | [Coke]: Cheers. That helps. | 17:40 | |
IOninja | It tells me but I usually close them right away and then think on what was said and either ignore it or respond where it's easiest. | ||
[Coke] | cale2: IOninja's answer here avoids creating and then discarding a bunch of Pair objects, which would impact a bigger data set. | ||
er, woudld have a bigger impact on... | |||
cale2 | Do other programming languages not have concepts such as flat or Slip? | 17:41 | |
I think in Python, when you try to add a list to another list, `flat` is always implied. May be why it trips me up | 17:42 | ||
IOninja | Some language default to flattening, forcing you to use some construct to avoid it. We do it in reverse: no flatteing but you need to tell it to flatten when needed | ||
cale2 | I do notice that there is `flat` and `|@stuff` quite often in perl6 code. Why was not flattening chosen as the default when it is used so often? Is it easier to reason about? | 17:44 | |
IOninja | haha | ||
Now go and look how often Arrayrefs and hashrefs are used in Perl 5 for example :P | |||
geekosaur | recent tcl added a *{} construct to flatten lists for much the same reason (and because programmers were using a rather insecure eval hack to work around its absence) | ||
timotimo | ugh :) | 17:45 | |
17:45
cdg_ joined
|
|||
geekosaur | and yes, arrayrefs and @$foo are widely used in perl 5 for similar reasons | 17:46 | |
IOninja | huh | 17:47 | |
Someone registered perl6.run and it redirects to perl6.org | |||
17:47
cdg left
17:49
risou is now known as risou_awy,
risou_awy is now known as risou
|
|||
cale2 | I've never heard of arrayrefs or hashrefs :S | 17:49 | |
timotimo | it's only a perl5 thing | ||
stmuk | perl6.club is cheap | 17:50 | |
17:50
eroux left
|
|||
IOninja | Well, since there's no .ice TLD (at least with my domain provider) and I'm too poor to afford .black TLD, I'm now a proud owner of perl6.vip | 17:50 | |
Huzzah \o/ | |||
timotimo | stmuk: only cheap the first year, or cheap forever? | ||
cale2 | I know everyone hates it when I bring up Python, but for some reason, I never once had to think about any of this when using that language. "back in my day, a list was just a list" -future grandpa | ||
stmuk | timotimo: I didn't read the small print | 17:51 | |
geekosaur | cale2, yes, python does that transparently and then bites you in other ways | ||
timotimo | stmuk: it's a very common thing for gTLDs to be reasonably priced for one year, then absurdly expensive | ||
cale2 | geekosaur: I'm trying to think of how it could bite you. Can't think of a scenario though | ||
IOninja | timotimo: on 1and1 .club is $14.99 (first year $4.99) | 17:52 | |
geekosaur | that's fine, you use python in a way that works for many people. but you are again verging on "...and my experience is everyone's experience and God's design" | ||
IOninja | Canukistan dollars | ||
Heh .capetown is a TLD ~_~ | 17:53 | ||
timotimo | how about caketown? | ||
ilmari | .funkytown | ||
IOninja | Nope, the only other town is .town | 17:54 | |
cale2 | geekosaur: I don't understand the sensitivity when talking about other languages. I'm merely saying "in my experience it was this way. help me understand your perspective". Not trying to sound like it's "my way or the highway" | ||
IOninja | But I know they don't list all of the available TLDs. | ||
17:54
cdg joined
|
|||
stmuk | we could just use opennic :) | 17:54 | |
geekosaur | that was specifixclaly in refernce to you the other day starting from here and an attitude and developing it into "I know this, you are all idiots": | ||
17:54
risou is now known as risou_awy
|
|||
geekosaur | and saying "don;t repeat it" | 17:54 | |
17:55
risou_awy is now known as risou
|
|||
geekosaur | I'm glad you have something that works for you. Turns out Python *does* handle a common case... but the times you need to do something different, you can't. | 17:55 | |
stmuk | FurNIC aims to bring a unique identity to Furries, Furry Fandom, and other Anthropomorphic interest websites across the internet | ||
geekosaur | You get no choice in the matter | ||
stmuk | hahahahaha | ||
cale2 | geekosaur: I'm trying to imagine when that other case would be. Like when Python's default behavior wouldn't work for someone. That's my misunderstanding | 17:56 | |
geekosaur | (I'm not especially fond of how often Slip is needed in perl 6, it smells like the common case got deHuffmanized) | ||
cale2 | If I can understand that, it helps to understand the design decisions of P6 | ||
17:57
cdg_ left
17:59
cdg left
|
|||
[Coke] | the flattening defaults in 6 are different from 5; there are probably some gists out there still describing the Great List Refactor (GLR) that might help if you're trying to get insight into why things are they way they are now | 17:59 | |
IOninja | It's a bit tiring to explain design decisions that occured over the past 15 years that included work of ~1000 people. Especially if the person starts their question is "I never had a problem in language XYZ, and perl 6's way is weird to me..." | 18:00 | |
18:00
dakkar left
|
|||
geekosaur | cale2, the perl 6 default is to try to be perl-like (so a lot of behavioral defaults came from perl 5), but perl 5 here was ... ad hoc. in the extreme. (often to the "this particular statement behaves this way, this one does something else" level) | 18:01 | |
IOninja | You can use the language without questioning every day the choices that won't change. | ||
geekosaur | so perl 6 has spent a lot fo time hunting around to find a minimal behavior that is consisent but comes fairly close to what p5 did | ||
IOninja | If we did everything the way Python does... we'd be called Python, not Perl 6. | 18:03 | |
cale2 | IOninja: I know it's annoying, but when trying to promote or even teach a language, you're gonna get questions like "why is it this way?" | ||
18:03
mr-foobar left
18:04
spebern left
18:05
itaipu left,
rurban left
18:06
robertle joined
|
|||
IOninja | cale2: with the mild implication behind the question: "I think you people are idiots and I want you to prove me I'm wrong, but trying to remember all the reasoning behind this design decision" | 18:06 | |
s/but/by/; | |||
cale2: especially with the choices like auto-flat or not, where either option doesn't cover 100% usecases, so you pick one to make a sacrifice | 18:07 | ||
stmuk | I'm not sure "why" questions work that well with many technical systems like UNIX etc. | ||
cale2 | Everyone implies that implication. This is why we need lojban lmao | 18:08 | |
IOninja | Why does :16<FF> not accept negatives? | ||
raschipi | cale2: examples of when it doesn't work: www.thegeekstuff.com/2010/06/perl-a...-examples/ | ||
cale2 | stmuk: good point | ||
IOninja | Its implementor is currently AFK, and even if they weren't they might not remember. It's pointless to ask such a question. | ||
cale2 | IOninja: I don't think it's a pointless question when it affects the every day life of a user. And thus is a concept needed to teach to learners | 18:09 | |
raschipi | cale2: more examples perlmaven.com/array-references-in-perl | ||
cale2 | raschipi: thanks. will read | ||
SmokeMachine | naxieAlDle: thanks for your help yesterday! Im start using (and editing) this github.com/FCO/osx-compose-key | 18:10 | |
raschipi | If arrays don't flatten, they can be just passed around instead of the usual dance with references/pointers | ||
naxieAlDle | SmokeMachine: 🙌 | 18:11 | |
Geth | doc/py-nutshell: 27ef3a25cd | (Brian Duggan)++ | doc/Language/py-nutshell.pod6 reword whatever portion |
18:12 | |
IOninja | cale2: it is pointless. Especially since many of the decisions were either implied during implementation or are now forgotten. You can make a proposal to have a feature changed if you can provide good reasoning, but incessantly questioning implementors' decisions over the last 15 years will only annoy the volunteers who did the work. | ||
naxieAlDle | re design decisions, this is a nice read: perl6advent.wordpress.com/2014/12/...ong-right/ | ||
[Coke] | I don't mind people asking "why is it this way" at all, but the answer is often going to be "that is very hard for us to figure out since we started on this 17 years ago" | 18:13 | |
nine | cale2: appears to me that in Python, it's not that simple either: dict([(("a", 1),), (("b", 2),)]) -> ValueError: dictionary update sequence element #0 has length 1; 2 is required | ||
IOninja | naxieAlDle++ | ||
nine | Gotta love that helpful error message there... | ||
[Coke] | If we want a nice retro-explanation, we probably have to wait for TimToady's book. | ||
IOninja | naxieAlDle: irclog.perlgeek.de/perl6/2017-03-06#i_14212456 | 18:14 | |
naxieAlDle: though none of the whiners replied when I questioned why these ops were but; and a lot more people posted positive tweets about them since then :) | |||
nine | cale2: on the more constructive side, your issue isn't as much how to turn an array of lists of pairs into a hash but how to avoid those unhelpful lists in the middle in the first place | 18:15 | |
m: my @a = do for ("foo-bar", "baz-qux") { |$_.split("-").pairup } ; dd @a | 18:16 | ||
camelia | Array @a = [:foo("bar"), :baz("qux")] | ||
nine | m: my @a = do for ("foo-bar", "baz-qux") { |$_.split("-").pairup } ; dd @a.hash | ||
camelia | Hash % = {:baz("qux"), :foo("bar")} | ||
nine | cale2: ^^^ | ||
18:16
robertle left
|
|||
IOninja | m: my %a = flat ("foo-bar", "baz-qux")».split: "-"; dd %a | 18:17 | |
18:17
rurban joined
|
|||
camelia | Hash %a = {:baz("qux"), :foo("bar")} | 18:17 | |
nine | m: my @a = flat do for ("foo-bar", "baz-qux") { $_.split("-").pairup } ; dd @a.hash | ||
camelia | Hash % = {:baz("qux"), :foo("bar")} | ||
nine | Ah, same idea there :) | ||
18:17
itaipu joined
|
|||
naxieAlDle | “Those who do not learn the lessons of APL are doomed to the obscurity of APL.” ppppppfffffft | 18:17 | |
oh, ≤… how obscure | |||
IOninja | naxieAlDle: "I'd like to post something witty, but I don't know about Texas versions... am I doing right yet?" | 18:18 | |
18:18
FROGGS joined
|
|||
raschipi | naxieAlDle: We should learn from Math instead. | 18:19 | |
naxieAlDle | IOninja: … and then… do you actually think we had no numeric comparison ops before? :P | ||
IOninja | Indeed :) | 18:20 | |
SmokeMachine | u: ≥ | ||
unicodable6 | SmokeMachine, U+2265 GREATER-THAN OR EQUAL TO [Sm] (≥) | ||
SmokeMachine | m: say 2 ≥ 5 | ||
camelia | False | ||
naxieAlDle | to me it's a no-brainer to have ≤≥≠. In fact, I'd even argue that perhaps ⁇‼ were not needed | 18:21 | |
raschipi | Well, do we really need P6 anyway? | 18:22 | |
IOninja | There are some good ones tho: "@zoffix @FakeUnicode τ is defined as a constant. I love this." ... "I really need to find the time to learn perl 6" .... "@0xlynn @zoffix Ⅹ/10, best update" ..... "OH MY GOD Perl 6 lets you write my $var = ⅒ + 2 + Ⅻ; and then $var == 14.1;" .... "tbh I would love to have this in JS" .... "@zoffix really! Don't know why people are against the most natural way to express | 18:23 | |
logical ops! I mean, that's what we use in school" .... "nice" .... "I gotta install me some Perl 6..." | |||
The positives outweight the haters by a good margin. | |||
timotimo | neato | ||
nine | raschipi: isn't Perl 6 a subset of Math anyway? | ||
raschipi | Math is just silly because they have silly things like ≤≥≠. | 18:24 | |
18:25
rurban left
|
|||
naxieAlDle | xD | 18:25 | |
hm | |||
×D | |||
18:25
itaipu left
|
|||
raschipi | "☞ Math just is. Don’t make people declare it." | 18:25 | |
18:25
robertle joined
18:26
espadrine joined
|
|||
naxieAlDle looks at ¬ ∧ ∨ ⊻ | 18:26 | ||
nah… | 18:27 | ||
IOninja | u: ¬∧∨⊻ | ||
unicodable6 | IOninja, U+00AC NOT SIGN [Sm] (¬) | ||
IOninja, U+2227 LOGICAL AND [Sm] (∧) | |||
IOninja, 4 characters in total: gist.github.com/e40e617ca4d7211835...7b8e00f4f8 | |||
raschipi | naxieAlDle: There are a couple of people that expressed interest in implementing APL in Perl6, maybe you should talk to them. | ||
IOninja | naxieAlDle: Let's not... :) | 18:28 | |
18:28
spebern joined
|
|||
IOninja | naxieAlDle: I'm surprised no one added a fancy-pants WhateverStar. | 18:28 | |
naxieAlDle | IOninja: which one exactly? | ||
huggable: texas | |||
huggable | naxieAlDle, All of Perl 6's fancy Unicode operators have traditional ASCII symbol alternatives (aka Texas Variants): See doc.perl6.org/language/unicode_texas | ||
IOninja | That's one term I wish we had something prettier to use | ||
naxieAlDle: which ones are there? | |||
mscha | m: say √2¼ == 1½ | ||
camelia | 5===SORRY!5=== Argument to "say" seems to be malformed at <tmp>:1 ------> 3say7⏏5 √2¼ == 1½ Bogus postfix at <tmp>:1 ------> 3say 7⏏5√2¼ == 1½ expecting any of: infix infix stopper p… |
||
IOninja | u: { *.uniprop eq "Nd" } | 18:29 | |
unicodable6 | AlexDaniel, MasterDuke: Hey folks. What's up with me? | ||
IOninja, Oops, something went wrong! | |||
naxieAlDle | gist.github.com/AlexDaniel/c89bd27...tever-star | ||
IOninja | naxieAlDle: also that's broken ^ | ||
naxieAlDle | it's not | ||
IOninja | How to use it then? | ||
naxieAlDle | u: { .uniprop eq "Nd" } | ||
or | |||
IOninja | Oh, right | ||
:P | |||
naxieAlDle | or just u: Nd | ||
unicodable6 | naxieAlDle, U+0030 DIGIT ZERO [Nd] (0) | ||
naxieAlDle, U+0031 DIGIT ONE [Nd] (1) | |||
naxieAlDle, 580 characters in total: gist.github.com/68bc3789b33dacf615...c96d1bef4c | |||
IOninja | heh | ||
18:30
rurban joined,
rurban left
|
|||
IOninja | u: star | 18:30 | |
unicodable6 | IOninja, U+066D ARABIC FIVE POINTED STAR [Po] (٭) | ||
IOninja, U+06DE ARABIC START OF RUB EL HIZB [So] (۞) | |||
IOninja, 63 characters in total: gist.github.com/f331376b3500eb034f...6f17bbc92e | |||
raschipi | U+22C6 STAR OPERATOR [Sm] (⋆) | ||
naxieAlDle | raschipi: that's an operator | ||
raschipi | It's the APL star operator | 18:31 | |
naxieAlDle | 25 ⋆ 10 is what I'd expect to see for this symbol | ||
raschipi | This one: en.wikipedia.org/wiki/Hodge_dual | 18:32 | |
18:32
itaipu joined
|
|||
naxieAlDle | oh, it's a prefix thingy | 18:32 | |
IOninja | u: circle | 18:33 | |
unicodable6 | IOninja, U+05AF HEBREW MARK MASORA CIRCLE [Mn] (◌֯) | ||
IOninja, U+20DD COMBINING ENCLOSING CIRCLE [Me] (◌⃝) | |||
IOninja, 551 characters in total: gist.github.com/f4ef420a6d8c56df1b...385cc87851 | |||
cale2 | my only complaint about unicode symbols is how awful they look on my computer. They're all so tiny :( | 18:34 | |
naxieAlDle | heh, maybe it shouldn't even print the first two if there are ≥100 in total | ||
raschipi | cale2: you need a better font | ||
cale2 | I need a tool that says "if it's a non latin letter, make it twice as big" | ||
raschipi | it's called a better font | ||
cale2 | latin letters are okay being small | ||
raschipi: recommendations? | |||
do you set it as your whole system's font? | 18:35 | ||
18:35
eroux joined
|
|||
IOninja | naxieAlDle: they all kinda suck. They're either too big and look ugly, or too small and look weird :/ | 18:35 | |
naxieAlDle | IOninja: I think I liked ⁎ and ⁑ | 18:36 | |
raschipi | I like giving fon ts recommendations, but I need to do something, will be right back. | ||
IOninja | .grep(⁎.uniprop eq 'Foo') | 18:37 | |
looks weird being so low | |||
naxieAlDle | doesn't look that great | ||
IOninja | (at least on this font) | ||
18:37
Ven left
|
|||
naxieAlDle | but at least distinguishable from * | 18:37 | |
IOninja | temp.perl6.party/snapshot1.png | 18:38 | |
naxieAlDle | IOninja: so yes, why were you surprised again? :P | ||
18:38
Ven joined
|
|||
IOninja | naxieAlDle: surprised? | 18:38 | |
naxieAlDle | IOninja: “I'm surprised no one added a fancy-pants WhateverStar.” | 18:39 | |
IOninja | Ah, well, s/surprised/disapointed/; :) | ||
.grep(⚛.uniprop eq 'Foo') | 18:40 | ||
We got a winner! :P | |||
18:40
girafe joined
|
|||
naxieAlDle | u: ⚛ | 18:40 | |
unicodable6 | naxieAlDle, U+269B ATOM SYMBOL [So] (⚛) | ||
ilmari | not to be confused with ⚝ | 18:41 | |
u: ⚝ | |||
unicodable6 | ilmari, U+269D OUTLINED WHITE STAR [So] (⚝) | ||
IOninja | .grep(🔯.uniprop eq 'Foo') | 18:42 | |
.grep(⚝.uniprop eq 'Foo') | |||
perlpilot | u: ⚡ | ||
unicodable6 | perlpilot, U+26A1 HIGH VOLTAGE SIGN [So] (⚡) | ||
naxieAlDle | perlpilot: can be confused with ⌁, which is also proposed for ~~ :) | 18:43 | |
perlpilot | u: 🦇 | ||
unicodable6 | perlpilot, U+1F987 BAT [So] (🦇) | ||
perlpilot | I was just going through the DC comics symbols ;) | ||
IOninja | I like this one 🔯 but I imagine close resemblance of Star of David is bound to piss some group of people off... -_- | 18:44 | |
perlpilot | IOninja: I liked the atom symbol | ||
naxieAlDle | anyway, let's focus on things that are obvious and that were actually requested | ||
IOninja | perlpilot: wooo! | ||
IOninja commits "Add 🔯 as WhateverStar alias; approved by perlpilot" :P | 18:45 | ||
naxieAlDle | .oO( meanwhile, ask unicode consortium to add more stars ) |
||
perlpilot | If you wanted to get people upset, use ☪ | 18:46 | |
u: ⛭ | 18:47 | ||
unicodable6 | perlpilot, U+26ED GEAR WITHOUT HUB [So] (⛭) | ||
perlpilot | I kinda like that one too :) | ||
naxieAlDle | .oO( here's the thing! We can use 卐 for WhateverStar, and 卍 for hyperwhatever ) |
||
IOninja | u: 卐卍 | 18:48 | |
unicodable6 | IOninja, U+5350 <CJK Ideograph> [Lo] (卐) | ||
IOninja, U+534D <CJK Ideograph> [Lo] (卍) | |||
IOninja wonders which one is the swastika | |||
18:48
zakharyas joined
|
|||
perlpilot | the first one | 18:48 | |
IOninja | Hm, neither I guess, 'cause it needs the dots. | 18:49 | |
My neighbour across the hall has these on their doorstep made out of melted candlewax... | |||
perlpilot | I think it's also always rotated 45° for the nazis | ||
IOninja | Well, the proper one: en.wikipedia.org/wiki/File:HinduSwastika.svg | ||
cale2 | the man in the high castle was a pretty decent show | 18:50 | |
18:53
spebern left
18:54
risou is now known as risou_awy
19:03
risou_awy is now known as risou
|
|||
zengargoyle | i really wish rakudo (or p6) had a built-in table of some sort that could track unicode <-> texas mappings somehow. IIRC it's currently like there's a bit of code that handles one way (like for '<=' and then a bit of code for the other (like '≤') that just calls the former. | 19:03 | |
it would be nice to somehow register things as being equivalent and be able to dump those things out somehow. | 19:04 | ||
MasterDuke | in code you mean? you aren't talking about docs.perl6.org/language/unicode_te...codepoints ? | ||
cale2 | hmm... so you'd have a method that tells you the alternate form? | 19:06 | |
geekosaur | I think they want a way to tell hashes/stashes?/whatever that "these keys should map to the same thing". | ||
raschipi | zengargoyle: Is it something we would want to abstract away? "☞ Even declarative definitions are implemented by operations at compile time." | ||
19:06
itaipu left
|
|||
zengargoyle | yes, that's a list in the documentation that has to be manually kept up to date. | 19:07 | |
cale2 | m: say <=.alt-form; # OUTPUT: ≤ | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in quote words; couldn't find final '>' at <tmp>:1 ------> 3say <=.alt-form; # OUTPUT: ≤7⏏5<EOL> expecting any of: argument list … |
||
geekosaur | so you don;t have to remember which key isthe real one and which one maps to a redirection sub or whatever | ||
IOninja | Why do you need to remember that? | ||
cale2 | pretty sure all the docs have to be manually kept up to date. Because they're separate from any one implementation like Rakudo | ||
raschipi | I think he wants signatures to accept a list of names instead of just one? | ||
zengargoyle | i haven't thought about it in about a year or so.... i was thinking of auto-generating a .XCompose file or similar for other input methods. | ||
IOninja | A lot of these are too low-level to abstract it away into a nice little table | 19:08 | |
zengargoyle | there's no way from inside of p6 to know that those two things are the same thing... | ||
IOninja | And some are dynamic ops that don't really map 1-to-1 (e.g. »=» and >>[=]>>) | ||
or 2**-1.5 vs 2**2; one has Unicode version the other doesn't | |||
zengargoyle | yeah, but those aren't really texas alternatives where ≤ is exactly <= | 19:09 | |
IOninja | heh | 19:10 | |
zengargoyle | and one of those literally just calls the other | ||
IOninja | They are really texas alternatives. | ||
zengargoyle: and 2² calls infix:<n> or whatever it's called. | 19:11 | ||
zengargoyle: and ≤ doesn't really call <=; it all gets optimized away and constant-folded | |||
naxieAlDle | come on, I'm not even sure if we will add *any* other unicode ops | ||
zengargoyle | i looked mostly at the set operations. | ||
naxieAlDle | and you're talking about keeping the table up to date… | ||
IOninja | m: say [ &infix:<≤>.signature, &infix:«<».candidates».signature ] | 19:12 | |
camelia | [(|c is raw) (($?) (\a, \b) (Real \a, Real \b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b --> Bool) (num $a, num $b --> Bool) (Rational:D \a, Rational:D \b) (Rational:D \a, Int:D \b) (Int:D \a, Rational:D \b) (Instant:D $a, Instant:D $b) (… | ||
IOninja | Even signatures differ | ||
19:12
itaipu joined
|
|||
naxieAlDle | you should try with ∘ | 19:13 | |
m: say &infix:<∘> eqv &infix:<o> | |||
camelia | True | ||
IOninja | And all the quote combinations are parsed separately and there aren't any aliasing done | ||
naxieAlDle | m: say &infix:<!=> eqv &infix:<≠> | ||
camelia | False | ||
naxieAlDle | this one gives False because my PR is not ready yet | ||
IOninja | And you can't even substitute them exactly, because some unicode quotes you can nest, but you can't nest " | 19:14 | |
And ௰௰ is a syntax error, while 1010 isn't | 19:15 | ||
[Coke] | yah. docs are the place for that. Even if they are eqv in one compiler, there is no test guaranteeing that they would be in other ones. | 19:17 | |
IOninja | m: say ৷ | ||
camelia | 0.25 | ||
IOninja | m: "৷".uniname | ||
camelia | ( no output ) | ||
IOninja | m: "৷".uniname.say | ||
camelia | BENGALI CURRENCY NUMERATOR FOUR | ||
IOninja | Weird char. Says "numerator 4", but it's actually denominator that's 4 | ||
[Coke] | wonder if unicode bug | ||
IOninja | There's a whole bunch of them | 19:18 | |
u: BENGALI CURRENCY | |||
unicodable6 | IOninja, U+09F4 BENGALI CURRENCY NUMERATOR ONE [No] (৴) | ||
IOninja, U+09F5 BENGALI CURRENCY NUMERATOR TWO [No] (৵) | |||
IOninja, 6 characters in total: gist.github.com/1eb7945b14fc00ad2e...a3f3398213 | |||
zengargoyle | i was thinking more along the lines of one sub with a canonical texas name but some sort of annotation that these other aliases are equivalent. | ||
instead of just having two or more subs with different names where all the extra ones just call the first one instead. | 19:19 | ||
19:20
risou is now known as risou_awy
|
|||
[Coke] | zengargoyle: not all of these things are subs | 19:20 | |
we'd have to complicate the compiler elsewhere to potentially simplify that part. | |||
IOninja | zengargoyle: that's already a problem in the ops that started this discussion. The ≤ is not equivalent of <= | ||
m: say 1 <<≤>> 1 | |||
camelia | True | ||
IOninja | m: say 1 <<<=>> 1 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing << or >> at <tmp>:1 ------> 3say 1 <<<=>7⏏5> 1 expecting any of: infix infix stopper |
||
19:21
eroux left
19:23
darutoko left,
rindolf joined,
g0d355__ joined
|
|||
naxieAlDle | and all that for what? What problem are you solving? | 19:23 | |
zengargoyle | i'll take your word for it... i had just though of a module that could genereate various input method texas/unicode mappings and wanted to avoid the idea of having to keep a table of mappings up to date. | 19:24 | |
MasterDuke | i've heard mention of an 'aka' trait lizmat created at one point, but i don't think it still exists | 19:26 | |
zengargoyle | it seem a shame to have to grep the rakudo source for unicode named things and figoure out what texas thing they are. | ||
19:26
eroux joined
|
|||
IOninja | Rakudo is not Perl 6. We have the documentation for what Texas equivalents Perl 6 language provides: docs.perl6.org/language/unicode_texas.html | 19:27 | |
zengargoyle | and i don't count ² and the like as being texasifiable. | ||
[Coke] | zengargoyle: but you don't have to grep the source. You have the docs. | 19:29 | |
zengargoyle | heh, docs typed by humans sometimes don't match reality. | 19:30 | |
maybe when POD gets some steroids an annotation in the source will do. | 19:31 | ||
[Coke] | tbrowder: github.com/perl6/doc/issues/1238 is yours. | ||
zengargoyle | #| :aka('(&)') | 19:33 | |
[Coke] thinks that "mexico" form should just read "unicode" form. | 19:34 | ||
lizmat | MasterDuke: github.com/rakudo/rakudo/commit/33...e6af6fc5af # the demise of the "aka" trait | 19:35 | |
[Coke] appreciates the counterpoint to "texas", but it seems to be even more confusing. | |||
naxieAlDle always counted “mexico” form as the normal one | |||
lizmat | MasterDuke: if I recall correctly, the main reason it was removed, was because it would need a grammar change as well | 19:36 | |
MasterDuke: and it was felt that would slow down parsing too much | |||
tbrowder | [Coke]: i'll fix it. it's failing because i didn't close | ||
lizmat | MasterDuke: of course, nothing stopping you from putting it in the ecosystem :-) | ||
19:36
cdg joined
|
|||
[Coke] | tbrowder: i think it's missing a variable declaration. | 19:37 | |
tbrowder | *declare $string again | ||
MasterDuke | lizmat++ | 19:38 | |
zengargoyle | or if it's trunly a perl6 provided thing maybe a %*TEXAS that just says these are official 6.? things. | ||
[Coke] | tbrowder++ # thanks. | ||
tbrowder | forgot the test bot might hit there | ||
zengargoyle probably has more important p6 things to catch up on after being away for a while. | 19:40 | ||
19:40
spebern joined
|
|||
IOninja | zengargoyle: that ignores half the discussion that occured on the topic. Not all texas things map exactly equivalently and not all Unicode things make any sense entirely out of context (is "²" an No numeral or is that a power op?). Lastly, the %*TEXAS would be populated by a human, so if you don't like the docs populated by humans, I don't see how %*TEXAS makes the thing any better. | 19:40 | |
m: say ²² | |||
camelia | 4 | 19:41 | |
IOninja | ^ not a bug; the two ² each has different interpretation | ||
[Coke] | m: say ²²²²²²²²²²²²²²²² | ||
camelia | Numeric overflow in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
zengargoyle | one's parsing a document, the other is dumping a hash. | ||
naxieAlDle | there's a ticket for that, if I recall correctly | ||
IOninja | IMO that ticket should be closed. | 19:42 | |
zengargoyle | one requires external things, one doesn't | ||
naxieAlDle is not going to search for the ticket number then :PP | |||
zengargoyle | one can fail because the net is down, one can't | ||
lizmat starts working on the P6W: if there's something you want to make sure is in the Weekly, let me know! | |||
IOninja | zengargoyle: one's for Perl 6 language; the other's for a particular implementation; one's viewed by thousands of eyes, the other by a dozen. | ||
19:43
itaipu left
|
|||
IOninja | (to spot errors in it) | 19:43 | |
naxieAlDle | lizmat: ≤≥≠ and ⁇‼ come to mind | ||
lizmat | yes, they will be mentioned :-) | 19:44 | |
Geth | doc: hankache++ created pull request #1239: pod.pod6 pass xtest |
||
naxieAlDle | IOninja: oh, it's #126732, and there's also your comment | 19:45 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126732 | ||
19:45
jonas1 left
19:47
bjz joined,
spebern left
|
|||
RabidGravy | boom! | 19:49 | |
IOninja | naxieAlDle: nah, it's not from me. It's from Jul, 2016 Zoffix. Still a grasshopper. | 19:52 | |
Geth | doc/master: 4 commits pushed by (Naoum Hankache)++, (Will Coleda)++ | 19:53 | |
IOninja | naxieAlDle: and the reason I think it should be closed right now is that adding any sort of warnings for that case is catering to like 0.00000000000000001% of coders who'll write this by accident and actually mean something different | 19:55 | |
naxieAlDle | IOninja: well, consider leaving a comment | ||
maybe next time we get this discussion we can close it | 19:56 | ||
zengargoyle | samcv: when i last looked, the ibus compose user defined table was an sqlite db with a small number of columns for the mappings (like 4 or 5) thus limiting the possibilities. i have a bunch of XCompose things that are long sequences that wouldn't fit. | ||
naxieAlDle | though I'd argue that the behavior is LTA and needs a warning | ||
IOninja | I'll close it right now. | ||
naxieAlDle | :O | ||
IOninja | Why does it need a warning? ² is an No, and we allow Nos as numerals | ||
m: say ² | |||
camelia | 2 | ||
19:57
g0d355__ left
|
|||
naxieAlDle | but ²² is syntactical nonsense | 19:57 | |
IOninja | No, it's not | ||
It's an `No` char with Mexico **2 | |||
zengargoyle | samcv: for instance i think (elem) was too long to actually work with the ibus compose system whereas compose-lightbulb works fine with XCompose | ||
IOninja | m: say ²**2 | 19:58 | |
camelia | 4 | ||
IOninja | m: say ²² | ||
camelia | 4 | ||
19:58
domidumont left
|
|||
naxieAlDle | so? | 19:58 | |
IOninja | The only reason it looks weird is because we also have No chars as ops. | ||
naxieAlDle: "so?" what? | |||
naxieAlDle | Just because rakudo is able to parse it doesn't mean this should work | ||
[Coke] | if you want to change it, naxieAlDle, please add a note to the 6.d docs | ||
It was added knowing that it looked weird, but was felt it was worth it to get 2² working in time for christmas. | 19:59 | ||
IOninja | naxieAlDle: No, just because Perl 6 allows `No` chars as numerals doesn't mean we should special-case some subset of them just because they're postfixed by a particular op | ||
naxieAlDle | [Coke]: wait, change what? | 20:00 | |
[Coke] | If you don't want ²² to mean 2**2 | ||
IOninja | naxieAlDle: I can phrase it differently: what do you feel the generated warning should accomplish? | 20:01 | |
And what would it say? | |||
zengargoyle | footnote 22 | ||
:) | |||
20:02
naxieAlD` joined
|
|||
zengargoyle | footnote 22 applied to no item | 20:02 | |
can't raise nothing to the 22nd power | 20:03 | ||
IOninja | It's not 22nd power. | ||
zengargoyle | sure it is, if you wrote that in a math paper people would go 'huh?' | ||
20:04
risou_awy is now known as risou,
naxieAlDle left
|
|||
IOninja | Perl 6 looks for a term and it finds it: one No char. It then looks for an operator, and it finds it: raise to power of 2 | 20:04 | |
[Coke] | there's "what it means in rakudo today" and "what people thing it should mean" - might help to be clear about which meaning you're meaning. | ||
zengargoyle | why doesn't it find 22 | ||
IOninja | zengargoyle: we're not writing in a math paper. If you wrote 1/0 == Inf in a math paper, people would go "huh?" | 20:05 | |
zengargoyle: because you can't chain No chars. | |||
[Coke] | zengargoyle: because that's not the grammar is written. :) | ||
[Coke] adds a *how* in there. | |||
20:05
Ven left
|
|||
IOninja | To me it looks no different than: | 20:06 | |
20:06
naxieAlD` is now known as naxieAlDle
|
|||
IOninja | m: say ፪² | 20:06 | |
camelia | 4 | ||
IOninja | A warning assumes a programmer most likely made a mistake and needs to check their code. | ||
And in this case people write ²² and say it looks yuky, when it's just ፪² written using a different No char. | 20:07 | ||
¯\_(ツ)_/¯ | |||
naxieAlDle | yes, that's right | 20:08 | |
I can't imagine anybody writing ²² on purpose | |||
IOninja | hah | ||
naxieAlDle | and that's why it should warn | ||
IOninja | Why warn and not throw? | ||
naxieAlDle | a compile-time error is ok too, yes | 20:09 | |
20:09
Ven joined
|
|||
[Coke] | naxieAlDle: should ፪² warn/error ? | 20:09 | |
naxieAlDle | no | ||
20:09
FROGGS left
|
|||
[Coke] | or just ²² ? | 20:09 | |
naxieAlDle | yes | ||
20:09
mr-foobar joined
|
|||
[Coke] | ok. I disagree. | 20:10 | |
MasterDuke | pistols at high noon! | ||
IOninja | :) | ||
MasterDuke | who volunteers to be ²nds? | 20:11 | |
zengargoyle | a superscript has to have something non-superscript to superscript | ||
it's messing up the levels by forcing a superscript to a non-superscript | 20:12 | ||
IOninja | zengargoyle: it does. An No char that is a valid numeral in Perl 6. | ||
naxieAlDle: someone on the Internet is being mean: twitter.com/secolive/status/838828860317777921 | |||
naxieAlDle | IOninja: at least he agrees that ≤ ≥ ≠ is a great idea! XD | 20:13 | |
zengargoyle | maybe we should just got full latex mode as the texas | ||
naxieAlDle | (at least that's how I read it) | ||
or wait, was it a quote of you | |||
naxieAlDle needs to learn twitter | 20:14 | ||
IOninja | naxieAlDle: yes, it was a quote: twitter.com/zoffix/status/838709592364355584 | ||
with "stupidest idea ever" added. | |||
naxieAlDle | bisect: old=2015.07 say ½ | 20:15 | |
bisectable6 | naxieAlDle, Bisecting by exit code (old=2015.07 new=9da50e3). Old exit code: 1 | ||
naxieAlDle, bisect log: gist.github.com/e96726c12d6dd85ae5...68fdc25445 | 20:16 | ||
naxieAlDle, (2015-11-24) github.com/rakudo/rakudo/commit/8e...7b4d24366b | |||
zengargoyle | it's a mapping of a high resolution 2d space into a low resolution 2d space that's almost 1d space and a cognitive overload to ignore size in preference to order. | 20:17 | |
bit+little makes sense, little+little is the same as big+big | |||
if ²² was 2² then the second ² of the former should be tinnier than the first ². but it isn't | 20:19 | ||
naxieAlDle | meh | 20:20 | |
20:20
risou is now known as risou_awy
|
|||
naxieAlDle | let me just implement the freaking error | 20:20 | |
zengargoyle | you're forcing a mental focus when reading left to right of a thing that is seen as a single item, a ²² | ||
raschipi | zengargoyle: Now you're complaining about Unicode bugs. We don't fix those. | ||
zengargoyle | lol | 20:21 | |
raschipi | We could complain, you can bother if you want. | ||
IOninja | naxieAlDle: please profile performance of the change. | ||
cale2 | How do you build docs for a module you download through zef? | 20:22 | |
perl6 --doc=HTML Mod::Name > mydocs.html | |||
IOninja | That's the way.... if it has Pod docs. | 20:23 | |
zengargoyle | is POD still so wonky that the module has to compile before you can read the docs? | ||
[Coke] | glun | 20:24 | |
zengargoyle grumbles | |||
20:24
vendethiel joined
|
|||
[Coke] | weird, oops | 20:24 | |
20:24
spebern` joined
|
|||
geekosaur | I think there just isn't a way to extract pod by itself yet, we use the compiler to extract it | 20:24 | |
otoh I'm not sure ways to do it without the compiler are very viable | 20:25 | ||
[Coke] | you use the compiler to extract the pod, yes. | ||
cale2 | Do I have to be in the same directory as the module? Even if i downloaded it through zef? | ||
zengargoyle | i pretty much agree. | 20:26 | |
cale2 | It says "could not open mule. Failed to stat file: no such file" | ||
IOninja | mule.... | ||
wat | |||
cale2 | module hahah | ||
IOninja | heh | ||
perlpilot | you're supposed to ride mules, not open them | ||
naxieAlDle | IOninja: what would be the best way to profile compilation time? | ||
zengargoyle | that was the other rub... once installed the module source is some hashed thing lost in the CUR or such.. hard to find. | 20:27 | |
MasterDuke | --profile-compile | ||
zengargoyle | is there a `perldoc -m` type of thing yet? | 20:28 | |
perlpilot | At least in P5 we have `perldoc -l My::Module` | ||
zengargoyle | yeah, that too | ||
perlpilot | It feels weird that p6doc would be the place for such a feature (but at least it's consistent with P5) | ||
cale2 | Okay, so let's say I cloned the repo for the module (which I did). Then I cd into the directory. Do I have to run `perl6 --doc=HTML` on a specific file? | ||
or do i run it on the general directory | 20:29 | ||
zengargoyle thinks that's just a lack of tuits | |||
perlpilot | zengargoyle: maybe P6 could get some built-in pmtools | ||
IOninja | cale2: or maybe it's perl6 --doc=HTML -MMod::Name -e'' | 20:30 | |
does perl6 -MMod::Name -e '' work; can it find the module? | |||
20:30
mrdside joined
|
|||
mscha | m: say ₂; | 20:30 | |
camelia | 2 | ||
mscha | m: say ₂₂; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3say ₂7⏏5₂; expecting any of: infix infix stopper postfix statement end statement modifier s… |
||
20:30
mrdside left
|
|||
cale2 | maybe i have to do "- ILIB" i've seen that before | 20:30 | |
so it searches in all the folers | 20:31 | ||
folder | |||
IOninja | m: say ₂² | 20:32 | |
camelia | 4 | ||
mscha | m: say ²₂; | 20:33 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3say ²7⏏5₂; expecting any of: infix infix stopper postfix statement end statement modifier st… |
||
20:33
Sound left
|
|||
IOninja | Two `No` chars. Can't chain those. | 20:34 | |
mscha | Ah, so there's unicode digits and numbers, and ₂ is a number, not a digit. | ||
[Coke] | aye. | 20:35 | |
mscha | I.e. 2¹² is special cased. | ||
m: 2¹² | |||
camelia | ( no output ) | ||
mscha | m: say 2¹² | ||
IOninja | naxieAlDle: EVAL '$ = 2²;' x 1000; maybe, but right, that'd be just compile time change, so I doubt it matters much, so never mind :) | ||
camelia | 4096 | ||
[Coke] | superscripts-as-powers is a different part of the grammar, yes. | ||
cale2 | ok, I ran perl6 --doc=HTML on an individual file. It looks bad | 20:36 | |
[Coke] | github.com/rakudo/rakudo/blob/nom/....nqp#L4234 | ||
zengargoyle | has anyone done serious POD6 work in the past year? i tried to implement =data a while back and i think shimmerfairy was doing some POD6 work but i've lost track. | 20:37 | |
cale2 | I am on a mission from God to make docstrings work well | 20:38 | |
[Coke] | shimmerfairy was working on it... over a year ago, IIRC, near "Christmas" | ||
MasterDuke | zengargoyle: i think tbrowder was working on it some | ||
zengargoyle | i had =data working but couldn't figure out how to get it into rakudo vs as a hacked rakudo + a module | ||
cale2 | zengargoyle: you have a github repo for it? | 20:39 | |
design.perl6.org/S26.html#How_Pod_i..._processed You plug in your own module somehow | 20:40 | ||
zengargoyle | i have it around somewhere i think in a git but not github. i had to create %*DATA or whatever it was in a pure perl6 module way but could not figure out how to get it into settings or whatever so that it would be there from the start. | 20:41 | |
tbrowder | [Coke]: i'm not going to be able to fix docs for a while--still on the road | 20:42 | |
[Coke] | tbrowder: no worries. | 20:43 | |
just wanted to make sure I'm not the only one running xtest. :) | |||
zengargoyle | i got lost in the nqp stuff and boxing and unboxing and yadda yadda. it was a pretty simple cut-n-paste of some other block type but removing the whitespace smushing. | ||
and you could get it from some deep dive into the %*POD but i couldn't figure out how to move it into %*DATA (or whatever as memory fails me) | 20:45 | ||
IOninja | naxieAlDle: fwiw, it's kinda sucky to ruin a nice and short rule: "you can use No, Nd, and, Nl as a numeral".... Now it'd be "except for this subset of No, followed by non-texan power operators" | 20:49 | |
m: [++$] | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version at <tmp>:1 ------> 3[++$]7⏏5<EOL> |
||
IOninja | On the level of this ^ LTAness | 20:50 | |
"What the hell is a $] variable? What are you talking about? I'm using $ state var" | |||
mscha | m: [ ++$ ] | 20:51 | |
camelia | ( no output ) | ||
20:51
bwisti joined,
cale2 left
|
|||
raschipi | It looks like $] to me. | 20:52 | |
IOninja | $] is not a valid variable name. | ||
So telling me it's not supported when I didn't even attempt to use it is dumb. | |||
raschipi | You did attempt to use it, I can see it right there. | 20:53 | |
IOninja | raschipi: well, get your eyes checked then. | ||
raschipi | m: [++$] # <-- It's right here. And the code is also missing a ']'. | 20:54 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version at <tmp>:1 ------> 3[++$]7⏏5 # <-- It's right here. And the code is |
||
geekosaur | IOninja, $] is an obsolete perl 5 thing | ||
perlpilot | Rakudo could be a little smarter about when to mention $] | 20:56 | |
IOninja | geekosaur: exactly. Even in Perl 5 it's obsolete. Why are we warning about it. | ||
perlpilot | IOninja: oh, you're saying to totally remove the warning? I can get behind that. | 20:57 | |
geekosaur | because you get folks like red hat who ship ancient perl versions | ||
IOninja | It's not the first time these Perl 5 issues crept up in my code. I'm not writing Perl 5. I'm not writing Ruby. I'm not writing Python. I'm writing Perl 6. And I wrote valid Perl 6. | ||
IOninja yells at the cloud. | 20:58 | ||
geekosaur | and folks who wrote a script in perl 3 and didn't bother changing it to use $^V when that became available | ||
IOninja | m: { $^V.say }(42) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of $^V variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version at <tmp>:1 ------> 3{ $^V7⏏5.say }(42) |
||
IOninja | Another one. | ||
geekosaur | as I said earlier, many perl 6 behaviors came from assuming perl 5 baseline and haven't really been reexamined since | 20:59 | |
IOninja | raschipi: $] is not a valid variable. | ||
geekosaur | even though perl 6 has very definitely gone its own way in the meantime | ||
raschipi | Why did you use it, then? | ||
perlpilot | IOninja: perhaps petition TimToady about these? | ||
geekosaur | it's not $] | ||
IOninja | raschipi: I didn't. I've used an anonymous var. | ||
geekosaur | it's an anonymous state variable, $ | ||
IOninja | m: { $^X.say }(42) | 21:00 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of $^X variable; in Perl 6 please use $*EXECUTABLE-NAME at <tmp>:1 ------> 3{ $^X7⏏5.say }(42) |
||
IOninja | another one.... | ||
m: { $*EXECUTABLE-NAME.say }(42) | |||
camelia | perl6-m | ||
IOninja | Thanks, compiler! That's exactly what I wanted. | ||
perlpilot | In the past I've lauded that Rakudo partially parses Perl 5 and helpfully reminds you that you're using Perl 6, but when it gets in the way rather than be helpful it is LTA | 21:02 | |
21:03
_28_ria left
|
|||
geekosaur | isn't there a way to turn those off yet? | 21:03 | |
it's been discussed before (and how they escape "no worries;") | 21:04 | ||
IOninja | I never understood Perl 6's obsession with Perl 5, TBH. Possibly because I came in after the whole "Perl 6 is a different language" thing took root. In that context whining about variables from another language just makes little sense... | ||
21:04
risou_awy is now known as risou
|
|||
IOninja | m: no worries; $; | 21:04 | |
camelia | WARNINGS for <tmp>: Useless use of unnamed $ variable in sink context (line 1) |
||
IOninja | hey it worked! :) | ||
Clearly it's a bug. It needs to whine about $; variable | 21:05 | ||
m: no worries; [++$] | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version at <tmp>:1 ------> 3no worries; [++$]7⏏5<EOL> |
||
IOninja | wow, there's a whole ton of them: github.com/rakudo/rakudo/blob/nom/...1925-L2085 | 21:06 | |
21:07
Ven left
|
|||
geekosaur | IOninja, it's not so much "Perl 6 is a different langauge" so much as the focus shifting from "Perl 5 users will upgrade, of course" to "let them do what they will; focus on being Perl 6" | 21:08 | |
which is why there are so many things that are either warnings for perl5 people or changes in behavior that try to mimic perl 5 in some sense while avoiding perl 5's idiosyncratic nature | |||
timotimo | what we need to do is not give old perl5 vars the "longest token" | 21:10 | |
IOninja | And those warnings sound completely whack for someone who never coded Perl 5. They should probably reworded "Perl 5 usage detected: use blah instead of blah" | 21:11 | |
mscha | m: say; # Another one, I wish it'd print an empty line, like: say ''; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of bare "say"; in Perl 6 please use .say if you meant to call it as a method on $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun at <tmp>:1 --… |
||
IOninja | "Don't use $^X, use $*EXECUTABLE-NAME" sounds weird and very wrong, when I did in fact meant $^X | ||
The Perl 6's $^X, not some other language's $^X | |||
geekosaur | tbh at this point I would (a) reword like IOninja said (b) make most of them warnings and treat them as p6 | 21:13 | |
but, as I said, the default at the time was to cater to upgrading perl 5 programmers | |||
because they were assumed to be the ones who'd be the early adopters | 21:14 | ||
(whereas in reality, who here has a significant perl 5 background other than mst and myself?) | |||
IOninja | I have 10 years under the belt. | ||
But I'm writing Perl 6, not Perl 5. And the compiler telling me not to use Perl 5 things when I'm using Perl 6 things is annoying :) | 21:15 | ||
RabidGravy has been doing perl for ~25 years | 21:16 | ||
IOninja | Some seem bogus too? I can't figure out how to trigger this obsbrace token: github.com/rakudo/rakudo/blob/nom/...4953-L4957 | ||
21:16
raschipi left
|
|||
IOninja | m: say qq"0o{" | 21:16 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in double quotes; couldn't find final '"' at <tmp>:1 ------> 3say qq"0o{"7⏏5<EOL> expecting any of: double quotes term |
||
perlpilot | RabidGravy: man you're old! ;) | ||
geekosaur | right, my point is theres a small number of us. not 300 out of the 330 people in this channel, likely not a majority of early adopters | ||
mscha | m: no perl5-errors; say [++$]; | ||
camelia | ===SORRY!=== Don't know how to 'no perl5-errors' just yet |
||
21:17
Ven joined
|
|||
geekosaur has been using perl since perl 3.0.0 was released | 21:17 | ||
IOninja | sheesh, I wasn't even born then! | ||
mscha: I'd go for `use perl5-errors`. So any perl5 programmer can plug it in while learning. | |||
perlpilot | IOninja: man you're young! ;) | ||
IOninja | In fact, can be a module, `use pythong-errors`, `use ruby-errors` that are slangs | 21:18 | |
geekosaur | pythong? mind the straps! | ||
perlpilot notes for the record that he's been doing perl for as long at RabidGravy (yes, I'm old :) | |||
IOninja | Larry 3.000 1989-Oct-18 | ||
Well, I was three years old | 21:19 | ||
RabidGravy | I was still an assistant film editor making adverts when that came out :) | ||
21:19
bjz left
21:21
Ven left
21:22
risou is now known as risou_awy
|
|||
timotimo | IOninja: does that mean you're now 6 years old because we're on perl 6? | 21:23 | |
21:23
eroux left
|
|||
lizmat only clocks in at almost 23 years of Perl | 21:23 | ||
21:23
rindolf left
21:24
labster joined
21:25
Ven joined
|
|||
timotimo | lizmat: you're good for a weekly tonight? | 21:27 | |
lizmat | yes, almost done | ||
do you have something I should mention ? | |||
timotimo | no, just checking in to see if everything's good :) | 21:28 | |
lizmat | yeah, last week's was a bit late because of AmsterdamX.pm meeting and travel back home | ||
this one should be here in about 30 mins or so | |||
now, if someone would add another 9 tests to roast, I could mention we broke the 56K barrier :-) | 21:29 | ||
*nudge* | |||
:-) | |||
IOninja | timotimo: I wish :) | ||
lizmat: multiple tests inside a subtest only count as one test tho :) It's way more than 56K, even for spectest | 21:30 | ||
lizmat | true | ||
mscha | m: my $bag = bag <🔴 🔴 🔴 🔴 🔴 🔴 🔵 🔵 🔵 🔵>; say $bag.pick(3); # Unicode rulez | 21:32 | |
camelia | (🔴 🔴 🔵) | ||
timotimo can see none of these | 21:33 | ||
naxieAlDle | heh, today everyone is unhappy for some reason | ||
jnthn | .oO( It took my village some years to break the 56K barrier... :-) ) |
||
timotimo | and in my browser they look the same :\ | ||
mscha | OK, Unicode rulez when it works right. 🙁 | 21:34 | |
IOninja | m: my $bag = bag <🔴 🔴 🔴 🔴 🔴 🔴 🔵 🔵 🔵 🔵>; $bag.pick(20).say | 21:36 | |
camelia | (🔴 🔵 🔴 🔴 🔴 🔵 🔴 🔵 🔴 🔵) | ||
21:51
Ven left
21:55
Ven joined
22:02
Ven left
|
|||
RabidGravy | no I'm perfectly happy | 22:04 | |
IOninja | me too.. | ||
22:05
risou_awy is now known as risou
22:08
wamba left
|
|||
lizmat | And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/03/06/...elative-≥/ | 22:09 | |
22:11
darthdeus_ joined
22:12
mcmillhj left
|
|||
moritz | lizmat++ | 22:13 | |
darthdeus_ | hey guys, I have a silly question ... if I want to use perl6, is it worth getting a perl 5 book? so far I've been liking perl6 so much that I want it to become my go-to scripting language, but at the same time perl5 is available everywhere | ||
IOninja | darthdeus_: Perl 5 is a different language. | 22:14 | |
moritz | darthdeus_: how about getting a Perl 6 book instead? I'm writing one right now leanpub.com/perl6 and you can buy an early version already | ||
darthdeus_ | IOninja: I realize it's a different language in a lot of ways, but don't lots of the thought processes carry over? | 22:15 | |
IOninja | darthdeus_: it's pretty easy to install Perl 6 too. And the perl5 that's available is often without proper localization of modules and stuff, so you'd generally have to build it from scratch to avoid messing up system perl, same as with perl 6. | ||
22:15
RabidGravy left
|
|||
IOninja | darthdeus_: I'm of the opinion that knowing Perl 5 intereferes with learning Perl 6. | 22:15 | |
darthdeus_ | yeah that's a fair point ... I mean I already have like a 2 command setup to install perl6 in my dotfiles :D | 22:16 | |
IOninja | darthdeus_: can't really think of anything that got carried over. The name of "map" and "grep" routines maybe.... and the name of the creator of the language. The rest is different. | ||
darthdeus_ | moritz: how complete is it? | ||
moritz: I mean I see 60% complete, but is it worth getting at the moment? | |||
IOninja | huggable: books | 22:17 | |
huggable | IOninja, "Perl 6 At A Glance" deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": shop.oreilly.com/product/0636920065883.do | ||
IOninja | darthdeus_: if you like dead-tree version, the first one in that list is already complete | ||
darthdeus_ | IOninja: awesome! I love dead trees :P | ||
which one would you say is the most "straight to the point"? I don't really want a beginner book that explains what a loop is | 22:19 | ||
IOninja | lizmat would likely know.... | 22:20 | |
lizmat++ good weekly. | 22:21 | ||
naxieAlDle | yes, lizmat++ | ||
looking at these twitter responses makes me think we should do that stuff more often… | |||
IOninja | Yeah | ||
I decided on Friday to tweet "a tip a day" sort of thing daily. | 22:22 | ||
And even those mean retweets... It's still exposure to 1000s more people. | |||
22:23
risou is now known as risou_awy
|
|||
sena_kun | about the new ops(not like my opinion matters, just thought): *cough* h**kell and some similar languages, like a*da *cough* have such operators builtin or as a compiler extension for years and nobody complaints. :/ Double standards are strange. | 22:24 | |
IOninja | It's trendy to hate on Perl tho. | ||
naxieAlDle | I wouldn't bet that these people actually know about other languages | 22:26 | |
so probably not the double standards thing, just “my favorite language doesn't have this, so you suck” | |||
geekosaur | one difference is people may be thinking you;re expected to uyse them, like in apl | ||
none of the *standard* operators require unicode in haskell | 22:27 | ||
expected or required | |||
this is in some part marketing | |||
IOninja | Yeah | ||
geekosaur | (also, people *do* grump when encountering Haskell code with -XUnicodeSyntax enabled) | ||
naxieAlDle | that being said, they're right the they will *have* to see these ops in code written by others | 22:28 | |
IOninja | naxieAlDle: two of the people who said it's a "stupid [f*cking] idea [ever]" work in infosec. | ||
lizmat | darthdeus_: Perl6 at a glance one could argue has the broadest, but also shallowest coverage of Perl 6 for programmers | ||
darthdeus_: Think Perl 6 is specifically intended to teach you how to program, using Perl 6 | |||
sena_kun | geekosaur, well, it can be, I've never seen it myself because of lack of experience. :) | ||
IOninja | naxieAlDle: tho one that actually bothered to reply to my questions couldn't come up with anything reasonable as to why | ||
sena_kun | s/it/grumping/ | 22:29 | |
lizmat | darthdeus_: so that would not really be what you're looking for | ||
darthdeus_: Perl 6 By Example is more in depth, and as the title mentions, by example :-) | |||
darthdeus_: people learn in different ways: some by example, some be exposition, some by who knows what :-) | 22:30 | ||
IOninja | naxieAlDle: the meanest one has 1600+ followers; I suppose there's a lot of "twitting anything to get the daily 'likes' fix" going on too | ||
naxieAlDle | IOninja: the one with his grep argument? Maybe somebody should tell him that grepping for things is easier whe unicode quotes are used… | ||
moritz | darthdeus_: I expect to put another 40% of effort in it | ||
IOninja | naxieAlDle: I think the grep argument was about that he's not only needs to grep for `<=` but also for the unicode op... Which is pretty inane | ||
moritz | darthdeus_: so, the manuscript is finished about 80% or 90% by volume, plus lots of more work editing etc. | 22:31 | |
darthdeus_ | lizmat: I guess Perl 6 by example is probably what I want then, hehe | ||
moritz | darthdeus_: and if you buy it now, you'll receive free updates | ||
darthdeus_ | lizmat: thanks! | ||
moritz: any plans for a dead-tree version in the future? | |||
geekosaur | there is something of a "gentleman's agreement" to avoid unicode or NLS characters, aside from maybe comments (and even that seems frowned upon) | ||
moritz | darthdeus_: vague plans, yes | 22:32 | |
lizmat | geekosaur: that feels like an WASP agreement to me | ||
22:32
skids left
|
|||
sena_kun | well, my five cents are already here for today, so 'night, folks. | 22:32 | |
IOninja | WASP? The security thing? | ||
lizmat | gnight sena_kun | ||
moritz | darthdeus_: I want get a publisher on board for that, and one is already mildly interested | ||
IOninja | night | ||
moritz | \o IOninja | ||
lizmat | IOninja: en.wikipedia.org/wiki/White_Anglo-...Protestant | 22:33 | |
IOninja | that was to sena_kun | ||
naxieAlDle | hehe, well, then Whateverable project is the most ungentlemanly thing ever :P | ||
IOninja | Ah.. and security thing is OWASP not WASP | ||
22:33
sena_kun left
|
|||
geekosaur | yes and no. not everyone has utf8 tooling, not everyone is equipped to decode even something like ş. (even someone working in, say, Chinese is unlikely to be able to handle anything outside of iso8859-1 for non-Chinese characters) | 22:33 | |
in a world when I can be working on a project with people spanning 20 scripts, there is something to be said for sticking to a common set that all can handle | 22:35 | ||
and, sadly, utf8 support is *still* not reliably available enough for that to be the common set :( | |||
naxieAlDle | .oO( but… but… 2017?… ) |
22:36 | |
geekosaur | no flying cars either... | ||
moritz | well yes, they're just called helicopters | 22:37 | |
and are kinda expensive, and hard to fly | 22:38 | ||
22:40
lichtkind joined
|
|||
geekosaur | but yes, 2017. I still run into stuff that doesn't handle utf8, or only handles very simple cases. And it constantly ***s me off. | 22:42 | |
22:48
espadrine left
|
|||
Geth | whateverable: 588cf18c38 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6 Remove last occurances of texas quotes For all you gentlemen out there. |
22:49 | |
22:50
ggoebel left
|
|||
naxieAlDle | two spelling mistakes | 22:50 | |
good job | |||
geekosaur | and I don;t know a good alternative for "gentlemans agreement" especially considering that I do consider both the phrase itself and many of its common implementations warty at best... and usually intend to reference the warts when I use it | 22:51 | |
22:51
vendethiel left
|
|||
geekosaur | so you;re not entirely wrong to snark abut it | 22:52 | |
just, here there is actually *some* sense to it even though there really shouldn't be at this point and in some ways it's holding back getting all the tooling fixed :/ | |||
but, perl 6 is the wrong place (both the language and the channel) to tilt at *that* windmill | 22:53 | ||
Geth | whateverable: e114ae94bc | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6 Remove last occurrences of texas quotes For all you gentlemen out there. |
22:55 | |
naxieAlDle | kids, don't do this at home :P | ||
23:02
ggoebel joined
23:03
kaare_ left
23:05
kaare_ joined
23:06
risou_awy is now known as risou
|
|||
IOninja | Why do people tilt at windmills? | 23:07 | |
geekosaur | ask don quixote | ||
IOninja | Ah, tilting is jousting. OK | 23:08 | |
en.wikipedia.org/wiki/Tilting_at_w...#Etymology | 23:09 | ||
23:17
bwisti left,
bwisti joined,
bwisti left
|
|||
IOninja | interesting... adding %*ENV<FOO> && nqp::say("blah blah") in every method in src/core/IO/ makes parsing like 25s slower | 23:19 | |
Unless the slowing is due to some other reason :/ but usually my stage parse is ~70 secs. Now it's 92s | |||
23:23
risou is now known as risou_awy
|
|||
geekosaur wonders how much it drops if you explicitly make it an exists check instead of something that could look up the value | 23:23 | ||
IOninja | (looks like something else; can't repro with EVAL) | ||
m: use MONKEY; my %ENV; $ = EVAL 'use nqp; ' ~ '0 && nqp::say("foo"); ' x 1000; say now - INIT now | |||
camelia | 1.041535 | ||
IOninja | m: use MONKEY; $ = EVAL 'use nqp; ' ~ '%*ENV<foo> && nqp::say("foo"); ' x 1000; say now - INIT now | ||
camelia | 1.624572 | ||
lizmat | %*ENV<FOO> makes things slower | 23:24 | |
geekosaur | yes, Id expect that | ||
lizmat | you might want to look at how I handled RAKUDO_MODULE_DEBUG | ||
IOninja | Well, yeah, but not by 20s :D | ||
geekosaur | need to cache the nqp::lookupenv and do exists checks on it, not redo all of it every time | ||
(this is not a general optimization of course, unless you can verify nothing can change your cached reference out from under you( | 23:25 | ||
23:29
Cabanossi left
|
|||
IOninja | I just run stuff like `perl -pi -e 'next if /\bproto\b/; s#(\s*(?:multi\s+)?(method|submethod|sub)\s*([^\s({]+)[^{]+\{)#$1 %*ENV<FOO> && nqp::say("src/core/io_operators.pm: $2 $3");#g' src/core/io_operators.pm` | 23:30 | |
And it lets me trace calls. | |||
23:30
Cabanossi joined
|
|||
lizmat | IOninja: eh, if you want that, did you try "use trace"? | 23:31 | |
m: use trace; my $a = 42; no trace; say $a | |||
camelia | 2 (<tmp> line 1) my $a = 42 42 |
||
lizmat | m: use trace; my $a = 42; say $a | ||
camelia | 2 (<tmp> line 1) my $a = 42 3 (<tmp> line 1) say $a 42 |
||
IOninja | lizmat: not sure what that does, but the output is much different from my sticking-nqp-say method: gist.github.com/zoffixznet/b5761cd...5cb2a17eef | 23:33 | |
s/sub method/submethod BUILD/; # ran it before I fixed my regex | 23:34 | ||
lizmat | use trace basically tells the parser to keep the source around and print it just before executing a statement | ||
no trace switches that off (during compilation) | |||
IOninja | Ah. | ||
lizmat | so it may be a bit overkill for what you want :-) | 23:35 | |
IOninja | I also don't know how to turn it on for setting... | ||
like, so it prints which routines get called in the setting... | 23:36 | ||
23:37
nadim joined
23:39
nadim__ left
|
|||
Geth | doc: 4c0eb45b6c | (Tom Browder)++ | doc/Type/Str.pod6 declare $string so xt test passes |
23:43 | |
23:43
thundergnat joined
|
|||
thundergnat | m: my $x = <x>; my @x; @x = $x xx 10; say @x; @x[4] = <o>; say @x; | 23:47 | |
camelia | [x x x x x x x x x x] [x x x x o x x x x x] |
||
thundergnat | m: my $y = <y>; my @y; @y[0] = $y xx 10; say @y; @y[0][4] = <o>; say @y; | ||
camelia | [(y y y y y y y y y y)] [(o o o o o o o o o o)] |
||
thundergnat | Another case of DWIM vs. WAT. | ||
I see what it is doing, and I understand why, but it took me a good 20 minutes to figure out why my multi dim arrays were behaving so strangely. | 23:48 | ||
IOninja | What is it doing and why? | 23:49 | |
They all share the container? | 23:50 | ||
SmokeMachine | If they share, why that don't on the first example? | 23:51 | |
thundergnat | It probably is a consequence of the single argument rule. | 23:52 | |
IOninja | No, arrays give containers | ||
thundergnat | It only seems to special case the first level of an array. | 23:53 | |
IOninja | While Seqs don't, so you've just repeated your $y container 10 types and they all get updated when you update either $y or any of the same containers in the list inside the array | ||
thundergnat: there's only one array with only one level there... | |||
SmokeMachine | m: @a = $ xx 3; $b = $ xx 3; .WHERE.say for @a; .WHERE.say for @b | 23:54 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '@a' is not declared at <tmp>:1 ------> 3<BOL>7⏏5@a = $ xx 3; $b = $ xx 3; .WHERE.say for |
||
SmokeMachine | m: my @a = $ xx 3; my $b = $ xx 3; .WHERE.say for @a; .WHERE.say for $b | 23:55 | |
camelia | 29300088 29300088 29300088 140719025739536 |
||
SmokeMachine | m: my @a = $ xx 3; my $b = $ xx 3; .WHERE.say for @a; .WHERE.say for @$b | ||
camelia | 41411960 41411960 41411960 41411960 41411960 41411960 |
||
SmokeMachine | m: my @a = ($ = 3) xx 3; my $b = ($ = 3) xx 3; .WHERE.say for @a; .WHERE.say for @$b | 23:56 | |
camelia | 140622879646880 140622879646880 140622879646880 140622879646880 140622879646880 140622879646880 |
||
SmokeMachine | m: my @a = ($ = 3) xx 3; my $b = ($ = 3) xx 3; .VAR.WHERE.say for @a; .VAR.WHERE.say for @$b | ||
camelia | 140177405850784 140177405850784 140177405850784 140177405850784 140177405850784 140177405850784 |
||
IOninja | m: my $y = <y>; my @y; @y[0] = [$y xx 10]; say @y; @y[0][4] = <o>; say @y; | 23:58 | |
camelia | [[y y y y y y y y y y]] [[y y y y o y y y y y]] |
||
naxieAlDle | c: 2015.10 my $y = <y>; my @y; @y[0] = $y xx 10; say @y; @y[0][4] = <o>; say @y; | 23:59 | |
committable6 | naxieAlDle, ¦2015.10: «[(y y y y y y y y y y)]Cannot assign to a readonly variable or a value in block <unit> at /tmp/N9kVspoh_d:1 «exit code = 1»» | ||
naxieAlDle | I think I like this more ↑ | ||
23:59
Cabanossi left
|
|||
IOninja | Now two levels, with Array at each, and it gave containers, and you got no duplication. | 23:59 |