»ö« 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:06
Kaiepi left,
izuzuz left
00:07
kaare_ left
00:10
mcmillhj joined
00:15
mcmillhj left
00:20
dct joined
00:26
mcmillhj joined
00:35
mcmillhj left
00:39
markong left
00:45
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:47
mcmillhj joined
00:52
mcmillhj left
00:57
wamba left
00:58
dct left
01:03
mcmillhj joined
01:07
syntaxman joined,
kaare_ joined
01:08
mcmillhj left
01:12
kaare_ left
01:19
mcmillhj joined
01:24
mcmillhj left
01:36
mcmillhj joined
01:40
mcmillhj left
01:41
wander joined
01:44
pharv_ left,
pharv joined
01:45
mcmillhj joined
01:48
kaare_ joined,
pharv left
|
|||
wander | I'm applying for a PAUSE account, and receive this e-mail. Maybe someone can help me | 01:49 | |
The following links are only valid for PAUSE maintainers: Registration form with editing capabilities: pause.perl.org/pause/authenquery?A...user_sub=1 Immediate (one click) registration: pause.perl.org/pause/authenquery?A...finitely=1 | |||
01:49
mcmillhj left
|
|||
timotimo | i strongly doubt that you're a pause maintainer | 01:50 | |
so they are probably completely irrelevant to you :) | |||
wander | never use pause before this :P | 01:53 | |
01:56
mcmillhj joined
01:57
aborazmeh left
02:01
mcmillhj left
02:04
imcsk8_ left,
imcsk8 joined
02:05
pharv joined
02:06
mcmillhj joined
02:07
Kaiepi joined
02:10
pharv left
02:13
mcmillhj left
02:21
cdg joined
02:23
mcmillhj joined
02:27
cdg left,
mcmillhj left
02:37
mcmillhj joined
02:40
FROGGS_ joined,
wander left
02:41
mcmillhj left
02:43
FROGGS left
02:44
mcmillhj joined,
ilbot3 left
02:49
mcmillhj left
02:54
mcmillhj joined
02:55
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:59
mcmillhj left
03:01
mcmillhj joined
03:09
mcmillhj left
03:13
mcmillhj joined
03:18
mcmillhj left
03:27
mcmillhj joined
03:32
mcmillhj left
03:35
mcmillhj joined
03:38
ufobat_ joined
03:39
unicodable6 left
03:40
unicodable6 joined,
ChanServ sets mode: +v unicodable6
03:41
mcmillhj left
03:42
ufobat___ left
03:45
mcmillhj joined
03:53
mcmillhj left
03:56
mcmillhj joined
04:05
cognominal joined,
mcmillhj left
04:06
cog_ left
04:08
mcmillhj joined
04:12
mcmillhj left
04:15
eliasr left
04:29
kaare_ left
04:30
kaare_ joined
04:31
cdg joined
04:33
eckhardt joined
04:35
mcmillhj joined
04:36
cdg left
04:40
pharv joined,
mcmillhj left
04:41
pharv left,
pharv joined
04:42
khw left
04:47
Ven`` joined
|
|||
titsuki_ | bench: HEAD (1..10).rand for ^1000000 | 04:57 | |
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
titsuki_, ¦HEAD: «3.4028» | |||
titsuki_ | bench: HEAD (1^..^10).rand for ^1000000 | 04:58 | |
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
04:58
kaare_ left
04:59
kaare_ joined
|
|||
benchable6 | titsuki_, ¦HEAD: «6.0206» | 04:59 | |
titsuki_ | bench: sub rfunc { return 10; }; &rfunc for ^1000000; | 05:08 | |
benchable6 | titsuki_, ¦sub: «Cannot find this revision (did you mean “all”?)» | ||
titsuki_ | bench: HEAD sub rfunc { return 10; }; &rfunc for ^1000000; | ||
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
titsuki_, ¦HEAD: «0.1824» | |||
titsuki_ | bench: HEAD sub func { 10; }; &func for ^1000000; | 05:09 | |
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
titsuki_, ¦HEAD: «0.1809» | |||
05:10
mcmillhj joined
|
|||
AlexDaniel | titsuki_: I think &func doesn't call anything | 05:11 | |
the bot hides a useless use warning | |||
bench: HEAD sub rfunc { return 10; }; rfunc for ^1000000; | |||
benchable6 | AlexDaniel, starting to benchmark the 1 given commit | ||
AlexDaniel, ¦HEAD: «0.2978» | |||
AlexDaniel | bench: HEAD sub func { 10; }; func for ^1000000; | ||
benchable6 | AlexDaniel, starting to benchmark the 1 given commit | ||
AlexDaniel, ¦HEAD: «0.1931» | |||
AlexDaniel | so implicit return is actually faster | 05:12 | |
according to this benchmark at least | |||
.oO( useful useless use warning ) |
|||
05:15
mcmillhj left
|
|||
titsuki_ | AlexDaniel: Thanks! | 05:20 | |
I'm trying to make Range.rand faster but on the contrary, my modification make it slower...: github.com/titsuki/rakudo/commit/6...622b622d78 | 05:21 | ||
so early return possibly make it slower? | 05:23 | ||
05:23
Ven`` left
05:26
mcmillhj joined
|
|||
AlexDaniel | titsuki_: try it without early return then? | 05:28 | |
titsuki_ | AlexDaniel: I'll try it :) | ||
AlexDaniel | what the… | ||
m: sub func { 1 ?? 10 !! 5 }; func() for ^1000000 | 05:29 | ||
camelia | (signal SEGV) | ||
AlexDaniel | what the crap | ||
how is this even | |||
what | 05:30 | ||
05:30
mcmillhj left
|
|||
AlexDaniel | c: 2015.12 sub func { 1 ?? 10 !! 5 }; func() for ^1000000 | 05:30 | |
committable6 | AlexDaniel, ¦2015.12: «» | 05:31 | |
AlexDaniel | ok, so… | ||
6c: sub func { 1 ?? 10 !! 5 }; func() for ^1000000 | |||
committable6 | AlexDaniel, gist.github.com/2ec512e2fc7fa27a73...ac03ae43b4 | ||
AlexDaniel | oh gosh | ||
bisect: sub func { 1 ?? 10 !! 5 }; func() for ^1000000 | 05:32 | ||
bisectable6 | AlexDaniel, Bisecting by exit signal (old=2015.12 new=b568510). Old exit signal: 0 (None) | ||
AlexDaniel | that's not cool | ||
bisectable6 | AlexDaniel, bisect log: gist.github.com/2d96df718c5362ed8e...520185ec4d | ||
AlexDaniel, (2018-02-16) github.com/rakudo/rakudo/commit/be...1e6372d9ae | |||
05:32
bisectable6 left,
bisectable6 joined
|
|||
AlexDaniel | some spesh issue I guess? | 05:33 | |
yea? works fine with MVM_SPESH_DISABLE | |||
AlexDaniel rakudobugs it | |||
ok R#1645 | 05:37 | ||
synopsebot | R#1645 [open]: github.com/rakudo/rakudo/issues/1645 [SEGV][regression][⚠ blocker ⚠] Very simple spesh-related segfault | ||
AlexDaniel | titsuki_: thanks | ||
titsuki_: I was just playing with your example and stumbled upon it | 05:38 | ||
titsuki_ | AlexDaniel: It's my pleasure :) | ||
05:40
wamba joined
|
|||
AlexDaniel | maybe that's the actual issue with *ables? | 05:41 | |
maybe all of my issues will disappear once it's fixed! | 05:42 | ||
05:42
kaare_ left
|
|||
AlexDaniel drops to bed… or is he dreaming already? | 05:42 | ||
05:42
skids left
05:43
mcmillhj joined
05:45
kaare_ joined
05:47
AlexDaniel left
05:48
troys left,
mcmillhj left
05:52
eckhardt left
06:00
mcmillhj joined
06:05
mcmillhj left
06:19
mcmillhj joined
06:23
giraffe joined
06:24
mcmillhj left
06:30
noganex left
06:31
cdg joined
06:36
cdg left
06:37
mcmillhj joined
06:42
mcmillhj left
06:46
greppable6 left,
greppable6 joined,
mscha left
06:54
mcmillhj joined
06:59
lizmat left,
mcmillhj left
07:08
mcmillhj joined
07:13
mcmillhj left,
darutoko joined
07:16
domidumont joined
07:18
sena_kun joined
07:20
mcmillhj joined
07:21
wamba left
07:24
domidumont left,
mcmillhj left
07:25
domidumont joined
07:31
robertle joined
07:32
mcmillhj joined
07:37
mcmillhj left
07:57
robertle left
07:59
robertle joined
08:02
domidumont left
08:11
mcmillhj joined
08:16
lizmat joined,
mcmillhj left
08:20
alpha6 joined
08:24
darutoko left
08:25
mcmillhj joined
08:30
mcmillhj left
08:35
darutoko joined
08:37
mcmillhj joined,
darutoko left
08:38
darutoko joined
08:42
mcmillhj left
08:45
pierre_ joined
08:47
cdg joined
08:48
mcmillhj joined
08:52
cdg left
08:53
pharv left,
mcmillhj left
09:12
darutoko- joined
09:15
darutoko left
09:27
lizmat left,
cdg joined
09:29
darutoko- left
09:33
cdg left
09:37
pierre_ left
09:43
pmurias joined
09:45
pierre_ joined
09:52
kaare_ left
09:56
cognominal left
09:57
pharv joined
09:58
cognominal joined,
kaare_ joined
10:02
pharv left,
cog_ joined
10:04
cognominal left
10:06
rindolf left
10:16
cdg joined
10:17
rindolf joined
10:21
cdg left,
darutoko joined
10:42
noganex joined,
pierre_ left
10:44
cdg joined
10:48
cdg left
10:53
kaare_ left
11:01
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
11:09
darutoko- joined
11:12
darutoko left
11:15
darutoko- left
11:16
kaare_ joined
11:21
darutoko joined
11:36
lizmat joined
11:41
darutoko left
11:47
pharv joined
11:48
domidumont joined
11:52
pharv left
11:53
lizmat left
11:55
Ven`` joined
12:02
ethelward joined
|
|||
ethelward | Hi all | 12:02 | |
I may have a bug to report in the building process | 12:03 | ||
Though maybe I'm doing something wrong | |||
El_Che | hi | ||
ethelward | I'm building Rakudo from sources | ||
Adn when it comes to configuring, I'm doing `perl Configure.pl --prefix=/usr/local --gen-moar --backend=moa` | |||
Which leads to the build process failing with `No suitable MoarVM (moar executable) found using the --prefix` | 12:04 | ||
Though it works perfectly fine without the --prefix option | |||
Is that normal? | |||
12:04
kaare_ left
|
|||
moritz | ethelward: can you please nopaste the whole build output? | 12:04 | |
ethelward | Of course | ||
Just a second | |||
12:04
kaare__ joined
|
|||
moritz | haven't compiled with --prefix in a while, will do now | 12:05 | |
ethelward | ⊥ perl Configure.pl --prefix=/usr/local --gen-moar --backend=moar ~/repos/rakudo-star-2018.01 | ||
Configuring and building MoarVM ... | |||
/usr/bin/perl Configure.pl --optimize --prefix=/usr/local --make-install | |||
Welcome to MoarVM! | |||
moritz | ethelward: not here | ||
ethelward | Configuring native build environment ................... | ||
trying to compile a simple C program ............... YES | |||
probing support of -Werror=* ....................... YES | |||
moritz | ethelward: please use a pastebin | ||
ethelward | Testing pkgconfig .................................. 0.29.2 | ||
OK | |||
probing whether your compiler thinks that it is gcc YES | |||
probing how your compiler does static inline ....... static __inline__ | |||
El_Che | that more paste than no paste | ||
ethelward | your CPU can read unaligned values for all of int32 int64 num64 | ||
probing the size of pointers ....................... 8 | |||
probing C type support for: _Bool, bool ............ YES: _Bool,bool | 12:06 | ||
probing computed goto support ...................... YES | |||
probing pthread_yield support ...................... NO | |||
probing support of rdtscp intrinsic ................ YES | |||
make: make | |||
compile: gcc -Werror=declaration-after-statement -Werror=pointer-arith -O3 -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC | |||
includes: -I3rdparty/libuv/include -I3rdparty/libuv/src -I3rdparty/libatomic_ops/src -I3rdparty/libtommath -I3rdparty/dyncall/dynload -I3rdparty/dyncall/dyncall -I3rdparty/dyncall/dyncallback | |||
link: gcc -O3 -DNDEBUG -Wl,-rpath,"/@libdir@" | |||
libs: -lm -lpthread -lrt -ldl | |||
byte order: little endian | |||
Configuring 3rdparty libs .............................. OK | |||
3rdparty: 3rdparty/dyncall/dyncall/libdyncall_s.a | |||
3rdparty/dyncall/dyncallback/libdyncallback_s.a | |||
3rdparty/dyncall/dynload/libdynload_s.a | |||
3rdparty/libatomic_ops/src/libatomic_ops.a | |||
3rdparty/libtommath/libtommath.a | |||
3rdparty/libuv/libuv.a | |||
3rdparty/sha1/libsha1.a | |||
3rdparty/tinymt/libtinymt.a | |||
Generating src/gen/config.c ............................ OK | |||
Generating src/gen/config.h ............................ OK | |||
Generating Makefile .................................... OK | |||
12:06
ChanServ sets mode: +o moritz
|
|||
ethelward | Generating tools/check.mk .............................. OK | 12:06 | |
Generating build/mk-moar-pc.pl ......................... OK | |||
Configuration SUCCESS. | |||
Type 'make' to build and 'make help' to see a list of | |||
available make targets. | |||
compiling src/main.o | |||
compiling src/core/callsite.o | |||
compiling src/core/args.o | |||
12:07
ethelward was kicked by moritz (please come back after the pasting, no hard feelings K:-)))
|
|||
El_Che | moritz: thx | 12:07 | |
12:07
ethelward joined
|
|||
ethelward | So: nopaste.xyz/?6910536fce407d4b#XThj...LAa25lbMQ= | 12:07 | |
Sorry again for the inconvenience :) | |||
moritz | no problem | 12:08 | |
El_Che | ethelward: it happens | ||
12:08
moritz sets mode: -o moritz
|
|||
El_Che | ethelward: probably your user does not have rw access to /usr/local | 12:08 | |
ethelward | Indeed | ||
But can't I do the configure as my user and the `make install` in sudo? | 12:09 | ||
moritz kinda surprised that the cp command didn't produce an error message | |||
El_Che | ethelward: sadly, no. It's more of a bug then a feature :) | ||
ethelward | Aaah, makes sense then | ||
Thanks! | |||
El_Che | ethelward: against normal expectations, configure does stuff | ||
moritz | ethelward: you can, but only if you build moar, nqp and rakudo separately | ||
so configure & build moar, sudo make install, configure & build nqp, sudo make install, configure & build rakudo, make install | 12:10 | ||
*sudo make install as the last step | |||
ethelward | I see | 12:11 | |
Tank you guys :) | |||
moritz | you're welcome | ||
El_Che | ethelward, moritz: that's indeed why in my packages the 3 components are built separely | ||
12:12
kaare_ joined
12:13
kaare__ left
|
|||
moritz | El_Che: I would've thought that fakeroot or could work around that, but then I'm not certain | 12:13 | |
12:13
markong joined
|
|||
El_Che | moritz: early on I moved it to containers, so it's not that important any more | 12:14 | |
moritz | El_Che: makes sense too :-) | 12:15 | |
12:18
FROGGS_ is now known as FROGGS
12:48
pharv joined
12:50
pierre joined
12:53
pharv left,
eroux joined
12:54
SyrupThinker joined
13:11
pierre left
13:12
pierre joined
13:17
pierre left
|
|||
titsuki_ | bench: HEAD "abc".comb[1] for ^1000000 | 13:19 | |
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
titsuki_, ¦HEAD: «4.5113» | 13:20 | ||
titsuki_ | bench: HEAD "abc".substr(1,1) for ^1000000 | ||
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
titsuki_, ¦HEAD: «0.4499» | |||
13:21
araraloren joined
|
|||
titsuki_ | bench: HEAD "abc".split("",:skip-empty)[1] for ^1000000 | 13:21 | |
benchable6 | titsuki_, starting to benchmark the 1 given commit | ||
titsuki_, ¦HEAD: «8.3788» | 13:22 | ||
titsuki_ | I have a question. Why perl6 doesn't have char-at? | 13:23 | |
araraloren | m: say "abc".encode("ascii") | 13:28 | |
camelia | Blob[uint8]:0x<61 62 63> | ||
El_Che | m: say "foo".substr: 0,1 | ||
camelia | f | ||
El_Che | ^--- titsuki_ | 13:33 | |
titsuki_ | ^---? | ||
El_Che | it's an arrow point to the output | ||
titsuki_ | OK, I see. | 13:34 | |
El_Che | an answer to your chat-at question | ||
araraloren | m: sub postcircumfix:<<'[ ]'>>(Str:D $str, $i) { $str.substr($i, 1); }; say "abc"[1]; | 13:35 | |
camelia | b | ||
titsuki_ | I know this feature, but major language like java has both substring and charAt | ||
araraloren | But I worry about the performance :) | 13:36 | |
El_Che | titsuki_: it's the first time I hear someone complaining of Perl 6 having too *many* built-in functions and methods :) | ||
araraloren | .... | ||
I think he mean why Perl6 not have `[]` of string like C/Java does | 13:37 | ||
El_Che | araraloren: JS has .charAt | 13:39 | |
araraloren | JS ? | ||
titsuki_ | araraloren: Thanks, but I mean "somestring".char-at(10) not "somestring"[10] | ||
El_Che | araraloren: javascript | ||
araraloren | hmm, ok, but I think they are same things | 13:40 | |
[] and .at | |||
you said the js backend El_Che ? | |||
El_Che | no, I meant vanilla jsavascript as an example of a language that has that method | ||
araraloren | sorry, I am not get it. I know js has .char-at | 13:42 | |
13:42
pierre joined
|
|||
pmurias | JS has both a codePointAt and charAt methods | 13:42 | |
yoleaux | 23 Mar 2018 23:53Z <stmuk> pmurias: have you seen rakudup.github.io/ | ||
araraloren | oh | 13:43 | |
pmurias | titsuki_: re having .char-at($i) if substr($i, 1) does the same thing would an extra method | 13:45 | |
13:45
Ven`` left
|
|||
timotimo | titsuki_: probably because we don't have a concept of "char" | 13:45 | |
araraloren | how about the code point ? | 13:46 | |
like pmurias said, the codePointAt ? | |||
timotimo | |||
13:47
pharv joined
|
|||
pmurias | I'm not sure we want to make getting a code point easier as dealing with invidual numbers doesn't seem something we want to promote | 13:47 | |
tbrowder_ | hi all | ||
i don’t know if it’s ever ben discussed, but i like the concept of “certified” modules, those are | 13:49 | ||
13:51
AlexDaniel joined
|
|||
tbrowder_ | s/are/being/ modules that are regularly checked to ensure they adhere to some reasonable standards to be defined by the community. | 13:51 | |
13:52
pharv left
|
|||
titsuki_ | timotimo: OK, I see.. | 13:52 | |
araraloren | Hmm, Code point of Unicode is similar like char of Ascii string, is that right ? | ||
El_Che | tbrowder_: when I first heard of rakudo star I thought (wrongly) that that was the idea, kind of a stdlib with fixed versions of core modules. | 13:53 | |
pmurias | araraloren: the char of an Ascii is the code point number in javascript | ||
sorry | |||
El_Che | tbrowder_: I suppose perl6's ecosystem is too young for that | ||
pmurias | araraloren: yes, char is the code point in an ascii string | ||
araraloren | ok, I see | 13:54 | |
pmurias | araraloren: charAt in js gives you two bytes from as UTF-16 string | ||
araraloren: so you sometimes get half a character | |||
(if the code point is too big) | |||
tbrowder_ | El_Che: i respectfully disagree, we can regularly and automatically check lots of things and display the results so users and authors can see them in a well-known link. | 13:57 | |
araraloren | pmurias IMO, Str of Perl6 not encoded :) | ||
13:57
eliasr joined
|
|||
tbrowder_ | Zoffix’s Toaster module is a good start in that dirction. | 13:58 | |
*direction | |||
araraloren | so you can not access code point or char , they are not exists | ||
pmurias | araraloren: you can get the unicode code point, it's not dependent on the exact unicode encoding | 13:59 | |
timotimo | if you use something like codePointAt, you'll lose information, because a character like A with 20 accents doesn't have a codepoint we could return | ||
jnthn | Str is a grapheme-level representation; the exact details of how it is stored in memory is an implementation detail. However, it must provide O(1) grapheme indexing. | ||
pmurias | jnthn: re must you know Strs on the js backend don't provide that? ;) | 14:01 | |
jnthn: grapheme indexing is O(n) on js strings :( | 14:02 | ||
jnthn | The indexes passed to substr and so forth are thus grapheme indexes, not codepoint indexes. Trying to define a code-point-at on a Str is "interesting" because there's two interpretations: do we mean codepoints from the string start, or do we mean a grapheme index and then the first codepoint of that? | 14:03 | |
It makes sense for, say, Java strings to define such a method, kind of, sort of, because their strings are codepoint level...ish. :) | |||
Anyway, I think it's right that Perl 6 makes you say ords($s.substr($index)) or $s.NFC[$index] or $s.NFD[$index] so you actually have to think about which one you want | 14:05 | ||
El_Che | jnthn: it's all very interesting, BUT WHERE IS OUR SURPRISE!! | ||
jnthn | Because it's not like any one of them is always correct | ||
El_Che | (just kidding) | ||
pmurias hopes the surprise isn't something unicode related | 14:06 | ||
El_Che | I hope I'll finally get a puppy! | ||
jnthn | pmurias: Yeah, well, on the JVM backend too, and so it will be until we or somebody provides an NFG-like string library on those backends, and of course performance of that will then be quite some serious engineering effort too | ||
And then interop...oh goodness. :) | 14:07 | ||
pmurias | the current js workaround is that I have both byte and nfg related ops so that we can use nqp::charsnfg when NFG semantics are needed and nqp::chars when the faster byte ones are good enough | 14:08 | |
jnthn: IMHO emitting JVM backend is not what the JVM backend should be doing (especially long term) but it's interesting how well GraalVM/Truffle handles having custom NFG strings | 14:10 | ||
jnthn | Yeah, it's kind of a pity those two weren't really around when the initial JVM effort was done. | ||
14:11
skids joined
14:28
pierre left
14:37
Ven`` joined,
khisanth__ left
14:38
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
14:43
mingdao joined
14:49
khisanth__ joined
15:02
Sgeo left,
Sgeo joined
15:16
lichtkind left
15:17
lichtkind joined
15:18
lichtkind left
15:26
thowe joined
15:30
wamba joined
15:37
itaipu joined
|
|||
buggable | New CPAN upload: ANTLR4-Grammar-0.2.0.tar.gz by JGOFF cpan.metacpan.org/authors/id/J/JG/...2.0.tar.gz | 15:41 | |
15:42
pharv joined
15:46
pharv left
15:47
araraloren left,
araraloren joined
15:53
itaipu left
16:03
bisectable6 left,
bisectable6 joined,
ChanServ sets mode: +v bisectable6
16:16
khw joined
16:22
skids left
16:26
SyrupThinker left
16:33
cognominal joined
16:35
cog_ left
16:36
chutcheson joined
16:37
cognominal left
16:44
chutcheson left
17:01
phogg left
17:02
Ven`` left,
Ven`` joined,
Ven`` left
17:05
pharv joined
17:09
pharv left
17:20
KotH joined
|
|||
stmuk | . | 17:26 | |
pmurias | stmuk: I saw rakudup, even though a bit about using the webpage "stolen" from rustup | 17:37 | |
17:45
Ven`` joined
17:48
SyrupThinker joined
|
|||
pmurias | does making .hyper and .race just method hyper {self} on the js backend make sense? | 18:05 | |
the js VMs don't support threads in the way Perl 6 does? | |||
mst | it certainly doesn't seem like a bad way to defer figuring anything more clever out until later | 18:11 | |
jnthn | Agree, it's probably the best approach for now | 18:12 | |
18:13
ethelward left
18:21
araraloren left
|
|||
mr_ron | m: gist.github.com/ronaldxs/c4a992739...509ddf9b58 | 18:30 | |
camelia | mutated attribute Cannot resolve caller a(C: ); none of these signatures match: (C $: Int $i, *%_) in block <unit> at <tmp> line 12 |
||
mr_ron | where did the accessor go? should I really have to declare my own? | 18:31 | |
18:41
itaipu joined,
pharv joined
|
|||
timotimo | the accessor isn't declared as a multi method for you | 18:46 | |
never fear, you can just reinstate it manually | |||
multi method a is rw { $!a } | |||
18:46
pharv left
|
|||
timotimo | oh, it's not supposed to be rw | 18:46 | |
18:48
kaare_ left,
kaare_ joined
18:49
cognominal joined
|
|||
mr_ron | If I don't have a mutator method an accessor method is genned for me. I find it confusing that adding the mutator method makes the accessor seem to disappear. | 18:57 | |
18:57
itaipu left
|
|||
mr_ron | m: class C { has $.a = 3 }; say $.a # auto accessor method | 18:58 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable $.a used where no 'self' is available at <tmp>:1 ------> 3class C { has $.a = 3 }; say $.a7⏏5 # auto accessor method expecting any of: argument list term |
||
mr_ron | m: class C { has $.a = 3 }; say C.new.a # auto accessor method | ||
camelia | 3 | ||
19:55
domidumont left
|
|||
timotimo | oh, we actually don't generate an accessor at all if there's a method of the same name as the attribute, mr_ron | 19:58 | |
tyil | .tell sergot I opened a PR on one of your repos github.com/sergot/datetime-parse/pull/8 :> | 20:01 | |
yoleaux | tyil: I'll pass your message to sergot. | ||
tyil | good bot | ||
timotimo | yoleaux: botsnack | ||
.botsnack | |||
yoleaux | :D | ||
timotimo | there we go | ||
mr_ron | timotimo: thank you for explaining. That | 20:04 | |
sorry | |||
timotimo | no prob :) | ||
mr_ron | That's an internal technical reason. From a user perspective they declared a setter/mutator method and no longer have an accessor and it looks harder than it needs to be. | 20:06 | |
they could get a return from the mutator ... I realize | |||
timotimo | normally you'd actually implement a new accessor that returns a proxy | ||
so that you don't have to $obj.attribute($new-value), which is foreign to perl6 | 20:07 | ||
zoffix, feel free to force-push over your grisu3 commit and throw out the one ticket that made it in by accident | 20:09 | ||
zoffix, do you know about "git commit --amend"? | |||
mr_ron | timotimo: I did work on github.com/perl6/roast/blob/master...mutators.t which mentions jnthn++ blog post suggesting (I think) otherwise | ||
timotimo | you mean "use of heavy attribute mutators is discouraged as poor OO design"? | 20:10 | |
mr_ron | yes | ||
timotimo | well, the conclusion from that post shouldn't be "oh don't return proxies, they are expensive. give a method that takes the new value as argument instead" | 20:11 | |
it'd be more like "the code shouldn't need a mutator here" | |||
mr_ron | I just got proxy attribute mutator test in roast working a few weeks ago. There wasn't even a working example in roast until then. | 20:12 | |
timotimo | oh, that's an oversight :) | 20:13 | |
mr_ron | I'll take another look at the article now with your explanation, thanks. This goes back to doc issue #136 that I now feel well enough to look at: github.com/perl6/doc/issues/136 | 20:14 | |
timotimo: My understanding of the article is that Proxies are not safe for concurrent programming (which I admit is not a strong area for me) and don't really fit with OO. There is a section "And when to use Proxy?". Love to hear from jnthn++ if he has a moment to look. | 20:20 | ||
timotimo | hm. that's ... not false i guess? | 20:22 | |
you can make proxies threadsafe, though, with atomic ops and cas and such | 20:23 | ||
MasterDuke | or stick a lock in it? | ||
timotimo | sure | 20:24 | |
gotta make sure the lock is in the right place, of course | 20:25 | ||
since the method you're generating the proxy in doesn't have to be locked at all, just the proxy's two subs | |||
mr_ron | If you look at the doc issue they are going with parameterized setter methods rather than Proxy. docs.perl6.org/language/objects doesn't even mention proxies. | ||
Ruby, Python, C#, Delphi all have some kind of property setter and I think it deserves mention somehow. | 20:26 | ||
m: gist.github.com/ronaldxs/727b2cd16...055e31fc63 | 20:28 | ||
camelia | 3 Too many positionals passed; expected 1 argument but got 2 in method a at <tmp> line 3 in block <unit> at <tmp> line 10 4 |
||
mr_ron | FWIW | 20:29 | |
timotimo | well, yeah | ||
that's not how accessors work | |||
(also, the stderr and stdout output there gets mangled so it looks really wrong) | |||
mr_ron | I was thinking more of a default mutator for "is rw" trait | 20:30 | |
besides the accessor returning is rw attribute | |||
timotimo | a little bit of metaprogramming ought to give you that | 20:33 | |
20:41
pharv joined
20:45
pharv left
21:11
comborico1611 joined
21:24
eroux left
21:29
rindolf left
21:38
SyrupThinker left
21:41
|oLa|1 left
21:46
eliasr left
21:55
phogg joined
22:11
wamba left
|
|||
Geth | doc: b18770573f | (JJ Merelo)++ | doc/Language/modules.pod6 Improving the description of META6.json For the time being, no new section. If you think it's absolutely necessary, reopen the issue. Closes #551 |
22:11 | |
synopsebot | Link: doc.perl6.org/language/modules | ||
22:17
galactus6x joined
|
|||
galactus6x | hello folks. i have a question that i cannot find the answer to with the usual searches. | 22:18 | |
22:19
itaipu joined
22:20
yusrideb joined
|
|||
El_Che | 42 | 22:21 | |
22:21
epony left
|
|||
galactus6x | i have perl6 installed with the binary for ubuntu 16.04. in terminal when i type which perl6 it shows the directory where it is installed. perl6 works in the REPL. But, when i try to write and run a script in script mode with USE V6; it keeps saying this perl6, you need 5.22 etc. I cannot be sure i am actually using perl6!!! | 22:22 | |
El_Che | the shebang should be #!/opt/rakudo-pkg/bin/perl6 | 22:23 | |
(or if your PATH is correctly set, #!/usr/bin/env perl6) | |||
galactus6x | i tried using the command which perl6 and it shows /usr/bin/ perl6 | 22:24 | |
El_Che | are you using rakudo-pkg or the Ubuntu distro repos? | ||
galactus6x | I downloaded from the rakudo star website and got the .deb | 22:25 | |
El_Che | github.com/nxadm/rakudo-pkg <-- up to date rakudo packages. | ||
MasterDuke | galactus6x: did you have 'USE V6', or 'use v6'? | ||
El_Che | I don't think rakudo star has debs | ||
MasterDuke | and how did you start your script? | 22:26 | |
22:26
epony joined
|
|||
galactus6x | now i am confused. i used from the website for perl 6 it had binaries for various linux distros. | 22:27 | |
El_Che | yes, those are mine | ||
those are rakudo-pkg | |||
galactus6x | everything installed right off the web. it was great. | 22:28 | |
El_Che | Well, have a look at the note about the PATH here: github.com/nxadm/rakudo-pkg#about-...-downloads | ||
You'll have to add ~/.perl6/bin and /opt/rakudo-pkg/bin to your PATH. Add this to your .profile, .bash_profile or the corresponding environment script for other shells): | 22:29 | ||
PATH=$PATH:~/.perl6/bin:/opt/rakudo-pkg/bin | |||
export PATH | |||
I chose not to touch the path or anything on the system in order to be compatible with future distro-delivered packages | 22:30 | ||
downsize is that you need to configure the path yourself | |||
galactus6x | Hm.. well, i am a noob and have been trying to get it going. i am worried about messing with my bash stuff and mess up my system. | ||
22:31
epony left
|
|||
El_Che | that's the thing, you're only changing the user's PATH, not the system | 22:31 | |
but it's not even needed if you use the full path | |||
galactus6x | what is the full path? | ||
El_Che | just put "#!/opt/rakudo-pkg/bin/perl6' on the top of your script | ||
that will work | |||
brbr | |||
galactus6x | lordy! i will try that out. thanks. i you guys are great. | 22:32 | |
22:33
robertle left
22:39
itaipu left
22:42
galactus6x left
22:46
pharv joined
22:49
comborico1611 left
22:51
pharv left
23:15
sena_kun left
23:24
pmurias left
23:47
pharv joined
23:52
Ven`` left,
pharv left
|