»ö« 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