»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋 Set by Zoffix on 25 July 2018. |
|||
00:05
llfourn joined
00:10
llfourn left
00:27
mowcat joined
00:28
Manifest0 left
00:33
Manifest0 joined
00:37
sjn left
00:40
sjn joined
00:41
lichtkind left
00:56
luyang177 joined
|
|||
luyang177 | sub go($n) { say $n.VAR.^name; }; go(10); | 00:57 | |
evalable6 | Scalar | ||
luyang177 | I thougnt $n is just a value without Scalar Container | ||
00:57
netrino left
|
|||
luyang177 | sub go($n is rw) { $n = 7; say $n.VAR.^name; }; go(10); | 01:01 | |
Parameter '$n' expected a writable container, but got Int value | 01:02 | ||
why 'sub go($n) { say $n.VAR.^name; }; go(10);' output 'Scalar' instead of Int | 01:03 | ||
01:07
luyang177 left
|
|||
JappleAck | sub go(\n) { say n.VAR.^name; }; go(10); | 01:08 | |
evalable6 | Int | ||
JappleAck | docs.perl6.org/language/mop#VAR | ||
01:14
molaf left
01:24
JappleAck left
01:27
molaf joined
01:31
JappleAck joined
|
|||
guifa | p6: my $a = DateTime.new(now); say $a.clone(year=>0) | 01:32 | |
evalable6 | 0000-05-01T01:32:31.990345Z | ||
guifa | What is the year here? 1 BC ? | ||
01:46
molaf left
02:00
Manifest0 left
02:05
kurahaupo left
02:06
kurahaupo joined,
kurahaupo left,
kurahaupo joined,
Manifest0 joined,
llfourn joined
02:11
kurahaupo left,
kurahaupo joined
02:12
llfourn left
02:13
mowcat left
02:15
kurahaupo left,
kurahaupo joined
02:18
kurahaupo left
02:19
kurahaupo_ joined
02:30
kurahaupo_ left
02:31
kurahaupo joined,
Manifest0 left
|
|||
elcaro | guifa: kinda. if you consider all historical time to be in Gregorian | 02:34 | |
guifa | Well, Gregorian doesn’t consider 0 to be a valid year. Gregorian goes 4, 3, 2, 1, -1, 2, 3 | ||
guifa is working on DateTime formatting | |||
(let’s just say it makes different measurement and number systems look like a cake walk lol) | 02:35 | ||
elcaro | yeah, but in the context of the DateTime type, year 0 is 1BC in Gregorian... but it wouldn't really be the 1BC from history, because of changes to the calendar in recent ceturies | 02:36 | |
02:36
Manifest0 joined
02:42
Manifest0 left
|
|||
guifa | Right. I just need to know what it’s considering it before pumping it into formulae to calculate year numbers for other calendar systems :-) | 02:43 | |
Actually, the better question is whether it uses a cut off date to switch automatically to Julian. Hm… | 02:44 | ||
02:47
Manifest0 joined
02:49
hythm_ joined
02:51
kaare_ left,
kaare__ joined
02:56
kurahaupo left
02:57
kurahaupo joined
|
|||
kurahaupo | guifa: yeah, having year numbers change in March or July instead of January is unsettling | 02:59 | |
03:00
ddddddd joined
03:01
zacts joined
|
|||
guifa | oh FINALLY. Minus the time zone stuff and non-gregorian year/cycle calculation and handling fall backs for non-existent widths, I’ve got date formatting working. Shouldn’t take long to handle the fallbacks, | 03:09 | |
guifa does a dance | |||
03:27
JappleAck left
03:29
Manifest0 left,
JappleAck joined
03:34
Manifest0 joined
03:49
ddddddd left
03:50
Cabanossi left
03:57
Cabanossi joined
03:59
Manifest0 left
04:01
hythm_ left
04:04
Manifest0 joined,
[particle] joined,
cpan-p6 left,
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
04:08
llfourn joined
04:10
zacts left
04:12
llfourn left
04:21
ddddddd joined
04:31
zacts joined
05:01
Manifest0 left
05:09
Manifest0 joined
05:10
sauvin joined
05:32
Manifest0 left
05:36
ddddddd left,
Manifest0 joined
05:41
Manifest0 left
05:46
Manifest0 joined
05:56
llfourn joined
05:59
dominix joined
06:01
llfourn left
06:07
dominix_ joined
06:10
dominix left
06:23
dominix_ is now known as dominix
|
|||
holyghost | I have a main loop for my perl6 Quest For Glory game system, Gargoyle's Quest seemed too daft due to copyright infringements | 06:26 | |
It uses SDL 1.2 | 06:27 | ||
and is a Delegate/MVC | |||
The meaning is you just do QFGMain.new.qfg_mainloop; in a script to call on the modules/classes | 06:28 | ||
then override where you like | |||
dominix | Client: HexChat 2.14.1 • OS: Ubuntu "bionic" 18.04 • CPU: Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz (548MHz) • Memory: Physical: 15,2 Gio Total (13,9 Gio Free) Swap: 957,0 Mio Total (957,0 Mio Free) • Storage: 641,0 Go / 2,5 To (1,8 To Free) • VGA: 8086:3ea5 @ Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers • Uptime: 36m 3s | 06:33 | |
06:34
dominix left
06:37
jmerelo joined
|
|||
holyghost | hi JJ | 06:37 | |
I've managed to start a game system using SDL 1.2, SDL module | |||
It uses the bare minimum available | 06:38 | ||
I hope I can do some sierra ripoffs with it :-) | |||
06:38
aindilis left
|
|||
jmerelo | releasable6: status | 06:38 | |
releasable6 | jmerelo, Next release in ≈4 days and ≈12 hours. 2 blockers. 132 out of 255 commits logged (⚠ 2 warnings) | ||
jmerelo, Details: gist.github.com/e6755f60332944e3ba...ecee2a1c04 | |||
jmerelo | holyghost: hi | 06:39 | |
06:42
[particle] left,
aindilis joined
06:44
aindilis` joined
06:48
aindilis` left,
Manifest0 left
06:49
aindilis` joined
|
|||
holyghost | I'm too drunk to continue, I guess I better not make a delegate/MVC game system on its own, I'll use things from Quest For Glory games to make system | 06:52 | |
s/make/make a | 06:53 | ||
Then I can do the same thing for other game systems/games | |||
06:53
Manifest0 joined
|
|||
holyghost | MVC is stupid in a perl module to make evrything from | 06:54 | |
06:54
aindilis` left
07:07
Manifest0 left
07:08
aindilis` joined
|
|||
cpan-p6 | New module released to CPAN! Game::QFG (0.1.1) by 03HOLYGHOST | 07:11 | |
07:12
molaf joined
07:13
Manifest0 joined
|
|||
cpan-p6 | New module released to CPAN! Game::QFG (0.1.2) by 03HOLYGHOST | 07:27 | |
holyghost | ^-- Keeponlaffin and Erasmus will be in it for sure :-) | 07:30 | |
07:40
rindolf joined
07:46
zakharyas joined
07:51
squashable6 left
07:55
squashable6 joined,
ChanServ sets mode: +v squashable6
07:56
araraloren joined
07:57
llfourn joined
|
|||
cpan-p6 | New module released to CPAN! Game::QFG (0.1.3) by 03HOLYGHOST | 07:58 | |
holyghost | ^-- now I need to program AIs with multiple constraints | 08:01 | |
I also need to make my own backgrounds for the rooms | |||
08:02
llfourn left
08:05
scimon joined
08:33
Manifest0 left
08:38
Manifest0 joined
08:51
Geth left
08:52
Geth joined
08:58
domidumont joined
09:03
llfourn joined
09:07
llfourn left
09:13
molaf left
09:15
zakharyas left
09:20
_jrjsmrtn joined
09:21
__jrjsmrtn__ left
09:39
llfourn joined
09:43
mniip left
09:44
llfourn left
09:46
mniip joined
09:51
llfourn joined
09:56
llfourn left
10:01
a3f left,
a3f joined,
a3f left,
a3f joined
10:03
Black_Ribbon left
10:08
squashable6 left
10:11
squashable6 joined
10:12
zakharyas joined
10:20
llfourn joined
|
|||
moritz | hi all. Has anybody been able to do something useful with the data I have recovered? | 10:22 | |
ufobat_ | m: my $match = "yada" ~~ /a(d)a/; .say for $match.^methods | ||
evalable6 | (exit code 1) ast Died with X::Method::NotFound in block <unit> at /tmp/wZCgE9fWlM line … |
||
ufobat_, Full output: gist.github.com/3c20aff168e950b7f7...9885ae4aeb | |||
ufobat_ | is this the expected behaviour? | ||
m: my $match = "yada" ~~ /a(d)a/; say $match.^methods | |||
evalable6 | (ast made STR MATCH CURSOR_NEXT CURSOR_OVERLAP CURSOR_MORE INTERPOLATE INTERPOLATE_ASSERTI… | ||
ufobat_, Full output: gist.github.com/39c9fea8bc6935d215...0764ef8cd4 | |||
ufobat_ | moritz, jmerelo: Grammar::ErrorReporting is using self.pos and self.target but those 2 are not documented, i was wondering if there are more usefull methods/public attributes which are not included in the documentation | 10:25 | |
10:25
llfourn left
|
|||
moritz | ufobat_: it's documented in docs.perl6.org/type/Cursor | 10:26 | |
which is a superclass of Grammar | |||
I don't know why they aren't shown on the page for Grammar though | |||
that sounds like a bug in htmlify, unless somebody changed the behavior intentionally | 10:27 | ||
ufobat_ | docs.perl6.org/type/Grammar#Type_Graph doesnt include cursor | ||
meh :-( | 10:28 | ||
moritz | that might explain it | ||
jmerelo | ufobat_: quite a few... | ||
moritz | it says Grammar is Match | ||
it's not, it's Cursor | |||
m: say Grammar ~~ Match | 10:29 | ||
evalable6 | True | ||
moritz | m: say Grammar.^mro | ||
evalable6 | ((Grammar) (Match) (Capture) (Cool) (Any) (Mu)) | ||
jmerelo | moritz: there's no bug in htmlify.p6. htmlify.p6 is a big bug itself. | ||
moritz | jmerelo: that's a pretty cynical view | ||
jmerelo | moritz: I would say informed, but whatever. | ||
ufobat_ | if grammar is no cursor, your module coudn't do self.pos and self.target, because its a role for a grammar, no? | ||
moritz | m: say Cursor.^roles | 10:30 | |
evalable6 | (exit code 1) No such method 'gist' for invocant of type 'NQPMatchRole'. Did you mean 'ast'? in block <unit> at /tmp/kvT5slruIN line 1 |
||
jmerelo | ufobat_: anyway, dependencies are not in htmlify.p6, but in type-graph.txt | ||
ufobat_ | m: grammar {}.^methods.perl | ||
evalable6 | (exit code 1) Died with X::Method::NotFound in block <unit> at /tmp/uOD9BJJAGq line 1 |
||
moritz | m: say Cursor.mro | ||
evalable6 | (exit code 1) No such method 'mro' for invocant of type 'Match' in block <unit> at /tmp/EjuQChGrFX line 1 |
||
moritz | m: say Cursor.^mro | ||
jmerelo | ufobat_: would be grateful if you created an issue. | ||
evalable6 | ((Match) (Capture) (Cool) (Any) (Mu)) | ||
moritz | m: say Cursor.HOW.^name | 10:31 | |
evalable6 | Perl6::Metamodel::ClassHOW | ||
ufobat_ | i need to leave now but i will create an issue this evening, unless you or moritz did. cya | ||
moritz | I don't understand this. Grammar ~~ Cursor is true, Cursor is a class (not a role), but Grammar.^mro doesn't mention Cursor | 10:32 | |
jmerelo | moritz: that's one of the problems with htmlify.p6, it's using metadata stored in files instead of using introspection. And very little, if any, of it is specified; none is tested. | ||
moritz: let me see if I get this off the top of my head. At some point in time, Cursor was made a synonym for Match? | 10:33 | ||
timotimo | moritz: i believe Cursor := Match | ||
moritz | m: say Cursor === Match | ||
timotimo | m: say Cursor =:= Match | ||
evalable6 | True | ||
True | |||
jmerelo | timotimo: I was going to check the source, but timotimo is muth better :-) | ||
10:33
llfourn joined
|
|||
moritz | aaaah, that explains a whole lot | 10:33 | |
10:34
Sgeo__ left
10:35
Sgeo__ joined
10:45
sena_kun joined
10:53
jmerelo left
|
|||
moritz | ufobat_, jmerelo: github.com/perl6/doc/issues/2736 opened | 10:54 | |
11:06
lumin joined
11:35
kurahaupo left
11:36
kurahaupo joined,
kurahaupo left,
kurahaupo joined
|
|||
rjbs | alerts.perl6.org SSL seems broke | 11:37 | |
El_Che | rjbs: that was a Zoffix' service, iirc. He left. | ||
elcaro | while we're on the subject of broken infrastructure... where can I download R* | 11:38 | |
rjbs | Okay. Should the link from rakudo.org be removed, then? | ||
elcaro | rakudo.org still giving 500 - sServer error | ||
11:42
pmurias joined
11:45
netrino joined
11:48
domidumont left
|
|||
sena_kun | elcaro, please, use links stated at perl6.org/downloads/ | 12:00 | |
tony-o_ | m: my $x = Any.new; say to-json($x); | ||
evalable6 | { "0": null } Saw 1 occurrence of deprecated code. =====================================… |
||
tony-o_, Full output: gist.github.com/50b069b2308dda9411...17727e02c7 | |||
tony-o_ | weird | 12:01 | |
m: say Any.new.Str | |||
evalable6 | Any<93865634335344> | ||
tony-o_ | m: say to-json('Any<93865634335344>') | ||
evalable6 | "Any<93865634335344>" Saw 1 occurrence of deprecated code. ===============================… |
||
tony-o_, Full output: gist.github.com/5d4409d1c406b4e964...11d32dcc06 | |||
tony-o_ | m: say Any.new.gist | 12:02 | |
evalable6 | Any.new | ||
tony-o_ | m: say to-json('Any.new') | ||
evalable6 | "Any.new" Saw 1 occurrence of deprecated code. ===========================================… |
||
tony-o_, Full output: gist.github.com/3e4ccecb020b6b3260...9767553225 | |||
rjbs | ~$ eval $( /Users/rjbs/.rakudobrew/bin/rakudobrew init Zsh ) | 12:05 | |
zsh: parse error near `()' | |||
:( | |||
Anybody know what that's about? | |||
It's me forgetting "'s. | 12:06 | ||
12:06
mowcat joined
|
|||
rjbs | ~$ rakudobrew nuke moar-2019.03.01 | 12:07 | |
Undefined subroutine &Rakudobrew::Build::match_and_run called at /Users/rjbs/.rakudobrew/bin/../lib/Rakudobrew/Build.pm line 132. | |||
:sob: | |||
rjbs deletes everything, again, starts build, goes to work! o/ | 12:08 | ||
12:11
cpage_ joined
12:20
Sgeo__ left,
Sgeo__ joined
12:22
pminten joined
|
|||
pminten | Hi, what's the best place to report a confusing error if the user does something silly? | 12:23 | |
p6: class Foo {} ; sub bar(Foo $foo) { my $foo.^name } | |||
evalable6 | (exit code 1) ===SORRY!=== Cannot find method 'default' on object of type NQPMu |
||
pminten | (Stack trace is four entries all in Grammar.moarvm, so it's something that errors out early at the grammar level) | 12:24 | |
tobs | pminten: that should go into github.com/rakudo/rakudo/issues I think | 12:25 | |
pminten | thanks | 12:26 | |
moritz | m: my $foo.^name | 12:32 | |
evalable6 | |||
moritz | m: sub bar($foo) { my $foo.^name } | ||
evalable6 | (exit code 1) ===SORRY!=== Cannot find method 'default' on object of type NQPMu |
||
moritz | pminten: ^^ golfed it even further | 12:33 | |
m: my $foo; my $foo.^name | |||
evalable6 | Potential difficulties: Redeclaration of symbol '$foo' at /tmp/2rQ_Uy2IQi:1 ------> 03my $foo; my $foo08⏏04.^name |
||
pminten | moritz, thanks, I'll use that in the bug report | 12:34 | |
12:36
Util joined
12:42
molaf joined
12:50
reach_satori left
|
|||
pminten | Interestingly `sub bar($foo) { my $foo }` = grammar error, `sub bar($foo) { my $foo = 1 }` = normal (redeclaration) error | 12:52 | |
moritz | m: sub bar($foo) { my $foo } | 12:56 | |
evalable6 | (exit code 1) ===SORRY!=== Cannot find method 'default' on object of type NQPMu |
||
elcaro | bisectable6: good=2018.04 bad=2019.03 sub bar($foo) { my $foo } | 13:04 | |
bisectable6 | elcaro, Bisecting by exit code (old=2018.04 new=2019.03). Old exit code: 0 | ||
elcaro, bisect log: gist.github.com/a75d4426907e4e55e2...9055cad34f | |||
elcaro, (2019-01-02) github.com/rakudo/rakudo/commit/42...54cdaf5187 | |||
elcaro | I had an 2018.04 version laying around that gave me a normal redeclaration error for it, so figured it was introduced recently | 13:05 | |
moritz | elcaro++ | ||
good thinking | |||
pminten | elcaro: thanks I'll add this info to the issue | 13:06 | |
13:12
zacts left
13:20
skids joined
13:26
pminten left
13:27
zacts joined
13:32
lucasb joined
|
|||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class A { submethod BUILD(:$b) { say 'CLASS'; }; method new($b) { self.bless(:$b); }; method new ($a, $b) { self.bless(:$a, :$b) }; }; | 13:33 | |
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/JxOgrtIDKP Redecla… |
||
Xliff, Full output: gist.github.com/e58508f3bdc42114c6...600a360ca8 | |||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class A { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; | 13:34 | |
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/niZGaqDysX Redecla… |
||
Xliff, Full output: gist.github.com/404b1654007b2ef672...2b9c5e1839 | |||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class AA { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; | ||
evalable6 | |||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class AA { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; AA.new(3); AA.new(1, 2) | ||
evalable6 | CLASS CLASS |
||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class AA { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; AA.new(3); AA.new(1, 2); A.new(1) | 13:35 | |
evalable6 | (exit code 1) CLASS Default constructor for 'A' only takes named arguments in block <unit> at /tmp/Ey_MYzEVlZ line 1 CLASS |
||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class AA { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; AA.new(3); AA.new(1, 2); A.new(a => 1) | ||
evalable6 | CLASS CLASS ROLE |
||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; }; class AA { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; AA.new(3); AA.new(1, 2); A.new(b => 1) | ||
evalable6 | CLASS CLASS ROLE |
||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; method new-a($a) { self.bless(:$a) }; }; class AA { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; AA.new(3); AA.new(1, 2); AA.new-a(3) | 13:37 | |
evalable6 | (exit code 1) CLASS No such method 'new-a' for invocant of type 'AA'. Did you mean 'new'? in block <unit> at /tmp/3udzLYKTn5 line 1 CLASS |
||
Xliff | m: role A { submethod BUILD (:$a) { say 'ROLE' }; method new-a($a) { self.bless(:$a) }; }; class AA does A { submethod BUILD(:$b) { say 'CLASS'; }; multi method new($b) { self.bless(:$b); }; multi method new ($a, $b) { self.bless(:$a, :$b) }; }; AA.new(3); AA.new(1, 2); AA.new-a(3) | ||
evalable6 | CLASS CLASS CLASS |
||
13:38
pminten joined
13:52
pminten left
|
|||
holyghost | ok, I managed to build a AI engine for Game::QFG, I'll release it later this week | 13:58 | |
it's just message passing with some talk system, (originator, acceptor, friend-or-foe, msg-body) | 13:59 | ||
I have to put it in the NPCs which are already in the module now | |||
AI.pm6 is done however | 14:00 | ||
14:03
zacts left
14:04
araraloren left,
araraloren joined
14:16
zacts joined
14:17
zakharyas left
14:18
zacts left
14:19
zacts joined
14:27
Cabanossi left
14:30
pmurias left
14:32
Cabanossi joined
14:46
pmurias joined
|
|||
Geth | doc: softmoth++ created pull request #2737: Map and Range: Iterable is a role; use 'does' not 'is' |
14:51 | |
doc: c14584b245 | (Tim Smith)++ (committed by Moritz Lenz) | 2 files Map and Range: Iterable is a role; use 'does' not 'is' |
14:53 | ||
15:00
zacts left,
pochi_ joined
15:05
MilkmanDan left,
domidumont joined
15:07
MilkmanDan joined
15:12
mowcat left
|
|||
lumin | hello guys, I'm a perl newbie and I write python3. What's the biggest advantage of perl6 over python3? I'd like to read tutorial about that first. | 15:14 | |
Thanks in advance | |||
15:15
Black_Ribbon joined,
zacts joined,
eseyman left
|
|||
sena_kun | lumin, you can read docs.perl6.org/language/faq#Why_sh..._about_it? and choose whatever you see the most interesting options. :) | 15:16 | |
El_Che | lumin: in my view, perl 6 is more expressive, has more stuff built in, has optional typing, has built-in real threading | ||
moritz | and grammars. Don't forget grammars! :D | ||
15:16
pmurias left
|
|||
El_Che | lumin: downsizes: is does'nt have the size of the python of perl5 ecosystem, the runtime needs to get faster | 15:16 | |
sena_kun waves for great concurrency, grammars, easier syntax, MOP | 15:17 | ||
veesh | i really like perl6 in theory | 15:18 | |
El_Che | sena_kun: I don't think it has easier syntax than python | ||
lumin | My first impression about perl{5,6} is that they are quite good at text processing. I tried some simple program and was impressed. Grammar is an amazing feature but it's not easy to understand | ||
sena_kun | El_Che, well, to me it is. Maybe not the right word. For most people I'd say word "expressive" fits here more, but it is just my own feeling that e.g. ??!! is more natural than `foo if True else bar` and cases like that. given/when presence and so on. | 15:19 | |
kawaii | Perl 6 syntax is easier IMO, I can't even read Python that well due to the lack of ; etc... | ||
lumin | El_Che: the ecosystem is not a problem for me, as I'm just looking for fun :-) | ||
El_Che | sena_kun: in that optic, more expressive or natural. But the syntax gets complicated because there is more of it, and several ways to express the same thing. | 15:20 | |
lumin: in that case, jump in | |||
15:20
zacts left
|
|||
veesh | it's pretty overwhelming | 15:22 | |
how many things you can do | |||
sena_kun | El_Che, cannot deny that. Sometimes I am thinking like "Hm, do we really need e.g. `my Foo @a` _and_ `my @a of Foo`" myself. | ||
lumin | well, python3's mandatory indentation is not that bad ... IMHO. The python language itself is very simple to learn | ||
15:22
zacts joined
|
|||
veesh | python is meant to be read like english | 15:22 | |
lumin | but perl5 scared me off with $_ when the first time I try to learn it | ||
sena_kun | don't Python has `_` or something? | 15:23 | |
veesh | python has a lot of explicitness | ||
15:23
zacts_pi joined
|
|||
veesh | i can't imagine that they'd have anything like a default variable | 15:23 | |
moritz | sena_kun: only in ipython (the REPL), I believe | 15:24 | |
otherwise it's convention to use _ as a variable that you never want to read from | 15:25 | ||
_, status = some_action_that_returns_a_tuple() | |||
15:25
zacts is now known as Guest19553
|
|||
veesh | that's pattern matching | 15:25 | |
oh got what you meant | 15:26 | ||
sena_kun | moritz, I just did 2 + 2 using my linux box python(cpython it is, I believe) and _ after that prints me 4, so in a way similar to $_, just a lot less useful, as you can't contextualize. | ||
lumin | oh, you mentioned ipython. Is there any fancy interactive shell for perl6? I think that would provide a better learning expereince | ||
15:27
zacts_pi is now known as zacts,
Guest19553 left
|
|||
moritz | sena_kun: but only in interactive mode | 15:27 | |
veesh | perl6 has a repl by default | 15:28 | |
just use it | |||
moritz | but not as fancy as ipython, and needs readline installed to be usable | ||
veesh | though my terminal gets messed up with the unicode characters | ||
sena_kun | moritz, sigh. well, I wanted to say that there is nothing odd with "implicit" variables, if _ in python is ok, I don't see why $_ or $! in Perl 6 is suddenly a no-no. | 15:29 | |
lumin | veesh: I thought perl6's default REPL is just like python's, but I'm wrong. At least the perl6's features completion, nice | 15:30 | |
moritz | sena_kun: and I'm just saying that regular (non-interactive) python doesn't have implicit variables | 15:31 | |
sena_kun | moritz, can't deny that. don't have an idea of how many python folks know/use the feature though, probably not a few. | 15:33 | |
lumin | Another question: how fast is perl6? compared with pypy? | ||
(this should be a fair comparison since both of them have JIT) | 15:34 | ||
sena_kun | lumin, the performance is not spectacular right now, though folks are working on making it faster. not sure about saying "fair" here, as python was released in 1990, and Perl 6 in 2015. amount of time invested in JIT is a bit different for both cases. | 15:35 | |
timotimo | pypy's jit is absolutely incredible, IMO | ||
sena_kun: well, pypy hasn't had a jit that long | 15:36 | ||
there was a module you could load that would jit stuff for you, i forgot what it was called | |||
El_Che | lumin: if speed is critical, stick to compiled languages like Go and Rust. Perl 6 runtime has still to get a lot faster | ||
timotimo | and then there was shedskin, a limited python to C++ compiler, iirc | ||
and of course the project i forgot the name of that combined cpython with llvm | 15:37 | ||
lumin | timotimo: do you mean numba? github.com/numba/numba | ||
This is dedicated for scientific computing | |||
sena_kun | timotimo, I suspect python already has had good publicity and a lot of folks volunteering to make it faster, nope? not like I am saying that "It isn't fair!11", just noting that the history is different. | 15:38 | |
lumin | sena_kun: El_Che: thank you for the pointer. IIUC I should not try to throw heavy workload on perl6 currently | 15:39 | |
timotimo | sena_kun: cpython has a "don't make it faster if it makes the code less readable" policy IIRC | ||
El_Che | lumin: well, you can, and for most stuff people do (web, backend,...), Perl 6 is certainly fast enough | ||
timotimo | numba isn't the one i meant | ||
the one i'm refering to has been deprecated for a long time | |||
El_Che | bl | 15:40 | |
bbl | |||
sena_kun | timotimo, I certainly don't have an expertise to talk about those things, so I'll just sit silently in my corner. ;) | ||
lumin | I edit code with vim. Did you noticed that the perl6 syntax obviously slowed vim down ... | 15:44 | |
That's the most complicated syntax plugin I've ever seen ... | |||
sena_kun has used emacs, but eventually switched to using Comma | 15:45 | ||
15:46
mowcat joined
|
|||
sena_kun | though I still open emacs for typing Perl 6 down occasionally when it's a single file script I need to edit quickly | 15:46 | |
araraloren | The font render of IDEA is not good :/ | 15:47 | |
veesh | what plugin are you using for the highlighting? | 15:48 | |
lumin | veesh: Just the one shipped by vim8.1 | 15:49 | |
veesh | i thought it didn't come with one | ||
moritz | $ dpkg -S /usr/share/vim/vim80/syntax/perl6.vim | 15:51 | |
vim-runtime: /usr/share/vim/vim80/syntax/perl6.vim | |||
at least the vim that comes with ubuntu ships with perl6.vim by default | |||
lumin | I went throguh some docs and I found the Grammar feature of perl6 is the most attractive one to me. | 15:53 | |
Thank you guys for the pointers! | |||
moritz | lumin: shameful plug, if you want to go more in depth on the grammar feature, you might enjoy www.apress.com/us/book/9781484232279 by yours truly | 15:56 | |
also available on amazon | 15:58 | ||
lumin | moritz: Thanks for the (author's) recommendation. I think I'm first trying it out with the online docs :-) | ||
moritz | lumin: sure thing, enjoy :D | 16:00 | |
lumin | oops, I think I got in to a trouble with grammar... | 16:03 | |
can I paste short code here? | 16:04 | ||
moritz | if it's more than one line, please use a pastebin or github gists | ||
lumin | OK. I wrote this: paste.debian.net/1081056/ | 16:05 | |
the 'content" rule doesn't work when the pattern is ".*". but pattern "x*" matched. | |||
moritz | lumin: rules don't backtrack | ||
so .* eats the rest of the string | 16:06 | ||
make it token content { <-[}]>* } instead | |||
that is, "everything up to (but excluding) the first }" | |||
lumin | It worked. I think I need more time to understand it ... | 16:08 | |
16:17
raschipi joined
16:25
scimon left
16:26
kurahaupo left,
kurahaupo joined
16:27
Cabanossi left
16:28
pminten joined
16:33
Cabanossi joined
16:41
zacts left
17:06
zacts joined
17:08
kurahaupo left,
kurahaupo joined
17:34
raschipi left
17:35
Guest79393 left,
success joined,
success is now known as Guest67789
17:51
zacts left
17:58
pecastro joined
18:04
sena_kun left
18:14
pminten left
18:15
jmerelo joined
18:16
molaf left
|
|||
jmerelo | releasable6: status | 18:17 | |
releasable6 | jmerelo, Next release in ≈4 days and ≈0 hours. 2 blockers. 132 out of 272 commits logged (⚠ 2 warnings) | ||
jmerelo, Details: gist.github.com/d4da215975827f62b5...053fc6e42e | |||
Xliff | \o | 18:20 | |
TimToady sneaks out of his burrow and wishes everyone a happy May Day... | 18:22 | ||
Geth | doc: ada7adfd4f | (JJ Merelo)++ | 3 files Eliminates skipped test |
||
El_Che | hi TimToady, happy to see you! | 18:23 | |
Xliff | o7, TimToady! | ||
18:24
sauvin left,
sena_kun joined
|
|||
timotimo | toaday is a good day | 18:27 | |
jmerelo | Hey, TimToady, good to see you again! | 18:31 | |
Xliff | timotimo: Yep. Just passed 10kloc on GooCanvas! 8-) | ||
Pango: 9784. GtkPlus: 112157. WebkitGTK: 13534. SourceViewGTK: 10708. AMTK: 1996. GooCanvas: 10210 | 18:33 | ||
jmerelo | Docs are on the 11k range | 18:34 | |
Xliff | m: say 9784 + 112157 + 13534 + 10708 + 1996 + 10210 | ||
evalable6 | 158389 | ||
jmerelo | Rakudo, if I remember correctly, 30k | ||
Xliff: what's GooCanvas? | |||
Xliff | developer.gnome.org/goocanvas2/2.0/index.html | ||
jmerelo | Xliff: nice | 18:35 | |
Xliff | jmerelo: Thanks! | ||
18:36
zakharyas joined
|
|||
timotimo | .o( is that like wobbly windows but for graphs? ) | 18:37 | |
that looks useful | 18:40 | ||
AMTK may refer to one of the following: | |||
America's Most Talented Kid, a former U.S. talent/reality TV series | |||
Amtrak, the National Railroad Passenger Corporation of the United States, which has a reporting mark AMTK | |||
(i've found the actual thing already, but i thought that was somehow funny) | 18:41 | ||
ufobat_ | what if you have a file like lib/Foo/Bar.pm6 which contains classes and/or roles that don't start with Foo::Bar. a) is it bad style? b) is it harmless? c) could there be some name collitions? | 18:55 | |
timotimo | harmless; your consumer will have to deal with name collisions with whatever tricks necessary | 18:57 | |
19:00
domidumont left
|
|||
jmerelo | ufobat_: but it sure is bad style... | 19:04 | |
Geth | doc: 55a6d7a992 | (JJ Merelo)++ | doc/Type/Range.pod6 Correct definition for Range |
19:05 | |
ufobat_ | what tricks are available to deal with those collisions? | ||
19:06
cpan-p6 left
19:07
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
|
|||
maettu | 19:08 | ||
timotimo | well, there's the constant Bleep::Blorb = { use ...; Blorb } one | ||
19:09
eseyman joined
19:10
maettu left
|
|||
jmerelo | Cool evolution of Documentation source, look, moritz, you're on tv :-) twitter.com/bortizmath/status/1123...1264832512 | 19:14 | |
19:16
jmerelo left
19:31
araraloren left,
Manifest0 left
19:37
Manifest0 joined
20:03
pmurias joined
20:07
ufobat__ joined
20:11
ufobat_ left
|
|||
Geth | doc: rafaelschipiura++ created pull request #2741: Merge pull request #1 from perl6/master |
20:22 | |
20:23
Geth left,
Geth joined
20:36
Xliff left
20:49
[Sno] left
20:50
netrino left
20:52
sno joined
20:53
aindilis` left
21:00
molaf joined
21:06
aindilis` joined,
aindilis` left
21:07
aindilis2 joined
21:12
aindilis2 left
21:13
skids left,
aindilis` joined
21:14
nightfrog left
21:17
mowcat left
21:18
aindilis left,
aindilis` left
21:19
aindilis joined
21:21
Xliff joined
|
|||
Xliff | 21:37 | ||
21:38
kurahaupo left,
kurahaupo joined,
Xliff left
21:53
zacts joined
|
|||
ugexe | any reason you dont just add "Foo::Blorg" : "lib/Shit/Fart.pm6" to your META6.json? | 21:59 | |
timotimo | because that's potty humour :) | 22:01 | |
22:06
aindilis left
22:34
zacts left,
zakharyas left
22:39
pmurias left
22:55
casdr left,
casdr joined
22:59
sena_kun left
23:07
Xliff joined
23:26
Manifest0 left
23:29
aindilis joined
23:31
Manifest0 joined
23:33
pecastro left
23:51
nightfrog joined
|