»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:05
alester left
|
|||
sorear | I'm not going to get mad at you but I am rolling my eyes | 00:05 | |
at least it's not hate rhetoric like someone else tried to introduce here the other day | |||
00:06
colomon joined
|
|||
sorear | when you start calling for violence against evolution supporters, *then* I'll get mad at you | 00:06 | |
o/ colomon | 00:07 | ||
timotimo | huh? i totally missed that | ||
colomon | \o | ||
timotimo | the hate rhetoric? how would anyone think #perl6 would be a good place to hate on evolution? | ||
dalek | ecza: 8609d73 | sorear++ | src/ (2 files): Refactor to get variable validation and interpretation a bit closer together |
00:31 | |
ecza: 58f8f28 | sorear++ | src/ (2 files): Ensure that interpretation of variables always precedes validation |
|||
00:33
Trashlord joined
00:34
colomon left
00:35
localhost left
00:36
BruceZu left
00:37
localhost joined
00:46
wjl joined
00:47
wjl1 joined,
wjl left
00:56
wjl1 left,
wjl joined
01:03
wjl left
01:10
scott____ joined
01:26
tokuhiro_ joined
01:27
lichtkind left
01:42
PacoAir left
01:45
liuchong joined
|
|||
liuchong | i love perl6 | 01:46 | |
01:52
lichtkind joined
01:53
lichtkind left
02:06
vlixes joined
02:07
wolfman2000 joined
02:14
jaldhar joined
02:21
colomon joined
02:47
whiteknight left
02:49
jferrero left
|
|||
sorear | liuchong: cool | 02:53 | |
02:57
fgomez left
03:02
REPLeffect left
03:06
orafu left
03:07
fgomez joined
03:08
orafu joined
03:15
REPLeffect joined
03:21
jaldhar left
03:41
jaldhar joined
03:45
scott____ left,
scott__ joined
03:53
tyatpi left
04:01
Chillance left
04:08
scott__ left,
scott__ joined
04:19
hugme left
04:20
dalek left,
dalek joined,
ChanServ sets mode: +v dalek,
Trashlord left
04:21
PerlJam left,
Juerd left,
Juerd joined,
Util left,
PerlJam joined,
Util joined
04:25
hugme joined,
ChanServ sets mode: +v hugme
04:26
Trashlord joined
04:33
Khisanth left
04:50
Khisanth joined
04:55
alester joined
05:13
PerlJam left
05:14
dalek left,
Juerd left,
hugme left
05:15
pmichaud left,
[Coke] left,
masak left,
tadzik left
05:16
Util left,
pmichaud joined,
[Coke] joined,
dalek joined,
ChanServ sets mode: +v dalek,
PerlJam joined,
Juerd joined,
hugme joined,
Util joined,
ChanServ sets mode: +v hugme
05:17
tadzik joined,
masak joined
05:20
colomon left
05:25
kaare_ joined
05:33
birdwindupbird joined
|
|||
moritz | \o | 06:04 | |
sorear | o/ moritz | 06:05 | |
I see feather is having issues today | |||
06:05
mucker joined
06:06
alester left
06:08
kaare_ left
06:24
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | ast: d36d5ce | moritz++ | S11-modules/nested.t: rakudo unfudges |
06:25 | |
kudo/nom: 88d2953 | moritz++ | src/ (4 files): change "defined" from prefix to listop both std and niecza agree that listop is correct here. |
06:26 | ||
kudo/nom: 8d4f0c4 | moritz++ | docs/ChangeLog: update ChangeLog |
06:28 | ||
06:41
birdwindupbird left
|
|||
dalek | ecza: c4c5d53 | sorear++ | lib/CodeGen.cs: When a variable lookup fails at translation time, postpone it to CHECK time or runtime |
07:00 | |
07:09
pomysl joined,
pomysl_ left,
pomysl left,
pomysl joined
07:17
hugme left,
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
07:18
tadzik left
07:19
tadzik joined
07:20
mucker left
|
|||
Juerd | 08:05 #perl6: < sorear> I see feather is having issues today | 07:24 | |
sorear: It's just the network connection... Still incredibly annoying though. | |||
sorear | sorry, I meant it in a general sense | 07:25 | |
hi Juerd. | |||
I don't know if you heard but p6eval and dalek are both on feather3 now. | |||
07:26
daxim joined
|
|||
Juerd | That's great | 07:26 | |
dalek | ecza: de5d06e | sorear++ | src/NieczaActions.pm6: Add parsing for "use strict" / "no strict" |
||
ecza: fa9e067 | sorear++ | src/ (2 files): mergeback |
|||
07:31
araujo left
|
|||
dalek | ast: eff0660 | moritz++ | S32-scalar/defined.t: test that defined() is a listop, RT #76448 |
07:33 | |
moritz | rakudo: say [+](1,2,3) / 2 | 07:34 | |
p6eval | rakudo 8d4f0c: OUTPUT«3» | ||
dalek | ast: 1f21858 | moritz++ | S03-metaops/reduce.t: more tests for [+] as listop |
07:37 | |
07:38
hugme joined
07:39
ChanServ sets mode: +v hugme
|
|||
moritz | rakudo: $_ .= () | 07:39 | |
p6eval | rakudo 8d4f0c: OUTPUT«===SORRY!===Method 'isa' not found for invocant of class 'Undef'» | ||
moritz | ouch | ||
rakudo: say :16<10> | 07:40 | ||
p6eval | rakudo 8d4f0c: OUTPUT«16» | ||
moritz | rakudo: say :16<10>.WHAT | ||
p6eval | rakudo 8d4f0c: OUTPUT«Int()» | ||
07:41
xinming left
07:42
xinming joined
07:52
mj41 joined
|
|||
moritz | rakudo: say (j=>10,q=>10,k=>10).perl; | 07:52 | |
p6eval | rakudo 8d4f0c: OUTPUT«("j" => 10, Bool::False)» | ||
07:54
skids joined
|
|||
moritz | nom: try die foo; say $!.backtrace | 07:57 | |
p6eval | rakudo 8d4f0c: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&foo' called (line 1)» | ||
07:57
mj41 left
|
|||
moritz | nom: try die "foo"; say $!.backtrace | 07:57 | |
p6eval | rakudo 8d4f0c: OUTPUT« in block <anon> at /tmp/kKcZ5LmVvT:1» | ||
moritz | nom: try die "foo"; say $!.backtrace.WHAT | 07:58 | |
p6eval | rakudo 8d4f0c: OUTPUT«Backtrace()» | ||
dalek | ast: ca3a210 | moritz++ | S32-exceptions/misc.t: $!.backtrace generates a Backtrace |
08:01 | |
moritz | rakudo: say ((0 => 1) => 2 => 3 => 4).perl | 08:06 | |
p6eval | rakudo 8d4f0c: OUTPUT«0 => 1 => 2 => 3 => 4» | ||
moritz | p6: Foo::bar(); module Foo { our sub bar() { say "ok" } } | 08:08 | |
p6eval | pugs, rakudo 8d4f0c, niecza v16-12-gc4c5d53: OUTPUT«ok» | ||
08:11
mj41 joined
|
|||
dalek | ecza: 366c11d | sorear++ | src/NieczaActions.pm6: Under "no strict", variables need not be declared |
08:14 | |
ecza: f437b48 | sorear++ | src/NieczaGrammar.pm6: Default strict to off in -e and REPL |
|||
sorear | bleh... I'd hoped to get a bit more done today | ||
sorear wanders off to sleep | |||
moritz | rakudo: [+] | 08:15 | |
p6eval | rakudo 8d4f0c: ( no output ) | ||
sorear | moritz: should p6eval use "no strict"? | 08:16 | |
moritz | sorear: I'd say no | ||
sorear | zzz& | 08:17 | |
08:17
Util left,
[Coke] left,
dalek left
08:18
dalek joined,
ChanServ sets mode: +v dalek,
Util joined
08:19
[Coke] joined,
Vlavv_ joined,
Vlavv` left,
fsergot joined
|
|||
fsergot | o/ #perl6 | 08:20 | |
08:20
Juerd left,
Juerd joined
|
|||
dalek | ast: d0e7707 | moritz++ | S03-metaops/reduce.t: RT #80332, argumentless [+] |
08:22 | |
08:22
vlixes left
08:47
NamelessTee joined
|
|||
arnsholt | Oooh, looks like MacPorts is now does binary packages by default instead of source | 08:54 | |
That'll cut down on time for a lot of things | 08:55 | ||
08:55
GlitchMr joined
|
|||
moritz | did it seriously recompile {open,libre}office when installing it? :-) | 09:05 | |
arnsholt | Didn't try those, but it really did compile qt and boost and such | 09:06 | |
More annoyingly, it seemed to insist on recompiling those _every time_ I checked for upgrades | 09:07 | ||
.u # | |||
phenny | U+0023 NUMBER SIGN (#) | ||
moritz | woah | 09:08 | |
arnsholt | Which is why I haven't upgraded in ages | ||
Yeah =) | |||
But now I had some problems with Rakudo/Parrot, possibly related to ICU which I've installed via MacPorts | 09:09 | ||
So I pretty much had to try to upgrade | |||
09:34
dalek left
09:35
dalek joined,
ChanServ sets mode: +v dalek,
birdwindupbird joined
09:36
masak left,
masak joined
|
|||
masak | g'day, #perl6 | 09:36 | |
moritz | \o masak | 09:37 | |
09:40
jferrero joined
|
|||
fsergot | o/ masak | 09:42 | |
masak | liuchong: welcome. we're pretty happy about Perl 6 as well ;) | ||
10:05
cirne100 left
10:06
fgomez left
10:12
liuchong left
10:22
scott__ left
10:29
whiteknight joined
10:32
mj41 left
10:37
spider-mario joined
10:46
dalek left,
hugme left,
dalek joined,
ChanServ sets mode: +v dalek
10:47
[Coke] left,
[Coke] joined
|
|||
masak | r: say so all("The quick brown fox jumps over the lazy dog".lc.comb.grep(/\w/)) eq any('a'..'z') | 10:51 | |
p6eval | rakudo 8d4f0c: OUTPUT«True» | ||
masak | n: say so all("The quick brown fox jumps over the lazy dog".lc.comb.grep(/\w/)) eq any('a'..'z') | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«True» | ||
masak | \o/ | ||
n: say so all("The quick brown cat jumps over the lazy dog".lc.comb.grep(/\w/)) eq any('a'..'z') | 10:52 | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«True» | ||
masak | hm, right. | ||
n: say so "The quick brown cat jumps over the lazy dog".lc.comb.grep(/\w/).sort.uniq.join eq ('a'..'z').join | |||
p6eval | niecza v16-16-gf437b48: OUTPUT«False» | ||
masak | n: say so "The quick brown fox jumps over the lazy dog".lc.comb.grep(/\w/).sort.uniq.join eq ('a'..'z').join | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«True» | ||
masak | \o/ | ||
n: sub is-pangram { $^s.lc.comb.grep(/\w/).sort.uniq.join eq ('a'..'z').join }; say "The quick brown fox jumps over the lazy dog".&is-pangram | 10:53 | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«True» | ||
daxim | hello from paris/qa hackathon! | 10:55 | |
moritz | \o | 10:56 | |
11:01
mj41 joined
11:07
hugme joined,
ChanServ sets mode: +v hugme
11:10
fsergot left
11:14
mj41 left
11:19
mucker joined
11:20
lestrrat left
11:21
lestrrat joined
11:25
fsergot joined
11:46
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
11:47
Util left,
Util joined
|
|||
masak | daxim: hello, paris/qa hackathon! | 12:13 | |
spider-mario | some event in Paris? | 12:26 | |
about Perl 6?! | |||
(among others) | |||
or just something fun? | |||
something interesting? | 12:27 | ||
moritz | perl 5 | 12:30 | |
Quality Assurance Hackathon, afaict | 12:31 | ||
masak | to lichtkind, about DNA as a reliable information carrier: gist.github.com/2263455 | 12:32 | |
12:34
simcop2387 left
12:36
simcop2387 joined
12:39
shinobicl joined
12:49
shinobicl left
12:52
d4l3k_ joined
12:53
dalek left,
d4l3k_ is now known as dalek
13:04
PacoAir joined
13:18
leprevost joined
13:39
icwiener joined
13:40
lichtkind joined
13:42
mj41 joined
13:48
hugme left,
dalek left
13:49
dalek joined,
ChanServ sets mode: +v dalek
13:50
pmichaud left,
pmichaud joined
13:53
hugme joined,
NamelessTee left,
ChanServ sets mode: +v hugme
|
|||
lichtkind | timotimo: hauptsache fühlst dich nicht unwohl :) | 13:59 | |
masak | oh, I hadn't realized timotimo is a German-speaker, too. | 14:08 | |
14:09
colomon joined
|
|||
timotimo | i hid my identity well ... until now! | 14:21 | |
masak | don't worry, we won't tell. | 14:24 | |
timotimo | here's hoping the google spider won't spider the irclogs, else searching for my nickname and "speaker" should result in that line popping up ;) | 14:26 | |
lichtkind | rakudo doesnt do grab | 14:28 | |
spider-mario | I believe google does index the logs | 14:34 | |
14:35
araujo joined,
araujo left,
araujo joined
|
|||
moritz | it does, yes | 14:39 | |
lichtkind | sorry | 14:40 | |
but back to my problem there is a test and i thought it was fullfilled by rakudo | |||
moritz | which test? | 14:53 | |
14:53
NamelessTee joined
14:55
NamelessTee left,
NamelessTee joined
14:58
d4l3k_ joined,
pmichaud left,
dalek left,
pmichaud joined,
PerlJam left
14:59
d4l3k_ is now known as dalek,
PerlJam joined
|
|||
lichtkind | github.com/perl6/roast/blob/master...#L134-L170 | 15:28 | |
15:37
icwiener left
|
|||
moritz | rakudo doesn't run that test file | 15:41 | |
in fact, rakudo doesn't even implement KeyHash (it just stubs in the type object) | |||
15:43
tokuhiro_ left,
tokuhiro_ joined
15:48
tokuhiro_ left
15:50
Patterner left
15:52
Psyche^ joined,
Psyche^ is now known as Patterner
15:56
sisar joined
15:58
havenn joined
|
|||
lichtkind | ah thankt | 16:00 | |
arnsholt | Anyone else on OS X have problems compiling Rakudo? | 16:09 | |
16:10
dalek left
16:11
hugme left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
sorear | good * #perl6 | 16:15 | |
masak | sorear! \o/ | 16:17 | |
16:18
GlitchMr42 joined
16:20
GlitchMr left
|
|||
masak | p6: say "The big dwarf only jumps".lc.comb.grep(/\w/).Bag | 16:31 | |
p6eval | niecza v16-16-gf437b48: OUTPUT«Unhandled exception: Unable to resolve method Bag in class List at /tmp/6CDA25C9xA line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3839 (module-CORE @ 65)  at /home/p… | ||
..pugs: OUTPUT«*** Cannot cast from VList [VRule (MkRulePGE {rxRule = "\\w", rxGlobal = False, rxStringify = False, rxAdverbs = VUndef})] to VCode (VCode) at /tmp/xg7MsiSoCX line 1, column 5 - line 2, column 1» | |||
..rakudo 8d4f0c: OUTPUT«Method 'Bag' not found for invocant of class 'List' in block <anon> at /tmp/CjP6tNGswp:1» | |||
16:31
hugme joined,
ChanServ sets mode: +v hugme
|
|||
masak | aww -- what's the use of having Bags if we can't create histograms from Lists? :P | 16:31 | |
Teratogen | yeah, what masak said! | 16:32 | |
masak | p6: use MONKEY_TYPING; augment class List { method Bag { Bag.new(self) } }; say so all("The big dwarf only jumps".lc.comb.grep(/\w/).Bag.values) == 1 | ||
p6eval | rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«True» | ||
..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/ox_6t73xfp line 1, column 1» | |||
masak | fortunately, monkey typing comes to the rescue ;) | 16:33 | |
Teratogen | can I say old Bag; | ||
in perl 6? | |||
masak | p6: use MONKEY_TYPING; augment class List { method Bag { Bag.new(self) } }; say so all("The jig dwarf only jumps".lc.comb.grep(/\w/).Bag.values) == 1 | ||
p6eval | rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«False» | ||
..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/hVLKR95eVi line 1, column 1» | |||
masak | Teratogen: 'old' isn't a keyword. was it a joke of some sort? :) | ||
Teratogen | yes | 16:34 | |
an old bag is an old grumpy woman | |||
masak | a ha ha | ||
save your jokes for tomorrow :P | |||
Teratogen | err, a grumpy old woman | ||
masak spends some time thinking about the distinction between those two | |||
16:34
bruges joined
16:35
Chillance joined,
y3llow left,
bruges_ left
16:36
y3llow joined
|
|||
masak | p6: use MONKEY_TYPING; augment class List { method Bag { Bag.new(self) } }; say so all(q["Fix, Schwyz!", quäkt Jürgen blöd vom Paß.].lc.comb.grep(/\w/).Bag.values) == 1 | 16:37 | |
p6eval | pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/g5bD1Ddaeu line 1, column 1» | ||
..rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«True» | |||
16:40
havenn left,
daxim left
|
|||
sisar | does sorear blog on perl6 ? | 16:40 | |
s/on/about | 16:41 | ||
moritz | if you count release announcements... :-) | ||
masak was just gonna say :P | |||
sisar: I would *love* to read sorear blog posts expounding on Perl 6. but not everyone decides to blog. and that's OK -- people are different. | 16:42 | ||
moritz spent much of the day watching table tennis world championship at ittf.com/ittv/ | |||
masak | tennis -- that's the one with the low net, right? and rackets? | ||
moritz | table tennis -- even lower nets :-) | 16:43 | |
(next semifinal in 17 minutes) | |||
masak | oh! | ||
sisar | masak: no problem | ||
was just compiling a list of perl6 blogs | |||
16:43
GlitchMr42 is now known as GlitchMr
|
|||
masak | as children, we were never allowed to play on the table. | 16:43 | |
moritz | sisar: planetsix.perl.org pretty much has that list | ||
16:44
whiteknight left
|
|||
sisar looks | 16:44 | ||
moritz | sisar: not all of those blogs are active, but pretty much all active Perl 6 blogs are on that list | ||
16:49
fsergot left
|
|||
masak | moritz: the question of implicit type conversion methods came up the other day. .Bag above would be such an example. I'm torn on the issue. | 16:50 | |
problem is, it'd be really *nice* to arrive at a solution where the target type (like Bag) got a say in how one could convert to it. | |||
for various reasons. one reason being that you could collect all conversion methods in the same place. | 16:51 | ||
but the argument against is easy to make: it breaks method dispatch, and we kinda prefer not to break method dispatch. | |||
16:54
kaare_ joined
|
|||
moritz | masak: that's why we have Bag(something) coercion syntax, no? | 16:57 | |
masak: for that, Bag can decide what to do | |||
masak | right. | ||
but... | |||
sometimes it makes a lot of sense to write it as .Bag | |||
moritz | but you want your cake *and* eat it | ||
masak | yes. | 16:58 | |
this is Perl 6, after all. | |||
if we preferred compromises, we'd all have said "screw it, Perl 5 is good enough" long ago. | |||
hm... I guess the equivalence between something.Bag and Bag(something) is a remnant of the (very old) equivalence between methods and subs. | 16:59 | ||
moritz | there is no such equivalence, except by convention | 17:00 | |
masak | there once was, that was my point. | ||
long ago. | |||
whether or not it is, I think my example above shows why .Bag is sometimes a good idea. namely, when you have a chain of method calls. | |||
TimToady | Mu could decide to delegate to Bag() as a default, but maybe only if it's known to be a type at the point of the call | 17:01 | |
moritz | this "at the point of the call" scares me | ||
becaues it implies that lexical scopes and method calls aren't decoupled anymore | 17:02 | ||
masak | me too -- but let's be corageous and follow the thought to its conclusion. | ||
well, method calls occur in a lexical scope ;) | |||
TimToady | well, the other way is to say that we *know* that Bag is a type, and you have to write .'Bag' to get the other behavior | ||
masak | I'm not immediately against that variant. | ||
because upper-cased methods aren't that common anyway. | 17:03 | ||
TimToady | it tends to work against the culture of uppercase method names | ||
masak | and maybe just compile-time error if the type doesn't exist. | ||
TimToady | not sure I want to enforce lc names to that extent | 17:04 | |
masak | but we also implicitly suggest that people start their type names with upper case. we haven't done that before... right. | ||
except in error messages, to get nicer errors. | |||
.to(Bag) | 17:05 | ||
...just thinking out loud :) | |||
TimToady | .&Bag | 17:06 | |
masak | oh, that works? | ||
TimToady | no | ||
masak | dang. | 17:07 | |
TimToady | at least, not in rakudo | ||
masak | no, it wouldn't, because Bag isn't a function. it's a type object. | ||
TimToady | doesn't install Bag as &Bag | ||
std does though | |||
moritz | does the spec say it should? | ||
masak | do we think it's a good idea? :) | ||
17:07
erkan joined
|
|||
TimToady | .&Bag is not terribly readable to neophytes | 17:08 | |
masak | would it mean that `Bag List` suddenly weren't TTIAR? | ||
TimToady | no | ||
it's just a way of naming the .() entry point | 17:09 | ||
but my druthers is just for .Bag to magically do what I want | 17:10 | ||
masak | mine too. | ||
but not at the expense of sane method dispatch. | 17:11 | ||
TimToady | well, our whole junctional dispatch depends on method dispatch failure; why not this? | ||
(only suggesting this for known types, not general failover) | 17:12 | ||
could even just compile .Bag into .?'Bag' // Bag(), and leave Mu out of it | 17:14 | ||
but the Mu solution feels a bit cleaner to me, if it can know that Bag was a known type | |||
17:15
PerlJam left,
dalek left,
[Coke] left,
hugme left
|
|||
TimToady | perl6: say ~Bag | 17:15 | |
p6eval | rakudo 8d4f0c: OUTPUT«use of uninitialized value of type Bag in string context» | 17:16 | |
..pugs: OUTPUT«*** No such subroutine: "&Bag" at /tmp/l8ck9HyoRa line 1, column 5 - line 2, column 1» | |||
..niecza v16-16-gf437b48: OUTPUT«Unhandled exception: Parameter '' in 'Bag.Str' requires a defined argument at /home/p6eval/niecza/lib/CORE.setting line 0 (Bag.Str @ 1)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/q5NqDe5KRr line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/COR… | |||
17:16
Util left,
Juerd left,
pmichaud left,
tadzik left,
dalek joined,
ChanServ sets mode: +v dalek,
havenn joined,
masak left
17:17
masak joined,
[Coke] joined,
PerlJam joined,
pmichaud joined
|
|||
TimToady | depending on how the type object stringifies in the dispatcher, you could just pass it instead of a method name, and the dispatcher could failover, or let Mu do it | 17:17 | |
17:17
Juerd joined
17:18
tadzik joined
|
|||
masak | what's the core question here? "would we prefer not have to define List.Bag?"? is that a reasonable request? why? | 17:18 | |
one could imagine that for most pairs (T => S) of types, S will have no idea how to convert from T to itself. | 17:19 | ||
TimToady | you may not have control over either of the types involved | ||
masak | that doesn't make the unreasonable combinations any more reasonable :) | ||
TimToady | additional multis are a bit more sane than monkey typing | ||
masak | and the conversion code has to reside somewhere. | ||
TimToady | it's also possible that a base class will allow a substandard method to be inherited when it should be a submethod | 17:21 | |
17:21
Util joined
|
|||
TimToady | you'll like to overrule that, maybe, when you have a known derived class | 17:21 | |
don't think failover gets that right, though | |||
sorear | good * #perl6 | 17:22 | |
masak ! | |||
masak | good *, sorear. | ||
17:22
hugme joined,
ChanServ sets mode: +v hugme
|
|||
masak | TimToady: I've managed to confuse myself now. I can't distinguish the alternatives in this issue, nor the forces involved. :/ | 17:22 | |
TimToady | in fact, I suspect methods-that-should-be-submethods is a pervasive problem that will bite us hard | 17:23 | |
sorear | What's the main issue today? | 17:24 | |
TimToady | what does .Bag mean? | ||
sorear | p6: no strict; $x = 5; say $x * 2 | ||
p6eval | rakudo 8d4f0c: OUTPUT«===SORRY!===Variable $x is not declaredat /tmp/uc2zfuQVdM:1» | ||
..niecza v16-16-gf437b48: OUTPUT«10» | |||
..pugs: OUTPUT«***  Unexpected " =" expecting "::" Variable "$x" requires predeclaration or explicit package name at /tmp/ypOukIGo7A line 1, column 14» | |||
sorear | [Coke]: do you happen to know offhand which synopsis niecza is most behind on? | 17:25 | |
TimToady has to go do non-computer stuff, but will let this simmer in my backbrane | |||
17:25
birdwindupbird left
|
|||
sorear | people using "my" in ACTIONs always amuses me. | 17:26 | |
masak | it annoys me about epsilon :) | ||
the /me construct, despite the name, is a third-person construct! :P | 17:27 | ||
whoa, niecza has 'no strict'? | |||
sorear | as of last night | ||
masak | n: no strict; say %h.elems | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«0» | ||
masak | n: no strict; say %h.elems; my %h | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«Potential difficulties: %h is declared but not used at /tmp/GUJ2_0XeXc line 1:------> no strict; say %h.elems; my ⏏%h0» | ||
sorear | I was using the repl and I was getting annoyed by having to my all the time | ||
masak | sorear++ | 17:28 | |
n: no strict; %h<foo> = 42; my %h; say %h.elems | |||
p6eval | niecza v16-16-gf437b48: OUTPUT«1» | ||
masak | n: no strict; %h<foo> = 42; { my %h; say %h.elems }; say %h.elems | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«01» | ||
masak | \o/ | ||
TimToady | n: no strict: %h<foo> = 42; { our %h; say %h.elems }; say %h.elems | 17:29 | |
sorear | I'm not very certain the postdeclaration behavior is correct, btw | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting line 1226 (warn @ 3)  at /home/p6eval/niecza/boot/lib/CORE.setting line 234 (Mu.Str @ 10)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/src/S… | ||
TimToady | well, it's inconsistent with p5, which just pokes it into the package | ||
sorear | TimToady: s/:/;/ | 17:30 | |
TimToady | n: no strict; %h<foo> = 42; { our %h; say %h.elems }; say %h.elems | ||
p6eval | niecza v16-16-gf437b48: OUTPUT«11» | ||
TimToady | nm | ||
bbl & | 17:31 | ||
masak | sorear: I'm ok with the postdeclaration behavior. | 17:32 | |
...fwiw. :) | |||
17:33
GlitchMr42 joined
17:34
omgub left
17:35
simcop2387 left,
simcop2387 joined,
eternaleye left
17:36
GlitchMr left
17:40
icwiener joined
17:45
s1n left
17:50
havenn left
|
|||
sorear | masak: what cool feature would you like to see next? | 17:55 | |
moritz wants 'handles' | 17:57 | ||
17:57
whiteknight joined
|
|||
moritz | and introspection | 17:57 | |
oh, and macros :-) | |||
17:59
s1n joined
|
|||
masak | what moritz said. but 'handles' is the more important out of those three. | 18:03 | |
anything out of the sludgly parts of S09 would be fun to play with, and might give Niecza an advantage in the syntactic sugar department. | |||
sludgy* | |||
Teratogen likes the elegance and simplicity of the C macro preprocessor | 18:04 | ||
and wishes it would have been included in the Perl 6 specification | |||
moritz | Teratogen: we know that. You say that every time somebody mentions macros | ||
there's no point. It won't. | 18:05 | ||
benabik | Teratogen: The C preprocessor is available on most Linux systems as /usr/bin/cpp. Feel free to run it on your code before giving it to the perl6 interpreter. | ||
Teratogen | OK! | 18:06 | |
=D | |||
what about Windows? | |||
18:06
s1n left
|
|||
benabik | I imagine that mingw and cygwin provide it as well. Visual Studio might, but I've never looked for it. | 18:07 | |
masak | Teratogen: the C preprocessor is available on Windows as well. | ||
Teratogen | ok ok I will stop mentioning it | ||
Perl 6' | 18:08 | ||
s macros are more powerful blah blah blah | |||
=) | |||
masak | and I agree about "simplicity" but not about "elegance". :) | ||
in many ways, textual macros are spectacularly ill-suited for transforming code. | |||
I think 'is parsed' macros, to the extent they are textual macros, will be bad in this way. | 18:09 | ||
(they are less bad, mind, because you still have regexes and grammars to help you parse stuff in those macros. but they still operate on the source code as text, rather than as AST) | |||
sorear | the big problem with the C preprocessor is that it's a C preprocessor | 18:12 | |
if you wanted to use m4 macros in your Perl 6 code, I wouldn't mind :) | 18:13 | ||
my goal for today will be 'handles'. | |||
18:18
dalek left
18:19
dalek joined,
ChanServ sets mode: +v dalek
18:28
awwaiid left
18:34
GlitchMr42 is now known as GlitchMr
18:35
snearch joined
18:41
localhost left
|
|||
arnsholt | Teratogen: Perhaps a dead horse, but have you used Lisp macros? | 18:46 | |
18:47
havenn joined
|
|||
Teratogen | nope, never had the pleasure, arnsholt | 18:47 | |
but I understand Perl macros are going to be kind of more like Lisp macros than C Preprocessor macros? | |||
18:48
icwiener left,
icwiener joined
18:49
cognominal_ joined
|
|||
arnsholt | Yeah, the Perl 6 macros are definitely in the vein of Lisp's macros | 18:50 | |
But do try Lisp macros. It's a whole different beast to the C preprocessor | |||
[Coke] | sorear: I do not know off hand what synopsis niecza is most behind on. I'll find out. | 18:51 | |
18:52
cognominal left
|
|||
sorear | [Coke]: I already have my project for today | 18:53 | |
18:56
cognominal___ joined
|
|||
sorear | p6: (a => 5).say | 18:56 | |
p6eval | pugs: OUTPUT«a 5» | ||
..rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«"a" => 5» | |||
18:59
cognominal_ left
19:01
localhost joined
19:02
cognominal_ joined,
birdwindupbird joined
|
|||
cbk1090 | can someone please explain what a macros are good for? And prehaps provide a simple perl6 macro. | 19:02 | |
19:03
xinming left
19:06
cognominal___ left,
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | ast: 8f30adf | sorear++ | S16-io/bare-say.t: [S16-io/bare-say] Update pair printing test for new syntax |
19:08 | |
ast: f9fdd4d | sorear++ | / (4 files): Misc niecza unfudges |
|||
TimToady | cbk1090: see strangelyconsistent.org/blog/macros...hey-really | 19:15 | |
19:19
havenn left
|
|||
[Coke] | sorear: docs.google.com/spreadsheet/ccc?ke...URFM1A0cHc | 19:38 | |
sorear | thanks | 19:39 | |
19:40
cognominal_ left,
cognominal_ joined
|
|||
lichtkind | @?CLASS are parent classes ? | 19:41 | |
sorear | There is no @?CLASS. | 19:42 | |
lichtkind | not anymore? | ||
sorear | Nope! | ||
lichtkind | and ::?CLASS? | 19:44 | |
Teratogen | I guess the essence of macros is substitution | 19:47 | |
whether it takes place as text or as code | |||
sorear | lichtkind: ::?CLASS exists. | 19:48 | |
lichtkind | yes found now the syn | 19:49 | |
masak | Teratogen: yes, that's a nice way to summarize what macros do. substitution. | 19:50 | |
Teratogen: though Lisp-style macros tend to do more than that. it's more of a chance to run code at parsing, *and* do a substitution. | 19:51 | ||
19:51
fsergot joined,
havenn joined
19:54
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
masak | nom: macro foo { say "lol, this runs before runtime!"; quasi { say "2" } }; say 1; foo; say 3 | 19:54 | |
p6eval | rakudo 8d4f0c: OUTPUT«lol, this runs before runtime!123» | ||
tadzik | good evening | 19:55 | |
masak | tadziku! \o/ | ||
tadzik | masaku! | ||
masak | o krolu! | ||
tadzik | :D | ||
masak | :D | ||
tadzik | ...which reminds me of Game of Thrones again :) | 19:56 | |
masak | the TV series? | 19:57 | |
tadzik | nah, I didn't even see those | ||
the books 'fcourse | |||
masak | do watch the TV series. it has great production values. | ||
tadzik | I've been recently spoiled by a friend. "Oh, reading Storm of Swords? So you know that XXX dies, do ya?" | ||
timotimo | wtf | ||
tadzik | "No, pal, no I didn't" | 19:58 | |
masak | tadzik: that's not what friends do :/ | ||
tadzik | but I reached this event today | ||
moritz | it reminds me of the "Dumbledore dies on page $n" t-shirts | ||
arnsholt | masak: One of my friends summarizes macros as "being able to create new syntactic abstractions" | ||
masak | arnsholt: nice. | ||
tadzik | masak: well, he was pretty embarrased after that :) | 19:59 | |
masak | arnsholt: so I guess it's "syntactic" that differentiates macros from classes and subs, in that case. | ||
arnsholt | A bit cryptic, but captures the essence quite well IMO | ||
Yeah, the syntactic bit sort of captures the whole "lets you do stuff not possible with functions" | 20:00 | ||
I've unintentionally spoiled stuff in a similar vein, TBH | |||
It's easy to do if you're scatterbrained like me =) | |||
tadzik | masak: and when I think of the TV series, it's always this feeling "10 x 30 minutes? I could read some chapters in that time!" | 20:01 | |
but I'll probably see the series once I ran out of books | |||
too many people recommend it | |||
20:02
GlitchMr left
20:03
awwaiid joined
|
|||
masak | that's because it's awesome. | 20:04 | |
Teratogen | Perl 6 should get certified for use in avionics, nuclear power industry, and medical equipment | 20:10 | |
!!! | 20:11 | ||
sorear | Teratogen: you're being annoying again | ||
Teratogen | oh, sorry =( | 20:13 | |
20:19
mj41_p joined
20:20
mj41 left,
mj41_p is now known as mj41
20:22
havenn left
|
|||
lichtkind | timotimo: would you be so kind and check www.perlfoundation.org/perl6/index....dex_tablet | 20:23 | |
20:30
cognominal_ left,
cognominal_ joined
20:41
hugme left,
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
20:42
brrt joined,
kaare_ left
20:43
Juerd left,
Util left,
Juerd joined,
Util joined,
hugme joined,
ChanServ sets mode: +v hugme
20:46
snearch left
|
|||
Teratogen | we all live in a yellow subroutine | 20:46 | |
a yellow subroutine | |||
o/~ | |||
moritz | Teratogen: if it weren't so quiet in here, I'd kick you for spamming now | ||
Teratogen | well when it gets too quiet I do get fidgety | 20:47 | |
sorear | find something to do | 20:48 | |
20:49
wolfman2000 left
20:55
blynch joined
|
|||
lichtkind | @=DATA just lists the lines of $=DATA ? | 21:01 | |
21:07
colomon left
21:12
eternaleye_ joined,
cognominal_ left
21:13
cognominal_ joined
|
|||
timotimo | r: class Yellow is Str {}; sub subroutine() is Yellow { say "a yellow subroutine" }; say "we all live in a yellow subroutine"; subroutine(); subroutine(); | 21:14 | |
p6eval | rakudo 8d4f0c: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Attribute:D $attr, Any :rw(:$rw)!):(Attribute:D $attr, Any :readonly(:$readonly)!):(Attribute:D $attr, Any :box_target(:$box_target)!):(Routine:D $r, Any :rw(:$rw)!):(Routine:D $r, Any… | ||
timotimo | :( | ||
masak | lichtkind: that's how I read it. | 21:16 | |
benabik | std: class Yellow is Str {}; sub subroutine() is Yellow {} | ||
p6eval | std 5740094: OUTPUT«ok 00:01 109m» | ||
masak | lichtkind: the alternative interpretation is that, in the presence of several =DATA sections, the array will contain each of them as an element. | ||
benabik | timotimo: I don't think `sub is Yellow` is what you mean. Perhaps you mean `of` or `returns`? | ||
lichtkind | masak: good, we just crossed 700 2 days ago 742 now | ||
masak | cool. | 21:17 | |
lichtkind | yes that i pondered also | ||
masak | fwiw, I believe a recent commit to S26 was about =DATA-related matters. | ||
lichtkind | maybe tommow :) | ||
masak | yes. check 3e1a9a5a576b90e9eeabdb7083d16431513513f2 | 21:18 | |
github.com/perl6/specs/commit/3e1a...31513513f2 | |||
lichtkind | thanks, all major special var are now in index | 21:19 | |
but the links and churning details are the real work | |||
moritz | there are only three major special vars :-) | ||
21:20
ponbiki joined
|
|||
masak | "churning details" feels like what we've been doing for the past seven years in here ;) | 21:21 | |
lichtkind | i know :) | 21:23 | |
but beside here we had a magazine to ship where i have 2 articles | |||
this $=pod thing stands out its the only special var with lowercase | 21:24 | ||
doesnt sit well with me | |||
tadzik | it's uppercase | ||
oh, this new commit I never adopted... | 21:25 | ||
masak submits rakudobug | |||
tadzik | aw | 21:26 | |
masak | ;) | ||
tadzik | I mean, yay, more fun | ||
masak | now you get to close it! \o/ | ||
21:28
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
tadzik | horay! | 21:29 | |
why is feather so dizzy these days? | |||
21:30
[Coke] left,
[Coke] joined,
blynch left,
birdwindupbird left
21:32
birdwindupbird joined
|
|||
masak | anyone else experiencing random ssh lapses from feather? | 21:35 | |
tadzik | yes | ||
masak | could it be the new load from, hm, was it dalek? | 21:36 | |
or something? | |||
21:41
cbk1090 left
21:45
preflex left,
preflex_ joined
21:46
preflex_ is now known as preflex
21:48
birdwindupbird left
|
|||
sorear | masak: Juerd says there are connection issues. | 21:49 | |
and dalek has been affected much less than you. :D | |||
21:51
ponbiki left
|
|||
masak .oO( you don't hear dalek complaining! ) | 21:54 | ||
I think I've had my ssh connection with feather freeze up four or five times today. | 21:55 | ||
Teratogen | MITM ATTACK! | ||
21:55
ponbiki joined
|
|||
masak | with ssh? no, I don't think so. | 21:56 | |
flussence | funny thing someone should mention $=POD, I was trying to get this to work the other day: github.com/flussence/Pod-Tree-Walker/ | 21:58 | |
(I'm not sure it ever did :( ) | |||
(and it takes [relatively] *ages* to run that one test file...) | 21:59 | ||
22:01
brrt left
22:06
cognominal___ joined
22:08
cognominal_ left
22:12
Araq joined
22:16
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
22:17
Util left,
Util joined
22:18
NamelessTee left
|
|||
masak | 'night, #perl6 | 22:19 | |
fsergot | good night o/ | 22:25 | |
22:31
ponbiki left
22:42
fsergot left
|
|||
Teratogen | night masak | 22:54 | |
22:59
Araq left
23:03
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
23:04
icwiener left
23:05
icwiener joined
23:13
colomon joined
|
|||
sorear | o/ colomon | 23:29 | |
colomon | \o | ||
23:29
cognominal___ left,
cognominal___ joined
23:33
spider-mario left
23:48
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
23:58
lichtkind left
|
|||
jnthn | o/ | 23:58 | |
sorear | o/ jnthn | 23:59 |