»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:07
n0tjack joined
|
|||
ShimmerFairy | timotimo: you could go with Net::Socks -> NetSocks:: -> KnitSocks:: :P | 00:11 | |
timotimo | %) | ||
00:12
n0tjack left
|
|||
timotimo | grondilu: could you invest a bit of time into making libdigest-perl6 aka Digest post-glr-compatible? | 00:13 | |
flussence | timotimo: I tried starting a Websockets.pm a few months ago, but it never got anywhere (kept hitting rakudobugs). I'd be willing to help out if you get anywhere with it, I kinda want that module to exist... :) | ||
timotimo | ah | 00:14 | |
it seems like i'll be sent to bed really soon, though … | |||
flussence | no hurry :) | 00:15 | |
00:21
laouji left
00:34
n0tjack joined
00:38
n0tjack left
00:42
tadzik left,
tadzik joined
00:58
colomon left
01:05
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:20
n0tjack joined
01:21
cognominal_ left
01:27
shmibs_ is now known as shmibs
01:42
geekosaur left
01:43
colomon joined
01:44
geekosaur joined
01:45
aborazmeh left
01:47
sufrostico left
01:53
mprelude joined
01:58
rangerprice joined
|
|||
rangerprice | There is someone that have one million ? i just want to him to give 100 000 $ to the Perl Foundation | 01:59 | |
02:07
noganex joined
02:10
noganex_ left
02:25
rangerprice left
02:27
rangerprice joined
02:28
rangerprice left
02:42
colomon left,
yqt left
02:47
colomon joined
02:57
colomon left
02:58
colomon joined
03:24
dwarring left
03:30
khw left
03:31
khw joined
03:33
danaj joined
03:40
n0tjack left
03:48
mprelude left
03:56
xinming_ joined
03:59
xinming left
04:11
BenGoldberg left
04:14
lizmat left,
khw left
04:15
lizmat joined
04:16
skids left
04:27
lizmat left,
lizmat joined
04:31
laouji joined
04:33
lizmat left,
lizmat joined
04:34
vic__ joined
04:36
vic__ left
04:37
Averna joined
04:43
lizmat left,
laouji left
04:44
laouji joined
04:45
_itz joined
04:46
lizmat joined
04:47
_itz_ left
04:48
laouji left
04:50
lizmat left,
lizmat joined
05:03
Averna left
05:11
laouji joined
05:16
abaugher left
05:17
abaugher joined
05:23
lizmat left,
lizmat_ joined
05:31
lizmat_ left
05:32
laouji left
05:38
lizmat joined
05:46
lizmat left
05:48
lizmat joined,
Loren_ joined
05:58
tm joined
06:01
RabidGravy joined
|
|||
RabidGravy | morning! | 06:03 | |
timotimo | hello, mister gravy | 06:04 | |
06:06
lizmat left
06:07
lizmat joined
|
|||
_itz whimpers pathetically with his last night ypac sherry/beer hangover | 06:09 | ||
RabidGravy | _itz that old dangerous combo :-O | 06:12 | |
06:14
lizmat left,
virtualsue joined
06:17
lizmat joined
06:30
kaare_ joined
06:32
lizmat_ joined
06:33
lizmat left
06:35
cognominal joined
06:42
lizmat_ left
|
|||
RabidGravy | the question top of my mind this morning is "is it glr or is it just bit-rot" | 06:42 | |
06:44
lizmat joined
06:46
[TuxCM] joined
06:53
lizmat_ joined
06:54
lizmat left
|
|||
timotimo | you can figure out easily by running nom before trying to fix things, eh? | 07:02 | |
07:07
virtualsue left
07:10
lizmat_ left
07:12
lizmat joined
07:18
TEttinger left
07:19
lizmat left
07:26
lizmat joined,
darutoko joined
07:28
rindolf joined
07:31
lizmat left
07:34
virtualsue joined
07:46
lizmat joined
07:50
virtualsue left
07:51
lizmat left
07:52
virtualsue joined
07:57
lizmat joined
08:01
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
lizmat left,
virtualsue left
08:04
lizmat joined
|
|||
RabidGravy | or maybe I just shouldn't be allowed to use git before 10 in the morning | 08:06 | |
08:07
lizmat left
08:08
xfix joined
08:10
[TuxCM] left
08:11
lizmat joined
|
|||
jdv79 | only after caffeine | 08:13 | |
08:15
lizmat left
|
|||
RabidGravy | at this juncture I think a hot towel shave from the guy who looks like the previous president of Iran is the only answer | 08:21 | |
08:23
TEttinger joined
08:24
zacts left,
zacts joined
08:30
mj41 joined,
[TuxCM] joined
08:34
lizmat joined
|
|||
lizmat waves from the YAPC::EU hackathon | 08:35 | ||
timotimo | o/ lizmat | ||
lizmat | timotimo o/ | ||
08:37
mauke joined
|
|||
mj41 | hola form the hackathon | 08:38 | |
panda install Bailador | 08:39 | ||
... | |||
Files=8, Tests=22, 9 wallclock secs ( 0.03 usr 0.02 sys + 8.99 cusr 0.30 csys = 9.34 CPU) | |||
Result: FAIL | |||
test stage failed for Template::Mustache: Tests failed | |||
probably glr merge issue | |||
no any pull request there github.com/softmoth/p6-Template-Mustache/ | 08:41 | ||
yet | 08:42 | ||
08:47
ab5tract_ joined
|
|||
ab5tract_ | o/ | 08:47 | |
TimToady | \o | ||
Loren_ | o/ | 08:48 | |
ab5tract_ | Are YAPC folks already at the Uni hacking? | 08:49 | |
08:50
n0tjack joined
|
|||
TimToady | yup | 08:50 | |
ShimmerFairy | I'm guessing that's "Uni" as in the type, right? | 08:51 | |
TimToady | well, we're here, dunno about the hacking part... | ||
ab5tract_ | hehehe | ||
08:51
rindolf left
|
|||
ab5tract_ | ShimmerFairy: :) | 08:51 | |
TimToady sends ShimmerFairy the graphemes that spell "university" | |||
lizmat | it feels it's more about waking up slowly | ||
ab5tract_ goes downstairs for some breakfast | 08:52 | ||
ShimmerFairy | I figured the alternate interpretation was "university" :) | ||
mauke | UNIVERSAL RECYCLING SYMBOL [♲] | ||
08:55
n0tjack left,
[TuxCM] left
|
|||
mj41 | the basic test is not working github.com/softmoth/p6-Template-Mu...basic.t#L5 ... so probably this should be fixed somehow github.com/softmoth/p6-Template-Mu...he.pm#L140 ... any ideas? :) | 08:57 | |
lizmat | m: my @a = 10 xx False; dd @a | 09:00 | |
camelia | rakudo-moar e6f360: OUTPUT«@a = []<>» | ||
lizmat | m: dd EVAL '[]<>' | ||
camelia | rakudo-moar e6f360: OUTPUT«[]<>» | ||
lizmat | m: dd EVAL '[]' | 09:01 | |
camelia | rakudo-moar e6f360: OUTPUT«[]» | ||
09:01
spider-mario joined
|
|||
TimToady | m: my @a = 10 xx False; say @a | 09:02 | |
camelia | rakudo-moar e6f360: OUTPUT«» | ||
TimToady | m: my @a = 42 xx 10; say @a | 09:03 | |
camelia | rakudo-moar e6f360: OUTPUT«42 42 42 42 42 42 42 42 42 42» | ||
TimToady | m: my @a = 42 xx 10; say @a,42 | ||
camelia | rakudo-moar e6f360: OUTPUT«42 42 42 42 42 42 42 42 42 4242» | ||
lizmat | $ 6 'dd EVAL "[]<>"' | ||
[] | |||
RabidGravy returns with a pine fresh shaved head | 09:06 | ||
now for my next trick we will convince the kitty that she really does want to go to the kitty gitmo | 09:07 | ||
mj41 | anybody with rakudo commit bit? | ||
git tag pre-grl e6f36021abf17d4fca | |||
git push origin pre-glr | |||
09:07
dayangkun joined
|
|||
lizmat | gist.github.com/lizmat/de3ad4f47c12a8c2c860 # JVM build fail | 09:07 | |
moritz | mj41: willdo | 09:08 | |
mj41 | thx | ||
lizmat | pre-glr I would hope | ||
not pre-grl | |||
moritz | done | 09:09 | |
mj41 | thx, From git://github.com/rakudo/rakudo | 09:10 | |
* [new tag] pre-glr -> pre-glr | |||
09:12
ab5tract_ left
|
|||
FROGGS | Ven: I merged moar/cpp3 into moar/master | 09:13 | |
Ven: so you'd need moar/master, nqp/master and rakudo/cpp3 | |||
Ven: NativeCall should attempt to build the test libs with clang++ first, then g++ if it had failed | 09:14 | ||
Ven: and since both default to GNU name mangling it should Just Work™ | |||
09:17
perl6_newbee joined
09:20
ab5tract_ joined
|
|||
ab5tract_ | are type conversions in signatures still NYI? | 09:29 | |
s/conversions/coercions/ | |||
moritz | no | ||
m: sub f(Int() $x) { say $x.^name }; f '42' | |||
camelia | rakudo-moar e6f360: OUTPUT«Int» | ||
ab5tract_ | ooo :) | 09:30 | |
looks like I have something cool to add to an upcoming pull request :) | |||
lizmat | m: class A { method Str { "foo" } }; sub bar(Str() $a) { dd $a }; bar A | 09:31 | |
camelia | rakudo-moar e6f360: OUTPUT«$a = "foo"» | ||
lizmat | m: class A { method Str { "foo" } }; sub bar(Str $a) { dd $a }; bar A # without coercion | 09:32 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BslxyXq0OWCalling bar(A) will never work with declared signature (Str $a)at /tmp/BslxyXq0OW:1------> 3{ "foo" } }; sub bar(Str $a) { dd $a }; 7⏏5bar A # without coercion» | ||
ab5tract_ | I remember also some Int[Str] sort of syntax? but that's clearly something else | ||
lizmat | FWIW, looks like the JVM build failure is caused by not being able to set $=pod | ||
around line 404 in World.nqp. I tried several things, but none of them worked out | 09:33 | ||
seems we need to fix the underlying issue of |$*POD_BLOCKS being nqpMu | 09:34 | ||
ShimmerFairy | ab5tract_: that's parametric syntax, like class Foo does Bar[Int, Int] { } for example | ||
lizmat | m: say Nil.[0] | 09:35 | |
camelia | rakudo-moar e6f360: OUTPUT«Nil» | ||
ab5tract_ | ShimmerFairy: thanks | ||
lizmat | m: say Nil[0] # funny | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pi1VCuFpUHAny cannot be parameterizedat /tmp/pi1VCuFpUH:1------> 3say Nil[0]7⏏5 # funny» | ||
ShimmerFairy | m: say Nil.new[0] | ||
camelia | rakudo-moar e6f360: OUTPUT«Nil» | ||
ShimmerFairy | there we go :) | ||
mj41 | m: say $*PERL.perl | 09:36 | |
camelia | rakudo-moar e6f360: OUTPUT«Perl.new(compiler => Compiler.new(release => "", codename => "", name => "rakudo", auth => "The Perl Foundation", version => Version.new('2015.7.1.215.ge.6.f.3602'), signature => Blob, desc => Str), name => "Perl 6", auth => "The Perl Foundation", version …» | ||
mj41 | how to get sha1 of rakudo commit? | ||
lizmat | $ git describe | ||
2015.07.1-732-g03b5a0a | |||
so camelia is about 500 commits behind ... :-(] | |||
mj41 | but I'm switching with rakudobrew | ||
ShimmerFairy | mj41: the part after the 'g' in that Version.new is the sha1, but it's been broken up for some strange reason | 09:37 | |
mj41 | ShimmerFairy: ok | 09:38 | |
lizmat | m: say Version.new("21abc42") # that's how Version supposed to work, split on numeric / alphanumeric boundaries | 09:39 | |
camelia | rakudo-moar e6f360: OUTPUT«v21.abc.42» | ||
lizmat | m: say Version.new("21abc42").perl | ||
camelia | rakudo-moar e6f360: OUTPUT«Version.new('21.abc.42')» | ||
ShimmerFairy | it's pretty wrong for hashes, though :) | ||
lizmat | FSVO wrong :-) | 09:40 | |
moritz | lizmat: rakudo-j build fails for camelia | ||
lizmat | moritz: that's why I was looking at it | ||
moritz | lizmat: does it work for you? | 09:41 | |
lizmat | nope | ||
ShimmerFairy | lizmat: of course, something with no real sort order probably shouldn't be in a Version in the first place :P | 09:42 | |
moritz | ShimmerFairy: I disagree. A version should uniquely identify a build or source snapshort; ordering is secondary | ||
lizmat | don't shoot the messenger... I only implemented the speculation here :-) | 09:43 | |
ShimmerFairy | moritz: in that case, the Version type needs some way of knowing what a sha1 hash is, and other similar "informational but useless to sorting" components | ||
09:44
rmgk left,
rmgk_ joined,
rmgk_ is now known as rmgk
09:45
cschwenz_hackath joined
|
|||
cschwenz_hackath | does perl6 have multi dispatch based on what is wanted on return? that is, "if $foo.found($bar) { ... }" returns boolean while "@list = $foo.found($bar)" returns a list. | 09:47 | |
TimToady | no, that would require time travel | 09:50 | |
ShimmerFairy | no, there isn't. You'd have to have separate functions for that, or return a type that can behave the way you want in particular places | ||
lizmat | m: class A { method Bool { True }; method Str { "foo" }; method Numeric { 42 } }; dd A, ?A, ~A, +A | 09:51 | |
camelia | rakudo-moar e6f360: OUTPUT«ABool::True"foo"42» | ||
cschwenz_hackath | ah, ok. | ||
ab5tract_ | cschwenz_hackath: fwiw, an empty list would be false in boolean context, and a non-empty true | 09:52 | |
so you would get those semantics for free :) | |||
but generally you would write the boolean is 'is-found' and the list as 'found' or so | |||
'wantarray' was an early casualty | 09:53 | ||
and few mourned at the funeral ;) | |||
lizmat | fwiw, TheDamian now does not support using context for Perl 5 anymore either | 09:54 | |
09:54
diana_olhovik_ joined
|
|||
lizmat | in a new PBP, he would advocate returning an object that would do the right thing in the right context | 09:54 | |
ab5tract_ | lizmat: yup, it's considered bad form across the Perliverse, afiact | 09:55 | |
ShimmerFairy | Now that I think about it, if you returned really different things from a function, and needed to discern when to return which one, then you really want two functions (since a different name is the least error-prone way to state what you want, AFAIK) :) | 09:56 | |
mauke | that applies to overloaded functions in general | ||
FROGGS | ShimmerFairy: you could also use adverbs to indicate you want to get something else returned instead | 09:58 | |
like having an :exists adverb that does a cheap check to return a Bool instead of returning/gathering values seems better than creating an object that has weird behaviour | 09:59 | ||
ShimmerFairy | FROGGS: yeah, I consider adverbs and overloading to be the right way to ask for the same result with different starting info. Asking for different results should rightly require different functions :) | 10:00 | |
FROGGS | ShimmerFairy: but the adverb in @foo[42]:exists is about a different return value | 10:01 | |
ShimmerFairy | FROGGS: fwiw, the .found example given seemed to me to be like @foo[$idx]:exists and @foo.grep($bar) | ||
FROGGS: I don't think I'm being clear. I'm speaking in terms of 'wantarray' and all that other P5 stuff. It's better for the user to state what kind of thing they want, instead of trying to make a magical function | 10:02 | ||
mj41 | my glr regressions debugging script gist.github.com/mj41/55e6121e3b0380f66fec | ||
ab5tract_ | ShimmerFairy: indeed. but really the issue with wantarray, at least as far as it has bitten me, is that the "magic" in the function is about invisible side effects that (in Perl 5) all too often bite you in the face | 10:05 | |
I think the decision between using adverbs and separate functions is stylistic, and perhaps will become the subject of some future best practices deiscussion | |||
FROGGS | ShimmerFairy: I agree that P5's wantarray should be implemented as two different functions usually | ||
ab5tract_ | but neither presents the issues of wantarray, because both involve explicit declarations from the POV of the user | 10:06 | |
ShimmerFairy | Yeah, at least in P6 you'll have to write the encapsulating type that does the magic you want, if you _really_ want it. And then people will be able to see what your return value is going to do by poking at it :) | 10:07 | |
dalek | kudo/nom: 0e67b32 | TimToady++ | src/core/Array.pm: partly unbreak the java build Apparently **@values is rw is producing a Null somehow. For now just interrogate the capture directly. |
10:09 | |
10:10
dayangkun left
|
|||
TimToady | now we blow up in the jast stage with a NQPMu in compile_all_the_stmts | 10:11 | |
ab5tract_ | :( | 10:12 | |
FROGGS | ups | 10:20 | |
I didn't even know the build was broken... | 10:25 | ||
lizmat | m: dd <<a b c d>>' # seems wrong | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6Lk4OsJdu9Two terms in a rowat /tmp/6Lk4OsJdu9:1------> 3dd <<a b c d>>7⏏5' # seems wrong expecting any of: infix infix stopper postfix statement e…» | ||
lizmat | m: dd <<a b c d>> # seems wrong | ||
camelia | rakudo-moar e6f360: OUTPUT«"a""b""c""d"» | ||
lizmat | m: dd <a b c d> # this seems ok | 10:26 | |
camelia | rakudo-moar e6f360: OUTPUT«("a", "b", "c", "d")» | ||
FROGGS | TimToady: I try to hunt that down now | ||
lizmat | ++FROGGS | 10:27 | |
TimToady | FROGGS: I'm testing a patch in nqp right now | ||
FROGGS | cool | ||
jdv79 | so, i just realized there's a problem with the current pause approach. does anyone have a problem with not automatically translating the existence of META6.json to a Perl6 subdir to just explicitly specifying that subdir? | ||
TimToady | well, it's just null-proofing, probably doesn't fix whatever is producing the NQPMu | ||
10:28
vendethiel joined
|
|||
FROGGS | TimToady: that NQPMu-check can potentially get a .node from its parent? so we'd know what source code causes trouble | 10:29 | |
ShimmerFairy | jdv79: I don't know, I think the best approach would really be for PAUSE/CPAN to recognize a P6 module and hand it off to the appropriate handler as soon as possible (preferably the very first thing done to a package) | 10:30 | |
lizmat | jdv79: could you elaborate ? | ||
ShimmerFairy jdv79 : you should realize that PAUSE is really just a dropbox | |||
TimToady | FROGGS: could, but I'm just trying to unbreak the build right now so we can have camelia under glr | ||
lizmat | with some P5 specific handling on top of it | 10:31 | |
FROGGS | TimToady: *nod* | ||
ShimmerFairy | lizmat: sure, but the P5 handler gets to processing a P6 module before the check happens. That's the issue | ||
lizmat | yes, that's a bug that should be fixed | ||
jdv79 | upon initial insertion (insert into the uris table) the dist uniqueness is enforced | ||
ShimmerFairy | lizmat: so you can't upload a P6 module if you've got a same-named P5 package, for instance, because the "duplicate uploaded name" check is done before the "is it P6" check | ||
lizmat | yeah, and we only tried it before with modules that would not collide with existing P5 modules :-( | 10:32 | |
jdv79 | that's the bug i originally fixed. and that works fine for the http upload method where we can dig into the dist before inserting | ||
FROGGS | ShimmerFairy / lizmat: though it is not about package names, it is about tarball names per author | ||
jdv79 | but pause also supports fetching later after insertion so we have no way to handle that | ||
ShimmerFairy | lizmat: and that's what I mean by having the P5/P6 check be the _very first_ thing the file goes through, so that the wrong handler doesn't get in the way when something's uploaded :) | 10:33 | |
jdv79 | a solution would be to detect a user spec'd Perl6 top level subdir as the p6 flag instead of the META6.json file | ||
that way its fine for http upload and ftp and http fetch | |||
lizmat | well, as a temporary solution, I could see that work (apart from needing to create the Perl6 top level subdir first) | 10:34 | |
ShimmerFairy | I don't see how that'd work (but I'm not familiar with CPAN, admittedly) | ||
lizmat | but I see that as a temporary fix | 10:35 | |
the authoritative flag for P6'ness would have to be META6.json | |||
as we don't want to limit ourselves to the limitations of PAUSE | |||
so if there would be a PAUSE alternative, then the alternative would not need to create a Perl6 subdir | 10:36 | ||
ShimmerFairy | lizmat: I think the best temporary solution would be a manual "Yes, this is P6" checkbox everywhere you can upload P6 stuff from | ||
lizmat | and would lose the flag meaning then: | ||
mj41 | so I'm stuck github.com/softmoth/p6-Template-Mu.../issues/10 | ||
10:38
ab5tract_ left
|
|||
jdv79 | pause handles the Perl6 dir creation just fine as we get it in its path early enough | 10:38 | |
The indexer would use META6.json still so i don't see this change as temporary. | 10:39 | ||
ShimmerFairy | Hypothetical question: would it be difficult to have a separate "PAUSE6" program handling P6 stuff, and then something in front that decides whether to hand off to PAUSE or PAUSE6? (I'm guessing the answer is "very, very difficult") | ||
jdv79 | anything is possible but part, most?, of the point here it to do leverage existing stuff | 10:40 | |
10:41
ab5tract_ joined
|
|||
FROGGS now tries to output the AST of the setting | 10:45 | ||
"Cannot stringify this" :o( | 10:48 | ||
10:49
diana_olhovik_ left
|
|||
TimToady | note($qast.dump) or so | 10:50 | |
ShimmerFairy | or --target=ast if you want the whole setting :) | 10:51 | |
TimToady | or is the problem internal to that? | 10:52 | |
ShimmerFairy | FROGGS: I've run into unstringifiable stuff a bunch lately (mostly with "Undeclared" error objects not being available for construction, and their nameds being dump). I wonder if it would be unreasonable for nqp's printing functions to support printing arrays and hashes | ||
*dumped | 10:53 | ||
moritz | twitter.com/OvidPerl/status/640098739168890880 has anybody told Ovid where the hackathon is? | ||
jdv79 | or we could just say p6 dists only go through http upload. that would be easier:) | ||
TimToady | moritz: yes, he found us | ||
[ptc] waves from Madrid airport | 10:54 | ||
moritz waves to Madrid airport | 10:55 | ||
lizmat | [ptc] safe travels! | 10:56 | |
dalek | Heuristic branch merge: pushed 54 commits to rakudo/cu_load by lizmat | 10:59 | |
lizmat | FROGGS: starting to look at cu_load now | ||
FROGGS | nice :o) | 11:00 | |
ShimmerFairy | I think I'll finally push my allomorphic changes as a branch now :) (some updates since I tried merging, didn't pull in the changes that were made before the revert to make the eventual re-merge less of a headache) | ||
pink_mist | hmm, Parcel is still mentioned in S02 on design.perl6.org/S02.html .. thought that was removed | ||
I don't really fancy trying to learn perl6 from an outdated document =( | 11:01 | ||
FROGGS | pink_mist: yes, the design docs and implementation(s) do not cover each other to 100% | ||
pink_mist: the design docs are not meant as a guide to learn the language | |||
they are meant to guide implementors | 11:02 | ||
ab5tract_ feels he is being too annoying about consistency issues, but cannot stop trying to resolve them anyway | |||
ShimmerFairy | pink_mist: yes, I find the synopses are in need of some modernization in general. I've been toying with the idea of setting up a "modernization" branch lately to sweep through all the synopses and update them. | ||
pink_mist | ShimmerFairy++ # that would be awesome | ||
ShimmerFairy | The high 20s are some of the worst-kept parts of the synopses, in my opinion :) | 11:03 | |
pink_mist | FROGGS: they seem a very nice source to learn from imo though | ||
ab5tract_ | pink_mist: they certainly comprise the most text written on the language, that's for sure | 11:04 | |
dalek | rakudo/allomorphs: 4a05124 | ShimmerFairy++ | src/core/Str.pm: | ||
rakudo/allomorphs: Make empty string numify to zero | |||
rakudo/allomorphs: | |||
rakudo/allomorphs: As explained by TimToady++, not as weird and unusual as I thought to | |||
rakudo/allomorphs: have this behavior. | |||
11:04
dalek left
11:05
dalek joined,
ChanServ sets mode: +v dalek,
dalek left
|
|||
ShimmerFairy | FROGGS: they may not be meant as a learning aid, but I'm so used to learning from them that the concept seems foreign to me :P | 11:05 | |
11:05
dalek joined,
ChanServ sets mode: +v dalek
11:06
TEttinger left
|
|||
mj41 | ok, maybe this one is going to be easier github.com/tadzik/Bailador/issues/32 | 11:07 | |
dalek | ecs: 1ec7ab1 | moritz++ | S02-bits.pod: Start to remove Parcel from S02 |
11:09 | |
pink_mist | yay, moritz++ =) | 11:10 | |
[ptc] | lizmat: thanks! | ||
moritz: :-) | 11:11 | ||
TimToady | FROGGS: I have had no luck de-nulling compile_all_the_stmts, just moves the error around, so you can look at it if you like (we're going to lunch) | 11:13 | |
dalek | ecs: 650f008 | moritz++ | S03-operators.pod: De-Parcel-ify S03 |
11:14 | |
ab5tract_ | [ptc]: your comments welcome on github.com/rakudo/rakudo/pull/525 :) | ||
I replied via email but my comment does not appear yet | 11:15 | ||
dalek | ecs: 558155b | moritz++ | S04-control.pod: De-Parcel-ify S04 |
11:16 | |
moritz | TimToady: we need a new name for "Parcel parameters", I think | 11:17 | |
11:17
n0tjack joined
|
|||
FROGGS | TimToady: yes, I'm still at it | 11:17 | |
moritz | m: sub f(|c) { say c.perl }; f(|(1..2, 3)) | 11:18 | |
camelia | rakudo-moar e6f360: OUTPUT«\(1..2, 3)» | ||
moritz | m: sub f(|c) { say c.perl }; f(|(1..2)) | ||
camelia | rakudo-moar e6f360: OUTPUT«\(1, 2)» | ||
ShimmerFairy | Captures? Slips? | ||
11:19
rindolf joined
|
|||
dalek | ecs: 4c49844 | moritz++ | S0 (2 files): A bit more more De-Parcel-ification |
11:19 | |
11:19
telex left
11:20
telex joined
|
|||
[ptc] | ab5tract_: ok, I'll have a look | 11:20 | |
ab5tract_: did we not discuss this at yapc? Or did I only discuss the issue with masak? | 11:22 | ||
11:22
n0tjack left
|
|||
ab5tract_ | we had a brief WTF moment about it | 11:22 | |
or at least, acknowledged the cognitive dissonance | |||
is there a strong reason for keeping it as is? | |||
[ptc] | ab5tract_: anyway, I think since 'until' is used elsewhere in the language for another concept, that it's a good idea to use 'sleep-till' rather than 'sleep-until' to avoid confusion | ||
ab5tract_ | oof | 11:23 | |
[ptc] | ab5tract_: agreed, I definitely had a wtf moment though, however managed to rationalise why it'd be ok to keep as-is | ||
ab5tract_ | what does `until` do again? it is missing from p6doc | 11:25 | |
[ptc] | hrm, something else missing. Let me check | ||
ab5tract_ | loop { } until $condition; right? | ||
[ptc] | it's in the while {} until $condition | 11:26 | |
ab5tract_: yup :-) | |||
you got in before me :-) | |||
ShimmerFairy | until is the unless of while, to put it tersely :) | ||
ab5tract_ | I personally don't think that's a strong enough reason for the cognitive dissonance | ||
[ptc] ponders the syntax: sleep until $Instant; .... (not seriously though) | 11:27 | ||
ab5tract_ | but I guess I should learn to ignore all these annoying (to me) language things in core | ||
since I'm batting at exactly 0 so far | 11:28 | ||
ShimmerFairy | I think I would prefer 'sleep-until' in this case, it feels more expected | ||
[ptc] | ab5tract_: doc.perl6.org/language/control#repe...at%2Funtil | ||
it just doesn't turn up in the search since it's a keyword (a known issue with the docs processing) | |||
ab5tract_ | ShimmerFairy: a +1 on the issue is always appreciated :) | 11:29 | |
ShimmerFairy | (and because I spell 'til with just the one "l", and a prefixed apostrophe, so I'd write it as sleep'til probably :P) | ||
ab5tract_ | ShimmerFairy: :) | ||
[ptc] grins | |||
11:29
dalek left
|
|||
ShimmerFairy | ab5tract_: IIRC you have different opinions on naming things than I do, but in this case I agree. We ain't tilling anything, so why name it with the 'till' verb? :) | 11:30 | |
[ptc] | how about: have-a-snooze-until-later ? | ||
ShimmerFairy | wake-me-up-at() | ||
11:30
dalek joined,
ChanServ sets mode: +v dalek
|
|||
[ptc] lacks too much sleep to provide sensible comments | 11:30 | ||
ab5tract_ | sleep-while-not-yet | ||
[ptc] | nap-until ? | 11:31 | |
cognominal | seems safe to remove &capture_and_parcel in src/Perl/Actions.nqp. Passes make test. github.com/rakudo/rakudo/pull/526 | ||
ShimmerFairy | ab5tract_: I don't think "until" has a conflict issue between the keyword and sleep-until, because it both cases the word "until" is stood to mean "go until stop condition" | ||
*in both cases | |||
ab5tract_ | this is the problem with having so many ops/keywords.. English doesn't have that many ways to write these things, and I don't see how we can get around it by randomly slang-fying things | ||
ShimmerFairy | *understood (gah!) | ||
ab5tract_ | sleep-whilst-not-yet | 11:33 | |
(by which I mean, I hate this approach) | |||
[ptc] | maybe we need to go to a higher authority? | 11:35 | |
s/go/defer/ | |||
cognominal | not sure if SIG_ELEM_IS_PARCEL should be renamed SIG_ELEM_IS_LIST or SIG_ELEM_IS_SEQ | ||
cschwenz_hackath | how do i use docs.perl6.org/type/Match#method_hash ? (could anyone here please give an example) | 11:36 | |
ab5tract_ | Since I have the rare opportunity to try puppy dog eyes at TimToady, I'll schedule that for later today ;) | ||
[ptc] | ab5tract_: :-D | 11:39 | |
ShimmerFairy | m: "123foo" ~~ /<digit>+ $<stuff>=[foo]/; say $/.hash.keys # cschwenz_hackath | 11:40 | |
camelia | rakudo-moar e6f360: OUTPUT«digit stuff» | ||
smash | masak: hello sir, do you have the slides for you talk somewhere already? | ||
cschwenz_hackath | ah, thanks ShimmerFairy! :-) | ||
ShimmerFairy | cschwenz_hackath: no problem :) also: | ||
m: "12" ~~ /<digit> <.digit>/; say $/.hash.kv; | 11:41 | ||
camelia | rakudo-moar e6f360: OUTPUT«digit 「1」» | ||
lizmat | .tell TimToady github.com/rakudo/rakudo/pull/525 is what everybody is talking about | ||
yoleaux | lizmat: I'll pass your message to TimToady. | ||
[ptc] | smash: masak is somewhere in the air over Europe at present. I recommend asking hime via .tell | ||
s/hime/him | 11:42 | ||
ShimmerFairy | that . lets you avoid capturing (which is why you always see <.ws> instead of <ws>). Capturing is avoided whenever the first character isn't alphanumeric, so <?foo> wouldn't capture either | ||
smash | [ptc]: roger that, thank you | ||
.tell masak do you have the slides for you talk somewhere online? thank you | 11:43 | ||
yoleaux | smash: I'll pass your message to masak. | ||
cschwenz_hackath | ShimmerFairy++ | ||
11:43
laouji joined
|
|||
lizmat | mj41: just commented on github.com/tadzik/Bailador/issues/32 | 11:45 | |
11:45
aborazmeh left
|
|||
mj41 | lizmat: ok, thx | 11:46 | |
[ptc] | smash: np | 11:47 | |
afk & | 11:48 | ||
ShimmerFairy | cschwenz_hackath: oh, one more thing: you can use hash subscripting to access named captures, so you don't need to use .hash unless you want all those named captures :) (that is, $/<stuff>, which can be shortened to $<stuff>) | 11:49 | |
FROGGS | TimToady: the problem seems to be this: | 11:51 | |
- QAST::Regex(:rxtype(charrange) :subtype() (negated)) <-[\\c32..\\c126]> | |||
- | |||
- QAST::IVal(32) | |||
- QAST::IVal(126) | |||
several charrange ops have such an NQPMu child | |||
11:52
skaji joined
11:54
xinming_ left,
xinming joined
|
|||
FROGGS | hmmm, though that does not trip up in nqp, even that NQPMu shows up there... | 11:55 | |
ShimmerFairy | couldn't hurt to get rid of it anyway though, right? :) | 11:56 | |
FROGGS | I, I think so too | 11:58 | |
11:59
skaji left
|
|||
FROGGS | ohh wait, that's not it :o( | 12:00 | |
dalek | kudo/nom: a47a9ef | lizmat++ | src/core/Temporal.pm: Coerce some in Temporal Inspired by github.com/rakudo/rakudo/pull/525, ab6stract++ |
12:01 | |
12:10
muraiki joined
12:14
muraiki left
|
|||
dalek | ast: 8a79f11 | lizmat++ | S29-context/sleep.t: Add test for sleep-timer arg coercion |
12:14 | |
mj41 | m: my %h = 11 => 61; %h = %h, 12 => 62; say %h.perl; | 12:15 | |
camelia | rakudo-moar e6f360: OUTPUT«{"11" => 61, "12" => 62}<>» | ||
mj41 | this is pre-glr, but on nom I got {"12" => 62} | 12:18 | |
lizmat: ^^^ | |||
ab5tract_ | m: my %h = 11 => 61; %h = %h.kv, 12 => 62; say %h.perl; | ||
camelia | rakudo-moar e6f360: OUTPUT«{"11" => 61, "12" => 62}<>» | ||
lizmat | note that camelia is still at lesst a few hundred commits behind | 12:19 | |
12:19
cschwenz_hackath left
12:20
laouji left
|
|||
ab5tract_ | mj41: not that your example shouldn't work as expected | 12:20 | |
lizmat | $ 6 'my %h = 11 => 61; %h = |%h, 12 => 62; say %h.perl' | ||
{"11" => 61, "12" => 62} | |||
ab5tract_ | but generally %h.push would be the way to go | ||
12:20
laouji joined
|
|||
lizmat | the %h is not flattened | 12:20 | |
(anymore, post-glr) | 12:21 | ||
that's the rule now | |||
FROGGS | ~$ perl6-m -e 'my %h = 11 => 61; %h = |%h, 12 => 62; say %h.perl' | ||
{"11" => 61, "12" => 62} | |||
mj41: ^^ | |||
12:22
laouji left
|
|||
mj41 | ok, just asking to be sure that this part of github.com/mj41/Bailador/commit/2e...3e244c688d is ok | 12:22 | |
12:22
laouji joined
|
|||
lizmat | $ 6 'my %h = a => 42; my @a = %h; my @b = %h, %h; dd @a, @b' | 12:23 | |
@a = [:a(42)] | |||
@b = [{:a(42)}, {:a(42)}] | |||
TimToady | what is everyone talking about? | ||
yoleaux | 11:41Z <lizmat> TimToady: github.com/rakudo/rakudo/pull/525 is what everybody is talking about | ||
lizmat | mj42: in the first case, the %h was flattened because it was the only arg | ||
in the second case, neither %h was flattened, because they were not just a single arg | 12:24 | ||
ab5tract_ | TimToady: I've been stirring the pot again :) | 12:25 | |
12:25
laouji left
|
|||
smash | TimToady: now that perl 6 is annouced it's time to start thinking about the new dialect in the Perl family of languages ;-) | 12:25 | |
12:26
dayangkun joined
|
|||
TimToady | I've already been thinking about it for 15 years :P | 12:26 | |
ab5tract_ | mj41: I would personally have written that as %ret.push: self.params('body') | ||
smash | TimToady: I propose a strogly typed, purely functional language, and to call it Perl 7 ;-) | 12:27 | |
ab5tract_ | not sure why the assignment form was there in the first place, but tadzik++ is a smart cookie so... | ||
smash: you could write a Slang and call it NAAP -- Not At All Perl ;) | 12:28 | ||
TimToady | smash: you could just call it 'Paskell' :) | ||
ab5tract_ | lol | ||
smash | TimToady: that would be awesome, I like | 12:29 | |
TimToady | or Hasperl | ||
pink_mist | Paskerl | ||
smash | also cool | 12:30 | |
ab5tract_: hehe, nice | 12:31 | ||
12:31
colomon left
|
|||
ShimmerFairy | TimToady: On a related note, I can't help but wonder what Perl 6.1 would look like. I'm of course more concerned with 6.0.0 atm, but it's still an interesting thing to consider. :) .oO(will we have Moar RFCs?) | 12:31 | |
12:32
laouji joined
|
|||
ab5tract_ | ah.. it was not written via .push because " # Dancer2 also mixes GET and POST params and overwrites the GET params by the POST params" | 12:33 | |
which seems... odd. | |||
_itz reads scrollback and kills GLRelia for good | 12:34 | ||
12:35
colomon joined
|
|||
mj41 | ab5tract: maybe, but I want to fix it without changing behaviour not ok 9 - echo with text | 12:36 | |
# Failed test 'echo with text' | |||
# at t/01-route-existance.t line 23 | |||
# expected: [200, [:Content-Type("text/html")], "Echo3: foo-zorg-zorg-bar"] | |||
# got: [200, [:Content-Type("text/html")], "Echo3: foo-bar zorg-zorg-bar"] | |||
ShimmerFairy | _itz++ for setting it up though, turned out to be more than a temporary solution :) .oO(itz been nice knowing 'er) | ||
ab5tract_ | mj41: indeed! I agree that fixing it makes more sense than changing it. There's a lot I would change about Bailador, enough that writing something different probably makes a lot more sense) | 12:37 | |
pink_mist | who's in charge of getting camelia running GLR btw? :P | 12:38 | |
12:39
virtualsue joined
12:40
laouji left
|
|||
ab5tract_ | pink_mist: well-volunteered ;) | 12:43 | |
pink_mist | hah, as if I had access to upgrade camelia :P | ||
12:44
laouji joined
|
|||
_itz | m: say (1,2).WHAT | 12:45 | |
camelia | rakudo-moar e6f360: OUTPUT«(Parcel)» | ||
_itz | oh | ||
12:45
spider-mario left
|
|||
lizmat | m: say "a" ~~ / <![.]> / # is this correct, sorta expected 「a」 here | 12:45 | |
camelia | rakudo-moar e6f360: OUTPUT«「」» | ||
TimToady | huh, . is not a metachar there | 12:46 | |
you'd need - instead of ! to traverse a char | 12:47 | ||
lizmat | TimToady: that was the intent | ||
anything that is not a literal period | |||
TimToady | ! is 0-width | ||
12:47
Ven joined
|
|||
lizmat | we want to match anything that's *not* a literal '.' | 12:47 | |
Ven | FROGGS: recompiled, spectesting now | 12:48 | |
TimToady | m: say "a" ~~ / <-[.]> / | ||
camelia | rakudo-moar e6f360: OUTPUT«「a」» | ||
TimToady | then use - | ||
FROGGS | Ven: \o/ | ||
lizmat | ah duh :-) | ||
_itz | camelia is still running premerge? | ||
lizmat | TimToady++ :-) | ||
pink_mist | _itz: that's what all evidence points to | ||
ab5tract_ | pink_mist, _itz: IIUC, this is because nom is broken on JVM and this interferes with getting Camelia up to date | 12:49 | |
pink_mist | ahhh | ||
_itz: maybe bring back GLRelia :P | 12:51 | ||
12:52
dayangkun left
|
|||
_itz | :) | 12:52 | |
ab5tract_ | so... TimToady, any thoughts on sleep-until ? | ||
or should I have waited to ask until (hehe) I can flash a face of desperation in person? ;) | 12:53 | ||
s/desperation/puppy dog/ | |||
TimToady | I'm fine with sleep-until as long as the types are tight enough to reject sleep-until($x == $y) and such | 12:57 | |
12:57
colomon left
|
|||
pink_mist liked ShimmerFairy's sleep'til | 12:58 | ||
ab5tract_ | \o. | ||
\o/ | |||
Ven | FROGGS: I can gist you a m-coretest | ||
mauke | sleep-till($brooklyn); | 12:59 | |
Ven | FROGGS: gist.github.com/vendethiel/b9b5eaf1361f03efc576 | ||
ab5tract_ | mauke: that's doing it all wrong :P | ||
mauke | sleep-while($brooklyn); | 13:00 | |
ab5tract_ | m: True.Instant | 13:01 | |
camelia | rakudo-moar e6f360: OUTPUT«Method 'Instant' not found for invocant of class 'Bool' in block <unit> at /tmp/mbAfSmDygD:1» | ||
pink_mist | .oO( vende'til ) |
||
FROGGS | Ven: can I get the output of: perl6-m t/04-nativecall/11-cpp.t | ||
ab5tract_ | m: False.Instant | ||
camelia | rakudo-moar e6f360: OUTPUT«Method 'Instant' not found for invocant of class 'Bool' in block <unit> at /tmp/2tklCe_V0L:1» | ||
ab5tract_ | TimToady: so the existing coerce should be fine, right? | ||
FROGGS | ab5tract: you could also be more specific by turning it into Instant(Numeric) or so | 13:02 | |
Ven | FROGGS: uh. Lookup by name of unknown REPR: CPPStruct. Something tells me that's not quite the kind of output you expected... | ||
FROGGS | Ven: aye | ||
Ven: means you did not rebuild nqp+rakudo after installing moar/cpp3 | |||
ab5tract_ | FROGGS: I think it makes sense for it also transparently handle DateTime | 13:03 | |
cognominal | lizmat, what do you think of github.com/rakudo/rakudo/pull/526? | ||
ab5tract_ | cognominal: didn't lizmat respond to that PR? | ||
lizmat | cognominal: I already commented on that | 13:04 | |
cognominal | oops | ||
Ven | FROGGS: *sigh* I always expect --gen-moar to pull and.. gen moar | ||
cognominal | lizmat, that's a remark I made earlier | ||
the said remark irclog.perlgeek.de/perl6/2015-09-05#i_11173014 | 13:05 | ||
lizmat | ah, I'm going to leave that up to jnthn | 13:07 | |
mj41 | www.perl6.org/compilers/features up-to-date last change 7 months ago | 13:08 | |
cognominal | thx, lizmat++ | ||
13:09
perl6_newbee left
|
|||
FROGGS | Ven: --gen-moar checks the revisions, and I did not bump the nqp revision in rakudo | 13:09 | |
13:10
Ven left
|
|||
FROGGS | :S | 13:10 | |
13:12
Ven joined,
Ven left
|
|||
lizmat | ab5tract_: are you working on adapting the PR for sleep-until ? | 13:13 | |
or shall I just do it ? | |||
pink_mist | design.perl6.org/S02.html#Native_types <-- hmm, what's the default value for a bool? I'd assume False, but I have no real clue | ||
lizmat | ab5tract_: also, why did you put the coercer for Instant in anyway? Do you have a class with an Instant method ?? | 13:14 | |
13:15
skids joined
|
|||
ab5tract_ | lizmat: sorry? | 13:15 | |
m: DateTime.now.Instant | |||
camelia | ( no output ) | ||
ab5tract_ | m: DateTime.now.Instant.say | ||
camelia | rakudo-moar e6f360: OUTPUT«Instant:1441458956.782095» | ||
nine | %FILETEST-HASH in src/core/IO.pm has no entry for "!s". Is this on purpose or a bug? | ||
13:16
n0tjack joined
|
|||
lizmat | ab5tract: github.com/rakudo/rakudo/pull/525/...0d05b8R724 | 13:16 | |
ab5tract_ | lizmat: I added that for the sake of DateTime, which seems like a perfectly reasonably argument for sleep-until ? | ||
ShimmerFairy | nine: maybe it has to do with the fact that .s doesn't return a boolean? That'd be my guess. | 13:17 | |
lizmat | ab5tract_: gotcha | 13:18 | |
ab5tract_ | lizmat: by adapting, do you mean removing the DEPRECATED? | 13:19 | |
lizmat | ab5tract_: so shall I do the honours? | ||
yes | |||
ab5tract_ | uno minuto :) | ||
lizmat | oki | ||
I've added a test already, waiting for you | 13:21 | ||
ab5tract_ | lizmat: PR should have all the changes no | 13:22 | |
*now | |||
13:22
Ven joined,
kaare_ left
|
|||
Ven | FROGGS: Undefined symbols for architecture x86_64: "_MVMCPPStruct_initialize", referenced from: _MVM_repr_initialize_registry in reprs.o | 13:22 | |
13:22
mprelude joined
|
|||
FROGGS | huh, weird | 13:23 | |
ab5tract_ | not sure if it conflicts with your push in between though? | ||
FROGGS | Ven: you reconfigured moarvm, right? | ||
Ven: if you just pulled and did 'make install', you might want to do --gen-moar=master --gen-nqp=master in rakudo instead | 13:24 | ||
lizmat | ab5tract_: yeah, it does... will do it now, mention your PR and close it, ok ? | 13:25 | |
13:27
Ven left,
ab5tract_ left
|
|||
mj41 | Charts from 15 years of Perl 6 updated github.com/mj41/Perl6-Analytics-re...m-prev2.md | 13:28 | |
13:31
virtualsue left
|
|||
dalek | kudo/nom: 781c02c | lizmat++ | src/core/Temporal.pm: PR #525, ab5stract++ |
13:33 | |
ast: 42cf639 | lizmat++ | S29-context/sleep.t: Handle s/sleep-till/sleep-until/ and test coercion ab5tract++ |
13:34 | ||
13:38
n0tjack left
|
|||
timotimo | flussence: do i see it correctly that there's not yet an RFC for interleaved message streams over websockets? | 13:40 | |
13:46
aborazmeh joined,
aborazmeh left,
aborazmeh joined
13:52
mj41 left
14:00
khw joined
14:03
cognominal left
14:04
cschwenz_YAPC joined
|
|||
cschwenz_YAPC | in perl6, how would you write a regex enumerated character class which matches any printable character except whitespace? | 14:05 | |
14:06
skids left
|
|||
lizmat | <[enumerated]-[\s]> | 14:07 | |
garu waves and hugs everybody | |||
jnthn | afternoon, #perl6 | 14:08 | |
timotimo | o/ | ||
ShimmerFairy | cschwenz_YAPC: for your specific case, there's \S (the opposite of \s, which matches a space of any kind). In general, you have a negated character class with <-[stufhere]> | ||
garu | can I just say... **THANK YOU** for all the amazing work that everyone's been doing on Perl 6. I'm playing with it and it's just so much fun | ||
ShimmerFairy | (which is equivalent to the P5-y [^stufhere] ) | ||
lizmat | garu o/ | 14:09 | |
14:09
FROGGS_ joined
|
|||
garu | lizmat: \o | 14:09 | |
timotimo | do we want something like "read a file into an 8bit Buf" vs "... 16bit Buf" vs "... 32bit Buf" vs "... 64bit Buf"? | ||
slurp($filename, :bin(64))? | |||
abaugher | garu: Agreed. I'm having trouble figuring out what to do with it first, there are so many cool new things. | ||
cschwenz_YAPC | ahh, ShimmerFairy++ (again) :-) | ||
timotimo | though that'll give us potential trouble if the size of the file isn't divisible by the entry size | 14:10 | |
lizmat | timotimo: feels like a worthwhile addition | ||
timotimo: in which case it should die die die | |||
nine | Where can I find the code that generates a Pair from a => 1 or :a(1) in contrast to 'a' => 1? | 14:11 | |
dalek | kudo/nom: c4cff9f | lizmat++ | src/core/Supply.pm: Remove deprecated Supply stuff |
||
ShimmerFairy | timotimo: Yeah, dieing seems the safest choice there (unless there were some sort of :0pad style option one could use to say they want padding) | ||
with :0pad saying to pad the buf with zeroes, if that wasn't clear :) | |||
timotimo | die die die. hmm. | ||
lizmat | or not with :pad(0) :-) | 14:12 | |
or just :pad with -1 :-) | |||
timotimo | as soon as we have that, though, we'll want endianness control, too | ||
cschwenz_YAPC | another regex question: are regexes in perl6 greedy (like in perl5) or non-greedy? | ||
lizmat | timotimo: multi's as cheap :-) | ||
timotimo | cschwenz_YAPC: you can decide for yourself, just like in perl5 | ||
lizmat | are they not ? | ||
14:12
FROGGS left
|
|||
ShimmerFairy | timotimo: I've been drafting my ideas on binary grammars, and endianness is interesting (I've gone with going on "written order" for binary grammars) | 14:13 | |
timotimo | cschwenz_YAPC: but greedy vs non-greedy is about quantifiers "only" | ||
cschwenz_YAPC | so, <[asdf]>+ is greedy and <[asdf]>+? is non-greedy? | ||
timotimo | that's correct | ||
the opposite of greedy is often called "frugal" | |||
ShimmerFairy | m: say "aaaba" ~~ /a+ b/ | ||
camelia | rakudo-moar e6f360: OUTPUT«「aaab」» | ||
ShimmerFairy | I didn't think that through, +? wouldn't change things there :P | ||
timotimo | yeah | 14:14 | |
cschwenz_YAPC | ah, okay. enough has changed in perl6 that i'm not sure what will and will not work. | ||
timotimo | m: say "aaaba" ~~ /a+ b?/ | ||
camelia | rakudo-moar e6f360: OUTPUT«「aaab」» | ||
timotimo | m: say "aaaba" ~~ /a+? b?/ | ||
camelia | rakudo-moar e6f360: OUTPUT«「a」» | ||
dalek | kudo/gmr: 5af3079 | (Stefan Seifert)++ | / (22 files): Rename EnumMap to Map Suggested by jnthn++ |
||
kudo/gmr: bd2a29e | (Stefan Seifert)++ | / (17 files): Merge Enum into Pair This should reduce the confusion around enum, Enum an Enumeration. Pair now implements shallow immutability like List. Pairs themselves are immutable, but containers used as values can be assigned to. |
|||
timotimo | cschwenz_YAPC: a good heuristic is: "was it shitty?" if yes, it has probably been changed :D | ||
ShimmerFairy | m: say "aaaa" ~~ /(a*) $<foo>=(a+)/ | ||
camelia | rakudo-moar e6f360: OUTPUT«「aaaa」 0 => 「aaa」 foo => 「a」» | ||
ShimmerFairy | m: say "aaaa" ~~ /(a*?) $<foo>=(a+)/ | ||
camelia | rakudo-moar e6f360: OUTPUT«「aaaa」 0 => 「」 foo => 「aaaa」» | ||
nine | Public service announcement: the gmr branch implements the "Great Map Refactor" as suggested at postcircumfix.com/2015-08-29-untang...-hierarchy | 14:15 | |
timotimo | cool | ||
lizmat | nine++ # as always | ||
14:16
rindolf left
|
|||
nine | Though only a couple of days old the blog post seems to be outdated in some places. For example, I cannot find any evidence of Hashes doing Positional | 14:16 | |
flussence | timotimo: afaik, websockets work on a 1-connection-per-stream basis, but people tend to layer hacks on top to support that kind of thing | ||
timotimo | flussence: the RFC explicitly states that there can be an extension that does multiplexing | 14:17 | |
but you can't really write an extension for websockets in javascript and have the browser use it | |||
nine | But renaming EnumMap and merging Enum and Pair makes very much sense as far as I can tell | ||
jnthn | timotimo: You probably just pass the type of buf you want | 14:18 | |
timotimo | jnthn: okay, and then slurp decides by the element size how many bits it noms into a single slot? | ||
or ... it doesn't concern itself with slots at all | |||
and just read()'s the data into the array memory | |||
smash | [ptc]: have you used Template6 recently? | 14:19 | |
jnthn | timotimo: Well, you can get the size from the type that is passed | ||
timotimo | right. slurp will want to set the correct number of elements so that the buf object can properly resize itself | 14:20 | |
flussence | timotimo: people seem to use the socket.io library for that, it emulates multiplexing in "userspace" on client/server. It's a slang, basically. The websocket RFC specs a way to negotiate that kind of extension at connect-time which I think is what they're getting at. | 14:21 | |
timotimo | jnthn: how do you feel about letting users rebless a VMArray of natives ints into a VMArray of a different size of native ints? (only if the numbers are compatible, of course) | ||
jnthn | timotimo: Would ratehr not | ||
timotimo | jnthn: some other operation to achieve the same effect? | ||
jnthn | timotimo: I'm trying to make VMArray's guts less mutable, not more. | ||
timotimo | fair enough | ||
jnthn | timotimo: Let's just create a correct size buffer in the first place :) | ||
(On the "why less mutable", because thread safety) | |||
timotimo | sure | 14:22 | |
timotimo is currently implementing a tiny bit of websockets | |||
flussence: do you already have some code up that i could have a look at? | |||
vendethiel | FROGGS_: doing that now that I got some charge | 14:23 | |
flussence | I've got a mess but there's half a file here I was hacking on, one sec... | ||
timotimo | i'd be most interested in a few tests to run my frame decoding stuff against | 14:24 | |
flussence | yeah, that's the part I gave up at :( | ||
I'd started on length decoding and that's about it | 14:25 | ||
timotimo | let me show you what i've got so far | 14:26 | |
gist.github.com/timo/8a08025ae983feae80aa | |||
(now with syntax highlightin) | |||
flussence | oh, that looks familiar... you're slightly ahead of me :) | 14:27 | |
timotimo | i've been working terribly slowly | 14:28 | |
much distracted, very headache | |||
flussence | github.com/flussence/WebSockets take anything you find useful, I know it's not much | ||
14:29
aborazmeh left
|
|||
timotimo | mhm | 14:30 | |
i'll be taking your encode-payload-length for sure | |||
flussence | \o/ | ||
timotimo | the RFC has a few example bufs that mean something; i'll probably put them into a short test sub | ||
o A single-frame unmasked text message | 14:31 | ||
* 0x81 0x05 0x48 0x65 0x6c 0x6c 0x6f (contains "Hello") | |||
14:32
brrt joined
|
|||
timotimo | hm. | 14:32 | |
can i perhaps ask you to contribute a tiny amount of code? :) | |||
flussence | sure thing | ||
timotimo | cool | ||
because i'll be AFK for a bit | |||
anything you'd like to do? the next thing i'd be doing is track a bit of state inside the websocket class | 14:33 | ||
flussence | I guess I could pull examples out of the spec and turn them into tests | ||
timotimo | that'd be nice, but there's not really wiring set up yet to put data into the test method | ||
i'll go ahead and put this into a proper git repository up on github and make you a contributor | 14:34 | ||
nine | Ah, it _is_ make_pair | ||
14:35
kaare_ joined
|
|||
flussence | I've tried this approach with other RFC-based code, getting the stuff out of the spec is long and tedious compared to the part where you do something with it :) | 14:35 | |
14:36
Ven joined
|
|||
Ven | FROGGS: test #18: Cannot locate symbol '_ZN8Derived214All_The_ThingsEcsilfd' in native library './11-cpp.dylib' | 14:36 | |
timotimo | github.com/timo/perl6-websocket <- flussence | ||
thank you for helping me out :) | |||
14:37
dalek left
|
|||
flussence | no problem :) | 14:37 | |
14:37
dalek joined,
ChanServ sets mode: +v dalek
|
|||
nine | m: say (:a(1) :b(2)).perl; | 14:40 | |
camelia | rakudo-moar e6f360: OUTPUT«(:a(1), :b(2))» | ||
14:42
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
FROGGS_ | Ven: can I get the entire output of test 11-cpp.t and 13-cpp...? | 14:43 | |
14:43
FROGGS_ is now known as FROGGS
|
|||
jnthn | m: sub a(@x) { say @x.perl }; a << a b >> | 14:44 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ceAd611xY5Calling a(Str, Str) will never work with declared signature (@x)at /tmp/ceAd611xY5:1------> 3sub a(@x) { say @x.perl }; 7⏏5a << a b >>» | ||
jnthn | m: say Seq | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/X3fSlotgQIUndeclared name: Seq used at line 1. Did you mean 'Set'?» | ||
jnthn | Ah, that'n ain't a GLR regression | ||
FROGGS | garu: \o/ | ||
garu: have fun in here, and let us know if you have questions :o) | |||
Ven | FROGGS: gist.github.com/vendethiel/48c875fa0e35d66b53c4 | 14:47 | |
14:47
aborazmeh left
|
|||
dalek | kudo/gmr: 1db79d4 | (Stefan Seifert)++ | src/Perl6/Actions.nqp: Make :a($i) and a => $i mutable like 'a' => $i |
14:49 | |
FROGGS | Ven: can you also gist the output of `nm 11-cpp.dylib; nm 13-cpp-mangling.dylib`? | ||
brrt | \o #perl6 | ||
FROGGS | hi brrt | ||
brrt | i have a bit twiddling question | ||
hi FROGGS | |||
cschwenz_YAPC | p6: my %foo = bar => {}; my %baz = %{%foo{"bar"}}; | ||
jnthn spectest a fix for RT #125995 | |||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileUnsupported use of %{%foo{"bar"}; in Perl 6 please use %(%foo{"bar")at /tmp/tmpfile:1------> 3foo = bar => {}; my %baz = %{%foo{"bar"}7⏏5};» | ||
cschwenz_YAPC | ^^^ typo in error message | 14:50 | |
should read "please use %(%foo{"bar"}) at" | |||
FROGGS | ohh | ||
mauke | the other one has { { } | 14:51 | |
lizmat | jnthn: camelia is still pre glr merge | 14:52 | |
nine | lizmat: oh, why's that? | ||
jnthn | lizmat: Yes, was asserting that with my Seq test :) | ||
lizmat | because the jvm build is broken and somehow they're tied | ||
jnthn | lizmat: The bug I've fixing existed pre and post GLR | 14:53 | |
lizmat | ah, misread the error message | ||
jnthn | m: use Test; sub a(*@a) { @a.elems }; my $res = a << a b >>; is $res, 1, '<< a b >> does not accidentally flatten into arg list'; | ||
camelia | rakudo-moar e6f360: OUTPUT«not ok 1 - << a b >> does not accidentally flatten into arg list# Failed test '<< a b >> does not accidentally flatten into arg list'# at /tmp/EeU8UNVl8p line 1# expected: '1'# got: '2'» | ||
lizmat | jnthn: we just didn't notice before because of flattening | ||
Ven | FROGGS: gist.github.com/vendethiel/03c11f217dcb0ec58599 | ||
jnthn | oops, I got the test wrong | 14:54 | |
m: use Test; sub a(**@a) { @a.elems }; my $res = a << a b >>; is $res, 1, '<< a b >> does not accidentally flatten into arg list'; | |||
camelia | rakudo-moar e6f360: OUTPUT«not ok 1 - << a b >> does not accidentally flatten into arg list# Failed test '<< a b >> does not accidentally flatten into arg list'# at /tmp/rVJxAo4oX3 line 1# expected: '1'# got: '2'» | ||
jnthn | Good, that's what I wanted. | ||
brrt | how does one get a binary NOT in rakudo | ||
m: say ~1 | |||
camelia | rakudo-moar e6f360: OUTPUT«1» | ||
brrt | does obviously not do the c-like thing | ||
m: say +~1 | |||
camelia | rakudo-moar e6f360: OUTPUT«1» | ||
flussence | m: +^1 | 14:55 | |
camelia | rakudo-moar e6f360: OUTPUT«WARNINGS:Useless use of "+^" in expression "+^1" in sink context (line 1)» | ||
brrt | hmmm | ||
14:55
camelia left
|
|||
brrt | but ^ is XOR | 14:55 | |
pink_mist | brrt: ~ in unary context makes it into a string | ||
lizmat | m: say ?1 | ||
14:55
camelia joined
|
|||
lizmat | m: say ?1 | 14:55 | |
brrt | m: say +^1 | ||
ShimmerFairy | lizmat: in case you didn't see it, I pushed my 'allomorphs' branch earlier :) . Tomorrow I'll plan on merging it into nom, but it'd be nice to hear if the speed issue remains for others (I see my optimizations take the null program from .343s to .242s, pre-glr was .226s) | ||
brrt: the idea is that bit inversion is just XORing against a series of 1s | 14:56 | ||
lizmat | that's still a 10% hit :-( | ||
14:56
ChanServ sets mode: +v camelia
|
|||
camelia | rakudo-moar e6f360: OUTPUT«True» | 14:56 | |
rakudo-moar e6f360: OUTPUT«-2» | |||
jnthn | +^ I think | ||
brrt | hmm | ||
ok, then i have another question | 14:57 | ||
ShimmerFairy | lizmat: and the sorting line I used for testing went from 90s to around 10s (which is twice as bad as the control's 5s, but still much better) | ||
jnthn | ShimmerFairy: I'm quite disappointed you wrote japhb++'s carefully considered and optimized code. | ||
*rewrote | |||
brrt | aside from the fact that the rakudo codebase doesn't use the bnot_i moarvm provides | ||
in case of a bigint, how do we even define it's binary negation | 14:58 | ||
jnthn | ShimmerFairy: I'd really rather you just go back and figure out how to make that do allomorphs instead. | ||
jdv79 | is the version string prefix of v required? | ||
brrt | because a bigint extends poteintially forever | ||
m: say 2**100; | |||
camelia | rakudo-moar e6f360: OUTPUT«1267650600228229401496703205376» | ||
jnthn | ShimmerFairy: Which, since it's mostly just constructing a different type, should give us the same cost. | ||
flussence | m: say my int32 $ = 1 + int32.Range.max | ||
camelia | rakudo-moar e6f360: OUTPUT«2147483648» | ||
brrt | m: say +^ 2**100; | ||
camelia | rakudo-moar e6f360: OUTPUT«-1267650600228229401496703205377» | ||
FROGGS | Ven: interesting... so it is "_ZN3Foo9TakeAVoidEv" vs "__ZN3Foo9TakeAVoidEv" | ||
jnthn | ShimmerFairy: If you'd like me to accept your re-write and a slowdown, I need a much better reason than "figuring out the existing code was hard" | 14:59 | |
ShimmerFairy | jnthn: yeah, I was thinking about that. Like I said in backlog, I was more excited about writing a mini-parser than understanding the existing code. (And I still think it'd be cool if we could switch to grammars in core someday ☺) | ||
brrt | that's... just negating and subtracting one | ||
pink_mist | brrt: that's 2's complement or something isn't it? | ||
jnthn | ShimmerFairy: Well, *ideally* we'd just call into Rakudo's own grammar for it... | ||
ShimmerFairy: e.g. the <value> rule | |||
brrt | hmm yeah | ||
i can see how that works out | |||
conceptually, at least | |||
ShimmerFairy | jnthn: that was my other thought, making use of $~MAIN if/when it's usable enough for that (I'm not sure on that) | ||
jnthn | ShimmerFairy: Well, it'd mean .Numeric and val would automatically respect slangs that extend value I guess | 15:00 | |
FROGGS | Ven: the other symbol also just has an additional underscore at front... I wonder if this is about visibility, and the defaults of symbol visibility of linux vs osx | ||
jnthn | ShimmerFairy: Granted it's non-trivial to make that work out | ||
vendethiel | FROGGS: no clue :(. I never looked at this, honestly | ||
FROGGS | vendethiel: sure, nobody does usually :o) | 15:01 | |
vendethiel: but I'll find out, now that I got the wanted output | |||
vendethiel: thank you :o) | |||
jdv79 | i'll assume yes since "use 6" fails | ||
ShimmerFairy | jnthn: the only major change I'd have to make to japhb's code is that what val() covers isn't the same as what Str.Numeric does (there's a passing mention of Versions and enums), but even my code doesn't do that yet. | ||
15:02
ambs joined
|
|||
jnthn | ShimmerFairy: BTW, did you try using the profiler (--profile-compile -e "") to figure out where the slowdown at startup is? | 15:02 | |
It'll probably give a pretty good hint. | |||
ShimmerFairy | jnthn: no, I did use --profile though, which showed me the sorting line I tested on ( 0.^methods.sort ) was slowed down by calls to the warning mechanism using a bunch of <> key lookups, so the slowdown added up in there | 15:03 | |
jnthn: does --profile replace that kcachegrind stuff I played with once a while back? The HTML output is pretty nifty anyway :) | |||
jnthn | ah | ||
ShimmerFairy: The kcachegrind stuff was from Parrot, iirc. | 15:04 | ||
ShimmerFairy | Really? I used it fairly recently (definitely after Parrot... I think?). So huh. | ||
jnthn | ShimmerFairy: We've never got MoarVM to spit out that format; everyone has a browser so spitting out HTML and writing a web-app to browse the results seemed easier. | ||
Well, of course we still use cachegrind, but for VM-level profiling. | 15:05 | ||
FROGGS | ShimmerFairy: I know the file spat out by --profile was on parrot backend | ||
jnthn | So maybe it was that. | ||
Method 'devnull' not found for invocant of class 'IO::Spec' in block <unit> at t\spec\S32-io\io-spec-win.t:299 | |||
Does anybody know about ^^? | |||
ShimmerFairy | jnthn: I'll definitely put japhb++ 's code back in tomorrow (getting late for me tonight). I'd have to optimize my version down quite a bit to get it working without issue, and I get the feeling there are better uses of my time in this area than that :) | 15:06 | |
FROGGS | jnthn: no idea | ||
dalek | kudo/nom: a395666 | jnthn++ | src/Perl6/Actions.nqp: Stop << a b >> flattening into an arg list. Fixes RT #125995. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125995 | ||
jnthn | ShimmerFairy++ | ||
ShimmerFairy: Yeah, that's probably the most efficient way to go | |||
FROGGS | jnthn: ohh, IO::Spec.devnull was deprecated and potentially removed | 15:07 | |
jnthn | FROGGS: ah | ||
ShimmerFairy | jnthn: I think when I started writing val() I wasn't aware just how much Str.Numeric was already val(), and that's why I decided to go write my own. | ||
jdv79 | ok, pause bungle probably fixed now. | ||
FROGGS | jnthn: should be $*SPEC.devnull or so | ||
jnthn | ShimmerFairy: Sometimes the only way to find out how gnarly a problem is is to try solving it :) | ||
tadzik | computer, messages? | ||
brrt | computer says no | 15:08 | |
FROGGS | tadzik: :D | ||
dalek | ast: 87f9d89 | jnthn++ | S02-literals/quoting.t: Test for RT #125995. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125995 | ||
tadzik | heh, community bugreporteth, community fixeth away | ||
ShimmerFairy | jnthn: Yeah, I've had that happen plenty o' times :) . By the way, about those passing mentions of stuff val() might do: VersionStr doesn't seem too much different, at least on the surface, but could there be any sane way to do an EnumStr ? | 15:10 | |
nine | I don't get it. How can a colon pair chain like :a(1) :b(2) lead to a "Default constructor for 'Pair' only takes named arguments" when Pair does have a method new that takes positionals? | 15:11 | |
jnthn | ShimmerFairy: EnumStr sounds...odd-ish | ||
ShimmerFairy: TimToady++ might have had something in mind | |||
15:12
rindolf joined
|
|||
ShimmerFairy | jnthn: that's not mentioned in the spec, but that's what I've extrapolated based on what val() does so far :) val() does seem to want to understand Bool::True and the like, at least | 15:12 | |
dalek | kudo/nom: 891d9ad | lizmat++ | src/core/ (4 files): Remove some more Supply/async related deprecations |
||
lizmat | nine: :D ? | ||
m: class A { multi method new(A:D: $a) { } }; A.new(25) | 15:13 | ||
camelia | rakudo-moar e6f360: OUTPUT«Default constructor for 'A' only takes named arguments in block <unit> at /tmp/CFdmmo2gdX:1» | ||
nine | lizmat: I added a multi method new($key, Mu \value) to Pair.pm and it works just like it should, except for this weird :a(1) b(2) case (without comma) | ||
lizmat | m: class A { multi method new(A: $a) { } }; A.new(25) | ||
camelia | ( no output ) | ||
lizmat | nine: perhaps you need to add the type of self to the sig | 15:14 | |
multi method new(Pair ... ) ?? | |||
flussence | some repl-screwiness I just encountered: | 15:15 | |
~ $ perl6 > my uint32 $ = 1; 1 > my uint32 $ = 1; Unhandled lexical type in lexprimspec for '$ANON_VAR__1' | |||
lizmat | nine: multi method new(Pair: ... ) # oops, with the colon | ||
nine | lizmat: multi method new(Pair: $key, Mu \value)? | ||
lizmat | yes? | ||
nine | compiling | ||
got time for this one shot before I have to exit the tram | 15:16 | ||
nope :( | |||
lizmat | because without it, even though it lives in Pair.pm, the sig would be (Any: $key, Mu \value ) | ||
jnthn: or am I wrong ? | |||
jnthn writes a hopefully helpful answer/rejection to rt.perl.org/Ticket/Display.html?id=126000 | 15:17 | ||
lizmat: lemme backlog a bit :) | 15:18 | ||
15:18
brrt left
|
|||
TimToady | from a first quick pass, we're failing about 1/4 of rosettacode entries currently | 15:19 | |
jnthn | nine: Can you show me the code that fails to do what you expect? | ||
TimToady: From reading rt.perl.org/Ticket/Display.html?id=125927 I think the NFG algo will have to be tweaked; my "simplest possible extension of NFC" is a bit too simple :/ | 15:20 | ||
15:20
mprelude left,
zakharyas joined
|
|||
jnthn | TimToady: But also if I do fix that I think we'll end up with \r\n being a single grapheme under NFG | 15:20 | |
TimToady: At least, if I do the other most likely correct thing :) | |||
lizmat | jnthn: I think that would be excellent, really | ||
jnthn | TimToady: Does that strike you as problematic? | ||
lizmat: Note that this synthetic would not automatically be equal to \n :) | 15:21 | ||
lizmat | ah... :-( | ||
jnthn | s/automatically// :) | ||
lizmat | but why not ? | ||
jnthn | Why would it be? | ||
nine | jnthn: walking homebfrom tram right now. Failure is due to latest commit in gmr branch. Reproduce: (:a(1) :b(2)) | ||
lizmat | to make checking for newlines system independent ? | ||
you could use \n in your strings | 15:22 | ||
jnthn | lizmat: That's perhaps a bit too much magic...or the wrong place to do it | ||
lizmat | and it would write out \r\n on Win systems | ||
and \n on others | |||
TimToady | I though the UC defined \r\n as a grapheme already | ||
ShimmerFairy | lizmat: it does mean that you can't find a regex pointing in the middle of a \r\n , among other niceties | ||
lizmat | and perhaps \r on old Apples | ||
jnthn | TimToady: Seems so... | ||
TimToady | it wouldn't be equal to \n, but /\n/ could still match it | 15:23 | |
the only real difficulty is trying to translate files from other systems | |||
ShimmerFairy | jnthn: could this possibly be a bug with the Unicode data, and not a rakudobug? Or does this bug hint at deeper problems in the algorithm? | ||
jnthn | ShimmerFairy: Well, my algo was based on Canonical_Combining_Order | 15:24 | |
ShimmerFairy: Which is how NFC is defined | |||
FROGGS | TimToady / jnthn: my gut feeling is that the jvm breakage is about SLURPY_LOL param handling... | ||
TimToady | probably, I worked around one of 'em with |values, but there's probably more | 15:25 | |
FROGGS | which might had a bug since forever, and is just discovered nowadays | ||
TimToady: I replaced all of them but the NQPMu.as_jast blowup does not go away | |||
TimToady | I thought it was just a .jast | ||
ShimmerFairy should read more on how Unicode itself talks about grapheme clusters sometime :) | |||
FROGGS | ahh, true | 15:26 | |
I tried bisecting it but that was not very enlightening either | |||
jnthn | The NQPMu.as_jast can occasionally be a non-mapped op... | 15:27 | |
FROGGS | hmmm | ||
jnthn | Were the with/without ops ported to JVM? Could that be it? Do we know it was since GLR? | 15:28 | |
dalek | ast: ac7fc16 | lizmat++ | S02-literals/quoting.t: Fix the last victim of 17411ef9f20215f5c2f38 |
15:29 | |
jnthn | m: say 't' ~~ /<{'a'...'z'}>/ | ||
camelia | rakudo-moar e6f360: OUTPUT«「t」» | ||
jnthn will work on unregressing this one | 15:30 | ||
El_Che | jnthn: great slides you put out there | 15:31 | |
jnthn | El_Che: Which ones? :) | 15:32 | |
El_Che: But thanks, whichever ones you enjoyed :) | |||
ugexe | i think jvm stopped building around aug 3rd from what i can see in my travis tests | ||
15:33
Ven left
|
|||
El_Che | jnthn: jnthn.net/papers/2015-spw-perl6-course.pdf | 15:35 | |
that one | |||
jnthn | aha :) | ||
El_Che | a good pilot episode :) | ||
ugexe | ah i take that back, it started compiling again later on. but the error on aug 3rd was the NQPmu thing | ||
El_Che | now I'm waiting for the "why you *really* want to use perl6 now that you know the basics" :) | ||
15:36
dakkar joined
|
|||
dakkar | jnthn: hello! | 15:37 | |
yoleaux | 3 Mar 2015 23:29Z <Ulti> dakkar: re: irclog.perlgeek.de/perl6/2015-03-03#i_10215189 is this the sort of thing you wanted? sub foo(@list where Int ~~ all(@list.map({.WHAT}))) { say "YAY" } | ||
3 Mar 2015 23:37Z <Ulti> dakkar: or maybe a bit simpler and efficient sub foo(@list where @list.grep({.WHAT !~~ Int}).elems == 0) { say "YAY"} | |||
dakkar | jnthn: I suspect that I should have explained my use case for eqv a bit more in depth | 15:38 | |
FROGGS | bbi1h # will then look into ops | ||
jdv79 | moritz: do you maintain the syn highlighting for pygments? | 15:39 | |
dakkar | I was using Test::is-deeply to check that a data structure returned by something I'm writing is correct | ||
is-deeply calls eqv | |||
my data structure contains IO::Path objects | |||
jnthn | dakkar: Ah, is-deeply maybe should be using the CALLER's eqv | ||
lizmat | .oO( maybe we should have a PREGLRia soon :-) |
15:40 | |
dakkar | maybe | ||
lizmat | .oO( or eqv should do a dynamic lookup ) |
15:41 | |
dakkar | but, as jnthn commented on the RT, that argument can be extended to all the multis | ||
thing is, if I import/define a new multi candidate, my code will use it | 15:42 | ||
but any other code I call won't | |||
(if it was defined elsewhere) | |||
dalek | p: da1c95d | timotimo++ | src/QAST/Var.nqp: don't display :decl() in qast dumps |
||
ugexe | star: say "very preglria" | ||
camelia | star-m 2015.03: OUTPUT«very preglria» | ||
dakkar | and I'm probably thinking about multis the wrong way… | 15:43 | |
jnthn | dakkar: Well, lexical scoping does come with these kinds of trade-offs... | ||
dakkar | very true | ||
jnthn | fwiw, you can also make packages lexical in Perl 6 too, such that the visibility of a type is also the places it's lexically imported. | 15:44 | |
It wouldn't surprise me if that's a best practice in a decade... | |||
timotimo | oh btw, if we want one-liners to be non-strict by default, we may want to look into the performance of our-scoped variables a bit more | 15:45 | |
15:45
cognominal joined
|
|||
dakkar | "visibily of a type"? what happens if I pass an object of such a type into code that does not import it? | 15:45 | |
jnthn | That'll work, and of course you can get the type object with .WHAT; you just don't have the type name in scope | 15:46 | |
dakkar | I thought that was the current behaviour | ||
ShimmerFairy | timotimo: we don't, for the most part :) | ||
jnthn | m: { class Foo { } }; say Foo | ||
camelia | rakudo-moar e6f360: OUTPUT«(Foo)» | ||
jnthn | m: { my class Foo { } }; say Foo | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dLdDBO2GuxUndeclared name: Foo used at line 1» | ||
jnthn | Packages are our-scoped by default | ||
dakkar | which implies that I don't know what "our-scoped" means | 15:47 | |
jnthn | Does "package-scoped" help? | ||
dakkar | yes | ||
("our" in perl5 is weird) | 15:48 | ||
15:48
abaugher left
|
|||
dalek | ast: e0dda18 | lizmat++ | S (2 files): Fix 2 skip_rest deprecations |
15:48 | |
dakkar | ok, now I see the difference | ||
dalek | kudo/nom: 37118f1 | jnthn++ | src/core/Cursor.pm: Un-bust 't' ~~ /<{'a'...'z'}>/ post-GLR. |
||
15:49
abaugher joined
|
|||
FROGGS | jnthn: with/without arn't ops afaics | 15:49 | |
TimToady | the statement control versions are | ||
RabidGravy | I think of it as allowing "class B { class C { } }; B::C.new" work nicely ;-)_ | ||
dalek | kudo/nom: ea295e3 | lizmat++ | lib/Test.pm: Remove deprecations from Test.pm |
15:50 | |
ast: eab6cac | jnthn++ | S05-metasyntax/interpolating-closure.t: Test for RT #125973. |
15:51 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125973 | ||
lizmat | m: class B { class C { } }; B::C.new.WHAT.say # minor nit, RabidGravy | ||
camelia | rakudo-moar e6f360: OUTPUT«(C)» | ||
RabidGravy | yaw | ||
TimToady | there are several uses of with/without in core | 15:52 | |
including statement controls | 15:53 | ||
jnthn | TimToady: Were there new nqp::ops? | 15:54 | |
iirc yes...but my brane is a bit hazy :) | |||
timotimo | only desugars, iirc | ||
or rather, things added to the compiler object | |||
the ones that take the compiler and the operation and build mast and stuff from that | |||
jnthn | Desugars may need adding per-backend dependong on where they're added | ||
15:54
Ven joined
|
|||
TimToady | ./src/vm/moar/QAST/QASTOperationsMAST.nqp: my $is_withy := $op_name eq 'with' || $op_name eq 'without'; | 15:55 | |
./src/vm/jvm/QAST/Compiler.nqp: my $is_withy := $op_name eq 'with' || $op_name eq 'without'; | |||
15:55
FROGGS[mobile] joined
|
|||
timotimo hits the dependgong | 15:55 | ||
RabidGravy | BONG | 15:56 | |
TimToady | we was gonna work on the with/without code at SPW, but that didn't happen | ||
jnthn | oops, yes | ||
Why are hackathons so short... :) | |||
Ven | because great things die early | 15:57 | |
lizmat | should I revert the with/without in core ? | 16:03 | |
for the time being ? | |||
jnthn | lizmat: I don't think we know that's to blame yet | ||
lizmat | lemme check | ||
jnthn | lizmat: Given TimToady++ just showed there's code for it in JVM too | 16:04 | |
lizmat | ah | ||
dalek | ast: 1776c94 | jnthn++ | S32-exceptions/misc.t: Tests for RT #125812. |
16:06 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125812 | ||
dalek | kudo/nom: 876eb48 | jnthn++ | src/Perl6/Grammar.nqp: Better errors for with(1){}/without(1){}. |
||
jnthn | lizmat: Could still be the issue of course...so worth checking | ||
lizmat | I think it's basically 42e19ee5be55d7e3d4d47 | 16:07 | |
jnthn: re 876eb48, maybe "whenever" and "react" and "supply" should be added to that list as well ? | 16:08 | ||
and "start" ? | |||
TimToady | I didn't do the jvm with/without | ||
looks like hoelzro did it | 16:09 | ||
moritz | m: for <a b c> -> $x { LAST say $x } | ||
camelia | rakudo-moar e6f360: OUTPUT«(Mu)» | ||
moritz | m: for <a b c> -> $x { LAST { say $x } } | ||
camelia | rakudo-moar e6f360: OUTPUT«c» | ||
moritz | is this a known bug? | 16:10 | |
TimToady | I dunno, moar uses $is_withy in 2 places, while jvm uses it in 1, so maybe there's a problem there | ||
jnthn | lizmat: Feel free :) | ||
moritz: I didn't know about it :) | |||
TimToady | hmm, jvm is calling isconcrete, not .defined | 16:11 | |
that's probably not gonna work right with Failures | |||
I suppose the 1 place instead of 2 places is because moarvm has to have a temporary, while jvm can keep it on the stack? | 16:12 | ||
in any case, it's not simply that it's unimplemented | 16:13 | ||
moritz | don't we have a builtin function that takes $N elements, skips $k, takes $N again etc? | ||
or List method | |||
TimToady | .rotor? | ||
moritz | if yes, what's that method called? | ||
ah yes | |||
jnthn | TimToady: Possibly | 16:14 | |
Hm, think those few patches are what energy I have for today. Back to resting... o/ | |||
TimToady | take care o' yerself | 16:15 | |
jnthn | Thanks :) | ||
16:18
spider-mario joined
|
|||
timotimo | good rest, jnthn! | 16:22 | |
16:24
AlexDaniel joined
|
|||
timotimo | ah | 16:29 | |
turns out we have a $flattened flag in the optimizer that ends up never being set to 1 | |||
dalek | kudo/nom: 8da5c45 | lizmat++ | src/Perl6/Grammar.nqp: Better errors for supply/whenever/react(1){} |
16:30 | |
lizmat | so we're not optimizing ? | 16:31 | |
timotimo | flattening an inner block is supposed to make an outer block more likely to be flattenable itself | 16:32 | |
we've apparently been only flattening innermost blocks into their containing blocks | 16:33 | ||
16:34
n0tjack joined
16:35
mr-foobar left
|
|||
ugexe | what is flatmap anyway? | 16:36 | |
16:36
Ven left
|
|||
smash | ugexe: a map that can deal with list of lists? | 16:37 | |
16:38
AlexDaniel left,
mr-foobar joined
|
|||
timotimo | the obvious fix i just applied leads to compilation problems | 16:38 | |
but i'll be looking further into that | 16:39 | ||
16:39
n0tjack left
|
|||
ugexe | smash: try it | 16:39 | |
dalek | kudo/nom: 3d4deee | lizmat++ | src/core/Any.pm: Remove deprecated at_key and friends |
||
smash | m: ((1,2),(3,4)).flatmap({$_}) | 16:42 | |
camelia | ( no output ) | ||
dalek | kudo/nom: 4b4aa9f | ugexe++ | src/core/CompUnitRepo/Local/Installation.pm: fix post-glr install /bin wrapper |
||
kudo/nom: 13f829c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm: Merge pull request #527 from ugexe/patch-4 fix post-glr install /bin wrapper |
|||
smash | ugexe: well, it seems to work here in my local rakudo | 16:45 | |
ugexe | it works differently than map? | 16:46 | |
smash | yes | ||
16:47
kaare_ left
|
|||
TimToady | gist.github.com/TimToady/3c238e672d3c9e8210de is (most of) the failing RC tests; the names are duped because I was using ingy++'s RC database | 16:47 | |
ugexe | m: my @a = ([1,2],[3,4]); say @a.flatmap({ $_.perl }); say @a.map({ $_.perl }); | ||
camelia | rakudo-moar e6f360: OUTPUT«[1, 2] [3, 4][1, 2] [3, 4]» | ||
smash | nope, that's not correct | ||
flussence | lizmat++ # that was quick! | 16:48 | |
RabidGravy | has panda stopped compiling stuff? | 16:50 | |
flussence | yeah, a week or two ago... | ||
lizmat | RabidGravy flussence : that puts the whole installing precomp files onto my plate :-) | 16:51 | |
RabidGravy | cool, just checking it wasn't me | ||
lizmat yep ;-@ | 16:52 | ||
lizmat | it was at the SPW, afair, which would put it at a week ago exactly | ||
in a way, I'm glad that it doesn't precomp anymore, because it was causing all sorts of issues | |||
flussence just found out about "git subtree", which doesn't have a manpage... | |||
lizmat | now with FROGGS' work on cu_load branch, I'm more or less unblocked there | 16:53 | |
now all I need is tuits :-) | |||
RabidGravy | in the interim there may be a slight problem with previously compiled versions of modules hanging arpund | ||
lizmat | flussence++ # PRing fixes for my breakage | ||
flussence | RabidGravy: for that I just used a `find $rakudo_install -name '*.moarvm' -delete` | ||
RabidGravy | flussence, yeah that's what I did :) | 16:54 | |
nine | SPW was only a week ago? Feels like a month | ||
lizmat | only a week, afaik | ||
16:55
Ven joined
16:56
davido_ joined
|
|||
lizmat | only 76 commits to rakudo in that week | 16:56 | |
16:59
laouji left,
Ven left
|
|||
nine | Practically nothing | 17:02 | |
17:07
pmurias joined
|
|||
dalek | p/js: 17fbff3 | (Pawel Murias)++ | TODO: Update TODO |
17:10 | |
17:13
zakharyas left
|
|||
dalek | p/js: ba5a6ad | (Pawel Murias)++ | TODO: Update the TODO file more |
17:15 | |
flussence | bah, I screwed up a pull request. I've got a working panda though! | 17:16 | |
timotimo | i didn't know panda doesn't work | ||
lizmat | and I just merged it :-( | ||
flussence | nah, it's just the commit message sucks | 17:17 | |
lizmat | ah, ok | ||
flussence | the commit itself *should* be fine... | ||
lizmat | ok, well, I merged it :-) | ||
flussence | yay | ||
timotimo: it was failing a test in File::Find because the s/_/-/ thing is going to be final next release | 17:18 | ||
(of rakudo) | |||
17:18
shlomif joined
17:19
rindolf left,
shlomif is now known as rindolf
|
|||
lizmat | TimToady: rosettacode.org/wiki/Y_combinator#Perl_6 s/&^arg/$^arg/ seems to fix it | 17:24 | |
I guess before GLR, it didn't enforce the type check ? | |||
masak is back home | 17:27 | ||
yoleaux | 11:43Z <smash> masak: do you have the slides for you talk somewhere online? thank you | ||
masak | smash: masak.org/carl/yapc-eu-2015-interes...s/talk.pdf | 17:28 | |
smash | masak: gerat, thank you | ||
s/gerat/great/ | 17:29 | ||
TimToady | m: multi sub foo(@array) { say @array }; foo("abc".comb) | 17:31 | |
camelia | rakudo-moar e6f360: OUTPUT«a b c» | ||
TimToady | this fails under GLR | ||
masak .oO( Gerät, thank you ) | |||
TimToady | without the multi it succeeds | ||
17:33
baest_ joined
17:35
baest left
17:39
mj41 joined
17:40
Ven joined
|
|||
_itz | use File::Find; my @files := find( :dir("."), :type('file')) | 17:43 | |
17:43
davido_ left
|
|||
_itz | post-GLR I get Type check failed in binding; expected 'Positional' but got 'Seq' | 17:44 | |
is this a bug or changed behaviour? | |||
moritz | _itz: changed behavior; use assignment instead | 17:45 | |
my @files = ...; | |||
_itz | thats eager isn't it? | ||
TimToady | is it a := or is it a call to a multi? | ||
.tell jnthn multi sub foo(@array) { say @array }; foo("abc".comb) fails under GLR unles you remove the multi; not sure what we should do about that | 17:46 | ||
yoleaux | TimToady: I'll pass your message to jnthn. | ||
moritz | _itz: no | ||
_itz | ok ty | 17:47 | |
17:49
mauke left
17:52
baest_ left
|
|||
lizmat | shutting down& | 17:52 | |
17:52
lizmat left
|
|||
flussence | argh, the main bit of panda works fine but anything metadata-ish like "panda list" causes it to barf | 17:53 | |
TimToady | dehackathoning & | 17:54 | |
flussence | oh dear, I see what it is. the state file is getting pretty-printed and it expects it to be more CSV-like... | 17:55 | |
17:55
cschwenz_YAPC left
17:56
dakkar left
17:57
baest joined
18:01
Ven left,
AlexDaniel joined
18:02
kaare_ joined
18:07
Loren_ left
|
|||
masak | flussence: and GLR broke that expectation? | 18:09 | |
flussence | nope, this is a separate thing... | ||
I threw a bug report at it for the time being: github.com/tadzik/panda/issues/212 | 18:10 | ||
18:13
vendethiel- joined,
vendethiel left
18:14
mj41 left
|
|||
dalek | rl6-roast-data: 8ba1737 | coke++ | / (10 files): today (automated commit) |
18:15 | |
18:24
mprelude joined,
mj41 joined
|
|||
mj41 | m: my $s; say $s.WHAT; say $s.VAR.WHAT; | 18:25 | |
camelia | rakudo-moar e6f360: OUTPUT«(Any)(Scalar)» | ||
mj41 | m: my $s; say $s.WHAT ~ " " ~ $s.VAR.WHAT; | ||
camelia | rakudo-moar e6f360: OUTPUT«Use of uninitialized value of type Any in string context in block <unit> at /tmp/wzoGKk1VAZ:1Cannot look up attributes in a type object in block <unit> at /tmp/wzoGKk1VAZ:1» | ||
AlexDaniel | m: my $x = 5; say 'hello' if $x = 5; | 18:27 | |
camelia | rakudo-moar e6f360: OUTPUT«hello» | ||
AlexDaniel | whoops… | ||
18:46
raiph joined
18:47
n0tjack joined
|
|||
timotimo | o/ | 18:49 | |
i had some dinner | |||
jnthn | .oO( '... if $x = 5' is assign of madness... ) |
||
yoleaux | 17:46Z <TimToady> jnthn: multi sub foo(@array) { say @array }; foo("abc".comb) fails under GLR unles you remove the multi; not sure what we should do about that | ||
vendethiel- | m: my @a = 1, @a; say @a[^3]; # how did this end up, post-glr? | 18:50 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZFuFk7xQsTCannot use variable @a in declaration to initialize itselfat /tmp/ZFuFk7xQsT:1------> 3my @a = 1, @7⏏5a; say @a[^3]; # how did this end up, po expecting any of: term» | ||
jnthn | .tell TimToady I suspect the multi-dispatcher was somehow not fixed up, but then I don't understand how the unpacking spectest was made to pass...will have to have a look. Please RT it or something. :) | ||
yoleaux | jnthn: I'll pass your message to TimToady. | ||
nine | jnthn: indeed, I've suspected there to be an open issue in the dispatcher, but without failing spec tests, I couldn't remember what it was | 18:51 | |
18:52
n0tjack left
|
|||
jnthn | nine: I wonder how the spectest got fixed... | 18:52 | |
jnthn doesn't have the brane for it at the moment, alas | |||
Tomorrow...or Monday. :) | |||
nine | me neither :) | ||
jnthn away again | |||
AlexDaniel | GLRelia disappeared, does it mean that GLR was merged? | 18:54 | |
nine | AlexDaniel: zes | ||
yes | |||
AlexDaniel | nine: what keyboard layout is that? | 18:55 | |
timotimo | the main difference between de and us/uk is y and z being switched | ||
nine | And KDE loves to forget that I want US layout for konsole | ||
AlexDaniel | timotimo: oh right! | 18:56 | |
timotimo: I was like .oO(Dvorak? No… Colemak? No… Workman? No…) | |||
and somehow forgot about de… | |||
timotimo | and basically every non-alpha non-numeral character is moved around the keyboard | ||
if i type the "yes" keys on my current keyboard i get üli | 18:57 | ||
AlexDaniel | timotimo: custom? | 18:58 | |
timotimo | depends on what you call custom | ||
AlexDaniel | timotimo: what is it? :) | ||
timotimo | it's neo2, which comes pre-installed on pretty much every linux system | ||
AlexDaniel | oh neo, okay | ||
timotimo: but why ü? :) | 19:00 | ||
timotimo | because german | ||
the y key on my physical keyboard is where the english layout has the z | |||
AlexDaniel | right! | 19:01 | |
19:01
kaare_ left
|
|||
AlexDaniel | There are a couple of great ideas in neo layout, but I've always felt that it misses the point… The biggest problem is not the layout, it is the keyboard. Since I only use laptops, I had to figure out how to get a better keyboard without having to use external one. So I kinda came up with japanese keyboard + dvorak + remapped everything besides a-zA-Z thing. Here, if anybody is interested: | 19:07 | |
files.progarm.org/2015-09-05-22055..._scrot.png (still working on it though) | |||
raiph | star: if ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';}; | ||
camelia | star-m 2015.03: OUTPUT«1done» | ||
raiph | star: while ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';}; | 19:08 | |
camelia | star-m 2015.03: OUTPUT«1doneundo» | ||
raiph | m: with ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';}; | ||
camelia | rakudo-moar e6f360: OUTPUT«1doneundo» | ||
19:11
Sqirrel joined
|
|||
raiph | ^^ is this a bug? if so, I'll file an rt / clog tomorrow | 19:11 | |
(ie it's a bug but has it already been filed; I didn't find it when I searched RT) | 19:12 | ||
timotimo | star: my $result = do { say 'done' }; say $result.perl | 19:14 | |
camelia | star-m 2015.03: OUTPUT«doneBool::True» | ||
timotimo | m: my $result = do { say 'done' }; say $result.perl | ||
camelia | rakudo-moar e6f360: OUTPUT«doneBool::True» | ||
timotimo | that's kinda weird | ||
linux is great: plugging in my logitech mouse receiver dongle resets the keyboard to de and i have to setxkbmap de enw again | 19:16 | ||
masak | raiph: I don't see why UNDO should trigger in either of those cases. | 19:17 | |
(so yes, I think that's a bug) | |||
raiph | masak: i searched in rt for 'undo' and got just rt#111866 (by you) | 19:23 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=111866 | ||
masak | raiph: that RT ticket seems to be about UNDO not running often enough. | 19:27 | |
your discovery is about it running too often. | |||
so I'd say they're distinct :) | |||
19:32
zakharyas joined
|
|||
AlexDaniel | m: say [xx] 0..9 | 19:37 | |
camelia | rakudo-moar e6f360: OUTPUT«0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …» | ||
AlexDaniel | m: 1 while 1 | 19:38 | |
what is the shortest program that will hang? | |||
camelia | rakudo-moar e6f360: OUTPUT«(timeout)» | ||
AlexDaniel | or at least execute for long enough | ||
FROGGS | m: loop {} | 19:39 | |
camelia | rakudo-moar e6f360: OUTPUT«(timeout)» | ||
moritz | m: + 1 xx * | 19:42 | |
camelia | ( no output ) | ||
19:42
virtualsue joined
|
|||
moritz | m: so 1 xx * | 19:42 | |
camelia | rakudo-moar e6f360: OUTPUT«WARNINGS:Useless use of "so " in expression "so 1 xx" in sink context (line 1)» | ||
[Coke] hurls blogs.perl.org/users/coke/2015/09/s...erl-6.html | |||
backlogs and reads "strongly typed and purely fictional" | 19:43 | ||
AlexDaniel | if infinity symbol is ever added, then sleep ∞ (which is as long as loop {}) | ||
.oO(or even 1 for ^∞) |
19:45 | ||
vendethiel- | m: constant \∞ = Inf; .say for ∞; | 19:49 | |
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rLvr_I_dfkMissing initializer on constant declarationat /tmp/rLvr_I_dfk:1------> 3constant7⏏5 \∞ = Inf; .say for ∞;» | ||
vendethiel- | m: my constant \∞ = Inf; .say for ^∞; | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PuEQSXBbWOMissing initializer on constant declarationat /tmp/PuEQSXBbWO:1------> 3my constant7⏏5 \∞ = Inf; .say for ^∞;» | ||
AlexDaniel | vendethiel-: it was a bit trickier than that | ||
vendethiel- | AlexDaniel: I guess it can be a term :) | ||
19:50
Khisanth left
|
|||
vendethiel- | m: sub term:<∞>(){ Inf }; .say for ^∞; | 19:50 | |
camelia | rakudo-moar e6f360: OUTPUT«(timeout)0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051…» | ||
vendethiel- | AlexDaniel: :P | ||
19:51
virtualsue left
|
|||
AlexDaniel | vendethiel-: but that tricks adds up about 800ms to the execution time | 19:52 | |
RabidGravy | I was quite impressed with the idea of term a while back but haven't yet found my reason for actually using it | ||
AlexDaniel | or any other number of ms, but it is significant | ||
19:52
virtualsue joined
|
|||
masak | RabidGravy: you mean compared to using just a regular sub? the difference is that you can go `foo();` or `foo;` with a sub, but only the latter form with a term. | 19:56 | |
20:00
telex left
20:01
darutoko- joined
20:02
telex joined,
virtualsue left,
virtualsue joined
20:04
darutoko left
|
|||
moritz | or rephrased: after a term, the parser expects an operator; after a sub, it expects a term (for the argument list) | 20:04 | |
20:05
Khisanth joined
|
|||
RabidGravy | yeah, I haven't found a pattern where that comes into play for me | 20:05 | |
_itz | catpad.net/michael/apl/ | 20:08 | |
timotimo | vimdiff-ing between the --target=ast and the --target=optimize of the core setting | 20:11 | |
yay, fun! | |||
20:12
yqt joined
|
|||
masak | 'night, #perl6 | 20:14 | |
timotimo | gnite masak! | 20:15 | |
RabidGravy | toodlepip | ||
timotimo | the diff hath finished! | 20:19 | |
20:22
darutoko- left
|
|||
timotimo | i cannot identify why the mast compiler would complain about not being able to find this local ... it really does seem to be available everywhere it's referenced | 20:24 | |
20:25
mj41 left
20:43
rindolf left
20:44
xfix left,
zakharyas left
|
|||
grondilu | timotimo: I did not know it was not GLR-compatible. I'll have a look. | 20:48 | |
FROGGS | TimToady / jnthn: what I don't understand about the jvm breakage is this: the exploding node (the current elem of @stmts) is an QAST::Op(call), that calls a single thing... a block, which appears to be the setting itself | 20:51 | |
20:56
z448 joined
20:59
z448 left
|
|||
jdv79 | the jvm is still broke? | 21:03 | |
FROGGS | jdv79: sadly, yes | 21:05 | |
jdv79 | i an not saddened but that is mildly disturbing. | 21:12 | |
grondilu | m: say my @ = Blob.new.list, 1; | 21:16 | |
camelia | rakudo-moar e6f360: OUTPUT«1» | ||
grondilu | m: say .perl given my @ = Blob.new.list, 1; | ||
camelia | rakudo-moar e6f360: OUTPUT«[1]<>» | ||
grondilu | m: say my @ = Blob.new.list, 1; | 21:17 | |
camelia | rakudo-moar e6f360: OUTPUT«1» | ||
grondilu | weird. I get [[] 1] locally | ||
This is perl6 version 2015.07.1-745-g13f829c built on MoarVM version 2015.07-108-g7e9f29e | 21:18 | ||
21:18
virtualsue left
|
|||
FROGGS | grondilu: camelia here is not up to dat | 21:19 | |
e | |||
21:19
virtualsue joined
|
|||
grondilu | ok | 21:20 | |
21:20
virtualsue left,
virtualsue_ joined,
virtualsue_ is now known as virtualsue
|
|||
grondilu | [1] seemed to make more sense though. Possibly a regression. | 21:21 | |
I mean Blob.new.list should be Nil, not [] | |||
IMHO | |||
or not. I don't know the GLR well enough I'm afraid. | 21:26 | ||
I suspect most digest on rosettacode are broken. Checking it. | 21:29 | ||
FROGGS | one rule of thumb is that it does less flattening now | ||
I guess the behaviour you see is correct | 21:30 | ||
raiph | m: say 1,(),2,(((1,))),3 | ||
camelia | rakudo-moar e6f360: OUTPUT«1213» | ||
FROGGS | m: say .perl given my @ = |Blob.new.list, 1; | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aJaIMX5549Arg-flattening | is only valid in an argument listat /tmp/aJaIMX5549:1------> 3say .perl given my @ = |7⏏5Blob.new.list, 1;» | ||
FROGGS | $ perl6 -e 'say .perl given my @ = |Blob.new.list, 1;' | ||
[1] | |||
m: say (1,(),2,(((1,))),3).perl | 21:31 | ||
camelia | rakudo-moar e6f360: OUTPUT«(1, (), 2, (1,), 3)» | ||
grondilu | rosettacode.org/wiki/SHA-1#Perl_6 is broken indeed | 21:32 | |
raiph | grondilu: TimToady has commented here today with some rosettacode pass/fail analysis comments | 21:33 | |
grondilu | ok | 21:34 | |
still worth marking them as broken on RC I suppose | 21:35 | ||
raiph | he's using ingy++s code for handling rosetta en masse and I think he said hundreds were broken | 21:36 | |
21:36
virtualsue left
21:37
virtualsue joined
|
|||
RabidGravy | that's unfortunate | 21:37 | |
21:38
virtualsue left
21:40
Ven joined
21:47
pmurias left
21:48
Peter_R joined
21:54
z448 joined
|
|||
grondilu | hum, never seen that before: | 21:55 | |
« This Seq has already been iterated, and its values consumed. » | |||
21:55
Ven left
|
|||
ugexe | you must have been gone for a month :) | 21:55 | |
i dont think ive seen any other message more from perl6 | |||
21:57
z448 left
|
|||
RabidGravy | right bed time. toodlepip | 21:57 | |
21:57
rurban joined
|
|||
grondilu | m: constant primes = grep *.is-prime, 2 .. *; say (map 2 * *, primes)[^3]; say (map 3 * *, primes)[^3]; | 22:00 | |
camelia | rakudo-moar e6f360: OUTPUT«4 6 106 9 15» | ||
grondilu | ^this reproduces the "values consumed" error locally | ||
22:02
RabidGravy left
|
|||
TimToady | use @primes instead, maybe | 22:09 | |
yoleaux | 18:50Z <jnthn> TimToady: I suspect the multi-dispatcher was somehow not fixed up, but then I don't understand how the unpacking spectest was made to pass...will have to have a look. Please RT it or something. :) | ||
timotimo just learned about :right in vim; wow! | 22:10 | ||
ugexe | m: constant primes = grep *.is-prime, 2 .. *; say (map 2 * *, @(primes))[^3]; say (map 3 * *, @(primes))[^3]; | ||
camelia | rakudo-moar e6f360: OUTPUT«4 6 106 9 15» | ||
22:14
abaugher left
22:15
abaugher joined
22:19
cognominal left
|
|||
vendethiel- | timotimo: don't leave us hanging! | 22:25 | |
timotimo | hm? | 22:34 | |
22:36
TEttinger joined
|
|||
vendethiel- | timotimo: googling "vim right" doesn't help much | 22:37 | |
dalek | kudo-star-daily: 5a69178 | coke++ | log/ (8 files): today (automated commit) |
22:43 | |
22:44
rurban left
22:47
abaugher left
22:48
abaugher joined
23:02
mprelude left
23:06
Ven joined
23:33
lizmat joined
23:36
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:40
Ven left
23:43
ifim joined
|
|||
timotimo | well, yeah, why not just run vim and :help :right ? | 23:43 | |
23:45
spider-mario left
23:53
dayangkun joined
|