Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-03-18

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 timotimo can you profile that any further?
00:10 timotimo can you break that into stages?
00:10 jnap joined #perl6
00:11 timotimo like reading the file in, parsing it with the grammar, working with the results?
00:18 timotimo joined #perl6
00:23 kurahaupo joined #perl6
00:26 SHODAN joined #perl6
00:30 fridim__ joined #perl6
00:38 pdcawley joined #perl6
00:40 pecastro joined #perl6
00:51 dayangkun joined #perl6
00:55 pnu joined #perl6
01:00 xenoterracide joined #perl6
01:03 timotimo lue: can we spec something that'll let me query the complete unicode database?
01:04 timotimo things like "give me all the unicode characters whose full name matches this"
01:05 skids joined #perl6
01:10 [Coke] timotimo: didn't TimToady just implement that?
01:11 timotimo ISTR it's all just the other way around
01:13 dalek rakudo-star-daily: 0bf81c6 | coke++ | log/ (5 files):
01:13 dalek rakudo-star-daily: today (automated commit)
01:13 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/0bf81c6c02
01:13 dalek perl6-roast-data: 5b87670 | coke++ | / (6 files):
01:13 dalek perl6-roast-data: today (automated commit)
01:13 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/5b87670ca6
01:14 pnu joined #perl6
01:16 isacloud_ joined #perl6
01:17 TimToady timotimo: that is not worth supporting in the internals of Perl 6, but a module that greps the unicode database would be fine
01:17 BenGoldberg something like @matches = uniname-like(qr/.../) would be cool :)
01:18 TimToady in P5 it's sufficient to open the database like: my @names = split /^/, do 'unicore/Name.pl';
01:19 timotimo having it as a module seems entirely fair; can we get the module to be usper effective on moarvm by using the internal unicode database?
01:19 TimToady we don't have a comparable file to open (yet)
01:20 TimToady m: .base(16).say if uniname($_) ~~ /COMBINING/ for 0..0x10ffff
01:21 camelia rakudo-moar a24091: OUTPUT«(timeout)300␤301␤302␤303␤304␤305␤306␤307␤308␤309␤30A␤30B␤30C␤30D␤30E␤30F␤310␤311␤312␤313␤314␤315␤316␤317␤318␤319␤31A␤31B␤31C␤31D␤31E␤31F␤320␤321␤322␤323␤324␤325␤326␤327␤328␤3…»
01:21 TimToady there's always that way
01:22 japhb__ m: my $c; $c++ if uniname($_) ~~ /COMBINING/ for 0..0x10ffff; say $c; say now - BEGIN now;
01:22 woosley joined #perl6
01:22 TimToady um, you'll notice it timed out
01:22 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:22 japhb__ TimToady: I wanted to know if that was just I/O
01:22 japhb__ m: my $c; $c++ if uniname($_) ~~ /COMBINING/ for 0..0xffff; say $c; say now - BEGIN now;
01:22 camelia rakudo-moar a24091: OUTPUT«296␤3.8940747␤»
01:23 kurahaupo_mobile joined #perl6
01:23 timotimo hm. i wonder why we're doing that so slowly
01:23 TimToady grepping a file that leaves out all the unnamed codepoints is quite a bit faster
01:23 timotimo oh, we're probably decoding the names every time we find them
01:24 TimToady m: say uniname('擬')
01:24 timotimo but that shouldn't take terribly long
01:24 camelia rakudo-moar a24091: OUTPUT«<CJK Ideograph>␤»
01:24 TimToady it has to think a while to figure out that's a CJK Ideograph
01:24 TimToady because we don't store the name for every character, to save space
01:24 timotimo ah, it has to do a search
01:25 timotimo i remember that
01:25 TimToady we sprinkle the "name" every 25 chars or so in that area, as a speed/memory tradeoff
01:25 timotimo so if we had an iterator for the unicode database, we may end up saving a lot of time for that
01:25 TimToady but it's a hack
01:25 timotimo but only for this exact use case
01:26 TimToady which is really fast when you're usually just reimplementing grep badly :)
01:26 TimToady s/fast/fast in grep/
01:26 TimToady my P5 program runs in .15 seconds to scan the whole list
01:27 timotimo the one that opens unicore/Name.pl?
01:27 TimToady yup
01:27 timotimo is perl5's "do" somewhat like an eval?
01:27 timotimo well, an eval + slurp
01:27 TimToady yes, it evals a file
01:28 TimToady it's more primitive than 'require'
01:28 timotimo OK. so i can't really ask you to try the equivalent with Perl 6 ;)
01:28 BenGoldberg m: say uniname first { uniname($_) ~~ /COMBINING/ }, 0 .. 0x10ffff;
01:29 camelia rakudo-moar a24091: OUTPUT«COMBINING GRAVE ACCENT␤»
01:29 TimToady well, the P5 parser is still considerably faster than P6's
01:29 BenGoldberg m: say uniname first { uniname($_) ~~ /ARROR/ }, 0 .. 0x10ffff;
01:29 BenGoldberg m: say uniname first { uniname($_) ~~ /ARROW/ }, 0 .. 0x10ffff;
01:29 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:29 camelia rakudo-moar a24091: OUTPUT«MODIFIER LETTER LEFT ARROWHEAD␤»
01:29 TimToady I'll bet you didn't know an arrowhead was a leter :)
01:29 TimToady *letter
01:30 timotimo sometimes arrows have letters stuck to them near the arrowhead
01:30 TimToady hopefully exclusive with the burning arrows, if they expect you to read it
01:30 BenGoldberg . o O (what an odd way of delivering mail)
01:30 timotimo mostly.
01:31 timotimo anyway, i think i'll go to sleep now
01:31 BenGoldberg I'll just stick to pigeons.  Or maybe magical owls.
01:31 * timotimo likes using photons to transfer mail
01:32 TimToady m: say uniname('????')
01:32 camelia rakudo-moar a24091: OUTPUT«CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY␤»
01:32 TimToady arrows get way out of hand in Unicode :)
01:33 BenGoldberg m: say uniname max { length uniname($_) }, 0 .. 0x4ffff;
01:33 camelia rakudo-moar a24091: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6M9Er0QoEQâ�¤Undeclared routine:â�¤    length used at line 1. Did you mean 'elems', 'chars', 'graphs', 'codes'?â�¤â�¤Â»
01:33 timotimo hehe.
01:33 BenGoldberg m: say uniname max { uniname($_).chars }, 0 .. 0x4ffff;
01:33 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:33 BenGoldberg m: say uniname max { uniname($_).chars }, 0 .. 0xffff;
01:33 timotimo yeah, that's hard
01:33 camelia rakudo-moar a24091: OUTPUT«<unassigned>␤»
01:34 timotimo huh.
01:34 BenGoldberg m: say uniname max { uniname($_).chars }, 0x10000 .. 0x1ffff;
01:34 camelia rakudo-moar a24091: OUTPUT«<unassigned>␤»
01:34 BenGoldberg m: say uniname max { uniname($_).chars }, 0x20000 .. 0x2ffff;
01:34 camelia rakudo-moar a24091: OUTPUT«<unassigned>␤»
01:34 BenGoldberg hrm
01:35 timotimo m: say uniname min { uniname($_).chars }, 0 .. 0x4ffff;
01:35 BenGoldberg Is that not the right way to use max?
01:35 timotimo m: say uniname min { uniname($_).chars }, 0 .. 0x2ffff;
01:35 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:35 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:35 timotimo m: say uniname min { uniname($_).chars }, 0 .. 0xffff;
01:35 timotimo oh wait
01:35 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:35 timotimo max and min are infix operators, no?
01:36 BenGoldberg m: say uniname [max] map { uniname($_).chars }, 0x20000 .. 0x2ffff;
01:36 camelia rakudo-moar a24091: OUTPUT«Too many arguments in flattening array.␤  in sub infix:<max> at src/gen/m-CORE.setting:1803␤  in sub  at src/gen/m-CORE.setting:16933␤  in block  at /tmp/lfQ6CxcZyA:1␤␤»
01:36 Mouq m: say uniname max(:by({ $_.chars }), 0x20000 .. 0x2ffff);
01:36 camelia rakudo-moar a24091: OUTPUT«<CJK Ideograph Extension B>␤»
01:36 BenGoldberg Aha!  Success
01:36 Mouq m: say uniname max(:by({ $_.&uniname.chars }), 0x20000 .. 0x2ffff);
01:36 timotimo is there actually a max routine?
01:36 camelia rakudo-moar a24091: OUTPUT«CJK COMPATIBILITY IDEOGRAPH-2F800␤»
01:36 timotimo m: say &max
01:36 camelia rakudo-moar a24091: OUTPUT«sub max(*@args, :by(&by) = { ... }) { ... }␤»
01:37 timotimo m: say &infix:<max>
01:37 camelia rakudo-moar a24091: OUTPUT«Sub+{<anon>}.new()␤»
01:37 timotimo oh well.
01:37 Mouq m: say uniname max :by({ $_.&uniname.chars }), 0x20000 .. 0x2ffff;
01:37 timotimo m: say uniname
01:37 camelia rakudo-moar a24091: OUTPUT«CJK COMPATIBILITY IDEOGRAPH-2F800␤»
01:37 camelia rakudo-moar a24091: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/i0mUpYnwp_â�¤Calling 'uniname' requires argumentsâ�¤    Expected any of:     :(Str $str)     :(Int $code)â�¤at /tmp/i0mUpYnwp_:1â�¤------> [32msay [33mâ��[31muniname[0mâ�¤Â»
01:37 timotimo that can't have been parsed as an infix operator up there
01:38 timotimo m: say uniname "a"
01:38 camelia rakudo-moar a24091: OUTPUT«LATIN SMALL LETTER A␤»
01:38 timotimo ... that took a while o_O
01:39 BenGoldberg m: say uniname 0xa24091
01:39 camelia rakudo-moar a24091: OUTPUT«<illegal>␤»
01:39 BenGoldberg m: say uniname( "\U{a24091}" )
01:39 camelia rakudo-moar a24091: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized backslash sequence: '\U'â�¤at /tmp/6MWpKnzKYb:1â�¤------> [32msay uniname( "\[33mâ��[31mU{a24091}" )[0mâ�¤Undeclared routine:â�¤    a24091 used at line 1â�¤â�¤â�¤Â»
01:40 Mouq m: say "\x[a24091]"
01:40 camelia rakudo-moar a24091: OUTPUT«Error encoding UTF-8 string near grapheme position 0 with codepoint 10633361␤  in method print at src/gen/m-CORE.setting:13550␤  in method print at src/gen/m-CORE.setting:13548␤  in sub say at src/gen/m-CORE.setting:13349␤  in block  at /tmp/0qD6Uo…»
01:40 timotimo that codepoint could be printed in hexadecimals additionally, imo.
01:40 * timotimo goes to bed finally
01:40 BenGoldberg m: say uniname 128258
01:40 camelia rakudo-moar a24091: OUTPUT«CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY␤»
01:41 Mouq o/ timotimo
01:41 BenGoldberg m: say uniname 64505
01:41 camelia rakudo-moar a24091: OUTPUT«ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM␤»
01:42 Mouq BenGoldberg: That's the longest I've found too
01:44 BenGoldberg m: say uniname first { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff;
01:44 camelia rakudo-moar a24091: OUTPUT«LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON␤»
01:44 BenGoldberg m: say uniname for grep { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff;
01:44 camelia rakudo-moar a24091: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5ertxIyzX3â�¤Calling 'uniname' requires argumentsâ�¤    Expected any of:     :(Str $str)     :(Int $code)â�¤at /tmp/5ertxIyzX3:1â�¤------> [32msay [33mâ��[31muniname for grep { uniname($_) ~~ /WI…»
01:44 BenGoldberg m: say .uniname for grep { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff;
01:44 camelia rakudo-moar a24091: OUTPUT«No such method 'uniname' for invocant of type 'Int'␤  in block  at /tmp/BUnhnZ8wR9:1␤␤»
01:44 BenGoldberg m: say uniname $_ for grep { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff;
01:44 camelia rakudo-moar a24091: OUTPUT«(timeout)LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON␤ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH␤ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA␤ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA␤ARABIC LETTER WAW W…»
01:45 jnap joined #perl6
01:45 BenGoldberg m: say uniname $_ for grep { uniname($_) ~~ /WITH.*WITH.*WITH/ }, 0 .. 0x10ffff;
01:46 camelia rakudo-moar a24091: OUTPUT«(timeout)»
01:47 * Mouq begins to suspect the only reason &uniname exists is because of how fun it is to play with ;)
01:47 * TimToady smirks
01:48 TimToady dinner &
01:52 jajaja joined #perl6
01:53 jajaja Found Rakudo on MoarVM installation README less than clear. Can anyone offer a set of steps?
01:54 telex joined #perl6
01:56 Mouq jajaja: perl Configure.pl --gen-moar --gen-nqp --backends=moar
01:56 Mouq jajaja: make install
01:57 Mouq jajaja: Happiness
01:58 Mouq jajaja: (Assuming you have a copy of rakudo/ and are cd'd into that directory)
01:58 jajaja Great. Thanks
01:58 Mouq np :)
01:59 jajaja So I don't need to download MoarVM src separately?
01:59 Mouq jajaja: Nope. You can, and if you have a MoarVM you update seperately you just need a slightly different config line:
02:00 jajaja How will I know if my perl6 binary is using Moar or NQP?
02:00 Mouq jajaja: Yes.
02:00 Mouq :P
02:00 jajaja Sorry, full Rakudo or NQP?
02:00 Mouq Moar runs NQP which runs Rakudo
02:01 * Mouq decides not to type out a bunch of config lines if it's not necessary, as it'll probably just be confusing
02:01 jajaja OK, I mistook NQP for a cut-down version of (full) Rakudo
02:02 Mouq jajaja: It is, mostly; the point of it being cut down so that we can write Rakudo in something that approximates simple Perl 6, instead of MoarVM or Parrot or JVM bytecode.
02:03 Mouq Well
02:03 Mouq MoarVM bytecode, Parrot and JVM have their own languages :P
02:04 Mouq Building Rakudo off NQP also means that we can have all these backends easily, 'Just' by porting NQP
02:05 jajaja Advanced wWizardry to me, I'm afraid. At least I can now get Rakudo on MoarVM. Not knowing all the details, it sounds like Perl 6 has a brighter future on MoarVM than Parrot
02:08 jnap joined #perl6
02:12 itz__ joined #perl6
02:15 Mouq Does anyone object to having both a README (txt file) and a README.md?
02:18 JimmyZ -1
02:19 Mouq JimmyZ: Why?
02:20 skids joined #perl6
02:20 JimmyZ It's not hard to read .md file. It's hard to sync two files(hard to maintain)
02:25 Mouq Basic conversion: https://github.com/Mouq/rakudo/blob/nom/README.md
02:26 JimmyZ Yeah, it's not hard to read the raw file.
02:27 JimmyZ But keeping two files consistent will be always hard to others.
02:27 Mouq JimmyZ: So +1 to Markdown?
02:28 JimmyZ yeah, +1 to keep markdown only
02:28 Mouq JimmyZ: Cool
02:29 JimmyZ :P
02:29 lue Mouq: it's fun, but having an inverse to \c[] is useful too :)
02:29 * lue afk-ish again
02:36 woosley Just noticed that Perl6 is a new language on github ~~
02:38 cooper joined #perl6
02:40 dalek rakudo/nom: 633d1fa | Mouq++ | README (2 files):
02:40 dalek rakudo/nom: Convert README to Markdown
02:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/633d1fa591
02:40 dalek rakudo/nom: 40b3315 | (Alexander Moquin)++ | README.md:
02:40 dalek rakudo/nom: Formatting updates for README.md
02:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/40b3315eeb
02:40 dalek rakudo/nom: 0710b9b | Mouq++ | / (6 files):
02:40 dalek rakudo/nom: Merge branch 'nom' of https://github.com/rakudo/rakudo into nom
02:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0710b9b360
02:40 Mouq People can revert it if they don't like it
02:41 thilp joined #perl6
02:47 jajaja left #perl6
02:50 klapperl joined #perl6
02:57 daniel-s__ joined #perl6
02:58 rurban1 joined #perl6
03:00 dalek rakudo/nom: df94eb0 | (Alexander Moquin)++ | README.md:
03:00 dalek rakudo/nom: Factor out some installation information
03:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df94eb0a79
03:08 dalek rakudo/nom: 6751dd9 | (Alexander Moquin)++ | README.md:
03:08 dalek rakudo/nom: Simplify build instructions
03:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6751dd9ea9
03:13 dalek rakudo/nom: 741dcbf | (Alexander Moquin)++ | README.md:
03:13 dalek rakudo/nom: Move note about different backends and features to top
03:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/741dcbf6d0
03:16 dalek rakudo/nom: 8713b8b | (Alexander Moquin)++ | README.md:
03:16 dalek rakudo/nom: Make some links more pleasant
03:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8713b8b74d
03:21 dalek rakudo/nom: 5253f56 | (Alexander Moquin)++ | README.md:
03:21 dalek rakudo/nom: Clarify JVM memory limit instructions
03:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5253f56c64
03:27 hoverboard joined #perl6
03:27 dalek rakudo/nom: eb8c97c | (Alexander Moquin)++ | README.md:
03:28 dalek rakudo/nom: Formatting and clarification on `--backends`
03:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eb8c97c905
03:28 dalek rakudo/nom: 2fb9f3c | (Alexander Moquin)++ | README.md:
03:28 dalek rakudo/nom: Formatto
03:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2fb9f3cf13
03:30 Mouq These edits should probably be more batched.. but I blame the ease of Github's "Edit" feature
03:31 treehug88 joined #perl6
03:32 Mouq Someone could probably update this: https://github.com/rakudo/rakudo/blob/nom/docs/compiler_overview.pod
03:33 Mouq The last serious update was 3 years ago :/
03:36 dalek rakudo/nom: 91fe419 | (Alexander Moquin)++ | README.md:
03:36 dalek rakudo/nom: At least mention a file we *do* keep updated
03:36 dalek rakudo/nom:
03:36 dalek rakudo/nom: (as opposed to the poor, neglected docs/compiler_overview.pod)
03:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91fe419e29
03:37 treehug88 joined #perl6
03:55 xragnar_ joined #perl6
03:58 ksldafjerhdgfs joined #perl6
04:11 jnap joined #perl6
04:27 kaleem joined #perl6
04:29 kurahaupo joined #perl6
04:30 hoverboard joined #perl6
04:45 jnap joined #perl6
04:47 SamuraiJack joined #perl6
04:52 rurban1 joined #perl6
04:55 kaare_ joined #perl6
05:21 rurban1 joined #perl6
05:46 jnap joined #perl6
05:54 Mouq m: say pack("AAAA","abcd","x","y","z").decode
05:54 camelia rakudo-moar 91fe41: OUTPUT«abcdxyz␤»
05:54 Mouq ^^ Pretty sure that should be "axyz"
05:54 kurahaupo joined #perl6
05:55 JimmyZ r: say pack("AAAA","abcd","x","y","z").decode
05:55 kurahaupo joined #perl6
05:55 camelia rakudo-parrot 91fe41, rakudo-jvm 91fe41, rakudo-moar 91fe41: OUTPUT«abcdxyz␤»
05:55 JimmyZ n: a9e6eec70785f43f63ef17189fc2733d4ceb8446
05:55 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'a9e6eec70785f43f63ef17189fc2733d4ceb8446' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/ni…»
05:55 Mouq JimmyZ: Don't worry, &pack is in src/core :)
05:55 TimToady it's axyz in Perl 5
05:56 * Mouq already needs to add the 'a' directive, so may as well fix that too
05:56 TimToady it's apparently defaulting to * rather than 1
05:57 TimToady not that this is exactly the cleanest area in Perl 5's design...
05:58 TimToady and we can change defaults in P6 if there is sufficient rationale
05:58 Mouq TimToady: No... if you can dream up an alternative to the pack/unpack sublanguage, that would be amazing :)
05:59 TimToady I'm afraid these days it would look a lot more like struct declarations...
06:01 TimToady in fact I've kinda proposed that classes that are amenable might compile down to something like the pack language for serialization, but that's not a well thought-out thing
06:02 nwc10 a significant pain point with the pack language as it has "evolved" in Perl 5 is that it (effectively) has letters for all 4 tranforms text -> binary, binary -> text *and* binary -> binary and text -> text
06:02 TimToady yeah, that's what you get for using a largely typeless language :P
06:03 nwc10 it was just "don't repeat that mistake"
06:04 TimToady the insanest bit was baking in uuencode/decode, I think
06:05 nwc10 yes, that's effectively a reverse binary->text when all the others go text->binary
06:05 nwc10 but the P and p templates are binary->binary which doesn't help
06:06 TimToady well, that depends on what the pointers are pointing to  :)
06:06 nwc10 and A a and z ended up being "defined" in terms of text->text when a text->binary definition would have been possible (but seemingly more ugly)
06:06 woosley1 joined #perl6
06:06 nwc10 I'd argue that memory is bytes, like files are bytes. You need to do something a bit more explicit to say what encoding to use to transform bytes to characters
06:07 TimToady well, hey, A for ASCII :)
06:07 nwc10 sadly what we ended up with never enforced that ASCII is 7 bits
06:08 TimToady but yeah, there were lots of irregularities in that design
06:08 Mouq Now that we have buffer types, a lot of this seems very strange
06:09 nwc10 yes. a bunch of the Perl 5 crazy would at least be easily detectable run-time errors with proper types
06:14 TimToady thing is, pack is a way of concatenating a bunch of rather heterogenous things into a buffer; with our Buf types, we need to figure out to what extend we want to support concatenating different kinds of buf
06:14 TimToady someone asked what the corresponding buf type to Cat was
06:14 * Mouq
06:14 TimToady dunno, but ropes of bufs seem a lot like the old BSD scatter/gather IO syscalls
06:15 TimToady maybe they're Bats :)
06:17 TimToady .oO(maybe we're bats)
06:17 * Mouq thinks there may be humanitarian issues with making Buf Bats out of Blobs
06:18 TimToady hmm, Blobs, Bats, Cats, and Rats all figure into a lot of horror movies
06:19 TimToady if they can make horror movies without harming them, perhaps we can make a horror language without...oh wait...
06:20 Mouq TimToady: I'm basically looking for a way to generalize https://github.com/Mouq/Image-GIF/blob/master/lib/Image/GIF.pm6#L36
06:22 TimToady the thing about bufs is sometimes you want them to behave a little more like strings, and other times, not so much
06:24 TimToady C lets you get away with a bunch by allowing you to cast buffer pointers to struct pointers and such
06:24 TimToady in some ways pack/unpack are rather more disciplined than C, oddly enough
06:27 kaare_ joined #perl6
06:28 TimToady it kind of all goes back to that named equivalence vs structural equivalence thing
06:29 TimToady type systems are nice until they're not
06:33 virtualsue joined #perl6
06:39 Mouq Hm
06:42 Mouq p6: rx:bin//
06:42 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Unrecognized adverb :bin(1) at /tmp/tmpfile line 1:�------> [32mrx[33m�[31m:bin//[0m��Null pattern not allowed at /tmp/tmpfile line 1:�------> [32mrx:bin/[33m�[31m/[0m��Parse failed��»
06:42 camelia ..rakudo-parrot 91fe41, rakudo-jvm 91fe41, rakudo-moar 91fe41: OUTPUT«[31m===[0mSORRY![31m===[0m�Null regex not allowed�at /tmp/tmpfile:1�------> [32mrx:bin/[33m�[31m/[0m�Adverb bin not allowed on rx�at /tmp/tmpfile:1�------> [32mrx:bin//[33m�[31m<EOL>[0m…»
06:43 Mouq std: rx:bin//
06:43 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized adverb :bin(1) at /tmp/sp2mSXNicP line 1:â�¤------> [32mrx[33mâ��[31m:bin//[0mâ�¤Null pattern not allowed at /tmp/sp2mSXNicP line 1:â�¤------> [32mrx:bin/[33mâ��[31m/[0mâ�¤    expecting colon pair (restricted)…»
06:47 kurahaupo joined #perl6
06:47 jnap joined #perl6
06:48 kurahaupo_mobile joined #perl6
06:48 [Sno] joined #perl6
06:49 TimToady S05:4670 waves its hands in that general direction
06:49 synopsebot Link: http://perlcabal.org/syn/S05.html#line_4670
06:50 TimToady and jnthn++ has done some work with bidirectional serialization using grammars
06:50 AW3i joined #perl6
06:51 TimToady but the details are around the devil
06:52 TimToady there's no reason in principle that pattern matching has to be restricted to Unicode characters, anyway
06:54 pdcawley joined #perl6
07:00 dmol joined #perl6
07:08 toebu joined #perl6
07:14 Mouq https://gist.github.com/Mouq/9615015
07:16 [Sno] joined #perl6
07:19 rurban1 joined #perl6
07:28 ggoebel11116 joined #perl6
07:31 Alina-malina joined #perl6
07:37 [Sno] joined #perl6
07:43 darutoko joined #perl6
07:44 kurahaupo joined #perl6
07:45 dalek rakudo/nom: 934c48a | Mouq++ | src/core/Buf.pm:
07:45 dalek rakudo/nom: &pack: Add 'a' directive and be more frugal with 'A' and 'a'
07:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/934c48a4c8
07:47 kurahaupo_mobile joined #perl6
07:48 PZt joined #perl6
07:48 jnap joined #perl6
07:49 denisboyun joined #perl6
07:51 * jnthn waves a quick hello before teaching :)
07:51 kurahaupo o/
07:56 jnthn well, at least I managed to backlog before I gotta begin... :)
07:56 jnthn &
07:57 rurban1 joined #perl6
08:00 markov joined #perl6
08:00 markov left #perl6
08:06 FROGGS joined #perl6
08:10 zakharyas joined #perl6
08:16 kurahaupo joined #perl6
08:40 pdcawley joined #perl6
08:48 jnap joined #perl6
08:57 yakudza joined #perl6
08:58 pecastro joined #perl6
09:07 sqirrel joined #perl6
09:08 sisar joined #perl6
09:15 virtualsue joined #perl6
09:20 denisboyun joined #perl6
09:27 rindolf joined #perl6
09:36 pecastro joined #perl6
09:38 sisar joined #perl6
09:39 sisar Unable to build nqp on jvm: https://gist.github.com/Siddhant/9616360 (Cygwin, 32-bit, & the JVM used is the Windows binary (JDK) provided by Oracle).
09:49 jnap joined #perl6
09:50 arnsholt joined #perl6
09:50 arnsholt o/
09:51 arnsholt masak: The Python compiler we discussed last night: https://github.com/arnsholt/snake/
09:52 sisar arnsholt: what is it ? (the repo does not have a README :-) )
09:55 arnsholt sisar: A very early attempt at a Python compiler based on NQP
09:55 arnsholt So early that it still doesn't get the indentation stuff right yet =)
10:04 pmurias joined #perl6
10:06 rurban1 joined #perl6
10:09 xinming__ joined #perl6
10:19 Mouq joined #perl6
10:22 pecastro joined #perl6
10:29 denis_boyun joined #perl6
10:54 Mouq joined #perl6
11:13 salv0 joined #perl6
11:26 lizmat off to see TheDamian&
11:40 rurban1 joined #perl6
11:41 Timbus ThewonderfulDamian of oz
11:51 jnap joined #perl6
12:02 [Sno]_ joined #perl6
12:07 fhelmberger joined #perl6
12:08 ggherdov_ joined #perl6
12:08 TimToady joined #perl6
12:10 awwaiid joined #perl6
12:10 klapperl joined #perl6
12:12 labster joined #perl6
12:13 kaleem joined #perl6
12:21 FROGGS joined #perl6
12:26 timotimo o/
12:27 timotimo .tell sisar i think the problem is that the classpath on windows expects ; instead of : and thus it doesn't find the jar files?
12:27 yoleaux timotimo: I'll pass your message to sisar.
12:32 SamuraiJack joined #perl6
12:33 AW3i joined #perl6
12:44 dalek rakudo-star-daily: 540c7b8 | coke++ | log/ (5 files):
12:44 dalek rakudo-star-daily: today (automated commit)
12:44 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/540c7b8f0f
12:45 [Coke] rakudo-star candidates failing tests:
12:45 [Coke] https://github.com/coke/rakudo-star-daily/blob/master/log/test-modules.log
12:48 FROGGS [Coke]: grammar-debugger shows: "Found a version control conflict marker"
12:48 FROGGS that sounds like you have to clean that on your box
12:48 FROGGS same for modules/perl6-lwp-simple
12:49 FROGGS and also jsonrpc
12:49 [Coke] FROGGS: this is a fresh checkout every day
12:49 FROGGS but how can these three have all a vcs conflict in its repo?
12:49 FROGGS that is highly unlikely
12:50 tadzik troo
12:50 [Coke] I do a fresh checkout, force all the submodules to master, then build.
12:50 moritz somebody could have committed ersion control conflict markers
12:50 moritz that's easy to cehck
12:50 timotimo force the submodules to master with git pull or git reset? :)
12:50 FROGGS ohh, perhaps that is in a dep only
12:50 [Coke] so maybe there's a bug here: https://github.com/coke/rakudo-star-daily/blob/master/bin/star.sh#L27
12:51 timotimo yeah, a git pull will do a merge if it's not a fast-forward
12:51 timotimo i'd suggest a git fetch origin; git reset --hard origin/master instead
12:51 [Coke] Sure.
12:51 FROGGS seems like a conflict in your MIME::Base64 installation
12:52 jnap joined #perl6
12:52 FROGGS /home/coke/sandbox/rakudo-star-daily/star/rakudo-star-daily/install/lib/parrot/5.9.0/languages/perl6/lib/MIME/Base64.pm6:3
12:52 FROGGS and /home/coke/sandbox/rakudo-star-daily/star/rakudo-star-daily/modules/Perl6-MIME-Base64/lib/MIME/Base64.pm6:3
12:53 * [Coke] kicks off a timotimo build.
12:53 timotimo hah
12:54 timotimo wow. such mean-spirited words on Perl 6 on twitter
12:54 FROGGS where?
12:55 timotimo i don't feel like sharing it
12:56 timotimo it's probably not a good idea to waste time discussing or even looking.
12:56 dalek rakudo/eleven: a24091e | jnthn++ | tools/build/NQP_REVISION:
12:56 dalek rakudo/eleven: Bump to an NQP with native call improvements.
12:56 dalek rakudo/eleven:
12:56 dalek rakudo/eleven: Both MoarVM support, and JVM improvements.
12:56 dalek rakudo/eleven: review: https://github.com/rakudo/rakudo/commit/a24091ee38
12:57 dalek joined #perl6
12:58 colomon timotimo++ # not sharing
13:03 stevan_ joined #perl6
13:04 * [Coke] goes digging but doesn't find anything too egregious.
13:04 * [Coke] posts a "here, have some perl6" urls.
13:04 moritz .oO( caring is not-sharing )
13:05 * timotimo thought "crazy ass mofos" was uncalled for
13:08 Khisanth joined #perl6
13:09 slavik jnthn: moarvm ... :D (going to give it a go today)
13:09 slavik where is that page that lists how many tests each compiler passes?
13:09 timotimo it's coke/perl6-roast-data on github
13:10 timotimo there's a .csv with an overview and log/ folder with all the details
13:10 kbaker joined #perl6
13:10 slavik ty
13:11 guru joined #perl6
13:14 treehug88 joined #perl6
13:15 treehug88 joined #perl6
13:18 [Coke] I love that Damian is trying to use junctions and we're telling him they don't work that way.
13:19 [Coke] I feel that way whenever I try to use junctions for something.
13:20 [Coke] latest star build is worse: lots of "No STable at index 1"
13:24 dalek rakudo-star-daily: b54ccf8 | coke++ | bin/star.sh:
13:24 dalek rakudo-star-daily: fix git submodule voodoo, timotimo++
13:24 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/b54ccf8b14
13:24 dalek rakudo-star-daily: 1608460 | coke++ | log/ (5 files):
13:24 dalek rakudo-star-daily: today (automated commit)
13:24 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/1608460aad
13:25 FROGGS [Coke]: that feels like a broken build, like an outdated moarvm or some such
13:27 [Coke] FROGGS: this is parrot.
13:27 FROGGS ohh
13:27 [Coke] and yes, I don't get the most recent parrot. For parrot, I get whatever the version picked by star is.
13:27 FROGGS even weirder
13:27 FROGGS yeah
13:29 [Coke] I can switch the R* tester to use latest parrot, but we don't upgrade parrot often.
13:30 FROGGS no, do not upgrade, that won't make it better
13:30 [Coke] so, the two modules still failing are lwp-simple & jsonrpc
13:30 [Coke] And it's a fresh build.
13:30 [Coke] timotimo++ git magic.
13:35 skids joined #perl6
13:36 skids joined #perl6
13:47 rindolf joined #perl6
14:05 thou joined #perl6
14:08 jnap joined #perl6
14:09 hoelzro morning #perl6!
14:10 tadzik hey hey hoelzro!
14:12 hoelzro o/ tadzik
14:21 FROGGS hi
14:24 treehug88 joined #perl6
14:27 hoelzro ahoy FROGGS
14:28 FROGGS :o)
14:34 sftp joined #perl6
14:40 isBEKaml joined #perl6
14:59 treehug88 joined #perl6
15:01 FROGGS joined #perl6
15:02 raiph joined #perl6
15:06 stevan_ joined #perl6
15:07 aborazmeh joined #perl6
15:16 hoverboard joined #perl6
15:17 masak arnsholt: "snake". I like :)
15:17 kivutar joined #perl6
15:22 stevan_ joined #perl6
15:27 lowpro30 joined #perl6
15:32 pmurias so are there plans to reactivate snake?
15:34 dalek perl6.org: 294e864 | raiph++ | source/community/index.html:
15:34 dalek perl6.org: Delete mention of wikis
15:34 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/294e864129
15:37 virtualsue joined #perl6
15:38 Celelibi joined #perl6
15:49 xenoterracide joined #perl6
15:50 raiph pmichaud, #perl6ers: I see what look like dead repos in the perl6 account on gh (https://github.com/perl6/misc, https://github.com/perl6/modules, etc.); should I try delete them and if not can I help clean them up? are there other accounts to clean up?
15:51 jnap1 joined #perl6
16:07 timotimo seems like those are safe to delete
16:08 timotimo that digest module is parrot only, for example
16:09 dalek perl6.org: e9b125c | raiph++ | source/community/index.html:
16:09 dalek perl6.org: Clean ups
16:09 dalek perl6.org:
16:09 dalek perl6.org: Updated planetsix link
16:09 dalek perl6.org:
16:09 dalek perl6.org: Removed link to problematic http://perl6.cz/wiki/Perl_6_and_Parrot_links
16:09 dalek perl6.org:
16:09 dalek perl6.org: Removed link to problematic curated videos page of (currently disabled) wiki.perl6.org
16:09 dalek perl6.org:
16:09 dalek perl6.org: Toned down marketese
16:09 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/e9b125ca27
16:13 stevan_ joined #perl6
16:15 moritz raiph++
16:16 rurban1 joined #perl6
16:20 arnsholt joined #perl6
16:24 gtodd joined #perl6
16:35 [Coke] raiph++
16:39 arnsholt jnthn: In my JAST compiler, I come across a JAST::Method which has an @!cr_handlers where one of the elements has the P6num REPR. That's a bug, no, since it's parsed into an array of longs?
16:40 timotimo raiph: good work
16:47 cognominal joined #perl6
16:48 dwarring joined #perl6
16:48 amoquin joined #perl6
16:48 * amoquin hops on for a few minutes
16:49 timotimo ohai Mouq
16:49 Mouq o/
16:50 Mouq raiph++: Someone brought up that perl6.org doesn't actually explain what Perl 6 is to someone without prior knowledge
16:50 Mouq *about Perl/Perl 6
16:51 timotimo i brought that up, aye
16:51 timotimo or rather: a friend of mine did
16:53 * Mouq suggests ss/the spokesbug for <(Perl 6)>/the Perl 6 programming language/ as a start
16:53 timotimo "i am camelia, the perl 6 programming language"?
16:53 timotimo oh
16:53 timotimo i see.
16:54 Mouq timotimo: :9
16:54 * hoelzro .oO( Now I am become Perl 6, destroyer of worlds... )
16:54 * timotimo takes on his multi-armed form
16:59 timotimo i'd like to build a pass into the minor collection that merges equal MVMStrings together by bending the forwarding pointer
17:00 * Mouq doesn't know what bending a pointer is, but it sounds dangerous
17:01 Mouq m: say Buf.^methods
17:01 camelia rakudo-moar 934c48: OUTPUT«new elems bytes chars Numeric Int decode list subbuf unpack contents encoding of at_pos Bool Str Stringy gist perl␤»
17:02 Mouq m: say "abcd".encode.contents
17:02 camelia rakudo-moar 934c48: OUTPUT«97 98 99 100␤»
17:03 Mouq I was thinking maybe there should be an easy way to look at Bufs/Blobs at different sizes
17:04 Mouq like Buf.new[3]:bits<4> is the 4th half-byte
17:05 Mouq m: say Buf.new("abcd".encode[], :size<4>)[3]
17:05 camelia rakudo-moar 934c48: OUTPUT«100␤»
17:05 treehug88 joined #perl6
17:05 timotimo i wonder if it would be totally idiotic to try to do the allocation of the hash to be used for merging equal strings completely without the GC
17:05 Mouq Looks like :size is NYI...
17:06 timotimo could that be size in bytes?
17:06 timotimo what's the [] there for, ooc?
17:07 Mouq timotimo: Listifying
17:07 Mouq m: say Buf.new("abcd".encode.list, :size<4>)[3]
17:07 camelia rakudo-moar 934c48: OUTPUT«100␤»
17:07 Mouq Nope
17:07 timotimo mhm
17:07 Mouq o/ #perl6
17:07 timotimo m: say Buf.new("abcdefgh".encode.list, :size<2>).perl
17:07 camelia rakudo-moar 934c48: OUTPUT«Buf.new(97, 98, 99, 100, 101, 102, 103, 104)␤»
17:07 timotimo m: say Buf.new("abcdefgh".encode.list, :size<1>).perl
17:07 camelia rakudo-moar 934c48: OUTPUT«Buf.new(97, 98, 99, 100, 101, 102, 103, 104)␤»
17:08 timotimo m: say Buf.new([1024, 2048, 4096], :size<1>).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)␤»
17:08 timotimo m: say Buf.new([1024, 2048, 4096], :size<2>).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)␤»
17:08 timotimo m: say Buf.new([1024, 2048, 4096], :size<4>).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)␤»
17:08 timotimo hm.
17:08 timotimo it's also strange to use <> there
17:08 timotimo m: say Buf.new([1024, 2048, 4096], :size(4)).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)␤»
17:08 timotimo m: say Buf.new([1024, 2048, 4096], :size(16)).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)␤»
17:08 timotimo m: say Buf.new([1, 2, 3, 4, 5], :size(1)).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(1, 2, 3, 4, 5)␤»
17:08 timotimo m: say Buf.new([1, 2, 3, 4, 5], :size(2)).perl
17:08 camelia rakudo-moar 934c48: OUTPUT«Buf.new(1, 2, 3, 4, 5)␤»
17:09 timotimo m: say Buf.new([1, 2, 4, 8, 16, 32, 64, 128, 256], :size(2)).perl
17:09 camelia rakudo-moar 934c48: OUTPUT«Buf.new(1, 2, 4, 8, 16, 32, 64, 128, 0)␤»
17:09 stevan__ joined #perl6
17:11 hoverboard joined #perl6
17:17 jtsangaris joined #perl6
17:18 jtsangaris left #perl6
17:19 iolympian joined #perl6
17:20 kaare_ joined #perl6
17:20 raiph timotimo, Mouq, others: Imo p6 needs two faces. One targeting everyone (in particular, including non-contributing users) with suitable simplifications (lies-to-children -- but not marketing let alone marketese). (perl6.com; no camelia; I'm seriously suggesting we clone the python driven mozilla.com...) And another dealing with guts + gory details,
17:20 raiph suitable mostly for contributors. (perl6.org; camelia; -Ofun).
17:23 AW3i joined #perl6
17:23 dwarring lue: from advent day 10...
17:24 dwarring r: my $name = 'fred'; my @msgs = (1..12); q:c'Hello, $name. You have { +@msgs } messages.'
17:25 camelia rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized adverb: :c'Hello�at /tmp/tmpfile:1�------> [32m = 'fred'; my @msgs = (1..12); q:c'Hello[33m�[31m, $name. You have { +@msgs } messages.'[0m�Couldn't find terminator ,�at /tmp/tmp…»
17:25 camelia ..rakudo-parrot 934c48: OUTPUT«���[���3���1���m���=���=���=������[���0���m���S���O���R���R���Y���!������[���3���1���m���=���=���=�…»
17:25 timotimo wow, yikes
17:25 dwarring r: q:c'hi there'
17:25 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Alphanumeric character is not allowed as a delimiterâ�¤at /tmp/tmpfile:1â�¤------> [32mq:c'hi [33mâ��[31mthere'[0mâ�¤    expecting any of:â�¤  â€¦Â»
17:25 dwarring r q:c"hi there"
17:25 timotimo r: say q:c 'hi there'
17:25 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«hi there␤»
17:25 TimToady remember that we allow apostrophes in identifiers
17:26 dwarring ...seems to be a problem with single quiote + adverb
17:26 timotimo what TimToady said
17:26 dwarring ah
17:26 timotimo just an LTA error message
17:26 timotimo (in the case of parrot, pretty significantly LTA)
17:26 dwarring ok, then the advent example needs tweaking
17:26 dwarring will note it
17:29 pmurias raiph: what's wrong with camelia?
17:33 colomon hmmm, how to get a directory from p6?
17:34 colomon dir?
17:34 pmurias raiph: currently perl6 is -Ofun so marketing it as a time tested, solid "production" could create disappointment
17:34 PerlJam colomon: you mean a list of files in a directory?  That's dir()
17:35 colomon PerlJam++
17:35 * colomon is still p6 hacking for $work
17:36 telex joined #perl6
17:36 grondilu joined #perl6
17:36 raiph pmurias: camelia is great; please disregard my "no camelia" on perl6.com comment; I'll maybe return to what I meant by my "no camlia" comment later
17:37 pmurias maybe we need a more serious looking camelia variant ;)
17:39 timotimo camelia is getting close to that age when teenagers start rebelling and putting on dark makeup and clothes ;)
17:40 grondilu off-topic:  do you guys know if there's any equivalent to '$ LANG=C someprogram' in Window's cmd.exe?
17:40 timotimo yeah, you reinstall windows with the language you want
17:40 vendethiel r: my $a' = 5; say $a';
17:40 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32mmy $a[33mâ��[31m' = 5; say $a';[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤ …»
17:40 vendethiel r: my $'a = 5; say $'a;
17:40 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32mmy $[33mâ��[31m'a = 5; say $'a;[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤ …»
17:41 timotimo apostrophe is only allowed in identifiers between alphabetical characters
17:41 timotimo just like the -
17:41 vendethiel r: my $a'b = 5; say $a'b;
17:41 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤»
17:41 vendethiel timotimo++
17:41 vendethiel I tried to do it using it as a "prime", haskell-style
17:41 timotimo heh.
17:41 timotimo i thought you wanted to have an identifier named $a' =5; say $a'
17:42 vendethiel I can do that, though, right ?
17:42 vendethiel $INNER::<a'  =5; say $a'> = 5;
17:42 vendethiel or something like that
17:42 timotimo :
17:42 timotimo :P
17:42 timotimo r: ::<foo bar baz> = 5;
17:43 camelia rakudo-moar 934c48: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤  in method STORE at src/gen/m-CORE.setting:7082␤  in block  at /tmp/tmpfile:1␤␤»
17:43 camelia ..rakudo-parrot 934c48: OUTPUT«Cannot modify an immutable value␤  in method STORE at gen/parrot/CORE.setting:7029␤  in block  at /tmp/tmpfile:1␤␤»
17:43 camelia ..rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value␤  in method STORE at gen/jvm/CORE.setting:7025␤  in block  at /tmp/tmpfile:1␤␤»
17:43 timotimo oh, wait, that'd be a list
17:43 vendethiel oh yeah, it should be {''}
17:43 timotimo r: ::{'$foo bar baz'} = 5;
17:43 camelia rakudo-moar 934c48: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤  in block  at /tmp/tmpfile:1␤␤»
17:43 camelia ..rakudo-parrot 934c48, rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
17:43 timotimo r: MY::{'$foo bar baz'} = 5;
17:43 camelia rakudo-moar 934c48: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤  in block  at /tmp/tmpfile:1␤␤»
17:43 camelia ..rakudo-parrot 934c48, rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
17:43 timotimo hm.
17:43 moritz nah, you can't declare variables at run time
17:44 timotimo oh, of course not
17:44 FROGGS r: $::{'$foo bar baz'} = 5;
17:44 camelia rakudo-moar 934c48: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
17:44 camelia ..rakudo-parrot 934c48: OUTPUT«===SORRY!===␤QRPA: index out of bounds␤»
17:44 camelia ..rakudo-jvm 934c48: OUTPUT«===SORRY!===␤VMArray: Index out of bounds␤»
17:44 FROGGS at least it is nicely aligned :o)
17:44 vendethiel o//
17:44 vendethiel but parrot's "index" is not capitalized
17:44 timotimo hahaha
17:44 FROGGS hehe
17:44 raiph pmurias: I agree that p6 dev is about -Ofun and that marketing it as a time tested, solid "production" years before it could possibly be is inappropriate. I'm comfortable with the perl6.com site making it clear just what P6 is ready for (and if the answer is "still nothing yet", then saying so, and if the answer is "it's complicated", providing a c
17:44 raiph onservative lies-to-children version (maybe "nothing yet unless you're willing to get in to guts + gory details" with a link to perl6.org).
17:44 timotimo that's amazing.
17:45 vendethiel that triggers my not-actually-ocd.
17:45 vendethiel but I still don't get the error :-)
17:47 dayangkun joined #perl6
17:50 rurban1 joined #perl6
17:52 colomon what's the p6ism for shelling to a command?
17:52 colomon (interested in the return value)
17:53 colomon system doesn't work.  shell?
17:53 FROGGS qx?
17:53 rurban1 return string or exit value? qx gives the string
17:53 FROGGS shell and run give the exit status
17:54 colomon shell returns Proc::Status.new(exit => 127, pid => Any, signal => 0), which looks promising.
17:54 FROGGS yes, shell(...).status if you are just interested in that numeric value
17:54 colomon now I just need to figure out what the different possible values are...
17:54 rurban1 so far qx doesnt set $!
17:54 rurban1 I just gave up on that today
17:55 FROGGS yes, there is a run/shell/qx refactoring in the queue
17:56 raiph pmurias: I'm now thinking there's an existing good solution for the site split I was thinking of, with rakudo.org playing the role I was describing as perlt.com. Thanks for leading me to that happy conclusion. :)
17:57 raiph s/perlt/perl6/
17:59 denis_boyun joined #perl6
18:03 virtualsue joined #perl6
18:04 aborazmeh joined #perl6
18:05 colomon and I would get more interesting results if the command I passed to shell had spaces in it.
18:07 colomon \o/
18:12 colomon is there documentation for shell somewhere?
18:15 colomon S29
18:15 colomon ack for the win
18:18 aborazmeh joined #perl6
18:20 [Sno] joined #perl6
18:24 dalek roast: 5fbf43c | (David Warring david.warring@gmail.com)++ | integration/advent2013-day10.t:
18:24 dalek roast: adding advent 2013 day 10
18:24 dalek roast: review: https://github.com/perl6/roast/commit/5fbf43c759
18:24 dwarring_ joined #perl6
18:34 rindolf Hi all. Where is the Perl 6 Advent Calendar article about Perl 6 piping (like ====> or <==== IIRC).
18:34 rindolf I cannot find it using Google or DuckDuckGo web searches
18:35 timotimo "feeds" is the word you're looking for
18:35 PerlJam rindolf: and it's just ==> and <==
18:35 raiph Anyone know how can I delete or request deletion of https://github.com/perl6/misc et al?
18:35 timotimo yup
18:36 rindolf PerlJam: OK.
18:36 rindolf https://perl6advent.wordpress.com/2009/12/23/day-23-lazy-fruits-from-the-gather-of-eden/ - it seems to be here.
18:37 PerlJam rindolf: well, there's http://perl6advent.wordpress.com/2010/12/10/day-10-feed-operators/  :-)
18:37 hoverboard joined #perl6
18:38 rindolf PerlJam: ah, I see, yes.
18:39 iolympian1 joined #perl6
18:40 timotimo .u full block
18:40 yoleaux U+2588 FULL BLOCK [So] (█)
18:45 pmichaud good afternoon, #perl6
18:45 pmichaud raiph: ping
18:46 raiph pmichaud: hi
18:46 AW3i joined #perl6
18:46 pmichaud just got your email about rakudo.org
18:47 pmichaud I didn't even realize the how-to-help page still listed Andy as the contact :)
18:47 raiph yeah ;) also, please search for my name in today's irc log to see couple related comments
18:47 pmichaud looking
18:49 nwc10 good pm, Pm
18:49 pmichaud I can delete the perl6/misc repo.
18:49 colomon o/
18:51 pmichaud perl6/misc is now gone
18:52 pmichaud raiph: I can get you an account on rakudo.org
18:54 kurahaupo joined #perl6
18:55 pmichaud raiph: account created, you should get email with details
18:56 pmichaud and I updated the contact info on how-to-help
18:57 rindolf PerlJam: thing is I'm looking for something like that for Perl 5 on CPAN.
18:57 FROGGS hi pmichaud
18:59 AWei joined #perl6
19:01 Rotwang1 joined #perl6
19:01 aborazmeh joined #perl6
19:10 aborazmeh joined #perl6
19:16 aborazmeh joined #perl6
19:34 perigrin joined #perl6
19:36 aborazmeh joined #perl6
19:41 perlfan joined #perl6
19:41 Geo_ joined #perl6
19:42 Geo_ http://twigils.com
19:43 perlfan just ignore that guy
19:43 perlfan he's a php developer
19:46 rurban1 :)
19:49 vendethiel perlfan: I'd say "just ignore that guy, he's as good at constructed criticism as a 5 years old"
19:54 aborazmeh joined #perl6
20:11 timotimo i've never seen such a good display of why perl is not a good language
20:11 jnap joined #perl6
20:11 rurban1 LICENSE question. jnthn's 6model files are copyright The Perl Foundation, right?
20:15 Juerd joined #perl6
20:18 FROGGS nqp is AL2.0, and that should apply to 6model as well, no?
20:20 pmichaud iirc, 6model was developed under a TPF grant, so yes, the work is copyright by TPF
20:23 dayangkun joined #perl6
20:27 myfree joined #perl6
20:30 aborazmeh joined #perl6
20:30 grondilu twigils.com may be a stupid troll, but at some point I think it's fair to look at it frankly and wonder why such a website even exists.  It's no secret that Perl has popularity issues.  Are sigils the main cause?  Is it completely blasphematory to imagine that Perl6 would allow sigiless, read-and write variables?   I mean, if we want to overcome a very big popularity issue, you may have to take very drastic measures.
20:31 grondilu I don't think it would be a very big change in the grammar either.
20:33 moritz in some sense therE's already a perl dialect without sigils: ruby
20:33 moritz but you have to ask yourself if the result is stil perl
20:33 huf does it have contexts?
20:34 moritz also, it's not just a matter of grammar
20:34 moritz sigils form micro namespaces, so if you abolish them, you need some other mechanism for disambiguating constructs
20:35 grondilu I'm not talking about abolishing them.
20:35 moritz keywords vs. terms vs. type names vs. variables vs. subs
20:35 grondilu couldn't it be some kind of "zero-length" sigil?
20:36 grondilu I mean, a sigiless symbol that would not be a sub would be a sigiless variable.
20:37 grondilu and it would be declared by an initialization 'x = foo' as in other languages.
20:37 grondilu without "my"
20:38 huf you want to support that bug too?
20:39 grondilu well, on the other hand once macros are defined, it should be possible to implement this in a "sigiless" module, I guess.  That would be fine.
20:39 grondilu s/defined/implemented/
20:39 moritz no variables without declarations
20:39 moritz (unless in "no strict" mode)
20:39 moritz it makes scoping very unclear
20:40 aborazmeh joined #perl6
20:40 huf well, unless it's always a new variable :)
20:40 grondilu a 'use sigiless' mode could be an other kind of relax, un-safe mode.
20:40 huf all assgnment is declaration
20:41 grondilu and yes, an assignement to a previously unseen symbol could stand as a declaration.
20:41 grondilu That's what other languages do.
20:42 moritz and all languages that do it regret it eventually
20:42 vendethiel grondilu: I don't believe it, people will always hate
20:42 vendethiel I can understand why people are frustrated if they have to use PHP /troll
20:43 moritz all serious js guides recommend against doing it, because it creates global variables that contaminate the global namespace
20:43 segomos moritz++
20:43 vendethiel Definitely agree with moritz.
20:43 PerlJam indeed.
20:43 vendethiel `my`-less variable creation is the death of lexical scoping
20:44 moritz and the implicit scoping is one of the most serious points of criticisms against python
20:44 vendethiel ^
20:44 PerlJam and ruby
20:44 moritz I'm slowly collecting a list of language features that, over time, have proven to work much better than the alternatives
20:45 PerlJam moritz: isn't that collection called Perl 6  ;)
20:45 FROGGS hehe
20:45 moritz among them are the closure cloning model used in perl, js, and lots of other dynamic languages, C3 MRO, and explicit variable declarations
20:45 vendethiel hahaha
20:46 moritz PerlJam: Perl 6 is superset of that :-)
20:46 FROGGS and regexes that are not just strings that get evaluated (Yes, I mean you! preg_match!)
20:47 grondilu as far as I'm concerned, I do see one caveat with sigils.  To me, it does not overturn the advantages, but sometimes, not very often, it does indeed annoy me just a bit.  And I suspect that's why people in other languages don't like them.
20:47 kurahaupo_mobile joined #perl6
20:48 FROGGS I like sigils, because this way I can easily distinguish vars from subs, especially when you do not have/use parens
20:48 PerlJam sub foo(\no-sigil) { say "I've got {no-sigil}" }   #  :-)
20:49 vendethiel grondilu: have you read http://c2.com/cgi/wiki?TheProblemWithSigils ?
20:49 PerlJam (sigils do make interpolation a bit easier, though with the generalization of {} interpolated as code, the advantage is weakened slightly
20:49 PerlJam )
20:51 raiph I think all newbies should be exposed to sigil-less terms near step 1 of a P6 101, and P6BP ought encourage use of (sigil-less) SSA terms, constants, and so on ahead of variables.
20:51 moritz vendethiel: somehow that doesn't list any problems with sigils, really
20:51 segomos it's also a pain in the ass to go back and read someone else's code if they didn't use sigils
20:51 vendethiel moritz: it lists differences
20:52 moritz aye
20:52 raiph segomos: presumably you're OK with things like (sigil-less) constants and Enums? what about SSAs/terms?
20:55 moritz grondilu: I agree that Perl has serious problems, but I don't think sigils are anywhere near the top of the problem list
20:56 segomos raiph: sure, i'd prefer it to be uniform, variables are easier to read with sigils. p6 does a better job with them for sure
20:57 grondilu oh, ok.  What is it then, if you can sum it up quickly? (I don't want to waste your time or anything)
20:57 dag joined #perl6
20:57 moritz the problems being mostly that perl 5 is full of warts and missing features (like subroutine signatures (I know, not for long), sane built-in OO), and Perl 6 isn't production ready for most applications
20:58 vendethiel joined #perl6
20:59 dag moritz: I believe sigils are pretty close to the top of the list of *perceived* problems with Perl
20:59 lowpro30_ joined #perl6
20:59 PerlJam That's weird
20:59 grondilu you know, that makes me think of a saying in finance.  "There is no point of being right against the market".
20:59 PerlJam perhaps because oof sigil variance in P5
21:00 nwc10 a guy at work seems to be struggiling with that. He's used to C++ and PHP
21:00 dag On the (admittedly rare) occation that I write elaborate mathemathical expressions in Perl, I have to agree with the people who go on about "line noise".
21:01 itz__ if you don't like sigils don't use perl
21:01 itz__ surely its one of the things which makes perl be perl
21:01 grondilu dag:  yes, writing math expressions in perl is annoying.
21:01 dag itz__: Very constructive...
21:02 moritz there's also some kind of bootstraping problem about perl not being popular, perl not being taught, low availabilty of perl programmers, and perl not being popular
21:02 dag grondilu: Yes! However otherwise I'm fine with it, I guess.
21:03 grondilu that's also why I never felt comfortable doing linear algebraic stuff in Perl.  And I suspect that's why Perl is not popular in academics and numerical analysis.  It just does not look like maths at all.
21:04 dag moritz: I'm just lurking here, but IMHO you really are working on a great language. It jus *has* to be the next cool thing :-)
21:04 grondilu When I do linear algebra, I usually prefer octave.
21:04 segomos nwc10: i struggled with it years ago too, i'm glad it's there now
21:04 lue r: my \foo = "If you really want sigilless..."; say foo;
21:04 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«If you really want sigilless...␤»
21:05 dag grondilu: We seem to have some things in common :-)
21:05 LLamaRider joined #perl6
21:06 grondilu lue: that should prove that implementing sigiless, read-and-write variables should not be too hard in Perl 6, since it is almost aleady available.
21:06 dag grondilu: I haven't picked up much of Perl 6 yet, but can't sigilless variables be declared using "my \var" ? Or does that mean something else?
21:06 grondilu dag: they are then read-only.
21:06 dag grondilu: Oh. Bummer :-/
21:07 grondilu and I think we should consider getting rid of the 'my \' for those cases.
21:07 moritz grondilu: not going to happen. We won't repeat other language's obvious mistakes.
21:07 grondilu basically whenever you assign a previously unseen symbol, that would mean 'my \'
21:07 vendethiel joined #perl6
21:07 lue r: my $foo = "A"; my \bar = "B"; say $foo.VAR.WHAT; say bar.VAR.WHAT
21:08 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«(Scalar)␤(Str)␤»
21:08 dag moritz: What is not going to happen, sigilless writable variables or "my var" ?
21:08 lue both, I'd guess
21:08 dag moritz: ^^ instead of "my \var"
21:09 moritz dag: implicit declarations of variables on first assignment
21:09 segomos grondilu: it's a pita to read other people's code that implicitly defines variables
21:09 grondilu moritz: again, "being right against the market".   At some point if we want Perl to be popular, we may have to accept other people's bad taste.  And again, it would be a degraded mode, just as the "no strict" mode.
21:09 dag moritz: Uha, no, please don't allow that!
21:09 lue grondilu: \vars are non-writable because they don't have a scalar or anything mutable to them (they specifically don't impose any kind of context)
21:10 moritz grondilu: I don't want to a fucked-up perl to be popular. PHP already exists.
21:10 retupmoca personally, implicit declaration on first assignment would drive me away from the language
21:10 moritz s/to//
21:10 segomos retupmoca++
21:10 dag lue: I think that would be a real shame, since mathematical expressions in Perl are *ugly* and *hard to read* as it stands.
21:10 moritz there must be bounds to adopting other languages mistakes
21:11 lue dag: there are plenty of examples on RosettaCode using the magic of Unicode, etc. to do mathy things.
21:11 grondilu retupmoca: that's already how perl works in no strict.
21:11 segomos and it's a pita to read
21:11 moritz and guess what, all good tutorials start with 'use strict;'
21:11 dag lue: Yes, I have caught earlier that "my \var" can be used, but now I hear that such variables are read-only?
21:11 retupmoca grondilu: Indeed it is. I write perl 5 code for $work, and use strict everywhere
21:12 retupmoca the old stuff that isn't strict is a PITA to work with
21:12 grondilu even for one-liners?
21:12 lue dag: I imagine assigning a Scalar (or some other mutable) to it would make it mutable.
21:12 timotimo you can still := a \var, can't you?
21:12 segomos i wouldn't rewrite that piece just to accomodate one liners
21:13 lue r: my \foo = 42; say foo; foo := 21; say foo;
21:13 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Cannot use bind operator with this left-hand side�at /tmp/tmpfile:1�------> [32mmy \foo = 42; say foo; foo := 21[33m�[31m; say foo;[0m�…»
21:13 retupmoca grondilu: Yes, even for one-liners. I may skip the actual 'use strict', but I still explicitly declare everything with my
21:13 lue timotimo: guess not.
21:13 segomos r: my $a = 5; my \foo = $a; foo.say;  $a = 6; foo.say;
21:13 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤6␤»
21:13 timotimo interesting
21:14 grondilu I wrote a few example of math code on RosettaCode.  I could feel the pain and uglyness sometimes.
21:14 pmichaud r: my \foo is Scalar = 5; foo.say;  # curious
21:14 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Term definition requires an initializerâ�¤at /tmp/tmpfile:1â�¤------> [32mmy \foo [33mâ��[31mis Scalar = 5; foo.say;  # curious[0mâ�¤    expect…»
21:14 timotimo so, what exactly is the problem with math in Perl 6 now?
21:14 dag lue: How about you guys make your example above work in Perl 6? ;-)
21:14 grondilu The example I have in mind is Runge-Kutta.
21:14 moritz grondilu: but the pain comes from the sigils, not from the need for declaration. Right?
21:14 raiph grondilu: I agree that Perl has made a tradeoff with its use of symbols that has strengths and weaknesses, with the latter including a visual impact on newbies that can be experienced as "unfriendly" and unsettling symbol compaction in some cases (a lot of math?); but both of those can be controlled near 100% by means other than changing the langua
21:14 raiph ge
21:15 dag moritz: At least to me there is zero pain in declaration.
21:15 segomos r: my $a = 5; my \foo = $a; foo.say;  $a = 6; foo.say;
21:15 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤6␤»
21:15 segomos works just fine
21:15 lue sigils just aren't that big of a deal in terms of issues with Perl (and Bash, and...). I'll also remind you that the joke website was named for *twi*gils, not sigils :)
21:15 dag segomos: But is a workaround aka a hack.
21:16 moritz dag: yes, we agree violently on this point :-)
21:16 pmichaud maybeweshouldhavealanguagethatdoesntuseanypunctuationorwhitespace
21:16 dag moritz: :-)
21:16 segomos r: my $a = 5; my \foo = $a; foo.say; foo = 6; foo.say;
21:16 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤6␤»
21:16 grondilu moritz: yes, the pain came from the sigils.
21:16 segomos also works fine
21:17 lue pmichaudiguesswecangetridofsigspaceinregexesnowhuh
21:17 segomos lueyespleasesoitistotallyambiguous
21:17 moritz grondilu: then don't hurt your argument by also doing a senseless ralley against declarations at the same time
21:17 grondilu I don't do any such thing.
21:17 lue I personally love that I can just do  my $new  without ever worrying that I accidentally a reserved name.
21:18 pmichaud r:  my \foo = my $foo = 5;   foo.say
21:18 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤»
21:18 segomos r: my $a = 5; my \foo = $a; foo.say; foo = 6; foo.say; foo = 7; foo.say;
21:18 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤6␤7␤»
21:18 segomos works on moar too
21:18 dag moritz: So, you can already do "my \var = 5; var.say" - what's stopping you from allowing "my \var = 5; var = 6; var.say" ?
21:18 pmichaud an interesting syntax might be:    my \$foo = 5;    which declares both $foo and "foo"
21:18 colomon joined #perl6
21:19 pmichaud dag:  my \var = 5;  declares a symbol "var" that is bound to a constant 5
21:19 lue [14:07:49] <grondilu> basically whenever you assign a previously unseen symbol, that would mean 'my \'
21:19 pmichaud it doesn't declare a scalar variable
21:19 grondilu lue: I meant, a previously sigiless symbol
21:19 dag pmichaud: OK, so how about changing the meaning of it? ;-)
21:19 timotimo my \var = Scalar.new... :P
21:20 pmichaud dag:  that would change the meaning of declaring \var in subroutine signatures... which is really the point of the \ in the first place.
21:20 segomos timotimo: that errors
21:20 segomos r: my \foo = Scalar.new; foo = 5; foo.say;
21:20 camelia rakudo-jvm 934c48: OUTPUT«java.lang.NullPointerException␤  in method bless at gen/jvm/CORE.setting:858␤  in method new at gen/jvm/CORE.setting:843␤  in method new at gen/jvm/CORE.setting:841␤  in block  at /tmp/tmpfile:1␤␤»
21:20 camelia ..rakudo-parrot 934c48: OUTPUT«(signal SEGV)»
21:20 camelia ..rakudo-moar 934c48: OUTPUT«Cannot call method 'BUILDALL' on a null object␤  in method bless at src/gen/m-CORE.setting:858␤  in method new at src/gen/m-CORE.setting:843␤  in method new at src/gen/m-CORE.setting:841␤  in block  at /tmp/tmpfile:1␤␤»
21:20 timotimo i know :)
21:20 lue grondilu: segomos' reply would indicate you worded that poorly. It plainly meant   ... implicit_dec = 42; ...  by my (and probably most others') interpretation.
21:20 segomos r: my \foo = (my $a); foo = 5; foo.say;
21:20 grondilu if the point of sigil-less less is to spare some typing, I would like to spare typing 'my \' as well.
21:20 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤»
21:20 dag pmichaud: Ok. So could simply "my var" be made to work out?
21:21 pmichaud dag: you run into other issues pretty quickly there, since what follows "my" can be a typename.
21:21 dag pmichaud: Yes, I understand.
21:21 lue grondilu: 'my \' was invented to avoid imposing a context on a variable's contents, not for sigilless.
21:21 moritz dag: in Perl 6, $ implies scalar, @ implist list, % implies hash, & implies code. Sigilless variables impose no context at all
21:21 pmichaud std:  my \$var = 5;   # curious to see what std says
21:22 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed my at /tmp/diO1Q4I5J6 line 1:â�¤------> [32mmy [33mâ��[31m\$var = 5;   # curious to see what std s[0mâ�¤    expecting any of:â�¤       nameâ�¤   scoped declaratorâ�¤      statement endâ�¤  statement listâ�¤Parse failedâ�¤FAILED 00…»
21:22 Rotwang1 joined #perl6
21:22 vendethiel joined #perl6
21:22 moritz dag: which means, there's no scalar container into which you could assign things, unless you take extra care that there is such a scalar
21:22 moritz dag: so my \var = 5; var = 8;  can only work out of you overthrow that rule
21:22 moritz dag: and find something else which implies no context
21:23 moritz certainly thinkable
21:23 moritz my |var = 5; # maybe
21:23 dag moritz: OK. So, how about allowing "my $var = 5; var = 6" ?
21:24 grondilu lue: just checked.  Indeed I worded that poorly.  We're on IRC it's not easy to be accurate.  I did mean a previously uness sigil-less symbol.  Again, the point of sigil-less would essentially to avoid some typing.  So for them I would like to avoid typing 'my \' as well.
21:24 lue grondilu: that's implicit declaration, and that would only happen in 'no strict' land :)
21:24 grondilu *previously unseen
21:24 timotimo { use MathematicalLanguage; a = b + c; }
21:25 grondilu well, yes indeed.  I had not realized that.
21:25 segomos dag you can already reasonably do that
21:25 dag moritz: Or "my_no_sigil var = 5" ;-)
21:25 segomos r: my \foo = (my $a); foo = 5; foo.say;
21:25 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5␤»
21:25 pmichaud r:  my \var = $(5);   # also curious
21:25 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: ( no output )
21:25 aborazmeh joined #perl6
21:25 pmichaud r:  my \var = $(5);  var = 6; var.say
21:25 camelia rakudo-moar 934c48: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/tmpfile:1␤␤»
21:25 camelia ..rakudo-parrot 934c48, rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
21:25 dag segomos: Yes, but don't you agree that it's a hack?
21:26 moritz dag: my $var = 5; var = 6  would make no sense at all with the current concept
21:26 dag moritz: OK. Please bear with me :-)
21:26 moritz dag: other options (like a special syntax for declaration or a different declarator) would
21:26 segomos i agree it's a hack.  i think it's a hack to demand sigil-less expressions in a language that uses sigils
21:26 grondilu though we could consider that only sigil variables have to be explicitely declared.
21:26 itz__ if you don't want sigils write a DSL in perl6 without them
21:27 dag segomos: Well, Perl *is* multi-paradigm ;-)
21:27 lue moritz: waitaminute, if \var isn't designed for sigilless explicitly, then why is it    my \a = 5; say a;    instead of    my \a = 5; say \a;  ? potential for prefix:<\> ?
21:27 pmichaud grondilu: that feels like going completely the wrong way, fwiw.
21:27 dag grondilu: Please don't!
21:27 lue grondilu: yeah, I'm with pmichaud, that feels like the inverse of what would be OK.
21:27 moritz lue: who says \var isn't designed for sigilless?
21:28 lue moritz: my preferences? I thought is was principally a no-context thing.
21:28 moritz dag: but sigilless variables come at a readability cost too
21:28 TimToady nothing in Perl 6 is there for only one reason
21:28 pmichaud afaict,  \var in perl6 serves much the same purpose as  &var in C++
21:28 segomos dag: true, but it's still a hacky request
21:28 pmichaud i.e., it's a reference
21:28 moritz dag: for example scalars never flatten in list context
21:29 TimToady it's a temporary constant
21:29 dag segomos: Maths is a hack? ;-)
21:29 moritz dag: so you know that    for $foo { }  will always be one iteration, regardless of what $foo contains
21:29 pmichaud I better re-read spec before commenting any further.
21:29 moritz dag: and you know that   for @foo { }  will always iterate over the elements of @foo
21:29 segomos dag: saying Math is p vague
21:30 moritz dag: but if you say    for sigiilles { }  you have no idea if it'll flatten that list on iteration, or not
21:30 moritz and even if sigillest.^name says List, it could still be inside a scalar container, and not flatten
21:31 grondilu r: my \a = <foo bar>; for a { .say }
21:31 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«foo␤bar␤»
21:31 grondilu rakudo knows what to do here.
21:31 dag grondilu: He he.
21:31 lue moritz wasn't talking about rakudo, but the reading programmer, I think.
21:31 segomos r: my \a = (my $b); a = <a b>; for a { .say} ;
21:31 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«a b␤»
21:32 thilp joined #perl6
21:32 segomos r: my \a = (my $b); a = <a b>; for a { .say}; a = ('a','b'); for a { .say};
21:32 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«a b␤a b␤»
21:32 grondilu lue: nobody denies that sigil variables are easier to read and interpret.  But some programmers like sigil-less variables anyway.
21:32 grondilu just let them have their crap
21:32 dag moritz, lue: Of course, if you want to shoot yourself in the foot, but that's not a place where I'd use sigilless variables. I'd just like to have the choice.
21:33 grondilu there's no point being right against the market, and there's more than one way to do it.
21:33 segomos if i were reading that i'd suspect the latter 'for' loop to go twice
21:33 TimToady sigilless names are intended to simple aliases, so aliasing them to something complicated like a variable kinda defeats the purpose, from a compiler's point of view
21:33 pmichaud grondilu: there's not just one market, either.
21:33 TimToady *to be
21:34 pmichaud I always remember that Southwest Airlines does incredibly well by defining their market as being something entirely different from what other airlines consider to be "the market".
21:34 segomos finance makes a poor simile for programming languages
21:34 TimToady same for Craigslist
21:34 grondilu pmichaud: so you're answer to Perl's lack of popularity is that it just does not matter or something?
21:35 grondilu s/you're/your/
21:35 pmichaud grondilu: from where I sit, Perl still looks reasonably popular.
21:35 lue grondilu: it's that sigils are ultimately not the One True Issue™.
21:35 pmichaud also, I doubt that taking sigils out of Perl will suddenly make it "popular".  :)
21:36 rurban1 it will look better for sure
21:36 segomos an ide that does everything for the 'programmer' is a more likely problem than anything in the language
21:36 * lue wants semicolon-less line terminators now!
21:36 rurban1 for the novice programmer
21:36 moritz grondilu: as a data point of "the market", Go, the new hawtness, uses := for declaration-on-first-use
21:36 moritz so little typing, but still explicit
21:36 * jnthn home :)
21:36 dag TimToady: Perhaps you can come up with a clean syntax for segomos' hack: "my \a = (my $b); a = 5;" ? ;-)
21:36 pmichaud lue:  You can have semicolon-less line terminators now in p6.
21:36 grondilu moritz: I'd be satisfied with that.
21:37 segomos dag: it's not possible to do reliably for the example i had above
21:37 segomos r: my \a = (my $b); a = <a b>; for a { .say}; a = ('a','b'); for a { .say}; # if i were reading this i'd suspect the latter 'for' loop to iterate twice
21:37 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«a b␤a b␤»
21:37 lue pmichaud: o_o  or should I have said "statement terminators"?
21:37 TimToady dag: I don't want aliases to be reassignable particularly.  I want the compiler to know it's basically readonly for the rest of this iteration
21:37 segomos perl6 on eclipse would make all the girls scream
21:38 TimToady it's as much for the folks who want an SSA style as it is for anything else
21:38 segomos visual studio for perl6
21:38 dag TimToady: Ok. So no writable sigilless variables for mathematical expressions on the horizon?
21:38 lue Microsoft VP6 2015 Express
21:39 TimToady dag: the perception that those are varables is usually false
21:39 segomos dag: what kind of math are you doing
21:39 TimToady usually they're rebound every time through the loop
21:39 rurban1 I'm working on 6model (MMD) in parrot now. I guess we could add some more ops for that.
21:39 * lue afk
21:39 rurban1 sort_signatures also needs to be cached in multi_dispatch
21:39 segomos r: my @data = <1 2 3>; for \a (@data) { a.say; }
21:39 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    a used at line 1â�¤â�¤Â»
21:39 dag segomos: It doesn't have to be more than basic arithmetic expressions before my eyes begin to hurt from all the dollar signs.
21:39 segomos r: my @data = <1 2 3>; for my \a (@data) { a.say; }
21:39 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Term definition requires an initializerâ�¤at /tmp/tmpfile:1â�¤------> [32mmy @data = <1 2 3>; for my \a [33mâ��[31m(@data) { a.say; }[0mâ�¤    â€¦Â»
21:40 itz__ dag: just write a DSL
21:40 pmichaud fwiw, I think that anyone that says "just write a DSL" needs to have first written a DSL.
21:40 pmichaud :-)
21:40 dag pmichaud: :-D
21:40 FROGGS r: my @data = <1 2 3>; for @data -> \a { a.say;
21:40 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in block; couldn't find final '}' �at /tmp/tmpfile:1�------> [32mdata = <1 2 3>; for @data -> \a { a.say;[33m�[…»
21:40 FROGGS r: my @data = <1 2 3>; for @data -> \a { a.say }
21:40 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«1␤2␤3␤»
21:40 TimToady does that mean I can say it?
21:40 segomos FROGGS: there we go
21:41 FROGGS segomos: we are in #perl6, you know :o)
21:41 segomos yea i forgot lol
21:41 segomos let's change that -> to =>
21:41 pmichaud TimToady: yes, you can say it.  Although the languages you come up with seem to not be so DS.
21:41 pmichaud although they do apparently miss "the mark(et)"  :-) :-)
21:41 segomos pmichaud: nice
21:42 TimToady is this another one of those Everyone's A Language Designer days? :)
21:42 aborazmeh joined #perl6
21:43 pmichaud Everyone's a Language Designer, yes.  But not Everyone's a Good Language Designer.
21:43 segomos dag: it's fairly easy to work around
21:43 dag TimToady: He he, sorry about that. But who knows, perhaps some day you'll really want sigilless variables in a Rosetta Code program ;-)
21:44 FROGGS dag: there are already examples that way
21:44 pmichaud actually, I think that Rosetta Code is one of the reasons TimToady introduced the current \ syntax :)
21:45 moritz you can always fall back to recursion instead of iteration if you want to re-use a \foo variable :-)
21:45 segomos why does panda modules have a slash through s11 ?
21:45 dag segomos: Yes, I realize that. I just think that Perl 6 seems to turns out so *nice*, that I would hope for less hacky solutions.
21:46 TimToady actually, the really nice thing is that once you realize how \a works, it's a readability thing, and you can rely on the fact that it won't be redefined
21:46 dag pmichaud: Now I'm just waiting for him to come over a Rosetta Code task where he'd like to write to a sigilless variable ;-)
21:46 TimToady then the $var instances stand out even more as non-FP warts :)
21:46 pmichaud dag: I think you're in the wrong universe for that.
21:46 FROGGS segomos: mostly because the META.info misses the "provides" section
21:46 dag TimToady: Understood.
21:46 pmichaud I mean, asking TimToady to drop sigils is like asking Guido to make whitespace insignificant.
21:47 segomos FROGGS: thank you
21:47 dag pmichaud: No no no, I'm not asking anyone to drop sigils!
21:47 rurban1 I thought TimToady was pro js
21:47 segomos js is p dope
21:47 pmichaud dag: okay, sigilless vars, then.
21:47 dag pmichaud: I just think it would be nice to allow skipping them on occation. As TimToady already does :-)
21:48 pmichaud dag: you want to skip them on MORE occasions.  :)
21:48 dag TimToady: I guess I'll just have to think more FP :)
21:49 pmichaud dag: I'm not saying you're wrong for wanting that... just that it introduces other issues. (more)
21:49 pmichaud for anyone that really wants sigiless, branch a copy of Rakudo and see what happens when you introduce them.
21:49 pmichaud I think you'll quickly find the parsing conflicts that lead to where things are now.
21:50 dag pmichaud: I don't think I'm about to go down that road, no. Please don't get me wrong, I'm just asking whether it would be possible. If not, well, touch luck.
21:50 dag *tough
21:51 * TimToady sees little benefit in allowing a syntactic variation without making it also carry some semantic weight to distinguish it from other syntax
21:51 dag And now I'll stop pestering you all with ramblings about sigilless variables!
21:51 lue TimToady: considering you use \foo in rosettacode for mostly math-related stuff (at least what I've seen), how about banning ASCII alphanumerics from \var names? :P
21:52 * TimToady is not much into banning things
21:52 jnthn rurban1: If you touch anything Perl 6 multi-dispatch related, please do it as a pull request. I want to review changes there carefully.
21:52 TimToady not unless there's some important reason like future extensibility on the line
21:52 * dag gives all Perl 6 people a pat on the back
21:53 * dag goes to bed
21:53 TimToady o/
21:54 segomos fixing my CSV::Parser for p6 to handle binary ops
21:54 segomos oops
21:56 pmichaud ooc, I just did a "make spectest" on my machine (first time in months) and I'm getting test failures... known?
21:56 FROGGS pmichaud: about three test files? yes
21:57 pmichaud t/spec/S32-exceptions/misc.rakudo.parrot                      (Wstat: 0 Tests: 709 Failed: 2) Failed tests:  10, 647
21:57 FROGGS yes, I've seen that too a few hours ago, but had no time yet to look at it
21:59 iolympian left #perl6
22:01 itz__ what about line numbers in perl6?
22:01 itz__ :)
22:02 FROGGS itz_: what about line numbers?
22:02 lue what about $?LINE ?
22:02 pmichaud itz__: line numbers are no problem, you just use the special #`(20)  circumtwigils
22:03 pmichaud r:  #`(10) print "HELLO WORLD\n";  #`(20) print "This is line 20\n";
22:03 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«HELLO WORLD␤This is line 20␤»
22:03 * FROGGS hopes that itz__ is not proposing `goto 20`
22:03 pmichaud although at some point the L10: syntax will work
22:04 pmichaud std:  L10: print "HELLO WORLD\n";  goto L10
22:04 camelia std 09dda5b: OUTPUT«ok 00:01 122m␤»
22:04 FROGGS m: L10: print "HELLO WORLD\n";  goto L10
22:04 camelia rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Qvl99GcYgZâ�¤Undeclared name:â�¤    L10 used at line 1â�¤Undeclared routine:â�¤    goto used at line 1â�¤â�¤Â»
22:04 FROGGS m: L10: print "HELLO WORLD\n";
22:04 pmichaud p6: L10: print "HELLO WORLD\n"; goto L10
22:04 camelia rakudo-moar 934c48: OUTPUT«HELLO WORLD␤»
22:04 camelia rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared name:â�¤    L10 used at line 1â�¤Undeclared routine:â�¤    goto used at line 1â�¤â�¤Â»
22:04 camelia ..niecza v24-109-g48a8de3: OUTPUT«(timeout)HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELLO WORLD␤HELL…»
22:05 pmichaud ta-daa!  niecza FTW
22:05 lue pmichaud: is L10: special from any other kind of label?
22:05 FROGGS pmichaud: there is a branch that makes labels work for nqp loops
22:05 pmichaud lue: technically no.  Although I can argue that "L" is the line number sigil.  :-P
22:05 FROGGS lue: it is just a label
22:05 FROGGS hehe
22:05 * lue imagines that the L10: label could conceivably change the meaning of $?LINE ...
22:06 FROGGS >.<
22:06 tadzik interesting discussion back in the backlog
22:06 pmichaud I'm afk, robotics meeting
22:07 FROGGS o/
22:07 lue tadzik: and all brought about by a very childish attempt at insults :) We didn't even talk about twigils, too.
22:08 tadzik I don't mind occasional low-tier trolling if it provokes a good discussion with good people afterwards
22:10 * tadzik has a new guitar :)
22:10 tadzik for a test run anyway
22:19 kivutar joined #perl6
22:20 LLamaRider joined #perl6
22:21 msi joined #perl6
22:21 msi left #perl6
22:31 timotimo is it already nearing release day again? o_O
22:33 tadzik oh, is it? :)
22:33 tadzik sounds like a job for release-man
22:33 tadzik yep, thursday :)
22:33 timotimo it's you, isn't it?
22:35 rurban1 It's Util today. Already on its way
22:35 rurban1 oops, wrong channel
22:35 skids joined #perl6
22:37 timotimo that's fine, too :)
22:43 timotimo can someone who knows a bit of MarkDown magic look at the release_guide.md file in the moarvm/moarvm repository's docs/ folder?
22:43 timotimo the 5th step is rendered as being all one line
22:44 timotimo anything else that desparately needs to go into nqp, rakudo or moarvm before the release the day after tomorrow? :P
22:57 BenGoldberg joined #perl6
23:08 airdisa joined #perl6
23:08 retupmoca timotimo: Like so? https://github.com/MoarVM/MoarVM/pull/83
23:09 retupmoca (for release_guide.md)
23:09 timotimo that looks just like what i tried
23:09 timotimo but it does work
23:09 timotimo thanks
23:09 pecastro joined #perl6
23:10 retupmoca I had to add an extra space to make it go into code-display mode for some reason
23:10 timotimo yeah
23:10 timotimo i tried more and less spaces and also using > at the beginning
23:10 timotimo seems like i just didn't hit the right amount of spaces ;)
23:11 Psyche^ joined #perl6
23:18 segomos is there some doc somewhere that explains what i should have in META.info for panda
23:18 kurahaupo joined #perl6
23:19 timotimo http://perl6.org/Create%20and%20Distribute%20Modules - this used to be it; but the wiki is now down
23:19 lue segomos: I *think* S22 may have what you want.
23:19 timotimo (got that link from "please read this guide" on modules.perl6.org)
23:19 timotimo but for now i'm going to bed
23:19 lue ♞ timotimo o/
23:19 segomos thanks guys
23:26 grondilu left #perl6
23:32 stevan_ joined #perl6
23:33 stevan_ joined #perl6
23:59 raiph segomos: we'll need to recover that page properly but for now: https://web.archive.org/web/20130927134706/http://wiki.perl6.org/Create%20and%20Distribute%20Modules

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo