»ö« 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. |
|||
DnAeillaxe | except that it cannot gist the stuff because it breaks somewhere | 00:00 | |
IOninja | lol | ||
DnAeillaxe | u: { so $_ > 0x000B and .chr ~~ /\n/ } | ||
unicodable6 | DnAeillaxe, U+000C <control-000C> [Cc] (control character) | ||
DnAeillaxe, U+000D <control-000D> [Cc] (control character) | |||
DnAeillaxe | u: { so $_ > 0x000D and .chr ~~ /\n/ } | ||
unicodable6 | DnAeillaxe, U+0085 <control-0085> [Cc] (control character) | ||
DnAeillaxe, U+2028 LINE SEPARATOR [Zl] ( ) | |||
DnAeillaxe, U+2029 PARAGRAPH SEPARATOR [Zp] ( ) | |||
DnAeillaxe | u: { so $_ > 0x2029 and .chr ~~ /\n/ } | 00:01 | |
unicodable6 | DnAeillaxe, Found nothing! | ||
DnAeillaxe | okay | ||
e: say ‘hello world’ | |||
evalable6 | DnAeillaxe, Full output: gist.github.com/04a78a16e457c6a2be...a3c25e60fe | ||
(exit code 1) 04===SORRY!04=== Error while compiling /tmp/FNiDpajJoH Unable … |
|||
IOninja | mc: say "\x[2029]" ~~ /\n/ | ||
committable6 | IOninja, ¦2015.12: «「 」» | ||
IOninja | weird | ||
DnAeillaxe | so this one is broken as well | ||
2028 and 2029 | |||
00:02
mcmillhj joined
|
|||
DnAeillaxe | huggable: break my module :is: U+000A U+000B U+000C U+000D U+0085 U+2028 U+2029 | 00:02 | |
huggable | DnAeillaxe, Added break my module as U+000A U+000B U+000C U+000D U+0085 U+2028 U+2029 | ||
IOninja | Are all these chars *supposed* to match \n or is it a bug? | 00:04 | |
00:04
bjz joined
00:07
mcmillhj left
|
|||
IOninja | .ask samcv Are all these chars *supposed* to match \n or is it a bug? U+000A U+000B U+000C U+000D U+0085 U+2028 U+2029 | 00:12 | |
yoleaux | IOninja: I'll pass your message to samcv. | ||
TEttinger | oh, this was a JSON thing? isn't that a known incompatibility between JSON and JS as their specs describe them, the handling of newlines? | ||
samcv | hmm | 00:13 | |
yoleaux | 00:12Z <IOninja> samcv: Are all these chars *supposed* to match \n or is it a bug? U+000A U+000B U+000C U+000D U+0085 U+2028 U+2029 | ||
samcv | hello all | ||
m: say 0x2029.chr ~~ /\n/ | 00:14 | ||
camelia | 「 」 | ||
samcv | m: say so 0x2029.chr ~~ /\n/ | ||
camelia | True | ||
samcv | weird... | ||
u: propdump U+2029 | |||
unicodable6 | samcv, U+0070 LATIN SMALL LETTER P [Ll] (p) | ||
samcv, U+0072 LATIN SMALL LETTER R [Ll] (r) | |||
samcv, 15 characters in total: gist.github.com/4673bcd31beb2e334f...d26ab7e8d7 | |||
samcv | ugh how do i do this DnAeillaxe | ||
00:15
cdg left
|
|||
samcv | unidump U+2029 | 00:15 | |
unidump: U+2029 | 00:16 | ||
unicodable6 | samcv, gist.github.com/a7bebca2f239625520...7c705e5288 | ||
samcv | nope not what i watned | ||
m: say so 0x2029.chr ~~ /"\n"/ | 00:17 | ||
camelia | False | ||
samcv | m: say so "\n" ~~ /"\n"/ | ||
camelia | True | ||
samcv | IOninja, | ||
peculiar | 00:18 | ||
samcv wonders what the backslash n token is | 00:19 | ||
IOninja | :) | 00:23 | |
00:31
Possum left
|
|||
DnAeillaxe | samcv: you don't do it yet! | 00:33 | |
samcv: the feature is experimental, so… :) | |||
samcv | OK | ||
00:33
mcmillhj joined
|
|||
DnAeillaxe | samcv: but, even if it worked, it wouldn't be able to gist it | 00:33 | |
samcv | why? | ||
DnAeillaxe | JSON::Tiny fails somewhere | ||
samcv | well it worked up there | 00:34 | |
DnAeillaxe | … where? | ||
samcv | <samcv> unidump: U+2029 | ||
<unicodable6> samcv, gist.github.com/a7bebca2f239625520...7c705e5288 | |||
<samcv> nope not what i watned | |||
DnAeillaxe | samcv: yes-yes, it works! Unless the gist itself has U+2029 character | 00:35 | |
samcv | it worked, it just did it for each character i typed | ||
only that character? | |||
oh cause it matches \n huh lol | |||
DnAeillaxe | I think all of these should break it in one way or another | ||
huggable: break my module | |||
huggable | DnAeillaxe, U+000A U+000B U+000C U+000D U+0085 U+2028 U+2029 | ||
DnAeillaxe | u: U+2028 U+2028 U+2028 U+2028 | 00:36 | |
unicodable6 | DnAeillaxe, U+2028 LINE SEPARATOR [Zl] ( ) | ||
DnAeillaxe | yep, doesn't work | ||
samcv | so i guess workaround is you could use $var ~~ /"\n"/ instead of /\n/ | ||
DnAeillaxe | u: U+2085 U+2085 U+2085 U+2085 | ||
unicodable6 | DnAeillaxe, U+2085 SUBSCRIPT FIVE [No] (₅) | ||
samcv | then it uses interpolation for the value instead of whatever the grammar rule for \n is | ||
unicodable6 | DnAeillaxe, U+2085 SUBSCRIPT FIVE [No] (₅) | ||
DnAeillaxe, 4 characters in total: gist.github.com/377e30da740e85dc4d...fd1561daa8 | |||
DnAeillaxe | u: U+0085 U+0085 U+0085 U+0085 | ||
unicodable6 | DnAeillaxe, U+0085 <control-0085> [Cc] (control character) | ||
DnAeillaxe, 4 characters in total: gist.github.com/425b46e927add786fa...98f26dd4db | |||
DnAeillaxe | hm | 00:37 | |
some of them are escaped I guess | |||
00:37
mcmillhj left
|
|||
DnAeillaxe | but not U+2028 and U+2029 | 00:37 | |
00:40
Sound left
|
|||
samcv | ugh maybe this is the right spot? github.com/perl6/nqp/blob/master/s...s.nqp#L436 | 00:41 | |
IOninja, is \n is regex special somehow? or should it only do the newline control code | 00:42 | ||
IOninja | No idea, sorry. | 00:43 | |
samcv | well i guess i can find out if i break any spectests | ||
00:44
mcmillhj joined
00:46
Possum joined
00:48
mcmillhj left
|
|||
Geth | perl6-most-wanted: cc520a35af | (Tom Browder)++ | most-wanted/modules.md remove module now in ecosystem |
00:56 | |
01:01
TEttinger left
01:03
mcmillhj joined
01:07
mcmillhj left
01:24
mcmillhj joined
01:28
mcmillhj left
01:29
bjz left
01:30
lukaramu_ left
01:31
girafe left
|
|||
IOninja is amused by $*SPEC.catfile being just an alias for .catdir | 01:33 | ||
That was a clue to not add it! :) | |||
DnAeillaxe | samcv: I guess it was supposed to be similar to \s (which is trappy as well) | 01:36 | |
that is, it matches any kind of newline, including whatever unicode has to offer | 01:37 | ||
01:38
cdg joined
|
|||
DnAeillaxe | u: a | 01:39 | |
right… | |||
01:44
mcmillhj joined
01:48
mcmillhj left
|
|||
IOninja | S32-io/io-spec-win.t:is $win32.rootdir, '\\', 'rootdir is "\\"'; | 01:54 | |
.oO( why?? ) |
|||
this grant is unfun :( | 01:55 | ||
IOninja regrets signing up for it | |||
\ works, so nevermind | 01:57 | ||
02:03
mcmillhj joined
02:07
cdg left
02:08
mcmillhj left,
cdg joined
02:19
bjz joined
|
|||
DnAeillaxe | m: say “\c[MAN SHRUGGING, WOMAN SHRUGGING]” | 02:20 | |
camelia | 🤷♂️🤷♀️ | ||
02:22
mcmillhj joined
02:27
mcmillhj left
02:30
Guest45613 joined
02:31
statisfiable6 left,
TEttinger joined
02:41
Guest45613 left
02:43
mcmillhj joined
|
|||
BenGoldberg | u: /\m/ | 02:45 | |
unicodable6 | BenGoldberg, Regexes are not supported yet, sorry! Try code blocks instead | ||
BenGoldberg | u: { $_ ~~ /\n/ } | ||
unicodable6 | BenGoldberg, Found nothing! | 02:46 | |
02:48
mcmillhj left
02:54
Cabanossi left
02:55
Cabanossi joined
|
|||
DnAeillaxe | BenGoldberg: it goes through integers | 02:57 | |
BenGoldberg: so that would be $_.chr ~~ instead of $_ ~~ | |||
BenGoldberg: but as already mentioned, it will fail with these weird characters… | 02:58 | ||
BenGoldberg: github.com/zoffixznet/perl6-IRC-Cl.../issues/42 and github.com/perl6/whateverable/issues/115 , contributions welcome | |||
03:02
mcmillhj joined
|
|||
samcv | m: say 0x2028.uniprop('Line_Feed') | 03:04 | |
camelia | BK | ||
samcv | BK, so unhelpful | ||
m: say 0x2028.uniprop('Line_Break') | 03:05 | ||
camelia | BK | ||
samcv | Line_Break=Mandatory_Break | ||
somehow BK = Mandatory_Break. weird | 03:06 | ||
03:08
mcmillhj left
|
|||
SmokeMachine | Sorry, I don't know anything about Unicode... but this stuff like BK, Ll, etc... wouldn't make sense to be a enum? If wouldn't, why? | 03:14 | |
The properties too... | 03:15 | ||
IOninja | Why make it an enum? | 03:18 | |
SmokeMachine | IOninja: the greatest motivation in my opinion would be to get all enumerated... (I don't know anything about that, I'm sorry if it's a idiot idea...) | 03:20 | |
IOninja | SmokeMachine: why is that beneficial? | 03:21 | |
SmokeMachine | And do not accept any Str on methods that receive it... | ||
And get compile error on a typo | 03:22 | ||
03:22
mcmillhj joined
|
|||
IOninja | And use more memory. | 03:22 | |
SmokeMachine | At least to make me know what are the possibilities... | ||
IOninja | And shit enough sigiless symbols into global namespace that you can forget about calling subs without parentheses | ||
SmokeMachine | Ok, sorry... | 03:24 | |
DnAeillaxe | SmokeMachine: well, you're right that it is less than awesome | 03:25 | |
we just have to figure out what could possibly be more awesome… | |||
for example, maybe an exception is better than nothing? | |||
m: say 0x2028.uniprop('blaaargfooooooooot!') | |||
camelia | 0 | 03:26 | |
SmokeMachine | DnAeillaxe: yes! I think a exception would help... :) | ||
03:26
mcmillhj left
|
|||
DnAeillaxe | or maybe a Nil, so that it blows up later… I don't know, but anything is probably better than 0 | 03:27 | |
SmokeMachine | Maybe a failure? | 03:28 | |
DnAeillaxe | IOninja: interestingly, we already export signals | 03:29 | |
they all start with SIG, but still | |||
SmokeMachine | m: say SIGKILL | 03:30 | |
camelia | SIGKILL | ||
03:41
noganex_ joined
03:42
mcmillhj joined
|
|||
BenGoldberg | u: { .chr ~~ /\n/ } | 03:43 | |
unicodable6 | BenGoldberg, U+000A <control-000A> [Cc] (control character) | ||
BenGoldberg, U+000B <control-000B> [Cc] (control character) | |||
03:44
noganex left
03:47
mcmillhj left
|
|||
samcv | u: { .uniprop('Line_Break') eq 'MB' } | 03:48 | |
unicodable6 | samcv, Found nothing! | ||
BenGoldberg | u: { .chr.uniprop('Line_Break') eq 'MB' } | 03:49 | |
03:49
mcmillhj joined
|
|||
unicodable6 | BenGoldberg, «timed out after 30 seconds» «exit signal = SIGHUP (1)» | 03:49 | |
BenGoldberg | Huh | ||
DnAeillaxe | BenGoldberg: yea, it's really-really hot | 03:50 | |
a lil bit off the track and it takes forever to finish :) | |||
samcv | how hot | ||
DnAeillaxe | well, the whole thing is repeated 1114112 times, so… | 03:51 | |
BenGoldberg: but .uniprop works on integers also, so no need to .chr it | 03:52 | ||
(and it's faster this way!) | 03:53 | ||
03:57
khw left
04:07
Cabanossi left
04:08
Cabanossi joined
04:22
wamba1 joined
04:23
faraco joined
|
|||
faraco | Hi guys, I made my own Perl 6 book list that I may gonna purchase in the future (when they are finished) at faracosite.wordpress.com/2017/03/1...-6-books/, is there any other book did I missed? | 04:23 | |
DnAeillaxe | huggable: books | 04:35 | |
huggable | DnAeillaxe, "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 | ||
DnAeillaxe | mmm | ||
faraco: “Perl 6 at a Glance” seems to be missing | 04:36 | ||
faraco: we keep a list here too: perl6.org/resources/ | |||
(“Books published or in work”) | 04:37 | ||
04:37
Cabanossi left
|
|||
faraco | DnAeillaxe++ | 04:37 | |
04:38
Cabanossi joined
|
|||
TEttinger | DnAeillaxe: how do you decide on the permutation of letters to use? | 04:43 | |
04:44
cdg_ joined
04:47
mcmillhj left,
wamba1 left
04:48
cdg left
04:49
cdg_ left
|
|||
samcv | oh speaking of books i was gonna read moritz book | 04:57 | |
04:59
BenGoldberg left
05:01
mcmillhj joined
|
|||
DnAeillaxe | m: say %ENV<ME>.comb.pick(*).join | 05:02 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '%ENV' is not declared at <tmp>:1 ------> 3say 7⏏5%ENV<ME>.comb.pick(*).join |
||
DnAeillaxe | m: say %*ENV<ME>.comb.pick(*).join | ||
camelia | eDeniAxlal | ||
DnAeillaxe | TEttinger: I use this ↑ | ||
05:03
wamba1 joined
05:06
mcmillhj left
|
|||
TEttinger | cool, eDeniAxlal | 05:09 | |
DnAeillaxe | ye let's fix it | 05:15 | |
05:15
DnAeillaxe is now known as eDeniAxlal
05:17
matt_ left
05:21
mcmillhj joined
|
|||
samcv | was asked to write a unicode chapter for moritz book. i might take that up. would probably be good to get something down on paper | 05:22 | |
05:25
matt_ joined,
matt_ is now known as Guest92771
05:26
rindolf joined
05:27
mcmillhj left
05:42
mcmillhj joined
05:43
eDeniAxlal left,
bjz_ joined
05:45
bjz left
05:46
mcmillhj left
05:47
hcit joined,
skids left
06:00
curan joined
06:07
firestarter left
06:13
mcmillhj joined
06:17
jraglin joined
06:18
mcmillhj left
06:19
eroux joined
06:20
CIAvash joined
06:33
mcmillhj joined
06:34
ufobat joined
06:38
mcmillhj left
06:45
wamba1 left
06:49
jraglin left
06:50
RabidGravy joined
06:51
jraglin joined
06:53
mcmillhj joined
06:54
jraglin left,
domidumont joined
06:58
mcmillhj left
07:04
wamba1 joined
|
|||
ufobat | good monring | 07:06 | |
07:14
mcmillhj joined
|
|||
faraco | morning | 07:16 | |
07:19
mcmillhj left
|
|||
moritz | samcv: please do! | 07:22 | |
samcv | uhm what would you recommend I read moritz | ||
also what's `12-unicode-canary.md` for | 07:23 | ||
faraco | What is the advantage dealing with UTF8 and UTF9 when your code won't be mixed with non ASCII characters? | 07:24 | |
moritz | samcv: I needed it to find characters that the leanpub toolchain would successfully render | ||
samcv | what is utf9 | ||
ah ok | |||
what were your results? | |||
faraco | I read that 3 months ago, someone mentioned utf9, I'm not even sure if that even exist, haha. | 07:25 | |
samcv | ascii is utf-8 | ||
but not all utf-8 is ascii | |||
oh ok. lol | |||
moritz | samcv: I had to settle with Arabic-Indic digits, ,because Bengali wouldn't render | ||
samcv | moritz, did you tell them it made you sad :( | ||
so you're publishing through leanpub? | 07:26 | ||
moritz | samcv: not yet | ||
samcv: yes | |||
samcv | kk | ||
moritz | re recommendations, anything from chapter 3 onwards, to get some feeling for the style | ||
I can also send you a PDF version if you prefer reading that over markdown | 07:27 | ||
samcv | yeah that would be nice | ||
faraco | Will there be a chapter on 'Packging your Perl 6 modules with examples'. | ||
I know that, the doc covers it up pretty good. | |||
samcv | moritz, when are you scheduled to release? | 07:29 | |
moritz | samcv: I want the manuscript to be complete in May, but I don't have any hard deadlines | 07:30 | |
samcv | ok cool | ||
if you give me commit access I will add some sections to the unicode chapter | |||
moritz | samcv: you should have commit access already | 07:31 | |
also, feel free to revamp it if you think there's a better approach | |||
07:31
jraglin joined
|
|||
samcv | oh ok | 07:32 | |
07:34
mcmillhj joined
07:37
Cabanossi left,
jraglin left
|
|||
samcv | moritz, you can have pictures right? | 07:38 | |
07:39
Cabanossi joined
|
|||
moritz | samcv: yes | 07:39 | |
07:39
mcmillhj left
|
|||
moritz | included with ![description](images/path-to-image.extension) | 07:40 | |
samcv | ok cool. That may be useful in describing graphemes | 07:41 | |
and showing the different components of a visible character | |||
in at least two scripts | |||
moritz | +1 | ||
samcv | i'm thinking latin and hangul | ||
07:49
jraglin joined
07:54
mcmillhj joined
07:59
mcmillhj left
08:03
jraglin left
08:06
g4 joined
08:07
Cabanossi left
08:09
Cabanossi joined
08:15
mcmillhj joined
08:19
mcmillhj left
08:26
eroux left
|
|||
DrForr | .tell spebern Sadly I have not had the time. Or rather, if I'm being honest, I've been focused on the perltidy/perl-parser stuff. I have something at home that's halfway rewritten to post-GLR where I've brute-forced the grammar actions to do what I want, but it's incomplete. | 08:32 | |
yoleaux | DrForr: I'll pass your message to spebern. | ||
DrForr | .tell spebern And thank you *very* much for your enthusiasm for the project, it's really refreshing. | ||
yoleaux | DrForr: I'll pass your message to spebern. | ||
08:32
eroux joined
08:33
mcmillhj joined,
kyan left
08:38
mcmillhj left
08:42
wamba1 left
08:52
dakkar joined
08:53
mcmillhj joined
08:55
girafe joined
08:58
Guest92771 is now known as matt_,
mr-foobar joined,
matt_ is now known as Guest7501,
mcmillhj left,
Guest7501 is now known as matt_
09:03
bjz_ left
09:14
bjz joined,
mcmillhj joined
09:17
mr-foobar left
09:19
mcmillhj left,
faraco left
09:24
ZzZombo joined,
ZzZombo left,
ZzZombo joined
09:28
movl joined
09:29
wamba1 joined
09:33
mcmillhj joined
09:37
Cabanossi left,
koki1 joined,
mcmillhj left
09:38
Cabanossi joined
09:39
Sound joined,
mr-foobar joined
09:47
girafe left
09:51
cdg joined
09:53
mcmillhj joined
09:54
cdg left,
cdg joined
09:58
mcmillhj left
10:03
mxco86 joined
10:05
ufobat left
10:07
abraxxa joined
10:08
Cabanossi left,
Cabanossi joined
10:14
mcmillhj joined
10:16
abraxxa left
10:19
mcmillhj left
10:22
astj left,
astj joined,
TEttinger left
10:23
astj left,
astj joined
10:30
abraxxa joined
10:32
cdg_ joined
10:33
jonas1 joined
10:34
ufobat joined,
mcmillhj joined,
cdg left
10:36
jonas1 left,
labster left,
Cabanossi left
10:37
jonas1 joined
10:38
Cabanossi joined,
mcmillhj left
10:55
mcmillhj joined
11:00
mcmillhj left,
andrzejku joined
11:06
mcmillhj joined
11:07
Cabanossi left
11:08
Cabanossi joined
11:10
mcmillhj left
11:17
mcmillhj joined
11:22
mcmillhj left
11:26
wamba1 left
11:28
mcmillhj joined
11:31
cdg_ left
11:33
mcmillhj left,
mniip left
11:37
mniip joined
11:40
wamba1 joined
11:45
cschwenz joined
|
|||
cschwenz | out of random curiosity is there a Perl6 version of WWW::Mechanize in any state of completeness? or is Selenium::WebDriver the current Perl6 way to do screen-scraping | 11:48 | |
? | |||
11:51
mcmillhj joined
11:52
Cabanossi left
11:53
Cabanossi joined
11:56
mcmillhj left
12:04
lukaramu joined
|
|||
DrForr | cschwenz: Not that I've heard, at least not yet. | 12:07 | |
12:10
andrzejku left,
andrzejku joined
12:11
mxco86 left,
mxco86 joined
12:14
CIAvash left
12:17
mcmillhj joined
12:19
kaushal joined
|
|||
kaushal | Hi | 12:19 | |
DrForr | Afternoon, kaushal. | ||
kaushal | How perl6 is different from the earlier versions of perl? | ||
I am new to perl. Do i need to know the older version of perl in order to learn perl6? | 12:20 | ||
DrForr | Very different. We like to say they're in the same family, but don't be confused by the differences. | ||
kaushal | DrForr: Hi | 12:21 | |
DrForr | It helps to know perl5 to get the basic ideas, but they're really two different languages. | ||
kaushal | oh ok | ||
DrForr: so in perl land there is only two different language perl5 and perl6? | 12:22 | ||
12:22
mcmillhj left
|
|||
DrForr | Only? Well, yes, there's "just" the two. | 12:23 | |
kaushal | ok | ||
DrForr: so what are the key differences between perl5 and perl6? | |||
when was perl6 officially launched? | |||
DrForr | December 2015. | ||
kaushal | So should i start learning perl5 or perl6? | 12:24 | |
DrForr | What do you want to do with it? | ||
kaushal | system administration | ||
DrForr: what are the key differences between perl5 and perl6? | 12:25 | ||
is perl6 object oriented programming language? | |||
Woodi_ | kaushal: for personal scripts, statistics perl6 is ok, for extremal production perl5 | 12:26 | |
DrForr | It can be, but most of the objects can have functions called on them without needing OO syntax. | ||
Woodi_ | hi #perl6 :) | ||
12:26
Woodi_ is now known as Woodi
|
|||
kaushal | ok | 12:26 | |
DrForr | Eeh, if you're doing sysadmin most of the tasks aren't going to require serious performance so I'd say that 6 would work just as well as 5. | ||
kaushal | so do i need to know perl5 first to understand perl6? | ||
Woodi | kaushal: no :) | 12:27 | |
kaushal | Woodi: ok | ||
DrForr | No, in fact it can be a handicap. | ||
kaushal | Woodi: so any tutorial to start learning perl6? | ||
is perl 6 addressed by Perl6 or perl6 or ....? | |||
Woodi | learnxinyminutes.com/docs/perl6/ | ||
moritz | "Perl 6" | 12:28 | |
kaushal | moritz: ok | ||
moritz | preferably with a non-breaking space :-) | ||
DrForr | Safari has at least two :) perl6.org has a list of online tutorials you can do as well. | ||
kaushal | moritz: so Perl6 or Perl 6? | ||
moritz | and I'm writing a book which should be quite helpful already: leanpub.com/perl6 | ||
kaushal: "Perl 6" | |||
kaushal | moritz: ok | ||
moritz: Thank you so much | 12:29 | ||
DrForr | There are also some introductory talks on YouTube. | ||
kaushal | I am yet to know the differences between Perl 5 and Perl 6 | 12:30 | |
Any key distinction between Perl 5 and Perl 6? | |||
DrForr | It's awfully hard to condense into a few lines of IRC. | ||
kaushal | DrForr: Please share me the YouTube talks | ||
12:30
mcmillhj joined
|
|||
kaushal | DrForr: ok | 12:30 | |
DrForr: Any webpage to explain it? | 12:31 | ||
DrForr | Yes, perl6.org has a bunch of tutorials and explanations. | ||
The basic difference is that in Perl 6 everything is an object, you can't say that about 5. | |||
12:32
eroux left
|
|||
kaushal | DrForr: ok | 12:32 | |
moritz hasn't ever found a language where everything is an object | |||
DrForr | (but if you don't want to use $foo.do-stuff() form, you can usually still use non-OO references. | ||
kaushal | moritz: ok | ||
moritz: so Perl 6 is a language where every stuff is referenced by a object? | 12:33 | ||
moritz: not even JAVA? | |||
DrForr | Well, yes, I'm sure you could find some things in 6 that aren't "objects", but for the majority it works. | ||
Java isn't an acronym AFAIK. | |||
moritz | kaushal: not even java | ||
kaushal | moritz: correct me if i am understanding it completely wrong | ||
moritz: ok | |||
moritz | in most languages, variables aren't proper objects | ||
function invocations aren't objects | 12:34 | ||
and so on | |||
kaushal | moritz: DrForr i got inspired to learn Perl 6 | ||
DrForr | Party on! | ||
moritz | "all" is *very* broad term, and seldomly warranted in that context | ||
kaushal remains obliged to moritz and DrForr | |||
moritz | s/all/everything/ | ||
kaushal | I really appreciate your help and guidance | ||
DrForr | www.youtube.com/results?search_que...+to+perl+6 # has a bunch of videos. | 12:35 | |
moritz | no problem | ||
DrForr | www.youtube.com/watch?v=hR9UdvxMAbo | ||
kaushal | DrForr: so start referring to docs.perl6.org/ | ||
DrForr | That's for documentation, intros are on the main page... | 12:36 | |
12:36
Cabanossi left
|
|||
kaushal | ok | 12:36 | |
12:37
mcmillhj left,
faraco joined
12:38
Cabanossi joined
|
|||
kaushal | so Perl 6 is a interpreter or compiler? | 12:39 | |
DrForr | compiler. | ||
kaushal | DrForr: ok | ||
DrForr: Perl 5 is interpreter? | |||
perlpilot | kaushal: you might want to make sure your definition of "compiler" matches everyone elses :) | ||
DrForr | It's also a compiler, it just doesn't save the compiled tree. | ||
kaushal | so what i thought is perl is a interpreted language | 12:40 | |
it executes line by line | |||
12:40
andrzejku left
12:41
andrzejku joined
|
|||
kaushal | Perl 6 compiler is written in C programming language? | 12:41 | |
DrForr | No, perl 5 compiles into an optree, it's not like BASIC or shell. | ||
moritz | kaushal: both Perl 5 and Perl 6 compile into an intermediate format | ||
kaushal: in Perl 5, there's then an interpreter for this binary op tree | 12:42 | ||
kaushal: in Perl 6, there's an interpreter that can swap in a Just-in-time compiler | |||
faraco | praise to NQP | ||
kaushal | ok | ||
[Coke] wonders how to make irssi not run out of backscroll, forcing him to go to the irc logs. | |||
moritz | most modern dynamic languages have some kind of hybrid model between compiler and interpreter | ||
12:42
andrzejku left
|
|||
kaushal | ok | 12:43 | |
12:43
andrzejku joined
|
|||
DrForr | [Coke]: You can enable log. | 12:43 | |
moritz | and even static languages with a runtime such as C# and java go there | ||
kaushal | moritz: so Perl 6 compiler is written in C? | ||
faraco | The only feature I found is nice with irssi is Pg up button, heh :P | ||
12:44
itaipu joined
|
|||
DrForr | kaushal: One layer is written in C, the rest written in NQP standing for 'Not Quite Perl'. | 12:44 | |
kaushal | DrForr: ok | ||
binary op tree? | |||
Does it stand for Binary Operations tree? | |||
12:45
Peter_R left
|
|||
DrForr | That's for perl5, and it's not binary, but it is a tree. | 12:45 | |
cschwenz | think of it more as perl5's version of an AST | ||
moritz | kaushal: only a small part of the Perl 6 compiler is written in C | ||
kaushal | moritz: ok | 12:46 | |
moritz | some of the runtime environment (which we call MoarVM) | ||
the rest si written in a subset of Perl 6 called NQP | |||
kaushal | so NQP is a language to write Perl 6 compiler? | ||
moritz | yes | 12:47 | |
12:47
cschwenz left,
Peter_R joined
|
|||
nine has found Perl 6 to be incredibly useful for system administration tasks | 12:50 | ||
ZzZombo | Am I doing this right? | 12:52 | |
m: say ?('ASD' ~~ *.match(<DOT COLON>.any)) | |||
camelia | False | ||
DrForr | nine: Agreed, speed isn't quite as important as quick hacks, so perl6 works well. | ||
ZzZombo | m: say ?('DOT' ~~ *.match(<DOT COLON>.any)) | ||
camelia | True | ||
kaushal | nine: ok | 12:53 | |
moritz | m: say so 'DOT' eq ANY <DOT COLON>; | 12:54 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared name: ANY used at line 1. Did you mean 'Any'? |
||
moritz | m: say so 'DOT' eq anz <DOT COLON>; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: anz used at line 1. Did you mean 'any'? |
||
moritz | m: say so 'DOT' eq any <DOT COLON>; | ||
camelia | True | ||
kaushal | nine: any specific tutorial of Perl 6 for system administration tasks? | ||
nine | At the very base of our IT infrastructure, there's a couple of Perl 6 scripts kicked off by puppet responsible for creating and provisioning all our server VMs. | ||
ZzZombo | moritz: great. | 12:55 | |
nine | It was a real joy writing those. | ||
moritz | nine: sounds great. Please blog about it some day! | ||
kaushal | nine: I will appreciate if you can share me some docs or tutorials? | ||
nine | kaushal: that's the beauty :) You don't need much of those. The features I liked most are docs.perl6.org/language/functions#...entry-MAIN and docs.perl6.org/type/IO$COLON$COLONPath Also docs.perl6.org/type/Proc | 12:57 | |
12:59
mcmillhj joined
|
|||
nine | MAIN subs give you fully automated usage messages and type checked command line parameters ("Do I have to write 4G or 4 for 4 GiB of RAM? Ah, just try and look at the error message..."). | 12:59 | |
13:00
cog__ joined
|
|||
DrForr | nine: Yeah, I need to do that a bit more for Perl6::Tidy. | 13:00 | |
El_Che | nine: the only problem it's that's not very UNIX like. Forced switches before params is bad | ||
13:01
cog left,
cog_ left,
cognominal left
|
|||
nine | El_Che: that's only an issue if you think that the alternative is people taking loads of time to add proper argument parsing. In sysadmin reality the only alternative is having no checks at all and just explode at runtime... | 13:02 | |
El_Che: also the UNIX way actually _is_ to force switches before params. We are all spoiled by GNU software | 13:03 | ||
El_Che | nine: don't get me wrong, it's great to have it. But I like to have consistent cli interfaces (in my case Perl5, Perl6 and Go) | ||
nine: gnu, indeed | |||
Perl5: Getopt::Long, Go with docopt (a python port) | 13:04 | ||
Go has the same problem, hence the lib | |||
multi MAIN is so nice, that's why I mention it | |||
Go flags are meh, so bringing an external library makes sense | 13:05 | ||
tadzik plugs in Getopt::Type | |||
El_Che | Perl 6 Main is fantastic | ||
tadzik | marrying shell conventions to perl conventions is always kind of icky | ||
and MAIN tries very hard to find a common ground | 13:06 | ||
El_Che | I don't think that allow to mix switches and params would break anything for those that like switches before params | 13:07 | |
DrForr | took me a few minutes to figure out that Bool :$option was what I wanted though, I'll have to add that to docs proper later on. | ||
13:08
Peter_R left
13:09
Dunearhp_ is now known as Dunearhp
13:11
Peter_R joined
13:15
kaushal left
13:30
spebern left
13:33
itaipu left
13:34
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
lukaramu_ joined
13:37
xiaomiao is now known as DrEeevil,
lukaramu left
13:39
eroux joined
13:41
kaushal joined
13:43
mscha joined
|
|||
mscha | m: sub foo(int $n) { say 'bar' x $n }; foo(2); | 13:44 | |
camelia | barbar | ||
mscha | m: multi foo(int $n) { say 'bar' x $n }; foo(2); # oops | ||
camelia | Cannot resolve caller foo(Int); none of these signatures match: (int $n) in block <unit> at <tmp> line 1 |
||
mscha | multi foo(int $n) { say 'bar' x $n }; foo(2.int); # Oops again | 13:45 | |
m: multi foo(int $n) { say 'bar' x $n }; foo(2.int); # Oops again | |||
camelia | No such method 'int' for invocant of type 'Int' in block <unit> at <tmp> line 1 |
||
mscha | m: multi foo(int $n) { say 'bar' x $n }; my int $i = 2; foo($i); # This works, but is there no easier way? | ||
camelia | barbar | ||
IOninja | Would be cool to see comparison to Perl 6's regexes in this list: www.johndcook.com/blog/regex-perl-python-emacs/ | ||
13:45
itaipu joined
13:46
aborazmeh left
|
|||
IOninja | m: multi foo(int $n) { say 'bar' x $n }; foo my int $ = 2; | 13:46 | |
camelia | barbar | ||
mscha | OK, that's *slightly* better. | 13:47 | |
IOninja | heh | ||
13:47
rashipi joined
|
|||
mscha | There is no syntax for int literals, is there? Or a (documented) way to cast an Int to an int? | 13:47 | |
moritz | int/Int literals are allomorphs | 13:48 | |
which means you can use them for both | |||
m: my int $x = 42; | |||
camelia | ( no output ) | ||
mscha | Except in the above case. | ||
Or is that a bug in multi? | |||
IOninja | Not a bug. | ||
moritz doesn't understand allomorphs well enough to comment | 13:50 | ||
IOninja | I can rake for a ticket where jnthn++ explained why this is not a bug... | 13:51 | |
Ticket: rt.perl.org/Ticket/Display.html?id=129844 | 13:52 | ||
Explanation why not a bug: irclog.perlgeek.de/perl6-dev/2016-...i_13462673 | |||
13:53
andrzejku left
13:54
andrzejku joined
|
|||
moritz | IOninja++, jnthn++ | 13:55 | |
13:59
cdg joined
|
|||
mscha | OK, so my options are: a) use temporary int variable; b) don't use multi; or c) just use Int instead of int | 13:59 | |
rashipi | Perl 6 is also fantastic for sysadmin stuff because it's a very good glue language. | ||
IOninja | lolwut | ||
mscha: yeah, pretty much | 14:00 | ||
rashipi | It calls C, Perl 5, Python and Shell easily. Can't do that in other languages. | 14:01 | |
perlpilot | m: multi foo(int $n) { say 'bar' x $n }; foo(int $ = 42); | 14:03 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1 ------> 3 foo(int $n) { say 'bar' x $n }; foo(int7⏏5 $ = 42); expecting any of: infix in… |
||
perlpilot | mscha: it is a shame you can't say foo(42::int) or something to indicate you want an int without a temp var. | ||
IOninja | heh | 14:04 | |
And what about 999999999999999999999999:int? | |||
::int | |||
perlpilot | a compiler error to tell you that you're insane :) | 14:05 | |
(unless you happen to be running on platform where native ints support that number ;) | 14:07 | ||
IOninja | I don't understand why you invented a whole new syntax just for this one thing. | ||
nine | Our coercers are just plain methods, so it would be 99999999999999999999.int | 14:09 | |
jnthn | The coercion syntax int(9999) may be the most natural | ||
14:09
domidumont left
|
|||
jnthn | m: int(999) | 14:09 | |
camelia | Cannot invoke this object (REPR: P6int; int) in block <unit> at <tmp> line 1 |
14:10 | |
jnthn | Would have to teach the compiler to recognize it of course | ||
14:10
domidumont joined
14:13
kaushal left
14:19
movl left
14:21
araraloren joined
|
|||
rashipi | jnthn: When are you writing a new 6guts post? I'm missing them. | 14:23 | |
IOninja | And that would just call Int.int, wouldn't it? Can method calls be constant-folded? | ||
jnthn | No, which is why I suggested the coercer syntax | 14:25 | |
14:25
domidumont left
|
|||
jnthn | rashipi: Already started writing one on the non-blocking await changes; just needs getting around to finishing it | 14:25 | |
rashipi | jnthn: Noice, I'm looking forward to it. | 14:26 | |
jnthn | rashipi: Just that it competes for my attention with fixing stuff :) | ||
14:26
domidumont joined
|
|||
IOninja | m: m: multi foo(int $n) { say 'bar' x $n }; sub prefix:<n:> (Int:D $n --> int) { my int $z = $n; $z }; foo n:2 | 14:26 | |
camelia | Cannot resolve caller foo(Int); none of these signatures match: (int $n) in block <unit> at <tmp> line 1 |
||
IOninja | Seems can't return an int? | ||
jnthn | Hm, I'd thought we could... | 14:27 | |
At VM level you certainly can :) | |||
So if something's in the way of that it'll be in Rakudo | |||
14:28
rjbs left
14:36
Cabanossi left
14:39
Cabanossi joined
14:41
sufrostico joined,
sufrosti1o joined
14:42
eroux left
14:43
eroux joined
14:51
wamba1 left
14:52
araraloren left
14:53
araraloren joined
14:55
gdonald left,
gdonald joined
14:56
wamba1 joined
15:01
araraloren left
15:02
skids joined
15:04
ZzZombo left
|
|||
ranguard | out of interest, any plans (or even if it's possible) for webassembly.org/ support :) ? | 15:06 | |
ranguard remembers someone talking about p6 in the browser? | |||
15:08
sufrostico left
|
|||
rashipi | ranguard: Here is the last update on rakudo-js: blogs.perl.org/users/pawel_murias/2...-test.html | 15:09 | |
15:09
sufrosti1o left
|
|||
ranguard | rashipi: nice - thanks | 15:10 | |
rashipi | np | ||
15:15
sufrostico joined,
rjbs joined
15:16
bdmatatu joined
15:22
sufrostico left
15:26
bdmatatu left
|
|||
mscha | m: my int $i = 42; say $i ~~ int; say $i ~~ Int; | 15:27 | |
camelia | False True |
||
15:33
cdg left
15:34
cdg joined
15:37
Cabanossi left
15:39
Cabanossi joined
15:43
kyan joined
15:49
bdmatatu joined
15:51
bdmatatu left,
curan left
16:05
wamba1 left
16:07
Cabanossi left,
profan left,
imcsk8 left
16:08
[particle] left
16:09
Cabanossi joined,
imcsk8 joined,
[particle] joined
16:10
eDeniAxlal joined
16:12
melezhik joined
16:16
eroux left
16:18
andrzejku left
16:19
andrzejku joined
16:20
domidumont left
16:23
melezhik left
16:24
itaipu left
16:29
eroux joined
16:31
itaipu joined
16:39
khw joined
16:42
profan joined
16:46
avuserow left
|
|||
rashipi | Whedn there's an error in the REPL, it should say <REPL> in the error messages instead of <unknown file>. | 16:53 | |
16:53
abraxxa left
16:56
agentzh left
|
|||
IOninja | Well volunteered! | 16:56 | |
[Coke] | rashipi: most of the REPL code is in Perl 6 and implemented here: github.com/rakudo/rakudo/blob/0f37...re/REPL.pm | 16:59 | |
rashipi | Where does it generate the error messages? | ||
[Coke] would start at repl-eval and look in there. | 17:00 | ||
IOninja | rashipi: probably in src/core/Exception.pm there's a print-exception routine or something like that | 17:02 | |
oh | 17:03 | ||
src/Perl6/Optimizer.nqp:343: (nqp::isnull($file) ?? '<unknown file>' !! $file), | |||
src/Perl6/World.nqp:1098: $file := '<unknown file>'; | |||
[Coke] | I imagine that's covering -e also, though. | 17:04 | |
rashipi | How can it be determined we are running in the REPL? | ||
Does the code set a flag? | |||
IOninja | probably something to do with $?FILE | 17:05 | |
Ulti | anyone else having build issues on macOS? | ||
been that way since before the weekend | |||
I nuked to be in a different place of build woes so its possibly something changing in Mac | 17:06 | ||
its on the gen moar stage | |||
IOninja | Well, what's the error? | 17:07 | |
[Coke] | there was a "weird" change to the moarvm build recently. try blowing away your moar src and re-cloning. | ||
Ulti | its readline | ||
and awk | 17:08 | ||
o___O | |||
IOninja | hm, no idea. | ||
rashipi | Maybe setting $file to '<REPL>' in REPL.new? | ||
Ulti | its on a configure | ||
like generating a Makefile is triggering this by the looks of it | 17:09 | ||
[Coke] | I found a new font for us to use on the doc site! (minimatype.com/) | ||
Ulti | could be something funky with my homebrew setup | ||
[Coke] | (... kidding) | ||
Ulti: did you try removing the moar src directory yet? | |||
IOninja | m: "foo/bar/ber/bez/../../../foo".IO.resolve.say | ||
camelia | "/home/camelia/foo/bar/ber/bez/../../../foo".IO | ||
IOninja | Is it supposed to get rid of all the ../../..? | 17:10 | |
Ulti | [Coke]: yeah assuming thats what rakudobrew nuke does | 17:11 | |
17:11
faraco left
|
|||
Ulti | gawk is literally being changed with my brew --upgrade so fingers crossed its just my env thats lame | 17:12 | |
rashipi | Is anyone testing the builds in MacOS? | ||
Ulti | me? ;3 | ||
IOninja | :) | ||
Ulti | but yeah I am not a vanilla mac person | 17:13 | |
rashipi | Ulti: From what i understood, the devs don't have the hardware to test it. | ||
IOninja | err | ||
Ulti | well I build near enough daily | ||
against head | |||
IOninja | You understood wrong. | ||
rashipi | Sorry for that. | 17:14 | |
IOninja | Ah, OK, it needn't remove it. "Note that this does *not* collapse x/../y sections into y. This is by design. If /foo on your system is a symlink to /bar/baz, then /foo/../quux is actually /bar/quux, not /quux as a naive ../-removal would give you" | 17:15 | |
rjbs++ # File::Spec I can mooch knowledge off of. | |||
17:16
wamba1 joined
|
|||
IOninja | rashipi: I don't have Mac hardware (yet) so *compiler* releases aren't tested on it (yet), but lizmat++ develops on Mac and does several spectests almost daily and stmuk++ I believe also has a Mac and tests Rakudo Star releases on it. | 17:16 | |
rashipi | Thanks for clearing the misconception. | 17:17 | |
timotimo | travis-ci.org/search/rakudo | 17:18 | |
we build every commit with macs | |||
IOninja | oh, doh. Of course! There's travis :) | ||
timotimo | do we also have rakudo no appveyor for windows tests? or is that only moarvm? | 17:19 | |
IOninja | We did, but there was some sort of glitch with perl | ||
IOninja looks | |||
timotimo | can someone explain to me why searching for rakudo shows me rakudo/rakudo, but when i click on "rakudo" it'll tell me "this is not an active repository and you're not allowed to activate it"? | ||
like, it was just there a second ago | |||
why are you doing this to me | 17:20 | ||
IOninja | Looks like they were resolved. | ||
timotimo: because we're not using master | |||
timotimo | oooooooh | ||
IOninja | Yeah, we got apvoyert: ci.appveyor.com/project/moritz/rakudo | ||
timotimo | it does have "default branch" set to "nom", though? | ||
IOninja | Hm, no idea then. | 17:21 | |
But it was that way for ages and I figured it was because of that... | |||
timotimo | but if the fix is just to use "Branches" or "Build History" instead of "Current" ... i can live with that | ||
[Coke] | yes, nom is default. | ||
timotimo | but it's still very annoying :) | ||
maybe we should reach out to travis support? | |||
[Coke] | timotimo: what URL are you clicking on that is giving you an error? | ||
timotimo | travis-ci.org/rakudo/rakudo | ||
[Coke] | github.com/travis-ci/travis-ci/issues/5629 | 17:23 | |
github.com/gratipay/gratipay.com/issues/3989 | 17:24 | ||
perhaps someone with admin rights on the rakudo/rakudo build on travis's site can click a button to fix it. | 17:25 | ||
timotimo | i don't have the rights, alas | 17:26 | |
but thanks for digging | |||
[Coke] | me either. :) | ||
nor do I see how to add who has rights. (if they're pulling everything from github, hopefully any github admins have rights) | |||
moritz | I've clicked "activate repository" | 17:33 | |
17:35
dakkar left
17:37
Cabanossi left
17:38
Cabanossi joined
17:40
cdg_ joined
17:42
cdg left
17:44
robertle joined
17:45
eroux left
17:54
Ven joined
18:00
Ven left
|
|||
timotimo | omg it worked! | 18:00 | |
\o/ | |||
moritz feels like a monkey who managed to hit the right key on the keyboard | 18:03 | ||
rashipi | moritz: isn't that all we ever do? | 18:09 | |
moritz | rashipi: sometimes, the monkeys are better trained | 18:11 | |
rashipi | In the animated sitcom "The Jetsons", they pictured George Jetson working in the most bizarre ocuppation they could imagine: he would push a button all day. Little they know how correct they were. | ||
18:13
Ven joined
|
|||
timotimo | imagine if the complete government would be replaced by something based on machine learning, but there'd still have to be people pushing a button all day every day (no screen, no read-outs, no nothing, just a button) because "machines can't be ethical" so "a human has to be part of the process"? :D | 18:14 | |
rashipi | It seems the US is that way looking from the outside. The State acts on it's own, but there's got to be an ellected button pusher to give it legitimacy. | 18:15 | |
eDeniAxlal presses the button | 18:16 | ||
18:16
eDeniAxlal is now known as liAealneDx
|
|||
DrForr | Push the button, Frank. | 18:16 | |
timotimo | it's time to galvanize! | 18:17 | |
18:19
cdg joined
18:23
cdg_ left
18:25
profan left,
profan joined
18:32
Ven left
18:33
eroux joined
18:34
Ven joined
18:46
Ven left
18:47
mr-foobar left
18:48
mr-foobar joined
18:51
cdg left
18:53
Ven joined
19:02
Ven left
|
|||
RabidGravy | boo! | 19:02 | |
rashipi | 👻 | 19:05 | |
19:13
Ven joined
19:14
Ven left
19:24
labster joined,
agentzh joined
|
|||
[Coke] wonders how many sixers are going to be caught in this storm in the US | 19:30 | ||
19:31
agentzh left
|
|||
RabidGravy | what storm is that? | 19:31 | |
timotimo | uh oh, i hadn't heard of that yet | ||
[Coke] | weather channel calls it "Stella" | 19:32 | |
[Coke] is expecting up to about .6m of snow | |||
DrForr | No idea. | ||
19:33
Ven joined
|
|||
timotimo | *shrug*, between 0.3m and 1.5m of snow it hardly makes a difference :P | 19:36 | |
RabidGravy | it was actually a delightful spring day in London | 19:40 | |
[Coke] | ... said no one ever! | ||
[Coke] was going to follow that up with "having never been in London", but I actually was in Heathrow momentarily last year, so whoops. | 19:41 | ||
RabidGravy | shame I spent it in the office | ||
19:41
labster left
|
|||
RabidGravy | the fun thing about STOMP is that the message exchange semantics are entirely absent from the spec so you have to implement all the things | 19:43 | |
rashipi | Why not use HTTP instead? | 19:45 | |
19:45
sufrostico joined
19:46
Ven left
|
|||
timotimo | you could say that for basically any high-level protocol | 19:48 | |
geekosaur trying to walk to store before it hits here | |||
got a few hours yet | |||
19:49
sufrosti1o joined
|
|||
rashipi | timotimo: Exactly! | 19:49 | |
timotimo | ssh? why not http? | ||
rashipi | HTTP 2.0 is a good fit. | 19:50 | |
timotimo | a little bit, yeah | ||
19:51
Cabanossi left
|
|||
RabidGravy | I like forward to seeing someones implementation ;-p | 19:51 | |
look even | 19:52 | ||
rashipi | Even supports the same authentication method: tools.ietf.org/html/rfc6091 | ||
19:53
Ven joined,
_kristia1 is now known as _kristian
|
|||
RabidGravy | but you'd still have to define a Pub/Sub protocol and the messaging semantics | 19:53 | |
19:53
Cabanossi joined
|
|||
rashipi | Yes, none of them go there. | 19:54 | |
moritz | amqp is pretty detailed | ||
19:54
bjz left
|
|||
moritz | and yes, it's complicated compared to STOMP | 19:55 | |
19:57
bjz_ joined
19:58
cdg joined
|
|||
rashipi | amqp does have something going for it that can't be done with HTTP/REST | 19:59 | |
moritz | and AMQP 0.9 has pretty detailed behavioral specs | ||
which AMQP 1.0 tossed | |||
[Coke] | is there an easy way to compare the precedence of two operators? | 20:02 | |
lizmat starts on the Perl 6 Weekly | |||
20:02
espadrine joined,
Ven left
|
|||
lizmat | m: say &[+].prec<prec> cmp &[*].prec<prec> # Coke | 20:04 | |
camelia | Less | ||
lizmat | [Coke] ^^^ | ||
20:07
TEttinger joined
|
|||
[Coke] | lizmat++ | 20:07 | |
so, 1==my $a =3; shows false, but == 's prec is higher than ='s | 20:09 | ||
m: say 1==my $a=3; | |||
camelia | False | ||
[Coke] | m: say 1==my $a=1; | ||
camelia | True | ||
[Coke] | m: say &infix:<==>.prec<prec> cmp &infix:<=>.prec<prec> | ||
camelia | More | ||
[Coke] | (trying to compose a reply to Sean McAfee on perl6-users) | ||
20:09
sufrosti1o left
|
|||
IOninja | m: dd [&infix:<==>.prec<prec>, &infix:<=>.prec<prec> ] | 20:10 | |
camelia | ["m=", "e="] | ||
IOninja | m: my $a = 1; say 1== $a =42; | ||
camelia | Cannot modify an immutable Bool in block <unit> at <tmp> line 1 |
||
20:10
sufrostico left
|
|||
Geth | doc: bca510bc51 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/unicode_texas.pod6 Remove duplicate mention of ∘ Once is enough. |
20:12 | |
20:13
Ven joined
|
|||
[Coke] | Anyone know what m= and e= mean? | 20:13 | |
timotimo | these letters are just there because alphabet | ||
lizmat | [Coke]: afaik they have no meaning, just relative weights | 20:14 | |
20:14
Ven left
|
|||
[Coke] | m: dd [&infix:<*>, &infix:<+>] | 20:14 | |
camelia | [sub infix:<*> (Mu $?, Mu $?) { #`(Sub+{<anon|53374288>}+{Precedence}|55561456) ... }, sub infix:<+> (Mu $?, Mu $?) { #`(Sub+{<anon|53374288>}+{Precedence}|55561296) ... }] | ||
[Coke] | m: dd [&infix:<*>.prec<prec>, &infix:<+>.prec<prec>] | 20:15 | |
camelia | ["u=", "t="] | ||
[Coke] | ah, so this all checks out. | ||
liAealneDx | [Coke]: github.com/rakudo/rakudo/blob/nom/...3878-L3908 | ||
20:16
pecastro joined
|
|||
[Coke] | er, wait, if == is higher, is this really being parsed as (1==my $a) = 3 ? | 20:17 | |
m: (1==my $a) = 3; say $a; | |||
camelia | Use of uninitialized value of type Any in numeric context in block <unit> at <tmp> line 1 Cannot modify an immutable Bool in block <unit> at <tmp> line 1 |
||
[Coke] | m: 1==my $a = 3; say $a; | ||
camelia | WARNINGS for <tmp>: Useless use of "==" in expression "1==my $a = 3" in sink context (line 1) 3 |
||
RabidGravy | moritz, I guess the thing with amqp is that brokers like RabbitMQ will retain the exchange semantic, whereas say ActiveMQ which have always been multi-protocol can have more flexible semantics easier | 20:19 | |
I keep meaning to get Net::AMQP to negotiate, but so many yaks | 20:23 | ||
20:23
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6
|
|||
liAealneDx | statisfiable6: libmoar | 20:23 | |
statisfiable6 | liAealneDx, OK! Working on it… | ||
liAealneDx, gist.github.com/9e9d11180e161bd421...9e97a02c11 | 20:24 | ||
liAealneDx | oops, no data… | 20:25 | |
20:25
statisfiable6 left
|
|||
liAealneDx | let's try again :P | 20:25 | |
20:25
statisfiable6 joined
|
|||
liAealneDx | statisfiable6: libmoar | 20:25 | |
statisfiable6 | liAealneDx, OK! Working on it… | ||
20:25
ChanServ sets mode: +v statisfiable6
|
|||
statisfiable6 | liAealneDx, gist.github.com/bac10db61919a463cf...0181492fc5 | 20:26 | |
liAealneDx | maybe I shouldn't graph it over rakudo commits, but whatever. This was the fastest way to get it done :P | 20:27 | |
[Coke] | that looks like a bigger change than it is since the x axis starts at 3-ish. | 20:29 | |
... y-axis. whoops | |||
liAealneDx | statisfiable6: libmoar0 | ||
statisfiable6 | liAealneDx, OK! Working on it… | ||
liAealneDx | let's start it on y then | 20:30 | |
on 0* | |||
statisfiable6 | liAealneDx, gist.github.com/609cdca96c23662481...0a31bbb669 | ||
liAealneDx | [Coke]: it is a significant change anyway | 20:31 | |
20:33
Ven joined
|
|||
Geth | whateverable: aa374ae6f3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Statisfiable.p6 Slight reworking of Statisfiable Now statisfiable won't ping out when it is busy. In addition, now it should be a bit easier to add new graphs. Also, implement a graph requested in issue #94. It is needlesly using rakudo commits for X steps, but that's not a big deal. |
20:35 | |
20:36
pecastro left
20:42
sufrostico joined
20:46
Ven left,
sufrosti1o joined
20:47
sufrostico left,
gdonald left,
gdonald joined
20:49
sufrostico joined
20:51
Cabanossi left,
labster joined
20:53
Ven joined
20:54
Cabanossi joined
20:55
sufrostico left
20:56
sufrosti1o left
21:02
Ven left
21:03
pecastro joined
21:04
rashipi left
21:05
Ven joined
|
|||
liAealneDx | uhh! Writing emails is hard! | 21:11 | |
21:12
eroux left
|
|||
liAealneDx | m: sub infix:<±> { Range.new: $^a - $^b, $a + $b }; say 5 ± 2 | 21:13 | |
camelia | 3..7 | ||
liAealneDx | m: sub infix:<±> { Range.new: $^a - $^b, $a + $b }; say 4 ~~ 5 ± 2 | 21:14 | |
camelia | True | ||
liAealneDx | m: sub infix:<±> { Range.new: $^a - $^b, $a + $b }; say 0 ~~ 5 ± 2 | ||
camelia | False | ||
21:18
mcmillhj left,
itaipu left
21:20
Ven left
21:21
itaipu joined
|
|||
grondilu | is there a EOF constant and can I use it with a here-document to say everything up to the rest of the file? | 21:22 | |
I know I could do "say q:to/^EOF$/;" and end with a literal 'EOF' but that looks dumb | |||
RabidGravy | Hmm | 21:24 | |
jnthn | Wasn't there some Pod-y solution for that, like =finish and then $=finish to access it? | 21:26 | |
Pretty sure there's not a way with heredocs, though | |||
21:27
mcmillhj joined
|
|||
IOninja | yeah, =finish | 21:28 | |
lizmat concurs | |||
IOninja | .oO( concurrent lizmat... ) |
21:30 | |
lizmat | hehe, multi-processing I'm afraid :-) | ||
21:32
mcmillhj left
21:33
bjz_ left
|
|||
RabidGravy | m: class Foo { }; say Foo.new.WHICH.Str.ords.join("").Int.base(16) | 21:35 | |
camelia | 243F20D7F906232F367A16E | ||
RabidGravy | is that too dumb for getting a fairly amonymous unique id? | 21:36 | |
jnthn | For what lifetime? | 21:37 | |
Or what usage? | |||
RabidGravy | for the lifetime of the program | ||
jnthn | Will the object's lifetime be shorter? | ||
The .WHICH contains a memory address, and we allocate memory in pools | 21:38 | ||
Fixed size buckets, essentially | |||
RabidGravy | well, it's actually a cheating-arse way of creating outbound stomp messages message-id | ||
moritz | m: say (class { }).WHERE | ||
camelia | 140004429043048 | ||
jnthn | So there's a reasonable chance it'll get re-used for a future message | ||
If they just need to be unique within the process, then can you not just use Concurrent::Iterator? | 21:39 | ||
perlpilot | RabidGravy: github.com/retupmoca/P6-UUID ;-) | ||
RabidGravy | well Ideally it would be universally unique | ||
jnthn | And my $id-source = concurrent-iterator(100000..*); $id-source.pull-one to get another one | ||
Oh | |||
Then maybe use a UUID moudle :) | |||
*module | 21:40 | ||
RabidGravy | yeah, I was just being lazy :) | ||
maybe add it to the inbound message | 21:41 | ||
IOninja | RabidGravy: FWIW .join("") is same as .join | ||
21:42
dct joined,
wamba1 left
21:46
adu joined
21:49
adu left
21:50
adu joined,
kyan left
|
|||
RabidGravy | jnthn, anyhow I may imminently in a position to make Stomp::Server actually be y'know a server :) | 21:50 | |
it's a bit meh at the moment but nothing a good refactor can't sort out | 21:51 | ||
jnthn | :-) | 21:54 | |
Cool | |||
Meanwhile I've a new little module to add to the ecosystem tomorrow | |||
But for now, time to rest :) | |||
21:57
zakharyas joined
|
|||
moritz | good idea | 21:57 | |
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/03/13/...y-da-tags/ | 21:59 | |
22:04
kyan joined
|
|||
IOninja | lizmat++ good weekly | 22:05 | |
22:06
LeCamarade left,
LeCamarade joined
|
|||
liAealneDx | NeuralAnomaly: status | 22:10 | |
NeuralAnomaly | liAealneDx, [✘] Next release will be in 4 days and 6 hours. Since last release, there are 57 new still-open tickets (19 unreviewed and 0 blockers) and 76 unreviewed commits. See perl6.fail/release/stats for details | ||
22:11
tramdas joined
|
|||
tramdas | how to use a suspend statement in perl6? | 22:11 | |
liAealneDx | lizmat++ | 22:12 | |
tramdas: suspend? | |||
tramdas | yes...i want suspend the current task | 22:13 | |
22:15
mcmillhj joined
|
|||
liAealneDx | tramdas: I guess someone smarter than me will be able to answer your question (eventually) :) That being said, I can give you some ideas, but for that I'd have to know what problem you're trying to solve. | 22:18 | |
huggable: xy | |||
huggable | liAealneDx, nothing found | ||
liAealneDx | huggable: xy problem | ||
huggable | liAealneDx, You want to do X, but don't know how. You think you can solve it using Y, but don't know how to do that, either. So, you ask about Y in order to solve X, which doesn't make sense. You should ask about X. | ||
22:19
RabidGravy left
22:20
mcmillhj left
22:22
sufrostico joined
22:23
sufrosti1o joined
|
|||
geekosaur | what is a task, here? | 22:23 | |
22:24
mcmillhj joined
|
|||
geekosaur | also is this actually suspend as in yield the cpu, or suspend as in produce a partial result? | 22:24 | |
22:24
mcmillhj left
22:28
kyan left
|
|||
tramdas | suspend as in partial result...say a condition is not matched then i need to suspend the current task | 22:29 | |
22:30
hobbified is now known as hobbs,
hobbs left,
hobbs joined
22:33
Todd joined
|
|||
Todd | Hi All. Question on matching. Can I preassign variable names like I can in "for" loops? something like | 22:34 | |
perl6 -e 'my $x="ab12cd"; $x -> $a, $b, $c ~~ m/(ab)(12)(cd)/; say "$x\n\$0=<$0>\t\$1=<$1>\t\$2=<$2>\n";' | |||
liAealneDx | $<x>=ab | 22:36 | |
IOninja | $x ~~ /$<a>=(ab) $<b>=(12) $<c>=(cd)/; say "$x\n$<a>\n$<b>\n$<c>" | ||
liAealneDx | ummm… you probably want [] in this case ↑ | ||
rindolf | Todd: hi! Are you ToddAndMargo from the perl6-users list? | 22:37 | |
22:38
Cabanossi left
22:39
Cabanossi joined
|
|||
Todd | The very same! | 22:39 | |
samcv | hello Todd | ||
22:40
Voldenet left
|
|||
Todd | I am putting together a note on the various ways to use matching. The last part is using different variable names other than $0, $1 etc.. | 22:40 | |
IOninja | don't matter. It doesn't set $0 | ||
liAealneDx | m: "ab12cd" ~~ m/$<a>=[ab] $<b>=[12] $<c>=[cd]/; say $<a>; say $<c> | ||
camelia | 「ab」 「cd」 |
||
IOninja | m: 'abc' ~~ /$<foo>=(.+)/; say $/[0]; say $<foo> | 22:41 | |
camelia | Nil 「abc」 |
||
liAealneDx | hm | ||
IOninja | tramdas: whyyyy are you messaging me? | ||
22:42
sufrosti1o left,
sufrostico left
|
|||
tramdas | is there something like a 'suspend' statement in perl6 so i can stop the current task | 22:42 | |
IOninja | jesus | ||
liAealneDx | :S | ||
rindolf | Todd: ah, I see - I am Shlomi Fish | ||
IOninja | tramdas: no one knows what you're talking about. Try using words other than "suspend statement" instead of messaging people and repeating yourself. | 22:43 | |
m: "ab12cd" ~~ m/$<a>=ab $<b>=12 $<c>=cd/; say $<a>; say $<c> | |||
camelia | 「a」 「c」 |
||
IOninja | Don't need anything really ^ | ||
liAealneDx | ouch | ||
no | |||
IOninja | :) | ||
tramdas | need an unconditional release | ||
liAealneDx | well, unless you really meant just ‘a’ to be captured | 22:44 | |
22:44
sufrostico joined,
sufrosti1o joined
|
|||
liAealneDx | IOninja: interesting… I remember there was some case where you had to use [] instead of (), but cannot remember now | 22:44 | |
(or otherwise it would capture it in $0 unnecessarily) | |||
tramdas | now u get it? | 22:45 | |
liAealneDx | hmm this one is interesting | ||
m: "abab12cd" ~~ m/$<a>=[ab]+ $<b>=(12) $<c>=(cd)/; say $/ | |||
camelia | 「abab12cd」 a => 「abab」 b => 「12」 c => 「cd」 |
||
IOninja | tramdas: no | ||
liAealneDx | m: "abab12cd" ~~ m/$<a>=(ab)+ $<b>=(12) $<c>=(cd)/; say $/ | ||
camelia | 「abab12cd」 a => 「ab」 a => 「ab」 b => 「12」 c => 「cd」 |
||
22:45
Voldenet joined,
Voldenet left,
Voldenet joined
22:46
tramdas left
|
|||
liAealneDx | IOninja: ↑ weird, right? | 22:46 | |
IOninja | nope. | ||
liAealneDx | okay :D | ||
IOninja | In the second case the + is outside the capture, while in the first case it's part of it | ||
liAealneDx | :O | 22:47 | |
well, that's far from being obvious… but okay | |||
Todd | perl6 -e 'my $x="ab12cd"; $x ~~ m/$<a>=(ab)+ $<b>=(12)+ $<c>=(cd)/; say "$x\n\$0=<$0>\t\$1=<$1>\t\$2=<$2>\n";' | ||
I am missing something | |||
IOninja | lol, and he copied the one with the issue | ||
liAealneDx | Todd: no + | 22:48 | |
Todd | perl6 -e 'my $x="ab12cd"; $x ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say "$x\n\$0=<$0>\t\$1=<$1>\t\$2=<$2>\n";' | ||
IOninja | Todd: you're using wrong variables | ||
Todd | no joy | ||
IOninja | Where do you see <$0> in my answer to you? | 22:49 | |
Todd | mumble, mumble (copy and paste!) | ||
Variable '$a' is not declared where do I put the "my"? | 22:50 | ||
22:52
BenGoldberg joined
|
|||
IOninja | You can't be serious, Todd. | 22:52 | |
night all. \o | 22:53 | ||
BenGoldberg | Hello, good evening ;) | ||
Todd | Yes I am. In loop "for @Array -> $line" there is no "my" | ||
BenGoldberg | m: for ^3 -> my $line { .say } | 22:54 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid typename 'my' in parameter declaration. at <tmp>:1 ------> 3for ^3 -> my7⏏5 $line { .say } |
||
liAealneDx | Todd: just using $<a>=(ab) will declare it, kind of | ||
Todd | changed to | 22:55 | |
perl6 -e 'my $a; my $b; my $c; my $x="ab12cd"; $x ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say "$x\n\$a=<$a>\t\$b=<$b>\t\$c=<$c>\n";' | |||
and am getting "Use of uninitialized value $a of type Any in string context." | |||
geekosaur | because it's $<a> etc, | ||
which expands to $/<a> same as $0 expands to $/[0] | 22:56 | ||
Todd | what do you mean? | ||
geekosaur | you have <$a> and friends in your say | ||
they need to be <$<a>> etc. | |||
it is $<a> NOT $a | |||
liAealneDx | look… | ||
m: my $x="ab12cd"; $x ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say "$x\n\$a=$<a>\t\$b=$<b>\t\$c=$<c>" | |||
camelia | ab12cd $a=ab $b=12 $c=cd |
||
liAealneDx | Todd: here ↑ | 22:57 | |
22:57
espadrine left
|
|||
Todd | perl6 -e 'my $a; my $b; my $c; my $x="ab12cd"; $x ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say "$x\n\$a=<$<a>>\t\$b=<$<b>>\t\$c=<$<c>>\n";' ab12cd $a=<ab>$b=<12>$c=<cd> | 22:57 | |
that worked | |||
liAealneDx | :-| | 22:58 | |
Todd | Is there a way to get "$a" without the "<>"? | ||
geekosaur | not without reaassigning it | ||
liAealneDx | Todd: you don't need “my $a; my $b; my $c;” there… | ||
Todd | I just noticed | ||
geekosaur | match results always go into $/ | ||
BenGoldberg | m: 'av12cd' ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say $<a>; | 22:59 | |
camelia | Nil | ||
geekosaur | (although I think you can capture the result instead, it's still *shaped* like $/) | ||
BenGoldberg | m: 'ab12cd' ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say $<a>; | ||
camelia | 「ab」 | ||
geekosaur | and $<a> is a reference into $/ | ||
22:59
labster left
|
|||
BenGoldberg | m: my $result = 'ab12cd' ~~ m/$<a>=(ab) $<b>=(12) $<c>=(cd)/; say $result<a>; | 22:59 | |
camelia | 「ab」 | ||
geekosaur | this is necessary because you can match multiple times etc. $/ will keep those multiple matches straight. what happens if you were to somehow assign into an external variable $a? | 23:00 | |
Todd | Inquiring minds want to know! | 23:01 | |
23:01
labster joined
|
|||
geekosaur | in otherr worse, you expect us to solve that one for you? I can think of several alternatives, none of which is sufficient for all cases | 23:02 | |
23:02
grondilu_ joined
|
|||
geekosaur | $/ handles all such cases in a rational way | 23:02 | |
it doesn't require reading the mind of the user | |||
Todd | I am not sue what you are getting at. I was curious how to assign to an external variable. I already wrote down the $<a> method in my note | 23:04 | |
sure not sue | 23:05 | ||
geekosaur | and my answser was "you don't" and an example of why | ||
23:05
grondilu left
|
|||
geekosaur | your response seems to be "of course you do, so how?" | 23:05 | |
23:06
Cabanossi left
|
|||
Todd | Well, that solves it. And don't forget I think you guys know all and see all. | 23:06 | |
Thank you guys for the help! I will post my notes over on the mailing list. (I do come up with some weird one, don't I!) | 23:07 | ||
23:08
Cabanossi joined
|
|||
Todd | bye bye, till I hit my head on a wall again | 23:09 | |
23:10
robertle left
|
|||
geekosaur | and I should probably stop trying to answer questions; dopamine storm = no patience to speak of :( | 23:11 | |
b2gills | $<a> is short for $/{ qw' a ' } | ||
lucs | I've had some success with the following, not quite sure how to understand it though: | ||
geekosaur | (among other things) | ||
lucs | m: my ($a, $b) = @('as12df 345' ~~ / (\d+) .*? (\d+) /); print "$a $b" | ||
camelia | 12 345 | ||
geekosaur | you're deconstructing the $/ - shaped thing that a smartmatch produces | 23:12 | |
b2gills | m: $/ = { a => 1, b =>2 }; say $< a b > | ||
camelia | (1 2) | ||
geekosaur | there's should be some documentation for it somewhere | ||
23:12
cdg left
23:15
Todd left
23:42
adu left
23:44
adu joined
23:45
mscha left
23:51
Cabanossi left
|
|||
samcv | this is an insane patent www.google.com/patents/US20040230959 in 2004... | 23:52 | |
how can you even patent that | |||
geekosaur | uspto doesn't even care these days | 23:53 | |
samcv | quick guys lets patent all our operatorssss | ||
geekosaur | you can patent anything and it's up to everyone else to challenge it in court | ||
samcv | then sue MS if they decode to steal them! | ||
s/decode/try | |||
geekosaur | which basically enables barefaced theft by corporations | ||
23:53
Cabanossi joined
|