»ö« 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! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
00:01
skangas left
|
|||
lue | It could've been part of the update to Unicode 6. The update happened ~October 2010 IIRC | 00:02 | |
flussence | I thought all the new unicode stuff was U+1Fxxx | 00:06 | |
00:06
stkowski_ joined
|
|||
lue | There's a changelog floating somewhere on unicode.org. | 00:07 | |
00:09
stkowski left,
stkowski_ is now known as stkowski
00:23
Guest87704 left
00:25
cdarroch left
00:36
hercynium left
|
|||
lue | rakudo: say time; say now; | 00:41 | |
p6eval | rakudo a95c1d: OUTPUT«1292460064Instant:2010-12-16T00:41:4.873248Z» | ||
TimToady | I think it should *really* print the time out in Zulu. :) | 00:42 | |
(along with reformatting your disk) | 00:43 | ||
00:44
felippe joined,
ch3ck left
|
|||
sorear | I'm going to have it generate an external TAI64NA blob | 00:45 | |
cr.yp.to/libtai/tai64.html # least helpful date format? | |||
00:47
orafu left,
orafu joined
|
|||
TimToady | I dunno, they seem to assume you'd never want anything smaller than a nanosecond | 00:48 | |
Perl 6 makes no such assumption :) | |||
00:49
kcwu joined
|
|||
TimToady | using integers for instants is Just Wrong | 00:49 | |
it's making the same mistake all over again | |||
it might be suitable for an output format though :) | 00:50 | ||
sorear | that's what I meant, the output format | ||
TimToady | I know, I'm just be curmudgeonly. | ||
sorear | say now; # 32 hex digits | ||
TimToady | you could run it through SHA256 while you're at it | 00:51 | |
00:51
ch3ck joined
|
|||
TimToady | oh wait, hex digits | 00:52 | |
hmm | |||
sorear | I'm not that evil | ||
tai64na blobs at least sort | |||
flussence | .oO( maybe instants should be renamed OpaqueTimePointers ) |
||
sorear | (also, did you mean to say attosecond?) | 00:53 | |
TimToady | whatever, integers are wrong | ||
maybe instants should also come with an estimate of clock precision :) | 00:54 | ||
lue | now returns an Instant, time and Integer | ||
s/and/an/ | |||
TimToady | now should never return integer | 00:55 | |
lue | if I had it my way, S32::Temporal would be time dilation-proof | 00:56 | |
TimToady | that's just asking for encapsulation violation | ||
sorear | why are integers wrong? because of 1/3 + 1/3 + 1/3 ? | ||
TimToady | this from the person who can't be bothered to enter umlauts? | ||
lue | well, it's going in my (increasingly belated) advent post for now (the integer thing) | ||
00:57
QinGW joined
|
|||
TimToady | because all integers assume a precision | 00:57 | |
lue | maybe I'll add (even though it shouldn't) | ||
00:57
justatheory left
|
|||
TimToady | instants must be opaque to math, except for finding differences | 00:58 | |
which is what epochs are, after all | |||
lue | (btw, I only can't be bothered to make entering umlauts easy because keyboard reconfiguration is a nightmare.) | 00:59 | |
TimToady | and dilation-proofing time is a walk in the park? | ||
01:00
adu joined
|
|||
TimToady | not even a walk in the park is dilation proof :) | 01:00 | |
flussence | the easiest way to solve that would be to move Everything at the same velocity as the perl6 script | 01:01 | |
well, not easiest but probably the simplest :) | 01:02 | ||
lue | S32::Temporal:55 : "[time] Returns the current POSIX time as an C<Int>." | 01:03 | |
It's OK'd by the spec, but I see why it shouldn't. | |||
TimToady | I didn't say it shouldn't | 01:04 | |
time is POSIX based, instants are not | |||
01:04
felippe left
|
|||
TimToady | POSIX is cultural and inherently flawed; atomic instants are non-cultural and (in the abstract) completely linear | 01:05 | |
modulo time dilation, of course | |||
01:06
ascent_ left,
ascent_ joined
|
|||
lue | TimToady: of course dilation-proofing isn't a walk in the park. But it's a serious issue for any P6 user going to space anytime soon. :) | 01:06 | |
flussence | (or hyperspace) | 01:08 | |
lue | .oO(I do believe S32::Temporal is one of the few things that can spark Instant Discussion™) |
01:09 | |
flussence | groan... :) | 01:10 | |
lue | rakudo: my $dw = DateTime.new("1963-11-23T17:15:00Z"); say now - $dw; | 01:17 | |
p6eval | rakudo a95c1d: OUTPUT«Can't take numeric value for object of type DateTime in 'Any::Numeric' at line 1420:CORE.setting in 'infix:<->' at line 7359:CORE.setting in main program body at line 22:/tmp/NmecrUxEct» | ||
lue | Hmm. | ||
sorear | why can't Instants be numeric? | 01:18 | |
01:18
Guest65806 left,
[Coke] left
|
|||
lue | What I have yet to figure out is how to do darned arithmetic with DateTime. | 01:20 | |
TimToady | sorear: because I said so! :) | ||
01:26
Guest65806 joined,
stkowski left
01:27
masonkramer joined,
stkowski joined
|
|||
dalek | : edd6723 | lue++ | misc/perl6advent-2010/articles/ (2 files): Added Pod version of Day 16 post on Temporal, and cleaned up Day 13 article. |
01:27 | |
lue | feel free to look it over before I post it. | 01:28 | |
01:32
redicaps joined
01:33
mtk left
01:36
felliott joined
01:41
mtk joined
01:42
joimox left,
nymacro left
01:45
shi left
|
|||
lue | afk | 01:57 | |
02:16
[Coke] joined
02:34
wamba left
02:42
masonkramer left,
masonkramer joined
02:44
Eevee left
02:50
Eevee joined,
am0c joined
02:53
kfo_ joined,
ch3ck3r joined,
whiteknight left
02:57
ch3ck left
03:15
adu left
03:22
adu joined
03:23
Kovensky joined,
IllvilJa left
03:24
IllvilJa joined
03:25
slavik1 joined
03:40
khisanth_ joined
03:41
khisanth_ is now known as Guest41255
04:02
alester left
04:15
satyavvd joined
04:22
Guest41255 left,
Guest41255 joined
04:24
Guest41255 left
04:25
Khisanth joined,
Khisanth is now known as Guest73210
04:33
Guest73210 left,
khisanth__ joined,
khisanth__ is now known as Khisanth,
justatheory joined
04:57
orafu left,
orafu joined
05:01
stkowski left
05:03
am0c left
05:42
felipe joined
06:00
_kaare joined
|
|||
sorear | GOOD * #PERL6 | 06:08 | |
06:09
justatheory left
06:11
stkowski joined
|
|||
diakopter | heh | 06:13 | |
06:24
envi joined
06:32
kjeldahl left
06:37
nymacro joined
07:02
wtw joined
07:10
soroush joined
07:11
soroush_ left
07:37
spinclad left
07:41
stkowski left
07:46
spinclad joined
07:54
masak joined
|
|||
masak | oh hai, #perl6 | 07:54 | |
07:55
zby_home_ joined
|
|||
sorear | hello masak! | 07:56 | |
I'm going to be very Perl 6 productive now | |||
masak | sounds good. | ||
I hope to look a bit more at niecza today. | |||
redicaps | std: sub f{}; &.wrap({say "hey"});f; | 07:58 | |
p6eval | std 01ab3ab: OUTPUT«ok 00:01 123m» | ||
masak | I don't think that means what you think it means. | 07:59 | |
&.wrap would desugar to &(self.wrap) | 08:00 | ||
redicaps | masak: I got a syntax error here: pastebin.com/mC7XXhDu | 08:01 | |
masak looks | |||
huh. | 08:02 | ||
rakudo: sub a { say "a" }; &a.wrap({say "wrap"; nextsame}); a | |||
redicaps | I need a ';' after sub a{} block | ||
p6eval | rakudo a95c1d: OUTPUT«wrapa» | ||
masak | redicaps: oh, ok. | ||
yes, that's an annoying, but known, syntax bug. | |||
please live with it until someone addresses it :) | 08:03 | ||
the customary thing to do is to insert a comment starting with '# RAKUDO' and the containing the RT ticket number. | |||
redicaps | masak: Is this already submitted as a bug? | 08:06 | |
masak | yes, I think so. want me to dig it up for you? | ||
allegedly, RT is hard to naviage :P | |||
sorear | what is the Rakudo bug here? | ||
moritz_ | std: sub a{ } | ||
p6eval | std 01ab3ab: OUTPUT«ok 00:01 118m» | ||
moritz_ | rakudo: sub a{ }; say a | ||
p6eval | rakudo a95c1d: OUTPUT«» | ||
redicaps | moritz_: one-liner never have this problem | ||
masak | rakudo: sub a { say "a" }&a.wrap({say "wrap"; nextsame}); a | 08:07 | |
p6eval | rakudo a95c1d: OUTPUT«aMethod 'wrap' not found for invocant of class 'Bool' in main program body at line 23:/tmp/S_Q1H5yPZ4» | ||
masak | sorear: that. | ||
sorear | oh. | ||
actually that's known | |||
redicaps | masak: LoL | ||
sorear | let me find the ticket | ||
moritz_ | does it work with a ; ? | ||
masak | yes. | ||
moritz_ | rakudo: sub a { say "a" }; &a.wrap({say "wrap"; nextsame}); a | ||
p6eval | rakudo a95c1d: OUTPUT«wrapa» | ||
08:09
am0c joined
|
|||
masak | sorear: I might have been thinking about this one: rt.perl.org/rt3/Ticket/Display.html?id=76432 | 08:09 | |
it seems to have some additional prereq that isn't manifested here, though. | |||
so maybe a new ticket is in order. | 08:10 | ||
sorear | rt.perl.org/rt3/Public/Bug/Display.html?id=79964 | 08:12 | |
masak: | 08:13 | ||
masak looks | 08:15 | ||
yes, that one looks spot on. | 08:16 | ||
sorear++ | |||
sorear | masak: so, I've modified niecza to spit out a JSON dump of the internal Metamodel::Unit structure (all classes, all subs, code, etc), and now i' | 08:24 | |
m trying to rewrite the CLR code generator in C# | |||
masak | what's the goal? | 08:25 | |
sorear | 1. interface with System.Reflection.Emit directly and not have to deal with C#'s restrictions | 08:26 | |
2. faster, since generating and parsing 10^5+ lines of C# takes a while | |||
3. faster since it's not Perl | |||
4. portability is improved since all C# dependancies are forced out of the common codebase | 08:27 | ||
(the CLR bytecode emitter is only useful on systems with a CLR implementation, so it doesn't need to be portable at all) | |||
masak | is master in a runnable state, or should I go for an older revision? | 08:28 | |
sorear | master is in a runnable state, cilbackend isn't | ||
08:29
glow joined
|
|||
masak | excellent. | 08:34 | |
08:35
neroxx joined
08:40
neroxx left
08:42
zorgnax joined,
maja joined
|
|||
zorgnax | I really dont like the ascii version of our butterfly mascot | 08:43 | |
looks too much like a goatse or the home alone kid | 08:44 | ||
masak | that's a valid opinion. | ||
and a good reason to usher in the age of Unicode, I guess. | 08:45 | ||
or at least a reason. :) | |||
sorear | we have an ASCII version? | ||
>o< ? | |||
zorgnax | in the title of the room | ||
masak | that's not ASCII. | 08:46 | |
neither of those three chars are in ASCII. | |||
thought you meant >>ö<< | |||
zorgnax | textual art then | ||
masak | I think it's cute. | ||
zorgnax | maybe if there was a better butterfly body symbol then o-umlauts | 08:47 | |
08:47
khisanth_ joined
|
|||
sorear | ß maybe? | 08:49 | |
masak | the umlaut signifies the antennae, not the wings. | 08:50 | |
rakudo: module A { our sub foo { say "A::foo" } }; module B is A { our sub foo { say "B::foo"; nextsame } }; B::foo | |||
p6eval | rakudo a95c1d: OUTPUT«B::fooNull PMC access in clone() in 'B::foo' at line 1 in main program body at line 22:/tmp/xOo4v12GQ7» | ||
masak | rakudo: nextsame | ||
p6eval | rakudo a95c1d: OUTPUT«Null PMC access in clone() in main program body at line 1» | ||
masak | rakudo: module B is floozey {} | 08:51 | |
p6eval | rakudo a95c1d: ( no output ) | ||
masak | rakudo: module B is floozey {}; say "alive" | ||
p6eval | rakudo a95c1d: OUTPUT«alive» | ||
masak submits rakudobug | 08:52 | ||
08:52
Khisanth left,
neroxx joined
|
|||
zorgnax | Is that supposed to work differently? | 08:55 | |
nextsame in an inherited module's subroutine | 08:56 | ||
masak | there is no such thing as an inherited module. | ||
that's as good as a contradiction in terms. | |||
inheritance is a relation between OO types such as classes and roles. | |||
zorgnax | right of course | ||
masak | and it is actualized in method dispatch, not sub dispatch. | 08:57 | |
08:58
maja left
09:07
adu left
|
|||
masak | at $dayjob, I get to acquaint myself a bit with R. it's an interesting platform, full of nice introspection. but I still can't quite get my head around the syntax, especially which things autoquote and which things don't. | 09:07 | |
there has to be a system, but I just don't see it yet. | 09:08 | ||
but their AST access looks fun and inspiring. | |||
moritz_ | R? that statistical package? | 09:12 | |
masak | yes. | 09:13 | |
it's really a Lisp-alike in disguise. | |||
moritz_ | in the sense that everything is a list? | ||
masak | yes. | ||
the source code makes frequent and non-trivial references to Lisp. | 09:14 | ||
moritz_ | Mathematica does that too | ||
if you have a list a = {1, 2, 3}, a[[0]] is List | |||
masak | oh; didn't know that. sounds about right, though. | ||
moritz_ | a[[1]] is 1 | ||
etc. | |||
masak | huh. | 09:15 | |
moritz_ | it's a bit of a different approach than lisp | ||
masak | I'd describe it as less thorough. | 09:16 | |
real Lisp has the metacircular thing. | 09:17 | ||
sorear | do you mean homoiconicity? | 09:18 | |
09:19
mtk left
|
|||
masak | I didn't, but that's important too. | 09:19 | |
I think R has homoiconicity. | 09:20 | ||
09:26
mtk joined
|
|||
masak | rakudo: try{CATCH {say "caught";}} | 09:27 | |
p6eval | rakudo a95c1d: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_10' line 84422894===SORRY!===syntax error ... somewhere» | ||
masak submits rakuodbug | |||
09:28
dakkar joined
|
|||
masak | rakudo: CATCH {say "caught";} | 09:28 | |
p6eval | rakudo a95c1d: ( no output ) | ||
09:28
kensanata joined
|
|||
masak | rakudo: try { CATCH {} } | 09:29 | |
p6eval | rakudo a95c1d: ( no output ) | ||
masak | huh. | ||
rakudo: try{CATCH {}} | |||
p6eval | rakudo a95c1d: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_10' line 58970542===SORRY!===syntax error ... somewhere» | ||
masak | rakudo: try {CATCH {}} | ||
p6eval | rakudo a95c1d: ( no output ) | ||
masak | rakudo: try {CATCH {say "caught";}} | ||
p6eval | rakudo a95c1d: ( no output ) | ||
masak | rakudo: try{} | 09:30 | |
p6eval | rakudo a95c1d: OUTPUT«Could not find sub &try in main program body at line 22:/tmp/OOKCmOQamA» | ||
masak | rakudo: try{CATCH{}} | ||
p6eval | rakudo a95c1d: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_10' line 44790886===SORRY!===syntax error ... somewhere» | ||
masak | std: try{CATCH{}} | 09:31 | |
p6eval | std 01ab3ab: OUTPUT«===SORRY!===Undeclared name: 'CATCH' used at line 1Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
masak | right, so it's not syntactically correct in the first place. | ||
std: try{CATCH {}} | |||
p6eval | std 01ab3ab: OUTPUT«===SORRY!===Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
masak | but Rakudo could give a more awesome error indicating that. | 09:32 | |
09:35
fhelmberger joined
|
|||
moritz_ | could it? | 09:41 | |
and would that more awesome error message still be emitted if a subroutine named try() existed? | 09:42 | ||
09:44
redicaps left
|
|||
masak | rakudo: sub try { say "OH HAI" }; try{CATCH { say "caught" } } | 09:46 | |
p6eval | rakudo a95c1d: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_10' line 60798066===SORRY!===syntax error ... somewhere» | ||
masak | doesn't seem to matter at present. | ||
09:48
nero2x joined
09:49
uasi joined
|
|||
uasi | hi all | 09:49 | |
masak | uasi! \o/ | 09:50 | |
09:50
nero__ joined
|
|||
uasi | rakudo: my %a; %a{ CATCH{} } | 09:50 | |
p6eval | rakudo a95c1d: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_10' line 49267820===SORRY!===syntax error ... somewhere» | ||
moritz_ | hi uasi. I've pushed your patch just a few minutes after you left yesterday | ||
uasi | moritz_: thanks! | 09:51 | |
09:51
neroxx left
|
|||
masak submits rakudobug | 09:51 | ||
it's the same error, but as far as I'm concerned, that's a different area. | |||
hm. wait. | |||
uasi | CATCH{} inside &postcircumfix:<{ }> emits broken PIR | ||
moritz_ | it's the same. CATCH in subscript | ||
uasi: thank you for the patch | |||
uasi | :) | 09:52 | |
masak | moritz_: well, you said 'try' was a funcall. | ||
moritz_: then that case is a subscript too. | |||
masak renames the ticket instead | |||
uasi++ | |||
09:53
nero2x left
10:01
jest joined
|
|||
sorear | I'd like to know how it's even possible for Rakudo to generate PIR syntax errors. | 10:04 | |
I thought the point of POST was to make that impossible. | |||
moritz_ | by inline PIR? | 10:06 | |
also you can say pirop:foo, and if foo doesn't exist, you're screwed | |||
sorear | but... CATCH? | ||
10:07
redicaps1 joined
|
|||
uasi | sorear: foo{CATCH{}} generates '$P90 = "!postcircumfix:<{ }>"($P89, )' or something like that | 10:09 | |
I have no idea why this happens | 10:10 | ||
er, trailing comma in argument list is not allowed in PIR | 10:11 | ||
masak | correct. | 10:12 | |
dalek | ecza/cilbackend: bce76ee | sorear++ | lib/CLRBackend.cs: Start drafting ClrOp layer |
10:13 | |
ecza/cilbackend: 5544d25 | sorear++ | lib/CLRBackend.cs: Implement the rest of ClrMethodCall |
|||
10:22
daxim joined
10:25
jest left
|
|||
uasi | std: my %a; %a{CATCH {}} | 10:27 | |
p6eval | std 01ab3ab: OUTPUT«ok 00:01 120m» | ||
uasi | is it syntactically correct? | ||
moritz_ | std says so | 10:28 | |
masak | I don't see why not. | 10:29 | |
moritz_ | but it doesn't mean it's semantically valid | ||
masak | I don't see why not there either. | ||
moritz_ | because CATCH is tied to a block | ||
masak | you mean one can't have CATCH at the top level of a program? | ||
that's news to me. | 10:30 | ||
moritz_ | well, that's a block too, conceptually | ||
masak | yes. | ||
and errors can occur (or be passed to) the top level as well as any other level. | |||
moritz_ | but I don't see how a CATCH makes sense that's not directly inside a block | ||
masak | why don't you see that? | ||
moritz_ | does it bind to the outer block? | ||
10:31
QinGW left
|
|||
masak | I suppose so. | 10:31 | |
moritz_ | then it's very confusing | ||
masak | do you also find a BEGIN block at the top level very confusing? | ||
moritz_ | die "foo"; %hash{CATCH { say "OH NOEZ } }; # catches the die() | 10:32 | |
masak | yes. | ||
tadzik | o/ | ||
moritz_ | masak: nope. But a BEGIN block isn't tied as tightly to the outer block | ||
masak | I'd say it's tied exactly as tightly. | ||
or take en END block, if that makes more sense. | 10:33 | ||
moritz_ | a CATCH block modifies how code is executed in the outer block | ||
I don't see how BEGIN or END do that in the normal case | |||
masak | then we mean different things by "modifies how code is executed" :) | 10:34 | |
moritz_ | masak: in what way do you think that BEGIN and END blocks modify the execution of the surrounding block? | 10:35 | |
masak | by executing code earlier or later that would otherwise have been executed in the normal flow of the code. | 10:36 | |
BEGIN in { say "A"; BEGIN { say "B" }; say "C" } modifies the execution of 'say "B"' | 10:37 | ||
moritz_ | but that's only the inner block that's modified | ||
not the outer | |||
masak | well, yes. the inner block belongs with the BEGIN. | ||
similarly, with CATCH { say "whoa" }, it's only the inner block that's modified. | |||
moritz_ | nope | 10:38 | |
hm | |||
masak | I think I see what you're referring to. you're talking about the conditional triggering of CATCH. | ||
moritz_ | depends on what the CATCH does | ||
right | |||
sorear | CATCH is a phaser | 10:39 | |
masak | not sure I find that very relevant. | ||
BEGIN and END are phasers too. | |||
moritz_ | it always leaves the outer block, but sometimes violently, sometimes not | ||
masak | sometimes it resumes. | ||
moritz_ | even stronger interaction then | ||
masak | in fact, the rollback is handled after the CATCH. | ||
and only conditionally. | |||
yes, it's mighty strange. I mean to explore this and other phaser interactions in Yapsi. | 10:40 | ||
I bet there's a good lot we don't know about phasers yet. | |||
sorear | masak++ # thinking about Hard Stuff so I don't have to | ||
masak | :) | ||
sorear out | 10:44 | ||
masak | I'm really looking forward to the first time I see a PRE { POST {} } construction running correctly. | 10:45 | |
moritz_ | a postcondition to a precondition? | ||
you're evil :-) | |||
masak | (the POST {} block should be conceuptually hoisted up to the block that surrounds the PRE, but should still retain the lexical environment of the PRE) | 10:46 | |
hey, it's in the spec! | |||
it's a brilliant idea, since you're often declaring things in PRE that you want to check in POST. | |||
I could even see the same being done with FIRST and LAST... maybe. | 10:47 | ||
it's certainly doable, but its usefulness is perhaps doubtful. | 10:48 | ||
10:52
nero__ left
10:53
nero__ joined
10:56
nero2x joined
|
|||
masak | perhaps for @items { FIRST { my $first = $_; LAST { say "And remember, the first item was $first!" } }; say $_ } or something like that. | 10:57 | |
10:57
neroxx joined
|
|||
mathw | wouldn't that attach the LAST to the FIRST though | 10:58 | |
rather than to the FIRST's container | |||
masak | by current spec it's illegal. | ||
LAST must be directly inside a loop block. | |||
mathw | ah | 10:59 | |
masak | I'm talking about possibly extending the spec to support this. | ||
moritz_ | first implement it, then spec it :-) | ||
masak | yeah. | ||
also possibly START/LEAVE, ENTER/LEAVE, FIRST/NEXT... | |||
11:00
nero2x left,
nero__ left
|
|||
masak | what's the value of a phaser that hasn't executed yet? | 11:00 | |
say END { 42 } | |||
moritz_ | (off topic) interestingly, 'ls' doesn't do an opendir on my box | 11:01 | |
it does an open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) | |||
tadzik | same here | 11:03 | |
O_DIRECTORY | |||
If pathname is not a directory, cause the open to fail. This flag is Linux-specific, and was added in kernel version 2.1.126, to | |||
avoid denial-of-service problems if opendir(3) is called on a FIFO or tape device, but should not be used outside of the imple- | |||
mentation of opendir(3). | |||
whoops :) | |||
moritz_ | so, ls is cheating. | 11:04 | |
and won't work on really old kernels | 11:05 | ||
like, ancient | |||
11:06
nymacro left
11:17
nero2x joined
11:22
neroxx left,
nero2x left
11:29
glow left
11:37
neroxx joined
11:38
nero2x joined
11:40
nero__ joined
11:41
jaldhar left
11:42
Trashlord left
11:43
satyavvd left,
Trashlord joined,
neroxx left,
nero2x left
11:46
jaldhar joined
11:50
taljurf joined
|
|||
taljurf | guys, is perl-netpacket = search.cpan.org/~yanick/NetPacket-1...tPacket.pm ? | 11:52 | |
TiMBuS | i would assume so | 11:53 | |
its netpacket-perl in the ubuntu repo, if this is what youre asking | 11:54 | ||
daxim | perl-* is the rpm convention. | 11:55 | |
taljurf | great, thx guys :) | 11:56 | |
12:04
agentzh joined
12:05
jedai_ joined
12:07
nero2x joined
12:11
neroxx joined,
nero__ left
12:12
nero2x left
12:14
Guest87704 joined
12:24
Chillance joined
12:34
MayDaniel joined,
wamba joined
|
|||
moritz_ | libthing-perl in debian/ubuntu | 12:41 | |
12:49
scratchy joined
|
|||
scratchy | hi, I just tried to get the signature of &die in order to find out how to suppress the additional rakudo message "in ... at line ..." and got the following: "get_attr_str() not implemented in class 'Sub'" | 12:52 | |
rakudo: say &die.signature | |||
p6eval | rakudo a95c1d: OUTPUT«get_attr_str() not implemented in class 'Sub' in main program body at line 1» | ||
scratchy | could anybody give me a hint on what i am doing wrong, or how to achieve this, please? | 12:53 | |
moritz_ | you get the error because die() isn't written in Perl 6 (yet), so it has no signature you could introspect | 12:56 | |
and currently there's no way to surpress the stack trace :( | |||
scratchy | thanks, that's okay so then I will use say '...' and exit instead :) | 12:57 | |
moritz_ | that's fine for scripts, but please don't do that in modules | 12:58 | |
because exit isn't catchable | |||
masak submits rakudobug | 12:59 | ||
scratchy | yes it is in a script, when it gets bad input it exits with some text but should not show the stack trace, in modules i still use die() | 13:00 | |
masak | I've often wanted a &die that suppresses location too. | ||
I'm fine with &carp and &croak etc. coming in from modules, but I'd really like &die to have suppressable line number and file, like in Perl 5. | 13:01 | ||
it's just that... the solution employed by Perl 5 doesn't feel... "worthy" of Perl 6. | |||
maybe that's just elitism speaking, I dunno. | |||
moritz_ | you know, I've been thinking about exceptions and so for a while | ||
masak | yes? | ||
moritz_ | my idea was that exceptions are something like a smart hash | 13:02 | |
which have a default stringification | |||
and a simple die("thing", :!trace) would turn into something like die(Failure.new(message => 'thing', trace => False)) | 13:03 | ||
masak | hmm... :!trace... :/ | ||
moritz_ | and on the other hand you could smartmatch against certain properties of an error | ||
for example the above would match true against Failure.new(message => /^th/) or against Failure.new(trace => {!.so}) | 13:04 | ||
masak | it has been said here on the channel, and I think I agree, that nameds that default to Bool::True constitute a design smell. | ||
moritz_ | agreed. 'Twas just an example | 13:05 | |
masak | ok. | ||
moritz_ | maybe :concise | ||
masak | :brief | ||
moritz_ | the beauty being that the stack trace would still be available from the exception object | ||
masak | :bare | ||
yes, that's nice. | |||
moritz_ | so that if it's caught, the catcher can still decide to print the backtrace | ||
masak | getting the exception system to work really well with given/when is the big thing, IMO. | 13:06 | |
moritz_ | right, which is why I want to make it simple and general | ||
masak | kudos for that. | ||
moritz_ | in particular I think it's a good idea if the failures and the things you match them against have a very similar structure | ||
masak | have you applied for a grant yet? | 13:07 | |
moritz_ | nope (due to personal reasons) | ||
masak | ok. | ||
moritz_ | or might even be the same | ||
masak | matching failures against signatures/captures should also work. | ||
and maybe hashes too. | |||
moritz_ | (no secret involved, I just don't know how much time I'll have for programming once our daughter is born. And I sure know that I can't finishe the grant befor her birth) | 13:08 | |
masak | maybe some of those fall out automatically, by virtue of failures being objects. | ||
moritz_ | masak: that's the plan | ||
actually a failure could inherit from Capture | |||
takadonet | morning all | 13:09 | |
masak | is a failure a kind of a capture, philosophically (or even OOD-ly) speaking? hm. | 13:10 | |
takadonet: \o | |||
takadonet | reddit is down :( | ||
masak | then again, I don't think a Hash is a kind of EnumMap, either :) | ||
moritz_ | masak: you want to Capture failure information | 13:11 | |
masak | moritz_: S02:1289: Capture Function call arguments (right-hand side of a binding) | 13:12 | |
so, unless the throwing of the exception is considered a kind of function-call... | |||
13:12
skangas joined
|
|||
masak | (which it might well be, since &return invocations are) | 13:12 | |
moritz_ | masak: don't take that part of S02 too serious | ||
13:12
taljurf left
|
|||
moritz_ | masak: a capture is simply something that has named and positional parts | 13:13 | |
masak | then S02 should be changed to reflect that. | ||
moritz_ | that's why Match ~~ Capture | ||
masak | aye. | ||
what you just said, though, is like saying "don't take Complex too seriously. it's just two reals". | 13:14 | ||
moritz_ | I might have | ||
actually | |||
masak | :) | ||
well, it isn't. | |||
moritz_ | you know that polygon problem of yours? :-) | ||
masak | ooh | ||
don't say any more :) | |||
moritz_ | I considered using Complex for the coordinates | ||
too late, sorry | 13:15 | ||
masak | unless you're actually *using* the complex rule for multiplication, I'd consider that questionable design. | ||
but I'll shut up too. | |||
we can talk more after 2011-01-14. | |||
moritz_ | heh, that's also a submission deadline for a conference I might attend :-) | 13:16 | |
13:17
daxim left
13:18
daxim joined
|
|||
moritz_ should really submit the solutions he has, and approach the remaining | 13:18 | ||
masak | that seems like a reasonable winning strategy to me. | 13:19 | |
there's a soft limit of 10 submissions. | 13:20 | ||
arnsholt_ | I need to get started on that as well | ||
(And sign up =) | |||
masak | arnsholt_: sign up now. | ||
moritz_ | is a mail contains two solutions, does it count as two submissions? | ||
s/^is/if/ | |||
masak | yes. :) | ||
moritz_ | I thought I could cheat you :-) | 13:21 | |
masak | by "submission" I actually mean "piece of code in a .zip file". | ||
wasn't aware that I did until you asked, though. | |||
ooh, lue++'s post has gone live: perl6advent.wordpress.com/2010/12/1...-in-perl6/ | 13:25 | ||
"it’s time for you to learn of time" -- how very lue... :) | 13:26 | ||
flussence | aww, he changed the title... | ||
moritz_ is surprised he doesn't mention the time traveller's guide to the tenses | |||
masak | I'm not sure I agree with the explanation of the difference between 'time' and 'now'. | 13:27 | |
as far as I understand, 'now' is (as far as is possible) atomic time, whereas 'time' is civil time. | |||
takadonet | www.reddit.com/r/programming/commen..._in_perl6/ | 13:28 | |
masak | urgh. again a "poor man's URL" at the end. | ||
masak changes that, at least | |||
moritz_ | woah, today more referrers from HN than reddit | 13:29 | |
flussence | (as I understand it, Instant is the precise computery format and DateTime is the readable peopley format) | ||
masak | the post mentions Date, but it doesn't mention why Date is sometimes preferable. | ||
13:30
uniejo joined
|
|||
takadonet | masak: HN? | 13:31 | |
moritz_ | hacker news | ||
news.ycombinator.com/news | |||
takadonet | reddit has been down for a while so that might have caused it | ||
we had lots of comments/upvotes for yesterday post | |||
13:37
MayDaniel left,
mtk left
|
|||
mathw | I thought the post finished a bit early | 13:37 | |
something about date manipulation would've been nice | |||
13:39
smash joined
|
|||
smash | hello everyone | 13:39 | |
takadonet | smash: hey | 13:41 | |
mathw | hi | 13:42 | |
masak | mathw: agreed. I'll add a bit about why Date is good. | 13:50 | |
uasi: [たこ焼き] that sounds delicious. I wish I could get some here in .se | 13:58 | ||
14:10
scratchy left
14:11
sftp left
14:17
ab5tract joined
|
|||
masak | TimToady, diakopter: [backlog] in what sense does Perl 5 have a "very solid implementation of closures"? I understand if they're non-trivial to implement, but are other languages known to do worse in this regard? | 14:18 | |
moritz_ | it passes the man-or-boy test :-) | 14:19 | |
14:19
ispeak_ joined
|
|||
masak | I'm sorry, but that seems to be a very low bar. | 14:19 | |
it's also the only one I can think of offhand, besides even more basic stuff. | |||
uasi | masak: hey, why don't you make it yourself? you only need flour, boiled octopus, and ... a takoyaki pan :) ja.wikipedia.org/wiki/たこ焼き | ||
masak | uasi: a special pan? rehhh!? | 14:20 | |
wow, it even looks delicious. | |||
moritz_ | masak: well, if the inner blocks aren't accessible from the outside before run time, there's only so much you can do wrong when implementing closures | 14:21 | |
uasi | masak: ya en.wikipedia.org/wiki/File:Takoyakikado.Pan.jpg | ||
masak | uasi: tell you what. I'll stay on the lookout for octopus, and then maybe I'll try to make it. probably won't find a takoyaki pan in .se, though. | ||
moritz_ | but if you allow named subs as closures, which can be accessed before the outer scope runs... yikes | ||
masak | moritz_: like... in Perl 5? :P | ||
moritz_ | (perl 5 doesn't do that, and if you trick around to achieve it, it warns that "variable will not stay shared" or so) | ||
masak | right. | 14:22 | |
which causes me to think that considering the shoddy abstraction on which Perl 5 closures are built, the error reporting is great. :P | |||
moritz_ | considering that perl 4 didn't have lexicals... not bad :-) | 14:23 | |
(but it had the reset() function. yay.) | 14:24 | ||
and it still has | |||
buubot: eval: our $abc = 4; reset 'a'; $abc | |||
buubot | moritz_: No output. | ||
moritz_ | buubot: eval: our $abc = 4; reset 'a'; "abc: " . $abc | ||
buubot | moritz_: abc: | ||
moritz_ | buubot: eval: our $abc = 4; "abc: " . $abc | ||
buubot | moritz_: abc: 4 | ||
14:25
sftp joined
|
|||
moritz_ | it's kinda hard to believe that a "modern" language still has such a feature | 14:25 | |
masak | I'm grossed out beyond words. | ||
14:25
leprevost joined
|
|||
bbkr | after reading Temporal entry in advent calendar one question popped: is there a quick way to find how many days are in given month? something like MySQL "DAY(LAST_DAY('2010-02-01'))" | 14:26 | |
moritz_ | rakudo: say Date.today.days-in-month | 14:27 | |
p6eval | rakudo a95c1d: OUTPUT«31» | ||
tadzik | (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)[$k] | ||
:) | |||
masak | moritz_++ | ||
moritz_ | tadzik: ...except for leap years | ||
tadzik | yeah | ||
masak | rakudo: say DateTime.now.days-in-month | ||
p6eval | rakudo a95c1d: OUTPUT«31» | ||
bbkr | moritz++ | ||
moritz_ | rakudo: say Date.days-in-month(2010, 12) | ||
p6eval | rakudo a95c1d: OUTPUT«31» | 14:28 | |
moritz_ | rakudo: say Date.days-in-month(2010, 2) | ||
p6eval | rakudo a95c1d: OUTPUT«28» | ||
moritz_ | rakudo: say Date.days-in-month(2012, 2) | ||
p6eval | rakudo a95c1d: OUTPUT«29» | ||
masak | rakudo: say Date.can('days-in-month')[0].signature | ||
p6eval | rakudo a95c1d: OUTPUT«Null PMC access in invoke() in main program body at line 1» | ||
masak | hrm :/ | ||
moritz_ | try .^can | ||
rakudo: say Date.^can('days-in-month')[0].signature | 14:29 | ||
p6eval | rakudo a95c1d: OUTPUT«Null PMC access in invoke() in main program body at line 1» | ||
moritz_ | rakudo: say Date.^can('days-in-month').WHAT | ||
p6eval | rakudo a95c1d: OUTPUT«Method 'WHAT' not found for invocant of class 'P6Invocation' in main program body at line 22:/tmp/quOiK_RVNs» | ||
moritz_ | urks | ||
masak | right. | ||
I really, really need to speak to jnthn about this. | |||
LoRe | rakudo: DateTime.new() | ||
moritz_ | it returns an un-wrapped P6Invocation object | ||
p6eval | rakudo a95c1d: ( no output ) | ||
takadonet | try.rakudo.org/ dies when you try : say Date.today.days-in-month :( | ||
masak | and he will probably say "this is all fixed in 6model" :) | 14:30 | |
tadzik | :) | ||
that's what I thought | |||
14:31
fhelmberger left
|
|||
masak checks the Temporal spec for the signature instead :) | 14:32 | ||
moritz_ | multi method days-in-month($year = $!year, $month = $!month) { | ||
$month == 2 ?? self.is-leap-year($year) ?? 29 !! 28 | |||
!! $month == 4|6|9|11 ?? 30 | |||
!! 31 | |||
} | |||
14:33
agentzh left
|
|||
masak | right, that's what I thought. | 14:33 | |
mathw | \o/ junctions | ||
masak | it feels odd to me that a year could be specified without a month. | ||
14:33
glow joined
|
|||
masak | the reverse feels more obvious. | 14:33 | |
and *none* of this is spec. | |||
moritz_ | well, month without year => fails for February | 14:34 | |
masak | not if the year then defaults to $!year | ||
rakudo: say DateTime.days-in-month | |||
p6eval | rakudo a95c1d: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!year in 'days-in-month' at line 6524:CORE.setting in 'days-in-month' at line 6524:CORE.setting in main program body at line 22:/tmp/BNEDwihzkm» | ||
masak thought so | |||
might be worth making that work, actually. | 14:35 | ||
masak submits TODO rakudobug | |||
moritz_ | we really need :U and :D | ||
uhm | |||
what should it do? | |||
masak | rakudo: Date.days-in-month | ||
p6eval | rakudo a95c1d: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!year in 'days-in-month' at line 6524:CORE.setting in 'days-in-month' at line 6524:CORE.setting in main program body at line 22:/tmp/8gCoFhW0KS» | ||
moritz_ | what should it do? | ||
flussence | default to now? | ||
masak | yes, that was my intention. | 14:36 | |
moritz_ | then you'd say now.days-in-month | ||
masak | right. | ||
moritz_ | "if you mean it, why don't you just say it?" | ||
masak | true. | ||
maybe that would be one way too many to do it. | |||
flussence | the error message should say that then | ||
masak | yes. | ||
flussence | "Did you mean 'now.days-in-month'? It's shorter." | 14:37 | |
masak | it'll be one of the common pitfalls with Perl 6: that classes won't be designed for both :U and :D use. | ||
at least we can take care to write the CORE classes right :) | |||
moritz_ | masak: that why methods will default to :D | ||
tadzik | :U and :D? | ||
masak | moritz_: oh! | ||
moritz_ | tadzik: undef smilieys | ||
tadzik | :P | 14:38 | |
masak | tadzik: type objects and "real" instances, respectively. | ||
flussence | Un/Defined | ||
14:39
risou joined
|
|||
mathw | what C++ programmers would think of as static and instance methods | 14:39 | |
kind of :) | |||
moritz_ | and there's an :A (iirc) which means "Aither" | 14:40 | |
or "All" | |||
masak | "Awesome" | ||
mathw | or "Hey, bet you can't do this!!!!" | ||
in some strange universe where that starts with an A | 14:41 | ||
flussence | (anyone got an example of how these get used?) | ||
masak | sure, but the example won't work in Rakudo. | 14:42 | |
14:42
masonkramer left
|
|||
moritz_ | method foo:D($x, $z) { say "this requires a defined invocant" } | 14:42 | |
14:42
masonkramer joined
|
|||
masak thought the :D was on the invocant type | 14:42 | ||
moritz_ | or was that method foo(self:D:, $x, $y) ? | ||
masak | yes. | ||
and AFAIK, you can't write 'self' there... :) | 14:43 | ||
flussence | ooh, that's neat. | ||
moritz_ | and then :U is for things like new() | ||
masak | '$self' is fine, though. | ||
flussence | so if I understand right, "$thing:D" works like "$thing // Bool::False"? | 14:47 | |
masak | not exactly. | ||
first off, :D is used in signature types. | |||
// is not. | |||
secondly, type objects are undefined, not Bool::False. | 14:48 | ||
they *are* false too, but that's because they're undefined. :) | |||
14:49
xinming joined
|
|||
flussence | I think I get it now :) | 14:49 | |
moritz_ | in rakudo, failed match objects are undefined (because they override .defined), but they are still instances of class Match | ||
(which, thinking more about it, might not be necessary) | |||
but afaiu :D doesn't consider .defined, but real instance-ness | 14:50 | ||
masak | right. | ||
so it's actually a third axis: now we have true/false, defined/undefined, instance/typeobj | 14:51 | ||
moritz_ wonders if $thing.WHAT !=== $thing is a valid test for "real" instance-ness | |||
masak: .defined ist mean to be "instance/typeobj", but gives you the option to cheat | |||
so although it technically another dimension, it's not meant to be one | 14:52 | ||
masak | right, just as true/false is a slightly broader version of defined/undefined. | ||
most of the time, they collapse to one concept. | 14:53 | ||
flussence | .oO( is there ever a use for something that's both undefined and true at the same time? ) |
||
masak | I'm (re-)reading up on Lua right now. Lua has 0 and "" as true values. only false and nil are undefined. | ||
er, s/undefined/false/ | 14:54 | ||
moritz_ | I remember that too | ||
empty lists are true too, right? | |||
masak | rakudo: say ?() | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
masak | oh! in Lua? :) | ||
moritz_ | right | ||
masak | yes. | ||
the rule is that only false and nil are false. | 14:55 | ||
so they must be true. | |||
14:56
Axius joined
14:57
redicaps1 left
|
|||
masak | shortcircuit: do you feel all set for tomorrow's Advent post? | 14:58 | |
do we have any volunteers for slot #19 on Sunday? | 14:59 | ||
moritz_ | did anybody give shortcircuit write access to the advent calendar? | ||
masak: I might be able to come up with something, but I'd prefer it if somebody else could do it | |||
masak | moritz_: yes, same here. | 15:00 | |
don't know if shortcircuit ever got Wordpress access. | |||
PerlJam | doesn't look like it. | ||
(good morning btw :) | |||
15:01
ispeak_ left
15:02
dipthegeezer joined,
dipthegeezer left,
dip joined
|
|||
shortcircuit | masak: Sure. Though, no, I don't have write access to that WP account. | 15:03 | |
er. | |||
That blog. | |||
I do have a WP account. | |||
15:04
alester joined
|
|||
masak | I think moritz_ can get you one. | 15:05 | |
moritz_ | shortcircuit: tell (or /msg) me your email address that you used for the wordpress account | ||
then I can add you to the editor's list | |||
shortcircuit | [email@hidden.address] | ||
15:05
ab5tract left
|
|||
moritz_ | shortcircuit: invitation sent. Welcome to the wonderful world of advent :-) | 15:06 | |
PerlJam | masak: you can too :) | ||
masak | if you say so :) | 15:07 | |
15:08
mtk joined
|
|||
shortcircuit | What's the posting schedule. (A particular time on the clock I should have WP publish it?) | 15:09 | |
moritz_ | shortcircuit: 0:00 UTC is preferred | 15:10 | |
later is fine too | |||
[Coke] waves. | 15:13 | ||
PerlJam | greetings Coke | ||
masak | alester: [backlog] I think I'm going to clone your keys/wallet/cell phone habit. | 15:15 | |
alester | haha, thank you. | ||
shortcircuit tries to find verification of what tz the post date option's context is. | |||
alester | I have never ever ever lost my keys or phone or wallet. | ||
once I started doing that. | |||
masak | shortcircuit: I think it's UTC already, actually. | 15:16 | |
shortcircuit | Looks like it. | 15:17 | |
Though I'm not sure if the permalink will be /2010/12/16/day-17-xxx or /2010/12/17/day-17-xxxx, if I use the post scheduling. | 15:18 | ||
15:18
JimmyZ joined
|
|||
shortcircuit | Ah, 17. | 15:18 | |
15:19
JimmyZ left
15:20
MayDaniel joined
|
|||
shortcircuit | Scheduled. | 15:20 | |
masak | <mdxi> loops that iterate over an incrementor instead of a datastructure are the goto of the 21st century | 15:21 | |
it's more general than that. | |||
jasonmay | the advent calendar is rocking this year | ||
masak | anythign with and accumulator is Wrong in a parallel setting. | ||
jasonmay | (this is my first year actually looking at advent calendars though...) | ||
15:21
ab5tract joined
|
|||
moritz_ | jasonmay: we're glad you like it | 15:21 | |
masak | jasonmay: glad you like this year. I've been worried we're discussing less "cool" things this year. | ||
moritz_ | last year's advent posting can also be found on the same site | ||
masak | (because we picked many of the LHF topics last year) | 15:22 | |
moritz_ | it's only going to get worse next year :-) | ||
masak | ss/with and/with an/ | ||
moritz_: unless we implement more cool stuff :P | |||
moritz_ | yeah. Like meta-circular MOP and macros | 15:23 | |
PerlJam | I was thinking that we should have a mid-year advent-like calendar | ||
masak | mdxi: [backlog, Dijkstra] you might have seen this already, but just in case: blog.plover.com/prog/Hoare-logic.html | ||
moritz_ | PerlJam: since it's a bit hard to motivate enough people this advent, I think it'll be quite hard to do | 15:24 | |
and we don't want people to burn out | |||
masak | PerlJam: I still have an unrealized idea about an antipodal Advent calendar, implementing a game in 30-or-so days. | 15:25 | |
PerlJam | masak++ I like the way you think! :) | 15:26 | |
masak | PerlJam: would take about a month of planning though, in order to pre-implement the game :) | ||
mdxi | masak: thanks. i love both mjd and dijkstra :) | ||
masak | basically I've been waiting for the perfect theme/game idea to strike. | ||
mdxi: me too, incidentally :) | |||
shortcircuit | I have a suggestion for an angle of attack, if it helps. Find an unsolved task on RC that looks challenging, and write a post about solving it. :) | ||
PerlJam | the title of mjd's post is a little misleading though. Dijkstra *was* insane, just for different reasons. | ||
moritz_ would take one that isn't too challenging, otherwise it'll take too long to write about it | |||
masak | shortcircuit: I'd suggest faithfully translating a solution from another language, and then golfing/improving it. | 15:27 | |
alester | The Perl 6 Advent Calendar pleases me, as it is good bite-size chunks of stuff to post to the @perlbuzz stream. | ||
masak | in fact, I even suggest that in topic-brainstorming. | ||
shortcircuit | Has anyone written about applying the X operator against database outputs? | ||
moritz_ | alester: "optimized for the 140 character generation" :-) | 15:28 | |
15:28
risou_ joined
|
|||
masak | rakudo: use v1.0; say "LOL THIS ISN'T PUNIE" | 15:29 | |
p6eval | rakudo a95c1d: OUTPUT«LOL THIS ISN'T PUNIE» | ||
15:30
wtw left
15:31
risou left
15:32
molaf joined
|
|||
moritz_ | that should be pretty easy to fix | 15:33 | |
masak | already reported, fwiw. | ||
moritz_ | I know | 15:35 | |
PerlJam | that would make a good advent post: what do you do when you find a bug? (the answer should include debugging, reporting, and possibly fixing I think) | ||
mdxi | masak: one of my favorites: www.cs.utexas.edu/users/EWD/transcr...D1036.html | ||
shortcircuit | So, the Ackermann function? :D | 15:36 | |
moritz_ | shortcircuit: why not? | ||
15:36
plainhao joined
|
|||
masak | PerlJam: that's not "what can Perl 6 do for you" though, that's "what can you do for Perl 6" :) | 15:36 | |
15:36
Patterner left
|
|||
masak | mdxi: yes, that one's a classic. | 15:37 | |
moritz_ | shortcircuit: otoh the Perl 6 solution is too simple to make a good post :-) | ||
shortcircuit | masak: Well, to be fair, ease of access to developers and support is pretty important. | ||
It's more of a meta feature, though. | 15:38 | ||
masak | yes. I'm not saying it's not important. | ||
moritz_ | we already had the community thing though | ||
masak | I'm saying the tagline is "Something cool about Perl 6 every day" | ||
15:38
fhelmberger joined
|
|||
shortcircuit | Well, OK, but I still say you guys qualify as 'cool'. :) | 15:39 | |
masak | :) | ||
though I'm very proud about how bug reporting works in the Perl 6 community, I don't consider it something cool about Perl 6. | |||
alester | Does Perl 6 actualy have strict and warnings? Or are they just *effectively* on by default? | 15:41 | |
PerlJam | alester: so far, there's no way to turn them off so ... :) | ||
masak | alester: warnings are on. the spec doesn't even mention them, AFAIK. | 15:42 | |
alester | ok. | ||
masak | alester: strict is on, unless you run -e or start with 'v6;' | ||
dunno what happens if you go 'v6;' in the middle of your script. | |||
moritz_ doesn't like the 'v6;' part | |||
PerlJam | moritz_: why? | ||
moritz_ | an explicit 'no strict;' would be much more... explicit | ||
masak | 'use sloppy;' | 15:43 | |
moritz_ | PerlJam: do you want to write the FAQ why 'v6;' and 'use v6;' are so different? | ||
PerlJam | moritz_: I wasn't disagreeing with you. I just wanted to know your reasons in case they differed from mine :) | ||
moritz_ | PerlJam: well, I was phrasing my answer as a question :-) | ||
flussence | rakudo: my $a = 1; v6; say $a; | 15:44 | |
p6eval | rakudo a95c1d: OUTPUT«Could not find sub &v6 in main program body at line 22:/tmp/i_dgthT_3f» | ||
flussence | there you go. | ||
15:44
am0c left
|
|||
PerlJam | moritz_: my answer is ... I want TimToady to write that FAQ :) | 15:44 | |
15:44
ch3ck3r left
|
|||
flussence | &v6 should probably be die("You can't do this in the middle of a script, say 'no strict;' instead") | 15:45 | |
PerlJam | flussence: that seems worse, not better if you ask me. | ||
masak | Perl 6 generally doesn't do such special-casing. | 15:46 | |
moritz_ | rakudo: v6 | ||
p6eval | rakudo a95c1d: OUTPUT«Could not find sub &v6 in main program body at line 22:/tmp/3KOsSZqRHO» | ||
masak | besides, that assumes that it'd be a runtime error. | ||
flussence | hm. | 15:47 | |
moritz_ would like version literals to be no more special than string literals, for example | |||
masak | another question: does 'v5;' put you in non-strict Perl 5 compaitibility mode? what about 'use v5;'? is it strict by default? :) | ||
moritz_ | and it's only 'use' that special-cases | ||
if the emulated v5 is really 5.12, then it's strict | 15:48 | ||
PerlJam | S11:598 worries me. | ||
moritz_ | $ perl -M5.012 -e\$x | ||
Global symbol "$x" requires explicit package name at -e line 1. | |||
PerlJam: me too | 15:49 | ||
laxness is OK, if we are strict about how to become lax :-) | |||
15:49
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
masak | agreed. | 15:52 | |
flussence | /use v5.*;/ should probably attempt to emulate how perl5 would handle that line, where "perl5" is "whatever perl5 the implementation bothered to emulate in the first place" :) | ||
moritz_ | std: 6; $x | 15:53 | |
masak | I don't mind 'v6.0.0;' too much, or 'v6;'. I do mind the other two. | ||
p6eval | std 01ab3ab: OUTPUT«===SORRY!===Variable $x is not predeclared at /tmp/Wf_YU3Bdl1 line 1:------> 6; $x⏏<EOL>Check failedFAILED 00:01 118m» | ||
masak | moritz_: that was attempted yesterday, in the backlog. :) | ||
PerlJam | the existing spec is not robust in the face of changing code. Starting the file with a literal is something that will require a comment around it every time. | ||
masak | moritz_: NYI. | ||
flussence | also, I have no idea what irssi just did, but I forgot to escape the first / in that line... | ||
15:53
abar joined
|
|||
moritz_ | masak: I have a patch that makes 'use v5;' barf. Unfortunately it also makes 'use v6.0' barf | 15:54 | |
use v6; is fine though | |||
masak | huh. | ||
I would argue for 'use lax;' in scripts, and having -e default to lax mode, but allowing 'use strict' and -Mstrict to turn strict mode back on, just as in Perl 5. | 15:55 | ||
PerlJam | "use lax" reads funny | ||
masak | and then dumping the whole thing about the literals in void context, for the reasons PerlJam gave. | ||
PerlJam | "be lax" would be better there | ||
flussence | how about -E for strict? | ||
masak | PerlJam: the same could be said for 'use strict'. just a matter of what you're used to. | 15:56 | |
moritz_ | means something different in perl 5 | ||
PerlJam | I guess so | ||
moritz_ | but at least 'no strict' has the same weirdness (or not) as 'use strict' | ||
flussence | hm, I suppose if someone wants strict in a one-liner then they won't mind a bit more typing anyway... | ||
moritz_ | ie if you read one, you know immediately waht the other does | 15:57 | |
so 'no strict' feels more symmetric than 'use lax' | |||
masak | yes. | ||
I retract my 'use lax' suggestion in favor of 'no strict' | 15:58 | ||
the rest stands. | |||
moritz_ notices that in bokmal, 'lax' means salmon | |||
unless I misremeber the spelling | |||
BinGOs | 'use slacks;' | ||
PerlJam | no pants; | 15:59 | |
15:59
leprevost left,
plainhao left,
plainhao joined
|
|||
flussence | .oO( something I realised yesterday: zavolaj will let you write perl6 tests for C functions ) |
16:00 | |
masak | Util: [backlog, #phasers] you say you've made progress on the problems of my contest, and yet I don't see you among the signeds-up. :) | ||
PerlJam | flussence: that sounds advent-worthy to me :) | 16:01 | |
masak | PerlJam: we just Advent-posted about zavolaj... | ||
flussence | maybe next year :) | 16:02 | |
moritz_ | did you get the xmms example running? | ||
===SORRY!=== | 16:03 | ||
Unsupported Perl version 'v6', only v6 is supported at line 5732, near ";\n\nrole IO" | |||
:( | |||
flussence | not yet, I think I've got a long weekend after today though to play with it... | ||
PerlJam | masak: perhaps I'm just getting to the point where the scope of the advent calendar is too narrow. I kind of want to see any and all posts that are Perl 6 related have a forum where they can be shared. | 16:04 | |
16:04
abar left
|
|||
PerlJam contemplates perl6experience.wordpress.com | 16:04 | ||
masak | phenny: tell mberends when you have time, I'd like to discuss irclog.perlgeek.de/phasers/2010-12-14#i_3087119 with you. | 16:05 | |
phenny | masak: I'll pass that on when mberends is around. | ||
masak | PerlJam: I think the restriction we're starting to hit is that not enough cool stuff is implemented :) | 16:06 | |
maybe development speed will pick up in 2011. | |||
moritz_ certainly hopes so | 16:07 | ||
masak | I remember December 2009/January 2010 being fairly still too, feature-wise. and then things picked up for April. | ||
takadonet | x-mas really does slow us down | ||
masak | well, pmichaud's presence is a big determinant, it seems. | 16:08 | |
moritz_ | jnthn's too | ||
masak | yes, our two Bus Number Men. | ||
PerlJam | It is by their will alone that they set Rakudo in motion. :-) | 16:09 | |
masak | which is why I'm extra happy every time I see sorear making some commit or other. | ||
moritz_ | \o/ advent post in on no. 6 in r/programming/ | ||
masak | \o/ | ||
moritz_ | (I hid some other posts, so maybe it's a bit lower for others) | ||
still not bad | |||
PerlJam: will and tuits :-) | |||
16:09
leprevost joined
|
|||
shortcircuit | Has anyone done a post on getting-and-setting-up a P6 runtime yet? I don't even know which of my systems has it, if any. | 16:14 | |
masak | December 1 had such a post. | 16:16 | |
shortcircuit | Hm. | 16:18 | |
PerlJam | I wish I knew how to make it work such that when $foo contains the name of a module and that module contains a class Foo, then require $foo; Foo.new works | ||
16:19
neroxx left
|
|||
moritz_ | std: A::B | 16:19 | |
p6eval | std 01ab3ab: OUTPUT«===SORRY!===Undeclared name: 'A::B' used at line 1Check failedFAILED 00:01 117m» | ||
moritz_ | PerlJam: it won't | ||
shortcircuit sees a gentoo ebuild, wishes for an apt repo. | |||
moritz_ | PerlJam: the existance of symbols like Foo is checked at CHECK time (ie before run time) | 16:20 | |
shortcircuit | Anyway, I need to focus on work stuff for the rest of the day (and week, if at all possible) ... Vacation next week. Yay. :) | ||
moritz_ | PerlJam: and since require hasn't run at that time, the Foo thing will blow up | ||
however 'require $thing; ::Foo.new' should be possible | 16:21 | ||
rakudo: my $x = 'Test'; require $x; plan(5) | |||
p6eval | rakudo a95c1d: OUTPUT«Could not find sub &plan in main program body at line 22:/tmp/xAq856fGAS» | ||
moritz_ | rakudo: my $x = 'Test'; require $x; Test::plan(5) | ||
p6eval | rakudo a95c1d: OUTPUT«Can not find sub Test::plan in main program body at line 1» | ||
moritz_ | rakudo: my $x = 'Test'; require $x; say ::Test.WHAT | ||
p6eval | rakudo a95c1d: OUTPUT«Method 'WHAT' not found for non-object in main program body at line 22:/tmp/oY1S6IEcTB» | ||
moritz_ | hm | 16:22 | |
[Coke] | masak: why should "use v1.0" die? you're using at least 1.0... | 16:24 | |
moritz_ | because rakudo doesn't implement punie semantics | 16:25 | |
put another, rakudo rejects valid perl 1 programs | |||
[Coke] | does perl5 die when you say "use v1.0"? | 16:26 | |
moritz_ | nope | ||
[Coke] | so that's a change in behavior. is it specced? | ||
PerlJam | [Coke]: it's not the "use" that's the problem, it's "say" | ||
[Coke] | PerlJam: ?? | ||
moritz_ | but perl 5 has a different backward compatiblity policy than perl 6 | 16:27 | |
there was no say() in p1 | |||
so yes, should be specced | |||
[Coke] | I think making "use <min version>" fail on things that were not valid in that version is insane. | 16:28 | |
er, s/fail on things/make things fail/ | |||
perl -E "use v1.0; say 'hi'" (to show that say also works in that case, not just that the use doesn't complain." | 16:29 | ||
moritz_ | unless you read it as "use <exact version>" | ||
flussence | if you want to set an upper version limit for that, you'd write "no v2". That's probably not valid v1 syntax itself though... | 16:30 | |
[Coke] | do you expect rakudo to also die on "use v5.12; say 'hi'" ? | 16:31 | |
masak | [Coke]: if you ask me, supporting anything below v5 in a Perl 6 implementation is (1) not worth it, and (2) asking for trouble. | 16:32 | |
[Coke] | (perhaps that needs to be 5.10.1 instead...) | ||
flussence | .oO( do we need "use v(5.10 .. 6.0)"? ) |
||
moritz_ | [Coke]: I expect it to die if it can't supply the version | ||
[Coke] | use <version> is defined as a minimum version in 5, yes? | 16:33 | |
moritz_ | yes | ||
by that logic, use v5; shouldn't do anything | |||
because 5 < 6 | |||
[Coke] | I would recommend using some other keyword or syntax to indicate that "this section is now being parsed as if it was version <x>" | ||
moritz_ | I think we need a very clear distiniction between exact and minimum versions | 16:34 | |
[Coke] | moritz_: that seems very reasonable to me. | ||
moritz_ | and the ability to specify both | ||
[Coke] | (that it would do nothing) | ||
moritz_ | [Coke]: but that's not what the spec says | ||
TimToady | std: use v5.10+; | ||
p6eval | std 01ab3ab: OUTPUT«ok 00:01 117m» | ||
moritz_ | oh. | 16:35 | |
we have that :-) | |||
[Coke] | TimToady: so would you expect "use v1.0" to just die in most p6 implementations? | 16:36 | |
(or use v5.0, for that matter.) | 16:37 | ||
[particle] wants a magic punie | |||
dalek | d: 625303c | TimToady++ | STD.pm6: support require Foo:from[...]; Foo.new As with "use", the name given to "require" should be taken as an alias for whatever is actually located by the from argument. |
16:39 | |
TimToady | cosimo: yes, that's what the spec says | 16:40 | |
gah | |||
[Coke]: ^^ | |||
TCF | |||
otoh, P5 doesn't understand use v5.* and such | 16:41 | ||
otgh, use 'v5' means v5.* | |||
[Coke] | TimToady: it parses. what do you mean "understand" ?\ | 16:42 | |
PerlJam | p5 parses use v5.*; ??? | ||
TimToady | use v5.*; | 16:43 | |
syntax error at - line 1, near "use v5." | |||
PerlJam | yeah, that's what I thought. | ||
[Coke] | ah, you mean literally. | 16:44 | |
TimToady | std: use v5.*; | 16:45 | |
p6eval | std 01ab3ab: OUTPUT«ok 00:01 117m» | ||
TimToady | std: require Foo:from<...>; Foo.new; # parses with patch above | 16:46 | |
p6eval | std 01ab3ab: OUTPUT«===SORRY!===Undeclared name: 'Foo' used at line 1Check failedFAILED 00:01 119m» | ||
PerlJam | use v5; use v5.6; # does that second one use perl 5 version semantics? (i.e., "at least 5.6") | ||
TimToady | std: class{} | ||
p6eval | std 01ab3ab: OUTPUT«===SORRY!===Undeclared routine: 'class' used at line 1Check failedFAILED 00:01 118m» | ||
TimToady | sure would be nice if std updated | 16:47 | |
moritz_ | tomaw: does that mean that require Foo:from($package_name) # with an actual variable works? | ||
sorry, meant TimToady | |||
TimToady | moritz_: STD doesn't care :) | ||
16:47
_twitch joined
|
|||
moritz_ | well, rakudo will :-) | 16:48 | |
TimToady | any colonpair will be stripped before the name is added to the symbol table, is all the patch does | ||
perhaps :file() would be more appropriate then | |||
moritz_ | well, :file for filenames :-) | 16:49 | |
but I sure hope that package names will be allowed to | |||
so that the usual module searching is done | |||
TimToady | sure, that's how I was thinking | 16:50 | |
I didn't want to overload :from is all | |||
moritz_ | but :file sounds awefully like a file name | ||
TimToady | I suppose use could support :file too | ||
moritz_ | :source maybe? | ||
PerlJam | :source +1 | 16:51 | |
moritz_ | or maybe :from should really be :lang | ||
16:52
Axius left
|
|||
TimToady | I think a preposition reads better there | 16:52 | |
PerlJam | adverbial prepositions? :) | 16:53 | |
TimToady | prepositional phrases may be considered adverbial | ||
moritz_ | std: require Foo:from(my $x); | ||
p6eval | std 625303c: OUTPUT«ok 00:01 121m» | ||
TimToady | std: require Foo:from(...); Foo.new; | 16:54 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared name: 'Foo' used at line 1Check failedFAILED 00:01 119m» | ||
TimToady | ENOTYET | ||
yesterday we suspected it's using the CPAN version | 16:55 | ||
std: try{} | |||
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
moritz_ | might be the case | ||
something's fishy, that's for sure | 16:56 | ||
TimToady | that's not fixed yet either, and I checked that in yesterday | ||
16:56
justatheory joined
|
|||
PerlJam | wrong URL for STD repo maybe? Does it pull directly from github to update? | 16:56 | |
moritz_ | url is fine | 16:57 | |
though the perl might not be | |||
daxim | github fuX0red again? | ||
moritz_ | daxim: there's no reason to believe that | ||
problem is, some compilers want STD installed (like niecza) | 16:58 | ||
and std doesn't want std installed | |||
TimToady | is it just a matter of a ./ ? | 17:00 | |
moritz_ | p6eval runs it as $^X $path_to_viv | 17:01 | |
but viv's "use STD" might pick up the wrong one | |||
TimToady | or $path_to_viv is set using PATH? | 17:02 | |
jnthn | o/ folks | ||
<- alive :) | |||
moritz_ | \o | 17:03 | |
jnthn | Teaching has been...very distracting. Last day tomorrow, traveling to UK on Sautrday, couple of days of family visiting, then will be back to normal. :) | ||
(Yes, some family bits for christmas of course, but I've no $dayjob between tomorrow and January :)) | 17:04 | ||
17:05
glow left
|
|||
moritz_ | great to hear | 17:05 | |
PerlJam | jnthn: What reality will you hack into being over the holidays? :) | ||
jnthn | Also my worklaod in January will be rather reduced. :) | ||
PerlJam: Plan to work on 6model stuff, including the Parrot port of it, plus native attribute support, method caching and so forth. | 17:06 | ||
I expect to branch Rakudo in January. | |||
And start giving it a shove over to the new meta-model implementation. | 17:07 | ||
PerlJam | parrot port of 6model will be essentially nqp-rx ? | ||
moritz_ | there'll be a parrot part too, iiuc | ||
jnthn | Well, I only really meant the name "6model" to be about the meta-model implementation. :) | 17:08 | |
Much of what else is in that repo is really nqpclr :) | |||
But yes, nqp-rx is in the process of getting re-built on the new meta-model impl. | |||
It'll also get the new Perl 6 multi-dispatch semantics. | 17:09 | ||
PerlJam | I kind of thought the meta-model propigation would flow like dominoes. parrot, then nqp-rx, then rakudo | ||
(but with a CLR part before parrot) | |||
jnthn | It kinda does. | 17:10 | |
nqp-rx will just be the first consumer of the meta-model impl. | |||
But since nqp-rx is bundled with Parrot anyway, then it'll be available to all language implementers. | 17:11 | ||
PerlJam | hmm. Rakudo doesn't seem to grok require '/path/to/file' yet | 17:12 | |
moritz_ | nope | ||
it just groks require 'Test' | |||
17:16
MayDaniel left
|
|||
jnthn -> nomparty | 17:17 | ||
moritz_ | (off-topic, and likely old, but interesting to me): the-programmers-stone.com/the-origi...-thinking/ | 17:18 | |
17:18
kensanata left
|
|||
PerlJam | heh ... "one or two orders of magnitude more useful than most people" | 17:19 | |
masak | over the years, I've been slowly realizing how true this is. | 17:21 | |
don't know whether it's because the possible heights of brilliance, or the possible depths of incompetence :P | |||
PerlJam | It boggles me how much "reverence" my coworkers give me when it comes to coding. The way I look at it, I just move forward with what I know and realize that I don't know everything, but still move forward. | 17:29 | |
But then for the longest time, I revered pmichaud the same way I think. He's one of the few people I know smarter than me. | |||
But if Gauss is to be believed, there's a *huge* chunk of people huddled around the average. :-) | 17:32 | ||
17:33
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
PerlJam | perhaps that "one or two orders of magnitude" just means those people are closer to the edges of statistical variance naturally inherent in the population and that there's nothing "special" about them or what they're doing. They just are what they are. | 17:34 | |
17:36
daxim left
17:43
hercynium joined
|
|||
masak | PerlJam: perhaps it's simply the fact that the payoff for learning things in the field of programming is unusually large. (to the extent it can even be compared to other fields) | 17:43 | |
17:44
fhelmberger left,
MayDaniel joined,
wamba left
17:45
tadzik left
17:46
pmichaud left
17:47
hatseflats left
17:48
Juerd left,
Juerd joined
17:51
tadzik joined
17:52
pmichaud joined
17:53
hatseflats joined,
Util joined
|
|||
masak | nom & | 17:53 | |
17:53
masak left
17:54
MayDaniel left
17:59
Lorn joined
18:00
dakkar left
18:02
elb0w joined,
uasi left
|
|||
moritz_ | I guess it's the same in all fields that deal mostly with thoughts | 18:02 | |
just consider how much more the great mathematicians did than the average math teacher | |||
or how much worthwhile thoughts some really great philosophers published, compared to the big mass of philosophers | 18:03 | ||
18:09
risou_ left
18:17
wamba joined
18:19
smash left
|
|||
sorear | good * #perl6 | 18:26 | |
moritz_: there is no opendir(2); ls *has* to use open(2) | 18:34 | ||
moritz_: on pre-2.1.126 kernels, you use open too, but can't use O_DIRECTORY (so FIFOs will DOS) | 18:35 | ||
phenny: tell masak I'd especially like to hear your thoughts on S02:2603 | 18:36 | ||
phenny | sorear: I'll pass that on when masak is around. | ||
18:42
cibs left
18:44
uniejo left
18:45
_twitch left
|
|||
tadzik back | 18:46 | ||
sorear | moritz_: std will run fine with an installed STD, that is after all how I prepare new STD dists :) | 18:48 | |
moritz_: however $^X $path_to_viv is potentially problematic | |||
moritz_: doing that can break FindBin, which viv uses to detect whether it should use a checkout's STD or the system's STD | 18:49 | ||
moritz_: $path_to_viv needs to include at least one slash or things will break | 18:50 | ||
19:06
ch3ck joined,
mtk0 joined
19:17
mtk0 left,
icwiener joined,
tylerni7 joined
19:52
envi left
19:58
cibs joined
|
|||
moritz_ | std: say 1 | 19:58 | |
p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
moritz_ | std: try{} | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
19:58
cognominal left
|
|||
moritz_ | sorear: now $path_to_viv is ./viv | 19:58 | |
20:00
Jmax joined
|
|||
Jmax | i heard that perl6 is going to be ready for production use in 9 days | 20:01 | |
20:01
Jmax left
|
|||
moritz_ | for some production uses, sure | 20:02 | |
Tene | I've been using it at work for months. | 20:03 | |
20:05
plainhao left
|
|||
sorear | trolling with a project affiliation cloak? smooth | 20:06 | |
std: try{} | 20:07 | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
20:08
mavrc joined
20:09
Guest65806 left
20:15
pothos left,
pothos joined
20:28
florz joined
|
|||
tadzik | what's your favourite presentation tool, #perl6? | 20:33 | |
20:33
mavrc left
|
|||
moritz_ has written his own for the last Perl 6 talk | 20:33 | ||
it sucks in general, but did what I needed | 20:34 | ||
tadzik | care to share? | ||
moritz_ | github.com/moritz/perltalk/ | ||
tadzik | I quite like latex and beamer, but it's lots of typing for a simple things | ||
moritz_ | aye | 20:35 | |
it's great for physics or math stuff | |||
where you need lots of formulas | |||
for source code, not so | |||
20:41
jaldhar left
20:50
felliott left
20:52
Guest87704 left
20:56
felliott joined
|
|||
alester | Yesterday's lesson, codified: xrl.us/truelaziness | 21:04 | |
flussence | alester++, pretty much spot on. | 21:08 | |
alester | Thankyou. | ||
RT away! | |||
Heck, I didnt' even invoke "premature optimization" | |||
flussence | (I wish stuff would implement JS's ECMAScript5 "use strict" already, I just spent all day attempting to fix old bugs in it) | 21:09 | |
21:13
khisanth_ is now known as Khisanth
21:17
Jmax joined
|
|||
Jmax | nobody got my christmas joke :~( | 21:17 | |
diakopter | it didn't seem very joke-like | ||
Jmax | i apologize | ||
diakopter | not your fault, were you truly joking, since it's a FAQ to ask "which christmas?" or "really christmas?" | 21:18 | |
Jmax | of course | 21:19 | |
i suppose irc lacks proper sarcasm conveyance | 21:20 | ||
diakopter | without context, yes :D | ||
21:36
cognominal joined
21:37
stkowski joined
|
|||
sorear | christmas is an in-joke anyway | 21:38 | |
it should never have been turned into a rumor | |||
21:38
MayDaniel joined,
MayDaniel left,
MayDaniel joined
|
|||
moritz_ | .u ellipsis | 21:38 | |
phenny | U+0EAF LAO ELLIPSIS (ຯ) | ||
sorear | .u DOTS | 21:39 | |
phenny | U+205E VERTICAL FOUR DOTS (⁞) | ||
diakopter | .u horizontal ellipsis | ||
phenny | U+2026 HORIZONTAL ELLIPSIS (…) | ||
moritz_ just presed Ctrl k . . in vim and found it | 21:40 | ||
Jmax | chromeos' term doesn't do utf8 very wekl :\ | ||
moritz_ | it seems UTF-8 is not the only thing it doesn't do well | ||
flussence | I still haven't unlearned windows Alt+0133 = ellipsis | ||
sorear | ick | 21:41 | |
Jmax | yeah, it doesn't do parrot, rakudo, pugs, or anything other than browsing very well :) | ||
diakopter | Jmax: but the web browser is the sole platform of the future ;) | ||
sorear | freenode web gateway! | 21:42 | |
Jmax | you say that ironically but it's true | ||
21:42
glow joined
|
|||
tadzik | Jmax: try try.rakudo.org :) | 21:42 | |
moritz_ | diakopter: but the future's hereness is unevenly distributed | ||
diakopter | (and forever will be..) | ||
sorear | does chromeos have Silverlight? | ||
Jmax | tadzik: nice. look for the chromeos UA :) | ||
of course not sorear | 21:43 | ||
but it does have FLash | |||
sorear | Jmax: why of course not? | ||
Jmax | because chromeos is linux-based | ||
moritz_ | so? | ||
Jmax | tadzik: a serious error has occured | ||
moritz_ | do you think ubuntu and suse ship without flash? | 21:44 | |
Jmax | flash is not silverlight | ||
moritz_ | it neither is perl | ||
captain obvious greeting | |||
sorear | in ~2 months I should have a Perl 6 implementation that can run with moonlight | ||
well | |||
diakopter | well.... | 21:45 | |
;) | |||
sorear | actually implementing the browser control is an exercise for someone else. | ||
flussence | "A serious error has occured, please file a bug report describing what happened." ...wha? | ||
Jmax | anyways, i'm getting the same error flussence is getting | ||
using: say "Hey world" | |||
flussence | yeah, trying to figure out what that even means... (and who needs a cluebatting for that message) | 21:46 | |
diakopter | moritz_: I doubt goog would be willing to bundle mono/moonlight | ||
crazier things have happened, though. | |||
flussence | server HTTP 500 from a timeout. | ||
22:05
ilogger2 joined,
ChanServ sets mode: +v ilogger2,
nsh_ joined
22:06
phenny joined,
Woody4286 joined
22:07
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
kthakore | flussence: ah ok | 22:10 | |
sorear: flussence how do I change git:// to http:// for the repos | |||
22:11
PerlJam joined
|
|||
sorear | I do not understand the question | 22:12 | |
22:18
pothos_ joined,
y3llow_ joined
22:19
shi joined
22:20
y3llow_ is now known as y3llow,
pothos_ is now known as pothos
22:23
shi left
22:25
shi joined
|
|||
kthakore | sorear: ==> Testing zavolaj | 22:28 | |
make: *** No rule to make target `test'. Stop. | |||
==> Tests failed for zavolaj | |||
PerlJam | kthakore: you used neutro to install it? | 22:29 | |
kthakore | PerlJam: yes | ||
PerlJam: also it can't find perl6 libpath | 22:30 | ||
PerlJam | Last time I checked zavolaj didn't follow the same conventions that neutro was expecting. | ||
kthakore | it is doing perl6 -e 'print @*INC[2]' | ||
which gives me '.' | |||
rakudo: print @*INC[2] | |||
p6eval | rakudo a95c1d: OUTPUT«/home/p6eval/p1/lib/parrot/2.10.1-devel/languages/perl6/lib» | ||
kthakore | see I get '.' | ||
wth? | |||
22:31
risou joined
|
|||
kthakore | I did ln -s /usr/local/perl6 /home/foo/local/path/to/perl6 | 22:31 | |
is that a problem? | |||
PerlJam | dunno. As long as it can find the libs it needs, I wouldn't think so. | 22:32 | |
but, if perl6 is in your PATH somewhere, then you can manually build and install NativeCall pretty easily. | 22:33 | ||
(and, of course, use it :) | |||
kthakore | man | 22:34 | |
PerlJam | but you may have better luck using ufo to create the proper makefile. | ||
kthakore | I had to do | ||
print @*INC[1] | |||
... | |||
:( | |||
this is fuxed | |||
any way | |||
I have NativeCall now | |||
PerlJam afk & | 22:35 | ||
22:38
sji joined
22:40
shi left,
felliott_ joined
22:41
felliott_ is now known as felliott
|
|||
diakopter | kthakore: fixed or fuxed? | 22:43 | |
kthakore | diakopter: I made it work | ||
diakopter: I had to hack a lot of stuff | |||
diakopter | yeah but did you mean to type "fuxed"? | 22:44 | |
(I was just curious) | 22:46 | ||
kthakore | I had to use @*INC[1] in the make file for system lib | 22:48 | |
rather then @*INC[2] | |||
22:48
felliott left
|
|||
kthakore | also in neturo I had to change git:// to http:// | 22:49 | |
diakopter facepalm | 22:50 | ||
flussence | diakopter: consider it a portmaneau ;) | ||
kthakore | is there UInt type in Perl6 ? | ||
rakudo: class foo is UINt | |||
p6eval | rakudo a95c1d: OUTPUT«===SORRY!===Malformed package declaration at line 22, near ""» | ||
kthakore | rakudo: class foo is UInt | 22:51 | |
p6eval | rakudo a95c1d: OUTPUT«===SORRY!===Malformed package declaration at line 22, near ""» | ||
flussence | subset UInt of Int where { * >= 0 } | ||
kthakore | ls | 22:55 | |
22:55
felliott joined
|
|||
tadzik | :) | 22:56 | |
23:04
richyfish joined
|
|||
kthakore | OMG SDL IS RUNING ON PERL6 | 23:04 | |
OMFG! | |||
what is sleep(2) in perl | 23:05 | ||
rakudo: sleep(2); say 'foo' | |||
p6eval | rakudo a95c1d: OUTPUT«foo» | ||
richyfish | hi, using rakudo perl6 on linux. Is there a way to get up/down history cursor keys to work ( eg i get ^[[A for up ) | 23:11 | |
flussence | sounds like it was built without readline | 23:12 | |
23:12
redicaps joined
|
|||
[Coke] | richyfish: did you build your own rakudo? | 23:14 | |
richyfish | yes, i did. | 23:15 | |
--configure argument perhaps? | 23:16 | ||
[Coke] | parrot should automatically detect if you have readline installed. | 23:17 | |
did you build your own parrot explicitly, or just use "--gen-parrot" with rakudo? | |||
kthakore | MUAHAHAHAHAHAHH gist.github.com/744192 | ||
jnthn++ I love you 4ever | |||
richyfish | i used --gen-parrot, pretty sure | 23:18 | |
yeah, perl Configure.pl --gen-parrot | |||
sorear | do you have libreadline-dev installed? | 23:19 | |
[Coke] | ok, then you just need 1) do that again, but 0) make sure you have readline available first. If you're on linux, you probably want something like "readline-dev" | ||
(I'll let sorear take it frmo here.) | |||
richyfish | hang on and i'll give it a shot | 23:20 | |
23:24
dual joined
23:29
dipthegeezer joined
|
|||
dalek | ecza/cilbackend: fb2444a | sorear++ | lib/CLRBackend.cs: Implement Clr*Let operation family |
23:37 | |
23:47
stkowski_ joined,
stkowski_ is now known as stkowski,
adu joined
|
|||
tadzik | kthakore: nice! | 23:47 | |
23:48
redicaps left
|
|||
tadzik | now you can start some SDL bindings and your game tutorial :) | 23:48 | |
maybe Pong will be slow enough for me to win | |||
richyfish | yay! got history in rakudo. much better. | 23:54 | |
23:54
sji left
|
|||
richyfish | ok, code question: | 23:57 | |
my $r1 = 10..20 | |||
my $r2 = 30..40 | |||
my @ra = $r1, $r2 | |||
my $v = 10 | |||
$v ~~ @a[0]; | |||
Bool::True | 23:58 | ||
$v ~~ @a[1]; | |||
kthakore | tadzik: :D | ||
richyfish | Bool::False; | ||
but ... | |||
$v ~~ $_ for @ra; | |||
kthakore | tadzik: only if you read and reie SDL manual | ||
richyfish | Bool::True Bool::True | ||
tadzik | kthakore: reie? | 23:59 | |
flussence | well | ||
richyfish | confused why second Bool::True appears, should be false? | ||
kthakore | review tadzik | ||
flussence | rakudo: my @ra = 10..20, 30..40; say 10 ~~ $_ for @ra; say @ra.perl | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::TrueBool::True[10, 11, 12, 13, 14, 15, 16, 17, | ||
..18, 19,… |