»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:02
Chillance left
00:13
leprevost joined
|
|||
felher | 'night, #perl6 | 00:14 | |
00:16
skids joined
|
|||
jnthn blug: 6guts.wordpress.com/2012/03/09/meta...kudo-news/ | 00:20 | ||
And now, sleep & | |||
00:40
pat_js left
00:41
benabik joined
00:53
lestrrat left
00:55
lestrrat joined
01:10
whiteknight joined
|
|||
timotimo | oh. do i understand correctly that nqp can be a tool to set rakudo atop non-parrot? | 01:14 | |
01:17
scott__ joined
|
|||
[Coke] | S32-num/exp.t - any reason the last block needs a ... ? mind if I convert it to .. so pugs can run it? | 01:35 | |
timotimo: eventually, yes | |||
[Coke] invokes forgiveness. | 01:36 | ||
01:41
lestrrat left
01:42
lestrrat joined
01:45
sivoais joined
01:48
elkng joined
|
|||
elkng | if one decided to learn perl should one start to learn perl6 and never to look at perl5 ? | 01:56 | |
araujo | they are different , though yet perlish, languages | ||
:) | |||
elkng | which one beginner should pick ? perl5 or perl6 ? | 01:57 | |
"Perl 6 is under-documented. Unfortunately that means that it's not easy to learn Perl 6, and that you have to have a profound interest in Perl 6 to actually find the motivation to learn it from the specification", thats it ? | 01:59 | ||
timotimo | it depends on what you're up to | 02:07 | |
do you need to become productive soon? | |||
02:07
aindilis left
|
|||
timotimo | perl5 has a huge ecosystem of packages, perl6 doesn't yet (although with niecza you can apparently very easily use .net/mono libraries) | 02:08 | |
02:08
aindilis joined
|
|||
timotimo | i'd also guess, that the performance of perl5 is better than perl6s performance (niecza offering better performance than rakudo usually) | 02:08 | |
elkng | no, want to know why are they different if they same language, and if they different why dont perl6 called differently but just changed version number | ||
timotimo | for one, you can put perl5 code into perl6 | 02:10 | |
well, okay, that sounds like "you can put assembler code into C code, so C should instead be called 'assembler 2'", but meh | 02:11 | ||
perl5 and pero6 apparently share lots of syntax and ideas | |||
elkng | perl5 -> perl6 something like C -> C++ ? | 02:14 | |
timotimo | no, don't think so | 02:18 | |
what i meant with "put perl5 code into perl6" is that you can go "use v5;" or "use v6;" on a block-per-block level | 02:19 | ||
araujo | elkng, perl6 is a different language | 02:20 | |
but still perl | |||
timotimo | while perl6 features what i, as a never-used-perl5-person understand, is a dramatically improved system of method calls (signatures, multiple dispatch) and an actual object system with meta object stuff, perl5 has gotten many apparently very good object systems in the mean time, too (moose, moosex, moo, mo, m and ) | ||
02:21
slavik1 left
|
|||
timotimo | i invite anyone to call me out on any obvious mistakes/misinformation | 02:22 | |
[Coke] | b: say 8204-7403 | 02:32 | |
p6eval | b 1b7dd1: OUTPUT«801» | ||
[Coke] | b: say 8204/21099 | ||
p6eval | b 1b7dd1: OUTPUT«0.388833594009195» | ||
dalek | ast: b1c8167 | coke++ | / (17 files): pugs fudge |
02:34 | |
gs.hs: 15e9360 | coke++ | t/spectest.data: run fudged test |
|||
gs.hs: 9eb738a | coke++ | t/spectest.data: run fudged tests begin to document unrunnable tests. |
|||
02:42
araujo left
|
|||
[Coke] | masak: fudging pugs is getting harder and less fun. | 02:48 | |
02:50
colomon left
03:02
thou joined
03:07
thou left,
orafu left,
orafu joined
03:13
thou joined
03:15
whiteknight left
03:39
Khisanth left
03:49
thou left
03:55
Khisanth joined
03:56
leprevost left
03:58
leprevost joined
|
|||
elkng | there no #perl6-users ? | 04:12 | |
this loop "for 1..3 -> $x { }" better looks like: "for $x:1..3 {" | 04:19 | ||
skids | if you only have one variable going in, why not 'for 1..3 { .say }' ? | 04:23 | |
elkng | isnt "$#b" better looking and faster to write than [email@hidden.address] | 04:27 | |
benabik | +@b | ||
nom: my @b = 1, 2, 3; say +@b | |||
p6eval | rakudo 4235df: OUTPUT«3» | ||
elkng | OUTPUTxAB3NLxBB ? | 04:28 | |
skids | evalbot folds newlines. | ||
elkng | shouldnt there be "123" | ||
skids | no, you were asking for a short way to write .end. That's it. | 04:29 | |
benabik | nom: my @b = <a b c>; say +@b | ||
p6eval | rakudo 4235df: OUTPUT«3» | ||
benabik | 3 is the length | ||
04:32
leprevost left
05:02
skids left
05:14
thou joined
05:25
araujo joined,
araujo left,
araujo joined
05:44
sftp_ left
05:45
alc joined
05:46
sftp joined
05:49
NamelessTee joined
05:51
thou left
|
|||
tadzik | \o/ | 06:00 | |
moritz | \o | 06:18 | |
phenny | moritz: 08 Mar 22:54Z <jnthn> tell moritz fixed the issue that sunk your progress earlier | ||
moritz | tadzik is back. That means his travel can't have beeen delayed too long :-) | ||
06:19
marmalade left
|
|||
mathw is excited to be building Rakudo for the first time in aaaaages | 06:41 | ||
06:44
jeffreykegler joined
06:47
MayDaniel joined
06:48
jeffreykegler left
|
|||
moritz | elkng: re $#b, that only works if you keep the array in an @-sigiled variable, which doesn't need to be the case | 06:54 | |
elkng: also in Perl 6 we need the last index only in rare cases explicitly, so it doesn't make sense to introduce extra syntax for it | |||
we also don't change the sigils anymore. The variable is called @b, so whatever we do with it, there'll be a @ at the start | 06:55 | ||
if you want to iterate over the indexes of an array, you'd just do for @b.keys { } | |||
sorear | goodish * #perl6 | 06:57 | |
mathw | oh hai | 06:58 | |
moritz | \o sorearish | ||
07:01
NamelessTee left
|
|||
sorear | o/ moritz | 07:01 | |
tadzik | moritz: it was actually like 14 hours, it went through Czech Rep. | 07:02 | |
sorear | elkng: right, there are no Perl 6 users. :p | 07:03 | |
(for sufficiently scottish definitions of users) | |||
right now, everyone is involved in language design, so we have everyone crammed together | |||
mathw is trying to figure out what's upsetting rakudo when it tries to compile the much-neglected Form | 07:17 | ||
'missing block' is not the most useful error message when there appears to be a block right where the compiler's complaining | 07:18 | ||
there doesn't seem to have been a syntactic alteration of given/when either, so it's not that | 07:23 | ||
hmm | |||
ahah | 07:26 | ||
that's what's wrong | 07:27 | ||
good | |||
now how to fix it... | |||
07:31
MayDaniel left
|
|||
mathw | is it possible to export an enum from a module? | 07:33 | |
moritz | I dearly hope so | 07:46 | |
nom: enum A is export <a b c>; | 07:47 | ||
p6eval | rakudo 4235df: ( no output ) | ||
moritz | nom: enum A <a b c > is export; | ||
p6eval | rakudo 4235df: OUTPUT«===SORRY!===Confusedat /tmp/c7tlkI4Har:1» | ||
mathw | okay that was my stupid morning brain's fault | 07:49 | |
overcome that little hurdle | |||
hurrah | |||
now to investigate Cannot call 'trait_mod:<is>'; none of these signatures match: | 07:50 | ||
fortunately there are only two calls to that in this file | |||
so it should be easy enough to figure out which one's the problem :) | 07:51 | ||
moritz | mathw: are you using nested namespaces? | ||
if you have something like | 07:52 | ||
Foo.pm: module Foo; class A { }; | |||
and then you 'use Foo;' | |||
you must now refer to A as Foo::A | |||
unless you explicitly export A separately | 07:53 | ||
mathw | yes | ||
this pleases me | |||
moritz | it might lead to the error you pasted, if you inherit from something that is referenced in the wrong way, or so | ||
mathw | \o/ form is now in to test run | 07:54 | |
moritz | \o/ | 07:55 | |
push push push | |||
mathw | unsurprisingly | ||
they don't all pass | |||
looks like they're crashing | |||
some of them | |||
moritz commutes | |||
mathw | probably thetest files also don't conform to shiny new rakudo | ||
nom: my @a = gather loop { take 1; last; }; say @a | 08:04 | ||
p6eval | rakudo 4235df: OUTPUT«Method 'eager' not found for invocant of class 'Integer' in sub coro at src/gen/CORE.setting:4775 in method reify at src/gen/CORE.setting:4756 in method reify at src/gen/CORE.setting:4527 in method reify at src/gen/CORE.setting:4527 in method gimme at src… | ||
mathw | is this me or nom? | 08:05 | |
08:18
mj41 joined
|
|||
moritz | that' nom | 08:24 | |
mathw | whew | 08:25 | |
also :( | |||
moritz | I think a block after the gather helps | ||
nom: my @a = gather { loop { take 1; last; }}; say @a | |||
p6eval | rakudo 4235df: OUTPUT«Method 'eager' not found for invocant of class 'Integer' in sub coro at src/gen/CORE.setting:4775 in method reify at src/gen/CORE.setting:4756 in method reify at src/gen/CORE.setting:4527 in method reify at src/gen/CORE.setting:4527 in method gimme at src… | ||
moritz | hm, no :/ | ||
mathw | a workaround would be nice | ||
moritz | nom: my @a = gather { while True { take 1; last; }}; say @a | ||
p6eval | rakudo 4235df: OUTPUT«1» | ||
mathw | ah | ||
something to do with loop | |||
moritz | aye | 08:26 | |
nom: my @a = gather { loop (1; 1; 1) { take 1; last; }}; say @a | |||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | with headless loop, to be exact | ||
mathw | well at least it's a quite limited problem | ||
and I can easily incorporate that workaround | |||
\o/ up to 14/19 in that file now | 08:28 | ||
type check failed for return value, hmm | |||
moritz | might not have been enforced before | ||
mathw | quite probably | ||
moritz | or it's some Seq vs. List vs. Array business or so | ||
mathw | hah | 08:30 | |
the sub has returns Str on it | |||
I took that off and had a look at what actually comes back | |||
it's a Failure() | |||
moritz | oh | ||
mathw | "can only reduce with arity 2" | ||
awesome | 08:32 | ||
removing an old workaround for missing [] metaoperator in rakudo makes it all work | |||
moritz | \o/ | 08:33 | |
mathw | although I'm not quite sure why @thing.reduce: &infix:<~> would fail where [~] @thing doesn't | ||
\o/ 19/19 | |||
moritz | that's certainly LTA | ||
because &infix:<~> can accept two arguments | 08:34 | ||
mathw: fwiw @thing.join is probably a lot more efficient | |||
mathw | noted | ||
moritz | though that's also something we should optimize at some point | 08:35 | |
mathw | ideally they would be the same | ||
08:35
am0c joined
|
|||
mathw | fortunately I have a test suite so I can change to .join and try it | 08:35 | |
although the other instance is [+ | |||
argh | |||
[+] | |||
morning fingers | |||
moritz | well, one has to be careful about such optimizations and user-defined operators | ||
mathw | yes you never know what people are actually going to reduce | ||
'ideally' doesn't take much into account regarding the real world's terrifying genericity though :) | 08:36 | ||
moritz | but you can know at compile time if other ~ multis have been added | ||
nom: say (1, 2, 3).recude: &infix:<~> | 08:37 | ||
p6eval | rakudo 4235df: OUTPUT«Method 'recude' not found for invocant of class 'Parcel' in block <anon> at /tmp/ONZ51Slpks:1» | ||
moritz | nom: say (1, 2, 3).reduce: &infix:<~> | ||
p6eval | rakudo 4235df: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "can only reduce with arity 2"))» | ||
moritz | nom: say &infix:<~>.arity | 08:38 | |
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | nom: say &infix:<~>.count | ||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | ah, that's wrong | ||
nom: say &infix:<~>(2, 3) | 08:39 | ||
p6eval | rakudo 4235df: OUTPUT«23» | ||
moritz submits rakudobug | |||
mathw | no wonder reduce didn't like it | ||
doing this updating just reminds me how awesome rakudo's got recently | 08:41 | ||
moritz | arity problem reported as [perl #111646] | 08:42 | |
nom: proto a(|$) {* }; multi a($) { }; multi a($, $) { }; say &a.arity | 08:44 | ||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | nom: proto a(|$) {* }; multi a($, $) { }; say &a.arity | ||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | nom: multi a($, $) { }; say &a.arity | ||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | eeks | ||
nom: multi a($a, $b) { }; say &a.arity | |||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | nom: sub a($, $) { }; say &a.arity | 08:47 | |
p6eval | rakudo 4235df: OUTPUT«2» | ||
moritz | nom: sub a($, $) { }; say &a.count | ||
p6eval | rakudo 4235df: OUTPUT«2» | ||
moritz | nom: sub a($, $) { }; say &a.WHAT | ||
p6eval | rakudo 4235df: OUTPUT«Sub()» | ||
moritz | nom: sub a($, $) { }; say &a.candidates | ||
p6eval | rakudo 4235df: OUTPUT«sub a(Any , Any ) { ... }» | ||
moritz | nom: sub a(|$) { }; say &a.arity | 08:48 | |
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | nom: sub a(|$) { }; say &a.count | ||
p6eval | rakudo 4235df: OUTPUT«1» | ||
moritz | that's the real problem | ||
nom: sub a(:|$) { } | 08:51 | ||
p6eval | rakudo 4235df: OUTPUT«===SORRY!===Malformed parameterat /tmp/iCjWLmH9jg:1» | ||
moritz | nom: sub a(*@a) { }; say .count, .arity given &a | 08:52 | |
p6eval | rakudo 4235df: OUTPUT«00» | ||
mathw | am I supposed to be able to assign an Int to a Num? | 08:55 | |
moritz | no | ||
mathw | that explains why I can't then :) | ||
moritz | if you want something that can store Int or Num, type the container as Real | ||
mathw | on inspection it looks like the container should be an Int anyway | ||
moritz | or coerce explicitly if you want to store it as floating point always | ||
mathw | not sure why it was a num | 08:56 | |
moritz | probably because of an old rakudobug | ||
mathw | actually it should be an unsigned int | ||
\o/ | 08:58 | ||
All tests successful. | |||
Files=7, Tests=132, 63 wallclock secs ( 0.08 usr 0.02 sys + 60.08 cusr 1.57 csys = 61.75 CPU) | |||
Result: PASS | |||
thereare some uninitialized value warnings | |||
but the semantics are all nice | |||
and pushed | 09:02 | ||
form now works again | |||
fsvo 'works' | |||
mathw -> breakfast, paid work etc. | |||
(commence context shift to C# mode) | |||
09:02
drbean left
09:04
birdwindupbird joined
|
|||
mathw | thanks for your help moritz++ | 09:05 | |
09:15
drbean joined
|
|||
moritz | you're welcome | 09:20 | |
09:21
Moukeddar joined
|
|||
jnthn | mornin' | 09:35 | |
We have Form working again?! :D | 09:36 | ||
tadzik | good morning | ||
jnthn | That goes into the next Star | ||
09:42
birdwindupbird left
|
|||
moritz | lots of japanese perl6 activity on twitter | 09:46 | |
10:06
scott__ left
10:10
alc left
|
|||
moritz | str: loop(1; 2; 3) { } | 10:10 | |
star: loop(1; 2; 3) { } | 10:11 | ||
p6eval | star 2012.01: OUTPUT«===SORRY!===Confused at line 1, near "loop(1; 2;"» | ||
moritz | nom: loop(1; 2; 3) { } | ||
p6eval | rakudo 4235df: OUTPUT«===SORRY!===Confusedat /tmp/9lHQGCtb2L:1» | ||
jnthn | nom: loop (1; 2; 3) { } | 10:12 | |
tadzik | std: loop(1; 2; 3) { | ||
p6eval | rakudo 4235df: OUTPUT«(timeout)» | ||
std 1ad3292: OUTPUT«===SORRY!===Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parens at /tmp/QBeO3pt7Mo line 1:------> loop⏏(1; 2; 3) {Unexpected block in infix position (two terms in a row) at /tmp/QBeO3pt7Mo… | |||
moritz | thing is, we have a panic that says "whitespace required after loop" | 10:13 | |
but we never seem to get there | |||
and locally that error loops. sigh. | 10:17 | ||
or maybe not. I'm confused. | 10:18 | ||
mathw | jnthn: yes I realised no commits since 2010 was unacceptable, and the latest rakudo release was so exciting | 10:21 | |
tadzik | mathw: btw, could you add a META.info to form? | 10:23 | |
the so-so-spec is here: github.com/perl6/ecosystem/blob/master/spec.pod | 10:24 | ||
mathw | tadzik: sure thing | ||
tadzik | this way we'd be able to install it properly with panda | ||
tadzik schoolifies | 10:26 | ||
masak | "The name should not contain any elements indicating that the module is for Perl 6" # good. | 10:27 | |
mathw | tadzik: done | ||
masak | nom: say "alive"; loop (1; 2) {} | 10:38 | |
p6eval | rakudo 4235df: OUTPUT«===SORRY!===Missing blockat /tmp/tDphhhHU6F:1» | ||
masak | nom: say "alive"; loop (1; 2; 3; 4) {} | ||
p6eval | rakudo 4235df: OUTPUT«===SORRY!===Missing blockat /tmp/VIHCjr723V:1» | ||
masak | nom: say "alive"; loop (1; 2; 3) {} | ||
p6eval | rakudo 4235df: OUTPUT«(timeout)alive» | ||
masak | nom: loop (1; 2; 3) { last }; say "alive" | ||
p6eval | rakudo 4235df: OUTPUT«alive» | ||
10:47
daxim joined
|
|||
moritz | leaf.dragonflybsd.org/mailarchive/k...00000.html | 10:48 | |
somebody submitted AMDbug :-) | |||
masak | nice. | 10:51 | |
that's pretty hard code. | |||
core* | |||
moritz | aye | ||
dalek | kudo/nom: a8086d4 | moritz++ | src/core/ (2 files): make error reporting more robust |
10:52 | |
10:59
Trashlord joined
11:08
lestrrat left
11:10
lestrrat joined
|
|||
masak | Linus considers it important not to break binary compatibility: lkml.org/lkml/2012/3/8/495 | 11:13 | |
moritz | "The *only* reason for an OS kernel existing in the first | 11:18 | |
place is to serve user-space. The kernel has no relevance on its own" | |||
how very true | |||
mathw | A kernel with no userspace would be very dull indeed | ||
moritz | and we can make interesting analogies from there | ||
about programming languages and users | |||
masak | yeah. 's why I posted it here. | 11:23 | |
jnthn | Linus has a way of wording things. :) | 11:30 | |
Agree with his points, though. :) | |||
mathw | I can't get lkml.org to load :( | 11:32 | |
jnthn | It took about 30 seconds or so here. | 11:33 | |
mathw | maybe my browser's being too impatient | ||
how strange | 11:35 | ||
I can't load that URI, but I can browse around and find it via the site's facilities | |||
11:36
pernatiy left
|
|||
mathw | and yes, Linus does have a way of wording things | 11:37 | |
one gets the impression that he's quite serious about binary compatibility | |||
11:39
Moukeddar left
11:52
birdwindupbird joined,
NamelessTee joined
11:57
tr-808 left
11:58
lumi__ left
12:09
lumi__ joined
12:19
domidumont left
12:20
mj41 left
12:24
domidumont joined
12:28
HarryS left
12:29
HarryS joined
12:34
mj41 joined
12:49
mj41 left
12:50
mj41 joined,
NamelessTee left
12:57
bluescreen10 joined
13:07
mtk joined
13:14
birdwind1pbird joined
13:23
birdwindupbird left
|
|||
[Coke] | pugs: 3.Int.say | 13:25 | |
p6eval | pugs b927740: OUTPUT«*** No such method in class Int: "&Int" at /tmp/H4cNQEhFQh line 1, column 1 - line 2, column 1» | ||
13:26
jaldhar left
13:29
lumi__ left
|
|||
[Coke] | au++ | 13:30 | |
I think it's neat that we're pretty close to 40% of the spec tests for pugs with about a 10 line patch so far. | 13:31 | ||
(there's still more tests to pass with no more changes, also.) | 13:32 | ||
13:33
lumi__ joined
|
|||
masak | r: sub foo { state $a = 5; state $b = 42; $a++; $b--; say "$a $b" }; foo; foo; foo | 13:42 | |
p6eval | rakudo a8086d: OUTPUT«6 417 408 39» | ||
masak | r: sub foo { state ($a, $b) = 5, 42; $a++; $b--; say "$a $b" }; foo; foo; foo | ||
p6eval | rakudo a8086d: OUTPUT«6 416 416 41» | ||
masak submits rakudobug | 13:43 | ||
n: sub foo { state ($a, $b) = 5, 42; $a++; $b--; say "$a $b" }; foo; foo; foo | |||
p6eval | niecza v15-4-g1f35f89: OUTPUT«6 417 408 39» | ||
[Coke] | pugs: sub foo { state ($a, $b) = 5, 42; $a++; $b--; say "$a $b" }; foo; foo; foo | 13:44 | |
p6eval | pugs b927740: OUTPUT«6 416 416 41» | ||
[Coke] | :( | ||
masak submits pugsbug | |||
[Coke] | danke. | ||
masak | p: say "still no 'p' alias?" | 13:45 | |
moritz: the Society For One-Letter Implementation Consistency or on line 1. | |||
are* | |||
moritz | masak: feel free to install the alias. It's easy. | 13:46 | |
masak tries with minimal clues | |||
moritz | masak: search for the word alias | ||
inside evalbot.pl | |||
masak | found evalbot repo :) | 13:47 | |
shh, you're not supposed to help me :P | |||
moritz | :-) | ||
masak | it was easier to inspect the last commit. | ||
jnthn | Hmm | ||
moritz | I misunderstood; I thought you wanted minimal clues from me, ie more than none | ||
jnthn | I guess there must be something curious with the initializer parsing | 13:48 | |
oh, or handling somewhere | |||
moritz suspects so too | |||
jnthn | Likely a relatively easy fix. | 13:49 | |
moritz writes a test | 13:50 | ||
still no new HPMoR chapter :( | 13:52 | ||
dalek | albot: 54d4987 | (Carl Mäsak)++ | evalbot.pl: [evalbot.pl] added a 'p' alias for Pugs |
||
masak | moritz: I'd like to do something nice for LessWrong, but I don't know what. | 13:53 | |
moritz | evalbot control restart | 13:55 | |
13:55
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval,
Trashlord left
|
|||
masak | p: sub foo { state $a = 5; state $b = 42; $a++; $b--; say "$a $b" }; foo; foo; foo | 13:56 | |
p6eval | pugs b927740: OUTPUT«6 416 416 41» | ||
masak | Pugs' bug is deeper than Rakudo's. :) | ||
13:56
JimmyZ joined
|
|||
[Coke] | b: say 8204-9050 | 13:57 | |
p6eval | b 1b7dd1: OUTPUT«-846» | ||
[Coke] | b: say 8204/9050 | 13:58 | |
p6eval | b 1b7dd1: OUTPUT«0.906519337016575» | ||
13:58
Trashlord joined
14:01
tokuhir__ joined
|
|||
[Coke] | ARGLEBARGLE | 14:01 | |
JimmyZ | perl6: say pi | 14:02 | |
p6eval | rakudo a8086d: OUTPUT«3.14159265358979» | ||
..pugs b927740: OUTPUT«3.141592653589793» | |||
..niecza v15-4-g1f35f89: OUTPUT«3.1415926535897931» | |||
14:03
tarch joined
|
|||
JimmyZ | hmm, rakudo eats last two numbers ? | 14:04 | |
14:04
elkng left
|
|||
dalek | ast: 7bbd58b | moritz++ | S04-declarations/state.t: state vars with list assignment initializers |
14:05 | |
PerlJam | JimmyZ: Is that better or worse than getting the last number wrong like niecza? :) | ||
moritz | the answer is obviously "yes" :-) | 14:06 | |
JimmyZ | r: say pi.FatRat | ||
p6eval | rakudo a8086d: OUTPUT«3.14159292035398» | ||
PerlJam | yuck | 14:07 | |
felher | jnthn++ #interesting blog post :) | ||
JimmyZ | I'm sure it's a bug :) | ||
moritz isn't | |||
there isn't one obvious way to convert floating point numbers to rats or fatrats | |||
and the spec is silent | 14:08 | ||
r: say pi.FatRat(1e-18) | |||
p6eval | rakudo a8086d: OUTPUT«3.14159265358979» | ||
moritz | r: say pi.FatRat(1e-18).perl | ||
p6eval | rakudo a8086d: OUTPUT«FatRat.new(245850922, 78256779)» | ||
moritz | r: say pi.FatRat(1e-22).perl | ||
p6eval | rakudo a8086d: OUTPUT«FatRat.new(245850922, 78256779)» | ||
14:08
thou joined
|
|||
moritz | r: say pi.FatRat(1e-30).perl | 14:08 | |
p6eval | rakudo a8086d: OUTPUT«FatRat.new(245850922, 78256779)» | ||
JimmyZ | r: constant pi is export = 3.14159_26535_89793_23846_26433_83279_50288; say pi.Str | 14:09 | |
p6eval | rakudo a8086d: OUTPUT«3.14159265358979» | ||
JimmyZ | this one should be a bug, perl S02 | ||
*per | |||
PerlJam | 20 digits of pi is more than enough ;) | ||
[Coke] | seen ingy? | ||
aloha | ingy was last seen in #parrot 14 days 19 hours ago joining the channel. | ||
moritz | JimmyZ: why exactly? | ||
eeks | 14:10 | ||
"Any rational literal that would overflow a Rat64 in the numerator is also stored as a string." | |||
erm | |||
eeks. | |||
[Coke] | moritz: is the title of RT # 111646 correct? | ||
JimmyZ | moritz: S02 says ' say pi.FatRat; # 3.14159265358979323846264338327950288' | 14:11 | |
moritz | [Coke]: could easily be generalized | ||
JimmyZ: you're right, it's NYI | |||
[Coke] | just seems like you said you wanted A, and it gave you... A. | ||
14:11
jerome_ left
|
|||
moritz | [Coke]: updated the title, thanks | 14:12 | |
felher | jnthn: interesting. The idea of building a string by gather-take is quite cool (your GPW slides) | 14:18 | |
PerlJam | felher: gather/take is quite cool :) | ||
felher | PerlJam: it sure is :) | ||
PerlJam: especially because take gathers to gather in the dynamic scope. I like that alot :) | 14:20 | ||
PerlJam | yep | ||
14:29
skids joined
|
|||
masak | nom: constant seq = 1, 2 ... *; constant seq2 = seq[0, 2 ... *]; say "alive" | 14:31 | |
p6eval | rakudo a8086d: OUTPUT«(timeout)» | ||
masak | Things: not perfect yet. | ||
niecza: constant seq = 1, 2 ... *; constant seq2 = seq[0, 2 ... *]; say "alive" | 14:32 | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«alive» | ||
masak | niecza: constant seq = 1, 2 ... *; constant seq2 = seq[0, 2 ... *]; .say for seq2[ ^10 ] | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.Kernel.ToComposable (Niecza.STable arg, Niecza.STable cls) [0x00000] in <filename unknown>:0  at Niecza.Kernel.ApplyRoleToClass (Niecza.ST… | ||
masak | bwhahaha | ||
masak submits nieczabug | |||
felher really liked jnthn's Meta-Slides :) | |||
masak | felher: jnthn++ has a real knack for implementing stuff in Rakudo, and then making talks about awesome things the stuff can be used for. | 14:34 | |
felher | masak: yeah, indeed :) | 14:35 | |
jnthn | masak: Is that bug to do with constant per se? | ||
fsergot | o/ | ||
:) | |||
14:35
betterworld left
|
|||
jnthn | masak: Or is it a general sequence-y issue? | 14:36 | |
14:39
slavik1 joined
|
|||
masak | nom: .say for (1, 2 ... *)[0, 2 ... *][^10] | 14:40 | |
p6eval | rakudo a8086d: OUTPUT«(timeout)» | ||
masak | it's a general sequence-y issue. | ||
jnthn | phew | ||
OK | |||
masak | :) | ||
jnthn | I mean, it sucks, but it being specific to constants woulda really sucked :) | 14:41 | |
masak | :) | ||
let me be clear. rakudo these days is frickin' awesome. | |||
totally mindblowingly awesome. | |||
when things like the above work, it'll be even more awesome, and I'll need to find new superlatives. | 14:42 | ||
14:43
bluescreen10 left,
PacoAir joined
|
|||
moritz | indexing is eager | 14:47 | |
it returns a Parcel, and Parcels are eager | |||
masak | oh! | 14:48 | |
so, feature, not bug. | |||
so I basically need to &map and index individually. | 14:49 | ||
moritz | yes | ||
masak | nom: .say for (map { next if (++state $x) %% 2 }, (1, 2 ... *))[ ^10 ] | 14:50 | |
p6eval | rakudo a8086d: OUTPUT«(timeout)» | ||
masak | hm. | ||
nom: .say for (grep { ++state $x %% 2 }, (1, 2 ... *))[ ^10 ] | |||
p6eval | rakudo a8086d: OUTPUT«2468101214161820» | ||
masak | \o/ | ||
messed up the semantics, though :) | |||
nom: .say for (grep { ++state $x % 2 }, (1, 2 ... *))[ ^10 ] | |||
p6eval | rakudo a8086d: OUTPUT«135791113151719» | ||
masak | nom: .say for ([\*] 1 ... *)[^10] | 14:51 | |
p6eval | rakudo a8086d: OUTPUT«126241207205040403203628803628800» | ||
14:52
thou left
|
|||
flussence | nom: .say for 1 X. <sin cos> | 14:53 | |
p6eval | rakudo a8086d: OUTPUT«===SORRY!===Confusedat /tmp/zfeHFoPPeH:1» | ||
flussence | I wonder if there's a shorthand way to apply a bunch of methods that works... | 14:54 | |
moritz | nom: .say for <sin cos>.map: { 1."$_"() } | ||
p6eval | rakudo a8086d: OUTPUT«0.8414709848078970.54030230586814» | ||
masak | nom: say 1.&$_ for &sin, &cos | 14:55 | |
p6eval | rakudo a8086d: OUTPUT«0.8414709848078970.54030230586814» | ||
jnthn | nom: 1.$(all <sin cos tan>)().say | ||
p6eval | rakudo a8086d: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/C0HbuqXWHM:1» | ||
jnthn | aww | ||
moritz | nom: say 1.$_ for &sin, &cos | ||
p6eval | rakudo a8086d: OUTPUT«0.8414709848078970.54030230586814» | ||
moritz | no need for another & in there | ||
masak | ah, troo | ||
jnthn | std: 1.$(all <sin cos tan>)().say | 14:56 | |
p6eval | std 1ad3292: OUTPUT«ok 00:01 110m» | ||
jnthn | Hmm. :) | ||
[Coke] | jnthn++ | ||
jnthn | nom: say 1."&all(<sin cos tan>)"() | 14:57 | |
p6eval | rakudo a8086d: OUTPUT«This type cannot unbox to a native string in block <anon> at /tmp/obnSIcuTtJ:1» | ||
jnthn | hehe :) | ||
masak | you just tried to do a method call with a junction instead of a method :P | 14:59 | |
which... could've worked, I guess. | |||
[Coke] | one of the things AI've noticed trying to fudge pugs is that if there is an ok and a junction, i get tests back in the wrong order and/or too many tests. | ||
14:59
bluescreen10 joined
|
|||
[Coke] | er, I! not AI. ahem. | 14:59 | |
masak | call in the Turing police. | 15:00 | |
[Coke] | I wonder if this means the tests are written incorrectly. | ||
(as there is at least one file where there is a "jok" function to avoid that exact sort of thing.) | |||
15:02
birdwind1pbird left
15:03
tokuhir__ left
|
|||
moritz | [Coke]: Test.pm functions aren't supposed to autothread | 15:06 | |
15:07
bluescreen10 left
|
|||
masak | then why is &jok needed? | 15:08 | |
15:08
colomon joined
|
|||
moritz | maybe it's a fossil | 15:08 | |
15:14
bluescreen10 joined
15:15
pernatiy joined
|
|||
flussence | .oO( &joke ) |
15:25 | |
15:29
colomon left
15:35
alester joined
|
|||
masak decommutes | 15:38 | ||
15:43
colomon joined
15:48
GlitchMr joined
15:49
Patterner left
15:50
Psyche^ joined,
Psyche^ is now known as Patterner
15:54
bluescreen10 left
16:00
NamelessTee joined
16:03
wolfman2000 joined
16:10
bluescreen10 joined
|
|||
jnthn | beer & | 16:11 | |
16:11
MayDaniel joined
16:15
Trashlord left
16:19
betterworld joined,
jerome_ joined
16:23
fsergot left
|
|||
TimToady | moritz: where did you ever get the idea that Parcels are eager? the whole *point* of Parcels is to be lazy | 16:28 | |
and the point of LoLs is to enable N-dimensional lists for subscripts, each of which can be lazy | 16:29 | ||
16:31
JimmyZ left
|
|||
moritz | TimToady: in at least one of the listy spec iterations | 16:34 | |
TimToady | I think there's some confusion somewhere; Parcels are constructed eagerly, but if you have a lazy list as a parcel, it's incorporated lazily | 16:35 | |
you never trigger an eager till something binds it that way | 16:36 | ||
s/as a/as part of a/ | |||
(1,2,foo()) calls foo eagerly, but if foo returns a list, it's just a list in the parcel, not eager | |||
16:37
betterworld left
|
|||
TimToady | 2,4,6 ... * is just a foo returning a lazy list that gets incorporated uneagerly into the list that is the subscript | 16:37 | |
16:38
kaare_ joined
|
|||
TimToady | I foresee that we'll need to be very careful to test that different implementations do not subtly introduce eager assumptions different from other implementations | 16:40 | |
it's very easy to mis-assume something should be eager because that's our heritage | 16:41 | ||
and the assumption can be rather insidiously buried deeply in the guts of an implementation | |||
PerlJam | (test suites)++ | 16:42 | |
TimToady | it can be a little hard to test, given that we allow mostly-lazy to work ahead in batches | ||
but working ahead in an Inf-sized batch seems a bit suboptimal in this case :) | 16:44 | ||
16:45
fsergot joined
|
|||
[Coke] imagines an eager compiler as a little ocd. "wait, let me get all these elements /first/, and /then/ I can do what you want." | 16:47 | ||
TimToady | (Also, I'm not saying that we should never have eager subscripting, just that it's certainly inappropriate when we know we have an infinite subscript on an list of indeterminate size.) | ||
16:48
betterworld joined
|
|||
moritz | well, one big problem with testability of laziness is that the spec isn't very explicit about how lazy stuff needs to be | 16:49 | |
PerlJam | moritz: the default assumption should be maximally lazy I think :) | ||
tadzik | 'afternoon | 16:50 | |
TimToady | moritz: it's hard to be more explicit than S02:2416 | ||
tadzik | mathw: do you have access to perl6/ecosystem repo? | 16:51 | |
16:55
onahu joined
|
|||
moritz | TimToady: I meant more in general | 16:56 | |
do we spec that stuff is always as lazy as possible? | 16:57 | ||
for example if S02:4668-4676 apply generally (stuff is allowed to be produced/processed in batches), it's nearly impossible to test | 16:58 | ||
TimToady | I just said that | 17:00 | |
dalek | osystem: 16dcba1 | tadzik++ | / (2 files): Add mathw++'s form, remove it from SHELTER |
||
onahu | Is there a Win32 package for Rakudo 2012.01 or 2012.02? I don't see a parrot-rakudo addon on sourceforge. | 17:01 | |
colomon | maybe we need eval_doesnt_hang for Test.pm | 17:02 | |
moritz | TimToady: did you? sorry, then I didn't understand you | 17:05 | |
TimToady: could you please try it again, with different words? | |||
17:05
onahu left
|
|||
moritz | colomon: and require threads or signals for Test.pm? | 17:05 | |
colomon: doesn't sound very friendly to not-so-advanced compilers | 17:06 | ||
colomon | moritz: yeah, that's the tricky bit | ||
moritz | like, uhm, rakudo | ||
colomon | moritz: BTW: | ||
TimToady: it can be a little hard to test, given that we allow mostly-lazy to work ahead in batches | |||
[11:44am] TimToady: but working ahead in an Inf-sized batch seems a bit suboptimal in this case | |||
(is what he meant by "just said that") | |||
moritz | oh | 17:07 | |
17:42 < TimToady> it can be a little hard to test, given that we allow mostly-lazy to work ahead in batches | |||
that's the line I missed | |||
I just think that "little hard" is an understatement | |||
colomon | It's not really very different from the (1..100000000000).pick test, is it? | 17:08 | |
moritz | which is also very non-optimal | 17:09 | |
huh, we have both .pretty and .gist methods | 17:10 | ||
[Coke] | in case onahu comes back, I don't think anyone here is maintaining any perl6 resources on sourceforge. | 17:11 | |
and .Str. And .perl | |||
moritz | and .Stringy | 17:12 | |
I'm not sure if .Stringy is used correctly in rakudo | |||
in many places we assume that we can unbox its return value as a native str | 17:13 | ||
mathw | tadzik: I do not. | 17:15 | |
17:19
fsergot left,
onahu joined
|
|||
[Coke] | so that's.. 5 different ways to do /almost/ the same thing. Must be perl. ;) | 17:19 | |
moritz | mathw: what's your github ID? | 17:20 | |
[Coke] wonders if mathw is pronounced like "matthew" | 17:21 | ||
PerlJam | moritz: looks like it's "mathw" :) | 17:22 | |
17:22
tarch left
|
|||
moritz | ah, well | 17:22 | |
hugme: add mathw to perl6 | |||
hugme hugs mathw. Welcome to the perl6 github organization | |||
moritz | mathw: now you have access to the ecosystem :-) | ||
and... all the rest :-) | |||
ever wanted to fix a typo in the spec? now you can | |||
onahu | Thanks, Coke. | 17:24 | |
mathw | [Coke]: it is | 17:25 | |
cheers | |||
I may still not be very active | |||
but I'm going to at least try to keep Form up to date | |||
17:30
Vlavv_ joined
|
|||
[Coke] yays at the automagic spectestruns! | 17:31 | ||
[Coke] wonders if there's a way to unlock his password for the ssh keyfile and have it stay active longer than a single use on feather. | 17:32 | ||
17:33
daxim left
17:34
Vlavv` left
|
|||
flussence | [Coke]: there's a few different ways around that, depending on what you're doing over ssh | 17:34 | |
[Coke] | git | 17:35 | |
flussence | IIRC ssh-agent is supposed to handle key password persistence, and gpg-agent provides a superset of the functionality... | 17:36 | |
(I'm too lazy to set up either properly :) | |||
17:39
wolfman2000 left
17:41
fsergot joined
17:44
mj41 left
|
|||
PerlJam | *sigh* The only thing that still really bothers me about rakudo is the execution speed. I wrote a simple script to parse some data and started it about 30 minutes ago. In the mean time I ported the script to Perl 5 and executed it and it ran in about 2 seconds. | 17:47 | |
The rakudo version is still runnning (in case that wasn't clear) | |||
flussence | sounds like a good candidate for --profile | ||
TimToady | rosettacode.org/wiki/Langton%27s_ant#Perl_6 is a fun program | 17:51 | |
17:52
onahu left
|
|||
TimToady | note that one runs about 19 times faster in niecza than rakudo... | 17:52 | |
afk & | |||
PerlJam | okay, the only *other* thing that still bugs me about rakudo is that I need to vivify parts of my multi-dimensional data structure manually. | 17:56 | |
:-) | |||
moritz | all of us had hoped that pmichaud++ would return and do autovivification, so that we don't have to | ||
PerlJam | okay, so Niecza took about 13 minutes to do execute my simple "parse lines and count stuff" script. I guess that means I should expect rakudo to take about 377 minutes | 17:59 | |
18:00
fglock joined
|
|||
PerlJam kills the rakudo program | 18:00 | ||
fglock inspects a dead rakudo | 18:01 | ||
geekosaur wonders how much of that is rakudo's fault and how much is parrot's | |||
18:05
thou joined
18:11
mj41 joined
18:13
bluescreen10 left
18:14
mucker joined,
Chillance joined
18:16
fsergot left
|
|||
[Coke] | +# 03/09/2012 - rakudo++ ; niecza (96.24%); pugs (38.88%) | 18:17 | |
+"niecza", 20307, 1, 757, 1540, 22604, 23759 | |||
+"pugs" , 8205, 0, 3014, 1333, 12552, 23568 | |||
+"rakudo", 21099, 31, 626, 1888, 23478, 24026 | |||
mikemol looks at the langton's ant output, and suspects Rorschach would have been amused... | |||
[Coke] | PerlJam: does your script run in pugs? ;) | ||
PerlJam | doubtful :-) | 18:18 | |
actually ... I don't know how much regex stuff pugs supported, so ... mayube | 18:19 | ||
er, maybe | |||
[Coke] | pugs is still pretty fast. | 18:20 | |
PerlJam | oh, but some of the syntax changes since pugs was last updated would scuttle it | ||
hold on a sec, I'll paste the entire program. | |||
[Coke] | perljam, ah, very likely | ||
PerlJam | gist.github.com/2007874 | 18:21 | |
[Coke] | speaking of rorshach, I need to re-read the watchmen. | 18:22 | |
*hurm* | |||
PerlJam | that little program was just for reading and parsing a 22meg file. | ||
[Coke] | *** No such method in class IO: "&lines" | 18:23 | |
ah wells. ; | |||
;) | |||
PerlJam | I wonder if pugs supports the for =<> -> $line { ... } notation | 18:24 | |
does pugs run on feather? | |||
I mean, can I get to an executable easily without having to build it myself | 18:25 | ||
? | |||
[Coke] | PerlJam: you can borrow ~coke/sandbox/Pugs.hs/perl6 for a little while. | 18:28 | |
PerlJam | hrm. I can run pugs from the command line, but it's different from coke-pugs | 18:30 | |
au | PerlJam: it's from au-pugs | ||
phenny | au: 08 Mar 20:13Z <[Coke]> tell au that github.com/perl6/Pugs.hs/issues/6 is another one that might get us a large number of unrelated tests. Any pointers on where to look for the grammar of a sub name? | ||
au | $ ls -l /usr/bin/pugs | 18:31 | |
lrwxrwxrwx 1 root 31 Mar 9 19:30 /usr/bin/pugs -> /home/audreyt/Pugs.hs/Pugs/pugs* | |||
GlitchMr | perl6: note 2+2 | ||
au | should be identical | ||
p6eval | rakudo a8086d, niecza v15-4-g1f35f89: OUTPUT«4» | ||
..pugs b927740: OUTPUT«*** No such subroutine: "¬e" at /tmp/MG2ZtXcjeZ line 1, column 1 - line 2, column 1» | |||
PerlJam | au: I figured. The copyright notice on the repl for one says 2005-2012 and the other says 2005-2011 | 18:32 | |
18:32
birdwindupbird joined
|
|||
PerlJam | anyway ... lunch & bbl | 18:33 | |
felher | I like rosettacode.org/wiki/Langton%27s_ant#Perl_6 , but is there a reason its using 'gather for ... { take .... }' instead of 'do for ...'?' Matter of Taste? Some difference i don't see? | 18:34 | |
dalek | gs.hs: 43d7ae3 | au++ | Pugs/src/Pugs/Lexer.hs: * Fix issue #6 allowing dash in identifiers. |
||
colomon | \o/ | ||
flussence | felher: gather-take is lazier, afaik. It avoids having to build up a giant list to pass to join | 18:35 | |
[Coke] | au: ~~ | ||
nom: my $au; $au: ~~ | |||
p6eval | rakudo a8086d: OUTPUT«===SORRY!===Confusedat /tmp/jC0k2zVjJR:1» | ||
[Coke] | ok, good. ;) | ||
18:36
zby_home_ joined
|
|||
[Coke] | au: pugs is now up to 8205 passing tests, 38.88% of rakudo's total. | 18:36 | |
felher | flussence: ah, good point. Yes, that might be it :) | ||
18:37
bluescreen10 joined
|
|||
[Coke] | OH! | 18:37 | |
I missed 43d7ae3 in the scroll! au++ | |||
au | [Coke]++ for all the fudge work | ||
[Coke] | eh, that's just monkey work. easy peasy. | ||
but np. ;) | 18:38 | ||
dalek | gs.hs: 2be586f | au++ | Pugs/src/Pugs/Version.hs: * dev version should be marked as such. also update copyright years. |
||
benabik | [Coke]: Good Coke, want banana? ;-) | ||
18:39
fsergot joined
|
|||
[Coke] | ook. | 18:39 | |
skids | you mean [ook.]? | ||
[Coke] | PerlJam: I may have just rebuilt pugs out from underneath you. | ||
au | [Coke]: ain't collaboration great in that each of us gets to pick easy-peasy work :) # fudging is definitely not easy-peasy for me, at least not yet... | 18:40 | |
[Coke] | colomon: so, how is one supposed to fudge generated trig spec test files? ;) | ||
au: hai. | |||
colomon | ooooo, that's tricky | 18:41 | |
ideally you add the fudges to the test file generator | |||
au | >>= sleep & | ||
moritz | .oO( with patience ) |
||
colomon | [Coke]: if you tell me how to fudge them, I can take a stab at it here -- more teamwork. ;) | ||
[Coke] | colomon: I think au++'s patch needs a smidge more work. when I figure out what I need to do, I'll let you know. | 18:43 | |
pugs: module Test-0.0.8; | |||
p6eval | pugs b927740: ( no output ) | 18:44 | |
[Coke] | (locally, says: Unexpected ".") | ||
moritz | uhm, does that patch allow - at the boundaries of identifiers? | ||
[Coke] | au++, colomon++ #back to work here. | ||
moritz | nom: a-0 | ||
p6eval | rakudo a8086d: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&a' called (line 1)» | ||
[Coke] | moritz: to be fair, my request in the ticket was super vague. ;) | 18:45 | |
18:45
fsergot left
|
|||
felher | nom: say (gather for ^100 { sleep 0.1; take $_; })[0]; | 18:48 | |
p6eval | rakudo a8086d: OUTPUT«0» | ||
felher | nom: say (do for ^100 { sleep 0.1; $_; })[0]; | ||
p6eval | rakudo a8086d: OUTPUT«0» | 18:49 | |
felher | Well, i hoped for a timeout, but it seems you were right, flussence :) | ||
18:49
fglock left,
Jerkwad joined
|
|||
felher | nom: say (do for ^10000 { sleep 0.1; $_; })[0]; | 18:50 | |
p6eval | rakudo a8086d: OUTPUT«(timeout)» | ||
felher | \o/ | ||
moritz | note that this is a current rakudo limitation | ||
felher | moritz: it is? 'do for' is specced as lazy, too? | 18:51 | |
flussence | .oO( whoa, I actually figured out gather/take?! ) |
||
moritz | felher: well, for loops in general should be... except when they are in sink context | ||
felher | moritz: so, as soon as those loops are lazy in rakudo, '(do for ...)[0]' will be lazy, too? | 18:53 | |
moritz | felher: yes | 18:54 | |
felher | moritz: ah, okay, thanks :) | 18:55 | |
moritz | but making that work isn't trivial | ||
felher | n: say (do for ^10000 { sleep 0.1; $_; })[0]; | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«(timeout)» | ||
moritz | n: say do for 1..10 { $_ } | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«Nil» | ||
moritz | niecza doesn't collect the retun values of loops at all | ||
felher | Ah, i see :) | 18:56 | |
moritz | it cheats differently than rakudo does :-) | ||
felher | That also explains why rosettacode.org/wiki/Langton%27s_ant#Perl_6 doesn't use 'do'. It doesn't work in niecza at the moment. | 18:58 | |
19:00
Trashlord joined
|
|||
dalek | gs.hs: c8f18cf | au++ | Pugs/src/Pugs/ (2 files): * Rather crude patch to disallow dash in module name components. |
19:03 | |
au | ⇧ for [Coke]++ | 19:04 | |
moritz | the real fix is to allow - and ' only between letters | 19:05 | |
au | aye, tried that | ||
19:07
fsergot joined
|
|||
dalek | gs.hs: b654984 | au++ | Pugs/src/Pugs/Lexer.hs: * apostrophe in idents too |
19:08 | |
gs.hs: bc264ae | au++ | Pugs/src/Pugs/Lexer.hs: * apostrophes in modules names are just fine. |
19:10 | ||
[Coke] rebuilds and tries again. | |||
au++ | |||
au: try : for each(@num1; @num2) -> $a, $b { } | 19:11 | ||
pugs: user error (*** unknown parse error at Pugs/ext/Test/lib/Test.pm line 249, column 30 | 19:12 | ||
p6eval | pugs b927740: OUTPUT«***  Unexpected "***" expecting expression or ")" at /tmp/tl7oYAi6GC line 1, column 13» | 19:13 | |
au | yeah. | ||
& for real this time :) | |||
[Coke] | ~~ | 19:15 | |
dalek | gs.hs/wip/ident: 4a341a7 | au++ | Pugs/src/Pugs/Lexer.hs: * implements the proper ident semantic but runs into the many/many parsec error; improvements welcome before mergine |
19:23 | |
19:32
lateau_ joined
19:36
Vespakoen joined
|
|||
Vespakoen | Hey guys! =) Every time i google for CQRS perl6 seems to pop up sometimes, does Perl have a close relationship with CQRS somehow? | 19:37 | |
19:37
pernatiy left
|
|||
felher | moritz: one more question, if you don't mind: I just read the spec on gather/take and it says that gather evaluates its statement or block in sink context. Doesn't that imply that 'gather for' isn't lazy, because the for-loop isn't lazy in sink? | 19:37 | |
moritz | Vespakoen: there are just one or two Perl 6 developers that are also very interested in CQRS | 19:38 | |
felher: that sounds odd. | |||
Vespakoen | Ah I see, cool, who are they ? =) | 19:39 | |
felher | moritz: yeah. I just noticed that it doesn't seem to be what you said before, but i wan't sure if i justed missed something :) | ||
moritz | Vespakoen: masak, and I think jnthn also a bit | 19:41 | |
felher | moritz: i have to go and catch the bus. But i will backlog, if you wan't so may more on the matter :) | ||
felher -> afk | |||
*want | |||
19:42
lateau_ left
|
|||
Vespakoen | moritz, allright, thanks mate! | 19:42 | |
19:45
localhost left
19:46
localhost joined
19:47
fglock joined
|
|||
dalek | kudo/sink2: cdde942 | moritz++ | src/Perl6/Sinker.pm: use more in-place editing in the sinker, and start to flag whether to sink the last statement |
19:47 | |
fglock | yay! perlito5 got regexes | ||
doy | perl regexes, or javascript regexes? | 19:48 | |
fglock | javascript regexes - but I've got the parser working, so I can replace later | ||
also works with arbitrary delimiters; perlcabal.org/~fglock/perlito5.html | 19:49 | ||
(though the slash is special in javascript) | 19:50 | ||
19:51
Trashlord left
|
|||
fglock | translating perl5 regexes to javascript regexes would be ... interesting | 19:53 | |
masak | moritz++ # for passing Verspakoen on to me | ||
19:53
ksi joined
19:54
Trashlord joined
|
|||
fglock | hmm - /e looks doable | 19:55 | |
20:13
birdwindupbird left
20:35
MayDaniel left
20:37
raiph joined
20:46
raiph left
|
|||
sorear | good * #perl6 | 20:57 | |
masak | sorear! \o/ | ||
sorear | o/ masak | 20:59 | |
21:00
pernatiy joined
21:01
GlitchMr left
|
|||
colomon | o/ | 21:02 | |
21:05
pernatiy left
21:09
bruges left,
y3llow left
21:11
y3llow joined,
bruges joined
21:13
y3llow left,
y3llow joined
|
|||
fglock | o/ | 21:13 | |
21:15
y3llow left,
y3llow joined
21:17
y3llow left
21:18
y3llow joined
|
|||
[Coke] wonders how fast rakudo will build on a dual core i7 macbook air. | 21:18 | ||
[Coke] times it (post nqp/parrot build.) | |||
flussence guesses 14½ minutes | 21:19 | ||
tadzik | naah, it's shorter here on core2duo | ||
[Coke] guesses much faster. | |||
flussence | oh, rakudo on its own... 6½ | ||
21:20
mtk left
|
|||
pyrimidine | got a quad core i7 I can test on | 21:20 | |
can I call a parallel build with 'perl Configure.pl'? | 21:21 | ||
[Coke] | there | 21:22 | |
's a parrot-option, but that's configure only. | |||
real: 4m18.247s | |||
[Coke] may stop running the testing stuff on feather. ;) | 21:23 | ||
flussence just realised my test graph thing has never had parallel make for the parrot-building step... | |||
21:24
pernatiy joined
|
|||
pyrimidine | timing just rakudo build? Or from a clean checkout (nqp, parrot, rakudo)? | 21:25 | |
21:25
yeltzooo left
|
|||
moritz | flussence: perl Configure --gen-parrot --make-option=-j5 | 21:26 | |
that's a fairly new option | |||
21:26
yeltzooo joined
|
|||
flussence | oh, that'd explain | 21:26 | |
[Coke] | pyrimidine: that is rakudo after nqp/parrot is build. | 21:27 | |
I can try it again with the make-option above for MOAR. | |||
21:27
Vespakoen left
21:28
Vespakoen joined
|
|||
moritz | MOAR CORES! | 21:28 | |
you can also configure parrot to compile with ccache | |||
pyrimidine | moritz: is that supposed to be --parrot-make-option? | 21:31 | |
moritz | well, make options for rakudo would be passed to make, not to Configure.pl | 21:32 | |
and I suppose we could re-use them for gen-nqp too | 21:33 | ||
pyrimidine | just ran a clean checkout for rakudo, getting 'Unknown option: make-option' | 21:34 | |
but I'm in nom | |||
[Coke] | nom is the correct branch. | 21:35 | |
masak | github.com/perl6/Pugs.hs/commit/43d7ae3302 adds dashes but forgets apostrophes. :) | 21:37 | |
oh, but later commits fix that. au++ | |||
fglock looks around niecza source code | 21:38 | ||
pyrimidine | real 3m6.634s | 21:39 | |
sorear | hello, fglock | ||
fglock | hi | 21:40 | |
[Coke] | masak: it's still not quite right. | ||
(we can't parse Test.pm, e.g.) | |||
fglock | I wonder how much code it takes to have a simple perl5 in dotnet - and if that's useful at all | 21:41 | |
21:41
zby_home_ left
|
|||
masak | I think this is the first time in many years that au++ goes to sleep, and then a commit appears. :) | 21:43 | |
on the #perl6 channel, I mean. | |||
bynari | Is TimToady Larry? | 21:47 | |
sorear | bynari: yes | ||
Tene | bynari: Yes. | ||
sorear | au sleeps? | ||
moritz | no, just an amazing copy :-) | ||
bynari | Ah. I had absolutely no clue that was Larry when I was talking to him the other day! | 21:48 | |
I've been around IRC since 1999 and I've never encountered Larry | |||
sorear | he's a pretty cool guy | ||
bynari feels star struck | |||
sorear | you'll get over it. | ||
bynari | :) | ||
sorear | (hi, I'm sorear, I hear I'm famous?0 | ||
moritz | star: say 'strike bynari' | 21:49 | |
p6eval | star 2012.01: OUTPUT«strike bynari» | ||
moritz | now you're truely star struck :-) | ||
bynari | Hahahaha | ||
masak | I'm having a deja vu over this conversation. | ||
21:50
kaare_ left
|
|||
masak | didn't someone feel star struck just the other day over finding out that TimToady is Larry Wall? | 21:50 | |
[Coke] certainly did when I found it out. | |||
PerlJam | "star struck"? was that a pun? | ||
[Coke] | and again when I sat next to him at a yapc or 2. | ||
[Coke] is over it now. | |||
nom: say "eat me" | |||
p6eval | rakudo a8086d: OUTPUT«eat me» | ||
masak | [Coke]: yeah, same here. mostly. | 21:51 | |
TimToady too | |||
pyrimidine | :) | ||
PerlJam | the only thing that strikes me is that TimToady is the wisest non-bearded person I've met so far | ||
TimToady | well, my main attribute is just being more stubborn than anyone else... | 21:52 | |
masak | I sometimes find it fun to be extra *in*formal at/with TimToady because I know he's Larry Wall. maybe that counts as being star unstruck... :) | ||
bynari | I don't think it's intended to be a pun, PerlJam, nope | ||
PerlJam | bynari: bummer, it could have been a good one. | 21:53 | |
TimToady | the unintentional puns are often the best | ||
masak | bynari: you have one more chance to make a proper pun. no pressure. | ||
PerlJam | heh | ||
pyrimidine | so, with Rakudo on Macbook quad core i7, with 'time make -j 4', I get ~3m | ||
21:53
sftp left
|
|||
bynari | Rakudo Star struck? | 21:53 | |
masak | bynari: right... that's the one we thought you made in the first place :P | 21:54 | |
bynari | Great. Do I get my cookie? | ||
masak hands a cookie to bynari | |||
bynari | Thanks! | ||
[Coke] | pyrimidine: nice. | ||
pyrimidine | testing on SGI-Altix now :) | 21:55 | |
21:55
sftp joined
|
|||
[Coke] installs mono and drags in half of macports. | 21:55 | ||
pyrimidine | yeah, I hate that about macports | ||
moritz | is that a feature of mono, or of macports? | 21:56 | |
21:57
bluescreen10 left
|
|||
benabik | ports, probably. | 21:58 | |
homebrew is the only Mac package manager I've found that doesn't try to install everything under the sun. | |||
benabik installs Mono via package though. | |||
pyrimidine | yeah, macports has a tendency to install specific versions of things (instead of a min version) | 21:59 | |
21:59
icwiener joined
|
|||
geekosaur | homebrew still has the quaint notion that it can safely use system and other libraries. this is sometimes true for very clean installs, but when it's false the reuslts are horrifying | 21:59 | |
[Coke] | pyrimidine: (min version) well, I only just got this box, so any version takes time. | ||
pyrimidine | true | 22:00 | |
geekosaur | in any case mono depends on X11 (drags in a whole lot of stuff since it builds a known good version) and indirectly via libgdiplus it drags in cairo (gnome. 'nuff said) | ||
pyrimidine | i hate it when it decides to install multiple versions of perl/python/ruby/etc depending on the port | ||
[Coke] | heh. I /just/ got to cairo. ;) | ||
pyrimidine: eh. I treat those like the system perl and just never touch 'em. is frustrating, though. | 22:01 | ||
geekosaur | they're working on that. perl should be substantially fixed at this point, python is work ongoing | ||
22:01
pmurias joined
|
|||
pyrimidine | [Coke]: yeah, me too | 22:01 | |
pmurias | hi | ||
sorear | how long does X11 take to build? | ||
doy | cairo doesn't depend on gnome here | 22:02 | |
masak | pmurias! \o/ | ||
doy | don't really see why it should | ||
sorear | I know that back in the day X11's "make World" was the quintessential example of "run this if you want to not do anythign else on your computer for the next week" | ||
pyrimidine | heh | ||
sorear | hello pmurias. | ||
pmurias | fglock: one benefit of having perlito5 on dotnet would be easy integration with niecza | ||
flussence | sorear: it's gotten much better since X.Org took over development and split everything into sane-sized modules :) | 22:03 | |
(the X server takes about 2 minutes on my machine, rakudo's make just took 4:11) | |||
doy | back when i ran gentoo, compiling openoffice was a good order of magnitude longer than x11 | 22:04 | |
flussence | oof, I installed that by accident once. Left the machine overnight, came back to find I'd installed openoffice instead of openoffice-bin. It took around 9 hours :) | 22:05 | |
(this was on an old P4 though, not the quad core one I'm on now...) | |||
geekosaur | no, it's part of gnome, but as such it drags in a bunch of stuff (not as much as the higher layers of gnome but still) | 22:07 | |
fglock | pmurias, sorear: I'm looking for a start point | ||
22:08
skids left
|
|||
fglock | does niecza generate C# ? | 22:08 | |
doy | the only thing it drags in that's "part of gnome" is glib2 | ||
fglock | how do you do eval() | ||
pmurias | fglock: niecza generates nam (docs/nam.pod) | ||
fglock | looking | 22:09 | |
pmurias | fglock: which is then compiled to .net bytecode by a backend written in C# | ||
sorear: how does look at the name generated from a p6 program? | 22:11 | ||
s/name/nam/ | 22:12 | ||
fglock | I've just got mono installed - but now sleep & | ||
22:13
fglock left
|
|||
pmurias | g'night | 22:13 | |
masak | 'night, pmurias. dream of brain bytecode generated by a backend of neurons. | 22:14 | |
sorear | pmurias: NIECZA_TRACE_DOWNCALLS and look for the sub_finish calls | 22:15 | |
bah, I missed fglock ... hopefully will be back | 22:16 | ||
pmurias | sorear: he is much more often on the channel nowdays | 22:21 | |
sorear: how would i feed nam to the nam2bytecode compiler? | 22:25 | ||
22:30
Vespakoen left
|
|||
sorear | Look at sub_finish in CodeGen.cs | 22:31 | |
nam code only exists for subs, not other objects | 22:32 | ||
other objects are created by the compiler using a communicative protocol | |||
masak | GPW talks now uploaded and available at feather.perl6.nl/~masak/ | ||
sorear | you can't separate the stages anymore because of BEGIN | ||
sorear afk | |||
22:33
Vespakoen joined
|
|||
pmurias | sleep& | 22:34 | |
22:34
pmurias left
22:42
Vespakoen left
22:43
Vespakoen joined
|
|||
masak misses mberends | 22:45 | ||
23:00
mj41 left
23:24
alester left
23:25
skids joined
23:41
ksi left
|
|||
felher | hihi, there is no spoon :) | 23:48 | |
masak | an oblique way of saying that we don't have to do any gensymming, because the right thing mostly just falls out of correct fiddling with OUTERs. | 23:49 | |
felher | masak: do you know if there will be any videos? I'd really like to see/hear your talk :) | 23:51 | |
masak | there weren't any video recorders that I could see. | ||
23:51
syslq__ joined
|
|||
felher | What a pitty :/ | 23:51 | |
23:51
syslq__ left
|
|||
masak | yeah. | 23:52 | |
do sign up for FPW or YAPC::EU this year, though. | |||
then you'll see better versions of the same talk ;) | |||
felher | :D | 23:53 | |
masak++ #talk/slides/macro hacking | 23:55 | ||
felher bed | |||
'night, #perl6 | |||
23:58
icwiener left,
icwiener joined
|
|||
masak | 'night, felher. dream of videos of people's talks. | 23:59 | |
I'll also say 'night, #perl6 | |||
felher | masak: i sure will ;) |