Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-09-10

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:06 dalek niecza: 1e86f79 | sorear++ | lib/NieczaCLR.cs:
00:06 dalek niecza: First interim test harness for CLR interop
00:06 dalek niecza: review: https://github.com/sorear/niecza/commit/1e86f79ad7
00:13 lumi__ joined #perl6
00:18 dalek niecza: 154255a | sorear++ | lib/NieczaCLR.cs:
00:18 dalek niecza: Tweak overload resolution process to actually work
00:18 dalek niecza: review: https://github.com/sorear/niecza/commit/154255a2aa
00:18 sorear niecza can now run multi-dispatch for System::Console.WriteLine("Hello, world")
00:19 sorear the CLR-overload-MMD system has not yet been integrated with the object system
00:24 lumi__ joined #perl6
00:35 lumi__ joined #perl6
00:48 lumi__ joined #perl6
00:50 Moukeddar joined #perl6
01:03 patspam joined #perl6
01:03 tokuhirom joined #perl6
01:03 jaldhar joined #perl6
01:04 lumi__ joined #perl6
01:05 whiteknight joined #perl6
01:05 patspam left #perl6
01:10 soh_cah_toa joined #perl6
01:16 dalek niecza: e28d2ba | sorear++ | lib/NieczaCLR.cs:
01:16 dalek niecza: Create CLR-wrapper objects
01:16 dalek niecza: review: https://github.com/sorear/niecza/commit/e28d2ba263
01:20 soh_cah_toa joined #perl6
01:21 lumi__ joined #perl6
01:37 uasi joined #perl6
01:42 soh_cah_toa_ joined #perl6
01:43 lumi__ joined #perl6
01:50 packetknife joined #perl6
01:56 lumi__ joined #perl6
02:02 ranguard joined #perl6
02:07 lumi__ joined #perl6
02:33 dalek niecza: acb2aad | sorear++ | / (5 files):
02:33 dalek niecza: Implement CLR:: psuedopackage
02:33 dalek niecza: review: https://github.com/sorear/niecza/commit/acb2aad571
02:33 sorear niecza> CLR::System::Console.WriteLine("Hello, World")
02:33 sorear Hello, World
02:33 sorear Nil
02:39 lumi__ joined #perl6
02:44 dalek niecza: d30d449 | sorear++ | lib/NieczaCLR.cs:
02:44 dalek niecza: Small fixes to allow use of instances of CLR objects
02:44 dalek niecza: review: https://github.com/sorear/niecza/commit/d30d449486
02:50 lumi__ joined #perl6
02:57 envi joined #perl6
03:03 lumi__ joined #perl6
03:27 alvis joined #perl6
03:27 lumi__ joined #perl6
03:35 colomon niecza: my $n = 4; my @approxs := 0, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
03:35 p6eval niecza v9-16-gd30d449: OUTPUT«(timeout)»
03:35 colomon niecza: my $n = 4; my @approxs := 0, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs[10];
03:35 p6eval niecza v9-16-gd30d449: OUTPUT«Infinity␤»
03:35 colomon niecza: my $n = 4; my @approxs := 0, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs[^10];
03:36 p6eval niecza v9-16-gd30d449: OUTPUT«0 Infinity Infinity Infinity Infinity Infinity Infinity Infinity Infinity Infinity␤»
03:36 colomon niecza: my $n = 4; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x,1 $y { ($x - $y).abs < 1/100000 }; say ~@approxs[^10];
03:36 p6eval niecza v9-16-gd30d449: OUTPUT«Unhandled exception: JSON writer encountered value of type Parcel␤  at /home/p6eval/niecza/boot/lib/JSYNC.pm6 line 0 (JSYNC to-json @ 0) ␤  at /home/p6eval/niecza/src/NAMOutput.pm6 line 12 (NAMOutput NAMOutput.run @ 4) ␤  at /home/p6eval/niecza/src/NieczaBa…
03:36 colomon niecza: my $n = 4; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x,1 $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
03:36 p6eval niecza v9-16-gd30d449: OUTPUT«Unhandled exception: JSON writer encountered value of type Parcel␤  at /home/p6eval/niecza/boot/lib/JSYNC.pm6 line 0 (JSYNC to-json @ 0) ␤  at /home/p6eval/niecza/src/NAMOutput.pm6 line 12 (NAMOutput NAMOutput.run @ 4) ␤  at /home/p6eval/niecza/src/NieczaBa…
03:37 colomon ?
03:37 daniel-s joined #perl6
03:38 colomon b: my $n = 4; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x,1 $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
03:38 p6eval b 1b7dd1: OUTPUT«Nominal type check failed for parameter '$y'; expected Int but got Rat instead␤  in <anon> at line 22:/tmp/C1pJKJ9yH4␤  in <anon> at line 895:src/gen/core.pm␤  in 'Any::join' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in 'List::Str' at line 2838:src/gen/core.pm…
03:39 colomon b: my $n = 4; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
03:39 p6eval b 1b7dd1: OUTPUT«1 2.5 2.05 2.00060975609756 2.00000009292229 2␤»
03:39 colomon bingo
03:39 colomon b: my $n = 2; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
03:39 p6eval b 1b7dd1: OUTPUT«1 1.5 1.41666666666667 1.41421568627451 1.41421356237469␤»
03:41 colomon b: my $n = 7; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
03:41 p6eval b 1b7dd1: OUTPUT«1 4 2.875 2.65489130434783 2.64576704419029 2.64575131111137 2.64575131106459␤»
03:41 lumi__ joined #perl6
03:41 colomon b: say 2.64575131106459 ** 2
03:41 p6eval b 1b7dd1: OUTPUT«7␤»
03:47 colomon that's probably been done before, but I can't recall doing it myself.  :)
03:54 lumi__ joined #perl6
04:05 sorear colomon: a question?
04:15 colomon yes?
04:15 sorear no, I'm asking if you're asking a question
04:15 colomon oh, I didn't have one at the moment.
04:16 kfo joined #perl6
04:16 imbafrog joined #perl6
04:16 colomon we need to talk about how to integrate what I've got into niecza.  but I kind of want to polish it some more before we get there.
04:16 colomon finally making real progress at it, anyway, instead of just thinking about it.  :)
04:19 colomon niecza: my $n = 7; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs;
04:19 sorear colomon: are you still working on trig?
04:19 p6eval niecza v9-16-gd30d449: OUTPUT«1 4/1 23/8 977/368 1902497/719072 7238946623297/2736064645568 2.64575131106459␤»
04:19 colomon sorear: yes
04:20 colomon sorry, that's what I was talking about above.  I've got sin and cos and a start at tan.  Still figuring out the infrastructure to support them nicely.
04:20 sorear I think that would be less ugly if you used $^x and $^y
04:21 lumi__ joined #perl6
04:23 colomon probably.  but I'm still marveling at how nice the p6 version is even in my version.  making it nicer is just gravy.
04:28 sorear ([: -: [ + 7 % [)^:(<_) (1)
04:28 sorear 1 4 2.875 2.65489 2.64577 2.64575 2.64575
04:28 * sorear ducks
04:33 lumi__ joined #perl6
04:33 colomon explanation?
04:33 sorear colomon: that's the J version
04:34 benabik quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#)
04:35 benabik (From Wikipedia)  And people call perl line noise.
04:35 sorear J has some (meta)operators P6 ought to borrow, like ^:_ "iterate function until two values are equal within 1e-6" and ^:(<_) "same, but return list of values"
04:35 TiMBuS all i ever see in J/K code are unhappy smileys
04:36 colomon I think I like ^:_ as a concept.  :)
04:36 jlaire it's line noise only if you can't read it
04:37 kaare_ joined #perl6
04:38 jlaire many writing systems for natural languages look like 'line noise' to me :)
04:38 TiMBuS what if a language was nothing but a morse code style of spaces and tabs. completely unreadable. is it noise?
04:38 sorear writing J is definitely easier than reading it
04:39 sorear also I still can't grok $:
04:39 TiMBuS seems more like silence.
04:40 jlaire writing J is easier for me too, but I wouldn't be suprised if more experienced J programmers disagreed
04:41 * sorear notices that ey only uses "grok" in the negative
04:43 * sorear ponders how best to expose CLR "events" to P6
04:44 sorear (in C#) Console.CancelKeyPressed += Handler1; Console.CancelKeyProessed -= Handler1;
04:44 lumi__ joined #perl6
04:46 sorear (in ilasm) callvirt class [mscorlib]System.Console::​add_CancelKeyPressed(class [mscorlib]System.ConsoleCancelEventHandler)
04:49 jlaire I haven't really followed the discussions about immutability, but fwiw I really like the way 'const' works in C++ (and C)
04:49 jlaire copying data structures in getters just to protect them from modifications seems so silly from a C++ perspective
04:51 sorear The C++ way has its advantages.  Perl 6 can improve on it by using dynamism so you don't have to write all your accessors twice.
05:12 lumi__ joined #perl6
05:19 REPLeffect joined #perl6
05:24 lumi__ joined #perl6
05:29 dalek niecza: 5e6faa7 | sorear++ | lib/NieczaCLR.cs:
05:29 dalek niecza: Add support for accessing properties and fields
05:29 dalek niecza: review: https://github.com/sorear/niecza/commit/5e6faa79e5
05:29 sorear now I can do stuff like
05:29 sorear niecza> CLR::System::Environment.CurrentDirectory = "/"
05:30 sorear niecza> CLR::System::Environment.O​SVersion.Version.ToString
05:30 sorear "2.6.32.5"
05:38 jlaire that's pretty cool
05:41 sorear biggest remaining infelicity: type-directed marshalling falls over with parameters of type "object"
05:42 alvis left #perl6
05:42 sorear if I try to do $hashtable.ContainsKey("PATH"), it passes an instance of Niecza.BoxObject`1[System.String]
05:42 sorear because it doesn't have a type to direct the unboxing
05:43 sorear the argument could be made that a few basic undirected coercions (Str->string, Int->int, Rat,Num->double) be made
05:43 alvis_ joined #perl6
05:44 lumi__ joined #perl6
05:57 lumi__ joined #perl6
05:57 mj41 joined #perl6
05:57 zby_home_ joined #perl6
05:57 sorear huh, weird.  seems loading GAC libraries only works if I include the PublicKeyToken
06:05 orafu joined #perl6
06:11 lumi__ joined #perl6
06:13 wamba joined #perl6
06:19 moritz good morning
06:23 zby_home__ joined #perl6
06:26 lumi__ joined #perl6
06:34 sorear good morning moritz
06:34 mberends good morning sorear, morit
06:34 mberends z
06:35 sorear o/ mberends
06:35 mberends sorear: the LR integration seems to be going well
06:35 mberends *CLR
06:35 sorear oh, huh.
06:36 * mberends <- bad typist
06:36 sorear I spent the last half-hour fretting about ways to shave milliseconds off the CLR marshalling layer
06:36 mberends ooh
06:36 sorear but apparently it's already halfway-decently fast
06:36 sorear 11.47 µs for $rng.Next(100,200)
06:37 mberends yes, that's good
06:37 sorear more like 11.5 ± 0.5
06:37 * sorear should read the error bars before talking
06:37 lumi__ joined #perl6
06:38 mberends I think it's because Niecza-CLR interop isn't as big of a jump as some other interops, with Niecza generating IL anyway.
06:38 agentzh joined #perl6
06:38 sorear Niecza-CLR interop is currently entirely using System.Reflection
06:39 sorear $rng.Next(100,200) juggles pointers to do the marshal, then calls MethodInfo.Invoke(object, object[])
06:40 sorear the biggest potential win is to generate IL
06:40 mberends Reflection struck me as potentially some of the slowest code in CLR, but I may have that wrong. So all credit to Niecza.
06:40 sorear but it's also problematic in terms of startup speed, furthermore, Mono 2.6 cannot garbage collect IL under any circumstance
06:41 jevin joined #perl6
06:43 sorear IL can be removed from memory only by destroying the interpreter object (the CLR provides an internally-accessible API to create and destroy interpreters, a nice touch that more VMs should copy.  IIRC Tcl and Io provide the same functionality)
06:44 sorear mberends: I had the same impression
06:45 * sorear is trying to find a way to do the equivalent of default(T) using the reflection API
06:46 sorear apparently, some structs have no constructor, so I can't create objects though the constructor.
06:48 sorear ohhohhoh this is evil
06:48 sorear Array.CreateInstance(t, 1).GetValue(0)
06:49 mberends :-) twisty
06:50 lumi__ joined #perl6
06:50 mberends sorear: I think jnthn++ and diakopter++ would approve :)
06:57 sorear mberends: have you seen masak++'s grant application?  I'm wondering if I should comment.
06:58 mberends sorear: not yet, but I plan to.  (now sooner, since it's of interest)
06:59 sorear mberends: http://news.perlfoundation.org/2011/0​9/hague-grant-application-implem.html
07:00 mberends sorear: thanks, I was still scanning the main page
07:04 SHODAN joined #perl6
07:05 lumi__ joined #perl6
07:09 pmichaud sorear: why would you not comment, ooc?
07:11 JimmyZ joined #perl6
07:12 mberends I'm considering adding a comment that I think deliverables 1, 2, 3, 5, 6, 7 are low-risk as a first half and that 4 is high-risk and should perhaps be done in a separate project.
07:12 sorear pmichaud: I don't have a clear idea what to say.  My real question is, what sorts of comments would be useful?
07:13 pmichaud not having a clear idea what to say is a good reason (more)
07:14 pmichaud the kinds of comments they're looking for:   do you think it's worthy?  is it important?
07:14 pmichaud or, if you see problems with the proposal, what are they?
07:15 pmichaud essentially the board (who aren't as tuned to p6 stuff as many others) are wanting to hear from folks that are involved in p6 as to what they think of the proposal
07:15 pmichaud maybe see the comments given on previous hague proposals
07:16 sorear mberends: I think D4's difficulty is very uncertain.  I am aware of three half-baked ideas of how to do it, from the old times when I was experimenting
07:16 mberends for me a great justification would exist if macros could be used within Rakudo itself to improve parts of the implementation.
07:17 pmichaud oh, they'll certainly be used for that
07:17 mberends sorear: that uncertainty certainly (;)) bothers me
07:17 * JimmyZ wonders if amount  request is suited or not
07:17 pmichaud the lack of a clear macro definition has hindered rakudo progress several times
07:18 mberends I thought so...
07:18 lumi__ joined #perl6
07:18 pmichaud or, put another way, this grant directly addresses one of the core things I've been trying to corner TimToady++ on for at least a year :)
07:18 mberends :)
07:19 pmichaud sorear: here are some previous applications that have comments:
07:19 pmichaud http://news.perlfoundation.org/2011/0​2/hague-grant-application-struct.html
07:19 pmichaud http://news.perlfoundation.org/2010/0​7/hague-grant-application-meta-m.html
07:19 pmichaud http://news.perlfoundation.org/2010/0​6/hague-grant-application-perl-e.html   # this one was controversial and ultimately was not funded
07:19 pmichaud (this last one had 46 comments)
07:21 pmichaud I'm planning to add my comments to masak++'s proposal, but I'm letting others comment first before mine bias things a bit :)
07:22 moritz pmichaud: tadzik++ and I have both submitted our comments already
07:22 pmichaud moritz: I'm guessing they haven't been approved yet.
07:23 moritz pmichaud: they are just held for approval by the... right
07:23 mberends my comments added too
07:23 pmichaud excellent.
07:23 moritz pmichaud: note that the last one you linked wasn't rejected, afaict. It just was never acted upon
07:24 jamtech joined #perl6
07:24 pmichaud "not funded" is essentially the same as "rejected", afaic :)
07:24 * JimmyZ has been planning to submit a comment , but he doesn' t know the amount reques is right or not
07:24 pmichaud JimmyZ: that's useful as a comment, then.
07:24 moritz JimmyZ: you can simply say as much in your comment
07:24 pmichaud your comment can be "I'm not sure the amount is correct."
07:24 JimmyZ thanks
07:25 pmichaud (along with anything else you'd like to mention, of course)
07:29 sorear commented
07:29 pmichaud sorear++
07:29 lumi__ joined #perl6
07:30 pmichaud tadzik++ moritz++ JimmyZ++ mberends++  # for completeness :)
07:31 pmichaud bedtime here... bbl
07:32 sorear bye
07:32 mberends o/
07:33 * JimmyZ submitts comment
07:33 mberends JimmyZ++ # for completeness :)
07:34 JimmyZ hehe
07:37 lumi__ joined #perl6
07:38 Trashlord joined #perl6
07:39 Tene Hmm.  Something seems off about the deliverables.
07:40 Tene lemme read it again, see if I can work out what it is.
07:47 pmurias joined #perl6
07:49 dalek niecza: 4875297 | sorear++ | / (3 files):
07:49 dalek niecza: Add functions for explict marshalling/unmarshalling and creating zero value types, improves handling of object args/returns
07:49 dalek niecza: review: https://github.com/sorear/niecza/commit/4875297273
07:49 sorear niecza> CLR::System::Environment.GetEnvironm​entVariables.Item("PATH").unmarshal
07:49 sorear "/home/stefan/bin:/usr/local/bin:/usr/local/​games:/usr/games:/usr/bin:/bin:/usr/bin/X11"
07:49 sorear better
07:50 mberends sorear++
07:51 Alias joined #perl6
07:53 lumi__ joined #perl6
07:55 wamba joined #perl6
08:02 lumi__ joined #perl6
08:23 dalek niecza: 0f884ca | sorear++ | lib/ (2 files):
08:23 dalek niecza: Improve stringification, allow some access to events and operators
08:23 dalek niecza: review: https://github.com/sorear/niecza/commit/0f884ca274
08:29 lumi__ joined #perl6
08:30 masak joined #perl6
08:30 masak morning, #perl6
08:31 pmichaud masak:  o/
08:31 mberends hello masak
08:33 JimmyZ good morning, masak
08:36 clairvy joined #perl6
08:36 * masak is not sure whether to participate in the discussion about the grant proposal or not ;)
08:36 masak anyway, it's nice to read the backlog and see you take an interest in it.
08:37 sorear hello masak
08:37 pmichaud masak: if there are items that in the discussion that you think could use clarification, feel free to participate :)
08:38 masak ok, then.
08:38 pmichaud (same goes for comments on the perlfoundation page, I think)
08:38 pmichaud at least, that's the approach I've generally taken.
08:38 masak D4 *is* the high-risk one. I say as much in the grant proposal.
08:38 pmichaud I think high risk is okay.
08:38 masak essentially, the structure of the grant and the payments already make it into two separate grants.
08:39 pmichaud right
08:39 masak where D4 makes up most of the latter half.
08:39 pmichaud I think it's better to have one big proposal than two smaller ones.
08:39 masak so I'm not sure how to acquiesce mberends' request :P
08:40 pmichaud well, if others agree that D4 deserves to be a separate grant, they can comment it that way :)
08:40 mberends masak: you don't have to, it's just €0.02 worth on risk management :)
08:42 pmichaud I guess part of the question would be "how risky is 'high risk' here?"
08:42 mberends masak: I hope my other point about benefiting Rakudo internals does strengthen your proposal.
08:42 lumi__ joined #perl6
08:43 pmichaud I will definitely be highlighting the direct benefit to both Perl 6 (spec) and Rakudo from this proposal, and that it's been needed for a while.
08:43 masak mberends: my feeling about D4 is that it will be challenging and non-trivial, but definitely within the realm of the possible.
08:44 masak it's also a very important part of macro functionality.
08:45 masak not being able to define subs in a quasi is quite a heavy limitation.
08:46 mberends I'd even like D4 to be isolated so that another developer potentially does the work. Bus number and all that.
08:47 masak if I may invoke YAGNI at that point... :)
08:47 frhodes joined #perl6
08:48 masak someone could salvage it from my proposal if a bus does materialize.
08:48 masak my point is that we don't really "have macros" in any serious sense until we have D4.
08:49 * JimmyZ agrees with masak++
08:49 bbkr joined #perl6
08:49 pmichaud afk again for a bit
08:49 bbkr good morning
08:49 masak go' mo', bbkr
08:52 bbkr is there any way to workaround lack of Str.encode() in nom? I don't need conversions (latin1), just access to raw bytes. Maybe some nqp:: magic? I've seen many parrot code replaced by it.
08:55 lumi__ joined #perl6
08:55 frhodes joined #perl6
08:58 pmichaud bbkr: you just need an array of integers?
09:06 im2ee joined #perl6
09:06 im2ee Hey! :)
09:08 Tene masak: can you explain what D1 would actually be?  I don't quite follow.
09:11 dalek niecza: 76367f7 | sorear++ | / (2 files):
09:11 dalek niecza: Add delegate auto-marshalling and an example using System.IO.FileSystemWatcher
09:11 dalek niecza: review: https://github.com/sorear/niecza/commit/76367f7d92
09:11 sorear pssst, masak, you can now write directory-monitoring code with Perl 6
09:11 Chillance joined #perl6
09:12 masak ooh
09:13 lumi__ joined #perl6
09:14 masak Tene: macro foo { quasi { say "OH HAI" } }; say "before"; foo; say "after"
09:14 masak or, perhaps (more)
09:14 masak Tene: macro foo { say 1; quasi { say 3 } }; say 2; foo; say 4
09:15 masak im2ee: hi!
09:19 im2ee masak, how did You learn p6? :)
09:20 im2ee masak, from official documentation? own test? :)
09:21 masak im2ee: I read the spec and wrote a lot of code.
09:22 REPLeffect joined #perl6
09:23 bbkr pmichaud: yes, array of integers
09:25 lumi__ joined #perl6
09:27 tadzik good moritz #perl6
09:28 masak good mberends tadzik
09:29 frhodes joined #perl6
09:30 frhodes joined #perl6
09:31 masak im2ee: oh, and each time I had a question about Perl 6, I'd write a little program and run it to see what the result would be.
09:31 masak im2ee: a bit like empirical science.
09:32 masak im2ee: for example, I would wonder "are an object's private attributes visible from deriving classes?"
09:32 masak rakudo: class A { has $!x }; class B is A { method foo { say $!x } }; say "alive"
09:32 p6eval rakudo 00a115: OUTPUT«===SORRY!===␤Attribute $!x not declared in class B at line 1, near " } }; say "␤»
09:32 masak ...guess not ;)
09:34 JimmyZ looks like it's easy to embed tinycc to lua, I'm not whether it's easy embed tinycc to rakudo or not
09:34 JimmyZ s/I'm not/I'm not sure/
09:35 masak b: class A { has $!x }; class B is A { method foo { say $!x } }; B.new.foo
09:35 p6eval b 1b7dd1: OUTPUT«Any()␤»
09:35 masak b: class A { has $!x }; class B is A { method foo { say $!x } }; B.new(:x(42)).foo
09:35 p6eval b 1b7dd1: OUTPUT«42␤»
09:35 masak nom++
09:36 dalek niecza: ad1fcdd | sorear++ | examples/gtk1.pl:
09:36 dalek niecza: Add a tested small GTK# sample
09:36 dalek niecza: review: https://github.com/sorear/niecza/commit/ad1fcdd7ce
09:36 JimmyZ b: is nom or ng?
09:36 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Confused at line 22, near "is nom or "␤»
09:36 sorear ng
09:36 JimmyZ oh
09:36 tadzik there are a few tests for that :)
09:36 tadzik rakudo: say NaN ~~ NaN ?? "nom" !! "ng"
09:36 p6eval rakudo 00a115: OUTPUT«nom␤»
09:37 tadzik b: say NaN ~~ NaN ?? "nom" !! "ng"
09:37 p6eval b 1b7dd1: OUTPUT«nom␤»
09:37 tadzik oops
09:37 * sorear waits for people to notice ad1fcdd
09:37 lumi__ joined #perl6
09:38 tadzik sorear: that's pretty cool
09:40 masak sorear++
09:44 * sorear -> sleep
09:45 mberends GTK on Niecza? sorear++ sorear++
09:45 frhodes joined #perl6
09:46 donri joined #perl6
09:50 lumi__ joined #perl6
09:56 MayDaniel joined #perl6
10:01 mberends mono run/Niecza.exe examples/gtk1.pl # a GUI "Hello World" Just Works! sorear++
10:01 lumi__ joined #perl6
10:06 * masak simply has to try it too now
10:07 bbkr where are nqp:: methods documented?
10:08 masak bbkr: probably easiest to go for the source: https://github.com/perl6/nqp/tree/master/src/core
10:10 bbkr thanks. "use the force, read the source" :)
10:11 tadzik hehe
10:11 masak well, there's something very... authoritative... about executable code.
10:11 masak that's why I like the idea of executable specs.
10:12 tadzik you can trust them
10:12 lumi__ joined #perl6
10:14 wamba joined #perl6
10:14 masak phenny: tell sorear that I tried gtk1.pl, and it didn't work: https://gist.github.com/1208171
10:14 phenny masak: I'll pass that on when sorear is around.
10:20 * masak notices the adventure game that sorear++ wrote back in March
10:20 bbkr no access to byte buffer in nqp:: I still cannot figure how to workaround lack of Str.encode.
10:22 masak bbkr: wish I could help you there. it doesn't seem that easy to just "workaround" the lack of Str.encode.
10:25 whiteknight joined #perl6
10:26 lumi__ joined #perl6
10:27 masak rakudo: .say for lines("README".IO)
10:27 p6eval rakudo 00a115: OUTPUT«Method 'readline' not found for invocant of class 'Mu'␤  in method get at src/gen/CORE.setting:4714␤  in sub coro at src/gen/CORE.setting:3765␤  in method reify at src/gen/CORE.setting:3735␤  in method reify at src/gen/CORE.setting:3539␤  in method reify at src/gen…
10:27 masak rakudo: .say for "README".IO.lines
10:27 p6eval rakudo 00a115: OUTPUT«Method 'readline' not found for invocant of class 'Mu'␤  in method get at src/gen/CORE.setting:4714␤  in sub coro at src/gen/CORE.setting:3765␤  in method reify at src/gen/CORE.setting:3735␤  in method reify at src/gen/CORE.setting:3539␤  in method reify at src/gen…
10:28 masak I presume that both of these should still work.
10:30 masak error seems to be originating on line 61 of src/core/IO.pm, when it is discovered that $!PIO contains a Mu.
10:30 masak why it contains a Mu, I don't know.
10:31 masak probably code that got ported over from Beijing but doesn't work in nom.
10:36 lumi__ joined #perl6
10:38 bbkr joined #perl6
10:56 birdwindupbird joined #perl6
11:01 ggoebel joined #perl6
11:06 lumi__ joined #perl6
11:24 lumi__ joined #perl6
11:27 MayDaniel joined #perl6
11:29 moritz I think the problem is that lines() assumes it can just call .get
11:29 wamba joined #perl6
11:29 moritz but Str.IO doesn't open the file (and it shouldn't, because Str.IO ~~ :e doesn't need an open())
11:35 lumi__ joined #perl6
11:39 Psyche^ joined #perl6
11:51 lumi__ joined #perl6
12:12 masak ah. yes, that would explain it.
12:13 masak so $!PIO needs to be lazily initialized, as it were.
12:15 masak rakudo: class Too { method quiet($_:) { say (.WHAT.perl, .^methods(:local), "in here today") } }; Too.quiet
12:15 p6eval rakudo 00a115: OUTPUT«Too quiet in here today␤»
12:16 masak :)
12:17 masak rakudo: class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }; say Too.quiet
12:17 p6eval rakudo 00a115: OUTPUT«Too quiet in here today␤»
12:18 masak rakudo: (class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).quiet; say "alive"
12:18 p6eval rakudo 00a115: OUTPUT«alive␤»
12:18 masak bzzzzt!
12:18 masak niecza: (class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).quiet; say "alive"
12:18 p6eval niecza v9-21-gad1fcdd: OUTPUT«Unhandled exception: Unable to resolve method methods in class ClassHOW␤  at /tmp/0D_pf498h9 line 1 (MAIN Too.quiet @ 5) ␤  at /tmp/0D_pf498h9 line 1 (MAIN mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2046 (CORE C956_ANON @ 2) ␤  at /home/p…
12:18 masak correct-er, at least.
12:19 lumi__ joined #perl6
12:19 masak niecza: (class Too { method quiet($_:) { "I was called!" } }).quiet; say "alive"
12:19 p6eval niecza v9-21-gad1fcdd: OUTPUT«alive␤»
12:19 masak oh :)
12:19 masak rakudo: say (class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).quiet; say "alive"
12:19 p6eval rakudo 00a115: OUTPUT«Too quiet in here today␤alive␤»
12:19 masak Rakudo, all is forgiven ;)
12:19 * masak submits himself to RT
12:20 * moritz can't reproduce masak, and closes ticket
12:21 masak phew!
12:21 masak rakudo: say (my $c = class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).^methods(:local)[0]($c)
12:21 p6eval rakudo 00a115: OUTPUT«Too quiet in here today␤»
12:21 masak look! total DRY! :P
12:22 moritz 90omn  oö.l  bn hg b  n hjbnm     ,zunhjn b bä-hnujmk,mpuzn   b
12:23 moritz that was my small predator again, sorry
12:24 masak don't be sorry, it's cute! :)
12:24 masak (and sufficiently easy to distinguish from your normal output) :)
12:24 masak ah, the comments have showed up on http://news.perlfoundation.org/2011/0​9/hague-grant-application-implem.html
12:26 masak having read them, I do agree that D4 is the bit "pivot" of the whole grant. I wrote the proposal with that in mind. but I'm also ready to map out a more detailed plan for it, and do anything else to reduce the perceived risk and uncertainty of D4.
12:30 lumi__ joined #perl6
12:30 jnthn Whoa. I just slept 11+ hours solid.
12:35 masak good moritz and ronja, jnthn
12:39 im2ee joined #perl6
12:44 lumi__ joined #perl6
12:54 bbkr what happened to parrot Parcel type? was it renamed somehow or completely removed?
12:55 jnthn There was a Parrot level Parcel type? I didn't remember taht.
12:55 * moritz neither
12:55 moritz parrot has (or had) a Capture
12:57 jnthn Yeah. Aside from PAST/POST nodes, we've mostly stopped using it.
12:57 lumi__ joined #perl6
12:57 jnthn A 6model object with a hash slot and and a list slot is less memory/allocations.
12:58 jnthn So we just do that for Cursor/Match in NQP now.
12:59 bbkr thanks. i'll check this Capture type.
13:00 mikemol joined #perl6
13:00 jnthn Noooo!
13:00 jnthn I've spent long enough killing off our use of the darn thing.
13:00 jnthn Unless you're working on soemthing != Rakudoo or NQP, in which case do as you wish :)
13:02 bbkr :) I'm still trying to find workaround Str.encode for my Mongo driver so it will work in nom. this nqp:: stuff is totally new to me.
13:02 jnthn bbkr: Ah, we need Buf. pmichaud++ had some ideas on that.
13:05 lumi__ joined #perl6
13:05 bbkr jnthn: since Buf implementation is ready all I need is raw Str bytes, something like old parrot ByteBuffer
13:06 bbkr jnthn: but I haven't found a way how to extract them in nom since morning
13:06 bbkr s/since/until/
13:08 bbkr I think I'll just wait for Buf to be usable, low level hacking in user modules is evil
13:12 jnthn bbkr: Probably the best option.
13:12 jnthn ooh, he went
13:16 lumi__ joined #perl6
13:18 clairvy joined #perl6
13:21 lumi__ joined #perl6
13:32 lumi__ joined #perl6
13:32 uasi joined #perl6
13:35 JimmyZ joined #perl6
13:48 masak Python 4 getting 1-based lists. http://mail.python.org/pipermail/pyt​hon-ideas/2011-September/011448.html
13:49 masak ...and the HN conversation: http://news.ycombinator.com/item?id=2980615
13:51 masak and the HN conversation mentions p5's $[
13:52 moritz well, I guess they learned from Python 3 that breaking backward comp. for relatively small features is a win, and everybody eagerly switches to the new version...
13:52 moritz </sarcasm>
13:52 lumi__ joined #perl6
13:53 moritz http://news.ycombinator.com/item?id=2980916
13:55 masak yes, it is a joke.
13:55 masak but one that maybe sheds some light on Python, its community, and Guido ;)
13:56 masak fwiw, I believe Perl 6 has got this as near right as possible.
13:56 moritz like "you don't have to declare variables, it's confusing for the beginner"?
13:56 masak arrays can have any exotic *secondary* indices you care to give them, but they still map down to sensible *primary* indices.
13:56 masak best of both worlds.
13:57 im2ee Can You give me some links where i can find informations about how "method" new works in p6? :)
13:57 masak im2ee: have you found S12?
13:57 im2ee I'm reading it now. :)
13:57 im2ee http://perlcabal.org/syn/S12.html - right?
13:57 moritz im2ee: http://perlgeek.de/blog-en/perl-6/objec​t-construction-and-initialization.html
13:57 * masak was just going to paste that :)
13:58 masak that article is great. moritz++
13:58 masak the only *better* explanation I've seen was from a slide in jnthn++'s OO course.
13:58 im2ee moritz, this is what i want. Thanks. :)
13:58 moritz masak: does it still conform to your current understanding of BUILD etc.?
13:58 Aridai joined #perl6
13:59 masak moritz: I'd need to read more carefully to see that.
13:59 masak will do that in 15 minutes or so.
13:59 moritz I don't think I've ever updated that post in a major way
14:00 moritz so either I got it right from the start, or it's wrong now :-)
14:00 im2ee Is new needed? P6 doesn't do something automaticlly?
14:00 jnthn im2ee: You inherit a default new from Mu.
14:00 im2ee i mean new method.
14:01 im2ee jnthn, can You say something more about Mu? :)
14:01 jnthn im2ee: So you only need to override new if you want to modify the interface to object instantiation.
14:01 lumi__ joined #perl6
14:01 im2ee Or just give me sites: )
14:01 jnthn im2ee: Mu is the ultimate base type. Everything in Perl 6 inherits from it.
14:01 jnthn rakudo: class Foo { }; say Foo.^parents
14:01 p6eval rakudo 00a115: OUTPUT«Any() Mu()␤»
14:01 jnthn rakudo: class Foo { }; say Foo.^mro
14:02 p6eval rakudo 00a115: OUTPUT«Foo() Any() Mu()␤»
14:02 im2ee I just want to assign values to some private attributes :)
14:03 jnthn OK
14:03 jnthn You can either do it at the point of declaration:
14:03 im2ee So, Mu does it?
14:03 jnthn has $!answer = 42;
14:03 jnthn Or you can write a BUILD submethod if you need something more complex.
14:04 jnthn im2ee: Mu gives you a default thing
14:04 jnthn im2ee: But it won't initialize privates for you
14:04 im2ee My::Module.new( value1 => 1, value2 => 2); I want to make it look like this.
14:04 jnthn OK, and you have something like
14:04 jnthn has $!value1;
14:04 jnthn has $!value2;
14:04 jnthn ?
14:04 im2ee Yes.
14:04 jnthn OK, so you need to write something like
14:04 jnthn submethod BUILD(:$!value1, :$!value2) { }
14:05 moritz im2ee: if they are *private*, why do you want the user to set them?
14:05 moritz im2ee: the user shouldn't care about your privates
14:05 im2ee jnthn, ok it's clear now. :)
14:05 betterworld joined #perl6
14:07 im2ee moritz, right but i don't want to allow user to direct access like My::Module.value1 but on the other hand i want the user to assign the values via a method new. :)
14:08 im2ee It's correct? :)
14:08 wamba joined #perl6
14:08 moritz im2ee: so the user has to remember himself what values he passed to your .new method?
14:08 jnthn im2ee: That's what you'd achieve with what I suggested, yes. But as moritz++ points out, it tends to be a curious design decision for a class.
14:09 im2ee Those don't have to be private values, can be public - but still want to assign values via new method :)
14:09 moritz there might be cases where something like that makes sense, but it's kind of an antipattern
14:09 masak private attributes can not be set through default .new -- there's a reason for that.
14:09 moritz im2ee: if you make them private, you get that (setting through .new) by default
14:09 jnthn im2ee: Yes, but if you make the public that doesn't mean the suer can change them, and it does mean you don't hae to write a BUILD submethod - because Perl 6 will initialize your publics automatically for you.
14:09 jnthn *user
14:09 moritz rakudo: class A { has $.b }; my $o = A.new(b => 42); say $o.b
14:10 p6eval rakudo 00a115: OUTPUT«42␤»
14:10 jnthn im2ee: has $.x is rw; # need this for outside modification
14:11 jnthn I think the underlying principle is "if the user told you the value in the first place, there's probably not that much reason to keep from them something they already knew" :)
14:11 im2ee So, class A { has $.b }; my $o = A.new(b => 42); say $o.b; $o.b = 12; won't work without "is rw". Right?
14:12 im2ee rakudo: class A { has $.b }; my $o = A.new(b => 42); say $o.b; $o.b = 12;
14:12 p6eval rakudo 00a115: OUTPUT«42␤Cannot assign to a readonly variable or a value␤  in <anon> at /tmp/t2af6HgsV1:1␤  in <anon> at /tmp/t2af6HgsV1:1␤␤»
14:12 jnthn im2ee: Correct.
14:12 im2ee Ok, so that is what i was looking for. :)
14:12 jnthn :)
14:13 im2ee Thanks jnthn, moritz, masak :)
14:13 moritz you're welcome
14:13 im2ee Hm, i have another question. Why do you write ++ after nick ? :)
14:13 masak im2ee: it's a sign of appreciation.
14:13 masak also,
14:13 masak karma moritz
14:13 aloha moritz has karma of 1933.
14:13 moritz im2ee: we increment "karma" that way
14:13 lumi__ joined #perl6
14:14 masak im2ee: means moritz has gotten 1933 ++s.
14:14 im2ee Ok, clear :) great idea
14:14 moritz or a few more, but also a few more -- :-)
14:14 im2ee karma im2ee
14:14 aloha im2ee has karma of 1.
14:14 im2ee :)
14:14 masak moritz++ # because he has so much karma -- oh wait
14:14 jnthn karma jnthn
14:14 aloha jnthn has karma of 1129.
14:14 jnthn Still catching up with moritz++ :)
14:15 im2ee karma moritz
14:15 aloha moritz has karma of 1935.
14:15 im2ee :)
14:15 moritz karma jonathan
14:15 aloha jonathan has karma of 2197.
14:15 masak o.O
14:15 moritz that also belongs to jnthn
14:15 jnthn ...
14:15 masak that jonathan guy is awesome!
14:15 moritz (misreported by dalek)
14:15 masak jnthn: you should be more like him!
14:15 jnthn nom: say 1129 + 2197
14:15 p6eval nom 00a115: OUTPUT«3326␤»
14:15 moritz karma moritz_
14:15 aloha moritz_ has karma of 230.
14:15 masak nom: say 1129 * 2197
14:15 p6eval nom 00a115: OUTPUT«2480413␤»
14:16 masak as a running gag on another channel I used to hang out on, we had primed the karma of 'me' to be several thousand millions :P
14:16 masak so people would go "me++" and then contentedly check the karma of 'me'
14:17 im2ee has $var equals has $.var ? :)
14:17 masak im2ee: no it equals 'has $!var'
14:17 masak im2ee: but I'd put in the '!' if I were you.
14:18 im2ee using ! and . always is better i think. :)
14:18 JimmyZ karma JimmyZ
14:18 aloha JimmyZ has karma of 22.
14:18 JimmyZ karma jimmy
14:18 aloha jimmy has karma of 74.
14:19 im2ee karma doiexist
14:19 aloha doiexist has karma of 0.
14:19 jnthn karma ran over dogma
14:19 aloha ran over dogma has karma of 0.
14:19 im2ee ok, i go back to perl6 :)
14:19 masak karma I don't know what
14:19 aloha I don't know what has karma of 0.
14:20 im2ee howdoyoudo++
14:20 MayDaniel joined #perl6
14:20 im2ee karma howdoyoudo
14:20 aloha howdoyoudo has karma of 1.
14:20 im2ee howdoyoudo doesn't exist, so maybe aloha can warn in this situation? :)
14:20 masak moritz: nit: s/Object/Mu/
14:21 moritz masak: just noticed too, thanks
14:21 moritz im2ee: use of undefined value in ++ at line ... :-)
14:21 im2ee :)
14:21 masak moritz: "a submethod is a public method that's not inherited to child classes" -- well, a *public* submethod is that ;)
14:22 moritz masak: afaict all submethods are public, because private methods are submethods anyway
14:23 masak rakudo: class A { submethod !foo() { say "OH HAI" }; method bar { self!foo } }; A.new.bar
14:23 p6eval rakudo 00a115: OUTPUT«OH HAI␤»
14:23 im2ee If i use module My::Module; how i have to name class in this module, and how to call it? By My::Module::Class ?
14:23 masak moritz: there's a private submethod.
14:24 lumi__ joined #perl6
14:24 moritz im2ee: you can name the class My::Module if you want
14:24 im2ee And what is "module" for? We can use class My::Module::Name instead? :)
14:24 masak moritz: the article doesn't mention attribute initialization in the 'has' declarations at all. that's where my understanding improved recently.
14:25 masak moritz: (I'm not saying it should, mind. just that my understanding in the areas covered hasn't changed.)
14:25 jnthn masak: You can do it, but in a dispatch sense it's no more interesting than a private submethod
14:25 masak oh, sure.
14:26 moritz masak: so just to get this straight, if I write 'has $.a = 42', the default is taken if neither a => something  is passed to .new, nor BUILD has  $!a  in its signature. Right?
14:27 jnthn moritz: BUILD could do $!a = ... in its body too
14:27 jnthn moritz: Best way: if $!a is never touched
14:27 jnthn *Best way to say it
14:27 moritz jnthn: ok
14:29 * moritz thinks about how best to incorporate it into the blog post
14:34 lumi__ joined #perl6
14:34 colomon joined #perl6
14:36 djanatyn joined #perl6
14:39 moritz rakudo: class D { has $!x; submethod BUILD (:$!x) { } }; D.new(x => 1).x
14:39 p6eval rakudo 00a115: OUTPUT«Method 'x' not found for invocant of class 'D'␤  in <anon> at /tmp/peaXeVOS55:1␤  in <anon> at /tmp/peaXeVOS55:1␤␤»
14:39 moritz rakudo: class D { has $!x; submethod BUILD (:$!x) { }; method x() { $!x } }; say D.new(x => 1).x
14:39 p6eval rakudo 00a115: OUTPUT«1␤»
14:40 moritz rakudo: class D { has $!x; submethod BUILD () { }; method x() { $!x } }; say D.new(x => 1).x
14:40 p6eval rakudo 00a115: OUTPUT«Mu()␤»
14:41 im2ee Hmm, what is the easiest way to read only one line from IO::Readable? :)
14:41 moritz rakudo: say $*IN.get
14:41 p6eval rakudo 00a115: OUTPUT«Land der Berge, Land am Strome,␤»
14:41 moritz im2ee: don't believe everything from S26
14:43 masak er, S16.
14:43 moritz erm, right
14:45 im2ee Ok, thanks. :)
14:45 masak rakudo: our sub prefix:<=>(IO $io) { $io.get }; say =$*IN # just for old times' sake ;)
14:45 p6eval rakudo 00a115: OUTPUT«␤Cannot assign to a non-container␤  in <anon> at /tmp/mGJDVJosRG:1␤  in <anon> at /tmp/mGJDVJosRG:1␤␤»
14:45 masak huH!
14:45 im2ee rakudo: class A { method .a { ... } };
14:45 p6eval rakudo 00a115: OUTPUT«===SORRY!===␤Malformed block at line 1, near ".a { ... }"␤»
14:45 masak infix always wins over prefix?
14:45 im2ee rakudo: class A { method .a { ... } }
14:45 p6eval rakudo 00a115: OUTPUT«===SORRY!===␤Malformed block at line 1, near ".a { ... }"␤»
14:45 im2ee Why? :)
14:46 masak im2ee: get rid of that dot! :)
14:46 masak im2ee: it's not part of the method name.
14:46 masak though I agree it'd be strangely consistent with 'method !a'
14:47 masak and 'method ^a'
14:47 lumi__ joined #perl6
14:47 im2ee so method without . is still public? :)
14:47 masak aye.
14:47 abercrombie joined #perl6
14:47 masak that's the default for methods.
14:47 moritz we sometimes sloppily talk about .foo when really mean 'method foo', but the . is not part of the name
14:48 masak I'm half about to suggest that 'method .a' should be allowed.
14:48 im2ee Clear, thanks. :)
14:48 moritz +0.5
14:48 masak but maybe this is a place for Java-ish conservativeness.
14:48 masak oh, what the heck! I'm all-out for it, just to see what happens! :)
14:49 masak it's not like it impacts people wanting to analyze the code; they should be working off the AST/model anyway!
14:49 masak and it doesn't impact readability.
14:49 moritz https://github.com/moritz/perlgeek.de/commi​t/f3d0dffcf50c6bf41e80acb692fa80d51d2234e1
14:49 mikemol joined #perl6
14:50 im2ee Uh, perl6 is great! :)
14:50 moritz .oO( maybe 'method .foo' is a method that default to $_ as invocant... *SCNR* )
14:50 masak moritz++
14:50 im2ee I loved it ! : )
14:50 masak moritz: s/build/BUILD/ near the end.
14:50 moritz masak: thanks
14:50 masak moritz: [re $_ as invocant] NOOOOOoooo!
14:51 masak ...ooooooOOOOOOOoooo!
14:51 * moritz loves it how easily he can tease masak++
14:51 masak grrr :)
14:52 * masak wants to remind moritz of the "Telephone" video in retaliation, but realizes that was tadzik and jnthn, not moritz
14:52 moritz you can remind me of Pachelbel's Canon in D :-)
14:53 moritz (at least if you know Rob Paravonian)
14:53 masak moritz: D-A-B-F#-G-D-G-A D-A-B-F#-G-D-G-A D-A-B-F#-G-D-G-A...
14:54 masak yes, that video is great. :)
14:55 moritz in similar spirit, but less aggressive: http://www.youtube.com/watch?v=sTIv8hP-UIA
14:57 lumi__ joined #perl6
15:01 masak wow, that's great.
15:02 im2ee rakudo: sub a returns Str { return Any; }
15:02 p6eval rakudo 00a115:  ( no output )
15:04 masak Handel++
15:05 masak im2ee: you didn't call it! :)
15:05 im2ee hm, right. :D
15:05 masak im2ee: a smart compiler might catch that, but nom doesn't at present.
15:05 im2ee rakudo: sub a returns Str { return Any; } a;
15:05 p6eval rakudo 00a115: OUTPUT«===SORRY!===␤Confused at line 1, near "sub a retu"␤»
15:05 masak semicolon after }
15:05 im2ee Ehh, im in hurry. :)
15:05 im2ee rakudo: sub a returns Str { return Any; }; a;
15:05 p6eval rakudo 00a115: OUTPUT«Type check failed for return value␤  in sub a at /tmp/gQE2jTCzr5:1␤  in <anon> at /tmp/gQE2jTCzr5:1␤  in <anon> at /tmp/gQE2jTCzr5:1␤␤»
15:05 masak \o/
15:06 im2ee huh, :)
15:06 masak can I submit an LTA on that one? it doesn't say which types were involved.
15:06 im2ee so... if it returns type check failed i have some questions :)
15:06 masak especially the type that it got is important.
15:06 masak im2ee: go right ahead.
15:06 im2ee i've something like that:
15:06 im2ee method getline() returns Str{
15:06 im2ee return $!sock.get;
15:06 im2ee }
15:07 lumi__ joined #perl6
15:07 im2ee and i write say MyClass.getline it prints Any()
15:07 im2ee Why? :)
15:07 masak insufficient data.
15:08 gbacon joined #perl6
15:08 masak but I can't say I like that lack of whitespace between 'Str' and '{'...
15:09 im2ee so, i add whitespace after Str, it doesn't help :)
15:09 masak rakudo: class AnyReturner { method get { return Any } }; class A { has $!sock; method readline() returns Str { $!sock = AnyReturner.new; return $!sock.get } }; A.readline
15:09 p6eval rakudo 00a115: OUTPUT«Cannot access attributes in a type object␤  in method readline at /tmp/DOSMunAkef:1␤  in <anon> at /tmp/DOSMunAkef:1␤  in <anon> at /tmp/DOSMunAkef:1␤␤»
15:09 masak rakudo: class AnyReturner { method get { return Any } }; class A { has $!sock; method readline() returns Str { $!sock = AnyReturner.new; return $!sock.get } }; A.new.readline
15:09 p6eval rakudo 00a115: OUTPUT«Type check failed for return value␤  in method readline at /tmp/ekQpdwfwDI:1␤  in <anon> at /tmp/ekQpdwfwDI:1␤  in <anon> at /tmp/ekQpdwfwDI:1␤␤»
15:09 masak im2ee: worksforme
15:11 im2ee Maybe i made a mistake before :)
15:12 im2ee say $obj.getline works fine. But when i use while $obj.getline ( say $_; ) it prints Any. :)
15:12 Trashlord joined #perl6
15:13 im2ee \o/ works! :)
15:14 im2ee i use while my $line = $obj.getline { ... };
15:15 im2ee masak, but whats about $_ ? :)
15:15 cognominal joined #perl6
15:16 birdwindupbird joined #perl6
15:16 im2ee Am i onerous today? :)
15:16 jnthn nom: while $*IN.get -> $_ { .say } # maybe this works...
15:16 p6eval nom 00a115: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤»
15:16 jnthn im2ee: but...not sure why you're using a while loop, not a for loop :)
15:17 masak im2ee: we use for loops for line input nowadays.
15:17 im2ee because my getline() method returns only one line, not array. :)
15:17 masak maybe it should return a lazy list of lines.
15:18 jnthn im2ee: Yes, but we'd tend to make an iterator and loop over that
15:19 im2ee jnthn, hmm i'll think it over. :)
15:19 lumi__ joined #perl6
15:21 masak im2ee: you're not onerous, you're asking intersted questions and we love that! :)
15:21 masak im2ee: p5 had an implicit thing where it set $_ in some while loops. p6 doesn't do that.
15:22 im2ee masak, great. :)
15:22 TimToady regarding http://irclog.perlgeek.de/​perl6/2011-09-09#i_4403094, people should be taught that ANDs are consistently tighter than ORs because * is tighter than +, even with Boolean logic
15:23 TimToady it's not just a random fact
15:23 TimToady sorear: ^^
15:24 wooden joined #perl6
15:24 wooden joined #perl6
15:25 TimToady in other words, if follows directly from what masak++ claims at http://irclog.perlgeek.de/​perl6/2011-09-09#i_4403108
15:25 masak TimToady: what people should be taught !=== what people know when they read my code. :/
15:26 TimToady sometimes I write simply English for the reader, and sometimes I don't
15:27 im2ee what is #perl6-soc channel? :)
15:29 masak im2ee: Perl 6 Summer of Code
15:30 im2ee masak, thanks :)
15:31 TimToady but adding gratuitous parens sometimes has the pernicious effect of teaching the reader the opposite of what's actually true; if I see parens in a language I'm not familiar with, I'll assume they're necessary for a reason
15:32 lumi__ joined #perl6
15:34 masak TimToady: I'm on your side in this issue; but the majority of coders don't seem to *want* to learn about precedence. which puts constraints on how maintainable code can look in practice.
15:34 TimToady they don't want to learn it because its design principles are not generally taught
15:34 TimToady "Here's a precedence table; sink or swim!"
15:34 masak aye.
15:35 masak parallel to all the other "best practices" and "rules" of software development.
15:35 TimToady so this is a good place for a comment, not for extra parens, methinks
15:35 masak ideally, the code should just sing out with intent and consistency!
15:36 masak just like a good story.
15:36 TimToady yes, well, receptivity varies
15:36 masak the more I code, the more I realize, hey, I can make this program look *any way I want* and still have it do what I want.
15:37 masak um, the above's true if read with the intended precedence levels... :)
15:37 TimToady or not... :)
15:38 birdwindupbird joined #perl6
15:38 TimToady "the more...the more..." is a very interesting English syntax
15:39 jnthn Hm, I'd never thought about it much :)
15:39 jnthn It is a curious one. :)
15:40 TimToady well, "The <comparative> <sentence>, the <comparative> <sentence>" or some such
15:40 replore_ joined #perl6
15:40 TimToady .oO(The hurrier I go, the behinder I get.)
15:40 lumi__ joined #perl6
15:41 jnthn Well, The <comparative>, the <comparative> also works, as does The <comparative> <nounphrase>, the <comparative>
15:43 masak it's 越<comparative><sentence>越<comparatice><sentence> in Mandarin; not that different.
15:45 moritz in German it's "je <comparative> desto <comparative>"
15:45 masak ooh
15:45 masak same in Swedish, except "ju".
15:46 masak I meet so many people who say "ju...ju..." or "desto...desto..." instead. as a developer, I'm annoyed at this :)
15:47 masak moritz: does German have sentences like "Desto <comparative>!" ?
15:47 masak (in reply to something)
15:47 masak in English it's "All the <comparative>!"
15:49 lumi__ joined #perl6
15:50 birdwindupbird joined #perl6
15:51 moritz masak: no
15:51 jnthn afk, mountain climbing
15:53 masak jnthn: impossible, there are no altitudes in southern Sweden!
15:54 wamba joined #perl6
15:55 masak &
16:02 sayu joined #perl6
16:06 sorear good * #perl6
16:06 phenny sorear: 10:14Z <masak> tell sorear that I tried gtk1.pl, and it didn't work: https://gist.github.com/1208171
16:07 sorear colomon: I'd like to make the Complex change we talked about, but only after I know you have no unpushed changes to code that uses Complex.
16:08 lumi__ joined #perl6
16:08 sorear masak: it apparently failed to load GTK#.  what does gacutil -l gtk-sharp say for you?
16:09 sorear masak: I wonder if nonexistant types under CLR:: should die() instead of just returning Any or a package
16:17 pmurias joined #perl6
16:18 pmurias sorear: hi
16:18 pmurias sorear: how am i supposed to install the gtk#?
16:19 sorear ./configure && make && make install
16:21 lumi__ joined #perl6
16:22 pmurias i have mono 2.8.2 is that new enough?
16:26 sorear yes
16:28 Moukeddar joined #perl6
16:33 lumi__ joined #perl6
16:34 pmurias sorear: how can i stop mono from looking at assemblies from an old installation?
16:42 sorear pmurias: if you have an old installation with gtk# why are you trying to install gtk#?
16:44 pmurias it's mono 2.6.3
16:44 sorear I didn't say that 2.6.3 wasn't new enough.
16:47 pmurias System.DllNotFoundException: glibsharpglue-2
16:47 lumi__ joined #perl6
16:50 pmurias works! :)
16:50 sorear yay
16:50 pmurias with some env variables cargo cult
16:53 rgrau joined #perl6
16:55 dalek niecza: 057357e | sorear++ | examples/laf.pl:
16:55 dalek niecza: Actually commit my LAF example
16:55 dalek niecza: review: https://github.com/sorear/niecza/commit/057357e9f8
16:58 pmurias sorear: so what's now needed is use ...:from<clr>?
16:58 pmurias instead of CLR::(...)?
16:58 lumi__ joined #perl6
17:00 sorear pmurias: I have no idea how to design :from<clr>
17:07 lumi__ joined #perl6
17:18 pmurias joined #perl6
17:23 lumi__ joined #perl6
17:33 lumi__ joined #perl6
17:38 lumi__ joined #perl6
17:39 TimToady "as⃝df̅".flip.say
17:40 TimToady perl6: "as⃝df̅".flip.say
17:40 p6eval pugs: OUTPUT«decodeUTF8': bad data: '\8413'␤decodeUTF8': bad data: '\773'␤*** No such method in class Str: "&flip"␤    at /tmp/5g82V_OGub line 1, column 1 - line 2, column 1␤»
17:40 p6eval ..rakudo 00a115, niecza v9-22-g057357e: OUTPUT«̅fd⃝sa␤»
17:40 * TimToady wonders who will implement grapheme support first...
17:41 sorear the trick is doing it without losing data
17:42 sorear niecza doesn't want to be in a position where $clr_obj_2.SetString($clr_obj_1.GetString) implicitly NFCifies the string
17:42 sorear since CLR strings, at their most fundamental, are uninterpreted sequences of uint16
17:48 frhodes joined #perl6
17:49 uasi joined #perl6
17:49 mberends joined #perl6
17:52 lumi__ joined #perl6
17:54 nebuchadnezzar joined #perl6
17:55 mikemol joined #perl6
17:56 uasi_ joined #perl6
18:03 mikemol joined #perl6
18:03 lumi__ joined #perl6
18:05 [Coke] joined #perl6
18:13 perlseeker joined #perl6
18:18 lumi__ joined #perl6
18:18 lue actually, I saw the bar over the right quote. How are combining characters supposed to work? [Apparently on the character before it, but I'm not sure]
18:19 arnsholt I think combining characters usually come after the character they combine with
18:19 frhodes joined #perl6
18:21 lue [ Hm. It does the correct thing in my input line, but not in the output window :/ ]
18:26 lumi__ joined #perl6
18:34 SHODAN joined #perl6
18:40 lumi__ joined #perl6
18:45 TimToady if Perl 6 strings are going to be limited by the semantics of their VM, we might as well give up now
18:45 pmurias joined #perl6
18:46 pmurias sorear: what are the hard parts about :from<clr>?
18:49 sorear TimToady: does dir() return Strs or Bufs?
18:49 sorear pmurias: figuring out what it is supposed to do, and doing it
18:51 lumi__ joined #perl6
18:51 TimToady I think wrt strings we need more intermediate types that reflect the various views of strings provided by VMs so as to correctly understand the impedance mismatches
18:52 TimToady NFC, NFD, CodeStr, and such
18:52 sorear it's important not to accidentally change the byte sequence when manipulating filenames on POSIX systems
18:53 sorear utf8->Unicode->utf8 is byte-lossless on valid data, but utf8->NFG->utf8 seems not to be
18:53 TimToady that's why we need the type system to guarantee that when it's needed
18:54 TimToady well, your assertion depends on exactly what you mean by "Unicode"
18:54 TimToady Unicode isn't a single thing
18:54 TimToady s/thing/type of thing/
18:55 TimToady as far as a POSIX system is concerned, a filename is little more than a blob
18:55 TimToady with a bit of searching for /
18:55 sorear I mean sequences of codepoints
18:55 TimToady NFG is no worse than NFC
18:55 sorear true
18:56 sorear but if the user has non-NFC filenames - they need to be roundtripped
18:56 TimToady and they should use a type that reflects that need
18:56 sorear it would be nice if we could handle filenames with invalid utf8 gracefully as well
18:56 TimToady POSIX filenames are really just buf8
18:57 sorear we need to make open("MyFile") DWIM
18:57 TimToady the trick will be to make buf8 behave more like strings when needed
18:57 sorear requiring a .encode in there is just silly
18:57 TimToady that's what allomorphic constants are for
18:58 TimToady for instance, Go doesn't assume any type info for constants except where used
18:58 sorear how about: my $line = $*IN.get; say $line.chars; open($line, :r)
18:59 TimToady not planning to go that far, but I believe the spec already indicates somewhere that "foo" is both a string and a buffer
19:00 TimToady I can't be responsible for all the sins of the (POSIX) world...
19:00 TimToady but we can certainly make sure the ASCII subset works
19:01 TimToady and we don't guess unless authorized by the programmer to guess
19:01 TimToady when it comes to higher bits
19:01 lumi__ joined #perl6
19:05 dalek niecza: 1a8efca | sorear++ | / (2 files):
19:05 dalek niecza: Late-bind to Mono.Posix, restore .net support (mberends)
19:05 dalek niecza: review: https://github.com/sorear/niecza/commit/1a8efcab22
19:06 sorear TimToady: do I correctly understand this: ASCII-subset strs and *.all < 128 bufs act interchangeable by default, anything more requires an adverb or pragma?
19:10 TimToady well, or a conversion; adverbs and pragmas are not as nice as types :)
19:10 ingy tadzik: hi
19:12 ingy tadzik: you were right. I talked to mst about default last night and now it triggers on not(exists()) instead of not(defined())
19:12 pmurias sorear: something like that might make sense: http://paste.scsys.co.uk/1426261
19:12 lumi__ joined #perl6
19:12 TimToady S05:3704 talks about the relationship of buffers to strings some
19:13 pmurias sorear: use Foo:from<clr>:assembly<...> would check (using the reflection api?) what types the assembly exports and import them into the lexical scope
19:14 sorear pmurias: that paste doesn't exit
19:14 sorear exist
19:14 * pmurias fixes
19:15 pmurias http://paste.scsys.co.uk/142627
19:22 sorear well, first off, it's Gtk::Application
19:22 sorear secondly you're repeating the namespace constantly
19:22 sorear the C# original just had "using Gtk;" at the top and then refered to Application.Init ();
19:22 sorear etc
19:24 pmurias do we have an eqivalent to 'using NamespaceName' in Perl6?
19:28 fridim_ hi :)
19:28 lumi__ joined #perl6
19:28 fridim_ the status page about rakudo is no longer available ?
19:29 pmurias sorear: we could have a :namespace<Gtk> to specify where to import stuff from: http://paste.scsys.co.uk/142628
19:30 sorear fridim_: what kind of status page are you looking for?
19:30 fridim_ the one with the graphic :)
19:30 sorear pmurias: that doesn't make any sense to me
19:30 fridim_ test passed, test remaining
19:31 bbkr joined #perl6
19:34 pmurias sorear: yes, we don't need :namespace<...>, the module name we are importing should specify the namespace
19:34 pmurias got confused by the use Whitespace:from<perl5>:name<Acme::Bleach> example
19:35 pmurias that is if we assume that namespace in C# take the role of modules
19:35 pmurias * namespaces
19:36 sorear I wonder if it might make more sense to give CLR assemblies the role of modules
19:36 sorear use gtk-sharp:auth<35e10195dab3c99f>:version<2.12.0.0> < Gtk >;
19:38 sorear perhaps allow some kinds of renaming in the import-list
19:43 lumi__ joined #perl6
19:44 pmurias sorear: that would only import Gtk, so we would still have to type out Gtk::Window in full
19:45 pmurias but the assembly name is something we would like to avoid repeating
19:47 mberends sorear: thanks for restoring the .Net support :)
19:48 pmurias perl6: my module Foo { sub foo {say "foo!"}}
19:48 p6eval niecza v9-23-g1a8efca: OUTPUT«Potential difficulties:â�¤  &foo is declared but not used at /tmp/Gbmw9mPazR line 1:â�¤------> [32mmy module Foo { sub foo [33mâ��[31m{say "foo!"}}[0mâ�¤â�¤Â»
19:48 p6eval ..pugs, rakudo 00a115:  ( no output )
19:48 pmurias perl6: my module Foo { sub foo is export {say "foo!"}};use Foo;foo();
19:48 p6eval niecza v9-23-g1a8efca: OUTPUT«Unhandled exception: Unable to locate module Foo in @path␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch NieczaPathSearch.load_module @ 11) ␤  at /home/p6ev…
19:48 p6eval ..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/J50WsxJG6j line 1, column 1␤»
19:48 p6eval ..rakudo 00a115: OUTPUT«===SORRY!===␤Could not find Foo in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot​/3.7.0-devel/languages/perl6/lib, .␤»
19:50 pmurias rakudo,niecza: my module Foo { sub foo is export {say "foo!"}};import Foo;foo();
19:50 pmurias perl6: my module Foo { sub foo is export {say "foo!"}};import Foo;foo();
19:51 p6eval niecza v9-23-g1a8efca: OUTPUT«[31m===[0mSORRY![31m===[0m��Action method statement_control:import not yet implemented at /tmp/zPFwreahtV line 1:�------> [32mb foo is export {say "foo!"}};import Foo[33m�[31m;foo();[0m��Unhandled exception: Unable to resolve method statement_level …
19:51 p6eval ..rakudo 00a115: OUTPUT«Could not find sub &foo␤  in <anon> at /tmp/e9QiB9epgI:1␤  in <anon> at /tmp/e9QiB9epgI:1␤␤»
19:51 p6eval ..pugs: OUTPUT«*** No such subroutine: "&import"␤    at /tmp/ugJFNObI9D line 1, column 49-59␤»
19:51 pmurias sorear: we could treat both assemblies *and* namespaces as modules
19:52 pmurias sorear: first we would import namespaces from assemblies into the lexical scope
19:52 pmurias sorear: and then we would import stuff from the namespaces to avoid typing the prefix everytime
19:53 lumi__ joined #perl6
19:54 sorear pmurias: there's a little subtlety here because namespaces don't exist as first-class objects
19:54 sorear there is no Gtk namespace; the Gtk.Application class has the name ["Gtk", "Application"]
19:55 sorear the Mono.Unix.Native.Syscall class has the name ["Mono.Unix.Native", "Syscall"]
19:55 pmurias so after "using Mono.Unix" Native.Syscall doesn't work?
19:56 colomon sorear: I have my own "fork" of Complex.  In midst of 3rd birthday party, will try to send it to you tonight.  Nothing particularly special about my version, mind you.
19:58 wallberg joined #perl6
20:01 sorear pmurias: the C# compiler does its best to maintain an illusion of hierarchal namespaces
20:04 sorear colomon: 3rd birthday party... what?
20:06 TimToady didn't you know, colomon learned to program at the age of two.  :)
20:06 moritz sorear: of colomon.children[0] probably
20:07 lumi__ joined #perl6
20:07 sorear moritz: ah that makes sense
20:08 sorear I forget that many people here have children of their own
20:09 mj41 joined #perl6
20:16 whiteknight joined #perl6
20:22 lumi__ joined #perl6
20:25 moritz sorear: it's an age thing
20:26 moritz sorear: ie you won't be surprised once you approach the 30
20:28 dalek roast: 106766b | moritz++ | / (2 files):
20:28 dalek roast: unfudge passing tests for rakudo
20:28 dalek roast: review: https://github.com/perl6/roast/commit/106766b1a5
20:29 bbkr moritz: I've added last update date to perl6 modules, example here: http://bbkr.org/p6modules/ (in the footer). Also I changed 90 day ago calculation to much clearer Time::Piece (included in Perl) - http://bbkr.org/p6modules/build-project-list.pl . W3C validated.
20:31 lumi__ joined #perl6
20:32 moritz bbkr: wonderful. Pleae commit right away
20:33 moritz (the perl that runs the script is a 5.14.1)
20:35 dalek modules.perl6.org/gh-pages: bc2a7fb | (Pawel Pabian)++ | / (2 files):
20:35 dalek modules.perl6.org/gh-pages: added last update date in footer, switched date substractions to Time::Piece
20:35 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modul​es.perl6.org/commit/bc2a7fbb2c
20:36 moritz bbkr++
20:36 moritz bbkr: though please cherry-pick that commit to master, that's what feather2 is using
20:38 im2ee joined #perl6
20:42 bbkr Sure, just need few minutes to test it on master branch (no idea why git cloned gh-pages as default).
20:42 lumi__ joined #perl6
20:46 moritz https://github.com/perl6/modules.perl6.org shows master as default
20:46 moritz so I have no idea :(
20:48 bbkr ah, I used tutorial from README to test how it works and it points to gh-pages.
20:49 BooK joined #perl6
20:49 moritz :(
20:50 dalek modules.perl6.org: 16f2a34 | moritz++ | README.md:
20:50 dalek modules.perl6.org: remove README.md, which seems to be out of date, and cover and outdated branch. bbkr++ for noticing
20:50 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/16f2a34868
20:51 [Coke] joined #perl6
20:54 sorear TimToady: How much do we care about encodings that aren't supersets of ASCII?
20:55 lumi__ joined #perl6
21:00 TimToady much less than Ruby :)
21:02 tadzik 'evening
21:02 tadzik masak: t-t-t-t-telephone?
21:08 lumi__ joined #perl6
21:10 sorear TimToady: what about Ruby?
21:12 arnsholt Being Japanese, I think Ruby cares about things like JIS and friends
21:16 Trashlord joined #perl6
21:18 dalek modules.perl6.org: 877676e | (Pawel Pabian)++ | web/ (2 files):
21:18 dalek modules.perl6.org: added last update date in footer, switched date substractions to Time::Piece
21:18 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/877676e14a
21:18 dalek modules.perl6.org: e173698 | (Pawel Pabian)++ | README.md:
21:18 dalek modules.perl6.org: Merge branch 'master' of git://github.com/perl6/modules.perl6.org
21:18 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/e173698551
21:19 * jnthn back
21:21 lumi__ joined #perl6
21:22 sorear arnsholt: JIS is a superset of ASCII
21:23 sorear arnsholt: well, Shift-JIS
21:24 sorear arnsholt: I'm asking about things like EBCDIC
21:27 arnsholt Yeah, so I discovered. I thought it was weirder than it is
21:28 lumi__ joined #perl6
21:28 arnsholt Let's not talk too much about EBCDIC =)
21:31 wamba joined #perl6
21:32 masak arnsholt: thinking something is weirder than it is sounds like a logical impossibility :P
21:33 whiteknight is pmichaud in today?
21:37 lumi__ joined #perl6
21:44 masak tadzik: Hello, hello, baby, you called. I can't hear a thing. I have got no service in the club you say? say?
21:44 tadzik eeh?
21:45 masak <tadzik> masak: t-t-t-t-telephone?
21:45 tadzik po-po-po-po-po-po-pokerface
21:45 masak ;)
21:46 masak I like how line 4 is too short, so she just throws in the last word twice...
21:47 im2ee Good night ! :)
21:47 tadzik night
21:47 jnthn masak: What, you're watching it again? :P
21:48 tadzik popopopopokerface
21:48 bbkr which roast branch should I work on when hunting for tickets to close on NOM  - "master" or "rakudo-master" ?
21:49 jnthn master
21:49 lumi__ joined #perl6
21:49 bbkr thanks
21:50 masak jnthn: no, I just pulled up the lyrics :P
21:50 masak jnthn: once a quarter is quite enough...
21:51 masak roast has branches?
21:53 sorear masak: yeah
21:53 sorear roast/master corresponds to rakudo/nom and niecza/master
21:53 sorear roast/rakudo-master is used so that people can continue to spectest ŋ
21:56 masak heh, ŋ
21:57 masak Beijiŋ
21:58 masak sorear: $ gacutil -l gtk-sharp
21:58 masak The following assemblies are installed into the GAC:
21:58 masak Number of items = 0
21:59 masak rakudo: "README".IO.get
21:59 p6eval rakudo 00a115: OUTPUT«Method 'readline' not found for invocant of class 'Mu'␤  in method get at src/gen/CORE.setting:4714␤  in <anon> at /tmp/syVUsRDxyR:1␤  in <anon> at /tmp/syVUsRDxyR:1␤␤»
22:00 masak so... in order for this to work, IO.get has to auto-open the $!PIO.
22:00 tadzik is that spec-legal?
22:00 sorear masak: oh, your problem is extremely simple then.  You don't have Gtk# installed. :)
22:00 masak sorear: oh!
22:01 sorear tadzik: dubious
22:01 masak sorear: I installed gtk.
22:01 tadzik an error message could be More Awesome
22:01 sorear tadzik: ingyist elements in the community want paths and handles to autopun.
22:02 tadzik mhm
22:02 sorear tadzik: the spec is still extremely slushy though
22:02 lumi__ joined #perl6
22:02 sorear for the time being niecza implements a model where paths and handles are non-interchangable
22:04 sorear masak: incidentally, I wonder if it would make sense for CLR:: references to throw exceptions instead of returning Any like GLOBAL:: references should
22:05 sorear masak: also, I'm thinking a lot about graphemes today.  The main issue I'm thinking about is that if Perl normalizes filenames returned by dir it'll cause major problems
22:06 sorear masak: the same problem occurs in other guises - CLR interop strings shouldn't be normalized either
22:11 tadzik 'gnight #perl
22:17 lumi__ joined #perl6
22:22 masak 'night, tadzik
22:22 masak sorear: I think it might make sense to throw exceptions, yes.
22:22 soh_cah_toa joined #perl6
22:22 masak sorear: though I liked the idea of :from<CLR> better.
22:23 sorear masak: whether or not we work out a design for :from<CLR>, it makes a lot of sense to have a way to access unimported types
22:23 sorear (but I'm more interested in NFG right now nudge nudge)
22:24 masak ;)
22:24 masak I'm thinking filenames might need to be Buf.
22:28 lumi__ joined #perl6
22:43 lumi__ joined #perl6
22:43 Chat8892 joined #perl6
22:43 snikkers joined #perl6
22:54 lumi__ joined #perl6
23:02 whiteknight joined #perl6
23:04 lumi__ joined #perl6
23:05 bbkr joined #perl6
23:07 bbkr when committing to test suite back in SVN days there was some commit syntax that triggered comment in RT. is it still in use? if so - can someone please remind me the syntax?
23:15 sorear walk&
23:20 lumi__ joined #perl6
23:28 patspam joined #perl6
23:33 lumi__ joined #perl6
23:45 TimToady http://rosettacode.org/wiki/​Hello_world/Graphical#Perl_6 <-- sorear++
23:49 lumi__ joined #perl6
23:51 * TimToady thinks that all foreign object systems live *under* Mu, and the default Perl 6 constructor comes from Any, not from Mu.
23:51 jnthn TimToady: new is in Any?
23:51 jnthn TimToady: Do foreign objects live under Any or Mu?
23:52 * jnthn had imagined Any...
23:53 TimToady I think Any is a bit too concrete for foreign object systems, if you have to override its semantics
23:53 TimToady foreign objects feel more like "concepts" to me
23:53 TimToady and concepts like Junction live outside Any
23:54 jnthn fairy nuff
23:55 jnthn From my point of view, they just have different meta-objects, and a meta-object can claim to do whatever type it feels like :)
23:55 jnthn It does mean you have to specifically write code that should work on foreign objects to expect them.
23:55 TimToady possible Cool could know about various external types that it chooses to delegate coolness to, but I'm suspicious of attempts to interleave the class hierarchies
23:56 jnthn *nod*
23:56 TimToady in particular, I'm scared of other language's strings right now :)
23:58 dalek roast: eb9398c | (Pawel Pabian)++ | S10-packages/basic.t:
23:58 dalek roast: fixed multiline evals that were causing trouble with fudging
23:58 dalek roast: review: https://github.com/perl6/roast/commit/eb9398cd29
23:58 dalek roast: 9875994 | (Pawel Pabian)++ | S10-packages/basic.t:
23:58 dalek roast: [S10-packages/basic.t] tests for #65404 - Null PMC access when A.perl is called on a package A
23:58 dalek roast: review: https://github.com/perl6/roast/commit/9875994b5f
23:58 dalek roast: 46859cd | (Pawel Pabian)++ | S10-packages/basic.t:
23:58 dalek roast: [S10-packages/basic.t] tests for #65404 - Null PMC access when A.perl is called on a package A
23:58 dalek roast: review: https://github.com/perl6/roast/commit/46859cd9bc
23:58 masak 'night, #perl6

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

Perl 6 | Reference Documentation | Rakudo