»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:11
ecocode joined
00:12
ecocode left
00:14
ecocode joined
00:19
pupoque_ left
00:44
dayangkun joined
00:45
ppq_ left
01:02
xinming left
01:03
xinming joined
|
|||
TimToady | Gloria sez: "WAT has to be the opposite of DWIM, so if that is Do What I Mean, the other must be What Actually Transpires." | 01:04 | |
colomon | Gloria++ | ||
or should it be Wat Actually Transpires? | 01:07 | ||
01:10
ecocode left
|
|||
skids | I thought it was "Weapon Aimed at Toe" | 01:13 | |
timotimo | that's cool :D | 01:20 | |
but more like WAAT :3 | |||
mst | TimToady: but but Wat is a small operative lisp in the style of kernel invented by Manuel Simoni, which now has javascript, perl and python interpreters | 01:21 | |
skids | "Weapon Aimed Toe-ward"? | ||
mst | TimToady: I should know, I wrote the perl one :) | ||
(yes, you can write javascript in perl :) | |||
of course, it being an operative lisp with delimited continuations, 'weapon aimed at toe' isn't a bad description of it if you aren't careful | 01:22 | ||
runtime macros + continuations -> you too can write code that's dead slow -and- impossible to debug | |||
TimToady | we want to make that possible in Perl 6 too :) | 01:24 | |
though perhaps not likely | |||
mst | operatives are -really- interesting though | 01:26 | |
being able to get your arguments as unevaluated expressions makes a lot of things possible | 01:27 | ||
timotimo | is that like what we were thinking "is thunk" would be like? | ||
i have a "use case" for introspecting the code "* %% 10" in "sub foo($a where * %% 10)" - will perl6 let me do that at some point in the future? | 01:30 | ||
01:35
ecocode joined
|
|||
TimToady | well, in some sense, everything's a macro at some point, just most things degenerate to "normal" evaluation | 01:49 | |
colomon is watching Dune for the first time, and Duke Leto was just mentioned. ;) | 01:53 | ||
01:54
kurahaupo left
01:55
bluescreen__ joined
01:56
bluescreen100 left,
woosley joined
01:57
bluescreen10 left,
bluescreen100 joined
|
|||
colomon | "Wow, this just got really weird." -- Jen, also watching Dune for the first time | 01:57 | |
02:02
dayangkun left
02:05
bluescreen100 left,
bluescreen__ left
02:06
bluescreen100 joined,
bluescreen__ joined
02:10
raiph joined
|
|||
TimToady | if this is the movie, you should also watch the miniseries, which is...differently better | 02:18 | |
skids | one of SyFy's better endeavors, yes. | 02:19 | |
TimToady | and overall better than the movie, in many people's estimations | ||
colomon | movie, yes | ||
I've never read the book, either… started one of the later books in the series, was not impressed and quit. | 02:20 | ||
TimToady | ah, well, the earlier books are much better | ||
unfortunately, starts going downhill at about the end of the third book | |||
colomon | might just have not understood what was going on… those were the days when books were hard to come by. :) | 02:21 | |
skids | Back when I read something other than tech manuals, read most of that series. Very enjoyable. | ||
geekosaur | first time I read it, I skipped the second book entirely. (being 9, and _Dune Messiah_ being mostly Imperial politics, I was somewhat less than interested) | ||
TimToady | well, that's maybe not as bad as I did, reading the 5th book of the Amber series first O_O | ||
[Coke] | what would the advantage of "is readonly" be over a constant? | ||
colomon remembers trying to interlibrary loan the Elric books, and getting some other random Moorcock book from them instead. | 02:22 | ||
TimToady | the first Dune is well worth reading | ||
colomon | TimToady: I think I read Amber in the order 1 (long pause) 5 (long pause) 1..5 quickly. | ||
[Coke] | TimToady++ the frist one is quite good. | ||
colomon | Got me very confused about the fate of the different family members. | 02:23 | |
geekosaur | (I would recommend just pretending everything after the third Dune book doesn't exist) | 02:24 | |
TimToady | me 2 | 02:25 | |
dalek | rl6-roast-data: 05fed6c | coke++ | / (5 files): today (automated commit) |
02:31 | |
02:42
raiph left
|
|||
timotimo | is javac version 1.7.0_25 too old to build nqp-jvm? | 03:03 | |
colomon | I'm using 1.7.0_04 | ||
(which I'm presuming is older) | 03:04 | ||
timotimo | huh. strange. | ||
first i'm getting warnings about _ perhaps going away in a future release | |||
then i get Exception in thread "main" java.lang.UnsupportedClassVersionError: org/perl6/nqp/runtime/CompilationUnit : Unsupported major.minor version 52.0 | |||
could that be because i copied the whole folder over? but i did make clean .. | |||
git clean -xf didn't get rid of the problem i fear | 03:05 | ||
03:14
raiph joined
03:27
colomon left
03:29
aindilis joined
03:30
jreut joined
03:35
BenGoldberg left
03:40
jreut left
04:04
ecocode left
04:28
ecocode joined
04:31
fhelmberger joined
04:32
raiph left
04:47
raiph joined
04:48
birdwindupbird joined
|
|||
TimToady | masak: re irclog.perlgeek.de/perl6/2013-07-28#i_7379060 STD has already pulled feeds back out from the precedence table into a feed_separator category | 04:48 | |
04:51
btyler left
04:59
odoacre joined
05:00
ecocode left
|
|||
TimToady | diakopter: I dunno where you're getting your definition of 'thunk' from, but mine comes from the original Algol definition as an implementation strategy for call-by-name | 05:08 | |
looks like the term has since been "modernized" to fit into several other schemes as well :) | 05:09 | ||
the business of it being a parasite on its original lexical scope only matters because we allow declarations inside of expressions; otherwise it's simply an argumentless closure | 05:11 | ||
lizmat | good *, #perl6! | ||
TimToady | so that by necessity any bindings refer to that outer lexical scope just as they would in a normal closure | ||
05:12
bluescreen__ left,
bluescreen100 left
|
|||
dalek | kudo/nom: 1f026d9 | (Elizabeth Mattijsen)++ | src/core/Exception.pm: Match trait error message to already existing spectest |
05:22 | |
05:22
fridim_ left
05:26
fridim_ joined
05:30
danaj joined
|
|||
TimToady | regarding 'is readonly', we replaced that with '::=' binding | 05:32 | |
lizmat: ^^ | 05:33 | ||
lizmat | :-) | ||
TimToady | meaning bind it readonly just as we do paramters | ||
05:34
fridim_ left
|
|||
lizmat | r: my $a =42; my $b ::= $a; $b = 3; say $a # except that is not implemented yet | 05:34 | |
camelia | rakudo d5523b: OUTPUT«3» | ||
lizmat | :-( | ||
TimToady | oh, it's implement, just wrong :) | 05:35 | |
*mented | |||
05:37
SamuraiJack__ joined
|
|||
lue | .oO(my $a = 42; my $b is rw ::= $a; $b = 3; say $a) |
05:39 | |
TimToady | lizmat: irclog.perlgeek.de/perl6/2013-07-28#i_7381240 does not look like a rakudobug to me; the initial assignment to the my happens at run time despite the useless use of BEGIN; you'd have to say 'BEGIN my $a = 5;' to get it assigned at compile time | 05:41 | |
this is also why 'state' is defined as 'once my $x =' rather than 'my $x = once' | |||
phasers are not retroactive :) | 05:42 | ||
05:43
SamuraiJack__ left
05:44
fgomez left
|
|||
lizmat | TimToday: I guess that was a small WAT for a big DWIM :-) | 05:44 | |
lue: "is rw" on variables is gone too | 05:45 | ||
diakopter | WHEW | ||
lue | But... how else am I supposed to make a variable bound with ::= writeable‽‽‽ | ||
TimToady | [Coke]: readonly variables can be set each time through to something different, just as "readonly" parameters can represent something different each time; a constant can't change after compilation | 05:46 | |
lue | .oO(It's not like there's a rw version of ::= or anything.) |
05:52 | |
05:54
wtw joined
|
|||
lizmat | hmmm… it appears that the Routine:D, |c fallback trait is shadowing the Mu:D, :$docs trait | 05:55 | |
in the case of "sub a is docs" | 05:56 | ||
05:58
ecocode joined
05:59
raiph left
|
|||
dalek | kudo/nom: c810036 | (Elizabeth Mattijsen)++ | src/core/traits.pm: Hopefully temporary fix for Mu:D :docs caught by Routine:D |c snafu |
06:15 | |
ingy waves o/ | 06:19 | ||
lizmat | o/ ingy! | ||
ingy | :) | ||
06:20
SamuraiJack__ joined
|
|||
dalek | ast: 8462413 | (Elizabeth Mattijsen)++ | S06-traits/misc.t: Unfudge now passing trait mod test |
06:25 | |
ast: 0650e78 | (Elizabeth Mattijsen)++ | S14-traits/routines.t: Fudge now failing test, correct another for current error message format |
|||
ast: 8922597 | (Elizabeth Mattijsen)++ | S14-traits/routines.t: Fix test by limiting to Routine, rather than anything |
06:36 | ||
06:39
daxim joined
|
|||
lizmat | breakfast& | 06:41 | |
06:46
dmol joined
06:56
abnorman left,
abnorman joined
|
|||
masak | mornin', #perl6 | 07:17 | |
lizmat | morning masak! | 07:18 | |
masak | Gloria++ # What Actually Transpires | ||
...and you can say that with a '!?' inflection, and it'll be an excellent expansion of the normal usage of WAT as an interjection :P | |||
lizmat | WAT!? | 07:23 | |
:-) | |||
07:24
wk joined,
daxim left,
wk is now known as Guest51798,
daxim joined
07:26
rafl joined,
Celelibi joined
|
|||
masak | [backlog] TimToady: re irclog.perlgeek.de/perl6/2013-07-29#i_7382191 -- well, I'm thinking about this a lot, because macros/D3 talks about allowing exactly that for macro arguments (through COMPILER:: and other means). i.e. turning a macro argument from a closure into a thunk, which can leak variables back and forth. | 07:26 | |
(by which I mean to say that "we allow declarations inside of expressions" might have been the only reason the parasite-hood of thunks matters. but it stops being the only reason once one considers macro arguments.) | 07:27 | ||
07:34
FROGGS joined
|
|||
TimToady | troo | 07:34 | |
FROGGS | morning o/ | 07:36 | |
lizmat | morning FROGGS! | 07:37 | |
Q: what is the opposite of nqp::p6list ? | 07:38 | ||
FROGGS needs to recover a bit from $weekend at $work | |||
lizmat | aka, get the underlying RPA from an Array | ||
07:38
daxim left
07:39
rafl left,
daxim joined
|
|||
FROGGS has no idea | 07:39 | ||
07:39
Timbus joined,
Celelibi left
|
|||
lizmat | too bad :-( | 07:39 | |
07:40
sqirrel joined,
Celelibi joined,
rafl joined
07:43
Guest51798 left
07:45
arcterus joined
|
|||
arcterus | lizmat: how about nqp::getattr($list, List, '$!items') | 07:47 | |
lizmat | (testing, looking good so far) | 07:53 | |
07:56
xinming left
07:57
xinming joined
|
|||
mathw | o/ | 08:11 | |
lizmat | r: my @a; push @a, [1,2]; my $b := nqp::getattr( nqp::decont(@a), List, '$!items'); nqp::push( $b, [5,6] ); say @a.perl # works if there is something in @a | 08:12 | |
camelia | rakudo c81003: OUTPUT«Array.new([1, 2], [5, 6])» | ||
08:13
ecocode` joined
08:14
iSlug joined,
ecocode left
08:16
kaleem joined
08:19
ecocode`` joined
08:20
ecocode` left
08:23
kivutar joined
08:30
abnorman left,
abnorman joined
08:44
crab2313 joined
08:48
jercos joined
08:53
jercos left
08:54
kivutar left
08:55
kivutar joined
08:56
jercos joined,
arcterus left
|
|||
crab2313 | cd /moa | 09:16 | |
yoleaux | 25 Jul 2013 11:33Z <FROGGS> crab2313: this might fix your issue: github.com/MoarVM/MoarVM/commit/351339dfdc | ||
crab2313 | sorry. | 09:17 | |
typo | |||
FROGGS | np, :o) | ||
crab2313 | jnthn++ | ||
09:27
pmurias joined
|
|||
pmurias | /connect irc.perl.org | 09:27 | |
09:35
xinming left
09:36
dakkar joined
09:37
xinming joined
09:49
abnorman left
10:26
colomon joined
10:27
yoleaux joined,
ChanServ sets mode: +v yoleaux
|
|||
colomon | pandabrew broke overnight? | 10:27 | |
tadzik | did it work before? :| | 10:30 | |
colomon | I've been using it as part of my smoke tester since a bit before YAPC::NA. Last night was the first time it didn't work. | 10:31 | |
lizmat | how did it break? Did I break it? | 10:33 | |
r: my Int @a; @a.push: "a"; say @a # rakudobug | 10:48 | ||
camelia | rakudo c81003: OUTPUT«a» | ||
lizmat | r: my Int @a; @a[@a.end] ="a"; say @a | ||
camelia | rakudo c81003: OUTPUT«Cannot use negative index -1 on Array+{TypedArray} in method <anon> at src/gen/CORE.setting:11058 in any at src/gen/Metamodel.nqp:2663 in any find_method_fallback at src/gen/Metamodel.nqp:2651 in any find_method at src/gen/Metamodel.nqp:946 in block at … | ||
lizmat | r: my Int @a; @a[@a.eelems] ="a"; say @a | ||
camelia | rakudo c81003: OUTPUT«No such method 'eelems' for invocant of type 'Array+{TypedArray}' in block at /tmp/fBBdywBRLX:1» | 10:49 | |
lizmat | r: my Int @a; @a[@a.elems] ="a"; say @a | ||
camelia | rakudo c81003: OUTPUT«Type check failed in assignment to '$v'; expected 'Int' but got 'Str' in block at /tmp/6VsTyW_b_X:1» | ||
lizmat | apparently .push is not doing a typecheck | ||
r: my Int @a; @a.unshift: "a"; say @a # rakudobug | |||
camelia | rakudo c81003: OUTPUT«a» | ||
lizmat | and nor is unshift | ||
lizmat submits rakudonug | 10:50 | ||
sjn | should shifting/pushing/etc. really do type checking? | 10:52 | |
lizmat | and why not? | 10:53 | |
moritz | it needs to, otherwise one can never be sure that an Array[Blah] only holds Blah objects | ||
yoleaux | 28 Jul 2013 22:52Z <lizmat> moritz: wrt to $*W and $/ in Perl6 world: maybe we should add $*W and $/ to the trait mod signature? | ||
lizmat | indeed | 10:54 | |
moritz | and then the whole point becomes moot | ||
"we give you a typed array, but beware that under some conditions it can contain objects of other types". WAT? | |||
lizmat | well, I guess we have a case of WAT on our hands now | 10:55 | |
lizmat adds some TODO tests | 10:56 | ||
colomon | lizmat, tadzik: gist.github.com/colomon/6103588 # sorry for slow response, pandabrew error message | 10:57 | |
lizmat | ok, I fixed that one early this morning with github.com/rakudo/rakudo/commit/c810036333 | 10:58 | |
10:58
iSlug left
|
|||
lizmat | sorry for the noise | 10:58 | |
colomon | okay, smoke_test relaunched by hand. | 11:00 | |
lizmat++ | |||
11:04
pmurias left
11:05
rafl left
|
|||
dalek | ast: 08e6adb | (Elizabeth Mattijsen)++ | S32-array/ (2 files): Add type check TODO tests for .push and .unshift |
11:06 | |
11:07
cognominal joined
11:08
Celelibi left,
daxim left
|
|||
tadzik | uh. wat | 11:09 | |
lizmat | no: uh, WAT!? | ||
masak | W.A.T. | ||
11:09
rafl joined,
daxim_ joined,
Celelibi joined
|
|||
lizmat | .oO( still waiting in anxiety for tadzik's WAT ) |
11:10 | |
tadzik | WAT | 11:11 | |
tadzik bows | |||
lizmat: re the new ticket, I don't think we handle typed arrays atm at all | 11:12 | ||
that was a blocker on JSON::Unmarshal too | |||
jercos | So I can't have array of Sunlight? | ||
lizmat | r: my Int @a; @a[0]="a" | 11:13 | |
camelia | rakudo c81003: OUTPUT«Type check failed in assignment to '$v'; expected 'Int' but got 'Str' in block at /tmp/nHUK3t43Yc:1» | ||
tadzik | oh | ||
lizmat | tadzik: that's handling it, no? | ||
tadzik | :> | ||
it is | |||
r: my Int @a; say @a.WHAT | |||
camelia | rakudo c81003: OUTPUT«(Array+{TypedArray})» | ||
tadzik | r: my Int @a; say @a.of | ||
camelia | rakudo c81003: OUTPUT«(Int)» | ||
lizmat | r: my Int @a; say @a.perl | ||
camelia | rakudo c81003: OUTPUT«Array[Int].new()» | ||
tadzik | :o | ||
is that new? | |||
or am I that old | 11:14 | ||
lizmat | did that the past weeks or so | ||
tadzik | ah, that explains it :) | ||
lizmat++ | |||
lizmat | I mean, the .perl on the typed array | ||
tadzik | I can now make JSON::Unmarshal make sense | ||
lizmat | the underlying functionality was there already | ||
my Int $a is default(42); say $a; $a=23; say $a; $a=Nil; say $a # also works | 11:15 | ||
r: my Int $a is default(42); say $a; $a=23; say $a; $a=Nil; say $a # also works | |||
camelia | rakudo c81003: OUTPUT«422342» | ||
lizmat | lunch& | ||
11:23
colomon left
|
|||
masak | r: subset OddInt of Int where { +$_ % 2 }; my OddInt $o; say +$o | 11:26 | |
camelia | rakudo c81003: OUTPUT«use of uninitialized value of type OddInt in numeric context in block at /tmp/vE3ReslfmC:10» | ||
masak | r: subset OddInt of Int is default(1) where { +$_ % 2 } | ||
camelia | rakudo c81003: OUTPUT«===SORRY!==='OddInt' cannot inherit from 'default' because it is unknown.at /tmp/yPM29CGDlW:1------> » | ||
masak thinks it'd be nice if that worked (and were spec'd) | |||
11:26
kaleem left
11:28
colomon joined
11:29
kivutar left
11:45
colomon left
|
|||
lizmat | masak: but that would be a special case of "is" on a class, right ? | 11:45 | |
r: subset OddInt of Int where { +$_ % 2 }; my OddInt $o is default(1); say $o | |||
camelia | rakudo c81003: OUTPUT«1» | ||
lizmat | is default only works on variables (at the moment, anyway) | 11:46 | |
11:47
colomon joined
|
|||
lizmat | r: my Int $a is default("foo"); say $a | 11:47 | |
camelia | rakudo c81003: OUTPUT«===SORRY!===Type check failed in assignment to '$a'; expected 'Int' but got 'Str'at /tmp/8RnV7MvDBr:1------> » | ||
lizmat | *phew* | ||
I guess we could improve on that message | 11:48 | ||
dalek | kudo/nom: f8e970b | (Elizabeth Mattijsen)++ | src/core/ (2 files): Reimplement List.push using nqp::push() The old way was most definitely not thread safe: this way, we have one less place to look out for thread safety. |
11:53 | |
lizmat | .tell jnthn spectests are clean on github.com/rakudo/rakudo/commit/f8e970b1b9 , I can hardly believe it | ||
yoleaux | lizmat: I'll pass your message to jnthn. | ||
11:54
stevan_ joined
11:57
stevan__ joined,
rindolf joined
11:58
zakalwe left
11:59
stevan_ left
12:00
zakalwe joined
12:03
crab2313 left
|
|||
moritz | lizmat: can you please run my @a; @a.push: 1; @a[0] = 42; say @a after this patch? | 12:05 | |
lizmat | $ perl6 -e ' my @a; @a.push: 1; @a[0] = 42; say @a ' | 12:06 | |
42 | |||
12:07
fhelmberger left
|
|||
dalek | rlito: d378d10 | (Flavio S. Glock)++ | / (4 files): Perlito5 - code cleanup |
12:07 | |
12:07
crab2313 joined
|
|||
lizmat | moritz: are you suspecting a problem that wasn't caught by the spectests? | 12:08 | |
12:10
SamuraiJack joined,
SamuraiJack__ left
|
|||
moritz | lizmat: yes. I don't understand where your patch takes care that it's always containers that are pushed with Array.push | 12:12 | |
lizmat | I assume it's nqp::push doing that | ||
like nqp::unshift apparently also does (as .unshift was already implemented in terms of nqp::unshift) | 12:13 | ||
moritz | that would be very odd | ||
maybe it's .shift | |||
12:13
yoleaux left
|
|||
lizmat | now that I have you on the horn: what is "nqp::p6listitems(self);" supposed to do? | 12:14 | |
moritz | it returns a low-level array with all the items in self, I think | 12:15 | |
12:15
crab2313 left
|
|||
lizmat | it's not equivalent to "nqp::bindattr( self, List, '$!items', nqp::list() ) if $elems == 0;" ? | 12:15 | |
12:15
crab2313 joined
12:17
woosley1 joined
|
|||
moritz | certainly not | 12:20 | |
12:20
woosley1 left
|
|||
moritz | it reads from self, it doesn't write to it | 12:20 | |
lizmat | what use is then calliing it in sink context ? | 12:21 | |
(which is what List.unshift does) | 12:22 | ||
12:23
kaleem joined
12:26
crab2313 left,
crab2313 joined
12:31
nyuszika7h joined,
nyuszika7h left,
colomon left,
nyuszika7h joined,
nyuszika7h left,
nyuszika7h joined,
nyuszika7h left,
nyuszika7h joined,
nyuszika7h left
12:32
nyuszika7h joined,
nyuszika7h left,
nyuszika7h joined,
nyuszika7h left,
colomon joined,
autumn joined,
nyuszika7h joined,
nyuszika7h left
|
|||
lizmat | moritz: fwiw, nqp::p6listitems(self) seems to be exactly what I need to have it create the storage for an empty list | 12:33 | |
12:33
nyuszika7h joined,
nyuszika7h left
12:34
nyuszika7h joined
|
|||
dalek | kudo/nom: 34131db | (Elizabeth Mattijsen)++ | src/core/List.pm: Tweaks in List.unshift / List.push |
12:34 | |
12:35
orafu joined
|
|||
dalek | kudo/nom: 923fe34 | (Elizabeth Mattijsen)++ | src/core/List.pm: Moved List.(un)shift so that similar functionality is closer in the source |
12:37 | |
12:41
btyler joined,
sqirrel left
12:45
matthias__ joined
12:46
ecocode`` left,
ecocode`` joined
12:48
yoleaux joined,
ChanServ sets mode: +v yoleaux
12:53
btyler left
12:57
benabik left
|
|||
[Coke] | LHF: Someone could go through github.com/coke/rakudo-star-daily/...odules.log and open bug reports (or pull requests) for the various failing modules. | 12:58 | |
lizmat | r: my Int @a=<foo bar>; say @a # yikes! | 12:59 | |
camelia | rakudo f8e970: OUTPUT«foo bar» | ||
masak submits rakudobug | 13:02 | ||
compile-time checks and constant folding seem very tangled together in cases such as these. | 13:04 | ||
moritz | I'm pretty sure you get the same error without the opimizier | ||
masak | one is "is this even possible to do (and is it possible to find out statically?", the other is "let's just do this statically" | ||
moritz | constant folding calls the same code as would be called at run time | 13:05 | |
the problem is different here, IMHO | |||
masak | moritz: what error? there wasn't an error. | ||
that's the bug... :) | |||
moritz | erm, same non-error | ||
masak | oh, fershure. | ||
I was just reflecting in general about the closeness of the two processes. | 13:06 | ||
it interests me that they are tangled. it seems to be an essential neg-separation. | |||
r: my Int @a; @a = <foo bar>; say @a | 13:07 | ||
camelia | rakudo f8e970: OUTPUT«foo bar» | ||
masak | r: my Int @a; @a = Nil; @a.push: $_ for <foo bar>; say @a | ||
camelia | rakudo f8e970: OUTPUT«foo bar» | ||
moritz | masak: the real problem here is that typed arrays don't replace some low-level store operation that all high-level writing operations use | 13:08 | |
13:08
PacoAir joined
|
|||
moritz | masak: but instead it aims to re-implement all high-level writing operations, and several of them were forgotton, it seems | 13:08 | |
lizmat | r: my @a = <foo bar baz>; my Int @b= @a; say @b # more forgetfulness | ||
camelia | rakudo f8e970: OUTPUT«foo bar baz» | ||
lizmat | r: my Int $a="foo" | ||
camelia | rakudo f8e970: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Str' in block at /tmp/I_tdNQav7C:1» | ||
lizmat | *phew* | 13:09 | |
masak | moritz: from my viewpoint as an architect, it feels like we've neglected to put in an "invariant check" early on, and now it's coming back to bite us repeatedly. | ||
"or right, we totally forgot about that code path, too!" | |||
oh* | 13:10 | ||
13:17
SamuraiJack left
13:18
pnu joined,
zamolxes joined
13:19
colomon left
13:20
ribasushi joined
|
|||
dalek | kudo/nom: 72b1b02 | (Elizabeth Mattijsen)++ | src/core/List.pm: Add type checks for List.push and List.unshift These should probably be done at a lower level, but for now we're at least according to spec. |
13:32 | |
matthias__ | hi, I am curious if something like «{ my $OUTER::x = 2 }; say $x» is going to work? | 13:36 | |
moritz | masak: a huge problem is that lists and arrays really, really need to be fast, so we don't want another layer of indirection anywhere | ||
matthias__: no, you won't be able to declare variables for an outer scope. That's a feature. | |||
matthias__ | ok thank you moritz | ||
diakopter | moritz: well, it could be argued that they're going to be really slow no matter what until an awesome optimizer appears | 13:37 | |
yoleaux | 08:36Z <FROGGS> diakopter: can you fix it please? I'm not so sure what to do: irclog.perlgeek.de/moarvm/2013-07-28#i_7378950 and irclog.perlgeek.de/moarvm/2013-07-28#i_7378959 | ||
08:58Z <FROGGS> diakopter: nvm, everything is good :o) | |||
diakopter | FROGGS: fix it yourself! | ||
FROGGS: oh wait, you did.. ;)( | |||
;) | |||
FROGGS | hehe | ||
well, yes and no | |||
brb | |||
diakopter | I really should merge these two branches just to get the makefile fixes, once they work on gmake too | 13:38 | |
before they diverge even more | 13:39 | ||
13:39
btyler joined
|
|||
moritz | diakopter: that's not a good argument for making them even slower right now | 13:39 | |
dalek | ast: 03df203 | (Elizabeth Mattijsen)++ | S (4 files): Unfudge now passing TODO tests, because of type checks on .push and .unshift |
||
13:40
shinobicl joined
|
|||
lizmat | FWIW, for Mu arrays, there is only 1 extra check compared to before | 13:40 | |
self.of =:= Mu | |||
diakopter | moritz: I know; I'm mostly teasing. mostly. | ||
moritz: irclog.perlgeek.de/moarvm/2013-07-29 has a link at the bottom to the next day | 13:42 | ||
timotimo | r: my @a; say @a.of; | ||
camelia | rakudo 923fe3: OUTPUT«(Mu)» | ||
timotimo | oh, that's interesting, i suspected they would be of Any by default | 13:43 | |
13:43
dayangkun joined
|
|||
moritz | most (all?) built-in container types default to Mu | 13:44 | |
mostly because there's no good explanation of what happens when assignment autothreads | 13:45 | ||
13:46
sqirrel joined
|
|||
timotimo | that's fair. | 13:46 | |
hm; in theory the optimizer could complain at compile-time when arrays of non-matching types are somehow mingled | 13:47 | ||
13:47
dayangkun left
|
|||
lizmat | r: my Int @a; my Str @b=@a | 13:47 | |
camelia | rakudo 923fe3: ( no output ) | 13:48 | |
lizmat | I guess that could be caught at compile time | ||
timotimo | i'm a bit unhappy about having the type checks inside these operations like shift/push/assign, because if they were somehow separate and visible to the optimizer, the optimizer could just say "this operation is wrapped in a typecheck-op, in this case it seems like i can do the typecheck-op at compile-time!" and leave the rest be | ||
moritz | technically that's valid for empty arrays | ||
timotimo | this way it'd need to either inline all those methods or know about each one, i guess? | ||
lizmat | timotimo: I agree with you, and I'll be the first to rip out that code when we have another solution | 13:49 | |
timotimo | i wish i had a good solution, though | ||
lizmat | the solution lies in the guts at C-level, most likely | ||
where things like Nil assigments will need to be checked as well | |||
timotimo | i don't like hearing that | ||
arnsholt | diakopter: If you need someone to test and debug with gmake I can pitch in | ||
timotimo | hey, how's about the typed arrays get their arguments for push etc typeconstrained? is that doable with the roles we have? | 13:50 | |
diakopter | I thought that type check array assignment bug was already in rt | ||
13:51
skids joined
|
|||
lizmat | r: my Int $a="foo" # checked in rakudo_scalar_store in src/vm/parrot/guts/container.c | 13:51 | |
camelia | rakudo 923fe3: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Str' in block at /tmp/90MxMuKhYX:1» | 13:52 | |
timotimo | that's the easiest case; that can very well be done by the optimizer at compile-time. | ||
actually, maybe that's already the case? | |||
r: say "alive"; my Int $a = "foo"; | |||
camelia | rakudo 923fe3: OUTPUT«aliveType check failed in assignment to '$a'; expected 'Int' but got 'Str' in block at /tmp/LC_VeIi071:1» | ||
timotimo | nope, sadly not | ||
JimmyZ | lizmat: re 72b1b028a4, runtime check is not about right :) | 13:54 | |
lizmat | JimmyZ: seems to work, but I'm easily corrected :-) | 13:55 | |
timotimo | hm. if the optimizer learns to do the type checking for assignments and push etc, it'd still need a way to do a non-runtime-checked assignment/push/... | ||
lizmat | indeed, runtime will always be needed | ||
especially if coming from an Any container assigning to a typed container | 13:56 | ||
JimmyZ | I would rather not do check if it only slow things and throw exception in runtime | ||
timotimo | of course; what i mean is: if i have an Int array and an Int array and i unshift + push from one to the other or something like that ... the optimizer can recognize that it's safe, but it has no way to push into the other array without executing *another* check at runtime | 13:57 | |
shift+push is what i meant to write. | |||
lizmat | indeed | ||
JimmyZ | it doesn't make things better, but worse | ||
13:58
BenGoldberg joined
|
|||
lizmat | JimmyZ: why? if you don't want typed containers, and the associated tests, don't use them :-) | 13:58 | |
let me check if I can MMD to the work | 13:59 | ||
moritz | well | ||
yes, MMD is what I wanted to mention | |||
PerlJam wonders if Perl 6 will grow a type inferencer like Haskell has | 14:00 | ||
moritz | maybe, maybe we can give Array[Int].shift a signature with return type Int | ||
and an Array[Int].push candidate that accepts a single Int | |||
lizmat | moritz: I was working on that, but turned out to be more complex than I thought | 14:01 | |
timotimo | moritz: i would love that; can it be done just with roles and type captures? | ||
PerlJam: obviously type-infering everything will be hard unless we sprinkle the core setting with many, many more type annotations | 14:02 | ||
currently there are very, very few | |||
or maybe you mean that those would be type-infered automatically if possible? | |||
14:03
bluescreen10 joined
|
|||
[Coke] | r: for 1..10 -> { constant ha := $_ ; say ha } | 14:04 | |
camelia | rakudo 923fe3: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in block at /tmp/VASTQKo5lA:1» | ||
14:04
logie joined
|
|||
skids | .oO(.push(more,than,one,thing,in,lazy,list) is bothersome -- how you MMD on that without breaking laziness to find the types.) |
14:04 | |
[Coke] | r: for 1..10 -> $a { constant ha := $ ; say ha } | 14:05 | |
camelia | rakudo 923fe3: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/wnEroWoVGZ:1------> for 1..10 -> $a { constant ha := ⏏$ ; say ha } expecting any of: colon pair prefix or term prefix or meta-prefix»… | ||
[Coke] | r: for 1..10 -> $a { constant ha := $a ; say ha } | ||
camelia | rakudo 923fe3: OUTPUT«(Mu)(Mu)(Mu)(Mu)(Mu)(Mu)(Mu)(Mu)(Mu)(Mu)» | ||
moritz | timotimo: I have no idea | ||
14:05
xilo joined
|
|||
lizmat | see TimToady's comments earlier today | 14:05 | |
timotimo | skids: that'll require runtime checks apart from the MMD i fear :( | ||
moritz | r: role R[T] { multi method x(T $x ) returns T { $x * 2 } }; say R[Int].x(42) | 14:06 | |
camelia | rakudo 923fe3: OUTPUT«===SORRY!===Invalid typename 'T' in parameter declaration.at /tmp/Ek_Cg1DFUz:1------> role R[T⏏] { multi method x(T $x ) returns T { $x» | ||
moritz | r: role R[::T] { multi method x(T $x ) returns T { $x * 2 } }; say R[Int].x(42) | ||
camelia | rakudo 923fe3: OUTPUT«Cannot type check against type variable T in any type_check at src/gen/Metamodel.nqp:305 in method x at /tmp/QJv1xfUiIQ:1 in method x at src/gen/CORE.setting:510 in any at src/gen/Metamodel.nqp:1461 in block at /tmp/QJv1xfUiIQ:1» | ||
moritz | timotimo: seems you can't, with current roles implementation | ||
lizmat | moritz: this should be a right signature, no: multi method push(List:D: *@values where .of =:= Mu) { | 14:07 | |
moritz | lizmat: that's not what I meant | ||
lizmat: I meant a candidate multi method push(List:D: Int $just_one_value) is default { } | 14:08 | ||
lizmat: which needs to be generated at specialization type | |||
lizmat: the problem is that @values.of is always Mu | |||
lizmat | ah, but I meant it to work on self | ||
14:08
ecocode`` left
|
|||
moritz | but the .of is called on @values | 14:09 | |
lizmat | so how do I specify the check to be performed on the object ? | ||
skids | timotimo: unless push was specced to have the same effect as a recursive MMD on each argument, even if not implemented that way internally. | ||
moritz | maybe the real answer is to give the optimizer more meta data | 14:11 | |
timotimo | moritz: "with current roles implementation" seems good. that means it's possible to do in spec ;) | 14:14 | |
moritz | no | ||
just because it's impossible with current implementation doesn't mean it's possible by spec | |||
timotimo | aaw | 14:15 | |
moritz | in fact I'm not sure what exactly the spec says on this issue, if anything at all | ||
timotimo | +perhaps, then | ||
moritz | perhaps, yes | ||
timotimo | sounds like a candidate for a spec ticket | ||
moritz | sounds a candidate for reading up on the specs | ||
and if it's unclear, maybe a spec ticket | 14:16 | ||
because I don't have perfect by-heart knowledge of the specs, sad as it is :-) | |||
skids | moritz++ I was biting my tongue trying not to say "maybe we should do <already specced thing> instead of what's in the spec". | 14:17 | |
timotimo | skids: i'm not sure i understand you, but it seems like you're conflating .push and .plan? | ||
masak | 'management: "get your ducks in a row". chaordic management: self-organizing ducks" -- speakerdeck.com/lauraxt/minimum-vi...ureaucracy | 14:19 | |
s/" /' / | 14:20 | ||
seems apt for #perl6. | |||
lizmat ducks | |||
and goes of to look at something else | 14:21 | ||
off | |||
skids | timotimo: not conflating just saying maybe Array[Type].push should proceed to push until a typecheck fails, instead of plumbing the entire arglist before trying to push. | ||
14:22
benabik joined
|
|||
skids | Effectively working as though it were implemented as push(blah,...) { push(blah), push(...) } | 14:23 | |
timotimo | ah. interesting point indeed | ||
because a type check exception can be caught and you'd want to know if the stuff before that would have been pushed before or not. | 14:24 | ||
lizmat | skids, timotimo: but that's what the current implementation does ? | ||
[Coke] | "Don't commit to estimates for unknown tasks. Just say no." (from that deck. ++) | ||
timotimo | lizmat: in that case, a clarification in the spec may be appropriate | ||
skids | lizmat: yay! :-) | ||
masak | I really like the sound of the last slide: "mastery, autonomy, purpose". those are three words I value. | 14:25 | |
lizmat | map has always been very powerful, albeit lazy | 14:26 | |
14:31
crab2313 left
14:34
crab2313 joined,
arcterus joined
14:35
colomon joined
|
|||
masak | :) | 14:36 | |
jercos | (: | ||
14:37
matthias__ left,
Psyche^_ joined
|
|||
moritz turns his head the other way to follow the smiley | 14:38 | ||
jercos | ☃ | ||
masak | ☄! | 14:40 | |
14:40
arcterus left
|
|||
masak | sheesh, we still don't have the Snowman::Comet module yet... | 14:40 | |
14:40
telex joined
|
|||
masak | hurry up and future already! | 14:40 | |
jercos | use Acme::TimeTravel | 14:41 | |
14:41
Psyche^ left
|
|||
timotimo | i ... don't even ... | 14:43 | |
what would that even do? | |||
the snowman::comet module i mean | 14:44 | ||
masak | timotimo: you must be new here. :D | 14:47 | |
14:47
yangyong joined
|
|||
masak | sorry, I don't mean to be snide, but that's part of our cultural heritage, and you simply must know it :P | 14:47 | |
hold on, let me get the RT ticket for ya. | 14:48 | ||
Ulti | 💩 | ||
masak | rt.perl.org/rt3/Ticket/Display.html?id=66498 | ||
Ulti: your client doesn't seem to utf8 properly. | |||
Ulti | orly I can see it :/ | ||
timotimo | :) | 14:49 | |
masak | timotimo: first use was prolly here: irclog.perlgeek.de/perl6/2009-06-10#i_1229012 | ||
timotimo: short story: the bug got fixed, but *of course* now there's no way we *can't* implement snowman-comet quoting as a (language-altering) module. | 14:50 | ||
should be pretty trivial, once we have slangs. | |||
timotimo | haha, i've seen that test some time ago i think | ||
but i never knew it had any cultural 'weight' to it :) | |||
[Coke] | google searching the logs for ☃ gives several false positives, it seems. (even with intext:☃) | 14:52 | |
masak | you can't stop people from making snowmen. | 14:53 | |
14:53
kaare_ joined,
pupoque_ joined
|
|||
lizmat | I Am The Sun :-) | 14:54 | |
masak | ☀ | 14:55 | |
14:56
pmurias joined
14:57
Pleiades` joined
|
|||
masak | I'd love to see someone blog how the Perl 5 and Perl 6 communities view the bullet points in www.python.org/dev/peps/pep-0020/ | 14:58 | |
14:59
yangyong left
|
|||
masak | for example, "In the face of ambiguity, refuse the temptation to guess." seems to be a very anti-DWIM stance. | 14:59 | |
as such, Perl 5 should take a rather contrary position, and Perl 6 perhaps a less contrary one, but still not full agreement. | 15:00 | ||
just as an example. | |||
also, that list is from 2004 -- I wonder if the modern Python community is distancing itself from one or more of those? | |||
flussence | "practicality beats purity" maybe... they're still struggling with the py2 to 3 transition even though it's meant to be a straight upgrade. | 15:02 | |
masak | well, let's not be mean about that upgrade. our challenge is greater. | ||
it shouldn't fill us with glee that others are facing similar hurdles. | 15:03 | ||
lizmat mumbles something about our own strength and not taking issue with what other people think | |||
masak | I think in many ways, it is a straight upgrade. the problem is the ecosystem, which is largely py2. | ||
15:04
bluescreen10 left
|
|||
masak | ecosystem matters. it may block the path to worthwhile upgrades/transitions. in a way, it's a "problem of success". | 15:05 | |
nwc10 | Yes. I think that that's a key part of it | ||
and I see nothing nice about being unpleasant or unhelpful about that upgrade | 15:06 | ||
but I suspect that there are things to learn from it, and problems to avoid repeating | 15:07 | ||
arnsholt | masak: I think the most important point of disagreement between Perl and Python (in terms of your link) is on "there should be only one obvious way" | ||
dalek | kudo/nom: 5628e68 | (Elizabeth Mattijsen)++ | src/core/Hash.pm: Reimplement Hash.classify/categorize using nqp primitives This makes for about a 40% reduction in CPU |
||
flussence | those bullet points seem to have worked either way, the GNOME world pretty much runs on python everywhere. | ||
masak | arnsholt: aye -- that is *the* difference, if you ask me. | ||
arnsholt: it's a kind of mental monoculture versus mental liberalism. | 15:08 | ||
timotimo | 40%! \o/ | ||
lizmat | .tell colomon I've reimplement classify/categorize and wonder how your code would be faring with these versions | ||
yoleaux | lizmat: I'll pass your message to colomon. | ||
arnsholt | Yeah. There are differences on the others as well, but there it's mostly over what qualifies as what | ||
masak | arnsholt: though of course no Pythonista would ever put it that way :P | ||
Ulti | arnsholt: I dunno I think thats a good tennant for Perl too, the obvious way doesnt need to be the only way though | ||
having one obvious good practice style of doing something is a strength | |||
15:09
bluescreen10 joined
|
|||
colomon | lizmat: noted | 15:09 | |
yoleaux | 15:08Z <lizmat> colomon: I've reimplement classify/categorize and wonder how your code would be faring with these versions | ||
arnsholt | masak: Different ideals, yeah =) | 15:10 | |
colomon just noticed the ABC module has been failing tests for nearly a week. way to overlook the mote in your own eye, dude. | 15:12 | ||
lizmat | ABC ? | ||
colomon | abcnotation.com/ github.com/colomon/ABC | 15:14 | |
lizmat | ooooo wow… dus MusicMatic ring a bell with you? | 15:15 | |
MusiMatic rather | |||
timotimo | arnsholt: have you been able to look into the failures in zavolaj that coke has found with his daily star runs? | 15:16 | |
colomon | lizmat: sorry, no? | ||
lizmat | www.43things.com/entries/view/1232086 references it | 15:17 | |
"The Symphony of Psalms is fabulous too. I’ll never forget a friend of mine carefully encoding it into “MusiMatic” – a music playing program on PLATO when I was in college (billions of years ago). It totally worked." | |||
PLATO also had locking super/subscript | |||
you could use this to indicate to an octave higher / lower | 15:18 | ||
You entered music with MusiMatic as text, and it would play it, with max 4 voices if I remember correctly | |||
this was the late 70s :-) | 15:19 | ||
colomon | lizmat: cool! | ||
daxim_ | plato also had <enwp.org/Avatar_(PLATO_system_video_game)>, an influential game | ||
arnsholt | timotimo: Some traits that are no longer valid, apparently. Should be pretty straightforward to fix I think | 15:20 | |
lizmat | empire on PLATO was multiplayer StarTrek universe | ||
daxim_ | its spiritual descendants are mordor for windows 3, and demise for win9x | ||
colomon | I think I started messing around with computer music in 1982 or so. | ||
lizmat | arnsholt: yes, I removed a few in the past days | ||
all according to spec, I might add :-) | |||
arnsholt | Well, that's what happens when you remove them from the spec, isn't it? =p | 15:21 | |
colomon | One of the very first programs I wrote was a music program, actually. Cobbled together with not particularly compatible hints at how to do it from different programming magazines. | ||
lizmat | :-) | ||
colomon | lizmat: anyway, I actually use the p6 ABC module for sheet music pretty regularly, so having it broken is a Big Deal as far as I am concerned. | 15:23 | |
lizmat | daxim: ah, the memories: Moria! around the same time I was working on yet another Moria successor called Angmar :-) | ||
colomon: I hope the breakage is easy to fix | |||
colomon | lizmat: me too! | ||
[Coke] opens tickets for the 3 failing star modules. | 15:24 | ||
daxim_ | you'll like my lightning talk act.yapc.eu/ye2013/talk/4952 | ||
lizmat | indeed! | ||
masak | Ulti: psst! "tennant" is the 10th Doctor. if you mean "underpinning principle", "tenet" is what you want. :) | ||
daxim_ | Telo, sisne, tenet? Non tenet ensis, olet. | 15:26 | |
15:28
kaleem left
|
|||
[Coke] opens issues for the 3 modules included in * with no tests. | 15:28 | ||
huf | google translate bleeds to death on that | ||
daxim_: what does it mean? | |||
daxim_ | set input lang to latin | 15:29 | |
huf | i got _that_ far :) | ||
lizmat | it means the same backwards, that's for sure :-) | 15:30 | |
[Coke] | tadzik: pod-to-html is one with no tests. | ||
15:35
daxim_ left
|
|||
masak | the Web seems to suggest it's the last line of a "Sotadic Elegiac poem". | 15:38 | |
of which every line, it looks like, is a palindrome. | |||
it's in here: www.gutenberg.org/files/42792/42792...2792-h.htm | 15:39 | ||
that's as far as I get right now. | |||
15:39
birdwindupbird left
16:01
DarthGandalf joined
16:04
arcterus joined
|
|||
TimToady | re: my $x (42); this is parsing as a subsignature, so it doesn't catch the TTIAR error | 16:07 | |
it's not clear to me before coffee whether anything can be done about that... | |||
might not be clear after either :) | |||
rn: my $x (1+2); | 16:09 | ||
camelia | rakudo 5628e6: OUTPUT«===SORRY!===Unable to parse expression in constraint; couldn't find final ')'at /tmp/qWKPnStLbw:1------> my $x (1⏏+2); expecting any of: scoped declarator constraint» | ||
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===Unable to parse constraint at /tmp/cQpiXKCqcb line 1:------> my $x (⏏1+2);Couldn't find final ')'; gave up at /tmp/cQpiXKCqcb line 1:------> my $x (1⏏+2);Parse failed»… | |||
TimToady | at least some things are illegal in a sig | ||
masak | surely a thing like '(42)' in that position could simply be disallowed? | ||
even if that counted as an "exception", I mean. | |||
lizmat | r: my $a is default (42) # specifically for these typos | 16:10 | |
camelia | rakudo 5628e6: ( no output ) | ||
Ulti | masak: heh thanks | ||
TimToady | dunno if a subsig ought to apply to a subsequent bind; arguably it should apply to a $x ::= $stuff | ||
lizmat | r: my $a is default (42); say $a | ||
camelia | rakudo 5628e6: OUTPUT«True» | ||
16:10
rindolf left
|
|||
moritz | compare: sub ($x (:$a, :$b)) { } | 16:10 | |
TimToady | we could usefully disallow constants on non multi sigs, I suppose | 16:11 | |
Ulti | masak: all things are reducible to David Tennant Dr Who quotes is a tenet of Perl too though right? | ||
TimToady | we have a big tenet tent | 16:13 | |
r: my $x (42); $x ::= 43; say $x; # arguably should fail | |||
camelia | rakudo 5628e6: OUTPUT«43» | ||
TimToady | since the corresponding parameter binding would fail | 16:14 | |
masak | Ulti: :) | 16:15 | |
Ulti | I am really bad for that kind of word confusion :S the most embarrassing to date was confusing affluence and effluence | 16:17 | |
TimToady | :D | ||
Ulti | protip for Perl6 design ^ dont have efflience operators | ||
*effluence | |||
'effluence control' would be a great bit of word salad for programming | 16:18 | ||
TimToady | you can't control effluence, it just happens :) | 16:19 | |
there is no guarantee of affluence, however, sigh... | |||
Ulti | you do need to manage both though | 16:20 | |
TimToady will settle for a little influence now and then | |||
colomon is wondering how one debugs C++ when the debugger gets completely lost... | |||
Ulti | I imagine aff and eff word starts are the most commonly confused in English though, affect/effect | ||
too many accents have aff and eff sounding the same | 16:21 | ||
16:22
rindolf joined
|
|||
TimToady tries to feel effection for everyone... | 16:23 | ||
lizmat feels very effective now | 16:25 | ||
or is it effectivated? | |||
TimToady | depends on which affect you are trying to effect | 16:26 | |
dalek | kudo/nom: 9dd34f3 | (Elizabeth Mattijsen)++ | src/core/Hash.pm: Allow multi-level classifications, as per spec |
||
lizmat | cycling + dinner& | 16:28 | |
16:28
orafu left
16:29
FROGGS[mobile] joined
16:32
crab2313 left
16:33
FROGGS left
|
|||
moritz | colomon: strategically placed cout << statements | 16:38 | |
colomon | moritz: that's what I'm afraid of | 16:39 | |
moritz: not sure they're paying me enough for this | 16:40 | ||
16:42
spider-mario joined
|
|||
colomon | "lemma-encrusted shoulders of giants" www.scottaaronson.com/blog/?p=304 | 16:45 | |
16:46
arcterus left
16:48
FROGGS joined,
FROGGS[mobile] left
|
|||
TimToady suspects the solution to the typed lazy slurpy problem involves being a little bit smarter about static typing of parcel tails | 16:48 | ||
such that if you have a typed slurpy, it must be provable at bind time that the tail of the parcel is compatible | |||
and the act of putting a type on a slurpy requires the caller to supply that compatibility, either statically via known/inferred types, or by putting a coercer that is known to produce the correct type of list | 16:49 | ||
moritz | the other alternative is a typecheck-as-you-reify approach | 16:50 | |
TimToady | a guaranteed-slow approach | ||
moritz | (rather than coerce-as-you-reify) | ||
TimToady | coerce as you reifiy would be a declaration like Int() *@slurpy | 16:51 | |
but the important observation is that the static type system can infer things about the tail of a parcel, I think | |||
if you have a parcel (1.1, 2.2, 3, 4, 5), and you bind it to ($a, $b, Int *@c), then the compiler should be able to know that starting at the 3rd argument, the parcel is compatible with Int | 16:52 | ||
likewise my Int @ints; (1.1, 2.2, @ints) | 16:53 | ||
and I'm sayin' we could bend the language in the direction of requiring the caller to take more type responsibility in binding to such a signature | 16:54 | ||
how much more depends on how much tail inferencing we do | |||
moritz is always scared when TimToady muses about what static analysis should be able to recognize | |||
TimToady | well, gradual typing sits somewhere between static and dynamic, but we're still rather prejudiced toward the dynamic end | 16:55 | |
the static typers would think we are still way out on the dynamic end | |||
certainly in Haskell, you'd know the type of the things in your lazy list very accurately | |||
arnsholt | If nothing else, relying/allowing on static analysis here means different compilers most likely will differ in what code they accept and don't, since they won't have the exact same inference capabilities | 16:56 | |
TimToady is just wondering how far we can move that direction (in the case of a typed slurpy) without turning into a brain-pretzel language like Haskell | |||
diakopter | is it better to be effable or affable? | ||
TimToady | diakopter: I'll have a little of each, please :) | 16:57 | |
diakopter | remind me which one is the influenza operator | ||
16:57
pecastro joined
|
|||
TimToady | arnsholt: mostly the differences would show up as what could be detected at compile time vs run time | 16:58 | |
16:58
abnorman joined
|
|||
arnsholt | timotimo: Correction. The bug seems to be more complicated than I thought. Are you blocking on it ATM? | 16:58 | |
16:58
abnorman left
16:59
abnorman joined
|
|||
TimToady | but it seems completely obvious to me that the only way to have efficient typed laziness is through static knowledge of the types | 17:00 | |
arnsholt | jnthn: Could you have a quick look at the recent Zavolaj-fail? I suspect it's due to something changing within Str in Rakudo, which means that I can't mix into a Str with does anymore | 17:01 | |
TimToady | and that we should not preclude using this knowledge when it is available | ||
17:01
bluescreen10 left
|
|||
diakopter | arnsholt: jnthn's out for a week | 17:02 | |
arnsholt | Oh. Right. | ||
TimToady | the other thing that is obvious to me is that when we have to check at runtime, we should only do it once | ||
requiring the caller to install a statically typed coercer in some cases is not too onerous, I think, if it prevents the binder from having to do duplicate type checks | 17:03 | ||
s/prevents/relieves/ maybe | 17:04 | ||
and for any such calls known at compile time to be compatible, the type checking can be thrown away entirely | 17:06 | ||
which would apply to lexical functions, as well as an finalizable methods | |||
and for non-finalizable methods, it comes down to a single run-time check for the tail of the parcel at the current binding position, and fail if the tail is not known to be compatible | 17:07 | ||
then there's never any need to typecheck an entire list from the standpoint of the binder | 17:08 | ||
the binder may, however, require the caller to find some way of asserting the correct type, either through an explicit coercer/checker, or via additional type annotations on the incoming data | 17:09 | ||
(or via inferencing, to the extent we do it) | |||
this feels like a better balance point on the gradual typing spectrum than just assuming that slurpies have to be dynamically checked always | 17:10 | ||
17:10
dakkar left
|
|||
TimToady | doubtless there will also be some kind of I-know-what-I'm-doing cast that asserts a type without "proving" it | 17:11 | |
arnsholt | Are there any non-jnthn Rakudo-core hackers who might be able to shed light on the Zavolaj failure? | 17:13 | |
TimToady | I guess another way of saying it is that type checking the tail of a small parcel is much easier than type checking the tail of the list that might be produced by the parcel | ||
arnsholt | It complains that "Cannot create rw-accessors for natively typed attribute '$!cstr'", but by all rights that thing shouldn't be natively typed (I think) | 17:14 | |
[Coke] | arnsholt: is there a issue opened on zavolaj? | 17:15 | |
17:15
colomon left
|
|||
[Coke] | is it the same as github.com/jnthn/zavolaj/issues/28 ? | 17:15 | |
arnsholt | Yeah, that's the one | 17:16 | |
[Coke] | I can take a poke after $dayjob, but don't expect much from me. :) | ||
arnsholt | Any help I can get =) | 17:17 | |
Hmm. Apparently the is rw trait is dead | 17:18 | ||
Wonder what happens if I just remove that... | |||
Nope. | 17:19 | ||
17:19
SamuraiJack joined
|
|||
masak | TimToady: an I-know-what-I'm-doing cast would also be useful for people who have a (non-Int-typed) array full of Ints, and want to pass it to a routine with a signature with 'Int @x'. | 17:19 | |
arnsholt | lizmat: Since you're the one who removed this thing, what's the spec-licenced way to mark an attribute as rw? They're ro by default, no? | 17:20 | |
masak | str: constant I-know-what-I'm-doing = "not really"; # :) | ||
std: constant I-know-what-I'm-doing = "not really"; # :) | |||
camelia | std c2215f0: OUTPUT«ok 00:00 42m» | ||
masak | the fact that I typo'd that one would be a case of... Muphry's law, I guess. | ||
moritz | wait what, rw on attributes is gone? | 17:22 | |
I thought it was only gone on variables | 17:23 | ||
17:23
bluescreen10 joined
|
|||
moritz | r: class A { has $.x is rw }; given A.new { .x = 42; say .x } | 17:23 | |
camelia | rakudo 9dd34f: OUTPUT«42» | ||
17:24
konundra joined
|
|||
arnsholt | Ah, I misread the commit message then | 17:26 | |
lizmat: Never mind. I fail at reading | |||
17:28
colomon joined
|
|||
TimToady | Muphry's Law++ | 17:31 | |
moritz | github.com/mwilliamson/whack # anybody want to try if whack can build a relocatable parrot? | ||
17:32
cognominal left
|
|||
TimToady strongly expects difficulties in mixing in anything read-writey to an immutable value type | 17:32 | ||
arnsholt | moritz: You happen to know of any changes to natives/attributes lately? | ||
diakopter | watching #p5p is scary | 17:33 | |
arnsholt | TimToady: The thought did occur to me =) | ||
But it's been working for a long time | |||
masak | diakopter: I thought that was a long-established fact. :) | ||
diakopter didn't know | |||
arnsholt | (Although that particular functionality is on the chopping block, as soon as I get the tuits to refactor stuff) | ||
masak | diakopter: or maybe s/#p5p/all but a handful of IRC channels/ | 17:34 | |
moritz | arnsholt: no, but I don't follow the low-level stuff closely these days :/ | ||
diakopter | masak: that's true. | 17:35 | |
moritz | .oO( There are two types of IRC channels: Scary ones, and those that nobody uses ) |
||
TimToady | certainly the p5p mailing list has been scary from time to time for about twenty years now... | ||
so it would not be surprising if #p5p tracked the mailing list in that regard | |||
masak | the p5p mailing list was explicitly one of the cultural bits the Perl 6 rewrite set out to improve upon. | 17:36 | |
masak .oO( "and look, here we are", he stated humbly ) :P | |||
TimToady | well, there are always scaling issues for any community, so let's not kid ourselves too much | 17:37 | |
we have a good start, but that's about all it is | |||
timotimo | arnsholt: i'm not blocking on the bug, no | ||
17:37
DarthGandalf left
|
|||
nwc10 | I might need a fanantical loyalty to the pope | 17:38 | |
TimToady | Eternal troll hugging is the price of letting people across the bridge. | ||
nwc10 | but tensions on the p5p list seem to be caused by | ||
1) desire for backwards compatibility to keep working code working, versus awesome* new features | |||
* in the eye of the proposer | |||
masak | TimToady: troll hugging will be the first casualty of scaling. | ||
17:39
DarthGandalf joined
|
|||
nwc10 | 2) many people who talk but don't actually contribute** | 17:39 | |
PerlJam | nwc10: itym ego, ego, oh, and ego | ||
TimToady | masak: unless we can define it recursively somehow | ||
nwc10 | ** or contribute anything else | ||
arnsholt | timotimo: Well, that's good at least | ||
moritz | nwc10: 2) is actually common in here too | ||
masak | TimToady: delegating troll hugging. yes, sure. | ||
nwc10 | PerlJam: no I *don't*. Once you take the egos out, those two problems remain | ||
masak | TimToady: hugging leutenants! :) | ||
nwc10 | (1) is probably mostly solved by the ability to redefine things lexically | ||
masak | TimToady: but as it grows, it'll also get cracks where non-hugging gets in and festers. | 17:40 | |
diakopter | nwc10: oh I didn't mean the list | ||
just the irc channel | |||
PerlJam | nwc10: okay, I'll agree with that. But you still have to get past the egos :) | ||
masak | TimToady: basically, the complex system will get parasites in the Doctorow sense. and the parasites won't want to hug. | ||
TimToady | masak: another thing that helps is ways to split single rooms into multiple rooms with more focused concerns and more localized trolling | ||
17:40
FROGGS left
|
|||
masak | aye. | 17:40 | |
we've had surprisingly little trolling on #masakism. | 17:41 | ||
17:41
FROGGS joined
|
|||
masak | someone came in and said they'd been sent there by some Python people -- that's basically it. :) | 17:41 | |
PerlJam | .oO( somewhere a troll is thinking .oO( challenge accepted ) ) |
||
TimToady | really, the only way to ever have an effective large organization is to really have an organization of small organizations | ||
nwc10 | the problem of (2) might be partly reduced by being (far far more) self-hosting | 17:42 | |
but compilers are still complex beasts to think about, even if the implementation language is familar and powerful | |||
TimToady | well, Apple solves (2) by giving you nothing to say, and nowhere to say it. :) | ||
masak | TimToady: ...which works fine as long as it's not essential that the small organizations interoperate somehow. | ||
17:43
sqirrel left
|
|||
TimToady | masak: depends greatly on whether the interaction is via messaging or via shared storage :) | 17:43 | |
masak | haha | 17:44 | |
diakopter | nwc10: I just meant the topics discussed are weighty and seem momentous | ||
not anyh other kind of scary; I've been in there less than a dayh | |||
TimToady | but really, it is the same problem in disguise, multithreading vs resource contention | ||
masak | TimToady: even if it's via messaging, it may lead to problems. say if the objective is building a monolithic thing, like a compiler. | ||
moritz idly wonders if diakopter's "h"s are silent | 17:45 | ||
17:45
rindolf left
|
|||
masak | TimToady: possible problems are responsibility shirking ("the people on the other side of the interface boundary will fix this, surely!") and the opposite, duplicated work. | 17:45 | |
TimToady | as always, the main problem is to distinguish the actual domain problems from the problems induced by your configuration | 17:47 | |
masak | TimToady: though I believe seeding is really important. cf "Matz is nice so we are nice" | ||
17:47
sqirrel joined
|
|||
TimToady | sure, works for me :) | 17:48 | |
masak | seeding is probably the biggest identified action one can take in advance of the scaling problems. | ||
TimToady | except when it doesn't... | ||
diakopter | perl is undead so we are undead | 17:49 | |
masak .oO( welcome to TimToady's own little "Rakudo-on-Earth"... ) :P | |||
[Coke] | masak: haven't we historically done a horrible job of managing those interface boundaries, even when we knew they were there and probably not working? | 17:50 | |
PerlJam wonder about the non-earth presence of rakudos | |||
masak | PerlJam: all the more reason, then. :) | ||
[Coke]: I don't know what you're thinking of when you say that, but my thoughts immediately go to Rakudo<->Parrot. | 17:51 | ||
[Coke]: in which case, yeah, kinda. despite the best of intentions, kinda. | |||
TimToady | not even Jesus was able to build a happy little utopia of smiling robots, but he did manage to seed something relatively enduring, one is forced to admit | 17:52 | |
[Coke] | masak: that's what I was thinking of, aye. | ||
diakopter | variegating if not enduring | 17:53 | |
dalek | rl6-roast-data: f1145f1 | coke++ | / (5 files): today (automated commit) |
||
timotimo | is there already someone who's providing RPMs of rakudo star releases for fedora? | 17:55 | |
17:59
benabik left
|
|||
diakopter | what's the p5 evalbot? | 18:00 | |
[Coke] has trouble understanding why someone would do that. | |||
p5eval: print "WOT?" #? | |||
diakopter | eval: ; | 18:01 | |
eval ; | |||
18:01
benabik joined
|
|||
diakopter | p5: ; | 18:01 | |
perl: ; | |||
timotimo | [Coke]: that == RPMs for fedora? | ||
18:02
FieldsaBB joined
|
|||
spider-mario | I do that for arch so it’s not impossible that someone does it for fedora. | 18:04 | |
[Coke] | RPMs of star, specifically. | 18:08 | |
18:18
zby_home_ joined
|
|||
dalek | ecs: 98267bb | larry++ | S04-control.pod: the 'will' form excludes CATCH and CONTROL |
18:21 | |
18:22
FieldsaBB left
18:23
FieldsaBB joined
|
|||
TimToady | moritz: is there any way for the 'Look for new lines' button to ungrab the focus after you click it? I like to page forward with spacebar, and if the focus stays on the button, all it does is repush the button | 18:25 | |
or maybe there's some way to trap an attempt to page beyond the end and look for more without an explicit button? | 18:28 | ||
timotimo | many websites do that automatic reloading while scrolling | 18:34 | |
FROGGS | you could have a checkbox, which does a auto-reload when checked | ||
benabik | if ( scrolling_past_bottom() && now() - last_load > threshold ) load_more_lines() | 18:42 | |
TimToady realizes he's violating the maxim: "Do not look a gift horse in the mouth." :) | |||
colomon | gift horses++ | 18:43 | |
masak .oO( do not page a gift horse in the spacebar ) | 18:50 | ||
colomon | giant wooden gift horses-- | ||
geekosaur | they're a bit troying | 18:51 | |
moritz | feature requests are fine, as long as they come in the form of suggestions and demands | ||
arnsholt | Beware Geeks bearing gifts? | ||
moritz | and of course TimToady++ has been kind enough to do it that way | ||
masak | "oh look, the enemy sent us this huge, possibly hollow gift! let's put it in the yard and go to sleep, unsuspecting." | 18:52 | |
moritz | masak: in restrospect, all great ideas are simple :-) | ||
and most attacks work far better if you've never been warned about them | 18:53 | ||
masak | moritz: yes, that's a possible counter. | ||
but it seems to me that even *before* retrospect, the Troyans were carrying the Idiot Ball. | |||
moritz | is the Troyan horse actually a historically established fact? (or "just" legend/prose" | 18:54 | |
masak | when is it *ever* a good idea to accept gifts from your siegers? | ||
moritz | ) | ||
masak | moritz: good question. probably the latter. | ||
moritz: but even works of fiction can be analyzed for idiocy. | |||
s/probably/almost certainly/ | 18:55 | ||
colomon | I'm not sure there's any generally accepted hard evidence for the siege of troy ever happening... | 18:58 | |
en.wikipedia.org/wiki/Trojan_War#Hi...ical_basis | 18:59 | ||
moritz | TimToady: the button now loses focus after the reload happened (you might need to reload with Ctrl+shift+R to actually get the updated JS) | ||
colomon | moritz++ | 19:00 | |
19:01
FieldsaBB left
|
|||
TimToady | \o/ | 19:03 | |
moritz | TimToady: I don't know if that acutally allows you to forward-page with space bar though | 19:04 | |
I just unfocus the button -- no idea where the focus goes :-) | |||
seems to work in firefox though | |||
TimToady | yes, works for me, moritz++ | 19:05 | |
moritz loves jquery for progressive enhancement thingies | |||
masak .oO( did we just make TimToady more unfocused? ) :P | |||
moritz | it seems to have the simplest API that could possibly work, and it works really well | ||
FROGGS | moritz: works on my box (firefox too) | 19:06 | |
moritz | github.com/moritz/ilbot/commit/cda...b1e29bce12 # that's the patch :-) | ||
masak | moritz: after spending over a year with JavaScript and jQuery, I feel that jQuery is what the DOM API should have been if time machines etc. | ||
.blur()++ | 19:07 | ||
19:07
benabik left
|
|||
moritz is all for progressively enhancing time machines | 19:07 | ||
as a means to conquer technical debt :-) | |||
masak | also, jQuery is decidedly JavaScript-aware in its design. | ||
19:07
benabik joined
|
|||
masak | the DOM API just makes well-intentioned but ultimately committee-bumbling and useless motions toward a language-independent ideal of "object orientation". | 19:08 | |
moritz | on a mostly unrelated note, a few small js-based UI improvements to our internally (and heavily used) ticket system have received overwhelmingly positive reactions, whereas most changes receive no feedback at all | 19:16 | |
FROGGS | that is why I spend so much time for UIs, and for most projects I do the UI design first | 19:17 | |
moritz | (the other feature that some people got really excited about was initiating phone calls from the command line. We have a kind of CRM on the command line, and when you're in the context of a person, you can type 'call', and your phone intiates a connection | 19:19 | |
19:20
SamuraiJack left
|
|||
FROGGS | ohh nice | 19:20 | |
moritz | most of my software-hacking was pretty isolated from non-computer hardware, so it was kinda scary for me at first to have the phone ring as soon as you type something in that program) | ||
FROGGS | moritz: what telephone system model do you have there? | 19:21 | |
masak | moritz: when I worked as a webmaster in 2003, I noticed that a web site skin change generated huge acclaim, whereas a much-needed backend long-planned refactor was met by mostly silence. devs and users have different perspectives. :) | ||
FROGGS | because our telephone system is an older siemens hipath, and the pc client is winxp+office 2003 specific | 19:22 | |
moritz | FROGGS: Snom 370 VoIP Phones, connected to a Starface server | ||
FROGGS | moritz: ahh, mkay | ||
masak: the first-day-feedback I usually get is: "the old design was better", even when it wasn't (especially when it was not) | 19:23 | ||
benabik | "The old design is better" usually means "I have a pile of habits to avoid the bad parts of the old design" | 19:24 | |
moritz | FROGGS: not in the price range you were looking for? | ||
FROGGS | like we had a hover-menu on a internal website back in 2006, and when you accidentially move the mouse outside the menu, it collapsed at once | ||
benabik | And people hate changing habits. | ||
moritz | benabik: yes, exactly | ||
FROGGS | was a bit like path finding | 19:25 | |
benabik: true | |||
moritz | FROGGS: we had that too, plus a 2px wide gap. You had to move the mouse fast enough over the gap, otherwise it would collapse the menu :-) | ||
at least I removed the gap. | |||
FROGGS | the menu after that was a click menu, so the menu stayed visible as long as you dont click somewhere else | 19:26 | |
moritz: hehe >.< | |||
dalek | kudo-star-daily: a528ee2 | coke++ | log/ (4 files): today (automated commit) |
||
moritz | my most popular UI fix was to enhance a 100+ entry multi select box with select2 | 19:28 | |
masak | moritz, FROGGS, benabik: did you see bjk5.com/post/44698559168/breaking-...a-dropdown ? | ||
moritz | masak: yes. I was tempted to re-implement that, or import an existing implementation :-) | 19:30 | |
benabik | masak: I was just searching for that. Apple does the same thing on submenus. ISTR a page discussing the difference between typical web, MS, and Apple's submenus. | ||
FROGGS | masak: nice! | ||
benabik | Maybe it wasn't MS. But there was at least one implementation that did a simple "if you move more horizontal than vertical, leave it open". | 19:31 | |
19:31
pecastro left
19:32
_jaldhar joined
|
|||
masak | mhm. | 19:32 | |
"within the blue triangle" seems to be a better heuristic than that. | 19:33 | ||
19:33
mtk left
|
|||
benabik | Especially for large submenus. | 19:33 | |
masak | yeah. | ||
19:33
Celelibi left
|
|||
moritz | I've just tried it on rawgithub.com/kamens/jQuery-menu-a...ample.html | 19:34 | |
it's amazing at how intuitively it works | |||
benabik | When I was looking for it, I found (basically) "hover menus considered harmful". Should be renamed to "badly implemented hover menus are harmful" | 19:35 | |
masak | yeah. | 19:36 | |
FROGGS | when seeing this UI stuff I must always think of the current SAP client... "click on the binocular if you mean next", and if another form you have to click that little truck-icon to get the same functionality>.< | ||
masak | I wonder how often that's the case, of basically blaming a feature or idea for flaws inherent in a bad implementation of it... | ||
[Coke] | FROGGS: "the old design was better" == "you moved my cheese" | ||
we get that all the time here. | |||
FROGGS | [Coke]: I discipline my peeps, so it gets better and better :o) | 19:37 | |
masak | ooh, en.wikipedia.org/wiki/Who_Moved_My_Cheese%3F | 19:38 | |
19:38
Celelibi joined
|
|||
masak | Celelibi: aloha. | 19:38 | |
19:38
prevost joined
|
|||
[Coke] | masak: yes, I'm pretty sure that's the origin. | 19:39 | |
benabik | Hadn't heard that one before. Love it. | ||
TimToady | there's a bit of Hem and Haw in the pre-mug viewpoint that P5's supply of mindshare couldn't possibly be going down, some "surely this will last forever" thinking... | 19:41 | |
colomon remembers Jennifer complaining bitterly that the local Methodist preacher thought Who Moved My Cheese was an appropriate topic for a sermon. | |||
lizmat is back | 19:42 | ||
masak | "They Keep Moving The Cheese" -- this is awesome! :) | ||
lizmat | arnsholt: the only "is rw" trait I removed, was from Variable, not from Attributes or Parameters or Routine | ||
ah, you saw it already :-) | 19:43 | ||
masak | the "Criticism" section of that article is interesting, too. | 19:44 | |
maybe every useful management technique has an equal and opposite misuse :) | |||
TimToady | yup | ||
You Can Throw Cheese As A Weapon! | 19:45 | ||
if you're really good, you can throw the lack of cheese as a weapon... | |||
moritz | Anticheese! | ||
colomon should just publish a book called "No One Moved It. I Ate Your Cheese. Could You Please Go Buy More? I'm Hungry" | |||
benabik | 1 page: no really, I'm starving, go to the store | 19:46 | |
TimToady | Learn How To Make Cheese, Duh! | ||
19:46
mtk joined
|
|||
moritz | and a special edition for the US, "The War on Chesse Movers" | 19:46 | |
colomon really did finish off a block of cheese just twenty minutes ago | |||
arnsholt | lizmat: Yeah, I officially have no idea what's going on =) | 19:47 | |
colomon | benabik++ | 19:48 | |
masak | "Sometimes We Move Your Cheese Just To Mess With You." | 19:50 | |
colomon | "In Soviet Russia, The Cheese Moves You" | 19:51 | |
masak | 'night, #perl6 | 19:55 | |
FROGGS | Cha' masak! | 19:56 | |
19:56
zby_home_ left
|
|||
dalek | kudo/nom: 54c9984 | (Elizabeth Mattijsen)++ | src/core/Variable.pm: Remove support for "will catch" and "will control", as per recent spec |
19:56 | |
moritz | good UGT night, masak | ||
19:58
kaare_ left
19:59
ecocode joined
|
|||
colomon | Joking about cheese aside, I am currently lamenting Google replacing the beautifully functional Android Navigation app interface with some slick-looking thing which is an order of magnitude harder to use. | 20:03 | |
20:06
sqirrel left
|
|||
colomon | Update: and the app no longer seems to actually work; it just spins its wheels without ever returning a result. | 20:11 | |
FROGGS | well, I can do that too fwiw | 20:13 | |
colomon | me too | ||
sometimes feel like I'm making a career out of that, actaully | 20:14 | ||
huh. now who changed that #define? | 20:15 | ||
colomon finally got working navigation by firing it up in Google Maps. | 20:16 | ||
20:22
konundra left,
vmspb joined
|
|||
spider-mario | they’ve also made it mandatory to have a G+ account to comment on apps in the Play Store… | 20:23 | |
it even prevents me from editting a comment I had already written before the change | |||
:/ | |||
moritz | require a not-so-anonymous login is not a bad idea in general, because it reduced trolling significantly | 20:27 | |
geekosaur | afaict they're just unifying everything into a single Google Account | 20:29 | |
and I can see the point of that from their side | |||
dalek | : 02c6984 | (Tobias Leich)++ | p5: add "use v5;", since what it is about |
20:32 | |
: 37facef | (Tobias Leich)++ | / (4 files): try to catch up with rakudo Applied github.com/rakudo/rakudo/commit/11b5dae and started to follow the Buf refactor. Atm we loose 255 passing tests. |
|||
20:41
FieldsaBB joined
|
|||
benabik | On the note of LLVM JIT: blog.llvm.org/2013/07/kaleidoscope-...mcjit.html | 20:43 | |
20:43
FieldsaBB left
20:49
abnorman left
|
|||
Tene | The "name-shaped names" or "common names" or whatever they're calling it these days is... unfortunate and misguided. | 20:49 | |
20:54
abnorman joined,
BenGoldberg left
20:55
benabik left
20:59
benabik joined
21:05
benabik left
21:06
skids left
21:09
cognominal joined
21:19
rom1504 left
21:20
masak left,
rom1504 joined,
[Coke] joined,
masak joined
|
|||
timotimo | Tene: what is the "name-shaped names" thing you're talking about? | 21:21 | |
oh, google (and probably also apple) | |||
Tene | timotimo: G+ | 21:22 | |
21:29
spider-mario left,
aindilis left
21:30
bruges joined
21:41
Pleiades` left
21:42
PacoAir left
|
|||
dalek | : 782c00b | (Tobias Leich)++ | / (2 files): fix unpack signatures (utf8 => Blob) We are still 47 tests behind. |
21:43 | |
kudo/nom: 708051d | (Elizabeth Mattijsen)++ | src/ (2 files): We don't need to expose $*W in Perl6 space, it is already exposed! Now, it would be great if we could do this with $/ as well. It would allow easy improvement of all compile time errors found in Perl6 space. |
21:44 | ||
lizmat | .tell moritz 50% of the $*W & $/ problem solved | 21:45 | |
yoleaux | lizmat: I'll pass your message to moritz. | ||
preflex | yoleaux: you have 1 new message. '/msg preflex messages' to read it. | ||
[Coke] | who owns preflex? | ||
21:46
prevost left
21:48
Pleiades` joined
|
|||
lizmat | gnight #perl6! | 21:49 | |
21:49
dmol left
|
|||
FROGGS | gnight lizmat | 21:49 | |
21:58
FROGGS left
22:01
FROGGS joined
|
|||
Tene | preflex: preflex | 22:01 | |
preflex: owner | 22:02 | ||
timotimo | i couldn't compile nqp.jvm because i had an openjdk 1.7 and jre 1.8 | 22:06 | |
er, other way around | |||
22:06
rafl left,
rafl joined
|
|||
diakopter | timotimo: heh. | 22:09 | |
timotimo | also, the output of -showversion is incompatible with the ConfigureJVM.pl script. i'll upload a patch soon | 22:10 | |
22:21
bluescreen10 left,
ecocode left
22:23
FROGGS left
22:30
benabik joined
22:32
abnorman left,
abnorman joined,
skids joined
22:36
FROGGS joined
22:37
colomon left
22:38
FROGGS left
22:42
pupoque_ left
22:46
colomon joined
22:48
zwut00 joined
22:53
zwut00 left
22:55
gfldex left
22:59
pmurias left
23:11
mstwu00 joined
23:16
btyler left
23:19
btyler joined
23:31
BenGoldberg joined
23:36
BenGoldberg left
23:43
fridim_ joined
23:48
mstwu00 left
23:58
Tene joined,
djanatyn joined
|