»ö« 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:06 pecastro joined 00:08 xragnar_ joined, xragnar_ is now known as xragnar 00:11 pecastro left 00:16 rurban joined 00:21 rurban left 00:40 bjz joined 00:44 bjz left 00:48 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 00:52 telex joined 01:01 treehug88 joined 01:02 treehug88 left, treehug88 joined, treehug88 left 01:03 treehug88 joined 01:04 jnap left 01:07 SevenWolf left
colomon do we have a built-in mv command? 01:08
guess IO::Path.copy is enough for my purposes 01:12
01:12 hoverboard joined 01:15 bjz joined 01:27 sorear left, quillen joined 01:28 quillen left 01:30 sorear joined 01:32 FROGGS_ joined 01:33 Sqirrel_ joined 01:37 raiph left 01:39 Su-Shee joined 01:40 Pleiades` left 01:42 Su-Shee_ left 01:45 Pleiades` joined 01:50 SamuraiJack joined 01:53 klapperl joined, aindilis joined 02:02 hoverboard left 02:22 sorear left 02:23 sorear joined 02:27 rindolf joined 02:40 ssutch joined 02:41 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:44 ssutch left 02:45 hugme left 02:52 mtj joined, dj_goku joined, hugme joined, ChanServ sets mode: +v hugme 02:54 Ben_Goldberg joined 02:55 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:56 Pleiades` left 03:01 Pleiades` joined, eternaleye joined 03:22 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:26 hoverboard joined 03:35 BenGoldberg left 03:36 SevenWolf joined, panchiniak left 03:38 time_decay joined 03:41 ssutch joined 03:42 time_decay left 03:43 panchiniak joined 03:45 ssutch left 03:46 hugme left, vendethiel left, ponbiki left, jercos joined, vendethiel joined, huf joined, salv0 joined 03:47 hugme joined, ChanServ sets mode: +v hugme 03:50 SamuraiJack left 03:51 ponbiki joined, ponbiki is now known as Guest65099 03:52 JimmyZ joined 03:59 JimmyZ_ left 04:09 panchiniak left
lue What if grammars had a way to throw an exception when it can't match anything? Grammar::Tracer is nice, but it takes significantly longer to get to the failure when you're printing a bunch of stuff :) . 04:31
Something like "Grammar failed on line XXX of input text in 'token foobar'", perhaps? 04:32
(activated via something like Grammar.parse($text, :throw), because sometimes you don't want to kill Perl 6 on a failed grammar parse) 04:33
04:38 rurban joined 04:42 ssutch joined 04:46 ssutch left 05:05 kaare_ joined
Woodi morning :) 05:07
what if someone says that Parrot needs a rewrite ? 05:08
Woodi hide
05:13 rurban left 05:26 rindolf left, rindolf joined 05:35 xinming_ joined 05:42 ssutch joined 05:47 ssutch left 05:53 FROGGS_ left 06:00 kurahaupo joined 06:10 hoverboard left 06:18 anaeem1_ joined 06:28 anaeem1_ left 06:32 darutoko joined
Woodi b. but maybe Parrot needs some purpose ? 06:38
06:43 ssutch joined 06:47 ssutch left
moritz Woodi: parrot has a rewrite, in some sense. It's called MoarVM 07:03
Woodi yes, in some sense. but noone like to throw away code. is pir fast or slow ? 07:10
07:16 zacts joined
moritz parsing pir is slower than not parsing pir 07:17
no idea if that answers your question
Woodi is parsing pir slower then parsing moar's bytecode ? 07:21
anyway, Perl6 started with proper design documentation and was planned as one, perfect development process so realy throwable prototype could be expected ;) 07:24
lizmat good * #perl6! 07:26
Woodi: Files=826, Tests=30666, 418 wallclock secs ( 9.69 usr 4.00 sys + 2894.69 cusr 279.42 csys = 3187.80 CPU) # parrot spectest
Files=880, Tests=31557, 201 wallclock secs ( 8.06 usr 3.81 sys + 1264.58 cusr 154.59 csys = 1431.04 CPU) # moar spectest
Woodi so moar beat parrot 07:27
lizmat Moar: 3% more spectests, less than half of the CPU and wallclock
I rest my case :-)
07:28 treehug88 left 07:30 Rotwang joined, Rotwang left, Rotwang joined
lizmat or maybe not: 07:30
parrot core settings:
07:30 efg joined
lizmat $ wc -l gen/parrot/CORE.setting 07:31
19068 gen/parrot/CORE.setting
Stage parse : 119.552
moar core settings:
$ wc -l src/gen/m-CORE.setting
21169 src/gen/m-CORE.setting
Stage parse : 41.103 07:32
Woodi I am realy interested in *story* what goes wrong... maybe some presentation done by someone. or just presentation-size material of what's happened. not necesarry names, just open-source-Ofun process :) for future generations !
lizmat: you are kicking Parrot now... 07:33
lizmat perhaps, but you asked for it :-)
Woodi probably :)
lizmat but seriously, I wanted to show how much *better* Moar is now, not how much worse Parrot is
and without Pugs, Parrot, Niecza, we wouldn't be where we are now 07:34
Woodi lizmat: it all screems: stoooory ! at least for me :) 07:35
lizmat if we're not standing on the shoulders of giants, we've been given at least a goal to reach and overtake
sorry, but I'm the wrong person to ask, since I wasn't really part of the Perl 6 development process until about 2 years ago
(apart from being talked into writing a spec circa 2005 :-) 07:36
Woodi Perl6 spec design and evolution is probably a topic too :) 07:37
lizmat once Perl 6 is a viral success, I have no doubt that there will be a writer who will write a "The Soul Of A New Machine" about Perl 6 07:39
en.wikipedia.org/wiki/The_Soul_of_a_New_Machine 07:40
07:40 spider-mario joined
lizmat TimToady: seems like S28:142 and S02:3118 are in conflict 07:42
synopsebot Link: perlcabal.org/syn/S28.html#line_142
lizmat S02:3118 # synapsebot not looking far enough
synopsebot Link: perlcabal.org/syn/S02.html#line_3118
07:43 jack_rabbit joined 07:44 ssutch joined
lizmat S02 assumes a postcircumfix access to *$VM, whereas S28 assumes a pure method based access 07:44
also, to simplify matching, I've implemented lowercase names only 07:45
otherwise it is too easy to miss windows :-)
( was it MSwin32 or MSWin32 or msWin32 ? 07:46
)
Woodi btw. R* 201405 is postponed ? at least no announcement on frontpage
lizmat: why *$[VM|KERNEL] naming ? it's a bit Linux specific... 07:47
lizmat Woodi: wrt $*, I'm not sure 07:48
07:48 ssutch left
lizmat r: say $*VM.name 07:48
camelia rakudo-moar b91eeb: OUTPUT«moar␤» 07:49
..rakudo-jvm b91eeb: OUTPUT«jvm␤»
..rakudo-parrot b91eeb: OUTPUT«parrot␤»
07:49 jack_rabbit left
Woodi what wrong with O(perating)S(ystem) ? 07:49
lizmat VM is the name of the Rakudo backend
perhaps $*BACKEND would have been a better name in retrospect
in light of VM becoming more generally used in different contexts 07:50
xfix std: my $var = "concat"; say "string".$var; # Intentionally wrong
camelia std ec3d853: OUTPUT«ok 00:01 124m␤»
xfix std: my $var = "concat"; say "string" . $var; # Intentionally wrong
camelia std ec3d853: OUTPUT«===SORRY!===␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/fbVw_ekJkM line 1:␤------> my $var = "concat"; say "string" . ⏏$var; # Intentionally wrong␤Parse failed␤FAILED 00:01 125m␤»
07:54 Siva_ joined
lizmat xfix: you are aware of this syntax ? 07:55
m: my $a = "uc"; say "Foo"."$a"()
camelia rakudo-moar b91eeb: OUTPUT«FOO␤»
xfix I'm.
lizmat ok, just checking
not sure why STD accepts "Foo".$a
xfix For consistency, possibly. 07:56
07:56 Siva_ left 08:01 jack_rabbit joined 08:02 denis_boyun_ joined
dalek ecs: 5fb62b7 | (Elizabeth Mattijsen)++ | S28-special-names.pod:
Spec $?PERL/$*PERL.(VMnames|DISTROnames)
08:07
08:12 thou left 08:13 virtualsue joined
dalek kudo/nom: 08ff7e1 | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
Implement Perl.DISTROnames
08:13
ast: a63ee74 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
Only doing DISTRO checks in here
08:19
08:19 denis_boyun_ left
dalek kudo/nom: 50bd5cb | (Elizabeth Mattijsen)++ | t/spectest.data:
Follow S02-magicals/config.t -> DISTRO.t renaming
08:20
08:22 jack_rabbit left 08:26 denis_boyun_ joined 08:32 kivutar joined
xfix rn: gist.github.com/xfix/49193dd30607780d0442 08:37
camelia rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«gist not found»
xfix Oh, right.
rn: multi infix:<+>(2, 2) { return 5; }; say (1 + 1) + (1 + 1); say 1 + 1 + 1 + 1;
camelia rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«5␤4␤»
08:41 kaare_ left
xfix rn: multi infix:<+>(2, 2) { return 5; }; say (1 + 1.0) + (1 + 1); 08:43
camelia rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«4␤»
xfix So, 2.0 is not 2, is it correct? 08:44
08:45 ssutch joined 08:49 ssutch left
moritz aye 08:53
09:03 zacts left 09:24 pippo_ joined
xfix rule ws { \h* } 09:26
Why I did that...
dalek kudo/nom: 990c0c4 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
Set up Distro.auth for macosx
09:31
pippo_ good morning #perl6 09:38
masak good antenoon, #perl6
pippo_ :-)
lizmat pippo_ masak moritz xfix o/
xfix Hi. 09:39
09:39 aindilis` joined
xfix I'm now reading NQP Internals workshop materials. 09:39
(and implementing IRC parser)
lizmat xfix++
09:40 JimmyZ_ joined, felher_ joined
xfix Errors are confusing, but I guess this is what happens when you work on NQP level. I assume that 'Cannot iterate object with P6opaque representation' means that the object cannot be iterated, but what is P6 here? I'm working with NQP, not Perl 6. 09:43
09:44 JimmyZ left, aindilis left, go|dfish left, Alina-malina left, Alina-malina joined
xfix I'm not sure why it complains either way. I assume I do a really simple mistake, but I cannot see it. 09:45
gist.github.com/xfix/d224c616ca6eeb720d31
(I didn't knew GitHub supports NQP...)
pippo_ lizmat: O/
09:46 ssutch joined, go|dfish joined
lizmat xfix: I can only conclude that $parsed-log<line> is a P6Opaque ? 09:48
09:49 thou joined, kurahaupo left
xfix I see, the parse fails. 09:50
09:50 bnebheni joined
xfix Because of \h+ ws rule. 09:50
09:50 ssutch left, bnebheni left
xfix I expected exception of sorts, but whatever. 09:51
09:52 pippo_ left
masak in general, you have to be prepared both for an undefined result *and* for an exception from .parse 09:52
there isn't really any system to it.
09:53 pippo__ joined
xfix Sounds fun. 09:53
lizmat is trying to figure out how to create an empty Blob
note: empty, not undefined ;-)
09:53 thou left
lizmat m: Blob.new.say 09:54
camelia rakudo-moar 50bd5c: OUTPUT«Buf:0x<>␤»
lizmat guess that works :-)
masak done! :)
09:56 pippo__ is now known as pippo 09:59 pippo left, pippo joined 10:01 SevenWolf left
xfix gist.github.com/xfix/64e18ba37d685e7f8c90 10:04
That looks quite nice already.
lizmat xfix++ (again) :-) 10:05
xfix "postcircumfix:<{ }> not defined for type Array" 10:06
Perl 6 complains however. I wonder if there is some small difference between NQP and Perl 6.
In grammar handling.
It complains about `my $time := ~$line<time>;`. 10:08
(why I don't get backtrace either way)
lizmat perhaps run with --ll-exception
xfix Thanks.
Well, --ll-exception gives me just MoarVM files. 10:09
lizmat masak will like this: goto.ucsd.edu/~rjhala/liquid/haskel...-wild.lhs/ 10:11
masak lizmat: nice. 10:13
dalek ast: 96ee96e | (Elizabeth Mattijsen)++ | S02-magicals/DISTRO.t:
Extended $?DISTRO / $*DISTRO testing
masak yes, I do like that.
I hadn't heard about LiquidHaskell before. 10:14
lunch &
dalek ast: ff94d8f | (Elizabeth Mattijsen)++ | integration/real-strings.t:
Remove bogus test
10:17
10:18 kaare_ joined 10:19 virtualsue left
dalek ast: 14039dc | (Elizabeth Mattijsen)++ | S02-magicals/vm.t (2 files):
Part 1 rename on case insensitive filesystems
10:20
ast: 5b00752 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
Part 2 rename on case insensitive filesystems
10:21
timotimo jnthn doesn't mind if people re-use his slides for their own performances of the talks, right? 10:22
colomon xfix: you still working on that?
xfix I'm currently doing SlowDB.
But if someone can tell me why it doesn't work in Perl 6, I'll listen.
colomon for $<line> -> $line ===try===> for @$<line> -> $line
xfix Thanks.
I forgot that I need to convert this to list. 10:23
When NQP does that automatically.
colomon or possibly @( $<line> )
xfix When NQP does that automatically.
oops
Now this fails in NQP, but whatever. 10:24
colomon yeah, I don't know enough about NQP to make it work there.
xfix Now this fails in NQP, but whatever.
oops, again
(why I think that I move to terminal with Alt-Tab...)
10:37 efg left
dalek kudo/nom: a89060a | (Elizabeth Mattijsen)++ | t/spectest.data:
Follow S02-magicals/vm.t -> VM.t renaming
10:37
10:38 efg joined
dalek ast: 59845d7 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
Extended $?VM/$*VM and $?DISTRO/$*DISTRO testing
10:38
kudo/nom: c3a6a79 | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
Implement Perl.KERNELnames
10:55
ast: fc9f3a5 | (Elizabeth Mattijsen)++ | S02-magicals/KERNEL.t:
Add $?KERNEL/$*KERNEL tests
kudo/nom: cdd29a5 | (Elizabeth Mattijsen)++ | t/spectest.data:
Add $?KERNEL/$*KERNEL tests
10:56
Timbus is there a way to get at a private attribute in a class, when you're in the package scope of it, but not in the.. uh. lexical? scope. or is it local... basically i dont have a 'self', just a $ref 11:00
a private method works, i was just wondering if its needed
lizmat private method is best, and the intended way to do this, afaik 11:08
xfix fish: Job 1, 'nqp-m slowdb.nqp ' terminated by signal SIGSEGV (Address boundary error) 11:13
I've a feeling I'm doing something incorrectly.
11:16 kaare_ left
dalek kudo/nom: 45f905e | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
Small tweaks to $*PERL
11:18
xfix Argh, there is something broken about 'next LABEL' syntax. 11:23
gist.github.com/xfix/168b7acb134b4a4d83b7 11:25
With boolean controlling the state, it works. With next LABEL syntax, it doesn't. 11:26
lizmat xfix: FROGGS may want to know about that: can you golf it to a potential rakudobug report? 11:28
xfix I may try.
Except it's NQP.
But let me see if it applies to Perl 6 as well.
Hm, should NQP support labels? 11:32
nqp: WHERE value=42
camelia nqp-parrot: OUTPUT«Confused at line 2, near "WHERE valu"␤current instr.: 'panic' pc 15653 (gen/parrot/stage2/NQPHLL.pir:5741) (gen/parrot/stage2/NQPHLL.nqp:425)␤» 11:33
..nqp-moarvm: OUTPUT«Confused at line 2, near "WHERE valu"␤ at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:panic:106)␤ from gen/moar/stage2/NQP.nqp:917 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/nqp.moarvm:comp_unit:346)␤ fro…»
..nqp-jvm: OUTPUT«(timeout)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid17389.log␤»
xfix Oops.
nqp-m: LABEL: for [1] { next LABEL; }; say("world")
camelia ( no output )
xfix nqp: LABEL: for [1] { next LABEL; }; say("world")
camelia nqp-parrot: OUTPUT«␤current instr.: '' pc 91 ((file unknown):59) (/tmp/tmpfile:1)␤»
( no output )
..nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid17446.log␤»
xfix github.com/perl6/nqp/commit/178362...09718c13c2 was commited 10 days ago, so labels are a new feature.
for [1] { next LABEL; }; say("world") 11:34
Here is the golfed version.
11:37 thou joined 11:40 BenGoldberg joined 11:41 kaare_ joined
lizmat the golfed version seems to be missing LABEL ? 11:41
dalek kudo/nom: 9157d69 | (Elizabeth Mattijsen)++ | src/core/Compiler.pm:
Some $?PERL/$*PERL.compiler tweaks
11:42
11:42 thou left
dalek ast: fca90ae | (Elizabeth Mattijsen)++ | S02-magicals/PERL.t:
Add tests for $?PERL / $*PERL
11:42
xfix Mistake during copying. 11:44
LABEL: for [1] { next LABEL; }; say("world")
11:44 zacts joined
dalek kudo/nom: f37d7f3 | (Elizabeth Mattijsen)++ | t/spectest.data:
Make sure we run the $?PERL / $*PERL tests
11:47
11:47 ssutch joined 11:50 apejens left 11:51 denis_boyun__ joined 11:52 denis_boyun_ left, ssutch left
xfix Spesh: failed to fix up handlers (-1, 110, 110) 11:52
Golfed test case: 'yes 1 | perl6' 11:53
lizmat seems to be a REPL issue 11:58
11:59 atroxaper joined
lizmat just doing $ perl6 and typing 1 <ENTER> 14 times gives the same error 11:59
xfix: can you rakudobug that (by sending an email to [email@hidden.address] ) ? 12:00
oddly enough, this also happens with MVM_SPESH_DISABLE=1 12:01
12:01 apejens joined
lizmat moritz: shouldn't we .gitignore the gen directory? 12:02
and dynext ? 12:04
and blib 12:05
so they are not shown on github.com/rakudo/rakudo anymore ?
12:06 SamuraiJack joined 12:10 BenGoldberg left 12:12 BenGoldberg joined
pippo lizmat: MVM_SPESH_DISABLE=1 perl6 12:18
lizmat: MVM_SPESH_DISABLE=1 perl6-m does not show the bug on my machine.
afk & 12:19
vendethiel oh, lizmat++ and woolfy++ are coming to fpw2014 :) 12:21
pippo lizmat: export MVM_SPESH_DISABLE=1 && yes 1 | perl6-m 12:24
lizmat pippo: ah, so SPESH *can* be disabled pippo++ 12:34
cycling&
moritz lizmat: gen/{jvm,parrot}/.gitignore are tracked 12:36
12:36 Ben_Goldberg joined, BenGoldberg left 12:37 Ben_Goldberg is now known as BenGoldberg
moritz lizmat: that's why they appear on github 12:37
lizmat: could be done otherwise, then the Makefiles would need to be changed to create the dirs first
12:40 molaf joined 12:45 xenoterracide joined 12:48 ssutch joined, denis_boyun__ left 12:50 denis_boyun_ joined, efg left 12:52 ssutch left 13:03 jnap joined
masak xfix, lizmat: I can confirm the 14 1s bug. 13:11
actually, I get it after 13. 13:12
and any literal seems to do it
declaring 'my $x' and then repeating '$x' doesn't trigger it
repeating "OH HAI" triggers it. 13:13
declaring 'my $x = 1' and then repeating '$x' triggers it
repeating 'Nil' doesn't trigger it 13:14
repeating 'pi' triggers it
repeating 'Num' doesn't trigger it
repeating 'for 1..10 { say "OH HAI" }' doesn't trigger it 13:15
doing '$_ = "x"' and then repeating '$_ ~= "x"' triggers it
doing 'sub foo { "gnarl" }' and then repeating 'foo' triggers it 13:16
intermixing '1' and 'Nil' triggers it after exactly 13 '1's 13:17
repeating 'say "!"' doesn't trigger it 13:18
13:18 atroxaper left
masak my guess: internal pointer corruption that doesn't get bad enough to surface until the REPL has output 13 *returned* values from the programs run. 13:19
by the way, #perl6ers -- SawyerX++ pointed me to his github.com/xsawyerx/yet-another-friday-the-13th -- and I've now PR'd and he's merged my Haskell solution into it. 13:21
13:24 atroxaper joined 13:26 thou joined
vendethiel masak: nice ! PR'd LiveScript one :) github.com/xsawyerx/yet-another-fr...th/pull/10 13:26
13:27 am_ joined 13:29 am_ left 13:30 thou left 13:31 jnap left 13:34 treehug88 joined 13:35 treehug88 left
colomon 12 for me, if you mean "===SORRY!=== Spesh: failed to fix up handlers (-1, 110, 110)" 13:36
xfix 13 for me, with yes | head -13 | perl6-m. 13:42
vendethiel what's yes ? 13:43
oh, i see 13:44
13:49 ssutch joined
xfix yes is infinite list 13:50
I wanted to say, `yes 1`.
I'm now compiling under Clang, and I get flood of warnings. 13:52
"warning: implicit declaration of function 'MVM_io_eventloop_cancel_work' is invalid in C99 [-Wimplicit-function-declaration]"
Any reason for it not to be in header file?
13:53 ssutch left, atroxaper left
xfix "3520 warnings generated." 13:54
huh
13:58 oetiker joined, rurban joined 14:00 atroxaper joined
xfix I also decided to compile MoarVM with runtime warnings (Clang has a flag for this), but it floods me with warnings which cause the application to crash. Not that I expected anything, as I had to modify Makefile manually. 14:00
14:07 kurahaupo joined
xfix Including something about null pointer usage in ALIGNOF(x) macro. 14:09
14:31 FROGGS joined
FROGGS o/ 14:32
masak xfix: the consensus among Moar developers seems to be that clang is too sensitive for its own good, and making all those warnings go away would be an exercise in futility. 14:42
vendethiel: nice, short solution :) 14:44
vendethiel masak: that's the point :P
masak vendethiel: though TimToady would say that LiveScript is yet another list comprehension language that gets the nesting between the 'if' part and the 'for' part wrong...
sergot o/
vendethiel masak: why so ? 14:45
masak (along with Haskell, Python, and a bunch of others)
vendethiel you can do `a if b for c`
that's totally vali
valid*
masak oh, good.
vendethiel coffeescript doesn'"t get this right because of the way it treats POST_IF, but I consider that to be a bug
masak the way you wrote it is more like `a for c | b`, though
vendethiel it's exactly |
masak don't know what you mean to say by that. 14:47
vendethiel I'm using | here, which is an alias to `when`, but that doesn't mean the if part can't be done
14:50 ssutch joined
masak no, I mean, the way you wrote it, the condition (whether you call it 'if' or 'when') is nested outside the loop. 14:50
atroxaper moritz: Hello! Just FYI. I could not install the last R* yesterday. But today I installed all three Rakudos. Now I'm going to install Panda. There is hand made R* :-) 14:51
14:54 ssutch left
vendethiel masak: no, it's inside the loop. 14:58
why would making it postfix make it "outside the loop"?
the loop is delimited by these []
15:00 zakharyas joined 15:05 zakharyas1 joined 15:06 zakharyas left
FROGGS masak: about clang: I love it, and very often the clang warnings are sensible 15:07
so I'd like to fix them, but last time I tried I had problems to invoke clang at all 15:08
vendethiel it's an interesting idea though
just run you unmanaged software in a managed sandbox, fix the bugs, and compile on an unmanaged env 15:09
masak vendethiel: there are three components in a comprehension: an item (to be returned), a loop, and a condition. if the loop comes between the item and the loop, it's "nested wrong". 15:10
vendethiel: so `$a if $a for @a` is OK Perl 6, but `$a for @a if $a` is not. (but the corresponding syntax is how you write it in Python and Haskell) 15:11
vendethiel masak: that depends where you see the for.
As I just said, the for is delimited by []
so really, you could see it as `start_for $a in @a if $a end_for`
15:12 Rotwang left 15:13 thistusooa joined 15:14 thou joined
masak vendethiel: that explanation seems to ignore the location of the actual for *keyword* in the comprehension. 15:15
vendethiel masak: because the keyword is irrelevant here
the keyword doesn't delimit the for
15:15 thistusooa left
vendethiel `a for b` is invalid LS, `[a for b]` is 15:15
masak ok. 15:16
interesting factoring.
I still prefer the order where the 'if' ends up between item and loop :) 15:17
vendethiel masak: it's mostly due to ambiguities :)
there are already far too way many ways to do it.
15:18 thou left 15:28 thistusooa joined 15:29 sqirrel__ joined
FROGGS nqp-m: LABEL: for [1] { next LABEL; }; say("world") 15:30
camelia ( no output )
FROGGS nqp-m: LABEL: for [1] { last LABEL; }; say("world")
camelia ( no output )
FROGGS nqp-m: LABEL: for [1] { last; }; say("world")
camelia nqp-moarvm: OUTPUT«world␤»
FROGGS nqp-m: LABEL: for [1] { for [2] { last LABEL } }; say("world") 15:31
camelia ( no output )
BenGoldberg nqp: LABEL: for [1] { next LABEL; }; say("world") 15:34
camelia nqp-parrot: OUTPUT«␤current instr.: '' pc 91 ((file unknown):59) (/tmp/tmpfile:1)␤»
( no output )
..nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤»
FROGGS we are missing the handler for some reason :/
nqp-m: LABEL: while 1 { last LABEL; }; say("world") 15:35
camelia nqp-moarvm: OUTPUT«world␤»
FROGGS nqp-j -e 'LABEL: for [1] { last LABEL; }; say("world")' 15:36
Unhandled exception; category = 4112
the category is correct though
(4096 for labeled + 16 for 'last')
15:37 denis_boyun_ left
FROGGS so, the problem must be in nqp's code-gen for 'for' loops 15:38
but funnily: the test in nqp/t/nqp/84-loop-labels.t passes... 15:39
bbiab
m: LABEL: for [1] { next LABEL; }; say("world")
camelia rakudo-moar f37d7f: OUTPUT«world␤»
masak if the test in nqp/t/nqp/84-loop-labels.t passes, but not the above, then there must be some difference. find that. :) 15:47
15:50 ssutch joined 15:54 ssutch left
xfix Tests are way more complex than this, obviously. 15:55
Perhaps tests fix themselves by running code in tests. 15:56
15:58 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 16:05 SamuraiJack left, kivutar left
TimToady
.oO(maybe they only xfix themselves...)
16:06
masak xfix: that's a possibility, but not the most likely one if you ask me. 16:13
TimToady
.oO(TDT)
16:15
16:15 molaf_ joined 16:18 molaf left
masak TimToady: in our testing course, we have a slide about that. it's titled "Quis custodiet ipsos custodes?" 16:19
vendethiel winces 16:20
masak oops, sorry.
vendethiel I'm sorry :P
vendethiel just googles again
masak "who watches the watchmen?" 16:21
vendethiel yea, I got it :-)
masak far as I understand, that's what the "Watchmen" comics got its name from. (and indeed, it's inherently ambiguous as to whether superheroes are a net good)
the connection with TDD and tests: "you just wrote a test. how do you know it's 'correct'?" 16:22
vendethiel yeah, but you're sure it can be used as a regression test at least :) 16:24
16:28 guru joined, guru is now known as Guest28657 16:29 Guest28657 is now known as ajr_
masak well, sometimes as part of the "green" part of the cycle, I realize I wrote the test wrong, and I go back and re-write it. (if I'm feeling very careful, I re-run the test without the implementation to see it shows red.) 16:32
very rarely, I realize after a cycle that the test actually tests the "wrong" thing. then it's context-dependent whether I (a) add another test, (b) change the original test, or (c) change something in the way I do tests in that project. 16:33
16:34 ajr_ left
vendethiel exactly :) 16:39
I usually don't add another test. I obviously change the original test, because it's wrong by now :P
16:40 sqirrel__ left 16:43 ajr_ joined 16:49 anaeem1_ joined 16:51 ssutch joined 16:55 ssutch left 17:01 anaeem1_ left 17:02 thou joined 17:03 anaeem1 joined
japhb Do r-j and r-m currently support the same async IO operations, or are there some things that one of them is not supporting that the other has? 17:04
17:06 jnap joined 17:07 thou left, sqirrel__ joined 17:09 kurahaupo left
masak vendethiel: well, maybe my definition of "wrong" is a bit liberal here. if it's simply incomplete (but not altogether useless), then I keep it and add another. 17:09
vendethiel fair enough 17:13
vendethiel just saw Perl6::Junction 17:18
how do people do that?
well, operator overloading obviously, but even then 17:19
17:19 pippo left 17:22 pippo joined 17:23 jnap left
lizmat japhb: r-j and r-m more or less support the same feature set 17:35
with the exception of signal() (doesn't work on JVM) and maybe IO::Socket::Async
japhb lizmat: from my perusal of source, it looks like r-m doesn't have AsyncFile ... but it at least appears that they both have async sockets. 17:36
lizmat IO::Socket::Async is included in the JVM build and there is not jvm fudging in there
japhb nodnod. 17:37
So ... no signal on JVM, no async files on moar.
I guess my async I/O example will be sockets, then. :-)
lizmat :-)
what's AsyncFile anyway? It isn't specced] 17:38
japhb src/vm/jvm/core/IOAsyncFile.pm
17:38 xenoterracide left
japhb IO::Async::File is what it's called there, but I would think it should be IO::File::Async 17:39
17:39 hoverboard joined
lizmat seems rather experimental to me 17:39
japhb Probably was -- jnthn++ working out his ideas in code 17:40
lizmat yes
it has my name in git blame, but that is only because I split the ginormous original file into parts 17:41
17:51 molaf_ left 17:52 ssutch joined 17:53 sqirrel__ left 17:56 ssutch left
lizmat r: say $*VM.precomp-ext 18:01
camelia rakudo-moar f37d7f: OUTPUT«moarvm␤»
..rakudo-parrot f37d7f: OUTPUT«pir␤»
..rakudo-jvm f37d7f: OUTPUT«jar␤»
18:01 hoverboard left 18:02 nickpatch joined
lizmat wonder if we'll ever have precompiled files with Moar on 8.3 file systems 18:02
18:04 atroxaper left
dalek kudo/nom: e88e462 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm:
Can now use $*VM.precomp-ext

So we don't need to do any core setting fudging when compiling the setting
18:06
lizmat FROGGS: I'm a bit surprised to see multiple paths in CUR::Local::File 18:07
FROGGS lizmat: why are you surprised?
lizmat I sort of envisioned that each CUR::Local::File would only have *one* path
FROGGS ahh, yes
lizmat mind if I change that ? 18:08
FROGGS hold on, I check something
let me change that, I have changed something locally in core/Inc.pm that goes in that direction 18:09
lizmat okidoki :-) 18:10
18:10 rurban left
cognominal what is the syntax for having a method name that is a parameter of a parametric role? pseudo-code : role R[$method-name] { method $method-name { ... } } 18:11
timotimo that seems just crazy enough to be desirable ... 18:12
cognominal I am almost sure to have seen it somewhere in the nqp/rakudo codebase or doc, but I can't find it. 18:13
lizmat isn't that syntax used for typed hashes ?
cognominal like? 18:14
lizmat my role TypedHash[::TValue] does Associative[TValue] {
FROGGS m: role R[$method-name] { method ::($method-name) { 42 } }
camelia rakudo-moar f37d7f: OUTPUT«===SORRY!===␤Name ::($method-name) is not compile-time known, and can not serve as a method name␤»
FROGGS m: role R[$method-name] { method ::("$method-name") { 42 } }
camelia rakudo-moar f37d7f: OUTPUT«===SORRY!===␤Name ::("$method-name") is not compile-time known, and can not serve as a method name␤»
FROGGS that is proper nqp code from Perl6::Grammar: 18:16
my role Term[$meth_name, $op] {
token ::($meth_name) { $<sym>=[$op] }
}
nqp: role R[$method-name] { method ::("$method-name") { 42 } }
camelia nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid15106.log␤»
..nqp-moarvm: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"␤ at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:106)␤ from gen/moar/stage2/NQP.nqp:1295 (/home/p6eval/rakudo-inst-1/languages/nqp/li…»
..nqp-parrot: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"␤current instr.: 'panic' pc 15653 (gen/parrot/stage2/NQPHLL.pir:5741) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
FROGGS nqp-m: role R[$method-name] { method ::("$method-name") () { 42 } }
camelia nqp-moarvm: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"␤ at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:106)␤ from gen/moar/stage2/NQP.nqp:1295 (/home/p6eval/rakudo-inst-1/languages/nqp/li…»
FROGGS nqp-m: my role R[$method-name] { method ::($method-name) () { 42 } } 18:17
camelia ( no output )
FROGGS m: my role R[$method-name] { method ::($method-name) () { 42 } }
camelia rakudo-moar f37d7f: OUTPUT«===SORRY!===␤Name ::($method-name) is not compile-time known, and can not serve as a method name␤»
FROGGS yeah... nqp likes it
cognominal my role TermActionConstant[$meth, $name] { 18:19
method ::($meth)($/) {
make QAST::Var.new( :$name, :scope('lexical') );
}
dalek ast: e484df9 | (Elizabeth Mattijsen)++ | test_summary:
Fix deprecated use of $*VM<config>
cognominal that is described here : github.com/perl6/specs/blob/master...into-names 18:21
18:24 mr-foobar left 18:31 hoverboard joined
cosimo no .msi for 2014.04 of star? 18:32
18:34 atroxaper joined, beastd joined
FROGGS cosimo: irclog.perlgeek.de/perl6/2014-05-05#i_8682627 18:35
rakudo star release candiates for windows (as msi): 18:36
froggs.de/perl6/rak​udo-star-2014.04-moar.msi (7.5MB)
froggs.de/perl6/raku​do-star-2014.04-parrot.msi (17.3MB)
cosimo FROGGS: excellent, thanks
18:36 hoverboard is now known as moistcherry
FROGGS cosimo: please give me some feedback after you tried it 18:36
cosimo there's some unicode character in there, so links result in 404 (fixed it manually) 18:37
timotimo wow, how did those get in there 18:38
.u ak​u
yoleaux U+0061 LATIN SMALL LETTER A [Ll] (a)
U+006B LATIN SMALL LETTER K [Ll] (k)
U+0075 LATIN SMALL LETTER U [Ll] (u)
FROGGS weird
timotimo and i can't copypaste them apparently
FROGGS I copy&pasted these from the irclog
18:38 atroxaper left
timotimo can you view-source or inspect-element them? 18:38
FROGGS and I do not see them here or in my editor, but I see them in the url when I click the link 18:39
japhb r: [1].flattens
camelia ( no output )
japhb r: [1].flattens.say
camelia rakudo-{parrot,jvm,moar} f37d7f: OUTPUT«1␤»
japhb ^^ Why does Array have .flattens == 1?
18:39 moistcherry is now known as hovercraft
cosimo FROGGS: first thing is that I'd like to select where to install, rather than C:\rakudo 18:40
:)
FROGGS cosimo: nice try :o)
(that means that the built compiler is not relocatable, and I cannot fix that easily) 18:41
timotimo: there is nothing to see in the html source...
timotimo weird :)
FROGGS: moar isn't relocatable either, eh?
FROGGS timotimo: I've never tested it... 18:42
timotimo i wonder what amount of work that would entail
FROGGS I bet the --prefix is compiled in it so that nqp will explode when it gets moved somewhere else
timotimo could very well be 18:43
cosimo yes, confirmed 18:44
:)
i understand it's a firstworldproblem, but still
timotimo it's definitely a nice thing to have. 18:46
dalek ecs: ba7e60b | (Elizabeth Mattijsen)++ | S28-special-names.pod:
Spec Distro.path-sep
18:49
18:51 thou joined 18:52 molaf joined 18:53 ssutch joined 18:55 zakharyas1 left 18:56 thou left 18:57 ssutch left 18:59 darutoko left 19:05 zakharyas joined
dalek kudo-star-daily: 030247a | coke++ | log/ (13 files):
today (automated commit)
19:05
rl6-roast-data: 03822f4 | coke++ | / (6 files):
today (automated commit)
cosimo where's my 'perl6 Makefile.pl' ? 19:07
dalek kudo/nom: 7d6acc7 | (Tobias Leich)++ | src/core/ (3 files):
allow CUR classname in RAKUDOLIB, PERL6LIB and -I

  -Ifoo stills results in a CompUnitRepo::Local::File(foo), but now one
has the opportunity to get a CUR::Local::Installation by doing:
  -ICompUnitRepo::Local::Installation=foo. Also, CURs only take a single
path now, since we can group every kind of CUR by putting it into an array-group in @*INC.
19:07 Ben_Goldberg joined
FROGGS cosimo: what do you mean? 19:07
19:07 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
cosimo FROGGS: I'm trying to build LWP::Simple and test it, but there's no Makefile. I tried 'panda install .' but I would expect a 'panda build' 19:10
which is not there
maybe Makefiles are not used anymore? 19:11
IOW, perl5 has 'make test', rakudo? 19:12
FROGGS wait wait wait
makefiles are supported, just not by panda
when LWP::Simple has no Makefile, then this was the module author's choice
panda install . should work... what is the error you get? 19:13
timotimo you can generate a makefile for your project using ufo
(panda install ufo; ufo; make test)
19:13 denis_boyun_ joined
cosimo ok, so ufo is still used? 19:13
FROGGS or nmake, depending on your toolchain
it still can be used, yes
cosimo I switched to linux now, I'm much more at ease
FROGGS rakudo has a test test target, aye 19:14
cosimo maybe ufo could be embedded in panda providing a 'panda {makefile,build,test} functionality'
FROGGS hmmm, I'd like to keep them separated 19:15
cosimo why?
when i say embedded, i really mean just having one tool to do all of this 19:16
19:17 hovercraft left
FROGGS panda is not a makefile maker 19:17
cosimo i see 19:18
FROGGS it is just some sort of separation of concern
cosimo from my point of view, it's all very confusing though
FROGGS and I do not like to get more complexity into panda
timotimo hmm.
python's setup.py stuff has a target called "develop"
lizmat also: why would panda make makefiles ?
timotimo which installs a link to the sources into the global module list 19:19
lizmat it is used to install things
timotimo so that changes are immediately visible in the whole environment, but it's still "installed"
lizmat if things can be installed wiithout a makefile, why make one?
timotimo since we don't have automatic building of sources to precompiled things, that doesn't seem like something we could have soon :|
cosimo lizmat: how do i 'make test' then?
FROGGS timotimo: interesting aspect
prove perl6-m t?
prove -e perl6-m t? 19:20
timotimo -Ilib 19:21
cosimo right. all i'm saying is that someone coming from a non-perl background could find all of this very confusing
timotimo or -Iblib if you've prebuilt
but that's what ufo does for you
cosimo i sure know about prove :)
timotimo mhm, we're still far away from Enough Documentation™
19:21 Rotwang joined
cosimo any preferred paste channel? 19:21
ufo is failing for me 19:22
timotimo most of the time we use gist
would be interested to see how it fails
if it only outputs "oh god! a deprecated method was called!", then that's fine
cosimo gist.github.com/cosimo/e3f09982b19dbe320a09 19:23
dalek kudo/nom: 6745862 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
Implement Distro.path-sep plus some cleanup
kudo/nom: 26d6073 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Use $*DISTRO.path-sep instead of hacking it
timotimo oh!
yeah, stuff from the eleven branch.
FROGGS ewww
cosimo this is freshly build rakudo on moarvm, and ufo
timotimo i haven't tested the eleven stuff myself yet, though it has just been merged into master a few days ago
FROGGS it would just need to stringify the path 19:24
lizmat FROGGS: but adding a .Str feels wrong
timotimo CompUnitRepo::Local::Installation is not Cool? :)
lizmat what is it doing there ?
FROGGS lizmat: well, we have now CompUnitRepos in @*INC
lizmat yes, I understand 19:25
but doing a split on it
what is ufo trying to do ?
FROGGS splitting it by path-sep I guess
timotimo github.com/masak/ufo/blob/master/bin/ufo#L160
lizmat path-sep ?
timotimo called from github.com/masak/ufo/blob/master/bin/ufo#L148
lizmat why that? does it assume there can be multiple dirs ? 19:26
FROGGS for [\~] $path.split('/').map({"$_/"}) {
lizmat that's a dir split
timotimo it's a recursive mkdir
FROGGS no, just splitting to create dirs like mkdir -p
19:26 itz joined
lizmat hmmm... CUR::Local::Installation already has method Str { $!path.Str } 19:26
19:26 anaeem___ joined
timotimo yes, we just don't call .Str there 19:27
i'm also not sure if the .split('/') there is a good idea
lizmat indeed, could also be "\\"
FROGGS wait, there is "\\" on linux?
timotimo ufo is linux-only?
FROGGS everybody is using linux, right?
:P 19:28
timotimo ah
m: say Q[\]
camelia rakudo-moar e88e46: OUTPUT«\␤»
timotimo say "foo!" ~~ / \w /
m: say "foo!" ~~ / \w /
camelia rakudo-moar e88e46: OUTPUT«「f」␤␤»
FROGGS m: say "C:\\foo\\bar".IO.cleanup
camelia rakudo-moar e88e46: OUTPUT«No such method 'cleanup' for invocant of type 'IO::Handle'␤ in block at /tmp/EKNE1i2gvl:1␤␤»
timotimo m: say 「\」
camelia rakudo-moar e88e46: OUTPUT«\␤»
FROGGS m: say "C:\\foo\\bar".path.cleanup
camelia rakudo-moar e88e46: OUTPUT«IO::Path<C:\foo\bar>␤»
timotimo i really like how 「\」 looks, at least in my terminal.
19:29 anaeem1 left
lizmat so I guess the split needs a .Str added in ufo? 19:31
it would be compatible with previous version as "a".Str is a noop
multi method Str(Str:D:) { self } 19:32
FROGGS yes, I think that will do
cognominal what is the eleven branch? need one more for the "twelve monkeys" anyway. 19:37
moritz it's about implementing S11 19:38
colomon keeps forgetting that and thinking it's 5 + 6 ... 19:39
FROGGS no, not this time :o) 19:40
timotimo though froggs, who was involved in the eleven branch, has also been doing 5 + 6 types of things 19:43
FROGGS and I still do from time to time :o)
lizmat well, in a way, the work on eleven *will* allow use Foo:from<perl5> start to work :-) 19:44
but how exactly, we still need to figure out
also depends what's going to happen with news.perlfoundation.org/2013/07/hag...ation.html
FROGGS lizmat: :from<Perl5> works already, and allowing to install to a database to not help in making it better 19:45
timotimo ... what
lizmat ??
FROGGS m: use Blurb:from<Perl5>
camelia rakudo-moar 7d6acc: OUTPUT«===SORRY!===␤Do not know how to load code from Perl5␤»
lizmat m: use Blurb:from<perl5>
camelia rakudo-moar 7d6acc: OUTPUT«===SORRY!===␤Do not know how to load code from perl5␤»
FROGGS you see that message because a module loader for Perl5 is not known at that time 19:46
19:46 jack_rabbit joined
FROGGS when you install v5, it tries to load it 19:46
lizmat ah, no previous "use v5"
gotcha
FROGGS m: use v5
camelia rakudo-moar 7d6acc: OUTPUT«===SORRY!===␤Could not find Perl5 in any of: /home/p6eval/.perl6/2014.05-119-g7d6acc7/lib, /home/p6eval/rakudo-inst-1/languages/perl6/lib, /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-1/languages/perl6/site/lib, /home/p…»
lizmat star: use v5 19:47
camelia ( no output )
lizmat hehe
FROGGS I have not easy to solve problems making v5 a pandable dist :/
that star just lies :o)
lizmat let's work on them
BTW, is there going to be a R* release for 2014.05 ?
FROGGS I'm not sure... LWP::Simple is broken AFAIK 19:48
timotimo seems like nobody volunteered for 2014.05
there are a bunch of nice changes in the Bajor release announcement :\ 19:50
bbl
19:52 jack_rabbit left 19:53 ssutch joined 19:56 itz left 19:58 ssutch left 19:59 rurban joined
moritz lizmat: I tried to make one, but got compilation hangs 19:59
lizmat yuck 20:00
R* you mean, right?
[Coke] lwpsimple broken - i thought only for jvm? 20:03
[Coke] double checks his tix.
20:04 jack_rabbit joined
[Coke] ah, one failure on moar, nearly all fail on jvm 20:04
20:11 hovercraft joined 20:14 hovercraft is now known as hoverboard
cognominal how to ask Perl 6 to print a full backtrace stack on a compilation error? 20:18
FROGGS perl6-m --ll-exception ...
that is all you can do
cognominal FROGGS++ 20:19
lizmat cognominal: I use this alias 6='perl6 --ll-exception -MTest -e' 20:20
cognominal nice
very nice www.youtube.com/watch?v=LBduNcf1eQc my accent is as thick as Borat :) 20:22
FROGGS *g*
20:23 gggg joined
cognominal lizmat++, I don't see any perl 6 presentation from you at fpw. Decoocooning sounds nice though 20:24
lizmat decocooning has some Perl 6 in it
I always have a few Perl6 lightning talks ready 20:25
we'll see :-)
20:30 gggg left
dalek kudo/nom: 4cccc43 | (Elizabeth Mattijsen)++ | src/core/VM.pm:
Implement VM.prefix (not sure about the name yet)
20:30
kudo/nom: ce6acf7 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Use $*VM.prefix instead of hacking it
colomon is getting some wonky results with laziness 20:33
lizmat laziness pays off now :-)
colomon aha! results are wonky because it ISN'T lazy 20:35
while lines.map(&read-code-data) -> $pair {
too much editing there….
20:36 atroxaper joined 20:40 atroxaper left 20:42 martinzaremba joined
dalek ast: f7db8cd | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
Add tests for Distro.path-sep and VM.prefix
20:42
sergot yay! we've another person from Poland here ! hi martinzaremba o/ 20:44
martinzaremba hi @sergot and hi @all. you got me men, I love this lang
lizmat and it's not actually all men :-) 20:45
martinzaremba sory for that. kind of shortcut for mankind :D
lizmat which happens to be a very nice bar in Amsterdam :-) 20:46
sergot martinzaremba is from Poznan too btw 20:47
martinzaremba and both college dropouts :D
20:49 pippo left
martinzaremba testing irc after 5 years break 20:49
20:50 ajr_ left
masak martinzaremba: greetings. 20:52
welcome to... THE FUTURE
lizmat well, fwiw, I'm a college dropout as well :-)
however, I dropped out because I knew what I wanted to do instead 20:53
I wouldn't recommend dropping out if you *don't* know what to do instead
martinzaremba that is absolutely right.
i am very sure what I am willing to be.
20:54 ssutch joined
martinzaremba And I got decent ops job in Egnyte, so… ;] 20:54
lizmat congrats! 20:55
20:55 pdcawley joined
lizmat
.oO( it's been a while since I've seen Piers )
20:56
20:58 ssutch left 21:00 hoverboard left
lizmat FROGGS: if I read your last patch right, *all* path specifications will use the initial class specification 21:00
I think that's incorrect: you will probably want to specify different classes in e.g. PERL6LIB 21:01
also, I think we're going to need some shortcurts: e.g. inst=lib/InstalledModules
where "inst" would be short for CompUnitRepo::Local::Installation 21:02
vendethiel uh, how long has use lib been working ?
lizmat eh, since like forever
vendethiel couldn't get it to work on windows with 2014/03
21:02 hoverboard joined
lizmat it's used in the spectest 21:02
FROGGS m: say @*INC
camelia rakudo-moar 26d607: OUTPUT«CompUnitRepo::Local::File(/home/p6eval/.perl6/2014.05-121-g26d6073/lib) CompUnitRepo::Local::File(/home/p6eval/rakudo-inst-2/languages/perl6/lib) CompUnitRepo::Local::File(/home/p6eval/rakudo-inst-2/languages/perl6/vendor/lib) CompUnitRepo::Local::File(/ho…»
vendethiel then I fucked up something
21:03 rindolf left
FROGGS perl6-m -ICompUnitRepo::Local::Installation=foo -e 'say @*INC[0]' 21:03
CompUnitRepo::Local::Installation(foo)
21:03 beastd left
FROGGS lizmat: ^^ 21:03
perl6-m -ICompUnitRepo::Local::Installation=foo -Ibar -e 'say @*INC[^2]' 21:04
CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::File(bar)
21:04 Ben_Goldberg joined
FROGGS lizmat: is that what you mean? 21:04
21:05 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg, panchiniak joined
FROGGS PERL6LIB=CompUnitRepo::Local::Installation=foo:bar perl6-m -e 'say @*INC[^2]' 21:05
CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::Installation(bar)
lizmat hmmm... I'm getting: $ perl6 -ICompUnitRepo::Local::Installation=foo:bar -e 'say @*INC[0]'
CompUnitRepo::Local::Installation(foo:bar)
cognominal r: my @a=<1>; for @a <-> $a { say $a } 21:06
FROGGS PERL6LIB=CompUnitRepo::Local::Installation=foo:CompUnitRepo::Local::File:bar perl6-m -e 'say @*INC[^2]'
CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::Installation(CompUnitRepo)
camelia rakudo-jvm 26d607: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 26d607: OUTPUT«1␤»
FROGGS I'd consider the last one a bug
lizmat there should be no difference in behaviour between -I and PERl6LIB=
FROGGS lizmat: according to spec the delim in -I is comma, not colon 21:07
lizmat ah?
FROGGS otherwise package names might be tricky
21:07 araujo joined
FROGGS but I dunno what to favor 21:07
lizmat well, historically I think perl 5 observed the path separator of the OS 21:08
hmmm... maybe we should have both
FROGGS so : and ; and , ? 21:09
lizmat comma to indicate same kind of CUR, path sep to allow different CUR's
lemme check
masak 'night, #perl6
FROGGS gnight masak 21:10
lizmat night masak
colomon \o
lizmat perldoc perlrun states: Directories are separated (like in PATH) by a colon on unixish platforms and by a semicolon on Windows (the proper path separator being given by the command "perl −V:path_sep")
also, the "=" is used in Perl 5 to indicate symbols to be imported 21:12
ah, no, that's with -M
colomon o/
colomon lizmat, \o 21:13
lizmat so, separating paths with the same CUR with , and potentially different ones with the path sep
is that a plan ?
FROGGS hmmmm 21:14
lizmat FROGGS: (and I will do the work for that, unless you *really* want to do that)
FROGGS that is not very intentional
lizmat -Ifile=Dev/source:inst=Installed/modules,Installed/moremodules 21:15
FROGGS I'd prefer: -ICompUnitRepo::Local::Installation=[foo:bar] for a group I think 21:16
lizmat won't that give problems on the CLI ?
FROGGS [] works on linux at least
dunno how that works on windows
or if
but I am going to bed now 21:17
21:17 mr-foobar joined
lizmat ok, gnight FROGGS 21:17
FROGGS gnight
lizmat FROGGS++ # all the hard work in the background
FROGGS :o)
vendethiel FROGGS+++ # get syntax error'd on, please 21:19
vendethiel is truely evil
21:19 jack_rabbit left
dalek ecs: 996b7e2 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add lemma's for CLI and CUR
21:20
lizmat
.oO( which is just an anagram for live )
vendethiel
.oO( But I can't decide between going live or being evil ... )
21:25
21:27 anaeem___ left 21:28 adu joined
sergot good night #perl6 ! o/ 21:29
lizmat gnight sergot !
vendethiel 'night :-) 21:30
lizmat .tell FROGGS I'm also considering making @*INC an object with push/unshift/gist overloaded 21:33
yoleaux lizmat: I'll pass your message to FROGGS.
21:33 hoverboard left
lizmat .tell FROGGS so that a say @*INC will create a string that can be used with -I 21:33
yoleaux lizmat: I'll pass your message to FROGGS.
21:34 panchiniak left
dalek ast: 6228b9f | (Stéphane Payrard)++ | S04-statements/for.t:
Added a test for a fail in current rakudos : for @a <-> $_ { $_++ }

Made the preceding tests independant
21:34
lizmat cognominal++
21:36 kaare_ left 21:46 martinzaremba left 21:48 itz joined 21:49 martinzaremba joined 21:55 ssutch joined
vendethiel m: my $word = '<a b c>'; my @i = 1, 2; $word[|@i] = <e f>; 21:56
camelia rakudo-moar ce6acf: OUTPUT«===SORRY!=== Error while compiling /tmp/Q9Z0XGfxLi␤Variable '&prefix:<|>' is not declared␤at /tmp/Q9Z0XGfxLi:1␤------> $word = '<a b c>'; my @i = 1, 2; $word[⏏|@i] = <e f>;␤»
vendethiel mmh
Can't I do that ? 21:58
jnthn evening, #perl6
ooh, no messages :)
lizmat jnthn o/
jnthn o/ lizmat 21:59
lizmat plenty of issues, though :-)
vendethiel gist.github.com/Nami-Doc/67dc9304a75d4980b16d should that work, or should it not ?
lizmat vendethiel: not sure what you're trying to achieve
vendethiel not sure what Str[|@] is supposed to do :)
lizmat: well, trying to replace at several indices at once
21:59 ssutch left
lizmat what's wrong with [@idx] ? 22:00
jnthn lizmat: Plenty of S11 progress too, it seems...
lizmat jnthn: yeah, still a lot to do though
and we broke ufo :-(
fix should be easy though
BenGoldberg m: my $word = '<a b c>'; $word[1, 2] = <e f>;
camelia rakudo-moar ce6acf: OUTPUT«===SORRY!===␤Index out of range. Is: 1, should be in 0..0␤»
lizmat $word only has 1 element 22:01
vendethiel so I can't do that :[ ?
lizmat vendethiel: did you really want '<a b c>' or <a b c> ?
vendethiel no, I want my string to be a word, like "hello".
BenGoldberg m: my $word = <a b c>; $word[1, 2] = <e f>;
camelia rakudo-moar ce6acf: OUTPUT«Cannot modify an immutable Str␤ in method STORE at src/gen/m-CORE.setting:7297␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2540␤ in block at /tmp/Paj1amuwX3:1␤␤»
jnthn vendethiel: Strings are *not* arrays. 22:02
lizmat ah, it's a Parcel
vendethiel Then I want to replace both ll, so say indices (2, 3) with something else
jnthn: yea, I get that
jnthn vendethiel: Use .comb if you really want an array of all the chars to work on.
22:02 kivutar joined
lizmat m: my $word = <a b c>.list; $word[1,2] = <e f>; say $word 22:02
camelia rakudo-moar ce6acf: OUTPUT«Cannot modify an immutable Str␤ in method STORE at src/gen/m-CORE.setting:7297␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2540␤ in block at /tmp/UDHehQGojn:1␤␤»
vendethiel but how can I then modify my string like I'm doing here?
I need to store the comb version, replace in it, then store the joined string, right? 22:03
lizmat m: my @word = <a b c>.list; @word[1,2] = <e f>; say $word
camelia rakudo-moar ce6acf: OUTPUT«===SORRY!=== Error while compiling /tmp/OSHFasO_Pp␤Variable '$word' is not declared. Did you mean '@word'?␤at /tmp/OSHFasO_Pp:1␤------> b c>.list; @word[1,2] = <e f>; say $word⏏<EOL>␤ expecting any of:␤ …»
lizmat m: my @word = <a b c>.list; @word[1,2] = <e f>; say @word
camelia rakudo-moar ce6acf: OUTPUT«a e f␤»
lizmat m: my $word = <a b c>.list; $word.elems.say
camelia rakudo-moar ce6acf: OUTPUT«3␤»
lizmat so, if I use @ as the sigil, it's ok, but not when I use $ as the sigil? 22:04
vendethiel lizmat: no, you just did say $word, I think
lizmat m: my @word = <a b c>.list; @word[1,2] = <e f>; say @word # works as expected, no?
camelia rakudo-moar ce6acf: OUTPUT«a e f␤»
22:05 hoverboard joined
lizmat m: my @word = <a b c>; @word[1,2] = <e f>; say @word # even without the .list ? 22:05
camelia rakudo-moar ce6acf: OUTPUT«a e f␤»
lizmat yup
vendethiel yea, but not really a one-liner anymore :(
lizmat vendethiel: also, the "* ~~ $_" feels wrong 22:08
22:08 spider-mario left
vendethiel lizmat: oh yea, should be eq 22:08
so, no real way to update multiple indices of a string ? 22:09
in a one-liner
22:10 martinzaremba left
lizmat checking 22:11
m: my $a = "foobar"; substr-rw($a,2,2) = "zz"; say $a 22:12
camelia rakudo-moar ce6acf: OUTPUT«fozzar␤»
lizmat substr-rw is the trick, I think
vendethiel m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,@i) = "z" xx +@i; say $a
camelia rakudo-moar ce6acf: OUTPUT«fooz z z␤» 22:13
vendethiel lizmat: ^ that's basically what I'm trying to do
lizmat substr-rw is defined as: multi sub substr-rw($s is rw, $from = 0; $chars = $s.chars - $from) is rw 22:14
so you can only do a set of consecutive chars at once
vendethiel damn D:
lizmat shouldn't be too hard to writ your own subst with this though :-) 22:15
hmmm... maybe with subst 22:16
method subst(Str $self: Regex $search, Str $replacement --> Str); 22:17
naaah, probably not.. you could probably rig up the Regexp the correct way, but the substitution string would still be a problem
22:20 zakharyas left
lizmat it's late again, calling it a day again... 22:22
gnight, #perl6!
jnthn o/
colomon he's back! 22:25
22:25 Rotwang left
colomon he's been back, and I didn't notice because I was off making a milkshake for the kid! 22:26
22:26 pdcawley left
jnthn didn't drink a milkshake in some years :) 22:26
22:28 pdcawley joined 22:29 adu left
vendethiel .tell lizmat no, the replacement is fixed. but I'd need to generate stuff like <before "."x$len-1> ... stuff 22:31
yoleaux vendethiel: I'll pass your message to lizmat.
22:33 kivutar left
vendethiel and yeah I know it'd be easy to build my own, but then it adds a lot of lines to my answer :( 22:38
22:45 ssutch joined 22:46 sorear left 22:47 ssutch left, ssutch_ joined, sorear joined 22:51 ssutch_ left 22:55 itz left
BenGoldberg m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,$_) = "z" for @i; say $a 23:01
camelia rakudo-moar ce6acf: OUTPUT«===SORRY!===␤Start of substr out of range. Is: 3, should be in 0..2␤»
BenGoldberg m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,$_,1) = "z" for @i; say $a
camelia rakudo-moar ce6acf: OUTPUT«fzozaz␤»
vendethiel BenGoldberg: I can just use $a[$_] = "z" at that point though, can't I ? 23:02
m: my $a = "foobar"; my @i = 1, 3, 5; $a[$_] = "z" for @i; say $a 23:03
camelia rakudo-moar ce6acf: OUTPUT«===SORRY!===␤Index out of range. Is: 1, should be in 0..0␤»
vendethiel fair enough, uh
gist.github.com/Nami-Doc/67dc9304a75d4980b16d
BenGoldberg++
23:12 ssutch joined
BenGoldberg In neither perl5 nor perl6 can strings be treated as arrays of characters. That's a C-ism that was never considered necessary or useful. 23:13
vendethiel BenGoldberg: some languages have it that way and they're in no way comparable to C 23:18
23:20 hoverboard left
BenGoldberg It's really a question of what's considered useful. Perl5 (or was it perl4?) decided if you used a string as an array, you were trying to manipulate a global array whose name was the same as the contents of the string. 23:20
geekosaur ??? 23:21
perl5 treats strings the same way perl3 did
and perl4
BenGoldberg @a = 'foo'; $b = 'a'; print $b->[0]; # prints foo 23:22
23:22 hoverboard joined
vendethiel wtf? 23:22
geekosaur oh, I see, you mean symbolic refs
BenGoldberg That's in perl5, if you don't have strict enabled.
vendethiel that's probably the biggest WTF I've ever seen in a language
BenGoldberg heh 23:23
geekosaur actually symbolic refs are fairly old
BenGoldberg Pre perl 4?
geekosaur in perl they're a perl5-ism
(perl4 didn't have refs at all) 23:24
BenGoldberg Ahh
geekosaur but in other languages they go back to the mid 1950s
and are mostly looked on these days as an ancient and bad idea
BenGoldberg One of many reasons for 'use strict' in perl5 code.
23:40 denis_boyun_ left 23:42 hoverboard left 23:49 SevenWolf joined 23:55 telex left 23:56 telex joined