»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
ZoffixW | Is there something wrong with this: gist.github.com/zoffixznet/0c5da7c4a9eaa0c80079 I'm getting "Use of uninitialized value of type Str in string context Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed." | 00:00 | |
timotimo | ZoffixW: you're stringifying $paste.WHAT by way of "eq" | ||
you should just $paste ~~ Hash, IMO. | |||
ZoffixW | Ah. Thanks | ||
timotimo++ | |||
timotimo goes to bed | 00:01 | ||
00:11
Util joined
00:12
PerlJam joined
|
|||
ZoffixW | Is there a way of making this work? I want the last element: | 00:13 | |
m: my $what = 'gist.github.com/zoffixznet/f6a610c...059ec969'; $what = $what.split('/')[-1]; say $what | |||
camelia | rakudo-moar 6432dd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/429VDmJwXKUnsupported use of a negative -1 subscript to index from the end; in Perl 6 please use a function such as *-1at /tmp/429VDmJwXK:1------> 030059ec969'; $what = $what.split('/')[-1]7⏏5; sa…» | ||
00:15
Hor|zon joined
|
|||
skids | ZoffixW: [*-1] should work. | 00:16 | |
ZoffixW | skids++ it does thanks. I wasn't sure what "use a function such as *-1" meant :) | 00:18 | |
skids | When a subscript gets a Callable as an argument, it feeds in the length of the array, calls it, and uses that as an index. | 00:19 | |
00:19
Hor|zon left
|
|||
skids | '*-1' makes a function that is like sub a($x) { $x - 1 } | 00:20 | |
ZoffixW | Ah | 00:22 | |
00:23
thou joined
00:27
rurban left,
thou left
00:29
Xor_ left
00:33
tokuhirom joined
00:37
tokuhirom left
00:41
hohoho joined
00:50
thundergnat left
00:58
Eddward left
01:10
llfourn joined,
n0tjack joined
|
|||
dalek | osystem: d53aa2f | (Zoffix Znet)++ | META.list: Add Pastebin::Gist to eco |
01:14 | |
ZoffixW | Comments on the suckety of my code welcome :) github.com/zoffixznet/perl6-Pasteb...n/Gist.pm6 | ||
01:14
n0tjack left
01:16
Hor|zon joined,
pochi joined
01:21
Hor|zon left
|
|||
leont | What is the provides meta-data used for currently? | 01:22 | |
My module has 44 classes/roles, maintaining this by hand is kind of cumbersome… | |||
ShimmerFairy | leont: provides is supposed to link 'use' statement names to files, as I understand it | 01:26 | |
(not that anything handles it correctly as of yet) | |||
leont: design.perl6.org/S22.html#provides | |||
01:28
ZoffixW left
|
|||
ShimmerFairy | basically, it's meant to let you write a Foo::Bar module and not have to put it in lib/Foo/Bar.pm6, letting you put it in, say, lib/FooBar.pm6 in your distribution instead. :) | 01:29 | |
01:33
diakopter joined
01:45
TEttinger joined
01:46
ilbot3 joined
|
|||
leont | Right, so classes that are mostly internal don't need to be listed? | 01:48 | |
fg | |||
geekosaur | No such job. | 01:49 | |
01:50
BenGoldberg left
|
|||
TimToady | m: say v6a after v6; | 01:55 | |
camelia | rakudo-moar 6432dd: OUTPUT«False» | ||
TimToady | slight problem there ^^ | ||
ShimmerFairy | leont: yeah, AIUI it basically says "when someone types 'use Foo::Bar', don't expect to find it in lib/Foo/Bar.pm6. It's actually at lib/Somewhere/Else/Entirely.pm6." | 01:56 | |
leont | geekosaur: No Jobs, no Cash, no Hope, Kevin Bacon please don't die | ||
02:03
Exodist joined,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:07
kid51 left
02:11
thou joined
02:16
thou left
02:17
Hor|zon joined
02:21
noganex_ joined
02:22
Hor|zon left
02:24
noganex left
02:36
chenryn_ joined
02:43
dayangkun joined
|
|||
dalek | kudo/nom: 89d1b4f | TimToady++ | src/ (2 files): switch to 'use v6b+;' notation |
02:45 | |
[Coke] | we lose the nice perl 5 error with v6b, fwiw. | 02:47 | |
yoleaux | 11 Oct 2015 15:45Z <moritz> [Coke]: as the next release manager, please mark the 2015.10 release as the first Perl 6 Beta release in the announcement | ||
[Coke] | .tell moritz that was the plan! | ||
yoleaux | [Coke]: I'll pass your message to moritz. | ||
TimToady | well v6.b doesn't help | 02:49 | |
02:49
cognominal left
02:50
sQuEE is now known as sQuEE`
|
|||
[Coke] | yah, I don't think there's a way to keep it. | 02:52 | |
leont | Seems someone forked all p6 modules in the list to send PRs for travis.yml files | 02:53 | |
Zoffix | heh | 02:54 | |
02:54
ngie left
|
|||
Zoffix | Not all. But I'm guessing this [16:06:37] <szabgab> I hope tomorrow all the modules will have Travis enabled :) | 02:55 | |
TimToady | I wonder if the syntax highlighters check for 'v6' or 'v6;' | 02:59 | |
03:01
leont left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: e9d3a10 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm: standardize Travis error status <=> icon |
03:04 | |
href="https://modules.perl6.org:">modules.perl6.org: 1dd35f3 | (Zoffix Znet)++ | web/ (4 files): Add shadow to Camelia |
|||
Zoffix | timotimo, done and done :) | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: b69e76a | (Zoffix Znet)++ | web/index.tmpl: Add Camelia as favicon |
03:06 | |
03:07
KCL joined
|
|||
[Coke] | rant: linenoise loses characters if you start typing at the REPL before the prompt appears. | 03:07 | |
03:08
][Sno][ left
03:10
KCL_ left
03:13
[Sno] joined
03:18
Hor|zon joined
03:22
Hor|zon left
03:37
llfourn left
|
|||
TimToady | m: use v6; | 03:42 | |
camelia | ( no output ) | ||
TimToady | m: use v6a; | ||
camelia | rakudo-moar 89d1b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A2IBZMQxiGNo compiler available for Perl v6aat /tmp/A2IBZMQxiG:1------> 3use v6a7⏏5;» | ||
TimToady | m: use v6a+; | ||
camelia | ( no output ) | ||
TimToady | m: use v6b; | 03:43 | |
dalek | href="https://modules.perl6.org:">modules.perl6.org: d829e03 | (Zoffix Znet)++ | web/build-project-list.pl: Fix Camelia logo path |
||
camelia | ( no output ) | ||
TimToady | m: use v6c; | ||
camelia | rakudo-moar 89d1b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jeCBAYQ1XnNo compiler available for Perl v6cat /tmp/jeCBAYQ1Xn:1------> 3use v6c7⏏5;» | ||
03:49
sufrostico joined
03:51
sufrostico left
03:54
chenryn_ left
03:56
vendethiel joined
03:59
thou joined
04:04
thou left
|
|||
diakopter | oy | 04:07 | |
04:08
llfourn joined
|
|||
[Coke] | aye. | 04:08 | |
hohoho | .u » | 04:13 | |
yoleaux | U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [Pf] (») | ||
04:18
sQuEE` is now known as sQuEE
04:19
Hor|zon joined,
sQuEE is now known as sQuEE`
04:21
llfourn left
04:24
Hor|zon left
04:29
chenryn_ joined,
hohoho left
|
|||
dalek | c: 355783e | coke++ | htmlify.p6: remove unused $*DEBUG & command line flag |
04:31 | |
04:36
dbenton left
|
|||
dalek | p: a79e4ab | TimToady++ | src/ (3 files): canonicalize operator names to legal perl Operator names containing < or > are now enclosed in « and ». |
04:48 | |
04:48
hohoho joined
|
|||
dalek | kudo/nom: 091637f | TimToady++ | src/ (4 files): canonicalize operator names to legal perl Operator names containing < or > are now enclosed in « and », unless they also contain « or », in which case they use < > and backslash anything that needs it. |
04:48 | |
kudo/nom: 16e2b07 | TimToady++ | tools/build/NQP_REVISION: bump nqp to get legal opnames patch (won't compile without this) |
|||
TimToady has been wanting to fix that one for years now | 04:49 | ||
[Coke] | TimToady++ | 04:50 | |
ShimmerFairy | TimToady: I've also wanted to alias texas variants, but unfortunately trying to set up the 'constant's caused the optimizer to eat up all memory when a texas variant was used in CORE | ||
04:53
aborazmeh left
|
|||
dalek | ast: dc3e133 | TimToady++ | S02-names/name.t: test that opnames are canonicalized legally fixes RT #126241 |
04:59 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126241 | ||
04:59
khw left
05:05
vendethiel left
05:06
chenryn_ left,
chenryn_ joined
05:08
baest_ is now known as baest
05:14
skids left
05:20
Hor|zon joined
|
|||
dalek | ast: f21fe41 | TimToady++ | S02-names/name.t: add more tests for weird opnames with angles |
05:22 | |
TimToady | m: sub infix:«~~>» { "$^a -> $^b\n" }; say &[~~>].name | ||
camelia | rakudo-moar 89d1b4: OUTPUT«infix:<~~>>» | ||
05:23
Ch0c0late joined
|
|||
TimToady | m: sub infix:«~~>» { "$^a -> $^b\n" }; say &[~~>].name | 05:24 | |
camelia | rakudo-moar 16e2b0: OUTPUT«infix:«~~>»» | ||
05:25
Hor|zon left
05:30
llfourn joined
05:32
|Tux| joined
05:42
tokuhirom joined
05:47
tokuhirom left
05:48
thou joined
05:51
jkva joined
05:52
thou left
05:58
bjz joined
06:06
FROGGS left
06:09
bjz left
06:15
llfourn left
06:17
diana_olhovik_ joined
06:21
Hor|zon joined
06:23
domidumont joined
06:25
Hor|zon left
06:27
domidumont left
06:28
firstdayonthejob joined,
domidumont joined
06:29
bjz joined
|
|||
moritz | good morning | 06:35 | |
yoleaux | 02:47Z <[Coke]> moritz: that was the plan! | ||
[ptc] | o/ | 06:38 | |
06:39
llfourn joined
06:50
FROGGS joined
06:55
Ven joined
06:58
zakharyas joined
07:00
llfourn left
|
|||
moritz | anybody want to help me with a naming problem? (not Perl 6 related) | 07:00 | |
at $work, we collect all sorts of data which we later use for billing | |||
this data is for example IP traffic size, size of backup data, number of text messages sent etc. | 07:01 | ||
grouped by customer, service (ip, backup, sms, ...), date and size | |||
how would you name such a database table? | |||
[Tux] | traffic | ||
moritz | but it's not all traffic | 07:02 | |
[Tux] | most of it is? | ||
moritz | dunno; my sample might well be biased | 07:03 | |
we also store things like number of MS Exchange mail boxes | |||
[Tux] | that is traffic related too imho | ||
FROGGS | usage? | ||
moritz | resource_usage maybe | 07:04 | |
[Tux] | somebody likes typing :) | ||
FROGGS | :P | ||
dalek | kudo/nom: 03f84ee | TimToady++ | src/ (2 files): allow comma to constant fold, but distribute sink A comma in sink context is not necessarily an error, since the bits of the comma may have side effects (especially in a loop ()). So we treat comma as a lightweight semicolon there and evaluate each of its arguments for "useless use" instead. |
||
moritz | [Tux]: the table already has a (horrible) name; I'm looking for a mapped name in the ORM, actually | 07:05 | |
TimToady --> bed & | |||
[Tux] | sleep tight | ||
FROGGS | gnight TimToady++ | 07:06 | |
masak | morning, #perl6 | ||
FROGGS | morning masak | 07:07 | |
moritz | FROGGS, [Tux]: thanks for your input | 07:08 | |
07:09
brrt joined
|
|||
brrt | good * | 07:10 | |
07:10
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
RabidGravy joined
|
|||
[Tux] | test 50000 38.896 38.778 | 07:12 | |
test-t 50000 39.823 39.704 | |||
07:14
rurban joined
07:16
Ven left
07:18
Ven joined
07:22
Hor|zon joined
07:24
firstdayonthejob left
07:25
Ven left
07:26
Hor|zon left
07:29
ely-se joined
07:30
Ch0c0late left
07:35
abraxxa joined
07:36
thou joined
07:38
[Sno] left
07:39
abraxxa left,
abraxxa joined
07:40
thou left
07:44
tokuhirom joined
|
|||
moritz | in p5, there's an environment variable that's commonly used for tests that must be able to access the Internet, no? | 07:48 | |
if so, what's its name? | |||
07:48
tokuhirom left
|
|||
FROGGS | moritz: I've not seen something like that yet... | 07:51 | |
BinGOs: do you know perhaps? | |||
ShimmerFairy | m: my token foo { {say "A is {$*A.gist}"} <?{$*A}> foo :my $*A }; say "foo" ~~ /:my $*A = 1; <?{$*A}> <foo>/ | 07:53 | |
camelia | rakudo-moar 03f84e: OUTPUT«A is (Any)A is (Any)A is (Any)A is (Any)Nil» | ||
ShimmerFairy | Is this expected behavior, the :my $*A bit affecting earlier parts of the grammar? Because that's really surprising. | ||
moritz | earlier? | 07:54 | |
07:54
spider-mario joined
|
|||
ShimmerFairy | m: my token foo { {say "A is {$*A.gist}"} <?{$*A}> foo }; say "foo" ~~ /:my $*A = 1; <?{$*A}> <foo>/ | 07:54 | |
camelia | rakudo-moar 03f84e: OUTPUT«A is 1「foo」 foo => 「foo」» | ||
lizmat | m: wait do for 1..5 { start {} } # seems borked with b85ea62d52736f916e1e1ac FROGGS ? | ||
camelia | rakudo-moar 03f84e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qdPNvS7KrEMissing blockat /tmp/qdPNvS7KrE:1------> 3ed with b85ea62d52736f916e1e1ac FROGGS ?7⏏5<EOL> expecting any of: block or pointy block postfix» | ||
ShimmerFairy | moritz: apparently having a :my $*A; declaration affects the entire rule it's in, including parts before the decl | 07:55 | |
lizmat | m: await do for 1..5 { start {} } # seems borked with b85ea62d52736f916e1e1ac FROGGS ? | ||
camelia | rakudo-moar 03f84e: OUTPUT«Must specify a Promise or Channel to await on (got a List) in block <unit> at /tmp/nFP2Mq69F9:1» | ||
FROGGS | >.< | ||
moritz | ShimmerFairy: I see no parts of a rule in your example that is prior to the declaration of $*A | ||
ShimmerFairy: you do know that $*A is dynamically scoped, right? | |||
ShimmerFairy | moritz: ... I'm talking about the more lexical $*A that lets you "take" a dynamic variable for just that dynamic scope | 07:56 | |
07:56
eliasr joined
|
|||
lizmat | FROGGS: shall I add a await(List) candidate ? | 07:57 | |
ShimmerFairy | m: my token foo { {say "A is {$*A.gist}"} <?{$*A}> foo :my $*A = 5; }; say "foo" ~~ /:my $*A = 1; <?{$*A}> <foo>/ | ||
camelia | rakudo-moar 03f84e: OUTPUT«A is (Any)A is (Any)A is (Any)A is (Any)Nil» | ||
ShimmerFairy | ^^^ even more fun, it turns out it's just the existence of the variable, with an initial assignment not being considered before the inner declaration :/ | ||
moritz | m: sub f { say $*A; my $*A = 42 }; my $*A = 42; f() | 07:58 | |
camelia | rakudo-moar 03f84e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RdneqGtOIgIllegal post-declaration of dynamic variable '$*A';earlier access must be written as CALLERS::<$*A>if that's what you meantat /tmp/RdneqGtOIg:1------> 3sub f { say $*A; my $*A7⏏5 =…» | ||
FROGGS | m: multi foo(Int) { 'Int' }; multi foo(Any) { 'Any' }; multi foo(*@a) { for @a { foo $_ } }; say foo [1, 2, 3] # lizmat: I was under the impression that the slurpy is preferred... | ||
camelia | rakudo-moar 03f84e: OUTPUT«Any» | ||
lizmat | well, maybe that is the bug... | ||
moritz | ShimmerFairy: ^^ that's the error you would get if the {} from the block wouldn't introduce a new scope | ||
FROGGS | lizmat: so yes, please add the needed candidate | ||
lizmat: no, might be a bug in my brain | |||
ShimmerFairy | moritz: I'm not talking about $~MAIN though, I don't get quite what you're trying to say | 07:59 | |
moritz | ShimmerFairy: and yes, that's by design. Variables are valid for the block they are declared in, and it's only parse time that complains about undeclared that aren't dynamic | ||
ShimmerFairy: variables are scoped to blocks, not to sections of blocks | |||
ShimmerFairy | moritz: I don't think you're getting me. I was expecting the $*A to keep the value of 1 _until_ the second :my $*A; declaration | ||
FROGGS | ShimmerFairy: you cannot redeclare $*A like you did in your first paste | 08:00 | |
moritz | ShimmerFairy: I get that you want that | ||
ShimmerFairy | FROGGS: except you totally can, and various grammars (including rakudo) make use of it | ||
moritz | ShimmerFairy: example? | ||
FROGGS | ShimmerFairy: but not the way you did | ||
m: my token foo { :my $*A = 2; {say "A is {$*A.gist}"} <?{$*A}> foo }; say "foo" ~~ /:my $*A = 1; <?{$*A}> <foo>/ | 08:01 | ||
camelia | rakudo-moar 03f84e: OUTPUT«A is 2「foo」 foo => 「foo」» | ||
FROGGS | that's what you usually see | ||
ShimmerFairy | :my $*POD_ALLOW_FCODES := nqp::getlexdyn('$*POD_ALLOW_FCODES'); occurs in a few places, for example | ||
FROGGS | m: my token foo { :my $*A = 2; {say "A is {$*A.gist}"} <?{$*A}> foo }; say "foo" ~~ /:my $*A = 1; {say "A is {$*A.gist}"} <?{$*A}> <foo>/ | ||
camelia | rakudo-moar 03f84e: OUTPUT«A is 1A is 2「foo」 foo => 「foo」» | ||
ShimmerFairy | m: my token foo { :my $*A = 2; { say $*A } }; "A" ~~ /:my $*A = 1; {say $*A} <foo> {say $*A}/ | 08:02 | |
camelia | rakudo-moar 03f84e: OUTPUT«121» | ||
ShimmerFairy | m: my token foo { { say $*A } }; "A" ~~ /:my $*A = 1; {say $*A} <foo> {say $*A}/ | ||
camelia | rakudo-moar 03f84e: OUTPUT«111» | ||
FROGGS | ShimmerFairy: but that decl is either at the top of the token (which implies that it is bound to the entire token anyway), or the variables is not used within the loken at all | ||
ShimmerFairy | m: my token foo { { say $*A } :my $*A = 2; }; "A" ~~ /:my $*A = 1; {say $*A} <foo> {say $*A}/ | ||
camelia | rakudo-moar 03f84e: OUTPUT«1(Any)1» | ||
dalek | kudo/nom: 70a94d9 | lizmat++ | src/core/asyncops.pm: Unbreak await do for ^5 { start {} } |
08:03 | |
ShimmerFairy | FROGGS: as you can see, declaring the dynamic inside the token wipes out the previous value at the beginning of the token, and not where it's declared. | ||
FROGGS: either it DWIMs, or it should at least set the appropriate initial value (2 in my last examples) in addition to clearing it out. In any case I consider it a bug. | 08:04 | ||
FROGGS | ShimmerFairy: yes, and that's correct | ||
the more correct behaviour would be though explode with 'Illegal post-declaration of dynamic variable' | |||
or 'use before decl' or something | 08:05 | ||
m: my $x; { say $x; my $x } | |||
camelia | rakudo-moar 03f84e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pAtAFccdGvLexical symbol '$x' is already bound to an outer symbol;the implicit outer binding must be rewritten as OUTER::<$x>before you can unambiguously declare a new '$x' in this scopeat /tmp/pAtA…» | ||
FROGGS | that's the same | ||
ShimmerFairy | I still say it's incredibly LTA that it magically acts as though the declaration happened where it didn't :/ | 08:06 | |
FROGGS | that's why it should throw | ||
08:08
jmc_ is now known as jmc
|
|||
FROGGS | (most) variables are bound to a lexical scope, which is the block they are in, not the piece of text they appear | 08:08 | |
brrt | i disagree FROGGS... what if the $* thingy was defined in another module alltogether | ||
08:08
jmc is now known as jocom
|
|||
brrt | dynamic variables are (useful) evil, and i don't think you can tame that | 08:09 | |
FROGGS | ohh, I was talking about declarations | ||
brrt | but it's a dynvar, right | ||
FROGGS | it is, sure | ||
brrt | you can't really assume anything about it's declaration? | ||
its | 08:10 | ||
FROGGS | but if you redeclare a dynvar in your block, you only see that dynvar declared in your block | ||
ShimmerFairy | FROGGS: if it's not supposed to do what I want, then it should definitely throw upon the :my that comes after a use of it. | ||
FROGGS | m: my $*x; { say $*x; my $*x } | ||
camelia | rakudo-moar 03f84e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nny7jGcNhSIllegal post-declaration of dynamic variable '$*x';earlier access must be written as CALLERS::<$*x>if that's what you meantat /tmp/nny7jGcNhS:1------> 3my $*x; { say $*x; my $*x 7⏏…» | ||
brrt | well, that's... hmmmmmm | ||
FROGGS | ShimmerFairy: aye | ||
m: my $*x = 1; { say CALLERS::<$*x>; my $*x = 2 } | 08:11 | ||
camelia | rakudo-moar 03f84e: OUTPUT«1» | ||
08:11
kjs_ joined
|
|||
FROGGS | m: my token foo { {say "A is {CALLERS::<$*A>.gist}"} <?{CALLERS::<$*A>}> foo :my $*A }; say "foo" ~~ /:my $*A = 1; <?{$*A}> <foo>/ | 08:11 | |
camelia | rakudo-moar 03f84e: OUTPUT«A is (Any)A is (Any)A is (Any)A is (Any)Nil» | ||
08:12
larion joined
|
|||
FROGGS | m: my token foo { {say "A is {CALLERS::<$*A>.gist}"} <?{CALLERS::<$*A>}> foo }; say "foo" ~~ /:my $*A = 1; <?{$*A}> <foo>/ | 08:12 | |
camelia | rakudo-moar 03f84e: OUTPUT«A is 1「foo」 foo => 「foo」» | ||
FROGGS | now that *is* weird | 08:13 | |
or maybe not | |||
or... | |||
08:15
darutoko joined
08:16
dakkar joined
08:23
Hor|zon joined
08:24
ab6tract joined
08:25
vytas joined
|
|||
nine | timotimo: if you can explain a bit more what exactly that means, I'd be happy to do it. | 08:26 | |
timotimo | nine: you can put a custom QAST::Op( :op('yourchosenname'), ... ) into the resulting qast tree | 08:27 | |
08:27
Hor|zon left
|
|||
timotimo | the desugar you'll add to the top of the Actions.nqp will tell the compiler how exactly to turn it into a QAST tree that it knows how to compile | 08:27 | |
08:29
kjs_ left
08:32
g4 joined
08:38
larion left
|
|||
timotimo | the idea is that we'd end up with a "p6forloop" (or something) op that still has the thing to loop over directly as a child, so that the optimizer can more easily introspect it | 08:40 | |
and if it deems the for loop fit for turning into a while loop, it can just replace the op and keep the block | |||
i'm not sure what the part near the beginning is for; the one inside the if statement | 08:41 | ||
08:45
rindolf joined
|
|||
chenryn_ | p6: class A { submethod DESTROY { say "die A" }; submethod BUILD { say "new A" }; }; my $o = A.new; undefine $o; | 08:45 | |
camelia | rakudo-moar 70a94d: OUTPUT«new A» | ||
08:45
espadrine joined
|
|||
chenryn_ | why DESTROY not exec? | 08:46 | |
timotimo | DESTROY is not guaranteed to run; it will not run at process exit, either | 08:47 | |
i mean, exiting will not cause DESTROY to be run; only garbage collection cycles will | 08:48 | ||
08:50
aborazmeh left
|
|||
chenryn_ | github.com/perl6/roast/blob/master...truction.t but here? | 08:50 | |
timotimo | # no guaranteed timely destruction, so replace $a and try to force some GC here | ||
08:53
mrsolo joined
|
|||
sergot | hi #perl6 | 08:54 | |
timotimo: what do you mean about perl6-encode? | |||
moritz | the more reliable way is to use a LEAVE phaser on the caller side | ||
\o sergot | |||
timotimo | sergot: it's just about travis | ||
sergot | moritz \o | ||
timotimo: I've just turned it on :) | |||
08:54
gonz_ joined
|
|||
timotimo | you have a .travis.yml, but in github you have to turn it on | 08:54 | |
great! :) | |||
sergot | heh, someone pushed the .travis.yml yesterday I didn't even notice. thanks timotimo++ ! :) | 08:55 | |
08:55
espadrine left
|
|||
FROGGS | it is easier to turn on via travis though | 08:55 | |
timotimo | oh, i hadn't realized | ||
sergot | FROGGS: I did so :) | ||
FROGGS | otherwise you have to enter a token you might not know :o) | ||
sergot | and it's super easy in travis-ci.org | 08:56 | |
FROGGS | *nod* | 08:57 | |
chenryn_ | timotimo: I use perl6 2015.09 to run such test, got "failed 4 tests of 6". | 08:59 | |
brrt | timotimo - what, a forloop into a single op? or a virtual op? | ||
timotimo | yeah, DESTROY is unreliable ... and that test is unreliable, too | ||
brrt: yeah, just virtual | 09:00 | ||
brrt | phew :-) | ||
09:00
FireFly left
|
|||
chenryn_ | --! | 09:04 | |
09:05
FireFly joined
09:06
Ven joined
09:13
[Sno] joined
09:18
hohoho left,
leont joined
09:21
kjs_ joined
09:24
Hor|zon joined,
bjz left,
thou joined
09:27
vytas` joined,
vytas` left,
vytas left,
vytas joined
09:28
CIAvash joined,
thou left,
bjz joined
09:29
Hor|zon left
09:32
telex left,
larion joined
09:34
telex joined
|
|||
jnthn | morning, #perl6 | 09:44 | |
yoleaux | 11 Oct 2015 11:01Z <lizmat> jnthn: Iterator.push-exactly has a $no-sink catch, is that needed in all custom iterator methods that do $target.push ?? | ||
11 Oct 2015 11:24Z <nine> jnthn: I rejected rt.perl.org/SelfService/Display.html?id=125199 because I think it was just an error in the test script. Am I right? | |||
09:44
bjz left
|
|||
RabidGravy | marnin | 09:44 | |
jnthn had a nightmare about having nightmares, and wonders if that's a sign to stop working on meta-circular object systems and self-hosting compilers... | 09:45 | ||
09:45
bjz joined,
tokuhirom joined
|
|||
timotimo | pbfcomics.com/44/ - jnthn | 09:45 | |
jnthn | .tell lizmat It can be wise, yes... | ||
yoleaux | jnthn: I'll pass your message to lizmat. | ||
lizmat | .botsnack | 09:46 | |
yoleaux | :D | ||
synbot6 | om nom nom | ||
yoleaux | 09:45Z <jnthn> lizmat: It can be wise, yes... | ||
09:46
edehont joined
|
|||
lizmat | ok, will follow up on that | 09:46 | |
jnthn | lizmat: I wish we had a nicer solution... | ||
timotimo: heh :) | |||
lizmat | it'll work for now | ||
shop.oreilly.com/product/9781680500...cationDate # interesting choice of cover for a book updated for 5.22 :-) | 09:49 | ||
09:50
tokuhirom left
|
|||
timotimo | whoa | 09:50 | |
sudenly | |||
Ulti | So I'm getting 'Parameter '$self' expected a writable container, but got Str value' in a regex substitution I notice there was a previous bug report that looks similar (I have an _ in my substitution too) irclog.perlgeek.de/perl6/2015-09-26#i_11278343 | 09:51 | |
might just be I'm being dumb | |||
timotimo | right, perhaps forgot to put the string into a variable first or something? | ||
Ulti | say $line ~~ s:sigspace/CREATE INDEX \"/CREATE INDEX \""$table_name"_/; | ||
is the line | |||
timotimo | hm, looks correct | ||
jnthn | .tell nine The "# Rakudo prohibits calling .accept in a different thread to the one opening the connection" bit is something I want to address pre-Christmas, I think. But I agree on the missing .close | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
09:52
ely-se left
09:56
llfourn joined,
ely-se joined
|
|||
jnthn | lizmat: re 70a94d9d2b I'd maybe have gone with Iterable:D instead of List:D: for the first multi-candidate there | 09:57 | |
lizmat | ok | ||
will change and spectest soonish | 09:58 | ||
jnthn | Cool | ||
Otherwise looks fine | |||
Though I wonder if we should just single-arg-rule await instead... | |||
lizmat | ok, will try that as well... | ||
masak just learned about stableperl | |||
has that been discussed here on #perl6? | 09:59 | ||
lizmat | well, one shouldn't mention the one who shouldn't be mentioned :-) | ||
masak: how would that apply to Perl 6 ? | |||
masak | there's a tenuous connection: that of discussions of stability, deprecations, and backwards-compat | 10:00 | |
10:00
llfourn left
|
|||
masak | but if there's nothing for us to learn from whatever's going on in p5-land, then let's just pretend I didn't mention it ;) | 10:00 | |
jnthn | lizmat: One day, somebody will disagree strongly with $perl6-pumpking about something and decided to fork off instead. :) Such is open source. | ||
lizmat | well, I think we *have* learned from it | 10:01 | |
btyler | from a peanut gallery perspective, stableperl is just a sign of "no matter how much effort you invest in back compat, someone will always disagree about which bits of the internals are public API, and get annoyed when they change" | ||
lizmat | P6 is utterly customizable | ||
masak .oO( we don't fork -- we slang! ) | |||
lizmat | right! | ||
jnthn | lizmat: We're still plenty vulnerable. We've plenty of things we consider implementation details that somebody *could* come to depend on. And we don't yet have the testing infrastructure Perl 5 does to catch them as early as we'd like. | 10:02 | |
lizmat | in P6, stableperl would just be YAM (Yet Another Module) | ||
10:02
Ven left
|
|||
lizmat | well, I started moving things to Rakudo::Internals | 10:02 | |
and if you're using nqp, you're bound to internals anyway | |||
but yes, people will find internals, use them, and complain when they're changed | 10:03 | ||
masak | there's also a connection because this (panic) blog post mentions "emigrat[ing] to [Perl 6]": blogs.perl.org/users/xiaoayfeng/201...uture.html | ||
lizmat | such is life | ||
jnthn | Not bound to, but will quite possibly get your module broken by said bond at some point. | ||
btyler | but it seems likely that people will write some things in nqp, because performance | ||
10:03
hohoho joined
|
|||
jnthn | *Not only bound to | 10:03 | |
masak | I think what's going on with p5 forks is not ideal, but maybe a net positive in the long run | 10:04 | |
btyler | masak: I think it might look like a bigger event than it is. I'm not sure any of the p5 forks are getting much serious attention yet | 10:05 | |
jnthn | Wow, I take a day off and y'all get loads done :) | ||
mrf | jnthn: thus the only answer is to take more days off right? | 10:06 | |
jnthn | Well, next week I'm going for honeymoon, so will have a *week* off. Mebbe I'll come back and find Christmas came early ;) | ||
mrf | jnthn: I think thats wishful thinking. You would need to take at least *2" weeks off :D | 10:07 | |
masak .oO( honey-week ) | |||
10:09
Ven joined
|
|||
jnthn | lizmat: I just saw 7003c7a52058a47 ("Give MapIterator its own fast sink-all") and nearly had heart failure. :P I think it's actually giving *HashIterator* one? :) | 10:10 | |
lizmat | jnthn: don't think so, in any case it spectests clean... | 10:12 | |
but will also look at that :-) | |||
jnthn | lizmat: sink-all on a MapIter *has* to iterate, otherwise for loops would do nothing :) | ||
lizmat | yes, which basicallly means it doesn't give HashIterator a sink-all | 10:13 | |
in any case, maybe MapIterator is a bad name :-) | |||
jnthn | Oh...my, *that* Map | ||
bah! | |||
Yes, maybe just maybe :) | |||
.oO( Which idiot suggested calling that type Map...oh, me! ) |
10:14 | ||
masak | we have MapIter and MapIterator, and they're largely unrelated? | ||
lizmat | yeah... | ||
jnthn | masak: Thankfully, not publicly visible. :) | ||
masak | but still, confusing and not ubiq lang | ||
lizmat | I'll rename MapIterator to something less confusing (I hope :-) | ||
jnthn | But yeah, just 'cus it's internals doesn't mean we should confuse ourselves :P | ||
.tell nine 86731df15f works for the anon case, but not the "two different lexical roles called A" case, I think. | 10:16 | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
ShimmerFairy | Just rename them all to "Internal_" ~ rand , that'll help :P | ||
jdv79 wonders if there will come a day soon where its impractical to backlog | 10:18 | ||
yoleaux | 9 Oct 2015 20:44Z <_itz_> jdv79: sorry for the deplay in adding your RSS feed, I've been away from the computer but it's added now | ||
jdv79 | i feel like its taking longer and longer | ||
jnthn skipped yesterdays, and read commit logs instead :) | 10:19 | ||
lizmat: I guess nobody designed a module pre-comp solution while I took the day off? :) | |||
lizmat | jnthn: no, because I think we want to know *your* ideas about what I wrote in my CURLI gist | 10:20 | |
jnthn | :) | 10:21 | |
nine | timotimo: ah I think I understand. Will have a look. | 10:24 | |
yoleaux | 09:51Z <jnthn> nine: The "# Rakudo prohibits calling .accept in a different thread to the one opening the connection" bit is something I want to address pre-Christmas, I think. But I agree on the missing .close | ||
10:16Z <jnthn> nine: 86731df15f works for the anon case, but not the "two different lexical roles called A" case, I think. | |||
10:25
Hor|zon joined
|
|||
jnthn figures he'll finish up the last bit of the case change work first | 10:26 | ||
Ulti | m: say "A" ~~ s:s/A/B/; | 10:29 | |
camelia | rakudo-moar 70a94d: OUTPUT«Parameter '$self' expected a writable container, but got Str value in block <unit> at /tmp/0nIa5xP17A:1» | ||
Ulti | m: my $var = "A"; say $var ~~ s:s/A/B/; | ||
camelia | rakudo-moar 70a94d: OUTPUT«「A」» | ||
10:30
Hor|zon left,
Ven left
|
|||
jnthn | Those two are correct; foo ~~ s expects to update foo | 10:31 | |
Error might be better, though | |||
Having is rw and non-rw distinguishable by multi-dispatch is in my todo list | 10:32 | ||
So it'll be eaiser to add a fallback that gives a good error soonish | |||
m: say say "A" ~~ S:s/A/B/; | |||
camelia | rakudo-moar 70a94d: OUTPUT«FalseTrue» | ||
jnthn | m: say "A" ~~ S:s/A/B/; | ||
camelia | rakudo-moar 70a94d: OUTPUT«False» | ||
Ulti | yeah so if I do an 'is rw' on the for loop thats doing .lines I get the error there | ||
jnthn | Ulti: is copy | 10:33 | |
Ulti | that would explain why a copy of the var works :D | ||
jnthn | As in "give me my own mutable copy of this" :) | ||
10:33
brrt left
|
|||
Ulti | thanks | 10:33 | |
nine | jnthn: so relying on WHICH for === is just a bad idea or .WHICH should give a better result. Don't know enough about WHICH yet. | 10:34 | |
lizmat | nine: .WHICH is supposed to return an ObjAt | 10:36 | |
perhaps we need a smarter === for ObjAt's | |||
jnthn | nine: .WHICH should give a better result | 10:37 | |
ObjAt is...not the most ideal thing at present | |||
jnthn suspects ObjAt needs a constructor that takes a type along with other things that should be factored in to the identity | 10:38 | ||
Where the type is the .WHAT of the thing in question | |||
10:38
rurban left
|
|||
nine | And I guess an infix:<===> candidate for ObjAts? | 10:39 | |
That way we can still stringify the ObjAt to a readable type name while considering the objectid of the type object for === comparison | 10:40 | ||
jnthn | I don't think we should expect ObjAt to stringify to anything interesting at all; that's really an implementation detail | 10:41 | |
We'll want to swtich it over to producing an integer hash code later | |||
10:41
espadrine joined
|
|||
nine | ok | 10:41 | |
10:44
RabidGravy left
10:45
Erendis42 joined
10:47
mattprelude joined
10:51
llfourn joined,
Hor|zon joined
|
|||
masak | what's the expected semantics/laws of ObjAt? comparing two for equality, I guess. anything else? | 10:51 | |
10:53
bpmedley joined
11:03
jocom left
|
|||
literal | @foo[*-1] seems really unintuitive compared to @foo[-1]. So you're passing a function that does "whatever minus 1". So I'd expect [*-1] to give me the element at index 1 (so the 2nd element), but it just gives (Any). Then what was being subtracted in *-1 ? | 11:09 | |
s/expect [*-1]/expect [*+1]/ | |||
timotimo | huh? | ||
the * gets the length of the list | |||
and it's a nice thing to have in general, because now you get things like @values[* div 2] and such | 11:10 | ||
leont | I have a Seq $foo, if I do «for @$foo { last }» it seems to eagerly evaluate it, that isn't what I expected :-s | ||
literal | ah, sorry, I was confused there | ||
leont | (or would the problem be in my code, it might be) | ||
literal | but seems weird when compared to @foo[*] (which gives you the full list), but I guess that's because in that case the star means something different than the whatever-star | 11:11 | |
timotimo | mhm, though i think you'd rather want to spell that @foo[] instead | ||
literal | of course | 11:12 | |
but is the @foo[*] result intentional? | |||
jnthn | leont: It may well be that the @ there shoves it into a List, caching the values, and a List is allowed to "work ahead" | ||
leont: If you're going to keep Seqs around then it's best to keep them in sigilless vars that don't imply any context on them | |||
11:12
thou joined
|
|||
jnthn | Then you can just for foo { last } which will consume the Seq without caching its contents | 11:12 | |
Yeah, seems TimToady decided the @ contextualizer would do .cache | 11:13 | ||
11:14
CurtisOvidPoe left
|
|||
leont | But how do I use a gather/take lazily then? | 11:14 | |
lizmat | leont: if you slip the Seq ? | ||
timotimo | m: my $foo = lazy gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for $foo { .say; last } | ||
camelia | rakudo-moar 70a94d: OUTPUT«(...)» | ||
timotimo | m: my $foo = lazy gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for $foo { .say; last if Bool.pick } | 11:15 | |
camelia | rakudo-moar 70a94d: OUTPUT«(...)» | ||
timotimo | m: my $foo = lazy gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for $foo { .say; last if Bool.pick } | ||
camelia | rakudo-moar 70a94d: OUTPUT«(...)» | ||
timotimo | hum? | ||
jnthn | timotimo: sigilless | ||
timotimo: for $foo { } is always one item | |||
timotimo | m: my foo = lazy gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for foo { .say; last if Bool.pick } | ||
camelia | rakudo-moar 70a94d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/atVlIL1l5BMalformed my (did you mean to declare a sigilless \foo or $foo?)at /tmp/atVlIL1l5B:1------> 3my foo7⏏5 = lazy gather { take 1; say "one"; take» | ||
timotimo | right of course | ||
m: my \foo = lazy gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for foo { .say; last if Bool.pick } | |||
camelia | rakudo-moar 70a94d: OUTPUT«1one2two3three» | ||
timotimo | m: my \foo = lazy gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for foo { .say; last } | ||
camelia | rakudo-moar 70a94d: OUTPUT«1» | ||
timotimo | there we go | ||
leont: ^- lazy gather | |||
m: my \foo = gather { take 1; say "one"; take 2; say "two"; take 3; say "three"; }; for foo { .say; last } | |||
camelia | rakudo-moar 70a94d: OUTPUT«1» | ||
jnthn | I don't think you need the lazy there | ||
timotimo | you're right | ||
11:15
cyg07 joined
|
|||
timotimo | do i need to spell it "lazy gather" if i want to put it into a @ var? | 11:16 | |
jnthn | Yeah | ||
leont | I'm returning the lazy gather from a sub, it doesn't seem to be working :-s | ||
timotimo | what do you put/bind it into? | 11:17 | |
11:17
thou left,
awwaiid joined
11:19
dayangkun left
|
|||
llfourn | is there any reason p6 docs hasn't s/EnumMap/Map/ yet? | 11:20 | |
11:22
cognominal joined,
cygx joined
|
|||
cygx | o/ | 11:22 | |
m: sub MAIN($arg, *%flags) {} | |||
camelia | rakudo-moar 70a94d: OUTPUT«Usage: /tmp/XhOhInS31h =<Associative> <arg> » | ||
timotimo | how do you pronounce your name, cygx? | 11:23 | |
cygx | as written :p | ||
timotimo | zügiks | ||
11:24
ely-se left
|
|||
cygx | s/i// | 11:24 | |
leont | Tried various things, possibly my logic is broken | 11:27 | |
11:27
chenryn_ left
|
|||
leont | github.com/Leont/path-iterator/blo...r.pm6#L186 | 11:28 | |
timotimo | probably depends on how you use that function? | 11:29 | |
11:30
edehont left
|
|||
dalek | p: 1a9207c | jnthn++ | src/vm/jvm/QAST/Compiler.nqp: On JVM, map nqp::tc to nqp::uc for now. Means we can use nqp::tc in Rakudo without breaking the JVM build. |
11:32 | |
leont | Ah, it seems my testing code was broken, not the actualy code itself. D'oh! | 11:33 | |
jnthn | Quis custodiet ipsos custodes? :) | 11:34 | |
leont | jnthn: funny you say that today, it's exactly 30 years after the start of Watchmen today ;-) | ||
masak | jnthn: did you look that one up in one of our courses? :P | ||
jnthn | masak: Remembered it from one of our courses :P | 11:35 | |
leont | (and those happen to be the very last words of the book) | ||
masak | jnthn: you *remembered* it? kudos. | ||
jnthn | masak: Yeah, but I'm sure my pronunciation of it is awfully wrong :) | ||
masak | jnthn: of course. you're British. | ||
timotimo | as long as you're not pronouncing your latin like an american or brit would :) | ||
leont | There is no right pronounciation of Latin, it's a dead language… | ||
masak | the British has the worst Latin pronunciation of all peoples of the Earth, hands down. | ||
jnthn | On the upside, Latin's a pretty great language to speak wrong 'cus there's no native speakers around any more to correct me :D | ||
masak | leont: well, except for the Living Latin movement... :) | 11:36 | |
timotimo | just try to get rid of the diphtongs | ||
11:36
rurban joined,
AlexDaniel joined,
kjs_ left
|
|||
leont | masak: I know they exist, a friend of a friend of mine was apparently raised bilingual English-Latin, which I think is somewhat hilarious | 11:36 | |
dalek | p: 6ac0c44 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for NFG/casefold integration. |
||
11:37
frithnanth joined
|
|||
masak | leont: I studied Latin for two semesters. it's a good language to know. it often struck me how many English words are basically complicated/distorted loans from Latin, with an unnecessary prefix glued on to the Latin word. | 11:38 | |
like Latin "paro" -- "I prepare". | |||
there's half a dozen examples like that. | |||
dalek | kudo/nom: 362f0b5 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for case-folding bits. |
||
kudo/nom: 06fef86 | jnthn++ | src/core/Str.pm: Make .tc actually use the nqp::tc op. So it actually, y'know, titlecases. |
|||
DrForr_ | Unless you've watched Harry Potter :) | ||
11:38
frithnanth left
11:39
kid51 joined
|
|||
masak | DrForr_: have you seen the HPMoR deliberations around... "wingardium leviosa"? :P | 11:39 | |
dalek | ast: d87b60f | jnthn++ | S15-nfg/case-change.t: Unfudge NFG/casefold integration tests. |
||
DrForr_ | *cough* Neeeeeeeerd! :) | ||
dalek | ast: 57bff55 | jnthn++ | S32-str/tc.t: Unfudge .tc tests we now pass. |
11:41 | |
masak | DrForr_: stipulated. | ||
leont | masak: I've studied Latin (4 semesters) and Old Greek (one semester), I know their uses, but raising a child in either is another matter | 11:42 | |
masak | indeed | ||
leont 's first high school was a classically oriented one, I learned that 6 languages at the same time was too much for me :-/ | 11:43 | ||
11:43
hohoho left
|
|||
moritz | zikes | 11:43 | |
*yikes | |||
ShimmerFairy | jnthn: for the record I'm still a bit uncomfortable with how nqp::tc and Str.tc act differently, as well as the fact that .tc is different in behavior from .uc and .lc | 11:44 | |
jnthn | ShimmerFairy: TimToady++ gets to design Str.foo, I get to design nqp::foo ;) | 11:45 | |
moritz | m: say 's'.tc | 11:46 | |
camelia | rakudo-moar 70a94d: OUTPUT«S» | ||
moritz | m: say 'ß'.tc | ||
camelia | rakudo-moar 70a94d: OUTPUT«SS» | ||
moritz | m: say 'ßable'.tc | ||
camelia | rakudo-moar 70a94d: OUTPUT«SSable» | ||
jnthn | moritz: ^^ is the one I just fixed and unfudged tests fro :) | ||
*for | |||
moritz | :-) | ||
11:47
tokuhirom joined
|
|||
jnthn | ShimmerFairy: But more seriously: we could arguably make nqp::tc do exactly what .tc does, but from a composability perspective it's quite cheap to get the Perl 6 .tc behavior out of the current nqp::tc one, but getting the current nqp::tc behavior out of the Perl 6 .tc method semantics would be costly. | 11:47 | |
ShimmerFairy: So I'm inclined to leave it as it is | |||
ShimmerFairy | jnthn: btw, I think nqp::tc() (titlecase every character) is more correct and consistent :) | 11:48 | |
moritz | ShimmerFairy: tell that to TimToady | ||
jnthn | Sure, well, we tend to push consistency harder at the VM level than DWIM. The Perl 6 choice for .tc is probably, tbh, the more useful one for msot people. | ||
ShimmerFairy | I agree it's likely more useful, it just also happens to be one of those things where you can't help but wonder when you take a look at it :) | 11:49 | |
11:50
kid51 left
11:51
timbunce_ joined,
Fluor joined,
tokuhirom left
11:52
timbunce_ left
|
|||
jnthn | OK, I'm done with CaseFolding and SpecialCasing and their integration with NFG :) | 11:52 | |
Think that gets us down to 1 outstanding Unicode-related issue before xmas, which is the NFG algo change. | 11:53 | ||
But I'm going to care about the module stuff a bit before taking that one on. | |||
lunch & | |||
vytas | m: say xBB.WHAT | 11:56 | |
camelia | rakudo-moar 70a94d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qD5uBmK_tMMissing « or »at /tmp/qD5uBmK_tM:1------> 3say ».7⏏5WHAT» | ||
11:57
loren joined
|
|||
cygx | how should the MAIN usage message for slurpy hashes look? | 11:59 | |
we have [--opt=<Any>] and [<slupy> ...], maybe something like [--<flags...>=...] | |||
or just [--<flags>=...] | 12:00 | ||
12:00
travis-ci joined
|
|||
travis-ci | Rakudo build failed. TimToady 'allow alphabetic version components' | 12:00 | |
travis-ci.org/rakudo/rakudo/builds/84814691 github.com/rakudo/rakudo/compare/5...6d88e50aba | |||
12:00
travis-ci left
12:04
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Unbreak Baggy.kv | 12:04 | |
travis-ci.org/rakudo/rakudo/builds/84814736 github.com/rakudo/rakudo/compare/d...5dda30a45a | |||
12:04
travis-ci left
12:05
cyg07 left
12:06
Woodi left,
Woodi joined
12:07
bjz left
|
|||
loren | m: my &f := &substr.assuming('hello world'); say f(0, 3); | 12:07 | |
camelia | rakudo-moar 70a94d: OUTPUT«hello world» | ||
loren | Seems like not correct. | 12:09 | |
moritz agrees | 12:12 | ||
m: my &f := &substr.assuming(*, 0); say f 'hello world', 3 | |||
camelia | rakudo-moar 70a94d: OUTPUT«hello world» | ||
12:14
colomon joined
|
|||
colomon | loren: … huh | 12:15 | |
12:15
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Tobias Leich 'add await candidate that catches non-awaitables' | 12:15 | |
travis-ci.org/rakudo/rakudo/builds/84827710 github.com/rakudo/rakudo/compare/b...5ea62d5273 | |||
12:15
travis-ci left
|
|||
colomon | m: say substr(“hello world”, 0, 3) | 12:15 | |
camelia | rakudo-moar 70a94d: OUTPUT«hel» | ||
loren | haha .. | ||
It's oblivious right.. | 12:16 | ||
12:16
TEttinger left
12:17
ely-se joined,
bjz joined
|
|||
loren | m: my &f := &substr.assuming('hello world'); say f(0, 2); | 12:17 | |
camelia | rakudo-moar 70a94d: OUTPUT«hello world» | ||
moritz | m: say &substr.assuming('hello world')(0, 2) | 12:18 | |
camelia | rakudo-moar 70a94d: OUTPUT«hello world» | ||
moritz | wtf (the "w" stands for "weird", here) | ||
moritz would have thought we had tests for assuming | |||
m: sub my-substr(*@a) { substr |@a }; say &my-substr.assuming('hello, world')(0, 3) | 12:20 | ||
camelia | rakudo-moar 70a94d: OUTPUT«hello, world» | ||
moritz | m: sub my-substr(*@a) { substr |@a }; say &my-substr.assuming('hello, world')() | ||
camelia | rakudo-moar 70a94d: OUTPUT«Cannot call substr(Str); none of these signatures match: (Str:D \what, Int:D \start) (Str:D \what, \start) (Str:D \what, Int:D \start, Int:D \want) ($what, \start, $want?) in sub my-substr at /tmp/6Vcs9I232W:1 in sub __PRIME…» | ||
FROGGS | m: my &f := &substr.assuming('hello world'); say &f.signature | ||
camelia | rakudo-moar 70a94d: OUTPUT«(|_ is raw)» | ||
moritz | m: sub my-substr(*@a) { substr |@a }; say &my-substr.assuming('hello, world')(3) | ||
camelia | rakudo-moar 70a94d: OUTPUT«lo, world» | ||
loren | m: my &f := &substr.assuming('hello world'); say f(2, 3); | ||
moritz | m: sub my-substr(*@a) { substr |@a }; say &my-substr.assuming('hello, world')(0, 3) | ||
camelia | rakudo-moar 70a94d: OUTPUT«llo world» | ||
rakudo-moar 70a94d: OUTPUT«hello, world» | |||
moritz | m: sub my-substr(*@a) { substr |@a }; say &my-substr.assuming('hello, world')(1, 3) | ||
camelia | rakudo-moar 70a94d: OUTPUT«ello, world» | ||
moritz | so it only passes one more argument on to the original function? | 12:21 | |
FROGGS | maybe assuming does not work well with multies? | ||
moritz | m: sub d(*@x) { say @x.perl }; &d.assuming('a', 'b')('c', 'd', 'e') | ||
camelia | rakudo-moar 70a94d: OUTPUT«["a", "b", "c"]» | ||
loren | Maybe the implement ignore the second argument | ||
moritz | FROGGS: no | ||
FROGGS: it ignores anything from the second argument onwards | |||
FROGGS | m: multi f(1) {'a'}; multi f(1, 2) {'b'}; multi f(1, 2, 3) {'c'}; say &f.assuming(1)(2, 3) | 12:22 | |
camelia | rakudo-moar 70a94d: OUTPUT«b» | ||
FROGGS | m: multi f(1) {'a'}; multi f(1, 2) {'b'}; multi f(1, 2, 3) {'c'}; say &f.assuming(1)(2, 3, 4) | ||
camelia | rakudo-moar 70a94d: OUTPUT«b» | ||
FROGGS | wow | ||
moritz | who wants to write the bug report? | ||
masak submits rakudobug | 12:24 | ||
12:28
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Speed up Bag/BagHash/Mix/MixHash | 12:28 | |
travis-ci.org/rakudo/rakudo/builds/84832976 github.com/rakudo/rakudo/compare/b...32ddf302ba | |||
12:28
travis-ci left
|
|||
dalek | c: da16879 | (Lloyd Fournier)++ | lib/Language/modules.pod: added documentation for UNIT::EXPORT::* packages and made some minor clarifications |
12:29 | |
c: a8dcd11 | (Lloyd Fournier)++ | / (520 files): merging changes before push |
|||
moritz | 520 files touched | 12:30 | |
ah, probably merged in the lib -> doc rename | |||
llfourn | hmm sorry i think i just goofed that :\ | 12:31 | |
I merged from master and then committed and then pushed | 12:32 | ||
cygx sent github.com/rakudo/rakudo/pull/549 | |||
llfourn | and git said I was only changing one file... | ||
masak .oO( push the commit, they said. you've only changed one file, they said ) | 12:33 | ||
llfourn | I did git diff --stat --cached upstream/master to see what was changing (which I got from google) | 12:34 | |
Did I actually change that many files? o.o | |||
can someone clean that up for me and I'll redo that one | 12:35 | ||
I am now discovering that I understand git less than I thought | 12:36 | ||
loren | They said 'File renamed without changes' | ||
12:36
hohoho joined
|
|||
moritz | llfourn: all is fine | 12:37 | |
llfourn | "1 file changed, 69 insertions(+), 11 deletions(-)" is what they literally said | ||
moritz | llfourn: don't let masak or me confuse you | ||
12:37
travis-ci joined
|
|||
llfourn | moritz: ok I will stop panicking then | 12:37 | |
travis-ci | Rakudo build failed. TimToady 'switch to 'use v6b+;' notation' | ||
travis-ci.org/rakudo/rakudo/builds/84852330 github.com/rakudo/rakudo/compare/6...d1b4f5e004 | |||
12:37
travis-ci left
|
|||
llfourn | thanks! | 12:38 | |
moritz | llfourn: you changed one file, and then pulled in changes that renamed 520 files | ||
llfourn: and somehow the merge commit ended up being marked as renaming so 520 files | |||
llfourn: but that's just git being weird (or consistent) | |||
llfourn: thank you for your patch! | |||
llfourn | moritz: Yes I thought git would ignore that part of the commit | 12:39 | |
12:45
jkva left,
jkva joined
12:58
CIAvash left
13:00
thou joined
13:05
thou left,
rurban left
13:08
RabidGravy joined
|
|||
itz_stmuk | why was the lib->doc renaming done in the first place? | 13:13 | |
13:14
n0tjack joined
|
|||
moritz | itz_stmuk: so that we have a clearer distinction between code used in the repo (by htmlify and p6doc; in lib/) and the documentation | 13:15 | |
13:15
Ven joined
13:16
n0tjack left
13:17
n0tjack joined
|
|||
RabidGravy | it was somewhat confusing | 13:18 | |
itz_stmuk | why is that distinction needed? surely pod is pod .. it's broken things like p6doc -f | ||
RabidGravy is easily confused | 13:19 | ||
moritz | itz_stmuk: then we must fix p6doc | 13:20 | |
itz_stmuk: but it's very handy when doing a 'git grep', to see if stuff is documented (or used by the tools) | |||
itz_stmuk | an alternative would have been to split doc into supporting utils and docs proper | 13:21 | |
which wouldn't have created extra work | |||
moritz | you mean the splitting wouldn't have been work? | ||
moritz confused | |||
itz_stmuk | well less work IMO | 13:22 | |
leont | When was the push/unshift flattening change committed? | ||
PerlJam | Good morning #perl6 | ||
itz_stmuk | its also made p6doc-index probably twice as slow since it has to look in "lib" and "doc" directories | 13:23 | |
RabidGravy | leont, somewhere between a week and two weeks ago | 13:24 | |
itz_stmuk | unless you are proposing user module documentation also lives under "doc" rather than "lib" | ||
n0tjack | morning browser tab maintenance is now functionally mandatory | ||
RabidGravy | really need to get around to adding append/prepend to the Array docs | ||
n0tjack | m: (^10).append(6*^5); | 13:25 | |
camelia | rakudo-moar 06fef8: OUTPUT«Cannot call append(Range: Range); none of these signatures match: (Any:U \SELF: |values is raw) in block <unit> at /tmp/X4VT4eIrvU:1» | ||
n0tjack | m: say ^10; | 13:26 | |
camelia | rakudo-moar 06fef8: OUTPUT«0..^10» | ||
n0tjack | m: say 6*^5; | ||
camelia | rakudo-moar 06fef8: OUTPUT«0..^30» | ||
n0tjack | huh | ||
m: say (|^10).append(|6*^5); | |||
camelia | rakudo-moar 06fef8: OUTPUT«Cannot call append(Slip: Int); none of these signatures match: (Any:U \SELF: |values is raw) in block <unit> at /tmp/8nrsYH1NUq:1» | ||
PerlJam | n0tjack: "is raw" will foil you every time :) | 13:27 | |
n0tjack | m: say |(^10),(|6*^5); | ||
camelia | rakudo-moar 06fef8: OUTPUT«01234567895» | ||
n0tjack | PerlJam: what does "is raw" mean? | ||
TimToady | well, ranges are immutable, so you can't append to them | 13:28 | |
n0tjack | ahhh | ||
leont isn't getting what he observes. He has a list, he shift an entry from it. the entry and the list are identical when calling .perl on them. | 13:29 | ||
13:29
Ven left,
skids joined
|
|||
TimToady | m: 1,2 | 13:30 | |
camelia | rakudo-moar 06fef8: OUTPUT«WARNINGS:Useless use of constant integer 1 in sink context (line 1)Useless use of constant integer 2 in sink context (line 1)» | ||
moritz | m: my @a = [1, 2], 1, 2; my @shifted = @a.shift; say @shifted.perl: say @a.perl | ||
camelia | rakudo-moar 06fef8: OUTPUT«[1, 2]Cannot call perl(Array: Bool); none of these signatures match: (Mu:U $: *%_) (Mu:D $: *%_) (List:D \SELF: *%_) (Array:D \SELF: *%_) in block <unit> at /tmp/2SPlt2d00g:1» | ||
TimToady | m: $_++, 3 | ||
camelia | rakudo-moar 06fef8: OUTPUT«WARNINGS:Useless use of constant integer 3 in sink context (line 1)» | ||
13:31
travis-ci joined
|
|||
travis-ci | Rakudo build passed. jnthn 'Make .tc actually use the nqp::tc op. | 13:31 | |
travis-ci.org/rakudo/rakudo/builds/84901111 github.com/rakudo/rakudo/compare/7...fef86dfe62 | |||
13:31
travis-ci left
|
|||
moritz | m: my @a = [1, 2], 1, 2; my @shifted = @a.shift; say @shifted.perl; say @a.perl | 13:31 | |
camelia | rakudo-moar 06fef8: OUTPUT«[[1, 2],][1, 2]» | ||
n0tjack | TimToady: since we have implicit arithmetic distribution now in range notation, was any consideration ever given to making (1,2,3) * (4,5,6) "just work"? | 13:32 | |
TimToady | m: my @a = [1, 2], 1, 2; my @shifted = @a.shift.list; say @shifted.perl; say @a.perl | 13:33 | |
camelia | rakudo-moar 06fef8: OUTPUT«[1, 2][1, 2]» | ||
13:33
ely-se left
|
|||
PerlJam fetches the morning caffiene | 13:34 | ||
itz_stmuk | actually no p6doc doc whatever is installed .. | ||
TimToady | n0tjack: don't want to re-invent APL, so we require explicit hyper, X or Z for that, so that it's clear to the reader *how* the operator is to be applied | ||
itz_stmuk | moritz: is the target directory for the p6doc pod unchanged or also intended to be "doc"? | 13:35 | |
n0tjack | TimToady: that does make sense. | ||
of course I'm personally going to override all the arithmetic ops to distribute automatically... | 13:36 | ||
13:36
ely-se joined
|
|||
TimToady | well, probably the PDLers will too | 13:36 | |
13:37
tokuhirom joined
|
|||
TimToady | all is fair if you predeclare | 13:37 | |
n0tjack puts that on the QOTD list | |||
TimToady | but most mere mortals want their scalar ops they learnt in grade school to stay scalar | 13:39 | |
n0tjack | that's the problem with grade schools these days, no linear algebra | ||
13:41
tokuhirom left
|
|||
moritz | itz_stmuk: it's also meant to be "doc" | 13:45 | |
dunno if we install that directory yet | |||
itz_stmuk | its not installed .. it's not clear what mechanism is supposed to copy the files in place via the panda install | 13:46 | |
maybe its just a line in the META | 13:47 | ||
13:48
ely-se left,
Ven joined
|
|||
n0tjack | what are the orthographic rules for twigil-style variables? | 13:49 | |
sub foo {10*$^n}; sub unifoo {10*$^⍺}; | |||
m: sub foo {10*$^n}; sub unifoo {10*$^⍺}; | |||
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rq3WBqaUWAMissing required term after infixat /tmp/rq3WBqaUWA:1------> 3sub foo {10*$^n}; sub unifoo {10*$^7⏏5⍺}; expecting any of: prefix term» | ||
n0tjack | do they have to be ASCII? | 13:50 | |
moritz | .u ⍺ | ||
yoleaux | U+237A APL FUNCTIONAL SYMBOL ALPHA [So] (⍺) | ||
moritz | n0tjack: no, but they need to be identifier characters | ||
.u alpha | |||
yoleaux | U+0251 LATIN SMALL LETTER ALPHA [Ll] (ɑ) | ||
U+0252 LATIN SMALL LETTER TURNED ALPHA [Ll] (ɒ) | |||
U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS [Lu] (Ά) | |||
n0tjack | so if I use greek alpha, I'll be ok | ||
? | |||
moritz | m: { $^ɑ } | 13:51 | |
camelia | rakudo-moar 06fef8: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in block <unit> at /tmp/rNSAnMpFuw:1» | ||
moritz | m: { $^ɑ }(1) | ||
camelia | ( no output ) | ||
moritz | n0tjack: yes | ||
n0tjack | cool | ||
does that apply to subs as well? | |||
moritz | aye | 13:52 | |
n0tjack | boo, sensible restrictions | ||
13:58
thou joined
14:01
ab6tract left
14:03
Ven left
|
|||
Zoffix | moritz, it's EXTENDED_TESTING based on this document: github.com/Perl-Toolchain-Gang/too...nsensus.md (RE: <moritz> in p5, there's an environment variable that's commonly used for tests that must be able to access the Internet, no?) | 14:03 | |
if true, the user or process running tests is willing to run optional tests that may take extra time or ***resources*** to complete. | 14:04 | ||
14:04
rindolf left
|
|||
moritz | Zoffix: thanks | 14:05 | |
14:05
rurban joined
|
|||
moritz | commented in github.com/sergot/http-useragent/issues/83 | 14:06 | |
14:09
khw joined,
cygx_ joined,
eliasr left
|
|||
lizmat | jnthn: would it be an idea to nqp:sha all the keys/values of a Set/Bag/Mix to create a .WHICH value ? | 14:11 | |
n0tjack | m: .u 'quote' | ||
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mwfg91HZGKTwo terms in a rowat /tmp/mwfg91HZGK:1------> 3.u7⏏5 'quote' expecting any of: infix infix stopper statement end statement modifier …» | ||
jnthn | lizmat: Nah, there are far cheaper hashing algos | ||
n0tjack | m: .u quote | ||
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WgrADX8rWGTwo terms in a rowat /tmp/WgrADX8rWG:1------> 3.u7⏏5 quote expecting any of: infix infix stopper statement end statement modifier …» | ||
lizmat | jnthn: any available in nqp ? | ||
jnthn | lizmat: The problem is a bit deeper though | ||
lizmat: No, but the cheap ones are just a handful of integer ops, which we can JIT plenty fast enough | 14:12 | ||
lizmat: But we can't do that yet | |||
Because ObjAt isn't just about hashing, it's about identity | |||
14:12
cygx left
|
|||
lizmat | ok, scratch that idea then :-) | 14:12 | |
14:14
Ven joined
|
|||
[Coke] | (writing things in nqp) someone asked on SE about that, tried to steer them away from nqp. | 14:19 | |
er, SO. | |||
TimToady | debugging nqp can be...time consuming... | 14:20 | |
14:21
Ven left
|
|||
lizmat | yeah, been spending most of today working on Bag/Mix etc, only to have it hang in the optimizer now :-( | 14:21 | |
arnsholt | Holy crap, yeah. NQP error reporting is special =) | ||
[Coke] updates his answer to that question to mention the more 'internals' style nature of nqp. | |||
14:22
crncosta joined
14:24
Ven joined
|
|||
itz_stmuk | moritz: github.com/tadzik/panda/pull/233 is one solution to the p6doc pod installation problem | 14:25 | |
tadzik | I thought panda does that! | ||
weird! | |||
[Coke] | moritz: I wasn't trying to change anything installed about perl6-doc; I was trying to clean up the -source- of the repository. | 14:27 | |
jnthn | NQP error reporting would no doubt be better if somebody spent some time improving it :) | 14:28 | |
[Coke] | So I don't mind if we chat about what is supposed to get installed where now, or if we break the rule in the -source- for perl6-doc and keep lib for pod-for-docs, and real-lib (or whatever) for our source code lib. | ||
itz_stmuk | I think "lib" as target is prefered to "doc" and core docs shouldn't be special cased | 14:29 | |
[Coke] | jnthn: I am happy to consider anything in nqp:: from rakudo space (and therefore all of nqp) as internals. (and therefore we're able to change it to suit our needs) | ||
again, my change was intended to be for source, not target. | |||
itz_stmuk | ok | 14:30 | |
14:30
Aww left
|
|||
itz_stmuk | so how does it get to the target? | 14:30 | |
[Coke] | I have no idea. I never installed there. | 14:31 | |
I only ever used perl6-doc to build the html site. | |||
itz_stmuk | one Awful Hack might be to use sym links :) | ||
[Coke] | so, we need to keep perl6-doc source and docs separate. I'm open to discussion on the best way to make that happen. | ||
doesn't work on windows, nonstarter. | |||
itz_stmuk | oh yeah | ||
[Coke] | there isn't an install target in perl6-doc, so what are you doing? | 14:32 | |
lizmat | m: use nqp; my $a := nqp::hash(); sub a(Mu \h) { nqp::iterator(h) }; a $a # jnthn shouldn't this just work ? | 14:33 | |
camelia | rakudo-moar 06fef8: OUTPUT«Cannot iterate object with P6opaque representation in sub a at /tmp/tGUoKsvHDH:1 in block <unit> at /tmp/tGUoKsvHDH:1» | ||
jnthn | [Coke]: Yes, I think for the time being that's the way to go. Though in reality the nqp:: opset has undergone quite a lot less churn than Perl 6 itself :) | ||
itz_stmuk | "panda install" doesn't install the p6doc pod | ||
jnthn | lizmat: No, because NQP objects passed to parameters get hllized | ||
lizmat: So it becomes a real perl 6 hash | 14:34 | ||
lizmat | *sigh* | ||
ok | |||
14:34
virtualsue joined
|
|||
tadzik | itz_stmuk: yeah, looks like it got removed over time for some reason | 14:35 | |
itz_stmuk: I can remember it being there though, I think I'll look through commit log and check if maybe someone commented on it while removing it | |||
itz_stmuk | ah the plot thickens! | 14:36 | |
[Coke] | tadzik: the installed docs? Yes, I broke that. :) | ||
14:36
Ven left
|
|||
skaji | how about preparing Build.pm to install p6doc? | 14:36 | |
tadzik | [Coke]: oh, why? :) | ||
[Coke] | because I had no idea that anyone was doing that. | ||
tadzik | fair enough :) | 14:37 | |
[Coke] | I was trying to fix the perl6-doc -source- | ||
tadzik | itz_stmuk: so now p6doc expects that? | ||
[Coke] | we were treating docs and internal modules as the same thing. I split them out. | ||
itz_stmuk | tadzik: the suggested panda change is one way of fixing p6doc pod install | 14:38 | |
tadzik | ah | ||
[Coke] | there should be a perl6/doc ticket to track this issue. | ||
tadzik | well, if't is specificaly for p6doc then I'd rather have it have its Build.pm | ||
itz_stmuk | well it also seemed wrong that p6doc doc should be a special case | ||
tadzik | once panda gets it then we need to consider speccing it too | ||
the idea was that modules would have docs embedded in code | 14:39 | ||
[Coke] | itz_stmuk: perl6-doc is a special case, though. | ||
tadzik | mostly | ||
FROGGS | Zoffix: I'm just installing your (P5) JavaScripdt::Minifier for $work :o) | 14:40 | |
itz_stmuk | [Coke]: what's your suggested solution for pod installation? | ||
FROGGS | Zoffix++ # thank you | ||
14:41
Ven joined
|
|||
[Coke] | itz_stmuk: "make the install work like it did before" | 14:41 | |
Zoffix | FROGGS, I'm just a maintainer and I wouldn't use it, because there's a bug :) There's JavaScripdt::Minifier::XS that should work (though it does have XS) | ||
[Coke] | but that doesn't mean "revert the repository to the way it was before" | ||
FROGGS | Zoffix: what kind of bug? | 14:42 | |
Zoffix | FROGGS, github.com/zoffixznet/JavaScript-M...r/issues/2 | ||
[Coke] | if we can make a build.pm target for installation (because we're really installing docs, not our own code), then that's great. then the source follows the conventions (our own code goes in lib for building and running things), and we keep the installed version happy. | ||
14:42
tokuhirom joined,
Erendis42 left
|
|||
Zoffix | FROGGS, and the original author is adamant that buggy behaviour should be left there because they rely on it (???)... so even if I had the technical ability to fix it, it'd likely be politically unfeasible to fix it :) | 14:43 | |
FROGGS | O.o | ||
Zoffix | My whole takeover of that module was very strained. As the author forgot they gave comaint to someone else and were then shocked I received comaint from that other person. | 14:44 | |
itz_stmuk | ok so a Build.pm in p6doc which copies "doc" to "lib" (as before) | ||
FROGGS | heh | ||
[Coke] opens github.com/perl6/doc/issues/157 | 14:45 | ||
itz_stmuk: but also probably doesn't install lib. | 14:46 | ||
(our source copy) | |||
because I don't think we need to install any of the helper classes we use to build the html site, e.g. | |||
14:46
ely-se joined,
tokuhirom left
|
|||
FROGGS | Zoffix: ewww, it does not even minify... before the js code is 55687 chars, and afterwards 55679 | 14:47 | |
Zoffix | lol | ||
[Coke] | btw, I wonder if our html profile will get any kind of speedup by using smaller names for things in the json data structure. | 14:48 | |
that's got to add up at the sizes we're dealing with. | |||
Zoffix | FROGGS, this one should be OK: metacpan.org/pod/JavaScripdt::Minifier::XS | ||
FROGGS | Zoffix: thanks | 14:49 | |
Zoffix | I use a module built on top of it and so far don't see issues. | ||
However, I think I was able to get a bit more minification using an online tool than using this module. | |||
itz_stmuk | [Coke]: or just use a file compression module in the web server | 14:50 | |
14:50
muraiki joined
|
|||
Zoffix | We already do: "Content-Encoding: gzip". At least on the docs page | 14:51 | |
14:52
Ven left
|
|||
[Coke] | itz_stmuk: there is no web server. | 14:53 | |
I mean when running perl6 --profile | |||
14:53
g4 left
|
|||
Zoffix | ah | 14:53 | |
14:55
Ven joined,
ely-se left
14:56
chenryn_ joined,
Ven left
14:57
Ven joined
14:58
ely-se joined
14:59
Ven left
15:02
huf_ is now known as huf,
chenryn_ left
15:03
n0tjack left
15:04
pierrot joined
15:06
jkva left,
llfourn left
15:07
KCL_ joined
15:08
AlexDaniel left,
n0tjack joined
15:10
KCL left
15:18
Ven joined
15:21
Ven is now known as Guest87784
15:24
ely-se left
|
|||
n0tjack | it's 2015 and I still have to edit my homepage's HTML by hand and FTP it up. | 15:24 | |
that feels about as natural as dialing an actual number on an actual deskphone | 15:25 | ||
pink_mist did that just 3 minutes ago | |||
15:25
xfix joined
|
|||
arnsholt | A proper phone will generally have better sound than a mobile, mind | 15:25 | |
pink_mist | it's a cordless deskphone though, fwiw | 15:26 | |
n0tjack | I have a normal deskphone with a cordless headset, but the actual dialing now feels so archaic to me | ||
and there's no backspace key | |||
Zoffix | n0tjack, you don't *have* to, it's just the best way :) | ||
...to get what you want | |||
15:26
virtualsue left
|
|||
n0tjack | Zoffix: Well, technically, my webhost *does* allow me to edit HTML files through a web interface -- by dumping the files into a giant textarea and saying "have fun!" | 15:27 | |
Zoffix | I meant we have tools that autogenerate markup, but you lose some of the precision. The entire demo.xtatik.org/ is powered just by a few lines of code, for example :) | 15:28 | |
RabidGravy | but, but FTP! | 15:30 | |
n0tjack | that's a pretty nice framework | ||
Every year I tell myself I'll put some CMS in | |||
but then every year I tell myself I'll move to a better apt, too :) | |||
Zoffix | :P | 15:31 | |
15:33
hohoho left,
diana_olhovik_ left
|
|||
awwaiid | How unhappy does it make #perl6 if I never do "use v6;" ? | 15:34 | |
n0tjack | awwaiid: I imagine that would make perl5 unhappy | ||
PerlJam | awwaiid: I never do that either. | ||
15:34
Guest87784 is now known as Ven_
|
|||
n0tjack | but I think we're past the days when perl6 was considered a continuation / replacement for v5 | 15:34 | |
awwaiid | well my files are like .pm6 so I think perl5 won't mind | 15:35 | |
moritz | awwaiid: well, it doesn't make me unhappy, unless I want to read your code and it's wrongly syntax highlighted, or unless I run your code with p5 and get a crappy error message | ||
n0tjack | I don't think it's likely "perl" will ever be aliased to "perl6" | ||
15:35
edehont joined,
edehont left
|
|||
PerlJam | n0tjack: "Ever" is a long time. It could still happen eventually | 15:35 | |
15:36
edehont joined
|
|||
n0tjack | PerlJam: Sure, but I think there's been a philosophical shift over the last few years which has removed, or at least diminished, the motivation for doing that. | 15:36 | |
PerlJam | aye | ||
awwaiid | alright | 15:37 | |
well I can always put it in there later if I find a reason. thanks! | |||
n0tjack hides the fact that he literally typed "perl blah.p6" the other day and was baffled for like 2 minutes at the error message | 15:38 | ||
15:39
lichtkind joined
|
|||
awwaiid | heh | 15:40 | |
15:40
jkva joined
|
|||
n0tjack | how does the regex list-delimiting syntax % work in (a) a rule (i.e. with sigspace) and (b) where I want the delimiter to be whitespace? | 15:42 | |
15:43
FROGGS left
|
|||
n0tjack | in other words, if I want to create a grammar whose TOP is /[stuff ]+/, should I use a rule? | 15:43 | |
15:44
pierrot left
|
|||
RabidGravy | I tend to "use v6" for the reasons that moritz stated and also I personally don't like calling things '.p[lm]6' so it gives me a chance to recognize the perl 6 files | 15:45 | |
15:45
crncosta left,
Ven joined,
Ven_ left,
Ven left
15:46
pmurias joined
15:47
synbot6 joined
|
|||
PerlJam | n0tjack: sigspace handling is described at S05:1146 | 15:48 | |
synbot6 | Link: design.perl6.org/S05.html#line_1146 | ||
15:48
Ven joined
15:49
domidumont left
15:55
larion left
15:57
abraxxa left
|
|||
awwaiid keeps looking for a modula2 vs modula3 head-to-head comparison to analogize perl5 vs perl6 | 16:00 | ||
16:02
zakharyas left
16:03
user3 joined
16:05
user3 left
16:10
andreoss joined
16:11
loren left
|
|||
awwaiid | Can someone help me with simple module usage? gist.github.com/awwaiid/bc3e4f8d9352e35bb531 -- I was basing it off of some 2009 advent entry | 16:11 | |
n0tjack | PerlJam: gracias | 16:12 | |
moritz | awwaiid: "our sub hello" | 16:14 | |
awwaiid | iiinteresting | ||
PerlJam | awwaiid: subs are lexical in P6 | 16:15 | |
moritz | awwaiid: or "sub hello() is export { ... }" and then use the unqualified name | ||
awwaiid | yeah, I specifically want the qualified name in this case | ||
also the docs say that is export is supposed to work for modules not packages, but I think it works for packages | |||
(also) | 16:16 | ||
thanks moritz, that worked | |||
16:18
rurban left
16:23
ofzyh joined
16:24
virtualsue joined
16:25
^elyse^ joined
16:26
rurban joined
16:27
woodruffw left
16:28
woodruffw joined
|
|||
RabidGravy | awwaiid, afaik it works in package, module and class as they all create a "package" that can be exported from :) | 16:30 | |
16:30
jkva left
16:33
FROGGS joined
16:34
hohoho joined
|
|||
dalek | c: c90c919 | (Steve Mynott)++ | Build.pm: Fix the p6doc command line tool by installing pod in the usual place. This |
16:34 | |
16:36
leont left
16:38
Kogurr joined,
hohoho left
|
|||
[Coke] | steve++ | 16:39 | |
can probably close out #157 with that. | |||
RabidGravy | itz_stmuk++ # Weeeeeeeeeeeeeeeeee | ||
dalek | c: 30ef615 | (Steve Mynott)++ | Build.pm: oops |
16:40 | |
16:40
vendethiel joined
16:41
Larry joined
|
|||
Larry | Hello | 16:41 | |
16:41
Larry is now known as Guest77081
|
|||
Guest77081 | Any body here? | 16:41 | |
RabidGravy | nope | 16:42 | |
n0tjack | I'm not here. | 16:43 | |
dalek | c: 1361821 | (Zoffix Znet)++ | html/js/main.js: Autofocus on search on page start (Closes #156) |
||
Guest77081 | I'm here to say that Perl is ugly. | ||
n0tjack | I'm in the abstract space of arguing with p6 about the correctness of a grammar. | 16:44 | |
Ven | n0tjack: have you tried the debugger? :P | ||
n0tjack | it's like having a debate with a misshapen shadow on Plato's wall | ||
Ven | Guest77081: noted, thanks! | ||
16:44
ZoffixW joined
|
|||
ZoffixW | Guest72901, so? | 16:44 | |
n0tjack | Ven: Nope. I haven't used a proper debugger in a long, long time. My debugger is `say`. | ||
Ven | ZoffixW: wrong tab :) | ||
Guest77081 | I repeat, I'm here to say that Perl is ugly. | 16:45 | |
Ven | Guest77081: we noted it the first time, thank you! | ||
ZoffixW | Too many guests :) | ||
Ven | Yay, that's a working piece of Perl 6 code \o/. | ||
Guest77081 | ?? | ||
jnthn | n0tjack: Grammar::Tracer is like something that writes a lot of say statements for you :) | 16:46 | |
lizmat | .oO( ugliness is in the eye of the beholder ) |
||
n0tjack | oooh | ||
you're my best bud | |||
jnthn | (Just traces all the grammar rules you enter/exit, in a tree) | ||
Ven | Guest77081: what's wrong? You want a taste of Perl 6 as well? :-) | ||
ZoffixW | m: sub prefix:<¯\_(ツ)_/¯>($msg) { say $msg }; ¯\_(ツ)_/¯ “Perl is ugly? Who cares :D” | 16:47 | |
camelia | rakudo-moar 06fef8: OUTPUT«Perl is ugly? Who cares :D» | ||
Guest77081 | Because of excessive used of symbol/punctuation make your Perl code ugly. That's why its ugly. | ||
ZoffixW | Guest77081, yes, but it also makes the code very concise and expressive. | ||
Ven | Guest77081: Well, to each their own :). It's fine if you don't like it | 16:48 | |
lizmat | .oO( I guess you have to get used to it ) |
||
ZoffixW | Guest77081, so instead of typing preg_mach_return_array_or_whatever() you type ~~// | ||
16:48
eliasr joined
|
|||
Guest77081 | This should fix in Perl 6, Larry promised to fix that but he added more symbols in Perl 6 that make more worst, I think. | 16:48 | |
[Coke] | Guest77081: you're a little late to the party. You're welcome to use perl 6 as a base and add your own custom built slang on top of it, though. | 16:49 | |
ZoffixW | Guest77081, you should try Python. It's essentially executable pseudo code. | ||
[Coke] | anyway, have a good day. I hope you find a language you like! | ||
ZoffixW | Yeah :) | ||
\o/ | |||
Guest77081 | What Python? Its snake? | 16:50 | |
flussence | (unless you want to deal with strings, which have about a billion different quoting/formatting constructs in python 3.5) | ||
[Coke] | Guest77081: www.python.org/ | ||
RabidGravy | :-O | ||
tadzik | snaaake! Snaaaaaaaaakeee! | ||
Guest77081 | Stop trolling around :D | 16:51 | |
pink_mist | what's wrong with punctuation? almost every single language I know uses period, command, and semicolon almost exactly like perl6 does | ||
flussence | and T_PAAMAYIM_NEKUDOTAYIM! | ||
pink_mist | s/command/comma/ | ||
Guest77081 | Visual basic don't use semicolon | ||
pink_mist | VB is not a shining example of excellence | 16:52 | |
[Coke] imagines someone giving a perl 6 talk somewhere right now, and mentioning how nice the channel is, and someone in the presentation logging in as a Guest77081 to test it out. | |||
ZoffixW | lol :D Possibly :) | ||
RabidGravy | there are 9 different genera of pythonidae | 16:53 | |
n0tjack | jnthn: dude this is exactly what I'm looking for. And I love that just had to "use Grammar::Tracer" and that's it. | ||
jnthn | :) | 16:54 | |
Hope it helps you hunt the problem | |||
n0tjack | well, it's telling me I got the match i was expecting | ||
my problem is I'm not seeing that in the .perl of the Match object | 16:55 | ||
so I'm doing something silly | |||
Guest77081 | o_0 | ||
flussence | [Coke]: about the profiler output size, I noticed a while back the json is about 50-60% repeated string keys which are always in the same order, save for 2 optional nested structures in each object. They could probably all be arrays. | ||
unfortunately fixing that involves changing moarvm code, which is too scary for me | 16:56 | ||
n0tjack | Guest77081: (If (you (prefer (simplicity (to (expressiveness (you (can (always (use (Lisp))))))))) | ||
jnthn | flussence: Actually the serialization to JSON is done in NQP code...or at least, it was when I implemented the thing :) | ||
[Coke] | jnthn: you have any objection to flussence's suggestion there of converting from a hash to an array for some of the profiler data/ | ||
Guest77081 | Lisp is too old for that. | 16:57 | |
flussence | the serialization is, but it just iterates over a hash that comes from mvm-land | ||
n0tjack | too old for what? | ||
[Coke] | right, the DS in moarvm doesn't have to be updated, it's the rendered JSON that matters. | ||
flussence: right, we can keep a hash in mvm. | |||
n0tjack | you want a "new" Lisp, check out Clojure | ||
or use the Lisp that's been implemented in p6 ;) | |||
jnthn | [Coke]: Not really, though I've a hunch that the performance of the profiler UI is more related to what we do with the JSON rather than the JSON itself | 16:58 | |
[Coke] | n0tjack: I think you're missing some closing )s there. :P | ||
flussence | .oO( using Angular doesn't help :) |
||
Ven | Guest77081: clochure is great | ||
n0tjack | [Coke]: irssi's autocomplete leaves a lot to be desired | ||
^elyse^ | Ven: lol Clochure | 16:59 | |
jnthn | flussence: Well, it helped me write the UI so I had it in time for my presentation. :P But yeah. :) | ||
17:00
ZoffixW left
|
|||
RabidGravy | I'm not sure there's a lot of call for bracket matching in IRC clients | 17:00 | |
Guest77081 | Goodbye Perl 6. Maybe I use Clojure. :) | ||
pink_mist | enjoy | ||
RabidGravy | byeee have fun | ||
17:00
Guest77081 left
|
|||
RabidGravy | you just don't get the quality of troll these days | 17:01 | |
pink_mist | n0tjack: my irssi completes [Coke]'s nick just fine without needing to start it with [ fwiw | ||
jnthn | #perl6++ | ||
n0tjack | pink_mist: if I type C<tab>, I get camelia first, then have to cycle through a bunch to get to [Coke] | 17:02 | |
17:02
firstdayonthejob joined
|
|||
pink_mist | n0tjack: well alright I guess that's annoying =) | 17:02 | |
[Coke] | yah, sorry, someone had already grabbed Coke by the time I hit freenode. :) | 17:03 | |
17:03
pmurias left
17:05
larion joined,
Ven left
17:06
dakkar left
|
|||
n0tjack | well, I'm supposed to be notjack but I either I registered that nick and lost the pw, or in my long absence from IRC, someone grabbed it. | 17:08 | |
17:08
zacts joined
17:09
thou left
|
|||
n0tjack | Just a sanity check: I want "regex TOP { <number>* %% \s+ } | 17:12 | |
" to mean "a string consisting of any number of numbers (which I define later) separated by whitespace" | |||
am I off-base/ | |||
RabidGravy | seems alright to me | 17:13 | |
but my brain doesn't do regex | |||
n0tjack | I'm comfortable with regex, even the new p6 kind; I'm less familiar with the objects and structures around it, like Match objects and ASTs etc | 17:14 | |
Grammar::Tracer is telling me I have the matches I expect, but the Match object doesn't contain any tokens or pieces | 17:15 | ||
jnthn | n0tjack: Does it not point out any match failures at any point? | ||
n0tjack | no, it ends with MATCH | ||
and the Match is truthy | |||
but I'm not sure I'm being clear to p6 that I want it to give me the tokens it found. | 17:16 | ||
jnthn | Is it truthy without the tracer? | ||
n0tjack | let me check | ||
17:16
patrickz joined
|
|||
n0tjack | yes | 17:17 | |
17:20
thou joined,
Ch0c0late joined
|
|||
n0tjack | nm, it was me being dumb (twist ending, I know) | 17:22 | |
17:23
ZoffixW joined
|
|||
ZoffixW | I'm having trouble finding where sub MAIN is documented. Any hints? | 17:23 | |
moritz | ZoffixW: probably in the design docs and various blog posts only :/ | 17:24 | |
ZoffixW | Ah :( | ||
17:24
raiph joined,
kmel joined
|
|||
ZoffixW | This is good enough for me: perl6advent.wordpress.com/2010/12/...main-subs/ | 17:25 | |
lizmat | rakudo.org/2015/10/11/announce-wind...e-2015-09/ # FROGGS++ | ||
ZoffixW | What's JIT? | 17:26 | |
timotimo | just-in-time compiler | ||
lizmat | S99:JIT | ||
synbot6 | Link: design.perl6.org/S99.html#JIT | ||
ZoffixW | Thanks. | ||
n0tjack | ZoffixW: I'll warn you that my limited experience with sub MAIN tells me it's difficult to use it for MDM while at the same time having any kind of shared code between the multis | 17:27 | |
which isn't a problem if you don't mind a little repetition between the multis | |||
timotimo | what is MDM? | ||
17:28
jkva joined
|
|||
n0tjack | sorry, MMD | 17:28 | |
multi method dispatch | |||
17:28
cygx_ is now known as cygx
|
|||
timotimo | ah | 17:28 | |
17:28
raiph left
17:29
Peter_R joined
|
|||
n0tjack | I do think that will end up hampering the utility of multi sub MAIN | 17:29 | |
timotimo | i don't really understand what you mean there :( | 17:30 | |
17:31
jkva left
17:32
rurban left
|
|||
n0tjack | timotimo: multi sub MAIN(Int $i) {$result = $i + 17;}; multi sub MAIN(Str $s){$result = $s ~ " cheeses";}; # if i want to .say the result of any invocation of main, how do I do that, without expliciting repeating that .say in each of the implementations? | 17:32 | |
timotimo | you could put that into MAIN's proto | ||
n0tjack | timotimo: Yeah, but if you have MAINs which call other MAINs (i.e. you have a main MAIN), then you get repeated .says | 17:33 | |
timotimo | ah, good point | ||
n0tjack | it will be very common to have one multi MAIN call another | ||
17:33
Kogurr left
|
|||
timotimo | i agree | 17:33 | |
you can have a lexical outside the MAIN and with an END phaser output its value | |||
and update that from the MAIN subs | |||
n0tjack | timotimo: I was wondering if I could use a phase | 17:34 | |
r | |||
can you show me a short example? | |||
lizmat | m: LEAVE say "goodbye" | ||
camelia | rakudo-moar 06fef8: OUTPUT«goodbye» | ||
timotimo | m: my $result; sub MAIN() { say "whoa, dude"; $result = 10; }; END say $result | 17:35 | |
camelia | rakudo-moar 06fef8: OUTPUT«whoa, dude(Any)» | ||
timotimo | oh? | ||
that's ... weird | |||
lizmat | timotimo: where did MAIN get called ? | ||
lichtkind | can anybody tell me please what he feels is special about the perl 6 lang design process compared to whatever he likes it compare to | ||
timotimo | lichtkind: automatically | ||
er | |||
lizmat: automatically | |||
lichtkind | i mean i know some stuff but i like to have your opinions for an article | ||
n0tjack | well, the nice thing about the p6 design process specifically is it resulted in p6... | 17:36 | |
haven't seen any other design processes do that | |||
lichtkind | haha | ||
huf | :DDDDDDD | ||
lichtkind | timotimo: i dont quite understand | ||
timotimo | i accidentally tab-completed your name | ||
i hit "li" and then tab | 17:37 | ||
turns out you said something JUST the moment before that :) | |||
lizmat | m: my $a; $a = 42; END say $a # timotimo golfed | ||
camelia | rakudo-moar 06fef8: OUTPUT«(Any)» | ||
timotimo | :( | 17:38 | |
nobody has tests for this, eh? | |||
ZoffixW | m: my $a; $a = 42; END { say $a } # timotimo golfed | ||
camelia | rakudo-moar 06fef8: OUTPUT«42» | ||
lizmat | I seem to recall there's a ticket for this | ||
timotimo | ah, OK | ||
n0tjack | S99: LEAVE | ||
17:38
vendethiel left
|
|||
lizmat | dinner& | 17:41 | |
lichtkind | good nom | 17:43 | |
timotimo but you can answer it anyway if you like | |||
timotimo | i don't know, dood | ||
ZoffixW | .oO( it'll take me forever to get used to panda—unlike cpanm—requires explicit 'install' ) |
17:46 | |
masak | m: my $a = 42; END say $a | 17:47 | |
camelia | rakudo-moar 06fef8: OUTPUT«(Any)» | ||
masak | probably a case of binding to the wrong pad. | ||
m: constant $a = 42; END say $a | |||
camelia | rakudo-moar 06fef8: OUTPUT«42» | ||
17:47
sQuEE` is now known as sQuEE
|
|||
masak | m: my $a; BEGIN { $a = 42 }; END say $a | 17:47 | |
camelia | rakudo-moar 06fef8: OUTPUT«42» | ||
masak | yep. | ||
m: my $a; BEGIN $a = 42; END say $a | |||
camelia | rakudo-moar 06fef8: OUTPUT«42» | ||
masak | clearly the 'orst' END binds to the static lexpad. | 17:48 | |
masak .oO( END, u are the orst ) | |||
17:48
kmel left,
Kogurr joined
|
|||
ZoffixW | Hm. What's going on: panda install Pastebin::Gist: Project Pastebin::Gist not found in the ecosystem | 17:49 | |
Ah, I need panda update | |||
17:50
kmel joined
17:53
mayuresh joined
|
|||
mayuresh | hello all ... :) | 17:53 | |
ZoffixW | \o | ||
mayuresh | been away for a while due to health conditions. | ||
kmel | hello | ||
gfldex | m: say "ohai kmel!"; | 17:54 | |
camelia | rakudo-moar 06fef8: OUTPUT«ohai kmel!» | ||
kmel | :) | ||
mayuresh | if mr. wall is around, would like to convey that "i am still interested in working on that p6 execution environment" i had mentioned before. | ||
just got physically damaged badly, and hence couldn't do much for the past 7~8 months. | 17:55 | ||
ZoffixW | 0.o | ||
kmel | I am new to perl6 (and programming in general). Had a couple of programming courses (C and Java) back in college. | 17:57 | |
mayuresh | cool, then you aren't new to programming in general! :) | ||
kmel, welcome to p6 land. :) | |||
kmel | thank you mayuresh | 17:58 | |
mayuresh | kmel, what do you wish to do with perl6? | ||
kmel | it's even the first time I use an irc client | 17:59 | |
mayuresh | :D | ||
ZoffixW | :D | ||
Congrats! | |||
kmel | thanks | ||
mayuresh | yeah, the first time, 'irc' does get overwhelming. :) | ||
ZoffixW | -NickServ- Information on Zoffix (account Zoffix): Registered : Jul 31 02:56:07 2006 (9y 10w 5d ago) | ||
:) | |||
kmel | Lol Grandpa ZoffixW | 18:00 | |
mayuresh | :) | ||
18:00
n0tjack is now known as notjack
|
|||
kmel | how do you reply to someone? | 18:01 | |
ZoffixW | You mean private message? | ||
kmel | when mayuresh replied to me, the messages were green | ||
ZoffixW | Ah, just type their nick. Or type part of it and hit TAB | ||
Kogurr | kmel: just put their name somewhere in the message | ||
kmel | like that Kogurr ? | 18:02 | |
Kogurr | yes :D | ||
kmel | aha Great :) | ||
18:02
rindolf joined
|
|||
mayuresh | kmel, which 'irc' client are you using? | 18:02 | |
18:02
llfourn joined
|
|||
ZoffixW | HexChat | 18:02 | |
kmel | HexChat | ||
it comes installed linux mint | 18:03 | ||
mayuresh | oh, okay. | ||
18:03
notjack is now known as n0tjack
|
|||
mayuresh | kmel, once you get used to 'irc' via hexchat, try "ircii". | 18:03 | |
it's a lot lighter and hence responsive. | |||
n0tjack | mayuresh: most commands in IRC are introduced by prefixing a "/" to the line you're trying | ||
if you want to send a user a private message, for example, you'd say /msg username message goes here | 18:04 | ||
masak | ooh, so it does | ||
kmel | will try it mayuresh | ||
timotimo | i'm not sure how it is with hexchat, but with "/query nickname", you'll usually get an extra tab open for a private conversation | 18:05 | |
mayuresh | n0tjack, i think it was kmel you wanted to write to. :) | ||
timotimo | not every irc client opens up such a tab when you /msg | ||
grondilu | what do they do then? | ||
n0tjack | mayuresh: it was indeed ;) | ||
kmel | I was reading tablets.perl6.org/tablet-3-variables.html#array | ||
timotimo | hm. actually, i think i am wrong about that part | ||
kmel | and i am confused about the flat function | 18:06 | |
18:06
vendethiel joined
|
|||
mayuresh | i am looking for a name for my pet project; a perl6 execution environment, and am quite at a loss of ideas. | 18:06 | |
kmel | say ((1, 2), (3)).elems; #2 | ||
mayuresh | have been contemplating "titli" which is butterfly in an indian language | 18:07 | |
kmel | say ((1, 2), (3)).flat.elems; #3 | ||
18:07
llfourn left
|
|||
ZoffixW | kmel, the first has two elements: (1, 2) and (3); .flat flattens that to (1, 2, 3), which is three elements | 18:09 | |
kmel | my @array2 = [1..6],[7..15]; | ||
say @array2; | |||
my @array3 = @array2.flat; | |||
say @array3 | |||
n0tjack | kmel: try prefixing those statements with m: | 18:10 | |
kmel | both return [[1 2 3 4 5 6] [7 8 9 10 11 12 13 14 15]] | ||
18:10
thou left
|
|||
n0tjack | m: say ((1,2,3),(4,5)).flat; | 18:10 | |
camelia | rakudo-moar 06fef8: OUTPUT«(1 2 3 4 5)» | ||
timotimo | something about the [] brackets vs the () parenthesis | ||
18:11
thou joined
|
|||
kmel | i thought that @array3 should return [1..15] | 18:11 | |
FROGGS | moritz++ # :D-mail | ||
kmel | any ideas what i did miss? | ||
FROGGS | m: my @array2 = [1..6],[7..15]; my @array3 = |@array2; say @array3 | 18:12 | |
camelia | rakudo-moar 06fef8: OUTPUT«[[1 2 3 4 5 6] [7 8 9 10 11 12 13 14 15]]» | ||
kmel | m:my @array2 = [1..6],[7..15]; | ||
say @array2; | |||
my @array3 = @array2.flat; | |||
say @array3 | |||
FROGGS | no newlines in here please | ||
kmel | oh. sorry fro | ||
Sorry FROGGS | |||
FROGGS | :o) | 18:13 | |
awwaiid | m: sub local-eval($cmd) { EVAL $cmd, context => CALLER:: } ; sub dostuff { my $x = "fish"; local-eval q[$x = 2]; say $x } ; dostuff | ||
camelia | rakudo-moar 06fef8: OUTPUT«2» | ||
mayuresh | kmel, you can type the names in all small, no worries, we'll understand. | 18:14 | |
:) | |||
awwaiid | m: sub local-eval($cmd) { EVAL $cmd, context => CALLER:: } ; sub dostuff { my $x = "fish"; local-eval q[my $x = 2]; say $x } ; dostuff | ||
camelia | rakudo-moar 06fef8: OUTPUT«fish» | ||
FROGGS | m: my @array2 = [1..6],[7..15]; my @array3 = @array2».Slip.flat; say @array3 # that works but is there an easier way? | ||
camelia | rakudo-moar 06fef8: OUTPUT«[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]» | ||
awwaiid | Can I make EVAL with a context declare new my vars? | ||
FROGGS | awwaiid: no | ||
awwaiid: variable declaration (and lookup) is compile time, EVAL is runtime | 18:15 | ||
awwaiid | interesting. I'm trying to build a REPL type thingie that can be used like ruby binding.pry, and it would be kinda handy to somehow have that | ||
FROGGS | awwaiid: our REPL is a thing that EVALs every line | 18:16 | |
awwaiid | but maybe it makes no sense | ||
awwaiid goes to look at the existing REPL | |||
FROGGS | so the second EVAL has the first EVALs context | ||
and then you can probably see variables declared in the first EVAL in the second | |||
psch | afaiu, our REPL effectively opens a new lexical scope for every statement though | 18:17 | |
gfldex | m: my $a = [1..3],[4..6]; dd $a; # oi! | ||
camelia | rakudo-moar 06fef8: OUTPUT«Array $a = $[1, 2, 3]» | ||
psch | although people smarter than me said we need to do it like that due to... something? :) | ||
FROGGS | gfldex: yes, you dropped the [4..6] onto the floor | ||
[Coke] | catching up. does "execution environment" mean something in particular? | ||
gfldex | FROGGS: a warning that i might hurt my feet would be nice. Is that LTA? | 18:18 | |
FROGGS | psch: isnt EVAL a new lexical scope? | ||
gfldex: I guess so... | |||
star-m: my $a = 1, 2 | 18:19 | ||
camelia | ( no output ) | ||
psch | FROGGS: huh, i guess so, yeah | ||
right, so there's no concern there | |||
FROGGS | right | ||
18:19
zacts left
|
|||
psch | i was just thinking of the '<line 1> { <line 2> { <line 3> }}}' explanation i read somewhere... | 18:19 | |
FROGGS | we probably want new scoped that you dont get redeclaration errors when re-doing stuff | ||
psch | -unbalanced_curlies | 18:20 | |
FROGGS | scopes* | ||
:P | |||
mayuresh | Coke, did you get any of my messages? | ||
i missed the square brackets in your name. :( | |||
gfldex | m: my $a = [1..3],[4..6]; dd $a; my $b = 1,2; | ||
camelia | rakudo-moar 06fef8: OUTPUT«WARNINGS:Useless use of constant integer 2 in sink context (line 1)Array $a = $[1, 2, 3]» | ||
kmel | i see () and [] behave differently | ||
what is the rationale behind it? | 18:21 | ||
gfldex | kmel: they do and there may still be bugs with lists of lists | ||
mayuresh | kmel, () [] behave differently as well as look different too. ;) | ||
to me atleast. :) | 18:22 | ||
kmel | because if you do this: | ||
m:my @bracket = [1,2,3]; my @parentheses = (1,2,3); say @bracket.WHAT; say @parentheses.WHAT; | |||
psch | kmel: need the space after the colon | ||
kmel | m: my @bracket = [1,2,3]; my @parentheses = (1,2,3); say @bracket.WHAT; say @parentheses.WHAT; | ||
camelia | rakudo-moar 06fef8: OUTPUT«(Array)(Array)» | ||
kmel | thanks for the hint psch | 18:23 | |
[Coke] | mayuresh: I see no sends from you, no. | ||
timotimo | assigning to an @-sigiled variable is "list assignment", so it'll put the values into the array | ||
mayuresh | [coke], the execution environment is supposed to be a combination of a compiler and vm | ||
skids | m: my @bracket := [1,2,3]; my @parentheses := (1,2,3); say @bracket.WHAT; say @parentheses.WHAT; | ||
camelia | rakudo-moar 06fef8: OUTPUT«(Array)(List)» | ||
kmel | they are both arrays | ||
Kogurr | m: my @array2 = [1..6], [7..15]; say map { join ',', $_ }, @array2; | ||
camelia | rakudo-moar 06fef8: OUTPUT«(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)» | ||
[Coke] | mayuresh: ok. Doesn't rakudo theoretically already have that? | ||
psch | m: (1,2,3).WHAT.say; [1,2,3].WHAT.say | ||
camelia | rakudo-moar 06fef8: OUTPUT«(List)(Array)» | ||
mayuresh | [coke] doesn't rakudo build stuff for moarvm? | ||
psch | kmel: that's because, as timotimo says, assigning into a @ makes it an array | ||
because that @ already makes the corresponding variable an array | 18:24 | ||
m: my @a; say @a.WHAT | |||
camelia | rakudo-moar 06fef8: OUTPUT«(Array)» | ||
[Coke] | or JVM, or (soon) node, yes. | ||
timotimo | mayuresh: that sounds very unspecific; i.e. rakudo-on-moarvm is already a compiler and a vm | ||
[Coke] | What are you proposing that's different from the current model? | ||
18:24
Alina-malina left
|
|||
mayuresh | [coke] i find it mightly uncomfortable to have a language like perl be compiled and then separately executed | 18:24 | |
i loved what the google guys have done with "dart". | 18:25 | ||
[Coke] | timotimo: right, that's why I'm trying to find out if there's something specific being proposed here and I just don't get the terminology (which happens to me a lot here) | ||
psch | mayuresh: so you're proposing a monolithical implementation? | ||
mayuresh | psch, yes | ||
timotimo | FWIW, you don't have to pre-compile your libraries and scripts | ||
[Coke] | oh. well, feel free to use the roast test suite to test your version, and good luck. | ||
mayuresh | coke, thanks. :) | 18:26 | |
psch | yes, good luck :) | ||
in case C++ would be your choice, there's a start here: github.com/BizarreCake/Arane | |||
mayuresh | my efforts have been delayed due to health issues, hope your luck prevents any other such stuff | ||
kmel | skids what does := do that is different than plain = ? | 18:27 | |
mayuresh | psch, yeah, you had shown me bizarrecake's stuff around 7 months back. :) | ||
[Coke] | there are lots of other projects (aside from rakudo) that might have some inspiration. (pugs, niecza, perlito, yapsi...) | ||
skids | It "binds" which means it connects the variable name directly to the item with no container in between. | ||
kmel | aha thanks skids | 18:28 | |
psch | mayuresh: oh, right, i think i remember | ||
18:28
Alina-malina joined
|
|||
[Coke] | I am really surprised to see yapsi commits this year. | 18:28 | |
mayuresh | psch, and i had told you that i am going to do the same thing in c89. :) | ||
18:28
jkva joined
|
|||
mayuresh | hope i don't end up messing it up this time. ;) | 18:28 | |
psch | mayuresh: that i had forgotten. well, if it works out it's probably useful, and if not you're bound to learn lots | 18:29 | |
mayuresh | psch, yes, that's the whole attitude i am carrying. :) | ||
18:29
zakharyas joined
|
|||
kmel | ah ok i got it now, thanks psch | 18:30 | |
18:30
edehont left
|
|||
mayuresh | alrighty, it's mid-night out here, gotta hit bed, day begins at 0600 tomorrow. | 18:30 | |
[Coke] | `` | ||
er, ~~ | |||
18:30
diana_olhovik joined
|
|||
mayuresh | have a good time ahead people :) | 18:30 | |
kmel | does list have a sigil (like @ for array?) | 18:31 | |
ZoffixW | Is there a way to make a multi that checks something not related to it, like %*ENV? Basically I want one multi to run if %*ENV<FOO> is set, and run another multi if it's not set | ||
18:31
mayuresh left
18:32
jkva left
|
|||
psch | m: multi f (:$ where %*ENV<LANG> eq 'POSIX') { say "posix!" }; multi f (:$ where %*ENV<LANG> eq 'C') { say "C!" }; f | 18:32 | |
camelia | rakudo-moar 06fef8: OUTPUT«posix!» | ||
psch | anonymous named parameters \o/ | 18:33 | |
ZoffixW: that's a bit abusive though... | |||
ZoffixW | Hm | ||
Alright. | |||
[Coke] | kmel: nope. no separate top level sigil. | ||
gfldex | m: multi foo(where %*ENV<FOO>){} | 18:34 | |
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9VIOpi3j41Cannot do non-typename cases of type_constraint yetat /tmp/9VIOpi3j41:1------> 3multi foo(where %*ENV<FOO>7⏏5){}» | ||
psch | m: sub f(:$, :$) { } | 18:35 | |
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WkZDxuLHuCName used for more than one named parameterat /tmp/WkZDxuLHuC:1------> 3sub f(:$, :$)7⏏5 { }» | ||
psch | heh | ||
m: sub f(:$, :@) { } | 18:36 | ||
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tUsuNOETy6Name used for more than one named parameterat /tmp/tUsuNOETy6:1------> 3sub f(:$, :@)7⏏5 { }» | ||
ZoffixW | What's wrong with this? I'm getting a pointy block instead of the content of the file: %paste{$_} = { content => @files[$_].IO.slurp } for @files; | 18:37 | |
kmel | ok thanks everyone. I will go back to test what i just found. | 18:38 | |
psch | m: my $x = do { line => $_ } for lines(); say $x | ||
camelia | rakudo-moar 06fef8: OUTPUT«line => Atá beo go buan gan bhuairt gan ghruaim fá ghleanntáin ghlas’ Ghaoth Dobhair. » | ||
psch | ZoffixW: you have to do the block to not assign it | ||
18:38
diana_olhovik left
|
|||
psch | (or invoke it, i suppose...) | 18:38 | |
kmel | see you later | ||
psch | bye kmel | ||
gfldex | ZoffixW: you basicly did: (%paste{$_} = { content => @files[$_].IO.slurp }) for @files; | 18:39 | |
ZoffixW | gfldex, that was my intent | ||
18:39
kmel left
|
|||
ZoffixW | I want the filename to be the key and the value to be a hashref with key `content` assigned the contents of the file | 18:39 | |
psch, that gave me more weird errors "Cannot convert string to number: base-10 number must begin with valid digits or" :S | |||
gfldex | so you assinged a block to %paste as often as @files.elems; | 18:40 | |
psch | ZoffixW: that's probably because @files containts non-digit-only filename | ||
+s | |||
ZoffixW | Programming is hard >_< | ||
psch | @files[$_] for @files # is somewhat anti-patternish, in my eyes | ||
18:40
mscha joined
|
|||
mscha | p6: my Int $i = 42; say $i; $i /= 2; say $i; | 18:41 | |
camelia | rakudo-moar 06fef8: OUTPUT«42Type check failed in assignment to $i; expected Int but got Rat in block <unit> at /tmp/tmpfile:1» | ||
gfldex | ZoffixW: in my %foo all keys are of type Str | ||
psch | p6: my Int $i = 42; say $i; $i div= 2; say $i; | ||
camelia | rakudo-moar 06fef8: OUTPUT«4221» | ||
mscha | Ah. Makes sense. | 18:42 | |
dalek | c: 2eba769 | (Steve Mynott)++ | Build.pm: shoichikaji++ show copied files |
||
18:43
mr_ron left,
mr_ron joined
|
|||
jdv79 | ZoffixW: how did you get that info from nickserv? | 18:44 | |
ZoffixW | /nickserv info Zoffix | ||
Why does it need a digit-only filename? <psch> ZoffixW: that's probably because @files containts non-digit-only filename | 18:45 | ||
jdv79 | oh. i thought i tried that. i got you beat by a bit. 2004-01-30. | ||
ZoffixW | Man. Perl 6 magic is waning on me. | ||
moritz | \o | ||
thescienceweb.wordpress.com/2015/1...rned-on-2/ | |||
ZoffixW | o/ | ||
18:45
domidumont joined
|
|||
ZoffixW | Heh. That article is obviously satire :) | 18:46 | |
pink_mist | moritz: 0_o is that meant to be a parody post or something? 0_o | ||
.. right | |||
psch | ZoffixW: you're using the name of the file as key for @lines | 18:47 | |
moritz | it made me chuckle | ||
psch | hence my "anti-patternish" comment :) | ||
ZoffixW | psch, oh. Thanks. Now I got it! :) | ||
18:47
Jaglor joined
|
|||
pyrimidine | moritz: I do like "Dodgy Perl 5 scripts were behind the financial crisis of 2008, the collapse of Enron and the assassination of Archduke Franz Ferdinand." | 18:47 | |
ZoffixW | Yey. It works now. I think. | 18:48 | |
18:48
telex left
|
|||
ZoffixW | I'm still not clear on how to create multi-level hashes. Using this right now, %paste{$_} = ( content => $_.IO.slurp ) for @files;, but say %paste.perl produces a mess and I can't figure out if it got it right or not :) | 18:49 | |
n0tjack | what is %paste.keys()? | ||
and, taking one of those keys, the literal value, what is %keys<literal-value-of-key>? | 18:50 | ||
18:50
telex joined
|
|||
moritz | ZoffixW: %paste{$_}<content> = slurp($_) for @files | 18:50 | |
ZoffixW | n0tjack, seems like it did The Right Thing™ | 18:51 | |
moritz, thanks. That's much better | |||
18:53
Kogurr left
|
|||
gfldex | m: my %h; %h{'multi';'level'} = 1; dd %h; # ZoffixW | 18:53 | |
camelia | rakudo-moar 06fef8: OUTPUT«Hash %h = {:multi(${:level(1)})}» | ||
ZoffixW | Thankls | ||
jdv79 | so now WWI, and by extenstion WWII, is partly Perl's fault? insanity. | 18:54 | |
n0tjack | jdv79: in case it wasn't clear, that article was satire | ||
as any article which claims it's possible to get Perl developers to act like normal human beings must be. | |||
18:55
mscha left
|
|||
jdv79 | unless Larry was alive in 1914, and we can computing, its pretty crystal:) | 18:57 | |
n0tjack | The Larry has always existed; he just didn't choose to Reveal Himself for a while. | 18:58 | |
jdv79 | what do these mythical "Perl developers" behave like then? | ||
n0tjack | paronomasiacs | 18:59 | |
wow, grammars are cool | 19:02 | ||
I don't know anything about real lexers or parsers, but this is easy | |||
jdv79 | its also slow:( | 19:05 | |
19:05
ChoHag left
|
|||
n0tjack | yeah, but right now speed isn't a big concern for me. I write programs for myself, not others. The bigger deal for me is the current inconveninent state of the documentation. | 19:06 | |
psch | documentation is hard, let's go programming | 19:07 | |
TimToady & the Mrs sitting at PIT | 19:08 | ||
muraiki | TimToady: go check out the dinosaur | 19:10 | |
I think there's a fairly large dinosaur of some sort on display there | 19:11 | ||
TimToady | we saw it on the way in | ||
muraiki | yay | ||
I forgot where itw as | |||
TimToady | looked like a T Rex or so | ||
muraiki | I had to bail yesterday at lunch, came down with a cold :( but PPW was fun; my first perl conference | ||
FROGGS | my son thinks this thing is called Dinosaurus Rex | 19:12 | |
muraiki | hahaha | ||
dalek | osystem: bf408f4 | (Zoffix Znet)++ | META.list: Add App::Nopaste to eco |
||
rl6-most-wanted: 419726a | (Zoffix Znet)++ | most-wanted/modules.md: Remove App::Nopaste from the list as it already exists |
19:13 | ||
psch | FROGGS: did you have another look at the jvm SC thingy? | ||
FROGGS feels dirty after dealing with mod_perl | |||
psch: I looked at it... but I dunno what to do about it | |||
19:14
rindolf left,
domidumont left
|
|||
psch | ah, yes, that's where i am at as well | 19:15 | |
jdv79 | mod_perl is fun | ||
19:15
Hor|zon_ joined
19:16
rindolf joined
|
|||
psch | thing is, i'm unsure if the SC confusion could be behind other bugs or if we can just let 52e409ec stay | 19:16 | |
19:16
Upasaka joined
19:18
Hor|zon left
|
|||
FROGGS | if I had to bet I'd say it is the former | 19:21 | |
lizmat starts working on P6W | 19:25 | ||
19:28
Hor|zon joined
|
|||
psch | FROGGS: gist.github.com/peschwa/e9c27c61e1a840f251c2 is a bit interesting - it throws twice..? | 19:29 | |
(that's nqp HEAD + revert 52e409ec and rakudo HEAD) | |||
FROGGS | does it fail to construct the exception? | ||
19:30
jkva joined
|
|||
psch | i'd assume so | 19:30 | |
the lowest line in the backtrace is the try block in print_exception | |||
19:31
Hor|zon_ left
|
|||
psch | &sink is a mystery to me though | 19:32 | |
19:34
jkva left,
sQuEE is now known as sQuEE`
19:37
sQuEE` is now known as sQuEE
19:38
vendethiel left
|
|||
FROGGS | doesnt sink just make the exception fatal? | 19:39 | |
beause nothing handled it? | |||
19:39
andreoss left
19:41
zakharyas left
|
|||
psch | well, i'm just saying i don't the nqp::handle call... :) | 19:41 | |
lichtkind | FROGGS ? | 19:42 | |
FROGGS | lichtkind: ? | ||
psch | +get | 19:43 | |
lichtkind | FROGGS what would you say is unique about p6 design process | ||
19:43
vendethiel joined
|
|||
[Coke] | lichtkind: you're asking us to compare p6 against the design process for other languages that we haven't necessarily been involved in? | 19:43 | |
19:44
colomon left
|
|||
lichtkind | no its was rather ment as addition case you have knowledge of other processes | 19:44 | |
psch | FROGGS: on the plus, the inner exception is about Attribute as well | 19:45 | |
so it seems to be specific to Attribute | |||
FROGGS | lichtkind: well, I imagine that not all software projects allow a huge number of ppl to be involved in the design at all | 19:46 | |
lichtkind: but as [Coke] said, I have almost no experience, except what happens in #perl6 | |||
lichtkind | yes i hoped timotimo had some py xp | 19:47 | |
19:47
tokuhirom joined
|
|||
cygx | m: my @a = <a b c>; (any(@a) ~~ /\s/).say | 19:48 | |
camelia | rakudo-moar 06fef8: OUTPUT«「any(Failure.new(exception => X::OutOfRange.new(what => "Start argument to substr", got => "8", range => "0..1", comment => "use *8 if you want to index relative to the end"), backtrace => Backtrace.new), Failure.new(exception => X::OutOfRange.new(what =…» | ||
FROGGS | psch: maybe this causes trouble on jvm? gen/jvm/CORE.setting:3913:BEGIN Attribute.^compose; | ||
cygx | ^ what's up with that? | ||
FROGGS | psch: looks like Attribute in special in that regard | ||
cygx | or do junctions only work at the right-hand side of ~~ ? | 19:49 | |
19:49
colomon joined
|
|||
psch | FROGGS: i'll try killing that line... :) | 19:50 | |
FROGGS | me too | ||
psch | m: (1|2) ~~ { $_.say } | 19:51 | |
camelia | rakudo-moar 06fef8: OUTPUT«any(1, 2)» | ||
psch | m: (1|2) ~~ m/./ | ||
camelia | ( no output ) | ||
psch | m: (1|2) ~~ /./ | ||
camelia | ( no output ) | ||
psch | m: (1|2) ~~ /\s/ | ||
camelia | ( no output ) | ||
FROGGS | m: say (1|2) ~~ /./ | ||
camelia | rakudo-moar 06fef8: OUTPUT«「any("1", "2")」» | ||
psch | m: any(<a b>) ~~ /\s/ | ||
camelia | ( no output ) | ||
psch | m: (any(<a b>) ~~ /\s/).say | ||
camelia | rakudo-moar 06fef8: OUTPUT«「any(Failure.new(exception => X::OutOfRange.new(what => "Start argument to substr", got => "8", range => "0..1", comment => "use *8 if you want to index relative to the end"), backtrace => Backtrace.new), Failure.new(exception => X::OutOfRange.new(what =…» | ||
FROGGS | the output of my line is weird as well | ||
psch | m: ((1|2) ~~ /./).say | 19:52 | |
camelia | rakudo-moar 06fef8: OUTPUT«「any("1", "2")」» | ||
FROGGS | and this is also funny: "use *8 if you want to index relative to the end" | ||
psch | well that one looks fine... | ||
19:52
tokuhirom left
|
|||
FROGGS | a junction inside of a match? | 19:52 | |
psch | oh | ||
right | |||
fine-ish :) | |||
FROGGS | *g* | ||
psch | m: say Junction.^can('ACCEPTS') | ||
camelia | rakudo-moar 06fef8: OUTPUT«(ACCEPTS ACCEPTS)» | ||
psch | m: say Junction.^can('ACCEPTS')>>.signature | 19:53 | |
camelia | rakudo-moar 06fef8: OUTPUT«((Mu $: | is raw) (Mu $: | is raw))» | ||
psch | uhh | ||
why does it have two identical signature candidates | |||
FROGGS | it has these three: | 19:54 | |
multi method ACCEPTS(Junction:U: Mu:D \topic) { | |||
multi method ACCEPTS(Junction:U: Any \topic) { | |||
multi method ACCEPTS(Junction:D: Mu \topic) { | |||
psch | oh, Signature.perl is just kinda bad | ||
or, well, insufficient maybe | |||
TimToady heading for the gate & | 19:55 | ||
lizmat | safe travels! | ||
jnthn | TimToady: Good flight! | 19:56 | |
psch | FROGGS: NativeCall.pm builds fine, from the looks of it | 19:57 | |
FROGGS | psch: aye | ||
I'm shocked | |||
psch | i'm mostly confused... :) | ||
FROGGS | it compiled and installed just fine... | ||
psch is running make test | |||
19:57
Ven joined
|
|||
FROGGS | jnthn: why is that there? github.com/rakudo/rakudo/blob/nom/...s.pm#L1147 | 19:58 | |
FROGGS does a git blame | |||
psch | could it be the compose call BEGIN runs before the class is actually finished...? | ||
as in, completely declared | |||
FROGGS | I dunno | ||
possible | 19:59 | ||
psch | m: BEGIN say 1; BEGIN say 2; | ||
camelia | rakudo-moar 06fef8: OUTPUT«12» | ||
psch | oh, perl5 had this "BEGINs run in reverse" didn't it | ||
FROGGS | O.o | ||
jnthn | I...don't think so! | ||
BEGIN runs ASAParsed | |||
psch | eh, i'm misremembering something | 20:00 | |
jnthn | FROGGS: Bootstrapping reasons, I imagine :) | ||
FROGGS | jnthn: you added that: github.com/rakudo/rakudo/commit/a6d90ea3 | ||
psch | aah | ||
END it was | |||
FROGGS | jnthn: but you upsot jvm | ||
psch | ...in perl5 | ||
FROGGS | I'm going to spectest moar | 20:01 | |
psch | make test looks good, except for interop (which is known) and t/04-nativecall/16-rt125408.t | ||
jnthn | There's a comment at the top of the added file that explains | ||
FROGGS | aha! | ||
jnthn | :) | 20:02 | |
20:02
[Sno] left
|
|||
FROGGS | so jvm does not like that Attribute get recomposed | 20:02 | |
jnthn | Hmm...odd | ||
FROGGS | that totally fits what we observe | ||
psch | and it reacts by falling back to the Attribute in BOOTSTRAP | ||
jnthn | Removing that will probably break (some-attribute).map(...) | ||
psch | as in, the Attribute from the BOOTSTRAP.nqp SC | 20:03 | |
jnthn | Maybe a missing SC write barrier somewhere? | ||
psch: It should be the same Attribute type object all the way through, but a new version of the meta-object and STable... | |||
psch | jnthn: that kinda fits with my hacky patch - ignoring the SC when comparing classHandles unbroke the build | 20:04 | |
20:04
colomon left
|
|||
psch | it's unclear to me though whether that could have consequences later on, not to pay attention to the SC | 20:05 | |
20:05
hohoho joined,
awesomess3 joined
|
|||
psch | (which is to say, naively i'd say "it obviously will", but only because "checking for the SC" is a stronger qualifier...) | 20:05 | |
jnthn | Yeah...oddness | ||
jnthn needs to go rest | 20:06 | ||
FROGGS | gnight :o) | ||
jnthn | Slept terribly last night, which is why I've been relatively useless today :/ | ||
'night, #perl6 | |||
FROGGS | Mondays... | ||
m: Attribute.^compose # can we do that here too? | 20:08 | ||
camelia | ( no output ) | ||
jdv79 | images.huffingtonpost.com/2015-08-2...sounds.jpg | ||
" | |||
20:08
Ven left
|
|||
jdv79 | oops | 20:08 | |
FROGGS | :D | ||
20:09
hohoho left
20:11
darutoko left
|
|||
n0tjack | this is my first attempt at a real-life grammar: gist.github.com/anonymous/ee46fc609a75b8054ec0 . Is that reasonable/idiomatic p6? | 20:13 | |
(it's the beginning of my project to implement J in p6) | |||
20:14
sufrostico joined
|
|||
n0tjack | also, if I want to write an "interpreter" for these numbers, am I going to have to give names to all the currently-anonymous chunks? | 20:14 | |
FROGGS | doesnt look like a missing write barrier | 20:15 | |
20:15
Ven joined
|
|||
FROGGS | n0tjack: you dont have to name all things, you only need to name the things you need to work with... so if you just need the entire match of a token than you dont need to name anything | 20:17 | |
and yes, looks quite perlish so far | 20:18 | ||
20:19
brrt joined,
brrt left
|
|||
n0tjack | well, those little delimiters are like operators in a tiny language | 20:19 | |
so I need the names of the operators, and all of their operands | |||
20:19
rindolf left
|
|||
n0tjack | for example, consider "j" an operator: 123j456 in this language is 123+456i in perl | 20:20 | |
in order to calculate that result, I need to know the operator is 'j' and the operands are '123' and '456' respectively | |||
psch | n0tjack: something i learned when writing my (small and limited) ASM grammar is: write tests first | ||
FROGGS | n0tjack: yes, then you should capture these | 20:21 | |
psch | n0tjack: also, most of your tokens look like they might want to be grouped under a proto | ||
n0tjack | psch: I'm writing the tests now, before I go further. Can you elaborate on the proto comment? | ||
20:21
cognominal left
|
|||
n0tjack | FROGGS: Thanks, I was hoping not to have to clutter up the pattern, but I need the tokens, so I guess I'll go ahead. | 20:22 | |
psch | n0tjack: actually, that was probably bad advice. i oversaw that the lhs and rhs for the operators are actually different... | ||
n0tjack | psch: there is an overal pattern between the rules: <sub-type> ('op' <sub-type>)? | 20:23 | |
problem is some of those rules have hair on them | |||
psch | n0tjack: right, that pattern seems like it would make sense to have them under a proto | ||
n0tjack | psch: Can you point me at some tutorial-level material on protos? | 20:24 | |
psch | m: grammar G { token TOP { <thingy> }; proto token thingy {*}; token thingy:sym<o> { \d+ o \d+ }; token thingy:sym<f> { \d+ f \d+ } }; say G.parse("123o123"); say G.parse("123f123") # this is all i'm refering to | 20:26 | |
camelia | rakudo-moar 06fef8: OUTPUT«「123o123」 thingy => 「123o123」「123f123」 thingy => 「123f123」» | ||
20:26
Hor|zon left
|
|||
psch | actually | 20:26 | |
FROGGS | .tell jnthn There is no spectest fallout whatsoever when removing "BEGIN Attribute.^compose;" | ||
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
psch | m: grammar G { token TOP { <thingy> }; proto token thingy {*}; token thingy:sym<o> { \d+ o \d+ }; token thingy:sym<f> { \d+ <sym> \d+ } }; say G.parse("123o123"); say G.parse("123f123") # this is all i'm refering to | ||
camelia | rakudo-moar 06fef8: OUTPUT«「123o123」 thingy => 「123o123」「123f123」 thingy => 「123f123」 sym => 「f」» | ||
psch | ^that probably works even better | 20:27 | |
n0tjack: i don't know of any tutorial - i picked this pattern up from Perl6/Grammar.nqp :) | |||
n0tjack | haha | ||
psch | eh, neglected to replace the literal o with <sym> as well | ||
n0tjack | oh nice man | ||
that's cool | |||
FROGGS | yes, like MMD but for grammars | 20:28 | |
n0tjack | is there a way to pass \d as a parameter too? | ||
FROGGS | hmmm | ||
I'm not sure | 20:29 | ||
psch | well, the colonpair is literal | ||
n0tjack | I want to say proto(<subtype>,<operator>) | ||
psch | but i suspect my recent patch for foofix could help there | ||
n0tjack | and have it put out <subtype> (<operator> <subtype>)? | ||
20:29
[Sno] joined
|
|||
psch | oh | 20:30 | |
except that's exactly one case i took as example for "forbidden"... | |||
FROGGS | hehe | ||
psch | m: grammar G { my &num = rx/\d/; token TOP { <thingy> }; token thingy:sym(&num) { <sym> } }; say G.parse("5") | ||
camelia | rakudo-moar 06fef8: OUTPUT«Method 'thingy' not found for invocant of class 'G' in regex TOP at /tmp/n2NVIiXz6u:1 in block <unit> at /tmp/n2NVIiXz6u:1» | ||
psch | m: grammar G { my &num = rx/\d/; token TOP { <thingy> }; proto token thingy {*}; token thingy:sym(&num) { <sym> } }; say G.parse("5") | ||
camelia | rakudo-moar 06fef8: OUTPUT«(Any)» | ||
psch | yeah, doesn't | ||
i don't know if that'd be too magic, anyway | 20:31 | ||
FROGGS | m: my &num = rx/\d/; grammar G { token TOP { <thingy> }; proto token thingy {*}; token thingy:sym(&num) { <sym> } }; say G.parse("5") | ||
camelia | rakudo-moar 06fef8: OUTPUT«(Any)» | ||
20:31
Ven left
|
|||
FROGGS | I think I do the jnthn now... | 20:32 | |
gnight & | |||
20:32
jkva joined
|
|||
RabidGravy | toodlepip | 20:32 | |
n0tjack | night al | 20:33 | |
*all | |||
psch | g'night FROGGS, n0tjack | ||
20:33
n0tjack left,
edehont joined
20:35
Ven joined
20:36
jkva left,
FROGGS left
20:38
cygx left
20:40
Ch0c0late left
20:47
tom_ joined
20:48
tom_ is now known as Guest71248
20:49
lichtkind left
20:50
ZoffixW left
|
|||
awwaiid | well... long ways to go, but my little repl is already useful -- github.com/awwaiid/p6-lrep . I'm going to adopt things I've learned from Pry, nREPL, and other debugger-repls. | 20:53 | |
guess I should figure out that panda thing | 20:54 | ||
20:56
Guest71248 left
|
|||
awwaiid | (github.com/awwaiid/p6-lrep/tree/v0.1 actually. I'm already tearing it apart moar) | 20:58 | |
21:00
rurban joined
21:03
skids left
|
|||
lizmat | p6weekly.wordpress.com/2015/10/12/...unveiling/ # and yet another Perl 6 Weekly hits the Net ! | 21:03 | |
21:04
s34n joined
21:08
lex_ joined
21:09
lex_ left,
Ven left
|
|||
ugexe | the url for jdvs second blog post is broke | 21:10 | |
psch | awwaiid: that looks neat | ||
lizmat++ # p6weekly | |||
m: say "ßar".tc | 21:11 | ||
camelia | rakudo-moar 06fef8: OUTPUT«Ssar» | ||
psch | that *is* neat too | ||
awwaiid | er... how do I get this into panda? It says "Ping someone on IRC" | 21:12 | |
lizmat | ugexe: weird, not sure how that happened | ||
21:12
TEttinger joined
|
|||
psch | lizmat: wondering if infix:[] form needs a mention | 21:12 | |
lizmat: especially coupled with circumfix:<<$constant>> | |||
(not *only* because i like reading my nick on p6weekly... :) ) | 21:13 | ||
lizmat | if you can explain that to me in 3 lines, I'll add it :-) | ||
psch | "Categorical sub declarations have been improved. Delimiting with [] is now supported, and delimiting with <<>> properly interpolated contained constants." | 21:14 | |
s/interpolated/interpolates/ | |||
oh | |||
lizmat | example please ? | ||
psch | that's not quite right, actually :/ | ||
21:15
n0tjack joined
|
|||
psch | m: sub infix:['xxx'] { say "lewd" }; 2 xxx 5 | 21:15 | |
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yAcfFcMgmtCalling infix:<xxx>(Int, Int) will never work with declared signature ()at /tmp/yAcfFcMgmt:1------> 3sub infix:['xxx'] { say "lewd" }; 2 7⏏5xxx 5» | ||
psch | m: sub infix:['xxx']($, $) { say "lewd" }; 2 xxx 5 | ||
camelia | rakudo-moar 06fef8: OUTPUT«lewd» | ||
n0tjack | is there a module or builtin that lets me easily visualize the parse tree resulting from a Match? | ||
21:15
AlexDaniel joined
|
|||
psch | m: constant $x = "µ, @"; sub circumfix:<<$x>> { say $^a }; µ 1, 2, 3 @ | 21:15 | |
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GIufbqp1o_Two terms in a rowat /tmp/GIufbqp1o_:1------> 3 circumfix:<<$x>> { say $^a }; µ 1, 2, 37⏏5 @ expecting any of: infix infix stopper postfix …» | ||
psch | why is *that* broken again | ||
oh | |||
m: constant $x = "µ @"; sub circumfix:<<$x>> { say $^a }; µ 1, 2, 3 @ | |||
camelia | rakudo-moar 06fef8: OUTPUT«(1 2 3)» | ||
lizmat | n0tjack: doesn't Grammar::Tracer have something like that ? | ||
n0tjack | lizmat: it does, but it's too verbose | 21:16 | |
psch | "Categorical sub declarations have been improved. Delimiting with [] is now supported, and delimiting with <<>> properly interpolated contained *sigiled* constants." # updated explanation | ||
n0tjack | I'm looking for something like an ASCII tree of all the named captures | ||
psch | i don't think we have that yet | 21:17 | |
lizmat | psch: maybe it is not completely ready for primetime yet ? | ||
psch | Data::Dumper does a bit more than our &dd does, including newlines-and-indentation | ||
lizmat: it is, i just messed up declaration | |||
m: sub circumfix:<<µ, @>> { say $^a }; µ 1, 2, 3 @ # also doesn't work | 21:18 | ||
camelia | rakudo-moar 06fef8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/V2lsSNztnTTwo terms in a rowat /tmp/V2lsSNztnT:1------> 3ircumfix:<<µ, @>> { say $^a }; µ 1, 2, 37⏏5 @ # also doesn't work expecting any of: infix infix stopper …» | ||
psch | lizmat: the constant is inserted literally, so it cant have a comma | ||
- except if the comma is supposed to be part of the op | |||
n0tjack | hmm, what would be a quick way to recurse a match object and print out all its non-empty .hashes (recursively)? | ||
psch | lizmat: it's fine though, you don't *need* to add it. i just want to feel useful... :) | 21:19 | |
lizmat | psch: added to Other Notable Additions (those are without name, though :-) | ||
21:20
xfix left
21:21
SmokeMachine_ left
21:22
kipd left,
colomon joined
21:23
olinkl left
21:24
eliasr left
|
|||
n0tjack | huh, ok I know what i'm gonna write tonight :) | 21:24 | |
21:24
n0tjack left
|
|||
[Coke] | m: my @a=1..10; say @[*.log] | 21:24 | |
camelia | rakudo-moar 06fef8: OUTPUT«[WhateverCode.new]» | ||
psch | lizmat: i think there's a angle bracket hiccup in the post | 21:25 | |
lizmat | ah, where? | ||
psch | lizmat: "delimiting with <> properly interpolates " | ||
that needs to be <<>> or the unicode variant | |||
[Coke] | m: my @a=1..10; say @a[*.log] | 21:26 | |
camelia | rakudo-moar 06fef8: OUTPUT«3» | ||
lizmat | psch: fixed (I think) | ||
21:31
erdic joined
|
|||
dalek | kudo/nom: fa024fe | lizmat++ | tools/build/gen-cat.nqp: Change module header to Perl 5 compliant line/file Perl 5 has a way of setting the current __FILE__ and __LINE__. This change mimics that behaviour so that we maybe can have correct file and line number from stacktraces coming from the setting. |
21:31 | |
21:32
cognominal joined
|
|||
lizmat | Now we only need someone to see lines starting with #line \d \S+ and set $?FILE and $?LINE accordingly :-) | 21:32 | |
21:32
edehont left
21:34
woolfy joined,
woolfy left
|
|||
psch | lizmat++ : yeah, looks good | 21:35 | |
21:37
awesomess3 left
|
|||
RabidGravy | lizmat, I was wondering about that the other day strangely | 21:44 | |
lizmat | my last commit, you mean ? | 21:45 | |
RabidGravy | yaw | ||
but I can't remember what I wanted it for :-\ | |||
lizmat | well, TimToady (as many others) want it so that stack traces from core settings point to the right file / line, instead of to gen/moar/m-CORE... | 21:47 | |
21:48
dnmfarrell joined
21:49
tokuhirom joined
|
|||
dnmfarrell | hey what's the syntax for declaring a class attribute "is rw" AND giving it a default value? I could add a default to the new() signature, but was wondering if there was another way | 21:49 | |
RabidGravy | m: class F { has $.gg is rw = 42; }; say F.new.gg | 21:50 | |
camelia | rakudo-moar 06fef8: OUTPUT«42» | ||
dnmfarrell | whaaaat | ||
21:50
hohoho joined
|
|||
dnmfarrell | haha RabidGravy thanks! I thought I tried that ... my mistake | 21:51 | |
lizmat | gnight, #perl6! | 21:52 | |
RabidGravy | nighty nighty | ||
21:53
tokuhirom left,
rurban left
21:54
lea joined
|
|||
grondilu | dnmfarrell: though by "class attributes" you may have mean a "our" attribute | 21:55 | |
21:55
hohoho left
|
|||
grondilu | m: class F { our $.gg is rw = 3; }; say F.new.gg; | 21:55 | |
camelia | rakudo-moar fa024f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gGtWFo1z48Can't use unknown trait 'is rw' in a variable declaration.at /tmp/gGtWFo1z48:1------> 3class F { our $.gg is rw7⏏5 = 3; }; say F.new.gg; expecting any of: TypeObject …» | ||
grondilu | ouch | ||
I thought that would work | |||
according to S12 it should | 21:56 | ||
(section called "Class Attributes") | 21:57 | ||
m: class F { my $.gg is rw = 3; }; say F.new.gg; | |||
camelia | rakudo-moar fa024f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Efs4ZqZAg1Can't use unknown trait 'is rw' in a variable declaration.at /tmp/Efs4ZqZAg1:1------> 3class F { my $.gg is rw7⏏5 = 3; }; say F.new.gg; expecting any of: TypeObject …» | ||
grondilu | m: class F { our $.gg = 3; }; say F.new.gg; | 21:59 | |
camelia | rakudo-moar fa024f: OUTPUT«3» | ||
grondilu | rakudobug? | ||
22:01
bjz left,
espadrine left
22:02
Kogurr joined,
muraiki left
22:04
llfourn joined
22:05
SmokeMachine_ joined
22:06
TEttinger left
|
|||
dalek | oblem_solver_tutorial: 031f52f | (Herbert Breunung)++ | / (2 files): starting paragraph 5 |
22:08 | |
22:09
llfourn left,
hohoho joined
22:13
vendethiel left
22:15
opal joined
22:17
eliasr joined
22:18
opal left
|
|||
RabidGravy | grondilu, no it's just necessary for an our variable | 22:18 | |
m: class F { our $.gg = 3; }; my $f = F.new; say $f.gg; $f.gg = 42; say $f.gg | 22:19 | ||
camelia | rakudo-moar fa024f: OUTPUT«342» | ||
RabidGravy | just not necessary rather | ||
grondilu | ok | ||
the error message could just say that, though. | |||
22:21
^elyse^ left
|
|||
RabidGravy | but then would have to define the "multi sub trait_mod:<is> (Variable $v, :$rw) { die "is rw is useless on a variable" }" ;-) | 22:22 | |
22:23
dnmfarrell left
22:24
virtualsue left
22:27
TEttinger joined
|
|||
s34n | rakudo 2015.09 is the lastest perl 6? | 22:30 | |
hohoho | good * | 22:31 | |
I guess IO::Path's cache is too strong. | |||
grondilu | s34n: yes | ||
$ perl6 --version | 22:32 | ||
This is perl6 version 2015.09-352-g03f84ee built on MoarVM version 2015.09-74-gedc44b5 | |||
hohoho | -e caches a result forever. `method e() { $!e //= FILETEST-E($.abspath)` | ||
22:32
jojotus joined
|
|||
s34n | Still aiming for a Christmas (2015) release | 22:33 | |
jercos | cacheing file test results at all sounds like race condition bait, no? | ||
hohoho | gist.github.com/tokuhirom/3083ec8e94e293bc5a3e | ||
it makes this test failing | |||
s34n | What's the latest performance data on perl 6? | ||
22:34
kfo joined
22:35
kid51 joined
|
|||
grondilu | not sure who's keeping track of performance benchmarks. And everybody's asleep right now apparently. | 22:37 | |
Perlformance is still not quite the absolute priority now I think. | |||
though there are improvements every day. | |||
22:46
skids joined
|
|||
RabidGravy | hohoho, I've been bitten by this before | 22:47 | |
22:48
patrickz left
|
|||
hohoho | RabidGravy: hm. but the issue still around there :P | 22:48 | |
22:50
|Tux| left,
kipd joined
|
|||
ugexe | recache it ~$_.IO.e | 22:51 | |
or $_.Str.IO.e | 22:52 | ||
just create a new IO from a string of the path somehow | |||
RabidGravy | yeah I think that's what I ended up doing, can't even remember what code it is in | 22:53 | |
hohoho | This behavior confuses the user. | 22:55 | |
i recommend to disable the cache | |||
22:57
spider-mario left
|
|||
masak | 'night, #perl6 | 23:01 | |
psch | RabidGravy: ooc, does perl6 seems audio live-coding suitable to you? | 23:09 | |
(ISTR that you linked me an article or two...) | |||
23:10
olinkl joined
|
|||
timotimo | ohai | 23:11 | |
RabidGravy | psch, I've been toying with the idea of doing some experiments | ||
timotimo | s34n: the great list refactor has given us a big improvement in memory usage as a baseline and cpu usage has gone down quite noticably in many cases where we've been able to build specialized iterators and such for things | 23:12 | |
23:12
firstdayonthejob left
|
|||
timotimo | s34n: i haven't uploaded a full benchmark result in a while, though, because our for-loop-to-while-loop optimization has temporarily fizzled from the GLR | 23:12 | |
and so performance has a weird dent in that regard | |||
RabidGravy | I'm quite sure it could be made to all the things necessary, whether it can do them fast enough is to be seen | 23:13 | |
psch | right, "fast enough" is what i'm expecting to be a major hangup, currently at least | 23:14 | |
RabidGravy | the streamin and encoding stuff I've played with is fasr enough | ||
but additional dsp may not be quite so much | 23:15 | ||
psch | although the PortAudio bindings i tried might've also struggled with pre-GLR and not-good-enough natives... | ||
add to that the fact that using jackd either segfaulted or dumped... | |||
RabidGravy | yeah, I keepmeaning to get back to that | ||
psch | afair FROGGS at least thought about a potential cause for the segfault/dumping... | 23:16 | |
no idea if anything came of that, and i'm not one to push people to solve my problems... :) | |||
FROGGS suggested trying libsdl audio, but afaik that's not really a low-latency solution, although i might be wrong | |||
23:17
kid51_ joined
|
|||
psch | there's not really much in the way of implementations to build upon from what i see | 23:17 | |
RabidGravy | it probably has something to do with the jackd threads needing to share a buffer | ||
psch | yeah, it was something about freeing memory or somesuch... | ||
i tend to gloss over those C-y parts :P | 23:18 | ||
RabidGravy | I ought hit up the jack boys about this | ||
23:18
kid51 left,
sufrostico left
23:19
kid51_ is now known as kid51
|
|||
timotimo | psch: i've recently made nativecall a tiny bit more efficient, but there's still quite a bit of overhead looming there | 23:19 | |
especially as it doesn't get spesh'd :( | |||
were you able to get a good(ish) --profile out of your portaudio stuff? | |||
psch | timotimo: no, i didn't profile at all, unfortunately | 23:20 | |
although i might be able to give that a try tomorrow | |||
23:20
sufrostico joined
|
|||
psch | RabidGravy: i don't know how much they'd appreciate being asked to introduce a copy or somesuch into their API | 23:21 | |
timotimo | there's potentially something to be seen there | ||
but i fear it'll just be "yep. it's slow" :P | |||
psch | RabidGravy: but i suppose asking for advice is always a good idea :) | ||
timotimo | or "yep, that's a whole lot of allocation" | ||
psch | m: say 1/48000 | ||
camelia | rakudo-moar fa024f: OUTPUT«0.000021» | ||
psch | ^^^ that's the time per frame :) | ||
timotimo | the time you have to build one frame? | 23:22 | |
psch | timotimo: yeah. one frame has only a lookup though | ||
timotimo | i hope you don't have to twiddle every frame individually | ||
psch | timotimo: the array is precomputed in my (*very* basic) case | ||
timotimo | lizmat++ # weekly blogpost | ||
psch | timotimo: but that's the time for the lookup and nativecall invocation | ||
RabidGravy | psch, they're all quite cool - I've got patches in Ardour and stuff ;-) | ||
23:23
sQuEE is now known as sQuEE`
|
|||
psch | timotimo: basically, github.com/peschwa/Audio-PortAudio...est.pl#L67 <- this loop has .000021 seconds for each iteration | 23:24 | |
timotimo: i'm pretty sure that's in "no way" territory currently, but i'm not the optimization expect ;) | |||
s/expect/expert/ | |||
RabidGravy | there's also a library somewhere that turns a jack interface into a regular blocking one for you | ||
psch | RabidGravy: neat. i'm just trying to slowly bring the two things i've really enjoyed for a long time together :) | ||
RabidGravy: music's been mostly a "prosumer" thing up until around the time i started the PortAudio bindings | 23:25 | ||
which is to mean "producing with other peoples software (or only hardware)"... | 23:26 | ||
23:27
sufrostico left
|
|||
psch | ...not quite the colloquial meaning of "prosumer" | 23:27 | |
23:27
Peter_R left
|
|||
RabidGravy | I just use hardware for the most part to actually make the noise, but Ardour to record and mix :) | 23:28 | |
23:30
|Tux| joined
23:31
hohoho left
|
|||
pink_mist | referring to your efforts in music as noise? wow, low self-esteem or are you into some kind of en.wikipedia.org/wiki/Noisecore ? :P | 23:32 | |
RabidGravy | I have always called it "noise with beats in" :) | 23:33 | |
decide for yourself soundcloud.com/rabidgravy | |||
23:33
atweiden joined
|
|||
geekosaur | c'mon feel the noise | 23:34 | |
psch usually makes breaks with boring melodies layered over them | 23:35 | ||
pink_mist | heh, I wouldn't call it noise, but it's quite hard to put a name to :P | ||
psch | i don't have anythign readily online though, i deleted my soundcloud recently in a fit of "it's all meh anyway", and all that's left is on my phone which is out of battery at the moment... :P | 23:37 | |
RabidGravy | psch, timotimo as to the dealing with lots of native array data - I've found that as long as I keep it for the most part in the native domain (i.e. don't copy the native frame data to Perl arrays,) it's fast enough tp read a 44.1K WAV, encode it as 320kbps MP3 and stream it to icecast | 23:38 | |
psch | anyway, i've been wondering if a REPL is a good base to work with | ||
s/with/from/ | |||
'cause all the other projects seem to work from buffers | |||
but they *also* don't use a language quite as expressive | 23:39 | ||
RabidGravy | yaxu's Tidal is a sort of REPL but it's Haskell | ||
psch | RabidGravy: the Udy - Ryu remix is pretty good | 23:40 | |
i'm not a great fan of four-to-the-floor, but the rest works well enough for me | |||
is there a screencast or something around for tidal? | 23:43 | ||
i don't see anything that looks like "this is how it works" on the website | |||
RabidGravy | yaxu.org/demonstrating-tidal/ | 23:44 | |
psch | ah, i didn't look well enough... :) | ||
RabidGravy | anyway I'm going to crash before I turn into a pumpkin | ||
have fun | |||
23:45
leont joined
23:49
RabidGravy left,
mattprelude left
23:50
tokuhirom joined
23:55
tokuhirom left
|