Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-03-31

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 sorear I'm not going to get mad at you but I am rolling my eyes
00:05 sorear at least it's not hate rhetoric like someone else tried to introduce here the other day
00:06 colomon joined #perl6
00:06 sorear when you start calling for violence against evolution supporters, *then* I'll get mad at you
00:07 sorear o/ colomon
00:07 timotimo huh? i totally missed that
00:07 colomon \o
00:07 timotimo the hate rhetoric? how would anyone think #perl6 would be a good place to hate on evolution?
00:31 dalek niecza: 8609d73 | sorear++ | src/ (2 files):
00:31 dalek niecza: Refactor to get variable validation and interpretation a bit closer together
00:31 dalek niecza: review: https://github.com/sorear/niecza/commit/8609d73c9b
00:31 dalek niecza: 58f8f28 | sorear++ | src/ (2 files):
00:31 dalek niecza: Ensure that interpretation of variables always precedes validation
00:31 dalek niecza: review: https://github.com/sorear/niecza/commit/58f8f28436
00:33 Trashlord joined #perl6
00:37 localhost joined #perl6
00:46 wjl joined #perl6
00:47 wjl1 joined #perl6
00:56 wjl joined #perl6
01:03 wjl left #perl6
01:10 scott____ joined #perl6
01:26 tokuhiro_ joined #perl6
01:45 liuchong joined #perl6
01:46 liuchong i love perl6
01:52 lichtkind joined #perl6
02:06 vlixes joined #perl6
02:07 wolfman2000 joined #perl6
02:14 jaldhar joined #perl6
02:21 colomon joined #perl6
02:53 sorear liuchong: cool
03:07 fgomez joined #perl6
03:08 orafu joined #perl6
03:15 REPLeffect joined #perl6
03:41 jaldhar joined #perl6
03:45 scott__ joined #perl6
04:08 scott__ joined #perl6
04:20 dalek joined #perl6
04:21 Juerd joined #perl6
04:21 PerlJam joined #perl6
04:21 Util joined #perl6
04:25 hugme joined #perl6
04:26 Trashlord joined #perl6
04:50 Khisanth joined #perl6
04:55 alester joined #perl6
05:16 pmichaud joined #perl6
05:16 [Coke] joined #perl6
05:16 dalek joined #perl6
05:16 PerlJam joined #perl6
05:16 Juerd joined #perl6
05:16 hugme joined #perl6
05:16 Util joined #perl6
05:17 tadzik joined #perl6
05:17 masak joined #perl6
05:25 kaare_ joined #perl6
05:33 birdwindupbird joined #perl6
06:04 moritz \o
06:05 sorear o/ moritz
06:05 sorear I see feather is having issues today
06:05 mucker joined #perl6
06:24 dalek joined #perl6
06:25 dalek roast: d36d5ce | moritz++ | S11-modules/nested.t:
06:25 dalek roast: rakudo unfudges
06:25 dalek roast: review: https://github.com/perl6/roast/commit/d36d5ce900
06:26 dalek rakudo/nom: 88d2953 | moritz++ | src/ (4 files):
06:26 dalek rakudo/nom: change "defined" from prefix to listop
06:26 dalek rakudo/nom:
06:26 dalek rakudo/nom: both std and niecza agree that listop is correct here.
06:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88d295351e
06:28 dalek rakudo/nom: 8d4f0c4 | moritz++ | docs/ChangeLog:
06:28 dalek rakudo/nom: update ChangeLog
06:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8d4f0c4cd3
07:00 dalek niecza: c4c5d53 | sorear++ | lib/CodeGen.cs:
07:00 dalek niecza: When a variable lookup fails at translation time, postpone it to CHECK time or runtime
07:00 dalek niecza: review: https://github.com/sorear/niecza/commit/c4c5d5377d
07:09 pomysl joined #perl6
07:09 pomysl joined #perl6
07:17 dalek joined #perl6
07:19 tadzik joined #perl6
07:24 Juerd 08:05 #perl6: < sorear> I see feather is having issues today
07:24 Juerd sorear: It's just the network connection... Still incredibly annoying though.
07:25 sorear sorry, I meant it in a general sense
07:25 sorear hi Juerd.
07:25 sorear I don't know if you heard but p6eval and dalek are both on feather3 now.
07:26 daxim joined #perl6
07:26 Juerd That's great
07:26 dalek niecza: de5d06e | sorear++ | src/NieczaActions.pm6:
07:26 dalek niecza: Add parsing for "use strict" / "no strict"
07:26 dalek niecza: review: https://github.com/sorear/niecza/commit/de5d06e244
07:26 dalek niecza: fa9e067 | sorear++ | src/ (2 files):
07:26 dalek niecza: mergeback
07:26 dalek niecza: review: https://github.com/sorear/niecza/commit/fa9e067376
07:33 dalek roast: eff0660 | moritz++ | S32-scalar/defined.t:
07:33 dalek roast: test that defined() is a listop, RT #76448
07:33 dalek roast: review: https://github.com/perl6/roast/commit/eff06601d6
07:34 moritz rakudo: say [+](1,2,3) / 2
07:34 p6eval rakudo 8d4f0c: OUTPUT«3␤»
07:37 dalek roast: 1f21858 | moritz++ | S03-metaops/reduce.t:
07:37 dalek roast: more tests for [+] as listop
07:37 dalek roast: review: https://github.com/perl6/roast/commit/1f2185852c
07:38 hugme joined #perl6
07:39 moritz rakudo: $_ .= ()
07:39 p6eval rakudo 8d4f0c: OUTPUT«===SORRY!===␤Method 'isa' not found for invocant of class 'Undef'␤»
07:39 moritz ouch
07:40 moritz rakudo: say :16<10>
07:40 p6eval rakudo 8d4f0c: OUTPUT«16␤»
07:40 moritz rakudo: say :16<10>.WHAT
07:40 p6eval rakudo 8d4f0c: OUTPUT«Int()␤»
07:42 xinming joined #perl6
07:52 mj41 joined #perl6
07:52 moritz rakudo: say (j=>10,q=>10,k=>10).perl;
07:52 p6eval rakudo 8d4f0c: OUTPUT«("j" => 10, Bool::False)␤»
07:54 skids joined #perl6
07:57 moritz nom: try die foo; say $!.backtrace
07:57 p6eval rakudo 8d4f0c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
07:57 moritz nom: try die "foo"; say $!.backtrace
07:57 p6eval rakudo 8d4f0c: OUTPUT«  in block <anon> at /tmp/kKcZ5LmVvT:1␤␤»
07:58 moritz nom: try die "foo"; say $!.backtrace.WHAT
07:58 p6eval rakudo 8d4f0c: OUTPUT«Backtrace()␤»
08:01 dalek roast: ca3a210 | moritz++ | S32-exceptions/misc.t:
08:01 dalek roast: $!.backtrace generates a Backtrace
08:01 dalek roast: review: https://github.com/perl6/roast/commit/ca3a210c7e
08:06 moritz rakudo: say ((0 => 1) => 2 => 3 => 4).perl
08:06 p6eval rakudo 8d4f0c: OUTPUT«0 => 1 => 2 => 3 => 4␤»
08:08 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 #perl6
08:14 dalek niecza: 366c11d | sorear++ | src/NieczaActions.pm6:
08:14 dalek niecza: Under "no strict", variables need not be declared
08:14 dalek niecza: review: https://github.com/sorear/niecza/commit/366c11d9ee
08:14 dalek niecza: f437b48 | sorear++ | src/NieczaGrammar.pm6:
08:14 dalek niecza: Default strict to off in -e and REPL
08:14 dalek niecza: review: https://github.com/sorear/niecza/commit/f437b48668
08:14 sorear bleh... I'd hoped to get a bit more done today
08:14 * sorear wanders off to sleep
08:15 moritz rakudo: [+]
08:15 p6eval rakudo 8d4f0c:  ( no output )
08:16 sorear moritz: should p6eval use "no strict"?
08:16 moritz sorear: I'd say no
08:17 sorear zzz&
08:18 dalek joined #perl6
08:18 Util joined #perl6
08:19 [Coke] joined #perl6
08:19 Vlavv_ joined #perl6
08:19 fsergot joined #perl6
08:20 fsergot o/ #perl6
08:20 Juerd joined #perl6
08:22 dalek roast: d0e7707 | moritz++ | S03-metaops/reduce.t:
08:22 dalek roast: RT #80332, argumentless [+]
08:22 dalek roast: review: https://github.com/perl6/roast/commit/d0e77078d4
08:22 vlixes left #perl6
08:47 NamelessTee joined #perl6
08:54 arnsholt Oooh, looks like MacPorts is now does binary packages by default instead of source
08:55 arnsholt That'll cut down on time for a lot of things
08:55 GlitchMr joined #perl6
09:05 moritz did it seriously recompile {open,libre}office when installing it? :-)
09:06 arnsholt Didn't try those, but it really did compile qt and boost and such
09:07 arnsholt More annoyingly, it seemed to insist on recompiling those _every time_ I checked for upgrades
09:07 arnsholt .u #
09:07 phenny U+0023 NUMBER SIGN (#)
09:08 moritz woah
09:08 arnsholt Which is why I haven't upgraded in ages
09:08 arnsholt Yeah =)
09:09 arnsholt But now I had some problems with Rakudo/Parrot, possibly related to ICU which I've installed via MacPorts
09:09 arnsholt So I pretty much had to try to upgrade
09:35 dalek joined #perl6
09:35 birdwindupbird joined #perl6
09:36 masak joined #perl6
09:36 masak g'day, #perl6
09:37 moritz \o masak
09:40 jferrero joined #perl6
09:42 fsergot o/ masak
09:42 masak liuchong: welcome. we're pretty happy about Perl 6 as well ;)
10:29 whiteknight joined #perl6
10:37 spider-mario joined #perl6
10:46 dalek joined #perl6
10:47 [Coke] joined #perl6
10:51 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␤»
10:51 masak n: say so all("The quick brown fox jumps over the lazy dog".lc.comb.grep(/\w/)) eq any('a'..'z')
10:51 p6eval niecza v16-16-gf437b48: OUTPUT«True␤»
10:51 masak \o/
10:52 masak 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␤»
10:52 masak hm, right.
10:52 masak n: say so "The quick brown cat jumps over the lazy dog".lc.comb.grep(/\w/).sort.uniq.join eq ('a'..'z').join
10:52 p6eval niecza v16-16-gf437b48: OUTPUT«False␤»
10:52 masak n: say so "The quick brown fox jumps over the lazy dog".lc.comb.grep(/\w/).sort.uniq.join eq ('a'..'z').join
10:52 p6eval niecza v16-16-gf437b48: OUTPUT«True␤»
10:52 masak \o/
10:53 masak 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␤»
10:55 daxim hello from paris/qa hackathon!
10:56 moritz \o
11:01 mj41 joined #perl6
11:07 hugme joined #perl6
11:19 mucker joined #perl6
11:21 lestrrat joined #perl6
11:25 fsergot joined #perl6
11:46 dalek joined #perl6
11:47 Util joined #perl6
12:13 masak daxim: hello, paris/qa hackathon!
12:26 spider-mario some event in Paris?
12:26 spider-mario about Perl 6?!
12:26 spider-mario (among others)
12:26 spider-mario or just something fun?
12:27 spider-mario something interesting?
12:30 moritz perl 5
12:30 moritz Quality Assurance Hackathon, afaict
12:32 masak to lichtkind, about DNA as a reliable information carrier: https://gist.github.com/2263455
12:36 simcop2387 joined #perl6
12:39 shinobicl joined #perl6
12:52 d4l3k_ joined #perl6
13:04 PacoAir joined #perl6
13:18 leprevost joined #perl6
13:39 icwiener joined #perl6
13:40 lichtkind joined #perl6
13:42 mj41 joined #perl6
13:49 dalek joined #perl6
13:50 pmichaud joined #perl6
13:53 hugme joined #perl6
13:59 lichtkind timotimo: hauptsache fühlst dich nicht unwohl :)
14:08 masak oh, I hadn't realized timotimo is a German-speaker, too.
14:09 colomon joined #perl6
14:21 timotimo i hid my identity well ... until now!
14:24 masak don't worry, we won't tell.
14:26 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:28 lichtkind rakudo doesnt do grab
14:34 spider-mario I believe google does index the logs
14:35 araujo joined #perl6
14:35 araujo joined #perl6
14:39 moritz it does, yes
14:40 lichtkind sorry
14:40 lichtkind but back to my problem there is a test and i thought it was fullfilled by rakudo
14:53 moritz which test?
14:53 NamelessTee joined #perl6
14:55 NamelessTee joined #perl6
14:58 d4l3k_ joined #perl6
14:58 pmichaud joined #perl6
14:59 PerlJam joined #perl6
15:28 lichtkind https://github.com/perl6/roast/blob/master/S02-types/keyhash.t#L134-L170
15:41 moritz rakudo doesn't run that test file
15:41 moritz in fact, rakudo doesn't even implement KeyHash (it just stubs in the type object)
15:43 tokuhiro_ joined #perl6
15:52 Psyche^ joined #perl6
15:56 sisar joined #perl6
15:58 havenn joined #perl6
16:00 lichtkind ah thankt
16:09 arnsholt Anyone else on OS X have problems compiling Rakudo?
16:11 dalek joined #perl6
16:15 sorear good * #perl6
16:17 masak sorear! \o/
16:18 GlitchMr42 joined #perl6
16:31 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…
16:31 p6eval ..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␤»
16:31 p6eval ..rakudo 8d4f0c: OUTPUT«Method 'Bag' not found for invocant of class 'List'␤  in block <anon> at /tmp/CjP6tNGswp:1␤␤»
16:31 hugme joined #perl6
16:31 masak aww -- what's the use of having Bags if we can't create histograms from Lists? :P
16:32 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
16:32 p6eval rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«True␤»
16:32 p6eval ..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/ox_6t73xfp line 1, column 1␤»
16:33 masak fortunately, monkey typing comes to the rescue ;)
16:33 Teratogen can I say old Bag;
16:33 Teratogen in perl 6?
16:33 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
16:33 p6eval rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«False␤»
16:33 p6eval ..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/hVLKR95eVi line 1, column 1␤»
16:33 masak Teratogen: 'old' isn't a keyword. was it a joke of some sort? :)
16:34 Teratogen yes
16:34 Teratogen an old bag is an old grumpy woman
16:34 masak a ha ha
16:34 masak save your jokes for tomorrow :P
16:34 Teratogen err, a grumpy old woman
16:34 * masak spends some time thinking about the distinction between those two
16:34 bruges joined #perl6
16:35 Chillance joined #perl6
16:36 y3llow joined #perl6
16:37 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␤»
16:37 p6eval ..rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«True␤»
16:40 sisar does sorear blog on perl6 ?
16:41 sisar s/on/about
16:41 moritz if you count release announcements... :-)
16:41 * masak was just gonna say :P
16:42 masak 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 http://ittf.com/ittv/
16:42 masak tennis -- that's the one with the low net, right? and rackets?
16:43 moritz table tennis -- even lower nets :-)
16:43 moritz (next semifinal in 17 minutes)
16:43 masak oh!
16:43 sisar masak: no problem
16:43 sisar was just compiling a list of perl6 blogs
16:43 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 * 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:50 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 masak 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.
16:51 masak for various reasons. one reason being that you could collect all conversion methods in the same place.
16:51 masak 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 #perl6
16:57 moritz masak: that's why we have Bag(something) coercion syntax, no?
16:57 moritz masak: for that, Bag can decide what to do
16:57 masak right.
16:57 masak but...
16:57 masak sometimes it makes a lot of sense to write it as .Bag
16:57 moritz but you want your cake *and* eat it
16:58 masak yes.
16:58 masak this is Perl 6, after all.
16:58 masak if we preferred compromises, we'd all have said "screw it, Perl 5 is good enough" long ago.
16:59 masak hm... I guess the equivalence between something.Bag and Bag(something) is a remnant of the (very old) equivalence between methods and subs.
17:00 moritz there is no such equivalence, except by convention
17:00 masak there once was, that was my point.
17:00 masak long ago.
17:00 masak 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.
17:01 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
17:02 moritz 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.
17:02 masak well, method calls occur in a lexical scope ;)
17:02 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
17:02 masak I'm not immediately against that variant.
17:03 masak because upper-cased methods aren't that common anyway.
17:03 TimToady it tends to work against the culture of uppercase method names
17:03 masak and maybe just compile-time error if the type doesn't exist.
17:04 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.
17:04 masak except in error messages, to get nicer errors.
17:05 masak .to(Bag)
17:05 masak ...just thinking out loud :)
17:06 TimToady .&Bag
17:06 masak oh, that works?
17:06 TimToady no
17:07 masak dang.
17:07 TimToady at least, not in rakudo
17:07 masak no, it wouldn't, because Bag isn't a function. it's a type object.
17:07 TimToady doesn't install Bag as &Bag
17:07 TimToady std does though
17:07 moritz does the spec say it should?
17:07 masak do we think it's a good idea? :)
17:07 erkan joined #perl6
17:08 TimToady .&Bag is not terribly readable to neophytes
17:08 masak would it mean that `Bag List` suddenly weren't TTIAR?
17:08 TimToady no
17:09 TimToady it's just a way of naming the .() entry point
17:10 TimToady but my druthers is just for .Bag to magically do what I want
17:10 masak mine too.
17:11 masak 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?
17:12 TimToady (only suggesting this for known types, not general failover)
17:14 TimToady could even just compile .Bag into .?'Bag' // Bag(), and leave Mu out of it
17:14 TimToady but the Mu solution feels a bit cleaner to me, if it can know that Bag was a known type
17:15 TimToady perl6: say ~Bag
17:16 p6eval rakudo 8d4f0c: OUTPUT«use of uninitialized value of type Bag in string context␤␤»
17:16 p6eval ..pugs: OUTPUT«*** No such subroutine: "&Bag"␤    at /tmp/l8ck9HyoRa line 1, column 5 - line 2, column 1␤»
17:16 p6eval ..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 dalek joined #perl6
17:16 havenn joined #perl6
17:17 masak joined #perl6
17:17 [Coke] joined #perl6
17:17 PerlJam joined #perl6
17:17 pmichaud joined #perl6
17:17 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 Juerd joined #perl6
17:18 tadzik joined #perl6
17:18 masak what's the core question here? "would we prefer not have to define List.Bag?"? is that a reasonable request? why?
17:19 masak 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
17:19 masak that doesn't make the unreasonable combinations any more reasonable :)
17:19 TimToady additional multis are a bit more sane than monkey typing
17:19 masak and the conversion code has to reside somewhere.
17:21 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 Util joined #perl6
17:21 TimToady you'll like to overrule that, maybe, when you have a known derived class
17:21 TimToady don't think failover gets that right, though
17:22 sorear good * #perl6
17:22 sorear masak !
17:22 masak good *, sorear.
17:22 hugme joined #perl6
17:22 masak TimToady: I've managed to confuse myself now. I can't distinguish the alternatives in this issue, nor the forces involved. :/
17:23 TimToady in fact, I suspect methods-that-should-be-submethods is a pervasive problem that will bite us hard
17:24 sorear What's the main issue today?
17:24 TimToady what does .Bag mean?
17:24 sorear p6: no strict; $x = 5; say $x * 2
17:24 p6eval rakudo 8d4f0c: OUTPUT«===SORRY!===␤Variable $x is not declared␤at /tmp/uc2zfuQVdM:1␤»
17:24 p6eval ..niecza v16-16-gf437b48: OUTPUT«10␤»
17:24 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " ="␤    expecting "::"␤    Variable "$x" requires predeclaration or explicit package name␤    at /tmp/ypOukIGo7A line 1, column 14␤»
17:25 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:26 sorear people using "my" in ACTIONs always amuses me.
17:26 masak it annoys me about epsilon :)
17:27 masak the /me construct, despite the name, is a third-person construct! :P
17:27 masak whoa, niecza has 'no strict'?
17:27 sorear as of last night
17:27 masak n: no strict; say %h.elems
17:27 p6eval niecza v16-16-gf437b48: OUTPUT«0␤»
17:27 masak n: no strict; say %h.elems; my %h
17:27 p6eval niecza v16-16-gf437b48: OUTPUT«Potential difficulties:â�¤  %h is declared but not used at /tmp/GUJ2_0XeXc line 1:â�¤------> [32mno strict; say %h.elems; my [33mâ��[31m%h[0mâ�¤â�¤0â�¤Â»
17:27 sorear I was using the repl and I was getting annoyed by having to my all the time
17:28 masak sorear++
17:28 masak n: no strict; %h<foo> = 42; my %h; say %h.elems
17:28 p6eval niecza v16-16-gf437b48: OUTPUT«1␤»
17:28 masak n: no strict; %h<foo> = 42; { my %h; say %h.elems }; say %h.elems
17:28 p6eval niecza v16-16-gf437b48: OUTPUT«0␤1␤»
17:28 masak \o/
17:29 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
17:29 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…
17:29 TimToady well, it's inconsistent with p5, which just pokes it into the package
17:30 sorear TimToady: s/:/;/
17:30 TimToady n: no strict; %h<foo> = 42; { our %h; say %h.elems }; say %h.elems
17:30 p6eval niecza v16-16-gf437b48: OUTPUT«1␤1␤»
17:30 TimToady nm
17:31 TimToady bbl &
17:32 masak sorear: I'm ok with the postdeclaration behavior.
17:32 masak ...fwiw. :)
17:33 GlitchMr42 joined #perl6
17:35 simcop2387 joined #perl6
17:40 icwiener joined #perl6
17:55 sorear masak: what cool feature would you like to see next?
17:57 * moritz wants 'handles'
17:57 whiteknight joined #perl6
17:57 moritz and introspection
17:57 moritz oh, and macros :-)
17:59 s1n joined #perl6
18:03 masak what moritz said. but 'handles' is the more important out of those three.
18:03 masak 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.
18:03 masak sludgy*
18:04 * Teratogen likes the elegance and simplicity of the C macro preprocessor
18:04 Teratogen and wishes it would have been included in the Perl 6 specification
18:04 moritz Teratogen: we know that. You say that every time somebody mentions macros
18:05 moritz 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.
18:06 Teratogen OK!
18:06 Teratogen =D
18:06 Teratogen what about Windows?
18:07 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.
18:07 Teratogen ok ok I will stop mentioning it
18:08 Teratogen Perl 6'
18:08 Teratogen s macros are more powerful blah blah blah
18:08 Teratogen =)
18:08 masak and I agree about "simplicity" but not about "elegance". :)
18:08 masak in many ways, textual macros are spectacularly ill-suited for transforming code.
18:09 masak I think 'is parsed' macros, to the extent they are textual macros, will be bad in this way.
18:09 masak (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)
18:12 sorear the big problem with the C preprocessor is that it's a C preprocessor
18:13 sorear if you wanted to use m4 macros in your Perl 6 code, I wouldn't mind :)
18:13 sorear my goal for today will be 'handles'.
18:19 dalek joined #perl6
18:35 snearch joined #perl6
18:46 arnsholt Teratogen: Perhaps a dead horse, but have you used Lisp macros?
18:47 havenn joined #perl6
18:47 Teratogen nope, never had the pleasure, arnsholt
18:47 Teratogen but I understand Perl macros are going to be kind of more like Lisp macros than C Preprocessor macros?
18:48 icwiener joined #perl6
18:49 cognominal_ joined #perl6
18:50 arnsholt Yeah, the Perl 6 macros are definitely in the vein of Lisp's macros
18:50 arnsholt But do try Lisp macros. It's a whole different beast to the C preprocessor
18:51 [Coke] sorear: I do not know off hand what synopsis niecza is most behind on. I'll find out.
18:53 sorear [Coke]: I already have my project for today
18:56 cognominal___ joined #perl6
18:56 sorear p6: (a => 5).say
18:56 p6eval pugs: OUTPUT«a  5␤»
18:56 p6eval ..rakudo 8d4f0c, niecza v16-16-gf437b48: OUTPUT«"a" => 5␤»
19:01 localhost joined #perl6
19:02 cognominal_ joined #perl6
19:02 birdwindupbird joined #perl6
19:02 cbk1090 can someone please explain what a macros are good for? And prehaps provide a simple perl6 macro.
19:06 dalek joined #perl6
19:07 dalek roast: 8f30adf | sorear++ | S16-io/bare-say.t:
19:07 dalek roast: [S16-io/bare-say] Update pair printing test for new syntax
19:07 dalek roast: review: https://github.com/perl6/roast/commit/8f30adf9a2
19:07 dalek roast: f9fdd4d | sorear++ | / (4 files):
19:07 dalek roast: Misc niecza unfudges
19:08 dalek roast: review: https://github.com/perl6/roast/commit/f9fdd4d38e
19:15 TimToady cbk1090: see http://strangelyconsistent.org/blog/macros-what-are-they-really
19:38 [Coke] sorear: https://docs.google.com/spreadsheet/ccc?key=0Ahm1zTZwW0VHdE1NN19GdE1fTmZZYnpGdURFM1A0cHc
19:39 sorear thanks
19:40 cognominal_ joined #perl6
19:41 lichtkind @?CLASS are parent classes ?
19:42 sorear There is no @?CLASS.
19:42 lichtkind not anymore?
19:42 sorear Nope!
19:44 lichtkind and ::?CLASS?
19:47 Teratogen I guess the essence of macros is substitution
19:47 Teratogen whether it takes place as text or as code
19:48 sorear lichtkind: ::?CLASS exists.
19:49 lichtkind yes found now the syn
19:50 masak Teratogen: yes, that's a nice way to summarize what macros do. substitution.
19:51 masak 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 fsergot joined #perl6
19:51 havenn joined #perl6
19:54 dalek joined #perl6
19:54 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␤»
19:55 tadzik good evening
19:55 masak tadziku! \o/
19:55 tadzik masaku!
19:55 masak o krolu!
19:55 tadzik :D
19:55 masak :D
19:56 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
19:57 tadzik the books 'fcourse
19:57 masak do watch the TV series. it has great production values.
19:57 tadzik I've been recently spoiled by a friend. "Oh, reading Storm of Swords? So you know that XXX dies, do ya?"
19:57 timotimo wtf
19:58 tadzik "No, pal, no I didn't"
19:58 masak tadzik: that's not what friends do :/
19:58 tadzik but I reached this event today
19:58 moritz it reminds me of the "Dumbledore dies on page $n" t-shirts
19:58 arnsholt masak: One of my friends summarizes macros as "being able to create new syntactic abstractions"
19:58 masak arnsholt: nice.
19:59 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.
19:59 arnsholt A bit cryptic, but captures the essence quite well IMO
20:00 arnsholt Yeah, the syntactic bit sort of captures the whole "lets you do stuff not possible with functions"
20:00 arnsholt I've unintentionally spoiled stuff in a similar vein, TBH
20:00 arnsholt It's easy to do if you're scatterbrained like me =)
20:01 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 tadzik but I'll probably see the series once I ran out of books
20:01 tadzik too many people recommend it
20:03 awwaiid joined #perl6
20:04 masak that's because it's awesome.
20:10 Teratogen Perl 6 should get certified for use in avionics, nuclear power industry, and medical equipment
20:11 Teratogen !!!
20:11 sorear Teratogen: you're being annoying again
20:13 Teratogen oh, sorry =(
20:19 mj41_p joined #perl6
20:20 mj41 left #perl6
20:23 lichtkind timotimo: would you be so kind and check http://www.perlfoundation.org/perl6/index.cgi?perl_6_index_tablet
20:30 cognominal_ joined #perl6
20:41 dalek joined #perl6
20:42 brrt joined #perl6
20:43 Juerd joined #perl6
20:43 Util joined #perl6
20:43 hugme joined #perl6
20:46 Teratogen we all live in a yellow subroutine
20:46 Teratogen a yellow subroutine
20:46 Teratogen a yellow subroutine
20:46 Teratogen o/~
20:46 moritz Teratogen: if it weren't so quiet in here, I'd kick you for spamming now
20:47 Teratogen well when it gets too quiet I do get fidgety
20:48 sorear find something to do
20:55 blynch joined #perl6
21:01 lichtkind @=DATA just lists the lines of $=DATA ?
21:12 eternaleye_ joined #perl6
21:13 cognominal_ joined #perl6
21:14 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…
21:14 timotimo :(
21:16 masak lichtkind: that's how I read it.
21:16 benabik std: class Yellow is Str {}; sub subroutine() is Yellow {}
21:16 p6eval std 5740094: OUTPUT«ok 00:01 109m␤»
21:16 masak lichtkind: the alternative interpretation is that, in the presence of several =DATA sections, the array will contain each of them as an element.
21:16 benabik timotimo: I don't think `sub is Yellow` is what you mean.  Perhaps you mean `of` or `returns`?
21:16 lichtkind masak: good, we just crossed 700 2 days ago 742 now
21:17 masak cool.
21:17 lichtkind yes that i pondered also
21:17 masak fwiw, I believe a recent commit to S26 was about =DATA-related matters.
21:17 lichtkind maybe tommow  :)
21:18 masak yes. check 3e1a9a5a576b90e9eeabdb7083d16431513513f2
21:18 masak https://github.com/perl6/specs/commit/3e1a9a5a576b90e9eeabdb7083d16431513513f2
21:19 lichtkind thanks, all major special var are now in index
21:19 lichtkind but the links and churning details are the real work
21:19 moritz there are only three major special vars :-)
21:20 ponbiki joined #perl6
21:21 masak "churning details" feels like what we've been doing for the past seven years in here ;)
21:23 lichtkind i know :)
21:23 lichtkind but beside here we had a magazine to ship where i have 2 articles
21:24 lichtkind this $=pod thing stands out its the only special var with lowercase
21:24 lichtkind doesnt sit well with me
21:24 tadzik it's uppercase
21:25 tadzik oh, this new commit I never adopted...
21:25 * masak submits rakudobug
21:26 tadzik aw
21:26 masak ;)
21:26 tadzik I mean, yay, more fun
21:26 masak now you get to close it! \o/
21:28 dalek joined #perl6
21:29 tadzik horay!
21:29 tadzik why is feather so dizzy these days?
21:30 [Coke] joined #perl6
21:32 birdwindupbird joined #perl6
21:35 masak anyone else experiencing random ssh lapses from feather?
21:35 tadzik yes
21:36 masak could it be the new load from, hm, was it dalek?
21:36 masak or something?
21:45 preflex_ joined #perl6
21:49 sorear masak: Juerd says there are connection issues.
21:49 sorear and dalek has been affected much less than you. :D
21:54 * masak .oO( you don't hear dalek complaining! )
21:55 masak 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 #perl6
21:56 masak with ssh? no, I don't think so.
21:58 flussence funny thing someone should mention $=POD, I was trying to get this to work the other day: https://github.com/flussence/Pod-Tree-Walker/
21:58 flussence (I'm not sure it ever did :( )
21:59 flussence (and it takes [relatively] *ages* to run that one test file...)
22:01 brrt left #perl6
22:06 cognominal___ joined #perl6
22:12 Araq joined #perl6
22:16 dalek joined #perl6
22:17 Util joined #perl6
22:19 masak 'night, #perl6
22:25 fsergot good night o/
22:54 Teratogen night masak
22:59 Araq left #perl6
23:03 dalek joined #perl6
23:05 icwiener joined #perl6
23:13 colomon joined #perl6
23:29 sorear o/ colomon
23:29 colomon \o
23:29 cognominal___ joined #perl6
23:48 dalek joined #perl6
23:58 jnthn o/
23:59 sorear o/ jnthn

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo