»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
dalek | ecza: 1e86f79 | sorear++ | lib/NieczaCLR.cs: First interim test harness for CLR interop |
00:06 | |
00:12
Chillance left,
lumi__ left
00:13
lumi__ joined
|
|||
dalek | ecza: 154255a | sorear++ | lib/NieczaCLR.cs: Tweak overload resolution process to actually work |
00:18 | |
sorear | niecza can now run multi-dispatch for System::Console.WriteLine("Hello, world") | ||
the CLR-overload-MMD system has not yet been integrated with the object system | 00:19 | ||
00:24
lumi__ left,
lumi__ joined
00:25
Limbic_Region left
00:34
lumi__ left
00:35
lumi__ joined
00:47
lumi__ left
00:48
lumi__ joined
00:50
Moukeddar joined,
Moukeddar left
01:03
patspam joined,
lumi__ left,
tokuhirom joined,
jaldhar joined
01:04
lumi__ joined
01:05
whiteknight joined,
patspam left
01:10
soh_cah_toa joined
01:16
soh_cah_toa left
|
|||
dalek | ecza: e28d2ba | sorear++ | lib/NieczaCLR.cs: Create CLR-wrapper objects |
01:16 | |
01:20
soh_cah_toa joined,
lumi__ left
01:21
lumi__ joined
01:37
uasi joined
01:39
daniel-s left
01:42
soh_cah_toa_ joined,
lumi__ left
01:43
soh_cah_toa left,
lumi__ joined
01:50
packetknife joined
01:52
alvis_ left
01:53
ranguard left
01:56
lumi__ left,
lumi__ joined
02:01
uasi left
02:02
ranguard joined
02:06
lumi__ left
02:07
lumi__ joined
02:13
tokuhirom left
02:19
bluescreen10 left
02:29
packetknife left
|
|||
dalek | ecza: acb2aad | sorear++ | / (5 files): Implement CLR:: psuedopackage |
02:33 | |
sorear | niecza> CLR::System::Console.WriteLine("Hello, World") | ||
Hello, World | |||
Nil | |||
02:38
lumi__ left
02:39
lumi__ joined
02:40
whiteknight left
|
|||
dalek | ecza: d30d449 | sorear++ | lib/NieczaCLR.cs: Small fixes to allow use of instances of CLR objects |
02:44 | |
02:49
lumi__ left
02:50
lumi__ joined
02:57
envi joined
03:00
lumi__ left
03:03
lumi__ joined
03:27
alvis joined,
lumi__ left,
lumi__ joined
03:29
soh_cah_toa_ left
|
|||
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)» | ||
colomon | niecza: my $n = 4; my @approxs := 0, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs[10]; | ||
p6eval | niecza v9-16-gd30d449: OUTPUT«Infinity» | ||
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» | ||
colomon | niecza: my $n = 4; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x,1 $y { ($x - $y).abs < 1/100000 }; say ~@approxs[^10]; | ||
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… | ||
colomon | niecza: my $n = 4; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x,1 $y { ($x - $y).abs < 1/100000 }; say ~@approxs; | ||
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… | ||
colomon | ? | 03:37 | |
03:37
daniel-s joined
|
|||
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… | ||
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» | ||
colomon | bingo | ||
b: my $n = 2; my @approxs := 1, -> $x { ($x + $n / $x) / 2 } ... -> $x, $y { ($x - $y).abs < 1/100000 }; say ~@approxs; | |||
p6eval | b 1b7dd1: OUTPUT«1 1.5 1.41666666666667 1.41421568627451 1.41421356237469» | ||
03:40
lumi__ left
|
|||
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
|
|||
colomon | b: say 2.64575131106459 ** 2 | 03:41 | |
p6eval | b 1b7dd1: OUTPUT«7» | ||
colomon | that's probably been done before, but I can't recall doing it myself. :) | 03:47 | |
03:53
lumi__ left
03:54
lumi__ joined
|
|||
sorear | colomon: a question? | 04:05 | |
colomon | yes? | 04:15 | |
sorear | no, I'm asking if you're asking a question | ||
colomon | oh, I didn't have one at the moment. | ||
04:16
kfo joined,
imbafrog joined
|
|||
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 | |
finally making real progress at it, anyway, instead of just thinking about it. :) | |||
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? | ||
p6eval | niecza v9-16-gd30d449: OUTPUT«1 4/1 23/8 977/368 1902497/719072 7238946623297/2736064645568 2.64575131106459» | ||
colomon | sorear: yes | ||
04:19
kfo_ left
|
|||
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__ left,
lumi__ joined
|
|||
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:23 | |
04:27
imbafrog left
|
|||
sorear | ([: -: [ + 7 % [)^:(<_) (1) | 04:28 | |
1 4 2.875 2.65489 2.64577 2.64575 2.64575 | |||
sorear ducks | |||
04:33
lumi__ left,
lumi__ joined
|
|||
colomon | explanation? | 04:33 | |
sorear | colomon: that's the J version | ||
benabik | quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#) | 04:34 | |
(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" | ||
TiMBuS | all i ever see in J/K code are unhappy smileys | ||
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
|
|||
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? | ||
sorear | writing J is definitely easier than reading it | ||
also I still can't grok $: | 04:39 | ||
TiMBuS | seems more like silence. | ||
jlaire | writing J is easier for me too, but I wouldn't be suprised if more experienced J programmers disagreed | 04:40 | |
sorear notices that ey only uses "grok" in the negative | 04:41 | ||
sorear ponders how best to expose CLR "events" to P6 | 04:43 | ||
04:44
lumi__ left
|
|||
sorear | (in C#) Console.CancelKeyPressed += Handler1; Console.CancelKeyProessed -= Handler1; | 04:44 | |
04:44
lumi__ joined
|
|||
sorear | (in ilasm) callvirt class [mscorlib]System.Console::add_CancelKeyPressed(class [mscorlib]System.ConsoleCancelEventHandler) | 04:46 | |
04:48
risou_awy is now known as risou
|
|||
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 | |
copying data structures in getters just to protect them from modifications seems so silly from a C++ perspective | |||
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. | 04:51 | |
05:06
REPLeffect left
05:10
lumi__ left
05:12
lumi__ joined
05:19
REPLeffect joined
05:24
lumi__ left,
lumi__ joined
|
|||
dalek | ecza: 5e6faa7 | sorear++ | lib/NieczaCLR.cs: Add support for accessing properties and fields |
05:29 | |
sorear | now I can do stuff like | ||
niecza> CLR::System::Environment.CurrentDirectory = "/" | |||
niecza> CLR::System::Environment.OSVersion.Version.ToString | 05:30 | ||
"2.6.32.5" | |||
jlaire | that's pretty cool | 05:38 | |
sorear | biggest remaining infelicity: type-directed marshalling falls over with parameters of type "object" | 05:41 | |
05:42
alvis left
|
|||
sorear | if I try to do $hashtable.ContainsKey("PATH"), it passes an instance of Niecza.BoxObject`1[System.String] | 05:42 | |
because it doesn't have a type to direct the unboxing | |||
the argument could be made that a few basic undirected coercions (Str->string, Int->int, Rat,Num->double) be made | 05:43 | ||
05:43
alvis_ joined
05:44
lumi__ left,
lumi__ joined
05:56
lumi__ left,
alvis_ left
05:57
lumi__ joined,
mj41 joined,
zby_home_ joined
|
|||
sorear | huh, weird. seems loading GAC libraries only works if I include the PublicKeyToken | 05:57 | |
06:05
orafu left,
orafu joined
06:10
lumi__ left
06:11
lumi__ joined
06:13
mj41 left,
wamba joined
|
|||
moritz | good morning | 06:19 | |
06:20
zby_home_ left
06:23
zby_home__ joined
06:25
lumi__ left
06:26
lumi__ joined
|
|||
sorear | good morning moritz | 06:34 | |
mberends | good morning sorear, morit | ||
z | |||
sorear | o/ mberends | 06:35 | |
mberends | sorear: the LR integration seems to be going well | ||
*CLR | |||
sorear | oh, huh. | ||
mberends <- bad typist | 06:36 | ||
sorear | I spent the last half-hour fretting about ways to shave milliseconds off the CLR marshalling layer | ||
mberends | ooh | ||
sorear | but apparently it's already halfway-decently fast | ||
11.47 µs for $rng.Next(100,200) | |||
06:37
lumi__ left
|
|||
mberends | yes, that's good | 06:37 | |
sorear | more like 11.5 ± 0.5 | ||
sorear should read the error bars before talking | |||
06:37
lumi__ joined
|
|||
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 | |
06:38
agentzh joined
|
|||
sorear | Niecza-CLR interop is currently entirely using System.Reflection | 06:38 | |
$rng.Next(100,200) juggles pointers to do the marshal, then calls MethodInfo.Invoke(object, object[]) | 06:39 | ||
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. | ||
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 left,
jevin joined
|
|||
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:43 | |
mberends: I had the same impression | 06:44 | ||
sorear is trying to find a way to do the equivalent of default(T) using the reflection API | 06:45 | ||
apparently, some structs have no constructor, so I can't create objects though the constructor. | 06:46 | ||
ohhohhoh this is evil | 06:48 | ||
Array.CreateInstance(t, 1).GetValue(0) | |||
mberends | :-) twisty | 06:49 | |
06:49
lumi__ left
06:50
lumi__ joined
|
|||
mberends | sorear: I think jnthn++ and diakopter++ would approve :) | 06:50 | |
sorear | mberends: have you seen masak++'s grant application? I'm wondering if I should comment. | 06:57 | |
mberends | sorear: not yet, but I plan to. (now sooner, since it's of interest) | 06:58 | |
sorear | mberends: news.perlfoundation.org/2011/09/hag...mplem.html | 06:59 | |
mberends | sorear: thanks, I was still scanning the main page | 07:00 | |
07:04
SHODAN joined,
lumi__ left
07:05
lumi__ joined
|
|||
pmichaud | sorear: why would you not comment, ooc? | 07:09 | |
07:11
JimmyZ joined
|
|||
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? | ||
pmichaud | not having a clear idea what to say is a good reason (more) | 07:13 | |
the kinds of comments they're looking for: do you think it's worthy? is it important? | 07:14 | ||
or, if you see problems with the proposal, what are they? | |||
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 | ||
07:15
wamba left
|
|||
pmichaud | maybe see the comments given on previous hague proposals | 07:15 | |
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. | ||
pmichaud | oh, they'll certainly be used for that | 07:17 | |
mberends | sorear: that uncertainty certainly (;)) bothers me | ||
JimmyZ wonders if amount request is suited or not | |||
07:17
lumi__ left
|
|||
pmichaud | the lack of a clear macro definition has hindered rakudo progress several times | 07:17 | |
mberends | I thought so... | 07:18 | |
07:18
lumi__ joined
|
|||
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 | :) | ||
pmichaud | sorear: here are some previous applications that have comments: | 07:19 | |
news.perlfoundation.org/2011/02/hag...truct.html | |||
news.perlfoundation.org/2010/07/hag...eta-m.html | |||
news.perlfoundation.org/2010/06/hag...erl-e.html # this one was controversial and ultimately was not funded | |||
(this last one had 46 comments) | |||
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:21 | ||
moritz | pmichaud: tadzik++ and I have both submitted our comments already | 07:22 | |
pmichaud | moritz: I'm guessing they haven't been approved yet. | ||
moritz | pmichaud: they are just held for approval by the... right | 07:23 | |
mberends | my comments added too | ||
pmichaud | excellent. | ||
moritz | pmichaud: note that the last one you linked wasn't rejected, afaict. It just was never acted upon | ||
07:24
jamtech joined
|
|||
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 | |||
pmichaud | JimmyZ: that's useful as a comment, then. | ||
moritz | JimmyZ: you can simply say as much in your comment | ||
pmichaud | your comment can be "I'm not sure the amount is correct." | ||
JimmyZ | thanks | ||
pmichaud | (along with anything else you'd like to mention, of course) | 07:25 | |
sorear | commented | 07:29 | |
07:29
lumi__ left
|
|||
pmichaud | sorear++ | 07:29 | |
07:29
lumi__ joined
|
|||
pmichaud | tadzik++ moritz++ JimmyZ++ mberends++ # for completeness :) | 07:30 | |
bedtime here... bbl | 07:31 | ||
sorear | bye | 07:32 | |
mberends | o/ | ||
JimmyZ submitts comment | 07:33 | ||
mberends | JimmyZ++ # for completeness :) | ||
JimmyZ | hehe | 07:34 | |
07:37
lumi__ left,
lumi__ joined
07:38
Trashlord joined
|
|||
Tene | Hmm. Something seems off about the deliverables. | 07:39 | |
lemme read it again, see if I can work out what it is. | 07:40 | ||
07:47
pmurias joined
07:48
pmurias left
|
|||
dalek | ecza: 4875297 | sorear++ | / (3 files): Add functions for explict marshalling/unmarshalling and creating zero value types, improves handling of object args/returns |
07:49 | |
sorear | niecza> CLR::System::Environment.GetEnvironmentVariables.Item("PATH").unmarshal | ||
"/home/stefan/bin:/usr/local/bin:/usr/local/games:/usr/games:/usr/bin:/bin:/usr/bin/X11" | |||
better | |||
mberends | sorear++ | 07:50 | |
07:51
Alias joined
07:52
lumi__ left
07:53
lumi__ joined
07:55
wamba joined
08:01
lumi__ left
08:02
lumi__ joined
|
|||
dalek | ecza: 0f884ca | sorear++ | lib/ (2 files): Improve stringification, allow some access to events and operators |
08:23 | |
08:28
lumi__ left
08:29
lumi__ joined
08:30
masak joined
|
|||
masak | morning, #perl6 | 08:30 | |
pmichaud | masak: o/ | 08:31 | |
mberends | hello masak | ||
JimmyZ | good morning, masak | 08:33 | |
08:36
clairvy joined
|
|||
masak is not sure whether to participate in the discussion about the grant proposal or not ;) | 08:36 | ||
anyway, it's nice to read the backlog and see you take an interest in it. | |||
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 :) | ||
masak | ok, then. | 08:38 | |
pmichaud | (same goes for comments on the perlfoundation page, I think) | ||
at least, that's the approach I've generally taken. | |||
masak | D4 *is* the high-risk one. I say as much in the grant proposal. | ||
pmichaud | I think high risk is okay. | ||
masak | essentially, the structure of the grant and the payments already make it into two separate grants. | ||
pmichaud | right | 08:39 | |
masak | where D4 makes up most of the latter half. | ||
pmichaud | I think it's better to have one big proposal than two smaller ones. | ||
masak | so I'm not sure how to acquiesce mberends' request :P | ||
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:41
lumi__ left
|
|||
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
|
|||
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. | ||
it's also a very important part of macro functionality. | 08:44 | ||
not being able to define subs in a quasi is quite a heavy limitation. | 08:45 | ||
mberends | I'd even like D4 to be isolated so that another developer potentially does the work. Bus number and all that. | 08:46 | |
masak | if I may invoke YAGNI at that point... :) | 08:47 | |
08:47
frhodes joined
|
|||
masak | someone could salvage it from my proposal if a bus does materialize. | 08:48 | |
my point is that we don't really "have macros" in any serious sense until we have D4. | |||
JimmyZ agrees with masak++ | 08:49 | ||
08:49
bbkr joined
|
|||
pmichaud | afk again for a bit | 08:49 | |
bbkr | good morning | ||
masak | go' mo', bbkr | ||
08:51
frhodes left
|
|||
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:52 | |
08:54
lumi__ left
08:55
lumi__ joined,
frhodes joined
|
|||
pmichaud | bbkr: you just need an array of integers? | 08:58 | |
09:06
im2ee joined
|
|||
im2ee | Hey! :) | 09:06 | |
Tene | masak: can you explain what D1 would actually be? I don't quite follow. | 09:08 | |
09:08
REPLeffect left
|
|||
dalek | ecza: 76367f7 | sorear++ | / (2 files): Add delegate auto-marshalling and an example using System.IO.FileSystemWatcher |
09:11 | |
sorear | pssst, masak, you can now write directory-monitoring code with Perl 6 | ||
09:11
Chillance joined
|
|||
masak | ooh | 09:12 | |
09:12
lumi__ left
09:13
lumi__ joined
|
|||
masak | Tene: macro foo { quasi { say "OH HAI" } }; say "before"; foo; say "after" | 09:14 | |
or, perhaps (more) | |||
Tene: macro foo { say 1; quasi { say 3 } }; say 2; foo; say 4 | |||
im2ee: hi! | 09:15 | ||
09:15
replore left
|
|||
im2ee | masak, how did You learn p6? :) | 09:19 | |
masak, from official documentation? own test? :) | 09:20 | ||
09:20
frhodes left
|
|||
masak | im2ee: I read the spec and wrote a lot of code. | 09:21 | |
09:22
REPLeffect joined
|
|||
bbkr | pmichaud: yes, array of integers | 09:23 | |
09:24
lumi__ left
09:25
lumi__ joined
|
|||
tadzik | good moritz #perl6 | 09:27 | |
masak | good mberends tadzik | 09:29 | |
09:29
frhodes joined,
frhodes left
09:30
frhodes joined
|
|||
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 | |
im2ee: a bit like empirical science. | |||
im2ee: for example, I would wonder "are an object's private attributes visible from deriving classes?" | 09:32 | ||
rakudo: class A { has $!x }; class B is A { method foo { say $!x } }; say "alive" | |||
p6eval | rakudo 00a115: OUTPUT«===SORRY!===Attribute $!x not declared in class B at line 1, near " } }; say "» | ||
masak | ...guess not ;) | ||
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 | |
s/I'm not/I'm not sure/ | |||
masak | b: class A { has $!x }; class B is A { method foo { say $!x } }; B.new.foo | 09:35 | |
p6eval | b 1b7dd1: OUTPUT«Any()» | ||
masak | b: class A { has $!x }; class B is A { method foo { say $!x } }; B.new(:x(42)).foo | ||
p6eval | b 1b7dd1: OUTPUT«42» | ||
masak | nom++ | ||
dalek | ecza: ad1fcdd | sorear++ | examples/gtk1.pl: Add a tested small GTK# sample |
09:36 | |
JimmyZ | b: is nom or ng? | ||
p6eval | b 1b7dd1: OUTPUT«===SORRY!===Confused at line 22, near "is nom or "» | ||
sorear | ng | ||
JimmyZ | oh | ||
tadzik | there are a few tests for that :) | ||
rakudo: say NaN ~~ NaN ?? "nom" !! "ng" | |||
p6eval | rakudo 00a115: OUTPUT«nom» | 09:37 | |
tadzik | b: say NaN ~~ NaN ?? "nom" !! "ng" | ||
p6eval | b 1b7dd1: OUTPUT«nom» | ||
tadzik | oops | ||
09:37
lumi__ left
|
|||
sorear waits for people to notice ad1fcdd | 09:37 | ||
09:37
lumi__ joined
|
|||
tadzik | sorear: that's pretty cool | 09:38 | |
masak | sorear++ | 09:40 | |
sorear -> sleep | 09:44 | ||
mberends | GTK on Niecza? sorear++ sorear++ | 09:45 | |
09:45
frhodes left,
frhodes joined
09:46
donri joined
09:49
lumi__ left
09:50
lumi__ joined
09:56
MayDaniel joined
10:00
lumi__ left
|
|||
mberends | mono run/Niecza.exe examples/gtk1.pl # a GUI "Hello World" Just Works! sorear++ | 10:01 | |
10:01
wamba left,
lumi__ joined
10:06
clairvy left
|
|||
masak simply has to try it too now | 10:06 | ||
bbkr | where are nqp:: methods documented? | 10:07 | |
masak | bbkr: probably easiest to go for the source: github.com/perl6/nqp/tree/master/src/core | 10:08 | |
bbkr | thanks. "use the force, read the source" :) | 10:10 | |
10:11
lumi__ left
|
|||
tadzik | hehe | 10:11 | |
masak | well, there's something very... authoritative... about executable code. | ||
that's why I like the idea of executable specs. | |||
tadzik | you can trust them | 10:12 | |
10:12
lumi__ joined
10:14
wamba joined
|
|||
masak | phenny: tell sorear that I tried gtk1.pl, and it didn't work: gist.github.com/1208171 | 10:14 | |
phenny | masak: I'll pass that on when sorear is around. | ||
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. | ||
masak | bbkr: wish I could help you there. it doesn't seem that easy to just "workaround" the lack of Str.encode. | 10:22 | |
10:25
lumi__ left,
whiteknight joined
10:26
lumi__ joined
|
|||
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… | ||
masak | rakudo: .say for "README".IO.lines | ||
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… | ||
masak | I presume that both of these should still work. | 10:28 | |
error seems to be originating on line 61 of src/core/IO.pm, when it is discovered that $!PIO contains a Mu. | 10:30 | ||
why it contains a Mu, I don't know. | |||
probably code that got ported over from Beijing but doesn't work in nom. | 10:31 | ||
10:31
Trashlord left
10:32
wamba left
10:36
lumi__ left,
lumi__ joined,
bbkr left
10:38
bbkr joined
10:56
birdwindupbird joined
10:59
MayDaniel left
11:00
ggoebel left
11:01
ggoebel joined
11:05
lumi__ left
11:06
lumi__ joined
11:08
am0c left
11:09
agentzh left
11:18
JimmyZ left
11:23
lumi__ left
11:24
lumi__ joined
11:27
MayDaniel joined
|
|||
moritz | I think the problem is that lines() assumes it can just call .get | 11:29 | |
11:29
wamba joined
|
|||
moritz | but Str.IO doesn't open the file (and it shouldn't, because Str.IO ~~ :e doesn't need an open()) | 11:29 | |
11:35
lumi__ left,
lumi__ joined
11:38
Patterner left
11:39
Psyche^ joined,
Psyche^ is now known as Patterner
11:46
MayDaniel left
11:50
lumi__ left
11:51
lumi__ joined
|
|||
masak | ah. yes, that would explain it. | 12:12 | |
so $!PIO needs to be lazily initialized, as it were. | 12:13 | ||
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» | ||
masak | :) | 12:16 | |
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
lumi__ left
|
|||
masak | rakudo: (class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).quiet; say "alive" | 12:18 | |
p6eval | rakudo 00a115: OUTPUT«alive» | ||
masak | bzzzzt! | ||
niecza: (class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).quiet; say "alive" | |||
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… | ||
masak | correct-er, at least. | ||
12:19
lumi__ joined
|
|||
masak | niecza: (class Too { method quiet($_:) { "I was called!" } }).quiet; say "alive" | 12:19 | |
p6eval | niecza v9-21-gad1fcdd: OUTPUT«alive» | ||
masak | oh :) | ||
rakudo: say (class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).quiet; say "alive" | |||
p6eval | rakudo 00a115: OUTPUT«Too quiet in here todayalive» | ||
masak | Rakudo, all is forgiven ;) | ||
masak submits himself to RT | |||
moritz can't reproduce masak, and closes ticket | 12:20 | ||
masak | phew! | 12:21 | |
rakudo: say (my $c = class Too { method quiet($_:) { .WHAT.perl, .^methods(:local), <in here today> } }).^methods(:local)[0]($c) | |||
p6eval | rakudo 00a115: OUTPUT«Too quiet in here today» | ||
masak | look! total DRY! :P | ||
moritz | 90omn oö.l bn hg b n hjbnm ,zunhjn b bä-hnujmk,mpuzn b | 12:22 | |
that was my small predator again, sorry | 12:23 | ||
masak | don't be sorry, it's cute! :) | 12:24 | |
(and sufficiently easy to distinguish from your normal output) :) | |||
ah, the comments have showed up on news.perlfoundation.org/2011/09/hag...mplem.html | |||
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:26 | ||
12:29
lumi__ left
12:30
lumi__ joined
|
|||
jnthn | Whoa. I just slept 11+ hours solid. | 12:30 | |
masak | good moritz and ronja, jnthn | 12:35 | |
12:38
im2ee left
12:39
im2ee joined
12:43
lumi__ left
12:44
lumi__ joined
12:51
mikemol left
|
|||
bbkr | what happened to parrot Parcel type? was it renamed somehow or completely removed? | 12:54 | |
jnthn | There was a Parrot level Parcel type? I didn't remember taht. | 12:55 | |
moritz neither | |||
parrot has (or had) a Capture | |||
12:56
lumi__ left
|
|||
jnthn | Yeah. Aside from PAST/POST nodes, we've mostly stopped using it. | 12:57 | |
12:57
lumi__ joined
|
|||
jnthn | A 6model object with a hash slot and and a list slot is less memory/allocations. | 12:57 | |
So we just do that for Cursor/Match in NQP now. | 12:58 | ||
bbkr | thanks. i'll check this Capture type. | 12:59 | |
13:00
mikemol joined
|
|||
jnthn | Noooo! | 13:00 | |
I've spent long enough killing off our use of the darn thing. | |||
Unless you're working on soemthing != Rakudoo or NQP, in which case do as you wish :) | |||
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:04
lumi__ left
13:05
lumi__ joined
|
|||
bbkr | jnthn: since Buf implementation is ready all I need is raw Str bytes, something like old parrot ByteBuffer | 13:05 | |
jnthn: but I haven't found a way how to extract them in nom since morning | 13:06 | ||
s/since/until/ | |||
I think I'll just wait for Buf to be usable, low level hacking in user modules is evil | 13:08 | ||
13:10
bbkr left
|
|||
jnthn | bbkr: Probably the best option. | 13:12 | |
ooh, he went | |||
13:15
lumi__ left
13:16
lumi__ joined
13:18
clairvy joined
13:21
lumi__ left,
lumi__ joined
13:26
wamba left
13:30
birdwindupbird left
13:31
lumi__ left
13:32
lumi__ joined,
uasi joined
13:35
JimmyZ joined
13:47
colomon left
|
|||
masak | Python 4 getting 1-based lists. mail.python.org/pipermail/python-id...11448.html | 13:48 | |
...and the HN conversation: news.ycombinator.com/item?id=2980615 | 13:49 | ||
and the HN conversation mentions p5's $[ | 13:51 | ||
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 | |
</sarcasm> | |||
13:52
lumi__ left
13:53
lumi__ joined
|
|||
moritz | news.ycombinator.com/item?id=2980916 | 13:53 | |
masak | yes, it is a joke. | 13:55 | |
but one that maybe sheds some light on Python, its community, and Guido ;) | |||
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"? | ||
masak | arrays can have any exotic *secondary* indices you care to give them, but they still map down to sensible *primary* indices. | ||
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? :) | ||
masak | im2ee: have you found S12? | ||
im2ee | I'm reading it now. :) | ||
perlcabal.org/syn/S12.html - right? | |||
moritz | im2ee: perlgeek.de/blog-en/perl-6/object-c...ation.html | ||
masak was just going to paste that :) | |||
that article is great. moritz++ | 13:58 | ||
the only *better* explanation I've seen was from a slide in jnthn++'s OO course. | |||
im2ee | moritz, this is what i want. Thanks. :) | ||
moritz | masak: does it still conform to your current understanding of BUILD etc.? | ||
13:58
Aridai joined
|
|||
masak | moritz: I'd need to read more carefully to see that. | 13:59 | |
will do that in 15 minutes or so. | |||
moritz | I don't think I've ever updated that post in a major way | ||
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? | ||
jnthn | im2ee: You inherit a default new from Mu. | ||
im2ee | i mean new method. | ||
14:01
lumi__ left
|
|||
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
|
|||
im2ee | Or just give me sites: ) | 14:01 | |
jnthn | im2ee: Mu is the ultimate base type. Everything in Perl 6 inherits from it. | ||
rakudo: class Foo { }; say Foo.^parents | |||
p6eval | rakudo 00a115: OUTPUT«Any() Mu()» | ||
jnthn | rakudo: class Foo { }; say Foo.^mro | 14:02 | |
14:02
betterwo1ld left
|
|||
p6eval | rakudo 00a115: OUTPUT«Foo() Any() Mu()» | 14:02 | |
im2ee | I just want to assign values to some private attributes :) | ||
jnthn | OK | 14:03 | |
You can either do it at the point of declaration: | |||
im2ee | So, Mu does it? | ||
jnthn | has $!answer = 42; | ||
Or you can write a BUILD submethod if you need something more complex. | |||
im2ee: Mu gives you a default thing | 14:04 | ||
im2ee: But it won't initialize privates for you | |||
im2ee | My::Module.new( value1 => 1, value2 => 2); I want to make it look like this. | ||
jnthn | OK, and you have something like | ||
has $!value1; | |||
has $!value2; | |||
? | |||
im2ee | Yes. | ||
jnthn | OK, so you need to write something like | ||
submethod BUILD(:$!value1, :$!value2) { } | |||
moritz | im2ee: if they are *private*, why do you want the user to set them? | 14:05 | |
im2ee: the user shouldn't care about your privates | |||
14:05
whiteknight left
|
|||
im2ee | jnthn, ok it's clear now. :) | 14:05 | |
14:05
betterworld joined
|
|||
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:07 | |
It's correct? :) | 14:08 | ||
14:08
wamba joined
|
|||
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. | ||
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 | ||
masak | private attributes can not be set through default .new -- there's a reason for that. | ||
moritz | im2ee: if you make them private, you get that (setting through .new) by default | ||
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. | ||
*user | |||
moritz | rakudo: class A { has $.b }; my $o = A.new(b => 42); say $o.b | 14:10 | |
p6eval | rakudo 00a115: OUTPUT«42» | ||
jnthn | im2ee: has $.x is rw; # need this for outside modification | ||
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? | ||
rakudo: class A { has $.b }; my $o = A.new(b => 42); say $o.b; $o.b = 12; | 14:12 | ||
p6eval | rakudo 00a115: OUTPUT«42Cannot assign to a readonly variable or a value in <anon> at /tmp/t2af6HgsV1:1 in <anon> at /tmp/t2af6HgsV1:1» | ||
jnthn | im2ee: Correct. | ||
im2ee | Ok, so that is what i was looking for. :) | ||
jnthn | :) | ||
im2ee | Thanks jnthn, moritz, masak :) | 14:13 | |
14:13
lumi__ left
|
|||
moritz | you're welcome | 14:13 | |
im2ee | Hm, i have another question. Why do you write ++ after nick ? :) | ||
masak | im2ee: it's a sign of appreciation. | ||
also, | |||
karma moritz | |||
aloha | moritz has karma of 1933. | ||
moritz | im2ee: we increment "karma" that way | ||
14:14
lumi__ joined
|
|||
masak | im2ee: means moritz has gotten 1933 ++s. | 14:14 | |
im2ee | Ok, clear :) great idea | ||
moritz | or a few more, but also a few more -- :-) | ||
im2ee | karma im2ee | ||
aloha | im2ee has karma of 1. | ||
im2ee | :) | ||
masak | moritz++ # because he has so much karma -- oh wait | ||
jnthn | karma jnthn | ||
aloha | jnthn has karma of 1129. | ||
jnthn | Still catching up with moritz++ :) | ||
im2ee | karma moritz | 14:15 | |
aloha | moritz has karma of 1935. | ||
im2ee | :) | ||
moritz | karma jonathan | ||
aloha | jonathan has karma of 2197. | ||
masak | o.O | ||
moritz | that also belongs to jnthn | ||
jnthn | ... | ||
masak | that jonathan guy is awesome! | ||
moritz | (misreported by dalek) | ||
masak | jnthn: you should be more like him! | ||
jnthn | nom: say 1129 + 2197 | ||
p6eval | nom 00a115: OUTPUT«3326» | ||
moritz | karma moritz_ | ||
aloha | moritz_ has karma of 230. | ||
masak | nom: say 1129 * 2197 | ||
p6eval | nom 00a115: OUTPUT«2480413» | ||
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 | |
14:16
Aridai left
|
|||
masak | so people would go "me++" and then contentedly check the karma of 'me' | 14:16 | |
im2ee | has $var equals has $.var ? :) | 14:17 | |
masak | im2ee: no it equals 'has $!var' | ||
im2ee: but I'd put in the '!' if I were you. | |||
im2ee | using ! and . always is better i think. :) | 14:18 | |
JimmyZ | karma JimmyZ | ||
aloha | JimmyZ has karma of 22. | ||
JimmyZ | karma jimmy | ||
aloha | jimmy has karma of 74. | ||
im2ee | karma doiexist | 14:19 | |
aloha | doiexist has karma of 0. | ||
jnthn | karma ran over dogma | ||
aloha | ran over dogma has karma of 0. | ||
im2ee | ok, i go back to perl6 :) | ||
masak | karma I don't know what | ||
aloha | I don't know what has karma of 0. | ||
im2ee | howdoyoudo++ | 14:20 | |
14:20
MayDaniel joined
|
|||
im2ee | karma howdoyoudo | 14:20 | |
aloha | howdoyoudo has karma of 1. | ||
im2ee | howdoyoudo doesn't exist, so maybe aloha can warn in this situation? :) | ||
masak | moritz: nit: s/Object/Mu/ | 14:21 | |
moritz | masak: just noticed too, thanks | ||
im2ee: use of undefined value in ++ at line ... :-) | |||
im2ee | :) | ||
masak | moritz: "a submethod is a public method that's not inherited to child classes" -- well, a *public* submethod is that ;) | ||
moritz | masak: afaict all submethods are public, because private methods are submethods anyway | 14:22 | |
masak | rakudo: class A { submethod !foo() { say "OH HAI" }; method bar { self!foo } }; A.new.bar | 14:23 | |
p6eval | rakudo 00a115: OUTPUT«OH HAI» | ||
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 ? | ||
masak | moritz: there's a private submethod. | ||
14:23
lumi__ left
14:24
lumi__ joined
|
|||
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? :) | ||
masak | moritz: the article doesn't mention attribute initialization in the 'has' declarations at all. that's where my understanding improved recently. | ||
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 | ||
masak | oh, sure. | ||
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:26 | |
jnthn | moritz: BUILD could do $!a = ... in its body too | 14:27 | |
14:27
mikemol left
|
|||
jnthn | moritz: Best way: if $!a is never touched | 14:27 | |
*Best way to say it | |||
moritz | jnthn: ok | ||
moritz thinks about how best to incorporate it into the blog post | 14:29 | ||
14:34
lumi__ left,
lumi__ joined,
colomon joined
14:36
djanatyn joined
|
|||
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» | ||
moritz | rakudo: class D { has $!x; submethod BUILD (:$!x) { }; method x() { $!x } }; say D.new(x => 1).x | ||
p6eval | rakudo 00a115: OUTPUT«1» | ||
moritz | rakudo: class D { has $!x; submethod BUILD () { }; method x() { $!x } }; say D.new(x => 1).x | 14:40 | |
p6eval | rakudo 00a115: OUTPUT«Mu()» | ||
im2ee | Hmm, what is the easiest way to read only one line from IO::Readable? :) | 14:41 | |
moritz | rakudo: say $*IN.get | ||
p6eval | rakudo 00a115: OUTPUT«Land der Berge, Land am Strome,» | ||
moritz | im2ee: don't believe everything from S26 | ||
masak | er, S16. | 14:43 | |
moritz | erm, right | ||
im2ee | Ok, thanks. :) | 14:45 | |
masak | rakudo: our sub prefix:<=>(IO $io) { $io.get }; say =$*IN # just for old times' sake ;) | ||
p6eval | rakudo 00a115: OUTPUT«Cannot assign to a non-container in <anon> at /tmp/mGJDVJosRG:1 in <anon> at /tmp/mGJDVJosRG:1» | ||
masak | huH! | ||
im2ee | rakudo: class A { method .a { ... } }; | ||
p6eval | rakudo 00a115: OUTPUT«===SORRY!===Malformed block at line 1, near ".a { ... }"» | ||
masak | infix always wins over prefix? | ||
im2ee | rakudo: class A { method .a { ... } } | ||
p6eval | rakudo 00a115: OUTPUT«===SORRY!===Malformed block at line 1, near ".a { ... }"» | ||
im2ee | Why? :) | ||
masak | im2ee: get rid of that dot! :) | 14:46 | |
14:46
lumi__ left
|
|||
masak | im2ee: it's not part of the method name. | 14:46 | |
though I agree it'd be strangely consistent with 'method !a' | |||
and 'method ^a' | 14:47 | ||
14:47
lumi__ joined
|
|||
im2ee | so method without . is still public? :) | 14:47 | |
masak | aye. | ||
14:47
abercrombie joined
|
|||
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 | ||
masak | I'm half about to suggest that 'method .a' should be allowed. | 14:48 | |
im2ee | Clear, thanks. :) | ||
moritz | +0.5 | ||
masak | but maybe this is a place for Java-ish conservativeness. | ||
oh, what the heck! I'm all-out for it, just to see what happens! :) | |||
it's not like it impacts people wanting to analyze the code; they should be working off the AST/model anyway! | 14:49 | ||
and it doesn't impact readability. | |||
moritz | github.com/moritz/perlgeek.de/comm...d51d2234e1 | ||
14:49
mikemol joined
|
|||
im2ee | Uh, perl6 is great! :) | 14:50 | |
moritz | .oO( maybe 'method .foo' is a method that default to $_ as invocant... *SCNR* ) |
||
masak | moritz++ | ||
im2ee | I loved it ! : ) | ||
masak | moritz: s/build/BUILD/ near the end. | ||
moritz | masak: thanks | ||
masak | moritz: [re $_ as invocant] NOOOOOoooo! | ||
...ooooooOOOOOOOoooo! | 14:51 | ||
moritz loves it how easily he can tease masak++ | |||
masak | grrr :) | ||
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 :-) | ||
(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... | ||
yes, that video is great. :) | 14:54 | ||
moritz | in similar spirit, but less aggressive: www.youtube.com/watch?v=sTIv8hP-UIA | 14:55 | |
14:57
lumi__ left,
lumi__ joined
|
|||
masak | wow, that's great. | 15:01 | |
im2ee | rakudo: sub a returns Str { return Any; } | 15:02 | |
p6eval | rakudo 00a115: ( no output ) | 15:03 | |
masak | Handel++ | 15:04 | |
im2ee: you didn't call it! :) | 15:05 | ||
im2ee | hm, right. :D | ||
masak | im2ee: a smart compiler might catch that, but nom doesn't at present. | ||
im2ee | rakudo: sub a returns Str { return Any; } a; | ||
p6eval | rakudo 00a115: OUTPUT«===SORRY!===Confused at line 1, near "sub a retu"» | ||
masak | semicolon after } | ||
im2ee | Ehh, im in hurry. :) | ||
rakudo: sub a returns Str { return Any; }; a; | |||
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» | ||
masak | \o/ | ||
im2ee | huh, :) | 15:06 | |
masak | can I submit an LTA on that one? it doesn't say which types were involved. | ||
im2ee | so... if it returns type check failed i have some questions :) | ||
masak | especially the type that it got is important. | ||
15:06
lumi__ left
|
|||
masak | im2ee: go right ahead. | 15:06 | |
im2ee | i've something like that: | ||
method getline() returns Str{ | |||
return $!sock.get; | |||
} | |||
15:07
lumi__ joined
|
|||
im2ee | and i write say MyClass.getline it prints Any() | 15:07 | |
Why? :) | |||
masak | insufficient data. | ||
15:07
wamba left
15:08
gbacon joined
|
|||
masak | but I can't say I like that lack of whitespace between 'Str' and '{'... | 15:08 | |
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 | ||
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» | ||
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 | ||
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» | ||
masak | im2ee: worksforme | ||
im2ee | Maybe i made a mistake before :) | 15:11 | |
say $obj.getline works fine. But when i use while $obj.getline ( say $_; ) it prints Any. :) | 15:12 | ||
15:12
Trashlord joined
|
|||
im2ee | \o/ works! :) | 15:13 | |
i use while my $line = $obj.getline { ... }; | 15:14 | ||
15:14
cognominal_ left
|
|||
im2ee | masak, but whats about $_ ? :) | 15:15 | |
15:15
cognominal joined
15:16
birdwindupbird joined
|
|||
im2ee | Am i onerous today? :) | 15:16 | |
jnthn | nom: while $*IN.get -> $_ { .say } # maybe this works... | ||
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!» | ||
jnthn | im2ee: but...not sure why you're using a while loop, not a for loop :) | ||
masak | im2ee: we use for loops for line input nowadays. | 15:17 | |
im2ee | because my getline() method returns only one line, not array. :) | ||
masak | maybe it should return a lazy list of lines. | ||
jnthn | im2ee: Yes, but we'd tend to make an iterator and loop over that | 15:18 | |
15:19
lumi__ left
|
|||
im2ee | jnthn, hmm i'll think it over. :) | 15:19 | |
15:19
lumi__ joined
|
|||
masak | im2ee: you're not onerous, you're asking intersted questions and we love that! :) | 15:21 | |
im2ee: p5 had an implicit thing where it set $_ in some while loops. p6 doesn't do that. | |||
im2ee | masak, great. :) | 15:22 | |
TimToady | regarding 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 | ||
it's not just a random fact | 15:23 | ||
sorear: ^^ | |||
15:24
wooden joined,
wooden left,
wooden joined
|
|||
TimToady | in other words, if follows directly from what masak++ claims at 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. :/ | ||
TimToady | sometimes I write simply English for the reader, and sometimes I don't | 15:26 | |
im2ee | what is #perl6-soc channel? :) | 15:27 | |
masak | im2ee: Perl 6 Summer of Code | 15:29 | |
im2ee | masak, thanks :) | 15:30 | |
15:31
lumi__ left
|
|||
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:31 | |
15:32
lumi__ joined
|
|||
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 | ||
"Here's a precedence table; sink or swim!" | |||
masak | aye. | ||
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 | ||
masak | ideally, the code should just sing out with intent and consistency! | ||
just like a good story. | 15:36 | ||
TimToady | yes, well, receptivity varies | ||
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. | ||
um, the above's true if read with the intended precedence levels... :) | 15:37 | ||
TimToady | or not... :) | ||
15:38
birdwindupbird left,
birdwindupbird joined
|
|||
TimToady | "the more...the more..." is a very interesting English syntax | 15:38 | |
jnthn | Hm, I'd never thought about it much :) | 15:39 | |
It is a curious one. :) | |||
TimToady | well, "The <comparative> <sentence>, the <comparative> <sentence>" or some such | 15:40 | |
15:40
replore_ joined,
lumi__ left
|
|||
TimToady | .oO(The hurrier I go, the behinder I get.) |
15:40 | |
15:40
lumi__ joined
|
|||
jnthn | Well, The <comparative>, the <comparative> also works, as does The <comparative> <nounphrase>, the <comparative> | 15:41 | |
masak | it's 越<comparative><sentence>越<comparatice><sentence> in Mandarin; not that different. | 15:43 | |
15:44
birdwindupbird left
|
|||
moritz | in German it's "je <comparative> desto <comparative>" | 15:45 | |
masak | ooh | ||
same in Swedish, except "ju". | |||
I meet so many people who say "ju...ju..." or "desto...desto..." instead. as a developer, I'm annoyed at this :) | 15:46 | ||
moritz: does German have sentences like "Desto <comparative>!" ? | 15:47 | ||
(in reply to something) | |||
in English it's "All the <comparative>!" | |||
15:48
molaf_ left
15:49
lumi__ left,
lumi__ joined
15:50
birdwindupbird joined
|
|||
moritz | masak: no | 15:51 | |
jnthn | afk, mountain climbing | ||
masak | jnthn: impossible, there are no altitudes in southern Sweden! | 15:53 | |
15:54
wamba joined
|
|||
masak | & | 15:55 | |
16:02
sayu joined
|
|||
sorear | good * #perl6 | 16:06 | |
phenny | sorear: 10:14Z <masak> tell sorear that I tried gtk1.pl, and it didn't work: gist.github.com/1208171 | ||
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:07 | |
16:08
lumi__ left,
lumi__ joined
|
|||
sorear | masak: it apparently failed to load GTK#. what does gacutil -l gtk-sharp say for you? | 16:08 | |
masak: I wonder if nonexistant types under CLR:: should die() instead of just returning Any or a package | 16:09 | ||
16:17
pmurias joined
|
|||
pmurias | sorear: hi | 16:18 | |
sorear: how am i supposed to install the gtk#? | |||
sorear | ./configure && make && make install | 16:19 | |
16:20
lumi__ left
16:21
lumi__ joined
|
|||
pmurias | i have mono 2.8.2 is that new enough? | 16:22 | |
sorear | yes | 16:26 | |
16:28
Moukeddar joined
16:31
lumi__ left
16:33
lumi__ joined
|
|||
pmurias | sorear: how can i stop mono from looking at assemblies from an old installation? | 16:34 | |
sorear | pmurias: if you have an old installation with gtk# why are you trying to install gtk#? | 16:42 | |
pmurias | it's mono 2.6.3 | 16:44 | |
sorear | I didn't say that 2.6.3 wasn't new enough. | ||
16:47
lumi__ left
|
|||
pmurias | System.DllNotFoundException: glibsharpglue-2 | 16:47 | |
16:47
lumi__ joined
16:49
Moukeddar left
|
|||
pmurias | works! :) | 16:50 | |
sorear | yay | ||
pmurias | with some env variables cargo cult | ||
16:53
rgrau joined
|
|||
dalek | ecza: 057357e | sorear++ | examples/laf.pl: Actually commit my LAF example |
16:55 | |
16:58
lumi__ left
|
|||
pmurias | sorear: so what's now needed is use ...:from<clr>? | 16:58 | |
instead of CLR::(...)? | |||
16:58
lumi__ joined
16:59
[Coke] left
|
|||
sorear | pmurias: I have no idea how to design :from<clr> | 17:00 | |
17:03
pmurias left
17:07
lumi__ left,
lumi__ joined
17:10
mikemol left
17:17
JimmyZ left
17:18
pmurias joined
17:22
lumi__ left
17:23
lumi__ joined
17:28
SHODAN left
17:30
frhodes left
17:33
lumi__ left,
lumi__ joined
17:37
mberends left
17:38
lumi__ left,
lumi__ joined
|
|||
TimToady | "as⃝df̅".flip.say | 17:39 | |
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» | ||
..rakudo 00a115, niecza v9-22-g057357e: OUTPUT«̅fd⃝sa» | |||
TimToady wonders who will implement grapheme support first... | |||
sorear | the trick is doing it without losing data | 17:41 | |
niecza doesn't want to be in a position where $clr_obj_2.SetString($clr_obj_1.GetString) implicitly NFCifies the string | 17:42 | ||
since CLR strings, at their most fundamental, are uninterpreted sequences of uint16 | |||
17:42
pmurias left
17:46
uasi left
17:48
frhodes joined,
rgrau left
17:49
uasi joined,
mberends joined,
nebuchadnezzar left
17:51
lumi__ left
17:52
lumi__ joined
17:54
nebuchadnezzar joined
17:55
mikemol joined
17:56
uasi_ joined
17:57
uasi left
18:01
gbacon left
18:02
mikemol left
18:03
lumi__ left,
mikemol joined,
lumi__ joined
18:05
[Coke] joined
18:13
perlseeker joined
18:14
envi left
18:17
frhodes left,
lumi__ left
18:18
lumi__ joined
|
|||
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:18 | |
arnsholt | I think combining characters usually come after the character they combine with | 18:19 | |
18:19
frhodes joined
|
|||
lue | [ Hm. It does the correct thing in my input line, but not in the output window :/ ] | 18:21 | |
18:25
lumi__ left
18:26
lumi__ joined
18:34
SHODAN joined
18:39
lumi__ left
18:40
lumi__ joined
18:43
perlseeker left
|
|||
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 | |
18:45
pmurias joined
|
|||
pmurias | sorear: what are the hard parts about :from<clr>? | 18:46 | |
18:48
wamba left
|
|||
sorear | TimToady: does dir() return Strs or Bufs? | 18:49 | |
pmurias: figuring out what it is supposed to do, and doing it | |||
18:50
lumi__ left
18:51
lumi__ joined
|
|||
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:51 | |
18:52
uasi_ left
|
|||
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 | ||
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 | ||
well, your assertion depends on exactly what you mean by "Unicode" | 18:54 | ||
Unicode isn't a single thing | |||
s/thing/type of thing/ | |||
as far as a POSIX system is concerned, a filename is little more than a blob | 18:55 | ||
with a bit of searching for / | |||
sorear | I mean sequences of codepoints | ||
TimToady | NFG is no worse than NFC | ||
sorear | true | ||
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 | ||
sorear | it would be nice if we could handle filenames with invalid utf8 gracefully as well | ||
TimToady | POSIX filenames are really just buf8 | ||
sorear | we need to make open("MyFile") DWIM | 18:57 | |
TimToady | the trick will be to make buf8 behave more like strings when needed | ||
sorear | requiring a .encode in there is just silly | ||
18:57
frhodes left
|
|||
TimToady | that's what allomorphic constants are for | 18:57 | |
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) | ||
TimToady | not planning to go that far, but I believe the spec already indicates somewhere that "foo" is both a string and a buffer | 18:59 | |
18:59
sayu left,
risou is now known as risou_awy
|
|||
TimToady | I can't be responsible for all the sins of the (POSIX) world... | 19:00 | |
but we can certainly make sure the ASCII subset works | |||
19:00
lumi__ left
|
|||
TimToady | and we don't guess unless authorized by the programmer to guess | 19:01 | |
when it comes to higher bits | |||
19:01
lumi__ joined
|
|||
dalek | ecza: 1a8efca | sorear++ | / (2 files): Late-bind to Mono.Posix, restore .net support (mberends) |
19:05 | |
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:06 | |
TimToady | well, or a conversion; adverbs and pragmas are not as nice as types :) | 19:10 | |
ingy | tadzik: hi | ||
19:11
lumi__ left
|
|||
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: paste.scsys.co.uk/1426261 | ||
19:12
lumi__ joined
|
|||
TimToady | S05:3704 talks about the relationship of buffers to strings some | 19:12 | |
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:13 | |
sorear | pmurias: that paste doesn't exit | 19:14 | |
exist | |||
pmurias fixes | |||
paste.scsys.co.uk/142627 | 19:15 | ||
sorear | well, first off, it's Gtk::Application | 19:22 | |
secondly you're repeating the namespace constantly | |||
the C# original just had "using Gtk;" at the top and then refered to Application.Init (); | |||
etc | |||
pmurias | do we have an eqivalent to 'using NamespaceName' in Perl6? | 19:24 | |
19:27
lumi__ left
|
|||
fridim_ | hi :) | 19:28 | |
19:28
lumi__ joined
|
|||
fridim_ | the status page about rakudo is no longer available ? | 19:28 | |
pmurias | sorear: we could have a :namespace<Gtk> to specify where to import stuff from: paste.scsys.co.uk/142628 | 19:29 | |
sorear | fridim_: what kind of status page are you looking for? | 19:30 | |
fridim_ | the one with the graphic :) | ||
sorear | pmurias: that doesn't make any sense to me | ||
fridim_ | test passed, test remaining | ||
19:31
bbkr joined
|
|||
pmurias | sorear: yes, we don't need :namespace<...>, the module name we are importing should specify the namespace | 19:34 | |
got confused by the use Whitespace:from<perl5>:name<Acme::Bleach> example | |||
that is if we assume that namespace in C# take the role of modules | 19:35 | ||
* namespaces | |||
sorear | I wonder if it might make more sense to give CLR assemblies the role of modules | 19:36 | |
use gtk-sharp:auth<35e10195dab3c99f>:version<2.12.0.0> < Gtk >; | |||
perhaps allow some kinds of renaming in the import-list | 19:38 | ||
19:42
lumi__ left
19:43
lumi__ joined
|
|||
pmurias | sorear: that would only import Gtk, so we would still have to type out Gtk::Window in full | 19:44 | |
19:45
fridim_ left
|
|||
pmurias | but the assembly name is something we would like to avoid repeating | 19:45 | |
mberends | sorear: thanks for restoring the .Net support :) | 19:47 | |
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:------> my module Foo { sub foo ⏏{say "foo!"}}» | ||
..pugs, rakudo 00a115: ( no output ) | |||
pmurias | perl6: my module Foo { sub foo is export {say "foo!"}};use Foo;foo(); | ||
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… | ||
..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/J50WsxJG6j line 1, column 1» | |||
..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, .» | |||
pmurias | rakudo,niecza: my module Foo { sub foo is export {say "foo!"}};import Foo;foo(); | 19:50 | |
perl6: my module Foo { sub foo is export {say "foo!"}};import Foo;foo(); | |||
p6eval | niecza v9-23-g1a8efca: OUTPUT«===SORRY!===Action method statement_control:import not yet implemented at /tmp/zPFwreahtV line 1:------> b foo is export {say "foo!"}};import Foo⏏;foo();Unhandled exception: Unable to resolve method statement_level … | 19:51 | |
..rakudo 00a115: OUTPUT«Could not find sub &foo in <anon> at /tmp/e9QiB9epgI:1 in <anon> at /tmp/e9QiB9epgI:1» | |||
..pugs: OUTPUT«*** No such subroutine: "&import" at /tmp/ugJFNObI9D line 1, column 49-59» | |||
19:51
Trashlord left
|
|||
pmurias | sorear: we could treat both assemblies *and* namespaces as modules | 19:51 | |
sorear: first we would import namespaces from assemblies into the lexical scope | 19:52 | ||
sorear: and then we would import stuff from the namespaces to avoid typing the prefix everytime | |||
19:52
lumi__ left
19:53
lumi__ joined
|
|||
sorear | pmurias: there's a little subtlety here because namespaces don't exist as first-class objects | 19:54 | |
19:54
birdwindupbird left
|
|||
sorear | there is no Gtk namespace; the Gtk.Application class has the name ["Gtk", "Application"] | 19:54 | |
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? | ||
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:56 | |
19:58
wallberg joined
|
|||
sorear | pmurias: the C# compiler does its best to maintain an illusion of hierarchal namespaces | 20:01 | |
colomon: 3rd birthday party... what? | 20:04 | ||
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__ left,
lumi__ joined
|
|||
sorear | moritz: ah that makes sense | 20:07 | |
I forget that many people here have children of their own | 20:08 | ||
20:09
mj41 joined
20:15
im2ee left,
SHODAN left
20:16
whiteknight joined
20:21
lumi__ left
20:22
lumi__ joined
|
|||
moritz | sorear: it's an age thing | 20:25 | |
sorear: ie you won't be surprised once you approach the 30 | 20:26 | ||
20:27
mj41 left
|
|||
dalek | ast: 106766b | moritz++ | / (2 files): unfudge passing tests for rakudo |
20:28 | |
bbkr | moritz: I've added last update date to perl6 modules, example here: bbkr.org/p6modules/ (in the footer). Also I changed 90 day ago calculation to much clearer Time::Piece (included in Perl) - bbkr.org/p6modules/build-project-list.pl . W3C validated. | 20:29 | |
20:31
lumi__ left,
lumi__ joined
|
|||
moritz | bbkr: wonderful. Pleae commit right away | 20:32 | |
(the perl that runs the script is a 5.14.1) | 20:33 | ||
dalek | href="https://modules.perl6.org/gh-pages:">modules.perl6.org/gh-pages: bc2a7fb | (Pawel Pabian)++ | / (2 files): added last update date in footer, switched date substractions to Time::Piece |
20:35 | |
moritz | bbkr++ | 20:36 | |
bbkr: though please cherry-pick that commit to master, that's what feather2 is using | |||
20:38
im2ee joined
20:41
lumi__ left
|
|||
bbkr | Sure, just need few minutes to test it on master branch (no idea why git cloned gh-pages as default). | 20:42 | |
20:42
lumi__ joined
|
|||
moritz | github.com/perl6/modules.perl6.org shows master as default | 20:46 | |
so I have no idea :( | |||
bbkr | ah, I used tutorial from README to test how it works and it points to gh-pages. | 20:48 | |
20:49
BooK joined
|
|||
moritz | :( | 20:49 | |
20:50
[Coke] left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 16f2a34 | moritz++ | README.md: remove README.md, which seems to be out of date, and cover and outdated branch. bbkr++ for noticing |
20:50 | |
20:51
[Coke] joined
|
|||
sorear | TimToady: How much do we care about encodings that aren't supersets of ASCII? | 20:54 | |
20:55
lumi__ left,
lumi__ joined
20:57
pmurias left
|
|||
TimToady | much less than Ruby :) | 21:00 | |
tadzik | 'evening | 21:02 | |
masak: t-t-t-t-telephone? | |||
21:07
lumi__ left
21:08
lumi__ joined
|
|||
sorear | TimToady: what about Ruby? | 21:10 | |
arnsholt | Being Japanese, I think Ruby cares about things like JIS and friends | 21:12 | |
21:15
zby_home__ left
21:16
Trashlord joined
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 877676e | (Pawel Pabian)++ | web/ (2 files): added last update date in footer, switched date substractions to Time::Piece |
21:18 | |
href="https://modules.perl6.org:">modules.perl6.org: e173698 | (Pawel Pabian)++ | README.md: Merge branch 'master' of git://github.com/perl6/modules.perl6.org |
|||
21:19
kaare_ left
|
|||
jnthn back | 21:19 | ||
21:21
lumi__ left
21:22
lumi__ joined
|
|||
sorear | arnsholt: JIS is a superset of ASCII | 21:22 | |
arnsholt: well, Shift-JIS | 21:23 | ||
arnsholt: I'm asking about things like EBCDIC | 21:24 | ||
arnsholt | Yeah, so I discovered. I thought it was weirder than it is | 21:27 | |
21:28
lumi__ left,
lumi__ joined
|
|||
arnsholt | Let's not talk too much about EBCDIC =) | 21:28 | |
21:31
wamba joined
|
|||
masak | arnsholt: thinking something is weirder than it is sounds like a logical impossibility :P | 21:32 | |
whiteknight | is pmichaud in today? | 21:33 | |
21:37
lumi__ left,
lumi__ joined
21:43
MayDaniel left
|
|||
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? | ||
masak | <tadzik> masak: t-t-t-t-telephone? | 21:45 | |
tadzik | po-po-po-po-po-po-pokerface | ||
masak | ;) | ||
I like how line 4 is too short, so she just throws in the last word twice... | 21:46 | ||
21:47
donri left
|
|||
im2ee | Good night ! :) | 21:47 | |
tadzik | night | ||
jnthn | masak: What, you're watching it again? :P | ||
21:48
im2ee left
|
|||
tadzik | popopopopokerface | 21:48 | |
21:48
lumi__ left
|
|||
bbkr | which roast branch should I work on when hunting for tickets to close on NOM - "master" or "rakudo-master" ? | 21:48 | |
jnthn | master | 21:49 | |
21:49
lumi__ joined
|
|||
bbkr | thanks | 21:49 | |
masak | jnthn: no, I just pulled up the lyrics :P | 21:50 | |
jnthn: once a quarter is quite enough... | |||
roast has branches? | 21:51 | ||
sorear | masak: yeah | 21:53 | |
roast/master corresponds to rakudo/nom and niecza/master | |||
roast/rakudo-master is used so that people can continue to spectest ŋ | |||
masak | heh, ŋ | 21:56 | |
Beijiŋ | 21:57 | ||
sorear: $ gacutil -l gtk-sharp | 21:58 | ||
The following assemblies are installed into the GAC: | |||
Number of items = 0 | |||
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» | ||
masak | so... in order for this to work, IO.get has to auto-open the $!PIO. | 22:00 | |
tadzik | is that spec-legal? | ||
sorear | masak: oh, your problem is extremely simple then. You don't have Gtk# installed. :) | ||
masak | sorear: oh! | ||
sorear | tadzik: dubious | 22:01 | |
masak | sorear: I installed gtk. | ||
tadzik | an error message could be More Awesome | ||
22:01
lumi__ left
|
|||
sorear | tadzik: ingyist elements in the community want paths and handles to autopun. | 22:01 | |
tadzik | mhm | 22:02 | |
sorear | tadzik: the spec is still extremely slushy though | ||
22:02
lumi__ joined
|
|||
sorear | for the time being niecza implements a model where paths and handles are non-interchangable | 22:02 | |
masak: incidentally, I wonder if it would make sense for CLR:: references to throw exceptions instead of returning Any like GLOBAL:: references should | 22:04 | ||
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:05 | ||
masak: the same problem occurs in other guises - CLR interop strings shouldn't be normalized either | 22:06 | ||
tadzik | 'gnight #perl | 22:11 | |
22:16
lumi__ left
22:17
lumi__ joined
|
|||
masak | 'night, tadzik | 22:22 | |
sorear: I think it might make sense to throw exceptions, yes. | |||
22:22
soh_cah_toa joined
|
|||
masak | sorear: though I liked the idea of :from<CLR> better. | 22:22 | |
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 | |
(but I'm more interested in NFG right now nudge nudge) | |||
masak | ;) | 22:24 | |
I'm thinking filenames might need to be Buf. | |||
22:28
lumi__ left,
lumi__ joined
22:42
lumi__ left
22:43
lumi__ joined,
Chat8892 joined,
risou_awy is now known as risou,
Chat8892 left,
snikkers joined
22:49
wolfman2000 left
22:53
lumi__ left
22:54
lumi__ joined
22:56
wallberg left
23:02
whiteknight left,
whiteknight joined
23:03
lumi__ left
23:04
lumi__ joined,
bbkr left
23:05
bbkr joined
|
|||
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:07 | |
sorear | walk& | 23:15 | |
23:20
lumi__ left,
lumi__ joined
23:28
patspam joined
23:33
lumi__ left,
lumi__ joined
23:43
wamba left
|
|||
TimToady | rosettacode.org/wiki/Hello_world/Gr...cal#Perl_6 <-- sorear++ | 23:45 | |
23:48
lumi__ left
23:49
lumi__ joined
|
|||
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? | ||
TimToady: Do foreign objects live under Any or Mu? | |||
jnthn had imagined Any... | 23:52 | ||
TimToady | I think Any is a bit too concrete for foreign object systems, if you have to override its semantics | 23:53 | |
foreign objects feel more like "concepts" to me | |||
and concepts like Junction live outside Any | |||
jnthn | fairy nuff | 23:54 | |
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 | ||
It does mean you have to specifically write code that should work on foreign objects to expect them. | |||
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 | ||
jnthn | *nod* | 23:56 | |
TimToady | in particular, I'm scared of other language's strings right now :) | ||
dalek | ast: eb9398c | (Pawel Pabian)++ | S10-packages/basic.t: fixed multiline evals that were causing trouble with fudging |
23:58 | |
ast: 9875994 | (Pawel Pabian)++ | S10-packages/basic.t: [S10-packages/basic.t] tests for #65404 - Null PMC access when A.perl is called on a package A |
|||
ast: 46859cd | (Pawel Pabian)++ | S10-packages/basic.t: [S10-packages/basic.t] tests for #65404 - Null PMC access when A.perl is called on a package A |
|||
masak | 'night, #perl6 | ||
23:59
masak left,
lumi__ left,
whiteknight left
|