»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
jnap1 left
|
|||
timotimo | can you profile that any further? | 00:04 | |
00:05
treehug88 left
|
|||
timotimo | can you break that into stages? | 00:10 | |
00:11
jnap joined
|
|||
timotimo | like reading the file in, parsing it with the grammar, working with the results? | 00:11 | |
00:15
timotimo left
00:17
pecastro left
00:18
timotimo joined
00:23
kurahaupo joined
00:25
Shozan left
00:26
SHODAN joined
00:30
fridim__ joined
00:36
pdcawley left
00:38
pdcawley joined
00:40
pecastro joined
00:51
dayangkun left,
dayangkun joined
00:54
pnu left
00:55
pnu joined
01:00
xenoterracide joined
01:02
pecastro left
|
|||
timotimo | lue: can we spec something that'll let me query the complete unicode database? | 01:03 | |
things like "give me all the unicode characters whose full name matches this" | 01:04 | ||
01:05
skids joined
|
|||
[Coke] | timotimo: didn't TimToady just implement that? | 01:10 | |
timotimo | ISTR it's all just the other way around | 01:11 | |
01:11
isacloud_ left
01:13
pnu left
|
|||
dalek | kudo-star-daily: 0bf81c6 | coke++ | log/ (5 files): today (automated commit) |
01:13 | |
rl6-roast-data: 5b87670 | coke++ | / (6 files): today (automated commit) |
|||
01:14
pnu joined
01:15
jnap left
01:16
isacloud_ joined
|
|||
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 :) | ||
TimToady | in P5 it's sufficient to open the database like: my @names = split /^/, do 'unicore/Name.pl'; | 01:18 | |
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) | ||
m: .base(16).say if uniname($_) ~~ /COMBINING/ for 0..0x10ffff | 01:20 | ||
camelia | rakudo-moar a24091: OUTPUT«(timeout)30030130230330430530630730830930A30B30C30D30E30F31031131231331431531631731831931A31B31C31D31E31F3203213223233243253263273283…» | 01:21 | |
TimToady | there's always that way | ||
japhb__ | m: my $c; $c++ if uniname($_) ~~ /COMBINING/ for 0..0x10ffff; say $c; say now - BEGIN now; | 01:22 | |
01:22
woosley joined
|
|||
TimToady | um, you'll notice it timed out | 01:22 | |
camelia | rakudo-moar a24091: OUTPUT«(timeout)» | ||
japhb__ | TimToady: I wanted to know if that was just I/O | ||
m: my $c; $c++ if uniname($_) ~~ /COMBINING/ for 0..0xffff; say $c; say now - BEGIN now; | |||
camelia | rakudo-moar a24091: OUTPUT«2963.8940747» | ||
01:23
kurahaupo_mobile joined
|
|||
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 | ||
timotimo | oh, we're probably decoding the names every time we find them | ||
TimToady | m: say uniname('擬') | 01:24 | |
timotimo | but that shouldn't take terribly long | ||
camelia | rakudo-moar a24091: OUTPUT«<CJK Ideograph>» | ||
TimToady | it has to think a while to figure out that's a CJK Ideograph | ||
because we don't store the name for every character, to save space | |||
timotimo | ah, it has to do a search | ||
i remember that | 01:25 | ||
01:25
kurahaupo left
|
|||
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 | ||
TimToady | but it's a hack | ||
timotimo | but only for this exact use case | ||
TimToady | which is really fast when you're usually just reimplementing grep badly :) | 01:26 | |
s/fast/fast in grep/ | |||
my P5 program runs in .15 seconds to scan the whole list | |||
timotimo | the one that opens unicore/Name.pl? | 01:27 | |
TimToady | yup | ||
timotimo | is perl5's "do" somewhat like an eval? | ||
well, an eval + slurp | |||
TimToady | yes, it evals a file | ||
it's more primitive than 'require' | 01:28 | ||
timotimo | OK. so i can't really ask you to try the equivalent with Perl 6 ;) | ||
BenGoldberg | m: say uniname first { uniname($_) ~~ /COMBINING/ }, 0 .. 0x10ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«COMBINING GRAVE ACCENT» | 01:29 | |
TimToady | well, the P5 parser is still considerably faster than P6's | ||
BenGoldberg | m: say uniname first { uniname($_) ~~ /ARROR/ }, 0 .. 0x10ffff; | ||
m: say uniname first { uniname($_) ~~ /ARROW/ }, 0 .. 0x10ffff; | |||
camelia | rakudo-moar a24091: OUTPUT«(timeout)» | ||
rakudo-moar a24091: OUTPUT«MODIFIER LETTER LEFT ARROWHEAD» | |||
TimToady | I'll bet you didn't know an arrowhead was a leter :) | ||
*letter | |||
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 | ||
BenGoldberg | . o O (what an odd way of delivering mail) | ||
timotimo | mostly. | ||
anyway, i think i'll go to sleep now | 01:31 | ||
BenGoldberg | I'll just stick to pigeons. Or maybe magical owls. | ||
timotimo likes using photons to transfer mail | |||
TimToady | m: say uniname('🔂') | 01:32 | |
camelia | rakudo-moar a24091: OUTPUT«CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY» | ||
TimToady | arrows get way out of hand in Unicode :) | ||
BenGoldberg | m: say uniname max { length uniname($_) }, 0 .. 0x4ffff; | 01:33 | |
camelia | rakudo-moar a24091: OUTPUT«===SORRY!=== Error while compiling /tmp/6M9Er0QoEQUndeclared routine: length used at line 1. Did you mean 'elems', 'chars', 'graphs', 'codes'?» | ||
timotimo | hehe. | ||
BenGoldberg | m: say uniname max { uniname($_).chars }, 0 .. 0x4ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«(timeout)» | ||
BenGoldberg | m: say uniname max { uniname($_).chars }, 0 .. 0xffff; | ||
timotimo | yeah, that's hard | ||
camelia | rakudo-moar a24091: OUTPUT«<unassigned>» | ||
timotimo | huh. | 01:34 | |
BenGoldberg | m: say uniname max { uniname($_).chars }, 0x10000 .. 0x1ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«<unassigned>» | ||
BenGoldberg | m: say uniname max { uniname($_).chars }, 0x20000 .. 0x2ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«<unassigned>» | ||
BenGoldberg | hrm | ||
timotimo | m: say uniname min { uniname($_).chars }, 0 .. 0x4ffff; | 01:35 | |
BenGoldberg | Is that not the right way to use max? | ||
timotimo | m: say uniname min { uniname($_).chars }, 0 .. 0x2ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«(timeout)» | ||
timotimo | m: say uniname min { uniname($_).chars }, 0 .. 0xffff; | ||
oh wait | |||
camelia | rakudo-moar a24091: OUTPUT«(timeout)» | ||
timotimo | max and min are infix operators, no? | ||
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» | ||
Mouq | m: say uniname max(:by({ $_.chars }), 0x20000 .. 0x2ffff); | ||
camelia | rakudo-moar a24091: OUTPUT«<CJK Ideograph Extension B>» | ||
BenGoldberg | Aha! Success | ||
Mouq | m: say uniname max(:by({ $_.&uniname.chars }), 0x20000 .. 0x2ffff); | ||
timotimo | is there actually a max routine? | ||
camelia | rakudo-moar a24091: OUTPUT«CJK COMPATIBILITY IDEOGRAPH-2F800» | ||
timotimo | m: say &max | ||
camelia | rakudo-moar a24091: OUTPUT«sub max(*@args, :by(&by) = { ... }) { ... }» | ||
timotimo | m: say &infix:<max> | 01:37 | |
camelia | rakudo-moar a24091: OUTPUT«Sub+{<anon>}.new()» | ||
timotimo | oh well. | ||
Mouq | m: say uniname max :by({ $_.&uniname.chars }), 0x20000 .. 0x2ffff; | ||
timotimo | m: say uniname | ||
camelia | rakudo-moar a24091: OUTPUT«CJK COMPATIBILITY IDEOGRAPH-2F800» | ||
rakudo-moar a24091: OUTPUT«===SORRY!=== Error while compiling /tmp/i0mUpYnwp_Calling 'uniname' requires arguments Expected any of: :(Str $str) :(Int $code)at /tmp/i0mUpYnwp_:1------> say ⏏uniname» | |||
timotimo | that can't have been parsed as an infix operator up there | ||
m: say uniname "a" | 01:38 | ||
camelia | rakudo-moar a24091: OUTPUT«LATIN SMALL LETTER A» | ||
timotimo | ... that took a while o_O | ||
01:39
thou left
|
|||
BenGoldberg | m: say uniname 0xa24091 | 01:39 | |
camelia | rakudo-moar a24091: OUTPUT«<illegal>» | ||
BenGoldberg | m: say uniname( "\U{a24091}" ) | ||
camelia | rakudo-moar a24091: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\U'at /tmp/6MWpKnzKYb:1------> say uniname( "\⏏U{a24091}" )Undeclared routine: a24091 used at line 1» | ||
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…» | ||
timotimo | that codepoint could be printed in hexadecimals additionally, imo. | ||
timotimo goes to bed finally | |||
BenGoldberg | m: say uniname 128258 | ||
camelia | rakudo-moar a24091: OUTPUT«CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY» | ||
Mouq | o/ timotimo | 01:41 | |
BenGoldberg | m: say uniname 64505 | ||
camelia | rakudo-moar a24091: OUTPUT«ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM» | ||
Mouq | BenGoldberg: That's the longest I've found too | 01:42 | |
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» | ||
BenGoldberg | m: say uniname for grep { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«===SORRY!=== Error while compiling /tmp/5ertxIyzX3Calling 'uniname' requires arguments Expected any of: :(Str $str) :(Int $code)at /tmp/5ertxIyzX3:1------> say ⏏uniname for grep { uniname($_) ~~ /WI…» | ||
BenGoldberg | m: say .uniname for grep { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«No such method 'uniname' for invocant of type 'Int' in block at /tmp/BUnhnZ8wR9:1» | ||
BenGoldberg | m: say uniname $_ for grep { uniname($_) ~~ /WITH.*WITH/ }, 0 .. 0x10ffff; | ||
camelia | rakudo-moar a24091: OUTPUT«(timeout)LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARONARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEHARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURAARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURAARABIC LETTER WAW W…» | ||
01:45
jnap joined
|
|||
BenGoldberg | m: say uniname $_ for grep { uniname($_) ~~ /WITH.*WITH.*WITH/ }, 0 .. 0x10ffff; | 01:45 | |
camelia | rakudo-moar a24091: OUTPUT«(timeout)» | 01:46 | |
Mouq begins to suspect the only reason &uniname exists is because of how fun it is to play with ;) | 01:47 | ||
TimToady smirks | |||
dinner & | 01:48 | ||
01:50
jnap left
01:52
telex left,
jajaja joined
|
|||
jajaja | Found Rakudo on MoarVM installation README less than clear. Can anyone offer a set of steps? | 01:53 | |
01:54
telex joined
|
|||
Mouq | jajaja: perl Configure.pl --gen-moar --gen-nqp --backends=moar | 01:56 | |
jajaja: make install | |||
jajaja: Happiness | 01:57 | ||
jajaja: (Assuming you have a copy of rakudo/ and are cd'd into that directory) | 01:58 | ||
jajaja | Great. Thanks | ||
Mouq | np :) | ||
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: | ||
jajaja | How will I know if my perl6 binary is using Moar or NQP? | 02:00 | |
Mouq | jajaja: Yes. | ||
:P | |||
jajaja | Sorry, full Rakudo or NQP? | ||
Mouq | Moar runs NQP which runs Rakudo | ||
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 | ||
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 | |
Well | |||
MoarVM bytecode, Parrot and JVM have their own languages :P | |||
Building Rakudo off NQP also means that we can have all these backends easily, 'Just' by porting NQP | 02:04 | ||
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:05 | |
02:08
jnap joined
02:10
itz__ left
02:12
itz__ joined
02:14
skids left
|
|||
Mouq | Does anyone object to having both a README (txt file) and a README.md? | 02:15 | |
JimmyZ | -1 | 02:18 | |
Mouq | JimmyZ: Why? | 02:19 | |
02:20
skids joined
|
|||
JimmyZ | It's not hard to read .md file. It's hard to sync two files(hard to maintain) | 02:20 | |
Mouq | Basic conversion: github.com/Mouq/rakudo/blob/nom/README.md | 02:25 | |
JimmyZ | Yeah, it's not hard to read the raw file. | 02:26 | |
But keeping two files consistent will be always hard to others. | 02:27 | ||
Mouq | JimmyZ: So +1 to Markdown? | ||
JimmyZ | yeah, +1 to keep markdown only | 02:28 | |
Mouq | JimmyZ: Cool | ||
JimmyZ | :P | 02:29 | |
lue | Mouq: it's fun, but having an inverse to \c[] is useful too :) | ||
lue afk-ish again | |||
02:35
cooper left
|
|||
woosley | Just noticed that Perl6 is a new language on github ~~ | 02:36 | |
02:38
cooper joined
02:39
thilp left
|
|||
dalek | kudo/nom: 633d1fa | Mouq++ | README (2 files): Convert README to Markdown |
02:40 | |
kudo/nom: 40b3315 | (Alexander Moquin)++ | README.md: Formatting updates for README.md |
|||
kudo/nom: 0710b9b | Mouq++ | / (6 files): Merge branch 'nom' of github.com/rakudo/rakudo into nom |
|||
Mouq | People can revert it if they don't like it | ||
02:41
thilp joined
02:47
jajaja left
02:50
klapperl joined
02:53
klapperl_ left
02:57
daniel-s__ left,
daniel-s__ joined
02:58
rurban1 joined
|
|||
dalek | kudo/nom: df94eb0 | (Alexander Moquin)++ | README.md: Factor out some installation information |
03:00 | |
kudo/nom: 6751dd9 | (Alexander Moquin)++ | README.md: Simplify build instructions |
03:08 | ||
03:10
jnap left
|
|||
dalek | kudo/nom: 741dcbf | (Alexander Moquin)++ | README.md: Move note about different backends and features to top |
03:13 | |
kudo/nom: 8713b8b | (Alexander Moquin)++ | README.md: Make some links more pleasant |
03:16 | ||
kudo/nom: 5253f56 | (Alexander Moquin)++ | README.md: Clarify JVM memory limit instructions |
03:21 | ||
03:27
hoverboard joined
|
|||
dalek | kudo/nom: eb8c97c | (Alexander Moquin)++ | README.md: Formatting and clarification on `--backends` |
03:28 | |
kudo/nom: 2fb9f3c | (Alexander Moquin)++ | README.md: Formatto |
|||
Mouq | These edits should probably be more batched.. but I blame the ease of Github's "Edit" feature | 03:30 | |
03:31
treehug88 joined
|
|||
Mouq | Someone could probably update this: github.com/rakudo/rakudo/blob/nom/...erview.pod | 03:32 | |
The last serious update was 3 years ago :/ | 03:33 | ||
03:35
treehug88 left,
hoverboard left
|
|||
dalek | kudo/nom: 91fe419 | (Alexander Moquin)++ | README.md: At least mention a file we *do* keep updated (as opposed to the poor, neglected docs/compiler_overview.pod) |
03:36 | |
03:37
treehug88 joined
03:46
treehug88 left
03:51
rurban1 left
03:55
xragnar_ joined,
xragnar is now known as Guest80508,
Guest80508 left,
xragnar_ is now known as xragnar
03:58
ksldafjerhdgfs joined
04:11
ksldafjerhdgfs left,
jnap joined
04:16
jnap left
04:19
kurahaupo_mobile left
04:27
kaleem joined
04:29
kurahaupo joined
04:30
hoverboard joined
04:35
BenGoldberg left
04:41
kurahaupo left
04:45
jnap joined
04:47
SamuraiJack joined
04:50
jnap left
04:52
rurban1 joined
04:55
kaare_ joined
05:12
rurban1 left
05:21
rurban1 joined
05:22
[Sno] left
05:25
xenoterracide left
05:28
rurban1 left
05:46
jnap joined,
daniel-s__ left
05:51
jnap left
|
|||
Mouq | m: say pack("AAAA","abcd","x","y","z").decode | 05:54 | |
camelia | rakudo-moar 91fe41: OUTPUT«abcdxyz» | ||
Mouq | ^^ Pretty sure that should be "axyz" | ||
05:54
kurahaupo joined
05:55
kurahaupo left
|
|||
JimmyZ | r: say pack("AAAA","abcd","x","y","z").decode | 05:55 | |
05:55
kurahaupo joined
|
|||
camelia | rakudo-parrot 91fe41, rakudo-jvm 91fe41, rakudo-moar 91fe41: OUTPUT«abcdxyz» | 05:55 | |
JimmyZ | n: a9e6eec70785f43f63ef17189fc2733d4ceb8446 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Undeclared routine: 'a9e6eec70785f43f63ef17189fc2733d4ceb8446' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5)  at /home/p6eval/ni…» | ||
Mouq | JimmyZ: Don't worry, &pack is in src/core :) | ||
TimToady | it's axyz in Perl 5 | ||
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 | ||
not that this is exactly the cleanest area in Perl 5's design... | 05:57 | ||
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:58
kaare_ left
|
|||
TimToady | I'm afraid these days it would look a lot more like struct declarations... | 05:59 | |
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:01 | ||
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 | ||
nwc10 | it was just "don't repeat that mistake" | 06:03 | |
TimToady | the insanest bit was baking in uuencode/decode, I think | 06:04 | |
06:04
kurahaupo left
|
|||
nwc10 | yes, that's effectively a reverse binary->text when all the others go text->binary | 06:05 | |
but the P and p templates are binary->binary which doesn't help | |||
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
|
|||
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:06 | |
06:07
woosley left
|
|||
TimToady | well, hey, A for ASCII :) | 06:07 | |
nwc10 | sadly what we ended up with never enforced that ASCII is 7 bits | ||
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 | ||
nwc10 | yes. a bunch of the Perl 5 crazy would at least be easily detectable run-time errors with proper types | 06:09 | |
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 | |
someone asked what the corresponding buf type to Cat was | |||
Mouq | |||
TimToady | dunno, but ropes of bufs seem a lot like the old BSD scatter/gather IO syscalls | ||
maybe they're Bats :) | 06:15 | ||
.oO(maybe we're bats) |
06:17 | ||
Mouq thinks there may be humanitarian issues with making Buf Bats out of Blobs | |||
TimToady | hmm, Blobs, Bats, Cats, and Rats all figure into a lot of horror movies | 06:18 | |
if they can make horror movies without harming them, perhaps we can make a horror language without...oh wait... | 06:19 | ||
Mouq | TimToady: I'm basically looking for a way to generalize github.com/Mouq/Image-GIF/blob/mas...IF.pm6#L36 | 06:20 | |
TimToady | the thing about bufs is sometimes you want them to behave a little more like strings, and other times, not so much | 06:22 | |
C lets you get away with a bunch by allowing you to cast buffer pointers to struct pointers and such | 06:24 | ||
in some ways pack/unpack are rather more disciplined than C, oddly enough | |||
06:27
kaare_ joined
|
|||
TimToady | it kind of all goes back to that named equivalence vs structural equivalence thing | 06:28 | |
type systems are nice until they're not | 06:29 | ||
06:33
virtualsue joined
|
|||
Mouq | Hm | 06:39 | |
p6: rx:bin// | 06:42 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Unrecognized adverb :bin(1) at /tmp/tmpfile line 1:------> rx⏏:bin//Null pattern not allowed at /tmp/tmpfile line 1:------> rx:bin/⏏/Parse failed» | ||
..rakudo-parrot 91fe41, rakudo-jvm 91fe41, rakudo-moar 91fe41: OUTPUT«===SORRY!===Null regex not allowedat /tmp/tmpfile:1------> rx:bin/⏏/Adverb bin not allowed on rxat /tmp/tmpfile:1------> rx:bin//⏏<EOL>…» | |||
Mouq | std: rx:bin// | 06:43 | |
camelia | std 09dda5b: OUTPUT«===SORRY!===Unrecognized adverb :bin(1) at /tmp/sp2mSXNicP line 1:------> rx⏏:bin//Null pattern not allowed at /tmp/sp2mSXNicP line 1:------> rx:bin/⏏/ expecting colon pair (restricted)…» | ||
06:47
kurahaupo joined,
jnap joined
06:48
kurahaupo left,
kurahaupo_mobile joined,
[Sno] joined
|
|||
TimToady | S05:4670 waves its hands in that general direction | 06:49 | |
synopsebot | Link: perlcabal.org/syn/S05.html#line_4670 | ||
TimToady | and jnthn++ has done some work with bidirectional serialization using grammars | 06:50 | |
06:50
AW3i joined
|
|||
TimToady | but the details are around the devil | 06:51 | |
06:51
hoverboard is now known as boyle,
jnap left
06:52
boyle is now known as hoverboard
|
|||
TimToady | there's no reason in principle that pattern matching has to be restricted to Unicode characters, anyway | 06:52 | |
06:52
pdcawley left
06:54
hoverboard left,
pdcawley joined
07:00
dmol joined
07:08
toebu joined,
kurahaupo_mobile left
|
|||
Mouq | gist.github.com/Mouq/9615015 | 07:14 | |
07:15
[Sno] left
07:16
[Sno] joined
07:19
rurban1 joined
07:23
[Sno] left
07:24
rurban1 left
07:28
ggoebel11116 joined
07:29
ggoebel11115 left
07:31
PZt left,
Alina-malina left,
Alina-malina joined
07:37
[Sno] joined
07:43
darutoko joined
07:44
kurahaupo joined
|
|||
dalek | kudo/nom: 934c48a | Mouq++ | src/core/Buf.pm: &pack: Add 'a' directive and be more frugal with 'A' and 'a' |
07:45 | |
07:47
kurahaupo left,
kurahaupo_mobile joined
07:48
PZt joined,
jnap joined
07:49
denisboyun joined
07:51
kurahaupo_mobile is now known as kurahaupo
|
|||
jnthn waves a quick hello before teaching :) | 07:51 | ||
07:51
SamuraiJack left
|
|||
kurahaupo | o/ | 07:51 | |
07:52
jnap left
|
|||
jnthn | well, at least I managed to backlog before I gotta begin... :) | 07:56 | |
& | |||
07:57
rurban1 joined
08:00
markov joined,
markov left
08:06
FROGGS joined
08:10
zakharyas joined
08:16
kurahaupo left,
kurahaupo joined
08:26
AW3i left
08:28
virtualsue left
08:35
yakudza left
08:40
pdcawley left,
pdcawley joined
08:45
Mouq left
08:49
jnap joined
08:53
jnap left
08:57
yakudza joined
08:58
pecastro joined
09:07
sqirrel joined
09:08
sisar joined
09:15
virtualsue joined
09:20
denisboyun left,
denisboyun joined
09:24
sisar left
09:27
rindolf joined
09:34
pecastro left
09:35
rurban1 left
09:36
pecastro joined
09:38
sisar joined
|
|||
sisar | Unable to build nqp on jvm: gist.github.com/Siddhant/9616360 (Cygwin, 32-bit, & the JVM used is the Windows binary (JDK) provided by Oracle). | 09:39 | |
09:41
denisboyun left,
kurahaupo left
09:48
toebu left
09:49
jnap joined
09:50
arnsholt joined
|
|||
arnsholt | o/ | 09:50 | |
masak: The Python compiler we discussed last night: github.com/arnsholt/snake/ | 09:51 | ||
sisar | arnsholt: what is it ? (the repo does not have a README :-) ) | 09:52 | |
09:54
jnap left
|
|||
arnsholt | sisar: A very early attempt at a Python compiler based on NQP | 09:55 | |
So early that it still doesn't get the indentation stuff right yet =) | |||
10:04
pmurias joined
10:06
rurban1 joined
10:09
xinming__ joined
10:10
rurban1 left
10:11
xinming_ left
10:15
woosley1 left
10:19
Mouq joined
10:20
pecastro left
10:22
pecastro joined,
sisar left
10:24
Mouq left
10:25
Gruber is now known as Grrrr
10:29
denis_boyun joined
10:54
Mouq joined
10:59
Mouq left,
sqirrel left
11:13
salv0 left,
salv0 joined
|
|||
lizmat | off to see TheDamian& | 11:26 | |
11:40
rurban1 joined
|
|||
Timbus | ThewonderfulDamian of oz | 11:41 | |
11:49
skids left
11:51
jnap joined
11:55
jnap left
12:00
kaleem left
12:02
[Sno]_ joined
12:04
[Sno] left,
[Sno]_ is now known as [Sno],
rurban1 left
12:07
ggherdov left,
fhelmberger joined
12:08
ggherdov_ joined,
TimToady left,
TimToady joined
12:09
FROGGS left
12:10
klapperl left,
awwaiid left,
awwaiid joined,
klapperl joined
12:11
labster left
12:12
labster joined
12:13
kaleem joined
12:15
wbill left
12:22
FROGGS joined
|
|||
timotimo | o/ | 12:26 | |
.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
12:33
AW3i joined
12:35
rindolf left
|
|||
dalek | kudo-star-daily: 540c7b8 | coke++ | log/ (5 files): today (automated commit) |
12:44 | |
[Coke] | rakudo-star candidates failing tests: | 12:45 | |
github.com/coke/rakudo-star-daily/...odules.log | |||
FROGGS | [Coke]: grammar-debugger shows: "Found a version control conflict marker" | 12:48 | |
that sounds like you have to clean that on your box | |||
same for modules/perl6-lwp-simple | |||
and also jsonrpc | 12:49 | ||
[Coke] | FROGGS: this is a fresh checkout every day | ||
FROGGS | but how can these three have all a vcs conflict in its repo? | ||
that is highly unlikely | |||
tadzik | troo | 12:50 | |
[Coke] | I do a fresh checkout, force all the submodules to master, then build. | ||
moritz | somebody could have committed ersion control conflict markers | ||
that's easy to cehck | |||
timotimo | force the submodules to master with git pull or git reset? :) | ||
FROGGS | ohh, perhaps that is in a dep only | ||
[Coke] | so maybe there's a bug here: github.com/coke/rakudo-star-daily/...tar.sh#L27 | ||
timotimo | yeah, a git pull will do a merge if it's not a fast-forward | 12:51 | |
i'd suggest a git fetch origin; git reset --hard origin/master instead | |||
[Coke] | Sure. | ||
FROGGS | seems like a conflict in your MIME::Base64 installation | ||
12:52
jnap joined
|
|||
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 | |
and /home/coke/sandbox/rakudo-star-daily/star/rakudo-star-daily/modules/Perl6-MIME-Base64/lib/MIME/Base64.pm6:3 | |||
[Coke] kicks off a timotimo build. | 12:53 | ||
timotimo | hah | ||
wow. such mean-spirited words on Perl 6 on twitter | 12:54 | ||
12:54
virtualsue left
|
|||
FROGGS | where? | 12:54 | |
12:55
Khisanth left
|
|||
timotimo | i don't feel like sharing it | 12:55 | |
it's probably not a good idea to waste time discussing or even looking. | 12:56 | ||
12:56
jnap left
|
|||
dalek | kudo/eleven: a24091e | jnthn++ | tools/build/NQP_REVISION: Bump to an NQP with native call improvements. Both MoarVM support, and JVM improvements. |
12:56 | |
12:56
dalek left
12:57
dalek joined,
ChanServ sets mode: +v dalek
|
|||
colomon | timotimo++ # not sharing | 12:58 | |
13:02
stevan__ left
13:03
stevan_ joined
|
|||
[Coke] goes digging but doesn't find anything too egregious. | 13:04 | ||
[Coke] posts a "here, have some perl6" urls. | |||
moritz | .oO( caring is not-sharing ) |
||
timotimo thought "crazy ass mofos" was uncalled for | 13:05 | ||
13:06
stevan_ left
13:07
fridim__ left
13:08
Khisanth joined
|
|||
slavik | jnthn: moarvm ... :D (going to give it a go today) | 13:09 | |
where is that page that lists how many tests each compiler passes? | |||
timotimo | it's coke/perl6-roast-data on github | ||
there's a .csv with an overview and log/ folder with all the details | 13:10 | ||
13:10
kbaker joined
|
|||
slavik | ty | 13:10 | |
13:11
AW3i left,
guru joined
13:12
guru is now known as Guest54406,
Guest54406 is now known as ajr_
13:14
treehug88 joined
13:15
treehug88 left,
treehug88 joined
|
|||
[Coke] | I love that Damian is trying to use junctions and we're telling him they don't work that way. | 13:18 | |
I feel that way whenever I try to use junctions for something. | 13:19 | ||
latest star build is worse: lots of "No STable at index 1" | 13:20 | ||
dalek | kudo-star-daily: b54ccf8 | coke++ | bin/star.sh: fix git submodule voodoo, timotimo++ |
13:24 | |
kudo-star-daily: 1608460 | coke++ | log/ (5 files): today (automated commit) |
|||
FROGGS | [Coke]: that feels like a broken build, like an outdated moarvm or some such | 13:25 | |
[Coke] | FROGGS: this is parrot. | 13:27 | |
FROGGS | ohh | ||
[Coke] | and yes, I don't get the most recent parrot. For parrot, I get whatever the version picked by star is. | ||
FROGGS | even weirder | ||
yeah | |||
[Coke] | I can switch the R* tester to use latest parrot, but we don't upgrade parrot often. | 13:29 | |
FROGGS | no, do not upgrade, that won't make it better | 13:30 | |
[Coke] | so, the two modules still failing are lwp-simple & jsonrpc | ||
And it's a fresh build. | |||
timotimo++ git magic. | |||
13:31
kaleem left
13:35
skids joined
13:36
skids left,
skids joined
13:47
rindolf joined
13:59
treehug88 left
14:05
thou joined
14:08
jnap joined
|
|||
hoelzro | morning #perl6! | 14:09 | |
tadzik | hey hey hoelzro! | 14:10 | |
hoelzro | o/ tadzik | 14:12 | |
FROGGS | hi | 14:21 | |
14:24
treehug88 joined
|
|||
hoelzro | ahoy FROGGS | 14:27 | |
FROGGS | :o) | 14:28 | |
14:30
sftp left
14:34
treehug88 left,
sftp joined
14:39
FROGGS left
14:40
isBEKaml joined
14:51
kaare_ left
14:59
treehug88 joined
15:01
FROGGS joined
15:02
raiph joined
15:06
stevan_ joined
15:07
aborazmeh joined
15:15
arnsholt left
15:16
stevan_ left,
hoverboard joined
|
|||
masak | arnsholt: "snake". I like :) | 15:17 | |
15:17
kivutar joined
15:22
stevan_ joined
15:27
lowpro30 joined
15:30
isBEKaml left
|
|||
pmurias | so are there plans to reactivate snake? | 15:32 | |
dalek | href="https://perl6.org:">perl6.org: 294e864 | raiph++ | source/community/index.html: Delete mention of wikis |
15:34 | |
15:37
Celelibi left,
virtualsue joined
15:38
Celelibi joined
15:48
xinming__ left,
aindilis left
15:49
xenoterracide joined
|
|||
raiph | pmichaud, #perl6ers: I see what look like dead repos in the perl6 account on gh (github.com/perl6/misc, 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:50 | |
15:51
jnap1 joined,
jnap left
16:01
stevan_ left
16:04
treehug88 left
|
|||
timotimo | seems like those are safe to delete | 16:07 | |
that digest module is parrot only, for example | 16:08 | ||
dalek | href="https://perl6.org:">perl6.org: e9b125c | raiph++ | source/community/index.html: Clean ups Updated planetsix link Removed link to problematic perl6.cz/wiki/Perl_6_and_Parrot_links Removed link to problematic curated videos page of (currently disabled) wiki.perl6.org Toned down marketese |
16:09 | |
16:13
stevan_ joined
|
|||
moritz | raiph++ | 16:15 | |
16:16
rurban1 joined
16:18
denis_boyun left,
dwarring left
16:20
arnsholt joined
16:24
gtodd joined
16:28
[Sno] left
|
|||
[Coke] | raiph++ | 16:35 | |
16:35
zakharyas left
|
|||
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:39 | |
timotimo | raiph: good work | 16:40 | |
16:46
ajr_ left,
hoverboard left,
cognominal left
16:47
cognominal joined
16:48
dwarring joined,
amoquin joined
|
|||
amoquin hops on for a few minutes | 16:48 | ||
16:49
amoquin is now known as Mouq
|
|||
timotimo | ohai Mouq | 16:49 | |
Mouq | o/ | ||
raiph++: Someone brought up that perl6.org doesn't actually explain what Perl 6 is to someone without prior knowledge | 16:50 | ||
*about Perl/Perl 6 | |||
timotimo | i brought that up, aye | 16:51 | |
or rather: a friend of mine did | |||
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"? | ||
oh | |||
i see. | |||
Mouq | timotimo: :9 | 16:54 | |
hoelzro .oO( Now I am become Perl 6, destroyer of worlds... ) | |||
timotimo takes on his multi-armed form | |||
i'd like to build a pass into the minor collection that merges equal MVMStrings together by bending the forwarding pointer | 16:59 | ||
Mouq doesn't know what bending a pointer is, but it sounds dangerous | 17:00 | ||
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» | ||
Mouq | m: say "abcd".encode.contents | 17:02 | |
camelia | rakudo-moar 934c48: OUTPUT«97 98 99 100» | ||
Mouq | I was thinking maybe there should be an easy way to look at Bufs/Blobs at different sizes | 17:03 | |
like Buf.new[3]:bits<4> is the 4th half-byte | 17:04 | ||
17:04
kivutar left
|
|||
Mouq | m: say Buf.new("abcd".encode[], :size<4>)[3] | 17:05 | |
camelia | rakudo-moar 934c48: OUTPUT«100» | ||
17:05
treehug88 joined
|
|||
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... | ||
timotimo | could that be size in bytes? | 17:06 | |
what's the [] there for, ooc? | |||
Mouq | timotimo: Listifying | 17:07 | |
m: say Buf.new("abcd".encode.list, :size<4>)[3] | |||
camelia | rakudo-moar 934c48: OUTPUT«100» | ||
Mouq | Nope | ||
timotimo | mhm | ||
Mouq | o/ #perl6 | ||
17:07
Mouq left
|
|||
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)» | ||
timotimo | m: say Buf.new("abcdefgh".encode.list, :size<1>).perl | ||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(97, 98, 99, 100, 101, 102, 103, 104)» | ||
timotimo | m: say Buf.new([1024, 2048, 4096], :size<1>).perl | 17:08 | |
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)» | ||
timotimo | m: say Buf.new([1024, 2048, 4096], :size<2>).perl | ||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)» | ||
timotimo | m: say Buf.new([1024, 2048, 4096], :size<4>).perl | ||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)» | ||
timotimo | hm. | ||
it's also strange to use <> there | |||
m: say Buf.new([1024, 2048, 4096], :size(4)).perl | |||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)» | ||
timotimo | m: say Buf.new([1024, 2048, 4096], :size(16)).perl | ||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(0, 0, 0)» | ||
timotimo | m: say Buf.new([1, 2, 3, 4, 5], :size(1)).perl | ||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(1, 2, 3, 4, 5)» | ||
timotimo | m: say Buf.new([1, 2, 3, 4, 5], :size(2)).perl | ||
camelia | rakudo-moar 934c48: OUTPUT«Buf.new(1, 2, 3, 4, 5)» | ||
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
17:11
hoverboard joined
17:12
stevan_ left
17:15
virtualsue left
17:17
jtsangaris joined
17:18
jtsangaris left
17:19
iolympian joined
17:20
kaare_ joined
|
|||
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 | |
suitable mostly for contributors. (perl6.org; camelia; -Ofun). | |||
17:23
AW3i joined
|
|||
dwarring | lue: from advent day 10... | 17:23 | |
r: my $name = 'fred'; my @msgs = (1..12); q:c'Hello, $name. You have { +@msgs } messages.' | 17:24 | ||
camelia | rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!===Unrecognized adverb: :c'Helloat /tmp/tmpfile:1------> = 'fred'; my @msgs = (1..12); q:c'Hello⏏, $name. You have { +@msgs } messages.'Couldn't find terminator ,at /tmp/tmp…» | 17:25 | |
..rakudo-parrot 934c48: OUTPUT«␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀[␀␀␀0␀␀␀m␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀…» | |||
timotimo | wow, yikes | ||
dwarring | r: q:c'hi there' | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileAlphanumeric character is not allowed as a delimiterat /tmp/tmpfile:1------> q:c'hi ⏏there' expecting any of: …» | ||
dwarring | r q:c"hi there" | ||
timotimo | r: say q:c 'hi there' | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«hi there» | ||
TimToady | remember that we allow apostrophes in identifiers | ||
dwarring | ...seems to be a problem with single quiote + adverb | 17:26 | |
timotimo | what TimToady said | ||
dwarring | ah | ||
timotimo | just an LTA error message | ||
(in the case of parrot, pretty significantly LTA) | |||
dwarring | ok, then the advent example needs tweaking | ||
will note it | |||
pmurias | raiph: what's wrong with camelia? | 17:30 | |
17:30
rurban1 left
|
|||
colomon | hmmm, how to get a directory from p6? | 17:33 | |
dir? | 17:34 | ||
pmurias | raiph: currently perl6 is -Ofun so marketing it as a time tested, solid "production" could create disappointment | ||
17:34
telex left,
dayangkun left
|
|||
PerlJam | colomon: you mean a list of files in a directory? That's dir() | 17:34 | |
colomon | PerlJam++ | 17:35 | |
colomon is still p6 hacking for $work | |||
17:36
telex joined,
grondilu joined
|
|||
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:36 | |
pmurias | maybe we need a more serious looking camelia variant ;) | 17:37 | |
timotimo | camelia is getting close to that age when teenagers start rebelling and putting on dark makeup and clothes ;) | 17:39 | |
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 | ||
vendethiel | r: my $a' = 5; say $a'; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> my $a⏏' = 5; say $a'; expecting any of: scoped declarator …» | ||
vendethiel | r: my $'a = 5; say $'a; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> my $⏏'a = 5; say $'a; expecting any of: scoped declarator …» | ||
17:40
fhelmberger left
|
|||
timotimo | apostrophe is only allowed in identifiers between alphabetical characters | 17:41 | |
just like the - | |||
vendethiel | r: my $a'b = 5; say $a'b; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5» | ||
vendethiel | timotimo++ | ||
I tried to do it using it as a "prime", haskell-style | |||
timotimo | heh. | ||
i thought you wanted to have an identifier named $a' =5; say $a' | |||
vendethiel | I can do that, though, right ? | 17:42 | |
$INNER::<a' =5; say $a'> = 5; | |||
or something like that | |||
timotimo | : | ||
:P | |||
r: ::<foo bar baz> = 5; | |||
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 | |
..rakudo-parrot 934c48: OUTPUT«Cannot modify an immutable value in method STORE at gen/parrot/CORE.setting:7029 in block at /tmp/tmpfile:1» | |||
..rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value in method STORE at gen/jvm/CORE.setting:7025 in block at /tmp/tmpfile:1» | |||
timotimo | oh, wait, that'd be a list | ||
vendethiel | oh yeah, it should be {''} | ||
timotimo | r: ::{'$foo bar baz'} = 5; | ||
camelia | rakudo-moar 934c48: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block at /tmp/tmpfile:1» | ||
..rakudo-parrot 934c48, rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value in block at /tmp/tmpfile:1» | |||
timotimo | r: MY::{'$foo bar baz'} = 5; | ||
camelia | rakudo-moar 934c48: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block at /tmp/tmpfile:1» | ||
..rakudo-parrot 934c48, rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value in block at /tmp/tmpfile:1» | |||
timotimo | hm. | ||
moritz | nah, you can't declare variables at run time | ||
timotimo | oh, of course not | 17:44 | |
FROGGS | r: $::{'$foo bar baz'} = 5; | ||
camelia | rakudo-moar 934c48: OUTPUT«===SORRY!===MVMArray: Index out of bounds» | ||
..rakudo-parrot 934c48: OUTPUT«===SORRY!===QRPA: index out of bounds» | |||
..rakudo-jvm 934c48: OUTPUT«===SORRY!===VMArray: Index out of bounds» | |||
FROGGS | at least it is nicely aligned :o) | ||
17:44
SamuraiJack left
|
|||
vendethiel | o// | 17:44 | |
but parrot's "index" is not capitalized | |||
timotimo | hahaha | ||
FROGGS | hehe | ||
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 | ||
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). | |||
timotimo | that's amazing. | ||
vendethiel | that triggers my not-actually-ocd. | 17:45 | |
but I still don't get the error :-) | |||
17:47
dayangkun joined
17:50
rurban1 joined
17:52
pmurias left
|
|||
colomon | what's the p6ism for shelling to a command? | 17:52 | |
(interested in the return value) | |||
system doesn't work. shell? | 17:53 | ||
FROGGS | qx? | ||
rurban1 | return string or exit value? qx gives the string | ||
FROGGS | shell and run give the exit status | ||
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 | ||
colomon | now I just need to figure out what the different possible values are... | ||
rurban1 | so far qx doesnt set $! | ||
I just gave up on that today | |||
FROGGS | yes, there is a run/shell/qx refactoring in the queue | 17:55 | |
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:56 | |
17:57
hoverboard left
|
|||
raiph | s/perlt/perl6/ | 17:57 | |
17:59
denis_boyun joined
18:02
aborazmeh left
18:03
virtualsue joined
18:04
aborazmeh joined
|
|||
colomon | and I would get more interesting results if the command I passed to shell had spaces in it. | 18:05 | |
\o/ | 18:07 | ||
is there documentation for shell somewhere? | 18:12 | ||
S29 | 18:15 | ||
ack for the win | |||
18:16
aborazmeh left
18:18
aborazmeh joined
18:20
[Sno] joined
|
|||
dalek | ast: 5fbf43c | (David Warring [email@hidden.address] | integration/advent2013-day10.t: adding advent 2013 day 10 |
18:23 | |
18:24
dwarring_ joined
18:25
dwarring left
|
|||
rindolf | Hi all. Where is the Perl 6 Advent Calendar article about Perl 6 piping (like ====> or <==== IIRC). | 18:34 | |
I cannot find it using Google or DuckDuckGo web searches | |||
timotimo | "feeds" is the word you're looking for | 18:35 | |
PerlJam | rindolf: and it's just ==> and <== | ||
raiph | Anyone know how can I delete or request deletion of github.com/perl6/misc et al? | ||
timotimo | yup | ||
rindolf | PerlJam: OK. | 18:36 | |
perl6advent.wordpress.com/2009/12/...r-of-eden/ - it seems to be here. | |||
PerlJam | rindolf: well, there's perl6advent.wordpress.com/2010/12/1...operators/ :-) | 18:37 | |
18:37
hoverboard joined
|
|||
rindolf | PerlJam: ah, I see, yes. | 18:38 | |
18:39
iolympian1 joined,
iolympian left
18:40
iolympian1 is now known as iolympian
|
|||
timotimo | .u full block | 18:40 | |
yoleaux | U+2588 FULL BLOCK [So] (█) | ||
18:44
AW3i left
|
|||
pmichaud | good afternoon, #perl6 | 18:45 | |
raiph: ping | |||
18:45
stevan__ left
|
|||
raiph | pmichaud: hi | 18:46 | |
18:46
AW3i joined
|
|||
pmichaud | just got your email about rakudo.org | 18:46 | |
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 | ||
pmichaud | looking | ||
nwc10 | good pm, Pm | 18:49 | |
pmichaud | I can delete the perl6/misc repo. | ||
colomon | o/ | 18:50 | |
pmichaud | perl6/misc is now gone | 18:51 | |
raiph: I can get you an account on rakudo.org | 18:52 | ||
18:54
kurahaupo joined
|
|||
pmichaud | raiph: account created, you should get email with details | 18:55 | |
and I updated the contact info on how-to-help | 18:56 | ||
rindolf | PerlJam: thing is I'm looking for something like that for Perl 5 on CPAN. | 18:57 | |
FROGGS | hi pmichaud | ||
18:59
aborazmeh left,
AWei joined
19:00
darutoko left
19:01
Rotwang1 joined,
aborazmeh joined
19:02
AW3i left
19:03
AWei is now known as AW3i
19:08
aborazmeh left
19:10
aborazmeh joined
19:15
aborazmeh left
19:16
aborazmeh joined
19:34
perigrin left,
perigrin joined,
aborazmeh left
19:36
aborazmeh joined
19:41
aborazmeh left,
perlfan joined,
Geo_ joined
|
|||
Geo_ | twigils.com | 19:42 | |
19:42
Geo_ left
|
|||
perlfan | just ignore that guy | 19:43 | |
he's a php developer | |||
19:44
virtualsue left
|
|||
rurban1 | :) | 19:46 | |
vendethiel | perlfan: I'd say "just ignore that guy, he's as good at constructed criticism as a 5 years old" | 19:49 | |
19:49
perlfan left
19:54
aborazmeh joined
19:59
AW3i left
20:09
jnap1 left
|
|||
timotimo | i've never seen such a good display of why perl is not a good language | 20:11 | |
20:11
jnap joined
|
|||
rurban1 | LICENSE question. jnthn's 6model files are copyright The Perl Foundation, right? | 20:11 | |
20:14
Juerd left
20:15
Juerd joined
|
|||
FROGGS | nqp is AL2.0, and that should apply to 6model as well, no? | 20:18 | |
pmichaud | iirc, 6model was developed under a TPF grant, so yes, the work is copyright by TPF | 20:20 | |
20:22
dayangkun left
20:23
dayangkun joined
20:28
myfree joined,
aborazmeh left
20:30
aborazmeh joined
|
|||
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:30 | |
I don't think it would be a very big change in the grammar either. | 20:31 | ||
moritz | in some sense therE's already a perl dialect without sigils: ruby | 20:33 | |
but you have to ask yourself if the result is stil perl | |||
huf | does it have contexts? | ||
moritz | also, it's not just a matter of grammar | 20:34 | |
sigils form micro namespaces, so if you abolish them, you need some other mechanism for disambiguating constructs | |||
grondilu | I'm not talking about abolishing them. | 20:35 | |
moritz | keywords vs. terms vs. type names vs. variables vs. subs | ||
20:35
kaare_ left
|
|||
grondilu | couldn't it be some kind of "zero-length" sigil? | 20:35 | |
I mean, a sigiless symbol that would not be a sub would be a sigiless variable. | 20:36 | ||
and it would be declared by an initialization 'x = foo' as in other languages. | 20:37 | ||
without "my" | |||
20:38
aborazmeh left
|
|||
huf | you want to support that bug too? | 20:38 | |
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 | |
s/defined/implemented/ | |||
moritz | no variables without declarations | ||
(unless in "no strict" mode) | |||
it makes scoping very unclear | |||
20:40
aborazmeh joined
|
|||
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. | ||
huf | all assgnment is declaration | ||
grondilu | and yes, an assignement to a previously unseen symbol could stand as a declaration. | 20:41 | |
That's what other languages do. | |||
moritz | and all languages that do it regret it eventually | 20:42 | |
vendethiel | grondilu: I don't believe it, people will always hate | ||
I can understand why people are frustrated if they have to use PHP /troll | |||
moritz | all serious js guides recommend against doing it, because it creates global variables that contaminate the global namespace | 20:43 | |
segomos | moritz++ | ||
vendethiel | Definitely agree with moritz. | ||
PerlJam | indeed. | ||
vendethiel | `my`-less variable creation is the death of lexical scoping | ||
moritz | and the implicit scoping is one of the most serious points of criticisms against python | 20:44 | |
vendethiel | ^ | ||
PerlJam | and ruby | ||
moritz | I'm slowly collecting a list of language features that, over time, have proven to work much better than the alternatives | ||
PerlJam | moritz: isn't that collection called Perl 6 ;) | 20:45 | |
FROGGS | hehe | ||
moritz | among them are the closure cloning model used in perl, js, and lots of other dynamic languages, C3 MRO, and explicit variable declarations | ||
vendethiel | hahaha | ||
20:46
myfree left
|
|||
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!) | ||
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 | |
20:47
kurahaupo_mobile joined
|
|||
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}" } # :-) | ||
vendethiel | grondilu: have you read 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 | ||
) | |||
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 | |
20:51
kurahaupo left
|
|||
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 | ||
vendethiel | moritz: it lists differences | ||
moritz | aye | 20:52 | |
raiph | segomos: presumably you're OK with things like (sigil-less) constants and Enums? what about SSAs/terms? | 20:53 | |
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:55 | |
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:56 | |
20:56
kurahaupo_mobile left
|
|||
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 | |
20:57
dag joined
|
|||
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:57 | |
20:58
vendethiel left,
vendethiel joined
|
|||
dag | moritz: I believe sigils are pretty close to the top of the list of *perceived* problems with Perl | 20:59 | |
20:59
lowpro30_ joined
|
|||
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". | ||
PerlJam | perhaps because oof sigil variance in P5 | ||
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". | ||
itz__ | if you don't like sigils don't use perl | 21:01 | |
surely its one of the things which makes perl be perl | |||
grondilu | dag: yes, writing math expressions in perl is annoying. | ||
dag | itz__: Very constructive... | ||
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 | |
21:02
lowpro30 left
|
|||
dag | grondilu: Yes! However otherwise I'm fine with it, I guess. | 21:02 | |
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:03 | |
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. | ||
segomos | nwc10: i struggled with it years ago too, i'm glad it's there now | ||
lue | r: my \foo = "If you really want sigilless..."; say foo; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«If you really want sigilless...» | ||
dag | grondilu: We seem to have some things in common :-) | 21:05 | |
21:05
vendethiel left,
LLamaRider joined
|
|||
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? | ||
grondilu | dag: they are then read-only. | ||
21:06
Rotwang1 left
|
|||
dag | grondilu: Oh. Bummer :-/ | 21:06 | |
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. | ||
grondilu | basically whenever you assign a previously unseen symbol, that would mean 'my \' | ||
21:07
vendethiel joined
|
|||
lue | r: my $foo = "A"; my \bar = "B"; say $foo.VAR.WHAT; say bar.VAR.WHAT | 21:07 | |
21:08
skids left
|
|||
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" ? | ||
lue | both, I'd guess | ||
dag | moritz: ^^ instead of "my \var" | ||
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 | ||
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. | ||
dag | moritz: Uha, no, please don't allow that! | ||
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) | ||
moritz | grondilu: I don't want to a fucked-up perl to be popular. PHP already exists. | 21:10 | |
21:10
colomon left
|
|||
retupmoca | personally, implicit declaration on first assignment would drive me away from the language | 21:10 | |
moritz | s/to// | ||
segomos | retupmoca++ | ||
dag | lue: I think that would be a real shame, since mathematical expressions in Perl are *ugly* and *hard to read* as it stands. | ||
moritz | there must be bounds to adopting other languages mistakes | ||
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. | ||
segomos | and it's a pita to read | ||
moritz | and guess what, all good tutorials start with 'use strict;' | ||
dag | lue: Yes, I have caught earlier that "my \var" can be used, but now I hear that such variables are read-only? | ||
retupmoca | grondilu: Indeed it is. I write perl 5 code for $work, and use strict everywhere | 21:12 | |
the old stuff that isn't strict is a PITA to work with | |||
grondilu | even for one-liners? | ||
lue | dag: I imagine assigning a Scalar (or some other mutable) to it would make it mutable. | ||
timotimo | you can still := a \var, can't you? | ||
segomos | i wouldn't rewrite that piece just to accomodate one liners | ||
lue | r: my \foo = 42; say foo; foo := 21; say foo; | 21:13 | |
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileCannot use bind operator with this left-hand sideat /tmp/tmpfile:1------> my \foo = 42; say foo; foo := 21⏏; say foo;…» | ||
retupmoca | grondilu: Yes, even for one-liners. I may skip the actual 'use strict', but I still explicitly declare everything with my | ||
lue | timotimo: guess not. | ||
segomos | r: my $a = 5; my \foo = $a; foo.say; $a = 6; foo.say; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«56» | ||
timotimo | interesting | ||
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 | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTerm definition requires an initializerat /tmp/tmpfile:1------> my \foo ⏏is Scalar = 5; foo.say; # curious expect…» | ||
timotimo | so, what exactly is the problem with math in Perl 6 now? | ||
dag | lue: How about you guys make your example above work in Perl 6? ;-) | ||
grondilu | The example I have in mind is Runge-Kutta. | ||
moritz | grondilu: but the pain comes from the sigils, not from the need for declaration. Right? | ||
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 | ||
ge | |||
21:15
vendethiel left
|
|||
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; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«56» | ||
segomos | works just fine | ||
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 :) | ||
dag | segomos: But is a workaround aka a hack. | ||
moritz | dag: yes, we agree violently on this point :-) | 21:16 | |
pmichaud | maybeweshouldhavealanguagethatdoesntuseanypunctuationorwhitespace | ||
dag | moritz: :-) | ||
segomos | r: my $a = 5; my \foo = $a; foo.say; foo = 6; foo.say; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«56» | ||
grondilu | moritz: yes, the pain came from the sigils. | ||
segomos | also works fine | ||
lue | pmichaudiguesswecangetridofsigspaceinregexesnowhuh | 21:17 | |
segomos | lueyespleasesoitistotallyambiguous | ||
moritz | grondilu: then don't hurt your argument by also doing a senseless ralley against declarations at the same time | ||
grondilu | I don't do any such thing. | ||
lue | I personally love that I can just do my $new without ever worrying that I accidentally a reserved name. | ||
pmichaud | r: my \foo = my $foo = 5; foo.say | 21:18 | |
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5» | ||
segomos | r: my $a = 5; my \foo = $a; foo.say; foo = 6; foo.say; foo = 7; foo.say; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«567» | ||
segomos | works on moar too | ||
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" ? | ||
pmichaud | an interesting syntax might be: my \$foo = 5; which declares both $foo and "foo" | ||
21:18
colomon joined
|
|||
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 \' | ||
pmichaud | it doesn't declare a scalar variable | ||
grondilu | lue: I meant, a previously sigiless symbol | ||
dag | pmichaud: OK, so how about changing the meaning of it? ;-) | ||
timotimo | my \var = Scalar.new... :P | ||
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 | ||
r: my \foo = Scalar.new; foo = 5; foo.say; | |||
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» | ||
..rakudo-parrot 934c48: OUTPUT«(signal SEGV)» | |||
..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» | |||
timotimo | i know :) | ||
lue | grondilu: segomos' reply would indicate you worded that poorly. It plainly meant ... implicit_dec = 42; ... by my (and probably most others') interpretation. | ||
segomos | r: my \foo = (my $a); foo = 5; foo.say; | ||
grondilu | if the point of sigil-less less is to spare some typing, I would like to spare typing 'my \' as well. | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5» | ||
dag | pmichaud: Ok. So could simply "my var" be made to work out? | ||
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
aborazmeh left
|
|||
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 | ||
pmichaud | std: my \$var = 5; # curious to see what std says | 21:22 | |
camelia | std 09dda5b: OUTPUT«===SORRY!===Malformed my at /tmp/diO1Q4I5J6 line 1:------> my ⏏\$var = 5; # curious to see what std s expecting any of: name scoped declarator statement end statement listParse failedFAILED 00…» | ||
21:22
Rotwang1 joined,
vendethiel joined
|
|||
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 | |
dag: so my \var = 5; var = 8; can only work out of you overthrow that rule | |||
dag: and find something else which implies no context | |||
certainly thinkable | 21:23 | ||
my |var = 5; # maybe | |||
dag | moritz: OK. So, how about allowing "my $var = 5; var = 6" ? | ||
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 :) | ||
grondilu | *previously unseen | ||
timotimo | { use MathematicalLanguage; a = b + c; } | ||
grondilu | well, yes indeed. I had not realized that. | 21:25 | |
segomos | dag you can already reasonably do that | ||
dag | moritz: Or "my_no_sigil var = 5" ;-) | ||
segomos | r: my \foo = (my $a); foo = 5; foo.say; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«5» | ||
pmichaud | r: my \var = $(5); # also curious | ||
camelia | ( no output ) | ||
21:25
aborazmeh joined
|
|||
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» | ||
..rakudo-parrot 934c48, rakudo-jvm 934c48: OUTPUT«Cannot modify an immutable value in block at /tmp/tmpfile:1» | |||
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
lowpro30_ left
|
|||
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
thilp left
|
|||
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. | ||
itz__ | if you don't want sigils write a DSL in perl6 without them | ||
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:<\> ? | ||
pmichaud | grondilu: that feels like going completely the wrong way, fwiw. | ||
dag | grondilu: Please don't! | ||
lue | grondilu: yeah, I'm with pmichaud, that feels like the inverse of what would be OK. | ||
moritz | lue: who says \var isn't designed for sigilless? | ||
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 | ||
TimToady | nothing in Perl 6 is there for only one reason | ||
pmichaud | afaict, \var in perl6 serves much the same purpose as &var in C++ | ||
segomos | dag: true, but it's still a hacky request | ||
pmichaud | i.e., it's a reference | ||
moritz | dag: for example scalars never flatten in list context | ||
TimToady | it's a temporary constant | 21:29 | |
dag | segomos: Maths is a hack? ;-) | ||
moritz | dag: so you know that for $foo { } will always be one iteration, regardless of what $foo contains | ||
pmichaud | I better re-read spec before commenting any further. | ||
moritz | dag: and you know that for @foo { } will always iterate over the elements of @foo | ||
segomos | dag: saying Math is p vague | ||
moritz | dag: but if you say for sigiilles { } you have no idea if it'll flatten that list on iteration, or not | 21:30 | |
21:30
aborazmeh left
|
|||
moritz | and even if sigillest.^name says List, it could still be inside a scalar container, and not flatten | 21:30 | |
grondilu | r: my \a = <foo bar>; for a { .say } | 21:31 | |
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«foobar» | ||
grondilu | rakudo knows what to do here. | ||
dag | grondilu: He he. | ||
lue | moritz wasn't talking about rakudo, but the reading programmer, I think. | ||
segomos | r: my \a = (my $b); a = <a b>; for a { .say} ; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«a b» | ||
21:32
thilp joined
|
|||
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 ba b» | ||
grondilu | lue: nobody denies that sigil variables are easier to read and interpret. But some programmers like sigil-less variables anyway. | ||
just let them have their crap | |||
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. | ||
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 | ||
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 | ||
pmichaud | grondilu: there's not just one market, either. | ||
TimToady | *to be | ||
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 | ||
TimToady | same for Craigslist | ||
grondilu | pmichaud: so you're answer to Perl's lack of popularity is that it just does not matter or something? | ||
s/you're/your/ | 21:35 | ||
pmichaud | grondilu: from where I sit, Perl still looks reasonably popular. | ||
lue | grondilu: it's that sigils are ultimately not the One True Issue™. | ||
pmichaud | also, I doubt that taking sigils out of Perl will suddenly make it "popular". :) | ||
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 | ||
lue wants semicolon-less line terminators now! | |||
rurban1 | for the novice programmer | ||
moritz | grondilu: as a data point of "the market", Go, the new hawtness, uses := for declaration-on-first-use | ||
so little typing, but still explicit | |||
jnthn home :) | |||
dag | TimToady: Perhaps you can come up with a clean syntax for segomos' hack: "my \a = (my $b); a = 5;" ? ;-) | ||
pmichaud | lue: You can have semicolon-less line terminators now in p6. | ||
grondilu | moritz: I'd be satisfied with that. | ||
segomos | dag: it's not possible to do reliably for the example i had above | 21:37 | |
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 | |||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«a ba b» | ||
lue | pmichaud: o_o or should I have said "statement terminators"? | ||
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 | ||
segomos | perl6 on eclipse would make all the girls scream | ||
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 | ||
dag | TimToady: Ok. So no writable sigilless variables for mathematical expressions on the horizon? | ||
lue | Microsoft VP6 2015 Express | ||
TimToady | dag: the perception that those are varables is usually false | 21:39 | |
segomos | dag: what kind of math are you doing | ||
TimToady | usually they're rebound every time through the loop | ||
rurban1 | I'm working on 6model (MMD) in parrot now. I guess we could add some more ops for that. | ||
lue afk | |||
rurban1 | sort_signatures also needs to be cached in multi_dispatch | ||
segomos | r: my @data = <1 2 3>; for \a (@data) { a.say; } | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: a used at line 1» | ||
dag | segomos: It doesn't have to be more than basic arithmetic expressions before my eyes begin to hurt from all the dollar signs. | ||
segomos | r: my @data = <1 2 3>; for my \a (@data) { a.say; } | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTerm definition requires an initializerat /tmp/tmpfile:1------> my @data = <1 2 3>; for my \a ⏏(@data) { a.say; } …» | 21:40 | |
itz__ | dag: just write a DSL | ||
pmichaud | fwiw, I think that anyone that says "just write a DSL" needs to have first written a DSL. | ||
:-) | |||
dag | pmichaud: :-D | ||
FROGGS | r: my @data = <1 2 3>; for @data -> \a { a.say; | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse expression in block; couldn't find final '}' at /tmp/tmpfile:1------> data = <1 2 3>; for @data -> \a { a.say;⏏[…» | ||
FROGGS | r: my @data = <1 2 3>; for @data -> \a { a.say } | ||
camelia | rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«123» | ||
TimToady | does that mean I can say it? | ||
segomos | FROGGS: there we go | ||
FROGGS | segomos: we are in #perl6, you know :o) | 21:41 | |
segomos | yea i forgot lol | ||
let's change that -> to => | |||
pmichaud | TimToady: yes, you can say it. Although the languages you come up with seem to not be so DS. | ||
although they do apparently miss "the mark(et)" :-) :-) | |||
segomos | pmichaud: nice | 21:42 | |
TimToady | is this another one of those Everyone's A Language Designer days? :) | ||
21:42
kbaker left,
aborazmeh joined
|
|||
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 | ||
dag | TimToady: He he, sorry about that. But who knows, perhaps some day you'll really want sigilless variables in a Rosetta Code program ;-) | ||
FROGGS | dag: there are already examples that way | 21:44 | |
21:44
aborazmeh left
|
|||
pmichaud | actually, I think that Rosetta Code is one of the reasons TimToady introduced the current \ syntax :) | 21:44 | |
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 ? | ||
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. | ||
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 ;-) | ||
TimToady | then the $var instances stand out even more as non-FP warts :) | ||
pmichaud | dag: I think you're in the wrong universe for that. | ||
FROGGS | segomos: mostly because the META.info misses the "provides" section | ||
dag | TimToady: Understood. | ||
pmichaud | I mean, asking TimToady to drop sigils is like asking Guido to make whitespace insignificant. | ||
segomos | FROGGS: thank you | 21:47 | |
dag | pmichaud: No no no, I'm not asking anyone to drop sigils! | ||
rurban1 | I thought TimToady was pro js | ||
segomos | js is p dope | ||
pmichaud | dag: okay, sigilless vars, then. | ||
dag | pmichaud: I just think it would be nice to allow skipping them on occation. As TimToady already does :-) | ||
pmichaud | dag: you want to skip them on MORE occasions. :) | 21:48 | |
dag | TimToady: I guess I'll just have to think more FP :) | ||
pmichaud | dag: I'm not saying you're wrong for wanting that... just that it introduces other issues. (more) | 21:49 | |
for anyone that really wants sigiless, branch a copy of Rakudo and see what happens when you introduce them. | |||
I think you'll quickly find the parsing conflicts that lead to where things are now. | |||
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 | |
*tough | |||
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! | ||
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 | ||
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. | ||
TimToady | not unless there's some important reason like future extensibility on the line | ||
dag gives all Perl 6 people a pat on the back | |||
dag goes to bed | 21:53 | ||
TimToady | o/ | ||
21:53
dag left
|
|||
segomos | fixing my CSV::Parser for p6 to handle binary ops | 21:54 | |
oops | |||
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 | ||
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
|
|||
itz__ | what about line numbers in perl6? | 22:01 | |
:) | |||
FROGGS | itz_: what about line numbers? | 22:02 | |
lue | what about $?LINE ? | ||
pmichaud | itz__: line numbers are no problem, you just use the special #`(20) circumtwigils | ||
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 WORLDThis is line 20» | ||
FROGGS hopes that itz__ is not proposing `goto 20` | |||
pmichaud | although at some point the L10: syntax will work | ||
std: L10: print "HELLO WORLD\n"; goto L10 | 22:04 | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 122m» | ||
FROGGS | m: L10: print "HELLO WORLD\n"; goto L10 | ||
camelia | rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/Qvl99GcYgZUndeclared name: L10 used at line 1Undeclared routine: goto used at line 1» | ||
FROGGS | m: L10: print "HELLO WORLD\n"; | ||
pmichaud | p6: L10: print "HELLO WORLD\n"; goto L10 | ||
camelia | rakudo-moar 934c48: OUTPUT«HELLO WORLD» | ||
rakudo-parrot 934c48, rakudo-jvm 934c48, rakudo-moar 934c48: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared name: L10 used at line 1Undeclared routine: goto used at line 1» | |||
..niecza v24-109-g48a8de3: OUTPUT«(timeout)HELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELL…» | |||
pmichaud | ta-daa! niecza FTW | 22:05 | |
lue | pmichaud: is L10: special from any other kind of label? | ||
FROGGS | pmichaud: there is a branch that makes labels work for nqp loops | ||
pmichaud | lue: technically no. Although I can argue that "L" is the line number sigil. :-P | ||
FROGGS | lue: it is just a label | ||
hehe | |||
lue imagines that the L10: label could conceivably change the meaning of $?LINE ... | |||
FROGGS | >.< | 22:06 | |
tadzik | interesting discussion back in the backlog | ||
pmichaud | I'm afk, robotics meeting | ||
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. | ||
tadzik | I don't mind occasional low-tier trolling if it provokes a good discussion with good people afterwards | 22:08 | |
tadzik has a new guitar :) | 22:10 | ||
for a test run anyway | |||
22:11
LLamaRider left
22:17
treehug88 left
22:19
kivutar joined
22:20
LLamaRider joined
22:21
msi joined,
msi left
22:28
LLamaRider left
|
|||
timotimo | is it already nearing release day again? o_O | 22:31 | |
tadzik | oh, is it? :) | 22:33 | |
sounds like a job for release-man | |||
yep, thursday :) | |||
timotimo | it's you, isn't it? | ||
rurban1 | It's Util today. Already on its way | 22:35 | |
oops, wrong channel | |||
22:35
skids joined
|
|||
timotimo | that's fine, too :) | 22:37 | |
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 | ||
the 5th step is rendered as being all one line | |||
anything else that desparately needs to go into nqp, rakudo or moarvm before the release the day after tomorrow? :P | 22:44 | ||
22:48
Rotwang1 left
22:55
rindolf left
22:57
BenGoldberg joined
23:03
pecastro left
23:08
airdisa joined
|
|||
retupmoca | timotimo: Like so? github.com/MoarVM/MoarVM/pull/83 | 23:08 | |
(for release_guide.md) | 23:09 | ||
timotimo | that looks just like what i tried | ||
but it does work | |||
thanks | |||
23:09
pecastro joined
|
|||
retupmoca | I had to add an extra space to make it go into code-display mode for some reason | 23:10 | |
timotimo | yeah | ||
i tried more and less spaces and also using > at the beginning | |||
seems like i just didn't hit the right amount of spaces ;) | |||
23:10
Psyche^ left
23:11
Psyche^ joined
|
|||
segomos | is there some doc somewhere that explains what i should have in META.info for panda | 23:18 | |
23:18
kurahaupo joined
|
|||
timotimo | 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. | ||
timotimo | (got that link from "please read this guide" on modules.perl6.org) | ||
but for now i'm going to bed | |||
lue | ♞ timotimo o/ | ||
segomos | thanks guys | ||
23:26
grondilu left
23:32
stevan_ joined
23:33
stevan_ left,
stevan_ joined
23:39
dmol left
|
|||
raiph | segomos: we'll need to recover that page properly but for now: web.archive.org/web/20130927134706...%20Modules | 23:59 |