»ö« 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
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
kudo/nom: 88d2953 | moritz++ | src/ (4 files):
change "defined" from prefix to listop

both std and niecza agree that listop is correct here.
kudo/nom: 8d4f0c4 | moritz++ | docs/ChangeLog:
update ChangeLog
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: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):
07:31 araujo left
dalek ast: eff0660 | moritz++ | S32-scalar/defined.t:
test that defined() is a listop, RT #76448
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: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
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
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 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.
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 declared␤at /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 ⏏%h␤␤0␤»
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«0␤1␤»
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«1␤1␤»
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.
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
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
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!␤1␤2␤3␤»
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
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