»ö« 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:02
ggherdov left
|
|||
leont | I'm not sure how to deal with me «Failed to find '_testing/source1' while trying to do '.d'» error | 00:03 | |
00:05
ggherdov joined
00:06
noganex joined
00:08
vendethiel- joined
00:11
btyler joined,
moritz_ joined,
yukko joined,
cosimo_ joined
00:12
noganex_ left,
moritz left,
btyler_ left,
vendethiel left,
cosimo left,
yukko_ left,
renormalist left
00:13
nbrown__ joined
00:17
nbrown__ left
00:20
ab5tract left
00:34
telex left
|
|||
dj_goku | has anyone ever thought about writing tests for all the code found on rosetta code for perl6? | 00:35 | |
00:35
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
00:36
telex joined
|
|||
flussence | like github.com/perl6/roast/tree/master/rosettacode ? | 00:37 | |
there's not much to see there... | |||
00:38
jerrycheung joined
|
|||
dj_goku | flussence: kind of, but all the pages. | 00:38 | |
00:43
dayangkun joined
00:47
nbrown__ joined
00:50
nbrown___ joined
00:52
nbrown__ left,
yoleaux left
|
|||
japhb | Gah, I'm getting myself twisted in knots. How would you define a token that can be one or more characters, each of which can be any character except whitespace or "]"? | 00:53 | |
For some reason I keep getting the syntax a little wrong and causing barfage. | |||
firefish5000 | I would think <-[ \s \] ]>+ or <![ \s \] ]>+ | 00:59 | |
01:00
FROGGS_ joined
|
|||
japhb | THANK YOU. God, that was finicky. | 01:00 | |
firefish5000 | Your welcome, im glad i was usefull! | 01:01 | |
By deleting the *.moarvm created by panda durring installs, will the modules be built on every run like... usual? | 01:02 | ||
01:03
FROGGS left
|
|||
firefish5000 | on every perl6-m run, that is. | 01:03 | |
01:04
avuserow joined
01:05
nbrown___ left
01:10
avuserow left
01:16
tony-o left
01:18
bcode is now known as u
01:23
avuserow joined
01:26
u is now known as bcode
01:27
ab5tract joined
01:31
ab5tract left
|
|||
grondilu looks at roast/rosettacode and thinks what should be done is role rosettacode { proto solve-task(|) {*}; method expected-output returns Str {...} } or somehting like that. | 01:37 | ||
01:41
yeahnoob joined
01:45
pitterfumped joined,
pitterfumped left
01:46
leont left
02:00
FROGGS__ joined
02:02
noganex_ joined
02:04
FROGGS_ left
02:05
noganex left
|
|||
japhb | .tell jnthn My current biggest concurrency pain is that errors that occur inside a Promise will show a backtrace starting at the .result call -- so you can't see where the actual problem occurred, only where it was *noticed*. | 02:10 | |
ENOYOLEAUX | |||
(Above behavior seen on r-j, not tested on r-m yet) | 02:11 | ||
02:19
chenryn joined
02:36
lastofthe left
|
|||
dj_goku | is there a hosted roaster website? | 02:51 | |
02:54
kaleem joined
|
|||
grondilu | m: (my @ = Mu) but role {} | 02:57 | |
camelia | rakudo-moar cf69d8: OUTPUT«Unhandled exception: This type does not support elems at src/gen/m-CORE.setting:8762 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:REIFY:34) from src/gen/m-CORE.setting:9232 (/home/p6eval/rakudo-inst-2/languages/perl6/ru…» | ||
02:57
jerrycheung left
02:59
raiph joined
|
|||
grondilu | n: (my @ = Mu) but role {} | 03:02 | |
camelia | ( no output ) | ||
03:06
kurahaupo is now known as kurahaupo_
03:13
yeahnoob left
03:18
yeahnoob joined,
rindolf joined
03:22
yeahnoob left
03:25
yeahnoob joined
03:26
xfix left,
jerrycheung joined
03:27
yeahnoob_ joined
03:28
xfix joined,
xfix left,
xfix joined
03:29
yeahnoob_ left,
yeahnoob_ joined
03:30
yeahnoob left
03:36
jack_rabbit joined
03:43
xenoterracide left
03:44
xenoterracide joined
|
|||
dalek | kudo/nom: 70d08dd | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Convert two more END-related things in POD parsing It's finish now |
03:46 | |
kudo/nom: 6869029 | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Fix paragraph and abbreviated comments Except for table comments, that is |
|||
kudo/nom: a3228b9 | (Rob Hoelz)++ | src/Perl6/ (3 files): Fix table POD |
|||
03:56
yeahnoob_ left
03:57
yeahnoob joined
04:04
jack_rabbit left
04:05
mberends joined,
kaleem left
|
|||
ingy | m: 42.chars | 04:05 | |
camelia | ( no output ) | ||
ingy | m: say 42.chars | ||
camelia | rakudo-moar cf69d8: OUTPUT«2» | ||
ingy | that weirds me out | ||
I guess its all in the name of perl strings are numbers are strings are… | 04:06 | ||
ingy is porting a little coffeescript to p6 :) | 04:07 | ||
04:16
Rudy__ joined,
Rudy__ left
04:17
revdiablo left
04:18
revdiablo joined,
BenGoldberg left,
PlanetJelly joined
|
|||
ingy | m: "thingy" ~~ / (<[aeiou]> *) / | 04:28 | |
camelia | ( no output ) | ||
ingy | m: say "thingy" ~~ / (<[aeiou]> *) / | ||
camelia | rakudo-moar cf69d8: OUTPUT«「」 0 => 「」» | ||
ingy | m: say "thingy" ~~ / (<[aeiou]> +) / | ||
camelia | rakudo-moar cf69d8: OUTPUT«「i」 0 => 「i」» | ||
ingy | why?? | ||
geekosaur | at a guess, it can match with count 0 at the start | 04:32 | |
04:32
bjz left
04:33
chenryn left
04:36
xenoterracide left
04:43
xenoterracide joined
|
|||
ingy | geekosaur: yeah, seems to be. thx | 04:45 | |
04:50
chenryn joined
04:55
raiph left
|
|||
ingy | geekosaur: github.com/ingydotnet/pig-latin-ac...er/lib/Pig | 04:55 | |
take a look at github.com/ingydotnet/pig-latin-ac.../Latin.pm6 | |||
and github.com/ingydotnet/pig-latin-ac...t/test.pl6 | |||
it works but it's just my n00b p6 code | 04:56 | ||
04:57
xenoterracide left,
MikeFair joined
04:59
MikeFair left
05:00
raiph joined
|
|||
PlanetJelly | Perl 6 is amazing! | 05:02 | |
05:02
PlanetJelly left
05:07
virtualsue joined
05:08
kaare_ joined
05:12
virtualsue left
|
|||
grondilu | m: role Foo { method WHICH { "Foo!" } }; (my %h{Foo}){1 but Foo}++; say %h.perl; # this works fine | 05:16 | |
camelia | rakudo-moar a3228b: OUTPUT«Hash[Any,Foo].new(1 => 1)» | ||
grondilu | m: role Foo { method WHICH { "Foo!" } }; (my %h{Foo}){[1] but Foo}++; say %h.perl; # this doesn't | ||
camelia | rakudo-moar a3228b: OUTPUT«cannot stringify this in method at_key at src/gen/m-CORE.setting:10031 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2796 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2831 in block <unit> at /tmp/i3Px_aFCNl:1» | ||
grondilu realises that Foo.WHICH can not overload Int.WHICH anyway. | 05:29 | ||
05:33
[Sno] joined
05:35
sivoais joined
05:42
anaeem1_ joined
|
|||
dalek | kudo/nom: e3d66c2 | TimToady++ | src/core/GatherIter.pm: use non-relocatable values for gather sentinels Presuming that Any.new.WHICH has a more stable address than [] does. Anyway, passes the same tests, so appears to be no worse. |
05:44 | |
05:52
domidumont joined
05:56
gfldex joined
05:58
yeahnoob left
05:59
yeahnoob joined
06:00
virtualsue joined
06:05
darutoko joined
06:13
gfldex left
06:19
yeahnoob left
06:24
tardisx left,
virtualsue left
|
|||
lizmat | leont: .d return a Failure object if the path does not exist, True if it exists and it is a directory, and False if it exists and not a directory | 06:24 | |
06:25
tardisx joined,
mr-foobar joined
|
|||
lizmat | the easiest way to check for failure of to check for definedness or boolean context | 06:26 | |
s/of/is | |||
06:30
kurahaupo_ left,
davido_ joined
|
|||
davido_ | Why is ~ used for concatenation? | 06:30 | |
nwc10 | davido_: Can't use . (from Perl 5) because . is used for method calls. | 06:31 | |
grondilu | m: my %h{Parcel}; %h{().Parcel}++ | ||
camelia | rakudo-moar a3228b: OUTPUT«No such method 'succ' for invocant of type 'Parcel' in sub postfix:<++> at src/gen/m-CORE.setting:1943 in block <unit> at /tmp/Lf2G3TlE7k:1» | ||
nwc10 | davido_: as to why ~ rather than something else, I'm not sure if there is an obvious something else | ||
06:32
kaleem joined
|
|||
nwc10 | and for a few years early in the spec it was _ not ~ | 06:32 | |
and that was messier | |||
06:32
yeahnoob joined
|
|||
ingy | but why not ' . ' | 06:32 | |
? | |||
06:32
virtualsue joined
|
|||
nwc10 | _ was a pain because significant whitespace was needed | 06:32 | |
ingy | 'foo . bar' is error | ||
TimToady | because it's better this way :) | ||
nwc10 | also, I suspect that TimToady prefers golfers to Guido | 06:33 | |
or his inner self does | |||
TimToady | but mainly because ~ looks like a piece of string | ||
ingy | TimToady: can you do a quick review of github.com/ingydotnet/pig-latin-ac.../Latin.pm6 | 06:34 | |
for me and davido_ | |||
TimToady | you should use .words instead of .split, esp since I just made it 6 times faster | 06:35 | |
ingy | I'll see if my old p6 supports it | 06:36 | |
TimToady | also join(' ') can just be .Str, or prefix ~ | ||
there's that string again... | |||
ingy | but also since the point is mostly ports between 10 langs, not sure I want it | ||
TimToady | it's terribly imperative, from an FP point of view :) | 06:37 | |
ingy | cool | ||
also is there a better way to github.com/ingydotnet/pig-latin-ac...est.pl6#L1 ? | 06:38 | ||
TimToady | also, stylewise, if you use .map: you don't need the ); at the end | ||
ingy | .map seemed to require ( | ||
TimToady | see the colon there | ||
06:38
mr-fooba_ joined
|
|||
ingy | are you saying I can have ( and not )? | 06:38 | |
Timbus | .map does, .map: doesnt | 06:39 | |
ingy | k | ||
TimToady | doesn't use lib 'lib' work? | ||
ingy | that's nice | ||
no | |||
well not here | |||
let me get a --version | |||
TimToady | well, you'd have to ask lismat++ | ||
*z | |||
ingy | forgive this: This is Rakudo Perl 6, version 2011.07 built on parrot 3.6.0 0 | 06:40 | |
Timbus | omg | ||
TimToady | um... | ||
06:40
FROGGS__ is now known as FROGGS
|
|||
nwc10 | it's a package from a distro? | 06:40 | |
ingy | what's the cool way to install a new p6 quick | ||
Timbus | take that to a museum | ||
TimToady | rakudobrew maybe | ||
FROGGS | morning | ||
sergot | hi o/ | 06:41 | |
TimToady | or just clone the github repo | ||
06:41
mr-foobar left
|
|||
Timbus | git clone rakudo; perl Configure.pl --gen-moar; make install | 06:42 | |
FROGGS | firefish5000: a normal perl6-m run does not create .moarvm files... only when you set --target=mbc and --output=path/to/file.pm.moarvm | ||
ingy | Timbus: ☺ | 06:45 | |
building 4014-08 ★ | 06:46 | ||
06:46
dayangkun left
|
|||
Timbus | let us know how it runs after 2000 years of improvement :P | 06:47 | |
FROGGS | I'd like to know what backend is in use in 2k years :o) | ||
Timbus | 2-bit computer compatibility layer | 06:48 | |
ingy | :P | ||
Timbus | base 2* computer | ||
ingy | Timbus: does `make install` install next to the `perl` that did the Configure.PL? | 06:49 | |
.pl | |||
ingy hopes so | |||
TimToady | no, merely installs in install/bin | ||
Timbus | it installs into a local folder | ||
06:50
yeahnoob left
|
|||
TimToady | you can make a symlink to that if you like | 06:50 | |
Timbus | i made a symlink to it in one of my /bin folders | ||
.. there is an echo in here, | |||
ingy | that's so ghetto :\ | ||
06:51
dayangkun joined
|
|||
TimToady | we've had a lot of trouble with people running old versions :P | 06:51 | |
Timbus | self contained programs are non-ghetto in linux, these days | ||
ingy | I remember working to solve this with you guys like 4000 years ago | ||
moritz_ | ingy: you can configure a --prefix | 06:52 | |
ingy | moritz_: it should default to next to the perl used (imho) | 06:53 | |
moritz_ | ingy: nope; many folks don't have the permessions to do that | ||
ingy: and since you need "make install" to use perl6 from outside the build directory, defaulting to somewhere you can write to is essential | 06:54 | ||
06:54
virtualsue left
|
|||
ingy | you could certainly check the writability, and say 'please use --prefix' | 06:55 | |
like cpanm would do | |||
or about anything else | |||
I'll gripe about this another time | 06:56 | ||
too late now | |||
TimToady | or maybe too early :) | 06:57 | |
ingy | $ /home/ingy/bin/perl6 | 07:00 | |
/home/ingy/bin/perl6: 2: exec: /home/ingy/rakudo-star-2014.08/install/bin/moar: not found | |||
I used: perl Configure.pl --backend=moar --gen-moar; make install | 07:01 | ||
07:02
zakharyas joined
|
|||
ingy | grr. the install dir is non-relocatable? | 07:03 | |
FROGGS | yes | 07:04 | |
ingy | working now. | 07:05 | |
ingy tries in vain to harness the pain | 07:06 | ||
but it melts away :[ | |||
07:06
yeahnoob joined
|
|||
FROGGS | I just extend my PATH to /home/froggs/dev/rakudo/install/bin... | 07:07 | |
so that I can rename the rakudo dir in case I test a star release | 07:08 | ||
I don't favor symlinks from /usr/local/bin/ for that reason | |||
but I often have different versions of rakudo on my box, and others might stick longer to the same compiler version, or at list stick to only one version at a time | 07:09 | ||
would be nice if a bunch of packagers would join our midst :/ | 07:10 | ||
grondilu | m: my %h{Parcel}; %h{().Parcel} += pi; say %h.keys; | ||
camelia | rakudo-moar e3d66c: OUTPUT«Nil» | ||
grondilu | m: my %h{Parcel}; %h{().Parcel} += pi; say %h.values; | ||
camelia | rakudo-moar e3d66c: OUTPUT«Nil» | ||
grondilu | ^can't I use an empty parcel as key? | 07:11 | |
m: (my %h{Parcel}){().Parcel} = pi; say %h.values; | |||
camelia | rakudo-moar e3d66c: OUTPUT«Nil» | ||
FROGGS | I thought only strings are supported atm as keys... | 07:12 | |
grondilu | it's quite recent | ||
FROGGS | m: (my %h{Parcel}){(42,)} = pi; | 07:13 | |
camelia | rakudo-moar e3d66c: OUTPUT«cannot stringify this in method at_key at src/gen/m-CORE.setting:10031 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2796 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2836 in block <unit> at /tmp/bcTw0V8Ida:1» | ||
grondilu | m: say (my %h{Parcel}){$(42,)} = pi; # you need to itemize | 07:14 | |
camelia | rakudo-moar e3d66c: OUTPUT«3.14159265358979» | ||
grondilu | hum | 07:15 | |
that gave me this idea: | |||
m: say (my %h{Parcel}){$(Nil,)} = pi; | |||
camelia | rakudo-moar e3d66c: OUTPUT«3.14159265358979» | ||
grondilu | m: (my %h{Parcel}){$(Nil,)} = pi; say %h.values | ||
camelia | rakudo-moar e3d66c: OUTPUT«3.14159265358979» | ||
grondilu | FROGGS++ :) | 07:16 | |
FROGGS | ahh :o) | ||
m: my %h{Parcel}; %h{().Parcel.item} += pi; say %h.keys | 07:17 | ||
camelia | rakudo-moar e3d66c: OUTPUT«» | ||
FROGGS | m: my %h{Parcel}; %h{().Parcel.item} += pi; say %h.values | ||
camelia | rakudo-moar e3d66c: OUTPUT«3.14159265358979» | ||
FROGGS | okay | ||
07:18
jerrycheung left
07:19
DarthGandalf left
07:22
DarthGandalf joined
|
|||
grondilu | that's actually better since $(Nil,) is actually not empty | 07:23 | |
m: say .elems for $(Nil,), ().Parcel.item | |||
camelia | rakudo-moar e3d66c: OUTPUT«10» | ||
07:24
yoleaux joined,
ChanServ sets mode: +v yoleaux
07:32
virtualsue joined
|
|||
ingy | TimToady: have a look at github.com/ingydotnet/pig-latin-ac...Latin.cafe for comparison. The only thing I like better about Perl6 over CafeScript is that Perl6 actually exists :) | 07:32 | |
the idea is to see if we can gen all the langs from .cafe | 07:33 | ||
ingy heads to bed before #perl6 shoots him full of holes… | |||
07:35
davido_ left
|
|||
moritz_ has a chronical dislike for languages that don't have explicit variable declarations | 07:36 | ||
Timbus | the exact same thing written in the exact same way in two not-exact-same languages | 07:37 | |
ingy | Timbus: I don't grok the implicit statement I suspect you were making | 07:40 | |
Timbus | ingy, all you are comparing is syntax, not really expressiveness or structure. i cant see 'the difference' in the languages here | 07:44 | |
FROGGS | yeahnoob: have you seen that TimToady++ was able to make .comb (what .words uses) about sic times faster? this will make your original code faster, though I guess it won't be faster than the grammar version | 07:45 | |
Timbus | i thought he just made .words faster by not using .comb | 07:46 | |
FROGGS | ohh | ||
07:46
domidumont left
|
|||
FROGGS | Timbus: yes of course, you are right | 07:46 | |
yeahnoob | oh? I will try it. Just replace ".words" with ".comb" ? | ||
U should know im a 100% newbie | |||
Timbus | no, use .words | 07:47 | |
FROGGS | .words is faster now | ||
07:47
bjz joined
|
|||
yeahnoob | ohaha | 07:47 | |
FROGGS | so you would have to installed the latest rakudo compiler... | ||
but you are using rakudo star, correct? | |||
yeahnoob | rakudo-star yes | 07:48 | |
ingy | Timbus: I'm not making any syntax comparisons. That's not the point of the repo. The point is porting a program (that uses common OO idioms) around to different common OO languages to see what information would be needed to generate all of them. | ||
yeahnoob | for a noob, it's hard to use the newest rakudo on github's head version | ||
07:49
SamuraiJack joined
|
|||
FROGGS | yeahnoob: yeah, that I'd say you stick to the grammar version :o) | 07:49 | |
ingy | & | 07:50 | |
yeahnoob | IS the grammar syntax more lower level than .words in Perl 6? | 07:51 | |
07:51
domidumont joined
|
|||
FROGGS | yeahnoob: it is just a different approach | 07:52 | |
yeahnoob | Ola | ||
FROGGS | grammars are so powerful, clean and nice to write that I cannot call them low level | ||
but it fits the task better | |||
yeahnoob | FROGGS: I see that now.:) | 07:53 | |
FROGGS | because in the other approach you fetched lines... and that is pretty expensive because we read a chunk, search for the newline character(s), then read another chunk or split what we have and remember the remaining chars for the next line to concat them... | 07:54 | |
pretty expensive operation... | 07:55 | ||
07:56
bjz left,
bjz joined
08:00
grondilu left
08:01
bjz left
08:02
grondilu joined
08:04
kurahaupo joined
08:05
moritz_ is now known as moritz,
colomon left
08:06
domidumont left
|
|||
lizmat | commute to Swiss Perl Workshop& | 08:06 | |
yoleaux | 3 Sep 2014 23:01Z <japhb> lizmat: I saw your benchmark in the comments for the List.ACCEPTS optimization. Care for a perl6-bench commit bit? :-) | ||
08:06
colomon joined
|
|||
lizmat | .tell japhb I'll take a bit :-) | 08:06 | |
yoleaux | lizmat: I'll pass your message to japhb. | ||
08:07
lizmat left,
domidumont joined
|
|||
moritz | ... in a bit | 08:08 | |
multi method grep(Mu $test) is rw { | 08:09 | ||
self.map({ $_ if $_ ~~ $test }); | |||
} | |||
LHF: check if this can be optimized to self.map({ $_ if $test.ACCEPTS($_) }) | |||
and benchmark if it makes any difference | |||
08:10
fhelmberger joined,
raiph left
|
|||
moritz | same with grep-index, first etc. | 08:10 | |
08:11
colomon left
|
|||
moritz | in fact, it'd seem to me that all instances of ~~ in src/core/Any could be replaced either with .ACCEPTS or with nqp::istype() | 08:11 | |
yeahnoob | FROGGS: I think what you said about the grammar should be added into the "Using Perl6" book. | ||
08:11
colomon joined
|
|||
FROGGS | yeahnoob: would you mind taking care of that? | 08:12 | |
yeahnoob | But English is not my native language. I'm in China, only Chinese very well...so... | 08:14 | |
moritz | as far as I am concerned, "Using Perl 6" is dead, and new doc efforts should go to doc.perl6.org | ||
though I won't stop anybody from contributing anywhere | |||
yeahnoob | FROGGS: my english = "chinese-style english" everywhere; | 08:15 | |
nine | yeahnoob: documentation in non-native English is better than no documentation. It's much easier to improve existing documentation than to write new. | 08:17 | |
08:20
ab5tract joined
08:24
jimmyz joined
|
|||
jimmyz | yeahnoob: 您好 :P | 08:24 | |
yeahnoob: 北京 杭州? | 08:25 | ||
yeahnoob | jimmyz: Let's change #perl6 to chinese channel. :) 我在成都。您好:) | ||
jimmyz | 额 | ||
moritz | if you bring in 1 billion perl 6 hackers, by all means :-) | 08:26 | |
(or even a million would do for a start :-) | |||
jimmyz | 这里有几个中国人 | ||
。 | 08:27 | ||
08:27
ab5tract left
|
|||
yeahnoob | Chinese people love QQ all the time, but not IRC channel. | 08:31 | |
xiaomiao | which is good ;) | ||
nine | yeahnoob: everybody loves "some crappy, proprietary, centralized messaging service" all the time, but not IRC channel... | 08:32 | |
xiaomiao | nine: that crappy proprietary thing supports UTF-8 cleanly and has a mobile phone client | 08:33 | |
FROGGS | my irc clients do utf8 properly, and I've also got a phone client | 08:34 | |
nine | xiaomiao: both true for IRC AFAICT. At least I could see (not read) your UTF-8 characters and there's plenty of mobile clients. | ||
xiaomiao | nine: well, IRC servers are encoding-agnostic, and IRC clients ... hrm ... | ||
moritz | IRC clients do whatever they please | 08:35 | |
xiaomiao | yes, so the results are mostly undefined | 08:38 | |
moritz | though detecting well-formed UTF-8 is pretty easy | 08:40 | |
so many clients get that right | |||
as do the logs: irclog.perlgeek.de/perl6/2014-09-04#i_9295629 | |||
jimmyz | 你们离题了。。。 | 08:41 | |
xiaomiao | moritz: hmm, looking at e.g Thunderbird suggests that UTF* is a highly complex experimental thing that no one can implement completely | 08:42 | |
08:44
dakkar joined
|
|||
jimmyz | 不是关于 Perl 6 的主题争论,不应该在这里吧 :) | 08:46 | |
08:50
jimmyz left
|
|||
nwc10 wonders how much Chinese jnthn has managed to pick up | 08:58 | ||
08:59
chenryn left
|
|||
FROGGS | nwc10: depends on the size of the car I'd say | 09:00 | |
09:01
virtualsue left
09:02
chenryn joined,
donaldh joined
09:06
petercommand left
09:14
Ven joined,
kurahaupo left
|
|||
Ven | o, #perl6 | 09:16 | |
nwc10 | FROGGS++ | 09:22 | |
09:36
yeahnoob left
09:37
domidumont left
|
|||
dalek | osystem: 95b8739 | grondilu++ | META.list: Adding Clifford Geometric Algebra module. Works fine locally on a recent MoarVM, and is actually quite fast when compared to version 0.2.3, so I add this version 0.3.0 |
09:38 | |
grondilu | ^ so I added this. I didn't want to add previous versions because it was slow and buggy. But this one seems to work fine. | ||
09:39
woshty joined
|
|||
Ven | .tell hoelzro github.com/grondilu/clifford/blob/...tor.pm6#L5 :( | 09:45 | |
yoleaux | Ven: I'll pass your message to hoelzro. | ||
Ven | grondilu++ | ||
09:46
denis_boyun joined
09:49
domidumont joined
09:51
virtualsue joined
|
|||
timotimo | o/ | 09:55 | |
FROGGS | "good morning" timotimo :P | 09:57 | |
timotimo | :\ | ||
could be better | |||
FROGGS | grondilu++ | 09:58 | |
tadzik | why the quotes, it is before noon :) | ||
FROGGS | hehe | ||
timotimo | thank you tadzik :) | ||
FROGGS | timotimo: just turn it into a good day instead :o) | ||
timotimo | will try my best | ||
FROGGS | "Do. Or do not. There is no try." - a Jedi | 10:00 | |
Ven | "stop smoking pot" - said jedi's teacher | 10:01 | |
10:02
spider-mario joined
|
|||
timotimo | linux is "no matter what you do, you can always find a Hard Way to do it" | 10:02 | |
timo is "let's do it the hard way! it'll be more elegant!" | |||
Ven | "Ohhh. Great philosopher. Pseudo-philosophical discussions does not make one great." | 10:03 | |
- yoda | |||
10:03
spider-mario left
|
|||
FROGGS | timotimo: I usually do the very easy way and maybe improve it later :o) | 10:03 | |
10:05
spider-mario joined
|
|||
timotimo | there is no "later" in this case :) | 10:16 | |
10:22
Ven left
|
|||
colomon | NativeCall does not seem to have fixed itself. | 10:23 | |
FROGGS | no | ||
timotimo | that would have been nice ... | 10:24 | |
10:27
domidumont left
|
|||
grondilu | .oO( subset Tuple of Parcel where { not [or] @$_ »~~» Scalar } ) |
10:34 | |
m: subset Tuple of Parcel where { not [or] @$_ »~~» Scalar }; say $_ ~~ Tuple for $(1, 3), $(^10), $(my @ = 4, 5) | |||
camelia | rakudo-moar e3d66c: OUTPUT«TrueFalseFalse» | ||
grondilu | m: subset Tuple of Parcel where { not [or] @$_ »~~» Scalar }; say $_ ~~ Tuple for $(1, 3), $(^10,), $(my @ = 4, 5) | 10:35 | |
camelia | rakudo-moar e3d66c: OUTPUT«TrueTrueFalse» | ||
grondilu | m: subset Tuple of Parcel where { not [or] @$_ »~~» Scalar }; say $_ ~~ Tuple for $(1, 3), $(^10,), $(my @ = 4, 5), $(my $ = 43, 42) | ||
camelia | rakudo-moar e3d66c: OUTPUT«TrueTrueFalseTrue» | ||
grondilu | my $p = $(my $ = 1, 5); say $p.WHICH; say $p »~~» Scalar | 10:37 | |
m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p »~~» Scalar | |||
camelia | rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|67314928)(Int|5)False False» | ||
grondilu | m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p[0] ~~ Scalar | ||
camelia | rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|65143832)(Int|5)False» | ||
grondilu | ^ seems wrong | 10:38 | |
moritz | m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p[0].VAR ~~ Scalar | 10:39 | |
camelia | rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|82195512)(Int|5)True» | ||
grondilu | m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p[0].WHICH | ||
camelia | rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|58115080)(Int|5)Int|1» | ||
10:44
leont joined
10:46
telex left
|
|||
grondilu | m: say (my $ = 1).WHICH | 10:48 | |
camelia | rakudo-moar e3d66c: OUTPUT«Int|1» | ||
10:48
telex joined
|
|||
FROGGS | m: class X::Foo is Exception { method message { "bar" } }; say X::Foo.new # is it meant to fail like that? | 10:48 | |
camelia | rakudo-moar e3d66c: OUTPUT«barError while creating backtrace: Op 'backtrace' needs an exception object in method new at src/gen/m-CORE.setting:11652 in method backtrace at src/gen/m-CORE.setting:11803 in code at src/gen/m-CORE.setting:11813 in method gist at s…» | ||
10:55
anaeem1_ left
|
|||
leont | What is the way to do private methods? «my method» no longer seems to work as I expected to… (it worked a year ago when I last touched this code) | 10:58 | |
masak | leont: method !foo | 10:59 | |
leont: and then $obj!foo | |||
grondilu | S12:235 | ||
synopsebot | Link: perlcabal.org/syn/S12.html#line_235 | ||
leont | That's why I tried, but I'm getting an "attribute not not declared" exception | 11:00 | |
masak | m: class C { method !foo { say "OH HAI" }; method bar { self!foo } }; C.new.bar | 11:01 | |
camelia | rakudo-moar e3d66c: OUTPUT«OH HAI» | ||
masak | works for me :) | ||
leont | Ah, yes that works for me | ||
masak | suggest doing it that way, then ;) | ||
11:01
chenryn left
|
|||
leont | It seems the $.method syntax doesn't extend to $!method, which is what I had expected | 11:02 | |
masak | it doesn't. | ||
in fact, those are two namespaces, so you can have `$!attr` and `method !attr` at the same time. | |||
m: class C { has $!foo = "wow!"; method !foo { say "lol!" }; method bar { say $!foo; self!foo } }; C.new.bar | 11:07 | ||
camelia | rakudo-moar e3d66c: OUTPUT«wow!lol!» | ||
carlin | was someone investigating the NativeCall test failure? It's caused a lot of fallout in the smoketests by the looks of things | 11:10 | |
11:10
mberends left
11:13
anaeem1_ joined
|
|||
FROGGS | carlin: I was | 11:19 | |
it is due to the Parcel patches | |||
11:32
chenryn joined
11:33
pmurias joined,
SamuraiJack left
|
|||
pmurias | masak: re choosing the editor to integrate things the grammar creation support into, the hard part won't be choosing the editor that has the avalible hooks, but choosing one that all the various Perl 6 programmers are fine with using | 11:35 | |
11:35
Woodi left
|
|||
masak | pmurias: (a) there is no such editor, (b) I don't see why that has to be a criterion. :) | 11:36 | |
11:37
domidumont joined
11:38
chenryn left
|
|||
timotimo | my desktop boots again! | 11:39 | |
11:40
chenryn joined
|
|||
colomon doesn't put his books on the desktop | 11:46 | ||
*boots | |||
sigh. nothing like ruining a terrible joke with a typo | |||
11:46
Gruber joined
11:47
nebuchad` joined
11:48
gtodd1 joined
11:49
bjz joined
11:50
erdic_ joined,
exodist_ joined
|
|||
timotimo | :) | 11:50 | |
11:51
daxim left,
erdic left,
gtodd left,
ivanshmakov left,
Grrrr left,
Khisanth left,
nebuchadnezzar left,
bcode left,
Exodist left,
bcode joined,
bcode left,
bcode joined,
erdic_ is now known as erdic,
khisanth_ joined,
bcode left,
daxim joined
11:54
bcode joined
|
|||
FROGGS | *g* | 11:54 | |
hoelzro | Ven: wow, that's a bad one | 11:55 | |
yoleaux | 09:45Z <Ven> hoelzro: github.com/grondilu/clifford/blob/...tor.pm6#L5 :( | ||
hoelzro | morning #perl6 | ||
11:56
chenryn left
|
|||
moritz | panda bootstrap is broken here, with latest rakudo + nqp + moar | 11:56 | |
perlpunks.de/paste/show/5408539f.531a.82 | 11:57 | ||
I'd guess the parcel flattening change has caused some dependency calculation thingy to fail | |||
or.. something | 11:58 | ||
wait, it actually compiled it correctly | |||
ah no, my panda is too old. Never mind | |||
all is well. | 11:59 | ||
timotimo | phew. | ||
japhb: do you think www.flotcharts.org/ could be an interesting alternative to jqplot? | 12:12 | ||
PerlJam | Good morning all | 12:14 | |
timotimo | .tell japhb www.flotcharts.org/ seems to be a quite nice plotting library for javascript and it seems to be in more active development than jqplot | 12:16 | |
yoleaux | timotimo: I'll pass your message to japhb. | ||
12:22
amkrankr1leuen left
12:26
Rotwang joined
12:29
amkrankruleuen joined,
amkrankruleuen left,
amkrankruleuen joined
|
|||
moritz | am I correct in assuming that CArray doesn't know its own length? | 12:36 | |
12:36
xenoterracide joined
|
|||
moritz | m: sub a(*@a) { say @a.perl }; say a 1..5 | 12:37 | |
camelia | rakudo-moar e3d66c: OUTPUT«Array.new(1, 2, 3, 4, 5)True» | ||
PerlJam | I got the impression from the one line description in ops.markdown that nqp::replace() would modify its first arg (the string), but reality seems to differ. Is there an op that will modify a string in-place? | 12:44 | |
moritz | I'm pretty sure there isn't | 12:45 | |
because parrot at least has immutable strings | |||
12:46
xenoterracide left
|
|||
dalek | p: aa79786 | duff++ | docs/ops.markdown: Improve description of nqp::replace |
12:50 | |
volaj: f923faf | moritz++ | lib/NativeCall.pm6: fix nativecast test failures since the built-in slicing does not like our CArray, provider our own (potentially slicing) multi postcircumfix:<[ ]>. No idea if this is the right fix. Maybe TimToady++ has a better idea. |
12:51 | ||
moritz | eeks | 12:53 | |
sergot | moritz++ | ||
moritz | I made other tests fail :( | ||
# expected: 23.45 | |||
# got: 23.45 | |||
[Coke] | O_o | 12:54 | |
sergot | o0 | ||
moritz | why, thank you very much | ||
[Coke] | PerlJam++ nqp docs! | ||
sergot | moritz: cant we do this somehow in the .t file? | 12:55 | |
moritz | sergot: do what? | ||
sergot | override [] postcircumfixes | ||
moritz | sergot: that doesn't fix it in other user's code | ||
12:56
anaeem1_ left
|
|||
sergot | umm, right, shame on me | 12:56 | |
moritz | oh, I see what the problem is | ||
23.45 is actually a one-element parcel containing that number | 12:57 | ||
and that numifies to 1 | |||
but stringifies to 23.45 | |||
m: say Range ~~ Positional | 12:59 | ||
camelia | rakudo-moar e3d66c: OUTPUT«True» | ||
moritz | m: say Range ~~ Iterable | ||
camelia | rakudo-moar e3d66c: OUTPUT«True» | ||
12:59
kurahaupo joined,
dwarring left
|
|||
dalek | volaj: 62c5f9d | moritz++ | lib/NativeCall.pm6: Fix tests turns out that we must not return a Parcel for a single-element slice/array access |
13:01 | |
13:02
SamuraiJack joined
|
|||
PerlJam | moritz: Why *mustn't* we return a Parcel for a single-element slice? That seems like the right thing to me. | 13:03 | |
colomon | PerlJam: I'm guessing because it adds overhead for by far the most common case? | 13:06 | |
[Coke] | just saw many methods doing that dance in Str yesterday. if multiple return values, something listy, but a single value? return the item only | 13:07 | |
er, that's a slightly different dance, looking at the patch | |||
PerlJam | Still ... both dances feel wantarray-ish to me and that feels wrong. | 13:08 | |
FROGGS | moritz++ # it took me hours and I was searching in a complete different direction :o( | 13:09 | |
13:09
lastofthe joined
|
|||
colomon | moritz++ | 13:09 | |
FROGGS is happy | 13:10 | ||
13:11
Rotwang left
13:13
SamuraiJack_ joined
|
|||
leont | Hmmmm, IO::Pipe isn't implemented yet? That's a bummer | 13:14 | |
13:14
PhilH left,
philh_ joined
13:17
eiro left
|
|||
leont | And shouldn't there be a list form of shell? | 13:17 | |
(or would that be called differently | 13:18 | ||
) | |||
colomon | leont: taking a list of command line arguments? | ||
leont | Yes | ||
Because quoting correctly is a PITA, and you're likely to do it wrong | |||
colomon | makes sense to me | ||
moritz | m: say (42, ) + 1 # for PerlJam | ||
camelia | rakudo-moar e3d66c: OUTPUT«2» | ||
colomon launches another smoke run now that NativeCall is fixed | |||
moritz | PerlJam: that's why we have to return the element, not the parcel | ||
leont: the list form is called run(), and it doesn't do shell meta stuff | 13:19 | ||
FROGGS | leont: and we have open( :p ) instead of IO::Pipe | 13:21 | |
timotimo | we do not only have open :p, we also have asynchronous subprocess spawning and communication | 13:22 | |
Juerd | :p is cute. | 13:23 | |
Can we get :þ for something? :) | 13:24 | ||
13:24
SamuraiJack_ left
13:25
kaare_ left
|
|||
PerlJam | Juerd: bi-directional pipe? :) | 13:25 | |
FROGGS | leont: all primitives should be there, so it is just a matter of writing some Perl 6 glue code to implement IO::Pipe fwiw | ||
leont | Ah, I see | ||
Juerd | PerlJam: I like it! | ||
PerlJam: Just like -> and <-> | |||
The ascii variant could be bp, which is like þ taken apart, and could stand for "bidirectional pipe" | 13:26 | ||
PerlJam | moritz: perhaps the diag output of is_approx should be amended to include the difference and tolerance? I don't know if that would have helped to figure out what was going on or not. | 13:27 | |
13:27
kaleem left
|
|||
leont | Is :p open documented? | 13:27 | |
Ah, yes it is, sort of | |||
13:28
SamuraiJack_ joined
|
|||
leont | Should probably be listed in the open synopsis, I had read over it initially | 13:28 | |
FROGGS | leont: there is a consensus to not think of pipes as files, so ... I dunno | ||
it is more like run/shell | 13:29 | ||
leont | Fair enough, I suspect IO::Pipe will be a more sensible interface in the end anyway | 13:30 | |
moritz | PerlJam: maybe | 13:31 | |
13:31
ivanshmakov joined
|
|||
PerlJam | My brain is still objecting to (42,) not being equal to 42. Perhaps it's because we go out of our way to make my $item = 42; say $item[0][0][0]; # output 42 | 13:34 | |
leont | And what about multiplexing asynchronous IO? | ||
PerlJam | leont: Did you see jnthn's YAPC::EU talk? www.jnthn.net/papers/2014-yapceu-async.pdf | 13:35 | |
colomon | PerlJam: equal in what sense? | 13:39 | |
moritz | heh, I just found that in python, two terms in a row are reported as "SyntaxError: invalid syntax" | 13:40 | |
we (can) do better than that! | 13:41 | ||
13:42
FROGGS[mobile] joined,
ribasushi left
|
|||
leont | PerlJam: I don't remember much IO in there, mostly threads, but I can imagine that approach being more useful in perl6, will reread | 13:42 | |
tadzik | btw, the yapc-announced matrix.org is up :) | ||
flussence | yay \o/ | 13:43 | |
leont | Ah, Proc::Async is what I want :-) | ||
13:46
ribasushi joined
|
|||
PerlJam | colomon: I dunno. My brain isn't firing on all cylinders about this particular :) | 13:47 | |
Or, maybe it's just misfiring into thinking that single item parcels should just evaluate to that item in and item context. | 13:48 | ||
s/and/an/ | |||
13:51
Woodi joined
13:56
mr-fooba_ left
|
|||
colomon | Ah, yes, smoke test much better after moritz++'s patch: host07.perl6.com:8080/report | 13:59 | |
14:00
sqirrel joined
|
|||
PerlJam | colomon++ that's neat! I didn't know anyone had setup a module smoker yet. | 14:00 | |
14:01
raiph joined
|
|||
carlin | colomon: what OS are the tests run on? | 14:01 | |
colomon | carlin: linux | ||
carlin: a mildly obsolete version of ubuntu, I think. ;) | 14:02 | ||
carlin | colomon: would you be able to install libsodium-devel? Crypt::Reop needs it to be built/tested | 14:03 | |
leont | How do I look up Proc::Async's docs? | 14:04 | |
colomon | carlin: apt-get libsodium-devel ? | ||
*install | 14:05 | ||
hmmm, my system doesn't know what libsodium-devel is | |||
tadzik | leont: if they aren't on doc.perl6.org, there probably aren't any | ||
14:06
fhelmberger_ joined
|
|||
carlin | colomon: ah well, thanks for trying | 14:06 | |
PerlJam | leont: read the source? | ||
tadzik | yeah, apparently that's the way :/ | ||
or read jnthn's slides | |||
carlin | I'm not sure ubuntu has a package for it now that I'm searching and nothingi s coming up | ||
colomon | carlin: is it just this? github.com/jedisct1/libsodium | ||
carlin | colomon: yeah that's it | 14:07 | |
colomon | carlin: any obvious reason I can't just git clone and go? | ||
14:07
mattp_ joined,
domidumont left
|
|||
leont | It seems I can't find the source either, does it exist outside of jnthn's computer? | 14:08 | |
14:08
chenryn joined
|
|||
PerlJam | leont: As I recently found out, it's bundled with Rakudo. :) | 14:08 | |
14:08
domidumont joined
|
|||
PerlJam | leont: src/core/Proc/Async.pm | 14:09 | |
leont | «Could not find Proc::Async», on a rakudo built yesterday :-s | ||
14:10
moritz_ joined
|
|||
leont | I have no idea what I'm doing wrong here | 14:10 | |
14:10
grondilu_ joined,
anaeem1 joined
|
|||
carlin | colomon: it should just work | 14:10 | |
colomon: do ./autogen.sh, then ./configure and sudo make install should do it | 14:11 | ||
colomon | carlin: I grabbed the 0.7.0 source, which has ./configure already. make-ing now | ||
14:12
raiph left
|
|||
colomon | carlin: okay, I just successfully installed Crypt::Reop on the same machine that does the smoke tests, so unless there's something wonky going on, it should work in the smoke tests tomorrow. | 14:12 | |
carlin | colomon++ thanks | 14:13 | |
colomon | carlin: what does Crypt::Reop do, anyway? :) | ||
carlin | It's nice to confirm my code works on a machine that isn't mine :) | ||
leont | Ah, it seems I can't use them, but it is already preloaded | ||
That's confusing | 14:14 | ||
14:14
anaeem1 left
|
|||
FROGGS[mobile] | n: say Proc::Async | 14:14 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any at /tmp/dkKgyYkRRQ line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module…» | ||
14:14
moritz left,
moritz_ is now known as moritz
|
|||
PerlJam | leont: agreed. | 14:14 | |
FROGGS[mobile] | m: say Proc::Async | ||
camelia | rakudo-moar e3d66c: OUTPUT«(Proc::Async)» | ||
FROGGS[mobile] | leont: it is there | ||
carlin | colomon: reop is a PGP-esque thing, and Crypt::Reop is a NativeCall interface to it | ||
colomon: so encryption to put it simply | |||
FROGGS[mobile] | don't 'use' it | ||
tadzik | m: Proc::Async.^methods.sort.say | ||
camelia | rakudo-moar e3d66c: OUTPUT«Code object coerced to string (please use .gist or .perl to do that) in any p6sort at src/vm/moar/Perl6/Ops.nqp:346Code object coerced to string (please use .gist or .perl to do that) in any p6sort at src/vm/moar/Perl6/Ops.nqp:346Code object …» | ||
tadzik | interesting | 14:15 | |
colomon | carlin: I got encryption from the "Crypt" bit. ;) | ||
moritz | : Proc::Async.^methods.mpa(*.Str).sort.say | ||
m: Proc::Async.^methods.mpa(*.Str).sort.say | |||
camelia | rakudo-moar e3d66c: OUTPUT«No such method 'mpa' for invocant of type 'Parcel' in block <unit> at /tmp/Vyfid44tW2:1» | ||
PerlJam | heh | ||
moritz | m: Proc::Async.^methods.map(*.Str).sort.say | ||
camelia | rakudo-moar e3d66c: OUTPUT«Code object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/uxalAPnqIF:1Code object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/uxalAPnqIF:1Code object coerced to string (p…» | ||
moritz | m: Proc::Async.^methods.map(*.gist).sort.say | ||
camelia | rakudo-moar e3d66c: OUTPUT«<anon> <anon> <anon> close_stdin kill print say start stderr_bytes stderr_chars stdout_bytes stdout_chars write» | ||
carlin | colomon: more info about reop if you're interested; www.tedunangst.com/flak/post/reop | 14:16 | |
FROGGS[mobile] | leont: it is Part of core like Int or IO::Path | ||
14:17
sqirrel left,
fhelmberger left,
grondilu left,
FROGGS left,
Psyche^ left,
mattp__ left,
muraiki left,
go|dfish left,
_sri left,
silug left,
ingy left,
\00 left,
anaeem1 joined
|
|||
FROGGS[mobile] | that's why we have a>20k lines setting | 14:17 | |
colomon | carlin: "Internet told me they were safe." ha! | 14:19 | |
14:19
nebuchad` is now known as nebuchadnezzar
|
|||
leont | FROGGS[mobile]: I figured that out by now, but a better error on «use Core::Module» would be very helpful for newbies | 14:20 | |
PerlJam | m: use JSON::Pretty; # this should be a no-op since it's core IMHO | ||
camelia | rakudo-moar e3d66c: OUTPUT«===SORRY!===Could not find JSON::Pretty in any of: /home/p6eval/rakudo-inst-2/languages/perl6/lib, /home/p6eval/rakudo-inst-2/languages/perl6» | ||
FROGGS[mobile] | leont: true | ||
will do that | |||
14:21
FROGGS joined,
muraiki joined,
ingy joined
14:22
_sri joined,
sqirrel joined,
\00 joined
14:23
go|dfish joined
|
|||
jnthn | evening, #perl6 | 14:24 | |
14:24
Psyche^ joined
|
|||
masak | aloha, #perl6 :) | 14:25 | |
PerlJam | greetings! | ||
moritz | PerlJam: it should say "Did you mean: Darling::Pretty" | ||
colomon | \o | 14:29 | |
14:29
SamuraiJack_ left
|
|||
PerlJam | m: class Proc::Async { #`( oops! ) }; | 14:30 | |
camelia | ( no output ) | ||
PerlJam | That we can do that without getting a symbol redeclaration error is weird. | 14:31 | |
14:31
SamuraiJack_ joined
|
|||
jnthn | PerlJam: It's not one because the setting is an outer lexical scope, and if you declare someting in a nested lexical scope that's never an error. | 14:31 | |
14:32
anaeem1 left
14:33
fhelmberger joined,
grondilu joined,
SAA3K0R joined,
SAA04J2 joined,
silug joined,
fhelmberger left,
grondilu left
|
|||
pmurias | how will we specify if EVAL should use FROGGS v5 mode or the real perl5? | 14:36 | |
PerlJam | I just worry a little that the more names we have as part of the setting, the more likely our users are to use one for their own purposes and accidentally confuse themselves. | ||
moritz | PerlJam: we just have to use different names | ||
sorry, meant pmurias | |||
14:40
gtodd1 is now known as gtodd
|
|||
timotimo | ohay jnthn | 14:41 | |
pmurias | and the language implementations have to be preloaded with use? | 14:42 | |
moritz | presumably | 14:44 | |
leont | Is there a way to make an attribute required? | 14:46 | |
PerlJam | leont: has $.thingy = !!! 'thingy is required'; | ||
jnthn | die is probably better | 14:47 | |
As stub code executed is a weird error for that... | |||
If you're writing a BUILD method, then the attributive binding with a required param is another way | 14:48 | ||
*submethod | |||
PerlJam | jnthn: that's why I put the message. | ||
PerlJam really wishes a bare !!! were smart enough to grab the name of the attribute and say "$attr-name is required" | 14:49 | ||
14:50
treehug88 joined
|
|||
jnthn | Well, nothing preventing writing a module supplying an is required trait. | 14:51 | |
May even be one already on modules.perl6.org | 14:52 | ||
14:53
SamuraiJack_ left
14:54
eiro_ joined
|
|||
eiro_ | hello everyone | 14:55 | |
timotimo | good day to you, eiro! | 14:56 | |
masak usually does '$.thingy = REQUIRED '$.thingy', with REQUIRED defined as a sub that dies | |||
but I expect this kind of thing would eventually get soaked up as a macro that obviated repeating the name | |||
jnthn | A trait could grab the name and avoid duping it, though... | 14:57 | |
moritz | and include the class name in the error message | ||
hoelzro | ahoy #perl6 | ||
firefish5000 | Hmm, I'v done somthing to my code that causes .perl to hang. | 14:59 | |
tadzik | hello eiro_! | ||
firefish5000 wonders if overriding gist is part of the reason | |||
pmurias | wouldn't it make sense to change the language passed to the EVAL to a proper lexical thing? | ||
hoelzro | firefish5000: what'd you do? | ||
moritz | pmurias: you mean, an object? | 15:00 | |
pmurias: then you could just say $obj.EVAL(...) in the first place :-) | |||
firefish5000 | I would have to upload my code, since I cannot reproduce it any other way... one moment | 15:01 | |
moritz | firefish5000: that's pretty easy to do with self-referential structures | 15:02 | |
m: my @a = (1, 2, 3); push @a, $@a; say @a.perl | |||
camelia | rakudo-moar e3d66c: OUTPUT«(timeout)» | ||
pmurias | moritz: EVAL(...) is not a regular subroutine it can read non dynamic lexical from the caller | 15:03 | |
firefish5000 googles self-referential structure | |||
moritz | firefish5000: "circular" might be the more common term | ||
@a contains a reference to @a | |||
=> infinite loop | 15:04 | ||
firefish5000 | would $!var print but $!var.perl hang in such case? | ||
moritz | depends on what's in $!var (how it stringifies, mostly) | ||
but that's possible, yes | 15:05 | ||
m: class A { has $.thing is rw }; my $x = A.new(); $x.thing = $x; say $x; say $x.perl; | |||
camelia | rakudo-moar e3d66c: OUTPUT«(timeout)» | ||
moritz | m: class A { has $.thing is rw }; my $x = A.new(); $x.thing = $x; print $x; say $x.perl; | ||
camelia | rakudo-moar e3d66c: OUTPUT«(timeout)A<139737578349296>» | ||
moritz | that prints fine, but doesn't .perl | 15:06 | |
15:07
mr-foobar joined
|
|||
firefish5000 | hmm... I have a create method which I use to call new with positional parameters. that may have done it.. | 15:09 | |
moritz | that's not the point | ||
but it might be easier if you did show your code :-) | |||
15:09
denis_boyun left
|
|||
firefish5000 fixes up his code. | 15:10 | ||
15:10
raiph joined
15:14
rindolf left
15:15
lizmat joined
|
|||
PerlJam | firefish5000: just make sure you don't accidentlly fix the problem out of existence. (It's okay to do it *purposefully* however ;) | 15:15 | |
firefish5000 | lol, i'll try not to.. Anyone know how to make __DATA__ sections? =begin DATA? | 15:16 | |
PerlJam | firefish5000: =begin data I dunno if the all-caps version is equivalent | 15:18 | |
leont | What's the difference between act and tap on a supply? | ||
PerlJam | come to think of it, I don't know if even =begin data itself is implemented | 15:19 | |
timotimo | leont: "act" will ensure that the code you supply will only be run by a single thread | ||
whereas "tap" will run whenever it gets to | |||
so "act" will give you "actor semantics" | |||
firefish5000 | Alright, ill make it a normal variable at the top then. (cannot get $=data or the like to work) | 15:20 | |
philh_ | Hello all, I have a Q about currying that I've posted on SO, to avoid flooding you here: stackoverflow.com/questions/2566910...tever-star | 15:21 | |
timotimo | firefish5000: i used the pod variables stuff once before, i shall find an example for you | 15:22 | |
firefish5000 | timotimo: Thanks! | ||
timotimo | m: say $=pod.perl;=mydata Hello there! | 15:23 | |
camelia | rakudo-moar e3d66c: OUTPUT«Array.new(Pod::Block::Named.new(name => "mydata", config => ().hash, contents => Array.new(Pod::Block::Para.new(config => ().hash, contents => Array.new("Hello there!")))))» | ||
timotimo | m: say $=mydata.perl;=mydata Hello there! | ||
camelia | rakudo-moar e3d66c: OUTPUT«===SORRY!=== Error while compiling /tmp/ZyOZQUkuh8Variable '$=mydata' is not declaredat /tmp/ZyOZQUkuh8:1------> say $=mydata.perl⏏; expecting any of: method arguments» | ||
timotimo | m: say $=pod<mydata>.perl;=mydata Hello there! | ||
camelia | rakudo-moar e3d66c: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "postcircumfix:<\{ }> not defined for type Array"))» | ||
timotimo | m: say $=pod[0].perl;=mydata Hello there! | ||
camelia | rakudo-moar e3d66c: OUTPUT«Pod::Block::Named.new(name => "mydata", config => ().hash, contents => Array.new(Pod::Block::Para.new(config => ().hash, contents => Array.new("Hello there!"))))» | ||
timotimo | m: say $=pod[0].Str;=mydata Hello there! | ||
camelia | rakudo-moar e3d66c: OUTPUT«Pod::Block::Named<139642023070976>» | ||
timotimo | m: say $=pod[0].contents.Str;=mydata Hello there! | ||
camelia | rakudo-moar e3d66c: OUTPUT«Pod::Block::Para<139964838261784>» | ||
timotimo | m: say $=pod[0].contents[0].contents.Str;=mydata Hello there! | 15:24 | |
camelia | rakudo-moar e3d66c: OUTPUT«Hello there!» | ||
timotimo | well, quite frankly that's not very awesome. | ||
$=mydata is supposed to work per spec, afaik ... maybe hoelzro can look into that, he's been working on documentation stuff a lot recently | |||
15:24
sqirrel left
15:25
zakharyas left,
domidumont left
|
|||
hoelzro | hmm, I'm not familiar with $=mydata | 15:25 | |
15:26
kaare_ joined
|
|||
PerlJam wonders what the scoping is on $=data | 15:28 | ||
moritz | pod-scoped! | 15:29 | |
FROGGS | jnthn: how do I get a list of all known symbols? | ||
masak | *all* of them!? | ||
:P | |||
15:30
Salai is now known as akaseki
|
|||
masak | m: say "There are currently {(^1e15).roll} known symbols." | 15:30 | |
camelia | rakudo-moar e3d66c: OUTPUT«(timeout)» | ||
masak | heh. | ||
15:30
akaseki is now known as Salai
|
|||
japhb | botsnack | 15:30 | |
yoleaux | 08:06Z <lizmat> japhb: I'll take a bit :-) | ||
12:16Z <timotimo> japhb: www.flotcharts.org/ seems to be a quite nice plotting library for javascript and it seems to be in more active development than jqplot | |||
jnthn | FROGGS: Um...all in what context? | 15:31 | |
masak | m: say "There are currently {(1..1_000_000_000_000_000).roll} known symbols." | ||
camelia | rakudo-moar e3d66c: OUTPUT«There are currently 956832594083256 known symbols.» | ||
hoelzro | oh, I see | ||
FROGGS | jnthn: in list context :P | ||
hoelzro | it's a foo | ||
japhb wonders what lizmat was referring to ... | |||
diakopter | .botsnack | 15:32 | |
yoleaux | :D | ||
jnthn | japhb: iirc from the backlog scanning, perl6-bench | ||
moritz | yes, perl6-bench commit bit | ||
japhb | Oh, yes, gotcha. | ||
firefish5000 | Alright, CronParser uploaded Here pastebin.com/kGVDFqTs# . | 15:33 | |
japhb | .ask lizmat Are you lizmat on GitHub as well? | ||
yoleaux | japhb: I'll pass your message to lizmat. | ||
PerlJam | CronParser?!? cool! | 15:34 | |
PerlJam gets a little excited when old and new technologies come together ;) | 15:35 | ||
japhb | timotimo: I have no objection to Flot, as long as the license is compatible, the performance and features are sufficient ... and someone else does the work to convert over to it (preferably in a branch). Right now I have no need to replace jqplot, but I have noted requests in the past. | 15:36 | |
firefish5000 | timotimo:I ended up using a heredoc, but i'll try using podvars? (cant think of a name for them) in my projects | ||
FROGGS | jnthn: I want to display a message in ModuleLoader.nqp in case someone tries to load e.g. Proc::Async | ||
jnthn | m: say CORE::.keys | 15:37 | |
camelia | rakudo-moar e3d66c: OUTPUT«%DEPRECATIONS @UNITS &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &proceed &succeed &redo &next &last &take &take-rw &return &return-rw &RETURN-PA…» | ||
firefish5000 | PerlJam: don't get too excited, I havn't a clue what I am doing. | ||
lizmat | messages, please | ||
yoleaux | 15:33Z <japhb> lizmat: Are you lizmat on GitHub as well? | ||
lizmat | yes | ||
japhb | lizmat: You now have a commit bit. Have the appropriate amount of fun. :-) | ||
lizmat | thank you, japhb :-) | 15:38 | |
japhb | \o/ More contributors! | ||
15:39
woolfy joined
|
|||
leont | Where could «cannot stringify this\n in submethod BUILD» come from? I'm not doing any stringy things in there, that line is the submethod declaration | 15:39 | |
dalek | kudo/nom: 4a2aac5 | TimToady++ | src/core/GatherIter.pm: just use Mu.new, good enough for =:= identity |
15:40 | |
PerlJam | leont: I usually see that when I try to output an arrayish thing in NQP | ||
japhb | OOC, timotimo, aside from having "gone stable", why do you want to switch away from jqplot? (I originally chose it because I had a good friend that had used it for something else, so I had someone to bug with questions if I had trouble.) | ||
15:40
kaleem joined
|
|||
lizmat is enjoying the view in Hafelfingen | 15:41 | ||
leont | PerlJam: seems changing :@args to :$args fixed it, but not a very intuitive error | 15:42 | |
15:42
itz_ joined
|
|||
PerlJam | leont: maybe you wanted to use join(" ", @args) on output if you really wanted @args | 15:43 | |
firefish5000 | the spot with the problems is on line 187 in class Cron method NextCmd. (realizing I didn't comment my code very well) | 15:44 | |
leont | I don't want to output it at all! | ||
15:44
itz left
|
|||
PerlJam | oh, then something else may have been trying to output it for some reason | 15:44 | |
leont | I'm opening a Proc::Async, that may be involved | ||
timotimo | japhb: actually ... i'm not 100% sure. there's the thing where when the annotation on the side that explains what color means which implementation becomes so big that there's only a centimeter or two left for the graphs | 15:46 | |
hoelzro | someone was on the channel last night and gave me an idea about docs on core classes/methods | 15:47 | |
what if there were an optional --docs switch to Configure.pl that would build and attach docs to core objects? | |||
that way, build time shouldn't be impacted, but we could ship star releases with the --docs switch on, so users can use .WHY to explore | |||
PerlJam | firefish5000: I don't immediately see that your structure is self-referential or any thing, but I may have just missed it. | 15:48 | |
hoelzro | is that something others on this channel would find useful? if so, I can start working on that | ||
lizmat | leont: fwiw, Proc::Async isn't even specced at this moment | ||
japhb | timotimo: So essentially that it handles the key for really dense graphs badly? We can solve that one in jqplot just by changing the legend gravity when it goes over a certain threshold of compiler count. | ||
timotimo | OK :) | ||
lizmat | jnthn: maybe I should spec it? or you may want to spec it ? | ||
PerlJam read "ship star releases" as "starship releases" for some reason | |||
japhb | Wishful thinking? | 15:49 | |
hoelzro | PerlJam: that makes me that that we should start calling Star release managers captains =) | ||
lizmat | .oO( Rakudo <=> ) |
||
PerlJam | hoelzro: what does that mean "attach docs to core objects"? | 15:50 | |
15:50
rindolf joined
|
|||
FROGGS | m: say 42.WHY | 15:50 | |
camelia | rakudo-moar e3d66c: OUTPUT«(Any)» | ||
FROGGS | ohh ó.ò | ||
hoelzro | PerlJam: it would mean that ~Str.WHY eq 'Built-in class for strings. Objects of type Str are immutable. | ||
' | 15:51 | ||
I could write a script (well, I've actually already written most of it =/) to generate the docs from doc.perl6.org | |||
PerlJam | hoelzro: sure, but where would that come from? How would that be different that without the --docs option? | ||
lizmat | m: "Life, the Universe, and Everything".WHY.say # for FROGGS | ||
camelia | rakudo-moar e3d66c: OUTPUT«42» | ||
jnthn | lizmat: Where "it" is? | ||
FROGGS | lizmat++ | 15:52 | |
PerlJam | hoelzro: isn't the main problem that the source isn't annotated with the appropriate text to populate WHY? | ||
hoelzro | PerlJam: well, the plan is that I would generate a core_docs.pm that would be put into CORE.setting | ||
lizmat | jnthn: the Proc::Async spec | ||
hoelzro | PerlJam: well, there was a discussion about annotating the source of the core objects a while back | ||
PerlJam | hoelzro: oh, so you would "manually" build the WHY for all of the stuff in src/core? | ||
hoelzro | some feel it may slow down the parse | ||
and we'd have to move and sync the docs with doc.perl6.org | 15:53 | ||
PerlJam: yes | |||
using a dirty trick >:) | |||
firefish5000 | PerlJam: My Cron::TimeA class doesn't hang which is the only thing I thought may have been self-referential. | ||
PerlJam | hoelzro: I think I get it now. Yes, that would be awesome. | ||
15:53
jerrycheung joined,
jerrycheung left,
FROGGS[mobile] left
|
|||
lizmat | ++hoelzro | 15:54 | |
jnthn | lizmat: Ah, feel free | 15:55 | |
lizmat: It's still all kinda new. | 15:56 | ||
lizmat | and people are already dying to use it ! :-) | ||
there are no spectest for it either yet, are there ? | 15:57 | ||
hoelzro | good to see others approve | 15:58 | |
15:58
fhelmberger_ left
|
|||
hoelzro | the tricky part will be creating a ./perl6-docless-m that I can run my script with to generate core_docs.pm =/ | 15:59 | |
15:59
denis_boyun joined
|
|||
PerlJam | hoelzro: It would be really nice to have in the REPL. Just like in python's REPL you can do "help(int)" | 16:00 | |
timotimo | hehehe. | ||
hoelzro | that's exactly WHY I want to do this =) | ||
PerlJam | Though "~Int.WHY" seems a little weird to type to get documentation. Maybe we need a convience method on Mu or Any or something so that Int.docs would work | 16:01 | |
and maybe it could also be Int.docs('HTML') too | 16:02 | ||
hoelzro | PerlJam: well, we could provide a help() sub | ||
jnthn | lizmat: No. I only had time to get a first version of it working ahead of YAPC, and now things are a little busy.... Feel free to pick it up. :) | ||
leont | jnthn: how do I use the stdout supply from Proc::Async? It's not clear to me at all. | 16:03 | |
jnthn | leont: .tap or .act it, as with any Supply | 16:04 | |
leont: It's throw chars (or bytes) at you whenever some arrive | |||
*It'll | |||
TimToady | stdout? | ||
jnthn | TimToady: You're tapping the stdout of the process you spawned. | 16:05 | |
TimToady | ah, okay | ||
16:05
Akagi201 left
16:06
SamuraiJack left
|
|||
leont | I thought I did that, turns out I made a small mistake in my code :-s | 16:06 | |
TimToady looks at his coffee and wonders why it's not working yet... | |||
jnthn | Constructing $*VM and $*DISTRO is some work. I've got them, and some others, constructed on first use. | ||
Unfortunately, loads of first uses for both are in setting up @*INC and friends. | |||
lizmat | yes, that's why I didn't bother making them lazy | 16:07 | |
jnthn | Wrong conclusion. | ||
lizmat | ah? | ||
jnthn | We can't afford this. | 16:08 | |
I just profiled lazifying them. | 16:09 | ||
TimToady | our normal module lookup should be independent of vm or distro, so it should only kick in for dev situations, and should probably be factored out somehow from startup in any case | ||
jnthn | 50% of the cost of loading the setting is now attributable to setting up @*INC | ||
TimToady | "it" being INC semantics | ||
jnthn | uh, that's not quite true | ||
50% of the stuff called from the setting mainline is now in there | 16:10 | ||
30% of overall load time | |||
lizmat | I'm not following anymore | 16:11 | |
jnthn | lizmat: I don't have a concrete suggesiton yet really, and need to sleep soon. | 16:12 | |
lizmat | several things are needed: maybe DISTRO can be factored out | ||
but $*VM is needed | |||
TimToady | or can be moved up to setting compile time, not user startup time | ||
lizmat | *?VM ? I'm all for it! | 16:13 | |
jnthn | lizmat: But by demanding $*DISTRO and $*VM and the other work that it does, the code in the block that sets up @*INC and friends accounts for 30% of our startup | ||
TimToady | or can be put into a disk cache of some sort | ||
lizmat | $?VM rather | ||
16:13
rindolf left
|
|||
lizmat | last time I tried that, it dies badly at deserializing | 16:13 | |
leont | It's working :-) (at least the parts I've written already) \o/ | ||
TimToady | the common case is that $*VM will be nearly identical to $?VM | ||
16:14
philh_ left
|
|||
TimToady | maybe we need to track what is really dynamic better | 16:14 | |
lizmat | yes... | 16:15 | |
and BTW, whatever happened to "first get it working, then get it working fast"? | |||
S11 is still not implemented | |||
TimToady | we're at the comma :P | ||
lizmat | *not* as far as S11 and S22 are concerned :-( | 16:16 | |
TimToady | the comma is unequally distributed :) | ||
lizmat | and I'm getting pretty frustrated at being blocked on that :-( | ||
TimToady | what's blocking you? | ||
lizmat | the whole spaghetti mess that is module loading at the moment | 16:17 | |
16:17
Salai left
|
|||
jnthn | lizmat: While that applies in general, here we have a situation where it's impacting everything else... | 16:17 | |
lizmat | to get sane semantics and extensibility, I think this needs to be done mostly in Perl 6 space | 16:18 | |
dalek | kudo/nom: c1090b2 | jonathan++ | src/core/ (4 files): Lazily construct more hefty objects at startup. Both $*DISTRO and $*VM end up getting used during initialization; this will need some further attention. For $*KERNEL and $*PERL we get the benefit right off. |
||
16:18
[Sno] left
|
|||
TimToady | I suspect some of this will straighten out as we find ways of simplifying standard module importation | 16:18 | |
firefish5000 | I Noticed that it's the grammar that .perl is hanging on. Here is a version with only my grammar pastebin.com/GjHrrcav (a lot less clutter now) | ||
jnthn | lizmat: I'm not saying that something has to change Right Now | ||
TimToady | it's those darn devs that keep wanting to do weird stuff... | ||
lizmat | I'm one of those darn devs... | 16:19 | |
PerlJam | yeah ... like use CPAN *and* Perl 6 *at the same time* ;) | ||
lizmat | it's just that reality is outweirding me | ||
16:20
akaseki joined
|
|||
jnthn | lizmat: Just that this kind of impact can't really stand | 16:20 | |
TimToady | we'll figure something out | ||
jnthn | Aye | ||
16:21
xinming_ is now known as xinming
|
|||
TimToady | a lot of packages put these sorts of decisions into their installer, for instance | 16:21 | |
jnthn | The thing with module loading is that while it's fine if the very low level of it is in NQP, current ModuleLoader ends up trying to own the "figure out what to load" as well as the lower-level pieces. | ||
16:21
rindolf joined
|
|||
lizmat | the other day I profiled t/spec/S02-types/WHICH.t | 16:21 | |
and shuddered at the sight of how much was spent in reifying and gimmeing | 16:22 | ||
TimToady | well, that's the list refactor | ||
jnthn | lizmat: Inclusive, or exclusive? But yes. | ||
TimToady | which I'm working on, feebly | ||
16:22
davido_ joined
|
|||
jnthn has seen profiles where the exclusive time in reify is rather worryingly high... | 16:22 | ||
lizmat | so this startup optimizing right now, really feels very premature to me | 16:23 | |
jnthn | lizmat: Sorry, but it's high, high time to deal with our startup time. It affects spectest time, ability to use Perl 6 for quick scripting things, initial user perception... | 16:24 | |
PerlJam | jnhtn++ | ||
colomon | +1 | 16:25 | |
TimToady | well, we need to figure it out without tearing each other's heads off, is my suggestion :) | ||
jnthn | If htat's what I'm doing, I should probably go to bed. | ||
'ngiht | |||
TimToady | night | ||
PerlJam | sleep well jnthn | ||
16:25
akaseki left
|
|||
lizmat | gnight jnthn | 16:26 | |
16:26
akaseki joined
|
|||
firefish5000 | Ohh, mayby .perl is working on it, just taking a long time? (at least it works with just the grammar, from my last paste) | 16:26 | |
lizmat | TimToady, jnthn: also the brokenness of "use lib" is worrying me | 16:28 | |
use lib is the *only* module atm of which its effects are *not* lexically scoped | 16:29 | ||
and this is all due, afaics, to the fact that I cannot export a dynamic @*INC to the CALLER:: context at compile time | 16:30 | ||
pmurias | I need to install NativeCall separately from rakudo? | ||
lizmat | CALLER:: in this case: the lexpad of the code doing "use" | 16:31 | |
16:31
rindolf left
|
|||
FROGGS | pmurias: yes | 16:31 | |
pmurias: but it is part of star | |||
pmurias | Inline-Perl5 is developed against start or rakudo HEAD? | 16:32 | |
FROGGS | pmurias: that shouldnt matter | ||
because there are no VM patches that aid Inline::Perl5 yet | 16:33 | ||
TimToady | the name of that namespace is really supposed to be COMPILING, not CALLING | ||
er, CALLER | |||
but yea, we need to establish some kind of lexical hints mechanism | 16:34 | ||
we can't just rely on tweaking dynamics in the parser | |||
especially since some of these hints have to persist to passes after the parser | |||
FROGGS | ohh! %^H ? | ||
lizmat | I would call this a 6.0 blocker | ||
anyways, off for some socializing in Olten... & | 16:35 | ||
FROGGS | more fore the impl than for the spec? | ||
k, see ya :o) | |||
leont | lizmat: have fun! | ||
FROGGS | lizmat / jnthn: I am also in favor that ModuleLoader.nqp is only in charge for loading bytecode by absolute filename after the setting has been loaded | 16:36 | |
TimToady | more like copying some of the compiler's $*FOO into $?FOO space; we probably don't need a %?HINTS if the ? mechanism itself will server | ||
16:39
domidumont joined
|
|||
TimToady | first step is to figure out what the module loader really needs to know, and how much of that is truly dynamic, and how much is coming in through VM and DISTRO merely because it's been convenient up till now, but that can either be determined more statically, or at install time, or via system call that bypasses those vars | 16:40 | |
nine | pmurias: i'm developing on HEAD, but should not matter yet | 16:41 | |
TimToady | p5 completely ignores its config vars on startup, basically | ||
16:41
denis_boyun left
|
|||
FROGGS | TimToady: the module loader just needs to know the file extensions (.jar, .moarvm, .pir) | 16:42 | |
TimToady | so the question is what currently prevents p6 from taking the same approach? | ||
FROGGS | that's all me thinks | ||
16:42
denis_boyun joined,
telex left
|
|||
TimToady | so maybe those should be nqp instructions to the VM | 16:43 | |
or some known function to call | |||
FROGGS | nqp::loadbytecode(%chosen<load>); <-- we already pass the ab solute file name down to the VM | 16:44 | |
16:44
telex joined
|
|||
TimToady | so leave off the extension and let the VM add it? | 16:44 | |
that's one appraoch, not suggesting it's the right approach | 16:45 | ||
16:45
chenryn left
|
|||
TimToady is thinking more of introspection of the VM and OS | 16:45 | ||
another approach is to break up the loading of $*VM and $*DISTRO to only penalize you for the parts you load | 16:46 | ||
or figure out what we need to load, and put them into different variables that don't pull in everything | 16:47 | ||
there's lots of ways to fix this, I suspect | |||
16:47
firefish5000 left
|
|||
TimToady | but we all tend to fall into the XY trap from time to time | 16:48 | |
16:48
firefish5000 joined
|
|||
FROGGS | we don't need $*VM and $*DISTRO at all when loading a module, since the fileexts are hard coded due to our fudge blocks | 16:48 | |
but setting up @*INC involves fetching paths from the VM, so we build $*VM first | |||
16:49
denis_boyun left
|
|||
FROGGS | and $*DISTRO might be needed for the PATHSEP to handle PERl6LIB | 16:49 | |
16:50
kaleem left,
denis_boyun_ joined
16:52
virtualsue left
|
|||
timotimo | hrm. | 16:52 | |
we could conceivably put th estuff into hll symbol namespace? | |||
and nqp::gethllsym and such | |||
16:56
denis_boyun_ left
16:58
pmurias left
16:59
kaleem joined
17:00
akaseki is now known as Salai,
dakkar left
|
|||
dalek | kudo-star-daily: 239bcdd | coke++ | log/ (14 files): today (automated commit) |
17:03 | |
rl6-roast-data: 1af5629 | coke++ | / (4 files): today (automated commit) |
|||
17:03
jack_rabbit joined
|
|||
FROGGS | hmmmm, my CPANda explodes because of al label in a method, but I can't find it O.o | 17:04 | |
[Coke] | .seen carlin | ||
yoleaux | I saw carlin 14:16Z in #perl6: <carlin> colomon: more info about reop if you're interested; www.tedunangst.com/flak/post/reop | ||
[Coke] | carlin: your recent change to S32-temporal/local.t has resulted in many failing tests on the daily runner. | 17:05 | |
17:05
zakharyas joined
|
|||
timotimo | aye | 17:06 | |
on my system, too | |||
leont | This doesn't DWIM, can someone tell my what I should do: while $!partial_input ~~ s/ $<line>=(\N+) \n// { | 17:08 | |
timotimo | you want to cut the beginning of the string off every time? | 17:10 | |
PerlJam | leont: at a guess, probably use the method form of s///. while $!partial_input.=subst( /$<line>=(\N+) \n/, '') { ... } | 17:11 | |
17:11
dayangkun left
|
|||
FROGGS | m: my $i; LOOP: while $i++ < 10 { } | 17:11 | |
camelia | ( no output ) | ||
FROGGS | m: my $i; LOOP: while $i++ < 10 { say $i; next LOOP } | 17:12 | |
camelia | rakudo-moar 4a2aac: OUTPUT«12345678910» | ||
FROGGS | m: my $i; LOOP: while $i++ < 10 { say $i; last LOOP } | ||
camelia | rakudo-moar 4a2aac: OUTPUT«1» | ||
FROGGS | m: my $i; LOOP: while $i++ < 10 { say $i; last LOOP }; say LOOP | ||
camelia | rakudo-moar 4a2aac: OUTPUT«1Label<LOOP>(at /tmp/QfjsfhoZNk:1, 'my $i; LOOP: while $⏏LOOP: while $i++ < 10 { ')» | ||
FROGGS | eww | ||
leont | PerlJam: that seems to have helped :-) | ||
17:18
spider-mario left
17:19
jack_rabbit left
|
|||
itz_ | is S30 intended just to doc perl modules which ship with rakudo itself and not anything else? | 17:19 | |
[Coke] | arglebargle. I suspect it's a DST issue. | ||
17:21
gfldex joined
17:22
spider-mario joined
|
|||
[Coke] | e.g: | 17:22 | |
# expected: '1998-12-31T18:59:60-0500' | 17:23 | ||
# got: '1998-12-31T19:59:60-0400' | |||
dalek | c: 0e775e7 | (Steve Mynott)++ | lib/HomePage.pod: langauge typo corrected |
17:26 | |
leont | jnthn: how do I drain the input supply on termination of the process in Proc::Async? | ||
[Coke] | timotimo: ... looks like we just need to change the expected results from a -05 based tz to the declared -04 timezone. would you agree? | 17:27 | |
17:27
kaleem left
|
|||
[Coke] | ... no, more things have -05 than just the failures. | 17:28 | |
leont | $proc.start().then(-> { something with the input supply })? | 17:30 | |
dalek | ast: 67373d0 | coke++ | S32-temporal/local.t: Fudge recently-unskipped tests. |
17:32 | |
hoelzro | itz_ brings up an interesting point: why are S32-* and perl6/doc distinct things? | 17:37 | |
[Coke] | timotimo: I fudged it. | ||
timotimo | i have no clue about timezones :) | 17:41 | |
i chose .o | |||
i chose to. | |||
17:42
davido_ left
17:45
sorear left
|
|||
PerlJam | sorear was online?!? | 17:47 | |
dalek | ecs: fb6b129 | (Steve Mynott)++ | S (2 files): the the -> the |
17:48 | |
leont | $foo.=subst() doesn't allow me to check for success/failure :-s, that is unfortunate | 17:49 | |
timotimo | you can put a { $success = 1 } inside your regex %) | 17:50 | |
FROGGS | PerlJam: his avatar is often here :o) | ||
17:50
sorear joined
|
|||
FROGGS | m: "abc".subst(/b/, ''); say so $/ | 17:51 | |
camelia | rakudo-moar c1090b: OUTPUT«True» | ||
FROGGS | m: "abc".subst(/b/, ''); say so $/; "abc".subst(/d/, ''); say so $/; | ||
camelia | rakudo-moar c1090b: OUTPUT«TrueFalse» | ||
FROGGS | leont: ^^ | ||
TimToady | he wants to use .= | 17:52 | |
does it work for that? | 17:53 | ||
(and I thought we turned off the $/ binding for .subst once upon a time...) | |||
PerlJam | m: my $s = "abc"; $s.=subst(/b/, ''); say so $/; $s.=subst(/d/, ''); say so $/; | 17:54 | |
camelia | rakudo-moar c1090b: OUTPUT«TrueFalse» | ||
17:55
sqirrel joined
|
|||
TimToady | m: my $s = "abc"; $s.=subst(/(b)/, { $0 ~ $0 }).say | 17:56 | |
camelia | rakudo-moar c1090b: OUTPUT«abbc» | ||
TimToady | m: my $s = "abc"; $s.=subst(/(b)/, "$0$0").say | ||
camelia | rakudo-moar c1090b: OUTPUT«ac» | ||
TimToady | I guess that's right | ||
PerlJam | If a tad confusing :) | 17:57 | |
(at least it took me a second to go from "huh?" to "oh.") | |||
leont | jnthn: still haven't figured out how to drain stdout_chars, do you have any gist of you using it? | 17:58 | |
dalek | c: 88a0434 | Kamil++ | bin/p6doc: p6doc shall not ignore files that have only declarative comments |
||
c: 19725c6 | (Steve Mynott)++ | bin/p6doc: Merge pull request #25 from teodozjan/master p6doc not ignore files that have only declarative comments |
|||
TimToady | m: my @s = "abc", "bcd", "bb""; @s».=subst(/(b)/, { $0 ~ $0 }); say @s | 17:59 | |
camelia | rakudo-moar c1090b: OUTPUT«===SORRY!=== Error while compiling /tmp/D2aqKpGav1Two terms in a rowat /tmp/D2aqKpGav1:1------> my @s = "abc", "bcd", "bb"⏏"; @s».=subst(/(b)/, { $0 ~ $0 }); say @ expecting any of: postfix…» | ||
TimToady | m: my @s = "abc", "bcd", "bb"; @s».=subst(/(b)/, { $0 ~ $0 }); say @s | ||
camelia | rakudo-moar c1090b: OUTPUT«ac cd b» | ||
TimToady | m: my @s = "abc", "bcd", "bb"; @s».=subst(/(b)/, -> $/ { $0 ~ $0 }); say @s | 18:00 | |
camelia | rakudo-moar c1090b: OUTPUT«abbc bbcd bbb» | ||
TimToady | it's not entirely clear that we should support implicit $/ binding in the method forms | 18:01 | |
PerlJam | That p6doc patch isn't quite right. #| and #= don't have to appear at the beginning of a line. | ||
TimToady | though it does allow the "so $/" there | ||
itz_ | PerlJam: oh yeah | 18:03 | |
whats the best fix? just to remove the ( )? | 18:04 | ||
PerlJam | I dunno. I'd probably do / ^'='/ || / '#|' | '#=' / | 18:06 | |
FROGGS | TimToady: I made it bind to $/, but perhaps because of a misunderstanding of the spec | 18:08 | |
TimToady | well, it's been argued both ways | 18:09 | |
FROGGS | question for me is: what is the most important rule here? a) methods shall not have side effects or b) every regex binds to $/ | 18:10 | |
18:10
PZt joined
|
|||
FROGGS | nowadays I tend to think a) | 18:10 | |
PerlJam still thinks b) | 18:11 | ||
But that might be some residual p5think | |||
itz_ | PerlJam: is that really any different to /^'=' | '#|' | '#='/ | 18:12 | |
PerlJam | itz_: nah, probably not. I'm just unsure on the precedence of ^ vs. | | ||
18:13
zakharyas left
|
|||
itz_ | m: print 1 if "a#=" ~~ m/^'=' | '#|' | '#='/ | 18:16 | |
camelia | rakudo-moar c1090b: OUTPUT«1» | ||
itz_ | you had me worried there :) | ||
dalek | c: 2b4bfef | (Steve Mynott)++ | bin/p6doc: <PerlJam> That p6doc patch isn't quite right. #| and #= don't have to appear at the beginning |
18:18 | |
18:24
[Sno] joined
|
|||
dalek | volaj/cglobal: 7df6815 | (Tobias Leich)++ | lib/NativeCall.pm6: expose C globals like native subs |
18:33 | |
18:34
raiph left
|
|||
dalek | p/cglobal: 1f05ba9 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: add op nativecallglobal on moar only atm |
18:35 | |
18:36
raiph joined
18:37
BizarreCake joined
|
|||
dalek | volaj/cglobal: f923faf | moritz++ | lib/NativeCall.pm6: fix nativecast test failures since the built-in slicing does not like our CArray, provider our own (potentially slicing) multi postcircumfix:<[ ]>. No idea if this is the right fix. Maybe TimToady++ has a better idea. |
18:41 | |
volaj/cglobal: 62c5f9d | moritz++ | lib/NativeCall.pm6: Fix tests turns out that we must not return a Parcel for a single-element slice/array access |
|||
volaj/cglobal: d26adfb | (Tobias Leich)++ | lib/NativeCall.pm6: Merge branch 'master' of github.com/jnthn/zavolaj into cglobal |
|||
raiph | m: (* + *).WHAT.say; (* min *).WHAT.say; # is this a known bug? | 18:42 | |
camelia | rakudo-moar c1090b: OUTPUT«(WhateverCode)(Whatever)» | ||
TimToady | m: say (my $ = 1,).WHICH # <-- grondilu | ||
camelia | rakudo-moar c1090b: OUTPUT«Parcel|(Scalar|56631976)» | ||
TimToady | it isn't a Parcel without the comma, so derefs the $ | 18:43 | |
moritz | raiph: not sure it's a bug; there are explicit exceptions for several operators to not autocurry | 18:48 | |
TimToady | looks kinda buggy to me | 18:50 | |
min is not one of those exceptions, that I know of | |||
grondilu_ | TimToady: ok, noted | ||
18:51
grondilu_ is now known as grondilu,
grondilu left,
grondilu joined
18:57
guru joined,
guru is now known as ajr_
18:58
mberends joined
19:00
sqirrel left
19:01
davido_ joined
|
|||
leont | Progress! I have part of an async TAP harness written down :-) | 19:02 | |
FROGGS | Function X::Panda needs parens to avoid gobbling block | 19:03 | |
at /home/froggs/dev/nqp/install/languages/perl6/site/bin/panda:64 | |||
------> CATCH { when X::Panda { say $_.message }⏏ } | |||
jnthn: I think I found a precomp bug :o( | |||
jnthn: it seems that the symbol X::Panda is not defined when panda is precompiled | 19:04 | ||
leont++ | |||
:o) | |||
nwc10 | how do I translate this program to Perl 6 using threads: | ||
perl -e 'use threads; threads->new(sub {print "Hello world\n"})->join() for 1..9' | |||
I'm specifically wanting to benchmark threads. Not the nice high level things. | 19:05 | ||
the Internet is not coming up with answers that work for me | |||
flussence | Thread.start(...).finish should work | 19:06 | |
vendethiel- | nwc10: await do for ^10 { start { say "Hello World" } } | ||
m: await do for ^10 { start { say "Hello World" } } | |||
camelia | rakudo-moar c1090b: OUTPUT«Hello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello World» | ||
19:07
Ven joined
|
|||
nwc10 | um, technically ^10 is 0..9 not 1..9 isn't it? | 19:08 | |
I can fix the perl 5 to line up with that | |||
Ven | m: say @(^10) | 19:09 | |
camelia | rakudo-moar c1090b: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
Ven | nwc10: ^10 is 0..^10 | ||
perl6++ :) | |||
[Coke] | Yes, that's twhat he just said. | ||
Ven | oh, I misread :D | 19:10 | |
grondilu | ^$n is on top of the P6 idioms I miss in P5 | ||
Ven | well then, 1..9 or 1..^10, right. | ||
19:10
zakharyas joined
|
|||
nwc10 | oh, actually I don't need it :-) | 19:11 | |
dumbbench -- env ~/Sandpit/5182i/bin/perl5.* -MMoose -Mthreads -e 'threads->new(sub {print "Hello world\n"})->join() ' | |||
cmd: Rounded run time per iteration: 3.115e-01 +/- 2.5e-03 (0.8%) | |||
dumbbench -- env ./perl6-m -e 'await do { start { say "Hello World" } }' | |||
cmd: Rounded run time per iteration: 3.108e-01 +/- 3.3e-03 (1.1%) | |||
so, at *one* thread, rakudo beats ithreads once Perl 5 has loaded Moose | 19:12 | ||
also, seemingly gratuitous use of env is because for some reason dumbbench doesn't work if I just tried to run perl-6 directly | |||
I have not yet used strace to figure out why | |||
(it's really slow. It doesn't make snse) | 19:13 | ||
anyway, rakudo concurrency already just for the win | |||
times for 5.20.1-RC1 are about the same as 5.18.2 | |||
19:16
raiph left
19:22
darutoko left
19:24
domidumont left
19:35
brrt joined
|
|||
brrt | \o | 19:36 | |
yoleaux | 3 Sep 2014 00:05Z <timotimo> brrt: i wonder why i didn't get any inlines at all in the previous instance i tried it, but now i do see inlines show up in the jitlog. maybe it only shows inlines if it has deopt points nearby? | ||
brrt | timotimo: i rely on 'inline' annotations in the spesh graph. if the spesh graph doesn't have them, then i don't know anything about them, either | ||
19:38
dwarring joined
|
|||
TimToady | obviously we need a single point of control to decide whether an item can serve as its own "parcel", and it should be roughly the dual of .[0] on non-positionals | 19:46 | |
19:46
slavik left
|
|||
TimToady | but noms first & | 19:46 | |
19:51
itz joined
19:54
itz_ left
19:59
slavik joined
|
|||
timotimo | o/ brrt | 20:00 | |
brrt | \o timotimo | ||
how's stuff been :-) | |||
.... omg, segv in emacs | |||
.... | |||
20:03
BizarreCake left
|
|||
timotimo | i've nommed things today :3 | 20:04 | |
but that's not a big difference to other days | |||
i suppose things are fine :) | |||
brrt | :-) | 20:08 | |
brrt is rather tired actually, has been very busy week so far :-) | |||
low priority off-topic question, but can anybody here guess why photosynthesis can split water molecules into protons and oxygen by the power of a few photons, and 'regular' light cannot split water? | 20:09 | ||
i.e. if the energy of light is sufficient to split water, why is water stable under normal conditions? | |||
(i ask because i'm not in agreement on how common-sense the answer is) | 20:10 | ||
timotimo | that's what a "catalyst" is for :) | ||
20:10
pippo joined
|
|||
pippo | o/ #perl6 | 20:10 | |
colomon | \o | ||
brrt | that's basically a good answer.. there is another, simpler one :-) | 20:11 | |
(although i don't deny that the catalytic function is essential) | 20:12 | ||
pippo | question. May I use a grammar prior to its definition? I want to put the grammar's code definition at the bottom of my perl script? | ||
timotimo | what does a modern person use to build html things? | ||
PerlJam | pippo: predeclare it and I bet you can | ||
pippo | PerlJam: how ? | 20:13 | |
brrt | timotimo: markdown if that person can get away with it | ||
PerlJam | pippo: grammar Foo; | ||
pippo | PerlJam: trying… | 20:14 | |
PerlJam: nope :-( No such method 'TOP' for invocant of type 'Foo' | 20:15 | ||
timotimo | brrt: no, i do need html | ||
brrt | anyway, the simpler reason is that water is mostly transparent :-) | ||
no way to capture the energy of a photon if you're just letting them through | |||
timotimo | ah, duh :) | ||
PerlJam: no, grammar Foo; is not a predeclaration | 20:16 | ||
pippo: you want grammar Foo { ... }; | |||
20:16
kaare_ left
|
|||
pippo | PerlJam: Yesssssssssssssssssss!!! TY! | 20:17 | |
20:17
breinbaas joined
|
|||
pippo | timotimo: Yesssssssssssssssssss!!! TY! | 20:17 | |
PerlJam | heh. | ||
timotimo++ | |||
pippo | :-)) | ||
TimToady | another answer is that it takes the energy of several photons to split one molecule | 20:18 | |
yet another answer is that a photon can indeed split water if it's energetic enough to make the water look opaque :) | 20:19 | ||
brrt | yeah :-) | 20:20 | |
and a last would be that /if/ oceanic water would be split by light, it would quickly react to water again | 20:21 | ||
because where would the oxygen+protons go? | |||
(in photosynthesis they are carefully kept apart) | |||
TimToady | well, assuming there wasn't enough energy to transmute something | ||
20:21
krunen joined
|
|||
brrt | typically there isn't :-) | 20:22 | |
TimToady | thankfully :) | ||
brrt | timotimo: i'm still not clear on what exactly you want | ||
TimToady | you're living in the O-zone | ||
well, not that UV has enough energy either | 20:23 | ||
brrt | hmm... as i understand it it doesn't take all that much energy to split water as long as you have a good catalyst and a thermodynamic driver | 20:25 | |
TimToady | takes "cosmic rays" to get ¹⁴C | ||
most of them ain't photons though | 20:26 | ||
brrt | what is a cosmic ray, in general? | 20:27 | |
20:27
zakharyas left
|
|||
gfldex | a proton | 20:28 | |
a very very fast proton | |||
brrt didn't know that | 20:29 | ||
gfldex | brrt: here you can even learn where they come from: www.youtube.com/watch?v=aTBvPxQIFts | 20:30 | |
brrt | awesome :-) | 20:31 | |
do we have a markdown parser in p6 yet? | 20:32 | ||
20:35
Ven left
|
|||
tadzik | yes | 20:35 | |
sergot++ and masak++ did that | 20:36 | ||
brrt | ooh nice | 20:38 | |
btyler | nativecall bindings to discount would probably be pretty easy too | 20:40 | |
I might do that | |||
20:43
dolmen joined
20:47
Ven joined
20:54
kurahaupo_ joined,
Salai left
20:55
kurahaupo left
20:57
akaseki joined
21:00
akaseki is now known as Salai,
kurahaupo_ left
21:02
brrt left
21:10
gfldex left
|
|||
dalek | p: 21215cb | (David Warring [email@hidden.address] | examples/rubyish/rubyish.nqp: Construct positional before named arguments. Work around for nqp#179. rubyish tests now all passing on MoarVM. |
21:11 | |
21:12
_thou left
|
|||
vendethiel- | dwarring++ | 21:13 | |
timotimo | oh cool | ||
21:13
Ven left
|
|||
timotimo | time to write more tests :) | 21:13 | |
vendethiel- | 'break it! | ||
dalek | kudo/nom: 72f0e37 | duff++ | src/core/Str.pm: A more efficient Str.samecase |
21:15 | |
dwarring | heh | ||
timotimo | .seen tony-o | 21:16 | |
yoleaux | I saw tony-o 29 Aug 2014 17:02Z in #perl6: <tony-o> lol | ||
timotimo | not too long ago, yay | ||
.tell tony-o i'm going to play around with your HTTP::Server::Async for a bit :) | 21:17 | ||
yoleaux | timotimo: I'll pass your message to tony-o. | ||
21:19
SamuraiJack joined
|
|||
dwarring | nqp jvm is missing HasAttrStore, so rubyish not working too well there yet | 21:19 | |
(repr *HashAttrStore) | |||
needed for classes | 21:20 | ||
[Coke] | PerlJam: how much more efficient is that samecase? | 21:23 | |
PerlJam | "lots" :) | 21:25 | |
In my testing I samecased a string with 1000 characters and patterns of 100 and 1000 characters. The original samecase took (on average) .6 and .9 seconds respecitively. The new one takes something like 0.002 and 0.011 seconds. | 21:27 | ||
also, with the original I was only patient enough to wait for it to try 10 runs because they took so long, but with the new one I can stand 1000 runs easily. :) | 21:29 | ||
timotimo | .tell tony-o it seems like your documentation and implementation disagree on the handling of the responsestack; your documentation says the sub should return True or False to influence further processing on the request, but the implementation seems to ignore the return value | ||
yoleaux | timotimo: I'll pass your message to tony-o. | ||
21:30
SamuraiJack left
21:33
DarthGandalf left
21:37
DarthGandalf joined
21:39
lastofthe left
21:41
itz_ joined
21:44
itz left
21:46
itz joined
21:48
itz_ left
21:56
itz_ joined
21:59
itz left
|
|||
firefish5000 | Is there a way to lock variables when using threads? (i believe NYI the last time I tried) | 22:09 | |
timotimo | we do have locks | ||
but using some pattern/primitive that doesn't require locks is usually a better way to go | |||
firefish5000 | Thats good to here. But I'll try making my old code work without it. Thanks! | 22:11 | |
grondilu | std: class Foo {}; multi infix:<**>(Foo $, -1) { "1/Foo" }; | ||
camelia | std 53b3ca6: OUTPUT«===SORRY!===Malformed parameter at /tmp/aAWj3M1V5B line 1:------> class Foo {}; multi infix:<**>(Foo $, ⏏-1) { "1/Foo" }; expecting any of: name parameter signatureParse failedFAILED 00:01 127m» | ||
grondilu | std: class Foo {}; multi infix:<**>(Foo $, $ where -1) { "1/Foo" }; | 22:12 | |
camelia | std 53b3ca6: OUTPUT«ok 00:01 128m» | ||
grondilu | m: class Foo {}; multi infix:<**>(Foo $, $ where -1) { "1/Foo" }; say Foo **-1 | ||
camelia | rakudo-moar c1090b: OUTPUT«1/Foo» | ||
grondilu is surprised he can't use -1 as a litteral parameter in a multi | 22:13 | ||
std: class Foo {}; multi infix:<+>(Foo $, -1) { "-1+Foo" }; | |||
camelia | std 53b3ca6: OUTPUT«===SORRY!===Malformed parameter at /tmp/zWf0UbS8O9 line 1:------> class Foo {}; multi infix:<+>(Foo $, ⏏-1) { "-1+Foo" }; expecting any of: name parameter signatureParse failedFAILED 00:01 127m» | ||
PerlJam | grondilu: you can always use $ where -1 in the mean time | 22:18 | |
(but, yeah, it seems buggy that a literal -1 doesn't work) | |||
grondilu | I'll use $ where -1 as a workaround indeed | 22:19 | |
PerlJam | std: sub foo (-1) { } | 22:24 | |
camelia | std 53b3ca6: OUTPUT«===SORRY!===Malformed parameter at /tmp/0mpOzuHfu6 line 1:------> sub foo (⏏-1) { } expecting any of: name parameter routine_def signatureParse failedFAILED 00:01 122m» | ||
PerlJam | std: sub foo (-Inf) { } | 22:25 | |
camelia | std 53b3ca6: OUTPUT«===SORRY!===Malformed parameter at /tmp/j8drqPjEyW line 1:------> sub foo (⏏-Inf) { } expecting any of: name parameter routine_def signatureParse failedFAILED 00:01 122m» | ||
PerlJam | r: sub foo (-1) { } | ||
camelia | rakudo-jvm c1090b: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' in (gen/jvm/main.nqp)» | ||
..rakudo-{parrot,moar} c1090b: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMalformed parameterat /tmp/tmpfile:1------> sub foo (⏏-1) { } expecting any of: statement list prefix or term prefix…» | |||
PerlJam | r: sub foo (-Inf) { } | ||
camelia | ( no output ) | ||
..rakudo-jvm c1090b: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' in (gen/jvm/main.nqp)» | |||
22:31
kurahaupo joined
|
|||
pippo | night #perl6 | 22:36 | |
22:36
pippo left
22:39
dirtyob joined,
treehug88 left
|
|||
leont | Is there a conventient way to pass %( $/ ) except with Strings instead of match objects? Now converting by hand, feels like more code than it should. | 22:40 | |
PerlJam | leont: I don't think so. But, I too wish for something like that. | 22:42 | |
leont | Best I can currently come up with is «| %( $/.kv.map( -> $key, $value { $key => $value.Str } ))» | 22:46 | |
22:49
lastofthe joined
|
|||
PerlJam | I'd just use $^k and $^v myself, but that looks about like what I came up with last time I thought about it. | 22:49 | |
I think I might have done ~$^v instead of calling .Str, but whatever | 22:50 | ||
leont | Right, I forgot about implicit named args :-) | 22:51 | |
lizmat | they're positionals... not named args | 22:52 | |
leont | I just realized that after I said it | ||
leont hasn't felt like such a noob in years :-p | |||
lizmat | «| %( $/.kv.map( { $^k => ~$^v } ))» | ||
TimToady | |%($/kv.map(* => *)) maybe | 22:53 | |
er, with a ~ | |||
leont | Shiny | 22:54 | |
TimToady | there are also ways of captureing only strings using [] instead of (), sometimes | ||
22:54
dirtyob left
|
|||
lizmat | .oO( maybe a .spairs method, which would automagically stringify values |
22:55 | |
) | 22:56 | ||
22:56
valiantfirkin joined
|
|||
leont | Yeah, I suspect this would be common enough to warrant a method | 22:56 | |
22:57
_thou joined
|
|||
lizmat | anyways... need to get up rather early again... so good night #perl6! | 22:58 | |
firefish5000 | Vim runs awfly slow when editing perl6 code. Anyone know any workarounds? | ||
23:01
valiantfirkin left
23:02
burpcopper joined
|
|||
TimToady | write smaller modules? | 23:02 | |
23:02
_thou left
|
|||
leont | I'm observing the same, I suspect the perl6 mode is at fault | 23:04 | |
grondilu | firefish5000: I recently decided to put # vim: syntax=off on the bottom of long modules | ||
23:04
xragnar left
|
|||
grondilu | though Ideally there should be a perl6-light.vim | 23:04 | |
TimToady | I've never had much trouble, except that sometimes it takes a while for the highlighting to reach where I am, but that doesn't stop me from editing | 23:05 | |
grondilu | TimToady: you're using vim-perl? | ||
TimToady | there may well be some inefficiencies in the current code that could be addressed | ||
no, just "big" vim | |||
grondilu | hat do you mean? | 23:06 | |
grondilu thought he had the biggest vim ever | |||
firefish5000 | grondilu, I'll try syntax off (though Ill probably just deal with it most of the time) | 23:07 | |
TimToady | some linuxes ship with a minimal vim that doesn't do very much, I just mean bigger than that | ||
but not with -perl | |||
for some reason never got into vim-perl | |||
maybe because I knew I'd rewrite the whole thing if I did :) | 23:08 | ||
grondilu removes his .vim/syntax/perl6.vim linked to vim-perl's syntax file. He then realizes his install of Vim apparently comes with a shipped perl6 syntax file | 23:09 | ||
23:11
burpcopper left
|
|||
grondilu | well it seems that my syntax file is /usr/share/vim/vim74/syntax/perl6 and it's from vim-perl anyway | 23:12 | |
firefish5000 | The syntax brace matching is buggy and with just a few hundred lines it's slow... Mayby I should try making a 'big-vim' and see if that solves the problem. (jk) | ||
23:14
xragnar joined
|
|||
grondilu | hum I was looking at the different versions of vim on my distrib and that made me learn about github.com/scrooloose/syntastic Could be nice to have this work with perl6 | 23:18 | |
23:19
ajr_ left
|
|||
firefish5000 wonders if he should enable the 'perl' use flag on his vim instilation.. | 23:19 | ||
grondilu | unless you do a lot of Vim scripting it's probably not much useful. | 23:20 | |
firefish5000 | Rreally? that's too bad.. | 23:22 | |
leont is observing 100 CPU usage when doing anything interesting with Promises :-/ | 23:29 | ||
23:30
spider-mario left
|
|||
tadzik | :| that doesn't sound right | 23:33 | |
firefish5000 | Any plans for panda to have a upgrade/rebuild (backend?)/reinstall option? (I currently search my history for 'panda install' after rakudo/moarvm upgrades) | 23:34 | |
tadzik | firefish5000: I think you're looking for rebootstrarp | 23:35 | |
23:35
xenoterracide joined
|
|||
tadzik | firefish5000: rakudobrew does that for you automatically after every rakudo update | 23:35 | |
firefish5000 | does rakudo brew handle the upgrades or could it work with a system installation? | 23:39 | |
23:39
chenryn joined
|
|||
tadzik | it does everything, doesn't touch the system installation | 23:40 | |
keeps everything in $HOME | |||
firefish5000 | Alright, I'll give it a try. Thanks tadzik! | 23:41 | |
tadzik | you're welcome :) | ||
firefish5000: recommended reading: feather.perl6.nl/~tjs/talks/plpw14/rakudobrew/#/ | |||
firefish5000 | Thanks! One last question, can it sync with git versions of rakudo/nqp/moarvm? (if so I'll remove my system installation) | 23:47 | |
23:49
davido_ left
23:50
zapho53 joined,
Rotwang joined
|
|||
tadzik | firefish5000: it does use git, yes | 23:51 | |
I'm not sure what do you mean by "sync with git versions" | |||
23:51
Rotwang left
|
|||
firefish5000 | latest git head, not just rakudo star. It looks lake it should since it does use git. | 23:52 | |
zapho53 | Where can I find up to date documentation for Perl 6? Perl Foundation site lists a book on github which hasn't been updated for 2 years but I imagine a lot may have changed since then. | 23:54 | |
tadzik | firefish5000: you can specify any git tag or whatever goes into 'git checkout' | 23:58 | |
firefish5000: by default it's HEAD | 23:59 | ||
firefish5000 | That will work! Thanks Again! |