»ö« 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 wrongParse failedFAILED 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«54» | ||
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/rakudo-star-2014.04-moar.msi (7.5MB) | |||
froggs.de/perl6/rakudo-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 aku | |||
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/Q9Z0XGfxLiVariable '&prefix:<|>' is not declaredat /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_PpVariable '$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
|