|
»ö« 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:53
tokuhirom joined
00:59
wolfman2000 left
01:00
Trashlord left
01:01
Trashlord joined
|
|||
| moritz | felher: pong | 01:02 | |
|
01:03
scott___ joined
01:06
havenn joined
01:16
nif left
01:19
lichtkind left
01:27
nif joined
01:30
havenn left,
mucker joined
|
|||
| [Coke] | colomon: ping. | 01:34 | |
| colomon | pong | ||
| [Coke] | can you please update S32-trig/cos.t to emit a specific plan? | 01:35 | |
| (and whatever others there are.) | |||
| pugs doesn't like the implicit plan of 'done'. | |||
| colomon | hmmmm.... let me ponder | 01:36 | |
| fudging those files is going to be pretty extreme, no? | 01:37 | ||
| [Coke] | let me ask you a different question: how many tests ARE there in that file? | 01:38 | |
|
01:38
tokuhirom left
|
|||
| [Coke] | (right now I'm passing 67/67) | 01:39 | |
| colomon | let you know in a moment | ||
| 154 | |||
| [Coke] | p: (-5.49778714383314).Rat(1e-9).cos | 01:40 | |
| p6eval | pugs: OUTPUT«*** No compatible multi variant found: "&Rat" at /tmp/nf_SEA_tyd line 1, column 1 - line 2, column 1» | ||
| [Coke] | p: -5.49778714383314.Rat(1e-9).cos | ||
| p6eval | pugs: OUTPUT«*** No compatible multi variant found: "&Rat" at /tmp/n1jmey2khg line 1, column 1 - line 2, column 1» | ||
| [Coke] | p: -5.49778714383314.Ra.cos | ||
| p6eval | pugs: OUTPUT«*** No such method in class Rat: "&Ra" at /tmp/MOoszFcb1i line 1, column 1 - line 2, column 1» | ||
| [Coke] | p: -5.49778714383314.Rat.cos | ||
| p6eval | pugs: ( no output ) | ||
| [Coke] | first approximation of Rat($epsilon) is to just ignore epsilon, meh? | 01:41 | |
| colomon ponders a script which runs a test file and then add a proper plan statement to the top. | 01:42 | ||
| [Coke]: yes | |||
| [Coke] | hurm. nevermind, I'll not be able to easily add that yet. | ||
| ah well, skipping this file. | |||
| colomon: nevermind. I'm not passing all the tests anyway. | 01:47 | ||
|
01:52
godfrey999 joined
01:53
thelazydeveloper left
|
|||
| dalek | ast: fa12fff | coke++ | S (4 files): pugs fudge |
01:53 | |
| gs.hs: 9e709ce | coke++ | t/spectest.data: run fudged tests |
01:57 | ||
| mucker | hi guys ... correct me if I am wrong, but is NQP a full implementation of perl6 regex ? | 01:59 | |
| moritz | it's not | ||
| mucker | does rakudo or n have full implementation of regex ? | 02:00 | |
| moritz | no, there are still a few features missing | ||
| though niecza's implementation is quite impressive | |||
| mucker | ok :) | ||
| [Coke] | p: say "34" ~~ /\d/ | 02:01 | |
| p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
| [Coke] | Urk. | ||
|
02:04
plobsing joined
02:10
orafu left
02:11
orafu joined
02:20
mucker left
02:24
cognominal_ left
02:25
cognominal joined
02:47
wolfman2000 joined
02:49
nif left
02:51
lestrrat left
02:52
cognominal left
02:53
lestrrat joined,
cognominal joined
03:02
envi_ joined
03:25
clkao left,
clkao joined
03:41
envi_ left
03:46
cognominal left,
cognominal joined
03:48
IKARi_ left
03:59
fgomez left
04:02
alvis left
04:58
y3llow left
04:59
birdwindupbird joined
05:02
araujo left
05:06
alester joined
05:21
alester left
05:23
Trashlord left
05:24
spaceships left
05:28
Trashlord joined
05:33
mos_ joined,
mos_ left
05:34
bonsaikitten left
06:01
kaleem joined
06:03
xinming left
06:06
NamelessTee joined
06:13
bonsaikitten joined
06:14
wtw joined
06:15
xinming joined
06:26
cognominal left
06:28
cognominal joined
06:50
sftp left
06:51
sftp joined,
fglock left,
Tedd1 joined
06:56
kaleem left
06:57
araujo joined,
araujo left,
araujo joined
06:58
sftp left
06:59
brrt joined
07:02
sftp joined
07:06
fhelmberger joined
07:16
darkx joined
07:18
sftp left,
sftp_ joined
07:20
PZt left,
kaleem joined
07:26
kaleem left,
kaleem joined
07:29
ZapZ left
07:33
kaleem left
07:45
kaleem joined
|
|||
| masak | go' mo', #perl6 | 07:59 | |
| jnthn | hi masak | 08:00 | |
| moritz | \o jnthn, masak, * | 08:01 | |
| tadzik | \o/ | 08:11 | |
| moritz | r: say 'tadzik' ~~ * | 08:24 | |
| p6eval | rakudo 442db9: OUTPUT«True» | ||
| moritz | good, I greeted him too :-) | ||
| masak | r: say * ~~ 'tadzik' | 08:26 | |
| p6eval | rakudo 442db9: OUTPUT«False» | ||
| masak | r: say * ~~ * | 08:27 | |
| p6eval | rakudo 442db9: OUTPUT«True» | ||
| masak | (* ~~ *) | ||
| almost looks like one of sjohnson++'s fat faces ;) | |||
| moritz | that'st he True fat face :-) | 08:29 | |
| r: say (* ~~ *) | 08:30 | ||
| p6eval | rakudo 442db9: OUTPUT«True» | ||
|
08:32
dakkar joined
08:33
fglock joined
|
|||
| sorear | o/ masak | 08:34 | |
| masak | \o sorear | 08:35 | |
| fglock | o/ #perl6 | 08:36 | |
| __sri | \o peer pressure | 08:37 | |
| masak | :P | ||
| moritz | :-) | ||
| masak | I find www.modernperlbooks.com/mt/2012/04/...tests.html quite interesting, not least because it manages very well to highlight a classicist's view of tests. I've seen enough of the mockist side of the story to know that there's more to it, but I haven't come down on either side of the fence yet. | ||
| and maybe I never will. different projects have different requirements. | 08:38 | ||
| moritz | they probably have | 08:39 | |
| some months back I've written WebService::Libris | |||
| and I was happy that I found a way to avoid doing either live calls over the internet while testing, or mocking | 08:40 | ||
| the solution was to enable a caching mechanism, and distribute the cache files | |||
| of course that didn't test the actual fetching code, but the fetching code was just one call to Mojo::UserAgent | 08:41 | ||
| arnsholt | I have to admit I'm easily amused by chromatic's writings | 08:42 | |
|
08:54
cognominal left
08:55
cognominal joined
08:59
lestrrat left
09:00
lestrrat joined
|
|||
| masak | arnsholt: if you mean he writes in a captivating manner, I agree. he's often humorously hyperbolic. | 09:05 | |
| the only drawback of excessive sarcasm is that it doesn't always end up holding a position -- just stating a lot of negatives. | |||
| s/only/big/ | 09:06 | ||
| arnsholt | Yeah, there is that | ||
| I think the best part of his writing is that he pulls of the whole "cranky, opinionated hacker" thing without swearing every other sentence | 09:07 | ||
| masak | aye. | 09:08 | |
| it's always refreshing to read the writings of someone with obvious experience. | 09:09 | ||
| sorear | the best part of chromatic | ||
| the best part of chromatic's writing is that most of it manages to come across as a direct response to something I said in #perl6 in the last week | 09:10 | ||
| moritz | totally different topic, and off-topic here, but I found johncarlosbaez.wordpress.com/2012/04/15/ice/ quite interesting | ||
| sorear: he surely reads #perl6 logs, at least occasionally | |||
|
09:12
alvis joined
|
|||
| cognominal | \o | 09:12 | |
| moriz, in physic terms, perl 6 implementations are slowing changing from vapour to sludge? :) | 09:14 | ||
| moritz | cognominal: some parts are already moving from sludge to solid :-) | 09:15 | |
| cognominal | I guess we shoot to organic. | ||
| *slowly | |||
| sorear | moritz: yeah, and it makes me feel special :p | 09:17 | |
| masak | you are :) | 09:19 | |
| moritz was about to say the same thing, but didn't | |||
| masak | moritz: mini-challenge: write succinct p6 program that generates such sequences, ababcacba, of length N from the alphabet <a b c>, but where no two adjacent positions have the same letter. | 09:24 | |
| sorear | mind if I try? | 09:25 | |
| masak | go ahead. | ||
| moritz | go right ahead | ||
| masak | I'm writing up one too right now. | ||
| moritz too | |||
| bbkr | is ababababab valid sequence? | 09:26 | |
| sorear | n: say join '', <a b c>.pick, { <a b c>.grep(* != $_).pick } ...^ { @_ == 10 } | ||
| masak | yes. | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«» | ||
| sorear | n: say join '', (<a b c>.pick, { <a b c>.grep(* != $_).pick } ...^ { @_ == 10 }) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«Unhandled exception: Cannot parse number: a at /home/p6eval/niecza/lib/CORE.setting line 1363 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3402 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3404 (NumSyntax.str2num @ 4)  at /h… | ||
| sorear | n: say join '', (<a b c>.pick, { <a b c>.grep(* ne $_).pick } ...^ { @_ == 10 }) | 09:27 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«bcabacbab» | ||
| shachaf | masak: I always heard of a similar thing wher eyou generate a position of length N such you never have two consecutive identical substrings. | ||
| I.e., no aa, no abab, no acbcacbc, etc. | |||
| By "always" I mean once. | |||
| sorear | this reminds me of the word problem for computably presented groups | ||
| Thue grammars and such | 09:28 | ||
| moritz | p6: my %complement = a => <b c>, b => <a c>, c => <a b>; say (%complement.keys.pick, { %complement{$_}.pick } ... *)[^10].join; | ||
| p6eval | pugs: OUTPUT«*** unknown parse error at /tmp/rtrKdOplec line 1, column 113» | ||
| ..niecza v16-21-g1b64073: OUTPUT«cbacabacac» | |||
| ..rakudo 442db9: OUTPUT«ababcbcabc» | |||
| shachaf | What is that problem? | ||
| moritz | shachaf: random positioning of ice layers as described in johncarlosbaez.wordpress.com/2012/04/15/ice/ | 09:29 | |
| masak | <masak> moritz: mini-challenge: write succinct p6 program that generates such sequences, ababcacba, of length N from the alphabet <a b c>, but where no two adjacent positions have the same letter. | ||
|
09:29
darkx left
|
|||
| masak | ok, here's my take: | 09:29 | |
| shachaf | I meant the thing sorear mentioned. | ||
| masak | r: my $N = 20; say (((([\+] (1, 2).pick xx $N) X+ (^3).pick) X% 3) X+ ord("a"))>>.&chr | ||
| p6eval | rakudo 442db9: OUTPUT«c a c a c a b c b c a b c a b a b a b a» | ||
| shachaf looks at ice article. | |||
| moritz | I like my solution, even if the initialization is a bit wordy | ||
| masak | moritz: ours are both O(N), I think. | 09:30 | |
| sorear | n: say {<a b c>[$_]}>>([\+] (1,2).pick(10)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«c Any()» | ||
| sorear | n: say {(<a b c> xx Inf)[$_]}>>([\+] (1,2).pick(10)) | 09:31 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«a b c a b c» | ||
| shachaf | (There exists an infinite sequence of the form I described which can be generated very simply, but it's pretty tricky to find. An easier way of generating it is just backtracking.) | ||
| sorear | n: say {(<a b c> xx Inf)[$_]}>>([\+] (1,2).roll(10)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c» | ||
| sorear | n: say {(<a b c> xx Inf)[$_]}>>([\+] (1..2).roll(10)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c» | ||
| sorear | n: say (1..2).roll(10) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«2 2 1 1 2 2 1 1 1 2» | ||
| masak | oh, indeed. | 09:32 | |
| sorear | n: say ([\+] (1..2).roll(10)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«1 3 5 6 8 10 12 14 15 16» | ||
| masak | r: my $N = 20; say (((([\+] (1, 2).roll($N)) X+ (^3).pick) X% 3) X+ ord("a"))>>.&chr | ||
| p6eval | rakudo 442db9: OUTPUT«b c b a b a b c a c b a b c b a b a c b» | ||
| moritz | p6: my @a = <a b c>; my %c = @a.map: -> $l { $l => @a.grep({$_ ne $l}) }; say (%c.keys.pick, { %c{$_}.pick } ... *)[^10].join; | ||
| sorear | n: say map (<a b c> xx Inf)[$_]}, ([\+] (1..2).roll(10)) | ||
| p6eval | rakudo 442db9: OUTPUT«cababacbab» | ||
| ..niecza v16-21-g1b64073: OUTPUT«abcacbcbcb» | |||
| ..pugs: OUTPUT«*** unknown parse error at /tmp/qCmAwhBfhf line 1, column 112» | |||
| niecza v16-21-g1b64073: OUTPUT«===SORRY!===Unexpected closing bracket at /tmp/sxSXqG9PoI line 1:------> say map (<a b c> xx Inf)[$_]⏏}, ([\+] (1..2).roll(10))Parse failed» | |||
| sorear | n: say map {(<a b c> xx Inf)[$_]}, ([\+] (1..2).roll(10)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c» | ||
| sorear | n: say map {(<a b c> xx Inf).flat[$_]}, ([\+] (1..2).roll(10)) | 09:33 | |
| moritz | still wordy, but less repetitive (my solution | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«c a b a b c a b c b» | ||
| sorear | n: say join map {(<a b c> xx Inf).flat[$_]}, ([\+] (1..2).roll(30)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«» | ||
| moritz | n: say map {<a b c>[$_ % *]}, ([\+] (1..2).roll(10)) | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«c b a b c a b a b a» | ||
| sorear | n: say join '', map {(<a b c> xx Inf).flat[$_]}, ([\+] (1..2).roll(30)) | 09:34 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«bacbababacabcbacbabcbabacabcbc» | ||
| moritz | I like .[$_ % *] :-) | ||
| sorear | Writing Markov chains shouldn't be this hard. | 09:36 | |
| moritz | p6: my @a = <a b c>; say (@a.pick, -> $l { @a.grep($l ne *).pick } ... *)[^10].join; | 09:37 | |
| p6eval | rakudo 442db9: OUTPUT«acacacabca» | ||
| ..pugs: OUTPUT«*** unknown parse error at /tmp/griclbNPGT line 1, column 70» | |||
| ..niecza v16-21-g1b64073: OUTPUT«bacacacacb» | |||
|
09:37
_jaldhar is now known as jaldhar
|
|||
| moritz | not too hard IMHO :-) | 09:37 | |
|
09:37
jferrero joined
|
|||
| moritz | p6: my @a = <a b c>; say (@a.pick, { @a.grep($_ ne *).pick } ... *)[^10].join; | 09:37 | |
| p6eval | rakudo 442db9: OUTPUT«cabcabacab» | ||
| ..niecza v16-21-g1b64073: OUTPUT«ababcbcacb» | |||
| ..pugs: OUTPUT«*** unknown parse error at /tmp/dWJDs31tgE line 1, column 64» | |||
| sorear | "Why can't r and n agree on any of this?" | 09:38 | |
|
09:38
envi_ joined
|
|||
| moritz | they are just non-conformists | 09:38 | |
| sorear sleep | |||
| moritz | r: say 3 * 2**9 | ||
| p6eval | rakudo 442db9: OUTPUT«1536» | ||
| moritz | good night sorear, dream of easy markov chains | ||
| masak | r: my $m = 3; say (((^$m).roll, { ($_ + 1 + (^($m-1)).roll) % $m } ... *) Z+ ord('a'))[^10]>>.&chr.join | ||
| p6eval | rakudo 442db9: OUTPUT«c» | ||
| masak | hrm. | ||
| moritz | masak: X+, not Z+ | 09:39 | |
| masak | r: my $m = 3; say (((^$m).roll, { ($_ + 1 + (^($m-1)).roll) % $m } ... *) X+ ord('a'))[^10]>>.&chr.join | ||
| p6eval | rakudo 442db9: OUTPUT«bcbcacabab» | ||
| masak | \o/ | ||
| moritz++ | |||
| moritz | now somebody please make a blog post, tracing each different approach through the stages shown here :-) | 09:40 | |
| masak | r: my $m = 3; say ^$m | ||
| p6eval | rakudo 442db9: OUTPUT«0..^3» | ||
| masak | r: my $m = 3; say ^^$m | ||
| p6eval | rakudo 442db9: OUTPUT«0..^3» | ||
|
09:42
kresike joined
|
|||
| masak | r: my %comp; my @v = <a b c>; for map { [@v.rotate($_)] }, ^@v { .say } | 09:45 | |
| p6eval | rakudo 442db9: OUTPUT«a b cb c ac a b» | ||
| masak | r: my %comp; my @v = <a b c>; for map { [@v.rotate($_)] }, ^@v { my ($k, @vs) = @v; %comp{$k} = @vs }; say %comp.perl | 09:46 | |
| p6eval | rakudo 442db9: OUTPUT«("a" => ["b", "c"]).hash» | ||
| masak | huh. | ||
| r: my %comp; my @v = <a b c>; for map { [@v.rotate($_)] }, ^@v { .say; my ($k, @vs) = @v; %comp{$k} = @vs }; say %comp.perl | 09:47 | ||
| p6eval | rakudo 442db9: OUTPUT«a b cb c ac a b("a" => ["b", "c"]).hash» | ||
| masak | where did the other two entries go? | ||
| moritz | erm | ||
| @v is always the same | 09:48 | ||
| $_ is what's changing in the loop | |||
|
09:48
birdwindupbird left
|
|||
| moritz | and you print $_ with .say | 09:48 | |
| masak | er... oops. | ||
| r: my %comp; my @v = <a b c>; for map { [@v.rotate($_)] }, ^@v { .say; my ($k, @vs) = @$_; %comp{$k} = @vs }; say %comp.perl | |||
| p6eval | rakudo 442db9: OUTPUT«a b cb c ac a b("a" => ["b", "c"], "b" => ["c", "a"], "c" => ["a", "b"]).hash» | ||
| masak | r: my %comp; my @v = <a b c>; for map { [@v.rotate($_)] }, ^@v { my ($k, @vs) = @$_; %comp{$k} = @vs }; say %comp.perl | ||
| p6eval | rakudo 442db9: OUTPUT«("a" => ["b", "c"], "b" => ["c", "a"], "c" => ["a", "b"]).hash» | ||
| masak | \o/ | ||
| moritz | r: my %comp; my @v = <a b c>; for @v.keys { my ($k, @vs) = @v.rotate($_); %comp{$k} = @vs }; say %comp.perl | 09:49 | |
| p6eval | rakudo 442db9: OUTPUT«("a" => ["b", "c"], "b" => ["c", "a"], "c" => ["a", "b"]).hash» | ||
| moritz | feels a bit more straight-forward IMHO | ||
| masak | r: my @v = <a b c>; my %comp = map { my ($k, @vs) = @v.rotate($_); $k => @vs }, @v.keys; say %comp.perl | 09:50 | |
| p6eval | rakudo 442db9: OUTPUT«("a" => ["b", "c"], "b" => ["c", "a"], "c" => ["a", "b"]).hash» | ||
| moritz | I wonder... | 09:51 | |
| r: my @v = <a b c>; my %comp = map { [=>] @v.rotate($_)[0, 1..*-1] }, ^@v; say %comp.perl | |||
| p6eval | rakudo 442db9: OUTPUT«("a" => "b" => "c", "b" => "c" => "a", "c" => "a" => "b").hash» | ||
| moritz | r: my @v = <a b c>; my %comp = map { [=>] @v.rotate($_)[0, 1..*-1].tree }, ^@v; say %comp.perl | 09:52 | |
| p6eval | rakudo 442db9: OUTPUT«("a" => ["b", "c"], "b" => ["c", "a"], "c" => ["a", "b"]).hash» | ||
| arnsholt | I get a Rakudo spectest failure in S11-modules/require.t on Linux. Is that a known one? | ||
| moritz | \o/ | ||
| masak | moritz: woot | ||
| moritz | arnsholt: I get that too. I kinda suspect jnthn++ is to blame | ||
| it's harder to read, but sometime I like the challenge of getting rid of variables | 09:53 | ||
|
09:53
birdwindupbird joined
|
|||
| moritz | I wonder if .rotate(*) should return a LoL of all rotations | 09:53 | |
| (and I'm only half-kidding right now) | |||
| masak | r: my @v = <a b c>; my %comp = map -> @ ($k, @vs) { $k => @vs }, map { @v.rotate($_) }, ^@v; say %comp.perl | ||
| p6eval | rakudo 442db9: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Str instead in block <anon> at /tmp/WltNubu86u:1» | ||
| masak | r: my @v = <a b c>; my %comp = map -> @ ($k, @vs) { $k => @vs }, map { [@v.rotate($_)] }, ^@v; say %comp.perl | 09:54 | |
| p6eval | rakudo 442db9: OUTPUT«Nominal type check failed for parameter '@vs'; expected Positional but got Str instead in sub-signature in block <anon> at /tmp/AjXTqd6X9r:1» | ||
| moritz | masak: you need to feed in a list of lists or list of arrays or so | ||
| otherwise @ is never happy | |||
| masak | I thought that's what I did. | ||
| putting [] in the second map | |||
| moritz | oh, right | ||
| hm | |||
| r: my @v = <a b c>; say (map { [@v.rotate($_)] }, ^@v).perl | 09:55 | ||
| p6eval | rakudo 442db9: OUTPUT«(["a", "b", "c"], ["b", "c", "a"], ["c", "a", "b"]).list» | ||
| moritz | masak: oh | ||
| masak: it fails in the subsiganture | |||
| masak: because it needs to be *@vs, not @v | |||
| masak | ah, yes. | ||
| moritz | *not @vs | ||
| masak | r: my @v = <a b c>; my %comp = map -> @ ($k, *@vs) { $k => @vs }, map { @v.rotate($_) }, ^@v; say %comp.perl | 09:56 | |
| p6eval | rakudo 442db9: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Str instead in block <anon> at /tmp/pNyMOiUV1n:1» | ||
| moritz | it even says "in sub-signature" :-) | ||
| cognominal | do you know? mathworld.wolfram.com/deBruijnSequence.html | ||
| masak | r: my @v = <a b c>; my %comp = map -> @ ($k, *@vs) { $k => @vs }, map { [@v.rotate($_)] }, ^@v; say %comp.perl | ||
| p6eval | rakudo 442db9: OUTPUT«("a" => ["b", "c"], "b" => ["c", "a"], "c" => ["a", "b"]).hash» | ||
| masak | cognominal: yes, I've come across that concept. :) | ||
| cognominal | I have bought "algorithm on strings". Not read yet | 09:57 | |
| this one : www.amazon.fr/Algorithms-Strings-Ma...0521848997 | 09:58 | ||
|
09:59
kaleem left
|
|||
| masak | "Cliquez pour Feuilleter!" :D | 09:59 | |
| cognominal | oops, I paste the amazom.fr page. | ||
| masak | cognominal: for a mo I thought you meant www.amazon.com/Algorithms-Strings-T...0521585198 | 10:00 | |
| which was a textbook in one of my favorite courses. | 10:01 | ||
| cognominal | I don't know why but it is trendy to have mederval covers for books on lisp or algorithms. | ||
| moritz thinks of The Art of the Meta Object Protocol :-) | 10:02 | ||
|
10:02
kaleem joined
|
|||
| cognominal | I suppose that, somehow, doing algorithms or lisp is specially crafty | 10:04 | |
| well not in the deceiful meaning of the word. | 10:05 | ||
| masak | as in craftmanship, yes. | ||
|
10:08
daxim joined
|
|||
| masak | or is it "craftSmanship"? probably. | 10:10 | |
| moritz | phenny: "handwerk"? | 10:11 | |
| phenny | moritz: "craft" (de to en, translate.google.com) | ||
| moritz | meh :-) | ||
|
10:11
scott___ left
|
|||
| moritz | phenny: "handwerkskunst"? | 10:12 | |
| phenny | moritz: "craftsmanship" (de to en, translate.google.com) | ||
| masak | phenny: "slöjd"? | 10:13 | |
| phenny | masak: "crafts" (sv to en, translate.google.com) | ||
| tadzik | phenny: "rzemiosło"? | 10:14 | |
| phenny | tadzik: "craft" (pl to en, translate.google.com) | ||
| tadzik | phenny: "rzemieślnictwo"? | ||
| phenny | tadzik: "crafts" (pl to en, translate.google.com) | ||
| masak | phenny: "hantverk"? | ||
| phenny | masak: "crafts" (sv to en, translate.google.com) | ||
| tadzik | . o O ( is there even a word like this one? ) | ||
|
10:22
lestrrat left
10:23
lestrrat joined
|
|||
| daxim | "All craftsdwarfship is of finest quality." | 10:28 | |
| masak | sounds like Pratchett. | 10:30 | |
| moritz | your pratchettship is excellent :-) | 10:33 | |
|
10:33
wolfman2000 left
|
|||
| daxim | lolwhat | 10:34 | |
|
11:21
buubot_backup left,
buubot_backup joined
11:24
Timbus left
|
|||
| masak | daxim: 你在哪里学了汉语? | 11:25 | |
|
11:37
JimmyZ joined
11:41
PZt joined
11:55
godfrey999 left
11:57
lloydf joined
11:59
jaffa4 joined
|
|||
| moritz | masak: after skimming stackoverflow.com/questions/1990464...rogramming I'm sure there must be a purely functional data structure that works way better than the "obvious" approach for calculating the frequency of characters in a string | 11:59 | |
|
11:59
snearch joined
|
|||
| masak | ooh | 12:01 | |
|
12:01
skids left
|
|||
| masak | clearly there are things to learn here. | 12:02 | |
|
12:02
mucker joined
12:03
brrt left
|
|||
| moritz | indeed | 12:04 | |
|
12:05
plobsing left
12:12
plobsing joined
|
|||
| jaffa4 | hi | 12:12 | |
| Where is an example how to call functions in external libraries? | |||
| jnthn | jaffa4: github.com/jnthn/zavolaj has a README with examples of what it is capable of, plus the test suite is full of examples in a sense too. | 12:16 | |
| star: use NativeCall; sub fork() is native returns Int { * }; say fork(); | 12:17 | ||
| p6eval | star 2012.02: OUTPUT«26904» | ||
| jnthn | Hm :) | ||
| moritz | star: use NativeCall; sub fork() is native returns Int { * }; say fork(); say 'oh hai' | ||
| p6eval | star 2012.02: OUTPUT«26908oh hai» | ||
| jaffa4 | What is { * }? | ||
| moritz | jnthn: might be a limitation of p6eval, not capturing subprocesses' output or so | 12:18 | |
| jnthn | moritz: That's my guess | ||
| masak | jaffa4: it's a special form. | ||
| jnthn | jaffa4: You don't have to write the * | ||
| jaffa4: The actually body of the sub is totally unimportant. | |||
| It just means "whatever" in Perl 6 | |||
| So it felt apt | |||
| sub fork() is native returns Int { "OMG A DRUNK POLAR BEAR" } is fine too :) | 12:19 | ||
| masak | o.O | ||
| jaffa4 | It does not seem to work in Niecza | ||
| masak | jnthn: what kind of fork() are you using? :P | ||
| jnthn | jaffa4: No, it won't. | 12:20 | |
| moritz | niecza can't call C code (afaict), only other CLR code | ||
| and there are examples of this both in the niecza repo and on the p6 advent calendar 2011 | |||
| jaffa4 | other CLR code may be enough. | 12:22 | |
| jnthn | masak: My head is a messy place today :P | ||
| arnsholt | IIRC C# (or maybe it's just .Net) has some pretty spiffy FFI facilities | ||
| So it might be possible to create a Niecza NativeCall with those | 12:23 | ||
| masak .oO( TODO: get brain out of messy place where instead of "OH HAI", brain emits "OMG A DRUNK POLAR BEAR"... ) | |||
| moritz | wow, it's the 16th day of the month, and tomorrow is a parrot release already | ||
| jnthn | huh...wow | ||
| frettled | masak: OMG A DRUNK SWEDE | ||
| masak acts redlös | |||
| bbkr | std: my ${a} = 5; | 12:26 | |
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Unsupported use of ${a}; in Perl 6 please use $a at /tmp/WsfqeL0gUw line 1:------> my ${a}⏏ = 5;Parse failedFAILED 00:00 40m» | ||
| bbkr | rakudo: my ${a} = 5; | ||
| p6eval | rakudo 442db9: ( no output ) | ||
| bbkr | hm, it did _something_ :) | ||
| bbkr reports | 12:27 | ||
| jnthn | nom: my $a{a} = 5 | 12:28 | |
| p6eval | rakudo 442db9: ( no output ) | ||
| jnthn | Hm | ||
| masak | right. | ||
| jnthn | I mean, I know we support | ||
| masak | it probably does '(my $){a} = 5' | 12:29 | |
| jnthn | nom: my %h{Int} | ||
| p6eval | rakudo 442db9: ( no output ) | ||
| jnthn | nom: my %h{a} | ||
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===Invalid hash shape; type expected» | ||
| masak | hm, but why isn't that a CHECK-time error? | ||
| jnthn | nom: my @h{a} | ||
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===Shaped arrays not yet implemented. Sorry. at /tmp/n80mZdR4Yp:1» | ||
| jnthn | nom: my $h{a} | ||
| p6eval | rakudo 442db9: ( no output ) | ||
| moritz | nom: my $h{a}; $h = 5; say $h | ||
| p6eval | rakudo 442db9: OUTPUT«5» | ||
| jnthn | It's parsing a shape. I wonder if it then just drops it for scalars somehow. | ||
| masak | sure seems that way. | 12:30 | |
| bbkr | so is that a bug? | ||
|
12:30
tokuhirom joined
|
|||
| moritz | yes | 12:31 | |
| parsing things but then ignoring them (except comments :-) is so mysql | |||
| masak | mysql doesn't ignore comments!? :P | ||
| bbkr | rt.perl.org/rt3/Ticket/Display.html?id=112470 | 12:32 | |
| moritz | masak: no, but lots of other stuff :-) | ||
| depending on the engine foreign key contraints, CHECK, UNIQUE and all the other fun stuff | |||
| masak | wow. | 12:33 | |
| arnsholt | masak: sql-info.de/mysql/gotchas.html =) | 12:36 | |
| Apparently it's not updated for 5.0 though, so some of it might actually be history by now | |||
|
12:36
brrt joined
|
|||
| masak | yeah. mysql is no longer in the set of bits of technology I automatically reach for when I need to solve a problem. | 12:38 | |
|
12:38
brrt1 joined
|
|||
| masak | postgres and sqlite are. | 12:39 | |
|
12:41
brrt left
12:42
brrt1 is now known as brrt
|
|||
| jaffa4 | maybe you are forgetting firebird. | 12:43 | |
| JimmyZ usually uses postgreSQL | |||
| moritz | jnthn: firebird is robust and has many features, but often a bit awkward to use | 12:44 | |
| erm, meant jaffa4 | |||
|
12:44
bluescreen10 joined
|
|||
| moritz | in particular I see no reason to use it over postgres | 12:44 | |
| which also has much better perl bindings | |||
| jaffa4 | It seems to be smaller in size | ||
| It has got embedded version | |||
|
12:49
bluescreen10 left
12:50
bluescreen10 joined,
bluescreen10 left,
bluescreen10 joined
|
|||
| jaffa4 | moritz: clear | 12:54 | |
| r: eval(:lang<perl5>,'1'); | 12:56 | ||
| p6eval | rakudo 442db9: OUTPUT«Null PMC access in find_method('compile') in sub eval at src/gen/CORE.setting:450 in block <anon> at /tmp/DsscnwJUe9:1» | ||
| jaffa4 | s: eval(:lang<perl5>,'1'); | ||
| masak submits rakudobug | |||
| jaffa4 | n: eval(:lang<perl5>,'1'); | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«Unhandled exception: System.IO.FileNotFoundException: Could not load file or assembly 'Perl5Interpreter' or one of its dependencies. The system cannot find the file specified.File name: 'Perl5Interpreter' at System.AppDomain.Load (System.String assembly… | ||
| jnthn | Wow. First NPMCA in a while. :) | 12:57 | |
| masak | we're pretty good at shielding ourselves from them nowadays. | ||
|
12:57
_ilbot left
|
|||
| masak | much thanks to 6model, I guess. | 12:57 | |
| 6model++ | |||
|
12:57
_ilbot joined
|
|||
| jaffa4 | What is NPMCA? | 12:58 | |
| masak | Null PMC Access. | ||
| jaffa4 | internal jargon | 12:59 | |
| masak | yeah, there was a time when we had so many of them that we got tired of saying the full name. | 13:00 | |
| moritz | r: say pir::null() | ||
| masak | I've heard Java peeps say NPE, too. | ||
| p6eval | rakudo 442db9: OUTPUT«use of uninitialized value of type Mu in string context in method Str at src/gen/CORE.setting:667use of uninitialized value of type Mu in string context in method Str at src/gen/CORE.setting:667===SORRY!===error:imcc:syntax error, unexpected '\n' in file '(… | ||
| moritz | r: say pir::null__P() | 13:01 | |
| p6eval | rakudo 442db9: OUTPUT«Null PMC access in find_method('gist') in sub say at src/gen/CORE.setting:6482 in block <anon> at /tmp/x5o7v_yi5z:1» | ||
| masak packs moritz up and sends him into RT :) | |||
|
13:01
benabik left
|
|||
| moritz waves to everybody on the way | 13:02 | ||
|
13:04
Timbus joined
|
|||
| masak | I put moritz in RT #112474 | 13:06 | |
| moritz kannot be loaded. OH NOEZ! What have you done to me? | 13:07 | ||
| masak | I fibbed. I didn't actually. | ||
| you were too big to fit in an email attachment ;) | 13:08 | ||
| moritz | r: 3e9 / 8 / 1024 # size of human genome in kb | 13:09 | |
| p6eval | rakudo 442db9: ( no output ) | ||
| moritz | r: say 3e9 / 8 / 1024 # size of human genome in kb | ||
| p6eval | rakudo 442db9: OUTPUT«366210.9375» | ||
| masak | that's for *one* cell. | ||
| moritz | erm, modulo some constant factors :-) | ||
|
13:13
mtk left
13:15
spider-mario joined
13:21
mucker left
13:24
plobsing left
|
|||
| masak | r: say [/] 3e9, 8, 1024 | 13:32 | |
| p6eval | rakudo 442db9: OUTPUT«366210.9375» | ||
|
13:32
kaleem left
13:34
bacek left
13:35
PacoAir joined
|
|||
| jaffa4 | Is it possible to enumarate enums? | 13:38 | |
| [Coke] | r: say Bool.pick(*) | 13:39 | |
| p6eval | rakudo 442db9: OUTPUT«True False» | ||
| [Coke] | r: say Bool.enum.perl | ||
| p6eval | rakudo 442db9: OUTPUT«Method 'enum' not found for invocant of class 'Bool' in block <anon> at /tmp/PYD1khAgt0:1» | ||
|
13:39
JimmyZ left
13:40
dakkar left
|
|||
| [Coke] | well, there's one way, anyway. ;) | 13:40 | |
| masak | r: enum A <a b c d>; say A.enums.perl | 13:41 | |
| p6eval | rakudo 442db9: OUTPUT«("a" => 0, "b" => 1, "c" => 2, "d" => 3).hash» | ||
| colomon | r: say Bool.list.Num | ||
| p6eval | rakudo 442db9: OUTPUT«1» | ||
|
13:41
kaleem joined
|
|||
| colomon | r: say +(Bool.list) | 13:41 | |
| p6eval | rakudo 442db9: OUTPUT«1» | ||
| colomon | :\ | ||
| [Coke] | r: say Bool.list | 13:42 | |
| p6eval | rakudo 442db9: OUTPUT«use of uninitialized value of type Bool in string context in method Str at src/gen/CORE.setting:667» | ||
| jaffa4 | That is printing, how to enumate? | ||
| r: enum A <a b c d>; pritn A.hash; | 13:43 | ||
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&pritn' called (line 1)» | ||
| jnthn | r: say Bool.enums.perl | ||
| p6eval | rakudo 442db9: OUTPUT«("False" => 0, "True" => 1).hash» | ||
| jaffa4 | r: enum A <a b c d>; print A.hash; | ||
| p6eval | rakudo 442db9: OUTPUT«Odd number of elements found where hash expected in method STORE at src/gen/CORE.setting:5781 in method hash at src/gen/CORE.setting:1033 in block <anon> at /tmp/pnmfY_FeY3:1» | ||
| jnthn | [Coke]: You got "enum", not "enums" | 13:44 | |
| enum A <a b c>; for A.enums -> $val { say $val } | |||
| r: enum A <a b c>; for A.enums -> $val { say $val } | |||
| p6eval | rakudo 442db9: OUTPUT«"a" => 0"b" => 1"c" => 2» | ||
| colomon | r: say Bool.enums.Num | ||
| p6eval | rakudo 442db9: OUTPUT«2» | ||
| colomon | r: say Bool.enums.Int | 13:45 | |
| p6eval | rakudo 442db9: OUTPUT«2» | ||
| colomon | r: enum A <a b c>; say A.enums.Int | ||
| p6eval | rakudo 442db9: OUTPUT«3» | ||
| masak | colomon: I think +Bool.list *should* be 1. | ||
| colomon: it's mixing up levels a bit to assume an enum type object should listify to its enums. | |||
| the type object has more "integrity" than that, if you will. | 13:46 | ||
| colomon | r: say Bool.list.perl | ||
| p6eval | rakudo 442db9: OUTPUT«(Bool,).list» | ||
| colomon | makes sense, I gues | ||
| s | |||
|
13:46
kaleem left
|
|||
| jnthn agrees with masak | 13:46 | ||
| masak | there's a general principle here that I can't quite put into words. | 13:47 | |
| but I find APIs where objects are polymorphic and "collapse" into arrays and hashes that are completely different from the original object... slightly tiring. | |||
| better to have explicit methods and a container/containee relation. | 13:48 | ||
| jaffa4 | r: enum A <a b c d>; print Ac; | ||
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&Ac' called (line 1)» | ||
| jaffa4 | r: enum A <a b c d>; print c; | ||
| p6eval | rakudo 442db9: OUTPUT«c» | ||
| masak | r: enum A <a b c d>; print A::c | ||
| p6eval | rakudo 442db9: OUTPUT«c» | ||
| jaffa4 | SHould not it print 2? | 13:49 | |
|
13:49
skids joined
|
|||
| jaffa4 | r: enum A <a b c d>; print $A::c; | 13:50 | |
| p6eval | rakudo 442db9: OUTPUT«use of uninitialized variable $v of type Any in string context in method Str at src/gen/CORE.setting:667» | ||
| jaffa4 | r: enum A <a b c d>; print A.c; | ||
| p6eval | rakudo 442db9: OUTPUT«Method 'c' not found for invocant of class 'A' in block <anon> at /tmp/gwDKzZjXzw:1» | ||
| masak | it's not a class or an object. | ||
| it's a package. | |||
| as to whether it should print 2, "no". | 13:51 | ||
| not by spec. | |||
| jnthn | r: enum A <a b c d>; print +c; | ||
| p6eval | rakudo 442db9: OUTPUT«2» | ||
| masak | previous versions said it should. but it changed on that point. | ||
| jnthn | Just numify it if you want the numeric value. | ||
| masak | which I really like, because it means Bool::True stringifies to "True" :) | ||
| jaffa4 | r: enum A <a b c d>; print +A.c; | 13:52 | |
| p6eval | rakudo 442db9: OUTPUT«Method 'c' not found for invocant of class 'A' in block <anon> at /tmp/JrcjSzxQef:1» | ||
| jaffa4 | r: enum A <a b c d>; print +A::c; | ||
| p6eval | rakudo 442db9: OUTPUT«2» | ||
|
13:52
dakkar joined
|
|||
| jaffa4 | n: enum A <a b c d>; print +A::c; | 13:53 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«2» | ||
| jaffa4 | n: enum A <a b c d>; print +c; | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«2» | ||
| jaffa4 | n: enum A <a b c d>; print ~c; | 13:57 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«c» | ||
|
13:59
dakkar left
|
|||
| masak | n: enum A <a b c d>; say ?c; say ?a | 13:59 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«TrueFalse» | ||
|
14:01
NamelessTee left,
lloydf left
|
|||
| jaffa4 | r: "a"~~ rx:P5/a/; | 14:07 | |
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===Adverb P5 not allowed on rxat /tmp/hV040YCgV9:1» | ||
| jaffa4 | std: "a"~~ rx:P5/a/; | 14:08 | |
| p6eval | std 3d13d53: OUTPUT«ok 00:00 49m» | ||
| jaffa4 | n: "a"~~ rx:P5/a/; | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«Unhandled exception: Autoloading NYI at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 4667 (Regex.tweak @ 6)  at /home/p6eval/niecza/src/STD.pm6 line 500 (ANON @ 3)  at /home/p6eval/niecza/sr… | ||
| masak | "Autoloading"? | ||
|
14:09
fsergot joined
|
|||
| fsergot | hi o/ | 14:10 | |
|
14:12
wtw left,
dakkar joined
14:13
kaleem joined
|
|||
| masak | halo, fsergocie. | 14:13 | |
| jak się masz? | 14:14 | ||
| fsergot | masak: Dobrze. A Ty? :) | 14:15 | |
|
14:16
snearch left
|
|||
| masak | też dobrze :) | 14:17 | |
| zajęty. ale dobrze. :) | 14:19 | ||
| jaffa4 | everybody is alright. | 14:20 | |
| jnthn | .oO( if you squint hard enough, it almost looks like Slovak ) |
||
| masak .oO( if you squint hard enough, you can't see stuff ) | 14:21 | ||
| jnthn | ETOOHARD :P | 14:22 | |
| masak .oO( Perl makes easy squints easy, and hard squints possible ) | 14:23 | ||
| fsergot | masak: Great! :) | ||
| masak grabs his Polish matura diploma and runs before the Google Translate scandal unravels | 14:24 | ||
|
14:24
plobsing joined
14:25
PacoAir left
14:32
mucker joined
|
|||
| tadzik | did I hear Polish? | 14:32 | |
| ...where did you get your Polish matura diploma? | 14:33 | ||
| tadzik looks for his | |||
|
14:39
NamelessTee joined
14:46
tokuhirom left
|
|||
| masak | tadzik: I don't really have one. but it's fun to pretend that I know even the basics of Polish. | 14:49 | |
| tadzik | :) | ||
| I had fun pretending to know German on the Datev event on GPW | |||
| "Bier, ja ja, naturlich" | |||
| naturlich, I didn't understand a single word this lady was saying :) | 14:50 | ||
| moritz | it worked pretty well :-) | ||
| tadzik | I keep telling myself she didn't notice for some time :) | ||
| until I was like "uhh, do you speak English?" | |||
| masak | did she? :) | 14:51 | |
|
14:51
mucker left
|
|||
| tadzik | I'll probably never know :) | 14:52 | |
|
14:53
simcop2387 left,
fsergot left
14:55
simcop2387 joined
|
|||
| moritz | I think she thought you were drunk :-) | 14:55 | |
| masak | *lol* | 14:57 | |
|
15:04
birdwindupbird left,
kresike left
15:08
fsergot joined
15:14
mucker joined
|
|||
| tadzik | :P | 15:17 | |
|
15:21
att joined
15:26
kaleem left,
vlixes joined
15:30
spaceships joined,
bluescreen10 left
15:31
spaceships left
15:34
zpmorgan joined
15:37
benabik joined
|
|||
| cognominal is looking at deserialization code and find suspicious doubletons like two push string_heap, "perl6" that appear in sequence. Apparently this is not harmful, but is it useful? jnthn? | 15:38 | ||
| PerlJam | Have you guys seen this? www.chris-granger.com/2012/04/12/li...e-concept/ | 15:41 | |
| jnthn | cognominal: No, but the code that eliminates dupes was causing some people segfaults. | 15:43 | |
| So that optimization was backed out for the time being. | 15:44 | ||
|
15:47
fglock left
|
|||
| cognominal | ok | 15:47 | |
| p6: my int @a; @a = (3,2); say @a[0].perl | 15:49 | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«===SORRY!===Malformed my at /tmp/huPPHMGrl6 line 1:------> my⏏ int @a; @a = (3,2); say @a[0].perlParse failed» | ||
| ..rakudo 442db9: OUTPUT«Method 'STORE' not found for invocant of class 'Integer' in block <anon> at /tmp/hIXsvlnc9U:1» | |||
| ..pugs: OUTPUT«\3» | |||
| cognominal | this is not new but not sure it has ever been filed as a bug. | 15:50 | |
|
15:50
bluescreen10 joined
15:51
Patterner left
|
|||
| masak | r: my int @a = (3, 2) | 15:51 | |
| p6eval | rakudo 442db9: OUTPUT«Method 'STORE' not found for invocant of class 'Integer' in block <anon> at /tmp/tJ3mC1rBJN:1» | ||
| masak | r: my int @a = (3) | ||
| p6eval | rakudo 442db9: OUTPUT«Method 'STORE' not found for invocant of class 'Integer' in block <anon> at /tmp/x13H9zDQer:1» | ||
| masak | r: my int @a = 3 | ||
| p6eval | rakudo 442db9: OUTPUT«Method 'STORE' not found for invocant of class 'Integer' in block <anon> at /tmp/pvcw3mffBF:1» | ||
| cognominal | p6: my Int @a; my $a= 1 but False; @a = ( $a,2); say ?@a[0] | ||
| p6eval | rakudo 442db9, niecza v16-21-g1b64073: OUTPUT«False» | ||
| ..pugs: OUTPUT«*** Cannot cast from VBool False to VCode (VCode) at Prelude.pm line 541, column 5-16» | |||
| masak | r: my int @a; say "alive" | ||
| p6eval | rakudo 442db9: OUTPUT«alive» | ||
| cognominal | it works great for non native types. | 15:52 | |
|
15:53
Psyche^ joined,
Psyche^ is now known as Patterner
15:54
kaleem joined
|
|||
| jnthn | There's already an RT for compact arrays being NYI | 15:56 | |
| cognominal | ok | ||
|
16:05
brrt left
16:07
thelazydeveloper joined
16:08
spaceships joined
|
|||
| arnsholt | jnthn: In bind_boxed, any good reason accessor_call(value, "type") should return NULL? | 16:11 | |
| [Coke] | rakudodevs: any comments on nine's threading branch? | 16:13 | |
| jnthn | arnsholt: Is that not missing an interp argument? | ||
| arnsholt: What what type is value? | |||
| arnsholt: It will return NULL if there's no type method, iirc. | 16:14 | ||
|
16:14
fhelmberger left
|
|||
| jnthn | [Coke]: I'm curious if it's able to create a thread from within a running Rakudo program and run some code on it. | 16:17 | |
| [Coke]: Looks like no Windows support yet though. | |||
| arnsholt | jnthn: The interp is there in my code (omitted due to laziness) | 16:19 | |
| The value should be a CArray (I think), or at least that's the RHS of the bind operator in my code | 16:20 | ||
|
16:20
att left
|
|||
| jnthn | arnsholt: huh, you'd only call .type on an attribute meta-object | 16:22 | |
| arnsholt | Oh, right. That would explain a lot =) | 16:23 | |
| jnthn | arnsholt: If you need the type object of the value, just STABLE(value)->WHAT | ||
|
16:23
alester joined,
plobsing left
|
|||
| arnsholt | Oooh. A lot easier, that | 16:24 | |
| jnthn | ;) | ||
| Yes, I did try to make 6model relatively nice to interact with in C-land too :) | |||
| [Coke] | jnthn: yah, I was hoping maybe you could point nine at the right API for windows. ;) | 16:25 | |
| bother. I can add a Rat that takes an epsilon that is ignored (pugs), but I cannot seem to invoke it. At least it's compiling now. | 16:26 | ||
| pugs> 3.Rat(234) | 16:32 | ||
| 3/1 | |||
|
16:34
kaleem left
16:42
estrabd joined
16:48
mucker left
16:49
att joined
|
|||
| dalek | gs.hs: adac868 | coke++ | Pugs/src/Pugs/Prim.hs: Add .Rat($epsilon) just ignore $epsilon for now. Closes #16 |
16:49 | |
|
16:51
kaleem joined,
kaleem left
16:52
kaleem joined
16:53
estrabd left
16:55
PacoAir joined
16:56
estrabd joined
|
|||
| [Coke] | \o/ | 16:57 | |
| p6: say (0+2i).WHAT | 16:59 | ||
| p6eval | rakudo 442db9, niecza v16-21-g1b64073: OUTPUT«Complex()» | ||
| ..pugs: OUTPUT«Complex» | |||
| [Coke] | colomon: why are there tests that have (0+2i).Complex in S32-trig ? | 17:00 | |
| what is the coercion there buying us? | 17:01 | ||
| geekosaur | was there a Gaussian integer type at one point? | ||
| colomon | simplicity for the test code generator | ||
| [Coke] | colomon: arglebargle. Ok. | ||
| colomon | It probably can be improved. But then, Complex.Complex should be pretty darned easy to implement. ;) | 17:02 | |
| [Coke] | done. now I need Rat.Str | 17:07 | |
| p: say 3.Rat.Str | 17:10 | ||
| p6eval | pugs: OUTPUT«*** No such method in class Rat: "&Str" at /tmp/ZEe1p2xBAe line 1, column 5 - line 2, column 1» | ||
| [Coke] | p: say 3.Str | ||
| p6eval | pugs: OUTPUT«*** No such method in class Int: "&Str" at /tmp/8YD_p3IRaS line 1, column 5 - line 2, column 1» | ||
|
17:12
dakkar left
|
|||
| [Coke] | (and then bless, and FatRat, and asin). | 17:13 | |
| colomon | [Coke]++ | 17:14 | |
|
17:18
flussence_ joined
|
|||
| [Coke] | I didn't say I was DOING it. :P | 17:18 | |
|
17:19
flussence left
17:21
thou joined
17:23
flussence_ left
17:24
flussence joined,
plobsing joined
|
|||
| [Coke] | I think we're going to end up with some failing tests here just to get all the simple math ones passing, but I think that's ok. | 17:25 | |
| (ok, I am doing it. ;) | |||
|
17:34
tokuhirom joined
17:35
noam left
17:37
noam joined
|
|||
| spider-mario | what would be an idiomatic way of getting the effect of “xx” in Perl 5? | 17:37 | |
| PerlJam | spider-mario: ("foo") x 5 | 17:38 | |
| spider-mario | oh, that works on lists? | ||
| thanks a lot :D | |||
| dalek | gs.hs: 1f8d97f | coke++ | Pugs/src/Pugs/Prim.hs: add Complex.Complex |
17:41 | |
| gs.hs: f7180f8 | coke++ | Pugs/src/Pugs/Prim.hs: add acos, asin |
|||
| gs.hs: 740cde8 | coke++ | Pugs/src/Pugs/Prim.hs: add basic .Str |
|||
| gs.hs: 17e95c9 | coke++ | t/update_passing_test_data.pl: (temporary?) update to show planned # of tests. |
|||
| [Coke] | still need a (noop is fine) bless, and a FatRat (which I'm probably just going to make an alias for Rat for now.) | 17:42 | |
|
17:50
thou left,
kaleem left,
daxim left
17:58
leprevost joined
|
|||
| masak | geekosaur: I don't think the spec ever had gaussian ints. | 18:02 | |
| geekosaur: but it's very easy to make such a type in userland. | 18:03 | ||
| [Coke] | masak: I assumed his question was an answer to my question. | ||
| masak | or you could just restrict Complex to having integral re and im parts. :) | ||
| geekosaur vaguely recalled *something* having a distinct gaussian int type, which would explain a coercion of what looked like a gaussian int to a full complex | 18:04 | ||
| jaffa4 | I made an on-line test for Perl 6 for people. You can test yourself if you know Perl 6 well enough or not. link: tests.equinoxbase.com/test.pl | ||
| TimToady doesn't think anyone here knows Perl 6 well enough... :) | 18:05 | ||
| jaffa4 | You excepted I guess | ||
|
18:06
benabik left,
benabik_ joined,
benabik_ is now known as benabik
18:09
benabik_ joined,
benabik left,
benabik_ is now known as benabik
|
|||
| masak | jaffa4: there seems to be checkbox interference between questions 5 and 6. I checked a box in question 5, and it was still checked in question 6. | 18:09 | |
|
18:09
|newbie| joined
|
|||
| moritz | r: print [+] 1,3,4,9; | 18:10 | |
| p6eval | rakudo 442db9: OUTPUT«17» | ||
| |newbie| | on cheating | ||
| moritz | CHEATING IS TECHNIQUE | 18:11 | |
|
18:11
jaffa4 left
|
|||
| jnthn | wtf, I only got 53.85%! | 18:11 | |
| spider-mario | the program didn’t accept “add multi in front of both” + “add multi in front of the second one” | ||
| technically, if you need to append it before both, you need to append it before the second one | 18:12 | ||
| ;) | |||
| |newbie| | I am not getting you | ||
| moritz | erm, wtf | 18:13 | |
| it would be nice to see a summary of what one is supposed to have done wrong | |||
| masak | japhb: I got 50.64%: gist.github.com/2400447 | 18:14 | |
| er, jaffa4. | |||
| oh, he left. | |||
| moritz | I hope @a= <1 5 7 9 10>; isn't supposed to be a valid answer | ||
| masak | that question was vague. | ||
|
18:14
|newbie| is now known as jaffa5
|
|||
| jaffa5 | it is | 18:14 | |
| moritz | because it's not the same as 1, 5, 7, 9, 10 | ||
| jaffa5 | I thought it is | ||
| moritz | p6: say <1 5 7 9 10>.perl | ||
| p6eval | pugs, rakudo 442db9: OUTPUT«("1", "5", "7", "9", "10")» | ||
| ..niecza v16-21-g1b64073: OUTPUT«(val("1"), val("5"), val("7"), val("9"), val("10"))» | |||
| jnthn | I got 0% for classes. I should learn about them. :) | ||
| spider-mario | jaffa5 : I’m talking about i.imgur.com/2Y1Oe.png | 18:15 | |
| moritz | jaffa5: well, you're wrong | ||
| masak | jnthn: *lol* | ||
| jaffa5: you should check the validity of the questions I got wrong. | |||
| jaffa5: I don't know what numbers they correspond to, but you probably do. | |||
| jaffa5 | It does so | ||
| moritz | it's no fun to take wrong/imprecise tests | ||
| jaffa5 | I tried to make it precise | 18:16 | |
| masak | you're getting feedback now. | ||
| it needs more precision. | |||
| jaffa5: here's what's funny about jnthn getting 0% on classes: he is the guy who took S12 (about OO) and implemented it more or less single-handedly in Rakudo. what's your estimation that your quiz is right and he's wrong? :) | 18:18 | ||
| jaffa5 | no, the program says that | ||
| kill the program | |||
| moritz | r: say 1.WHAT.^name | 18:19 | |
| p6eval | rakudo 442db9: OUTPUT«Int» | ||
| jnthn | Yeah, I ticked that as avlid | ||
| masak | jaffa5: could you publish the "correct" answers somewhere? that's easier than a bunch of us reverse-engineering them. | 18:20 | |
| jnthn | and the 1.^name | ||
| masak | jnthn: me too. | ||
| moritz | jnthn: I know | ||
| jnthn goes to eat stuff, back in a bit. Probably with a tuit or two :) | |||
|
18:20
jaldhar left,
jaldhar joined
|
|||
| jaffa5 | jif you publish the correct answer, it is not going to be a test anymore | 18:21 | |
| masak takes some deep breaths | |||
| moritz | well, if you miscredit answers it's not a test either | ||
| masak | jaffa5: but we have strong reason to believe that some of the answers you put in there are wrong. | ||
| cognominal | jnthn, I have refreshed blizkost. It passes tests. The diff : gist.github.com/2400493 | 18:22 | |
| masak | jaffa5: for all the reasons stated above. | ||
| jaffa5 | I will extend it , so that it will explain the right answers and the bad ones | ||
| masak | jaffa5: sounds good. but that's just a complicated version of showing us the answers directly. | ||
| moritz | r: constant %h = (a => 1, b => ").hash | ||
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===Preceding context expects a term, but found infix => instead at line 1, near " \").hash"» | ||
| moritz | r: constant %h = (a => 1, b => 2).hash | ||
| p6eval | rakudo 442db9: ( no output ) | ||
| masak | still, better than nothing. | ||
| moritz | r: constant %h = (a => 1, b => 2).hash; say %h.perl | ||
| p6eval | rakudo 442db9: OUTPUT«("a" => 1, "b" => 2).hash» | ||
| moritz | r: constant %h = (a => 1, b => 2).hash; INIT { say %h.perl } | 18:23 | |
| p6eval | rakudo 442db9: OUTPUT«("a" => 1, "b" => 2).hash» | ||
| moritz | wow, when has that been fixed? | ||
| masak | was it once broken? | ||
| moritz | yes | ||
| masak | r: constant %h = (a => 1, b => 2).hash; CHECK { say %h.perl } | ||
| p6eval | rakudo 442db9: OUTPUT«("a" => 1, "b" => 2).hash» | ||
| moritz | there used to be no way to create a hash at compile time | ||
| masak | r: constant %h = (a => 1, b => 2).hash; BEGIN { say %h.perl } | ||
| p6eval | rakudo 442db9: OUTPUT«("a" => 1, "b" => 2).hash» | ||
| masak | wow! | ||
| that's really early! | |||
| moritz | r: constant %h = (a => 1, b => 2); CHECK { say %h.perl } | ||
| p6eval | rakudo 442db9: OUTPUT«("a" => 1, "b" => 2)» | ||
| moritz | that's still wrong though | 18:24 | |
| masak | aye. | ||
| moritz | (RT #111944) | ||
| masak | r: constant Int $x = 42; CHECK { say $x } | ||
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===Missing initializer on constant declarationat /tmp/kECJtXbY5E:1» | ||
| masak | heh? | ||
| std: constant Int $x = 42; CHECK { say $x } | |||
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Missing initializer on constant declaration at /tmp/QJRFBJ3vw_ line 1:------> constant Int ⏏$x = 42; CHECK { say $x }Two terms in a row at /tmp/QJRFBJ3vw_ line 1:------> constant Int ⏏$x = 42; CHECK … | ||
| moritz | it parses it as (constant Int) # missing initiliazer | ||
| masak | oh! | ||
| r: constant $x = 42; CHECK { say $x } | 18:25 | ||
| p6eval | rakudo 442db9: OUTPUT«42» | ||
|
18:25
leprevost left
|
|||
| masak | r: my constant Int $x = 42; CHECK { say $x } | 18:25 | |
| p6eval | rakudo 442db9: OUTPUT«===SORRY!===Missing initializer on constant declarationat /tmp/s023c8tcIq:1» | ||
| masak | there's no way to type constants? | ||
| moritz | nope | ||
|
18:26
jaldhar left
|
|||
| jaffa5 | masak: not sure about what you wrote earlier... it is just a compilcated way of showing answers directly? | 18:26 | |
| all tests are like that | |||
| [Coke] | jaffa5: he's trying to help you improve the quality of your test. You're making it difficult. | ||
| masak | jaffa5: I/we believe you got some of the answers wrong when you created the test. | 18:27 | |
| [Coke] | If you don't want the core team to help you fix your test so that it's correct, that's fine, but I'm not sure what your expectation here is. | ||
| jaffa5 | masak: ok | ||
| masak | jaffa5: I've already taken the test. you're not spoiling it for me. take any measures you feel are necessary to hide the answers from others but show them to me. | ||
| if not, you are indeed making it difficult for me to help you. | 18:28 | ||
| jaffa5 | ok, wait a sec | ||
| masak | [Coke]++ # diplomacy | ||
|
18:29
uvtc joined
18:32
thou joined
|
|||
| uvtc | Hi #perl6. Can anyone tell me how to fix this: paste.pocoo.org/show/582533/ ? | 18:34 | |
| jnthn | cognominal: You already have a commit bit there :) | 18:35 | |
| cognominal | ok | 18:36 | |
|
18:36
lichtkind joined
18:37
leprevost joined
|
|||
| moritz | uvtc: you probably want curly braces after the =>, not [ | 18:40 | |
| spider-mario | (the outer =>) | ||
| uvtc | Ah, that got me further. Thanks, moritz. | 18:41 | |
| In all the examples of hashes I've seen so far, they always look like this: `my %h = 'a' => 1, 'b' => 2;`. That is, no commas, and no curlies required. What do the curlies do (in the context here)? | 18:42 | ||
| moritz | uvtc: in 'my %h = ...', it's the assignment to a hash variable that creates the hash. If you don't do that, you need { ... } to create a hash | 18:43 | |
| a => 1, b => 2 per se is just a list of Pair objects | |||
| uvtc | (Oh, nice. Also, just had to change the "append" to "push", and everything works. :) ) | ||
| moritz, Oh, of course. Thanks! | 18:44 | ||
| lichtkind | uvtc: hai , yes i was not that responsive but i hope it gets better soon | ||
| uvtc | lichtkind, hi. | 18:46 | |
| lichtkind, Did you have a look at the generated html? | |||
| lichtkind, Oops. Sorry, should take this offline. | 18:47 | ||
| jaffa5 | spider-mario: I added the word "only" to the cases you found unclear. | ||
| uvtc | lichtkind, re responsiveness, n/p | 18:48 | |
| cognominal | now, I will try to see why panda does not install zavolaj | 18:50 | |
| "not in the ecosystem" | 18:51 | ||
| blatant lie | 18:53 | ||
| [Coke] | seen au? | 18:55 | |
| aloha | au was last seen in #perl6 1 days 9 hours ago saying ". o O ( whetstones )". | ||
| [Coke] | p6: say sin(3).Rat | 18:56 | |
| p6eval | pugs: OUTPUT«0.141120008059867213523475015790609177202» | ||
| ..niecza v16-21-g1b64073: OUTPUT«0.14111922141119221» | |||
| ..rakudo 442db9: OUTPUT«0.141119221411192» | |||
| [Coke] | p6: say sin(3).Rat.perl | 18:57 | |
| p6eval | rakudo 442db9: OUTPUT«58/411» | ||
| ..pugs: OUTPUT«5084384125703515/36028797018963968» | |||
| ..niecza v16-21-g1b64073: OUTPUT«<58/411>» | |||
| [Coke] | I'd say that's pretty Fat(Rat). | ||
| au | [Coke]: I'm fading fast, after staying up a night translating allisonrandal.com/2012/04/15/open-s...ghtenment/ into gist.github.com/2400315 | 18:58 | |
| but please feel free to typeahead anything you'd like me to help with :) | |||
|
18:59
GlitchMr joined,
sporous left,
sporous joined
|
|||
| masak | ooh, 繁體字! | 19:02 | |
| spider-mario | ~glitchmr@….adsl.inetia.pl | ||
| .pl? :D | 19:03 | ||
| cognominal | how can I get the whole stack trace when I get : use of uninitialized value of type Command in string context in method Str at src/gen/CORE.setting:667 | ||
| GlitchMr | spider-mario, yes | ||
| spider-mario | that sounds appropriate | ||
| moritz | cognominal: CONTROL { say $!.backtrace.nice } | ||
| masak | cognominal: --ll-exception ? | ||
| moritz | or .full if you're a bit more paranoid | ||
| cognominal | masak++ moritz++ | 19:04 | |
| moritz | r: CONTROL { say $!.backtrace.nice }; ~Any | ||
| p6eval | rakudo 442db9: OUTPUT«Method 'backtrace' not found for invocant of class 'Any' in block <anon> at /tmp/3Z_eGnRUwI:1» | ||
| moritz | r: CONTROL { say .backtrace.nice }; ~Any | ||
| p6eval | rakudo 442db9: OUTPUT« in method Str at src/gen/CORE.setting:667 in method Stringy at src/gen/CORE.setting:674 in sub prefix:<~> at src/gen/CORE.setting:957 in block <anon> at /tmp/9cpXsFcUB0:1use of uninitialized value of type Any in string context in method Str at src/gen/CO… | ||
| moritz | cognominal: sorry, $_ not $! | ||
| I *always* do that wrong | 19:05 | ||
|
19:06
birdwindupbird joined
19:07
tokuhirom left
|
|||
| uvtc | At some point did Perl 6 support calling fn's with a colon, as in `my-func: 3`? | 19:10 | |
| moritz | that's the so-called "indirect method syntax" | ||
| tadzik | doesn't it now? | ||
| moritz | it's specced, but rakudo doesn't implement it | 19:11 | |
| masak | std: use MONKEY_TYPING; augment class Int { method my-func {} }; my-func: 5 | ||
| p6eval | std 3d13d53: OUTPUT«Compiled lib/MONKEY_TYPING.pm6ok 00:00 41m» | ||
| TimToady | p6 has never specced *functions* with colons that I can recall | ||
| tadzik | ha! The use of uninitialized value of type Command in string context in panda comes from gen-usage() | 19:12 | |
| tadzik tries a fix | 19:13 | ||
| uvtc | Well, that's what's strange. In this script paste.pocoo.org/show/582562/ , it works. But in this one paste.pocoo.org/show/582565/ it gives me an error. | ||
| That little script gives me: | |||
| ===SORRY!=== | 19:14 | ||
| Confused | |||
| at ./bar.pl6:1 | |||
| TimToady | after all, a function with a colon is indistinguishable from a label | ||
| moritz | uvtc: yes, as I said, rakudo doesn't implement it | ||
| and, as also said, it would call a method, not a subroutine | |||
| cognominal | I have an account on feather but lost the password. how can I reset it? | ||
| moritz | cognominal: I can do that for yuo | ||
|
19:14
Chillance joined
|
|||
| cognominal | thx | 19:15 | |
| uvtc | moritz, Oh, I didn't catch the difference there between method & function. Thanks. | ||
| moritz | cognominal: erm, what's your username on feather? | ||
| TimToady | masak: note that my-func: 5 is a label followed by a Useless use of constant 5 | ||
| cognominal | moritz: "cognominal" if the account still exists. | ||
| [Coke] | au: it would be awesome if you could setup a bless() function that would either 1) do what t/spec/S32-trig/sin.t needed it to do, or, barring that, 2) complete without throwing an exception. | ||
| moritz | cognominal: no such account or home directory. So I guess the account doesn't exist | 19:16 | |
| [Coke] | I may try to hack at it again (for #2) later tonight. | ||
| uvtc | TimToady, If the function calling syntax doesn't allow the colon, why bother having method calling honor it? | 19:17 | |
| masak | TimToady: is it always a label if it's \w ':' first in a statement? | ||
| cognominal | moritz, I have not used in years so I am not surprised it has been removed. | ||
| TimToady | because a function can be a listop without it, but a method can't | ||
| moritz | cognominal: then contact Juerd to get a fresh account | ||
| I think instructions are on feather.perl6.nl/ | |||
| moritz still remains highly suspicious of the indirect method syntax | 19:18 | ||
| cognominal | moritz, thx | ||
| TimToady | masak: yes, provided the ':' isn't part of some longer token | ||
| moritz | though that was methodname $invocant: rest, of, args, right? | ||
| masak | oh, right. | 19:19 | |
| TimToady | yes, it's quite unambiguous, at least compared to P5 | ||
| masak | std: use MONKEY_TYPING; augment class Int { method my-func {} }; my-func 5: | ||
| p6eval | std 3d13d53: OUTPUT«ok 00:00 42m» | ||
| jnthn wonders what it'd take to parse it. | |||
| masak | \o/ | ||
| std: my-func 5: | |||
| p6eval | std 3d13d53: OUTPUT«ok 00:00 42m» | ||
| jnthn | (In Rakudo) | ||
| masak | heh, it's a method call. don't need to declare the method :P | ||
| TimToady | here's all it does: look to see if the first comma is really a colon, and if so, it's an invocant | ||
| easy peasy | 19:20 | ||
| jnthn | Hm. | ||
| You almost make it sound like LHF... :P | |||
| jnthn will take a peek once he's done with the last pseudo-packages | |||
| moritz | std: m 5: 7: 1 | ||
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Alphanumeric character is not allowed as delimiter at /tmp/lWdqcAvrWD line 1:------> m ⏏5: 7: 1Parse failedFAILED 00:00 40m» | ||
| moritz | std: mymethod 5: 7: 1 | ||
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Illegal use of colon as invocant marker at /tmp/hAwYe8LmLX line 1:------> mymethod 5: 7:⏏ 1Check failedFAILED 00:00 42m» | ||
| masak | std: a b 2: 5: | 19:21 | |
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Illegal use of colon as invocant marker at /tmp/Sl2YzfHtac line 1:------> a b 2: 5:⏏<EOL>Undeclared routine: 'a' used at line 1Check failedFAILED 00:00 42m» | ||
| masak | std: a b 2: : | ||
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Preceding context expects a term, but found infix : instead at /tmp/3PSfVdZGm8 line 1:------> a b 2: ⏏:Parse failedFAILED 00:00 42m» | ||
| masak | std: a (b 2:): | ||
| p6eval | std 3d13d53: OUTPUT«ok 00:00 42m» | ||
| jnthn | std: 1 : 2 | ||
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Illegal use of colon as invocant marker at /tmp/AFKPy5e3ZO line 1:------> 1 :⏏ 2Check failedFAILED 00:00 41m» | ||
| jnthn | ...infix : ? | 19:22 | |
| TimToady | yes, parsed as a fancy comma | ||
| that easily-peasily turns into an invocant marker | |||
| uvtc | syntactic cologne | ||
| skids | groan | ||
|
19:23
samlt joined,
plobsing left
|
|||
| jnthn | :P | 19:24 | |
| TimToady | it's also one of the many motivations for turning ?: into ??!!, or that : would be ambiguous | ||
| jnthn | aye | ||
| uvtc | skids, it's my understanding that #perl6 participants are allowed one awful joke and/or pun per diem. So, there, I've used mine up. | 19:25 | |
| moritz | right, more puns are forbidden, by punishment of Nil | ||
| :-) | |||
| skids | uvtc: that one was bad enough to get expropriated, congrats. | 19:27 | |
| TimToady | .oO(syntactic Köln) |
19:28 | |
| uvtc | If you're going out on the town with a fancy comma, you need the cologne. [ducks] | ||
| masak .oO( syntactic line of pillars ) | |||
| TimToady | though, since it's really rewriting the AST, it's more like semantic cologne... | 19:29 | |
| masak | arborial cologne. | 19:30 | |
| moritz | macrologogne | ||
| uvtc | Not sure if it was noticed before, but the error I get for trying to use the colon with a function call always tells me the problem is at line 1, regardless of where the offending cologne is. | ||
| masak | Perl 6 parsers are so slow, they just assume they're still on line 1 :P | 19:31 | |
| TimToady | perl6: my Int constant $x = 42; | 19:33 | |
| p6eval | pugs: OUTPUT«***  Unexpected "constant" expecting ":" or "(" at /tmp/2AF2hBpHgo line 1, column 8» | ||
| ..rakudo 442db9: ( no output ) | |||
| ..niecza v16-21-g1b64073: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/2yqY46vNUS line 1:------> my Int constant $x ⏏= 42;» | |||
| TimToady | perl6: my Int constant $x = 42; say $x | ||
| p6eval | pugs: OUTPUT«***  Unexpected "constant" expecting ":" or "(" at /tmp/_1VGr1BLr3 line 1, column 8» | ||
| ..rakudo 442db9, niecza v16-21-g1b64073: OUTPUT«42» | |||
| TimToady | perl6: constant $x of Int = 42; say $x | ||
| p6eval | pugs: OUTPUT«***  Unexpected "of" expecting "?", "!", trait, "=", infix assignment or operator at /tmp/jjSGyp06Vb line 1, column 13» | ||
| ..rakudo 442db9, niecza v16-21-g1b64073: OUTPUT«42» | |||
| TimToady | sure you can type constants | ||
| jnthn | constants | ||
.oO( gee, I can! ) |
19:34 | ||
| TimToady | see! | ||
| jnthn | fwiw, I'm not entirely sure Rakudo pays any attention to the "of" form | ||
| Actually... | |||
|
19:34
FACEFOX left
|
|||
| jnthn | How does the "of" form work? :) | 19:34 | |
| There's no container to apply the trait to... | 19:35 | ||
| TimToady | and yet there is a declarand | ||
| jnthn | hehe | ||
| multi trait_mod:<of>(Mu $value, Mu:U $type) { $value ~~ $type or die "Type check failed ..." } | 19:36 | ||
| ...no. :) | |||
| Maybe there needs to be a ConstantDeclarand meta-object or something. | 19:37 | ||
| Otherwise implementing export will be a problem too as we need to convey the name. | |||
| TimToady | the "constant" keyword lives in the 'sub' slot, so maybe that's a hint | ||
| jnthn | Well, for a sub we pass a Sub object. | 19:38 | |
| But constants aren't invokable in any sense, so I'd not expect it to be anything that's ~~ Code | |||
| moritz | std: constant a = 3; &a | ||
| p6eval | std 3d13d53: OUTPUT«ok 00:00 43m» | ||
| TimToady | though STD distinguishes type_declarator from routine_declarator, but they both are parsed at the same point | ||
| moritz | std: &a | 19:39 | |
| p6eval | std 3d13d53: OUTPUT«===SORRY!===Undeclared routine: 'a' used at line 1Check failedFAILED 00:00 42m» | ||
| jnthn finds that std result bothersome | |||
| nom: constant a = 3; say a; say &a | 19:40 | ||
| p6eval | rakudo 442db9: OUTPUT«3Nil» | ||
| TimToady | remember STD installs & variants for types so that you can talk about coercions as nouns | 19:41 | |
| jnthn | Ah, for Int('eresting') ? | ||
| OK | |||
| TimToady | std: &Int | ||
| p6eval | std 3d13d53: OUTPUT«ok 00:00 42m» | ||
| masak | I believe this to be an autopun: twitter.com/dwineman/status/191950031409000448 | 19:42 | |
| moritz calls the autopunpolice | |||
| felher | moritz: I implemented a few typed exceptions similar to those that are already in IO.pm. The problem is they return Nil and die if something went wrong. Seems quite a few spectest require the funcitons i wanted to implement to return Failure or True. Whats the way to go? Implement the new with True/Failure and keep those that alreay have typed exceptions as they are? Rewrite the old to not die with a typed | 19:44 | |
| exception but return True/Failure instead? | |||
|
19:44
wooden_ left
|
|||
| uvtc | I think I recall heredocs being discussed here recently. That they're specced (<perlcabal.org/syn/S02.html#Heredocs>) but not yet implemented. Why does Perl 6 spec heredocs instead of using a multi-line quoting syntax (for example, Python's triple quotes)? | 19:44 | |
| TimToady | because Python's triple quotes suck | 19:45 | |
|
19:45
fgomez joined,
fgomez left,
fgomez joined
|
|||
| TimToady | and they are implemented in niecza | 19:45 | |
| sjohnson | *gasp* | ||
| uvtc | What about them sucks? | ||
| masak | I thought triple quotes were for documentation. | ||
|
19:45
sivoais left
|
|||
| geekosaur | no, they actually poduce strings; just happens a string in void context works as documentation (compare Lisp) | 19:46 | |
| TimToady | the point of heredocs is to use the line sequence out-of-band to the character sequence | ||
| triple quotes, besides being ugly and inflexible, don't do that | 19:47 | ||
|
19:47
sivoais joined
|
|||
| uvtc | TimToady, I agree that using 3 quote marks together to mean a "quote" is ... not pretty. | 19:48 | |
| TimToady | so you end up having to violate end-weight considerations to put any extra little arguments way down at the end | ||
| pragmatically, heredocs are about end-weight | |||
|
19:49
benabik left
|
|||
| TimToady | process( q:to/END/, 2, 3 ); # let's you finish the thought with a promise of the first argument | 19:50 | |
| *lets | |||
| uvtc | TimToady, Oh. Right. That explanation sticks nicely. Thanks. | ||
| TimToady | and the fact that it's difficult to implement just reinforces the fact that Perl is designed to torment the implementors rather than the users | 19:51 | |
| n: say q:to/END/, 'done'; Indented stuff. END | 19:53 | ||
| p6eval | niecza v16-21-g1b64073: OUTPUT«Indented stuff.done» | ||
| TimToady | niecza++ # implements trimming | ||
| masak | n: say q:to/END/, 'done';Oops, forgot to indent! Silly me. END | 19:54 | |
| p6eval | niecza v16-21-g1b64073: OUTPUT«Oops, forgot to indent! Silly me.done» | ||
| masak | that's wrong, I think. | ||
| TimToady | only if you think like a masak | ||
| masak .oO( bug! bug! bug! ) | 19:55 | ||
| masak .oO( say it's a bug! come on! ) | |||
| geekosaur | *files a masakbug* | ||
| TimToady | It might warrant a warning, but chopping non-whitespace off the front could be construed as needlessly unforgiving | ||
| masak | I meant more like, shouldn't the text itself be at least as indented as the end marker? | 19:57 | |
| I always thought so. | |||
| TimToady | in fact, this is discussed at S02:4321 | ||
| colomon | spec++ | 20:00 | |
| masak | oh. only a warning. | 20:02 | |
| I think a warning might be too mild there. | |||
| TimToady | I'll let you off this time. | 20:03 | |
|
20:04
leprevost left,
GlitchMr left
|
|||
| masak | but I don't hold that opinion strongly enough to get on the barricades, or blitz-patch the spec. :) | 20:04 | |
| TimToady | well, you may s/may/must/, if you must | 20:05 | |
| nap & | 20:08 | ||
| masak | can I do s/warning/fatal warning/, too? :P | 20:10 | |
|
20:11
benabik joined
20:12
spider-mario left
|
|||
| masak | putting the end marker at a deeper indentation level than some of the text signifies a deep confusion which should probably be addressed before the program is run anyway. | 20:12 | |
|
20:13
spider-mario joined
|
|||
| masak | it's close to choosing the wrong string delimiter at the end of a string. | 20:13 | |
|
20:16
sivoais left
20:18
plobsing joined
20:20
sivoais joined
20:23
sivoais left,
sivoais joined
20:24
att left
|
|||
| dalek | kudo/nom: f05a64d | moritz++ | src/core/Exception.pm: class X::TypeCheck (not yet used) |
20:37 | |
| moritz | felher: sorry, missed your question earlier. Return True or die seems like a reasonable approach | 20:38 | |
| harmonizing the tests also seems reasonable | 20:39 | ||
|
20:39
att joined
20:40
samlt left
|
|||
| felher | moritz: shall i rewrite the Copy and Rename to do True/die instead of Nil/die too? | 20:40 | |
| moritz | felher: yes, please | ||
| felher | moritz: kk, will do :) | ||
| moritz is excited that he isn't the only one anymore who takes care of such stuff | |||
|
20:41
jferrero left
|
|||
| jnthn | felher++ | 20:42 | |
| lichtkind | moritz: i know that feeling :) | 20:43 | |
|
20:44
lichtkind left
20:45
bacek joined,
lichtkind joined,
benabik left,
raiph joined
|
|||
| moritz | jnthn: fwiw it seems to be impossible to create a constant hash inside the setting, or to create a non-constant hash and then use it inside an INIT block | 20:45 | |
| felher | \o/ :) | 20:46 | |
| moritz: i will still ask you if something goes wrong and you probably still have to review my patches :) | 20:47 | ||
| +though | |||
| moritz | felher: that's the way it always starts | ||
| felher | moritz: okay then :) | 20:48 | |
| moritz | jnthn: gist.github.com/2401418 that's what happens if I try | ||
| code like constant $x = ( 'X::TypeCheck' => sub ($operation, $got, $expected) { X::TypeCheck.new(:$operation, :$got, :$expected).throw },).hash; | 20:49 | ||
| jnthn | Hmm | ||
.oO( circularity sore ) |
|||
| moritz | is it normal for all those setting routines to show up as nqp;Perl6;World;prefix:<!> in the backtrace? | 20:50 | |
| not all, only some of them, it seems | |||
| jnthn | That seems decidedly odd. | 20:51 | |
| oh, no | |||
| It's not. | |||
| moritz | or even more precisely, most seem to come up twice, once with and once without that prefix | ||
| jnthn | It's jsut a side-effect of the dynamic compilation | ||
| Yeah | |||
| There's various bits of thunkery going on as it discovers stuff it's gotta run off and compile. | |||
| Are you doing this after Hash is fully defined? | 20:52 | ||
| moritz | yes | ||
| this is in Exception.pm | |||
| which comes after Hash.pm | |||
| raiph | took jaffa's test; got 46%; was disappointed; then saw scores of jnthn and masak... ;) | ||
| phenny | raiph: 15 Apr 20:08Z <lichtkind> tell raiph thanks a lot uvtc is also currently helping me to decide but nothing final yet | ||
| moritz | raiph: I was somewhere around 50% too | 20:53 | |
| lichtkind | raiph: hai | ||
| moritz | anyway, sleep time for me | 20:54 | |
| zZzZz | 20:55 | ||
| raiph | gnight moritz | ||
|
20:56
birdwindupbird left
|
|||
| lichtkind | gut nacht | 20:56 | |
|
20:58
benabik joined
|
|||
| jnthn | 'night, moritz | 20:58 | |
|
21:00
uvtc left
21:02
orafu left,
orafu joined
|
|||
| masak | sweet sleeply, moritz. | 21:03 | |
|
21:03
skids left
|
|||
| masak | p6: say "salmon live in trees and eat pencils".Bool | 21:06 | |
| p6eval | pugs: OUTPUT«1» | ||
| ..rakudo 442db9, niecza v16-21-g1b64073: OUTPUT«True» | |||
|
21:06
envi_ left
|
|||
| dalek | kudo/nom: ef6fe01 | jnthn++ | src/ (2 files): CORE, SETTING and UNIT. |
21:09 | |
| ast: fa50707 | jnthn++ | S02-names/pseudo.t: Unfudge. |
|||
| benabik | masak: Maybe we should hook up Str.Bool to a natural language processor so it can evaluate the truth of the statement. | 21:10 | |
| masak | I see absolutely no philosophical hurdles with that. | ||
| or even technical ones. | |||
| dalek | kudo/nom: 1501f51 | jnthn++ | docs/ChangeLog: Update ChangeLog a little. |
21:16 | |
| lichtkind | raiph allright just tell me when you have time | 21:23 | |
|
21:24
plobsing left,
bluescreen10 left
|
|||
| dalek | kudo/nom: c4f9b1b | jnthn++ | docs/ROADMAP: Remove various completed ROADMAP items. |
21:24 | |
|
21:26
spider-mario left
21:28
huf_ is now known as huf
21:31
mdupont left
21:33
fsergot left
|
|||
| tadzik | there is something abnormally satisfying in writing tests for Test:: modules | 21:37 | |
| masak | yo dawg. | ||
| I expect it's the same thrill as writing a bootstrapping compiler. | 21:38 | ||
| tadzik | I herd you like tests? ok()? ok()? ok()? | ||
| masak | :P | ||
| so I put some tests in your tests: ok(ok(ok())) | 21:39 | ||
| tadzik giggles | |||
| tadzik wonders if github.com/tadzik/IO-Capture-Simpl...asic.t#L10 is even correct | 21:40 | ||
|
21:40
bluescreen10 joined
|
|||
| masak | can you formulate a falsifiable hypothesis such that if it's not correct, you'd find out? | 21:42 | |
|
21:42
benabik left
21:43
brrt joined
|
|||
| tadzik | possibly | 21:43 | |
| I can break this tests, yes | 21:44 | ||
| masak | sounds like a good idea. | 21:47 | |
|
21:48
att left,
ggoebel left
21:49
snearch joined
21:51
jaffa5 left,
PacoAir left
21:52
ggoebel joined
|
|||
| felher | masak: was your question about a falsifiable hypothesis about something special or just a question to the world/channel/tadzik? :) | 21:56 | |
| Tene | felher: responding to tadzik | 21:57 | |
| felher | Tene: thanks :) | ||
| tadzik | good knight #perl6 | 22:01 | |
|
22:01
fgomez left,
fgomez joined,
NamelessTee left
|
|||
| felher | o/ | 22:05 | |
|
22:06
mdupont joined
22:18
Araq joined
22:23
plobsing joined,
localhost left
22:25
localhost joined
|
|||
| jnthn | 'night o/ | 22:26 | |
|
22:37
Chillance left
|
|||
| lichtkind | good night | 22:49 | |
| sorear | good * #perl6 | 22:58 | |
| sjohnson | hi | ||
| :) | 23:00 | ||
| everyday i learn multiple things about perl5, it almost makes me wonder if i'll be able to to undertake learning perl 6 | 23:01 | ||
|
23:20
ilogger2 joined,
ChanServ sets mode: +v ilogger2
23:24
Moukeddar joined
23:35
Moukeddar left
|
|||
| lichtkind | vlixes: indeed :) | 23:42 | |
| mayne said that :) | |||
| many | |||
| the perl 6 teblets are aimed to be an easy learnign | |||
| learning | |||
|
23:57
tokuhirom joined
23:58
whiteknight joined
|
|||