|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
| [Coke] | SixModelObject iter = iter(obj, tc); - this is dying, but I'm not getting a stacktrace. | 00:23 | |
| I have two catch blocks - each with a die_s() - neither of die_s's are appearing either. | 00:24 | ||
|
00:28
raiph left
00:35
raiph joined
00:44
aindilis joined
00:45
BenGoldberg joined
01:02
dayangkun joined,
woosley joined
|
|||
| [Coke] | ah. because it's generating a org.perl6.nqp.runtime.UnwindException | 01:15 | |
|
01:16
crab2313 joined
|
|||
| [Coke] | ok, updated my work in progress: gist.github.com/coke/5944808 (shell with env vars) | 01:19 | |
|
01:30
FieldsaBB joined
01:35
yoleaux joined,
ChanServ sets mode: +v yoleaux
01:52
konundra left
01:58
FROGGS_ joined
02:28
konundra joined
02:38
daniel-s joined,
SamuraiJack joined
02:48
amoe_ joined
02:51
BenGoldberg left
03:03
dayangkun_ joined
03:04
dayangkun_ left
03:07
dayangkun left
03:44
ehouse joined
|
|||
| ehouse | In terms of an object what does the method can do. I can't find any documentation on it. | 03:49 | |
| sorear | ehouse: I can't interpret that. | 03:54 | |
| ehouse | > $c.can('feed','nip'); | 03:55 | |
| Too many positional parameters passed; got 3 but expected 2 | |||
| I'm trying to debug that | 03:56 | ||
| sorear | $c.^can('foo') returns a true value if $c responds to the method "foo" | ||
| $c.can('foo') is an alias to .^can | |||
| .can() isn't supposed to take more than one argument | |||
| ehouse | oh well ok. Thanks | 03:57 | |
| sorear | if you want to test more than one method, use && | ||
| TimToady | r: say Int.^can('floor).WHAT | ||
| camelia | rakudo 93f30e: OUTPUT«===SORRY!===Unable to parse expression in single quotes; couldn't find final "'"at /tmp/y61uleZEwH:1------> say Int.^can('floor).WHAT⏏<EOL> expecting any of: method arguments argument list prefix o… | ||
| TimToady | r: say Int.^can('floor').WHAT | ||
| camelia | rakudo 93f30e: OUTPUT«(Parcel)» | ||
| sorear | r: say Int.^can('floor').perl | ||
| camelia | rakudo 93f30e: OUTPUT«(method floor(Int:D : Mu *%_) { ... }, method floor(Cool : Mu *%_) { ... })» | ||
|
03:57
preflex left
03:58
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex_ is now known as preflex
|
|||
| TimToady | r: say Int.^can('floor').[1].(42.5) | 03:58 | |
| camelia | rakudo 93f30e: OUTPUT«42» | ||
| TimToady | \o/ | ||
| sorear | r. say 42.5.$( Int.^can('floor') ) | 04:08 | |
| r: say 42.5.$( Int.^can('floor') ) | |||
| camelia | rakudo 93f30e: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Parcel' in block at /tmp/VswENQ2hKV:1» | ||
| sorear | ENOTENOUGHDOTS | ||
| r: say 42.5.@( Int.^can('floor') ) | |||
| camelia | rakudo 93f30e: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'List' in block at /tmp/LDE3rmRffI:1» | ||
| sorear | how is thi supposed to work? | ||
| r: class A { multi method y(Int) { }; multi method y(Str) { } }; say A.can('y').perl | 04:10 | ||
| camelia | rakudo 93f30e: OUTPUT«(method y(: , Mu *%_) { ... },)» | ||
| sorear | ok, so it gets the method dispatch list, not the multi list | ||
| sorear still isn't sure how you're supposed to be able to use the result from can | 04:22 | ||
| r: class A { multi method y(Int) { }; multi method y(Str) { } }; say A.^find_method('y').perl | |||
| camelia | rakudo 93f30e: OUTPUT«method y(: , Mu *%_) { ... }» | ||
| sorear | r: class A { multi method y(Int) { }; multi method y(Str) { } }; say Int.^find_method('floor').perl | 04:23 | |
| camelia | rakudo 93f30e: OUTPUT«method floor(Int:D : Mu *%_) { ... }» | ||
| sorear | looks like in rakudo you only have to call the bottom method in the stack, and nextsame is.. ahem... rather magical | 04:43 | |
| though in 6model-land if you want to call stuff it would be more correct to use find_method | 04:44 | ||
| ehouse: you aren't trying to use the jvm port, are you? | 04:50 | ||
| ehouse | sorear: rakudo | ||
| sorear | ehouse: rakudo on parrot or rakudo on jvm? | ||
|
04:51
birdwindupbird joined
|
|||
| ehouse | sorry rakudo parrot | 04:51 | |
| sorear | "use of uninitialized value of type Any in string context" is a warning, not an error | ||
| ehouse | I know. My tests are throwing warning and I want to fix them or atleast understand them | ||
| sorear | r: my $x; say $x eq 'foo' | 04:52 | |
| camelia | rakudo 93f30e: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/v83x2NMXmo:1False» | ||
| sorear | r: my $x = 'bar'; say $x eq 'foo' | 04:53 | |
| camelia | rakudo 93f30e: OUTPUT«False» | ||
| sorear | If you try to use a variable without assigning anything to it, perl gives a warning | ||
| To avoid that warning, initialize your variables before using them | |||
| ehouse | oh jeeze. There is a edge case were the variabled wont get declared | 04:54 | |
| didn | |||
|
04:54
xinming left
|
|||
| ehouse | didn't think that through. Thanks though | 04:54 | |
|
04:56
xinming joined
|
|||
| sorear | minor note on terminology | 04:56 | |
| we say "declared" for what happens when the perl parser sees the word "my" | |||
| it's impossible to use a variable at all before declaration | |||
| indeed, normally none of your code will run until the perl parser is done with the file | 04:57 | ||
| ehouse | ok | ||
|
05:10
fridim_ left
05:16
daniel-s left
|
|||
| moritz | 06:56 < sorear> it's impossible to use a variable at all before declaration | 05:52 | |
| nearly :-) | |||
| or, depends on your definition of "before" | |||
| r: END { eval 'say $x' }; my $x = 42; | |||
| camelia | rakudo 93f30e: OUTPUT«42» | ||
| moritz | that's textually before, but temporally after | 05:53 | |
| (and eval is cheating, of course) | |||
|
06:00
dmol joined
06:05
crab2313 left
|
|||
| sorear | moritz: I was going for temporally | 06:06 | |
| & good morning | |||
|
06:08
crab2313 joined
06:13
kaleem joined
06:29
dayangkun joined
06:39
raiph left
06:43
domidumont joined
06:47
FROGGS_ left
06:48
domidumont left
06:51
xilo left
06:59
domidumont joined
07:08
iSlug joined
07:09
FROGGS joined
07:17
dmol left
07:19
dmol joined
07:33
domidumont left
07:34
domidumont joined
|
|||
| masak | good morning, #perl6! | 07:40 | |
| I'm still a bit stunned that integrating our sprintf code into nqp actually *helped*. :) | 07:41 | ||
| this is the most useful I've felt since YAPC::NA, I believe. | |||
| sorear | o/ masak | 07:42 | |
| FROGGS | o/ | ||
|
07:59
kst joined
08:02
daniel-s joined
08:05
crab2313 left
08:07
crab2313 joined
|
|||
| sorear | .tell jnthn gist.github.com/sorear/5947073 # collected thoughts on Rakudo JVM interop sugar (not discussing strictly internal implementation details, only user-visible aspects) | 08:15 | |
| yoleaux | sorear: I'll pass your message to jnthn. | ||
| masak | fwiw, invariant wrappers sounds like the better option, even if it's in some sense also more boring/inconvenient. | 08:29 | |
| what happens if a Java class has a method actually called 'new'? | 08:31 | ||
|
08:36
daxim joined
08:37
dakkar joined
|
|||
| moritz | hilarity! | 08:44 | |
| JimmyZ | good afternoon, #perl6 | 08:50 | |
|
08:50
Stygia joined
|
|||
| moritz | good morning, JimmyZ | 08:50 | |
| JimmyZ | \o, moritz :P | ||
| moritz | in some programs, some parts of the program want notifications when some data changes | 08:51 | |
| is there a design pattern for such stuff? and if yes, what's its name? | |||
|
08:55
dayangkun left
|
|||
| JimmyZ | observer pattern? | 08:58 | |
| jnthn | morning, #perl6 | 08:59 | |
| yoleaux | 08:15Z <sorear> jnthn: gist.github.com/sorear/5947073 # collected thoughts on Rakudo JVM interop sugar (not discussing strictly internal implementation details, only user-visible aspects) | ||
| tadzik | good morning folks | ||
| moritz | JimmyZ: looks like it, yes | ||
| (or at least similar to what I had in mind) | |||
| JimmyZ | moritz: or promise / deliver | ||
| tadzik | pub-sub? | ||
| JimmyZ | promise is better, methinks | 09:00 | |
| jnthn sometimes calls the thingy that does pub/sub an "event aggregator" | 09:01 | ||
| moritz | pub-sub seems to cut it better, yes | ||
| at $work we have a big-ish piece of software with some weird interdependencies | 09:02 | ||
| JimmyZ | promise is better because of asynchronous | ||
| moritz | for example if a person's address changes, we need to check if RIPE data sets need changes too | ||
| so currently the code that handles addresses needs also be aware of RIPE objects. That's kinda ugly | 09:03 | ||
| JimmyZ: in this case we actually need synchronous, because the listener might prevent an update | |||
| jnthn | Meaning that everything a listener does needs to be transactional in some sense? | 09:04 | |
| moritz | yes | ||
| jnthn | sorear++ # thorough write-up | ||
| moritz | (performance is not a huge deal; it's an interactive application that doesn't do any batch processing, so if we spend 0.1s per update on verifying stuff, that's fine) | 09:05 | |
| jnthn | sorear: On invariant/covariant, does Java code itself not have the same problem, it's just that you find out about the ambiguity at compile time? | ||
| lizmat | morning #perl6! | ||
| moritz | \o lizmat | 09:06 | |
| jnthn | sorear: I think that it may be a bit too surprising of, given two java types where S <: T, their wrappers in Perl 6 land don't reflect that relation. | ||
| lizmat | \o moritz! | ||
| jnthn | s/of/if | ||
| o/ lizmat | |||
| JimmyZ | moritz: which language are you using? | 09:09 | |
| moritz | JimmyZ: perl 5 | 09:10 | |
|
09:12
iSlug left
|
|||
| JimmyZ | moritz: github.com/stevan/promises-perl | 09:13 | |
| jnthn | But promises aren't really a pub/sub mechanism? | 09:14 | |
| jnthn doesn't see how they help a huge amount here... | 09:15 | ||
|
09:15
iSlug joined
|
|||
| JimmyZ | yes, it's not, just FYI. | 09:16 | |
| :P | |||
|
09:16
woolfy joined
|
|||
| jnthn promises to give Perl 6 promises :) | 09:24 | ||
| masak | fwiw, I don't draw a huge distinction between "Observer pattern" and "pub/sub". | 09:25 | |
| jnthn | I think there is an important one, though. With the observer you go directly to the thing doing the notifications and say, "add me to your subscriber list". | 09:26 | |
| JimmyZ | jnthn++, I really want clojure promise/future in Perl 6!!! | 09:27 | |
| jnthn | In an event aggregator / message bus / whatever we call it setup, you go to a central thing and say, "I want the event with this name/type". It's an extra level of decoupling. | ||
| masak | jnthn: I can see that. | ||
| jnthn: I guess I never do it in the latter way, though. | |||
| jnthn | Yeah, but you've seen loads of my code doing it :P | 09:28 | |
| ISubscribeTo<T> :) | |||
| masak | *nod* :) | 09:29 | |
| ok, I buy the argument about "extra level of decoupling". | |||
|
09:30
iSlug left
|
|||
| dalek | ast: a238cfe | (Elizabeth Mattijsen)++ | S06-signature/introspection.t: Fix comment |
09:32 | |
|
09:35
iSlug joined
|
|||
| dalek | ast: 84d1d91 | (Elizabeth Mattijsen)++ | S12-methods/lvalue.t: Fix comment |
09:37 | |
|
09:48
eternaleye joined
09:52
iSlug left
10:00
crab2313 left
10:18
fhelmberger joined
|
|||
| lizmat | jnthn: trying to add trait_mod for "is default", but cannot seem the right type of invoker for this to add to traits.pm | 10:32 | |
| or should it be added to BOOTSTRAP ? | |||
|
10:32
grondilu joined
|
|||
| grondilu | rn: say <foo bar>.comb.elems | 10:32 | |
| camelia | rakudo 93f30e, niecza v24-86-g39ab531: OUTPUT«7» | ||
| lizmat | 7 characters of the joined list? | 10:33 | |
| moritz | lizmat: is the problem to get the signature right? | ||
| lizmat | yes | ||
| grondilu | rn: say ['foo', 'bar'].comb.elems | ||
| camelia | rakudo 93f30e, niecza v24-86-g39ab531: OUTPUT«7» | ||
| lizmat | rn: say ['foo', 'bar'].comb | ||
| camelia | rakudo 93f30e, niecza v24-86-g39ab531: OUTPUT«f o o b a r» | ||
| grondilu | I guess that's the semantic for List.comb | 10:34 | |
| jnthn | lizmat: We don't implement variable traits yet. | ||
| moritz | I had a bit of code that added them partially for my attempts to do 'is export' on variables | ||
| jnthn | grondilu: .comb operates on a String | 10:35 | |
| lizmat | jnthn: I thought you'd said it would simply be a matter of adding an multi trait_mod:<is>(Any:D $container, :$default!) { | ||
| $container.set_default($default); | |||
| } | |||
| grondilu was wondering what List.comb was exactly, while he was looking at rosettacode.org/wiki/Letter_frequency#Perl_6 | |||
| moritz | certainly not Any:D | ||
| rather Mu | |||
| lizmat | moritz: tried that, didn't work | ||
| jnthn | lizmat: Yes, it will be once we actually have variable traits in place :P | ||
| We need something cleverer than just passing the container itself. | |||
| We need a bit more context. | |||
| Otherwise it will be impossible to implement things like "my IO $var will leave { .close } .= new;" | 10:36 | ||
| arnsholt | Semi-random question: If I set up a trait_mod:<is> to do "class Foo { has $.stuff is flurble; }", what kind of object will my multi trait_mod:<is>($stuff, :$flurble!) get as its first argument? | ||
| jnthn | Attribute | ||
| There are some examples of this one in traits.pm :) | 10:37 | ||
| arnsholt | Oh, goody | ||
| lizmat | ok, this feels like I'm getting in too deep for my level of comprehension | ||
| arnsholt | And examples, even better! | ||
| jnthn | lizmat: I suspect the answer is going to be some kind of VariableDecl object. | ||
| arnsholt | I think I want to use that kind of thing for inlined/non-inlined structs and arrays in NativeCall | 10:38 | |
| jnthn | lizmat: I dunno quite what it should be called. | ||
| lizmat | ContainerDecl ? | ||
| jnthn | Well, attributes involve containers too... | ||
| lizmat | I mean, we already have a "default" attribute in the ContainerDescription object | 10:39 | |
| jnthn | *nod* | ||
| lizmat | ok, I'll hold this train of thought for a later time, instead I'll add some todo tests | 10:43 | |
| jnthn | *nod* | ||
| Perhaps I can put it in this evening... | |||
| arnsholt | Developing a branch non-publically is interesting, a propos nothing. I think I'm going to have to resist the temptation to rebase it *too* much before I push it ^_^ | ||
| jnthn | All your rebase are belong to you until you push... :) | 10:44 | |
| arnsholt | Quite. The temptation to hide all intial mistakes is great indeed =) | ||
| lizmat | jnthn: that would be great, but please don't let me interrupt your flow wrt the JVM effort | 10:46 | |
| jnthn | lizmat: Well, we're already well past the 95% spectest target I had for the July release... :P | ||
| lizmat: Plus it's nice to do improvements that help Rakudo everywhere as well as Rakudo on JVM :) | 10:47 | ||
| lizmat | that's true :-) | ||
| masak | grondilu: but in that code .comb is not run on a List, but on its elements. hence the » | 10:48 | |
| grondilu | masak: that's because it's a new code I've just been adding | 10:57 | |
| former code was (my %count){$_}++ for lines.comb; | 10:58 | ||
| jnthn | It's one of .categorize or .classify do that idiomaticer? | 11:01 | |
| *Doesn't | |||
| masak | grondilu: that just looks wrong/untested to me. | 11:02 | |
| grondilu: at the very least, it relies on the stringification of the List that lines() outputs. | 11:03 | ||
| grondilu | lines».comb? | ||
| masak | right. | ||
| but why does the author insist on first breaking up into lines and only then into characters? | |||
| grondilu | doesn't lines always return a list of strings? | ||
| masak | rn: say "foo".lines.^name | 11:04 | |
| camelia | rakudo 93f30e: OUTPUT«List» | ||
| ..niecza v24-86-g39ab531: OUTPUT«Array» | |||
| masak | yes, seems so. | ||
| grondilu | masak: because you want to count characters? | ||
| oh, I guess you meant we could write bag slurp.comb | 11:05 | ||
| grondilu tends to use lines everytime he wants to read $*IN | |||
| but with slurp you'll get the linefeeds | 11:06 | ||
|
11:07
konundra left
|
|||
| masak | grondilu: you'll get the linefeeds, just like you'd get spaces and tabs and '.' and '-' and other characters you may not be interested in counting. | 11:10 | |
|
11:13
salv0 joined
11:16
eternaleye left
|
|||
| lizmat | n: my $a is default(42) | 11:25 | |
| camelia | niecza v24-86-g39ab531: OUTPUT«===SORRY!===Trait default not available on variables at /tmp/XaDbIeDyF1 line 1 (EOF):------> my $a is default(42)⏏<EOL>Potential difficulties: $a is declared but not used at /tmp/XaDbIeDyF1 line 1:------> m… | ||
| lizmat | .oO( need to fudge niecza "is default" tests ) |
||
| masak | oh, that reminds me of my idea for subtype defaults. | 11:27 | |
| daxim | jnthn, xeno left a comment last week on your jvm progress blog entry to ask something | 11:28 | |
| yoleaux | 29 Jun 2013 20:35Z <raiph> daxim: is that about my weird "divided we fall"? | ||
| daxim | .tell raiph I have no context | 11:30 | |
| yoleaux | daxim: I'll pass your message to raiph. | ||
|
11:31
eternaleye joined
|
|||
| moritz | now raiph won't have any context either when receiving the message 'I have no context' | 11:33 | |
| lizmat | jnthn: given "my $a = 1", what would be the quickest way to get at the ContainerDescription? | ||
|
11:37
ecocode joined
11:40
eternaleye left
11:42
eternaleye joined
|
|||
| arnsholt | Jonathan Worthington: "architectural mastermind" =D | 11:42 | |
| masak | mwhahaha | 11:45 | |
| arnsholt | My thoughts exactly =D | 11:47 | |
| moritz found it quite fittin | 11:49 | ||
| g | |||
| arnsholt | Yeah, it's a very good fit. But it's a very amusing turn of phrase as well. I liked it =) | 11:52 | |
| masak | "mastermind" makes me think of www.imdb.com/title/tt1001526/ | ||
| arnsholt | Exactly! =D | 11:53 | |
| jnthn | daxim: ah, I must missed the email notifying me somebody had left a comment somehow... | 11:54 | |
| jnthn will reply later on today | |||
| lizmat: It's an attribute on Scalar, so nqp::getattr would allow access to it | 11:55 | ||
| arnsholt | jnthn: I think I'm going to add another op for native calls: cannativecall (or something like that). That way we can fail at least a bit gracefully if something doesn't work out, and tests related to it in the NQP test suite (forthcoming) can skip | 11:57 | |
|
11:59
konundra joined
|
|||
| daxim | masak, I expected a halle berry filmification of the hasbro board game. my SON, I AM DISAPOINT knows no bounds :( | 12:01 | |
| masak | daxim: oh. I know nothing about the board game, unfortunately. | 12:02 | |
| daxim | it's the castle puzzle in nethack. | 12:03 | |
| nethackwiki.com/wiki/Mastermind | |||
| masak | hm :) | 12:04 | |
| daxim | perhaps next masakism can have a challenge to implement a solver | ||
| masak | perhaps :) | 12:06 | |
| I like implementing games. | |||
|
12:08
futurechimp joined
|
|||
| masak | futurechimp: hello, and welcome to the future. | 12:09 | |
| :) | |||
| we're hard at work distributing it more evenly. | |||
| futurechimp | hi masak, thanks for the welcome. I'm a Ruby and Scala programmer, just curious about Perl6's status, so I thought I'd come hang out for a bit. | 12:12 | |
| masak | nice! | 12:13 | |
| yes, hanging out is encouraged. :) | 12:14 | ||
|
12:14
SmokeMachine joined
|
|||
| moritz | wow, rakudo-jvm takes onl 38s to parse the setting on $desktop | 12:15 | |
| *only | |||
|
12:15
SmokeMachine left
|
|||
| dalek | ast: 1a0d5d1 | (Elizabeth Mattijsen)++ | S02-names/is_default.t: Some tests for "is default" on scalars |
12:15 | |
|
12:15
SmokeMachine joined
|
|||
| arnsholt | moritz: Oh, nice! | 12:15 | |
| moritz | but 'make spectest' makes all tests scroll past very fast, allw ith 'Non-zero exit status: 2 Parse errors: No plan found in TAP output' :( | 12:16 | |
| any idea what that is about? | |||
| oh, File::Slurp missing | 12:18 | ||
| clkao | hychen: /win 12 | 12:19 | |
| masak | Access Control Error: can't tell someone else to switch windows in irssi. | 12:20 | |
| dalek | kudo/nom: f45f221 | (Elizabeth Mattijsen)++ | t/spectest.data: Add "is default" tests to roast |
12:25 | |
| p: b5d98d9 | moritz++ | tools/jvm/eval-client.pl: Stop using File::Slurp it's not a core module, and more importantly, the error message sucks when it's missing (because the TAP harness swallows it up by default). |
|||
| lizmat | moritz: any particular reason why you just have line 12 say "return <$IN>" and forger about the rest of the lines?? it would save one time copying of the contents of the file slurped | 12:27 | |
| *forget | |||
| and the file would be auto-closed anyway | 12:28 | ||
|
12:30
ajr joined,
ajr is now known as Guest65514
|
|||
| moritz | lizmat: not really | 12:31 | |
| but since the files being read there are much smaller than 1kb, I see no reasons for optimizations | |||
| daxim | act.yapc.eu/ye2013/talk/4945 # trolololol | 12:32 | |
| FROGGS | >.< | 12:33 | |
| well, the audience will tell him/her | |||
| timotimo | well, hopefully? | ||
| maybe mst sits in the next room and can speak up or something :P | |||
| masak | I think the people expressing that kind of opinion have a right to do so. | 12:34 | |
| FROGGS | well, mst could throw his ol' crutch or so :P | ||
| masak: they have | 12:35 | ||
| masak | orthogonally, I think it's a stupid opinion. | ||
| especially the name/numbering. | |||
| but also other things about it. | |||
| daxim | wow that one's EVAN BETTAR act.yapc.eu/ye2013/talk/4943 | ||
| FROGGS | but it sounds a bit like "just ship perl5 next time with moose in core" | ||
| masak | daxim: that one was discussed a week or so ago. | ||
| moritz | are those talks approved? | ||
| daxim | no | 12:36 | |
| moritz wonders why people are so obsessed with putting stuff in p5 core | |||
| FROGGS | moritz: because everything gets more awesome when somebody puts it in core | 12:37 | |
| lizmat | well, at least p5-mop seems to be revived | ||
| and that *would* put Moose in the core, literally | |||
| moritz | p5-mop is something that actually makes sense in core :-) | ||
| lizmat: not as far as I understand (but my understanding might be way off) | |||
| lizmat | well, put the hooks for Moose into the core, is maybe more accurate | 12:38 | |
| FROGGS | my question is more: does this end up in a 99.9% compatible Perl 5 or will this be a dialect then? | ||
| lizmat | p5-mop? should not be a dialect | 12:39 | |
| FROGGS | maybe a 'use mop' pragma makes sense | 12:40 | |
| masak | lizmat: probably more (but still not completely accurate) to say that it'd put Class::MOP (Moose's underpinnings) in core. | ||
| lizmat | that's what I meant with "hooks" :-) | ||
| actually, I forgot what the hooks were called :-) | 12:41 | ||
|
12:43
dayangkun joined
12:44
woolfy1 joined
12:47
woolfy left
|
|||
| [Coke] | .tell colomon here's a bug for you: gist.github.com/coke/5948500 | 12:47 | |
| yoleaux | [Coke]: I'll pass your message to colomon. | ||
|
12:47
Guest65514 is now known as ajr_
|
|||
| FROGGS | [Coke]: that is jakudo? | 12:48 | |
| hmm, Isee | 12:50 | ||
| it doesnt like the 1e-5, this works: say (123.456789).round(0.00001) | 12:51 | ||
| daxim | .tell raiph promoted to cult leader, eh? | 12:52 | |
| yoleaux | daxim: I'll pass your message to raiph. | ||
| masak | daxim: what in the world are you two talking about? | 12:54 | |
| daxim | I'm talking about <perlmonks.org/?node_id=1040306> in which he engaged in dialog that earned him a new signature | 12:56 | |
| rjbs | comp.lang.perl7.die.die.die | 12:57 | |
| daxim | I recognise that reference | 12:58 | |
| [Coke] | FROGGS: aye. only failure in that file. | ||
| lizmat | std: my $h = {}[Int,Str] | ||
| [Coke] | rjbs++ | ||
| camelia | std 85cf51d: OUTPUT«ok 00:00 46m» | 12:59 | |
| lizmat | rn: my $h = {}[Int,Str] | ||
| camelia | rakudo 93f30e: OUTPUT«Parameter '' requires an instance, but a type object was passed in method Bridge at src/gen/CORE.setting:3554 in sub infix:<<> at src/gen/CORE.setting:3478 in sub infix:<<> at src/gen/CORE.setting:3324 in method postcircumfix:<[ ]> at src/gen/CORE.setting:1… | ||
| ..niecza v24-86-g39ab531: OUTPUT«Potential difficulties: $h is declared but not used at /tmp/kwpdSH16mq line 1:------> my ⏏$h = {}[Int,Str]Unhandled exception: Cannot unbox a BigInteger from an object of repr P6opaque at <unknown> line 0 (ExitRunloop @ 0)  at /… | |||
| lizmat | wonder whether that syntax could be used as a shortcut for my $h= Hash[Int,Str].new | ||
| moritz | please don't | 13:00 | |
| { } already has enough (or too many, depending on your POV) meanings | |||
| lizmat | std: my $h = [Int,Str]{} | 13:01 | |
| camelia | std 85cf51d: OUTPUT«ok 00:00 46m» | ||
| lizmat | fair enough :-) | ||
|
13:02
mstefanko joined
|
|||
| lizmat | looking at Hash.perl, making sure it will serialize typed hashes correctly | 13:02 | |
| jnthn | why not just my Int %h{Str}; | 13:03 | |
| Unless you explicitly want it in a scalar... | |||
| lizmat | r: (my Int %{Str}=a=>1).say # too bad that doesn't work | 13:05 | |
| camelia | rakudo 93f30e: OUTPUT«===SORRY!===Unsupported use of %{Str}; in Perl 6 please use %Strat /tmp/PwINW6Ga4b:1------> (my Int %{Str}⏏=a=>1).say # too bad that doesn't work» | ||
| [Coke] | jnthn: Buf/encode look like one of the bigger gaps left. | ||
| FROGGS | jnthn: btw, how do I detect if an arg passed to nqp::sprintf is a bigint? its REPR is P6opaque and nqp:isbig_I doesnt seem to work well (NullPointerException) | 13:06 | |
| jnthn | FROGGS: Yes, I suggested that we stash a function somewhere in hllsym like we do with sprintf, that lets us register a type as being a bigint type | 13:07 | |
| FROGGS: Then just call that from somewhere in BOOTSTRAP, or the setting. | |||
| FROGGS | jnthn: an nqp::sprintf_I ? | 13:08 | |
| jnthn | no | ||
| doens't need to be an op for now | |||
| can just nqp::gethllsym('nqp', 'sprintf_bigint_reg')(Int); or so | |||
| FROGGS | okay, I think I understand | 13:09 | |
| lizmat | jnthn: I'm puzzled by " multi method perl(Hash:D \SELF:) { nqp::iscont(SELF)" How can nqp::iscont(SELF) ever return true? | 13:10 | |
|
13:10
PacoAir joined,
Pleiades` joined
|
|||
| jnthn | r: say nqp::iscont(my %h); say nqp::iscont({}) | 13:11 | |
| camelia | rakudo f45f22: OUTPUT«01» | ||
|
13:12
PacoAir left
|
|||
| lizmat | r: my %h=a=>1; say %h.perl # then why isn't this stringified with {} ? | 13:12 | |
| camelia | rakudo f45f22: OUTPUT«("a" => 1).hash» | ||
|
13:12
PacoAir joined
|
|||
| lizmat | sorry, I read that wrong | 13:13 | |
|
13:19
xilo joined
|
|||
| timotimo | i'm wondering if a fast path for X on range objects would be a good thing to make? | 13:24 | |
| given that the visit_nodes_cross benchmark is so utterly slow for rakudo | |||
| hm, that's not actually quite right; the for version isn't very much faster | 13:25 | ||
|
13:26
espent joined
|
|||
| lizmat | smells like po to me | 13:26 | |
| timotimo | although if there are range objects, it *could* use while loops with native integers which about 3x faster | ||
| yeah, i guess you're right. | |||
| lizmat | do we have native integers then? | ||
| apart from the specification of them|? | |||
| moritz | sure | 13:27 | |
| r: my int $x = 42; say $x | |||
| camelia | rakudo f45f22: OUTPUT«42» | ||
| timotimo | yeah and the jvm likes them a lot | ||
| even on nqp | |||
|
13:28
espent left
13:32
daniel-s_ joined
13:34
mikemol joined
|
|||
| [Coke] yawns. | 13:35 | ||
| lizmat | r: my int $a; $a++ for (^100000) # well, not where it matters | ||
| camelia | rakudo f45f22: OUTPUT«Cannot modify an immutable value in sub postfix:<++> at src/gen/CORE.setting:3615 in sub postfix:<++> at src/gen/CORE.setting:2066 in block at /tmp/bwU6asfKWc:1» | ||
| timotimo | yeah, the ++ operator doesn't work on natives yet | ||
| r: my int $a; $a = $a + 1 for (^100000) | |||
| camelia | rakudo f45f22: ( no output ) | ||
| timotimo | neither do any of the OP= forms :( | ||
| r: my int $a; $a = $a + 1 for (^1000000); say $a; | |||
| camelia | rakudo f45f22: OUTPUT«(timeout)» | 13:36 | |
| timotimo | r: my int $a; $a = $a + 1 for (^500000); say $a; | ||
| camelia | rakudo f45f22: OUTPUT«(timeout)» | ||
| timotimo | r: my int $a; $a = $a + 1 for (^250000); say $a; | ||
| come on, don't give me that, camelia :( | |||
| camelia | rakudo f45f22: OUTPUT«250000» | ||
| timotimo | ah, there we go | ||
| r: my $a = 0; $a++ for (^250000); say $a; | |||
| camelia | rakudo f45f22: OUTPUT«250000» | ||
| timotimo | well, the difference is not big enough apparently ... | 13:37 | |
| lizmat | fwiw, my int $a=0; $a = $a + 1 for (^100000) benchmarks 40% slower than its Int counterpart | ||
| timotimo | but once jnthn makes the jvm compile-time dispatch for native types work, there'll be a big difference | ||
| oh? wow. | |||
| moritz | lizmat: you're mostly benchmarking 'for', not native ints | 13:38 | |
| timotimo | oh, it should be better with a while loop then? | ||
| moritz | try something like my int $a = 0; $a = $a + 1 while $a < 100_000; | ||
| timotimo | anyway, i guess i'll drop the X optimisation for now | 13:40 | |
| ah, range used to have an optimized path for int/num which is now ifdef-parrot'd | 13:42 | ||
|
13:42
raiph joined
|
|||
| timotimo | that does seem like something i could maybe do | 13:43 | |
| jnthn | There's a JVM-optimized path below it | 13:46 | |
| timotimo | i don't see it; is it in some branch? | 13:47 | |
| jnthn | no, it's one of the things I did that improved the benchmark results | ||
| It's there, right below the Q:PIR version | 13:48 | ||
| #?if !parrot | |||
| timotimo | oh, that's optimized? | ||
|
13:48
crab2313 joined
|
|||
| timotimo | i don't have the same version as you it seems | 13:48 | |
| hold on | |||
| haha, i was stuck on the jvm-support branch | |||
| that's quite silly | |||
| ah yes, now i do see it | 13:49 | ||
| [Coke] | jnthn: I got really close on shell-with-env-vars, and ended up getting stuck on an unwind exception. | ||
| timotimo | moving on :) | ||
| [Coke] | gist.github.com/coke/5944808 , if you have a sec. | ||
| (dies on the iter() call) | 13:50 | ||
| jnthn | [Coke]: You're passing a Perl 6 Hash in there, while iter wants a lower level hash | 13:52 | |
| timotimo | i think i'll look at pypy's benchmarks and port some of those over; they are mostly (exclusively?) non-micro benchmarks | ||
| [Coke] | jnthn: ah. Any suggestions on how to either get the lower level hash, or how to iterate over a perl6 hash in java? | 13:53 | |
| jnthn | [Coke]: you can pull out the underlying storage by doing something like nqp::getattr(%*ENV, EnumMap, '$!storage') or so | ||
| [Coke] | (pointers to code most welcome.) | ||
| Danke. | 13:54 | ||
|
13:54
BenGoldberg joined
13:56
btyler joined,
thou joined,
skids joined
|
|||
| sergot | hi o/ | 13:58 | |
| [Coke] | jnthn: I really feel like I'm poking around in the dark here. | 13:59 | |
|
13:59
pmurias joined
|
|||
| [Coke] | (Just fyi. I'm not saying this needs fixing from rakudo/jvm) | 13:59 | |
| dalek | p: 063e151 | (Pawel Murias)++ | t/nqp/68-associative-for.t: Add test for iterating over a hash. |
||
| pmurias | hi | 14:00 | |
| jnthn: nqp::iterval(...) is the expected way to get the value part of a pair? | |||
|
14:00
crab2313 left
|
|||
| jnthn | pmurias: It's the low level way | 14:01 | |
| pmurias: Used in the NQP MOP. Once the NQP setting is loaded, we can set up something higher level. | |||
| So that there's something to call $_.key and $_.value one | |||
| *on | |||
| pmurias | so the test should test both forms? | 14:02 | |
| jnthn | Yes, though maybe some existing test covers the hash iteratin already... | 14:03 | |
| pmurias | I'm afraid not | ||
| jnthn | :) | 14:04 | |
| pmurias++ # improving NQP test suite :) | |||
| pmurias | I discovered that hash iteratin was missing from rakudo-js while debugging ClassHOW.attributes ;) | ||
| jnthn | ;) | 14:05 | |
| timotimo | does the fannkuch benchmark sound like something that would be nice to have? | 14:08 | |
| hm, i'd have to build permutations :| | |||
| oh! turning a list of probabilities into a list of cumulatives seems like the perfect use case for triangle reduce! | 14:11 | ||
| GlitchMr | jjinux.blogspot.com/2008/09/python-...-on-c.html | 14:12 | |
| for i in itertools.islice(itertools.count(123), 5): | |||
| print i | |||
| I like how short it looks in Perl 6 - for (123..Inf)[^5] { .say } | |||
| timotimo | r: my @probs = 0.27, 0.12, 0.12, 0.27, 0.02 xx 11; my @cumul = [\+] @probs; say @cumul | ||
| camelia | rakudo f45f22: OUTPUT«0.27 0.39 0.51 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1» | ||
| timotimo | 9 lines of code in the python example for the same concept :3 | ||
| dalek | p: 8e3a39e | (Pawel Murias)++ | t/nqp/68-associative-for.t: Test both using ops and methods to get the key/value while iterating a hash. |
14:14 | |
| [Coke] | jnthn: where are "iterkey_s" and friends defined? | 14:16 | |
| oh. in the file I'm using. :P | 14:17 | ||
| moritz | src/vm/parrot/QAST/Operations.nqp | ||
| and src/vm/jvm/QAST/Compiler.nqp | |||
| [Coke] | moritz: src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java is where I found it. Danke. | 14:18 | |
| timotimo | meh, these benchmarks are all quite long and have next to no comments and apparently also the shortest variable names they could come up with ... | 14:19 | |
| dalek | kudo/nom: 6933c1d | (Elizabeth Mattijsen)++ | src/core/Hash.pm: Make sure .perl work correctly for typed hashes |
14:21 | |
|
14:21
futurechimp left
|
|||
| dalek | kudo-js: 7325198 | (Pawel Murias)++ | / (3 files): Specific the setting as a code_ref attribute. Do not use the version of a code_ref with statics and setting inline. |
14:26 | |
| kudo-js: 8d7235a | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp: Do not generate old style code refs. That should clean up the output significantly. |
|||
| kudo-js: 22eedfc | (Pawel Murias)++ | nqp: Update nqp submodule version. |
|||
| kudo-js: 5697e3c | (Pawel Murias)++ | / (3 files): Implement iterating with a for over a hash. Pass test 68. |
|||
|
14:29
ajr joined,
ajr_ left
|
|||
| [Coke] | jnthn: more stupid questions: how do I get the string value of a key in a six hash? iterval() returns the value itself, which is not amenable to .toString() - it looks like iterval(blah, tc).get_str(tc) is wrong. (get another unwind exception). do I need iterval(thing, tc).native_s ? | 14:29 | |
|
14:29
ajr is now known as Guest70764
14:30
Guest70764 is now known as ajr_
|
|||
| [Coke] | ... no, that's not how native_s works. :P | 14:31 | |
| jnthn | iterkey_s | 14:32 | |
| [Coke] | jnthn: ... but I'm trying to get the value? | ||
| jnthn | Oh... | ||
| iterval(blah, tc).get_str(tc) shoulda been right :S | 14:33 | ||
| [Coke] | there is not iterval_s | ||
| *no | |||
| jnthn: yes, that generates an unwind exception. | |||
| jnthn | You can always trying calling smart_stringify I guess... | ||
| [Coke] | hokay. | 14:34 | |
| lizmat | has anyone ever felt the need for a "nis_deeply" function in Test.pm ? | 14:38 | |
| aka, making sure that two structures are *not* equal | |||
| and would anybody mind if I added that to Test.pm ? | 14:39 | ||
| [Coke] | what test do you need it for? | ||
| lizmat | I want to make sure that a typed hash with a certain structure is not the same as an untyped hash with the same structure | 14:40 | |
| aka: are my %h=a=>1 and my Int %a=a=>1 different | |||
| I guess you could argue this is more a test of "eqv" | 14:41 | ||
| r: say (my %h=a=>1) eqv (my Int %a=a=>1) | 14:42 | ||
| camelia | rakudo f45f22: OUTPUT«True» | ||
| lizmat looks at the spec of eqv | 14:43 | ||
| [Coke] | jnthn: org.perl6.nqp.runtime.UnwindException | ||
| jnthn | OK, then no idea, but you should never really see that exception. | ||
|
14:43
kaleem left
|
|||
| [Coke] | it's happening in two tests in roast already. | 14:45 | |
| lizmat | r: say (my %h=a=>1) eqv (my Int %a=a=>"1") | 14:46 | |
| camelia | rakudo f45f22: OUTPUT«Nominal type check failed for parameter '$x'; expected Int but got Str instead in method STORE_AT_KEY at src/gen/CORE.setting:7390 in method STORE at src/gen/CORE.setting:7268 in block at /tmp/DVaTUzwyss:1» | ||
| lizmat | r: say (my %h=a=>"1") eqv (my Int %a=a=>1) | ||
| camelia | rakudo f45f22: OUTPUT«False» | ||
| [Coke] | jnthn: gist.github.com/coke/5949477 is the loop where the exception is thrown (happens on line 4) | 14:47 | |
| (note that I'm actually catching Exception in my method and printing the stacktrace (before I did that, the program would just stop) | 14:48 | ||
|
14:51
bluescreen10 joined
|
|||
| dalek | ast: 6127abe | (Elizabeth Mattijsen)++ | S32-hash/perl.t: Added tests for .perl on hashes, explicitely typed or not |
14:52 | |
|
15:02
eternaleye left
|
|||
| dalek | kudo/nom: 577a030 | (Elizabeth Mattijsen)++ | t/spectest.data: Added Hash.perl tests to roast |
15:04 | |
| FROGGS | perl6-jvm -e 'say 1e-5'# 9.999999999999999E-6 | 15:07 | |
| nqp-jvm -e 'say(1e-5)' # 1.0E-5 | |||
| jnthn: do you have an idea where I can start hunting that down? | 15:08 | ||
|
15:08
eternaleye joined
|
|||
| moritz | FROGGS: it's probably just a different default stringification | 15:08 | |
| jnthn | FROGGS: Probably looking at what Num.Str is doing... :) | 15:11 | |
| FROGGS | perl6-jvm: nqp::p6box_s(nqp::unbox_n(self)) | 15:12 | |
| jnthn | hm, that hsould be using coerce_is or so, same as NQP does. | 15:13 | |
| FROGGS | aha! | ||
| lizmat | r: use Test; is_deeply (my Int %h=a=>1), (my %h=a=>1), "should this be ok or not?" | 15:17 | |
| camelia | rakudo 577a03: OUTPUT«Potential difficulties: Redeclaration of symbol %h at /tmp/La8sWNQqbT:1 ------> Test; is_deeply (my Int %h=a=>1), (my %h⏏=a=>1), "should this be ok or not?"ok 1 - should this be ok or not?» | ||
| lizmat | r: use Test; is_deeply (my Int %h=a=>1), (my %i=a=>1), "should this be ok or not?" | ||
| camelia | rakudo 577a03: OUTPUT«ok 1 - should this be ok or not?» | ||
| dalek | pan style="color: #395be5">perl6-examples: 08824dd | (Konrad Borowski)++ | euler/prob005-glitchmr.pl: Remove useless spaces around `..` I never liked these with ranges. |
15:18 | |
| lizmat | in other words: is "is_deeply" simply a wrapper around "eqv", or should it do more ? | 15:19 | |
| if the former, shouldn't it be called "is_eqv" then? | |||
| FROGGS | jnthn: I cant just call coerce_i2s(1e-5) from perl6 land, right? | ||
| lizmat | .oO( wonder what masak's, TimToady's or pmichaud's thoughts would be on that ) |
15:20 | |
| jnthn | FROGGS: Um, i2s is *integer* to string, not number.. | 15:21 | |
| FROGGS: But that's what's generated automatically in the code if we need to get from one to the other. | |||
|
15:24
kaare_ joined
|
|||
| [Coke] hurls www.feorag.com/assets_c/2013/07/Eur...p-919.html for jnthn | 15:27 | ||
| FROGGS | Cwrw # *lol* | 15:28 | |
| ./perl6 -e 'say 1e-5' # %_ <-- hehe, that is not what I wanted *g* | 15:29 | ||
| jnthn | [Coke]++ | 15:30 | |
| Cwrw...how on earth is that said? | |||
| dalek | kudo/nom: 8bd124f | (Elizabeth Mattijsen)++ | src/core/Array.pm: Make sure .perl works correctly on Array's with constrained values |
15:31 | |
| FROGGS | I can say it after a lot of it | ||
| jnthn | Yeah...I see a bootstrapping problem. | ||
| nwc10 | jnthn: w is a vowel, and I think it's pronnounced a bit like a short oo or u | 15:32 | |
| jnthn | ooh, didn't know Belorusian spells it differently to Russian and Ukrainian. :) | ||
| lizmat | beer can be ordered non-verbally | ||
| so not a really big bootstrapping problem :-) | |||
|
15:33
Moukeddar joined
|
|||
| jnthn | .oO( I got drunk in Wales while implementing continuations, and now I have cwrwtines... ) |
15:33 | |
|
15:34
FieldsaBB left
|
|||
| lizmat | r: Array[Int,Str].new # is this error message LTA enough to do something about ? | 15:35 | |
| camelia | rakudo 577a03: OUTPUT«===SORRY!===Too many positional parameters passed; got 3 but expected 2» | ||
| jnthn | Should probably say something nicer. | ||
| At least mention it's to do with an array... | |||
| lizmat | yup, my thoughts exactly | 15:36 | |
| any problem making PARAMETRIZE_TYPE a mutil method ? | |||
| *multi | |||
| jnthn | Well, that may be special-casing rather than fixing the general issue... | ||
| r: role R { }; R[Int] | 15:37 | ||
| camelia | rakudo 577a03: OUTPUT«None of the parametric role variants for 'R' matched the arguments supplied.Cannot call ''; none of these signatures match::(Mu )current instr.: 'specialize' pc 23746 (src/gen/perl6-metamodel.pir:10970) (src/gen/Metamodel.nqp:2143)called from Sub 'specialize' p… | ||
| jnthn | oh wait, it works different to that... | ||
| lizmat | -ll-exception told me it was the call to PARAMETRIZE_TYPE that was bombing | 15:39 | |
| jnthn | Yeah | ||
| masak | [Coke]: nice! I especially like how the Vatican holds the Romance flag high in a country that seemingly has succumbed to Germanic influence. | ||
| also interesting that Icelandic has the Germanic one, whereas Scandinavia and the Baltics have the Saxon one. | 15:40 | ||
| er, the Anglic* one | |||
| I bet there are interesting trading/historical reasons. | |||
| & | 15:41 | ||
| (that French has abandoned its Romance roots isn't surprising. French was always the outlier among the Romance languages.) :) | 15:42 | ||
|
15:42
konundra left
|
|||
| lizmat | n: Array[Int].new(1, 2) | 15:46 | |
| camelia | niecza v24-86-g39ab531: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Builtins.InvokeSub (Niecza.P6any obj, Niecza.Variable[] pos) [0x00000] in <filename unknown>:0  at Niecza.Kernel.ToComposable (Niecza.STable arg… | ||
| lizmat | n: Hash[Int,Str].new | ||
| camelia | niecza v24-86-g39ab531: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Builtins.InvokeSub (Niecza.P6any obj, Niecza.Variable[] pos) [0x00000] in <filename unknown>:0  at Niecza.Kernel.ToComposable (Niecza.STable arg… | ||
| dalek | ast: 4753065 | (Elizabeth Mattijsen)++ | S32-array/perl.t: Add tests for Array.perl, for both implicit and explicitly constrained values |
15:49 | |
| ast: ca24260 | (Elizabeth Mattijsen)++ | S32-hash/perl.t: Fudge pugs/niecza properly for typed hashes |
|||
|
15:50
raiph left
15:52
raiph joined
15:53
raiph left
|
|||
| FROGGS | jnthn: that call to coerce_n2s happens when I do nqp::p6box_s(nqp::unbox_n( ? | 15:53 | |
| FROGGS feels like just having opposite pieces of a huge puzzle | 15:54 | ||
| jnthn | FROGGS: Should be | 15:55 | |
| FROGGS | k, thanks | ||
| jnthn | FROGGS: Oh...maybe the NQP say(...) one goes through a different codepath. | ||
| FROGGS: It may do its thing inside the smart_stringify method. | 15:56 | ||
| FROGGS | hmmm, I've sen that one... | ||
| jnthn | FROGGS: 'cus say takes a slurpy, so the thing gets boxed. | ||
|
15:59
ecocode left
|
|||
| dalek | kudo/nom: 2329a2c | (Elizabeth Mattijsen)++ | src/core/Hash.pm: Hopefully create a smaller / faster .perl |
16:07 | |
| kudo/nom: 5b9d80b | (Elizabeth Mattijsen)++ | t/spectest.data: Add Array.perl tests to roast |
|||
|
16:13
FROGGS[mobile] joined
|
|||
| TimToady | sorear: the identification of java.lang.String / Str would seem to preclude doing NFG; Java strings are closer to (but probably not identical to) a postulated Uni type (with NFC/NFD constrained types) that does codepoints rather than graphemes | 16:15 | |
| jnthn | They don't even do codepoints, they do 16-bit thingies. | 16:16 | |
| TimToady | s/probably// :) | ||
|
16:17
FROGGS left
|
|||
| jnthn | ;) | 16:17 | |
| TimToady | I dont want people to say, Oh, Perl 6 is great, except on the JVM, where they adopted the JVMs string model | ||
|
16:18
domidumont left
|
|||
| TimToady | season with ' to taste | 16:18 | |
| jnthn | Aye, but I didn't really want to delay getting JVM support at all on doing an NFG implementation ;) | ||
| [Coke] | I think the odds of that sentence being spoken are pretty low! | ||
| TimToady | my ' key is getting gimpy... | ||
|
16:18
baest joined
|
|||
| jnthn | I agree it's where things should end up. | 16:18 | |
|
16:19
salv0 left
|
|||
| TimToady | from past experience, it's an easy place to get stuck in a false minimum | 16:19 | |
| diakopter | TimToady: don't worry; be happy | ||
| NFG'll get there | 16:20 | ||
| TimToady | .u 😅 | ||
| yoleaux | U+1F605 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT [So] (😅) | ||
| diakopter | *guffaw* | 16:21 | |
| jnthn | ...ouch! | ||
| I suspect Moar is in the best place to get NFG stuff sorted out first. | 16:22 | ||
| TimToady | just don't wanna end up with different semantic models on different VMs | 16:23 | |
| any estimates on whether NFG *can* be implemented efficiently on JVM? | |||
| diakopter | ... someone should spec Uni..... | 16:24 | |
| TimToady looks around, whistling... | |||
| diakopter | TimToady: for all I know, NFG strings on MoarVM would be more efficient (space *and* time) than java.lang.String | 16:26 | |
| well, definitely space. | |||
| jnthn | TimToady: I suspect it's the kind of code that JITs well. | ||
| I mean, it's mostly dealing with integers ;) | |||
| diakopter | er. | ||
| I meant JVM | 16:27 | ||
| NFG strings on JVM | |||
| TimToady | .u 😎 | ||
| yoleaux | U+1F60E SMILING FACE WITH SUNGLASSES [So] (😎) | ||
| diakopter | except that pesky "one of every codepoint" string | ||
| that one probably wouldn't take up less space. | 16:28 | ||
| jnthn | Well, if we do something ropey then we can do better on concat than we can with Java strings, no doubt. | ||
|
16:28
grondilu left,
Moukeddar left
|
|||
| diakopter | also pre-hashing and runtime de-duping all strings less than a certain size | 16:29 | |
| jnthn | The reason I say "nail it on Moar first" is kinda 'cus that approach worked well for 6model: get the design right on one VM, then port it elsewhere. | ||
|
16:29
ajr_ left
|
|||
| diakopter | .oO( after trying on .NET and then Parrot ... ) |
16:29 | |
|
16:30
ajr joined,
ajr is now known as Guest57953
|
|||
| jnthn | The .NET one was the "one to throw away". The Parrot 6model impl is fairly right. | 16:30 | |
| lizmat | is this proper English? "Can only specify type-constrainted Hash with [ValueType] or [ValueType,KeyType]" | 16:31 | |
| fixing a LTA error message for Hash[Foo,Bar,Baz] | |||
| diakopter | perhaps slightly better would be to move "only" to after "with" | 16:32 | |
| if it's a legal document | |||
| jnthn | I'm...not sure Rakudo errors count as a legal document... :P | ||
.oO( I hope to never see one on a legal document... ) |
|||
| diakopter | er, before "with" | ||
| jnthn | "Can only type-constrain a Hash with [ValueType] or ..." is an alternative | 16:33 | |
| diakopter | "you agree to UTF-8 reading error forthwith" | ||
|
16:34
salv0 joined
|
|||
| TimToady | "...provided at least one of the following is true:" | 16:34 | |
|
16:34
FROGGS joined
|
|||
| TimToady | "All parts of this error message are severable..." | 16:34 | |
| "This rotten error message shall be enforced under the laws of the State of Denmark." | 16:36 | ||
| lizmat | TiimToady: any suggestions on fixing: | ||
| r: $/=Any; say $/.chars | |||
| camelia | rakudo 5b9d80: OUTPUT«No such method 'chars' for invocant of type 'Any' in block at /tmp/p5k5lEo8RK:1» | ||
| lizmat | which is effectively what happens if we didn't have a match | ||
| TimToady | $/ is supposed to go to Nil when not matching | ||
| diakopter | r: $/.chars | ||
| camelia | rakudo 5b9d80: OUTPUT«No such method 'chars' for invocant of type 'Any' in block at /tmp/ech_WS_tiH:1» | ||
| TimToady | r: say Nil.chars | ||
| camelia | rakudo 5b9d80: OUTPUT«0» | ||
| TimToady | hmm | 16:37 | |
| lizmat | but, as soon as you "assign" Nil to $/ | ||
| you will get any, at least if we're going by the spec | |||
| TimToady | bind instead? | ||
| diakopter | r: $/:=Nil; say $/.chars | ||
| camelia | rakudo 5b9d80: OUTPUT«0» | ||
| TimToady | arguable that should warn | ||
| n: say Nil.chars | 16:38 | ||
| camelia | niecza v24-86-g39ab531: OUTPUT«Nil» | ||
| TimToady | that's more correct | ||
| n: say Nil.chars + 0 | |||
| camelia | niecza v24-86-g39ab531: OUTPUT«Use of Nil as a number at /home/p6eval/niecza/lib/CORE.setting line 1384 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 474 (Nil.Numeric @ 4)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/vnP2W8GpPc line 1 (mainline @ 3)  at /home/p6e… | ||
| TimToady | n: say Nil.foo.bar.baz | 16:39 | |
| camelia | niecza v24-86-g39ab531: OUTPUT«Nil» | ||
|
16:39
FROGGS left
|
|||
| diakopter | r: say Nil.die | 16:39 | |
| camelia | rakudo 5b9d80: OUTPUT«No such method 'die' for invocant of type 'Nil' in block at /tmp/U06dp2Vjbn:1» | ||
| diakopter | n: say Nil.die | ||
| camelia | niecza v24-86-g39ab531: OUTPUT«Nil» | ||
| lizmat | r: $/ := Nil; "abc" ~~ m/a/' # binding to Nil is not really an option, as it will other matches fail | 16:40 | |
| camelia | rakudo 5b9d80: OUTPUT«===SORRY!===Two terms in a rowat /tmp/OK4bXieszt:1------> $/ := Nil; "abc" ~~ m/a/⏏' # binding to Nil is not really an opt expecting any of: postfix infix stopper infix or meta-infix state… | ||
| lizmat | r: $/ := Nil; "abc" ~~ m/a/ # binding to Nil is not really an option, as it will other matches fail | ||
| camelia | rakudo 5b9d80: OUTPUT«Cannot modify an immutable value in block at /tmp/_t3oI72GTu:1» | ||
| diakopter | I think it'd be neat if camelia attempted to run every IRC message on rakudo/niecza, and if it parsed, send the outputs | 16:41 | |
| er, nm. that would... nm. | |||
| TimToady wonders whether we should bifurcate Nil into two concepts, 1) you expected something and got nothing, and 2) you want to send a message to a container to set itself to default | 16:42 | ||
| lizmat | I think we need something like that | ||
| TimToady | anyway, why is $/ defaulting to Any? why not default it to Nil? | ||
| lizmat | because otherwise it's going to be vary hard to work with $/ after failed matched | ||
| diakopter | C# has "default" | 16:43 | |
| lizmat | that would be another approach indeed | ||
| r: my Nil $a=1 # but would this then not be a problem? | |||
| camelia | rakudo 5b9d80: OUTPUT«Type check failed in assignment to '$a'; expected 'Nil' but got 'Int' in block at /tmp/ZH9spxTLkl:1» | ||
|
16:43
Stygia left
|
|||
| lizmat | I guess we want: | 16:44 | |
| my $a is default(Nil) | |||
| TimToady | r: my Mu $slash is default(Nil); $slash = Nil; say $slash | ||
| camelia | rakudo 5b9d80: OUTPUT«Nil» | ||
| TimToady | btw, Nil.foo.bar.baz returning Nil is specced at S02:2271 | ||
| lizmat | r: my Mu $slash is default(Nil); $slash = 5; say $slash | 16:45 | |
| camelia | rakudo 5b9d80: OUTPUT«5» | ||
| lizmat | r: my Mu $slash is default(Nil); $slash = 5; say $slash; undefine $slash; say $slash | ||
| camelia | rakudo 5b9d80: OUTPUT«5Nil» | ||
| lizmat is confused: "is default" is working already ? | |||
| TimToady thought you checked it in | 16:46 | ||
|
16:46
woosley left,
SamuraiJack left
|
|||
| diakopter | $a .= default // public static class MyExtensionMethods { public static T Default<T>(this T input) { return default(T); } } | 16:46 | |
|
16:47
fhelmberger left
|
|||
| TimToady | hey, this is a family channel, watch the cussing | 16:47 | |
|
16:48
SamuraiJack joined
|
|||
| TimToady is more thinking about the placeholder Nil when used to indicate a missing positional argument | 16:48 | ||
| .= won't work for that | |||
| lizmat | r: my Int $a is default(42); say $a; $a=Nil; say $a | 16:49 | |
| camelia | rakudo 5b9d80: OUTPUT«(Int)(Int)» | ||
|
16:49
rindolf joined,
woosley joined
|
|||
| TimToady | obviously a rakudobug; where's masak++ when you need him? :) | 16:50 | |
| lizmat | r: my Mu $slash; $slash = Nil; say $slash | ||
| camelia | rakudo 5b9d80: OUTPUT«Nil» | ||
| lizmat | is default just doesn't work yet | ||
| the fact that it now seems to work, is because the Nil -> default value translation is not done for Mu values | 16:51 | ||
| r: my Int $slash; $slash = Nil; say $slash | |||
| camelia | rakudo 5b9d80: OUTPUT«(Int)» | ||
| lizmat | changing that fails basically the whole regex engine, and that's what I'm trying to fix | 16:52 | |
|
16:52
Guest57953 left
|
|||
| lizmat | see gist.github.com/lizmat/5941715 for an overview of failing tests in that case | 16:53 | |
| so the way forward to me is: | |||
| 1. make is default work | |||
| 2. make sure $/ and friends are default Nil | 16:54 | ||
| 3. fixup any other problems in the regex engine | |||
| jnthn said he might be inspired to do 1. tonight | 16:57 | ||
| jnthn | Aye, though that was before he learend he has to get up at 6:30am tomorrow :/ | 16:58 | |
| lizmat | :-( | ||
| jnthn | Though, trying to sleep much earlier than usual will be useless. | 16:59 | |
|
17:00
bluescreen10 left
|
|||
| lizmat | you can sleep on the train on Wed ? | 17:01 | |
| jnthn | Well, my train on Wed from Copenhagen isn't until 13:something, meaning I don't have to leave home until round midday :) | 17:02 | |
| Nice how the cheaper tickets and more sleep matched up for once... :) | 17:03 | ||
| lizmat | isn't it great to have Sweden connected like that | ||
| jnthn | Yes! Oh my, before the bridge...musta been "fun" | ||
| lizmat | I remember it: it was no fun, especially with any kind of not excellent weather | 17:04 | |
|
17:04
SamuraiJack left,
dakkar left
|
|||
| jnthn | The prelim YAPC::EU schedule so far has me up against masak! o.O | 17:05 | |
| lizmat | *sigh* | 17:06 | |
| TimToady | we will force people to listen to Perl 6 regardless of which track they choose! :) | ||
| jnthn | ;) | ||
|
17:07
birdwindupbird left
|
|||
| lizmat | some people might interprete that schedule as forcing the Hallway++ track | 17:07 | |
| TimToady | we can have representation there too... | ||
| jnthn | oh, there's a third option ;) | ||
| I'm not sure how 6-y masak's talk is, either ;) | 17:08 | ||
| dalek | kudo/nom: c52f245 | (Elizabeth Mattijsen)++ | src/core/ (2 files): Make PARAMETRIZE_TYPE errors a bit less LTA |
17:11 | |
| jnthn | fetching dinner & | 17:12 | |
| [Coke] | skips like "1 skipped: Underlying Parrot problem" should probably just be skipped on rakudo.parrot now. | 17:16 | |
| (new in today's run) | |||
| todo PASSED: %p doesn't yet throw exception | |||
| diakopter | r: my Int $a is default(42); say $a; $a:=Nil; say $a | ||
| camelia | rakudo 5b9d80: OUTPUT«(Int)Type check failed in binding; expected 'Int' but got 'Nil' in block at /tmp/xQ_JhdPV8r:1» | 17:17 | |
| [Coke] | ^^ from rakudo.jvm | ||
| diakopter | hunh. so it's the Scalar that has the type? | ||
| moritz | what else could have it? | 17:18 | |
| lizmat | class Perl6::Metamodel::ContainerDescriptor { | ||
| has $!of; | |||
|
17:19
spider-mario joined
|
|||
| [Coke] | integration/advent2009-day02.t is now aborting in rakudo.jvm instead of failing a test. | 17:20 | |
|
17:23
konundra joined
|
|||
| [Coke] | ah, sprintf related, will no doubt clear up soon. | 17:26 | |
|
17:28
FROGGS joined
17:31
domidumont joined
|
|||
| lizmat | cycling and dinner& | 17:32 | |
|
17:34
daxim left
17:40
bluescreen10 joined
|
|||
| BenGoldberg | r: my Int $a is default("foo"); say($a) | 17:42 | |
| camelia | rakudo 5b9d80: OUTPUT«(Int)» | ||
| BenGoldberg | r: my int $a is default(4); say($a) | ||
| camelia | rakudo 5b9d80: OUTPUT«0» | ||
| BenGoldberg | Why is "is default" ignored? | 17:43 | |
| timotimo | not yet completely implemented | 17:46 | |
| timotimo is probably going to hold a 10-minute lightning talk about functional programming in perl6 at a functional programming meetup | 17:48 | ||
| diakopter | r: my Int $a is default(die die die); | 17:56 | |
| camelia | rakudo 5b9d80: OUTPUT«===SORRY!===» | ||
| diakopter | r: my Int $a is default(die *); | ||
| camelia | rakudo 5b9d80: OUTPUT«===SORRY!===Whatever<-497475241>» | ||
| diakopter | o_O | ||
| n: my Int $a is default(die *); | |||
| camelia | niecza v24-86-g39ab531: OUTPUT«===SORRY!===Trait default not available on variables at /tmp/uhSVSLTGz8 line 1:------> my Int $a is default(die *)⏏;Potential difficulties: $a is declared but not used at /tmp/uhSVSLTGz8 line 1:------> my I… | ||
|
17:59
Targen joined
|
|||
| dalek | rl6-roast-data: 56a191e | coke++ | / (5 files): today (automated commit) |
18:07 | |
| [Coke] | 97% even. | 18:08 | |
| rakudo.parrot has had 2 failures for 3 days | |||
| timotimo | why is the rakudo.jvm column moved off to the side? | 18:09 | |
| [Coke] | because I forgot to correct it. | ||
| timotimo | ah :) | ||
| [Coke] | updates to github.com/coke/perl6-roast-data/b...aster/cull to fix it welcome. | 18:10 | |
| timotimo doesn't touch perl5 code :P | |||
|
18:13
ajr joined
18:14
ajr is now known as Guest58437
18:15
Guest58437 is now known as ajr_
|
|||
| [Coke] | besides, it's a CSV file. spacing is irrelevant! ;) | 18:16 | |
| jnthn | r: say 26190 - 25405 | 18:17 | |
| camelia | rakudo c52f24: OUTPUT«785» | ||
|
18:19
btyler_ joined
18:21
btyler left
|
|||
| moritz | r: say (26190 - 25405) / 26190 | 18:24 | |
| camelia | rakudo c52f24: OUTPUT«0.029973» | ||
| [Coke] | wordcase would get us a dozen. sprintf still has a little way to go. | 18:27 | |
| Buf/encode, also. | |||
| r: say 26190*.98-25405 | 18:28 | ||
| camelia | rakudo c52f24: OUTPUT«261.2» | ||
| [Coke] | diakopter++ for hosting a new testing box, btw! | 18:29 | |
| gist.github.com/coke/5879701 updated. big wins would be: "Unhandled file open mode 'rp'", "Method 'postcircumfix:<( )>' not found", "Calling 'f4' will never work with argument types" | 18:34 | ||
|
18:35
colomon joined
|
|||
| [Coke] | 'rp' is implementing q:x - I can probably handle that if I can build off shell() | 18:35 | |
| colomon | \o | 18:36 | |
| yoleaux | 12:47Z <[Coke]> colomon: here's a bug for you: gist.github.com/coke/5948500 | ||
| FROGGS | hi colomon | ||
| colomon | hi FROGGS | ||
| fixed several bugs, discovered several more. :\ | |||
| [Coke]: I'm not sure that's actually a bug... | 18:37 | ||
| [Coke] | colomon: still some sprintf failures in roast - can you make those go away? ;) | ||
| colomon | [Coke]: not right away, for sure! | ||
| [Coke] | colomon: perhaps a bug in the test, then? | ||
| colomon | [Coke]: I'm not really sure one way or another | 18:38 | |
| sergot | What is the laziest way to add something (Str) before each item in an Array? | ||
| timotimo | zip it? | ||
| colomon | sergot: "something" X~ @array | ||
| sergot | colomon++ thanks ! :) | 18:39 | |
| colomon | FROGGS: if you haven't commited anything on sprintf if, I will do mine and push them | ||
| [Coke] | r: say "0x" X~ <dead beef> | ||
| camelia | rakudo c52f24: OUTPUT«0xdead 0xbeef» | ||
| FROGGS | colomon: your patch was the last commit | 18:40 | |
|
18:42
colomon left
18:47
stevan_ joined
|
|||
| [Coke] | r: say for 1 | 18:48 | |
| camelia | rakudo c52f24: OUTPUT«» | ||
| [Coke] | t/spec/S16-io/bare-say.t - this test is broken, assumes hash ordering. | 18:49 | |
| (last one in the file) | |||
| also, no reason for it to be an is_run test, I don't think. I think an in-memory run would be fine. | 18:50 | ||
| RT #74822 | |||
| (ah, yes, has to be is_run due to say) | 18:51 | ||
| dalek | p: 30a0f0f | (Solomon Foster)++ | t/jvm/06-sprintf.t: 14 more tests for %e, %f, %g. |
18:52 | |
| [Coke] | but all it needs to verify is that there is only one trailing newline. | ||
|
18:57
autumn joined
18:58
colomon joined
|
|||
| dalek | p: 5d68e65 | (Solomon Foster)++ | src/HLL/sprintf.nqp: Incorporate FROGGS++'s changes. |
19:05 | |
| colomon | I will continue working on %e, %f, %g. If anyone has useful NQP suggestions for converting a float to a big int, please e-mail me. ;) | 19:30 | |
| id @gmail.com | 19:31 | ||
|
19:35
domidumont left
19:36
colomon left
|
|||
| dalek | p: f4db52b | (Tobias Leich)++ | t/jvm/06-sprintf.t: fixed padding in test for %g's precision |
19:36 | |
| FROGGS | I dont think I can fix (1e-5).Str or bigint stuff for srpintf :/ | 20:03 | |
| sprintf* | |||
| geekosaur | .oO { sierpinskf? } | 20:07 | |
| FROGGS | :o) | ||
| [Coke] is reminded he never got further than 2 tests in rosetta code suite. | 20:08 | ||
| masak | o/ | 20:11 | |
| timotimo | señor print the first | 20:12 | |
| FROGGS | .u 讁 | ||
| yoleaux | No characters found | ||
| [Coke] | .u crazy. | 20:14 | |
| yoleaux | U+002E FULL STOP [Po] (.) | ||
| U+0061 LATIN SMALL LETTER A [Ll] (a) | |||
| U+0063 LATIN SMALL LETTER C [Ll] (c) | |||
| FROGGS | nqp-jvm bug: ./nqp -e 'say(nqp::sprintf("%#x", [nqp::ord("\x28b21")]))' # 0x8b21 | 20:20 | |
| (and it is not sprintf's fault) | |||
|
20:25
kaare_ left,
_jaldhar joined
20:29
rindolf left
20:30
jaldhar_ joined,
_jaldhar left
|
|||
| masak | rn: say (1e-5).Str | 20:35 | |
| camelia | niecza v24-86-g39ab531: OUTPUT«1.0000000000000006E-05» | ||
| ..rakudo c52f24: OUTPUT«1e-05» | |||
| masak .oO( <niecza> ...close enough. ) | 20:36 | ||
| FROGGS | at least there is a 1 on the left and a 5 on the right | ||
| masak | :) | ||
| lizmat is back and sitting on the terrace :-) | 20:37 | ||
|
20:41
woolfy joined,
konundra left
20:44
woolfy1 left
|
|||
| masak | "the terrace" sounds like a really nice place to do some coding in the summer. :) | 20:52 | |
| jnthn | The one time I lived in a place with a balcony, it kinda was nice for that :) | 20:53 | |
| Apart from I coded on the balcony in the winter :) | |||
| masak | yes, but you have infamously strange temperature preferences :P | 20:54 | |
| jnthn | No, it's just that winter there is almost like Swedish summer :P | ||
| masak has a balcony, but does far too little coding on it, he realizes | |||
| lizmat | r: 1/0 | 20:55 | |
| camelia | rakudo c52f24: ( no output ) | ||
| jnthn | r: say 1/0 | 20:56 | |
| camelia | rakudo c52f24: OUTPUT«Divide by zero in method sink at src/gen/CORE.setting:10543 in method BUILDALL at src/gen/CORE.setting:822 in method bless at src/gen/CORE.setting:763 in method new at src/gen/CORE.setting:748 in method new at src/gen/CORE.setting:746 in method floor at… | ||
| lizmat | r: 1/0 # isn't this supposed to be sink context? | ||
| camelia | rakudo c52f24: ( no output ) | ||
| jnthn | r: 1/0; 'x' | ||
| camelia | rakudo c52f24: ( no output ) | ||
| jnthn | Hm | ||
| lizmat | and shouldn't that throw? | ||
| jnthn | yeah | ||
| I'm a bit surprised. | |||
| lizmat | I was as well :-) | ||
| [Coke] | is 1/0 an exception or a failure? | ||
| r: my $a = 1/0; 'x'; say $a; | |||
| lizmat | r: say (1/0).WHAT | ||
| camelia | rakudo c52f24: OUTPUT«WARNINGS:Useless use of constant string "x" in sink context (line 1)Divide by zero in method sink at src/gen/CORE.setting:10543 in method BUILDALL at src/gen/CORE.setting:822 in method bless at src/gen/CORE.setting:763 in method new at src/gen/CORE.settin… | ||
| rakudo c52f24: OUTPUT«(Rat)» | |||
| lizmat | I smell a Rat | 20:57 | |
| jnthn | Oh... | ||
| [Coke] | r: say ((1/0)+0).WHAT | ||
| camelia | rakudo c52f24: OUTPUT«(Rat)» | ||
| jnthn | r: 1 / 0 | ||
| camelia | rakudo c52f24: ( no output ) | ||
| lizmat | r: say (1 / 0).WHAT | ||
| jnthn | r: my $x = 0; 1 / $x | ||
| camelia | rakudo c52f24: OUTPUT«(Rat)» | ||
| rakudo c52f24: ( no output ) | |||
|
21:02
dayangkun left
|
|||
| lue | r: (1/0).perl.say | 21:03 | |
| camelia | rakudo c52f24: OUTPUT«<1/0>» | ||
| lue | r: <1/0>.WHAT.say | ||
| camelia | rakudo c52f24: OUTPUT«(Str)» | ||
|
21:04
skids left
21:06
stevan_ left
21:08
spider-mario left
21:11
PacoAir left
21:17
dayangkun joined
|
|||
| lizmat | jnthn: is "for $trait_list {" at line 1920 of Actions.nqp the place where "is default" for scalar would actually be set? | 21:17 | |
| jnthn | lizmat: Well, that's the attribute case. | 21:20 | |
| dalek | p: 53a9e36 | (Tobias Leich)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: dont use (char) typecast for codepoints This typecast does not support codepoints > 0x10000. This fixes at least one test in roast. |
||
| jnthn | FROGGS: ooh, good catch! | ||
| FROGGS | :o) | ||
| jnthn | I'm not gonna get to the var trait stuff tonight :( | 21:21 | |
| I may manage it tomorrow. | |||
| Or I have a long train journey on Wednesday :) | |||
| masak | :) | ||
| jnthn had to do a little reading for his emergency assignment tomorrow...and should attempt not to stay up too late :) | 21:22 | ||
| lizmat | okidoki | ||
| then sleep well and have a fruitful emergency assignment tomorrow! | |||
| jnthn | Well, got an email to finish before I sleep... :) | ||
| Will be about for another 20 mins :) | 21:23 | ||
| lizmat | [Coke]: "rakudo.parrot has had 2 failures for 3 days" I cannot reproduce those errors | 21:26 | |
| masak | lizmat: there are some known platform-dependent and maybe even stochastic failures in some test files. | 21:34 | |
| now that I think about it, I'm not sure why we haven't isolated them and put them in quarantine. | |||
|
21:38
konundra joined
|
|||
| lizmat | I'n not even sure *which* particular test gives an error in those files | 21:46 | |
|
21:47
woolfy1 joined
|
|||
| [Coke] | these are new failures, masak. | 21:48 | |
| lizmat: one moment. | |||
|
21:49
woolfy2 joined,
woolfy left
21:51
woolfy1 left
|
|||
| [Coke] | ... nope. I can't repro them either. weird. | 21:52 | |
| (on feather, where they happened in the first place, using the last built rakudo.parrot) | |||
| masak glances meaningfully at his use of the word "stochastic" | 21:56 | ||
| lizmat | you seem determined to put your point across ;-) | 21:57 | |
| jnthn | .oO( sto-kass-tic ) |
||
| masak .oO( random puns ) | 21:59 | ||
|
22:02
Gruber joined
22:05
jferrero joined,
genehack joined
|
|||
| [Coke] | is there a mnemonic for remembering which side is which in a smartmatch? | 22:11 | |
| jnthn | The right side knows what's right, and so is in charge of the matching :P | 22:13 | |
| 'night, #perl6 | |||
| masak | 'night, jnthn! | ||
|
22:14
stevan_ joined
|
|||
| masak .oO( the left side only gets what's left, after the matching is already finished ) :) | 22:14 | ||
| TimToady | std: (my Int %{Str}=a=>1).say | 22:15 | |
| camelia | std 85cf51d: OUTPUT«ok 00:00 45m» | ||
| diakopter | heh. | ||
| TimToady | r: (anon Int %your_ad_here{Str}=a=>1).say | 22:16 | |
| diakopter | TimToady: is that adapter less noisy | ||
| camelia | rakudo c52f24: OUTPUT«===SORRY!===anon scoped variables not yet implemented. Sorry. at /tmp/6T8bIsiSl0:1------> (anon Int %your_ad_here{Str}⏏=a=>1).say expecting any of: postfix statement end statement modifier … | ||
| TimToady | aww | ||
| diakopter: yes, thanks | |||
|
22:16
pmurias left
|
|||
| diakopter | I also have the 65W version (much smaller/lighter) | 22:18 | |
| TimToady | my computer bag has wheels, so I don't have to optimize for that :) | 22:19 | |
|
22:22
woolfy joined
|
|||
| lizmat | gnight #perl6! | 22:23 | |
| TimToady | o/ | ||
|
22:25
woolfy2 left
|
|||
| diakopter | TimToady: do you have some thoughts on Uni? | 22:27 | |
| I seem to have lost our irclogs when we chatted a year ago or so on it | |||
| TimToady | just that, when we do switch Str to NFG semantics, we'll need some way to name the codepoint based types when we really mean those | 22:29 | |
| much as we currently spec Buf and utf8 types | |||
| masak | 'night, #perl6 | 22:30 | |
| TimToady | \o | ||
| what JVM offers currently is more like buf16 and utf16 than it is like Uni | 22:31 | ||
| Uni is, in my mind, free of surrogate pairs | 22:33 | ||
| and ord("\0") == 0 | |||
| well, maybe it comes out that way in Java too | 22:34 | ||
| don't remember the exact form of the null braindamage | |||
| I guess it was in their UTF-8, iirc | 22:35 | ||
|
22:45
skids joined
|
|||